Electronic – Sensorless speed control and startup of BLDC

brushless-dc-motorspeed

Regarding the sensorless speed control of a BLDC, I have some doubt about what may happen in the following two scenarios when the rotor's position is unknown

  1. the start-up from zero
  2. with an initial rotation different from zero

In (1) I would like just to know if I can close two generic contacts without knowing the initial position of the rotor. In (2) I wonder if I can drive in open-loop a 3-phase input voltage and expecting that after a transient (but systematic response) that the rotor follows the synchronization.

Can you help me please to figure it out?

Best Answer

Sensorless motor control works by measuring the voltage induced in the stator coils by the rotor magnets as they move past (this is called back EMF). Since this is directly related to rotor position and speed, it can be reliably used instead of an external sensor. However, there is no back EMF when the motor is stationary, so there is no way to tell what the initial rotor position is.

The normal way to deal with this during startup is to provide a ramping open loop signal that the motor will 'follow' until it spins up to a speed where back EMF sensing will work. It is not too dissimilar to operating the motor like a stepper. The main issue is that if the motor load is higher (or could be higher) than the torque output during this synchronous phase, the motor may fail to start. In addition, low speed performance will be very poor (rough, low efficiency) which is why you don't see sensorless techniques used with servo systems or (most) traction motors.

So it is possible to do what you want, and your proposal in point (2) is the normal way to achieve this, provided the load you have has acceptable low speed characteristics.