User Manual

State Diagram
3-Phase BLDC Motor Control with Sensorless Back-EMF, ADC, Zero Crossing, Rev. 3
Freescale Semiconductor 43
Preliminary
The drive starts by setting the Alignment state where the Alignment commutation step is set and Alignment
state is timed. After the time-out the Starting state is entered with initialization of Back-EMF Zero Crossing
algorithms for the Starting state. After the required number of successive commutations with correct Zero
Crossing, the Running state is entered. The Running and Starting states are exited to the Stopped state, if the
number of commutations with wrong Zero Crossing exceeds the Maximal number. The commutation control is
determined by the variable StatusCommutation.
Set Stop
Running
Alignment
Starting
BLDC Run
Alignment Timeout
Minimal commutations
BLDC Stop
Exceeded Maximal
Zero Crossing
with Zero Crossing OK
Set Alignment
Set Running
Set Starting
done
done
Reset
passed
Error commutations
Stopped
done
Figure 7-8. State Diagram - Process Commutation Control
7.3.4.1 Commutation Control - Running state
The State diagram of the Commutation Control Running state is shown in Figure 7-9 and is explained in
Section 5.. The selection of the state after the motor commutation depends on the detection of the Back-EMF
Zero Crossing during the previous commutation period. If no Back-EMF Zero Crossing was detected, the
commutation period is corrected (Corrective Calculation 1). Next, the Commutation time and commutation
registers are preset. If Zero Crossing happens during the Per_Toff time period, the commutation period is
corrected using the Corrective Calculation 2. When the commutation time expires, a new commutation is
performed.