Start your brushless DC journey with motor startup (Part I)


Sensor-less BLDC motors are becoming more popular. But quick, reliable start up is a challenge as many system designers have already discovered. The most difficult design challenge is the startup from zero speed since almost every sensor-less solution relies on back electromotive force (BEMF) detection to achieve the position estimation. BEMF is proportional to motor speed, which is zero before startup. As a result, you need to look at using other methods to achieve the initial position detection (IPD) such as inductive sense, mutual inductance, etc.  Or just simply ‘blindly’ spin up the motor (align and go). Both methods have advantages and disadvantages and are useful for certain applications. You must determine how to trade off these pros and cons to find the best solution and best parameters for your application. To support a wide range of applications, ideally the motor driver provides flexibility and configurability in selecting the startup method and startup parameters.

In this three part blog series, I will first introduce you to the different motor startup methods. The second blog will cover key parameters to optimize startup. And the third will cover the principle of IPD, specifically inductive sensing and how to implement in in your startup strategy.

Method one: ‘blind’ startup

Although many of the newer sophisticated BLDC control algorithms emphasize position observation, position estimation and field-oriented control, the tried and true method of “blindly” forcing the motor to spin by simply using a known commutation sequence is still often used. 

Think about stepper motor control. The stepper motor's position can be commanded to move and hold at one of hundreds of steps without a feedback sensor. It works fine in proper applications unless the load is too big, and the motor starts to misstep and stall. Without a feedback sensor, the controller isn’t aware of the missing step or stalling condition. Thus, ‘blind’ or open-loop control.

Think about brushed DC motor control. The brushed DC motor is designed to be run from a DC power supply without position feedback, even without a controller. Motor speed drops while loads increase. Unless there is special technique to detect motor speed, the brushed DC motor is ‘blindly’ controlled.

Let’s borrow this concept and implement with a three-phase BLDC motor. Apply DC current through phase U to phase V and wait for the motor to settle down (actually we can only wait for so long, because we are practicing ‘blind’ control and we won’t know whether the motor stops or not). Then, apply DC current through phase W to phase V and wait. Continue this practice with the following sequence WU->VU->VW->UW->UV->WV->WU. The motor will start to rotate with some shaking.

To minimize the “shaking” at each step, we can simply reduce the step size and make the rotation smoother by adding one more step between each of the two steps showing above. For example, between UV and WV, add the step (UW)V, which means applying current through phase U and W parallel, to phase V.

If we want to further improve the smoothness, we can add more steps between the existing steps. For example between UV to (UW)V, decrease the magnitude of current in phase U and increase the current in phase W - separate this action into several steps. When the number of steps reaches a certain high value, the control shows a step-less, smooth profile. It can also be modulated to a sinusoidal profile. (The DRV10983 has 256 steps every electrical cycle and provides a sinusoidal current profile.)

Sinusoidal ‘blind’ startup is to apply three-phase sinusoidal current with appropriate magnitude. It starts with zero (or very low) frequency and increases the frequency of sinusoidal current with an appropriate acceleration rate regardless of the real position of the motor (referred to as open-loop operation). The open-loop operation will drive the motor to a speed so that the motor generates sufficient BEMF to allow the control logic to accurately drive the motor in closed loop (closed-loop control means motor position oriented control).

‘Blind’ startup is a very practical method to spin up the motor, especially for those applications where load condition is predictable. However, in order to cover a wider range of motors and applications, several parameters need to be properly selected to optimize the startup performance. Tune in for the part II to learn more on that.

For more information:

  • Hi ,

    Would you be able to tell me  if the PWM commutation sequence above will work only if I have  DRV10983 for the motor ?  Or will I be able to just give the same sequence to get the motor to start turning ?

    Kind Regards

    A