CHAPTER 3 SENSORLESS COMMUTATION CONTROL FOR BLDC MOTORS16
3.2.2 Commutation phase shifter
After recognizing the zero-crossing signal of the estimated non-excited phase back-EMF, an additional 30° phase shift is required to perform correct commutation.
Since the precision of the sensorless commutation control depends on the rotor speed, a
a b c n
Phase Voltage Zero-crossing detection Commutation Logic
PWM control Duty
ratio
Fig.3.6 System schematic of sensorless BLDC motor drive
novel frequency-independent phase shifter (FIPS) [3] has been proposed. The algorithm of this phase shifter has been proven independent of input signal frequencies.
However, the computation effort is quite large for real-time application; hence the
digital simplified-type FIPS has been proposed in [1] as shown in Fig.3.7. Define the variable γ as the ratio of decreasing to increasing increments for the counters,
c
p( ) k
and , which are limited by a positive value L to avoid overflow condition at very low speed. Thus, and . Fig.3.8 illustrates the operational waveform of the proposed phase shifter. Assume that the input signal
k
n( ) k
−c ( k
−1)
<0c
n n( ) k
x
in Fig.3.7 is the zero-crossing signal of thenon-excited phase back-EMF as shown in Fig.3.5, and the output is the corresponding commutation signal. Also, since commutations exist every 180° in Fig.3.5,
( ) k y
γ can be represented as
φ*
γ = π (3-27)
where is the desired degrees of the phase shift. Therefore, the decreasing increments are six-times larger than the increasing increments in order to make the phase shift = 30°. Besides, k
φ*
φ* zn denotes the time when nth zero-crossing of input signal
x ( ) k
occurs, and kcn denotes the time when the commutation occurs. By definition, kp is the largest k whenc
p( ) k
−c
p( k
−1)
<0, hence kp=k
c1 when k=kc1. As a result, the output signaly ( ) k
is changed from +1 to −1 at kc1 and the counter ofc
p( ) k
is disabled until next zero-crossing is triggered. On the other hand, is the largest k whenk
n( ) k
−c ( k
−1)
<0c
n n , hence kn=k
c2 when k=kc2. As a result, the output signal is changed from −1 to +1 at k( ) k
y
c2 and the counter ofc
n( ) k
is disabled until nextzero-crossing is triggered. Therefore, the proposed digital phase shifter not only
performs the frequency-independent characteristics, but also reduces computation effort.
xP
( )k cn xN
( )k cp
Fig.3.7 Block diagram of simplified-type FIPS
kp= kc1
kp= kc1
kp=0
kn= kc2
kn=0 kn=0
0
0
1 -1
( ) k
x
0k
k
k
( ) k k y
( ) k
c
n( ) k c
pkz1 kc1 kz2 kc2 kz3 kc3
Fig.3.8 The operational waveform of the proposed phase shifter
Chapter 4
Start-up Strategy and Procedure for BLDC Motors
The start-up strategy is necessary since there is little or no back-EMF to sense when the motor is standstill or at a low speed. This chapter will introduce the start-up strategy in detail and the implementation of initial position detection and the start-up procedure for the BLDC motors.
4.1 Start-up Strategy
Since the back-EMF detection based position detection method cannot be used at start-up or low-speed, the additional start-up strategies are needed to solve these problems. Generally, the open-loop start-up algorithm can avoid this problem, in which strong current is flown to the output driver to force the rotor to move to the known rotor position [1], [20]. This open-loop algorithm has disadvantages of slow start and possibility of initial backward rotation [6]. Instead of open-loop start-up, inductive sense start-up algorithm is widely used in BLDC motor applications nowadays [10], [21]. In this section, these two methods will be introduced in detail.
4.1.1 Open-loop start-up method
The open-loop start-up method is accomplished by providing a rotating stator field which increases gradually in frequency. Once the rotor field begins to become
attracted to the stator field enough to overcome friction and inertia, the rotor begins to turn. However, the drawback of this method is the initial rotor movement is not predictable, which is inadequate for disk drives. Thus, the initial position detection is important in this method.
The motor starting procedure will be illustrated as follows: first, the rotor would be aligned from an unknown position to a certain position. Then set control signals to the driver circuit with a conducting sequence. If the initial position could be known accurately, this method could succeed in high probability.
4.1.2 Inductive sense start-up method
The main idea of this method is to utilize the fact that the inductance of the motor winding varies as the rotor position changes. The magnetic flux generated by the current in the stator winding can increase or decrease the flux density in the stator depending on the rotor position, leading to decrease or increase in induction due to the saturation of the stator. The relationship between inductance and flux linkage is shown
as
+
Li
= PM
Phase λ
λ (4-1)
where λPhase is the summation of the flux from the permanent magnet, λ , and the PM flux from the current i. L is the inductance of the excited phase. Supply the current with positive or negative direction to the phase, as shown in Fig.4.1 [10]. The
variations of the inductance are derived as
where and are the inductance and flux linkage variation corresponding to the positive current is provided; , and is opposite. It is obvious that is smaller than due to is smaller than . Consider the response of a phase voltage and current to the variation of the inductance. The phase voltage equation is expressed as
L
+ ∆λ+The back-EMF can be neglect when a motor is at standstill. Then, solve the differential equation; the phase current can be derived as
⎟⎟⎠
According to (4-5), the phase current has a different transient dependent on the inductance variation, which is determined by the relative position of the magnet and the direction of the current. It should be noted that has a faster response than due to the time constant is larger than , as shown in Fig.4.2 [10].
Therefore, the position information can be obtained by monitoring the phase current and in an appropriate time interval.
i
+i
−R/L
+R/L
−i
+i
−∆λ
−∆λ
+ λPMi
+i i
−λphase
Fig.4.1 The flux linkage with positive or negative current
∆i R
v
ani
| i− |
i
+T t
Fig.4.2 The responses of current with positive or negative direction
By applying positive and negative voltage pulses sequentially and measuring the difference in inductance, it can be determined which magnetic polarity the phase
winding is facing (Appendix A). Therefore, the initial position can be detected by the difference of the current pulse.
After identifying the initial position when a motor is at standstill, the correct phases winding on the stator are excited and the maximum electromagnetic torque is produced so that motor starts to rotate. Necessarily, the next commutation position should be detected for next excitation when the rotor rotates with 60 electrical degrees.
However, the method proposed in previous section is not suitable while the rotor is rotating due to the time delay caused by the period of six voltage pulses and the negative direction torque produced by exciting incorrect segments. The start-up procedure proposed by G. H. Jang, J. H. Park and J. H. Chang [10] will be detailed illustrated in Appendix A.
However, the success of this algorithm strongly depends on how sensitive the inductance of the phase winding to the direction of the applied current at the given position. Therefore, the prototype motor which was unsuccessful with the inductive sense start-up algorithm will be investigated using finite element method (FEM) analysis for the identification of the root cause [13].
4.2 Start-up Procedure
In the section will verify the method introduced in Section 4.1 and represent the start-up procedure which will be used in the experiment for the BLDC motor since the start-up procedure is highly dependent on the characteristics of the motor.
4.2.1 Initial position detection
By using the initial position detection mentioned in Section 4.1, the relation of each segments of an electrical cycle will be implemented. As shown in Table 4.1, the three-phase motor has six segments of an electrical cycle, in which any two phases out of three currents. In order to verify the feasibility of this method, measured the current response with a delay 500µs. Besides, by using (4-5), the inductance is determined whenever a rotor moves the electrical angle of 12°. Therefore, Fig.4.3 could be plotted to show the relative rotor position with respect to the stator produces different response of the current i1+
and i1-
. In addition, Fig.4.4 shows the variation of the difference
responses , which can provide information on the rotor position because the polarity of changes every electrical angle of 60°, where didi
di
1=i1+− i
1− , di2= anddi
− +
−
22 i
i
3=
i
3+− i
3− . The equilibrium positions (P1~P6), which means the relative magnitudes of the excitation currents in the two phases.Table 4.1 Six segments of an electrical cycle
Segment Symbol of current
B
0 60 120 180 240 300 360 -0.8
-0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8
electrical angle (deg)
cur re n t di ( A m p )
di1
di2 di3
P1 P2 P3 P4 P5 P6
Fig.4.4 First difference of current responses to the rotor position
However, it is very difficult to identify the polarity of di near the magnetic equilibrium where a rotor tends to stop, because one of three di is zero in these positions. In these case, the polarity of second different of the current response, ddi, can be effectively used to identify the rotor position. Fig.4.5 shows the for electrical period, where ddi
ddi
1= di1
-di
2,ddi
2= di2-di3, and ddi3= di3-di
1. Therefore, the polarity of ddi provides information on the rotor position near the equilibrium positions as shown in Table 4.2. Consequently, the stationary rotor position can be detected by ministering the polarity of di and ddi to energize the correct phases of the motor.0 60 120 180 240 300 360
Fig.4.5 Second difference of current responses to the rotor position
Table 4.2 Polarity of ddi on rotor position
Electrical position
dd i
1dd i
2dd i
34.2.2 Start-up from standstill
Consider the sampling rate is not high enough to implement the start-up algorithm proposed in [10] (see Appendix A.2), the open-loop method is used form standstill to the low angular velocity. After using the initial position detection to ensure the starting point, the next position should be right to avoid the initial backward rotation. However, the conventional open-loop method could not make the motor rotating smoothly from standstill since the torque input from software is too high. Therefore, the modified open-loop start-up method is proposed by using voltage pulse as shown in Fig.4.6.
Define the six segments as sector 0~5 which are shown in Table 4.3. After detecting the initial sector, a set of position sequence will import the system and the motor will start to rotate in right direction. However, time delay is caused since the command instant is always faster than the motor arriving instant. Fig.4.7 shows the relation between the command signal and the circuit signal with initial sector 0. At
t t
tc 2tc 3tc 4tc
B
A A C
BCB A
B
A A C
v v
0 0 tc 2tc
Fig.4.6 The modified open-loop start-up method
starting, the delay time is almost beyond a commutation time. After a period of time, the delay time will become less and approach to a constant. Then the system will switch to the commutation algorithm because there are enough back-EMFs to be detected.
As mentioned before, if there is no initial position detection, the initial backward will be incurred. For example, when the rotor initial position is in the sector 3 but the command is started in the sector 1, the rotor will rotate backward at the first commutation period as shown in Fig.4.8.
In addition, the angular velocity could be estimated by the commutation period because six commutation periods are equal to an electrical cycle. The mathematical equation is shown as
6 2 60
t p ˆ
c× ×
ω = (4-6)
where p is pole number and tc is the commutation period. Since the velocity is changed by tuning the duty ratio, Table 4.4 will show the relation between the duty ratio and estimated angular velocity of the motor. By using the table, the open-loop start up method can be used from standstill to accelerate the velocity with decreasing time interval in the command signal.
Table 4.3 The definition of the position sector Segment Electrical position Sector
B
Table 4.4 The relation between the duty ratio and estimated angular velocity Duty ratio
2 12.8997 9.6901
10 13.0691 9.5645
20 49.0097 3.5105
30 76.0586 1.6435
40 100.1600 1.2480
50 117.1875 1.0667
60 130.7909 0.9557
70 140.1903 0.8916
80 148.6549 0.8409
90 155.6351 0.8032
100 170.4790 0.7332
0 1 2 3 4 5 6 7 8 9 10 0
1 2 3 4 5
time
Se c to r
command signal circuit signal
Fig.4.7 The relation between the command signal and the circuit signal
0 1 2 3 4 5 6 7 8 9 10
0 1 2 3 4 5
time
Se c to r
command signal circuit signal
Fig.4.8 The relation signals without initial position detection
Chapter 5
Hardware Setup and Implementation of Sensorless Drivers
The theories and sensorless control strategies for the BLDC motor have been introduced in Chapter 3 and 4. In order to fulfill the control strategies, it is required to design sensorless drivers with good performance. Hence, this chapter will focus on the implementation of sensorless drivers. Besides, some experiments using PC-based drive system will be set up to verify the developed sensorless control strategies.
5.1 Experimental System Descriptions
The whole experimental system shown in Fig.5.1 consists of a BLDC motor, a driver circuit, AD/DA card, a PC-based control unit and a set of low-pass filters. The motor divers will be discussed in Section 5.2.
BLDC Motor Driver
Circuit
xPC Control unit
Sensorless control algorithm & PWM
AD/DA card PCI-6024E
Filter
Velocity transducer
Fig.5.1 The complete hardware PC-based control system
A 3-phase BLDC axial-flux wheel motor, Crystalyte 4011, is used as the experimental plant, which is a low speed and high torque direct-drive motor with
specifications listed in Table 5.1.
Table 5.1 The specification of the BLDC motor
Weight (kg) 6
Outer diameter of rotor (mm) 188 Outer diameter of stator (mm) 148
Length of PM (mm) 40
Pole numbers 16
Slot numbers 48
Coil numbers per phase 11
Phase resistance (Ω) 0.5
Phase inductance (mH) 0.001025
Operation voltage (volt) 36
Maximum unload speed (rpm) 177
In the second part, the AD/DA card, which is named PCI-6024E, is an I/O broad with 16 single analog input (A/D) channels, 2 analog output (D/A) channels, 8 digital input and output lines. The maximum input sampling rate is 200kHz and the output sampling rate is 10kHz.
On the other hand, the control unit and AD/DA card are connected by the xPC target environment [12] which is shown in Fig.5.2, using two PC connected by
Ethernet line. One is a target PC; the other is a host PC. In addition, xPC target does not require DOS, Windows, Linux or any another operating system on the target PC. It is a kind of Real-Time environment with high sampling rate up to 20kHz. Furthermore, the PWM generator and sensorless control algorithm including the start-up algorithm and commutation control algorithm are realized in the host PC by software. In Section 5.3, the software design of these parts will be described in detail. Thus, the three inputs of the AD/DA card are the analog motor voltage, and six outputs are digital six-step drive signals.
Host PC Target PC
Besides, after using pulse width modulation (PWM), the voltage signal will produce unwanted noises for detecting position in sensorless control algorithm.
Therefore, a set of low pass-filters is needed to eliminate these inherent noises. Section 5.4 will analyze this part explicitly.
Fig.5.2 The block diagram of the xPC Target environment TCP/IP
Windows xPC Real-Time
Matlab®−Simulink® Kernel
PCI-6024E Plant
Real time AD/DA card
5.2 The Driver Circuit Unit
The use of the driver circuit unit is to realize the sensorless controller of a BLDC motor. The driver circuit unit consists of three parts: signal amplifier, half bridge driver unit and power MOSFET, whose block diagram is shown in Fig.5.3. There are six digital inputs required to control the current flow in the driver circuit unit, which are provided by the AD/DA card. The signal amplifier is needed due to the fact that the output high voltage of the AD/DA card is 5V [15] and the input of the half bridge driver unit is 15V [14].
The half bridge driver unit is composed of three driver ICs, IR2113, which are high voltage, high speed power MOSFET drivers with independent high and low side reference channels. The floating channel at high side can be used to drive an N-channel power MOSFET which operates up to 600V. Besides, the gate drive supply ranges from 10 to 20V. The functional block diagram is shown in Fig.5.4. Each channel contains an under-voltage detect to ensure sufficient gate bias for the power MOSFET.
6 digital inputs 3-phase
6-arms Signal Half Power
Amplifier
AD-DA card Bridge
Driver Unit
Fig.5.3 The block diagram of driver circuit unit
MOSFET
Another problem inherent to the half-bridge driver in the dead-time required between switching events. If there is not enough dead-time between turning one set of MOSFETs off and the next set on, a short circuit will appear across the dc bus. This creates large current spikes and will have a negative impact on circuit operation. To control the dead-time, the IR2113 has Schmitt trigger inputs. This allows the use of a simple RC circuit to control the time delay between receiving a gate signal input and the chip actually seeing that input.
Fig 5.4 The functional block diagram of IR2113 [14]
Fig.5.5 shows the typical connection of IR2113 to power MOSFET. Each phase of motor is driven by two power MOSFETs (IRF640N) [16]. One of the most critical issues in a high power motor driver is to construct a circuitry a circuitry that will be able to drive the high side power MOSFET. Since the source of this device is connected to one end of the phase coil, the voltage level of this node is floating due to
the induced voltage on the phase coil. So, the gate voltage of the high side power MOSFET must be set accordingly to provide proper operation of this device.
In Fig.5.5, the bootstrap principle is applied to the floating channel. First, suppose that the bootstrap capacitor C1 has been charged enough voltage ( ) by an external source over a bootstrap diode during the period when S
cc
c1
V
V
≈V
cc 1 is OFF. WhenHIN is high, M1 turns on and M2 turns off, and then will charge the capacitor between the drain and source of S1 through M1, i.e., works as a voltage source at this time. When HIN is low, M1 turns off and M2 turns on, and then the charge in S1 will be released rapidly through R1 and M1. Finally, S1 is OFF, and LIN changes to high voltage after passing the dead-time.
V
c1V
c1Fig.5.5 The typical connection of IR2113 to power MOSFET
The total driver circuit will be shown in Fig.5.6 and the photo of motor drive circuit will be displayed in Fig.5.7. There are six inputs connected to AD/DA card and
three outputs connected to the three phase of the motor.
Fig.5.6 The three phase motor driver circuit
Fig.5.7 The motor driver circuit
5.3 The Sensorless Control Unit
The sensorless control unit is fulfilled by the software package simulink○R, including control algorithm, 3-to-6 signal transformation and pulse width modulation (PWM). The block diagram of the sensorless control unit is shown in Fig.5.8.
Sensorless control unit
The control algorithm block is to realize the start-up method mentioned in Section 4.2 and sensorless commutation control method given as (3-17) to (3-26) with inputs of the motor’s phase voltages and outputs of the three-phase commutation signals. Then the 3-to-6 signal transformation block fulfills the phase commutation sequence as shown in Table 5.2, where the six outputs (aup
, a
down, b
up, b
down, c
up, and c
down) are determined by the inputs of the three-phase commutation signals (Sa, Sb, and Sc). These3-phase Voltage
Fig.5.8 The block diagram of sensorless control unit
six outputs are used as the switches to turn on or turn off the power MOSFET in driver circuit unit. Fig.5.9 shows the results of the trapezoidal back-EMFs and the phase current generated by the switching.
Table 5.2 the phase commutation sequence
Commutation signal MOSFET switch
segment Sa Sb Sc
a
upa
downb
upb
downc
upc
downB
C 0 0 1 0 0 0 1 1 0
B
A 1 0 1 1 0 0 1 0 0
C
A 1 0 0 1 0 0 0 0 1
C
B 1 1 0 0 0 1 0 0 1
A
B 0 1 0 0 1 1 0 0 0
A
C 0 1 1 0 1 0 0 1 0
As usual, in a PWM signal, the frequency of the waveform is a constant while the duty cycle varies (from 0% to 100%) according to the amplitude of the original signal.
In addition, the PWM is used to control the power applied to the motor. It can control
In addition, the PWM is used to control the power applied to the motor. It can control