User Manual
Per_CmtStart
2*Per_CmtStart
Per_Toff[n]
T_ZCros[0]
T_ZCros[n]
n=1
n=2
n=3
T_Cmt0[1]
T_Cmt0[2] T_Cmt0[3]
T2[1]
T2[2] T2[n]
Zero Crossing
T2*[n]
Commutation is preset
Commuted when correct
Zero Crossing
T2**[n]
Commuted when Back-EMF
Per_HlfCmt[n]
Per_HlfCmt[n]
Detection Signal
Detection Signal
Zero Crossing
Detection Signal
Commuted at preset time.
No Back-EMF feedback was
received - Corrective Calculation 1.
Back-EMF feedback
received and evaluated.
Zero Crossing is missed
- Corrective Calculation 2.
COEF_CMT_PRESET *
* Per_ZCrosFlt[n-1]
Control Technique
3-Phase BLDC Motor Control with Sensorless Back-EMF, ADC, Zero Crossing, Rev. 3
28 Freescale Semiconductor
Preliminary
Figure 5-11. Calculation of the Commutation Times during the Starting
(Back-EMF Acquisition) State
As can be seen in Figure 5-11 the commutation times T2[1] and T2[2] are calculated without any influence of
Back-EMF feedback
5.4.3.1 Starting - Commutation Times Calculation
The calculations made during Starting (Back-EMF Acquisition) state can be seen in Section 11.1.
Even the commutation process sub-states of the Starting (Back-EMF Acquisition) state remain the same as
during the Running state. The required commutation timing depends on the MCS state (Starting state, Running
state). It is provided by different settings of the commutation constants Coef_CmtPrecompFrac,
Coef_CmtPrecompLShft, Coef_HlfCmt, Coef_Toff, in structure StartComputInit (differs from
RunComputInit). The commutation times calculation is the same as described in Section
5.4.2.2; however, the
following computation coefficients are different:
coefficient Coef_CmtPr ecomp = 2 at Starting state!
coefficient Coef_HlfCm t = 0.125 with advanced angle Advance_angle: 60Deg*3/8 = 22.5Deg
at Starting state!
Coef_Toff = 0.5 at Running state, Max_PerCmtProc = 100!