Slow speed and High torque with small BLDC motor

Hey!
I recently bought an ODrive to experiment on precision control for a BLDC. Im using a 1200 kv,14 pole motor attached to AS5047P encoder (4000 counts).

At normal speeds (>5000 cnts/sec) it works perfectly. But, I’m having a problem in getting high torque at low speeds for my motor. Also when i try to rotate my motor at really low speeds, it starts cogging and doesn’t rotate smoothly.
I have already tried increasing my PI values , but at such high values its unstable and vibrates a lot. I know the ODrive implements sinusoidal commutation, so it should be possible to achieve this (https://hackaday.com/2015/04/20/driving-a-brushless-dc-motor-sloooooooowly/)
Has anyone ever tried doing this and got results? Please let me know

To get smooth motion with a direct drive motor that has high cogging toque you might need to do some anticogging compensation. This will require an absolute rotor position sensor to determine where you are in the electrical cycle.

-Peter

@Peter Thanks for the reply. Yeah, i also looked at anti-cogging algorithms, but they seem a bit complex to implement. I have therefore ordered some gimbal motors (high torque , low speed characteristics) . Will try them out and see if I can get some positive results

Yes, we have an anticogging algorithm that tries to improve this. It’s already built in to ODrive, no need to implement it yourself :slight_smile:

As far as I know, that very slow speed video is using voltage control (gimbal mode)

Oh ok :sweat_smile:

I got a GM4608H gimbal, and it works a lot better at slow speeds. :smiley: