• Encoder and open-loop motor control successful!

    Caitlyn Coloma02/20/2025 at 04:53 0 comments

    We connected the AS5600 to SDA/SCL pins on the Uno and got serial readouts of position and angular velocity. For preliminary testing, we held the motor shaft/magnet near the AS5600 and rotated it to get measurements.

    Prior to any motor testing, we needed to find the pole pair number for our BLDC gimbal motors. By inspection, we counted the motors to have 7 pole pairs. Due to inaccuracies of the encoder readout without stable housing to mount it onto the motor, we couldn't reliably run the calibration sketch provided by the SimpleFOC library to confirm the number of 7 pole pairs.

    However, after wiring up the SimpleFOC Mini driver with the gimbal motors, Uno, and a 9V output AC/DC power supply, we were still able to get basic open-loop motor control using a motor object instantiated with the assumption of 7 pole pairs. In this process, we learned how the commander interface works between the serial monitor and our Uno to manually set target values for shaft position, velocity, voltage, torque, etc. 

    Next, we need to update the CAD/re-print the motor and encoder mounts to have more robust housing so we can properly align the AS5600 with the motor shaft and finally test closed-loop control.

  • IMU communicating with Uno

    Caitlyn Coloma02/14/2025 at 00:21 0 comments

    We successfully connected the BNO085 IMU sensor to the Arduino Uno over I2C. 

    Minimal RAM on the Uno means we couldn't use Adafruit's BNO08x library. Luckily Sparkfun's BNO085 library works just fine. We were able to get real-time readings of rotation vector data with some built-in example sketches. 

    Once we mount the BNO085 to the unicycle body, we can continue calibrating for the upright position. TBD if control of two IMUs oriented on each wheel's axis of rotation is necessary/plausible.