You are on page 1of 8

A novel approach to induction motor speed control using

FPGA.
Introduction
In recent years there has been a great demand in Industry for adjustable speed drives. Induction
motor is used in many Industrial applications such as HVAC (heating, Ventilation and airconditioning) Industrial drives (motion control, robotics), Automotive control (electric Vehicles) etc.
However, Induction motors can only run at their rated speed when they are connected to the main
power supply. This is the reason why variable frequency drives are needed to vary the rotor speed
of an induction motor. The most popular algorithm for the control of a three phase Induction motor
is the V/F control approach using a natural pulse width modulation (PWM) technique [10], [13], [15]
to a drive a voltage source Inverter (VSI). The aim of this paper is to show how these techniques
can be easily implemented in Xilinx XC3S 400E FPGA based controller dedicated to power control
application.
Induction Motor with Constant Flux
The constant volts per hertz's principle is today the must common control principle need in
adjustable speed drives of Induction machines. The synchronous speed is directly proportional to
the supply frequency. Hence, the synchronous speed and the motor speed can be controlled below
and above the normal full-load speed by changing the supply frequency. The voltage induced in the
stator E is proportional to the product of the supply frequency and the air-gap flux. If the
stator drop is neglected the motor terminal voltage can be considered proportional to the product
of the frequency and the flux. Any reduction in the supply frequency, without a change in the
terminal voltage, causes an increase in the air-gap flux. [3]
Induction motors are designed to operate at the knee point of themagnetization characteristic to
make full use of the magnetic material.Therefore, the increase in flux will saturate the motor. This
willincrease the magnetizing current, distort the line current and voltage,increase the core loss and
the stator copper loss, and produce ahigh-pitch acoustic noise. While an increase in flux beyond the
ratedvalue is undesirable from the consideration of saturation effects, adecrease in flux is also
avoided to retain the torque capability of themotor. Therefore, the variable frequency control below
the ratedfrequency is generally carried out by reducing the machine phase voltageV along with the
frequency F in such a manner that the flux ismaintained constant. [7], [12]. Above the rated
frequency, the motor isoperated at a constant voltage because of the limitation imposed by thestator
insulation or by supply voltage limitations.
The operation of the machine at a constant flux requires a closed-loop control of flux. When the
operating point changes, the closed-loop control adjusts the motor voltage to maintain a
constant flux. The closed-loop control becomes complicated because the measurement of flux is
always difficult. Hence the flux is controlled indirectly by operating the machine at a constant (V/F)
ratio for most of the frequency range, except at low frequencies. [3] There is a large increase in the
starting and low-speed torques with variable frequency control. The corresponding currents are also
reduced by a large amount. Thus the starting and low-speed performance of variable frequency
drive is far superior compared to that with the fixed frequency operation.
Implementation of FPGA Controller

A Field programmable Gate Array is digital integrated circuits that can be programmed to do any
type of digital function. There are two main advantages of an FPGA over a Microprocessor chip for
controller:
1. An FPGA has the ability to operate faster than a microprocessor chip.
2. The new FPGAs that are on the market will support hardware that is upwards of One million
gates. The FPGA consists of three major configurable elements which is shown in Figure 1:
1. Configurable Logic Blocks (CLBs) arranged in an array that provides the Functional elements and
implements most of the logic in an FPGA.
2. Input-output blocks (IOBs) that provide the interface between the package pins and internal
signal lines.
3. Programmable interconnect resources that provide routing path toconnect inputs and outputs of
CLBs and IOBs onto the appropriatenetwork.
[FIGURE 1 OMITTED]
The real time control system is implemented using FPGA XC3 400E from Xilinx, Inc. The block
diagram of the controller is shown in figure 2.
[FIGURE 2 OMITTED]
The controller contains
1. 16 x 2 LCD display
2. PLL oscillator.
3. Clock source selector.
4. Xilinx SPARTAN 3 FPGA1
5. JTAG connecter for FPGA1
6. XCF02S Flash PROM
7. 26 Pin I/O Termination

8. 16 Nos of LED
9. 34 Pin I/O Termination
10. Level Translators
11. Xilinx SPARTAN 3 FPGA 2
12. 4Nos of ADC (AD 7266)
13. JTAG connecter for FPGA2
14. 4 x 2 micro switches
15. AD 5328 (DAC)
The Xilinx ISE Foundation computer-aided-design tool is used for the design and development of the
FPGA. [1] The FPGA design flow for the system is given as follows: First, the system is implemented
using the Xilinx ISE foundation tools and simulated at the register transfer level to verify the
correctness of the design. By using the Xilinx ISE Foundation tools, the logic synthesis is carried out
to optimize the design, and the placement and routing are carried out automatically to generate the
FPGA implementation file. [4], [5].
Finally, the generated implementation file is downloaded to the FPGA development board for
testing.
Laboratory Implementation
This paper is intensifies three phase Induction motor drive based FPGA controller. Constant flux
technique (V/F) is used for induction motor speed control. For test of proposed FPGA controller
performance, driver is implemented.
Block diagram of implemented circuit
The block diagram of Implemented drive is shown in figure 3.

[FIGURE 3 OMITTED]
The block diagram consists of FPGA Controller, Quadrature Encoder Pulse, A/D Card, Intelligent
Power Module, and 1HP Induction Motor.
Intelligent power module with the specification of 1200V, 25A IGBT as the switching devices is
being used in the experiment. Current and Voltage are sensed by using Hall Effect principle. Speed
of the Induction motor is sensed by Quadrature Encoder pulse (QEP). The output of speed sensed is
feed to frequency to voltage converter circuit. In this module set the frequency to voltage converter
with maximum output of 2.5V at rated motor speed of 1500rpm.
Speed error is calculated with comparison between the set speed and process speed from feedback.
Speed error is given as Input to FPGA XC3S400E Controller. FPGA controller gives gate drive signal
to intelligent power module there by stabilizing the speed of the Induction Motor using constant
flux principle.
Proportional-Integral (PI) Controller
A controller produces an output signal consisting of two terms, one proportional to the actuating
signal and the other proportional to its integral. Such a controller is called a Proportional Integral
Controller (PI) and is shown in Figure. 4
[FIGURE 4 OMITTED]
The control action of PI controller is defined by the following equation (4.1) U(t)=Kc [e(t)+1/Ti
[integral] e(t) dt (4.1)
The proportional control action multiplies the error signal by a constant to improve the overall gain
of the system. If the proportional control is employed, a steady state error is necessary to have a
steady output. If an integral control replaces a proportional control, steady state error can be made
to zero but induction of an integral controller into the closed loop will create instability or at least
poor dynamic behavior. Derivative control improves the dynamics of the system response. It
provides an anticipatory action to reduce the overshoots in the system response. The proportionalintegral and derivative control actions can be combined to give an effective control action.

Performance Specifications
Certain specifications are to be considered for the design of the PI controller with respect to the
closed loop response of the compensated system to the unit step input.
These specifications are chosen as:
1. Overshoot should be less than 5%
2. Settling time should be less than 3 seconds.
First keeping the value(s) of [K.sub.I] = 16.5 as constant, [K.sub.P] is tuned till the over shoot is
reduced.

Next the value(s) of [K.sub.P] = 0.5 is kept constant, [K.sub.I] is tuned till the settling time is
reached.
Evaluation and Experimental Results
In Figure 5 shown a Experimental setup diagram
[FIGURE 5 OMITTED]
In Experimental test, sudden change has exerted in motor process speed. Speed command changes
in two cases: No load and Full load with increasing and decreasing speed command in open loop
and closed loop.
Driver responses are depicted in Figure (6) for No load case in open loop. Figures (6-a) and (6-b)
show driver responses. In suddenly increasing speed, first, motor command speed to 500 rpm,
Reference speed is changed to 700 rpm at t=1 sec, but in decreasing speed, primary motor speed is
700 rpm, which is decreased to 500rpm at t=1 sec, rise time in each case is nearly 0.1 sec, also
there are no overshoot in responses and steady state error is dispensable. In these tests, speed
regulation is almost suitable.
[FIGURE 6a OMITTED]
[FIGURE 6b OMITTED]
[FIGURE 7a OMITTED]
Figure 7 Depicts driver response to sudden speed change in No load and Full load case, in closed
loop condition. Driver responses are shown in figures (7-a), (7- b), (7-c), and (7-d) for increasing and
decreasing reference speed respectively. In these tests, reference speed changing is exerted at t=1
sec, steady state error is almost 5%. In each condition, driver rise time is less than 0.1 sec. Driver
response depicts no overshoot.
[FIGURE 7b OMITTED]
[FIGURE 7c OMITTED]
[FIGURE 7d OMITTED]
Figure (8) shows After Load Change driver response. In steady state, motor speed is 700 rpm. At
t=1 sec, motor load is changed to an amount of 50% of nominal load. In this condition, motor speed
decreases, to approximately 24 rpm during 1.15 sec, as can be seen in figure after this time, motor
speed returns to primary speed again.
[FIGURE 8 OMITTED]
Synthesis Report of the Controller
All the modules are integrated and synthesized using Xilinx project navigator and support tools. [8],
[9] .The synthesized VHDL source code is placed and routed. Finally, a bit file is created. This bit
file is fused into the Xilinx XC 3S 400E-4PQ208 FPGA and interfaced with the input and output
device. Appendix shows the synthesis report of the controller.

VHDL coding for speed control of Induction motor


library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use
IEEE.STD_LOGIC_UNSIGNED.ALL; entity speed is Port (clock : in std_logic; -- 20 mega hz; swt1 :
in std_logic; swt5 : in std_logic; Lcd Control Pins cs : out std_logic; diow : out std_logic; rs : out
std_logic; data : out std_logic_vector(7 downto 0); sen_a : in std_logic; RxD_d : in std_logic; TxD_d :
out std_logic; pulse1 : out std_logic; pulse2 : out std_logic; pulse3 : out std_logic; pulse4 : out
std_logic; pulse5 : out std_logic; pulse6 : out std_logic; oe1 : out std_logic; dir1 : out std_logic; oe6
: out std_logic; dir6 : out std_logic; oe5 : out std_logic; dir5 : out std_logic; oe3 : out std_logic; dir3
: out std_logic); end speed ; architecture struct of speed is component freg_measure is port (clk :
in std_logic; ---20 mhz; cls_rpm : in integer; Rpm_in : in integer; chs_prg : in std_logic_vector(7
downto 0); Frequency : out integer; Freqstep : out integer; amplitude : out integer); end
component; component pulse6_out is port (clock : in std_logic; ---20 mhz; chs_prg : in
std_logic_vector(7 downto 0); freqstep_in : in integer; amplitude_in : in integer; pulse1 : out
std_logic; pulse2 : out std_logic; pulse3 : out std_logic; pulse4 : out std_logic; pulse5 : out
std_logic; pulse6 : out std_logic); end component; component lcd_sp is Port (clock : in std_logic; -20 mega hz; swtch1 : in std_logic; swtch5 : in std_logic; cs : out std_logic; diow : out std_logic; rs :
out std_logic; data : out std_logic_vector(7 downto 0); sp_out : out integer; fdbk_rpm : out
integer; pv_rpm : in integer; chs_prg : in std_logic_vector(7 downto 0)); end component
; component pi_controll is port(clk : in std_logic; chs_prg : in std_logic_vector(7 downto 0); speed :
in integer; fd_bk : in integer; output : out integer); end component; component tx is port (clk : in
std_logic; set_pt : in integer; pv : in integer; Frequency : in integer; recv_data : out
std_logic_vector(7 downto 0); RxD_d : in std_logic; TxD_d : out std_logic); end
component; component QEP is port(clock : in std_logic ; sen_a : in std_logic; rpm : out
integer); end component; signal setspeed,sss, amp, freg,pv_con,Freqstep,frq_hz,pv_dsp : integer :=
0; signal prg : std_logic_vector(7 downto 0); begin pmap1 : lcd_sp port map (clock, swt1,
swt5,cs,diow,rs,data,setspeed,pv_dsp,pv_con,prg); pmap2 : pi_controll port map (clock,prg,
setspeed, pv_con, sss); pmap3 : freg_measure port map
(clock,sss,setspeed,prg,frq_hz, Freqstep,amp); pmap4 : pulse6_out port map (clock,prg,Freqstep,
amp, pulse1, pulse2, pulse3, pulse4, pulse5, pulse6); pmap5 : tx port map
(clock,setspeed,pv_dsp,frq_hz,prg,rxd_d,txd_d); pmap6 :qep port map (clock,sen_a,pv_con); oe1
<= '0'; dir1 <= '1'; oe5 <= '0'; dir5 <= '1'; oe3 <= '0'; dir3 <= '0'; oe6 <= '0'; dir6 <=
'0'; end struct;
Conclusion
This paper demonstrates that speed control of induction motor system can be controlled using FPGA
controller. The control scheme was modeled and designed in VHDL, simulated and synthesized
using Xilinx Foundation package and implemented into Xilinx XC3S400 FPGA. Laboratory test of
performance of an Induction motor with FPGA controller was implemented. Induction motor drive
was implemented with suitable speed regulation.
Appendix
1. HDL Synthesis Report for the speed control of Induction motor
#ROMs :7 17 x 8-bit ROM :4 256 x 32-bit ROM :3 #Multipliers :12 32 x 12-bit multiplier :1 32
x 14-bit multiplier :2 32 x 16-bit multiplier :2 32 x 17-bit multiplier :3 32 x 6-bit multiplier :1 32
x 7-bit multiplier :1 32 x 9-bit multiplier :1 9 x 13-bit multiplier :1 # Adders/Subtractors :76 11bit adder :5 11-bit addsub :2 11-bit subtractor :4 12-bit adder :9 12-bit subtractor :3 17-bit
adder :3 18-bit adder :4 22-bit adder :1 24-bit adder carry out :1 25-bit adder :1 28-bit adder

:1 3-bit adder :1 32-bit adder :17 32-bit subtractor :3 4-bit adder :8 5-bit adder :1 8-bit adder
:8 8-bit adder carry out :2 9-bit subtractor :2 # Counters :9 12-bit up counter :4 32-bit up
counter :5 # Registers :115 1-bit register :40 11-bit register :8 12-bit register :6 18-bit register
:3 22-bit register :1 25-bit register :2 3-bit register :1 32-bit register :23 4-bit register :12 5bit register :1 8-bit register :18 # Comparators :73 11-bitcomparator greatequal :8 11-bit
comparator less :2 12-bit comparator greatequal :3 12-bit comparator greater :8 12-bit
comparator less :10 12-bit comparator lessequal :7 18-bit comparator less :3 22-bit comparator
greatequal :1 32-bit comparator equal :2 32-bit comparator greatequal :2 32-bit comparator
greater :10 32-bit comparator less :5 32-bit comparator lessequal :4 32-bit comparator not equal
:2 5-bit comparator less :4 9-bit comparator greater :2 # Multiplexers :9 32-bit 4-to-1
multiplexer :6 8-bit 4-to-1 multiplexer :2 8-bit 8-to-1 multiplexer :1
2. Device utilization summary for the speed control of induction motor Selected Device:
3s400pq208-4
Number of Slices 2438 Out of 3584 68% Number of Slice Flip Flops 1216 Out of 7168 16% Number
of 4 input LUTs 4643 Out of 7168 64% Number of Bonded IOBs 31 Out of 141 21% Number of
MULTI8X18s 16 Out of 16 100% Number of GCLKs 2 Out of 8 25%
References
[1] Muthuramalingam. A, Himavathi. S, (2007), 'Performance Evaluation of a Neural Network based
General propose space vector modulator, International Journal of Electrical, computer and
systems Engineering, vol No.1, pp. 19-26.
[2] Tianchai Suksri ans Satean Tunyasrirut (2007), 'T- DOF PI Controller Design for a speed control
of Induction motor', Proceedings of world Academy of Science, Engineering and
Technology Volume No.26, pp 421-425.
[3] Bimal. K. Bose (2003), 'Modern Power Electronics and Ac Drives', Pearson Education
pvt.LTD.India.
[4] Jihan Zhu and peta Sutton, (2003), 'FPGA implementations of neural networks--a survey of a
decade of progress.
[5] Cirstea.M, Dinu.A, (2001), 'A New Neural Networks Approach to Induction motor speed control,
IEEE Power Electronics specialists conference, PP-784-787.
[6] Cirstea. M, Aounis. A, (2000) 'Induction motor drive system modeled in VHDL', "Proceedings of
international users Forum Fall workshop 2000" PP 113-117.
[7] Alfredo Munoz--Garcia, Thomas .A. Lipo, Donald. W. Novotony (1998), 'A New Induction motor
V/f control method capable of High performance Regulation at low speeds', IEEE Transaction on
Industry Applications, Vol.34, No.4, pp 813-821.
[8] Perry. D (1998), 'VHDL', Mc Graw Hill 1998
[9] Navabi. Z, (1998), 'VHDL Analysis And modeling of digital systems', MC Graw Hill
[10] Kastuori. T, Yasumasa .O and I. Hisaichi (1998), 'PWM Technique for power MOSFET Inverter',
IEEE Transaction on power Electronics Vol.3, PP 328-334

[11] Tzou. T,Hsu. H (1997), 'FPGA realization of space vector PWM control IC for three phase pwm
Inverter', IEEE Transaction on power Electronics, Vol.12, pp 953-963.
[12] Gupta. A, (1997) 'Simulation of Variable speed squirrel case Induction motor constant
Volts/Hertz operation, IEEE International on Electric Machines and Drives conference Record, Pp
TB3/8:1-TB3 18.3
[13] Bimal .k. Bose (1996),'Power Electronics and variable frequency Drives 'New york,IEEE press.
[14] Brod D.M and D.W. Novotry (1985), 'current control of VSI-PWM Inverter' IEEE Transactions
on Industry Application, May/June PP 562-570.
[15] Joachim Holtz, (1992), 'Pulse width modulation A survey, IEEE Transaction on Industrial
Electronics, Vol. 39m, No:5 PP 410-420.
[16] Mir. S. A and Malik. E. Elbuluk, (1994), 'Fuzzy controller for Inverter fed Induction Machines,
IEEE Transactions on Industry Applications, Vol.30. PP. 78-84.
[17] Morimoto. M, Sumito. K, Sato. S (1991), 'High efficiency unity power factor VVVF drive system
of an induction motor', IEEE transaction on power Electronics, Vol.6, PP. 498-503.
[18] Leonhand.W (1990), 'Control of Electrical Drives', Springer Verlag.
R. Arulmozhiyal * and K. Basakaran ($)
* Faculty, Sona College of Technology, Salem-636005, TamilNadu, India.
($) Senior Lecturer, Government college of Technology, Coimbatore-13, TamilNadu, India. E-mail:
arulmozhiyal_08@yahoo.com, arulmozhiyal@gmail.com

You might also like