ISSN ONLINE(2278-8875) PRINT (2320-3765)

All submissions of the EM system will be redirected to Online Manuscript Submission System. Authors are requested to submit articles directly to Online Manuscript Submission System of respective journal.

Field Oriented Control of a Permanent Magnet Synchronous Motor using a DSP

Yadu Kiran1, Dr.P.S.Puttaswamy2
  1. B.E Scholar, Department of Electrical & Electronics Engineering, P.E.S College of Engineering, Mandya, India
  2. Professor, Department of Electrical & Electronics Engineering, P.E.S College of Engineering, Mandya, India
Related article at Pubmed, Scholar Google

Visit for more related articles at International Journal of Advanced Research in Electrical, Electronics and Instrumentation Engineering

Abstract

This paper deals with the vector control of a Permanent Magnet Synchronous motor (PMSM) employing Sinusoidal Pulse Width Modulation. These motors are becoming increasingly popular in industrial applications due to their high-efficiency, fast dynamic response and compact size. Until recently, programming and implementation costs of high-performance control algorithms for these motors have been prohibitive. However, great strides have been made by hardware manufacturers such as Microchip, Freescale, IRetc to facilitate these algorithms in the architecture of their processors. This has brought down the development costs significantly and opened up whole new avenues for PMSM. The paper details a drive system which utilizes a DSP to implement Field Oriented Control (FOC) of the motor. The mathematical model of a PMSM is discussed and a Simulink model of the entire drive system is illustrated. Simulation runs are conducted for different working conditions and compared with the practical results.

Keywords

PMSM, Permanent Magnet Synnhronous Motor, Pulse Width Modulation (PWM), Field Oriented Control (FoC), PI Controller, Simulink, Digital Signal Processor (DSP)

INTRODUCTION

Electric Drives play a pivotal role in every Industry. Each industry has its own specific requirements and operating conditions. The designer of a drive system must choose the motor and control strategy appropriately so that all the requirements are satisfied while at the same time keeping the expenditure as low as possible. Drive systems can either be classified as constant-speed or variable-speed drives. Traditionally, A.C machines which operate on a fixed frequency sinusoidal supply are employed in Constant-speed drives, while D.C machines are preferred for variablespeed drives. However, the presence of commutators and brushes in D.C motors leads to maintenance issues, increased losses due to sparking, higher motor inertia and generally higher costs. A Permanent Magnet Synchnronous Motor (PMSM) can be used to overcome many of the drawbacks of conventional D.C motors due to the innate nature of its construction.
image
In its simplest form, a PMSM consists of a Permanent Magnet which acts as the rotor as opposed to conventional rotor windings. The rotor is surrounded by three equally spaced fixed stator windings as shown in Figure 1. The current flow in each winding produces a magnetic field vector which sums up to form a resultant magnetic field. Torque is produced in the motor by the attraction or repulsion between this net stator magnetic field and the magnetic field produced by the permanent magnet, i.e. rotor. By controlling the current flow in the three windings, a magnetic field of arbitrary direction and magnitude can be produced by the stator and thereby, the torque produced can be controlled.
Conventional Brushed motors are commutated mechanically by means of brushes in contact with the commutator which switch the current when the motor moves. Brushless motors however, lack any form of brushes and commutator. They are instead commutated by using power electronic switching circuits. Due to this, these types of motors are able to offer numerous advantages over conventional brushed motors [2]. They are:
• Brushless construction does not produce any sparking and eliminates the need for brush maintenance.
• Since there are no field windings, there are no field copper losses resulting in improved efficiency.
• They are able to maintain a constant speed throughout the operation.
• A Permanent Magnet Motor is smaller in size than an induction motor of the same capacity.
• Has lower rotor inertia when compared to Induction Motors because of the absence of a rotor cage. This allows for faster response.
The only drawback of these Permanent magnet motors is that the algorithms and electronics required to control the current in the motor are somewhat complex.

COMPARISON OF PMSM AND BLDC MOTORS

There are primarily two main types of Brushless motors, namely- The Brushless DC Motor (BLDC), and the Permanent Magnet Synchronous motor (PMSM). They both share the same basic construction, consisting of permanent magnets on the rotor and windings on the stator. However, one principal difference is that the coils in the stator are evenly wound in a BLDC motor, and in the case of PMSM they are wound in a symmetrical fashion. As a result, the Back-EMF generated in a BLDC motor is trapezoidal in nature as shown in Figure 2, and Sinusoidal in nature in PMSM motors. Consequently, the PMSM motors are more efficient and produce less noise and torque ripple. However, the inherent advantages of a PMSM motors does necessitate more complex control algorithms.
image

OBJECTIVES OF A CONTROL STRATEGY

For any position of the rotor, there is an optimal direction for the net stator field which maximizes the torque produced [1]. If the net stator field and the rotor field are in the same direction then no torque will be produced. This is because the forces produced by the interaction of the fields act in line with the axis of rotation of the rotor and only leads to compression of the motor bearings, rather than rotation. If the stator field is perpendicular to the rotor field, then maximum torque is produced.
Any stator field can be represented as a resultant of two vector components, the orthogonal (quadrature) component which is responsible for producing torque, and the parallel (direct) component which produces undesired heat and compression forces. Hence, an ideal drive should aim to minimize the parallel component while maximizing the quadrature component.
The stator field is produced by current flow in three equally spaced windings that are mechanically located 120o apart. Hence, they each produce a field vector component that is oriented 120o from each other. The mathematical models for Permanent Magnet Motors are in terms of winding currents rather than stator magnetic field since they are easier to measure. Current Space Vectors are used to model the stator fields in terms of winding currents. The current space vector for a given winding has a magnitude proportional to the current flowing through the winding and a direction of the field produced by that winding. This allows us to represent the total stator field as a current space vector that is the vector sum of three current space vector components of the windings. To put this simply, the resultant current space vector is the current that would need to flow in a single fictitious winding in order to produce the same stator field direction and magnitude as the combination of three real currents through real stator windings.
Just like the stator field, the current space vector too can be broken down into quadrature and direct axis components. The orthogonal (quadrature) current component produces a field at right angles to the rotor magnet and therefore results in torque, while the parallel (direct) current component produces a field that is aligned with the rotor magnet and produces no torque. Hence, the aim of a control algorithm is to reduce the direct current components so as to minimize losses. The Current Space Vector is illustrated in Figure 3, where the three windings are named A,B& C.
To produce constant smooth torque, the stator current space vector should ideally be constant in magnitude and should turn with the rotor so as to always be in the quadrature direction, irrespective of rotor angle and speed. To achieve this, various control algorithms have been experimented and developed with varying degrees of success.
image

FIELD ORIENTED CONTROL

The most prevalent control strategies for Brushless motors are Trapezoidal Control, Sinusoidal Control and Field Oriented Control, each with their own share of advantages and drawbacks. Trapezoidal Control is relatively simple and offers smooth operation at high speed but causes torque ripple at low speeds. Sinusoidal Control eliminates torque ripple and provides efficient operation at low speeds but the limitations of a PI controller make it unsuitable for high speed applications. Field Oriented Control (FOC) combines the best aspects of the previous two methods, offering smooth and efficient operation with fast dynamic response at both low and high speeds. Due to this reason, we have opted to implement FOC in our drive system.
The Field Oriented Control algorithm shares lot of common ground with Sinusoidal Control. However, some fundamental differences allow it to achieve better efficiency at high speeds. The main drawback of Sinusoidal Control arises due to the fact that this control scheme tries to control the motor currents whose magnitude and direction varies with time. As the speed and frequency increase, the PI controllers are incapable of handling the operation due to their limited bandwidth. This problem can be overcome by representing and controlling the current space vector in the two axis d-q frame of reference.
This control scheme revolves around Clarke and Park Transformations, and their inverse. By applying these transformations, we can transform the 3Φ currents of the stator into the rotating frame of the rotor.
By using Clarke Transformation, three-phase quantities are translated from the three-phase reference frame to the two-axis orthogonal stationary reference. However, the quantities are still in a stationary reference frame while the rotor reference frame is constantly rotating. Park’s Transformation converts these quantities into an orthogonal reference frame consisting of the direct and quadrature axis. The three reference frames are illustrated in Figure 4.
image
The combined Clarke and Park Transformations can be written in Matrix form as:
image
image
image
As mentioned earlier in section III, the direct axis component produces useless torque while the quadrature axis component produces the torque responsible for rotation. In an ideal case, the current space vector in the d-q frame is fixed in magnitude and direction (quadrature) with respect to the rotor, irrespective of rotation. Since the current space vector in the d-q frame of reference is static, the PI controllers now have to operate on DC quantities rather than sinusoidal signals, thus greatly simplifying the control structure. This isolates the controllers from the time variant winding currents and voltages, therefore eliminating the limitation of controller frequency response and phase shift on motor torque and speed. The block diagram for a standard FOC drive is shown in Figure 5.
By isolating the PI controllers from the time varying currents and voltages, the FOC algorithm is able to offer numerous advantages, such as:
• High Efficiency
• Smooth operation at low and high speeds resulting in a wide range of speed
• Transformation of a complex and coupled AC model into a simple linear system
• Fast dynamic response and good transient and steady state performance
The only limitation which held back the adoption of FOC was that the transformations that needed to be processed requires a lot of computation power and was difficult to implement. These days, microprocessors and DSPs with Vector Control features implemented into the architecture itself are readily available in the market. This has led to a surge in the utilization of Brushless motors thanks to effective control strategies delivering high efficiency and meeting numerous requirements.
There are several techniques that can be used to generate the gating pulses (i.e pulse width modulated pulses) for the inverter circuit in FOC, the most notable ones being Sinusoidal PWM, Space Vector PWM and Third Harmonic Injection PWM. Soft Computing Techniques such as Fuzzy Logic, Genetic Algorithms, Neural Networks etc can also be used to implemented in applications which require the utmost accuracy [8].

OVERVIEW OF DRIVE SYSTEM

With the aim of delivering good dynamic response for a wide range of speed, a drive system was developed which utilizes a 16-bit Digital Signal Processor (DSP) and an IGBT module to implement Field Oriented Control using Sinusoidal PWM (sPWM) [5]. The schematic diagram of the system is as shown in Figure 6.
The various functional units of the system are as follows:
• Permanent Magnet Synchronous Motor (PMSM): The motor chosen for the drive system is a 800W, 2.55 Nm Permanent Magnet Synchronous Motor (PMSM) manufactured by the company Motor Power.
image
• IGBT Power Module: The IGBT module controls the power flow to the motor. The 3Φ input to the module is first rectified into the DC link voltage through a bridge rectifier circuit, which is in turn converted to a variable AC supply by the IGBT bridge which behaves as an inverter. The IGBTs are triggered by PWM pulses which are generated by the DSP after processing the signals received from the speed sensor. Hence, the voltage supply to the machine can be controlled by varying the duty cycle of the triggering pulse. This regulated AC supply acts as the power input to the motor. The IGBT power circuit is illustrated in Figure 7.
image
• 16-Bit Digital Signal Processor (DSP): A digital signal processor (DSP) is a specialized microprocessor whose architecture is specifically designed for digital signal processing. Although most general-purpose microprocessors can execute DSP algorithms, they are not suitable for most applications due to power and space constraints. A specialized DSP can provide a lower-cost solution, with better performance and lower latency.
• In our case, we have opted for a TMS320LF2407A DSP from Texas Instruments. The DSP Core is interfaced with external peripherals and memory. However, the DSP core itself is able to generate up to 12 PWM Pulses without the aid of any external peripherals thanks to the integrated Event Manager (EV) module.
The role of the DSP in this system is to act as a PI controller and generate the gating pulses for the IGBT circuit to ensure that the motor operates as desired. The speed and current values of the motor are fed back to the DSP for the purpose of Closed Loop Control. The DSP is to be programmed such that it performs Clarke and Park transform on the 3Φ quantities and determines the required duty cycle of the PWM signals taken in order to align the current vector in the quadrature direction. The flowchart of the control algorithm is shown in Figure 8.
• Sensors: A Quadrature Encoder Pulse (QEP) sensor feedback is used to deduce speed and position information from the motor. The PMSM motor encoder section generates 2000 pulses per revolution. By monitoring these pulses, the speed and position can be computed. Two motor phase currents are measured using a current sensor. The third phase is the negative sum of the first two. This information is used by the DSP to transform the signals into the d,q rotating reference frame generate the appropriate control signals.
image
• PC: The PC’s function is to provide a simple interface between the user and the system. It forms the basis of interaction between different components of the system. The Reference input (i.e required speed) is inputted via the PC and then transmitted to the DSP. It is also used to monitor the motor’s speed by plotting the actual speed along with reference speed during motor operation. The interface and the interaction between the PC and the DSP were designed using Visual basic.
• 3Φ auto transformer: An auto transformer is used to regulate the 3Φ AC supply input to the IGBT module.

MATHEMETICAL MODEL OF PMSM

The electrical and mechanical equations of the PMSM in the rotor (dq) reference frame are as follows:
image
By rearranging the terms in Equation (1) & (2), and then integrating them, we can obtain the equations for direct axis and quadrature axis currents.
image
The mechanical equations can be written as
image

SIMULINK IMPLEMENTATION

The drive system described is modelled in Simulink and is shown in figure 9.
image
The functions of each of the labelled blocks are as follows:
1) Reference Speed: The required speed is set in rpm using a Constant block.
2) The electrical and mechanical equations of a PMSM requires speed to be represented in the form of radians/sec. The Speed set by the user is in rpm and can be converted to radians/sec by multiplying it with 2×π /16 (i.e gain block)
3) PI Control Block: The Error Signal is obtained by subtracting the Reference Speed with the Actual Speed. For the PI control, Matlab’s default control is used. The values of P and I parameters are obtained as follows:
image
4) Required Ia,b,c Subsystem: The inputs to this subsystem are the required values of Direct Axis (Id), Quadrature Axis (Iq) Current, and the real time value of theta (θ) which is fed back . As mentioned in Section III, the direct axis component of Stator Current produces useless compression forces. Ideally, we would prefer if the direct axis component is 0. Hence, we have set the required value of Id to a constant 0.
This subsystem essentially computes the required values of the three phase currents, by performing inverse Clarke and Park Transformation (as described in Section IV ) on the direct axis and quadrature axis currents. Underneath the mask, are the blocks as shown below:
image
5) Sinusoidal PWM Block: This subsystem generates the six PWM waveforms for the IGBT bridge circuit. The blocks underneath the mask are shown below:
image
The Carrier Signal is basically a triangular waveform generated by a repeating sequence which is configured as follows:
Time Values: [0 1/(4*fs) 3/(4*fs) 1/fs]
Output Values:[0 –V +V 0]
Where fs = Switching frequency of the Inverter;
V= DC Link Voltage the IGBT bridge
image
6) IGBT Bridge Circuit: The three arm, 6-IGBT Inverter Circuit is implemented by using the Universal Bridge provided by SimPowerSystems. The Gating Pulses (PWM) is provided by the Sinusoidal PWM Control Subsystem.
image
7) Load: In this model, the load is modelled as a step signal whose value is in Torque (Nm). This Load Torque is used in the main motor subsystem to compute other quantities.
8) PMSM Subsystem: This subsystem implements the mathematical model of a PMSM as detailed in Section VI. In addition to the Va, Vband Vc waveforms from the inverter model and the load torque, several other parameters are defined in the mask of the subsystem. These parameters are constants which pertain to the specification of the motor. The parameters defined in this way are:
R = Stator Resistance in Ohm (Ω)
Ld = Direct Axis Inductance in Henry (H)
Lh = Quadrature Axis Inductance in Henry (H)
Yaf = Rotor Flux Constant (V/rad/s)
J = Moment of Inertia (Kgm2)
B = Friction Vicious Gain (Nm/rad/sec)
P = Number of Poles
image
The block is further classified into different sub systems as detailed below:
8.a) Vabc to VdqSubsytem: This subsystem transforms the 3Φ voltage quantities from a three-axis stationary frame to a direct-quadrature axis rotating frame by using Clarke and Park Transformation.
8.b) PMSM Parameter Calculations: This subsystem carries out all the calculations to obtain the real time parameters of the motor, such as: Direct Axis Current, Quadrature Axis Current, Electromagnetic Torque, Speed and rotor position (θ). It’s further grouped into three other subsystems as shown in Figure 15.
image
Each subsystem essentially implements the electrical and mechanical equations detailed in Section VI using standard Simulink blocks.
8.c)Idq to IabcSubsytem: The Current values obtained from the PMSM subsystem are in the direct-quadrature axis reference frame. In order to feedback these values, we need to transform it back to the 3Φ reference frame. This subsystem is essentially the same as the one detailed in the Required Ia,b,c Subsystem in Part 4).
9) The speed computed by the PMSM model block is in radians/sec. However, for the sake of user convenience, it is converted to Rotations Per Minute(rpm). The conversion is performed by setting the gain block to 60/ 2*π
10) Scope Blocks are used to observe the various waveforms in real time.

RESULTS

Simulation Runs have been carried out for various load cases. Here, we present two cases, one where the motor is started on load which remains constant throughout the operation, and another where the load applied is increased after some time has elapsed.
Case 1: The reference speed is set to 1500 RPM and a load of 3 Nm is applied from the start. The observed phase current waveforms are shown in Figure 16.
image
The initial current overshoots due to the high starting torque, but soon settles to uniform sinusoidal waveforms within 0.06 seconds. We can also observe that each waveform is displaced 120o from each other.
The Speed, Torque, Direct Axis and Quadrature Axis current waveforms are shown in Figure 17.
image
The speed overshoots to around 1610 rpm at start and oscillates slightly, but soon settles to 1494 rpm and remains stable. Naturally, the starting torque is high but settles to its rated value within 0.13 seconds.
Case 2: The reference speed is set to 1500 rpm and a load torque of 3 Nm is applied at start. The load is then increased to 5 Nm at t=0.1secs. The phase currents are as shown in Figure 18.
image
When the load is increased at t=0.1 secs, the speed drops to a value of 1460 rpm, and hovers between 1460 and 1510 rpm (highlighted by the red circle in the Figure 19) and the phase current amplitude also increases after a small transition period. But within t=0.13 secs, the controller action brings the speed back to the reference speed of 1500 rpm. The torque produced by the motor also increases to counterbalance the load torque applied to it, which causes a corresponding increase in direct axis and quadrature axis currents as well.
image

Practical Results

The practical implementation was tested with various load cases and the results obtained for a few scenarios are presented here:
image
With a set speed of 1500 rpm and a load of 3 Nm, the motor reaches its set speed with only a slight overshoot as shown in Figure 20.
image
When the load is increased to about 5 Nm, the motor undergoes a minor transient period which lasts for about a second, as highlighted by the red circle in Figure 21, after which it settles at a steady state.
image
The system is designed such that the direction of rotation can be changed conveniently in the interface. In Figure 22, the motor direction is reversed. As a result of the inertia due to rotation in the forward direction, the direction cannot change immediately and some time is required for the motor to first come to rest and then reverse the direction.

CONCLUSION

PMSM motors are garnering more and more attention over time and the development of new and efficient control algorithms will further enforce them as a superior and financially viable substitute to traditional Induction motors. The PMSM drive system utilizing Field Oriented Control (FOC) has yielded satisfactory performance in both simulation and practical implementation, with minor variation in Speed and Torque as evident in the results. The DSP’s Instruction Set Architecture (ISA) and its integrated peripherals have simplified the development of software and hardware. The real time processing capability of the DSP allows for a highly reliable drive which is able to operate efficiently under a wide range of speeds, and also offers the potentiality of implementing more advanced or complex control schemes high-performance variable speed drives. Further improvements can be realized by incorporating Space Vector PWM (SVPWM) instead of the conventional Sinusoidal PWM (SPWM) [11]. It is also possible to implement soft computing techniques for the control algorithm although this would require sufficient knowledge to develop the hardware. It is up to the designer to choose the most optimal and viable control strategy to meet all his requirements.

References