Download as pdf or txt
Download as pdf or txt
You are on page 1of 5

Machine Translated by Google

IEEE PEDS 2015, Sydney, Australia


9–12 June 2015

FPGA Based Controller Drive of BLDC Motor


Using Digital PWM Technique
A. Tashakori, M. Hassanudeen and M. Ektesabi
Swinburne University of Technology, Melbourne, Australia
atashakoriabkenar@swin.edu.au

Abstract—Permanent magnet Brushless DC (BLDC) mo tors Synchronous AC Motors (PMSMs) and the other type with
have been extensively used in industrial, automotive and trapezoidal-wave back-EMF that are called Permanent Magnet
aerospace applications in the last decade. This paper presents a
Brushless DC (BLDC) Motors. BLDC motors produce larger
Field Programmable Gate Array (FPGA) based control drive for
BLDC motors using digital pulse width modulation (PWM) speed torque compared to PMSMs [7]; however they have more torque
controller. Presented BLDC motor commutation technique is ripples. Schematic diagram of a three phase BLDC motor drive
based on three inbuilt Hall Effect sensors. A novel algorithm is is shown in Fig. first.
proposed to implement a closed loop PWM speed controller
using FPGA for BLDC motors. Motor speed is controlled through
a predefined value or manually by the user. The proposed
method is modeled by Xilinx Integrated Software Environment (ISE)
Simulator and MATLAB/Simulink. Performance of the proposed
FPGA based control drive of BLDC motor is also evaluated
through experimental test setup. Simulation results and effec
tiveness of the proposed method are proved and validated by
experimental data.
I. INTRODUCTION
In specific applications such as Electric Vehicles (EVs),
electric motor has an essential effect on the overall per form of
the system. In such applications, efficient and reliable control
and operation of the overall systems are mainly dependent on
the selected motor type and its control drive.
Correct selection of electric motor drive is highly dependent on
application requirements. BLDC motor is a novel conventional
DC motor that has electronic commutation. They have been
widely used in industrial applications since 1970's. BLDC motors
are the main choice for in-wheel traction applications due to
their high efficiency and precise controllability [1].
Motor comparison studies also recommend BLDC motor as the Fig. 1. Schematic diagram of a three phase BLDC motor drive
best choice for high performance passenger EVs [2].
High efficiency, high speed ranges and high power/torque to Electronic commutation of the BLDC motor is based on
size ratio are main advantages of BLDC motors compared to position of permanent magnet rotor. Rotor position is either
other electric motor types [3]. BLDC motors need less main detected through inbuilt sensors or through sensorless algo
tenance due to the elimination of the mechanical commutators rithms by back-EMF zero crossing detection (ZCD). Position
and brushes. BLDC motors have faster dynamic response due detection sensors provide signals based on rotor position. Hall
to their low inertia (permanent magnet) rotor compared to Effect sensors are generally used for low resolution application
induction motors [4]. Low rotor losses and low acoustic noise and optical encoders are generally used for high resolution
are also other benefits of permanent magnet BLDC motors [5]. applications. Back-EMF sensing, back-EMF integration, free
BLDC motors are becoming increasingly popular in industrial, wheeling diode conduction of unexcited phase, flux link age
automotive and robotics application nowadays due to their based, third-harmonic analysis of back-EMF are various BLDC
immediate advantages. Therefore a developing low cost and motor sensorless control techniques [8]. Reduction of motor
efficient BLDC motor control drive by including new techniques, maintenance, extra wiring, temperature sensitivity, cost and
tools and circuits is in high demand [6]. complexity of motor construction are main advantages of
There are two types of permanent magnet synchronous sensorless control algorithms [9]. However control algorithms
motors based on their back Electro-Motive Force (EMF) wave complexity, starting and low speed commutation difficulties are
forms. Permanent magnet synchronous motors with sinusoidal main drawbacks of sensorless BLDC motor drives [10].
wave back-EMF that are well known as Permanent Magnet Therefore sensorless drives need a starting algorithm to speed

978-1-4799-4402-6/15/$31.00 c 2015 IEEE


658
Machine Translated by Google

up the BLDC motor to the point that is able to sense back faster than DSPs due to the inherent parallel architectures.
EMF [11]. The FPGAs offer fast time to market, low design/manufacturing
In this paper, BLDC motor commutation is based on three cost and risk, extremely high processing performance and pro
inbuilt Hall Effect sensors. Hall Effect sensors are typically grammability [5]. Another major advantage of using FPGAs is
mounted at the non-rotating end of BLDC motors in 120 the possibility to validate the designed control algorithm by
electrical degree phase difference. Each sensor signal is high using simulation tools before hardware implementation.
for 180 electrical degrees according to rotor position during Spartan-3E and the Basys 2 are FPGA boards are used to
one electrical rotation of the BLDC motor [10]. Commutation implement the BLDC motor control in this study.
points of the BLDC motor are determined by decoding the Hall This paper presents a simple FPGA based control drive of
Effect signals. The six-step commutation technique is used to the BLDC motor using digital PWM technique. Details of the
switch the three phase Variable Source Inverter (VSI) drive of proposed FPGA based speed controller is discussed in the
BLDC motor in six switching sequences. In this technique only next section. Simulation and experimental results of the
two BLDC motor phases are energized at each switching developed FPGA based BLDC motor drive is presented and
sequence while the remaining phase is inactive. Reversing of discussed later on the following respectively. This study also
the switching sequences changes the motor rotation direction. provides a platform for future development and implementation
Speed of the motor is directly proportional to the width of the of high performance and efficient FPGA based BLDC motor
position sensor signals. Ideal line voltages, back-EMF voltages, drives for EV applications.
commutation signals, phase currents and six-step switching
II. THE PROPOSED FPGA BASED PWM CONTROLLER
pattern of the three phase BLDC motor are shown in Fig. 2.
Hysteresis current control and PWM switching techniques
are the most widely used speed controllers in BLDC motor
drives [4]. In BLDC motors, speed is directly proportional to
applied line voltages. Variable DC link inverters and PWM
switching techniques are main methods to adjust voltage in
VSI drives. In the first method, VSI DC bus voltage is adjusted
to achieve desired speed where in PWM technique a duty
cycle controlled high frequency signal is logically added to
switching signals of the inverter to control the VSI average
output voltage. PWM signal can be applied to either upper
side switches, or lower side switches or all six switches of VSI
[3]. PWM signal is applied to upper side switches of the inverter
in the proposed method in this paper.
PWM signal can be generated digitally using processors or
through an analogue electronic circuit using comparators. High
noise susceptibility, temperature and voltage level sensitivity
of electronic circuit are main drawbacks of analogue methods;
however on the other hand flexibility, less environmental noise
susceptibility and ease of generation through programming by
microcontrollers or FPGAs are main advantages of digital
methods [13]. The counter-based, the delay-line and hybrid
delay-line/counter architectures are main PWM generation
topologies used in digital controllers [14]. The counter based
PWM generator topology is used in this paper due to its
Fig. 2. Ideal three phase BLDC motor signals and switching pattern simplicity and ease of implementation. In this method, the
PWM signal is set high as the counter is triggered by a clock
Digital Signal Processors (DSPs) were used to drive BLDC signal and is set low after number of predefined clock cycles.
motors. Modern control systems employ mi crocontrollers that Number of clock cycles is directly related to the required duty
are basically an integration of DSP and powerful peripherals cycle of the signal . Although counter-based method is simple
in a complete package [12]. Microcon trollers are computing and compatible for FPGA based systems, but it needs a high
systems that can perform loops, timings, conditionings and clock frequency that increases power dissipation [14].
complex math calculations. On the other hand FPGAs are A FPGA based PWM technique is reported by Sathyan et
integrated circuits designed to be programmed using a al. two effective duty cycle values have been chosen to control
hardware description language (HDL). In comparison to the speed of the BLDC motor [4]. Duty cycle of the PWM
microcontrollers, FPGAs are generally used for simpler signal is switched between high and low predefined values
operations however they have higher processing speed. based on speed error to adjust the BLDC motor speed.
FPGAs also perform complex computations and calculations In this paper, speed of the motor is sensed through Hall Effect

659
Machine Translated by Google

signals and the proposed controller increases or said the


duty cycle of the PWM signal based on the speed error. Duty
cycle of the PWM signal is changed based on a predefined
value. One percent change of duty cycle value is chosen for
increase/decrease steps in this study. Stability of the BLDC
motor PWM speed controllers are analyzed and an ideal PWM
signal duty cycle is introduced according to the reference
speed and load torque that defines stable performance of the
BLDC motor [10]. The proposed FPGA based PWM controller
in this paper is able to determine the duty cycle value which
is near to the introduced one in [10], instead of changing the
duty cycle value between two possible states. Therefore
the proposed technique increases the efficiency of the BLDC
motor control drive. Fig. 3. Simulated BLDC motor line voltage and Hall Effect signal

III. SIMULATION RESULTS

The proposed BLDC motor controller, developed coding by external switches on the FPGA board. Xilinx ISE is used
and algorithms for the counter based PWM generation through to generate control algorithm VHDL codes for Spartan 3E
the FPGA boards are discussed and presented in this section. and Basys 2 FPGA boards. Xilinx ISE software allows for
The proposed BLDC motor PWM control algorithm is synthesis, simulation and implementation of the code generator
modeled in Simulink using Simscape library. Data of the ated. Input and output signals of the developed BLDC motor
controller are shown in Table II.
experimental BLDC motor given in Table I is used in the motor
drive model. BLDC motor commutation is done according to TABLE II
the inbuilt Hall Effect position sensors signals. A three phase I/O SIGNALS OF THE DEVELOPED BLDC MOTOR CONTROLLER
voltage source inverter is modeled using Metal Oxide Semi
conductor Field Effect Transistor (MOSFET) switches based Signals I/O description

on experimental inverter drive. Six-step switching algorithm Clock Input It is derived from the 50MHz oscillator

is used to drive the BLDC motor VSI drive (refer to Fig. available in the Spartan 3E board

2). Matlab codes have been written and embedded into the Start Input It activates the motor controller (user control)

model to generate a duty cycle controlled PWM signal, detect Reset Input It stops the motor controller (user control)

motor speed from position sensors signals and implement the Position Inputs Three inbuilt Hall Effect sensors are used

proposed control algorithm. PWM signal is added to the upper sensors to obtain permanent magnet rotor position
side switches of the inverter. Speed up Input It increases the motor speed (user control)
Speed down Input It said the motor speed (user control)
TABLE I
Direction Input It changes direction of rotation (user control)
SPECIFICATION OF EXPERIMENTAL BLDC MOTOR
Switching Outputs Six PWM switching signals to drive the

description Value Unit signals BLDC motor inverter

DC voltage 24 DRAW

Rated speed 3000 RPM


Every count is based on the system clock. The counter
0.28 Nm
Rated Torque system is used to step down the 50MHz FPGA board clock to
Phase resistance 2015 ohm
5 kHz for PWM switching frequency. Therefore, the counter
Phase inductance 4.60 mH has been set to count 10000 times at each period. After each
Intertia 4.43e-6 kg.m2 period, the program checks the status of 'speed up' or 'speed
Torque constant 0.069 Nm/A down' input signals/switches. If they have been activated, the
Poles 8 -
program first checks if there is a possibility to increase or
decrease PWM duty cycle and implements the appropriate
BLDC motor model is run at full speed (3000 RPM) under action. The counter system is used in order to generate duty
no load Condition. Line voltage and corresponding Hall Effect cycle controlled PWM signal. The program sets PWM signal
signal of the phase A are shown in Fig. 3. As can be seen to logic one while the counter is counting up to the duty cycle
the presented simulation results are exactly as the same as the set value. The remaining time controller sets PWM signal to
presented ideal signals in Fig. 2. logic zero. Therefore the desired duty cycle is achieved by
Correct commutation of the BLDC motor, implemented controlling the 'on time' of the PWM signal at each period.
PWM speed control technique were main design objectives Correct performance of the developed algorithm to generate
of the FPGA based BLDC motor drive. The controller is the desired duty cycle controlled PWM signal is the key
also designed to be able to start, stop (reset), change rotating process in speed control of the BLDC motor.
direction, increased and decrease of the motor speed Correct commutation signals of the BLDC motor is derived

660
Machine Translated by Google

Fig. 4. Simulation results in the Xilinx software

from three inbuilt Hall Effect sensors signals that are inputs 3E and Basys 2 are programmed and used as the experimental
to the controller. A Finite State Machine (FSM) program is BLDC motor control drive. FPGA based experimental test rig
running in an infinite loop to commutate BLDC motor. of the BLDC motor is shown in Fig. 5.
Six states are defined based on input Hall Effect signals and
according to the six-step inverter switching topology.
The program detects the current rotor position and checks
the direction input signal at each state. Thus the program
chooses the next state to generate correct commutation
signals according to the current state and direction of rotation
input signal. The generated duty cycle controlled PWM signal
is logically added to the switching signals of the VSI upper
side switches.
The proposed control algorithm is coded using Xilinx ISE
and the simulation results are shown in Fig. 4. Commutation
signals are generated in a sequence for one electrical rotation
of the BLDC motor. As can be seen, six step inverter switch
ing topology is used to commutate the BLDC motor. The
generated PWM signal is only added to upper side switches
of the VSI. As shown in simulation results, inverter switches Fig. 5. BLDC motor experimental test rig
on the same leg are not activated at the same time to avoid
short circuit of the inverter DC link. Simulation results also The FPGA board gets the Hall Effect signals directly from
show that duty cycle of the generated PWM signal is correctly inbuilt sensors of the BLDC motor. Commutation of the motor
changing according to speed up and speed down input signals. mainly depends on correct reading of Hall Effect signals. In
Speed up and speed down signals can be controlled by user order to check and confirm not existing of any invalid Hall
to change the speed, however they vary by the program in effect sensors signals as well as commutation sequences
the closed loop control scheme. Simulation results prove states in advance and during the motor operation, LEDs on
correct performance of the proposed FPGA based control the FPGA board and Microchip LV development board are
drive of BLDC motor using digital PWM technique. used for visual observation. The FPGA controller produces
PWM and commutation signals at a voltage level of 3.3 volts.
IV. EXPERIMENTAL RESULT
Thus switching signals is pulled up to 5 volts that is required
The proposed control system is implemented to control a by the inverter driver. The PWM switching frequency is 5 kHz.
low voltage experimental BLDC motor. Experimental BLDC The experimental BLDC motor drive is tested under no
motor specifications are given in Table I. Inverter drive of the load condition at full speed (3300 RPM) and 1000 RPM to
Microchip Low Voltage (LV) development board consists of investigate performance of the proposed FPGA based control
three half-bridge gate drivers using MOSFETs are utilized to drive. Experimental BLDC motor line voltage and Hall Effect
drive of the experimental BLDC motor. FPGA boards Spartan signals at different speed operations are shown in Fig. 6. As

661
Machine Translated by Google

can be seen in Fig. 6-a, PWM duty cycle value is 100% to BLDC motor drive is more efficient and has more smooth
apply the maximum voltage to the BLDC motor for full speed speed response. The proposed control algorithm is modeled
operation. Good agreements between the experimental results in ISE Simulator and Simulink. Effectiveness of the proposed
shown in Fig. 6-a and simulation results in Fig. 3 validate FPGA based BLDC motor drive is evaluated through exper
correct performance of the proposed control drive and the imental data. Good agreements between experimental data
BLDC motor simulation model. High frequency PWM switching and simulation results prove correct performance of the
of the BLDC motor is shown in Fig. 6-b for BLDC motor proposed FPGA based drive of the BLDC motor using digital
operation at 1000 RPM reference speed. Experimental results PWM speed controller.
prove correct performance of the proposed FPGA based
ACKNOWLEDGMENT
control drive of BLDC motor using digital PWM technique
speed controller. The authors would like to thank Swinburne University of
Technology, Malaysia Automotive Institute and the Common
wealth of Australia through the Automotive Australia 2020
CRC for providing funding for this research.
REFERENCES

[1] B. Lee and M. Ehsani, “Advanced bldc motor drive for low cost and high
performance propulsion system in electric and hybrid vehicle,” in IEEE
International Electric Machines and Drives Conference, (IEMDC), 2001.

[2] A. Tashakori, M. Ektesabi, and N. Hosseinzadeh, “Characteristics of


suitable drive train for electric vehicle,” in Proceeding of the Inter
national Conference on Instrumentation, Measurement, Circuits and
Systems (ICIMCS 2011), (Hong Kong) ,China.), pp. 535–541, Dec 2011.
[3] A. Tashakori and M. Ektesabi, “Comparison of different pwm switching
modes of bldc motor as drive train of electric vehicles,” World Academy
of Science, Engineering and Technology, vol. 67, pp. 719–725, 2012.
[4] A. b. Sathyan, N. Milivojevic, Y.-J. Lee, M. Krishnamurthy, and A. Emadi,
“An fpga-based novel digital pwm control scheme for bldc motor drives,”
IEEE Transactions on Industrial Electronics, vol. 56, no. 8, pp. 3040–
3049, 2009.
[5] C. b. Soh, C. b. Bi, and K. Teo, “Fpga implementation of quasi bldc
drive,” in proceedings of 7th International Conference on Power
Electronics and Drive Systems (PEDS '07)., pp. 883–888, 2007.
[6] S. Sierra, J. Carballido, and J. Gonzalez, “Switching techniques for
brushless dc motors,” in proceedings of 2013 International Conference
on Electronics, Communications and Computing (CONIELECOMP),
pp. 162–166, March 2013.
[7] M. Jain and S. Williamson, “Suitability analysis of in-wheel motor direct
drives for electric and hybrid electric vehicles,” in Proceeding of the
2009 IEEE Electrical Power and Energy Conference, EPEC 2009, 2009.
[8TH. Kim and M. Ehsani, “Sensorless control of the bldc motors from near-
zero to high speeds,” IEEE Transactions on Power Electronics, vol. 19,
no. 6, pp. 1635–1645, 2004.
[9] P. Damodharan and K. Vasudevan, “Sensorless brushless dc motor
drive based on the zero-crossing detection of back electromotive force
(emf) from the line voltage difference,” IEEE Transactions on Energy
Conversion, vol. 25, no. 3, pp. 661–668, 2010.
[10] A. Tashakori and M. Ektesabi, “Stability analysis of sensorless bldc
motor drive using digital pwm technique for electric vehicles,” in
Proceeding of 38th Annual Conference on IEEE Industrial Electronics
Society, IECON 2012, pp. 4898–4903, October 2012.
Fig. 6. Experimental BLDC motor line voltage and Hall Effect signal [11] J. Gamazo-Real, E. Vzquez-Snchez, and J. Gmez-Gil, “Position and
speed control of brushless dc motors using sensorless techniques and
application trends,” Sensors, vol. 10, no. 7, pp. 6901–6947, 2010.
[12] B. Alecsa and A. Onea, “Design, validation and fpga implementation of
V. CONCLUSION a brushless dc motor speed controller,” in proceedings of 2010 IEEE
International Conference on Electronics, Circuits, and Systems (ICECS
In this paper, a novel FPGA based BLDC motor drive using 2010), (Athens), pp. 1112–1115, 2010.
digital PWM speed controller is presented. The presented [13] J.-U. Chu, I.-H. Moon, G.-W. Choi, J.-C. Ryu, and M.-S. Mun, “Design of
bldc motor controller for electric power wheelchair,” in proceedings of
control algorithm is simple and excellent the performance of the IEEE International Conference on Mechatronics 2004 (ICM'04),
the BLDC motor PWM speed controllers using FPGAs. (Istanbul), pp. 92–97, 2004.
High frequency duty cycle controlled PWM signal is generated [14] E. Koutroulis, A. Dollas, and K. Kalaitzakis, “High-frequency pulse width
modulation implementation using fpga and cpld ics,” Journal of Systems
using counters. The FPGA controller changes the duty cycle Architecture, vol. 52, no. 6, pp. 332 – 344, 2006.
of the PWM signal according to the speed error and based on
a constant value instead of switching between two predefined
high and low duty cycles. Therefore the proposed FPGA based

662

You might also like