How do real world algorithms for sensorless BLDC motors handle startup under load? Right now I run phase 1 for a few milliseconds to get the rotor in a known position, the I run open loop for a constant number of commutations by picking with a constant, hand picked by empirical observation, and each phase is held for a constant period of time before switching to the next phase. This really beats ass on the motor, sounds awful and only hands off to the sensorless algorithm about 60%of the time.

How are you supposed to get the motor started more consistently?

  • \$\begingroup\$ My understanding is a lot of algorithms are proprietary. I believe you just "randomly" energize some coils to "wiggle" the rotor enough for the BEMF sensors to pick up something, then normal commutation starts there. There's no open-loop commutation. It jumps straight from open-loop wiggling to closed-loop commutation.. What sequence you do that in seems to be the secret. \$\endgroup\$ – DKNguyen Apr 18 at 23:47
  • \$\begingroup\$ That's disappointing... I was hoping this wasn't such secret sauce, but it seems like more and more things are these days. \$\endgroup\$ – testname123 Apr 18 at 23:51
  • \$\begingroup\$ Yeah, it's secret sauce. I've never seen a method outlined in any white papers. Remember, when wiggling you do not need to energize the windings in the regular commutation sequence for normal rotation. You can skip windings, jump around, go forward then reverse. The goal at that stage is not to actually rotate the motor or force it to a known position. The goal is to produce enough movement, any movement, in any direction, to produce enough BEMF to detect rotor position so you can jump straight to the regular closed-loop commutation. \$\endgroup\$ – DKNguyen Apr 18 at 23:56
  • \$\begingroup\$ Oh you should also know that sensorless methods just aren't that good in general at starting up under load. They are best at starting up where torque increases with speed (like a fan). So you may never be able to get the squeaky clean sensorless startup you desire under load, especially if it's heavy. \$\endgroup\$ – DKNguyen Apr 18 at 23:58
  • \$\begingroup\$ Is the load known? Do you have current feedback on the windings? I'd run the motor at constant current, starting slowly and accelerating. That current and the acceleration depends on the torque and inertia of the load, though. Or, get a motor with sensors. \$\endgroup\$ – TimWescott Apr 19 at 0:41

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.