Memorized approach for implementation of space vector pulse width modulation

Space Vector Pulse Width Modulation, SV-PWM, is an efficient technique for dc to ac voltage conversion through an inverter of power electronics devices. This paper presents a proposed memorized approach for SV-PWM implementation. The work bases on storing six symmetric pattern formats of space vector in a memory structure. Then, sequential fetching of the stored data provides basic optimum firing triggers TRA, TRB and TRC for driving the inverter switching elements. Main contribution of the paper is controlling the inverter output frequency online through adjusting the fetching period. Moreover, the presented approach characterizes by simplicity, cost effective and activity in achieving the space vector technique. Validity of the proposed method was practically examined through a hardware built workbench, which based on the microcontroller ATMEGA 2560. Meanwhile, the optimum firing sequences were exported to a MATLAB algorithm to check the harmonics, which are expected to accompany the inverter output ac power.


Pl e a s e n o t e:
C h a n g e s m a d e a s a r e s ul t of p u blis hi n g p r o c e s s e s s u c h a s c o py-e di ti n g, fo r m a t ti n g a n d p a g e n u m b e r s m a y n o t b e r efl e c t e d in t his ve r sio n.Fo r t h e d efi nitiv e ve r sio n of t hi s p u blic a tio n, pl e a s e r ef e r t o t h e p u blis h e d s o u r c e.You a r e a d vis e d t o c o n s ul t t h e p u blis h e r's v e r sio n if yo u wi s h t o cit e t hi s p a p er.
Thi s v e r sio n is b ei n g m a d e a v ail a bl e in a c c o r d a n c e wit h p u blis h e r p olici e s. S e e h t t p://o r c a .cf. a c. u k/ p olici e s. h t ml fo r u s a g e p olici e s.Co py ri g h t a n d m o r al ri g h t s fo r p u blic a tio n s m a d e a v ail a bl e in ORCA a r e r e t ai n e d by t h e c o py ri g h t h ol d e r s .

Introduction
In variable speed motor driving applications, the SV-PWM has always driving the targeted load via a power electronic inverter, which is conventionally constructed of three arms, each arm comprises of two switching elements, upper and lower IGBTs or MOSFETs.This technique is an efficient approach in converting the direct current, dc, into an equivalent alternating one, ac, with adjustable output driving frequency.In inverting process, two main features which make the SV-PWM preferable, in comparison with the relative approaches, such as sine wave and third harmonic PWM.These features are the minimum level of distortion in output current and the higher rate of voltage inverting [1]- [3].Therefore, it is widely employed in variable speed drives for ac motors [4], [5].Meanwhile, the PWM itself has found a wide range of practical applications, especially in dc motor variable speed running [6].The SV technique achieves the inverting process through one of few choices of switching modes.The mode determines a sequence for firing the inverter switching elements.Reference [7] defined three SV switching modes regarding them as the most effective.They are symmetric, asymmetric and the adjacent cycles zero vectors.In addition, the reference specified three criterions (simplicity, total harmonic distortion THD and the power losses in switching process) which make differences among the switching modes.Any of those modes generates the switching states to fire the upper switching elements (A, B and C) in the inverter structure through three triggering pulses (TR A , TR B and TR C ), whereas the lower switching elements are in opposite states.In binary form, the triggering pulses produce eight, 2 3 , binary switching sequences, 000 through 111.The base 2 and the power 3 are coming from three output phases and two control actions, ON and OFF, for each phase [2], [3]. Figure 1 demonstrates the basic structure of an inverter of three arms and six switching elements, IGBTs, and the corresponding triggering pulses.
Figure 1.Basic structure of an inverter of three arms and six switching elements Therefore, the SV-PWM includes eight possible switching configurations [2].Six of them are active by which a 3ph load is energised by a driving power, while the rest two are non-active where the load phases are in null condition.Accordingly, the complete space vector 360 o round is divided into six active sectors each of width of 60 degrees and lies between two active vectors [3], [8]. Figure 2 illustrates the sector divisions and the switching sequences for each of the active vectors, S 1 through S 6 , with respect to the symmetric mode.It is also shown the cascading conducting process in each sector, for the upper and lower sides of a three arms inverter.
Figure 2. Sector divisions and the switching sequences for symmetric mode Consequently, there is a certain switching sequence corresponding to each sector.For instant, the switching sequence in sector 1, for symmetric mode, starts by 000 which means all the inverter upper switching elements, A, B and C, are in OFF condition.Then, the sequence 100, which means only the A switching element is fired.Next, 110, 111, 110.100 and 000.Combining all these switching conditions in one frame forms what called the switching pattern of the sector. Figure 3 shows the switching pattern of Sector 1, corresponding to symmetric mode of operation, and load connections during the switching sequence progress.So, six switching patterns summarise the SV full operation in the six sectors.These patterns are given in Figure 4 for symmetric mode.The figure shows, on the vertical and horizontal axes, when and how long each of inverter switching elements, A, B and C, is fired.In this figure, T S is the sampling time, T 1 and T 2 are the timing of active vector and T o is the timing of non-active vector.These timing periods will be explored in more details in next sections.
To facilitate the calculations and avoid any potential computational process, the literature witnessed many efforts to tabulate the inverting process.Reference [9] implemented the torque control strategy by a fourdimension switching table to realize an inverter output to be only one of six-fixed active vectors.Reference [10] proposed a lookup table to speed up the computing of the finite set-model predictive control, which is considered as an efficient alterative approach for machines driving.Reference [11] argued that utilizing switching.This paper presents a novel method by which the space vector switching patterns are decoded into digital words data and stored in a memory structure according to a predetermined memory addressing routine.Storing process also includes the timing T 1 , T 2 and T o of each sequence.The data is then fetched corresponding to the same addressing manner to maintain the correct direction of SV decoding.Fetched data are used as triggering pulses to fire the switching elements of an inverter configuration.The paper is organized into four sections.After the abstract, section one explores an introduction for the work theory and the previous relative works.Second section shows the adopted methodology in implementing the paper concept.Results and conclusions are discussed in sections three and four respectively.

Methodology
The concept of SV-PWM is based on rotating a space vector in a circle locus in the αβ-reference frame.This thought represents the key of this paper.Accordingly, the inverting process, in this work, started by continuously rotating an output vector and ended by producing the triggering signals (TR A , TR B , TR C and their opposite signals) at the inverter input.These have the features of 3-phase sinusoidal ac voltages.Thereby, the applied inverting process produced, at the inverter output, three ac line voltages, , whose values are related to triggering pulses (TR A , TR B and TR C ).These voltages are given by the following matrix [2].table as a switching process to drive the permanent magnet machines produces a considerable amount of harmful output current harmonics.In addition, it proposed a certain switching sequence to overcome the harmonics drawback.
The rotating space vector has a length which is determined by the following equation [2], [12].
.where which indicates the vector number and m is the modulation index.Projecting the space vector on the corresponding adjacent two active vectors, S x and S x+60 , gives the values of firing times T 1 and T 2 normalized to the total sampling time T S , i.e., T 1 /T S and T 2 /T S .This normalization is often called the voltage-second representation.Figure 5 illustrates this meaning when the space vector is in sector 1.Consequently, time of no power flow, non-active vectors, is simply determined by: The pulse width modulation, PWM, is formatted through the continuous variation of and with the rotating SV position.The PWM is of sinusoidal form because the SV position is sinusoidally changed with its rotating.Figure 6 illustrates the basic overview block diagram of this work.Through a storing cycle, the memory was firstly loaded by the SV switching patterns together with the switching timing.Then, the stored data was continuously fetched to form the inverter firing triggers.Figure 6.Basic concept for the work implementation A microcontroller type "ATMEGA2560" was utilized to cover part of the paper theory.It has 4kbyte EEPROM, 6 analog inputs and multi pins digital output.The software of the employed microcontroller supports the work methodology.A three-phase sinusoidal voltage, of phase voltages V a , V b and V c, is assumed to be obtained at the inverter output.These voltages have equivalent values at the stationary reference frame denoted by V α and V β .In this work, the space vector rotated through one thousand different positions to produce a reference vector, V ref , at each position.So the angle between any two adjacent reference vectors, α, is 0.36 degree, 360/1000.At each position: Then, equations ( 3), ( 4) and ( 5) were used to determine the corresponding firing times T 1 , T 2 and T o .Sector positioning of the rotating SV within the various sectors was determined by: A microcontroller software iteration of index varies between 0 to 999 and creates 1000 repetitive loops.The microcontroller employs the index value as an address of the memory cells.During the loop running and according to equation ( 7), the microcontroller software continuously observes the rotating vector position and generates the adequate switching sequence.If the space vector position, for instant, is in sector 1, then the microcontroller software will create the switching sequence corresponding to pattern of sector 1, as shown in Figure 4. Consequently, the pattern is interpreted by a sequence of digital words 000, 100, 110, 111, 110, 100 and 000.These words are combined with the corresponding switching timing, calculated by equations ( 3), ( 4) and ( 5), and stored in a specified address.
To facilitate performing arithmetic operations on the microcontroller, lookup tables for values of the constants a, b, c and d were created through the microcontroller software.These lookup tables are given by table 1  In this proposed work, two approaches were adopted to change the inverter output current frequency, f o .First one was the conventional method which is achieved by changing the frequency of sampling signal.This approach was achieved, in this work, using the storing cycle.Second approach is the proposed method, which was done, for constant value of sampling frequency, in the fetch cycle through controlling the total time of fetch cycle.
By second approach, the inverter output frequency is determined by the time required for one complete fetch cycle, T fetch .The fetch time is calculated by summation of two timing parameters.First parameter represents the time required by the microcontroller to execute various instructions within the fetch cycle.This parameter, T exe , is directly related to frequency of crystal oscillator of the microcontroller and number of instructions within the fetch cycle.
Second parameter is an external time, T ext , which can be fed via an input port of the microcontroller.Actually, an external adjustable dc voltage is supplied to the microcontroller via its input port, which works as an analogue to digit converter, to translate the supplied voltage into a number whose range is 0 to 1023 [15].The microcontroller employed this number to insert a delay time in the fetch cycle which is directly proportional to value of that number.Thereby, the total fetch time was determines as follow: Correspondingly, the inverter output frequency is given by:

Results
A work bench was built at Wolfson Centre for Magnetics, Cardiff School of Engineering, UK to test the validity of the proposed method.The switching sequences, which were generated by the undertaken microcontroller depending on the proposed approach, were copied in the "MATLAB" workspace to check the harmonics that combined the inverter output.Meanwhile, those were also exported to the Microsoft excel for analyzing and plotting.A real time monitoring for the load test performance of the proposed method was also done.The load tests were achieved utilizing 48V and 230V permanent magnet synchronous motors as loads.Accordingly, the following results were obtained for symmetric mode switching patterns.Figure 9 shows one cycle for the inverter output phase voltage V an and the line voltage V ab when the dc link voltage was 200V and the sampling frequency was 10kHz.The triggering pulses TR A , TR B and TR C generated by the microcontroller through adopting the proposed approach are shown in figure 10.In addition, the corresponding line voltage, V ab , on the inverter outputs is also given.This is for V dc =150V and sampling frequency f S =3 kHz.Activity of the proposed approach under load condition was also tested.Figure 11 shows the output currents when the inverter was connected to a load, 48V permanent magnet synchronous motor.The currents were taken through three current transformers having turn ratios of 40/5.The test was achieved for dc link voltage V dc =48V and sampling frequency f S =3 kHz.

Conclusion
The results has confirmed the validity of the proposed approach in successfully performing the SV theory.It can be concluded that this work is a simple and cost effective for implementing the space vector pulse width modulation SV-PWM.Although a considerable amount of output current harmonics accompany the fundamental frequencies, they can be separated by a high frequency band.This band permits to low pass filtering those harmonics simply.It is also found that the presented approach is flexible to be applied for any switching sequence mode and not only for the symmetric mode which was proved by this work.

Figure 3 .
Figure 3. Symmetric mode switching pattern and load connections in Sector 1

Figure 4 .
Figure 4. Symmetric mode switching patterns for all sectors

Figures 7 and 8
Figures 7 and 8 present flow charts to summarise the storing and fetching processes respectively.

Figure 9 .
Figure 9. Inverter output phase and line voltages generated by the proposed approach

Figure 10 .
Figure 10.Generated triggering pulses and the corresponding inverter line voltage

Figure 11 .
Figure 11.Inverter output currents under load condition

Figure 12 .
Figure 12.Harmonic analysis for the switching sequence

Table 1 .
. Constant values in Equations 1 and 2 via sector no