2012 Ninth Electronics, Robotics and Automotive Mechanics Conference
DSP-Based Space Vector Modulation for a VSI-fed Permanent Magnet Drive Roberto Morales-Caporal, Omar Sandre-Hernández, Edmundo Bonilla-Huerta, J. Crispín Hernández-Hernández and J. Juan Hernández-Mora División de Estudios de Posgrado e Investigación. Instituto Tecnológico de Apizaco. Av. Instituto Tecnológico s/n. Col. Centro. CP 90300 Apizaco, Tlax. México E-mail:
[email protected],
[email protected]
Abstract –– Voltage Source Inverters (VSI) fed variable speed alternating current (AC) drives are widely used in many industrial applications. In order to obtain variable voltage and frequency the VSI is commonly firing by using Pulse Width Modulation (PWM) techniques such as the Space Vector Modulation (SVM), which provides a suitable strategy to control the VSI. This paper presents the digital implementation of a modulation algorithm for a three phase VSI-fed a Permanent Magnet Synchronous Machine (PMSM). The SVM algorithm is first performed by simulation based on the software Matlab/Simulink®, and then it is digital implemented by using a floating TMS320F28335 Digital Signal Processor (DSP). Simulated and experimental results are presented to demonstrate the effectiveness of the adjustable frequency electrical drive.
In a VSI the switching devices are controlled in an on-off position. In order to obtain an optimal duty cycle of the devices, a PWM technique is necessary, in such way the output voltage of a VSI can be modified according to the pulses of control applied to the switching devices. Several techniques of PWM have been developed, these techniques are presented in [2][3]. An alternative PWM technique is Space Vector Modulation, a flexible and compute intensive DC to AC power conditioning method, that has attracted a great deal of attention since its introduction, mainly because of low harmonic distortion of output voltage and a better use of the bus voltage, nowadays is widely used in AC drive applications [4]. Furthermore, the advances in power electronics and rapid development of high performance DSP have allowed the implementation of complex digital control algorithms. SVM can be fully implemented in a DSP and applied successfully to a single-phase full-bridge, three-phase three-wire, three-phase four-wire, and three-phase four-leg inverters [5]. In this paper the design, simulation and implementation of SVM to control a VSI is presented. First, the simulation is presented on Matlab/Simulink. Then digital implementation is carried out on a DSP TMS320F28335 to generate the digital signal to fire the three-phase two-level IGBT inverter, at a switching frequency of 10 KHz. The VSI was tested in the open loop control of a three phase PMSM. Simulated and experimental results are presented.
Keywords –– Digital Signal Processor, Space Vector Modulation, Synchronous Machine, Voltage Source Inverter.
1. Introduction A Voltage Source Inverter (VSI) is a device with the capability of transform a fixed Direct Voltage (DC) into an AC voltage where the frequency and amplitude can be varying based on the application and on the desired operation. A three phases VSI is comprised of six switching devices such as Insulated Gate Bipolar Transistor (IGBT’s), Metal-Oxide Semiconductor Field-Effect Transistor (MOSFET’s), Gate Turn-Off Thirystor (GTO’s), Bipolar Junction Transistor (BJT’s) or Integrated Gate Commutate Thirystor (IGCT’s). Being the IGBT the most popular electronic device used in VSI-fed AC machines [1]. The application of VSI in modern power systems has been increased due to the development of faster switching devices and higher ratings, as well as development of advanced techniques for their control, and are commonly use in applications such as AC motor drives, active filters, high power factor ac/dc converters and uninterruptible power supplies [2]. 978-0-7695-4878-4/12 $26.00 © 2012 IEEE DOI 10.1109/CERMA.2012.49
2. Space Vector Modulation SVM is possible the best method among PWM techniques for VSI, is a highly efficient method for generating the six pulsed signals for the inverter system [6]; SVM has a wide range of linear operation, low content of higher harmonics in voltage and current, and low frequency harmonics, these characteristics are obtained mainly because of the interpretation of the inverter, unlike other PWM techniques where the 253 261
S1
S3 A
VDC S2
S5
Z2
B S4
C
Z3
Vβ
U120 (010)
Z1
U60 (110)
S2 S1
N
S3
S6
V* α*
U180 (011) U111 (111)
Figure 1. Topology of three phase inverter.
U000 (000)
S4
U0 (100) Vα
S6 S5
inverter is treated as an N-single phase inverters, in the SVM the inverter is treated as a single unit [5]. The topology of a three phase inverter is shown in Fig. 1. Assuming that in every instant of time the switching devices can accept only one of the two possible states “on” or “off”, the inverter has only eight possible states denote as U0, U60, U120, U180, U240, U300, U000 and U111. Using Clark’s transformation given in equation (1) the states of the inverter can be mapped into the complex plane alpha-beta (α-β), and are shown in Fig. 2. 1 V 2 1 2 V 3 3 0 2
1 Vu 2 V 3 v V 2 w
U240 (001)
Figure 2. Representation of the inverter space vectors in complex plane α-β.
Where T is the half of the modulation period Ts, T1 is the application time of the first adjacent space vector Ux, T2 is the application time of the second adjacent space vector Ux+60 and T0 is the application time of the non-active space vectors. The reference voltage space vector V* lies in one of the six sector S1-6 (see Fig. 2) delimited by the active space vectors, in order to rebuild the reference voltage V* successfully, T1 and T2, must be calculated in every modulation period by the equation (4) and (5) respectively, and T0 can be calculated by equation (6) [9].
(1)
Where Vu, Vv, and Vw, are the three phase balanced voltage components, and Vα, Vβ, are the two phase quadrature voltages alpha and beta respectively. On the other hand, not all of the states of the inverter supplied an “effective voltage” to the load, therefore, only six of the states of the inverter, U0-300, supply an effective voltage and are known as active space vectors, while the space vectors U000 and U111, do not supply any voltage, and are known as non-active space vectors [7]. The main objective of SVM is the approximation of the reference voltage space vector V*, based on the application of the two nearest space vector or adjacent space vectors (Ux, Ux+60), and the application of the two non-active space vectors along a certain time. The two adjacent space vectors supply an active voltage, while the non-active space vectors helps to control the magnitude of the applied voltage by adding a time where no energy is applied, the reference voltage space vector is determined as [8]: V*
T 0(U 000 or U111) T1 T2 UX U X 60 T T T
T 0 T T1 T 2
U300 (101)
T1
T2
n sin * 3
(4)
n 1 sin * 3
(5)
3 Ts V * V DC
3 Ts V * V DC
T0
Ts T1 T 2 2
(6)
Where n is the sector, |V*| is the magnitude of the reference vector V*, α* is the angle of reference vector V*, and VDC is voltage on the DC-link. Trigonometric function requires the use of look up tables and interpolation techniques when used in digital implementation. A look up table usually requires a storage memory and depending on the size of the storage, the table can approach the trigonometric function in a proper way. Otherwise, this can lead to uncertainties. In order to reduce the computational cost of SVM implementation and avoid the use of look up tables for trigonometric functions, SVM algorithm can be implemented through the next steps [8].
(2)
(3)
262 254
2.1. Sector Calculation
2.3. Determination of duty cycles
The sector where the reference voltage V* lies in every modulation period can be determine according to the equation (7) and the following rules.
In order to obtain the switching time of the upper transistor, the duty cycles Taon, Tbon, and Tcon, are calculated based on T1 and T2, equation (12-14) determine the duty cycles necessary for the DSP. Finally, duty cycles are assigned based on the sector using table 2. These values are used to generate PWM outputs of DSP. Fig. 3 shows the pulse pattern generated by sector 1.
1 Vref 1 1 Vref 2 2 Vref 3 1 2
0 3 V 2 V 3 2
(7)
Taon (T T1 T2 ) / 2 T0 / 2
(12)
Tbon Taon T1
(13)
Tcon Tbon T2
(14)
If Vref1 > 0, then a=1, otherwise a = 0. If Vref2 > 0, then b=1, otherwise b = 0. If Vref3 > 0, then c=1, otherwise c = 0. Finally the sector is given by (8).
n a 2b 4c
Table 2. Assignment of duty cycles. S1 S2 S3 S4 S5
(8)
2.2. Determination of T1 and T2
CMPR1 CMPR2 CMPR3
In traditional SVM, T1 and T2 can be obtained with the equations (4-6). However, in order to avoid the problems that trigonometric functions mean for digital implementation, T1 and T2 can be assigned through the use of three reference times denotes as Tx, Ty, Tz and obtained by equation (9). Once the reference times, Tx, Ty, Tz, are determined, T1 and T2 can be assigned by table 1.
Tx T 3 T y V CD Tz
Vref 1 Vref 2 Vref 3
Ty -Tx
-Tz Tx
-Tx Tz
Tcon Tbon Taon
Tcon Taon Tbon
Tbon Tcon Taon
CMPR1
(9)
PWM1
T0/2
T0/2 T1
PWM2
T0/4
U100
U110
T1
T0/4 T2
T2
PWM3
Tx -Ty
Taon Tbon Tcon
CMPR2
U000
Tz Ty
Taon Tcon Tbon
CMPR3
U111
T
Table 1. Assignment of times of T1 and T2. S1 S2 S3 S4 S5 S6 T1 T2
Tbon Taon Tcon
S6
U111
U100
U110
U000
T
Figure 3. Pulse patterns for sector 1.
-Ty -Tz
3. Simulated Results A Matlab/Simulink model (see Fig. 4) has been programmed to prove the proposed SVM methodology. The whole system is conformed of three phase source, Clarke transformation, SVM, three-phase VSI, and a PMSM. SVM algorithm is used to feed the three phase voltages of the PMSM. SVM frequency is set at 5 Hz, and at t>1 frequency is increased to 10Hz in order to prove the performance of the adjustable frequency drive. Fig. 5 show firing pulses for sector 1. Fig. 6 shows line to neutral voltages of the inverter, and Fig. 7 depicts the speed and the stator currents of the PMSM.
A saturation must be applied to T1 and T2 when the condition T1 + T2 > T. Then according to equation (10) and (11) T1 and T2 should be adjusted.
T1 T1
T T1 T2
(10)
T2 T2
T T1 T2
(11)
263 255
Figure 4. Simulink model of the SVM fed a PMSM motor.
Simulation results show an optimal performance of the proposed SVM method, line to line, and line to neutral voltages show no ripple, when SVM is applied to the PMSM the speed of the machine shows a small ripple, but is stable after a short period of time. Phase currents of the machine present an optimal performance with null ripple. Results obtained in the simulation validate the SVM methodology.
4. Experimental Results A simplified diagram of the experimental setup is depicted in Fig. 8. The experimental setup include a TMS320F28335 floating point DSP controller from Texas Instruments. An Intelligent Power Module of SEMIKRON® which consists of six IGBTs has been used as VSI, and a PMSM with an incremental optical encoder (2048 pulses per revolution) has been installed in the shaft motor to measure the position and to estimate the motor speed. The TMS320F28335 has a Low Voltage TTL supply, this means, PWM outputs have a value of 3.3v, due to high level logic voltage of inverter is around 15V, a gate driver has been designed to connect PWM output signal from DSP to the inverter, finally PWM switching frequency is defined at 10 kHz. The main program is used to initialize all variables used. A three phase sine generator has been programmed into the DSP to vary the frequency of the SVM, this variable three phase signal are passed to Clark transformation to obtain alpha and beta voltages, then SVM algorithm is realized. Finally, PWM DSP outputs are applied to the inverter, the whole algorithm has been developed in an ISR, a C language has been used to program the methodology exposed previously. Fig. 10 shows the pulses of SVM for sector 1. The lines to neutral voltages of the inverter are shown in Fig 11. The currents and the speed of the PMSM are shown in Fig. 12. Based on these experimental results, it can be said that the performance of the adjustable frequency
Figure 5. Pulse of SVM for Sector 1.
Figure 6. Line to neutral voltages of the inverter.
Figure 7. Speed and currents of PMSM motor.
264 256
VSI L Vdc N
15 v
Gate Drive
Oscilloscope
DAC
PWM
TMS 320F28335
QEP
FLASH
USB
Laptop computer
TMS320F28335 DSP Controller
PMSM
Figure 8. Experimental Setup.
Figure 12. Speed and currents of PMSM motor. Figure 10. Pulses of SVM for sector 1. electrical drive is according as expected, and it is possible to used the experimental setup in future investigations with the PMSM
5. Conclusions The design, simulation and implementation of SVM algorithm have been presented in this paper. The exposed methodology has been programmed first in Matlab/Simulink. Simulation results show a good performance when testing feeding a PMSM, pulse signals for sector 1 and line to neutral voltages are presented and show no ripple. The speed of the .machine keeps a ripple due to not close loop control However, the currents show no ripple at all. After testing SVM methodology in Matlab/Simulink, the implementation is carried out using a TMS320F28335 DSP controller and a good performance in obtained,
Figure 11. Line to neutral voltages of inverter.
265 257
vector modulation using MATLAB/SIMULINK,” Journal of Theoretical and Applied Information Technology., vol. 30, nº 1, pp. 1-9, 2011.
pulses of SVM and line to neutral voltages show no ripple. As simulation results show, the speed of the machine keeps a ripple, and currents show a small ripple. It was concluded that the exposed SVM algorithm is suitable for easy digital implementation on DSP based system. Furthermore, the SVM algorithm exposed is one useful PWM technique for digital motor control, by closing the speed or current control loop, complex motor control algorithms such as field oriented control or direct torque control are possible to be carried out.
6. References [1]
B. K. Bose, Modern Power Electronics ans AC Drives, Knoxville: Prentice Hall, 2002.
[2]
A. Mehrizi-Sani and S. Filizadeh, “Digital Implementation and Transient Simulation of SpaceVector Modulated Converters,” in Power Engineering Society General Meeting, 2006. IEEE, Quebec, 2006.
[3]
J. Holtz, “Pulsewidth Modulation for Electronic Power Conversion,” Proceedings of the IEEE, vol. 82, nº 8, pp. 1194-1214, August 1994.
[4]
M. P. Kazmierkowski and L. Malesani, “Current Control Techniques for Three-Phase Voltage source PWM Converters: A Survey,” IEEE Transactions on Industry Applications, vol. 45, nº 5, pp. 691-703, October 1998.
[5]
F. A. Ramirez , M. A. Arjona and C. Hernandez, “A Space Vector PWM Voltage-Source Inverter for a Three Phase Induction Motor Based on th dsPIC30F3011,” in Electronics, Robotics and Automotive Mechanics Conference, Cuernavaca, 2009.
[6]
J. Huang, Z. Bo, L. Yang, “DSP-Based Implementation of a Simple Space Vector Pulse Width Modulation Algorithm for Three-Level NPC Inverter,” in International symposium on Microwave, Antenna, Propagation, and EMC Technologies for Wireless Communications, Beijing, China, 2011.
[7]
A. Beig, G. Narayanan, and V. Ranganathan, “Space vector based synchronized PWM algorithm for three level voltage source inverters: principles and application to v/f drives,” in Proc. IEEE 2002 28th Annual Conference of the IECON 02 Industrial Electronics Society, vol. 2, 5–8 Nov. 2002, pp. 1249– 1254.
[8]
Y. S. Kung and P. G. Huang, “High Performance Position Controller for PMSM Drives Based on TMS320F2812 DSP,” in International Conference on Control Applications, Taipei, Taiwan., 2004.
[9]
A. El Janati y N. Zahid, “GA speed and DQ currents control of PMSM with vector control based space
266 258