I'm having a problem with controlling my BLDC motor when starting up and when running in low rpm. I have a custom board to measure rotation of the motor using an optical sensor and send servo pwm commands to an esc. The problem is, that I can't start the motor smoothly. When I slowly increase the control signal, it starts stuttering and then jumps directly up to about 1500rpm.

Is there a way to improve this situation without using a sensored motor/esc combo?

  • $\begingroup$ What is the kv rating (rpm/Volt) of BLDC? Normally a motor with high kv rating will provide high rpm just after start using ESC. $\endgroup$
    – nikhil
    Dec 29, 2013 at 18:42
  • $\begingroup$ My motor has about 1000kv. $\endgroup$
    – cube
    Dec 29, 2013 at 19:18

1 Answer 1


Brushless DC motors should have excellant lower speed performance. Your problem is probably not the motor but rather the electronic speed controller. Those sensorless controllers generally don't perform well in low speeds because there is very little signal for them to key on.

It also sounds like you may be "fighting" the ESC's built in controller with your own control loop on top of it. The first thing I would check is what's the lowest speed command the ESC can reliably take before trying to close a loop with an additional sensor. What is your loop doing?

If you want to build your own system you may want to replace the ESC with an amplifier and change your control algorithm to control the current/torque rather than speed. Since you have your own position sensor it may somehow be possible to fake out the back-emf signature the ESC is looking for but this isn't easy and is probably a waste of time.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.