I have started to work on a project of mines, which consists in implementing the stabilization of a single axis gimbal using a generic microcontroller (STM32 or Arduino Uno).
The gimbal axis is driven by a sensorless three phase brushless DC (BLDC) motor, while on it's shaft there is a generic payload provided with an IMU board (3 axes gyros + 3 axes accelometers), which can give feedback to the microcontroller about the angular rates and accelerations of the motor.
The microcontroller is feeding an inverter bridge (L6234) in order to drive the BLDC motor.
I have googled a bit about this topic and there are so many solutions out there for high speed applications, but not that much for low ones.
Moreover, the thing I really do not understand is about the control of the BLDC motor, so my questions are:
- Can I use a sensorless control of the motor, by sensing the back EMF even if the motor is spinning very low?
- How can I energize properly the phases of the BLDC motor, from standstill, if it is sensorless?
- Can I use the IMU for finding out how to spin the BLDC motor properly without counter rotations (meaning that I know when to commutate)?
- How can I hold the motor standstill when reaching the setpoint?
- Should I implemebt a speed controller or a torque (current) one for such an application (sensorless driving of BLDC motors at low speeds)?
Could you give me any help, please?