Published: November 24, 2020
favorite0 forum0 poll50
By: Gregory Sleeter, Cal Poly Pomona
Hashtags: #ArduinoElectronics #Coding #ComputerScience #Education #Software #stabilityandcontrol
This project was undertaken by Miguel Alcala, Brendan Austin, Grant Genie, and myself during the Spring of 2020 ECE 3301 Introduction to Microcontrollers class taught at California Polytechnic University, Pomona. The goal of this project was to build and program an arduino-controlled actively stabilized platform.
A stable, gimbal mounted platform is required for a range of applications such as accurate video capture or fluid transport. In order to preserve the orientation of a platform, a simple control system can be implemented in which the readings from gyroscope and accelerometer sensors attached to the base or handle are interpreted by an arduino microcontroller. The microcontroller then outputs commands to three servomotors controlling the pitch, yaw, and roll of the platform relative to the base.
The biggest challenge of this project was finding the optimal kalman gain that worked well with each axis. In practice, we found that the gain that worked for one axis caused conflicts with others, and so each value had to be hand adjusted so that one axis would not be hampered in order for the other to properly function. Additionally, we experienced a bottleneck in communication because of the I2C bus which slowed the response time of the system an uncomfortable amount.
We succeeded in designing a nominally stable platform capable of reacting to three-dimensional disturbances. However, shortcomings in response time and range of motion leave something to be iterated on in further explorations of this application. The physical design of the gimbal mechanism proved a consistent obstacle by flexing and putting pressure on bearing surfaces. If we were to rebuild this project I would in the future opt for a metal or rigid plastic construction.