ST AN863 Application note

AN863
APPLICATION NOTE
Improved sensorless control with the ST62 MCU
for universal motor
The universal motor is today the most widely used motor in home appliances (vacuum cleaner, washer, hand tool, food processor...). Three modes of operation exist:
– in many cases, it is directly connected to the mains, without any speed adjustment.
– in open loop mode, the speed is adjusted by the user but not regulated: it decreases when
the load increases. This is the case in many vacuum cleaners for example.
– in closed loop mode, the speed is regulated. This mode is used when the speed must be
accurately kept at a given value, in washers for example. This mode requires to add a speed sensor on the motor shaft. Such a sensor is usually a tacho generator or magnet sensor. The drawbacks of the speed sensor are many, but all boil down to higher cost and lower re liability, not to mention the extra bulk needed to accommodate the sensor inside the plastic housing of a drill for example.
This document describes a speed regulator without sensor: the speed sensing is performed indirectly by the ST6220, low-cost 8-bit microcontroller, measuring the motor current. Perform ance results are given, which are in line with the need of many home appliances.
-
-
June 2008 Rev 2 1/22
1
IMPROVED SENSORLESS CONTROL WITH THE ST62 MCU FOR UNIVERSAL MOTOR
Tr

1 UNIVERSAL MOTOR PRINCIPLES

The universal motor can be driven in AC or DC mode. Figure 1 shows the two most popular variable speed drive principles. The goal is to adjust the voltage seen by the motor in order to adjust its speed. In AC mode, the motor voltage is adjusted by var ying the firing delay of a triac. This is done with a diac, resistor and capacitor when lowest cost is desired, and with an 8 bit micro-controller when higher performance and added features are desired, such as user interface or monitoring [1]. The switch is usually a triac, the cheapest power switch.
In DC mode, the motor is supplied by a high frequency pulse width modulated (PWM) DC voltage. The voltage seen by the motor is proportional to the PWM duty cycle, which can be adjusted to modify the speed. The power switch used to chop the DC voltage at high frequency is a power MOS or an IGBT. The DC mode has several ad vantages versus the AC mode (less acoustic noise, higher efficiency, lower har­monics content, all due to lower current ripple, as is shown in Figure 1). However, in low cost appliances, the AC mode still dominates due to its lower cost (no rectifier bridge, no fast diode, triac cheaper than IGBT or MOS). This is the mode we will focus on in the next pages.
The universal motor is a serial excitation motor. Therefore, the motoring torque is pro-
portional to the square of the motor current: Tm = k. I² The mechanical power is the product of the torque by the speed: P = Tm.Ω
If we assume 100% efficiency, the mechanical power equals the electrical power V.I input to the motor. It follows that the speed is proportional to
V/I:
Ω = k'. V / I (V and I are average voltage and current over a mains period). The first
consequence is that the motor speed is proportional to the average motor voltage.
At constant speed, the resistive torque Tr is equal to the motoring torque Tm. It comes from the previous equations that the speed is given by:
This equation shows that when the resistive load torque increases at a given voltage, the motor speed will decrease, hence the need for speed regulation. This regulation can be performed by adjusting the average voltage V.
Ω= k.V / .
-
-
2/22
IMPROVED SENSORLESS CONTROL WITH THE ST62 MCU FOR UNIVERSAL MOTOR
AC: PHASE CONTROL
DC: PWM CONTROL
t
Vmotor
Imotor
t
Vmotor
Imotor
M
M

Figure 1. Universal motor variable speed drive: AC versus DC mode

3/22
IMPROVED SENSORLESS CONTROL WITH THE ST62 MCU FOR UNIVERSAL MOTOR
Vmains
Imotor
t
0
td
i(t0)

2 SENSORLESS REGULATION PRINCIPLE

The above equations were first order equations, assuming DC operation, or average values for voltage and current. The real, instantaneous equation is the following:
While the triac is off:
i = 0
While the triac is on (after firing time td, and until current comes back to zero; see Figure 2):
v = e + z.i
with: e = back electromotive force (bemf) = k. Ω. i
z = motor impedance = r + j.L.ω k = constant dependent upon motor characteristics Ω = motor speed i = instantaneous motor current v = instantaneous motor voltage L = motor inductance r = winding resistance
ω = mains frequency
v = (k.Ω + r) i + j.L.ω.i
4/22

Figure 2. First Order Model (resistive only): Constant Speed, Variable Load

In the time domain, v(t) is the mains voltage: v(t) = V0 .sinωt (V0 = mains peak voltage).
IMPROVED SENSORLESS CONTROL WITH THE ST62 MCU FOR UNIVERSAL MOTOR
Vmains
Imotor
t
0
1
2
3
At first order, we will neglect the inductive term j.L.ω. This yields: i(t) = k.Ω + r.
The universal motor behaves as a speed-dependent resistor of value k.Ω + r.
As Ω and r do not change very quickly, and v is known, measuring i at a specific time within the mains period (example: at time t0 in speed: Ω = (V0 / k. i(t0)) sinωt0 - r / k.
Therefore if we want to keep the speed at a fixed value Ω0, we need to keep i(t0) at a corresponding fixed value i0:
i0 = V0 .sinωt0 / (k.Ω0 + r ) In practice, each mains period, the micro-controller measures the current at time t0 with its internal analog to digital converter. Then, the current error i(t0)-i0 is calcu lated, and the micro executes the speed regulation algorithm, which results in a new firing delay td. This delay is used to fire the triac on the next mains period. It is counted by the micro controller internal timer. The delay is measured starting from the mains voltage zero-crossing.
Figure 2) gives an image of the motor
-
Figure 3. Measured Current in a Real Motor (resistive and inductive): Constant
Speed, Variable Load (1: lowest load, 3: highest load)
If we now consider the real universal motor, including the inductive term j.L.ω, we can apply the same method. motor. On this figure, while the load is modified, the speed is kept constant by modi-
Figure 3 shows the current and mains voltage for a real
5/22
IMPROVED SENSORLESS CONTROL WITH THE ST62 MCU FOR UNIVERSAL MOTOR
fying the triac firing delay. Moving from Figure 2 to Figure 3, we can see two effects of the inductive term. First effect: at triac turn-on, the motor current does not exhibit a discontinuity, but changes gradually from 0 to a finite value. Second effect: at mains voltage zero crossing, the motor current does not reach zero immediately, but keeps trailing for a few milliseconds. This trailing gives us more freedom to chose the meas urement time t0. We can even chose the zero crossing instant, which is the easiest time for the micro-controller (no need to measure time t0 with the timer, we can use the mains zero-crossing as an interrupt to the micro, which is necessary anyway for other matters). This is illustrated in
Figure 3, where the arrow shows that the current is constant at the zero-crossing time while the motor load changes, provided that the speed is kept constant by adjustment of the firing delay td. For a detailed mathemat ical discussion, see annex 1.
To summarize, if we want to regulate the speed at a pre-defined set speed, for ex­ample 1000 rpm, we must measure the instantaneous motor current on every mains period at the same time t0 (for example, on every mains voltage zero crossing fol lowing the positive half-cycle), and maintain this measured current at a fixed set cur­rent, 1 ampere for example. For a different set speed, 2000 rpm, we need to regulate the current around a different value, 0.5 ampere for example (note that a lower cur rent corresponds to a higher speed).
The regulation is performed by adjustment of the triac firing delay td.
The above described method gives very good results at medium and high speeds.
At very low speeds, we have a second order effect coming into the picture: Figure 4 is identical to Figure 3, except for the presence of a fourth current curve, corre­sponding to a very large firing delay td (this corresponds to a very low speed, com­bined with a low load). We can see on this fourth curve that the current at time t0 is smaller than i0, current of the other 3 curves at this time. This effect is described in detail in annex 1. We have two solutions to cope with it. The simplest one is to limit the maximum firing delay (below values in the range of 7 mS, depending on the motor type). This means limiting the minimum speed which can be regulated. If the applica tion cannot tolerate this reduction in its speed dynamic range, a second and more complex solution is to compensate this current measurement distortion, by means of look-up tables memorized in the micro-controller memory. When the current i(t0) is measured, if td is larger than a limit value (7 mS for example), i(t0) is increased by a compensation value extracted from a memory table before it is used to calculate the current error. This value is a function of the triac firing delay td, and is determined ex perimentally by characterizing the motor. The regulation system is not very sensitive to this value, so it is enough to characterize one motor of a given type, it is not neces
-
-
-
-
-
-
-
6/22
IMPROVED SENSORLESS CONTROL WITH THE ST62 MCU FOR UNIVERSAL MOTOR
sary to characterize each individual motor. Annex 2 describes how to determine this compensation table.
Figure 4. Measured Current at Constant Speed (for very large firing delays,
current at time t0 is lower than set current)
7/22
Loading...
+ 15 hidden pages