ROVolution Blog

M200 BLDC Motor Precise Control with FOC Prototype

The specifications of the grabber arm necessitate 360-degree rotation of the grabber. Since the mechanism will be exposed to the water, the only feasible motor to achieve this rotation is the BlueRobotics M200, which is a brushless DC motor (BLDC). Most BLDC drive algorithms are optimized to run the motor at high RPM (more than 100 RPM minimum is typical). The Field-Oriented Control algorithm on the other hand allows much better control at low speeds, and is used widely in robotics with BLDC motors as powerful rotary actuators. The caveat is, however, that FOC algorithms generally need a position sensor to provide feedback on the motor’s angle. After researching implementations of such algorithms, I found the SimpleFOC library, which provides an open-loop (no sensor) implementation. This library is perfect for our application, since it can be used with low-cost common hardware. However, the disadvantage of open-loop control is lower torque. To verify the suitability of this implementation I built a prototype, which simply rotated the motor at low speeds continuously. I used a low power motor driver IC, which in the final design will be replaced by one with higher power output. The torque was not high as predicted, however the motion was very smooth. Torque will be higher in the final design due to higher current, and a gear reduction will be used on the grabber for both higher torque and finer rotation control.

This is a video.

later

Syringe Force Test

Last year, our float didn’t work mainly because our stepper motor couldn’t provide enough force to pull the syringes (which also required quite a bit of force to pull). Thus, it was important that we calculated if the stepper motor had enough torque. I did this by first testing how much force is required to pull a syringe as seen in this video. The max force was probably 6 kg (which is a lot). Thus, my dad suggested that I cut the syringe’s head, which reduced the max force to 2.5 kg, so three syringes takes around 75 newtons. I haven’t really taken proper physics classes yet, so I headed to ChatGPT to see if my stepper motor was capable of applying this much force.

From the spec sheet, it had 0.34 N*m of holding torque, and it calculated that the force able to be produced would be 80 N, which is above 75 N. Thus, it would probably be able to deliver enough force, and if not, we can use planetary gears to increase the torque.

to be done later