In recent years, vector control has come into use for motor control applications such as air-conditioners. It is the advanced technology which can efficiently control motor rotation from a low speed to a high speed. It is not too much to say that the smooth motor control in a low speed would not be possible without using vector control. Since vector control uses a very complicated process, it requires mathematical knowledge to understand it. However, we will try to explain the vector control using as few mathematical expressions as possible.
Here we will use a 3-phase motor as an example.
Let’s get started with an explanation of
a 3-phase motor and its driver.
3-phase AC waveforms consist of three sine-waves which are shifted by 120 degrees each other. 3-phase motor supplies these three alternate currents to the three terminals respectively to rotate a rotor. The number of motor rotation is controllable by the frequency of alternate currents. That is, the frequency of alternate currents is needed to be lower to make the motor rotate slowly. Likewise, the frequency needs to be higher to make the motor rotate at high speed.
In order to give the 3-phase voltage (or current) to this 3-phase motor, an IC called a motor driver is used. In the case of vector control, the basic circuit of a motor driver consists of 6 transistors (diode connected with the transistor in parallel with it). The control of ON and OFF of the 6 transistors have the 6 input signals u, v, w, x, y and z respectively. And there are the 3 output terminals U, V, and W for the current drive of the 3-phase direct-current motor. Furthermore, there are 3 output ports of the terminal a, b, and c for monitoring each drive current of the output ports U, V, and W.
The following figure is a full picture of the vector control. First, vector control begins from monitoring the waveforms of U, V, and W which drive a motor. The signals for the monitor are the outputs a, b, and c of a motor driver. Since the amplitude of the signal of a, b, and c is very small, it is amplified with amplifier and inputted into an AD converter. After 3-phase signals a, b, and c are changed into the digital current values Iu, Iv, and Iw by an AD converter, they are changed into current values of 2 phases Iα, and Iβ. Then, these 2-phase currents are changed into the currents Id and Iq by the coordinate transformation from stationary coordinates to rotation coordinates. The purpose of vector control is to coincide these Id and Iq with the beforehand fixed ideal values Idref and Iqref, respectively. Id and Iq monitored the current of the motor, and since they are the values which were converted from it, they have shifted from the ideal values. Then, in order to lose the gap, PI control rectifies. The compensation value is given by not current but the value Vd of voltage, and Vq. Next, reverse coordinate conversion is performed to the stationary coordinates from the rotating coordinates to obtain Vα and Vβ. Although 3-phase input signals u, v, and w of a motor driver are drawn from voltage of this 2 phase Vα, and Vβ, space vector modulation is performed to obtain them at this time, instead of simple 2-phase 3-phase conversion. The input signals u, v, and w of a motor driver and the signals x, y, and z of those negative phase are acquired by this conversion. And the signals of U, V, and W are given to a motor. 1 cycle of vector control was completed above. This cycle is repeated and the rotation state of an ideal is made possible.
Here we will use a 3-phase motor as an example.
Let’s get started with an explanation of
a 3-phase motor and its driver.
The three drive currents U, V, and W are monitored through the monitor terminals a, b, and c. However, since the values of these monitor signals are very small, signal amplification is performed with an amplifier and they are inputted into the AD converter, and are changed into digital values. The changed digital current values Iu, Iv, and Iw are used for subsequent calculation. Now, it is generally difficult to handle three signals simultaneously. It is because three signals change with a certain mutual relation, so calculation in three-dimensional space is needed. Thus, in order to make this calculation easy, 3 -phases are changed into 2 phases. In this conversion, the property of an ideal 3-phase alternating current, the sum of three sine waves is zero, will be utilized. That is,
Iu + Iv + Iw = 0 |
Although 3-phases are changed into 2 phases based on this condition, it is assumed that two axes after changing into 2 phases crosses directly mutually (it is assumed that they crosses at 90 degrees). Such conversion is called Clarke conversion.
If the currents of 3-phases are assumed to be Iu,Iv and Iw and the currents after 2-phase conversion are assumed to be Iα and Iβ, the result will be
Iu + Iv + Iw = 0 Iα= Iu Iβ= (Iu + 2Iv) / √3 |
The above formula is the conversion from 3 phases to 2 phases which is the first conversion in vector control.
The second conversion by vector control is the coordinate conversion from stationary coordinates to rotating coordinates. In fact, the current value changed into 2 phases from 3-phases is a current value which flows through the rotor, and is rotating together with the rotor. While looking at the motor from outside, the rotor is turning round and round. However, if you can ride on the rotor, the rotor seems to have stopped. And it seems to you that the surroundings are turning round and round. That is, on the coordinate which rotation is the same as that of the rotor, 2-phase current on the rotor looks stopped. Currents seem to stay still can be handled as direct currents. Therefore, calculation will become much easier if coordinate conversion is performed from the stationary coordinates to the rotating coordinates. The conversion to rotating coordinates from stationary coordinates is called Park conversion.
If the currents in the stationary coordinates are assumed to be Iα and Iβ, those in the rotating coordinates are assumed to be Id, and Iq and a rotating angle is assumed to be θ, then, result will be
Id = Iα・cosθ+ Iβ・sinθ Iq = －Iα・sinθ+ Iβ・cosθ |
By the way, in order to change into rotating coordinates from stationary coordinates, the value of the rotation angle θ of the rotor is required. That means that conversion to the rotating coordinates cannot be performed without data on how many times the rotor rotated. In fact, the information on a rotation angle can be obtained by another ways. For example, the rotation angle of the rotor and revolving speed can be found out by the incremental encoder and so on which are the sensors for rotation.
Let's proceed on the assumption that the rotation angle is known.
The half of the process of vector control finished. At this point, the vector control will check whether the value of the 2-phase currents Iq and Id are larger than each ideal values or smaller. If the result is larger than the ideal value, the vector control will reduce the current. If smaller, it will increase the current. Generally PI control is applied in this part. PI control performs P control (proportional control) and I control (integral control) in parallel. P control performs amplification control according to the difference of an ideal value and an actual measurement. I control performs amplification control according to the integration value of the difference (The ideal preset value of Iq and Id is set to Iqref and Idref). Although the inputs of PI control are current values of 2 phases, outputs are voltage values of 2 phases. The reason why the outputs are voltage values instead of current values is that the input signals of the motor driver which are the last outputs of the vector control are not current values but voltage values. Next, the 2-phase voltage values Vq and Vd obtained through the PI control are returned to the stationary coordinates from rotating coordinates. For that purpose, now, let’s get down from the rotating coordinate and the voltage value calculated in the rotating coordinate system should be re-calculated in the stationary coordinate system. Previously, the transformation from the stationary coordinate system to the rotating coordinate system was done, and this time, the inverse transform of the method is performed. This conversion is called reverse Park conversion. A rotation angle is required at this point. It is already obtained when the conversion from the stationary coordinates to the rotating coordinates was performed.
Vα= Vd・cosθ－Vq・sinθ Vβ= Vd・sinθ+Vq・cosθ |
Well, the vector control is now in the final stage. The final conversion is space vector modulation.
Let's see what kind of conversion the space
vector modulation is.
The goal is just around the corner,
but this is the most difficult part.
Inverse transform is performed for 2-phase voltage to 3-phase voltage by space vector modulation. As a result, 3-phases of input waveform of a motor u, v, and w and the reverse phase waveforms x, y, and z are obtained. 3-phase alternating current which controls a motor consists of three sine waves which are shifted by 120 degrees each other. Then, three axes shifted only 120 degrees are prepared first. Using the three-dimensional vector notation, each axis is set to (100), (010), and (001). Next, each axis is extended to the counter direction from the starting point (the origin). Then, the extension of (100) comes in the middle of (010) and (001) and this extended axis is set to the vector (011). Similarly, as for the extension of (010), the extension is set to (101) and the extension of (001) is set to (110). Thereby, six quadrants are made. Here, each quadrant is called a sector.
Next, 2-phase voltages Vα and Vβ are put on this space, and a vector V is synthesized by vector composition of Vα and Vβ. Since the synthetic voltage V rotates together with a rotor, it moves from sector to sector in order.
Let me explain about the six axes which divide space.
Now, this V is decomposed into the vector of two axes (100)
and (110) when the sector 0 has the voltage vector V.
If the ingredient of (100) sets to t1 and the ingredient of (110)
sets to t2, a lower left figure will be obtained.
In fact, 3-phases of vector (100), (010), and (001) correspond to
(u,v, and w) of a motor driver. Since (100) is u and (110) is u
and v, the following expressions, …
u=t1＋t2 v=t2 |
are obtained. What does w become? It is always
w=0 since an axis of the sector 0 is (100) and (110). However,
in consideration of a final waveform w is decided as follows.
First, please note that there is no axis for the vectors (000) and (111) in the figure of six sectors. Since (000) is u=v=w=0, a driver cannot supply current to a motor because the transistors by the side of VDC of a driver are all OFF state. On the other hand, (111) is u=v=w=1. Reversal input is x=y=z=0 at this time. That is, since all of 3 transistors by the side of GND become OFF, the driver cannot supply current either. Therefore, (000) (111) are the operation “which nothing performs toward a motor”. Furthermore, in order to make the waveform inputted into a driver in space vector modulation, a certain fixed cycle T is decided. Although the voltage vector V is rotating with the rotor, the cycle T is very short time and it is considered during this cycle that the voltage vector V is standing still.
Now, the voltage vector V in the sector 0 was decomposed into t1 and t2.
Cycle T is defined as…
T=t1+t2+t3 |
The time of t3 is “time to do nothing” in the sector 0. (uvw) is set to (000) or (111) at this time. Thus, the wave forms of u, v and w which were calculatsed are shown in the following figure. Because the waveforms are assembled in consideration of wave symmetry, t1 and t2 are calculated by a unit of one half, and t3 is calculated by a unit of one fourth. During the whole 1 cycle, time for u, v, and w to be 1 is as follows.
u=t1+t2+t3/2 v=t2+t3/2 w=t3/2 |
The clause of t3/2 of u, v, and w gives the time in which u=v=w=1, and is the time to do nothing. On the other hand, there is also the time of t3/2 in which u=v=w=0 and nothing is done to a motor. In total, t3 is secured for the time to do nothing.
Now, the voltage vector V (2 phases) has been changed into 3 phase signals of (u, v, w) by space vector modulation at last. Now, the space vector modulation to one voltage vector was completed. Let's further rotate the voltage vector V. As shown in the following figure, when the voltage vector V rotates through each sector in order, the values of t1 and t2 of u, v, and t3 of w change. In addition, x, y, and z are obtained as a reversal waveforms of u, v, and w, respectively.
At last, the signal waveforms of u, v, w, x, y, and z were obtained by space vector modulation conversion. Now, the whole vector control was in sight. You can understand how vector control controls a motor all the way through the complicated processes.
It’s so complicated, isn’t it? Since microcontrollers for
motor control appeared, vector control
can be performed easily and efficiently.
The substantial current of U, V, and W serves become u-v, v-w, and w-u, respectively. If these current is drawn on the graph of the rotation angle of a rotor, the sine wave forms of 3 phases with which 120 degrees of phases differ mutually will be obtained.
Now we know the space vector modulation is an effective method to make signals of u, v, and w which drive the transistors of the motor driver. The input signals U, V, and W of 3-phase motor can be drawn as good sine wave forms by space vector modulation.
Now, we understood vector control. Next, it is explained what the vector engine does. The vector engine itself is the hardware which processes a part of required work by vector control, instead of CPU. However, it can play a larger role in a larger frame of “vector control”, by embedding this hardware in a microcontroller. It is interlocking and operating the vector engine (VE), motor control circuit (PMD), and AD converter (ADC) which are required peripheral circuits in vector control, without passing CPU. That is, the vector engine performs delivery of the data of each peripheral circuit automatically, and processes by judging the starting timing of each peripheral circuit automatically. It is the big merit for CPU that the work to process vector control can be reduced sharply. In the whole vector control figure, let's find which part takes charge of each work.
[1] The target current values Iqref and Idref and the rotation angle theta of a rotor are set to a vector engine. ⇒ CPU |
[2] A value of phase output voltage (pulse width equivalent to the output voltage of U,V, and W) is set to PMD. The conversion start timing of an AD converter is calculated and the timing is set to PMD. ⇒ VE |
[3] A PMD circuit outputs the voltage (PWM) given to new U, V, and W, and transmits a conversion start signal to an AD converter. ⇒ PMD |
[4] An AD converter transmits an end signal to a vector engine, after ending conversion. ⇒ ADC |
[5] An AD translation result is taken in, the feedback current Id and Iq are calculated, and interruption is required of CPU. ⇒ VE |
[6] In response to interruption, angle calculation of a rotor and a new current instruction value are calculated by software. ⇒ CPU |
The other is work of hardware itself of a vector engine. It is necessary to perform complicated operations, such as stationary coordinate conversion, space vector modulation, 3- phase 2- phase conversion, and rotating coordinate conversion, in vector control. In order to perform these complicated operations by CPU using software, it is necessary to make a complicated program. Moreover, the execution time of CPU will also be taken for a long time, and will be a big burden to CPU with various works. Then, which work does a vector engine actually perform?
It is vector engine that performs these six works.
Thus, a vector engine is hardware very convenient to perform vector control.
Phew, did you understand?
Quite difficult contents, but if you would like to know
more details about vector control,
refer to a technical book.
Toshiba semiconductor & storage Product Company
also offers microcontroller seminars. please participate.
Incorporating a Toshiba original hardware “Vector Engine” enables these microcontrollers to perform basic processing (coordinate conversion, phase conversion, SIN/COS operation) indispensable to the vector control and PI control used for current control. It can also significantly reduce the loads of software sharply.
If you have any questions, click one of these links: