Journal of Engineering Science and Technology
Special Issue on Applied Engineering and Sciences, October (2014) 11 - 20
© School of Engineering, Taylor’s University

SPEED CONTROL OF PERMANENT MAGNETSYNCHRONOUS MOTOR USING FPGA FOR HIGHFREQUENCY SIC MOSFET INVERTER
1,11

C. R. HARAHAP *, R. SAITO , H. YAMADA , T. HANAMOTO

11Graduate School of Life Science and Systems
Engineering Kyushu Institute of Technology,
2-4 Hibikino, Wakamatsu-ku, Kitakyushu 808-0196, Japan*Corresponding Author: charles.harahap69@gmail.com

Abstract
This paper proposes a digital hardware control of Permanent MagnetSynchronous Motor (PMSM) using a SiC MOSFET inverter implemented in aFPGA (Field Programmable Gate Array) device. High frequency is required
using a SiC MOSFET inverter to obtain high response and good stability forspeed control systems. Not only the switching frequency of inverter, but also
the control frequency is achieved up to 100 kHz for speed control system of AC
motor drive including vector control and dq transformation. As the result, highresponse control system of PMSM can be achieved. Digital hardware control
based on FPGA is used to maximize the switching frequency of SiC MOSFET
inverter. Finally, an experimental system is set up and some experimental
results are demonstrated.
Keywords: Speed control, High frequency, SiC MOSFET inverter, FPGA, PMSM.

1. Introduction
This paper presents a new speed control system of permanent magnet synchronousmotor (PMSM) using FPGA (Field Programmable Gate Array) with an SiC
inverter. SiC MOSFET is one of the most promising alternatives to Silicon (Si) forpower semiconductor devices due to its superior material characteristics. SiC
devices provide significant performance improvement compared to traditional Sidevices, such as lower conduction loss and higher switching speed [1]. SiC is acompound semiconductor comprised of Silicon (Si) and Carbon (C). The inverter
using SiC MOSFET is presented to achieve high-frequency operation up to 100
kHz with a switching PWM technique.
1112C. R. Harahap et al.

Nomenclatures
Dv
Id
Iq
Jkt
LaP
RaTe
TL
vdvq

Viscous damping coefficient, N.m/rad/s
Direct axis current, A
Quadrature axis current, A
Moment inertia of motor, kg.m2
Torque coefficient, N.m/A
Armature’ self- inductance, Hd/dt
Armature resistance, Ohm
Electromagnetic torque, N.m
Load torque, N.m
Direct axis voltage, V
Quadrature axis voltage, VGreek Symbols
λNumber of pole pairs of motorΦaArmature flux, WbΦmMaximum magnetic flux, Wb
ωMotor angular speed, rad/sωmMechanical angular speed, rad/s
ωreElectrical angular speed, rad/s
PMSM has been widely used in many industrial applications such as robots,rolling mills and machine tools [2]. PMSM has advantages like high efficiency,
high power factor, high power density and maintenance free operation, and thismotor is nowadays preferred in a variety of applications [3].
A high-performance motor control system requires a high response system
and recovery to steady state condition immediately when a motor is loaded andinfluenced by any disturbances. To achieve it, the high frequency PWM is needed
so the speed control system using FPGA with SiC inverter is proposed. There aremany advantages of using high frequency PWM (in range of 50 to 100 kHz) inmotor drive applications. High motor efficiency, fast control response, lower
motor torque ripple, close to ideal sinusoidal motor current waveform, smaller
filter size, lower cost filter, etc. are a few of the advantages [4].
There are many published studies that have given attention to achieve a highresponse control system in the speed control of a permanent magnet synchronousmotor. Zhou [5] proposed an FPGA-realisation of a speed servo controller ofPMSM. Ying [6] proposed a speed control integrated circuit (IC) for permanent
magnet synchronous motor (PMSM) drive under this SoPC environment. Then,an adaptive fuzzy controller is adopted to cope with the dynamic uncertainty andexternal load effect in the speed loop of PMSM drive.
Hanamoto [7] proposed the hardware speed control system of PMSM usingFPGA. However, the above researches studied the speed control system on Si
based inverter and achieved the frequency of PWM in the 20-40 kHz range.
Kamel [2] and Advan [3] proposed speed control of PMSM using Fuzzy LogicController. These researches used simulation with MATLAB SIMULINK toperform Fuzzy Logic Controller in the speed control of permanent magnetsynchronous motor.

Journal of Engineering Science and Technology

Special Issue 10/2014

Speed Control of Permanent Magnet Synchronous Motor Using FPGA for . . . . 13

This paper proposes the use of SiC MOSFET based inverter in the speed
control of permanent magnet synchronous motor. High response system isachieved by using SiC MOSFET in this research so that the motor can recover tosteady state value as soon as possible. It takes only 0.02 s to reach the steady statevalue. Because the processing speed gets faster, software control principally has acalculation time limitation. FPGA is used for speed and torque control because
high speed calculation is obtained using the ability of the hardware processing [7].

2. Mathematical Model of PMSM
Voltage equations of PMSM are derived in two-axis d-q synchronous rotatingreference frame, as in equation (1) [8] +  =  
ω 



0− ω      + ωφ 
 +  

(1)where vd and vq are direct and quadrature axis voltages; id and iq are direct andquadrature axis currents; Ra is armature resistance; La is armature’ selfinductance; ωre is the electrical angular speed; Φm is maximum magnetic flux; Pis d/dt. The electromagnetic torque can be simplified to equation (2).

 = λΦ  =  (2)where λ is the number of pole pairs of motor; Φa is armature flux; kt is torquecoefficient; iq is q axis current. The dynamic equation of PMSM can be written asin equation (3).
  +  =  − (3)where J is moment inertia of the motor; Dv is viscous damping coefficient; Teand TL are electromagnetic torque and load torque where ωm is mechanicalangular speed.

3. SiC MOSFET Inverter
SiC devices such as MOSFETs offer the benefit of efficient power conversion inareas that current Si-based power semiconductors do not [9]. The inverter presented
in this paper is designed by using SiC MOSFET for switching component andSchottky Barrier Diode (SBD) is connected in parallel with each SiC MOSFET toreduce the switching loss and specifically the reverse recovery loss [10]. SBD offers
a number of advantages such as low turn on voltage, fast recovery time, and lowjunction capacitance. The inverter topology is shown in Fig. 1.
Pulse Width Modulation (PWM) method is used for switching of inverter.
There are 8 switching modes of inverter. The combined voltage vector in eachmode is shown in Fig. 2. Each resultant vector has a phase difference of 2π/3from each other. The inverter’s switching modes are shown in Table 1. The loadside of the same voltage by turning ON simultaneously the switching elements of
the DC negative voltage side or the DC positive voltage side, V0 or V7 is zero voltage.

Journal of Engineering Science and TechnologySpecial Issue 10/2014

14C. R. Harahap et al.

Fig. 1. Inverter Circuit.

Fig. 2. Voltage Vector.

Table 1. Switching Modes of Inverter.
Mode01234567U Phase
S2S1S1S2S2S2S1S1V Phase
S4S4S3S3S3S4S4S3W Phase
S6S6S6S6S5S5S5S5Vector Resultant
V0V1V2V3V4V5V6V7The carrier wave comparison method is used to generate a PWM pulse. Acarrier wave is shown in Fig. 3. A carrier wave is made by counting up/downcounter (200 MHz). The circuit generating carrier wave is shown in Fig. 4. There
are 1000 up/down counters implemented in FPGA. A control period issynchronised every half cycle. In this research, frequency of PWM is 100 kHz
and control frequency is 200 kHz.

Fig. 3. Carrier Wave.

Fig. 4. Carrier Wave Circuit.

4. Digital Hardware Control of Permanent Magnet Synchronous Motor
The control method of PMSM is a vector control employed for variable speedcontrol systems. The speed commands are sent to control blocks which include
three PI controllers for speed control and two current control loops, dq andinverse dq coordinate transformation. Then, a PWM pulse generator is produced
for switching of inverter. Rotor position and motor angular speed are detected andcalculated from a pulse series generated from an incremental pulse encoder which
is mounted on the rotor axis of the PMSM.
Phase currents are measured by sensors and converted into a digital value by 12bit AD converters. In order to maximize the switching frequency, a highJournal of Engineering Science and Technology

Special Issue 10/2014

Speed Control of Permanent Magnet Synchronous Motor Using FPGA for . . . . 15

performance FPGA based digital hardware controller is used to implement thespeed control of a permanent magnet synchronous motor. FPGA is used for thetorque and speed control in some cases because a fast processing operation is
obtained using the ability of the hardware processing.
Figure 5 shows a proposed digital hardware control system for the speedcontrol system of PMSM by using FPGA. FPGA (XILINX Spartan3E
XC3S1600E) is used to control the speed control of PMSM.

Fig. 5. Speed Control of PMSM Block Diagram of the Proposed System.
Program algorithm is written in VHDL [11]. VHDL is a hardware description
language that describes the behaviour of an electronic circuit or system, fromwhich the physical circuit or system can be implemented. Multipliers, adder, andsubtraction are employed for the calculation. A timing generator is used togenerate timing of operation. It also generates a control signal, sampling signal ofAnalog to Digital Converter and speed detector. The signals connect to modules
and manage the control period, sampling period of encoder and input/output datatiming of the peripheral device.
Figure 6 shows speed and position detector circuits implemented in the FPGA
which consists of a counter, latch and multiplier. The speed should be the sameunits as the speed command value of the speed command block. The speed
sampling pulse that indicates the speed detection circuit is a signal generated by
the timing generator. Rotor position θ is obtained using an Up/Down counter. In
the FPGA sin θ/cos θ can be obtained by using a look-up table.

Fig. 6. Speed and Position Detector Circuit.

Journal of Engineering Science and Technology

Special Issue 10/2014

16C. R. Harahap et al.

There are three PI (Proportional Integral) controllers used for both speed andcurrent control. In the PI controller, each variable has a 32 bit data to keep
precision. Figure 7 shows the hardware system of a PI speed controller which
consists of shift register, latch, subtraction, adder and multiplier. Calculation of
the PI speed controller circuit is performed in the order of timing calculation
provided by the shift register. Deviation of the measured value with the command
value is taken by the first subtraction. Deviation is latched in each control cycleby the calculation timing which is multiplied by the gain at the next timing. Theaccumulator is a circuit which performs an integration operation.

Fig. 7. PI Speed Controller Circuit.
The current detector circuit is used to create a signal for controlling the AD
converter. It is necessary to provide adequate signal to each pin of the AD
converter. It is also necessary to create a current signal using a 1 bit data toperform serial communication using an AD converter. Figure 8 shows a time
chart of the AD converter operation. AD conversion is begun in accordance with therising edge of the CS signal. Therefore, it is necessary to capture the output signalof the AD converter at the rising edge of the CLK. A current 12 bit signal iscreated by using a 12 bit shift register. The detail of the signals is shown in Table 2.
Figure 9 shows the design of a current detector which consists of a D flip-flop,
shift register and counter. The signal from the current detector circuit will be sent
to the AD converter. The timing (Hit) is used for the timing generation circuit,and converted into 12 bit shift register parallel signals. Figure 10 shows a dqcoordinate transformation circuit. The operation of the dq coordinatetransformation is to convert uvw coordinates into αβ coordinates and convert αβcoordinates into dq coordinates. Phase currents are converted to dq axis for spacevector control. Interface used in this research is shown in Fig. 11.

Fig. 8. Time Chart for
A/D Converter.

Fig. 9. Current Detector Circuit.

Journal of Engineering Science and Technology

Special Issue 10/2014

Speed Control of Permanent Magnet Synchronous Motor Using FPGA for . . . . 17

Table 2. Signal Timing Characteristics.
Input and Output Signal of AD Converter
Start of conversion to digital values from theCS
analog value
CLK signal is sent to the AD converter
SCK1 bit Data is sent from the AD Converter

SDOSignal ofconversion start
Clock Signal
Output Signal

Timing Characteristic of Signal
t1

Minimum Positive or Negative CS Pulse Width

4 ns Mint2

Setup Time After CS↓

6-2000 ns

t3

SDO Enabled Time After CS↓

4 ns Maxt4

SDO Data Valid Access Time After SCK↓

15 ns Maxt5

SCK Low Time

40%(tSCLK) Min

t6

SCK High Time

40%(tSCLK) Min

t7

SDO Data Valid Hold Time After SCK↓

5ns Mint8SDO Into Hi-Z State Time After SCK↓

5-14 nst9

SDO Into Hi-Z State Time After CS↑

4.2 ns Max

tSCK

Shift Clock Frequency

0.5-48 MHz

tTHROUGHPUT

Minimum Throughput Time， tACQ + tCONV

333 ns Max

tCONV

Conversion Time277 ns Min

tACQ

Acquisition Time

56 ns MintQUIETSDO Hi-Z State to CS↓

4 ns Min

Fig. 10. dq Coordinate Transformation Circuit.
The current sensor is connected to interface and converted into a digital valueby an ADC. Signal from an incremental pulse encoder is connected to signal fromencoder side. The output side is connected to a data recorder (HIOKI MemoryHicorder) for checking data through a DA converter. Table 3 shows thespecification of the FPGA used in the system.

Journal of Engineering Science and Technology

Special Issue 10/2014

18

C. R. Harahap et al.

Table 3. Specification of FPGA XC3S1600E-4FG320 Using in the System.
Logic Utilisation
Total No. Slice Registers
Number of Occupied Slices
Total Number of 4 input LUTs
Number of bonded IOBs
Number of Block RAM
Number BUFGMUXs
Number of DCMs

Used1775
2730
4635
2633
142Available29504
14752
29504
250
36248Utilisation
6%
18%
15%
10%
91%
58%
25%

5. Experimental and Result
5.1. Experimental setup
The proposed experimental system is depicted in Fig. 12 and the PMSMs used forexperiment are shown in Fig. 13. Two types of PMSMs are used for the control
system, one is for the motor and the other is for the load. Both of them areconnected via coupling. Encoder is mounted on the rotor axis of the PMSM. The
FPGA used for experiment is shown in Fig. 11.

Fig. 11. FPGA and Interface.

Fig. 12. Experimental Apparatus.

Fig. 13. Permanent Magnet Synchronous Motor.
Journal of Engineering Science and Technology

Special Issue 10/2014

Speed Control of Permanent Magnet Synchronous Motor Using FPGA for . . . . 19

5.2. Experimental result
Figure 14 shows the PWM for switching of an inverter seen on the screen of anoscilloscope. 100 kHz is achieved using FPGA. FPGA is the best way ofdesigning a digital PWM generator. Time resolution is 10 ns. U, V, and W phases
are seen on the screen for each positive and negative value. Each phase has aphase difference of 2π/3 from each other. Furthermore, PWM has a dead timeprocessing for delaying between the gating signals of the top and bottom devices
in an inverter leg to prevent a short circuit of a DC link. 0.5 µs dead time isachieved using FPGA.
Figure 15 shows a step response of the proposed system. The speed commandis changed from 100 min-1 to 150 min-1. The speed decreases when the motor isloaded and recovered to the steady state condition immediately. It takes only 0.02
s to reach the steady state value. The q-axis current is equivalent to the motor
torque and the current increases when the motor is loaded. The results are
obtained by using a clock frequency of FPGA which is set to 48 MHz andencoder pulse is 20480 ppr. The PWM switching frequency is achieved up to 100
kHz. The control frequency is achieved up to 200 kHz and only when thefrequency of a speed detector is 50 kHz. Experimental results show the feasibilityof a high performance system of PMSM speed control system using FPGA.

Fig. 14. Pulse Width Modulation.

Fig. 15. Step Response of a
Proposed Speed Control System.

6. Conclusions
The use of a SiC MOSFET in an inverter for speed control of PMSM based on FPGA
has been proposed and verified with experimental results. Experimental results show
the superiority of a SiC MOSFET where the switching frequency can be achieved up
to 100 kHz. Digital hardware control systems using FPGA work well for achieving

Journal of Engineering Science and Technology

Special Issue 10/2014

20

C. R. Harahap et al.

the switching frequency of an inverter up to 100 kHz. FPGA can be used to ensure
fast processing operation in a high frequency switching of an inverter.

References
1.

Shen, M.; and Krishnamurthy, S. (2012). Simplified loss analysis for highspeed SiC MOSFET inverter. IEEE Applied Power Electronics Conferenceand Exposition, 1682-1687.
2. Kamel, H.M.; Hasanien, H.M.; and Ibrahim, H.E.A. (2009). Speed control ofpermanent magnet synchronous motor using fuzzy logic controller. IEEE
Electric Machines and Drives Conference, 1587-1591.
3. Advan, B.; Kuppuswamy, A.; Jayabaskaran G.; and Jagannathan, V. (2011).
Field oriented control of permanent magnet synchronous motor (PMSM)
using fuzzy logic controller. IEEE Recent Advances in Intelligent
Computational System, 587-592.
4. Shirabe, K.; Swamy, M.; Kang, Hisatsune, J.K.; Wu, M.Y.; Kebort, D.; andHonea. J. (2012). Advantages of high frequency PWM in AC motor driveapplications. IEEE Energy Conversion Congress and Exposition, 2977-2984.
5. Zhou, Z.; Li, T.; Takahahi, T.; and Ho, E. (2004). FPGA realisation of a highperformance servo controller for PMSM. IEEE Applied Power Electronics
Conference and Exposition, 3, 1604-1609.
6. Kung, Y.-S.; and Tsai, M.-H. (2007). FPGA-based speed control ic for
PMSM drive with adaptive fuzzy control. IEEE Transaction on PowerElectronics, 22(6), 2476-2486.
7. Hanamoto, T.; Deriha, M.; Ikeda, H.; and Tsuji, T. (2008). Digital hardware
circuit using FPGA for speed control system of permanent magnet
synchronous motor. Proceeding of the ICEM, 1-5.
8. Bose, B.K. (2002). Modern power electronics and AC drives. Upper Saddle
River, NJ: Prentice Hall PTR
9. Lai, R.; Wang, L.; Sabate, J.; Elasser, A.; and Stevanovic, L. (2012). Highvoltage high-frequency inverter using 3.3 kV SiC MOSFETs. InternationalPower Electronics and Motion Control Conference, 1-5.
10. Shen, M.; Krishnamurthy, S.; and Muldhokar, M. (2011). Design andperformance of a high frequency silicon carbide inverter. IEEE Energy
Conversion Congress and Exposition, 2044-2049.
11. Zainalabedin, N. (1998). VHDL, analysis and modeling of digital system.
McGraw-Hill International.

Journal of Engineering Science and Technology

Special Issue 10/2014