Upload
danganh
View
288
Download
0
Embed Size (px)
Citation preview
Research ArticleModelSimSimulink Cosimulation and FPGA Realization ofa Multiaxis Motion Controller
Ying-Shieh Kung1 Jin-Mu Lin1 Yu-Jen Chen1 and Hsin-Hung Chou2
1Department of Electrical Engineering Southern Taiwan University of Science and Technology 1 Nan-Tai StreetYong-Kang District Tainan City 710 Taiwan2Mechanical and System Research Laboratories Industrial Technology Research Institute Section 4 195 Chung Hsing RoadChutung Hsinchu 310 Taiwan
Correspondence should be addressed to Ying-Shieh Kung kungmailstustedutw
Received 20 August 2014 Accepted 13 September 2014
Academic Editor Stephen D Prior
Copyright copy 2015 Ying-Shieh Kung et al This is an open access article distributed under the Creative Commons AttributionLicense which permits unrestricted use distribution and reproduction in any medium provided the original work is properlycited
This paper is to implement a multiaxis servo controller and a motion trajectory planning within one chip At first SoPC (system ona programmable chip) technology which is composed of an Altera FPGA (field programmable gate arrays) chip and an embeddedsoft-core Nios II processor is taken as the development of a multiaxis motion control IC The multiaxis motion control IC hastwo modules The first module is Nios II processor which realizes the motion trajectory planning by software It includes the stepcircular window star and helical motion trajectoryThe secondmodule presents a function of themultiaxis positionspeedcurrentcontroller IP (intellectual property) by hardware And VHDL (VHSIC Hardware Description Language) is applied to describe themultiaxis servo controller behavior Before the FPGA realization a cosimulation work by ModelSimSimulink is applied to test theVHDL code Then this IP combined by Nios II processor will be downloaded to FPGATherefore a fully digital multiaxis motioncontroller can be realized by a single FPGA chip Finally to verify the effectiveness and correctness of the proposedmultiaxismotioncontrol IP a three-axis motion platform (XYZ table) is constructed and some experimental results are presented
1 Introduction
The integration of a multiaxis servo and motion controllerinto one chip and then application to XYZ table CNC(Computed Numerically Controlled) machine or roboticsystem and so forth for reducing the system volume andincreasing the system performance andmotion stability havebecome a popular research topic in literatures [1ndash5] Furtherin typical applications adopting PMSM as an actuator inautomatic multiaxis equipment is a major technique trenddue to its excellent high power density and better motioncontrol characteristics fast response and accuracy position-ing [6ndash8] In traditional machine it usually utilizes onecentral controller for planning the motion trajectory andmultiple microprocessors for multiaxis servo motor drivesystem to establish a multiaxis motion controller In thisarchitecture the coordination and communication betweencenter controller and multiple microprocessors are a chal-lenge task in the automatic multiaxis equipment However
some drawbacks appear such as large volume being easilyaffected by the noise expensive cost and inflexible Inaddition data communication and handshaking protocolbetween the central controller and multiple microprocessorscertainly slow down the system executing speed To solvethis problem FPGA provides a best solution among thosecommercial high-end microprocessors due to its fast compu-tational power parallel processing ability field programmablecharacteristics and SoPC environment which can performhardware-software codesign task [9ndash12] For example in thedesign of PMSM servo drive using FPGA it only needs lessthan 2120583s in realizing the SVPWM algorithm less than 3 120583sin implementing the current vector controller and less than3 120583s in executing the fuzzy controller algorithm in speed loopThe fast computational and parallel processing characteristicsmake it possible to integrate multiaxis servo controllers andthe function of motion trajectory planning into one FPGA
Recently a cosimulation work by Electronic DesignAutomation (EDA) Simulator Link has been gradually
Hindawi Publishing CorporationMathematical Problems in EngineeringVolume 2015 Article ID 202474 17 pageshttpdxdoiorg1011552015202474
2 Mathematical Problems in Engineering
applied to verify the effectiveness of the HDL (HardwareDescription Language) code in the motor drive system [13ndash15] The EDA Simulator Link [16] provides a cosimulationinterface between Simulink and ModelSim [17] where youcan use Simulink models as a test bench that generatesstimulus forModelSim and analyzes the simulationrsquos response[16] Therefore before the FPGA realization a cosimula-tion work by EDA Simulator Link will be applied to themultiaxis motion control system in this paper The multi-PMSMs multi-inverters a motion trajectory planning andmotion position response are performed in Simulink andthe positionspeedcurrent controller IP (Intellectual Prop-erty) which is described by VHDL code is executed inModelSim After successful verification in simulation thepositionspeedcurrent controller IP can be directly used inthe FPGA
The realization in this paper is the SoPC technology inwhich FPGA embedding a Nios II processor is establishedto develop a multiaxis motion control IC and it is shownin Figure 1 It includes multiple servo controllers IP and oneNios II processor in a FPGA Each servo controller IP per-forms the function of positionspeedcurrent controller foreach PMSMdrive andNios II processor executes the functionofmotion trajectory planning In addition the detailed insidearchitecture of the proposed multiaxis motion control IC inFPGA is presented in Figure 2 In servo controller IP thevector control is adopted in the current loop P controller isused in the speed loop and fuzzy controller is applied in theposition loop for each PMSM drive However the multiaxismotion control IC shown in Figure 1 can be applied multiaxisautomatic equipment such as XYZ table SCARA robot armvertical-type robot arm and CNC machine
2 Modelling Control and MotionTrajectory Design
Figure 2 includes multiple servo controllers IPs and one NiosII processor in a FPGA Each servo controller IP performsthe function of positionspeedcurrent controller for onePMSM drive and Nios II processor executes the function ofmotion trajectory planning Detailed design methodology isdescribed as follows
21 Mathematical Model of Single-Axis Table The typicalmathematical model of a PMSM is described in two-axis d-qsynchronous rotating reference frame as follows
119889119894119889
119889119905= minus
119903119904
119871119889
119894119889 + 120596119890
119871119902
119871119889
119894119902 +1
119871119889
V119889
119889119894119902
119889119905= minus120596119890
119871119889
119871119902
119894119889 minus119903119904
119871119902
119894119902 minus 120596119890
120582119891
119871119902
+1
119871119902
V119902
(1)
where V119889 V119902 are the 119889- and 119902-axis voltages 119894119889 119894119902 are the 119889-and 119902-axis currents 119903119904 is the phase winding resistance 119871119889 119871119902are the 119889- and 119902-axis inductance 120596119890 is the rotating speed ofmagnet flux 120582119891 is the permanent magnet flux linkage
The current loop control of PMSM drive in Figure 2is based on a vector control approach That is if the 119894119889 is
controlled to 0 the PMSM will be decoupled and controllinga PMSMwill be similar to controlling a DCmotorThereforeafter decoupling the torque of PMSM can be written as thefollowing equation
119879119890 =3119875
4120582119891119894119902 ≜ 119870119905119894119902 (2)
with
119870119905 =3119875
4120582119891 (3)
119879119890 is the motor torque and 119875 is pole pairs Thus consideringthe mechanical load the overall dynamic equation of lineartable system is obtained by
119879119890 minus 119879119871 = 119869119898
2120587
119903119887
1198892119904119901119894
1198891199052+ 119861119898
2120587
119903119887
119889119904119901119894
119889119905 (4)
119870119905 is force constant 119869119898 is the inertial value 119861119898 is dampingratio 119879119871 is the external torque 119904119901119894 represents the displace-ment in 119894-axis table 119903119887 is the lead of the ball screw
22 Fuzzy Controller (FC) Design The FC in this study usessingleton fuzzifier triangularmembership function product-inference rule and central average defuzzifier method InFigure 2 the tracking error 119890 and the error change 119889119890 aredefined by
119890 (119896) = 119904lowast
119901119894(119896) minus 119904119901119894 (119896)
119889119890 (119896) = 119890 (119896) minus 119890 (119896 minus 1)
(5)
where 119906119891 represents the output of the FC 119878lowast
119901119894(119896) 119878119901119894(119896)
represent 119894th-axis position command and 119894th-axis positionfeedback respectively The design procedure of the FC isdescribed as follows
(a) Take 119890 119889119890 as the input variable of FC and define theirlinguist variables as 119864 and dE The linguist values of119864 and 119889119864 are 1198600 1198601 1198602 1198603 1198604 1198605 1198606 and 1198610119861111986121198613119861411986151198616 respectively Each linguist valueof 119864 and dE is based on the symmetrical triangularmembership function
(b) Compute themembership degree of 119890 and119889119890 It is onlytwo linguistic values which are excited (resulting in anonzero membership) in any input value Thereforethe membership degree 120583119860119894(119890)
can be straightfor-wardly obtained by
120583119860119894(119890) =
119890119894+1 minus 119890
2 120583119860119894+1
(119890) = 1 minus 120583119860119894(119890) (6)
and 119890119894+1 ≜ minus6 + 2lowast(119894 + 1) Similar results can
be obtained in computing the membership degree120583119861119895
(119889119890)(c) Select the initial FC rules by referring to the dynamic
response characteristics such as
IF 119890 is 119860 119894 and Δ119890 is 119861119895 THEN 119906119891 is 119888119895119894
for 119894 119895 = 0 sim 6
(7)
Mathematical Problems in Engineering 3
Digital circuit ofposition
speedcurrentcontroller IP-1
FPGA-based multiaxis motion control IC
Nios II processor
FPGA
For motion trajectoryplanning
Digital circuit ofposition
speedcurrentcontroller IP-2
Digital circuit ofposition
speedcurrentcontroller IP-n
EncoderPMSM
Load
EncoderPMSM
Load
EncoderPMSM
Load
Vertical-typerobot arm
XYZ table
SCARArobot arm
2nd axis (J2)
(+)
(+)
(+)
(+)
(minus)
(minus)
(minus)
(minus)
1st axis (J1)
3rd axis (Z)
4th axis (T)
CPU
On-chipROM
On-chipRAM
UART
PIO
Timer
SPI
SDRAMcontroller
Aval
on b
us Applied to
Figure 1 FPGA-based multiaxis motion control IC and its applications
where 119860 119894 and 119861119895 are fuzzy number and 119888119895119894 is realnumber
(d) Establish the fuzzy system 119906119891(119890 119889119890) by using the sin-gleton fuzzifier product-inference rule and centralaverage defuzzifier method Although there are total49 fuzzy rules that will be inferred actually only 4fuzzy rules can be effectively excited to generate anonzero output Therefore the output of the fuzzyinference can be obtained by the following expression
119906119891 (119890 119889119890) =
sum119894+1
119899=119894sum119895+1
119898=119895119888119898119899 [120583119860119899
(119890) lowast 120583119861119898(119889119890)]
sum119894+1
119899=119894sum119895+1
119898=119895120583119860119899
(119890) lowast 120583119861119898(119889119890)
≜
119894+1
sum
119899=119894
119895+1
sum
119898=119895
119888119898119899 lowast 119889119899119898
(8)
where 119889119899119898 ≜ 120583119860119899(119890) lowast 120583119861119898
(119889119890) and sum119894+1
119899=119894sum119895+1
119898=119895119889119899119898 = 1
23 Motion Trajectory Planning The circular window starand helical circular motion trajectories are typically used [18]as the performance evaluation of the motion controller forXYZ table
(a) Circular motion trajectory it is computed as follows
119909119894 = 119903 sin (120579119894)
119910119894 = 119903 cos (120579119894)(9)
with 120579119894 = 120579119894minus1 + Δ120579 where Δ120579 119903 119909119894 119910119894 are angleincrement radius119909-axis trajectory command and119910-axis trajectory command respectively
(b) Windowmotion trajectory it is shown in Figure 3(a)The formulation is derived as followsa-trajectory
119909119894 = 119909119894minus1 119910119894 = 119878 + 119910119894minus1 (10)
b-trajectory
(120579119894 6
4120587 997888rarr 2120587 120579119894 = 120579119894minus1 + Δ120579)
119909119894 = 1198741199091 + 119903 cos (120579119894) 119910119894 = 1198741199101 + 119903 sin (120579119894)
(11)
c-trajectory
119909119894 = 119878 + 119909119894minus1 119910119894 = 119910119894minus1 (12)
d-trajectory
(120579119894 120587 997888rarr6
4120587 120579119894 = 120579119894minus1 + Δ120579)
119909119894 = 1198741199092 + 119903 cos (120579119894) 119910119894 = 1198741199102 + 119903 sin (120579119894)
(13)
e-trajectory
119909119894 = 119909119894minus1 119910119894 = minus119878 + 119910119894minus1 (14)
f-trajectory
(120579119894 1
2120587 997888rarr 120587 120579119894 = 120579119894minus1 + Δ120579)
119909119894 = 1198741199093 + 119903 cos (120579119894) 119910119894 = 1198741199103 + 119903 sin (120579119894)
(15)
4 Mathematical Problems in Engineering
CPU
On-chipROM
On-chipRAM
UART
PIO
Timer
SPI
SDRAMcontroller
Aval
on b
us
PWM1PWM2PWM3PWM4PWM5PWM6
PWM1PWM2PWM3PWM4PWM5PWM6
Fuzzy controller
Fuzzy controller
Position controller
Position controller
Positionspeedcurrent controller IP-1
Speed controller
Speed controller
SVPWM
SVPWM
ADCinterface
circuit
ADCinterface
circuit
QEP interfacecircuit
QEP interfacecircuit
Current vector controller
Current vector controller
Nios II processor
FPGA
Positionspeedcurrent controller IP-n
Slowastp1 +
+
+
+
+
+
+
+
minus
minus
minus
minus
minus
minus
minus
minus
Sp1
1 minus zminus1
1 minus zminus1
K
K
ilowastd = 0
ilowastd = 0
ilowastq
ilowastq
PI
PI
PI
PI
vd
vq
id
iq
id
iq
Park
Parkminus1
Parkminus1
120572 120573
120572 120573
120572 120573
120572 120573d q
d q
sin andcos
Park
120572 120573
120572 120573
d q
d q
sin andcos
v120572
v120573
i120572
i120573
120579e
Sp1
i120572
i120573
120579e
a b c
a b c
Clarke
clarkeModified
minus1
120572 120573
120572 120573
a b c
a b c
Clarke
Modified
Slowastp2
ABZ
ABZ
vrxvry
vrz
vd
vq
v120572
v120573
vrxvry
vrz
ia
ibic
ia
ibic
iu
iw
iu
iw
Slowastpn
Spn
Spn
clarkeminus1
Figure 2 The inside architecture of FPGA-based multiaxis positionspeedcurrent control IC
Start
a
bc
d
e
f
g
h
i
(Ox1 Oy1)(Ox2 Oy2)
(Ox2 Oy2)
(Ox3 Oy3)(Ox4 Oy4)
x
y
(xi+1 yi+1)
(xi yi)120579iminus1
Δ120579
120579i = 120579iminus1 + Δ120579r
(a)
Starta
b
c
d
e
x
y
18∘
36∘
54∘
72∘
(b)
Figure 3 (a) Window motion trajectory (b) Star motion trajectory
Mathematical Problems in Engineering 5
g-trajectory
119909119894 = minus119878 + 119909119894minus1 119910119894 = 119910119894minus1 (16)
h-trajectory
(120579119894 0 997888rarr1
2120587 120579119894 = 120579119894minus1 + Δ120579)
119909119894 = 1198741199094 + 119903 cos (120579119894) 119910119894 = 1198741199104 + 119903 sin (120579119894)
(17)
i-trajectory
119909119894 = 119909119894minus1 119910119894 = 119878 + 119910119894minus1 (18)
where 119878 are position increment In addition the(1198741199091 1198741199101) (1198741199092 1198741199102) (1198741199093 1198741199103) (1198741199094 1198741199104) are arccenter of b- d- f- and h-trajectory in Figure 3(a)and 119903 is the radius The motion speed of the table isdetermined by Δ120579
(c) Star motion trajectory it is shown in Figure 3(b)Theformulation is derived as followsa-trajectory
119909119894 = 119878 + 119909119894minus1 119910119894 = 119910119894minus1 (19)
b-trajectory
119909119894 = minus119878 lowast sin 54∘+ 119909119894minus1 119910119894 = minus119878 lowast sin 36
∘+ 119910119894minus1 (20)
c-trajectory
119909119894 = 119878 lowast sin 18∘+ 119909119894minus1 119910119894 = 119878 lowast sin 72
∘+ 119910119894minus1 (21)
d-trajectory
119909119894 = 119878 lowast sin 18∘+ 119909119894minus1 119910119894 = minus119878 lowast sin 72
∘+ 119910119894minus1 (22)
e-trajectory
119909119894 = minus119878 lowast sin 54∘+ 119909119894minus1 119910119894 = 119878 lowast sin 36
∘+ 119910119894minus1 (23)
The motion speed of the table is determined by 119878(d) Helical circular motion trajectory it is computed as
follows
119909119894 = 119903 sin (120579119894)
119910119894 = 119903 cos (120579119894)
119911119894 = 119911119894minus1 + Δ119911
(24)
with 120579119894 = 120579119894minus1 + Δ120579 where Δ120579 Δ119911 119903 119909119894 119910119894 119911119894
are angle increment height increment radius 119909-axistrajectory command119910-axis trajectory command and119911-axis trajectory command respectively
3 Digital Circuit Design for Posi-tionSpeedCurrent Controller IP
The proposed FPGA-based three-axis motion control IC forXYZ table is shown in Figure 4 In positionspeedcurrentcontroller IP the vector control is adopted in the current loopP controller is used in the speed loop and fuzzy controller isapplied in the position loop The FPGA herein uses CycloneIV-EP4CE115 which is the product of Altera cooperationThere are 114480 LEs (Logic Elements) 3981312 RAM bitsand 150 embedded multipliers in the Cyclone IV In additiona Nios II processor is embedded into FPGA to establish anSoC environment The motion control IC comprises a NiosII embedded processor and multiple positionspeedcurrentcontroller IP for multiaxis machine The Nios II processoris utilized to perform the motion trajectory computationThe code in Nios processor is developed with C languageMain program establishes the initial parameters settingthe motion command setting and so forth and the ISR(interrupt service routine) executes the motion trajectorycomputation position command generation and sendingout to three controller IPs Each internal digital circuit ofpositionspeedcurrent controller IP is also shown in Figure 4and it includes one circuit of position FC and speed Pcontroller one circuit of current controller and coordinatetransformation (CCCT) one SVPWM one ADC interfaceand one QEP interface circuit All circuits in Figure 4 arerealized by hardware in FPGA and the circuit behavior isdescribed by VHDL The sampling frequency in positionspeed and current control loop are designed with 2 kHz2 kHz and 16 kHz respectively The operating clock of thedesigned FPGA controller is 50MHz and the frequencydivider generates another 125MHz clock to supply all mod-ule circuits in Figure 4 A finite state machine (FSM) methodis employed to model the algorithms of the position FCand speed P controller the CCCT and the SVPWM whichutilizes one adder one multiplier a look-up table compara-tors and registers to carry out the overall computation Itneeds to spend 20 steps (16 120583s) 24 steps (192 120583s) and 18steps (144 120583s) to complete the computation of positionspeedcontroller CCCT and SVPWM respectively The data typeis designed with 16-bit length 2rsquos complement and Q15format in the positionspeed controller and CCCT but 12-bit length 2rsquos complement and Q11 format in SVPWMFor detailed figures and description regarding CCCT andSVPWM refer to [4] For an example of a three-axis motioncontrol IC overall circuit included a Nios II processor andthree positionspeedcurrent controllers IP consume 22688LEs (Logic Elements) 73 embeddingmultipliers 241 IO pinsand 241792 memory bits
4 ModelSimSimulink Cosimulation andSimulation Results
The SimulinkModelSim cosimulation architecture for thethree-axis motion control system is shown in Figure 5 Eachaxis system is driven by one PMSM The SimPowerSys-tem blockset in the Simulink executes the three PMSMs
6 Mathematical Problems in Engineering
120579e addrLUT
ia
ib
ic
i120572
minus1
radic3
1
radic3
Slowastp(k)
S
1
1
p(k) Sp(k)
Sp(k minus 1)+
+
+
+
+ + + +
++
+
minus
minus
minus
minus
minus
minus
minusminus
X
X
XX
X X
X X
X
X
X
X
X
XX
X
+ +
+
++
+
+
+
+
+
+ +
+
+
+
+
minus
minus
minus
minusminus
minus
minus
i120573
v120573
vrx
vq
vq
vdvd
id
iq
ilowastq e q
d
Kp
Kp
Ki
Ki
q
d
qe q
e d
e d
i q
i di d
i q
LS 1ilowastd = 0
120572
radic3
2
120573
2
ry
rz
s0 s1 s2 s3 s4 s5 s6 s7 s8 s9 s10 s11 s12s13s14s15 s16 s17 s18 s19 s20 s21 s22 s23
Look upsincos
tableClark Park d-axis PI
controllerq-axis PIcontroller Parkminus1 Modified
minus1clark
CPU
On-chipROM
On-chipRAM
UART
PIO
Timer
SPI
SDRAMcontroller
Aval
on b
us
Nios II processorFPGA Digital circuit of
FPGA-based multiaxis motion control IC
positionspeedcurrent controller IP-1
Digital circuit of position
speedcurrent controller IP-2
Digital circuit of position
speedcurrent
Current controllers and
coordinate transformation
(CCCT)Rotary encoder
Positionspeedcurrent controller IPFrom Nios II
controller IP-n
Digital circuitof position FCand speed PI
controller
QEP interfacecircuit
k-sp
k-sp
k-posSlowastp [15 0]
Sp [15 0]
Encoder-AEncoder-BEncoder-Z
Clk
Clk
Clk Clk
ClkCl
ClClk
ClCl
Clk k-cur k-curk-sp
ilowastq [11 0]
ia [11 0]
ib [11 0]
ic [11 0]
rx [11 0]ry [11 0]rz [11 0]
ADCinterface
circuit
SVPWMgeneration
ADIN[11]
ADIN[0]BDIN[11]
BDIN[0]RCARCB
PWM-1PWM-2PWM-3PWM-4PWM-5PWM-6
Start ofmain program
Initial interrupt
Initial timer
Computation ofposition command
Loop
Start of ISR(each 200Hz)
Return
Set parametersof each axis
Read the motiontrajectory command
Computation ofposition for each axis
from motion trajectorycommand
Output the positioncommand
Generation ofsymmetric
triangular wave
Vref1
12
12
1212
12
12
120n 200n40n
CMPR1
CMPR2
CMPR3
S1
S2
S3S4
S5
State machine
SVPWM algorithm
Q 12
Comparator1
Comparator2
Comparator3
PWMEA 1
PWMEA 2
PWMEB 1
PWMEB 2
PWMEC 1
PWMEC 2
PWM1
PWM2
PWM3
PWM4
PWM5
PWM6
Vref2
Vref3
Dead-bandunit
e(k)
e(k)e(k minus 1)
1
Ts
(k)X
X
X
X
X
X
X
X
X
X
SD
SD
RS 1
RS 1
ei+1ek
120583A119894(e)
120583A119894(e)
120583A119894(e)
i
jamp Look-up
fuzzy ruletable
ji
i+1
+1i
+1i+1
de(k) dej+1
dek
120583B119895 (de)
120583B119895 (de)120583B119895 (de)
120583B119895 (de)
Computation of speed positionerror and error change Fuzzification Look-up fuzzy table
s0 s1 s2 s3 s4 s5 s6 s7
s8 s9 s10 s11 s12 s13 s14 s15 s16 s17 s18 s19
dij
dij
di+1j
120583B119895+1 (de) dij+1
di+1j+1
dij+1
di+1j
di+1j+1
uf(k)
(k) K
ilowastq (k)
Defuzzification Speed P controller
ampiji+1cj+1icj+1i+1cj
cji
cj
cj
cj
cj
addr [11 0]120579e
sin120579ecos120579e Clk
ClkClk Clk
120583A119894+1(e)
(x- and y- and z-axis)
Figure 4 Internal circuit design of the proposed FPGA-based multiaxis motion control IC
and three IGBT-based inverters The EDA Simulator Linkfor ModelSim executes the cosimulation using VHDL coderunning in ModelSim program It carries out the functionof three positionspeedcurrent controller IPs with six worksin Figure 5 The work-1 work-3 and work-5 perform thefunction of position and speed loop controller and work-2 work-4 and work-6 accomplish the function of currentvector controller which includes current PI controller coor-dinate transformation (CCCT) and space vector pulse widthmodulation (SVPWM) The signals of three-phase currentrotor speed and rotor position in PMSM-1 are respectivelyfed back to work-3 and work-1 to do the close-loop positioncontrolThe similar conditions of close-loop position controlin PMSM-2 and PMSM-3 drive system are the same Thesampling frequency in current control loop is designed with16 kHz but in positionspeed control loop is 1 kHz Themotion trajectory described in Section 23 is planned withinthe block diagram of the Matlab embedded function in
Figure 5 Matlab m-code is used to develop the program ofthe motion trajectory
In this simulation cases the following motion trajectorywill be carried out and tested (1) single-axis position stepresponse (2) circular motion trajectory tracking (two-axis simultaneous motion) (3) window motion trajectorytracking (two-axis simultaneous motion) (4) star motiontrajectory tracking (two-axis simultaneous motion) (5)helical circular motion trajectory tracking (three-axissimultaneous motion) Firstly single-axis position stepresponse is considered and the step signal with 15 s and5mm amplitude is tested The simulation results in positionresponse and current response are presented in Figure 6 Inthis simulation the Kp and Ki gains in position controllerare respectively chosen by (15000 0) and (25000 95) in16bit-Q15 format In Figure 6(a) the position responseswith 003 seconds rising time and zero overshoot and zerowhich show a good response performance In Figure 6(b)
Mathematical Problems in Engineering 7
MATLABembeddedfunction(motion
trajectory)
Model SimConvert
Convert
Convert
Convert
Convert
Convert
Convert
Convert
ConvertData type conversion16
Data type conversion14
Data type conversion13
Data type conversion1
Saturation3
Saturation4
Saturation5
15000
15000
spd
0spd
pos95pos
position fdbcmd pos
KpKp
Kp
Kp
Kp
Kp
pos
Ki
Ki
Ki
Ki
Ki
Ki
pos
spdspd
rotor speed
position out
speed outWork-1
Work-2
HDL cosimulation3
HDL cosimulation
Current2
Speed and fdb
Positionspeedcontroller-1
Position cmd and fdb
Position fdbGain10
Gain2954929
0
9
95
1000
0
Constant9
Constant15
Constant22
Constant23
Constant24
cmd iq
cmd id
d
d
q
q
addressinfo a
info b
info c
PWM1
PWM2
PWM3
PWM4
PWM5
PWM6
address shift
shift1
-K-
-K-
Gain3
Gain4
Gain5 y fcn u
EmbeddedMATLAB function1
d-q1
N m
Tm
A
0001Constant13
Speed fdb
DC voltagesource1
BC S
Permanent magnetsynchronous machine1
Stator current1Continuous
Subsystem1
In1Conn1
In2Conn2
In3Conn3
In4Conn4
In5Conn5
In6Conn6
powergui1
PMSM-1
=
ltRotor speed wm (rads)gtltElectromagnetic torque Te ltRotor angle thetam (rad)gtltStator current is d (A)gtltStator current is q(A)gtltStator current is a (A)gtltStator current is b (A)gt
Torque1
Convert
Convert
Convert
Convert
Convert
Convert
Convert
Convert
Convert
0
95
Currentcontroller-1
1
Position fdbGain10
95
700
s
s
-K-
Constant13
=
1
Model Sim
Model SimConvert
Convert
Convert
Convert
Convert
Convert
Convert
Convert
ConvertData type conversion16
Data type conversion14
Data type conversion13
Data type conversion1
Saturation3
Saturation4
Saturation5
15000
15000
spd
0spd
pos95pos
position fdbcmd pos
pos
pos
spdspd
rotor speed
position out
speed outWork-
Work-4
HDL cosimulation3
HDL cosimulation
Current2
Speed and fdb
Positionspeedcontroller-2
Position cmd and fdb
Position fdbGain10
Gain2954929
0
95
1000
0
Constant9
Constant15
Constant22
Constant23
Constant24
cmd iq
cmd id
d
d
q
q
addressinfo a
info b
info c
PWM1
PWM2
PWM3
PWM4
PWM5
PWM6
address shift
Address
Address
shift1
y fcn u
EmbeddedMATLAB function1
d-q1
N m
Tm
A
0001Constant13
Speed fdb
DC voltagesource1
B
C S
Permanent magnetsynchronous machine1
Stator current1Continuous
Subsystem1
In1Conn1
In2Conn2
In3Conn3
In4Conn4
In5Conn5
In6Conn6
powergui1
PMSM-2
=
ltRotor speed wm (rads)gtltElectromagnetic torque Te ltRotor angle thetam (rad)gtltStator current is d (A)gtltStator current is q(A)gtltStator current is a (A)gtltStator current is b (A)gt
Torque1
Convert
Convert
Convert
Convert
Convert
Convert
0
95
cmd
3
controller-2
95
700
s
Gain3
Gain4
Gain5
=
Model Sim
Model SimConvert
Convert
Convert
Convert
Convert
Convert
Convert
Convert
ConvertData type conversion16
Data type conversion14
Data type conversion13
Data type conversion1
Saturation3
Saturation4
Saturation5
15000
15000
spd
0spd
pos95pos
position fdbcmd pos
pos
pos
spdspd
rotor speed
position out
speed outWork-
Work-6
HDL cosimulation3
HDL cosimulation
Current2
Speed and fdb
Positionspeedcontroller-3
Position cmd and fdb
Position fdbGain10
Gain2954929
0
95
1000
0
Constant9
Constant15
Constant22
Constant23
Constant24
cmd iq
cmd id
d
d
q
q
addressinfo a
info b
info c
PWM1
PWM2
PWM3
PWM4
PWM5
PWM6
address shift
shift1
y fcn u
EmbeddedMATLAB function1
d-q1
N m
Tm
A
0001Constant13
Speed fdb
DC voltagesource1
B
C S
Permanent magnetsynchronous machine1
Stator current1Continuous
Subsystem1
In1Conn1
In2Conn2
In3Conn3
In4Conn4
In5Conn5
In6Conn6
powergui1
PMSM-3
=
ltRotor speed wm (rads)gtltElectromagnetic torque Te ltRotor angle thetam (rad)gtltStator current is d (A)gtltStator current is q(A)gtltStator current is a (A)gtltStator current is b (A)gt
Torque1
Convert
Convert
Convert
Convert
Convert
Convert
0
95
5
controller-3
95
700
s
s
Gain3
Gain4
Gain5
d-q1
=
ltStator current is c (A)gt
Model Sim
(1(2lowastpi))lowast10000
(1(2lowastpi))lowast10000
(1(2lowastpi))lowast10000
(Nlowastm)gt
(Nlowastm)gt
(Nlowast
Address
m)gt
-K-
-K-
-K-
-K-
-K-
-K-
KpKp
Kp
Kp
Kp
Kp
Ki
Ki
Ki
Ki
Ki
Ki
KpKp
Kp
Kp
Kp
Kp
Ki
Ki
Ki
Ki
Ki
Ki
ltStator current is c (A)gt
ltStator current is c (A)gt
plusmn
plusmn
plusmn
Figure 5 SimulinkModelSim cosimulation architecture for three-axis motion control system
8 Mathematical Problems in Engineering
0
25
50
Time (s)0 01 02 03 04 05 06 07 08 09 1
Positioncommand
Positionfeedback
Posit
ion
(mm
)
(a)
Time (s)0 01 02 03 04 05 06 07 08 09 1
Curr
ent (
A)
id iq09760488
0minus0488minus0976
(b)
Figure 6 Single-axis PMSM (a) step position response (b) current response
0
1
2
3
4
5
6
7
8
9
10
0 1 2 3 4 5 6 7 8 9 10
(mm)
(mm
)
Positioncommand
Positionfeedback
(a)
(mm
)
0184
0185
0186
0187
0188
0 01 02 03 04 05 06 07 08
Overall tracking error
(mm
)
0 01 02 03 04 05 06 07 08
015
02
0
minus 015
minus 02
0 01 02 03 04 05 06 07 08
Time (s)
015
02
0
(mm
)
minus 015
minus 02
x-axis error
y-axis error
(b)
Positioncommand Position
feedback
0
25
50
75
10
(mm
)
Positioncommand Position
feedback
0
25
50
75
10
(mm
)
0 01 02 03 04 05 06 07 08Time (s)
0 01 02 03 04 05 06 07 08
x-axis position
y-axis position
(c)
minus0195
minus0097
0
0097
0195
(A)
iq id
id
x-axis current
0 01 02 03 04 05 06 07 08
minus0195
minus0097
0
0097
0195
(A)
iqy-axis current
0 01 02 03 04 05 06 07 08
Time (s)
(d)
Figure 7 (a) Circular motion trajectory tracking (b) tracking error (c) position response (d) current response
Mathematical Problems in Engineering 9
0 1 2 3 4 5
0
05
1
15
2
25
3
35
4
45
5
Positioncommand
Positionfeedback
(mm
)
(mm)
(a)
0
02
04
Overall tracking error
0 02 04 06 08 10 12 14 1617
(mm
)
0 02 04 06 08 10 12 14 1617
-axis error
02
0
minus02
(mm
)
0 02 04 06 08 10 12 14 1617
Time (s)
-axis error02
0
minus02
(mm
)
y
x
(b)
0
10
20
3 0
4 0
5 0
Positioncommand
Positionfeedback(m
m)
0 02 04 06 08 10 12 14 16 17
0 02 04 06 08 10 12 14 16 17
Positioncommand
Positionfeedback
0
10
20
3 0
4 0
5 0
(mm
)
Time (s)
-axis position
-axis positiony
x
(c)
0 02 04 06 08 10 12 14 16 17Time (s)
0195
0097
0
minus0097
minus0195
(A)
-axis current
0 02 04 06 08 10 12 14 16 17
-axis current0195
0097
0
minus0097
minus0195
(A)
iq
iq
id
id
y
x
(d)
Figure 8 (a) Window motion trajectory tracking (b) tracking error (c) position response (d) current response
the current in 119894119889 axis approaches zero which presents thesuccess of the vector control in PMSM drive Further inthe two-axis simultaneous motion trajectory the circularmotion trajectory control with center (5 5) mm and radius10mm is evaluated and the simulation results in motiontrajectory tracking tracking error position response andcurrent response are shown in Figure 7 In this design theKp and Ki gains in position controller are respectivelychosen by (18000 0) (19000 95) in 16bit-Q15 format Thetracking errors in Figure 7(b) show the maximum plusmn018mm
in 119909-axis table maximum plusmn018mm in 119910-axis table andless than 01855mm in overall circular motion trackingIt demonstrates a good tracking Additionally the currentresponse of 119894119889-axis both in 119909- and 119910-axis motors all can becontrolled to zero which presents the success of the vectorcontroller In the window tracking motion the trajectory isdesigned as Figure 3(a) and its simulation results in motiontrajectory tracking tracking error position response andcurrent response are shown in Figure 8 In this design theKp and Ki gains in position controller are respectively
10 Mathematical Problems in Engineering
0
05
10
15
20
25
30
35
40
45
50
(mm
)
(mm)0 05 10 15 20 25 30 35 40 45 50
Positioncommand
Positionfeedback
(a)
y-axis error
0 02 04 06 08 10 12 14 16 18 20 22
019
008
0
minus008
minus019
(mm
)
Overall tracking error02
015
01
005
00 02 04 06 08 10 12 14 16 18 20 22
(mm
)
-axis error
0 02 04 06 08 10 12 14 16 18 20 22
019
008
0
minus008
minus019
(mm
)Time (s)
x
(b)
Positioncommand
Positionfeedback
50
40
30
20
10
0
(mm
)
0 02 04 06 08 10 12 14 16 18 20 22
Positioncommand
Positionfeedback
50
40
30
20
10
0
(mm
)
0 02 04 06 08 10 12 14 16 18 20 22Time (s)
-axis position
-axis positiony
x
(c)
0 02 04 06 08 10 12 14 16 18 20 22
0 02 04 06 08 10 12 14 16 18 20 22Time (s)
-axis current
-axis current
iq
iq
id
id
0097
0048
0
minus0048
minus0097
minus0146
(A)
0097
0048
0
minus0048
minus0097
minus0146
(A)
y
x
(d)
Figure 9 (a) Star motion trajectory tracking (b) tracking error (c) position response (d) current response
chosen by (15000 0) (25000 95) in 16bit-Q15 formatThe tracking errors in Figure 8 show the maximumplusmn0185mm in 119909-axis table maximum plusmn0178mm in 119910-axistable and less than 019mm in overall motion trackingIn the star tracking motion the trajectory is designed asFigure 3(b) and its simulation results are shown in Figure 9In this experiment the Kp and Ki gains in position controllerare respectively chosen by (15000 0) (25000 95) in 16bit-Q15 format The tracking errors in Figure 9(b) show themaximum plusmn014mm in 119909-axis table maximum plusmn014mmin 119910-axis table and less than 017mm in overall star motion
tracking The results show a good tracking response in bothwindow and star motion trajectory Finally the three-axissimultaneous motion trajectory which is helical circulartrajectory is evaluated and their simulation tracking resultsare shown in Figure 10 respectively In this design theKp and Ki gains in position controller are respectivelychosen by (18000 0) (19000 95) in 16bit-Q15 format InFigure 10(b) the tracking errors show that it can keep withinplusmn0185mm in 119909- and 119910-axis table motion and plusmn019mmin 119911-axis table motion which reveals a good trackingresponse Therefore Figure 16 shows a good tracking result
Mathematical Problems in Engineering 11
0 1 2 3 4 5 6 7 8 9 10
0123456
0
1
2
3
4
5
6
78910
x (mm)y (mm)
z(m
m)
Positioncommand
Positionfeedback
(a)
minus020
02
0 02 04 06 08 10 12
Time (s)
-axis error
(mm
)
018550186
01865
0 02 04 06 08 10 12
Time (s)
(mm
)
Overall tracking error
minus020
02
0 02 04 06 08 10 12
Time (s)
-axis error
(mm
)0
0005001
0 02 04 06 08 10 12
Time (s)
-axis error(m
m)
y
x z
(b)
Figure 10 (a) Helical circular motion trajectory and (b) tracking results
FPGAcontroller
3-axis motor drivers
XYZ table
Figure 11 Experimental system
0 4 8 12 16 20 24012345
Time (s)
Posit
ion
(mm
)
Tableposition
Positioncommand
(a)
Curr
ent (
A)
0 4 8 12 16 20 24Time (s)
1
05
0
minus05
minus1
id
iq
(b)
Figure 12 119909-axis table (a) position step response (b) current response
12 Mathematical Problems in Engineering
0 10 20 30 40 50 60 70 80 90 100
(mm
)
0
10
20
30
40
50
60
70
80
90
100
(mm)
Tableposition
Positioncommand
(a)
Overall tracking error
0 33 67 10 133 167 20
0 33 67 10 133 167 20
0 33 67 10 133 167 20
0
02
04
06
08
(mm
)
minus05
0
05
-axis tracking error
(mm
)
minus04
minus02
0
02
04-axis tracking error
Time (s)
(mm
)
x
y
(b)
Tableposition Position
command
-axis position
0
50
100
(mm
)
0 33 67 10 133 167 20
0 33 67 10 133 167 20
Time (s)
TablepositionPosition
command
-axis position
0
50
100
(mm
)
x
y
(c)
-axis current
id
iq
minus1
0
05
1
(A)
0 33 67 10 133 167 20
0 33 67 10 133 167 20
-axis current
id
iq
minus15
minus1
minus05
0
05
1
(A)
Time (s)
minus05
x
y
(d)
Figure 13 (a) Circular motion trajectory tracking (b) tracking error (c) position response (d) current response
in 3-axis motion tracking Further Figures 6sim10 presentthat the three-axis motion control system tested throughModelSimSimulink cosimulation is effectiveness andcorrectness After confirming the success of the proposedthree-axis positionspeedcurrent controller IP it willdirectly apply to FPGA to be further evaluated
5 Experimental System and Results
51 Experimental System The overall experimental systemshown in Figure 11 includes an FPGA control board three
sets of voltage source IPM-based (Intelligent PowerModules)inverter and an XYZ table which is driven by three PMSMsand three ball-screwsThe power rating voltage current andrating speed of PMSM are 200W 92V 16 A and 3000 rpmrespectively A 2500 ppr rotary encoder attached to PMSMis used to measure the motorrsquos electrical angle Each ball-screw has 5mm lead Inside IPM it has 6 sets of IGBT typepower transistors with emitter of the rated voltage of 600Vcollector DC current rating of 20A and a short time (1ms)rated current of 40A Photo coupler IC adopts TLP250whoseoutput has push-pull amplifier functions The FPGA uses
Mathematical Problems in Engineering 13
(mm
)
0
10
20
30
40
50
60
70
80
90
100
(mm)0 10 20 30 40 50 60 70 80 90 100
Tableposition
Positioncommand
(a)
0 3 6 9 12 15 18 21 24 27 30
Time (s)0 3 6 9 12 15 18 21 24 27 30
0 3 6 9 12 15 18 21 24 27 30
0
01
02
(mm
)
Overall tracking error
minus02
minus01
0
01
02
(mm
)
-axis tracking error
minus02minus01
00102
(mm
)
-axis tracking error
x
y
(b)
Positioncommand
-axis position
Tableposition
0 6 12 18 24 30
Time (s)0 6 12 18 24 30
0
50
100
(mm
)
Positioncommand
-axis position
Tableposition
0
50
100
(mm
)
y
x
(c)
minus05
0
05
0 6 12 18 24 30
Time (s)0 6 12 18 24 30
(A)
minus05
0
05
(A)
-axis current
id
id
iq
iq-axis currenty
x
(d)
Figure 14 (a) Window motion trajectory tracking (b) tracking error (c) position response (d) current response
Cyclone IV-EP4CE115 which is the kernel of this systemThere are 114480 LEs (Logic Elements) 3981312 RAM bitsand 150 embedded multipliers in the Cyclone IV Further aNios II processor can be embedded into FPGA to establishSoC environment
52 Experimental Results In experiment the one-dimen-sional motion trajectory is firstly tested The step signal with
18Hz square wave and 5mm amplitude is sent to the 119909-axis tables as the position command to cause tables motionThe experimental results in position response and currentresponse using FC are shown in Figure 12 In Figure 12(a)the position response with 02 second rising time and 2overshoot and near zero steady state zero which shows agood response performance In Figure 12(b) the current in 119894119889
axis approaches zero which reveals the success of the vectorcontrol in PMSMdrive To evaluate the tracking performance
14 Mathematical Problems in Engineering
(mm
)
0
10
20
30
40
50
60
70
80
90
100
(mm)0 10 20 30 40 50 60 70 80 90 100
Tableposition
Positioncommand
(a)
Overall tracking error
-axis tracking error
-axis tracking error
Time (s)
0 10 20 30
0 10 20 30
0 10 20 30
0
04
06
08
02
0
04
02
(mm
)(m
m)
minus02
minus04
0
1
(mm
)
minus05
05y
x
(b)
0 10 20 30
Time (s)0 10 20 30
-axis position
Positioncommand
Positioncommand
-axis position
Tableposition
Tableposition
0
50
100
(mm
)
0
50
100
(mm
)
y
x
(c)
minus05
minus1
0
1
05
Time (s)0 10 20 30
0 10 20 30
(A)
minus05
minus1
minus15
0
1
05
(A)
id
id
iq
iq
-axis current
-axis current
y
x
(d)
Figure 15 (a) Star motion trajectory tracking (b) tracking error (c) position response (d) current response
in multiaxis motion table the indices are firstly defined asfollows
119879 (119896) = radic
119899
sum
119894=1
(119878lowast119901119894
(119896) minus 119878119901119894 (119909))2
119898119905119890 =
119898
sum
119896=1
119879 (119896)
119898
(25)
where 119879(119896) 119878lowast119901119894(119896) 119878119901119894(119896) 119899 119898 and 119898119905119890 respectively repre-
sent instantaneous error 119894th-axis position command 119894th-axisposition feedback number of motion table total acquisitiondata and mean tracking error Further in two-dimensionalmotion trajectory the circular motion trajectory control withcenter (50 50) mm and radius 25mm is evaluated and theexperimental results in motion trajectory tracking trackingerror position response and current response using same FCare shown in Figure 13 The tracking errors in Figure 13(b)show the maximum plusmn046mm in 119909-axis table maximum
Mathematical Problems in Engineering 15
0 20 40 60 80 100
020
4060
80100
051015202530
Y (mm)
Z(m
m)
Tableposition
Positioncommand
X (mm)
(a)
00102
0 67 133 20 267 333 40 467 533 60
Time (s)
(mm
)
Overall tracking error
0 67 133 20 267 333 40 467 533 60
Time (s)
(mm
)
minus020
02-axis tracking error
0 67 133 20 267 333 40 467 533 60
Time (s)
(mm
)
minus020
02-axis tracking error
0 67 133 20 267 333 40 467 533 60
Time (s)(m
m)
minus0010
001002
-axis tracking error
y
x z
(b)
Figure 16 (a) Helical circular motion trajectory and (b) tracking results
0020
4060
80
01020
50
100
150
200
250
Y (mm)
Z(m
m)
Position commandTracking response
X (mm)
(a)
Three axis
0 50 100 150 200
Time (s)
minus01
0
01
02
Trac
king
erro
r(m
m)
-axis
0 50 100 150 200
Time (s)
minus01
0
01
02
Trac
king
erro
r(m
m)
-axis
0 50 100 150 200
Time (s)
minus02
0
02
Trac
king
erro
r(m
m)
-axis
0 50 100 150 200
Time (s)
minus01
0
01
02
Trac
king
erro
r(m
m)
x
zy
(b)
Figure 17 Motion trajectory tracking and tracking error of STUST character
16 Mathematical Problems in Engineering
plusmn035mm in119910-axis table and 01759mmmean tracking errorin overall circularmotion It presents a good contour trackingresult Additional the current response of 119894119889-axis both in119909- and 119910-axis motors all can be controlled to zero whichpresents the success of the vector controller In the windowtracking motion the trajectory is designed as Figure 3(a)and its experimental results in motion trajectory trackingtracking error position response and current response areshown in Figure 14The tracking errors in Figure 14 show themaximum plusmn02mm in 119909-axis table maximum plusmn02mm in119910-axis table and 0054mm mean tracking error in overallmotion In the star trackingmotion the trajectory is designedas Figure 3(b) and its experimental results are shown inFigure 15 The tracking errors in Figure 15 show the maxi-mum plusmn04mm in 119909-axis table maximum plusmn055mm in 119910-axis table and 00698mm mean tracking error in overallstar motion However the larger tracking error in bothwindow and starmotion trajectory occurred at the position ofcommand suddenly changed otherwise the tracking error isvery smallThe results show a good contour tracking responsein both window and star motion trajectory Finally thethree-dimensional motion trajectory which is helical circulartrajectory and ldquoSTUSTrdquo character trajectory are evaluatedand their experimental tracking results are shown in Figures16 and 17 respectively In Figure 16(b) the tracking errorsshow that it can keep within plusmn02mm in 119909- and 119910-axis tablemotion plusmn001mm in 119911-axis table motion and 01162mmmean tracking error in overall helical circular motion whichreveals a good tracking response In performing themotion ofldquoSTUSTrdquo character the 119911-axis table just runs the up and downmotion the ldquoSTUSTrdquo character is drawn by the simultaneousmotion of 119909- and 119910-axis table The tracking error in Figure 17shows the maximum plusmn03mm in 119909-axis 119910-axis and 119911-axis table and less than 03mm in overall motion trackingTherefore Figures 16sim17 show a good tracking result in 3Dmotion contour tracking Therefore Figures 12sim17 presentthat the proposed FPGA-based multiaxis motion control ICis effectiveness and correctness
6 Conclusions
The FPGA-based multiaxis motion controller has been suc-cessfully demonstrated from ModelSimSimulink cosimula-tion to FPGA realization experiment in this paper For amultiaxis motion controller system DSP and FPGA all canprovide a good solution in implementation However dueto one DSP chip only can support one CPU inside and 12channels PWM output and 2 QEP output in its peripheralcircuit it is suitable for a two-axis motion controller systemIf we want to realize a multiaxis motion controller systemit needs several DSP chips In contrast with DSP FPGA hasthe properties of fast computing power parallel processingand hardware-software codesign which cause the multiaxismotion controller system to be implemented by one FPGAchip Finally the work herein is summarized as follows
(a) The functionalities required to build amultiaxis servocontroller and motion trajectory planning can beintegrated in one FPGA chip
(b) The computation of key algorithms such as SVPWMCCCT and FC in PMSM drive can be completedwithin 2 120583s by FPGA implementation
(c) The VHDL code of the proposed multiaxis servocontroller IP has been effectively verified from Mod-elSimSimulink cosimulation results
(d) Some experimental results by position step responsecircular window star and helical circular motiontrajectory tracking the specific character (ldquoSTUSTrdquo)motion trajectory tracking and so forth have revealedthat the proposed FPGA-based multiaxis motioncontroller is effectiveness and correctness
Conflict of Interests
The authors declare that there is no conflict of interestsregarding the publication of this paper
References
[1] J U Cho Q N Le and J W Jeon ldquoAn FPGA-based multiple-axis motion control chiprdquo IEEE Transactions on IndustrialElectronics vol 56 no 3 pp 856ndash870 2009
[2] X Shao and D Sun ldquoDevelopment of a new robot controllerarchitecture with FPGA-based IC design for improved high-speed performancerdquo IEEE Transactions on Industrial Informat-ics vol 3 no 4 pp 312ndash321 2007
[3] S S Yeh and J T Sun ldquoDesign of perfectly matched zero-phaseerror tracking control formulti-axismotion control systemsrdquo inProceedings of the SICE Annual Conference pp 528ndash533 August2012
[4] Y S Kung R F Fung and T Y Tai ldquoRealization of a motioncontrol IC forX-Y table based onnovel FPGA technologyrdquo IEEETransactions on Industrial Electronics vol 56 no 1 pp 43ndash532009
[5] S-S Yeh and P-L Hsu ldquoAnalysis and design of integratedcontrol for multi-axis motion systemsrdquo IEEE Transactions onControl Systems Technology vol 11 no 3 pp 375ndash382 2003
[6] Z Zhou T Li T Takahashi and E Ho ldquoFPGA realization of ahigh-performance servo controller for PMSMrdquo in Proceedingsof the 19th Annual IEEE Applied Power Electronics Conferenceand Exposition (APEC rsquo04) vol 3 pp 1604ndash1609 AnaheimCalif USA February 2004
[7] B K Bose Power Electronics and ACDrives Prentice Hall 1986[8] V Wilson P Agarwal and S P Srivastava ldquoPerformance
investigation of DSP based self-controlled PMSM driverdquo inProceedings of the Annual IEEE India Conference (INDICONrsquo12) pp 238ndash243 Kochi India December 2012
[9] E Monmasson L Idkhajine M N Cirstea I Bahri A Tisanand M W Naouar ldquoFPGAs in industrial control applicationsrdquoIEEE Transactions on Industrial Informatics vol 7 no 2 pp224ndash243 2011
[10] E Monmasson L Idkhajine and M W Naouar ldquoFPGA-basedcontrollersrdquo IEEE Industrial Electronics Magazine vol 5 no 1pp 14ndash26 2011
[11] Y S Kung V Q Nguyen T H Nguyen C-C Huang andL-C Huang ldquoSimulinkmodelsim co-simulation and FPGArealization of speed control IC for PMSM driverdquo ProcediaEngineering vol 23 pp 718ndash727 2011
Mathematical Problems in Engineering 17
[12] L Idkhajine E Monmasson M W Naouar A Prata andK Bouallaga ldquoFully integrated FPGA-based controller forsynchronous motor driverdquo IEEE Transactions on IndustrialElectronics vol 56 no 10 pp 4006ndash4017 2009
[13] B Alecsa M N Cirstea and A Onea ldquoSimulink modelingand design of an efficient hardware-constrained FPGA-basedPMSM speed controllerrdquo IEEE Transactions on Industrial Infor-matics vol 8 no 3 pp 554ndash562 2012
[14] H-H Chou Y-S Kung N Q Quynh and S Cheng ldquoOpti-mized FPGA design verification and implementation of aneuro-fuzzy controller for PMSM drivesrdquo Mathematics andComputers in Simulation vol 90 pp 28ndash44 2013
[15] Y Li J Huo X Li J Wen YWang and B Shan ldquoAn open-loopsinmicrostepping driver based on FPGA and the co-simulationof modelsim and simulinkrdquo in Proceedings of the InternationalConference on Computer Mechatronics Control and ElectronicEngineering (CMCE rsquo10) pp 223ndash227 August 2010
[16] The Mathworks ldquoMatlabSimulink Users Guide ApplicationProgram Interface Guiderdquo 2004
[17] ModeltechModelSim Reference Manual 2004[18] F-J Lin P-H Shieh and P-H Shen ldquoRobust recurrent-neural-
network sliding-mode control for the X-Y table of a CNCmachinerdquo IEE Proceedings ControlTheory andApplications vol153 no 1 pp 111ndash123 2006
Submit your manuscripts athttpwwwhindawicom
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
MathematicsJournal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Mathematical Problems in Engineering
Hindawi Publishing Corporationhttpwwwhindawicom
Differential EquationsInternational Journal of
Volume 2014
Applied MathematicsJournal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Probability and StatisticsHindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Journal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Mathematical PhysicsAdvances in
Complex AnalysisJournal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
OptimizationJournal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
CombinatoricsHindawi Publishing Corporationhttpwwwhindawicom Volume 2014
International Journal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Operations ResearchAdvances in
Journal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Function Spaces
Abstract and Applied AnalysisHindawi Publishing Corporationhttpwwwhindawicom Volume 2014
International Journal of Mathematics and Mathematical Sciences
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
The Scientific World JournalHindawi Publishing Corporation httpwwwhindawicom Volume 2014
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Algebra
Discrete Dynamics in Nature and Society
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Decision SciencesAdvances in
Discrete MathematicsJournal of
Hindawi Publishing Corporationhttpwwwhindawicom
Volume 2014 Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Stochastic AnalysisInternational Journal of
2 Mathematical Problems in Engineering
applied to verify the effectiveness of the HDL (HardwareDescription Language) code in the motor drive system [13ndash15] The EDA Simulator Link [16] provides a cosimulationinterface between Simulink and ModelSim [17] where youcan use Simulink models as a test bench that generatesstimulus forModelSim and analyzes the simulationrsquos response[16] Therefore before the FPGA realization a cosimula-tion work by EDA Simulator Link will be applied to themultiaxis motion control system in this paper The multi-PMSMs multi-inverters a motion trajectory planning andmotion position response are performed in Simulink andthe positionspeedcurrent controller IP (Intellectual Prop-erty) which is described by VHDL code is executed inModelSim After successful verification in simulation thepositionspeedcurrent controller IP can be directly used inthe FPGA
The realization in this paper is the SoPC technology inwhich FPGA embedding a Nios II processor is establishedto develop a multiaxis motion control IC and it is shownin Figure 1 It includes multiple servo controllers IP and oneNios II processor in a FPGA Each servo controller IP per-forms the function of positionspeedcurrent controller foreach PMSMdrive andNios II processor executes the functionofmotion trajectory planning In addition the detailed insidearchitecture of the proposed multiaxis motion control IC inFPGA is presented in Figure 2 In servo controller IP thevector control is adopted in the current loop P controller isused in the speed loop and fuzzy controller is applied in theposition loop for each PMSM drive However the multiaxismotion control IC shown in Figure 1 can be applied multiaxisautomatic equipment such as XYZ table SCARA robot armvertical-type robot arm and CNC machine
2 Modelling Control and MotionTrajectory Design
Figure 2 includes multiple servo controllers IPs and one NiosII processor in a FPGA Each servo controller IP performsthe function of positionspeedcurrent controller for onePMSM drive and Nios II processor executes the function ofmotion trajectory planning Detailed design methodology isdescribed as follows
21 Mathematical Model of Single-Axis Table The typicalmathematical model of a PMSM is described in two-axis d-qsynchronous rotating reference frame as follows
119889119894119889
119889119905= minus
119903119904
119871119889
119894119889 + 120596119890
119871119902
119871119889
119894119902 +1
119871119889
V119889
119889119894119902
119889119905= minus120596119890
119871119889
119871119902
119894119889 minus119903119904
119871119902
119894119902 minus 120596119890
120582119891
119871119902
+1
119871119902
V119902
(1)
where V119889 V119902 are the 119889- and 119902-axis voltages 119894119889 119894119902 are the 119889-and 119902-axis currents 119903119904 is the phase winding resistance 119871119889 119871119902are the 119889- and 119902-axis inductance 120596119890 is the rotating speed ofmagnet flux 120582119891 is the permanent magnet flux linkage
The current loop control of PMSM drive in Figure 2is based on a vector control approach That is if the 119894119889 is
controlled to 0 the PMSM will be decoupled and controllinga PMSMwill be similar to controlling a DCmotorThereforeafter decoupling the torque of PMSM can be written as thefollowing equation
119879119890 =3119875
4120582119891119894119902 ≜ 119870119905119894119902 (2)
with
119870119905 =3119875
4120582119891 (3)
119879119890 is the motor torque and 119875 is pole pairs Thus consideringthe mechanical load the overall dynamic equation of lineartable system is obtained by
119879119890 minus 119879119871 = 119869119898
2120587
119903119887
1198892119904119901119894
1198891199052+ 119861119898
2120587
119903119887
119889119904119901119894
119889119905 (4)
119870119905 is force constant 119869119898 is the inertial value 119861119898 is dampingratio 119879119871 is the external torque 119904119901119894 represents the displace-ment in 119894-axis table 119903119887 is the lead of the ball screw
22 Fuzzy Controller (FC) Design The FC in this study usessingleton fuzzifier triangularmembership function product-inference rule and central average defuzzifier method InFigure 2 the tracking error 119890 and the error change 119889119890 aredefined by
119890 (119896) = 119904lowast
119901119894(119896) minus 119904119901119894 (119896)
119889119890 (119896) = 119890 (119896) minus 119890 (119896 minus 1)
(5)
where 119906119891 represents the output of the FC 119878lowast
119901119894(119896) 119878119901119894(119896)
represent 119894th-axis position command and 119894th-axis positionfeedback respectively The design procedure of the FC isdescribed as follows
(a) Take 119890 119889119890 as the input variable of FC and define theirlinguist variables as 119864 and dE The linguist values of119864 and 119889119864 are 1198600 1198601 1198602 1198603 1198604 1198605 1198606 and 1198610119861111986121198613119861411986151198616 respectively Each linguist valueof 119864 and dE is based on the symmetrical triangularmembership function
(b) Compute themembership degree of 119890 and119889119890 It is onlytwo linguistic values which are excited (resulting in anonzero membership) in any input value Thereforethe membership degree 120583119860119894(119890)
can be straightfor-wardly obtained by
120583119860119894(119890) =
119890119894+1 minus 119890
2 120583119860119894+1
(119890) = 1 minus 120583119860119894(119890) (6)
and 119890119894+1 ≜ minus6 + 2lowast(119894 + 1) Similar results can
be obtained in computing the membership degree120583119861119895
(119889119890)(c) Select the initial FC rules by referring to the dynamic
response characteristics such as
IF 119890 is 119860 119894 and Δ119890 is 119861119895 THEN 119906119891 is 119888119895119894
for 119894 119895 = 0 sim 6
(7)
Mathematical Problems in Engineering 3
Digital circuit ofposition
speedcurrentcontroller IP-1
FPGA-based multiaxis motion control IC
Nios II processor
FPGA
For motion trajectoryplanning
Digital circuit ofposition
speedcurrentcontroller IP-2
Digital circuit ofposition
speedcurrentcontroller IP-n
EncoderPMSM
Load
EncoderPMSM
Load
EncoderPMSM
Load
Vertical-typerobot arm
XYZ table
SCARArobot arm
2nd axis (J2)
(+)
(+)
(+)
(+)
(minus)
(minus)
(minus)
(minus)
1st axis (J1)
3rd axis (Z)
4th axis (T)
CPU
On-chipROM
On-chipRAM
UART
PIO
Timer
SPI
SDRAMcontroller
Aval
on b
us Applied to
Figure 1 FPGA-based multiaxis motion control IC and its applications
where 119860 119894 and 119861119895 are fuzzy number and 119888119895119894 is realnumber
(d) Establish the fuzzy system 119906119891(119890 119889119890) by using the sin-gleton fuzzifier product-inference rule and centralaverage defuzzifier method Although there are total49 fuzzy rules that will be inferred actually only 4fuzzy rules can be effectively excited to generate anonzero output Therefore the output of the fuzzyinference can be obtained by the following expression
119906119891 (119890 119889119890) =
sum119894+1
119899=119894sum119895+1
119898=119895119888119898119899 [120583119860119899
(119890) lowast 120583119861119898(119889119890)]
sum119894+1
119899=119894sum119895+1
119898=119895120583119860119899
(119890) lowast 120583119861119898(119889119890)
≜
119894+1
sum
119899=119894
119895+1
sum
119898=119895
119888119898119899 lowast 119889119899119898
(8)
where 119889119899119898 ≜ 120583119860119899(119890) lowast 120583119861119898
(119889119890) and sum119894+1
119899=119894sum119895+1
119898=119895119889119899119898 = 1
23 Motion Trajectory Planning The circular window starand helical circular motion trajectories are typically used [18]as the performance evaluation of the motion controller forXYZ table
(a) Circular motion trajectory it is computed as follows
119909119894 = 119903 sin (120579119894)
119910119894 = 119903 cos (120579119894)(9)
with 120579119894 = 120579119894minus1 + Δ120579 where Δ120579 119903 119909119894 119910119894 are angleincrement radius119909-axis trajectory command and119910-axis trajectory command respectively
(b) Windowmotion trajectory it is shown in Figure 3(a)The formulation is derived as followsa-trajectory
119909119894 = 119909119894minus1 119910119894 = 119878 + 119910119894minus1 (10)
b-trajectory
(120579119894 6
4120587 997888rarr 2120587 120579119894 = 120579119894minus1 + Δ120579)
119909119894 = 1198741199091 + 119903 cos (120579119894) 119910119894 = 1198741199101 + 119903 sin (120579119894)
(11)
c-trajectory
119909119894 = 119878 + 119909119894minus1 119910119894 = 119910119894minus1 (12)
d-trajectory
(120579119894 120587 997888rarr6
4120587 120579119894 = 120579119894minus1 + Δ120579)
119909119894 = 1198741199092 + 119903 cos (120579119894) 119910119894 = 1198741199102 + 119903 sin (120579119894)
(13)
e-trajectory
119909119894 = 119909119894minus1 119910119894 = minus119878 + 119910119894minus1 (14)
f-trajectory
(120579119894 1
2120587 997888rarr 120587 120579119894 = 120579119894minus1 + Δ120579)
119909119894 = 1198741199093 + 119903 cos (120579119894) 119910119894 = 1198741199103 + 119903 sin (120579119894)
(15)
4 Mathematical Problems in Engineering
CPU
On-chipROM
On-chipRAM
UART
PIO
Timer
SPI
SDRAMcontroller
Aval
on b
us
PWM1PWM2PWM3PWM4PWM5PWM6
PWM1PWM2PWM3PWM4PWM5PWM6
Fuzzy controller
Fuzzy controller
Position controller
Position controller
Positionspeedcurrent controller IP-1
Speed controller
Speed controller
SVPWM
SVPWM
ADCinterface
circuit
ADCinterface
circuit
QEP interfacecircuit
QEP interfacecircuit
Current vector controller
Current vector controller
Nios II processor
FPGA
Positionspeedcurrent controller IP-n
Slowastp1 +
+
+
+
+
+
+
+
minus
minus
minus
minus
minus
minus
minus
minus
Sp1
1 minus zminus1
1 minus zminus1
K
K
ilowastd = 0
ilowastd = 0
ilowastq
ilowastq
PI
PI
PI
PI
vd
vq
id
iq
id
iq
Park
Parkminus1
Parkminus1
120572 120573
120572 120573
120572 120573
120572 120573d q
d q
sin andcos
Park
120572 120573
120572 120573
d q
d q
sin andcos
v120572
v120573
i120572
i120573
120579e
Sp1
i120572
i120573
120579e
a b c
a b c
Clarke
clarkeModified
minus1
120572 120573
120572 120573
a b c
a b c
Clarke
Modified
Slowastp2
ABZ
ABZ
vrxvry
vrz
vd
vq
v120572
v120573
vrxvry
vrz
ia
ibic
ia
ibic
iu
iw
iu
iw
Slowastpn
Spn
Spn
clarkeminus1
Figure 2 The inside architecture of FPGA-based multiaxis positionspeedcurrent control IC
Start
a
bc
d
e
f
g
h
i
(Ox1 Oy1)(Ox2 Oy2)
(Ox2 Oy2)
(Ox3 Oy3)(Ox4 Oy4)
x
y
(xi+1 yi+1)
(xi yi)120579iminus1
Δ120579
120579i = 120579iminus1 + Δ120579r
(a)
Starta
b
c
d
e
x
y
18∘
36∘
54∘
72∘
(b)
Figure 3 (a) Window motion trajectory (b) Star motion trajectory
Mathematical Problems in Engineering 5
g-trajectory
119909119894 = minus119878 + 119909119894minus1 119910119894 = 119910119894minus1 (16)
h-trajectory
(120579119894 0 997888rarr1
2120587 120579119894 = 120579119894minus1 + Δ120579)
119909119894 = 1198741199094 + 119903 cos (120579119894) 119910119894 = 1198741199104 + 119903 sin (120579119894)
(17)
i-trajectory
119909119894 = 119909119894minus1 119910119894 = 119878 + 119910119894minus1 (18)
where 119878 are position increment In addition the(1198741199091 1198741199101) (1198741199092 1198741199102) (1198741199093 1198741199103) (1198741199094 1198741199104) are arccenter of b- d- f- and h-trajectory in Figure 3(a)and 119903 is the radius The motion speed of the table isdetermined by Δ120579
(c) Star motion trajectory it is shown in Figure 3(b)Theformulation is derived as followsa-trajectory
119909119894 = 119878 + 119909119894minus1 119910119894 = 119910119894minus1 (19)
b-trajectory
119909119894 = minus119878 lowast sin 54∘+ 119909119894minus1 119910119894 = minus119878 lowast sin 36
∘+ 119910119894minus1 (20)
c-trajectory
119909119894 = 119878 lowast sin 18∘+ 119909119894minus1 119910119894 = 119878 lowast sin 72
∘+ 119910119894minus1 (21)
d-trajectory
119909119894 = 119878 lowast sin 18∘+ 119909119894minus1 119910119894 = minus119878 lowast sin 72
∘+ 119910119894minus1 (22)
e-trajectory
119909119894 = minus119878 lowast sin 54∘+ 119909119894minus1 119910119894 = 119878 lowast sin 36
∘+ 119910119894minus1 (23)
The motion speed of the table is determined by 119878(d) Helical circular motion trajectory it is computed as
follows
119909119894 = 119903 sin (120579119894)
119910119894 = 119903 cos (120579119894)
119911119894 = 119911119894minus1 + Δ119911
(24)
with 120579119894 = 120579119894minus1 + Δ120579 where Δ120579 Δ119911 119903 119909119894 119910119894 119911119894
are angle increment height increment radius 119909-axistrajectory command119910-axis trajectory command and119911-axis trajectory command respectively
3 Digital Circuit Design for Posi-tionSpeedCurrent Controller IP
The proposed FPGA-based three-axis motion control IC forXYZ table is shown in Figure 4 In positionspeedcurrentcontroller IP the vector control is adopted in the current loopP controller is used in the speed loop and fuzzy controller isapplied in the position loop The FPGA herein uses CycloneIV-EP4CE115 which is the product of Altera cooperationThere are 114480 LEs (Logic Elements) 3981312 RAM bitsand 150 embedded multipliers in the Cyclone IV In additiona Nios II processor is embedded into FPGA to establish anSoC environment The motion control IC comprises a NiosII embedded processor and multiple positionspeedcurrentcontroller IP for multiaxis machine The Nios II processoris utilized to perform the motion trajectory computationThe code in Nios processor is developed with C languageMain program establishes the initial parameters settingthe motion command setting and so forth and the ISR(interrupt service routine) executes the motion trajectorycomputation position command generation and sendingout to three controller IPs Each internal digital circuit ofpositionspeedcurrent controller IP is also shown in Figure 4and it includes one circuit of position FC and speed Pcontroller one circuit of current controller and coordinatetransformation (CCCT) one SVPWM one ADC interfaceand one QEP interface circuit All circuits in Figure 4 arerealized by hardware in FPGA and the circuit behavior isdescribed by VHDL The sampling frequency in positionspeed and current control loop are designed with 2 kHz2 kHz and 16 kHz respectively The operating clock of thedesigned FPGA controller is 50MHz and the frequencydivider generates another 125MHz clock to supply all mod-ule circuits in Figure 4 A finite state machine (FSM) methodis employed to model the algorithms of the position FCand speed P controller the CCCT and the SVPWM whichutilizes one adder one multiplier a look-up table compara-tors and registers to carry out the overall computation Itneeds to spend 20 steps (16 120583s) 24 steps (192 120583s) and 18steps (144 120583s) to complete the computation of positionspeedcontroller CCCT and SVPWM respectively The data typeis designed with 16-bit length 2rsquos complement and Q15format in the positionspeed controller and CCCT but 12-bit length 2rsquos complement and Q11 format in SVPWMFor detailed figures and description regarding CCCT andSVPWM refer to [4] For an example of a three-axis motioncontrol IC overall circuit included a Nios II processor andthree positionspeedcurrent controllers IP consume 22688LEs (Logic Elements) 73 embeddingmultipliers 241 IO pinsand 241792 memory bits
4 ModelSimSimulink Cosimulation andSimulation Results
The SimulinkModelSim cosimulation architecture for thethree-axis motion control system is shown in Figure 5 Eachaxis system is driven by one PMSM The SimPowerSys-tem blockset in the Simulink executes the three PMSMs
6 Mathematical Problems in Engineering
120579e addrLUT
ia
ib
ic
i120572
minus1
radic3
1
radic3
Slowastp(k)
S
1
1
p(k) Sp(k)
Sp(k minus 1)+
+
+
+
+ + + +
++
+
minus
minus
minus
minus
minus
minus
minusminus
X
X
XX
X X
X X
X
X
X
X
X
XX
X
+ +
+
++
+
+
+
+
+
+ +
+
+
+
+
minus
minus
minus
minusminus
minus
minus
i120573
v120573
vrx
vq
vq
vdvd
id
iq
ilowastq e q
d
Kp
Kp
Ki
Ki
q
d
qe q
e d
e d
i q
i di d
i q
LS 1ilowastd = 0
120572
radic3
2
120573
2
ry
rz
s0 s1 s2 s3 s4 s5 s6 s7 s8 s9 s10 s11 s12s13s14s15 s16 s17 s18 s19 s20 s21 s22 s23
Look upsincos
tableClark Park d-axis PI
controllerq-axis PIcontroller Parkminus1 Modified
minus1clark
CPU
On-chipROM
On-chipRAM
UART
PIO
Timer
SPI
SDRAMcontroller
Aval
on b
us
Nios II processorFPGA Digital circuit of
FPGA-based multiaxis motion control IC
positionspeedcurrent controller IP-1
Digital circuit of position
speedcurrent controller IP-2
Digital circuit of position
speedcurrent
Current controllers and
coordinate transformation
(CCCT)Rotary encoder
Positionspeedcurrent controller IPFrom Nios II
controller IP-n
Digital circuitof position FCand speed PI
controller
QEP interfacecircuit
k-sp
k-sp
k-posSlowastp [15 0]
Sp [15 0]
Encoder-AEncoder-BEncoder-Z
Clk
Clk
Clk Clk
ClkCl
ClClk
ClCl
Clk k-cur k-curk-sp
ilowastq [11 0]
ia [11 0]
ib [11 0]
ic [11 0]
rx [11 0]ry [11 0]rz [11 0]
ADCinterface
circuit
SVPWMgeneration
ADIN[11]
ADIN[0]BDIN[11]
BDIN[0]RCARCB
PWM-1PWM-2PWM-3PWM-4PWM-5PWM-6
Start ofmain program
Initial interrupt
Initial timer
Computation ofposition command
Loop
Start of ISR(each 200Hz)
Return
Set parametersof each axis
Read the motiontrajectory command
Computation ofposition for each axis
from motion trajectorycommand
Output the positioncommand
Generation ofsymmetric
triangular wave
Vref1
12
12
1212
12
12
120n 200n40n
CMPR1
CMPR2
CMPR3
S1
S2
S3S4
S5
State machine
SVPWM algorithm
Q 12
Comparator1
Comparator2
Comparator3
PWMEA 1
PWMEA 2
PWMEB 1
PWMEB 2
PWMEC 1
PWMEC 2
PWM1
PWM2
PWM3
PWM4
PWM5
PWM6
Vref2
Vref3
Dead-bandunit
e(k)
e(k)e(k minus 1)
1
Ts
(k)X
X
X
X
X
X
X
X
X
X
SD
SD
RS 1
RS 1
ei+1ek
120583A119894(e)
120583A119894(e)
120583A119894(e)
i
jamp Look-up
fuzzy ruletable
ji
i+1
+1i
+1i+1
de(k) dej+1
dek
120583B119895 (de)
120583B119895 (de)120583B119895 (de)
120583B119895 (de)
Computation of speed positionerror and error change Fuzzification Look-up fuzzy table
s0 s1 s2 s3 s4 s5 s6 s7
s8 s9 s10 s11 s12 s13 s14 s15 s16 s17 s18 s19
dij
dij
di+1j
120583B119895+1 (de) dij+1
di+1j+1
dij+1
di+1j
di+1j+1
uf(k)
(k) K
ilowastq (k)
Defuzzification Speed P controller
ampiji+1cj+1icj+1i+1cj
cji
cj
cj
cj
cj
addr [11 0]120579e
sin120579ecos120579e Clk
ClkClk Clk
120583A119894+1(e)
(x- and y- and z-axis)
Figure 4 Internal circuit design of the proposed FPGA-based multiaxis motion control IC
and three IGBT-based inverters The EDA Simulator Linkfor ModelSim executes the cosimulation using VHDL coderunning in ModelSim program It carries out the functionof three positionspeedcurrent controller IPs with six worksin Figure 5 The work-1 work-3 and work-5 perform thefunction of position and speed loop controller and work-2 work-4 and work-6 accomplish the function of currentvector controller which includes current PI controller coor-dinate transformation (CCCT) and space vector pulse widthmodulation (SVPWM) The signals of three-phase currentrotor speed and rotor position in PMSM-1 are respectivelyfed back to work-3 and work-1 to do the close-loop positioncontrolThe similar conditions of close-loop position controlin PMSM-2 and PMSM-3 drive system are the same Thesampling frequency in current control loop is designed with16 kHz but in positionspeed control loop is 1 kHz Themotion trajectory described in Section 23 is planned withinthe block diagram of the Matlab embedded function in
Figure 5 Matlab m-code is used to develop the program ofthe motion trajectory
In this simulation cases the following motion trajectorywill be carried out and tested (1) single-axis position stepresponse (2) circular motion trajectory tracking (two-axis simultaneous motion) (3) window motion trajectorytracking (two-axis simultaneous motion) (4) star motiontrajectory tracking (two-axis simultaneous motion) (5)helical circular motion trajectory tracking (three-axissimultaneous motion) Firstly single-axis position stepresponse is considered and the step signal with 15 s and5mm amplitude is tested The simulation results in positionresponse and current response are presented in Figure 6 Inthis simulation the Kp and Ki gains in position controllerare respectively chosen by (15000 0) and (25000 95) in16bit-Q15 format In Figure 6(a) the position responseswith 003 seconds rising time and zero overshoot and zerowhich show a good response performance In Figure 6(b)
Mathematical Problems in Engineering 7
MATLABembeddedfunction(motion
trajectory)
Model SimConvert
Convert
Convert
Convert
Convert
Convert
Convert
Convert
ConvertData type conversion16
Data type conversion14
Data type conversion13
Data type conversion1
Saturation3
Saturation4
Saturation5
15000
15000
spd
0spd
pos95pos
position fdbcmd pos
KpKp
Kp
Kp
Kp
Kp
pos
Ki
Ki
Ki
Ki
Ki
Ki
pos
spdspd
rotor speed
position out
speed outWork-1
Work-2
HDL cosimulation3
HDL cosimulation
Current2
Speed and fdb
Positionspeedcontroller-1
Position cmd and fdb
Position fdbGain10
Gain2954929
0
9
95
1000
0
Constant9
Constant15
Constant22
Constant23
Constant24
cmd iq
cmd id
d
d
q
q
addressinfo a
info b
info c
PWM1
PWM2
PWM3
PWM4
PWM5
PWM6
address shift
shift1
-K-
-K-
Gain3
Gain4
Gain5 y fcn u
EmbeddedMATLAB function1
d-q1
N m
Tm
A
0001Constant13
Speed fdb
DC voltagesource1
BC S
Permanent magnetsynchronous machine1
Stator current1Continuous
Subsystem1
In1Conn1
In2Conn2
In3Conn3
In4Conn4
In5Conn5
In6Conn6
powergui1
PMSM-1
=
ltRotor speed wm (rads)gtltElectromagnetic torque Te ltRotor angle thetam (rad)gtltStator current is d (A)gtltStator current is q(A)gtltStator current is a (A)gtltStator current is b (A)gt
Torque1
Convert
Convert
Convert
Convert
Convert
Convert
Convert
Convert
Convert
0
95
Currentcontroller-1
1
Position fdbGain10
95
700
s
s
-K-
Constant13
=
1
Model Sim
Model SimConvert
Convert
Convert
Convert
Convert
Convert
Convert
Convert
ConvertData type conversion16
Data type conversion14
Data type conversion13
Data type conversion1
Saturation3
Saturation4
Saturation5
15000
15000
spd
0spd
pos95pos
position fdbcmd pos
pos
pos
spdspd
rotor speed
position out
speed outWork-
Work-4
HDL cosimulation3
HDL cosimulation
Current2
Speed and fdb
Positionspeedcontroller-2
Position cmd and fdb
Position fdbGain10
Gain2954929
0
95
1000
0
Constant9
Constant15
Constant22
Constant23
Constant24
cmd iq
cmd id
d
d
q
q
addressinfo a
info b
info c
PWM1
PWM2
PWM3
PWM4
PWM5
PWM6
address shift
Address
Address
shift1
y fcn u
EmbeddedMATLAB function1
d-q1
N m
Tm
A
0001Constant13
Speed fdb
DC voltagesource1
B
C S
Permanent magnetsynchronous machine1
Stator current1Continuous
Subsystem1
In1Conn1
In2Conn2
In3Conn3
In4Conn4
In5Conn5
In6Conn6
powergui1
PMSM-2
=
ltRotor speed wm (rads)gtltElectromagnetic torque Te ltRotor angle thetam (rad)gtltStator current is d (A)gtltStator current is q(A)gtltStator current is a (A)gtltStator current is b (A)gt
Torque1
Convert
Convert
Convert
Convert
Convert
Convert
0
95
cmd
3
controller-2
95
700
s
Gain3
Gain4
Gain5
=
Model Sim
Model SimConvert
Convert
Convert
Convert
Convert
Convert
Convert
Convert
ConvertData type conversion16
Data type conversion14
Data type conversion13
Data type conversion1
Saturation3
Saturation4
Saturation5
15000
15000
spd
0spd
pos95pos
position fdbcmd pos
pos
pos
spdspd
rotor speed
position out
speed outWork-
Work-6
HDL cosimulation3
HDL cosimulation
Current2
Speed and fdb
Positionspeedcontroller-3
Position cmd and fdb
Position fdbGain10
Gain2954929
0
95
1000
0
Constant9
Constant15
Constant22
Constant23
Constant24
cmd iq
cmd id
d
d
q
q
addressinfo a
info b
info c
PWM1
PWM2
PWM3
PWM4
PWM5
PWM6
address shift
shift1
y fcn u
EmbeddedMATLAB function1
d-q1
N m
Tm
A
0001Constant13
Speed fdb
DC voltagesource1
B
C S
Permanent magnetsynchronous machine1
Stator current1Continuous
Subsystem1
In1Conn1
In2Conn2
In3Conn3
In4Conn4
In5Conn5
In6Conn6
powergui1
PMSM-3
=
ltRotor speed wm (rads)gtltElectromagnetic torque Te ltRotor angle thetam (rad)gtltStator current is d (A)gtltStator current is q(A)gtltStator current is a (A)gtltStator current is b (A)gt
Torque1
Convert
Convert
Convert
Convert
Convert
Convert
0
95
5
controller-3
95
700
s
s
Gain3
Gain4
Gain5
d-q1
=
ltStator current is c (A)gt
Model Sim
(1(2lowastpi))lowast10000
(1(2lowastpi))lowast10000
(1(2lowastpi))lowast10000
(Nlowastm)gt
(Nlowastm)gt
(Nlowast
Address
m)gt
-K-
-K-
-K-
-K-
-K-
-K-
KpKp
Kp
Kp
Kp
Kp
Ki
Ki
Ki
Ki
Ki
Ki
KpKp
Kp
Kp
Kp
Kp
Ki
Ki
Ki
Ki
Ki
Ki
ltStator current is c (A)gt
ltStator current is c (A)gt
plusmn
plusmn
plusmn
Figure 5 SimulinkModelSim cosimulation architecture for three-axis motion control system
8 Mathematical Problems in Engineering
0
25
50
Time (s)0 01 02 03 04 05 06 07 08 09 1
Positioncommand
Positionfeedback
Posit
ion
(mm
)
(a)
Time (s)0 01 02 03 04 05 06 07 08 09 1
Curr
ent (
A)
id iq09760488
0minus0488minus0976
(b)
Figure 6 Single-axis PMSM (a) step position response (b) current response
0
1
2
3
4
5
6
7
8
9
10
0 1 2 3 4 5 6 7 8 9 10
(mm)
(mm
)
Positioncommand
Positionfeedback
(a)
(mm
)
0184
0185
0186
0187
0188
0 01 02 03 04 05 06 07 08
Overall tracking error
(mm
)
0 01 02 03 04 05 06 07 08
015
02
0
minus 015
minus 02
0 01 02 03 04 05 06 07 08
Time (s)
015
02
0
(mm
)
minus 015
minus 02
x-axis error
y-axis error
(b)
Positioncommand Position
feedback
0
25
50
75
10
(mm
)
Positioncommand Position
feedback
0
25
50
75
10
(mm
)
0 01 02 03 04 05 06 07 08Time (s)
0 01 02 03 04 05 06 07 08
x-axis position
y-axis position
(c)
minus0195
minus0097
0
0097
0195
(A)
iq id
id
x-axis current
0 01 02 03 04 05 06 07 08
minus0195
minus0097
0
0097
0195
(A)
iqy-axis current
0 01 02 03 04 05 06 07 08
Time (s)
(d)
Figure 7 (a) Circular motion trajectory tracking (b) tracking error (c) position response (d) current response
Mathematical Problems in Engineering 9
0 1 2 3 4 5
0
05
1
15
2
25
3
35
4
45
5
Positioncommand
Positionfeedback
(mm
)
(mm)
(a)
0
02
04
Overall tracking error
0 02 04 06 08 10 12 14 1617
(mm
)
0 02 04 06 08 10 12 14 1617
-axis error
02
0
minus02
(mm
)
0 02 04 06 08 10 12 14 1617
Time (s)
-axis error02
0
minus02
(mm
)
y
x
(b)
0
10
20
3 0
4 0
5 0
Positioncommand
Positionfeedback(m
m)
0 02 04 06 08 10 12 14 16 17
0 02 04 06 08 10 12 14 16 17
Positioncommand
Positionfeedback
0
10
20
3 0
4 0
5 0
(mm
)
Time (s)
-axis position
-axis positiony
x
(c)
0 02 04 06 08 10 12 14 16 17Time (s)
0195
0097
0
minus0097
minus0195
(A)
-axis current
0 02 04 06 08 10 12 14 16 17
-axis current0195
0097
0
minus0097
minus0195
(A)
iq
iq
id
id
y
x
(d)
Figure 8 (a) Window motion trajectory tracking (b) tracking error (c) position response (d) current response
the current in 119894119889 axis approaches zero which presents thesuccess of the vector control in PMSM drive Further inthe two-axis simultaneous motion trajectory the circularmotion trajectory control with center (5 5) mm and radius10mm is evaluated and the simulation results in motiontrajectory tracking tracking error position response andcurrent response are shown in Figure 7 In this design theKp and Ki gains in position controller are respectivelychosen by (18000 0) (19000 95) in 16bit-Q15 format Thetracking errors in Figure 7(b) show the maximum plusmn018mm
in 119909-axis table maximum plusmn018mm in 119910-axis table andless than 01855mm in overall circular motion trackingIt demonstrates a good tracking Additionally the currentresponse of 119894119889-axis both in 119909- and 119910-axis motors all can becontrolled to zero which presents the success of the vectorcontroller In the window tracking motion the trajectory isdesigned as Figure 3(a) and its simulation results in motiontrajectory tracking tracking error position response andcurrent response are shown in Figure 8 In this design theKp and Ki gains in position controller are respectively
10 Mathematical Problems in Engineering
0
05
10
15
20
25
30
35
40
45
50
(mm
)
(mm)0 05 10 15 20 25 30 35 40 45 50
Positioncommand
Positionfeedback
(a)
y-axis error
0 02 04 06 08 10 12 14 16 18 20 22
019
008
0
minus008
minus019
(mm
)
Overall tracking error02
015
01
005
00 02 04 06 08 10 12 14 16 18 20 22
(mm
)
-axis error
0 02 04 06 08 10 12 14 16 18 20 22
019
008
0
minus008
minus019
(mm
)Time (s)
x
(b)
Positioncommand
Positionfeedback
50
40
30
20
10
0
(mm
)
0 02 04 06 08 10 12 14 16 18 20 22
Positioncommand
Positionfeedback
50
40
30
20
10
0
(mm
)
0 02 04 06 08 10 12 14 16 18 20 22Time (s)
-axis position
-axis positiony
x
(c)
0 02 04 06 08 10 12 14 16 18 20 22
0 02 04 06 08 10 12 14 16 18 20 22Time (s)
-axis current
-axis current
iq
iq
id
id
0097
0048
0
minus0048
minus0097
minus0146
(A)
0097
0048
0
minus0048
minus0097
minus0146
(A)
y
x
(d)
Figure 9 (a) Star motion trajectory tracking (b) tracking error (c) position response (d) current response
chosen by (15000 0) (25000 95) in 16bit-Q15 formatThe tracking errors in Figure 8 show the maximumplusmn0185mm in 119909-axis table maximum plusmn0178mm in 119910-axistable and less than 019mm in overall motion trackingIn the star tracking motion the trajectory is designed asFigure 3(b) and its simulation results are shown in Figure 9In this experiment the Kp and Ki gains in position controllerare respectively chosen by (15000 0) (25000 95) in 16bit-Q15 format The tracking errors in Figure 9(b) show themaximum plusmn014mm in 119909-axis table maximum plusmn014mmin 119910-axis table and less than 017mm in overall star motion
tracking The results show a good tracking response in bothwindow and star motion trajectory Finally the three-axissimultaneous motion trajectory which is helical circulartrajectory is evaluated and their simulation tracking resultsare shown in Figure 10 respectively In this design theKp and Ki gains in position controller are respectivelychosen by (18000 0) (19000 95) in 16bit-Q15 format InFigure 10(b) the tracking errors show that it can keep withinplusmn0185mm in 119909- and 119910-axis table motion and plusmn019mmin 119911-axis table motion which reveals a good trackingresponse Therefore Figure 16 shows a good tracking result
Mathematical Problems in Engineering 11
0 1 2 3 4 5 6 7 8 9 10
0123456
0
1
2
3
4
5
6
78910
x (mm)y (mm)
z(m
m)
Positioncommand
Positionfeedback
(a)
minus020
02
0 02 04 06 08 10 12
Time (s)
-axis error
(mm
)
018550186
01865
0 02 04 06 08 10 12
Time (s)
(mm
)
Overall tracking error
minus020
02
0 02 04 06 08 10 12
Time (s)
-axis error
(mm
)0
0005001
0 02 04 06 08 10 12
Time (s)
-axis error(m
m)
y
x z
(b)
Figure 10 (a) Helical circular motion trajectory and (b) tracking results
FPGAcontroller
3-axis motor drivers
XYZ table
Figure 11 Experimental system
0 4 8 12 16 20 24012345
Time (s)
Posit
ion
(mm
)
Tableposition
Positioncommand
(a)
Curr
ent (
A)
0 4 8 12 16 20 24Time (s)
1
05
0
minus05
minus1
id
iq
(b)
Figure 12 119909-axis table (a) position step response (b) current response
12 Mathematical Problems in Engineering
0 10 20 30 40 50 60 70 80 90 100
(mm
)
0
10
20
30
40
50
60
70
80
90
100
(mm)
Tableposition
Positioncommand
(a)
Overall tracking error
0 33 67 10 133 167 20
0 33 67 10 133 167 20
0 33 67 10 133 167 20
0
02
04
06
08
(mm
)
minus05
0
05
-axis tracking error
(mm
)
minus04
minus02
0
02
04-axis tracking error
Time (s)
(mm
)
x
y
(b)
Tableposition Position
command
-axis position
0
50
100
(mm
)
0 33 67 10 133 167 20
0 33 67 10 133 167 20
Time (s)
TablepositionPosition
command
-axis position
0
50
100
(mm
)
x
y
(c)
-axis current
id
iq
minus1
0
05
1
(A)
0 33 67 10 133 167 20
0 33 67 10 133 167 20
-axis current
id
iq
minus15
minus1
minus05
0
05
1
(A)
Time (s)
minus05
x
y
(d)
Figure 13 (a) Circular motion trajectory tracking (b) tracking error (c) position response (d) current response
in 3-axis motion tracking Further Figures 6sim10 presentthat the three-axis motion control system tested throughModelSimSimulink cosimulation is effectiveness andcorrectness After confirming the success of the proposedthree-axis positionspeedcurrent controller IP it willdirectly apply to FPGA to be further evaluated
5 Experimental System and Results
51 Experimental System The overall experimental systemshown in Figure 11 includes an FPGA control board three
sets of voltage source IPM-based (Intelligent PowerModules)inverter and an XYZ table which is driven by three PMSMsand three ball-screwsThe power rating voltage current andrating speed of PMSM are 200W 92V 16 A and 3000 rpmrespectively A 2500 ppr rotary encoder attached to PMSMis used to measure the motorrsquos electrical angle Each ball-screw has 5mm lead Inside IPM it has 6 sets of IGBT typepower transistors with emitter of the rated voltage of 600Vcollector DC current rating of 20A and a short time (1ms)rated current of 40A Photo coupler IC adopts TLP250whoseoutput has push-pull amplifier functions The FPGA uses
Mathematical Problems in Engineering 13
(mm
)
0
10
20
30
40
50
60
70
80
90
100
(mm)0 10 20 30 40 50 60 70 80 90 100
Tableposition
Positioncommand
(a)
0 3 6 9 12 15 18 21 24 27 30
Time (s)0 3 6 9 12 15 18 21 24 27 30
0 3 6 9 12 15 18 21 24 27 30
0
01
02
(mm
)
Overall tracking error
minus02
minus01
0
01
02
(mm
)
-axis tracking error
minus02minus01
00102
(mm
)
-axis tracking error
x
y
(b)
Positioncommand
-axis position
Tableposition
0 6 12 18 24 30
Time (s)0 6 12 18 24 30
0
50
100
(mm
)
Positioncommand
-axis position
Tableposition
0
50
100
(mm
)
y
x
(c)
minus05
0
05
0 6 12 18 24 30
Time (s)0 6 12 18 24 30
(A)
minus05
0
05
(A)
-axis current
id
id
iq
iq-axis currenty
x
(d)
Figure 14 (a) Window motion trajectory tracking (b) tracking error (c) position response (d) current response
Cyclone IV-EP4CE115 which is the kernel of this systemThere are 114480 LEs (Logic Elements) 3981312 RAM bitsand 150 embedded multipliers in the Cyclone IV Further aNios II processor can be embedded into FPGA to establishSoC environment
52 Experimental Results In experiment the one-dimen-sional motion trajectory is firstly tested The step signal with
18Hz square wave and 5mm amplitude is sent to the 119909-axis tables as the position command to cause tables motionThe experimental results in position response and currentresponse using FC are shown in Figure 12 In Figure 12(a)the position response with 02 second rising time and 2overshoot and near zero steady state zero which shows agood response performance In Figure 12(b) the current in 119894119889
axis approaches zero which reveals the success of the vectorcontrol in PMSMdrive To evaluate the tracking performance
14 Mathematical Problems in Engineering
(mm
)
0
10
20
30
40
50
60
70
80
90
100
(mm)0 10 20 30 40 50 60 70 80 90 100
Tableposition
Positioncommand
(a)
Overall tracking error
-axis tracking error
-axis tracking error
Time (s)
0 10 20 30
0 10 20 30
0 10 20 30
0
04
06
08
02
0
04
02
(mm
)(m
m)
minus02
minus04
0
1
(mm
)
minus05
05y
x
(b)
0 10 20 30
Time (s)0 10 20 30
-axis position
Positioncommand
Positioncommand
-axis position
Tableposition
Tableposition
0
50
100
(mm
)
0
50
100
(mm
)
y
x
(c)
minus05
minus1
0
1
05
Time (s)0 10 20 30
0 10 20 30
(A)
minus05
minus1
minus15
0
1
05
(A)
id
id
iq
iq
-axis current
-axis current
y
x
(d)
Figure 15 (a) Star motion trajectory tracking (b) tracking error (c) position response (d) current response
in multiaxis motion table the indices are firstly defined asfollows
119879 (119896) = radic
119899
sum
119894=1
(119878lowast119901119894
(119896) minus 119878119901119894 (119909))2
119898119905119890 =
119898
sum
119896=1
119879 (119896)
119898
(25)
where 119879(119896) 119878lowast119901119894(119896) 119878119901119894(119896) 119899 119898 and 119898119905119890 respectively repre-
sent instantaneous error 119894th-axis position command 119894th-axisposition feedback number of motion table total acquisitiondata and mean tracking error Further in two-dimensionalmotion trajectory the circular motion trajectory control withcenter (50 50) mm and radius 25mm is evaluated and theexperimental results in motion trajectory tracking trackingerror position response and current response using same FCare shown in Figure 13 The tracking errors in Figure 13(b)show the maximum plusmn046mm in 119909-axis table maximum
Mathematical Problems in Engineering 15
0 20 40 60 80 100
020
4060
80100
051015202530
Y (mm)
Z(m
m)
Tableposition
Positioncommand
X (mm)
(a)
00102
0 67 133 20 267 333 40 467 533 60
Time (s)
(mm
)
Overall tracking error
0 67 133 20 267 333 40 467 533 60
Time (s)
(mm
)
minus020
02-axis tracking error
0 67 133 20 267 333 40 467 533 60
Time (s)
(mm
)
minus020
02-axis tracking error
0 67 133 20 267 333 40 467 533 60
Time (s)(m
m)
minus0010
001002
-axis tracking error
y
x z
(b)
Figure 16 (a) Helical circular motion trajectory and (b) tracking results
0020
4060
80
01020
50
100
150
200
250
Y (mm)
Z(m
m)
Position commandTracking response
X (mm)
(a)
Three axis
0 50 100 150 200
Time (s)
minus01
0
01
02
Trac
king
erro
r(m
m)
-axis
0 50 100 150 200
Time (s)
minus01
0
01
02
Trac
king
erro
r(m
m)
-axis
0 50 100 150 200
Time (s)
minus02
0
02
Trac
king
erro
r(m
m)
-axis
0 50 100 150 200
Time (s)
minus01
0
01
02
Trac
king
erro
r(m
m)
x
zy
(b)
Figure 17 Motion trajectory tracking and tracking error of STUST character
16 Mathematical Problems in Engineering
plusmn035mm in119910-axis table and 01759mmmean tracking errorin overall circularmotion It presents a good contour trackingresult Additional the current response of 119894119889-axis both in119909- and 119910-axis motors all can be controlled to zero whichpresents the success of the vector controller In the windowtracking motion the trajectory is designed as Figure 3(a)and its experimental results in motion trajectory trackingtracking error position response and current response areshown in Figure 14The tracking errors in Figure 14 show themaximum plusmn02mm in 119909-axis table maximum plusmn02mm in119910-axis table and 0054mm mean tracking error in overallmotion In the star trackingmotion the trajectory is designedas Figure 3(b) and its experimental results are shown inFigure 15 The tracking errors in Figure 15 show the maxi-mum plusmn04mm in 119909-axis table maximum plusmn055mm in 119910-axis table and 00698mm mean tracking error in overallstar motion However the larger tracking error in bothwindow and starmotion trajectory occurred at the position ofcommand suddenly changed otherwise the tracking error isvery smallThe results show a good contour tracking responsein both window and star motion trajectory Finally thethree-dimensional motion trajectory which is helical circulartrajectory and ldquoSTUSTrdquo character trajectory are evaluatedand their experimental tracking results are shown in Figures16 and 17 respectively In Figure 16(b) the tracking errorsshow that it can keep within plusmn02mm in 119909- and 119910-axis tablemotion plusmn001mm in 119911-axis table motion and 01162mmmean tracking error in overall helical circular motion whichreveals a good tracking response In performing themotion ofldquoSTUSTrdquo character the 119911-axis table just runs the up and downmotion the ldquoSTUSTrdquo character is drawn by the simultaneousmotion of 119909- and 119910-axis table The tracking error in Figure 17shows the maximum plusmn03mm in 119909-axis 119910-axis and 119911-axis table and less than 03mm in overall motion trackingTherefore Figures 16sim17 show a good tracking result in 3Dmotion contour tracking Therefore Figures 12sim17 presentthat the proposed FPGA-based multiaxis motion control ICis effectiveness and correctness
6 Conclusions
The FPGA-based multiaxis motion controller has been suc-cessfully demonstrated from ModelSimSimulink cosimula-tion to FPGA realization experiment in this paper For amultiaxis motion controller system DSP and FPGA all canprovide a good solution in implementation However dueto one DSP chip only can support one CPU inside and 12channels PWM output and 2 QEP output in its peripheralcircuit it is suitable for a two-axis motion controller systemIf we want to realize a multiaxis motion controller systemit needs several DSP chips In contrast with DSP FPGA hasthe properties of fast computing power parallel processingand hardware-software codesign which cause the multiaxismotion controller system to be implemented by one FPGAchip Finally the work herein is summarized as follows
(a) The functionalities required to build amultiaxis servocontroller and motion trajectory planning can beintegrated in one FPGA chip
(b) The computation of key algorithms such as SVPWMCCCT and FC in PMSM drive can be completedwithin 2 120583s by FPGA implementation
(c) The VHDL code of the proposed multiaxis servocontroller IP has been effectively verified from Mod-elSimSimulink cosimulation results
(d) Some experimental results by position step responsecircular window star and helical circular motiontrajectory tracking the specific character (ldquoSTUSTrdquo)motion trajectory tracking and so forth have revealedthat the proposed FPGA-based multiaxis motioncontroller is effectiveness and correctness
Conflict of Interests
The authors declare that there is no conflict of interestsregarding the publication of this paper
References
[1] J U Cho Q N Le and J W Jeon ldquoAn FPGA-based multiple-axis motion control chiprdquo IEEE Transactions on IndustrialElectronics vol 56 no 3 pp 856ndash870 2009
[2] X Shao and D Sun ldquoDevelopment of a new robot controllerarchitecture with FPGA-based IC design for improved high-speed performancerdquo IEEE Transactions on Industrial Informat-ics vol 3 no 4 pp 312ndash321 2007
[3] S S Yeh and J T Sun ldquoDesign of perfectly matched zero-phaseerror tracking control formulti-axismotion control systemsrdquo inProceedings of the SICE Annual Conference pp 528ndash533 August2012
[4] Y S Kung R F Fung and T Y Tai ldquoRealization of a motioncontrol IC forX-Y table based onnovel FPGA technologyrdquo IEEETransactions on Industrial Electronics vol 56 no 1 pp 43ndash532009
[5] S-S Yeh and P-L Hsu ldquoAnalysis and design of integratedcontrol for multi-axis motion systemsrdquo IEEE Transactions onControl Systems Technology vol 11 no 3 pp 375ndash382 2003
[6] Z Zhou T Li T Takahashi and E Ho ldquoFPGA realization of ahigh-performance servo controller for PMSMrdquo in Proceedingsof the 19th Annual IEEE Applied Power Electronics Conferenceand Exposition (APEC rsquo04) vol 3 pp 1604ndash1609 AnaheimCalif USA February 2004
[7] B K Bose Power Electronics and ACDrives Prentice Hall 1986[8] V Wilson P Agarwal and S P Srivastava ldquoPerformance
investigation of DSP based self-controlled PMSM driverdquo inProceedings of the Annual IEEE India Conference (INDICONrsquo12) pp 238ndash243 Kochi India December 2012
[9] E Monmasson L Idkhajine M N Cirstea I Bahri A Tisanand M W Naouar ldquoFPGAs in industrial control applicationsrdquoIEEE Transactions on Industrial Informatics vol 7 no 2 pp224ndash243 2011
[10] E Monmasson L Idkhajine and M W Naouar ldquoFPGA-basedcontrollersrdquo IEEE Industrial Electronics Magazine vol 5 no 1pp 14ndash26 2011
[11] Y S Kung V Q Nguyen T H Nguyen C-C Huang andL-C Huang ldquoSimulinkmodelsim co-simulation and FPGArealization of speed control IC for PMSM driverdquo ProcediaEngineering vol 23 pp 718ndash727 2011
Mathematical Problems in Engineering 17
[12] L Idkhajine E Monmasson M W Naouar A Prata andK Bouallaga ldquoFully integrated FPGA-based controller forsynchronous motor driverdquo IEEE Transactions on IndustrialElectronics vol 56 no 10 pp 4006ndash4017 2009
[13] B Alecsa M N Cirstea and A Onea ldquoSimulink modelingand design of an efficient hardware-constrained FPGA-basedPMSM speed controllerrdquo IEEE Transactions on Industrial Infor-matics vol 8 no 3 pp 554ndash562 2012
[14] H-H Chou Y-S Kung N Q Quynh and S Cheng ldquoOpti-mized FPGA design verification and implementation of aneuro-fuzzy controller for PMSM drivesrdquo Mathematics andComputers in Simulation vol 90 pp 28ndash44 2013
[15] Y Li J Huo X Li J Wen YWang and B Shan ldquoAn open-loopsinmicrostepping driver based on FPGA and the co-simulationof modelsim and simulinkrdquo in Proceedings of the InternationalConference on Computer Mechatronics Control and ElectronicEngineering (CMCE rsquo10) pp 223ndash227 August 2010
[16] The Mathworks ldquoMatlabSimulink Users Guide ApplicationProgram Interface Guiderdquo 2004
[17] ModeltechModelSim Reference Manual 2004[18] F-J Lin P-H Shieh and P-H Shen ldquoRobust recurrent-neural-
network sliding-mode control for the X-Y table of a CNCmachinerdquo IEE Proceedings ControlTheory andApplications vol153 no 1 pp 111ndash123 2006
Submit your manuscripts athttpwwwhindawicom
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
MathematicsJournal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Mathematical Problems in Engineering
Hindawi Publishing Corporationhttpwwwhindawicom
Differential EquationsInternational Journal of
Volume 2014
Applied MathematicsJournal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Probability and StatisticsHindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Journal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Mathematical PhysicsAdvances in
Complex AnalysisJournal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
OptimizationJournal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
CombinatoricsHindawi Publishing Corporationhttpwwwhindawicom Volume 2014
International Journal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Operations ResearchAdvances in
Journal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Function Spaces
Abstract and Applied AnalysisHindawi Publishing Corporationhttpwwwhindawicom Volume 2014
International Journal of Mathematics and Mathematical Sciences
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
The Scientific World JournalHindawi Publishing Corporation httpwwwhindawicom Volume 2014
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Algebra
Discrete Dynamics in Nature and Society
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Decision SciencesAdvances in
Discrete MathematicsJournal of
Hindawi Publishing Corporationhttpwwwhindawicom
Volume 2014 Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Stochastic AnalysisInternational Journal of
Mathematical Problems in Engineering 3
Digital circuit ofposition
speedcurrentcontroller IP-1
FPGA-based multiaxis motion control IC
Nios II processor
FPGA
For motion trajectoryplanning
Digital circuit ofposition
speedcurrentcontroller IP-2
Digital circuit ofposition
speedcurrentcontroller IP-n
EncoderPMSM
Load
EncoderPMSM
Load
EncoderPMSM
Load
Vertical-typerobot arm
XYZ table
SCARArobot arm
2nd axis (J2)
(+)
(+)
(+)
(+)
(minus)
(minus)
(minus)
(minus)
1st axis (J1)
3rd axis (Z)
4th axis (T)
CPU
On-chipROM
On-chipRAM
UART
PIO
Timer
SPI
SDRAMcontroller
Aval
on b
us Applied to
Figure 1 FPGA-based multiaxis motion control IC and its applications
where 119860 119894 and 119861119895 are fuzzy number and 119888119895119894 is realnumber
(d) Establish the fuzzy system 119906119891(119890 119889119890) by using the sin-gleton fuzzifier product-inference rule and centralaverage defuzzifier method Although there are total49 fuzzy rules that will be inferred actually only 4fuzzy rules can be effectively excited to generate anonzero output Therefore the output of the fuzzyinference can be obtained by the following expression
119906119891 (119890 119889119890) =
sum119894+1
119899=119894sum119895+1
119898=119895119888119898119899 [120583119860119899
(119890) lowast 120583119861119898(119889119890)]
sum119894+1
119899=119894sum119895+1
119898=119895120583119860119899
(119890) lowast 120583119861119898(119889119890)
≜
119894+1
sum
119899=119894
119895+1
sum
119898=119895
119888119898119899 lowast 119889119899119898
(8)
where 119889119899119898 ≜ 120583119860119899(119890) lowast 120583119861119898
(119889119890) and sum119894+1
119899=119894sum119895+1
119898=119895119889119899119898 = 1
23 Motion Trajectory Planning The circular window starand helical circular motion trajectories are typically used [18]as the performance evaluation of the motion controller forXYZ table
(a) Circular motion trajectory it is computed as follows
119909119894 = 119903 sin (120579119894)
119910119894 = 119903 cos (120579119894)(9)
with 120579119894 = 120579119894minus1 + Δ120579 where Δ120579 119903 119909119894 119910119894 are angleincrement radius119909-axis trajectory command and119910-axis trajectory command respectively
(b) Windowmotion trajectory it is shown in Figure 3(a)The formulation is derived as followsa-trajectory
119909119894 = 119909119894minus1 119910119894 = 119878 + 119910119894minus1 (10)
b-trajectory
(120579119894 6
4120587 997888rarr 2120587 120579119894 = 120579119894minus1 + Δ120579)
119909119894 = 1198741199091 + 119903 cos (120579119894) 119910119894 = 1198741199101 + 119903 sin (120579119894)
(11)
c-trajectory
119909119894 = 119878 + 119909119894minus1 119910119894 = 119910119894minus1 (12)
d-trajectory
(120579119894 120587 997888rarr6
4120587 120579119894 = 120579119894minus1 + Δ120579)
119909119894 = 1198741199092 + 119903 cos (120579119894) 119910119894 = 1198741199102 + 119903 sin (120579119894)
(13)
e-trajectory
119909119894 = 119909119894minus1 119910119894 = minus119878 + 119910119894minus1 (14)
f-trajectory
(120579119894 1
2120587 997888rarr 120587 120579119894 = 120579119894minus1 + Δ120579)
119909119894 = 1198741199093 + 119903 cos (120579119894) 119910119894 = 1198741199103 + 119903 sin (120579119894)
(15)
4 Mathematical Problems in Engineering
CPU
On-chipROM
On-chipRAM
UART
PIO
Timer
SPI
SDRAMcontroller
Aval
on b
us
PWM1PWM2PWM3PWM4PWM5PWM6
PWM1PWM2PWM3PWM4PWM5PWM6
Fuzzy controller
Fuzzy controller
Position controller
Position controller
Positionspeedcurrent controller IP-1
Speed controller
Speed controller
SVPWM
SVPWM
ADCinterface
circuit
ADCinterface
circuit
QEP interfacecircuit
QEP interfacecircuit
Current vector controller
Current vector controller
Nios II processor
FPGA
Positionspeedcurrent controller IP-n
Slowastp1 +
+
+
+
+
+
+
+
minus
minus
minus
minus
minus
minus
minus
minus
Sp1
1 minus zminus1
1 minus zminus1
K
K
ilowastd = 0
ilowastd = 0
ilowastq
ilowastq
PI
PI
PI
PI
vd
vq
id
iq
id
iq
Park
Parkminus1
Parkminus1
120572 120573
120572 120573
120572 120573
120572 120573d q
d q
sin andcos
Park
120572 120573
120572 120573
d q
d q
sin andcos
v120572
v120573
i120572
i120573
120579e
Sp1
i120572
i120573
120579e
a b c
a b c
Clarke
clarkeModified
minus1
120572 120573
120572 120573
a b c
a b c
Clarke
Modified
Slowastp2
ABZ
ABZ
vrxvry
vrz
vd
vq
v120572
v120573
vrxvry
vrz
ia
ibic
ia
ibic
iu
iw
iu
iw
Slowastpn
Spn
Spn
clarkeminus1
Figure 2 The inside architecture of FPGA-based multiaxis positionspeedcurrent control IC
Start
a
bc
d
e
f
g
h
i
(Ox1 Oy1)(Ox2 Oy2)
(Ox2 Oy2)
(Ox3 Oy3)(Ox4 Oy4)
x
y
(xi+1 yi+1)
(xi yi)120579iminus1
Δ120579
120579i = 120579iminus1 + Δ120579r
(a)
Starta
b
c
d
e
x
y
18∘
36∘
54∘
72∘
(b)
Figure 3 (a) Window motion trajectory (b) Star motion trajectory
Mathematical Problems in Engineering 5
g-trajectory
119909119894 = minus119878 + 119909119894minus1 119910119894 = 119910119894minus1 (16)
h-trajectory
(120579119894 0 997888rarr1
2120587 120579119894 = 120579119894minus1 + Δ120579)
119909119894 = 1198741199094 + 119903 cos (120579119894) 119910119894 = 1198741199104 + 119903 sin (120579119894)
(17)
i-trajectory
119909119894 = 119909119894minus1 119910119894 = 119878 + 119910119894minus1 (18)
where 119878 are position increment In addition the(1198741199091 1198741199101) (1198741199092 1198741199102) (1198741199093 1198741199103) (1198741199094 1198741199104) are arccenter of b- d- f- and h-trajectory in Figure 3(a)and 119903 is the radius The motion speed of the table isdetermined by Δ120579
(c) Star motion trajectory it is shown in Figure 3(b)Theformulation is derived as followsa-trajectory
119909119894 = 119878 + 119909119894minus1 119910119894 = 119910119894minus1 (19)
b-trajectory
119909119894 = minus119878 lowast sin 54∘+ 119909119894minus1 119910119894 = minus119878 lowast sin 36
∘+ 119910119894minus1 (20)
c-trajectory
119909119894 = 119878 lowast sin 18∘+ 119909119894minus1 119910119894 = 119878 lowast sin 72
∘+ 119910119894minus1 (21)
d-trajectory
119909119894 = 119878 lowast sin 18∘+ 119909119894minus1 119910119894 = minus119878 lowast sin 72
∘+ 119910119894minus1 (22)
e-trajectory
119909119894 = minus119878 lowast sin 54∘+ 119909119894minus1 119910119894 = 119878 lowast sin 36
∘+ 119910119894minus1 (23)
The motion speed of the table is determined by 119878(d) Helical circular motion trajectory it is computed as
follows
119909119894 = 119903 sin (120579119894)
119910119894 = 119903 cos (120579119894)
119911119894 = 119911119894minus1 + Δ119911
(24)
with 120579119894 = 120579119894minus1 + Δ120579 where Δ120579 Δ119911 119903 119909119894 119910119894 119911119894
are angle increment height increment radius 119909-axistrajectory command119910-axis trajectory command and119911-axis trajectory command respectively
3 Digital Circuit Design for Posi-tionSpeedCurrent Controller IP
The proposed FPGA-based three-axis motion control IC forXYZ table is shown in Figure 4 In positionspeedcurrentcontroller IP the vector control is adopted in the current loopP controller is used in the speed loop and fuzzy controller isapplied in the position loop The FPGA herein uses CycloneIV-EP4CE115 which is the product of Altera cooperationThere are 114480 LEs (Logic Elements) 3981312 RAM bitsand 150 embedded multipliers in the Cyclone IV In additiona Nios II processor is embedded into FPGA to establish anSoC environment The motion control IC comprises a NiosII embedded processor and multiple positionspeedcurrentcontroller IP for multiaxis machine The Nios II processoris utilized to perform the motion trajectory computationThe code in Nios processor is developed with C languageMain program establishes the initial parameters settingthe motion command setting and so forth and the ISR(interrupt service routine) executes the motion trajectorycomputation position command generation and sendingout to three controller IPs Each internal digital circuit ofpositionspeedcurrent controller IP is also shown in Figure 4and it includes one circuit of position FC and speed Pcontroller one circuit of current controller and coordinatetransformation (CCCT) one SVPWM one ADC interfaceand one QEP interface circuit All circuits in Figure 4 arerealized by hardware in FPGA and the circuit behavior isdescribed by VHDL The sampling frequency in positionspeed and current control loop are designed with 2 kHz2 kHz and 16 kHz respectively The operating clock of thedesigned FPGA controller is 50MHz and the frequencydivider generates another 125MHz clock to supply all mod-ule circuits in Figure 4 A finite state machine (FSM) methodis employed to model the algorithms of the position FCand speed P controller the CCCT and the SVPWM whichutilizes one adder one multiplier a look-up table compara-tors and registers to carry out the overall computation Itneeds to spend 20 steps (16 120583s) 24 steps (192 120583s) and 18steps (144 120583s) to complete the computation of positionspeedcontroller CCCT and SVPWM respectively The data typeis designed with 16-bit length 2rsquos complement and Q15format in the positionspeed controller and CCCT but 12-bit length 2rsquos complement and Q11 format in SVPWMFor detailed figures and description regarding CCCT andSVPWM refer to [4] For an example of a three-axis motioncontrol IC overall circuit included a Nios II processor andthree positionspeedcurrent controllers IP consume 22688LEs (Logic Elements) 73 embeddingmultipliers 241 IO pinsand 241792 memory bits
4 ModelSimSimulink Cosimulation andSimulation Results
The SimulinkModelSim cosimulation architecture for thethree-axis motion control system is shown in Figure 5 Eachaxis system is driven by one PMSM The SimPowerSys-tem blockset in the Simulink executes the three PMSMs
6 Mathematical Problems in Engineering
120579e addrLUT
ia
ib
ic
i120572
minus1
radic3
1
radic3
Slowastp(k)
S
1
1
p(k) Sp(k)
Sp(k minus 1)+
+
+
+
+ + + +
++
+
minus
minus
minus
minus
minus
minus
minusminus
X
X
XX
X X
X X
X
X
X
X
X
XX
X
+ +
+
++
+
+
+
+
+
+ +
+
+
+
+
minus
minus
minus
minusminus
minus
minus
i120573
v120573
vrx
vq
vq
vdvd
id
iq
ilowastq e q
d
Kp
Kp
Ki
Ki
q
d
qe q
e d
e d
i q
i di d
i q
LS 1ilowastd = 0
120572
radic3
2
120573
2
ry
rz
s0 s1 s2 s3 s4 s5 s6 s7 s8 s9 s10 s11 s12s13s14s15 s16 s17 s18 s19 s20 s21 s22 s23
Look upsincos
tableClark Park d-axis PI
controllerq-axis PIcontroller Parkminus1 Modified
minus1clark
CPU
On-chipROM
On-chipRAM
UART
PIO
Timer
SPI
SDRAMcontroller
Aval
on b
us
Nios II processorFPGA Digital circuit of
FPGA-based multiaxis motion control IC
positionspeedcurrent controller IP-1
Digital circuit of position
speedcurrent controller IP-2
Digital circuit of position
speedcurrent
Current controllers and
coordinate transformation
(CCCT)Rotary encoder
Positionspeedcurrent controller IPFrom Nios II
controller IP-n
Digital circuitof position FCand speed PI
controller
QEP interfacecircuit
k-sp
k-sp
k-posSlowastp [15 0]
Sp [15 0]
Encoder-AEncoder-BEncoder-Z
Clk
Clk
Clk Clk
ClkCl
ClClk
ClCl
Clk k-cur k-curk-sp
ilowastq [11 0]
ia [11 0]
ib [11 0]
ic [11 0]
rx [11 0]ry [11 0]rz [11 0]
ADCinterface
circuit
SVPWMgeneration
ADIN[11]
ADIN[0]BDIN[11]
BDIN[0]RCARCB
PWM-1PWM-2PWM-3PWM-4PWM-5PWM-6
Start ofmain program
Initial interrupt
Initial timer
Computation ofposition command
Loop
Start of ISR(each 200Hz)
Return
Set parametersof each axis
Read the motiontrajectory command
Computation ofposition for each axis
from motion trajectorycommand
Output the positioncommand
Generation ofsymmetric
triangular wave
Vref1
12
12
1212
12
12
120n 200n40n
CMPR1
CMPR2
CMPR3
S1
S2
S3S4
S5
State machine
SVPWM algorithm
Q 12
Comparator1
Comparator2
Comparator3
PWMEA 1
PWMEA 2
PWMEB 1
PWMEB 2
PWMEC 1
PWMEC 2
PWM1
PWM2
PWM3
PWM4
PWM5
PWM6
Vref2
Vref3
Dead-bandunit
e(k)
e(k)e(k minus 1)
1
Ts
(k)X
X
X
X
X
X
X
X
X
X
SD
SD
RS 1
RS 1
ei+1ek
120583A119894(e)
120583A119894(e)
120583A119894(e)
i
jamp Look-up
fuzzy ruletable
ji
i+1
+1i
+1i+1
de(k) dej+1
dek
120583B119895 (de)
120583B119895 (de)120583B119895 (de)
120583B119895 (de)
Computation of speed positionerror and error change Fuzzification Look-up fuzzy table
s0 s1 s2 s3 s4 s5 s6 s7
s8 s9 s10 s11 s12 s13 s14 s15 s16 s17 s18 s19
dij
dij
di+1j
120583B119895+1 (de) dij+1
di+1j+1
dij+1
di+1j
di+1j+1
uf(k)
(k) K
ilowastq (k)
Defuzzification Speed P controller
ampiji+1cj+1icj+1i+1cj
cji
cj
cj
cj
cj
addr [11 0]120579e
sin120579ecos120579e Clk
ClkClk Clk
120583A119894+1(e)
(x- and y- and z-axis)
Figure 4 Internal circuit design of the proposed FPGA-based multiaxis motion control IC
and three IGBT-based inverters The EDA Simulator Linkfor ModelSim executes the cosimulation using VHDL coderunning in ModelSim program It carries out the functionof three positionspeedcurrent controller IPs with six worksin Figure 5 The work-1 work-3 and work-5 perform thefunction of position and speed loop controller and work-2 work-4 and work-6 accomplish the function of currentvector controller which includes current PI controller coor-dinate transformation (CCCT) and space vector pulse widthmodulation (SVPWM) The signals of three-phase currentrotor speed and rotor position in PMSM-1 are respectivelyfed back to work-3 and work-1 to do the close-loop positioncontrolThe similar conditions of close-loop position controlin PMSM-2 and PMSM-3 drive system are the same Thesampling frequency in current control loop is designed with16 kHz but in positionspeed control loop is 1 kHz Themotion trajectory described in Section 23 is planned withinthe block diagram of the Matlab embedded function in
Figure 5 Matlab m-code is used to develop the program ofthe motion trajectory
In this simulation cases the following motion trajectorywill be carried out and tested (1) single-axis position stepresponse (2) circular motion trajectory tracking (two-axis simultaneous motion) (3) window motion trajectorytracking (two-axis simultaneous motion) (4) star motiontrajectory tracking (two-axis simultaneous motion) (5)helical circular motion trajectory tracking (three-axissimultaneous motion) Firstly single-axis position stepresponse is considered and the step signal with 15 s and5mm amplitude is tested The simulation results in positionresponse and current response are presented in Figure 6 Inthis simulation the Kp and Ki gains in position controllerare respectively chosen by (15000 0) and (25000 95) in16bit-Q15 format In Figure 6(a) the position responseswith 003 seconds rising time and zero overshoot and zerowhich show a good response performance In Figure 6(b)
Mathematical Problems in Engineering 7
MATLABembeddedfunction(motion
trajectory)
Model SimConvert
Convert
Convert
Convert
Convert
Convert
Convert
Convert
ConvertData type conversion16
Data type conversion14
Data type conversion13
Data type conversion1
Saturation3
Saturation4
Saturation5
15000
15000
spd
0spd
pos95pos
position fdbcmd pos
KpKp
Kp
Kp
Kp
Kp
pos
Ki
Ki
Ki
Ki
Ki
Ki
pos
spdspd
rotor speed
position out
speed outWork-1
Work-2
HDL cosimulation3
HDL cosimulation
Current2
Speed and fdb
Positionspeedcontroller-1
Position cmd and fdb
Position fdbGain10
Gain2954929
0
9
95
1000
0
Constant9
Constant15
Constant22
Constant23
Constant24
cmd iq
cmd id
d
d
q
q
addressinfo a
info b
info c
PWM1
PWM2
PWM3
PWM4
PWM5
PWM6
address shift
shift1
-K-
-K-
Gain3
Gain4
Gain5 y fcn u
EmbeddedMATLAB function1
d-q1
N m
Tm
A
0001Constant13
Speed fdb
DC voltagesource1
BC S
Permanent magnetsynchronous machine1
Stator current1Continuous
Subsystem1
In1Conn1
In2Conn2
In3Conn3
In4Conn4
In5Conn5
In6Conn6
powergui1
PMSM-1
=
ltRotor speed wm (rads)gtltElectromagnetic torque Te ltRotor angle thetam (rad)gtltStator current is d (A)gtltStator current is q(A)gtltStator current is a (A)gtltStator current is b (A)gt
Torque1
Convert
Convert
Convert
Convert
Convert
Convert
Convert
Convert
Convert
0
95
Currentcontroller-1
1
Position fdbGain10
95
700
s
s
-K-
Constant13
=
1
Model Sim
Model SimConvert
Convert
Convert
Convert
Convert
Convert
Convert
Convert
ConvertData type conversion16
Data type conversion14
Data type conversion13
Data type conversion1
Saturation3
Saturation4
Saturation5
15000
15000
spd
0spd
pos95pos
position fdbcmd pos
pos
pos
spdspd
rotor speed
position out
speed outWork-
Work-4
HDL cosimulation3
HDL cosimulation
Current2
Speed and fdb
Positionspeedcontroller-2
Position cmd and fdb
Position fdbGain10
Gain2954929
0
95
1000
0
Constant9
Constant15
Constant22
Constant23
Constant24
cmd iq
cmd id
d
d
q
q
addressinfo a
info b
info c
PWM1
PWM2
PWM3
PWM4
PWM5
PWM6
address shift
Address
Address
shift1
y fcn u
EmbeddedMATLAB function1
d-q1
N m
Tm
A
0001Constant13
Speed fdb
DC voltagesource1
B
C S
Permanent magnetsynchronous machine1
Stator current1Continuous
Subsystem1
In1Conn1
In2Conn2
In3Conn3
In4Conn4
In5Conn5
In6Conn6
powergui1
PMSM-2
=
ltRotor speed wm (rads)gtltElectromagnetic torque Te ltRotor angle thetam (rad)gtltStator current is d (A)gtltStator current is q(A)gtltStator current is a (A)gtltStator current is b (A)gt
Torque1
Convert
Convert
Convert
Convert
Convert
Convert
0
95
cmd
3
controller-2
95
700
s
Gain3
Gain4
Gain5
=
Model Sim
Model SimConvert
Convert
Convert
Convert
Convert
Convert
Convert
Convert
ConvertData type conversion16
Data type conversion14
Data type conversion13
Data type conversion1
Saturation3
Saturation4
Saturation5
15000
15000
spd
0spd
pos95pos
position fdbcmd pos
pos
pos
spdspd
rotor speed
position out
speed outWork-
Work-6
HDL cosimulation3
HDL cosimulation
Current2
Speed and fdb
Positionspeedcontroller-3
Position cmd and fdb
Position fdbGain10
Gain2954929
0
95
1000
0
Constant9
Constant15
Constant22
Constant23
Constant24
cmd iq
cmd id
d
d
q
q
addressinfo a
info b
info c
PWM1
PWM2
PWM3
PWM4
PWM5
PWM6
address shift
shift1
y fcn u
EmbeddedMATLAB function1
d-q1
N m
Tm
A
0001Constant13
Speed fdb
DC voltagesource1
B
C S
Permanent magnetsynchronous machine1
Stator current1Continuous
Subsystem1
In1Conn1
In2Conn2
In3Conn3
In4Conn4
In5Conn5
In6Conn6
powergui1
PMSM-3
=
ltRotor speed wm (rads)gtltElectromagnetic torque Te ltRotor angle thetam (rad)gtltStator current is d (A)gtltStator current is q(A)gtltStator current is a (A)gtltStator current is b (A)gt
Torque1
Convert
Convert
Convert
Convert
Convert
Convert
0
95
5
controller-3
95
700
s
s
Gain3
Gain4
Gain5
d-q1
=
ltStator current is c (A)gt
Model Sim
(1(2lowastpi))lowast10000
(1(2lowastpi))lowast10000
(1(2lowastpi))lowast10000
(Nlowastm)gt
(Nlowastm)gt
(Nlowast
Address
m)gt
-K-
-K-
-K-
-K-
-K-
-K-
KpKp
Kp
Kp
Kp
Kp
Ki
Ki
Ki
Ki
Ki
Ki
KpKp
Kp
Kp
Kp
Kp
Ki
Ki
Ki
Ki
Ki
Ki
ltStator current is c (A)gt
ltStator current is c (A)gt
plusmn
plusmn
plusmn
Figure 5 SimulinkModelSim cosimulation architecture for three-axis motion control system
8 Mathematical Problems in Engineering
0
25
50
Time (s)0 01 02 03 04 05 06 07 08 09 1
Positioncommand
Positionfeedback
Posit
ion
(mm
)
(a)
Time (s)0 01 02 03 04 05 06 07 08 09 1
Curr
ent (
A)
id iq09760488
0minus0488minus0976
(b)
Figure 6 Single-axis PMSM (a) step position response (b) current response
0
1
2
3
4
5
6
7
8
9
10
0 1 2 3 4 5 6 7 8 9 10
(mm)
(mm
)
Positioncommand
Positionfeedback
(a)
(mm
)
0184
0185
0186
0187
0188
0 01 02 03 04 05 06 07 08
Overall tracking error
(mm
)
0 01 02 03 04 05 06 07 08
015
02
0
minus 015
minus 02
0 01 02 03 04 05 06 07 08
Time (s)
015
02
0
(mm
)
minus 015
minus 02
x-axis error
y-axis error
(b)
Positioncommand Position
feedback
0
25
50
75
10
(mm
)
Positioncommand Position
feedback
0
25
50
75
10
(mm
)
0 01 02 03 04 05 06 07 08Time (s)
0 01 02 03 04 05 06 07 08
x-axis position
y-axis position
(c)
minus0195
minus0097
0
0097
0195
(A)
iq id
id
x-axis current
0 01 02 03 04 05 06 07 08
minus0195
minus0097
0
0097
0195
(A)
iqy-axis current
0 01 02 03 04 05 06 07 08
Time (s)
(d)
Figure 7 (a) Circular motion trajectory tracking (b) tracking error (c) position response (d) current response
Mathematical Problems in Engineering 9
0 1 2 3 4 5
0
05
1
15
2
25
3
35
4
45
5
Positioncommand
Positionfeedback
(mm
)
(mm)
(a)
0
02
04
Overall tracking error
0 02 04 06 08 10 12 14 1617
(mm
)
0 02 04 06 08 10 12 14 1617
-axis error
02
0
minus02
(mm
)
0 02 04 06 08 10 12 14 1617
Time (s)
-axis error02
0
minus02
(mm
)
y
x
(b)
0
10
20
3 0
4 0
5 0
Positioncommand
Positionfeedback(m
m)
0 02 04 06 08 10 12 14 16 17
0 02 04 06 08 10 12 14 16 17
Positioncommand
Positionfeedback
0
10
20
3 0
4 0
5 0
(mm
)
Time (s)
-axis position
-axis positiony
x
(c)
0 02 04 06 08 10 12 14 16 17Time (s)
0195
0097
0
minus0097
minus0195
(A)
-axis current
0 02 04 06 08 10 12 14 16 17
-axis current0195
0097
0
minus0097
minus0195
(A)
iq
iq
id
id
y
x
(d)
Figure 8 (a) Window motion trajectory tracking (b) tracking error (c) position response (d) current response
the current in 119894119889 axis approaches zero which presents thesuccess of the vector control in PMSM drive Further inthe two-axis simultaneous motion trajectory the circularmotion trajectory control with center (5 5) mm and radius10mm is evaluated and the simulation results in motiontrajectory tracking tracking error position response andcurrent response are shown in Figure 7 In this design theKp and Ki gains in position controller are respectivelychosen by (18000 0) (19000 95) in 16bit-Q15 format Thetracking errors in Figure 7(b) show the maximum plusmn018mm
in 119909-axis table maximum plusmn018mm in 119910-axis table andless than 01855mm in overall circular motion trackingIt demonstrates a good tracking Additionally the currentresponse of 119894119889-axis both in 119909- and 119910-axis motors all can becontrolled to zero which presents the success of the vectorcontroller In the window tracking motion the trajectory isdesigned as Figure 3(a) and its simulation results in motiontrajectory tracking tracking error position response andcurrent response are shown in Figure 8 In this design theKp and Ki gains in position controller are respectively
10 Mathematical Problems in Engineering
0
05
10
15
20
25
30
35
40
45
50
(mm
)
(mm)0 05 10 15 20 25 30 35 40 45 50
Positioncommand
Positionfeedback
(a)
y-axis error
0 02 04 06 08 10 12 14 16 18 20 22
019
008
0
minus008
minus019
(mm
)
Overall tracking error02
015
01
005
00 02 04 06 08 10 12 14 16 18 20 22
(mm
)
-axis error
0 02 04 06 08 10 12 14 16 18 20 22
019
008
0
minus008
minus019
(mm
)Time (s)
x
(b)
Positioncommand
Positionfeedback
50
40
30
20
10
0
(mm
)
0 02 04 06 08 10 12 14 16 18 20 22
Positioncommand
Positionfeedback
50
40
30
20
10
0
(mm
)
0 02 04 06 08 10 12 14 16 18 20 22Time (s)
-axis position
-axis positiony
x
(c)
0 02 04 06 08 10 12 14 16 18 20 22
0 02 04 06 08 10 12 14 16 18 20 22Time (s)
-axis current
-axis current
iq
iq
id
id
0097
0048
0
minus0048
minus0097
minus0146
(A)
0097
0048
0
minus0048
minus0097
minus0146
(A)
y
x
(d)
Figure 9 (a) Star motion trajectory tracking (b) tracking error (c) position response (d) current response
chosen by (15000 0) (25000 95) in 16bit-Q15 formatThe tracking errors in Figure 8 show the maximumplusmn0185mm in 119909-axis table maximum plusmn0178mm in 119910-axistable and less than 019mm in overall motion trackingIn the star tracking motion the trajectory is designed asFigure 3(b) and its simulation results are shown in Figure 9In this experiment the Kp and Ki gains in position controllerare respectively chosen by (15000 0) (25000 95) in 16bit-Q15 format The tracking errors in Figure 9(b) show themaximum plusmn014mm in 119909-axis table maximum plusmn014mmin 119910-axis table and less than 017mm in overall star motion
tracking The results show a good tracking response in bothwindow and star motion trajectory Finally the three-axissimultaneous motion trajectory which is helical circulartrajectory is evaluated and their simulation tracking resultsare shown in Figure 10 respectively In this design theKp and Ki gains in position controller are respectivelychosen by (18000 0) (19000 95) in 16bit-Q15 format InFigure 10(b) the tracking errors show that it can keep withinplusmn0185mm in 119909- and 119910-axis table motion and plusmn019mmin 119911-axis table motion which reveals a good trackingresponse Therefore Figure 16 shows a good tracking result
Mathematical Problems in Engineering 11
0 1 2 3 4 5 6 7 8 9 10
0123456
0
1
2
3
4
5
6
78910
x (mm)y (mm)
z(m
m)
Positioncommand
Positionfeedback
(a)
minus020
02
0 02 04 06 08 10 12
Time (s)
-axis error
(mm
)
018550186
01865
0 02 04 06 08 10 12
Time (s)
(mm
)
Overall tracking error
minus020
02
0 02 04 06 08 10 12
Time (s)
-axis error
(mm
)0
0005001
0 02 04 06 08 10 12
Time (s)
-axis error(m
m)
y
x z
(b)
Figure 10 (a) Helical circular motion trajectory and (b) tracking results
FPGAcontroller
3-axis motor drivers
XYZ table
Figure 11 Experimental system
0 4 8 12 16 20 24012345
Time (s)
Posit
ion
(mm
)
Tableposition
Positioncommand
(a)
Curr
ent (
A)
0 4 8 12 16 20 24Time (s)
1
05
0
minus05
minus1
id
iq
(b)
Figure 12 119909-axis table (a) position step response (b) current response
12 Mathematical Problems in Engineering
0 10 20 30 40 50 60 70 80 90 100
(mm
)
0
10
20
30
40
50
60
70
80
90
100
(mm)
Tableposition
Positioncommand
(a)
Overall tracking error
0 33 67 10 133 167 20
0 33 67 10 133 167 20
0 33 67 10 133 167 20
0
02
04
06
08
(mm
)
minus05
0
05
-axis tracking error
(mm
)
minus04
minus02
0
02
04-axis tracking error
Time (s)
(mm
)
x
y
(b)
Tableposition Position
command
-axis position
0
50
100
(mm
)
0 33 67 10 133 167 20
0 33 67 10 133 167 20
Time (s)
TablepositionPosition
command
-axis position
0
50
100
(mm
)
x
y
(c)
-axis current
id
iq
minus1
0
05
1
(A)
0 33 67 10 133 167 20
0 33 67 10 133 167 20
-axis current
id
iq
minus15
minus1
minus05
0
05
1
(A)
Time (s)
minus05
x
y
(d)
Figure 13 (a) Circular motion trajectory tracking (b) tracking error (c) position response (d) current response
in 3-axis motion tracking Further Figures 6sim10 presentthat the three-axis motion control system tested throughModelSimSimulink cosimulation is effectiveness andcorrectness After confirming the success of the proposedthree-axis positionspeedcurrent controller IP it willdirectly apply to FPGA to be further evaluated
5 Experimental System and Results
51 Experimental System The overall experimental systemshown in Figure 11 includes an FPGA control board three
sets of voltage source IPM-based (Intelligent PowerModules)inverter and an XYZ table which is driven by three PMSMsand three ball-screwsThe power rating voltage current andrating speed of PMSM are 200W 92V 16 A and 3000 rpmrespectively A 2500 ppr rotary encoder attached to PMSMis used to measure the motorrsquos electrical angle Each ball-screw has 5mm lead Inside IPM it has 6 sets of IGBT typepower transistors with emitter of the rated voltage of 600Vcollector DC current rating of 20A and a short time (1ms)rated current of 40A Photo coupler IC adopts TLP250whoseoutput has push-pull amplifier functions The FPGA uses
Mathematical Problems in Engineering 13
(mm
)
0
10
20
30
40
50
60
70
80
90
100
(mm)0 10 20 30 40 50 60 70 80 90 100
Tableposition
Positioncommand
(a)
0 3 6 9 12 15 18 21 24 27 30
Time (s)0 3 6 9 12 15 18 21 24 27 30
0 3 6 9 12 15 18 21 24 27 30
0
01
02
(mm
)
Overall tracking error
minus02
minus01
0
01
02
(mm
)
-axis tracking error
minus02minus01
00102
(mm
)
-axis tracking error
x
y
(b)
Positioncommand
-axis position
Tableposition
0 6 12 18 24 30
Time (s)0 6 12 18 24 30
0
50
100
(mm
)
Positioncommand
-axis position
Tableposition
0
50
100
(mm
)
y
x
(c)
minus05
0
05
0 6 12 18 24 30
Time (s)0 6 12 18 24 30
(A)
minus05
0
05
(A)
-axis current
id
id
iq
iq-axis currenty
x
(d)
Figure 14 (a) Window motion trajectory tracking (b) tracking error (c) position response (d) current response
Cyclone IV-EP4CE115 which is the kernel of this systemThere are 114480 LEs (Logic Elements) 3981312 RAM bitsand 150 embedded multipliers in the Cyclone IV Further aNios II processor can be embedded into FPGA to establishSoC environment
52 Experimental Results In experiment the one-dimen-sional motion trajectory is firstly tested The step signal with
18Hz square wave and 5mm amplitude is sent to the 119909-axis tables as the position command to cause tables motionThe experimental results in position response and currentresponse using FC are shown in Figure 12 In Figure 12(a)the position response with 02 second rising time and 2overshoot and near zero steady state zero which shows agood response performance In Figure 12(b) the current in 119894119889
axis approaches zero which reveals the success of the vectorcontrol in PMSMdrive To evaluate the tracking performance
14 Mathematical Problems in Engineering
(mm
)
0
10
20
30
40
50
60
70
80
90
100
(mm)0 10 20 30 40 50 60 70 80 90 100
Tableposition
Positioncommand
(a)
Overall tracking error
-axis tracking error
-axis tracking error
Time (s)
0 10 20 30
0 10 20 30
0 10 20 30
0
04
06
08
02
0
04
02
(mm
)(m
m)
minus02
minus04
0
1
(mm
)
minus05
05y
x
(b)
0 10 20 30
Time (s)0 10 20 30
-axis position
Positioncommand
Positioncommand
-axis position
Tableposition
Tableposition
0
50
100
(mm
)
0
50
100
(mm
)
y
x
(c)
minus05
minus1
0
1
05
Time (s)0 10 20 30
0 10 20 30
(A)
minus05
minus1
minus15
0
1
05
(A)
id
id
iq
iq
-axis current
-axis current
y
x
(d)
Figure 15 (a) Star motion trajectory tracking (b) tracking error (c) position response (d) current response
in multiaxis motion table the indices are firstly defined asfollows
119879 (119896) = radic
119899
sum
119894=1
(119878lowast119901119894
(119896) minus 119878119901119894 (119909))2
119898119905119890 =
119898
sum
119896=1
119879 (119896)
119898
(25)
where 119879(119896) 119878lowast119901119894(119896) 119878119901119894(119896) 119899 119898 and 119898119905119890 respectively repre-
sent instantaneous error 119894th-axis position command 119894th-axisposition feedback number of motion table total acquisitiondata and mean tracking error Further in two-dimensionalmotion trajectory the circular motion trajectory control withcenter (50 50) mm and radius 25mm is evaluated and theexperimental results in motion trajectory tracking trackingerror position response and current response using same FCare shown in Figure 13 The tracking errors in Figure 13(b)show the maximum plusmn046mm in 119909-axis table maximum
Mathematical Problems in Engineering 15
0 20 40 60 80 100
020
4060
80100
051015202530
Y (mm)
Z(m
m)
Tableposition
Positioncommand
X (mm)
(a)
00102
0 67 133 20 267 333 40 467 533 60
Time (s)
(mm
)
Overall tracking error
0 67 133 20 267 333 40 467 533 60
Time (s)
(mm
)
minus020
02-axis tracking error
0 67 133 20 267 333 40 467 533 60
Time (s)
(mm
)
minus020
02-axis tracking error
0 67 133 20 267 333 40 467 533 60
Time (s)(m
m)
minus0010
001002
-axis tracking error
y
x z
(b)
Figure 16 (a) Helical circular motion trajectory and (b) tracking results
0020
4060
80
01020
50
100
150
200
250
Y (mm)
Z(m
m)
Position commandTracking response
X (mm)
(a)
Three axis
0 50 100 150 200
Time (s)
minus01
0
01
02
Trac
king
erro
r(m
m)
-axis
0 50 100 150 200
Time (s)
minus01
0
01
02
Trac
king
erro
r(m
m)
-axis
0 50 100 150 200
Time (s)
minus02
0
02
Trac
king
erro
r(m
m)
-axis
0 50 100 150 200
Time (s)
minus01
0
01
02
Trac
king
erro
r(m
m)
x
zy
(b)
Figure 17 Motion trajectory tracking and tracking error of STUST character
16 Mathematical Problems in Engineering
plusmn035mm in119910-axis table and 01759mmmean tracking errorin overall circularmotion It presents a good contour trackingresult Additional the current response of 119894119889-axis both in119909- and 119910-axis motors all can be controlled to zero whichpresents the success of the vector controller In the windowtracking motion the trajectory is designed as Figure 3(a)and its experimental results in motion trajectory trackingtracking error position response and current response areshown in Figure 14The tracking errors in Figure 14 show themaximum plusmn02mm in 119909-axis table maximum plusmn02mm in119910-axis table and 0054mm mean tracking error in overallmotion In the star trackingmotion the trajectory is designedas Figure 3(b) and its experimental results are shown inFigure 15 The tracking errors in Figure 15 show the maxi-mum plusmn04mm in 119909-axis table maximum plusmn055mm in 119910-axis table and 00698mm mean tracking error in overallstar motion However the larger tracking error in bothwindow and starmotion trajectory occurred at the position ofcommand suddenly changed otherwise the tracking error isvery smallThe results show a good contour tracking responsein both window and star motion trajectory Finally thethree-dimensional motion trajectory which is helical circulartrajectory and ldquoSTUSTrdquo character trajectory are evaluatedand their experimental tracking results are shown in Figures16 and 17 respectively In Figure 16(b) the tracking errorsshow that it can keep within plusmn02mm in 119909- and 119910-axis tablemotion plusmn001mm in 119911-axis table motion and 01162mmmean tracking error in overall helical circular motion whichreveals a good tracking response In performing themotion ofldquoSTUSTrdquo character the 119911-axis table just runs the up and downmotion the ldquoSTUSTrdquo character is drawn by the simultaneousmotion of 119909- and 119910-axis table The tracking error in Figure 17shows the maximum plusmn03mm in 119909-axis 119910-axis and 119911-axis table and less than 03mm in overall motion trackingTherefore Figures 16sim17 show a good tracking result in 3Dmotion contour tracking Therefore Figures 12sim17 presentthat the proposed FPGA-based multiaxis motion control ICis effectiveness and correctness
6 Conclusions
The FPGA-based multiaxis motion controller has been suc-cessfully demonstrated from ModelSimSimulink cosimula-tion to FPGA realization experiment in this paper For amultiaxis motion controller system DSP and FPGA all canprovide a good solution in implementation However dueto one DSP chip only can support one CPU inside and 12channels PWM output and 2 QEP output in its peripheralcircuit it is suitable for a two-axis motion controller systemIf we want to realize a multiaxis motion controller systemit needs several DSP chips In contrast with DSP FPGA hasthe properties of fast computing power parallel processingand hardware-software codesign which cause the multiaxismotion controller system to be implemented by one FPGAchip Finally the work herein is summarized as follows
(a) The functionalities required to build amultiaxis servocontroller and motion trajectory planning can beintegrated in one FPGA chip
(b) The computation of key algorithms such as SVPWMCCCT and FC in PMSM drive can be completedwithin 2 120583s by FPGA implementation
(c) The VHDL code of the proposed multiaxis servocontroller IP has been effectively verified from Mod-elSimSimulink cosimulation results
(d) Some experimental results by position step responsecircular window star and helical circular motiontrajectory tracking the specific character (ldquoSTUSTrdquo)motion trajectory tracking and so forth have revealedthat the proposed FPGA-based multiaxis motioncontroller is effectiveness and correctness
Conflict of Interests
The authors declare that there is no conflict of interestsregarding the publication of this paper
References
[1] J U Cho Q N Le and J W Jeon ldquoAn FPGA-based multiple-axis motion control chiprdquo IEEE Transactions on IndustrialElectronics vol 56 no 3 pp 856ndash870 2009
[2] X Shao and D Sun ldquoDevelopment of a new robot controllerarchitecture with FPGA-based IC design for improved high-speed performancerdquo IEEE Transactions on Industrial Informat-ics vol 3 no 4 pp 312ndash321 2007
[3] S S Yeh and J T Sun ldquoDesign of perfectly matched zero-phaseerror tracking control formulti-axismotion control systemsrdquo inProceedings of the SICE Annual Conference pp 528ndash533 August2012
[4] Y S Kung R F Fung and T Y Tai ldquoRealization of a motioncontrol IC forX-Y table based onnovel FPGA technologyrdquo IEEETransactions on Industrial Electronics vol 56 no 1 pp 43ndash532009
[5] S-S Yeh and P-L Hsu ldquoAnalysis and design of integratedcontrol for multi-axis motion systemsrdquo IEEE Transactions onControl Systems Technology vol 11 no 3 pp 375ndash382 2003
[6] Z Zhou T Li T Takahashi and E Ho ldquoFPGA realization of ahigh-performance servo controller for PMSMrdquo in Proceedingsof the 19th Annual IEEE Applied Power Electronics Conferenceand Exposition (APEC rsquo04) vol 3 pp 1604ndash1609 AnaheimCalif USA February 2004
[7] B K Bose Power Electronics and ACDrives Prentice Hall 1986[8] V Wilson P Agarwal and S P Srivastava ldquoPerformance
investigation of DSP based self-controlled PMSM driverdquo inProceedings of the Annual IEEE India Conference (INDICONrsquo12) pp 238ndash243 Kochi India December 2012
[9] E Monmasson L Idkhajine M N Cirstea I Bahri A Tisanand M W Naouar ldquoFPGAs in industrial control applicationsrdquoIEEE Transactions on Industrial Informatics vol 7 no 2 pp224ndash243 2011
[10] E Monmasson L Idkhajine and M W Naouar ldquoFPGA-basedcontrollersrdquo IEEE Industrial Electronics Magazine vol 5 no 1pp 14ndash26 2011
[11] Y S Kung V Q Nguyen T H Nguyen C-C Huang andL-C Huang ldquoSimulinkmodelsim co-simulation and FPGArealization of speed control IC for PMSM driverdquo ProcediaEngineering vol 23 pp 718ndash727 2011
Mathematical Problems in Engineering 17
[12] L Idkhajine E Monmasson M W Naouar A Prata andK Bouallaga ldquoFully integrated FPGA-based controller forsynchronous motor driverdquo IEEE Transactions on IndustrialElectronics vol 56 no 10 pp 4006ndash4017 2009
[13] B Alecsa M N Cirstea and A Onea ldquoSimulink modelingand design of an efficient hardware-constrained FPGA-basedPMSM speed controllerrdquo IEEE Transactions on Industrial Infor-matics vol 8 no 3 pp 554ndash562 2012
[14] H-H Chou Y-S Kung N Q Quynh and S Cheng ldquoOpti-mized FPGA design verification and implementation of aneuro-fuzzy controller for PMSM drivesrdquo Mathematics andComputers in Simulation vol 90 pp 28ndash44 2013
[15] Y Li J Huo X Li J Wen YWang and B Shan ldquoAn open-loopsinmicrostepping driver based on FPGA and the co-simulationof modelsim and simulinkrdquo in Proceedings of the InternationalConference on Computer Mechatronics Control and ElectronicEngineering (CMCE rsquo10) pp 223ndash227 August 2010
[16] The Mathworks ldquoMatlabSimulink Users Guide ApplicationProgram Interface Guiderdquo 2004
[17] ModeltechModelSim Reference Manual 2004[18] F-J Lin P-H Shieh and P-H Shen ldquoRobust recurrent-neural-
network sliding-mode control for the X-Y table of a CNCmachinerdquo IEE Proceedings ControlTheory andApplications vol153 no 1 pp 111ndash123 2006
Submit your manuscripts athttpwwwhindawicom
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
MathematicsJournal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Mathematical Problems in Engineering
Hindawi Publishing Corporationhttpwwwhindawicom
Differential EquationsInternational Journal of
Volume 2014
Applied MathematicsJournal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Probability and StatisticsHindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Journal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Mathematical PhysicsAdvances in
Complex AnalysisJournal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
OptimizationJournal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
CombinatoricsHindawi Publishing Corporationhttpwwwhindawicom Volume 2014
International Journal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Operations ResearchAdvances in
Journal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Function Spaces
Abstract and Applied AnalysisHindawi Publishing Corporationhttpwwwhindawicom Volume 2014
International Journal of Mathematics and Mathematical Sciences
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
The Scientific World JournalHindawi Publishing Corporation httpwwwhindawicom Volume 2014
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Algebra
Discrete Dynamics in Nature and Society
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Decision SciencesAdvances in
Discrete MathematicsJournal of
Hindawi Publishing Corporationhttpwwwhindawicom
Volume 2014 Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Stochastic AnalysisInternational Journal of
4 Mathematical Problems in Engineering
CPU
On-chipROM
On-chipRAM
UART
PIO
Timer
SPI
SDRAMcontroller
Aval
on b
us
PWM1PWM2PWM3PWM4PWM5PWM6
PWM1PWM2PWM3PWM4PWM5PWM6
Fuzzy controller
Fuzzy controller
Position controller
Position controller
Positionspeedcurrent controller IP-1
Speed controller
Speed controller
SVPWM
SVPWM
ADCinterface
circuit
ADCinterface
circuit
QEP interfacecircuit
QEP interfacecircuit
Current vector controller
Current vector controller
Nios II processor
FPGA
Positionspeedcurrent controller IP-n
Slowastp1 +
+
+
+
+
+
+
+
minus
minus
minus
minus
minus
minus
minus
minus
Sp1
1 minus zminus1
1 minus zminus1
K
K
ilowastd = 0
ilowastd = 0
ilowastq
ilowastq
PI
PI
PI
PI
vd
vq
id
iq
id
iq
Park
Parkminus1
Parkminus1
120572 120573
120572 120573
120572 120573
120572 120573d q
d q
sin andcos
Park
120572 120573
120572 120573
d q
d q
sin andcos
v120572
v120573
i120572
i120573
120579e
Sp1
i120572
i120573
120579e
a b c
a b c
Clarke
clarkeModified
minus1
120572 120573
120572 120573
a b c
a b c
Clarke
Modified
Slowastp2
ABZ
ABZ
vrxvry
vrz
vd
vq
v120572
v120573
vrxvry
vrz
ia
ibic
ia
ibic
iu
iw
iu
iw
Slowastpn
Spn
Spn
clarkeminus1
Figure 2 The inside architecture of FPGA-based multiaxis positionspeedcurrent control IC
Start
a
bc
d
e
f
g
h
i
(Ox1 Oy1)(Ox2 Oy2)
(Ox2 Oy2)
(Ox3 Oy3)(Ox4 Oy4)
x
y
(xi+1 yi+1)
(xi yi)120579iminus1
Δ120579
120579i = 120579iminus1 + Δ120579r
(a)
Starta
b
c
d
e
x
y
18∘
36∘
54∘
72∘
(b)
Figure 3 (a) Window motion trajectory (b) Star motion trajectory
Mathematical Problems in Engineering 5
g-trajectory
119909119894 = minus119878 + 119909119894minus1 119910119894 = 119910119894minus1 (16)
h-trajectory
(120579119894 0 997888rarr1
2120587 120579119894 = 120579119894minus1 + Δ120579)
119909119894 = 1198741199094 + 119903 cos (120579119894) 119910119894 = 1198741199104 + 119903 sin (120579119894)
(17)
i-trajectory
119909119894 = 119909119894minus1 119910119894 = 119878 + 119910119894minus1 (18)
where 119878 are position increment In addition the(1198741199091 1198741199101) (1198741199092 1198741199102) (1198741199093 1198741199103) (1198741199094 1198741199104) are arccenter of b- d- f- and h-trajectory in Figure 3(a)and 119903 is the radius The motion speed of the table isdetermined by Δ120579
(c) Star motion trajectory it is shown in Figure 3(b)Theformulation is derived as followsa-trajectory
119909119894 = 119878 + 119909119894minus1 119910119894 = 119910119894minus1 (19)
b-trajectory
119909119894 = minus119878 lowast sin 54∘+ 119909119894minus1 119910119894 = minus119878 lowast sin 36
∘+ 119910119894minus1 (20)
c-trajectory
119909119894 = 119878 lowast sin 18∘+ 119909119894minus1 119910119894 = 119878 lowast sin 72
∘+ 119910119894minus1 (21)
d-trajectory
119909119894 = 119878 lowast sin 18∘+ 119909119894minus1 119910119894 = minus119878 lowast sin 72
∘+ 119910119894minus1 (22)
e-trajectory
119909119894 = minus119878 lowast sin 54∘+ 119909119894minus1 119910119894 = 119878 lowast sin 36
∘+ 119910119894minus1 (23)
The motion speed of the table is determined by 119878(d) Helical circular motion trajectory it is computed as
follows
119909119894 = 119903 sin (120579119894)
119910119894 = 119903 cos (120579119894)
119911119894 = 119911119894minus1 + Δ119911
(24)
with 120579119894 = 120579119894minus1 + Δ120579 where Δ120579 Δ119911 119903 119909119894 119910119894 119911119894
are angle increment height increment radius 119909-axistrajectory command119910-axis trajectory command and119911-axis trajectory command respectively
3 Digital Circuit Design for Posi-tionSpeedCurrent Controller IP
The proposed FPGA-based three-axis motion control IC forXYZ table is shown in Figure 4 In positionspeedcurrentcontroller IP the vector control is adopted in the current loopP controller is used in the speed loop and fuzzy controller isapplied in the position loop The FPGA herein uses CycloneIV-EP4CE115 which is the product of Altera cooperationThere are 114480 LEs (Logic Elements) 3981312 RAM bitsand 150 embedded multipliers in the Cyclone IV In additiona Nios II processor is embedded into FPGA to establish anSoC environment The motion control IC comprises a NiosII embedded processor and multiple positionspeedcurrentcontroller IP for multiaxis machine The Nios II processoris utilized to perform the motion trajectory computationThe code in Nios processor is developed with C languageMain program establishes the initial parameters settingthe motion command setting and so forth and the ISR(interrupt service routine) executes the motion trajectorycomputation position command generation and sendingout to three controller IPs Each internal digital circuit ofpositionspeedcurrent controller IP is also shown in Figure 4and it includes one circuit of position FC and speed Pcontroller one circuit of current controller and coordinatetransformation (CCCT) one SVPWM one ADC interfaceand one QEP interface circuit All circuits in Figure 4 arerealized by hardware in FPGA and the circuit behavior isdescribed by VHDL The sampling frequency in positionspeed and current control loop are designed with 2 kHz2 kHz and 16 kHz respectively The operating clock of thedesigned FPGA controller is 50MHz and the frequencydivider generates another 125MHz clock to supply all mod-ule circuits in Figure 4 A finite state machine (FSM) methodis employed to model the algorithms of the position FCand speed P controller the CCCT and the SVPWM whichutilizes one adder one multiplier a look-up table compara-tors and registers to carry out the overall computation Itneeds to spend 20 steps (16 120583s) 24 steps (192 120583s) and 18steps (144 120583s) to complete the computation of positionspeedcontroller CCCT and SVPWM respectively The data typeis designed with 16-bit length 2rsquos complement and Q15format in the positionspeed controller and CCCT but 12-bit length 2rsquos complement and Q11 format in SVPWMFor detailed figures and description regarding CCCT andSVPWM refer to [4] For an example of a three-axis motioncontrol IC overall circuit included a Nios II processor andthree positionspeedcurrent controllers IP consume 22688LEs (Logic Elements) 73 embeddingmultipliers 241 IO pinsand 241792 memory bits
4 ModelSimSimulink Cosimulation andSimulation Results
The SimulinkModelSim cosimulation architecture for thethree-axis motion control system is shown in Figure 5 Eachaxis system is driven by one PMSM The SimPowerSys-tem blockset in the Simulink executes the three PMSMs
6 Mathematical Problems in Engineering
120579e addrLUT
ia
ib
ic
i120572
minus1
radic3
1
radic3
Slowastp(k)
S
1
1
p(k) Sp(k)
Sp(k minus 1)+
+
+
+
+ + + +
++
+
minus
minus
minus
minus
minus
minus
minusminus
X
X
XX
X X
X X
X
X
X
X
X
XX
X
+ +
+
++
+
+
+
+
+
+ +
+
+
+
+
minus
minus
minus
minusminus
minus
minus
i120573
v120573
vrx
vq
vq
vdvd
id
iq
ilowastq e q
d
Kp
Kp
Ki
Ki
q
d
qe q
e d
e d
i q
i di d
i q
LS 1ilowastd = 0
120572
radic3
2
120573
2
ry
rz
s0 s1 s2 s3 s4 s5 s6 s7 s8 s9 s10 s11 s12s13s14s15 s16 s17 s18 s19 s20 s21 s22 s23
Look upsincos
tableClark Park d-axis PI
controllerq-axis PIcontroller Parkminus1 Modified
minus1clark
CPU
On-chipROM
On-chipRAM
UART
PIO
Timer
SPI
SDRAMcontroller
Aval
on b
us
Nios II processorFPGA Digital circuit of
FPGA-based multiaxis motion control IC
positionspeedcurrent controller IP-1
Digital circuit of position
speedcurrent controller IP-2
Digital circuit of position
speedcurrent
Current controllers and
coordinate transformation
(CCCT)Rotary encoder
Positionspeedcurrent controller IPFrom Nios II
controller IP-n
Digital circuitof position FCand speed PI
controller
QEP interfacecircuit
k-sp
k-sp
k-posSlowastp [15 0]
Sp [15 0]
Encoder-AEncoder-BEncoder-Z
Clk
Clk
Clk Clk
ClkCl
ClClk
ClCl
Clk k-cur k-curk-sp
ilowastq [11 0]
ia [11 0]
ib [11 0]
ic [11 0]
rx [11 0]ry [11 0]rz [11 0]
ADCinterface
circuit
SVPWMgeneration
ADIN[11]
ADIN[0]BDIN[11]
BDIN[0]RCARCB
PWM-1PWM-2PWM-3PWM-4PWM-5PWM-6
Start ofmain program
Initial interrupt
Initial timer
Computation ofposition command
Loop
Start of ISR(each 200Hz)
Return
Set parametersof each axis
Read the motiontrajectory command
Computation ofposition for each axis
from motion trajectorycommand
Output the positioncommand
Generation ofsymmetric
triangular wave
Vref1
12
12
1212
12
12
120n 200n40n
CMPR1
CMPR2
CMPR3
S1
S2
S3S4
S5
State machine
SVPWM algorithm
Q 12
Comparator1
Comparator2
Comparator3
PWMEA 1
PWMEA 2
PWMEB 1
PWMEB 2
PWMEC 1
PWMEC 2
PWM1
PWM2
PWM3
PWM4
PWM5
PWM6
Vref2
Vref3
Dead-bandunit
e(k)
e(k)e(k minus 1)
1
Ts
(k)X
X
X
X
X
X
X
X
X
X
SD
SD
RS 1
RS 1
ei+1ek
120583A119894(e)
120583A119894(e)
120583A119894(e)
i
jamp Look-up
fuzzy ruletable
ji
i+1
+1i
+1i+1
de(k) dej+1
dek
120583B119895 (de)
120583B119895 (de)120583B119895 (de)
120583B119895 (de)
Computation of speed positionerror and error change Fuzzification Look-up fuzzy table
s0 s1 s2 s3 s4 s5 s6 s7
s8 s9 s10 s11 s12 s13 s14 s15 s16 s17 s18 s19
dij
dij
di+1j
120583B119895+1 (de) dij+1
di+1j+1
dij+1
di+1j
di+1j+1
uf(k)
(k) K
ilowastq (k)
Defuzzification Speed P controller
ampiji+1cj+1icj+1i+1cj
cji
cj
cj
cj
cj
addr [11 0]120579e
sin120579ecos120579e Clk
ClkClk Clk
120583A119894+1(e)
(x- and y- and z-axis)
Figure 4 Internal circuit design of the proposed FPGA-based multiaxis motion control IC
and three IGBT-based inverters The EDA Simulator Linkfor ModelSim executes the cosimulation using VHDL coderunning in ModelSim program It carries out the functionof three positionspeedcurrent controller IPs with six worksin Figure 5 The work-1 work-3 and work-5 perform thefunction of position and speed loop controller and work-2 work-4 and work-6 accomplish the function of currentvector controller which includes current PI controller coor-dinate transformation (CCCT) and space vector pulse widthmodulation (SVPWM) The signals of three-phase currentrotor speed and rotor position in PMSM-1 are respectivelyfed back to work-3 and work-1 to do the close-loop positioncontrolThe similar conditions of close-loop position controlin PMSM-2 and PMSM-3 drive system are the same Thesampling frequency in current control loop is designed with16 kHz but in positionspeed control loop is 1 kHz Themotion trajectory described in Section 23 is planned withinthe block diagram of the Matlab embedded function in
Figure 5 Matlab m-code is used to develop the program ofthe motion trajectory
In this simulation cases the following motion trajectorywill be carried out and tested (1) single-axis position stepresponse (2) circular motion trajectory tracking (two-axis simultaneous motion) (3) window motion trajectorytracking (two-axis simultaneous motion) (4) star motiontrajectory tracking (two-axis simultaneous motion) (5)helical circular motion trajectory tracking (three-axissimultaneous motion) Firstly single-axis position stepresponse is considered and the step signal with 15 s and5mm amplitude is tested The simulation results in positionresponse and current response are presented in Figure 6 Inthis simulation the Kp and Ki gains in position controllerare respectively chosen by (15000 0) and (25000 95) in16bit-Q15 format In Figure 6(a) the position responseswith 003 seconds rising time and zero overshoot and zerowhich show a good response performance In Figure 6(b)
Mathematical Problems in Engineering 7
MATLABembeddedfunction(motion
trajectory)
Model SimConvert
Convert
Convert
Convert
Convert
Convert
Convert
Convert
ConvertData type conversion16
Data type conversion14
Data type conversion13
Data type conversion1
Saturation3
Saturation4
Saturation5
15000
15000
spd
0spd
pos95pos
position fdbcmd pos
KpKp
Kp
Kp
Kp
Kp
pos
Ki
Ki
Ki
Ki
Ki
Ki
pos
spdspd
rotor speed
position out
speed outWork-1
Work-2
HDL cosimulation3
HDL cosimulation
Current2
Speed and fdb
Positionspeedcontroller-1
Position cmd and fdb
Position fdbGain10
Gain2954929
0
9
95
1000
0
Constant9
Constant15
Constant22
Constant23
Constant24
cmd iq
cmd id
d
d
q
q
addressinfo a
info b
info c
PWM1
PWM2
PWM3
PWM4
PWM5
PWM6
address shift
shift1
-K-
-K-
Gain3
Gain4
Gain5 y fcn u
EmbeddedMATLAB function1
d-q1
N m
Tm
A
0001Constant13
Speed fdb
DC voltagesource1
BC S
Permanent magnetsynchronous machine1
Stator current1Continuous
Subsystem1
In1Conn1
In2Conn2
In3Conn3
In4Conn4
In5Conn5
In6Conn6
powergui1
PMSM-1
=
ltRotor speed wm (rads)gtltElectromagnetic torque Te ltRotor angle thetam (rad)gtltStator current is d (A)gtltStator current is q(A)gtltStator current is a (A)gtltStator current is b (A)gt
Torque1
Convert
Convert
Convert
Convert
Convert
Convert
Convert
Convert
Convert
0
95
Currentcontroller-1
1
Position fdbGain10
95
700
s
s
-K-
Constant13
=
1
Model Sim
Model SimConvert
Convert
Convert
Convert
Convert
Convert
Convert
Convert
ConvertData type conversion16
Data type conversion14
Data type conversion13
Data type conversion1
Saturation3
Saturation4
Saturation5
15000
15000
spd
0spd
pos95pos
position fdbcmd pos
pos
pos
spdspd
rotor speed
position out
speed outWork-
Work-4
HDL cosimulation3
HDL cosimulation
Current2
Speed and fdb
Positionspeedcontroller-2
Position cmd and fdb
Position fdbGain10
Gain2954929
0
95
1000
0
Constant9
Constant15
Constant22
Constant23
Constant24
cmd iq
cmd id
d
d
q
q
addressinfo a
info b
info c
PWM1
PWM2
PWM3
PWM4
PWM5
PWM6
address shift
Address
Address
shift1
y fcn u
EmbeddedMATLAB function1
d-q1
N m
Tm
A
0001Constant13
Speed fdb
DC voltagesource1
B
C S
Permanent magnetsynchronous machine1
Stator current1Continuous
Subsystem1
In1Conn1
In2Conn2
In3Conn3
In4Conn4
In5Conn5
In6Conn6
powergui1
PMSM-2
=
ltRotor speed wm (rads)gtltElectromagnetic torque Te ltRotor angle thetam (rad)gtltStator current is d (A)gtltStator current is q(A)gtltStator current is a (A)gtltStator current is b (A)gt
Torque1
Convert
Convert
Convert
Convert
Convert
Convert
0
95
cmd
3
controller-2
95
700
s
Gain3
Gain4
Gain5
=
Model Sim
Model SimConvert
Convert
Convert
Convert
Convert
Convert
Convert
Convert
ConvertData type conversion16
Data type conversion14
Data type conversion13
Data type conversion1
Saturation3
Saturation4
Saturation5
15000
15000
spd
0spd
pos95pos
position fdbcmd pos
pos
pos
spdspd
rotor speed
position out
speed outWork-
Work-6
HDL cosimulation3
HDL cosimulation
Current2
Speed and fdb
Positionspeedcontroller-3
Position cmd and fdb
Position fdbGain10
Gain2954929
0
95
1000
0
Constant9
Constant15
Constant22
Constant23
Constant24
cmd iq
cmd id
d
d
q
q
addressinfo a
info b
info c
PWM1
PWM2
PWM3
PWM4
PWM5
PWM6
address shift
shift1
y fcn u
EmbeddedMATLAB function1
d-q1
N m
Tm
A
0001Constant13
Speed fdb
DC voltagesource1
B
C S
Permanent magnetsynchronous machine1
Stator current1Continuous
Subsystem1
In1Conn1
In2Conn2
In3Conn3
In4Conn4
In5Conn5
In6Conn6
powergui1
PMSM-3
=
ltRotor speed wm (rads)gtltElectromagnetic torque Te ltRotor angle thetam (rad)gtltStator current is d (A)gtltStator current is q(A)gtltStator current is a (A)gtltStator current is b (A)gt
Torque1
Convert
Convert
Convert
Convert
Convert
Convert
0
95
5
controller-3
95
700
s
s
Gain3
Gain4
Gain5
d-q1
=
ltStator current is c (A)gt
Model Sim
(1(2lowastpi))lowast10000
(1(2lowastpi))lowast10000
(1(2lowastpi))lowast10000
(Nlowastm)gt
(Nlowastm)gt
(Nlowast
Address
m)gt
-K-
-K-
-K-
-K-
-K-
-K-
KpKp
Kp
Kp
Kp
Kp
Ki
Ki
Ki
Ki
Ki
Ki
KpKp
Kp
Kp
Kp
Kp
Ki
Ki
Ki
Ki
Ki
Ki
ltStator current is c (A)gt
ltStator current is c (A)gt
plusmn
plusmn
plusmn
Figure 5 SimulinkModelSim cosimulation architecture for three-axis motion control system
8 Mathematical Problems in Engineering
0
25
50
Time (s)0 01 02 03 04 05 06 07 08 09 1
Positioncommand
Positionfeedback
Posit
ion
(mm
)
(a)
Time (s)0 01 02 03 04 05 06 07 08 09 1
Curr
ent (
A)
id iq09760488
0minus0488minus0976
(b)
Figure 6 Single-axis PMSM (a) step position response (b) current response
0
1
2
3
4
5
6
7
8
9
10
0 1 2 3 4 5 6 7 8 9 10
(mm)
(mm
)
Positioncommand
Positionfeedback
(a)
(mm
)
0184
0185
0186
0187
0188
0 01 02 03 04 05 06 07 08
Overall tracking error
(mm
)
0 01 02 03 04 05 06 07 08
015
02
0
minus 015
minus 02
0 01 02 03 04 05 06 07 08
Time (s)
015
02
0
(mm
)
minus 015
minus 02
x-axis error
y-axis error
(b)
Positioncommand Position
feedback
0
25
50
75
10
(mm
)
Positioncommand Position
feedback
0
25
50
75
10
(mm
)
0 01 02 03 04 05 06 07 08Time (s)
0 01 02 03 04 05 06 07 08
x-axis position
y-axis position
(c)
minus0195
minus0097
0
0097
0195
(A)
iq id
id
x-axis current
0 01 02 03 04 05 06 07 08
minus0195
minus0097
0
0097
0195
(A)
iqy-axis current
0 01 02 03 04 05 06 07 08
Time (s)
(d)
Figure 7 (a) Circular motion trajectory tracking (b) tracking error (c) position response (d) current response
Mathematical Problems in Engineering 9
0 1 2 3 4 5
0
05
1
15
2
25
3
35
4
45
5
Positioncommand
Positionfeedback
(mm
)
(mm)
(a)
0
02
04
Overall tracking error
0 02 04 06 08 10 12 14 1617
(mm
)
0 02 04 06 08 10 12 14 1617
-axis error
02
0
minus02
(mm
)
0 02 04 06 08 10 12 14 1617
Time (s)
-axis error02
0
minus02
(mm
)
y
x
(b)
0
10
20
3 0
4 0
5 0
Positioncommand
Positionfeedback(m
m)
0 02 04 06 08 10 12 14 16 17
0 02 04 06 08 10 12 14 16 17
Positioncommand
Positionfeedback
0
10
20
3 0
4 0
5 0
(mm
)
Time (s)
-axis position
-axis positiony
x
(c)
0 02 04 06 08 10 12 14 16 17Time (s)
0195
0097
0
minus0097
minus0195
(A)
-axis current
0 02 04 06 08 10 12 14 16 17
-axis current0195
0097
0
minus0097
minus0195
(A)
iq
iq
id
id
y
x
(d)
Figure 8 (a) Window motion trajectory tracking (b) tracking error (c) position response (d) current response
the current in 119894119889 axis approaches zero which presents thesuccess of the vector control in PMSM drive Further inthe two-axis simultaneous motion trajectory the circularmotion trajectory control with center (5 5) mm and radius10mm is evaluated and the simulation results in motiontrajectory tracking tracking error position response andcurrent response are shown in Figure 7 In this design theKp and Ki gains in position controller are respectivelychosen by (18000 0) (19000 95) in 16bit-Q15 format Thetracking errors in Figure 7(b) show the maximum plusmn018mm
in 119909-axis table maximum plusmn018mm in 119910-axis table andless than 01855mm in overall circular motion trackingIt demonstrates a good tracking Additionally the currentresponse of 119894119889-axis both in 119909- and 119910-axis motors all can becontrolled to zero which presents the success of the vectorcontroller In the window tracking motion the trajectory isdesigned as Figure 3(a) and its simulation results in motiontrajectory tracking tracking error position response andcurrent response are shown in Figure 8 In this design theKp and Ki gains in position controller are respectively
10 Mathematical Problems in Engineering
0
05
10
15
20
25
30
35
40
45
50
(mm
)
(mm)0 05 10 15 20 25 30 35 40 45 50
Positioncommand
Positionfeedback
(a)
y-axis error
0 02 04 06 08 10 12 14 16 18 20 22
019
008
0
minus008
minus019
(mm
)
Overall tracking error02
015
01
005
00 02 04 06 08 10 12 14 16 18 20 22
(mm
)
-axis error
0 02 04 06 08 10 12 14 16 18 20 22
019
008
0
minus008
minus019
(mm
)Time (s)
x
(b)
Positioncommand
Positionfeedback
50
40
30
20
10
0
(mm
)
0 02 04 06 08 10 12 14 16 18 20 22
Positioncommand
Positionfeedback
50
40
30
20
10
0
(mm
)
0 02 04 06 08 10 12 14 16 18 20 22Time (s)
-axis position
-axis positiony
x
(c)
0 02 04 06 08 10 12 14 16 18 20 22
0 02 04 06 08 10 12 14 16 18 20 22Time (s)
-axis current
-axis current
iq
iq
id
id
0097
0048
0
minus0048
minus0097
minus0146
(A)
0097
0048
0
minus0048
minus0097
minus0146
(A)
y
x
(d)
Figure 9 (a) Star motion trajectory tracking (b) tracking error (c) position response (d) current response
chosen by (15000 0) (25000 95) in 16bit-Q15 formatThe tracking errors in Figure 8 show the maximumplusmn0185mm in 119909-axis table maximum plusmn0178mm in 119910-axistable and less than 019mm in overall motion trackingIn the star tracking motion the trajectory is designed asFigure 3(b) and its simulation results are shown in Figure 9In this experiment the Kp and Ki gains in position controllerare respectively chosen by (15000 0) (25000 95) in 16bit-Q15 format The tracking errors in Figure 9(b) show themaximum plusmn014mm in 119909-axis table maximum plusmn014mmin 119910-axis table and less than 017mm in overall star motion
tracking The results show a good tracking response in bothwindow and star motion trajectory Finally the three-axissimultaneous motion trajectory which is helical circulartrajectory is evaluated and their simulation tracking resultsare shown in Figure 10 respectively In this design theKp and Ki gains in position controller are respectivelychosen by (18000 0) (19000 95) in 16bit-Q15 format InFigure 10(b) the tracking errors show that it can keep withinplusmn0185mm in 119909- and 119910-axis table motion and plusmn019mmin 119911-axis table motion which reveals a good trackingresponse Therefore Figure 16 shows a good tracking result
Mathematical Problems in Engineering 11
0 1 2 3 4 5 6 7 8 9 10
0123456
0
1
2
3
4
5
6
78910
x (mm)y (mm)
z(m
m)
Positioncommand
Positionfeedback
(a)
minus020
02
0 02 04 06 08 10 12
Time (s)
-axis error
(mm
)
018550186
01865
0 02 04 06 08 10 12
Time (s)
(mm
)
Overall tracking error
minus020
02
0 02 04 06 08 10 12
Time (s)
-axis error
(mm
)0
0005001
0 02 04 06 08 10 12
Time (s)
-axis error(m
m)
y
x z
(b)
Figure 10 (a) Helical circular motion trajectory and (b) tracking results
FPGAcontroller
3-axis motor drivers
XYZ table
Figure 11 Experimental system
0 4 8 12 16 20 24012345
Time (s)
Posit
ion
(mm
)
Tableposition
Positioncommand
(a)
Curr
ent (
A)
0 4 8 12 16 20 24Time (s)
1
05
0
minus05
minus1
id
iq
(b)
Figure 12 119909-axis table (a) position step response (b) current response
12 Mathematical Problems in Engineering
0 10 20 30 40 50 60 70 80 90 100
(mm
)
0
10
20
30
40
50
60
70
80
90
100
(mm)
Tableposition
Positioncommand
(a)
Overall tracking error
0 33 67 10 133 167 20
0 33 67 10 133 167 20
0 33 67 10 133 167 20
0
02
04
06
08
(mm
)
minus05
0
05
-axis tracking error
(mm
)
minus04
minus02
0
02
04-axis tracking error
Time (s)
(mm
)
x
y
(b)
Tableposition Position
command
-axis position
0
50
100
(mm
)
0 33 67 10 133 167 20
0 33 67 10 133 167 20
Time (s)
TablepositionPosition
command
-axis position
0
50
100
(mm
)
x
y
(c)
-axis current
id
iq
minus1
0
05
1
(A)
0 33 67 10 133 167 20
0 33 67 10 133 167 20
-axis current
id
iq
minus15
minus1
minus05
0
05
1
(A)
Time (s)
minus05
x
y
(d)
Figure 13 (a) Circular motion trajectory tracking (b) tracking error (c) position response (d) current response
in 3-axis motion tracking Further Figures 6sim10 presentthat the three-axis motion control system tested throughModelSimSimulink cosimulation is effectiveness andcorrectness After confirming the success of the proposedthree-axis positionspeedcurrent controller IP it willdirectly apply to FPGA to be further evaluated
5 Experimental System and Results
51 Experimental System The overall experimental systemshown in Figure 11 includes an FPGA control board three
sets of voltage source IPM-based (Intelligent PowerModules)inverter and an XYZ table which is driven by three PMSMsand three ball-screwsThe power rating voltage current andrating speed of PMSM are 200W 92V 16 A and 3000 rpmrespectively A 2500 ppr rotary encoder attached to PMSMis used to measure the motorrsquos electrical angle Each ball-screw has 5mm lead Inside IPM it has 6 sets of IGBT typepower transistors with emitter of the rated voltage of 600Vcollector DC current rating of 20A and a short time (1ms)rated current of 40A Photo coupler IC adopts TLP250whoseoutput has push-pull amplifier functions The FPGA uses
Mathematical Problems in Engineering 13
(mm
)
0
10
20
30
40
50
60
70
80
90
100
(mm)0 10 20 30 40 50 60 70 80 90 100
Tableposition
Positioncommand
(a)
0 3 6 9 12 15 18 21 24 27 30
Time (s)0 3 6 9 12 15 18 21 24 27 30
0 3 6 9 12 15 18 21 24 27 30
0
01
02
(mm
)
Overall tracking error
minus02
minus01
0
01
02
(mm
)
-axis tracking error
minus02minus01
00102
(mm
)
-axis tracking error
x
y
(b)
Positioncommand
-axis position
Tableposition
0 6 12 18 24 30
Time (s)0 6 12 18 24 30
0
50
100
(mm
)
Positioncommand
-axis position
Tableposition
0
50
100
(mm
)
y
x
(c)
minus05
0
05
0 6 12 18 24 30
Time (s)0 6 12 18 24 30
(A)
minus05
0
05
(A)
-axis current
id
id
iq
iq-axis currenty
x
(d)
Figure 14 (a) Window motion trajectory tracking (b) tracking error (c) position response (d) current response
Cyclone IV-EP4CE115 which is the kernel of this systemThere are 114480 LEs (Logic Elements) 3981312 RAM bitsand 150 embedded multipliers in the Cyclone IV Further aNios II processor can be embedded into FPGA to establishSoC environment
52 Experimental Results In experiment the one-dimen-sional motion trajectory is firstly tested The step signal with
18Hz square wave and 5mm amplitude is sent to the 119909-axis tables as the position command to cause tables motionThe experimental results in position response and currentresponse using FC are shown in Figure 12 In Figure 12(a)the position response with 02 second rising time and 2overshoot and near zero steady state zero which shows agood response performance In Figure 12(b) the current in 119894119889
axis approaches zero which reveals the success of the vectorcontrol in PMSMdrive To evaluate the tracking performance
14 Mathematical Problems in Engineering
(mm
)
0
10
20
30
40
50
60
70
80
90
100
(mm)0 10 20 30 40 50 60 70 80 90 100
Tableposition
Positioncommand
(a)
Overall tracking error
-axis tracking error
-axis tracking error
Time (s)
0 10 20 30
0 10 20 30
0 10 20 30
0
04
06
08
02
0
04
02
(mm
)(m
m)
minus02
minus04
0
1
(mm
)
minus05
05y
x
(b)
0 10 20 30
Time (s)0 10 20 30
-axis position
Positioncommand
Positioncommand
-axis position
Tableposition
Tableposition
0
50
100
(mm
)
0
50
100
(mm
)
y
x
(c)
minus05
minus1
0
1
05
Time (s)0 10 20 30
0 10 20 30
(A)
minus05
minus1
minus15
0
1
05
(A)
id
id
iq
iq
-axis current
-axis current
y
x
(d)
Figure 15 (a) Star motion trajectory tracking (b) tracking error (c) position response (d) current response
in multiaxis motion table the indices are firstly defined asfollows
119879 (119896) = radic
119899
sum
119894=1
(119878lowast119901119894
(119896) minus 119878119901119894 (119909))2
119898119905119890 =
119898
sum
119896=1
119879 (119896)
119898
(25)
where 119879(119896) 119878lowast119901119894(119896) 119878119901119894(119896) 119899 119898 and 119898119905119890 respectively repre-
sent instantaneous error 119894th-axis position command 119894th-axisposition feedback number of motion table total acquisitiondata and mean tracking error Further in two-dimensionalmotion trajectory the circular motion trajectory control withcenter (50 50) mm and radius 25mm is evaluated and theexperimental results in motion trajectory tracking trackingerror position response and current response using same FCare shown in Figure 13 The tracking errors in Figure 13(b)show the maximum plusmn046mm in 119909-axis table maximum
Mathematical Problems in Engineering 15
0 20 40 60 80 100
020
4060
80100
051015202530
Y (mm)
Z(m
m)
Tableposition
Positioncommand
X (mm)
(a)
00102
0 67 133 20 267 333 40 467 533 60
Time (s)
(mm
)
Overall tracking error
0 67 133 20 267 333 40 467 533 60
Time (s)
(mm
)
minus020
02-axis tracking error
0 67 133 20 267 333 40 467 533 60
Time (s)
(mm
)
minus020
02-axis tracking error
0 67 133 20 267 333 40 467 533 60
Time (s)(m
m)
minus0010
001002
-axis tracking error
y
x z
(b)
Figure 16 (a) Helical circular motion trajectory and (b) tracking results
0020
4060
80
01020
50
100
150
200
250
Y (mm)
Z(m
m)
Position commandTracking response
X (mm)
(a)
Three axis
0 50 100 150 200
Time (s)
minus01
0
01
02
Trac
king
erro
r(m
m)
-axis
0 50 100 150 200
Time (s)
minus01
0
01
02
Trac
king
erro
r(m
m)
-axis
0 50 100 150 200
Time (s)
minus02
0
02
Trac
king
erro
r(m
m)
-axis
0 50 100 150 200
Time (s)
minus01
0
01
02
Trac
king
erro
r(m
m)
x
zy
(b)
Figure 17 Motion trajectory tracking and tracking error of STUST character
16 Mathematical Problems in Engineering
plusmn035mm in119910-axis table and 01759mmmean tracking errorin overall circularmotion It presents a good contour trackingresult Additional the current response of 119894119889-axis both in119909- and 119910-axis motors all can be controlled to zero whichpresents the success of the vector controller In the windowtracking motion the trajectory is designed as Figure 3(a)and its experimental results in motion trajectory trackingtracking error position response and current response areshown in Figure 14The tracking errors in Figure 14 show themaximum plusmn02mm in 119909-axis table maximum plusmn02mm in119910-axis table and 0054mm mean tracking error in overallmotion In the star trackingmotion the trajectory is designedas Figure 3(b) and its experimental results are shown inFigure 15 The tracking errors in Figure 15 show the maxi-mum plusmn04mm in 119909-axis table maximum plusmn055mm in 119910-axis table and 00698mm mean tracking error in overallstar motion However the larger tracking error in bothwindow and starmotion trajectory occurred at the position ofcommand suddenly changed otherwise the tracking error isvery smallThe results show a good contour tracking responsein both window and star motion trajectory Finally thethree-dimensional motion trajectory which is helical circulartrajectory and ldquoSTUSTrdquo character trajectory are evaluatedand their experimental tracking results are shown in Figures16 and 17 respectively In Figure 16(b) the tracking errorsshow that it can keep within plusmn02mm in 119909- and 119910-axis tablemotion plusmn001mm in 119911-axis table motion and 01162mmmean tracking error in overall helical circular motion whichreveals a good tracking response In performing themotion ofldquoSTUSTrdquo character the 119911-axis table just runs the up and downmotion the ldquoSTUSTrdquo character is drawn by the simultaneousmotion of 119909- and 119910-axis table The tracking error in Figure 17shows the maximum plusmn03mm in 119909-axis 119910-axis and 119911-axis table and less than 03mm in overall motion trackingTherefore Figures 16sim17 show a good tracking result in 3Dmotion contour tracking Therefore Figures 12sim17 presentthat the proposed FPGA-based multiaxis motion control ICis effectiveness and correctness
6 Conclusions
The FPGA-based multiaxis motion controller has been suc-cessfully demonstrated from ModelSimSimulink cosimula-tion to FPGA realization experiment in this paper For amultiaxis motion controller system DSP and FPGA all canprovide a good solution in implementation However dueto one DSP chip only can support one CPU inside and 12channels PWM output and 2 QEP output in its peripheralcircuit it is suitable for a two-axis motion controller systemIf we want to realize a multiaxis motion controller systemit needs several DSP chips In contrast with DSP FPGA hasthe properties of fast computing power parallel processingand hardware-software codesign which cause the multiaxismotion controller system to be implemented by one FPGAchip Finally the work herein is summarized as follows
(a) The functionalities required to build amultiaxis servocontroller and motion trajectory planning can beintegrated in one FPGA chip
(b) The computation of key algorithms such as SVPWMCCCT and FC in PMSM drive can be completedwithin 2 120583s by FPGA implementation
(c) The VHDL code of the proposed multiaxis servocontroller IP has been effectively verified from Mod-elSimSimulink cosimulation results
(d) Some experimental results by position step responsecircular window star and helical circular motiontrajectory tracking the specific character (ldquoSTUSTrdquo)motion trajectory tracking and so forth have revealedthat the proposed FPGA-based multiaxis motioncontroller is effectiveness and correctness
Conflict of Interests
The authors declare that there is no conflict of interestsregarding the publication of this paper
References
[1] J U Cho Q N Le and J W Jeon ldquoAn FPGA-based multiple-axis motion control chiprdquo IEEE Transactions on IndustrialElectronics vol 56 no 3 pp 856ndash870 2009
[2] X Shao and D Sun ldquoDevelopment of a new robot controllerarchitecture with FPGA-based IC design for improved high-speed performancerdquo IEEE Transactions on Industrial Informat-ics vol 3 no 4 pp 312ndash321 2007
[3] S S Yeh and J T Sun ldquoDesign of perfectly matched zero-phaseerror tracking control formulti-axismotion control systemsrdquo inProceedings of the SICE Annual Conference pp 528ndash533 August2012
[4] Y S Kung R F Fung and T Y Tai ldquoRealization of a motioncontrol IC forX-Y table based onnovel FPGA technologyrdquo IEEETransactions on Industrial Electronics vol 56 no 1 pp 43ndash532009
[5] S-S Yeh and P-L Hsu ldquoAnalysis and design of integratedcontrol for multi-axis motion systemsrdquo IEEE Transactions onControl Systems Technology vol 11 no 3 pp 375ndash382 2003
[6] Z Zhou T Li T Takahashi and E Ho ldquoFPGA realization of ahigh-performance servo controller for PMSMrdquo in Proceedingsof the 19th Annual IEEE Applied Power Electronics Conferenceand Exposition (APEC rsquo04) vol 3 pp 1604ndash1609 AnaheimCalif USA February 2004
[7] B K Bose Power Electronics and ACDrives Prentice Hall 1986[8] V Wilson P Agarwal and S P Srivastava ldquoPerformance
investigation of DSP based self-controlled PMSM driverdquo inProceedings of the Annual IEEE India Conference (INDICONrsquo12) pp 238ndash243 Kochi India December 2012
[9] E Monmasson L Idkhajine M N Cirstea I Bahri A Tisanand M W Naouar ldquoFPGAs in industrial control applicationsrdquoIEEE Transactions on Industrial Informatics vol 7 no 2 pp224ndash243 2011
[10] E Monmasson L Idkhajine and M W Naouar ldquoFPGA-basedcontrollersrdquo IEEE Industrial Electronics Magazine vol 5 no 1pp 14ndash26 2011
[11] Y S Kung V Q Nguyen T H Nguyen C-C Huang andL-C Huang ldquoSimulinkmodelsim co-simulation and FPGArealization of speed control IC for PMSM driverdquo ProcediaEngineering vol 23 pp 718ndash727 2011
Mathematical Problems in Engineering 17
[12] L Idkhajine E Monmasson M W Naouar A Prata andK Bouallaga ldquoFully integrated FPGA-based controller forsynchronous motor driverdquo IEEE Transactions on IndustrialElectronics vol 56 no 10 pp 4006ndash4017 2009
[13] B Alecsa M N Cirstea and A Onea ldquoSimulink modelingand design of an efficient hardware-constrained FPGA-basedPMSM speed controllerrdquo IEEE Transactions on Industrial Infor-matics vol 8 no 3 pp 554ndash562 2012
[14] H-H Chou Y-S Kung N Q Quynh and S Cheng ldquoOpti-mized FPGA design verification and implementation of aneuro-fuzzy controller for PMSM drivesrdquo Mathematics andComputers in Simulation vol 90 pp 28ndash44 2013
[15] Y Li J Huo X Li J Wen YWang and B Shan ldquoAn open-loopsinmicrostepping driver based on FPGA and the co-simulationof modelsim and simulinkrdquo in Proceedings of the InternationalConference on Computer Mechatronics Control and ElectronicEngineering (CMCE rsquo10) pp 223ndash227 August 2010
[16] The Mathworks ldquoMatlabSimulink Users Guide ApplicationProgram Interface Guiderdquo 2004
[17] ModeltechModelSim Reference Manual 2004[18] F-J Lin P-H Shieh and P-H Shen ldquoRobust recurrent-neural-
network sliding-mode control for the X-Y table of a CNCmachinerdquo IEE Proceedings ControlTheory andApplications vol153 no 1 pp 111ndash123 2006
Submit your manuscripts athttpwwwhindawicom
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
MathematicsJournal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Mathematical Problems in Engineering
Hindawi Publishing Corporationhttpwwwhindawicom
Differential EquationsInternational Journal of
Volume 2014
Applied MathematicsJournal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Probability and StatisticsHindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Journal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Mathematical PhysicsAdvances in
Complex AnalysisJournal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
OptimizationJournal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
CombinatoricsHindawi Publishing Corporationhttpwwwhindawicom Volume 2014
International Journal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Operations ResearchAdvances in
Journal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Function Spaces
Abstract and Applied AnalysisHindawi Publishing Corporationhttpwwwhindawicom Volume 2014
International Journal of Mathematics and Mathematical Sciences
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
The Scientific World JournalHindawi Publishing Corporation httpwwwhindawicom Volume 2014
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Algebra
Discrete Dynamics in Nature and Society
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Decision SciencesAdvances in
Discrete MathematicsJournal of
Hindawi Publishing Corporationhttpwwwhindawicom
Volume 2014 Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Stochastic AnalysisInternational Journal of
Mathematical Problems in Engineering 5
g-trajectory
119909119894 = minus119878 + 119909119894minus1 119910119894 = 119910119894minus1 (16)
h-trajectory
(120579119894 0 997888rarr1
2120587 120579119894 = 120579119894minus1 + Δ120579)
119909119894 = 1198741199094 + 119903 cos (120579119894) 119910119894 = 1198741199104 + 119903 sin (120579119894)
(17)
i-trajectory
119909119894 = 119909119894minus1 119910119894 = 119878 + 119910119894minus1 (18)
where 119878 are position increment In addition the(1198741199091 1198741199101) (1198741199092 1198741199102) (1198741199093 1198741199103) (1198741199094 1198741199104) are arccenter of b- d- f- and h-trajectory in Figure 3(a)and 119903 is the radius The motion speed of the table isdetermined by Δ120579
(c) Star motion trajectory it is shown in Figure 3(b)Theformulation is derived as followsa-trajectory
119909119894 = 119878 + 119909119894minus1 119910119894 = 119910119894minus1 (19)
b-trajectory
119909119894 = minus119878 lowast sin 54∘+ 119909119894minus1 119910119894 = minus119878 lowast sin 36
∘+ 119910119894minus1 (20)
c-trajectory
119909119894 = 119878 lowast sin 18∘+ 119909119894minus1 119910119894 = 119878 lowast sin 72
∘+ 119910119894minus1 (21)
d-trajectory
119909119894 = 119878 lowast sin 18∘+ 119909119894minus1 119910119894 = minus119878 lowast sin 72
∘+ 119910119894minus1 (22)
e-trajectory
119909119894 = minus119878 lowast sin 54∘+ 119909119894minus1 119910119894 = 119878 lowast sin 36
∘+ 119910119894minus1 (23)
The motion speed of the table is determined by 119878(d) Helical circular motion trajectory it is computed as
follows
119909119894 = 119903 sin (120579119894)
119910119894 = 119903 cos (120579119894)
119911119894 = 119911119894minus1 + Δ119911
(24)
with 120579119894 = 120579119894minus1 + Δ120579 where Δ120579 Δ119911 119903 119909119894 119910119894 119911119894
are angle increment height increment radius 119909-axistrajectory command119910-axis trajectory command and119911-axis trajectory command respectively
3 Digital Circuit Design for Posi-tionSpeedCurrent Controller IP
The proposed FPGA-based three-axis motion control IC forXYZ table is shown in Figure 4 In positionspeedcurrentcontroller IP the vector control is adopted in the current loopP controller is used in the speed loop and fuzzy controller isapplied in the position loop The FPGA herein uses CycloneIV-EP4CE115 which is the product of Altera cooperationThere are 114480 LEs (Logic Elements) 3981312 RAM bitsand 150 embedded multipliers in the Cyclone IV In additiona Nios II processor is embedded into FPGA to establish anSoC environment The motion control IC comprises a NiosII embedded processor and multiple positionspeedcurrentcontroller IP for multiaxis machine The Nios II processoris utilized to perform the motion trajectory computationThe code in Nios processor is developed with C languageMain program establishes the initial parameters settingthe motion command setting and so forth and the ISR(interrupt service routine) executes the motion trajectorycomputation position command generation and sendingout to three controller IPs Each internal digital circuit ofpositionspeedcurrent controller IP is also shown in Figure 4and it includes one circuit of position FC and speed Pcontroller one circuit of current controller and coordinatetransformation (CCCT) one SVPWM one ADC interfaceand one QEP interface circuit All circuits in Figure 4 arerealized by hardware in FPGA and the circuit behavior isdescribed by VHDL The sampling frequency in positionspeed and current control loop are designed with 2 kHz2 kHz and 16 kHz respectively The operating clock of thedesigned FPGA controller is 50MHz and the frequencydivider generates another 125MHz clock to supply all mod-ule circuits in Figure 4 A finite state machine (FSM) methodis employed to model the algorithms of the position FCand speed P controller the CCCT and the SVPWM whichutilizes one adder one multiplier a look-up table compara-tors and registers to carry out the overall computation Itneeds to spend 20 steps (16 120583s) 24 steps (192 120583s) and 18steps (144 120583s) to complete the computation of positionspeedcontroller CCCT and SVPWM respectively The data typeis designed with 16-bit length 2rsquos complement and Q15format in the positionspeed controller and CCCT but 12-bit length 2rsquos complement and Q11 format in SVPWMFor detailed figures and description regarding CCCT andSVPWM refer to [4] For an example of a three-axis motioncontrol IC overall circuit included a Nios II processor andthree positionspeedcurrent controllers IP consume 22688LEs (Logic Elements) 73 embeddingmultipliers 241 IO pinsand 241792 memory bits
4 ModelSimSimulink Cosimulation andSimulation Results
The SimulinkModelSim cosimulation architecture for thethree-axis motion control system is shown in Figure 5 Eachaxis system is driven by one PMSM The SimPowerSys-tem blockset in the Simulink executes the three PMSMs
6 Mathematical Problems in Engineering
120579e addrLUT
ia
ib
ic
i120572
minus1
radic3
1
radic3
Slowastp(k)
S
1
1
p(k) Sp(k)
Sp(k minus 1)+
+
+
+
+ + + +
++
+
minus
minus
minus
minus
minus
minus
minusminus
X
X
XX
X X
X X
X
X
X
X
X
XX
X
+ +
+
++
+
+
+
+
+
+ +
+
+
+
+
minus
minus
minus
minusminus
minus
minus
i120573
v120573
vrx
vq
vq
vdvd
id
iq
ilowastq e q
d
Kp
Kp
Ki
Ki
q
d
qe q
e d
e d
i q
i di d
i q
LS 1ilowastd = 0
120572
radic3
2
120573
2
ry
rz
s0 s1 s2 s3 s4 s5 s6 s7 s8 s9 s10 s11 s12s13s14s15 s16 s17 s18 s19 s20 s21 s22 s23
Look upsincos
tableClark Park d-axis PI
controllerq-axis PIcontroller Parkminus1 Modified
minus1clark
CPU
On-chipROM
On-chipRAM
UART
PIO
Timer
SPI
SDRAMcontroller
Aval
on b
us
Nios II processorFPGA Digital circuit of
FPGA-based multiaxis motion control IC
positionspeedcurrent controller IP-1
Digital circuit of position
speedcurrent controller IP-2
Digital circuit of position
speedcurrent
Current controllers and
coordinate transformation
(CCCT)Rotary encoder
Positionspeedcurrent controller IPFrom Nios II
controller IP-n
Digital circuitof position FCand speed PI
controller
QEP interfacecircuit
k-sp
k-sp
k-posSlowastp [15 0]
Sp [15 0]
Encoder-AEncoder-BEncoder-Z
Clk
Clk
Clk Clk
ClkCl
ClClk
ClCl
Clk k-cur k-curk-sp
ilowastq [11 0]
ia [11 0]
ib [11 0]
ic [11 0]
rx [11 0]ry [11 0]rz [11 0]
ADCinterface
circuit
SVPWMgeneration
ADIN[11]
ADIN[0]BDIN[11]
BDIN[0]RCARCB
PWM-1PWM-2PWM-3PWM-4PWM-5PWM-6
Start ofmain program
Initial interrupt
Initial timer
Computation ofposition command
Loop
Start of ISR(each 200Hz)
Return
Set parametersof each axis
Read the motiontrajectory command
Computation ofposition for each axis
from motion trajectorycommand
Output the positioncommand
Generation ofsymmetric
triangular wave
Vref1
12
12
1212
12
12
120n 200n40n
CMPR1
CMPR2
CMPR3
S1
S2
S3S4
S5
State machine
SVPWM algorithm
Q 12
Comparator1
Comparator2
Comparator3
PWMEA 1
PWMEA 2
PWMEB 1
PWMEB 2
PWMEC 1
PWMEC 2
PWM1
PWM2
PWM3
PWM4
PWM5
PWM6
Vref2
Vref3
Dead-bandunit
e(k)
e(k)e(k minus 1)
1
Ts
(k)X
X
X
X
X
X
X
X
X
X
SD
SD
RS 1
RS 1
ei+1ek
120583A119894(e)
120583A119894(e)
120583A119894(e)
i
jamp Look-up
fuzzy ruletable
ji
i+1
+1i
+1i+1
de(k) dej+1
dek
120583B119895 (de)
120583B119895 (de)120583B119895 (de)
120583B119895 (de)
Computation of speed positionerror and error change Fuzzification Look-up fuzzy table
s0 s1 s2 s3 s4 s5 s6 s7
s8 s9 s10 s11 s12 s13 s14 s15 s16 s17 s18 s19
dij
dij
di+1j
120583B119895+1 (de) dij+1
di+1j+1
dij+1
di+1j
di+1j+1
uf(k)
(k) K
ilowastq (k)
Defuzzification Speed P controller
ampiji+1cj+1icj+1i+1cj
cji
cj
cj
cj
cj
addr [11 0]120579e
sin120579ecos120579e Clk
ClkClk Clk
120583A119894+1(e)
(x- and y- and z-axis)
Figure 4 Internal circuit design of the proposed FPGA-based multiaxis motion control IC
and three IGBT-based inverters The EDA Simulator Linkfor ModelSim executes the cosimulation using VHDL coderunning in ModelSim program It carries out the functionof three positionspeedcurrent controller IPs with six worksin Figure 5 The work-1 work-3 and work-5 perform thefunction of position and speed loop controller and work-2 work-4 and work-6 accomplish the function of currentvector controller which includes current PI controller coor-dinate transformation (CCCT) and space vector pulse widthmodulation (SVPWM) The signals of three-phase currentrotor speed and rotor position in PMSM-1 are respectivelyfed back to work-3 and work-1 to do the close-loop positioncontrolThe similar conditions of close-loop position controlin PMSM-2 and PMSM-3 drive system are the same Thesampling frequency in current control loop is designed with16 kHz but in positionspeed control loop is 1 kHz Themotion trajectory described in Section 23 is planned withinthe block diagram of the Matlab embedded function in
Figure 5 Matlab m-code is used to develop the program ofthe motion trajectory
In this simulation cases the following motion trajectorywill be carried out and tested (1) single-axis position stepresponse (2) circular motion trajectory tracking (two-axis simultaneous motion) (3) window motion trajectorytracking (two-axis simultaneous motion) (4) star motiontrajectory tracking (two-axis simultaneous motion) (5)helical circular motion trajectory tracking (three-axissimultaneous motion) Firstly single-axis position stepresponse is considered and the step signal with 15 s and5mm amplitude is tested The simulation results in positionresponse and current response are presented in Figure 6 Inthis simulation the Kp and Ki gains in position controllerare respectively chosen by (15000 0) and (25000 95) in16bit-Q15 format In Figure 6(a) the position responseswith 003 seconds rising time and zero overshoot and zerowhich show a good response performance In Figure 6(b)
Mathematical Problems in Engineering 7
MATLABembeddedfunction(motion
trajectory)
Model SimConvert
Convert
Convert
Convert
Convert
Convert
Convert
Convert
ConvertData type conversion16
Data type conversion14
Data type conversion13
Data type conversion1
Saturation3
Saturation4
Saturation5
15000
15000
spd
0spd
pos95pos
position fdbcmd pos
KpKp
Kp
Kp
Kp
Kp
pos
Ki
Ki
Ki
Ki
Ki
Ki
pos
spdspd
rotor speed
position out
speed outWork-1
Work-2
HDL cosimulation3
HDL cosimulation
Current2
Speed and fdb
Positionspeedcontroller-1
Position cmd and fdb
Position fdbGain10
Gain2954929
0
9
95
1000
0
Constant9
Constant15
Constant22
Constant23
Constant24
cmd iq
cmd id
d
d
q
q
addressinfo a
info b
info c
PWM1
PWM2
PWM3
PWM4
PWM5
PWM6
address shift
shift1
-K-
-K-
Gain3
Gain4
Gain5 y fcn u
EmbeddedMATLAB function1
d-q1
N m
Tm
A
0001Constant13
Speed fdb
DC voltagesource1
BC S
Permanent magnetsynchronous machine1
Stator current1Continuous
Subsystem1
In1Conn1
In2Conn2
In3Conn3
In4Conn4
In5Conn5
In6Conn6
powergui1
PMSM-1
=
ltRotor speed wm (rads)gtltElectromagnetic torque Te ltRotor angle thetam (rad)gtltStator current is d (A)gtltStator current is q(A)gtltStator current is a (A)gtltStator current is b (A)gt
Torque1
Convert
Convert
Convert
Convert
Convert
Convert
Convert
Convert
Convert
0
95
Currentcontroller-1
1
Position fdbGain10
95
700
s
s
-K-
Constant13
=
1
Model Sim
Model SimConvert
Convert
Convert
Convert
Convert
Convert
Convert
Convert
ConvertData type conversion16
Data type conversion14
Data type conversion13
Data type conversion1
Saturation3
Saturation4
Saturation5
15000
15000
spd
0spd
pos95pos
position fdbcmd pos
pos
pos
spdspd
rotor speed
position out
speed outWork-
Work-4
HDL cosimulation3
HDL cosimulation
Current2
Speed and fdb
Positionspeedcontroller-2
Position cmd and fdb
Position fdbGain10
Gain2954929
0
95
1000
0
Constant9
Constant15
Constant22
Constant23
Constant24
cmd iq
cmd id
d
d
q
q
addressinfo a
info b
info c
PWM1
PWM2
PWM3
PWM4
PWM5
PWM6
address shift
Address
Address
shift1
y fcn u
EmbeddedMATLAB function1
d-q1
N m
Tm
A
0001Constant13
Speed fdb
DC voltagesource1
B
C S
Permanent magnetsynchronous machine1
Stator current1Continuous
Subsystem1
In1Conn1
In2Conn2
In3Conn3
In4Conn4
In5Conn5
In6Conn6
powergui1
PMSM-2
=
ltRotor speed wm (rads)gtltElectromagnetic torque Te ltRotor angle thetam (rad)gtltStator current is d (A)gtltStator current is q(A)gtltStator current is a (A)gtltStator current is b (A)gt
Torque1
Convert
Convert
Convert
Convert
Convert
Convert
0
95
cmd
3
controller-2
95
700
s
Gain3
Gain4
Gain5
=
Model Sim
Model SimConvert
Convert
Convert
Convert
Convert
Convert
Convert
Convert
ConvertData type conversion16
Data type conversion14
Data type conversion13
Data type conversion1
Saturation3
Saturation4
Saturation5
15000
15000
spd
0spd
pos95pos
position fdbcmd pos
pos
pos
spdspd
rotor speed
position out
speed outWork-
Work-6
HDL cosimulation3
HDL cosimulation
Current2
Speed and fdb
Positionspeedcontroller-3
Position cmd and fdb
Position fdbGain10
Gain2954929
0
95
1000
0
Constant9
Constant15
Constant22
Constant23
Constant24
cmd iq
cmd id
d
d
q
q
addressinfo a
info b
info c
PWM1
PWM2
PWM3
PWM4
PWM5
PWM6
address shift
shift1
y fcn u
EmbeddedMATLAB function1
d-q1
N m
Tm
A
0001Constant13
Speed fdb
DC voltagesource1
B
C S
Permanent magnetsynchronous machine1
Stator current1Continuous
Subsystem1
In1Conn1
In2Conn2
In3Conn3
In4Conn4
In5Conn5
In6Conn6
powergui1
PMSM-3
=
ltRotor speed wm (rads)gtltElectromagnetic torque Te ltRotor angle thetam (rad)gtltStator current is d (A)gtltStator current is q(A)gtltStator current is a (A)gtltStator current is b (A)gt
Torque1
Convert
Convert
Convert
Convert
Convert
Convert
0
95
5
controller-3
95
700
s
s
Gain3
Gain4
Gain5
d-q1
=
ltStator current is c (A)gt
Model Sim
(1(2lowastpi))lowast10000
(1(2lowastpi))lowast10000
(1(2lowastpi))lowast10000
(Nlowastm)gt
(Nlowastm)gt
(Nlowast
Address
m)gt
-K-
-K-
-K-
-K-
-K-
-K-
KpKp
Kp
Kp
Kp
Kp
Ki
Ki
Ki
Ki
Ki
Ki
KpKp
Kp
Kp
Kp
Kp
Ki
Ki
Ki
Ki
Ki
Ki
ltStator current is c (A)gt
ltStator current is c (A)gt
plusmn
plusmn
plusmn
Figure 5 SimulinkModelSim cosimulation architecture for three-axis motion control system
8 Mathematical Problems in Engineering
0
25
50
Time (s)0 01 02 03 04 05 06 07 08 09 1
Positioncommand
Positionfeedback
Posit
ion
(mm
)
(a)
Time (s)0 01 02 03 04 05 06 07 08 09 1
Curr
ent (
A)
id iq09760488
0minus0488minus0976
(b)
Figure 6 Single-axis PMSM (a) step position response (b) current response
0
1
2
3
4
5
6
7
8
9
10
0 1 2 3 4 5 6 7 8 9 10
(mm)
(mm
)
Positioncommand
Positionfeedback
(a)
(mm
)
0184
0185
0186
0187
0188
0 01 02 03 04 05 06 07 08
Overall tracking error
(mm
)
0 01 02 03 04 05 06 07 08
015
02
0
minus 015
minus 02
0 01 02 03 04 05 06 07 08
Time (s)
015
02
0
(mm
)
minus 015
minus 02
x-axis error
y-axis error
(b)
Positioncommand Position
feedback
0
25
50
75
10
(mm
)
Positioncommand Position
feedback
0
25
50
75
10
(mm
)
0 01 02 03 04 05 06 07 08Time (s)
0 01 02 03 04 05 06 07 08
x-axis position
y-axis position
(c)
minus0195
minus0097
0
0097
0195
(A)
iq id
id
x-axis current
0 01 02 03 04 05 06 07 08
minus0195
minus0097
0
0097
0195
(A)
iqy-axis current
0 01 02 03 04 05 06 07 08
Time (s)
(d)
Figure 7 (a) Circular motion trajectory tracking (b) tracking error (c) position response (d) current response
Mathematical Problems in Engineering 9
0 1 2 3 4 5
0
05
1
15
2
25
3
35
4
45
5
Positioncommand
Positionfeedback
(mm
)
(mm)
(a)
0
02
04
Overall tracking error
0 02 04 06 08 10 12 14 1617
(mm
)
0 02 04 06 08 10 12 14 1617
-axis error
02
0
minus02
(mm
)
0 02 04 06 08 10 12 14 1617
Time (s)
-axis error02
0
minus02
(mm
)
y
x
(b)
0
10
20
3 0
4 0
5 0
Positioncommand
Positionfeedback(m
m)
0 02 04 06 08 10 12 14 16 17
0 02 04 06 08 10 12 14 16 17
Positioncommand
Positionfeedback
0
10
20
3 0
4 0
5 0
(mm
)
Time (s)
-axis position
-axis positiony
x
(c)
0 02 04 06 08 10 12 14 16 17Time (s)
0195
0097
0
minus0097
minus0195
(A)
-axis current
0 02 04 06 08 10 12 14 16 17
-axis current0195
0097
0
minus0097
minus0195
(A)
iq
iq
id
id
y
x
(d)
Figure 8 (a) Window motion trajectory tracking (b) tracking error (c) position response (d) current response
the current in 119894119889 axis approaches zero which presents thesuccess of the vector control in PMSM drive Further inthe two-axis simultaneous motion trajectory the circularmotion trajectory control with center (5 5) mm and radius10mm is evaluated and the simulation results in motiontrajectory tracking tracking error position response andcurrent response are shown in Figure 7 In this design theKp and Ki gains in position controller are respectivelychosen by (18000 0) (19000 95) in 16bit-Q15 format Thetracking errors in Figure 7(b) show the maximum plusmn018mm
in 119909-axis table maximum plusmn018mm in 119910-axis table andless than 01855mm in overall circular motion trackingIt demonstrates a good tracking Additionally the currentresponse of 119894119889-axis both in 119909- and 119910-axis motors all can becontrolled to zero which presents the success of the vectorcontroller In the window tracking motion the trajectory isdesigned as Figure 3(a) and its simulation results in motiontrajectory tracking tracking error position response andcurrent response are shown in Figure 8 In this design theKp and Ki gains in position controller are respectively
10 Mathematical Problems in Engineering
0
05
10
15
20
25
30
35
40
45
50
(mm
)
(mm)0 05 10 15 20 25 30 35 40 45 50
Positioncommand
Positionfeedback
(a)
y-axis error
0 02 04 06 08 10 12 14 16 18 20 22
019
008
0
minus008
minus019
(mm
)
Overall tracking error02
015
01
005
00 02 04 06 08 10 12 14 16 18 20 22
(mm
)
-axis error
0 02 04 06 08 10 12 14 16 18 20 22
019
008
0
minus008
minus019
(mm
)Time (s)
x
(b)
Positioncommand
Positionfeedback
50
40
30
20
10
0
(mm
)
0 02 04 06 08 10 12 14 16 18 20 22
Positioncommand
Positionfeedback
50
40
30
20
10
0
(mm
)
0 02 04 06 08 10 12 14 16 18 20 22Time (s)
-axis position
-axis positiony
x
(c)
0 02 04 06 08 10 12 14 16 18 20 22
0 02 04 06 08 10 12 14 16 18 20 22Time (s)
-axis current
-axis current
iq
iq
id
id
0097
0048
0
minus0048
minus0097
minus0146
(A)
0097
0048
0
minus0048
minus0097
minus0146
(A)
y
x
(d)
Figure 9 (a) Star motion trajectory tracking (b) tracking error (c) position response (d) current response
chosen by (15000 0) (25000 95) in 16bit-Q15 formatThe tracking errors in Figure 8 show the maximumplusmn0185mm in 119909-axis table maximum plusmn0178mm in 119910-axistable and less than 019mm in overall motion trackingIn the star tracking motion the trajectory is designed asFigure 3(b) and its simulation results are shown in Figure 9In this experiment the Kp and Ki gains in position controllerare respectively chosen by (15000 0) (25000 95) in 16bit-Q15 format The tracking errors in Figure 9(b) show themaximum plusmn014mm in 119909-axis table maximum plusmn014mmin 119910-axis table and less than 017mm in overall star motion
tracking The results show a good tracking response in bothwindow and star motion trajectory Finally the three-axissimultaneous motion trajectory which is helical circulartrajectory is evaluated and their simulation tracking resultsare shown in Figure 10 respectively In this design theKp and Ki gains in position controller are respectivelychosen by (18000 0) (19000 95) in 16bit-Q15 format InFigure 10(b) the tracking errors show that it can keep withinplusmn0185mm in 119909- and 119910-axis table motion and plusmn019mmin 119911-axis table motion which reveals a good trackingresponse Therefore Figure 16 shows a good tracking result
Mathematical Problems in Engineering 11
0 1 2 3 4 5 6 7 8 9 10
0123456
0
1
2
3
4
5
6
78910
x (mm)y (mm)
z(m
m)
Positioncommand
Positionfeedback
(a)
minus020
02
0 02 04 06 08 10 12
Time (s)
-axis error
(mm
)
018550186
01865
0 02 04 06 08 10 12
Time (s)
(mm
)
Overall tracking error
minus020
02
0 02 04 06 08 10 12
Time (s)
-axis error
(mm
)0
0005001
0 02 04 06 08 10 12
Time (s)
-axis error(m
m)
y
x z
(b)
Figure 10 (a) Helical circular motion trajectory and (b) tracking results
FPGAcontroller
3-axis motor drivers
XYZ table
Figure 11 Experimental system
0 4 8 12 16 20 24012345
Time (s)
Posit
ion
(mm
)
Tableposition
Positioncommand
(a)
Curr
ent (
A)
0 4 8 12 16 20 24Time (s)
1
05
0
minus05
minus1
id
iq
(b)
Figure 12 119909-axis table (a) position step response (b) current response
12 Mathematical Problems in Engineering
0 10 20 30 40 50 60 70 80 90 100
(mm
)
0
10
20
30
40
50
60
70
80
90
100
(mm)
Tableposition
Positioncommand
(a)
Overall tracking error
0 33 67 10 133 167 20
0 33 67 10 133 167 20
0 33 67 10 133 167 20
0
02
04
06
08
(mm
)
minus05
0
05
-axis tracking error
(mm
)
minus04
minus02
0
02
04-axis tracking error
Time (s)
(mm
)
x
y
(b)
Tableposition Position
command
-axis position
0
50
100
(mm
)
0 33 67 10 133 167 20
0 33 67 10 133 167 20
Time (s)
TablepositionPosition
command
-axis position
0
50
100
(mm
)
x
y
(c)
-axis current
id
iq
minus1
0
05
1
(A)
0 33 67 10 133 167 20
0 33 67 10 133 167 20
-axis current
id
iq
minus15
minus1
minus05
0
05
1
(A)
Time (s)
minus05
x
y
(d)
Figure 13 (a) Circular motion trajectory tracking (b) tracking error (c) position response (d) current response
in 3-axis motion tracking Further Figures 6sim10 presentthat the three-axis motion control system tested throughModelSimSimulink cosimulation is effectiveness andcorrectness After confirming the success of the proposedthree-axis positionspeedcurrent controller IP it willdirectly apply to FPGA to be further evaluated
5 Experimental System and Results
51 Experimental System The overall experimental systemshown in Figure 11 includes an FPGA control board three
sets of voltage source IPM-based (Intelligent PowerModules)inverter and an XYZ table which is driven by three PMSMsand three ball-screwsThe power rating voltage current andrating speed of PMSM are 200W 92V 16 A and 3000 rpmrespectively A 2500 ppr rotary encoder attached to PMSMis used to measure the motorrsquos electrical angle Each ball-screw has 5mm lead Inside IPM it has 6 sets of IGBT typepower transistors with emitter of the rated voltage of 600Vcollector DC current rating of 20A and a short time (1ms)rated current of 40A Photo coupler IC adopts TLP250whoseoutput has push-pull amplifier functions The FPGA uses
Mathematical Problems in Engineering 13
(mm
)
0
10
20
30
40
50
60
70
80
90
100
(mm)0 10 20 30 40 50 60 70 80 90 100
Tableposition
Positioncommand
(a)
0 3 6 9 12 15 18 21 24 27 30
Time (s)0 3 6 9 12 15 18 21 24 27 30
0 3 6 9 12 15 18 21 24 27 30
0
01
02
(mm
)
Overall tracking error
minus02
minus01
0
01
02
(mm
)
-axis tracking error
minus02minus01
00102
(mm
)
-axis tracking error
x
y
(b)
Positioncommand
-axis position
Tableposition
0 6 12 18 24 30
Time (s)0 6 12 18 24 30
0
50
100
(mm
)
Positioncommand
-axis position
Tableposition
0
50
100
(mm
)
y
x
(c)
minus05
0
05
0 6 12 18 24 30
Time (s)0 6 12 18 24 30
(A)
minus05
0
05
(A)
-axis current
id
id
iq
iq-axis currenty
x
(d)
Figure 14 (a) Window motion trajectory tracking (b) tracking error (c) position response (d) current response
Cyclone IV-EP4CE115 which is the kernel of this systemThere are 114480 LEs (Logic Elements) 3981312 RAM bitsand 150 embedded multipliers in the Cyclone IV Further aNios II processor can be embedded into FPGA to establishSoC environment
52 Experimental Results In experiment the one-dimen-sional motion trajectory is firstly tested The step signal with
18Hz square wave and 5mm amplitude is sent to the 119909-axis tables as the position command to cause tables motionThe experimental results in position response and currentresponse using FC are shown in Figure 12 In Figure 12(a)the position response with 02 second rising time and 2overshoot and near zero steady state zero which shows agood response performance In Figure 12(b) the current in 119894119889
axis approaches zero which reveals the success of the vectorcontrol in PMSMdrive To evaluate the tracking performance
14 Mathematical Problems in Engineering
(mm
)
0
10
20
30
40
50
60
70
80
90
100
(mm)0 10 20 30 40 50 60 70 80 90 100
Tableposition
Positioncommand
(a)
Overall tracking error
-axis tracking error
-axis tracking error
Time (s)
0 10 20 30
0 10 20 30
0 10 20 30
0
04
06
08
02
0
04
02
(mm
)(m
m)
minus02
minus04
0
1
(mm
)
minus05
05y
x
(b)
0 10 20 30
Time (s)0 10 20 30
-axis position
Positioncommand
Positioncommand
-axis position
Tableposition
Tableposition
0
50
100
(mm
)
0
50
100
(mm
)
y
x
(c)
minus05
minus1
0
1
05
Time (s)0 10 20 30
0 10 20 30
(A)
minus05
minus1
minus15
0
1
05
(A)
id
id
iq
iq
-axis current
-axis current
y
x
(d)
Figure 15 (a) Star motion trajectory tracking (b) tracking error (c) position response (d) current response
in multiaxis motion table the indices are firstly defined asfollows
119879 (119896) = radic
119899
sum
119894=1
(119878lowast119901119894
(119896) minus 119878119901119894 (119909))2
119898119905119890 =
119898
sum
119896=1
119879 (119896)
119898
(25)
where 119879(119896) 119878lowast119901119894(119896) 119878119901119894(119896) 119899 119898 and 119898119905119890 respectively repre-
sent instantaneous error 119894th-axis position command 119894th-axisposition feedback number of motion table total acquisitiondata and mean tracking error Further in two-dimensionalmotion trajectory the circular motion trajectory control withcenter (50 50) mm and radius 25mm is evaluated and theexperimental results in motion trajectory tracking trackingerror position response and current response using same FCare shown in Figure 13 The tracking errors in Figure 13(b)show the maximum plusmn046mm in 119909-axis table maximum
Mathematical Problems in Engineering 15
0 20 40 60 80 100
020
4060
80100
051015202530
Y (mm)
Z(m
m)
Tableposition
Positioncommand
X (mm)
(a)
00102
0 67 133 20 267 333 40 467 533 60
Time (s)
(mm
)
Overall tracking error
0 67 133 20 267 333 40 467 533 60
Time (s)
(mm
)
minus020
02-axis tracking error
0 67 133 20 267 333 40 467 533 60
Time (s)
(mm
)
minus020
02-axis tracking error
0 67 133 20 267 333 40 467 533 60
Time (s)(m
m)
minus0010
001002
-axis tracking error
y
x z
(b)
Figure 16 (a) Helical circular motion trajectory and (b) tracking results
0020
4060
80
01020
50
100
150
200
250
Y (mm)
Z(m
m)
Position commandTracking response
X (mm)
(a)
Three axis
0 50 100 150 200
Time (s)
minus01
0
01
02
Trac
king
erro
r(m
m)
-axis
0 50 100 150 200
Time (s)
minus01
0
01
02
Trac
king
erro
r(m
m)
-axis
0 50 100 150 200
Time (s)
minus02
0
02
Trac
king
erro
r(m
m)
-axis
0 50 100 150 200
Time (s)
minus01
0
01
02
Trac
king
erro
r(m
m)
x
zy
(b)
Figure 17 Motion trajectory tracking and tracking error of STUST character
16 Mathematical Problems in Engineering
plusmn035mm in119910-axis table and 01759mmmean tracking errorin overall circularmotion It presents a good contour trackingresult Additional the current response of 119894119889-axis both in119909- and 119910-axis motors all can be controlled to zero whichpresents the success of the vector controller In the windowtracking motion the trajectory is designed as Figure 3(a)and its experimental results in motion trajectory trackingtracking error position response and current response areshown in Figure 14The tracking errors in Figure 14 show themaximum plusmn02mm in 119909-axis table maximum plusmn02mm in119910-axis table and 0054mm mean tracking error in overallmotion In the star trackingmotion the trajectory is designedas Figure 3(b) and its experimental results are shown inFigure 15 The tracking errors in Figure 15 show the maxi-mum plusmn04mm in 119909-axis table maximum plusmn055mm in 119910-axis table and 00698mm mean tracking error in overallstar motion However the larger tracking error in bothwindow and starmotion trajectory occurred at the position ofcommand suddenly changed otherwise the tracking error isvery smallThe results show a good contour tracking responsein both window and star motion trajectory Finally thethree-dimensional motion trajectory which is helical circulartrajectory and ldquoSTUSTrdquo character trajectory are evaluatedand their experimental tracking results are shown in Figures16 and 17 respectively In Figure 16(b) the tracking errorsshow that it can keep within plusmn02mm in 119909- and 119910-axis tablemotion plusmn001mm in 119911-axis table motion and 01162mmmean tracking error in overall helical circular motion whichreveals a good tracking response In performing themotion ofldquoSTUSTrdquo character the 119911-axis table just runs the up and downmotion the ldquoSTUSTrdquo character is drawn by the simultaneousmotion of 119909- and 119910-axis table The tracking error in Figure 17shows the maximum plusmn03mm in 119909-axis 119910-axis and 119911-axis table and less than 03mm in overall motion trackingTherefore Figures 16sim17 show a good tracking result in 3Dmotion contour tracking Therefore Figures 12sim17 presentthat the proposed FPGA-based multiaxis motion control ICis effectiveness and correctness
6 Conclusions
The FPGA-based multiaxis motion controller has been suc-cessfully demonstrated from ModelSimSimulink cosimula-tion to FPGA realization experiment in this paper For amultiaxis motion controller system DSP and FPGA all canprovide a good solution in implementation However dueto one DSP chip only can support one CPU inside and 12channels PWM output and 2 QEP output in its peripheralcircuit it is suitable for a two-axis motion controller systemIf we want to realize a multiaxis motion controller systemit needs several DSP chips In contrast with DSP FPGA hasthe properties of fast computing power parallel processingand hardware-software codesign which cause the multiaxismotion controller system to be implemented by one FPGAchip Finally the work herein is summarized as follows
(a) The functionalities required to build amultiaxis servocontroller and motion trajectory planning can beintegrated in one FPGA chip
(b) The computation of key algorithms such as SVPWMCCCT and FC in PMSM drive can be completedwithin 2 120583s by FPGA implementation
(c) The VHDL code of the proposed multiaxis servocontroller IP has been effectively verified from Mod-elSimSimulink cosimulation results
(d) Some experimental results by position step responsecircular window star and helical circular motiontrajectory tracking the specific character (ldquoSTUSTrdquo)motion trajectory tracking and so forth have revealedthat the proposed FPGA-based multiaxis motioncontroller is effectiveness and correctness
Conflict of Interests
The authors declare that there is no conflict of interestsregarding the publication of this paper
References
[1] J U Cho Q N Le and J W Jeon ldquoAn FPGA-based multiple-axis motion control chiprdquo IEEE Transactions on IndustrialElectronics vol 56 no 3 pp 856ndash870 2009
[2] X Shao and D Sun ldquoDevelopment of a new robot controllerarchitecture with FPGA-based IC design for improved high-speed performancerdquo IEEE Transactions on Industrial Informat-ics vol 3 no 4 pp 312ndash321 2007
[3] S S Yeh and J T Sun ldquoDesign of perfectly matched zero-phaseerror tracking control formulti-axismotion control systemsrdquo inProceedings of the SICE Annual Conference pp 528ndash533 August2012
[4] Y S Kung R F Fung and T Y Tai ldquoRealization of a motioncontrol IC forX-Y table based onnovel FPGA technologyrdquo IEEETransactions on Industrial Electronics vol 56 no 1 pp 43ndash532009
[5] S-S Yeh and P-L Hsu ldquoAnalysis and design of integratedcontrol for multi-axis motion systemsrdquo IEEE Transactions onControl Systems Technology vol 11 no 3 pp 375ndash382 2003
[6] Z Zhou T Li T Takahashi and E Ho ldquoFPGA realization of ahigh-performance servo controller for PMSMrdquo in Proceedingsof the 19th Annual IEEE Applied Power Electronics Conferenceand Exposition (APEC rsquo04) vol 3 pp 1604ndash1609 AnaheimCalif USA February 2004
[7] B K Bose Power Electronics and ACDrives Prentice Hall 1986[8] V Wilson P Agarwal and S P Srivastava ldquoPerformance
investigation of DSP based self-controlled PMSM driverdquo inProceedings of the Annual IEEE India Conference (INDICONrsquo12) pp 238ndash243 Kochi India December 2012
[9] E Monmasson L Idkhajine M N Cirstea I Bahri A Tisanand M W Naouar ldquoFPGAs in industrial control applicationsrdquoIEEE Transactions on Industrial Informatics vol 7 no 2 pp224ndash243 2011
[10] E Monmasson L Idkhajine and M W Naouar ldquoFPGA-basedcontrollersrdquo IEEE Industrial Electronics Magazine vol 5 no 1pp 14ndash26 2011
[11] Y S Kung V Q Nguyen T H Nguyen C-C Huang andL-C Huang ldquoSimulinkmodelsim co-simulation and FPGArealization of speed control IC for PMSM driverdquo ProcediaEngineering vol 23 pp 718ndash727 2011
Mathematical Problems in Engineering 17
[12] L Idkhajine E Monmasson M W Naouar A Prata andK Bouallaga ldquoFully integrated FPGA-based controller forsynchronous motor driverdquo IEEE Transactions on IndustrialElectronics vol 56 no 10 pp 4006ndash4017 2009
[13] B Alecsa M N Cirstea and A Onea ldquoSimulink modelingand design of an efficient hardware-constrained FPGA-basedPMSM speed controllerrdquo IEEE Transactions on Industrial Infor-matics vol 8 no 3 pp 554ndash562 2012
[14] H-H Chou Y-S Kung N Q Quynh and S Cheng ldquoOpti-mized FPGA design verification and implementation of aneuro-fuzzy controller for PMSM drivesrdquo Mathematics andComputers in Simulation vol 90 pp 28ndash44 2013
[15] Y Li J Huo X Li J Wen YWang and B Shan ldquoAn open-loopsinmicrostepping driver based on FPGA and the co-simulationof modelsim and simulinkrdquo in Proceedings of the InternationalConference on Computer Mechatronics Control and ElectronicEngineering (CMCE rsquo10) pp 223ndash227 August 2010
[16] The Mathworks ldquoMatlabSimulink Users Guide ApplicationProgram Interface Guiderdquo 2004
[17] ModeltechModelSim Reference Manual 2004[18] F-J Lin P-H Shieh and P-H Shen ldquoRobust recurrent-neural-
network sliding-mode control for the X-Y table of a CNCmachinerdquo IEE Proceedings ControlTheory andApplications vol153 no 1 pp 111ndash123 2006
Submit your manuscripts athttpwwwhindawicom
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
MathematicsJournal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Mathematical Problems in Engineering
Hindawi Publishing Corporationhttpwwwhindawicom
Differential EquationsInternational Journal of
Volume 2014
Applied MathematicsJournal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Probability and StatisticsHindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Journal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Mathematical PhysicsAdvances in
Complex AnalysisJournal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
OptimizationJournal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
CombinatoricsHindawi Publishing Corporationhttpwwwhindawicom Volume 2014
International Journal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Operations ResearchAdvances in
Journal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Function Spaces
Abstract and Applied AnalysisHindawi Publishing Corporationhttpwwwhindawicom Volume 2014
International Journal of Mathematics and Mathematical Sciences
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
The Scientific World JournalHindawi Publishing Corporation httpwwwhindawicom Volume 2014
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Algebra
Discrete Dynamics in Nature and Society
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Decision SciencesAdvances in
Discrete MathematicsJournal of
Hindawi Publishing Corporationhttpwwwhindawicom
Volume 2014 Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Stochastic AnalysisInternational Journal of
6 Mathematical Problems in Engineering
120579e addrLUT
ia
ib
ic
i120572
minus1
radic3
1
radic3
Slowastp(k)
S
1
1
p(k) Sp(k)
Sp(k minus 1)+
+
+
+
+ + + +
++
+
minus
minus
minus
minus
minus
minus
minusminus
X
X
XX
X X
X X
X
X
X
X
X
XX
X
+ +
+
++
+
+
+
+
+
+ +
+
+
+
+
minus
minus
minus
minusminus
minus
minus
i120573
v120573
vrx
vq
vq
vdvd
id
iq
ilowastq e q
d
Kp
Kp
Ki
Ki
q
d
qe q
e d
e d
i q
i di d
i q
LS 1ilowastd = 0
120572
radic3
2
120573
2
ry
rz
s0 s1 s2 s3 s4 s5 s6 s7 s8 s9 s10 s11 s12s13s14s15 s16 s17 s18 s19 s20 s21 s22 s23
Look upsincos
tableClark Park d-axis PI
controllerq-axis PIcontroller Parkminus1 Modified
minus1clark
CPU
On-chipROM
On-chipRAM
UART
PIO
Timer
SPI
SDRAMcontroller
Aval
on b
us
Nios II processorFPGA Digital circuit of
FPGA-based multiaxis motion control IC
positionspeedcurrent controller IP-1
Digital circuit of position
speedcurrent controller IP-2
Digital circuit of position
speedcurrent
Current controllers and
coordinate transformation
(CCCT)Rotary encoder
Positionspeedcurrent controller IPFrom Nios II
controller IP-n
Digital circuitof position FCand speed PI
controller
QEP interfacecircuit
k-sp
k-sp
k-posSlowastp [15 0]
Sp [15 0]
Encoder-AEncoder-BEncoder-Z
Clk
Clk
Clk Clk
ClkCl
ClClk
ClCl
Clk k-cur k-curk-sp
ilowastq [11 0]
ia [11 0]
ib [11 0]
ic [11 0]
rx [11 0]ry [11 0]rz [11 0]
ADCinterface
circuit
SVPWMgeneration
ADIN[11]
ADIN[0]BDIN[11]
BDIN[0]RCARCB
PWM-1PWM-2PWM-3PWM-4PWM-5PWM-6
Start ofmain program
Initial interrupt
Initial timer
Computation ofposition command
Loop
Start of ISR(each 200Hz)
Return
Set parametersof each axis
Read the motiontrajectory command
Computation ofposition for each axis
from motion trajectorycommand
Output the positioncommand
Generation ofsymmetric
triangular wave
Vref1
12
12
1212
12
12
120n 200n40n
CMPR1
CMPR2
CMPR3
S1
S2
S3S4
S5
State machine
SVPWM algorithm
Q 12
Comparator1
Comparator2
Comparator3
PWMEA 1
PWMEA 2
PWMEB 1
PWMEB 2
PWMEC 1
PWMEC 2
PWM1
PWM2
PWM3
PWM4
PWM5
PWM6
Vref2
Vref3
Dead-bandunit
e(k)
e(k)e(k minus 1)
1
Ts
(k)X
X
X
X
X
X
X
X
X
X
SD
SD
RS 1
RS 1
ei+1ek
120583A119894(e)
120583A119894(e)
120583A119894(e)
i
jamp Look-up
fuzzy ruletable
ji
i+1
+1i
+1i+1
de(k) dej+1
dek
120583B119895 (de)
120583B119895 (de)120583B119895 (de)
120583B119895 (de)
Computation of speed positionerror and error change Fuzzification Look-up fuzzy table
s0 s1 s2 s3 s4 s5 s6 s7
s8 s9 s10 s11 s12 s13 s14 s15 s16 s17 s18 s19
dij
dij
di+1j
120583B119895+1 (de) dij+1
di+1j+1
dij+1
di+1j
di+1j+1
uf(k)
(k) K
ilowastq (k)
Defuzzification Speed P controller
ampiji+1cj+1icj+1i+1cj
cji
cj
cj
cj
cj
addr [11 0]120579e
sin120579ecos120579e Clk
ClkClk Clk
120583A119894+1(e)
(x- and y- and z-axis)
Figure 4 Internal circuit design of the proposed FPGA-based multiaxis motion control IC
and three IGBT-based inverters The EDA Simulator Linkfor ModelSim executes the cosimulation using VHDL coderunning in ModelSim program It carries out the functionof three positionspeedcurrent controller IPs with six worksin Figure 5 The work-1 work-3 and work-5 perform thefunction of position and speed loop controller and work-2 work-4 and work-6 accomplish the function of currentvector controller which includes current PI controller coor-dinate transformation (CCCT) and space vector pulse widthmodulation (SVPWM) The signals of three-phase currentrotor speed and rotor position in PMSM-1 are respectivelyfed back to work-3 and work-1 to do the close-loop positioncontrolThe similar conditions of close-loop position controlin PMSM-2 and PMSM-3 drive system are the same Thesampling frequency in current control loop is designed with16 kHz but in positionspeed control loop is 1 kHz Themotion trajectory described in Section 23 is planned withinthe block diagram of the Matlab embedded function in
Figure 5 Matlab m-code is used to develop the program ofthe motion trajectory
In this simulation cases the following motion trajectorywill be carried out and tested (1) single-axis position stepresponse (2) circular motion trajectory tracking (two-axis simultaneous motion) (3) window motion trajectorytracking (two-axis simultaneous motion) (4) star motiontrajectory tracking (two-axis simultaneous motion) (5)helical circular motion trajectory tracking (three-axissimultaneous motion) Firstly single-axis position stepresponse is considered and the step signal with 15 s and5mm amplitude is tested The simulation results in positionresponse and current response are presented in Figure 6 Inthis simulation the Kp and Ki gains in position controllerare respectively chosen by (15000 0) and (25000 95) in16bit-Q15 format In Figure 6(a) the position responseswith 003 seconds rising time and zero overshoot and zerowhich show a good response performance In Figure 6(b)
Mathematical Problems in Engineering 7
MATLABembeddedfunction(motion
trajectory)
Model SimConvert
Convert
Convert
Convert
Convert
Convert
Convert
Convert
ConvertData type conversion16
Data type conversion14
Data type conversion13
Data type conversion1
Saturation3
Saturation4
Saturation5
15000
15000
spd
0spd
pos95pos
position fdbcmd pos
KpKp
Kp
Kp
Kp
Kp
pos
Ki
Ki
Ki
Ki
Ki
Ki
pos
spdspd
rotor speed
position out
speed outWork-1
Work-2
HDL cosimulation3
HDL cosimulation
Current2
Speed and fdb
Positionspeedcontroller-1
Position cmd and fdb
Position fdbGain10
Gain2954929
0
9
95
1000
0
Constant9
Constant15
Constant22
Constant23
Constant24
cmd iq
cmd id
d
d
q
q
addressinfo a
info b
info c
PWM1
PWM2
PWM3
PWM4
PWM5
PWM6
address shift
shift1
-K-
-K-
Gain3
Gain4
Gain5 y fcn u
EmbeddedMATLAB function1
d-q1
N m
Tm
A
0001Constant13
Speed fdb
DC voltagesource1
BC S
Permanent magnetsynchronous machine1
Stator current1Continuous
Subsystem1
In1Conn1
In2Conn2
In3Conn3
In4Conn4
In5Conn5
In6Conn6
powergui1
PMSM-1
=
ltRotor speed wm (rads)gtltElectromagnetic torque Te ltRotor angle thetam (rad)gtltStator current is d (A)gtltStator current is q(A)gtltStator current is a (A)gtltStator current is b (A)gt
Torque1
Convert
Convert
Convert
Convert
Convert
Convert
Convert
Convert
Convert
0
95
Currentcontroller-1
1
Position fdbGain10
95
700
s
s
-K-
Constant13
=
1
Model Sim
Model SimConvert
Convert
Convert
Convert
Convert
Convert
Convert
Convert
ConvertData type conversion16
Data type conversion14
Data type conversion13
Data type conversion1
Saturation3
Saturation4
Saturation5
15000
15000
spd
0spd
pos95pos
position fdbcmd pos
pos
pos
spdspd
rotor speed
position out
speed outWork-
Work-4
HDL cosimulation3
HDL cosimulation
Current2
Speed and fdb
Positionspeedcontroller-2
Position cmd and fdb
Position fdbGain10
Gain2954929
0
95
1000
0
Constant9
Constant15
Constant22
Constant23
Constant24
cmd iq
cmd id
d
d
q
q
addressinfo a
info b
info c
PWM1
PWM2
PWM3
PWM4
PWM5
PWM6
address shift
Address
Address
shift1
y fcn u
EmbeddedMATLAB function1
d-q1
N m
Tm
A
0001Constant13
Speed fdb
DC voltagesource1
B
C S
Permanent magnetsynchronous machine1
Stator current1Continuous
Subsystem1
In1Conn1
In2Conn2
In3Conn3
In4Conn4
In5Conn5
In6Conn6
powergui1
PMSM-2
=
ltRotor speed wm (rads)gtltElectromagnetic torque Te ltRotor angle thetam (rad)gtltStator current is d (A)gtltStator current is q(A)gtltStator current is a (A)gtltStator current is b (A)gt
Torque1
Convert
Convert
Convert
Convert
Convert
Convert
0
95
cmd
3
controller-2
95
700
s
Gain3
Gain4
Gain5
=
Model Sim
Model SimConvert
Convert
Convert
Convert
Convert
Convert
Convert
Convert
ConvertData type conversion16
Data type conversion14
Data type conversion13
Data type conversion1
Saturation3
Saturation4
Saturation5
15000
15000
spd
0spd
pos95pos
position fdbcmd pos
pos
pos
spdspd
rotor speed
position out
speed outWork-
Work-6
HDL cosimulation3
HDL cosimulation
Current2
Speed and fdb
Positionspeedcontroller-3
Position cmd and fdb
Position fdbGain10
Gain2954929
0
95
1000
0
Constant9
Constant15
Constant22
Constant23
Constant24
cmd iq
cmd id
d
d
q
q
addressinfo a
info b
info c
PWM1
PWM2
PWM3
PWM4
PWM5
PWM6
address shift
shift1
y fcn u
EmbeddedMATLAB function1
d-q1
N m
Tm
A
0001Constant13
Speed fdb
DC voltagesource1
B
C S
Permanent magnetsynchronous machine1
Stator current1Continuous
Subsystem1
In1Conn1
In2Conn2
In3Conn3
In4Conn4
In5Conn5
In6Conn6
powergui1
PMSM-3
=
ltRotor speed wm (rads)gtltElectromagnetic torque Te ltRotor angle thetam (rad)gtltStator current is d (A)gtltStator current is q(A)gtltStator current is a (A)gtltStator current is b (A)gt
Torque1
Convert
Convert
Convert
Convert
Convert
Convert
0
95
5
controller-3
95
700
s
s
Gain3
Gain4
Gain5
d-q1
=
ltStator current is c (A)gt
Model Sim
(1(2lowastpi))lowast10000
(1(2lowastpi))lowast10000
(1(2lowastpi))lowast10000
(Nlowastm)gt
(Nlowastm)gt
(Nlowast
Address
m)gt
-K-
-K-
-K-
-K-
-K-
-K-
KpKp
Kp
Kp
Kp
Kp
Ki
Ki
Ki
Ki
Ki
Ki
KpKp
Kp
Kp
Kp
Kp
Ki
Ki
Ki
Ki
Ki
Ki
ltStator current is c (A)gt
ltStator current is c (A)gt
plusmn
plusmn
plusmn
Figure 5 SimulinkModelSim cosimulation architecture for three-axis motion control system
8 Mathematical Problems in Engineering
0
25
50
Time (s)0 01 02 03 04 05 06 07 08 09 1
Positioncommand
Positionfeedback
Posit
ion
(mm
)
(a)
Time (s)0 01 02 03 04 05 06 07 08 09 1
Curr
ent (
A)
id iq09760488
0minus0488minus0976
(b)
Figure 6 Single-axis PMSM (a) step position response (b) current response
0
1
2
3
4
5
6
7
8
9
10
0 1 2 3 4 5 6 7 8 9 10
(mm)
(mm
)
Positioncommand
Positionfeedback
(a)
(mm
)
0184
0185
0186
0187
0188
0 01 02 03 04 05 06 07 08
Overall tracking error
(mm
)
0 01 02 03 04 05 06 07 08
015
02
0
minus 015
minus 02
0 01 02 03 04 05 06 07 08
Time (s)
015
02
0
(mm
)
minus 015
minus 02
x-axis error
y-axis error
(b)
Positioncommand Position
feedback
0
25
50
75
10
(mm
)
Positioncommand Position
feedback
0
25
50
75
10
(mm
)
0 01 02 03 04 05 06 07 08Time (s)
0 01 02 03 04 05 06 07 08
x-axis position
y-axis position
(c)
minus0195
minus0097
0
0097
0195
(A)
iq id
id
x-axis current
0 01 02 03 04 05 06 07 08
minus0195
minus0097
0
0097
0195
(A)
iqy-axis current
0 01 02 03 04 05 06 07 08
Time (s)
(d)
Figure 7 (a) Circular motion trajectory tracking (b) tracking error (c) position response (d) current response
Mathematical Problems in Engineering 9
0 1 2 3 4 5
0
05
1
15
2
25
3
35
4
45
5
Positioncommand
Positionfeedback
(mm
)
(mm)
(a)
0
02
04
Overall tracking error
0 02 04 06 08 10 12 14 1617
(mm
)
0 02 04 06 08 10 12 14 1617
-axis error
02
0
minus02
(mm
)
0 02 04 06 08 10 12 14 1617
Time (s)
-axis error02
0
minus02
(mm
)
y
x
(b)
0
10
20
3 0
4 0
5 0
Positioncommand
Positionfeedback(m
m)
0 02 04 06 08 10 12 14 16 17
0 02 04 06 08 10 12 14 16 17
Positioncommand
Positionfeedback
0
10
20
3 0
4 0
5 0
(mm
)
Time (s)
-axis position
-axis positiony
x
(c)
0 02 04 06 08 10 12 14 16 17Time (s)
0195
0097
0
minus0097
minus0195
(A)
-axis current
0 02 04 06 08 10 12 14 16 17
-axis current0195
0097
0
minus0097
minus0195
(A)
iq
iq
id
id
y
x
(d)
Figure 8 (a) Window motion trajectory tracking (b) tracking error (c) position response (d) current response
the current in 119894119889 axis approaches zero which presents thesuccess of the vector control in PMSM drive Further inthe two-axis simultaneous motion trajectory the circularmotion trajectory control with center (5 5) mm and radius10mm is evaluated and the simulation results in motiontrajectory tracking tracking error position response andcurrent response are shown in Figure 7 In this design theKp and Ki gains in position controller are respectivelychosen by (18000 0) (19000 95) in 16bit-Q15 format Thetracking errors in Figure 7(b) show the maximum plusmn018mm
in 119909-axis table maximum plusmn018mm in 119910-axis table andless than 01855mm in overall circular motion trackingIt demonstrates a good tracking Additionally the currentresponse of 119894119889-axis both in 119909- and 119910-axis motors all can becontrolled to zero which presents the success of the vectorcontroller In the window tracking motion the trajectory isdesigned as Figure 3(a) and its simulation results in motiontrajectory tracking tracking error position response andcurrent response are shown in Figure 8 In this design theKp and Ki gains in position controller are respectively
10 Mathematical Problems in Engineering
0
05
10
15
20
25
30
35
40
45
50
(mm
)
(mm)0 05 10 15 20 25 30 35 40 45 50
Positioncommand
Positionfeedback
(a)
y-axis error
0 02 04 06 08 10 12 14 16 18 20 22
019
008
0
minus008
minus019
(mm
)
Overall tracking error02
015
01
005
00 02 04 06 08 10 12 14 16 18 20 22
(mm
)
-axis error
0 02 04 06 08 10 12 14 16 18 20 22
019
008
0
minus008
minus019
(mm
)Time (s)
x
(b)
Positioncommand
Positionfeedback
50
40
30
20
10
0
(mm
)
0 02 04 06 08 10 12 14 16 18 20 22
Positioncommand
Positionfeedback
50
40
30
20
10
0
(mm
)
0 02 04 06 08 10 12 14 16 18 20 22Time (s)
-axis position
-axis positiony
x
(c)
0 02 04 06 08 10 12 14 16 18 20 22
0 02 04 06 08 10 12 14 16 18 20 22Time (s)
-axis current
-axis current
iq
iq
id
id
0097
0048
0
minus0048
minus0097
minus0146
(A)
0097
0048
0
minus0048
minus0097
minus0146
(A)
y
x
(d)
Figure 9 (a) Star motion trajectory tracking (b) tracking error (c) position response (d) current response
chosen by (15000 0) (25000 95) in 16bit-Q15 formatThe tracking errors in Figure 8 show the maximumplusmn0185mm in 119909-axis table maximum plusmn0178mm in 119910-axistable and less than 019mm in overall motion trackingIn the star tracking motion the trajectory is designed asFigure 3(b) and its simulation results are shown in Figure 9In this experiment the Kp and Ki gains in position controllerare respectively chosen by (15000 0) (25000 95) in 16bit-Q15 format The tracking errors in Figure 9(b) show themaximum plusmn014mm in 119909-axis table maximum plusmn014mmin 119910-axis table and less than 017mm in overall star motion
tracking The results show a good tracking response in bothwindow and star motion trajectory Finally the three-axissimultaneous motion trajectory which is helical circulartrajectory is evaluated and their simulation tracking resultsare shown in Figure 10 respectively In this design theKp and Ki gains in position controller are respectivelychosen by (18000 0) (19000 95) in 16bit-Q15 format InFigure 10(b) the tracking errors show that it can keep withinplusmn0185mm in 119909- and 119910-axis table motion and plusmn019mmin 119911-axis table motion which reveals a good trackingresponse Therefore Figure 16 shows a good tracking result
Mathematical Problems in Engineering 11
0 1 2 3 4 5 6 7 8 9 10
0123456
0
1
2
3
4
5
6
78910
x (mm)y (mm)
z(m
m)
Positioncommand
Positionfeedback
(a)
minus020
02
0 02 04 06 08 10 12
Time (s)
-axis error
(mm
)
018550186
01865
0 02 04 06 08 10 12
Time (s)
(mm
)
Overall tracking error
minus020
02
0 02 04 06 08 10 12
Time (s)
-axis error
(mm
)0
0005001
0 02 04 06 08 10 12
Time (s)
-axis error(m
m)
y
x z
(b)
Figure 10 (a) Helical circular motion trajectory and (b) tracking results
FPGAcontroller
3-axis motor drivers
XYZ table
Figure 11 Experimental system
0 4 8 12 16 20 24012345
Time (s)
Posit
ion
(mm
)
Tableposition
Positioncommand
(a)
Curr
ent (
A)
0 4 8 12 16 20 24Time (s)
1
05
0
minus05
minus1
id
iq
(b)
Figure 12 119909-axis table (a) position step response (b) current response
12 Mathematical Problems in Engineering
0 10 20 30 40 50 60 70 80 90 100
(mm
)
0
10
20
30
40
50
60
70
80
90
100
(mm)
Tableposition
Positioncommand
(a)
Overall tracking error
0 33 67 10 133 167 20
0 33 67 10 133 167 20
0 33 67 10 133 167 20
0
02
04
06
08
(mm
)
minus05
0
05
-axis tracking error
(mm
)
minus04
minus02
0
02
04-axis tracking error
Time (s)
(mm
)
x
y
(b)
Tableposition Position
command
-axis position
0
50
100
(mm
)
0 33 67 10 133 167 20
0 33 67 10 133 167 20
Time (s)
TablepositionPosition
command
-axis position
0
50
100
(mm
)
x
y
(c)
-axis current
id
iq
minus1
0
05
1
(A)
0 33 67 10 133 167 20
0 33 67 10 133 167 20
-axis current
id
iq
minus15
minus1
minus05
0
05
1
(A)
Time (s)
minus05
x
y
(d)
Figure 13 (a) Circular motion trajectory tracking (b) tracking error (c) position response (d) current response
in 3-axis motion tracking Further Figures 6sim10 presentthat the three-axis motion control system tested throughModelSimSimulink cosimulation is effectiveness andcorrectness After confirming the success of the proposedthree-axis positionspeedcurrent controller IP it willdirectly apply to FPGA to be further evaluated
5 Experimental System and Results
51 Experimental System The overall experimental systemshown in Figure 11 includes an FPGA control board three
sets of voltage source IPM-based (Intelligent PowerModules)inverter and an XYZ table which is driven by three PMSMsand three ball-screwsThe power rating voltage current andrating speed of PMSM are 200W 92V 16 A and 3000 rpmrespectively A 2500 ppr rotary encoder attached to PMSMis used to measure the motorrsquos electrical angle Each ball-screw has 5mm lead Inside IPM it has 6 sets of IGBT typepower transistors with emitter of the rated voltage of 600Vcollector DC current rating of 20A and a short time (1ms)rated current of 40A Photo coupler IC adopts TLP250whoseoutput has push-pull amplifier functions The FPGA uses
Mathematical Problems in Engineering 13
(mm
)
0
10
20
30
40
50
60
70
80
90
100
(mm)0 10 20 30 40 50 60 70 80 90 100
Tableposition
Positioncommand
(a)
0 3 6 9 12 15 18 21 24 27 30
Time (s)0 3 6 9 12 15 18 21 24 27 30
0 3 6 9 12 15 18 21 24 27 30
0
01
02
(mm
)
Overall tracking error
minus02
minus01
0
01
02
(mm
)
-axis tracking error
minus02minus01
00102
(mm
)
-axis tracking error
x
y
(b)
Positioncommand
-axis position
Tableposition
0 6 12 18 24 30
Time (s)0 6 12 18 24 30
0
50
100
(mm
)
Positioncommand
-axis position
Tableposition
0
50
100
(mm
)
y
x
(c)
minus05
0
05
0 6 12 18 24 30
Time (s)0 6 12 18 24 30
(A)
minus05
0
05
(A)
-axis current
id
id
iq
iq-axis currenty
x
(d)
Figure 14 (a) Window motion trajectory tracking (b) tracking error (c) position response (d) current response
Cyclone IV-EP4CE115 which is the kernel of this systemThere are 114480 LEs (Logic Elements) 3981312 RAM bitsand 150 embedded multipliers in the Cyclone IV Further aNios II processor can be embedded into FPGA to establishSoC environment
52 Experimental Results In experiment the one-dimen-sional motion trajectory is firstly tested The step signal with
18Hz square wave and 5mm amplitude is sent to the 119909-axis tables as the position command to cause tables motionThe experimental results in position response and currentresponse using FC are shown in Figure 12 In Figure 12(a)the position response with 02 second rising time and 2overshoot and near zero steady state zero which shows agood response performance In Figure 12(b) the current in 119894119889
axis approaches zero which reveals the success of the vectorcontrol in PMSMdrive To evaluate the tracking performance
14 Mathematical Problems in Engineering
(mm
)
0
10
20
30
40
50
60
70
80
90
100
(mm)0 10 20 30 40 50 60 70 80 90 100
Tableposition
Positioncommand
(a)
Overall tracking error
-axis tracking error
-axis tracking error
Time (s)
0 10 20 30
0 10 20 30
0 10 20 30
0
04
06
08
02
0
04
02
(mm
)(m
m)
minus02
minus04
0
1
(mm
)
minus05
05y
x
(b)
0 10 20 30
Time (s)0 10 20 30
-axis position
Positioncommand
Positioncommand
-axis position
Tableposition
Tableposition
0
50
100
(mm
)
0
50
100
(mm
)
y
x
(c)
minus05
minus1
0
1
05
Time (s)0 10 20 30
0 10 20 30
(A)
minus05
minus1
minus15
0
1
05
(A)
id
id
iq
iq
-axis current
-axis current
y
x
(d)
Figure 15 (a) Star motion trajectory tracking (b) tracking error (c) position response (d) current response
in multiaxis motion table the indices are firstly defined asfollows
119879 (119896) = radic
119899
sum
119894=1
(119878lowast119901119894
(119896) minus 119878119901119894 (119909))2
119898119905119890 =
119898
sum
119896=1
119879 (119896)
119898
(25)
where 119879(119896) 119878lowast119901119894(119896) 119878119901119894(119896) 119899 119898 and 119898119905119890 respectively repre-
sent instantaneous error 119894th-axis position command 119894th-axisposition feedback number of motion table total acquisitiondata and mean tracking error Further in two-dimensionalmotion trajectory the circular motion trajectory control withcenter (50 50) mm and radius 25mm is evaluated and theexperimental results in motion trajectory tracking trackingerror position response and current response using same FCare shown in Figure 13 The tracking errors in Figure 13(b)show the maximum plusmn046mm in 119909-axis table maximum
Mathematical Problems in Engineering 15
0 20 40 60 80 100
020
4060
80100
051015202530
Y (mm)
Z(m
m)
Tableposition
Positioncommand
X (mm)
(a)
00102
0 67 133 20 267 333 40 467 533 60
Time (s)
(mm
)
Overall tracking error
0 67 133 20 267 333 40 467 533 60
Time (s)
(mm
)
minus020
02-axis tracking error
0 67 133 20 267 333 40 467 533 60
Time (s)
(mm
)
minus020
02-axis tracking error
0 67 133 20 267 333 40 467 533 60
Time (s)(m
m)
minus0010
001002
-axis tracking error
y
x z
(b)
Figure 16 (a) Helical circular motion trajectory and (b) tracking results
0020
4060
80
01020
50
100
150
200
250
Y (mm)
Z(m
m)
Position commandTracking response
X (mm)
(a)
Three axis
0 50 100 150 200
Time (s)
minus01
0
01
02
Trac
king
erro
r(m
m)
-axis
0 50 100 150 200
Time (s)
minus01
0
01
02
Trac
king
erro
r(m
m)
-axis
0 50 100 150 200
Time (s)
minus02
0
02
Trac
king
erro
r(m
m)
-axis
0 50 100 150 200
Time (s)
minus01
0
01
02
Trac
king
erro
r(m
m)
x
zy
(b)
Figure 17 Motion trajectory tracking and tracking error of STUST character
16 Mathematical Problems in Engineering
plusmn035mm in119910-axis table and 01759mmmean tracking errorin overall circularmotion It presents a good contour trackingresult Additional the current response of 119894119889-axis both in119909- and 119910-axis motors all can be controlled to zero whichpresents the success of the vector controller In the windowtracking motion the trajectory is designed as Figure 3(a)and its experimental results in motion trajectory trackingtracking error position response and current response areshown in Figure 14The tracking errors in Figure 14 show themaximum plusmn02mm in 119909-axis table maximum plusmn02mm in119910-axis table and 0054mm mean tracking error in overallmotion In the star trackingmotion the trajectory is designedas Figure 3(b) and its experimental results are shown inFigure 15 The tracking errors in Figure 15 show the maxi-mum plusmn04mm in 119909-axis table maximum plusmn055mm in 119910-axis table and 00698mm mean tracking error in overallstar motion However the larger tracking error in bothwindow and starmotion trajectory occurred at the position ofcommand suddenly changed otherwise the tracking error isvery smallThe results show a good contour tracking responsein both window and star motion trajectory Finally thethree-dimensional motion trajectory which is helical circulartrajectory and ldquoSTUSTrdquo character trajectory are evaluatedand their experimental tracking results are shown in Figures16 and 17 respectively In Figure 16(b) the tracking errorsshow that it can keep within plusmn02mm in 119909- and 119910-axis tablemotion plusmn001mm in 119911-axis table motion and 01162mmmean tracking error in overall helical circular motion whichreveals a good tracking response In performing themotion ofldquoSTUSTrdquo character the 119911-axis table just runs the up and downmotion the ldquoSTUSTrdquo character is drawn by the simultaneousmotion of 119909- and 119910-axis table The tracking error in Figure 17shows the maximum plusmn03mm in 119909-axis 119910-axis and 119911-axis table and less than 03mm in overall motion trackingTherefore Figures 16sim17 show a good tracking result in 3Dmotion contour tracking Therefore Figures 12sim17 presentthat the proposed FPGA-based multiaxis motion control ICis effectiveness and correctness
6 Conclusions
The FPGA-based multiaxis motion controller has been suc-cessfully demonstrated from ModelSimSimulink cosimula-tion to FPGA realization experiment in this paper For amultiaxis motion controller system DSP and FPGA all canprovide a good solution in implementation However dueto one DSP chip only can support one CPU inside and 12channels PWM output and 2 QEP output in its peripheralcircuit it is suitable for a two-axis motion controller systemIf we want to realize a multiaxis motion controller systemit needs several DSP chips In contrast with DSP FPGA hasthe properties of fast computing power parallel processingand hardware-software codesign which cause the multiaxismotion controller system to be implemented by one FPGAchip Finally the work herein is summarized as follows
(a) The functionalities required to build amultiaxis servocontroller and motion trajectory planning can beintegrated in one FPGA chip
(b) The computation of key algorithms such as SVPWMCCCT and FC in PMSM drive can be completedwithin 2 120583s by FPGA implementation
(c) The VHDL code of the proposed multiaxis servocontroller IP has been effectively verified from Mod-elSimSimulink cosimulation results
(d) Some experimental results by position step responsecircular window star and helical circular motiontrajectory tracking the specific character (ldquoSTUSTrdquo)motion trajectory tracking and so forth have revealedthat the proposed FPGA-based multiaxis motioncontroller is effectiveness and correctness
Conflict of Interests
The authors declare that there is no conflict of interestsregarding the publication of this paper
References
[1] J U Cho Q N Le and J W Jeon ldquoAn FPGA-based multiple-axis motion control chiprdquo IEEE Transactions on IndustrialElectronics vol 56 no 3 pp 856ndash870 2009
[2] X Shao and D Sun ldquoDevelopment of a new robot controllerarchitecture with FPGA-based IC design for improved high-speed performancerdquo IEEE Transactions on Industrial Informat-ics vol 3 no 4 pp 312ndash321 2007
[3] S S Yeh and J T Sun ldquoDesign of perfectly matched zero-phaseerror tracking control formulti-axismotion control systemsrdquo inProceedings of the SICE Annual Conference pp 528ndash533 August2012
[4] Y S Kung R F Fung and T Y Tai ldquoRealization of a motioncontrol IC forX-Y table based onnovel FPGA technologyrdquo IEEETransactions on Industrial Electronics vol 56 no 1 pp 43ndash532009
[5] S-S Yeh and P-L Hsu ldquoAnalysis and design of integratedcontrol for multi-axis motion systemsrdquo IEEE Transactions onControl Systems Technology vol 11 no 3 pp 375ndash382 2003
[6] Z Zhou T Li T Takahashi and E Ho ldquoFPGA realization of ahigh-performance servo controller for PMSMrdquo in Proceedingsof the 19th Annual IEEE Applied Power Electronics Conferenceand Exposition (APEC rsquo04) vol 3 pp 1604ndash1609 AnaheimCalif USA February 2004
[7] B K Bose Power Electronics and ACDrives Prentice Hall 1986[8] V Wilson P Agarwal and S P Srivastava ldquoPerformance
investigation of DSP based self-controlled PMSM driverdquo inProceedings of the Annual IEEE India Conference (INDICONrsquo12) pp 238ndash243 Kochi India December 2012
[9] E Monmasson L Idkhajine M N Cirstea I Bahri A Tisanand M W Naouar ldquoFPGAs in industrial control applicationsrdquoIEEE Transactions on Industrial Informatics vol 7 no 2 pp224ndash243 2011
[10] E Monmasson L Idkhajine and M W Naouar ldquoFPGA-basedcontrollersrdquo IEEE Industrial Electronics Magazine vol 5 no 1pp 14ndash26 2011
[11] Y S Kung V Q Nguyen T H Nguyen C-C Huang andL-C Huang ldquoSimulinkmodelsim co-simulation and FPGArealization of speed control IC for PMSM driverdquo ProcediaEngineering vol 23 pp 718ndash727 2011
Mathematical Problems in Engineering 17
[12] L Idkhajine E Monmasson M W Naouar A Prata andK Bouallaga ldquoFully integrated FPGA-based controller forsynchronous motor driverdquo IEEE Transactions on IndustrialElectronics vol 56 no 10 pp 4006ndash4017 2009
[13] B Alecsa M N Cirstea and A Onea ldquoSimulink modelingand design of an efficient hardware-constrained FPGA-basedPMSM speed controllerrdquo IEEE Transactions on Industrial Infor-matics vol 8 no 3 pp 554ndash562 2012
[14] H-H Chou Y-S Kung N Q Quynh and S Cheng ldquoOpti-mized FPGA design verification and implementation of aneuro-fuzzy controller for PMSM drivesrdquo Mathematics andComputers in Simulation vol 90 pp 28ndash44 2013
[15] Y Li J Huo X Li J Wen YWang and B Shan ldquoAn open-loopsinmicrostepping driver based on FPGA and the co-simulationof modelsim and simulinkrdquo in Proceedings of the InternationalConference on Computer Mechatronics Control and ElectronicEngineering (CMCE rsquo10) pp 223ndash227 August 2010
[16] The Mathworks ldquoMatlabSimulink Users Guide ApplicationProgram Interface Guiderdquo 2004
[17] ModeltechModelSim Reference Manual 2004[18] F-J Lin P-H Shieh and P-H Shen ldquoRobust recurrent-neural-
network sliding-mode control for the X-Y table of a CNCmachinerdquo IEE Proceedings ControlTheory andApplications vol153 no 1 pp 111ndash123 2006
Submit your manuscripts athttpwwwhindawicom
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
MathematicsJournal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Mathematical Problems in Engineering
Hindawi Publishing Corporationhttpwwwhindawicom
Differential EquationsInternational Journal of
Volume 2014
Applied MathematicsJournal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Probability and StatisticsHindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Journal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Mathematical PhysicsAdvances in
Complex AnalysisJournal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
OptimizationJournal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
CombinatoricsHindawi Publishing Corporationhttpwwwhindawicom Volume 2014
International Journal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Operations ResearchAdvances in
Journal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Function Spaces
Abstract and Applied AnalysisHindawi Publishing Corporationhttpwwwhindawicom Volume 2014
International Journal of Mathematics and Mathematical Sciences
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
The Scientific World JournalHindawi Publishing Corporation httpwwwhindawicom Volume 2014
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Algebra
Discrete Dynamics in Nature and Society
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Decision SciencesAdvances in
Discrete MathematicsJournal of
Hindawi Publishing Corporationhttpwwwhindawicom
Volume 2014 Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Stochastic AnalysisInternational Journal of
Mathematical Problems in Engineering 7
MATLABembeddedfunction(motion
trajectory)
Model SimConvert
Convert
Convert
Convert
Convert
Convert
Convert
Convert
ConvertData type conversion16
Data type conversion14
Data type conversion13
Data type conversion1
Saturation3
Saturation4
Saturation5
15000
15000
spd
0spd
pos95pos
position fdbcmd pos
KpKp
Kp
Kp
Kp
Kp
pos
Ki
Ki
Ki
Ki
Ki
Ki
pos
spdspd
rotor speed
position out
speed outWork-1
Work-2
HDL cosimulation3
HDL cosimulation
Current2
Speed and fdb
Positionspeedcontroller-1
Position cmd and fdb
Position fdbGain10
Gain2954929
0
9
95
1000
0
Constant9
Constant15
Constant22
Constant23
Constant24
cmd iq
cmd id
d
d
q
q
addressinfo a
info b
info c
PWM1
PWM2
PWM3
PWM4
PWM5
PWM6
address shift
shift1
-K-
-K-
Gain3
Gain4
Gain5 y fcn u
EmbeddedMATLAB function1
d-q1
N m
Tm
A
0001Constant13
Speed fdb
DC voltagesource1
BC S
Permanent magnetsynchronous machine1
Stator current1Continuous
Subsystem1
In1Conn1
In2Conn2
In3Conn3
In4Conn4
In5Conn5
In6Conn6
powergui1
PMSM-1
=
ltRotor speed wm (rads)gtltElectromagnetic torque Te ltRotor angle thetam (rad)gtltStator current is d (A)gtltStator current is q(A)gtltStator current is a (A)gtltStator current is b (A)gt
Torque1
Convert
Convert
Convert
Convert
Convert
Convert
Convert
Convert
Convert
0
95
Currentcontroller-1
1
Position fdbGain10
95
700
s
s
-K-
Constant13
=
1
Model Sim
Model SimConvert
Convert
Convert
Convert
Convert
Convert
Convert
Convert
ConvertData type conversion16
Data type conversion14
Data type conversion13
Data type conversion1
Saturation3
Saturation4
Saturation5
15000
15000
spd
0spd
pos95pos
position fdbcmd pos
pos
pos
spdspd
rotor speed
position out
speed outWork-
Work-4
HDL cosimulation3
HDL cosimulation
Current2
Speed and fdb
Positionspeedcontroller-2
Position cmd and fdb
Position fdbGain10
Gain2954929
0
95
1000
0
Constant9
Constant15
Constant22
Constant23
Constant24
cmd iq
cmd id
d
d
q
q
addressinfo a
info b
info c
PWM1
PWM2
PWM3
PWM4
PWM5
PWM6
address shift
Address
Address
shift1
y fcn u
EmbeddedMATLAB function1
d-q1
N m
Tm
A
0001Constant13
Speed fdb
DC voltagesource1
B
C S
Permanent magnetsynchronous machine1
Stator current1Continuous
Subsystem1
In1Conn1
In2Conn2
In3Conn3
In4Conn4
In5Conn5
In6Conn6
powergui1
PMSM-2
=
ltRotor speed wm (rads)gtltElectromagnetic torque Te ltRotor angle thetam (rad)gtltStator current is d (A)gtltStator current is q(A)gtltStator current is a (A)gtltStator current is b (A)gt
Torque1
Convert
Convert
Convert
Convert
Convert
Convert
0
95
cmd
3
controller-2
95
700
s
Gain3
Gain4
Gain5
=
Model Sim
Model SimConvert
Convert
Convert
Convert
Convert
Convert
Convert
Convert
ConvertData type conversion16
Data type conversion14
Data type conversion13
Data type conversion1
Saturation3
Saturation4
Saturation5
15000
15000
spd
0spd
pos95pos
position fdbcmd pos
pos
pos
spdspd
rotor speed
position out
speed outWork-
Work-6
HDL cosimulation3
HDL cosimulation
Current2
Speed and fdb
Positionspeedcontroller-3
Position cmd and fdb
Position fdbGain10
Gain2954929
0
95
1000
0
Constant9
Constant15
Constant22
Constant23
Constant24
cmd iq
cmd id
d
d
q
q
addressinfo a
info b
info c
PWM1
PWM2
PWM3
PWM4
PWM5
PWM6
address shift
shift1
y fcn u
EmbeddedMATLAB function1
d-q1
N m
Tm
A
0001Constant13
Speed fdb
DC voltagesource1
B
C S
Permanent magnetsynchronous machine1
Stator current1Continuous
Subsystem1
In1Conn1
In2Conn2
In3Conn3
In4Conn4
In5Conn5
In6Conn6
powergui1
PMSM-3
=
ltRotor speed wm (rads)gtltElectromagnetic torque Te ltRotor angle thetam (rad)gtltStator current is d (A)gtltStator current is q(A)gtltStator current is a (A)gtltStator current is b (A)gt
Torque1
Convert
Convert
Convert
Convert
Convert
Convert
0
95
5
controller-3
95
700
s
s
Gain3
Gain4
Gain5
d-q1
=
ltStator current is c (A)gt
Model Sim
(1(2lowastpi))lowast10000
(1(2lowastpi))lowast10000
(1(2lowastpi))lowast10000
(Nlowastm)gt
(Nlowastm)gt
(Nlowast
Address
m)gt
-K-
-K-
-K-
-K-
-K-
-K-
KpKp
Kp
Kp
Kp
Kp
Ki
Ki
Ki
Ki
Ki
Ki
KpKp
Kp
Kp
Kp
Kp
Ki
Ki
Ki
Ki
Ki
Ki
ltStator current is c (A)gt
ltStator current is c (A)gt
plusmn
plusmn
plusmn
Figure 5 SimulinkModelSim cosimulation architecture for three-axis motion control system
8 Mathematical Problems in Engineering
0
25
50
Time (s)0 01 02 03 04 05 06 07 08 09 1
Positioncommand
Positionfeedback
Posit
ion
(mm
)
(a)
Time (s)0 01 02 03 04 05 06 07 08 09 1
Curr
ent (
A)
id iq09760488
0minus0488minus0976
(b)
Figure 6 Single-axis PMSM (a) step position response (b) current response
0
1
2
3
4
5
6
7
8
9
10
0 1 2 3 4 5 6 7 8 9 10
(mm)
(mm
)
Positioncommand
Positionfeedback
(a)
(mm
)
0184
0185
0186
0187
0188
0 01 02 03 04 05 06 07 08
Overall tracking error
(mm
)
0 01 02 03 04 05 06 07 08
015
02
0
minus 015
minus 02
0 01 02 03 04 05 06 07 08
Time (s)
015
02
0
(mm
)
minus 015
minus 02
x-axis error
y-axis error
(b)
Positioncommand Position
feedback
0
25
50
75
10
(mm
)
Positioncommand Position
feedback
0
25
50
75
10
(mm
)
0 01 02 03 04 05 06 07 08Time (s)
0 01 02 03 04 05 06 07 08
x-axis position
y-axis position
(c)
minus0195
minus0097
0
0097
0195
(A)
iq id
id
x-axis current
0 01 02 03 04 05 06 07 08
minus0195
minus0097
0
0097
0195
(A)
iqy-axis current
0 01 02 03 04 05 06 07 08
Time (s)
(d)
Figure 7 (a) Circular motion trajectory tracking (b) tracking error (c) position response (d) current response
Mathematical Problems in Engineering 9
0 1 2 3 4 5
0
05
1
15
2
25
3
35
4
45
5
Positioncommand
Positionfeedback
(mm
)
(mm)
(a)
0
02
04
Overall tracking error
0 02 04 06 08 10 12 14 1617
(mm
)
0 02 04 06 08 10 12 14 1617
-axis error
02
0
minus02
(mm
)
0 02 04 06 08 10 12 14 1617
Time (s)
-axis error02
0
minus02
(mm
)
y
x
(b)
0
10
20
3 0
4 0
5 0
Positioncommand
Positionfeedback(m
m)
0 02 04 06 08 10 12 14 16 17
0 02 04 06 08 10 12 14 16 17
Positioncommand
Positionfeedback
0
10
20
3 0
4 0
5 0
(mm
)
Time (s)
-axis position
-axis positiony
x
(c)
0 02 04 06 08 10 12 14 16 17Time (s)
0195
0097
0
minus0097
minus0195
(A)
-axis current
0 02 04 06 08 10 12 14 16 17
-axis current0195
0097
0
minus0097
minus0195
(A)
iq
iq
id
id
y
x
(d)
Figure 8 (a) Window motion trajectory tracking (b) tracking error (c) position response (d) current response
the current in 119894119889 axis approaches zero which presents thesuccess of the vector control in PMSM drive Further inthe two-axis simultaneous motion trajectory the circularmotion trajectory control with center (5 5) mm and radius10mm is evaluated and the simulation results in motiontrajectory tracking tracking error position response andcurrent response are shown in Figure 7 In this design theKp and Ki gains in position controller are respectivelychosen by (18000 0) (19000 95) in 16bit-Q15 format Thetracking errors in Figure 7(b) show the maximum plusmn018mm
in 119909-axis table maximum plusmn018mm in 119910-axis table andless than 01855mm in overall circular motion trackingIt demonstrates a good tracking Additionally the currentresponse of 119894119889-axis both in 119909- and 119910-axis motors all can becontrolled to zero which presents the success of the vectorcontroller In the window tracking motion the trajectory isdesigned as Figure 3(a) and its simulation results in motiontrajectory tracking tracking error position response andcurrent response are shown in Figure 8 In this design theKp and Ki gains in position controller are respectively
10 Mathematical Problems in Engineering
0
05
10
15
20
25
30
35
40
45
50
(mm
)
(mm)0 05 10 15 20 25 30 35 40 45 50
Positioncommand
Positionfeedback
(a)
y-axis error
0 02 04 06 08 10 12 14 16 18 20 22
019
008
0
minus008
minus019
(mm
)
Overall tracking error02
015
01
005
00 02 04 06 08 10 12 14 16 18 20 22
(mm
)
-axis error
0 02 04 06 08 10 12 14 16 18 20 22
019
008
0
minus008
minus019
(mm
)Time (s)
x
(b)
Positioncommand
Positionfeedback
50
40
30
20
10
0
(mm
)
0 02 04 06 08 10 12 14 16 18 20 22
Positioncommand
Positionfeedback
50
40
30
20
10
0
(mm
)
0 02 04 06 08 10 12 14 16 18 20 22Time (s)
-axis position
-axis positiony
x
(c)
0 02 04 06 08 10 12 14 16 18 20 22
0 02 04 06 08 10 12 14 16 18 20 22Time (s)
-axis current
-axis current
iq
iq
id
id
0097
0048
0
minus0048
minus0097
minus0146
(A)
0097
0048
0
minus0048
minus0097
minus0146
(A)
y
x
(d)
Figure 9 (a) Star motion trajectory tracking (b) tracking error (c) position response (d) current response
chosen by (15000 0) (25000 95) in 16bit-Q15 formatThe tracking errors in Figure 8 show the maximumplusmn0185mm in 119909-axis table maximum plusmn0178mm in 119910-axistable and less than 019mm in overall motion trackingIn the star tracking motion the trajectory is designed asFigure 3(b) and its simulation results are shown in Figure 9In this experiment the Kp and Ki gains in position controllerare respectively chosen by (15000 0) (25000 95) in 16bit-Q15 format The tracking errors in Figure 9(b) show themaximum plusmn014mm in 119909-axis table maximum plusmn014mmin 119910-axis table and less than 017mm in overall star motion
tracking The results show a good tracking response in bothwindow and star motion trajectory Finally the three-axissimultaneous motion trajectory which is helical circulartrajectory is evaluated and their simulation tracking resultsare shown in Figure 10 respectively In this design theKp and Ki gains in position controller are respectivelychosen by (18000 0) (19000 95) in 16bit-Q15 format InFigure 10(b) the tracking errors show that it can keep withinplusmn0185mm in 119909- and 119910-axis table motion and plusmn019mmin 119911-axis table motion which reveals a good trackingresponse Therefore Figure 16 shows a good tracking result
Mathematical Problems in Engineering 11
0 1 2 3 4 5 6 7 8 9 10
0123456
0
1
2
3
4
5
6
78910
x (mm)y (mm)
z(m
m)
Positioncommand
Positionfeedback
(a)
minus020
02
0 02 04 06 08 10 12
Time (s)
-axis error
(mm
)
018550186
01865
0 02 04 06 08 10 12
Time (s)
(mm
)
Overall tracking error
minus020
02
0 02 04 06 08 10 12
Time (s)
-axis error
(mm
)0
0005001
0 02 04 06 08 10 12
Time (s)
-axis error(m
m)
y
x z
(b)
Figure 10 (a) Helical circular motion trajectory and (b) tracking results
FPGAcontroller
3-axis motor drivers
XYZ table
Figure 11 Experimental system
0 4 8 12 16 20 24012345
Time (s)
Posit
ion
(mm
)
Tableposition
Positioncommand
(a)
Curr
ent (
A)
0 4 8 12 16 20 24Time (s)
1
05
0
minus05
minus1
id
iq
(b)
Figure 12 119909-axis table (a) position step response (b) current response
12 Mathematical Problems in Engineering
0 10 20 30 40 50 60 70 80 90 100
(mm
)
0
10
20
30
40
50
60
70
80
90
100
(mm)
Tableposition
Positioncommand
(a)
Overall tracking error
0 33 67 10 133 167 20
0 33 67 10 133 167 20
0 33 67 10 133 167 20
0
02
04
06
08
(mm
)
minus05
0
05
-axis tracking error
(mm
)
minus04
minus02
0
02
04-axis tracking error
Time (s)
(mm
)
x
y
(b)
Tableposition Position
command
-axis position
0
50
100
(mm
)
0 33 67 10 133 167 20
0 33 67 10 133 167 20
Time (s)
TablepositionPosition
command
-axis position
0
50
100
(mm
)
x
y
(c)
-axis current
id
iq
minus1
0
05
1
(A)
0 33 67 10 133 167 20
0 33 67 10 133 167 20
-axis current
id
iq
minus15
minus1
minus05
0
05
1
(A)
Time (s)
minus05
x
y
(d)
Figure 13 (a) Circular motion trajectory tracking (b) tracking error (c) position response (d) current response
in 3-axis motion tracking Further Figures 6sim10 presentthat the three-axis motion control system tested throughModelSimSimulink cosimulation is effectiveness andcorrectness After confirming the success of the proposedthree-axis positionspeedcurrent controller IP it willdirectly apply to FPGA to be further evaluated
5 Experimental System and Results
51 Experimental System The overall experimental systemshown in Figure 11 includes an FPGA control board three
sets of voltage source IPM-based (Intelligent PowerModules)inverter and an XYZ table which is driven by three PMSMsand three ball-screwsThe power rating voltage current andrating speed of PMSM are 200W 92V 16 A and 3000 rpmrespectively A 2500 ppr rotary encoder attached to PMSMis used to measure the motorrsquos electrical angle Each ball-screw has 5mm lead Inside IPM it has 6 sets of IGBT typepower transistors with emitter of the rated voltage of 600Vcollector DC current rating of 20A and a short time (1ms)rated current of 40A Photo coupler IC adopts TLP250whoseoutput has push-pull amplifier functions The FPGA uses
Mathematical Problems in Engineering 13
(mm
)
0
10
20
30
40
50
60
70
80
90
100
(mm)0 10 20 30 40 50 60 70 80 90 100
Tableposition
Positioncommand
(a)
0 3 6 9 12 15 18 21 24 27 30
Time (s)0 3 6 9 12 15 18 21 24 27 30
0 3 6 9 12 15 18 21 24 27 30
0
01
02
(mm
)
Overall tracking error
minus02
minus01
0
01
02
(mm
)
-axis tracking error
minus02minus01
00102
(mm
)
-axis tracking error
x
y
(b)
Positioncommand
-axis position
Tableposition
0 6 12 18 24 30
Time (s)0 6 12 18 24 30
0
50
100
(mm
)
Positioncommand
-axis position
Tableposition
0
50
100
(mm
)
y
x
(c)
minus05
0
05
0 6 12 18 24 30
Time (s)0 6 12 18 24 30
(A)
minus05
0
05
(A)
-axis current
id
id
iq
iq-axis currenty
x
(d)
Figure 14 (a) Window motion trajectory tracking (b) tracking error (c) position response (d) current response
Cyclone IV-EP4CE115 which is the kernel of this systemThere are 114480 LEs (Logic Elements) 3981312 RAM bitsand 150 embedded multipliers in the Cyclone IV Further aNios II processor can be embedded into FPGA to establishSoC environment
52 Experimental Results In experiment the one-dimen-sional motion trajectory is firstly tested The step signal with
18Hz square wave and 5mm amplitude is sent to the 119909-axis tables as the position command to cause tables motionThe experimental results in position response and currentresponse using FC are shown in Figure 12 In Figure 12(a)the position response with 02 second rising time and 2overshoot and near zero steady state zero which shows agood response performance In Figure 12(b) the current in 119894119889
axis approaches zero which reveals the success of the vectorcontrol in PMSMdrive To evaluate the tracking performance
14 Mathematical Problems in Engineering
(mm
)
0
10
20
30
40
50
60
70
80
90
100
(mm)0 10 20 30 40 50 60 70 80 90 100
Tableposition
Positioncommand
(a)
Overall tracking error
-axis tracking error
-axis tracking error
Time (s)
0 10 20 30
0 10 20 30
0 10 20 30
0
04
06
08
02
0
04
02
(mm
)(m
m)
minus02
minus04
0
1
(mm
)
minus05
05y
x
(b)
0 10 20 30
Time (s)0 10 20 30
-axis position
Positioncommand
Positioncommand
-axis position
Tableposition
Tableposition
0
50
100
(mm
)
0
50
100
(mm
)
y
x
(c)
minus05
minus1
0
1
05
Time (s)0 10 20 30
0 10 20 30
(A)
minus05
minus1
minus15
0
1
05
(A)
id
id
iq
iq
-axis current
-axis current
y
x
(d)
Figure 15 (a) Star motion trajectory tracking (b) tracking error (c) position response (d) current response
in multiaxis motion table the indices are firstly defined asfollows
119879 (119896) = radic
119899
sum
119894=1
(119878lowast119901119894
(119896) minus 119878119901119894 (119909))2
119898119905119890 =
119898
sum
119896=1
119879 (119896)
119898
(25)
where 119879(119896) 119878lowast119901119894(119896) 119878119901119894(119896) 119899 119898 and 119898119905119890 respectively repre-
sent instantaneous error 119894th-axis position command 119894th-axisposition feedback number of motion table total acquisitiondata and mean tracking error Further in two-dimensionalmotion trajectory the circular motion trajectory control withcenter (50 50) mm and radius 25mm is evaluated and theexperimental results in motion trajectory tracking trackingerror position response and current response using same FCare shown in Figure 13 The tracking errors in Figure 13(b)show the maximum plusmn046mm in 119909-axis table maximum
Mathematical Problems in Engineering 15
0 20 40 60 80 100
020
4060
80100
051015202530
Y (mm)
Z(m
m)
Tableposition
Positioncommand
X (mm)
(a)
00102
0 67 133 20 267 333 40 467 533 60
Time (s)
(mm
)
Overall tracking error
0 67 133 20 267 333 40 467 533 60
Time (s)
(mm
)
minus020
02-axis tracking error
0 67 133 20 267 333 40 467 533 60
Time (s)
(mm
)
minus020
02-axis tracking error
0 67 133 20 267 333 40 467 533 60
Time (s)(m
m)
minus0010
001002
-axis tracking error
y
x z
(b)
Figure 16 (a) Helical circular motion trajectory and (b) tracking results
0020
4060
80
01020
50
100
150
200
250
Y (mm)
Z(m
m)
Position commandTracking response
X (mm)
(a)
Three axis
0 50 100 150 200
Time (s)
minus01
0
01
02
Trac
king
erro
r(m
m)
-axis
0 50 100 150 200
Time (s)
minus01
0
01
02
Trac
king
erro
r(m
m)
-axis
0 50 100 150 200
Time (s)
minus02
0
02
Trac
king
erro
r(m
m)
-axis
0 50 100 150 200
Time (s)
minus01
0
01
02
Trac
king
erro
r(m
m)
x
zy
(b)
Figure 17 Motion trajectory tracking and tracking error of STUST character
16 Mathematical Problems in Engineering
plusmn035mm in119910-axis table and 01759mmmean tracking errorin overall circularmotion It presents a good contour trackingresult Additional the current response of 119894119889-axis both in119909- and 119910-axis motors all can be controlled to zero whichpresents the success of the vector controller In the windowtracking motion the trajectory is designed as Figure 3(a)and its experimental results in motion trajectory trackingtracking error position response and current response areshown in Figure 14The tracking errors in Figure 14 show themaximum plusmn02mm in 119909-axis table maximum plusmn02mm in119910-axis table and 0054mm mean tracking error in overallmotion In the star trackingmotion the trajectory is designedas Figure 3(b) and its experimental results are shown inFigure 15 The tracking errors in Figure 15 show the maxi-mum plusmn04mm in 119909-axis table maximum plusmn055mm in 119910-axis table and 00698mm mean tracking error in overallstar motion However the larger tracking error in bothwindow and starmotion trajectory occurred at the position ofcommand suddenly changed otherwise the tracking error isvery smallThe results show a good contour tracking responsein both window and star motion trajectory Finally thethree-dimensional motion trajectory which is helical circulartrajectory and ldquoSTUSTrdquo character trajectory are evaluatedand their experimental tracking results are shown in Figures16 and 17 respectively In Figure 16(b) the tracking errorsshow that it can keep within plusmn02mm in 119909- and 119910-axis tablemotion plusmn001mm in 119911-axis table motion and 01162mmmean tracking error in overall helical circular motion whichreveals a good tracking response In performing themotion ofldquoSTUSTrdquo character the 119911-axis table just runs the up and downmotion the ldquoSTUSTrdquo character is drawn by the simultaneousmotion of 119909- and 119910-axis table The tracking error in Figure 17shows the maximum plusmn03mm in 119909-axis 119910-axis and 119911-axis table and less than 03mm in overall motion trackingTherefore Figures 16sim17 show a good tracking result in 3Dmotion contour tracking Therefore Figures 12sim17 presentthat the proposed FPGA-based multiaxis motion control ICis effectiveness and correctness
6 Conclusions
The FPGA-based multiaxis motion controller has been suc-cessfully demonstrated from ModelSimSimulink cosimula-tion to FPGA realization experiment in this paper For amultiaxis motion controller system DSP and FPGA all canprovide a good solution in implementation However dueto one DSP chip only can support one CPU inside and 12channels PWM output and 2 QEP output in its peripheralcircuit it is suitable for a two-axis motion controller systemIf we want to realize a multiaxis motion controller systemit needs several DSP chips In contrast with DSP FPGA hasthe properties of fast computing power parallel processingand hardware-software codesign which cause the multiaxismotion controller system to be implemented by one FPGAchip Finally the work herein is summarized as follows
(a) The functionalities required to build amultiaxis servocontroller and motion trajectory planning can beintegrated in one FPGA chip
(b) The computation of key algorithms such as SVPWMCCCT and FC in PMSM drive can be completedwithin 2 120583s by FPGA implementation
(c) The VHDL code of the proposed multiaxis servocontroller IP has been effectively verified from Mod-elSimSimulink cosimulation results
(d) Some experimental results by position step responsecircular window star and helical circular motiontrajectory tracking the specific character (ldquoSTUSTrdquo)motion trajectory tracking and so forth have revealedthat the proposed FPGA-based multiaxis motioncontroller is effectiveness and correctness
Conflict of Interests
The authors declare that there is no conflict of interestsregarding the publication of this paper
References
[1] J U Cho Q N Le and J W Jeon ldquoAn FPGA-based multiple-axis motion control chiprdquo IEEE Transactions on IndustrialElectronics vol 56 no 3 pp 856ndash870 2009
[2] X Shao and D Sun ldquoDevelopment of a new robot controllerarchitecture with FPGA-based IC design for improved high-speed performancerdquo IEEE Transactions on Industrial Informat-ics vol 3 no 4 pp 312ndash321 2007
[3] S S Yeh and J T Sun ldquoDesign of perfectly matched zero-phaseerror tracking control formulti-axismotion control systemsrdquo inProceedings of the SICE Annual Conference pp 528ndash533 August2012
[4] Y S Kung R F Fung and T Y Tai ldquoRealization of a motioncontrol IC forX-Y table based onnovel FPGA technologyrdquo IEEETransactions on Industrial Electronics vol 56 no 1 pp 43ndash532009
[5] S-S Yeh and P-L Hsu ldquoAnalysis and design of integratedcontrol for multi-axis motion systemsrdquo IEEE Transactions onControl Systems Technology vol 11 no 3 pp 375ndash382 2003
[6] Z Zhou T Li T Takahashi and E Ho ldquoFPGA realization of ahigh-performance servo controller for PMSMrdquo in Proceedingsof the 19th Annual IEEE Applied Power Electronics Conferenceand Exposition (APEC rsquo04) vol 3 pp 1604ndash1609 AnaheimCalif USA February 2004
[7] B K Bose Power Electronics and ACDrives Prentice Hall 1986[8] V Wilson P Agarwal and S P Srivastava ldquoPerformance
investigation of DSP based self-controlled PMSM driverdquo inProceedings of the Annual IEEE India Conference (INDICONrsquo12) pp 238ndash243 Kochi India December 2012
[9] E Monmasson L Idkhajine M N Cirstea I Bahri A Tisanand M W Naouar ldquoFPGAs in industrial control applicationsrdquoIEEE Transactions on Industrial Informatics vol 7 no 2 pp224ndash243 2011
[10] E Monmasson L Idkhajine and M W Naouar ldquoFPGA-basedcontrollersrdquo IEEE Industrial Electronics Magazine vol 5 no 1pp 14ndash26 2011
[11] Y S Kung V Q Nguyen T H Nguyen C-C Huang andL-C Huang ldquoSimulinkmodelsim co-simulation and FPGArealization of speed control IC for PMSM driverdquo ProcediaEngineering vol 23 pp 718ndash727 2011
Mathematical Problems in Engineering 17
[12] L Idkhajine E Monmasson M W Naouar A Prata andK Bouallaga ldquoFully integrated FPGA-based controller forsynchronous motor driverdquo IEEE Transactions on IndustrialElectronics vol 56 no 10 pp 4006ndash4017 2009
[13] B Alecsa M N Cirstea and A Onea ldquoSimulink modelingand design of an efficient hardware-constrained FPGA-basedPMSM speed controllerrdquo IEEE Transactions on Industrial Infor-matics vol 8 no 3 pp 554ndash562 2012
[14] H-H Chou Y-S Kung N Q Quynh and S Cheng ldquoOpti-mized FPGA design verification and implementation of aneuro-fuzzy controller for PMSM drivesrdquo Mathematics andComputers in Simulation vol 90 pp 28ndash44 2013
[15] Y Li J Huo X Li J Wen YWang and B Shan ldquoAn open-loopsinmicrostepping driver based on FPGA and the co-simulationof modelsim and simulinkrdquo in Proceedings of the InternationalConference on Computer Mechatronics Control and ElectronicEngineering (CMCE rsquo10) pp 223ndash227 August 2010
[16] The Mathworks ldquoMatlabSimulink Users Guide ApplicationProgram Interface Guiderdquo 2004
[17] ModeltechModelSim Reference Manual 2004[18] F-J Lin P-H Shieh and P-H Shen ldquoRobust recurrent-neural-
network sliding-mode control for the X-Y table of a CNCmachinerdquo IEE Proceedings ControlTheory andApplications vol153 no 1 pp 111ndash123 2006
Submit your manuscripts athttpwwwhindawicom
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
MathematicsJournal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Mathematical Problems in Engineering
Hindawi Publishing Corporationhttpwwwhindawicom
Differential EquationsInternational Journal of
Volume 2014
Applied MathematicsJournal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Probability and StatisticsHindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Journal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Mathematical PhysicsAdvances in
Complex AnalysisJournal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
OptimizationJournal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
CombinatoricsHindawi Publishing Corporationhttpwwwhindawicom Volume 2014
International Journal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Operations ResearchAdvances in
Journal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Function Spaces
Abstract and Applied AnalysisHindawi Publishing Corporationhttpwwwhindawicom Volume 2014
International Journal of Mathematics and Mathematical Sciences
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
The Scientific World JournalHindawi Publishing Corporation httpwwwhindawicom Volume 2014
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Algebra
Discrete Dynamics in Nature and Society
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Decision SciencesAdvances in
Discrete MathematicsJournal of
Hindawi Publishing Corporationhttpwwwhindawicom
Volume 2014 Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Stochastic AnalysisInternational Journal of
8 Mathematical Problems in Engineering
0
25
50
Time (s)0 01 02 03 04 05 06 07 08 09 1
Positioncommand
Positionfeedback
Posit
ion
(mm
)
(a)
Time (s)0 01 02 03 04 05 06 07 08 09 1
Curr
ent (
A)
id iq09760488
0minus0488minus0976
(b)
Figure 6 Single-axis PMSM (a) step position response (b) current response
0
1
2
3
4
5
6
7
8
9
10
0 1 2 3 4 5 6 7 8 9 10
(mm)
(mm
)
Positioncommand
Positionfeedback
(a)
(mm
)
0184
0185
0186
0187
0188
0 01 02 03 04 05 06 07 08
Overall tracking error
(mm
)
0 01 02 03 04 05 06 07 08
015
02
0
minus 015
minus 02
0 01 02 03 04 05 06 07 08
Time (s)
015
02
0
(mm
)
minus 015
minus 02
x-axis error
y-axis error
(b)
Positioncommand Position
feedback
0
25
50
75
10
(mm
)
Positioncommand Position
feedback
0
25
50
75
10
(mm
)
0 01 02 03 04 05 06 07 08Time (s)
0 01 02 03 04 05 06 07 08
x-axis position
y-axis position
(c)
minus0195
minus0097
0
0097
0195
(A)
iq id
id
x-axis current
0 01 02 03 04 05 06 07 08
minus0195
minus0097
0
0097
0195
(A)
iqy-axis current
0 01 02 03 04 05 06 07 08
Time (s)
(d)
Figure 7 (a) Circular motion trajectory tracking (b) tracking error (c) position response (d) current response
Mathematical Problems in Engineering 9
0 1 2 3 4 5
0
05
1
15
2
25
3
35
4
45
5
Positioncommand
Positionfeedback
(mm
)
(mm)
(a)
0
02
04
Overall tracking error
0 02 04 06 08 10 12 14 1617
(mm
)
0 02 04 06 08 10 12 14 1617
-axis error
02
0
minus02
(mm
)
0 02 04 06 08 10 12 14 1617
Time (s)
-axis error02
0
minus02
(mm
)
y
x
(b)
0
10
20
3 0
4 0
5 0
Positioncommand
Positionfeedback(m
m)
0 02 04 06 08 10 12 14 16 17
0 02 04 06 08 10 12 14 16 17
Positioncommand
Positionfeedback
0
10
20
3 0
4 0
5 0
(mm
)
Time (s)
-axis position
-axis positiony
x
(c)
0 02 04 06 08 10 12 14 16 17Time (s)
0195
0097
0
minus0097
minus0195
(A)
-axis current
0 02 04 06 08 10 12 14 16 17
-axis current0195
0097
0
minus0097
minus0195
(A)
iq
iq
id
id
y
x
(d)
Figure 8 (a) Window motion trajectory tracking (b) tracking error (c) position response (d) current response
the current in 119894119889 axis approaches zero which presents thesuccess of the vector control in PMSM drive Further inthe two-axis simultaneous motion trajectory the circularmotion trajectory control with center (5 5) mm and radius10mm is evaluated and the simulation results in motiontrajectory tracking tracking error position response andcurrent response are shown in Figure 7 In this design theKp and Ki gains in position controller are respectivelychosen by (18000 0) (19000 95) in 16bit-Q15 format Thetracking errors in Figure 7(b) show the maximum plusmn018mm
in 119909-axis table maximum plusmn018mm in 119910-axis table andless than 01855mm in overall circular motion trackingIt demonstrates a good tracking Additionally the currentresponse of 119894119889-axis both in 119909- and 119910-axis motors all can becontrolled to zero which presents the success of the vectorcontroller In the window tracking motion the trajectory isdesigned as Figure 3(a) and its simulation results in motiontrajectory tracking tracking error position response andcurrent response are shown in Figure 8 In this design theKp and Ki gains in position controller are respectively
10 Mathematical Problems in Engineering
0
05
10
15
20
25
30
35
40
45
50
(mm
)
(mm)0 05 10 15 20 25 30 35 40 45 50
Positioncommand
Positionfeedback
(a)
y-axis error
0 02 04 06 08 10 12 14 16 18 20 22
019
008
0
minus008
minus019
(mm
)
Overall tracking error02
015
01
005
00 02 04 06 08 10 12 14 16 18 20 22
(mm
)
-axis error
0 02 04 06 08 10 12 14 16 18 20 22
019
008
0
minus008
minus019
(mm
)Time (s)
x
(b)
Positioncommand
Positionfeedback
50
40
30
20
10
0
(mm
)
0 02 04 06 08 10 12 14 16 18 20 22
Positioncommand
Positionfeedback
50
40
30
20
10
0
(mm
)
0 02 04 06 08 10 12 14 16 18 20 22Time (s)
-axis position
-axis positiony
x
(c)
0 02 04 06 08 10 12 14 16 18 20 22
0 02 04 06 08 10 12 14 16 18 20 22Time (s)
-axis current
-axis current
iq
iq
id
id
0097
0048
0
minus0048
minus0097
minus0146
(A)
0097
0048
0
minus0048
minus0097
minus0146
(A)
y
x
(d)
Figure 9 (a) Star motion trajectory tracking (b) tracking error (c) position response (d) current response
chosen by (15000 0) (25000 95) in 16bit-Q15 formatThe tracking errors in Figure 8 show the maximumplusmn0185mm in 119909-axis table maximum plusmn0178mm in 119910-axistable and less than 019mm in overall motion trackingIn the star tracking motion the trajectory is designed asFigure 3(b) and its simulation results are shown in Figure 9In this experiment the Kp and Ki gains in position controllerare respectively chosen by (15000 0) (25000 95) in 16bit-Q15 format The tracking errors in Figure 9(b) show themaximum plusmn014mm in 119909-axis table maximum plusmn014mmin 119910-axis table and less than 017mm in overall star motion
tracking The results show a good tracking response in bothwindow and star motion trajectory Finally the three-axissimultaneous motion trajectory which is helical circulartrajectory is evaluated and their simulation tracking resultsare shown in Figure 10 respectively In this design theKp and Ki gains in position controller are respectivelychosen by (18000 0) (19000 95) in 16bit-Q15 format InFigure 10(b) the tracking errors show that it can keep withinplusmn0185mm in 119909- and 119910-axis table motion and plusmn019mmin 119911-axis table motion which reveals a good trackingresponse Therefore Figure 16 shows a good tracking result
Mathematical Problems in Engineering 11
0 1 2 3 4 5 6 7 8 9 10
0123456
0
1
2
3
4
5
6
78910
x (mm)y (mm)
z(m
m)
Positioncommand
Positionfeedback
(a)
minus020
02
0 02 04 06 08 10 12
Time (s)
-axis error
(mm
)
018550186
01865
0 02 04 06 08 10 12
Time (s)
(mm
)
Overall tracking error
minus020
02
0 02 04 06 08 10 12
Time (s)
-axis error
(mm
)0
0005001
0 02 04 06 08 10 12
Time (s)
-axis error(m
m)
y
x z
(b)
Figure 10 (a) Helical circular motion trajectory and (b) tracking results
FPGAcontroller
3-axis motor drivers
XYZ table
Figure 11 Experimental system
0 4 8 12 16 20 24012345
Time (s)
Posit
ion
(mm
)
Tableposition
Positioncommand
(a)
Curr
ent (
A)
0 4 8 12 16 20 24Time (s)
1
05
0
minus05
minus1
id
iq
(b)
Figure 12 119909-axis table (a) position step response (b) current response
12 Mathematical Problems in Engineering
0 10 20 30 40 50 60 70 80 90 100
(mm
)
0
10
20
30
40
50
60
70
80
90
100
(mm)
Tableposition
Positioncommand
(a)
Overall tracking error
0 33 67 10 133 167 20
0 33 67 10 133 167 20
0 33 67 10 133 167 20
0
02
04
06
08
(mm
)
minus05
0
05
-axis tracking error
(mm
)
minus04
minus02
0
02
04-axis tracking error
Time (s)
(mm
)
x
y
(b)
Tableposition Position
command
-axis position
0
50
100
(mm
)
0 33 67 10 133 167 20
0 33 67 10 133 167 20
Time (s)
TablepositionPosition
command
-axis position
0
50
100
(mm
)
x
y
(c)
-axis current
id
iq
minus1
0
05
1
(A)
0 33 67 10 133 167 20
0 33 67 10 133 167 20
-axis current
id
iq
minus15
minus1
minus05
0
05
1
(A)
Time (s)
minus05
x
y
(d)
Figure 13 (a) Circular motion trajectory tracking (b) tracking error (c) position response (d) current response
in 3-axis motion tracking Further Figures 6sim10 presentthat the three-axis motion control system tested throughModelSimSimulink cosimulation is effectiveness andcorrectness After confirming the success of the proposedthree-axis positionspeedcurrent controller IP it willdirectly apply to FPGA to be further evaluated
5 Experimental System and Results
51 Experimental System The overall experimental systemshown in Figure 11 includes an FPGA control board three
sets of voltage source IPM-based (Intelligent PowerModules)inverter and an XYZ table which is driven by three PMSMsand three ball-screwsThe power rating voltage current andrating speed of PMSM are 200W 92V 16 A and 3000 rpmrespectively A 2500 ppr rotary encoder attached to PMSMis used to measure the motorrsquos electrical angle Each ball-screw has 5mm lead Inside IPM it has 6 sets of IGBT typepower transistors with emitter of the rated voltage of 600Vcollector DC current rating of 20A and a short time (1ms)rated current of 40A Photo coupler IC adopts TLP250whoseoutput has push-pull amplifier functions The FPGA uses
Mathematical Problems in Engineering 13
(mm
)
0
10
20
30
40
50
60
70
80
90
100
(mm)0 10 20 30 40 50 60 70 80 90 100
Tableposition
Positioncommand
(a)
0 3 6 9 12 15 18 21 24 27 30
Time (s)0 3 6 9 12 15 18 21 24 27 30
0 3 6 9 12 15 18 21 24 27 30
0
01
02
(mm
)
Overall tracking error
minus02
minus01
0
01
02
(mm
)
-axis tracking error
minus02minus01
00102
(mm
)
-axis tracking error
x
y
(b)
Positioncommand
-axis position
Tableposition
0 6 12 18 24 30
Time (s)0 6 12 18 24 30
0
50
100
(mm
)
Positioncommand
-axis position
Tableposition
0
50
100
(mm
)
y
x
(c)
minus05
0
05
0 6 12 18 24 30
Time (s)0 6 12 18 24 30
(A)
minus05
0
05
(A)
-axis current
id
id
iq
iq-axis currenty
x
(d)
Figure 14 (a) Window motion trajectory tracking (b) tracking error (c) position response (d) current response
Cyclone IV-EP4CE115 which is the kernel of this systemThere are 114480 LEs (Logic Elements) 3981312 RAM bitsand 150 embedded multipliers in the Cyclone IV Further aNios II processor can be embedded into FPGA to establishSoC environment
52 Experimental Results In experiment the one-dimen-sional motion trajectory is firstly tested The step signal with
18Hz square wave and 5mm amplitude is sent to the 119909-axis tables as the position command to cause tables motionThe experimental results in position response and currentresponse using FC are shown in Figure 12 In Figure 12(a)the position response with 02 second rising time and 2overshoot and near zero steady state zero which shows agood response performance In Figure 12(b) the current in 119894119889
axis approaches zero which reveals the success of the vectorcontrol in PMSMdrive To evaluate the tracking performance
14 Mathematical Problems in Engineering
(mm
)
0
10
20
30
40
50
60
70
80
90
100
(mm)0 10 20 30 40 50 60 70 80 90 100
Tableposition
Positioncommand
(a)
Overall tracking error
-axis tracking error
-axis tracking error
Time (s)
0 10 20 30
0 10 20 30
0 10 20 30
0
04
06
08
02
0
04
02
(mm
)(m
m)
minus02
minus04
0
1
(mm
)
minus05
05y
x
(b)
0 10 20 30
Time (s)0 10 20 30
-axis position
Positioncommand
Positioncommand
-axis position
Tableposition
Tableposition
0
50
100
(mm
)
0
50
100
(mm
)
y
x
(c)
minus05
minus1
0
1
05
Time (s)0 10 20 30
0 10 20 30
(A)
minus05
minus1
minus15
0
1
05
(A)
id
id
iq
iq
-axis current
-axis current
y
x
(d)
Figure 15 (a) Star motion trajectory tracking (b) tracking error (c) position response (d) current response
in multiaxis motion table the indices are firstly defined asfollows
119879 (119896) = radic
119899
sum
119894=1
(119878lowast119901119894
(119896) minus 119878119901119894 (119909))2
119898119905119890 =
119898
sum
119896=1
119879 (119896)
119898
(25)
where 119879(119896) 119878lowast119901119894(119896) 119878119901119894(119896) 119899 119898 and 119898119905119890 respectively repre-
sent instantaneous error 119894th-axis position command 119894th-axisposition feedback number of motion table total acquisitiondata and mean tracking error Further in two-dimensionalmotion trajectory the circular motion trajectory control withcenter (50 50) mm and radius 25mm is evaluated and theexperimental results in motion trajectory tracking trackingerror position response and current response using same FCare shown in Figure 13 The tracking errors in Figure 13(b)show the maximum plusmn046mm in 119909-axis table maximum
Mathematical Problems in Engineering 15
0 20 40 60 80 100
020
4060
80100
051015202530
Y (mm)
Z(m
m)
Tableposition
Positioncommand
X (mm)
(a)
00102
0 67 133 20 267 333 40 467 533 60
Time (s)
(mm
)
Overall tracking error
0 67 133 20 267 333 40 467 533 60
Time (s)
(mm
)
minus020
02-axis tracking error
0 67 133 20 267 333 40 467 533 60
Time (s)
(mm
)
minus020
02-axis tracking error
0 67 133 20 267 333 40 467 533 60
Time (s)(m
m)
minus0010
001002
-axis tracking error
y
x z
(b)
Figure 16 (a) Helical circular motion trajectory and (b) tracking results
0020
4060
80
01020
50
100
150
200
250
Y (mm)
Z(m
m)
Position commandTracking response
X (mm)
(a)
Three axis
0 50 100 150 200
Time (s)
minus01
0
01
02
Trac
king
erro
r(m
m)
-axis
0 50 100 150 200
Time (s)
minus01
0
01
02
Trac
king
erro
r(m
m)
-axis
0 50 100 150 200
Time (s)
minus02
0
02
Trac
king
erro
r(m
m)
-axis
0 50 100 150 200
Time (s)
minus01
0
01
02
Trac
king
erro
r(m
m)
x
zy
(b)
Figure 17 Motion trajectory tracking and tracking error of STUST character
16 Mathematical Problems in Engineering
plusmn035mm in119910-axis table and 01759mmmean tracking errorin overall circularmotion It presents a good contour trackingresult Additional the current response of 119894119889-axis both in119909- and 119910-axis motors all can be controlled to zero whichpresents the success of the vector controller In the windowtracking motion the trajectory is designed as Figure 3(a)and its experimental results in motion trajectory trackingtracking error position response and current response areshown in Figure 14The tracking errors in Figure 14 show themaximum plusmn02mm in 119909-axis table maximum plusmn02mm in119910-axis table and 0054mm mean tracking error in overallmotion In the star trackingmotion the trajectory is designedas Figure 3(b) and its experimental results are shown inFigure 15 The tracking errors in Figure 15 show the maxi-mum plusmn04mm in 119909-axis table maximum plusmn055mm in 119910-axis table and 00698mm mean tracking error in overallstar motion However the larger tracking error in bothwindow and starmotion trajectory occurred at the position ofcommand suddenly changed otherwise the tracking error isvery smallThe results show a good contour tracking responsein both window and star motion trajectory Finally thethree-dimensional motion trajectory which is helical circulartrajectory and ldquoSTUSTrdquo character trajectory are evaluatedand their experimental tracking results are shown in Figures16 and 17 respectively In Figure 16(b) the tracking errorsshow that it can keep within plusmn02mm in 119909- and 119910-axis tablemotion plusmn001mm in 119911-axis table motion and 01162mmmean tracking error in overall helical circular motion whichreveals a good tracking response In performing themotion ofldquoSTUSTrdquo character the 119911-axis table just runs the up and downmotion the ldquoSTUSTrdquo character is drawn by the simultaneousmotion of 119909- and 119910-axis table The tracking error in Figure 17shows the maximum plusmn03mm in 119909-axis 119910-axis and 119911-axis table and less than 03mm in overall motion trackingTherefore Figures 16sim17 show a good tracking result in 3Dmotion contour tracking Therefore Figures 12sim17 presentthat the proposed FPGA-based multiaxis motion control ICis effectiveness and correctness
6 Conclusions
The FPGA-based multiaxis motion controller has been suc-cessfully demonstrated from ModelSimSimulink cosimula-tion to FPGA realization experiment in this paper For amultiaxis motion controller system DSP and FPGA all canprovide a good solution in implementation However dueto one DSP chip only can support one CPU inside and 12channels PWM output and 2 QEP output in its peripheralcircuit it is suitable for a two-axis motion controller systemIf we want to realize a multiaxis motion controller systemit needs several DSP chips In contrast with DSP FPGA hasthe properties of fast computing power parallel processingand hardware-software codesign which cause the multiaxismotion controller system to be implemented by one FPGAchip Finally the work herein is summarized as follows
(a) The functionalities required to build amultiaxis servocontroller and motion trajectory planning can beintegrated in one FPGA chip
(b) The computation of key algorithms such as SVPWMCCCT and FC in PMSM drive can be completedwithin 2 120583s by FPGA implementation
(c) The VHDL code of the proposed multiaxis servocontroller IP has been effectively verified from Mod-elSimSimulink cosimulation results
(d) Some experimental results by position step responsecircular window star and helical circular motiontrajectory tracking the specific character (ldquoSTUSTrdquo)motion trajectory tracking and so forth have revealedthat the proposed FPGA-based multiaxis motioncontroller is effectiveness and correctness
Conflict of Interests
The authors declare that there is no conflict of interestsregarding the publication of this paper
References
[1] J U Cho Q N Le and J W Jeon ldquoAn FPGA-based multiple-axis motion control chiprdquo IEEE Transactions on IndustrialElectronics vol 56 no 3 pp 856ndash870 2009
[2] X Shao and D Sun ldquoDevelopment of a new robot controllerarchitecture with FPGA-based IC design for improved high-speed performancerdquo IEEE Transactions on Industrial Informat-ics vol 3 no 4 pp 312ndash321 2007
[3] S S Yeh and J T Sun ldquoDesign of perfectly matched zero-phaseerror tracking control formulti-axismotion control systemsrdquo inProceedings of the SICE Annual Conference pp 528ndash533 August2012
[4] Y S Kung R F Fung and T Y Tai ldquoRealization of a motioncontrol IC forX-Y table based onnovel FPGA technologyrdquo IEEETransactions on Industrial Electronics vol 56 no 1 pp 43ndash532009
[5] S-S Yeh and P-L Hsu ldquoAnalysis and design of integratedcontrol for multi-axis motion systemsrdquo IEEE Transactions onControl Systems Technology vol 11 no 3 pp 375ndash382 2003
[6] Z Zhou T Li T Takahashi and E Ho ldquoFPGA realization of ahigh-performance servo controller for PMSMrdquo in Proceedingsof the 19th Annual IEEE Applied Power Electronics Conferenceand Exposition (APEC rsquo04) vol 3 pp 1604ndash1609 AnaheimCalif USA February 2004
[7] B K Bose Power Electronics and ACDrives Prentice Hall 1986[8] V Wilson P Agarwal and S P Srivastava ldquoPerformance
investigation of DSP based self-controlled PMSM driverdquo inProceedings of the Annual IEEE India Conference (INDICONrsquo12) pp 238ndash243 Kochi India December 2012
[9] E Monmasson L Idkhajine M N Cirstea I Bahri A Tisanand M W Naouar ldquoFPGAs in industrial control applicationsrdquoIEEE Transactions on Industrial Informatics vol 7 no 2 pp224ndash243 2011
[10] E Monmasson L Idkhajine and M W Naouar ldquoFPGA-basedcontrollersrdquo IEEE Industrial Electronics Magazine vol 5 no 1pp 14ndash26 2011
[11] Y S Kung V Q Nguyen T H Nguyen C-C Huang andL-C Huang ldquoSimulinkmodelsim co-simulation and FPGArealization of speed control IC for PMSM driverdquo ProcediaEngineering vol 23 pp 718ndash727 2011
Mathematical Problems in Engineering 17
[12] L Idkhajine E Monmasson M W Naouar A Prata andK Bouallaga ldquoFully integrated FPGA-based controller forsynchronous motor driverdquo IEEE Transactions on IndustrialElectronics vol 56 no 10 pp 4006ndash4017 2009
[13] B Alecsa M N Cirstea and A Onea ldquoSimulink modelingand design of an efficient hardware-constrained FPGA-basedPMSM speed controllerrdquo IEEE Transactions on Industrial Infor-matics vol 8 no 3 pp 554ndash562 2012
[14] H-H Chou Y-S Kung N Q Quynh and S Cheng ldquoOpti-mized FPGA design verification and implementation of aneuro-fuzzy controller for PMSM drivesrdquo Mathematics andComputers in Simulation vol 90 pp 28ndash44 2013
[15] Y Li J Huo X Li J Wen YWang and B Shan ldquoAn open-loopsinmicrostepping driver based on FPGA and the co-simulationof modelsim and simulinkrdquo in Proceedings of the InternationalConference on Computer Mechatronics Control and ElectronicEngineering (CMCE rsquo10) pp 223ndash227 August 2010
[16] The Mathworks ldquoMatlabSimulink Users Guide ApplicationProgram Interface Guiderdquo 2004
[17] ModeltechModelSim Reference Manual 2004[18] F-J Lin P-H Shieh and P-H Shen ldquoRobust recurrent-neural-
network sliding-mode control for the X-Y table of a CNCmachinerdquo IEE Proceedings ControlTheory andApplications vol153 no 1 pp 111ndash123 2006
Submit your manuscripts athttpwwwhindawicom
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
MathematicsJournal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Mathematical Problems in Engineering
Hindawi Publishing Corporationhttpwwwhindawicom
Differential EquationsInternational Journal of
Volume 2014
Applied MathematicsJournal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Probability and StatisticsHindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Journal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Mathematical PhysicsAdvances in
Complex AnalysisJournal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
OptimizationJournal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
CombinatoricsHindawi Publishing Corporationhttpwwwhindawicom Volume 2014
International Journal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Operations ResearchAdvances in
Journal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Function Spaces
Abstract and Applied AnalysisHindawi Publishing Corporationhttpwwwhindawicom Volume 2014
International Journal of Mathematics and Mathematical Sciences
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
The Scientific World JournalHindawi Publishing Corporation httpwwwhindawicom Volume 2014
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Algebra
Discrete Dynamics in Nature and Society
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Decision SciencesAdvances in
Discrete MathematicsJournal of
Hindawi Publishing Corporationhttpwwwhindawicom
Volume 2014 Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Stochastic AnalysisInternational Journal of
Mathematical Problems in Engineering 9
0 1 2 3 4 5
0
05
1
15
2
25
3
35
4
45
5
Positioncommand
Positionfeedback
(mm
)
(mm)
(a)
0
02
04
Overall tracking error
0 02 04 06 08 10 12 14 1617
(mm
)
0 02 04 06 08 10 12 14 1617
-axis error
02
0
minus02
(mm
)
0 02 04 06 08 10 12 14 1617
Time (s)
-axis error02
0
minus02
(mm
)
y
x
(b)
0
10
20
3 0
4 0
5 0
Positioncommand
Positionfeedback(m
m)
0 02 04 06 08 10 12 14 16 17
0 02 04 06 08 10 12 14 16 17
Positioncommand
Positionfeedback
0
10
20
3 0
4 0
5 0
(mm
)
Time (s)
-axis position
-axis positiony
x
(c)
0 02 04 06 08 10 12 14 16 17Time (s)
0195
0097
0
minus0097
minus0195
(A)
-axis current
0 02 04 06 08 10 12 14 16 17
-axis current0195
0097
0
minus0097
minus0195
(A)
iq
iq
id
id
y
x
(d)
Figure 8 (a) Window motion trajectory tracking (b) tracking error (c) position response (d) current response
the current in 119894119889 axis approaches zero which presents thesuccess of the vector control in PMSM drive Further inthe two-axis simultaneous motion trajectory the circularmotion trajectory control with center (5 5) mm and radius10mm is evaluated and the simulation results in motiontrajectory tracking tracking error position response andcurrent response are shown in Figure 7 In this design theKp and Ki gains in position controller are respectivelychosen by (18000 0) (19000 95) in 16bit-Q15 format Thetracking errors in Figure 7(b) show the maximum plusmn018mm
in 119909-axis table maximum plusmn018mm in 119910-axis table andless than 01855mm in overall circular motion trackingIt demonstrates a good tracking Additionally the currentresponse of 119894119889-axis both in 119909- and 119910-axis motors all can becontrolled to zero which presents the success of the vectorcontroller In the window tracking motion the trajectory isdesigned as Figure 3(a) and its simulation results in motiontrajectory tracking tracking error position response andcurrent response are shown in Figure 8 In this design theKp and Ki gains in position controller are respectively
10 Mathematical Problems in Engineering
0
05
10
15
20
25
30
35
40
45
50
(mm
)
(mm)0 05 10 15 20 25 30 35 40 45 50
Positioncommand
Positionfeedback
(a)
y-axis error
0 02 04 06 08 10 12 14 16 18 20 22
019
008
0
minus008
minus019
(mm
)
Overall tracking error02
015
01
005
00 02 04 06 08 10 12 14 16 18 20 22
(mm
)
-axis error
0 02 04 06 08 10 12 14 16 18 20 22
019
008
0
minus008
minus019
(mm
)Time (s)
x
(b)
Positioncommand
Positionfeedback
50
40
30
20
10
0
(mm
)
0 02 04 06 08 10 12 14 16 18 20 22
Positioncommand
Positionfeedback
50
40
30
20
10
0
(mm
)
0 02 04 06 08 10 12 14 16 18 20 22Time (s)
-axis position
-axis positiony
x
(c)
0 02 04 06 08 10 12 14 16 18 20 22
0 02 04 06 08 10 12 14 16 18 20 22Time (s)
-axis current
-axis current
iq
iq
id
id
0097
0048
0
minus0048
minus0097
minus0146
(A)
0097
0048
0
minus0048
minus0097
minus0146
(A)
y
x
(d)
Figure 9 (a) Star motion trajectory tracking (b) tracking error (c) position response (d) current response
chosen by (15000 0) (25000 95) in 16bit-Q15 formatThe tracking errors in Figure 8 show the maximumplusmn0185mm in 119909-axis table maximum plusmn0178mm in 119910-axistable and less than 019mm in overall motion trackingIn the star tracking motion the trajectory is designed asFigure 3(b) and its simulation results are shown in Figure 9In this experiment the Kp and Ki gains in position controllerare respectively chosen by (15000 0) (25000 95) in 16bit-Q15 format The tracking errors in Figure 9(b) show themaximum plusmn014mm in 119909-axis table maximum plusmn014mmin 119910-axis table and less than 017mm in overall star motion
tracking The results show a good tracking response in bothwindow and star motion trajectory Finally the three-axissimultaneous motion trajectory which is helical circulartrajectory is evaluated and their simulation tracking resultsare shown in Figure 10 respectively In this design theKp and Ki gains in position controller are respectivelychosen by (18000 0) (19000 95) in 16bit-Q15 format InFigure 10(b) the tracking errors show that it can keep withinplusmn0185mm in 119909- and 119910-axis table motion and plusmn019mmin 119911-axis table motion which reveals a good trackingresponse Therefore Figure 16 shows a good tracking result
Mathematical Problems in Engineering 11
0 1 2 3 4 5 6 7 8 9 10
0123456
0
1
2
3
4
5
6
78910
x (mm)y (mm)
z(m
m)
Positioncommand
Positionfeedback
(a)
minus020
02
0 02 04 06 08 10 12
Time (s)
-axis error
(mm
)
018550186
01865
0 02 04 06 08 10 12
Time (s)
(mm
)
Overall tracking error
minus020
02
0 02 04 06 08 10 12
Time (s)
-axis error
(mm
)0
0005001
0 02 04 06 08 10 12
Time (s)
-axis error(m
m)
y
x z
(b)
Figure 10 (a) Helical circular motion trajectory and (b) tracking results
FPGAcontroller
3-axis motor drivers
XYZ table
Figure 11 Experimental system
0 4 8 12 16 20 24012345
Time (s)
Posit
ion
(mm
)
Tableposition
Positioncommand
(a)
Curr
ent (
A)
0 4 8 12 16 20 24Time (s)
1
05
0
minus05
minus1
id
iq
(b)
Figure 12 119909-axis table (a) position step response (b) current response
12 Mathematical Problems in Engineering
0 10 20 30 40 50 60 70 80 90 100
(mm
)
0
10
20
30
40
50
60
70
80
90
100
(mm)
Tableposition
Positioncommand
(a)
Overall tracking error
0 33 67 10 133 167 20
0 33 67 10 133 167 20
0 33 67 10 133 167 20
0
02
04
06
08
(mm
)
minus05
0
05
-axis tracking error
(mm
)
minus04
minus02
0
02
04-axis tracking error
Time (s)
(mm
)
x
y
(b)
Tableposition Position
command
-axis position
0
50
100
(mm
)
0 33 67 10 133 167 20
0 33 67 10 133 167 20
Time (s)
TablepositionPosition
command
-axis position
0
50
100
(mm
)
x
y
(c)
-axis current
id
iq
minus1
0
05
1
(A)
0 33 67 10 133 167 20
0 33 67 10 133 167 20
-axis current
id
iq
minus15
minus1
minus05
0
05
1
(A)
Time (s)
minus05
x
y
(d)
Figure 13 (a) Circular motion trajectory tracking (b) tracking error (c) position response (d) current response
in 3-axis motion tracking Further Figures 6sim10 presentthat the three-axis motion control system tested throughModelSimSimulink cosimulation is effectiveness andcorrectness After confirming the success of the proposedthree-axis positionspeedcurrent controller IP it willdirectly apply to FPGA to be further evaluated
5 Experimental System and Results
51 Experimental System The overall experimental systemshown in Figure 11 includes an FPGA control board three
sets of voltage source IPM-based (Intelligent PowerModules)inverter and an XYZ table which is driven by three PMSMsand three ball-screwsThe power rating voltage current andrating speed of PMSM are 200W 92V 16 A and 3000 rpmrespectively A 2500 ppr rotary encoder attached to PMSMis used to measure the motorrsquos electrical angle Each ball-screw has 5mm lead Inside IPM it has 6 sets of IGBT typepower transistors with emitter of the rated voltage of 600Vcollector DC current rating of 20A and a short time (1ms)rated current of 40A Photo coupler IC adopts TLP250whoseoutput has push-pull amplifier functions The FPGA uses
Mathematical Problems in Engineering 13
(mm
)
0
10
20
30
40
50
60
70
80
90
100
(mm)0 10 20 30 40 50 60 70 80 90 100
Tableposition
Positioncommand
(a)
0 3 6 9 12 15 18 21 24 27 30
Time (s)0 3 6 9 12 15 18 21 24 27 30
0 3 6 9 12 15 18 21 24 27 30
0
01
02
(mm
)
Overall tracking error
minus02
minus01
0
01
02
(mm
)
-axis tracking error
minus02minus01
00102
(mm
)
-axis tracking error
x
y
(b)
Positioncommand
-axis position
Tableposition
0 6 12 18 24 30
Time (s)0 6 12 18 24 30
0
50
100
(mm
)
Positioncommand
-axis position
Tableposition
0
50
100
(mm
)
y
x
(c)
minus05
0
05
0 6 12 18 24 30
Time (s)0 6 12 18 24 30
(A)
minus05
0
05
(A)
-axis current
id
id
iq
iq-axis currenty
x
(d)
Figure 14 (a) Window motion trajectory tracking (b) tracking error (c) position response (d) current response
Cyclone IV-EP4CE115 which is the kernel of this systemThere are 114480 LEs (Logic Elements) 3981312 RAM bitsand 150 embedded multipliers in the Cyclone IV Further aNios II processor can be embedded into FPGA to establishSoC environment
52 Experimental Results In experiment the one-dimen-sional motion trajectory is firstly tested The step signal with
18Hz square wave and 5mm amplitude is sent to the 119909-axis tables as the position command to cause tables motionThe experimental results in position response and currentresponse using FC are shown in Figure 12 In Figure 12(a)the position response with 02 second rising time and 2overshoot and near zero steady state zero which shows agood response performance In Figure 12(b) the current in 119894119889
axis approaches zero which reveals the success of the vectorcontrol in PMSMdrive To evaluate the tracking performance
14 Mathematical Problems in Engineering
(mm
)
0
10
20
30
40
50
60
70
80
90
100
(mm)0 10 20 30 40 50 60 70 80 90 100
Tableposition
Positioncommand
(a)
Overall tracking error
-axis tracking error
-axis tracking error
Time (s)
0 10 20 30
0 10 20 30
0 10 20 30
0
04
06
08
02
0
04
02
(mm
)(m
m)
minus02
minus04
0
1
(mm
)
minus05
05y
x
(b)
0 10 20 30
Time (s)0 10 20 30
-axis position
Positioncommand
Positioncommand
-axis position
Tableposition
Tableposition
0
50
100
(mm
)
0
50
100
(mm
)
y
x
(c)
minus05
minus1
0
1
05
Time (s)0 10 20 30
0 10 20 30
(A)
minus05
minus1
minus15
0
1
05
(A)
id
id
iq
iq
-axis current
-axis current
y
x
(d)
Figure 15 (a) Star motion trajectory tracking (b) tracking error (c) position response (d) current response
in multiaxis motion table the indices are firstly defined asfollows
119879 (119896) = radic
119899
sum
119894=1
(119878lowast119901119894
(119896) minus 119878119901119894 (119909))2
119898119905119890 =
119898
sum
119896=1
119879 (119896)
119898
(25)
where 119879(119896) 119878lowast119901119894(119896) 119878119901119894(119896) 119899 119898 and 119898119905119890 respectively repre-
sent instantaneous error 119894th-axis position command 119894th-axisposition feedback number of motion table total acquisitiondata and mean tracking error Further in two-dimensionalmotion trajectory the circular motion trajectory control withcenter (50 50) mm and radius 25mm is evaluated and theexperimental results in motion trajectory tracking trackingerror position response and current response using same FCare shown in Figure 13 The tracking errors in Figure 13(b)show the maximum plusmn046mm in 119909-axis table maximum
Mathematical Problems in Engineering 15
0 20 40 60 80 100
020
4060
80100
051015202530
Y (mm)
Z(m
m)
Tableposition
Positioncommand
X (mm)
(a)
00102
0 67 133 20 267 333 40 467 533 60
Time (s)
(mm
)
Overall tracking error
0 67 133 20 267 333 40 467 533 60
Time (s)
(mm
)
minus020
02-axis tracking error
0 67 133 20 267 333 40 467 533 60
Time (s)
(mm
)
minus020
02-axis tracking error
0 67 133 20 267 333 40 467 533 60
Time (s)(m
m)
minus0010
001002
-axis tracking error
y
x z
(b)
Figure 16 (a) Helical circular motion trajectory and (b) tracking results
0020
4060
80
01020
50
100
150
200
250
Y (mm)
Z(m
m)
Position commandTracking response
X (mm)
(a)
Three axis
0 50 100 150 200
Time (s)
minus01
0
01
02
Trac
king
erro
r(m
m)
-axis
0 50 100 150 200
Time (s)
minus01
0
01
02
Trac
king
erro
r(m
m)
-axis
0 50 100 150 200
Time (s)
minus02
0
02
Trac
king
erro
r(m
m)
-axis
0 50 100 150 200
Time (s)
minus01
0
01
02
Trac
king
erro
r(m
m)
x
zy
(b)
Figure 17 Motion trajectory tracking and tracking error of STUST character
16 Mathematical Problems in Engineering
plusmn035mm in119910-axis table and 01759mmmean tracking errorin overall circularmotion It presents a good contour trackingresult Additional the current response of 119894119889-axis both in119909- and 119910-axis motors all can be controlled to zero whichpresents the success of the vector controller In the windowtracking motion the trajectory is designed as Figure 3(a)and its experimental results in motion trajectory trackingtracking error position response and current response areshown in Figure 14The tracking errors in Figure 14 show themaximum plusmn02mm in 119909-axis table maximum plusmn02mm in119910-axis table and 0054mm mean tracking error in overallmotion In the star trackingmotion the trajectory is designedas Figure 3(b) and its experimental results are shown inFigure 15 The tracking errors in Figure 15 show the maxi-mum plusmn04mm in 119909-axis table maximum plusmn055mm in 119910-axis table and 00698mm mean tracking error in overallstar motion However the larger tracking error in bothwindow and starmotion trajectory occurred at the position ofcommand suddenly changed otherwise the tracking error isvery smallThe results show a good contour tracking responsein both window and star motion trajectory Finally thethree-dimensional motion trajectory which is helical circulartrajectory and ldquoSTUSTrdquo character trajectory are evaluatedand their experimental tracking results are shown in Figures16 and 17 respectively In Figure 16(b) the tracking errorsshow that it can keep within plusmn02mm in 119909- and 119910-axis tablemotion plusmn001mm in 119911-axis table motion and 01162mmmean tracking error in overall helical circular motion whichreveals a good tracking response In performing themotion ofldquoSTUSTrdquo character the 119911-axis table just runs the up and downmotion the ldquoSTUSTrdquo character is drawn by the simultaneousmotion of 119909- and 119910-axis table The tracking error in Figure 17shows the maximum plusmn03mm in 119909-axis 119910-axis and 119911-axis table and less than 03mm in overall motion trackingTherefore Figures 16sim17 show a good tracking result in 3Dmotion contour tracking Therefore Figures 12sim17 presentthat the proposed FPGA-based multiaxis motion control ICis effectiveness and correctness
6 Conclusions
The FPGA-based multiaxis motion controller has been suc-cessfully demonstrated from ModelSimSimulink cosimula-tion to FPGA realization experiment in this paper For amultiaxis motion controller system DSP and FPGA all canprovide a good solution in implementation However dueto one DSP chip only can support one CPU inside and 12channels PWM output and 2 QEP output in its peripheralcircuit it is suitable for a two-axis motion controller systemIf we want to realize a multiaxis motion controller systemit needs several DSP chips In contrast with DSP FPGA hasthe properties of fast computing power parallel processingand hardware-software codesign which cause the multiaxismotion controller system to be implemented by one FPGAchip Finally the work herein is summarized as follows
(a) The functionalities required to build amultiaxis servocontroller and motion trajectory planning can beintegrated in one FPGA chip
(b) The computation of key algorithms such as SVPWMCCCT and FC in PMSM drive can be completedwithin 2 120583s by FPGA implementation
(c) The VHDL code of the proposed multiaxis servocontroller IP has been effectively verified from Mod-elSimSimulink cosimulation results
(d) Some experimental results by position step responsecircular window star and helical circular motiontrajectory tracking the specific character (ldquoSTUSTrdquo)motion trajectory tracking and so forth have revealedthat the proposed FPGA-based multiaxis motioncontroller is effectiveness and correctness
Conflict of Interests
The authors declare that there is no conflict of interestsregarding the publication of this paper
References
[1] J U Cho Q N Le and J W Jeon ldquoAn FPGA-based multiple-axis motion control chiprdquo IEEE Transactions on IndustrialElectronics vol 56 no 3 pp 856ndash870 2009
[2] X Shao and D Sun ldquoDevelopment of a new robot controllerarchitecture with FPGA-based IC design for improved high-speed performancerdquo IEEE Transactions on Industrial Informat-ics vol 3 no 4 pp 312ndash321 2007
[3] S S Yeh and J T Sun ldquoDesign of perfectly matched zero-phaseerror tracking control formulti-axismotion control systemsrdquo inProceedings of the SICE Annual Conference pp 528ndash533 August2012
[4] Y S Kung R F Fung and T Y Tai ldquoRealization of a motioncontrol IC forX-Y table based onnovel FPGA technologyrdquo IEEETransactions on Industrial Electronics vol 56 no 1 pp 43ndash532009
[5] S-S Yeh and P-L Hsu ldquoAnalysis and design of integratedcontrol for multi-axis motion systemsrdquo IEEE Transactions onControl Systems Technology vol 11 no 3 pp 375ndash382 2003
[6] Z Zhou T Li T Takahashi and E Ho ldquoFPGA realization of ahigh-performance servo controller for PMSMrdquo in Proceedingsof the 19th Annual IEEE Applied Power Electronics Conferenceand Exposition (APEC rsquo04) vol 3 pp 1604ndash1609 AnaheimCalif USA February 2004
[7] B K Bose Power Electronics and ACDrives Prentice Hall 1986[8] V Wilson P Agarwal and S P Srivastava ldquoPerformance
investigation of DSP based self-controlled PMSM driverdquo inProceedings of the Annual IEEE India Conference (INDICONrsquo12) pp 238ndash243 Kochi India December 2012
[9] E Monmasson L Idkhajine M N Cirstea I Bahri A Tisanand M W Naouar ldquoFPGAs in industrial control applicationsrdquoIEEE Transactions on Industrial Informatics vol 7 no 2 pp224ndash243 2011
[10] E Monmasson L Idkhajine and M W Naouar ldquoFPGA-basedcontrollersrdquo IEEE Industrial Electronics Magazine vol 5 no 1pp 14ndash26 2011
[11] Y S Kung V Q Nguyen T H Nguyen C-C Huang andL-C Huang ldquoSimulinkmodelsim co-simulation and FPGArealization of speed control IC for PMSM driverdquo ProcediaEngineering vol 23 pp 718ndash727 2011
Mathematical Problems in Engineering 17
[12] L Idkhajine E Monmasson M W Naouar A Prata andK Bouallaga ldquoFully integrated FPGA-based controller forsynchronous motor driverdquo IEEE Transactions on IndustrialElectronics vol 56 no 10 pp 4006ndash4017 2009
[13] B Alecsa M N Cirstea and A Onea ldquoSimulink modelingand design of an efficient hardware-constrained FPGA-basedPMSM speed controllerrdquo IEEE Transactions on Industrial Infor-matics vol 8 no 3 pp 554ndash562 2012
[14] H-H Chou Y-S Kung N Q Quynh and S Cheng ldquoOpti-mized FPGA design verification and implementation of aneuro-fuzzy controller for PMSM drivesrdquo Mathematics andComputers in Simulation vol 90 pp 28ndash44 2013
[15] Y Li J Huo X Li J Wen YWang and B Shan ldquoAn open-loopsinmicrostepping driver based on FPGA and the co-simulationof modelsim and simulinkrdquo in Proceedings of the InternationalConference on Computer Mechatronics Control and ElectronicEngineering (CMCE rsquo10) pp 223ndash227 August 2010
[16] The Mathworks ldquoMatlabSimulink Users Guide ApplicationProgram Interface Guiderdquo 2004
[17] ModeltechModelSim Reference Manual 2004[18] F-J Lin P-H Shieh and P-H Shen ldquoRobust recurrent-neural-
network sliding-mode control for the X-Y table of a CNCmachinerdquo IEE Proceedings ControlTheory andApplications vol153 no 1 pp 111ndash123 2006
Submit your manuscripts athttpwwwhindawicom
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
MathematicsJournal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Mathematical Problems in Engineering
Hindawi Publishing Corporationhttpwwwhindawicom
Differential EquationsInternational Journal of
Volume 2014
Applied MathematicsJournal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Probability and StatisticsHindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Journal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Mathematical PhysicsAdvances in
Complex AnalysisJournal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
OptimizationJournal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
CombinatoricsHindawi Publishing Corporationhttpwwwhindawicom Volume 2014
International Journal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Operations ResearchAdvances in
Journal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Function Spaces
Abstract and Applied AnalysisHindawi Publishing Corporationhttpwwwhindawicom Volume 2014
International Journal of Mathematics and Mathematical Sciences
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
The Scientific World JournalHindawi Publishing Corporation httpwwwhindawicom Volume 2014
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Algebra
Discrete Dynamics in Nature and Society
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Decision SciencesAdvances in
Discrete MathematicsJournal of
Hindawi Publishing Corporationhttpwwwhindawicom
Volume 2014 Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Stochastic AnalysisInternational Journal of
10 Mathematical Problems in Engineering
0
05
10
15
20
25
30
35
40
45
50
(mm
)
(mm)0 05 10 15 20 25 30 35 40 45 50
Positioncommand
Positionfeedback
(a)
y-axis error
0 02 04 06 08 10 12 14 16 18 20 22
019
008
0
minus008
minus019
(mm
)
Overall tracking error02
015
01
005
00 02 04 06 08 10 12 14 16 18 20 22
(mm
)
-axis error
0 02 04 06 08 10 12 14 16 18 20 22
019
008
0
minus008
minus019
(mm
)Time (s)
x
(b)
Positioncommand
Positionfeedback
50
40
30
20
10
0
(mm
)
0 02 04 06 08 10 12 14 16 18 20 22
Positioncommand
Positionfeedback
50
40
30
20
10
0
(mm
)
0 02 04 06 08 10 12 14 16 18 20 22Time (s)
-axis position
-axis positiony
x
(c)
0 02 04 06 08 10 12 14 16 18 20 22
0 02 04 06 08 10 12 14 16 18 20 22Time (s)
-axis current
-axis current
iq
iq
id
id
0097
0048
0
minus0048
minus0097
minus0146
(A)
0097
0048
0
minus0048
minus0097
minus0146
(A)
y
x
(d)
Figure 9 (a) Star motion trajectory tracking (b) tracking error (c) position response (d) current response
chosen by (15000 0) (25000 95) in 16bit-Q15 formatThe tracking errors in Figure 8 show the maximumplusmn0185mm in 119909-axis table maximum plusmn0178mm in 119910-axistable and less than 019mm in overall motion trackingIn the star tracking motion the trajectory is designed asFigure 3(b) and its simulation results are shown in Figure 9In this experiment the Kp and Ki gains in position controllerare respectively chosen by (15000 0) (25000 95) in 16bit-Q15 format The tracking errors in Figure 9(b) show themaximum plusmn014mm in 119909-axis table maximum plusmn014mmin 119910-axis table and less than 017mm in overall star motion
tracking The results show a good tracking response in bothwindow and star motion trajectory Finally the three-axissimultaneous motion trajectory which is helical circulartrajectory is evaluated and their simulation tracking resultsare shown in Figure 10 respectively In this design theKp and Ki gains in position controller are respectivelychosen by (18000 0) (19000 95) in 16bit-Q15 format InFigure 10(b) the tracking errors show that it can keep withinplusmn0185mm in 119909- and 119910-axis table motion and plusmn019mmin 119911-axis table motion which reveals a good trackingresponse Therefore Figure 16 shows a good tracking result
Mathematical Problems in Engineering 11
0 1 2 3 4 5 6 7 8 9 10
0123456
0
1
2
3
4
5
6
78910
x (mm)y (mm)
z(m
m)
Positioncommand
Positionfeedback
(a)
minus020
02
0 02 04 06 08 10 12
Time (s)
-axis error
(mm
)
018550186
01865
0 02 04 06 08 10 12
Time (s)
(mm
)
Overall tracking error
minus020
02
0 02 04 06 08 10 12
Time (s)
-axis error
(mm
)0
0005001
0 02 04 06 08 10 12
Time (s)
-axis error(m
m)
y
x z
(b)
Figure 10 (a) Helical circular motion trajectory and (b) tracking results
FPGAcontroller
3-axis motor drivers
XYZ table
Figure 11 Experimental system
0 4 8 12 16 20 24012345
Time (s)
Posit
ion
(mm
)
Tableposition
Positioncommand
(a)
Curr
ent (
A)
0 4 8 12 16 20 24Time (s)
1
05
0
minus05
minus1
id
iq
(b)
Figure 12 119909-axis table (a) position step response (b) current response
12 Mathematical Problems in Engineering
0 10 20 30 40 50 60 70 80 90 100
(mm
)
0
10
20
30
40
50
60
70
80
90
100
(mm)
Tableposition
Positioncommand
(a)
Overall tracking error
0 33 67 10 133 167 20
0 33 67 10 133 167 20
0 33 67 10 133 167 20
0
02
04
06
08
(mm
)
minus05
0
05
-axis tracking error
(mm
)
minus04
minus02
0
02
04-axis tracking error
Time (s)
(mm
)
x
y
(b)
Tableposition Position
command
-axis position
0
50
100
(mm
)
0 33 67 10 133 167 20
0 33 67 10 133 167 20
Time (s)
TablepositionPosition
command
-axis position
0
50
100
(mm
)
x
y
(c)
-axis current
id
iq
minus1
0
05
1
(A)
0 33 67 10 133 167 20
0 33 67 10 133 167 20
-axis current
id
iq
minus15
minus1
minus05
0
05
1
(A)
Time (s)
minus05
x
y
(d)
Figure 13 (a) Circular motion trajectory tracking (b) tracking error (c) position response (d) current response
in 3-axis motion tracking Further Figures 6sim10 presentthat the three-axis motion control system tested throughModelSimSimulink cosimulation is effectiveness andcorrectness After confirming the success of the proposedthree-axis positionspeedcurrent controller IP it willdirectly apply to FPGA to be further evaluated
5 Experimental System and Results
51 Experimental System The overall experimental systemshown in Figure 11 includes an FPGA control board three
sets of voltage source IPM-based (Intelligent PowerModules)inverter and an XYZ table which is driven by three PMSMsand three ball-screwsThe power rating voltage current andrating speed of PMSM are 200W 92V 16 A and 3000 rpmrespectively A 2500 ppr rotary encoder attached to PMSMis used to measure the motorrsquos electrical angle Each ball-screw has 5mm lead Inside IPM it has 6 sets of IGBT typepower transistors with emitter of the rated voltage of 600Vcollector DC current rating of 20A and a short time (1ms)rated current of 40A Photo coupler IC adopts TLP250whoseoutput has push-pull amplifier functions The FPGA uses
Mathematical Problems in Engineering 13
(mm
)
0
10
20
30
40
50
60
70
80
90
100
(mm)0 10 20 30 40 50 60 70 80 90 100
Tableposition
Positioncommand
(a)
0 3 6 9 12 15 18 21 24 27 30
Time (s)0 3 6 9 12 15 18 21 24 27 30
0 3 6 9 12 15 18 21 24 27 30
0
01
02
(mm
)
Overall tracking error
minus02
minus01
0
01
02
(mm
)
-axis tracking error
minus02minus01
00102
(mm
)
-axis tracking error
x
y
(b)
Positioncommand
-axis position
Tableposition
0 6 12 18 24 30
Time (s)0 6 12 18 24 30
0
50
100
(mm
)
Positioncommand
-axis position
Tableposition
0
50
100
(mm
)
y
x
(c)
minus05
0
05
0 6 12 18 24 30
Time (s)0 6 12 18 24 30
(A)
minus05
0
05
(A)
-axis current
id
id
iq
iq-axis currenty
x
(d)
Figure 14 (a) Window motion trajectory tracking (b) tracking error (c) position response (d) current response
Cyclone IV-EP4CE115 which is the kernel of this systemThere are 114480 LEs (Logic Elements) 3981312 RAM bitsand 150 embedded multipliers in the Cyclone IV Further aNios II processor can be embedded into FPGA to establishSoC environment
52 Experimental Results In experiment the one-dimen-sional motion trajectory is firstly tested The step signal with
18Hz square wave and 5mm amplitude is sent to the 119909-axis tables as the position command to cause tables motionThe experimental results in position response and currentresponse using FC are shown in Figure 12 In Figure 12(a)the position response with 02 second rising time and 2overshoot and near zero steady state zero which shows agood response performance In Figure 12(b) the current in 119894119889
axis approaches zero which reveals the success of the vectorcontrol in PMSMdrive To evaluate the tracking performance
14 Mathematical Problems in Engineering
(mm
)
0
10
20
30
40
50
60
70
80
90
100
(mm)0 10 20 30 40 50 60 70 80 90 100
Tableposition
Positioncommand
(a)
Overall tracking error
-axis tracking error
-axis tracking error
Time (s)
0 10 20 30
0 10 20 30
0 10 20 30
0
04
06
08
02
0
04
02
(mm
)(m
m)
minus02
minus04
0
1
(mm
)
minus05
05y
x
(b)
0 10 20 30
Time (s)0 10 20 30
-axis position
Positioncommand
Positioncommand
-axis position
Tableposition
Tableposition
0
50
100
(mm
)
0
50
100
(mm
)
y
x
(c)
minus05
minus1
0
1
05
Time (s)0 10 20 30
0 10 20 30
(A)
minus05
minus1
minus15
0
1
05
(A)
id
id
iq
iq
-axis current
-axis current
y
x
(d)
Figure 15 (a) Star motion trajectory tracking (b) tracking error (c) position response (d) current response
in multiaxis motion table the indices are firstly defined asfollows
119879 (119896) = radic
119899
sum
119894=1
(119878lowast119901119894
(119896) minus 119878119901119894 (119909))2
119898119905119890 =
119898
sum
119896=1
119879 (119896)
119898
(25)
where 119879(119896) 119878lowast119901119894(119896) 119878119901119894(119896) 119899 119898 and 119898119905119890 respectively repre-
sent instantaneous error 119894th-axis position command 119894th-axisposition feedback number of motion table total acquisitiondata and mean tracking error Further in two-dimensionalmotion trajectory the circular motion trajectory control withcenter (50 50) mm and radius 25mm is evaluated and theexperimental results in motion trajectory tracking trackingerror position response and current response using same FCare shown in Figure 13 The tracking errors in Figure 13(b)show the maximum plusmn046mm in 119909-axis table maximum
Mathematical Problems in Engineering 15
0 20 40 60 80 100
020
4060
80100
051015202530
Y (mm)
Z(m
m)
Tableposition
Positioncommand
X (mm)
(a)
00102
0 67 133 20 267 333 40 467 533 60
Time (s)
(mm
)
Overall tracking error
0 67 133 20 267 333 40 467 533 60
Time (s)
(mm
)
minus020
02-axis tracking error
0 67 133 20 267 333 40 467 533 60
Time (s)
(mm
)
minus020
02-axis tracking error
0 67 133 20 267 333 40 467 533 60
Time (s)(m
m)
minus0010
001002
-axis tracking error
y
x z
(b)
Figure 16 (a) Helical circular motion trajectory and (b) tracking results
0020
4060
80
01020
50
100
150
200
250
Y (mm)
Z(m
m)
Position commandTracking response
X (mm)
(a)
Three axis
0 50 100 150 200
Time (s)
minus01
0
01
02
Trac
king
erro
r(m
m)
-axis
0 50 100 150 200
Time (s)
minus01
0
01
02
Trac
king
erro
r(m
m)
-axis
0 50 100 150 200
Time (s)
minus02
0
02
Trac
king
erro
r(m
m)
-axis
0 50 100 150 200
Time (s)
minus01
0
01
02
Trac
king
erro
r(m
m)
x
zy
(b)
Figure 17 Motion trajectory tracking and tracking error of STUST character
16 Mathematical Problems in Engineering
plusmn035mm in119910-axis table and 01759mmmean tracking errorin overall circularmotion It presents a good contour trackingresult Additional the current response of 119894119889-axis both in119909- and 119910-axis motors all can be controlled to zero whichpresents the success of the vector controller In the windowtracking motion the trajectory is designed as Figure 3(a)and its experimental results in motion trajectory trackingtracking error position response and current response areshown in Figure 14The tracking errors in Figure 14 show themaximum plusmn02mm in 119909-axis table maximum plusmn02mm in119910-axis table and 0054mm mean tracking error in overallmotion In the star trackingmotion the trajectory is designedas Figure 3(b) and its experimental results are shown inFigure 15 The tracking errors in Figure 15 show the maxi-mum plusmn04mm in 119909-axis table maximum plusmn055mm in 119910-axis table and 00698mm mean tracking error in overallstar motion However the larger tracking error in bothwindow and starmotion trajectory occurred at the position ofcommand suddenly changed otherwise the tracking error isvery smallThe results show a good contour tracking responsein both window and star motion trajectory Finally thethree-dimensional motion trajectory which is helical circulartrajectory and ldquoSTUSTrdquo character trajectory are evaluatedand their experimental tracking results are shown in Figures16 and 17 respectively In Figure 16(b) the tracking errorsshow that it can keep within plusmn02mm in 119909- and 119910-axis tablemotion plusmn001mm in 119911-axis table motion and 01162mmmean tracking error in overall helical circular motion whichreveals a good tracking response In performing themotion ofldquoSTUSTrdquo character the 119911-axis table just runs the up and downmotion the ldquoSTUSTrdquo character is drawn by the simultaneousmotion of 119909- and 119910-axis table The tracking error in Figure 17shows the maximum plusmn03mm in 119909-axis 119910-axis and 119911-axis table and less than 03mm in overall motion trackingTherefore Figures 16sim17 show a good tracking result in 3Dmotion contour tracking Therefore Figures 12sim17 presentthat the proposed FPGA-based multiaxis motion control ICis effectiveness and correctness
6 Conclusions
The FPGA-based multiaxis motion controller has been suc-cessfully demonstrated from ModelSimSimulink cosimula-tion to FPGA realization experiment in this paper For amultiaxis motion controller system DSP and FPGA all canprovide a good solution in implementation However dueto one DSP chip only can support one CPU inside and 12channels PWM output and 2 QEP output in its peripheralcircuit it is suitable for a two-axis motion controller systemIf we want to realize a multiaxis motion controller systemit needs several DSP chips In contrast with DSP FPGA hasthe properties of fast computing power parallel processingand hardware-software codesign which cause the multiaxismotion controller system to be implemented by one FPGAchip Finally the work herein is summarized as follows
(a) The functionalities required to build amultiaxis servocontroller and motion trajectory planning can beintegrated in one FPGA chip
(b) The computation of key algorithms such as SVPWMCCCT and FC in PMSM drive can be completedwithin 2 120583s by FPGA implementation
(c) The VHDL code of the proposed multiaxis servocontroller IP has been effectively verified from Mod-elSimSimulink cosimulation results
(d) Some experimental results by position step responsecircular window star and helical circular motiontrajectory tracking the specific character (ldquoSTUSTrdquo)motion trajectory tracking and so forth have revealedthat the proposed FPGA-based multiaxis motioncontroller is effectiveness and correctness
Conflict of Interests
The authors declare that there is no conflict of interestsregarding the publication of this paper
References
[1] J U Cho Q N Le and J W Jeon ldquoAn FPGA-based multiple-axis motion control chiprdquo IEEE Transactions on IndustrialElectronics vol 56 no 3 pp 856ndash870 2009
[2] X Shao and D Sun ldquoDevelopment of a new robot controllerarchitecture with FPGA-based IC design for improved high-speed performancerdquo IEEE Transactions on Industrial Informat-ics vol 3 no 4 pp 312ndash321 2007
[3] S S Yeh and J T Sun ldquoDesign of perfectly matched zero-phaseerror tracking control formulti-axismotion control systemsrdquo inProceedings of the SICE Annual Conference pp 528ndash533 August2012
[4] Y S Kung R F Fung and T Y Tai ldquoRealization of a motioncontrol IC forX-Y table based onnovel FPGA technologyrdquo IEEETransactions on Industrial Electronics vol 56 no 1 pp 43ndash532009
[5] S-S Yeh and P-L Hsu ldquoAnalysis and design of integratedcontrol for multi-axis motion systemsrdquo IEEE Transactions onControl Systems Technology vol 11 no 3 pp 375ndash382 2003
[6] Z Zhou T Li T Takahashi and E Ho ldquoFPGA realization of ahigh-performance servo controller for PMSMrdquo in Proceedingsof the 19th Annual IEEE Applied Power Electronics Conferenceand Exposition (APEC rsquo04) vol 3 pp 1604ndash1609 AnaheimCalif USA February 2004
[7] B K Bose Power Electronics and ACDrives Prentice Hall 1986[8] V Wilson P Agarwal and S P Srivastava ldquoPerformance
investigation of DSP based self-controlled PMSM driverdquo inProceedings of the Annual IEEE India Conference (INDICONrsquo12) pp 238ndash243 Kochi India December 2012
[9] E Monmasson L Idkhajine M N Cirstea I Bahri A Tisanand M W Naouar ldquoFPGAs in industrial control applicationsrdquoIEEE Transactions on Industrial Informatics vol 7 no 2 pp224ndash243 2011
[10] E Monmasson L Idkhajine and M W Naouar ldquoFPGA-basedcontrollersrdquo IEEE Industrial Electronics Magazine vol 5 no 1pp 14ndash26 2011
[11] Y S Kung V Q Nguyen T H Nguyen C-C Huang andL-C Huang ldquoSimulinkmodelsim co-simulation and FPGArealization of speed control IC for PMSM driverdquo ProcediaEngineering vol 23 pp 718ndash727 2011
Mathematical Problems in Engineering 17
[12] L Idkhajine E Monmasson M W Naouar A Prata andK Bouallaga ldquoFully integrated FPGA-based controller forsynchronous motor driverdquo IEEE Transactions on IndustrialElectronics vol 56 no 10 pp 4006ndash4017 2009
[13] B Alecsa M N Cirstea and A Onea ldquoSimulink modelingand design of an efficient hardware-constrained FPGA-basedPMSM speed controllerrdquo IEEE Transactions on Industrial Infor-matics vol 8 no 3 pp 554ndash562 2012
[14] H-H Chou Y-S Kung N Q Quynh and S Cheng ldquoOpti-mized FPGA design verification and implementation of aneuro-fuzzy controller for PMSM drivesrdquo Mathematics andComputers in Simulation vol 90 pp 28ndash44 2013
[15] Y Li J Huo X Li J Wen YWang and B Shan ldquoAn open-loopsinmicrostepping driver based on FPGA and the co-simulationof modelsim and simulinkrdquo in Proceedings of the InternationalConference on Computer Mechatronics Control and ElectronicEngineering (CMCE rsquo10) pp 223ndash227 August 2010
[16] The Mathworks ldquoMatlabSimulink Users Guide ApplicationProgram Interface Guiderdquo 2004
[17] ModeltechModelSim Reference Manual 2004[18] F-J Lin P-H Shieh and P-H Shen ldquoRobust recurrent-neural-
network sliding-mode control for the X-Y table of a CNCmachinerdquo IEE Proceedings ControlTheory andApplications vol153 no 1 pp 111ndash123 2006
Submit your manuscripts athttpwwwhindawicom
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
MathematicsJournal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Mathematical Problems in Engineering
Hindawi Publishing Corporationhttpwwwhindawicom
Differential EquationsInternational Journal of
Volume 2014
Applied MathematicsJournal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Probability and StatisticsHindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Journal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Mathematical PhysicsAdvances in
Complex AnalysisJournal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
OptimizationJournal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
CombinatoricsHindawi Publishing Corporationhttpwwwhindawicom Volume 2014
International Journal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Operations ResearchAdvances in
Journal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Function Spaces
Abstract and Applied AnalysisHindawi Publishing Corporationhttpwwwhindawicom Volume 2014
International Journal of Mathematics and Mathematical Sciences
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
The Scientific World JournalHindawi Publishing Corporation httpwwwhindawicom Volume 2014
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Algebra
Discrete Dynamics in Nature and Society
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Decision SciencesAdvances in
Discrete MathematicsJournal of
Hindawi Publishing Corporationhttpwwwhindawicom
Volume 2014 Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Stochastic AnalysisInternational Journal of
Mathematical Problems in Engineering 11
0 1 2 3 4 5 6 7 8 9 10
0123456
0
1
2
3
4
5
6
78910
x (mm)y (mm)
z(m
m)
Positioncommand
Positionfeedback
(a)
minus020
02
0 02 04 06 08 10 12
Time (s)
-axis error
(mm
)
018550186
01865
0 02 04 06 08 10 12
Time (s)
(mm
)
Overall tracking error
minus020
02
0 02 04 06 08 10 12
Time (s)
-axis error
(mm
)0
0005001
0 02 04 06 08 10 12
Time (s)
-axis error(m
m)
y
x z
(b)
Figure 10 (a) Helical circular motion trajectory and (b) tracking results
FPGAcontroller
3-axis motor drivers
XYZ table
Figure 11 Experimental system
0 4 8 12 16 20 24012345
Time (s)
Posit
ion
(mm
)
Tableposition
Positioncommand
(a)
Curr
ent (
A)
0 4 8 12 16 20 24Time (s)
1
05
0
minus05
minus1
id
iq
(b)
Figure 12 119909-axis table (a) position step response (b) current response
12 Mathematical Problems in Engineering
0 10 20 30 40 50 60 70 80 90 100
(mm
)
0
10
20
30
40
50
60
70
80
90
100
(mm)
Tableposition
Positioncommand
(a)
Overall tracking error
0 33 67 10 133 167 20
0 33 67 10 133 167 20
0 33 67 10 133 167 20
0
02
04
06
08
(mm
)
minus05
0
05
-axis tracking error
(mm
)
minus04
minus02
0
02
04-axis tracking error
Time (s)
(mm
)
x
y
(b)
Tableposition Position
command
-axis position
0
50
100
(mm
)
0 33 67 10 133 167 20
0 33 67 10 133 167 20
Time (s)
TablepositionPosition
command
-axis position
0
50
100
(mm
)
x
y
(c)
-axis current
id
iq
minus1
0
05
1
(A)
0 33 67 10 133 167 20
0 33 67 10 133 167 20
-axis current
id
iq
minus15
minus1
minus05
0
05
1
(A)
Time (s)
minus05
x
y
(d)
Figure 13 (a) Circular motion trajectory tracking (b) tracking error (c) position response (d) current response
in 3-axis motion tracking Further Figures 6sim10 presentthat the three-axis motion control system tested throughModelSimSimulink cosimulation is effectiveness andcorrectness After confirming the success of the proposedthree-axis positionspeedcurrent controller IP it willdirectly apply to FPGA to be further evaluated
5 Experimental System and Results
51 Experimental System The overall experimental systemshown in Figure 11 includes an FPGA control board three
sets of voltage source IPM-based (Intelligent PowerModules)inverter and an XYZ table which is driven by three PMSMsand three ball-screwsThe power rating voltage current andrating speed of PMSM are 200W 92V 16 A and 3000 rpmrespectively A 2500 ppr rotary encoder attached to PMSMis used to measure the motorrsquos electrical angle Each ball-screw has 5mm lead Inside IPM it has 6 sets of IGBT typepower transistors with emitter of the rated voltage of 600Vcollector DC current rating of 20A and a short time (1ms)rated current of 40A Photo coupler IC adopts TLP250whoseoutput has push-pull amplifier functions The FPGA uses
Mathematical Problems in Engineering 13
(mm
)
0
10
20
30
40
50
60
70
80
90
100
(mm)0 10 20 30 40 50 60 70 80 90 100
Tableposition
Positioncommand
(a)
0 3 6 9 12 15 18 21 24 27 30
Time (s)0 3 6 9 12 15 18 21 24 27 30
0 3 6 9 12 15 18 21 24 27 30
0
01
02
(mm
)
Overall tracking error
minus02
minus01
0
01
02
(mm
)
-axis tracking error
minus02minus01
00102
(mm
)
-axis tracking error
x
y
(b)
Positioncommand
-axis position
Tableposition
0 6 12 18 24 30
Time (s)0 6 12 18 24 30
0
50
100
(mm
)
Positioncommand
-axis position
Tableposition
0
50
100
(mm
)
y
x
(c)
minus05
0
05
0 6 12 18 24 30
Time (s)0 6 12 18 24 30
(A)
minus05
0
05
(A)
-axis current
id
id
iq
iq-axis currenty
x
(d)
Figure 14 (a) Window motion trajectory tracking (b) tracking error (c) position response (d) current response
Cyclone IV-EP4CE115 which is the kernel of this systemThere are 114480 LEs (Logic Elements) 3981312 RAM bitsand 150 embedded multipliers in the Cyclone IV Further aNios II processor can be embedded into FPGA to establishSoC environment
52 Experimental Results In experiment the one-dimen-sional motion trajectory is firstly tested The step signal with
18Hz square wave and 5mm amplitude is sent to the 119909-axis tables as the position command to cause tables motionThe experimental results in position response and currentresponse using FC are shown in Figure 12 In Figure 12(a)the position response with 02 second rising time and 2overshoot and near zero steady state zero which shows agood response performance In Figure 12(b) the current in 119894119889
axis approaches zero which reveals the success of the vectorcontrol in PMSMdrive To evaluate the tracking performance
14 Mathematical Problems in Engineering
(mm
)
0
10
20
30
40
50
60
70
80
90
100
(mm)0 10 20 30 40 50 60 70 80 90 100
Tableposition
Positioncommand
(a)
Overall tracking error
-axis tracking error
-axis tracking error
Time (s)
0 10 20 30
0 10 20 30
0 10 20 30
0
04
06
08
02
0
04
02
(mm
)(m
m)
minus02
minus04
0
1
(mm
)
minus05
05y
x
(b)
0 10 20 30
Time (s)0 10 20 30
-axis position
Positioncommand
Positioncommand
-axis position
Tableposition
Tableposition
0
50
100
(mm
)
0
50
100
(mm
)
y
x
(c)
minus05
minus1
0
1
05
Time (s)0 10 20 30
0 10 20 30
(A)
minus05
minus1
minus15
0
1
05
(A)
id
id
iq
iq
-axis current
-axis current
y
x
(d)
Figure 15 (a) Star motion trajectory tracking (b) tracking error (c) position response (d) current response
in multiaxis motion table the indices are firstly defined asfollows
119879 (119896) = radic
119899
sum
119894=1
(119878lowast119901119894
(119896) minus 119878119901119894 (119909))2
119898119905119890 =
119898
sum
119896=1
119879 (119896)
119898
(25)
where 119879(119896) 119878lowast119901119894(119896) 119878119901119894(119896) 119899 119898 and 119898119905119890 respectively repre-
sent instantaneous error 119894th-axis position command 119894th-axisposition feedback number of motion table total acquisitiondata and mean tracking error Further in two-dimensionalmotion trajectory the circular motion trajectory control withcenter (50 50) mm and radius 25mm is evaluated and theexperimental results in motion trajectory tracking trackingerror position response and current response using same FCare shown in Figure 13 The tracking errors in Figure 13(b)show the maximum plusmn046mm in 119909-axis table maximum
Mathematical Problems in Engineering 15
0 20 40 60 80 100
020
4060
80100
051015202530
Y (mm)
Z(m
m)
Tableposition
Positioncommand
X (mm)
(a)
00102
0 67 133 20 267 333 40 467 533 60
Time (s)
(mm
)
Overall tracking error
0 67 133 20 267 333 40 467 533 60
Time (s)
(mm
)
minus020
02-axis tracking error
0 67 133 20 267 333 40 467 533 60
Time (s)
(mm
)
minus020
02-axis tracking error
0 67 133 20 267 333 40 467 533 60
Time (s)(m
m)
minus0010
001002
-axis tracking error
y
x z
(b)
Figure 16 (a) Helical circular motion trajectory and (b) tracking results
0020
4060
80
01020
50
100
150
200
250
Y (mm)
Z(m
m)
Position commandTracking response
X (mm)
(a)
Three axis
0 50 100 150 200
Time (s)
minus01
0
01
02
Trac
king
erro
r(m
m)
-axis
0 50 100 150 200
Time (s)
minus01
0
01
02
Trac
king
erro
r(m
m)
-axis
0 50 100 150 200
Time (s)
minus02
0
02
Trac
king
erro
r(m
m)
-axis
0 50 100 150 200
Time (s)
minus01
0
01
02
Trac
king
erro
r(m
m)
x
zy
(b)
Figure 17 Motion trajectory tracking and tracking error of STUST character
16 Mathematical Problems in Engineering
plusmn035mm in119910-axis table and 01759mmmean tracking errorin overall circularmotion It presents a good contour trackingresult Additional the current response of 119894119889-axis both in119909- and 119910-axis motors all can be controlled to zero whichpresents the success of the vector controller In the windowtracking motion the trajectory is designed as Figure 3(a)and its experimental results in motion trajectory trackingtracking error position response and current response areshown in Figure 14The tracking errors in Figure 14 show themaximum plusmn02mm in 119909-axis table maximum plusmn02mm in119910-axis table and 0054mm mean tracking error in overallmotion In the star trackingmotion the trajectory is designedas Figure 3(b) and its experimental results are shown inFigure 15 The tracking errors in Figure 15 show the maxi-mum plusmn04mm in 119909-axis table maximum plusmn055mm in 119910-axis table and 00698mm mean tracking error in overallstar motion However the larger tracking error in bothwindow and starmotion trajectory occurred at the position ofcommand suddenly changed otherwise the tracking error isvery smallThe results show a good contour tracking responsein both window and star motion trajectory Finally thethree-dimensional motion trajectory which is helical circulartrajectory and ldquoSTUSTrdquo character trajectory are evaluatedand their experimental tracking results are shown in Figures16 and 17 respectively In Figure 16(b) the tracking errorsshow that it can keep within plusmn02mm in 119909- and 119910-axis tablemotion plusmn001mm in 119911-axis table motion and 01162mmmean tracking error in overall helical circular motion whichreveals a good tracking response In performing themotion ofldquoSTUSTrdquo character the 119911-axis table just runs the up and downmotion the ldquoSTUSTrdquo character is drawn by the simultaneousmotion of 119909- and 119910-axis table The tracking error in Figure 17shows the maximum plusmn03mm in 119909-axis 119910-axis and 119911-axis table and less than 03mm in overall motion trackingTherefore Figures 16sim17 show a good tracking result in 3Dmotion contour tracking Therefore Figures 12sim17 presentthat the proposed FPGA-based multiaxis motion control ICis effectiveness and correctness
6 Conclusions
The FPGA-based multiaxis motion controller has been suc-cessfully demonstrated from ModelSimSimulink cosimula-tion to FPGA realization experiment in this paper For amultiaxis motion controller system DSP and FPGA all canprovide a good solution in implementation However dueto one DSP chip only can support one CPU inside and 12channels PWM output and 2 QEP output in its peripheralcircuit it is suitable for a two-axis motion controller systemIf we want to realize a multiaxis motion controller systemit needs several DSP chips In contrast with DSP FPGA hasthe properties of fast computing power parallel processingand hardware-software codesign which cause the multiaxismotion controller system to be implemented by one FPGAchip Finally the work herein is summarized as follows
(a) The functionalities required to build amultiaxis servocontroller and motion trajectory planning can beintegrated in one FPGA chip
(b) The computation of key algorithms such as SVPWMCCCT and FC in PMSM drive can be completedwithin 2 120583s by FPGA implementation
(c) The VHDL code of the proposed multiaxis servocontroller IP has been effectively verified from Mod-elSimSimulink cosimulation results
(d) Some experimental results by position step responsecircular window star and helical circular motiontrajectory tracking the specific character (ldquoSTUSTrdquo)motion trajectory tracking and so forth have revealedthat the proposed FPGA-based multiaxis motioncontroller is effectiveness and correctness
Conflict of Interests
The authors declare that there is no conflict of interestsregarding the publication of this paper
References
[1] J U Cho Q N Le and J W Jeon ldquoAn FPGA-based multiple-axis motion control chiprdquo IEEE Transactions on IndustrialElectronics vol 56 no 3 pp 856ndash870 2009
[2] X Shao and D Sun ldquoDevelopment of a new robot controllerarchitecture with FPGA-based IC design for improved high-speed performancerdquo IEEE Transactions on Industrial Informat-ics vol 3 no 4 pp 312ndash321 2007
[3] S S Yeh and J T Sun ldquoDesign of perfectly matched zero-phaseerror tracking control formulti-axismotion control systemsrdquo inProceedings of the SICE Annual Conference pp 528ndash533 August2012
[4] Y S Kung R F Fung and T Y Tai ldquoRealization of a motioncontrol IC forX-Y table based onnovel FPGA technologyrdquo IEEETransactions on Industrial Electronics vol 56 no 1 pp 43ndash532009
[5] S-S Yeh and P-L Hsu ldquoAnalysis and design of integratedcontrol for multi-axis motion systemsrdquo IEEE Transactions onControl Systems Technology vol 11 no 3 pp 375ndash382 2003
[6] Z Zhou T Li T Takahashi and E Ho ldquoFPGA realization of ahigh-performance servo controller for PMSMrdquo in Proceedingsof the 19th Annual IEEE Applied Power Electronics Conferenceand Exposition (APEC rsquo04) vol 3 pp 1604ndash1609 AnaheimCalif USA February 2004
[7] B K Bose Power Electronics and ACDrives Prentice Hall 1986[8] V Wilson P Agarwal and S P Srivastava ldquoPerformance
investigation of DSP based self-controlled PMSM driverdquo inProceedings of the Annual IEEE India Conference (INDICONrsquo12) pp 238ndash243 Kochi India December 2012
[9] E Monmasson L Idkhajine M N Cirstea I Bahri A Tisanand M W Naouar ldquoFPGAs in industrial control applicationsrdquoIEEE Transactions on Industrial Informatics vol 7 no 2 pp224ndash243 2011
[10] E Monmasson L Idkhajine and M W Naouar ldquoFPGA-basedcontrollersrdquo IEEE Industrial Electronics Magazine vol 5 no 1pp 14ndash26 2011
[11] Y S Kung V Q Nguyen T H Nguyen C-C Huang andL-C Huang ldquoSimulinkmodelsim co-simulation and FPGArealization of speed control IC for PMSM driverdquo ProcediaEngineering vol 23 pp 718ndash727 2011
Mathematical Problems in Engineering 17
[12] L Idkhajine E Monmasson M W Naouar A Prata andK Bouallaga ldquoFully integrated FPGA-based controller forsynchronous motor driverdquo IEEE Transactions on IndustrialElectronics vol 56 no 10 pp 4006ndash4017 2009
[13] B Alecsa M N Cirstea and A Onea ldquoSimulink modelingand design of an efficient hardware-constrained FPGA-basedPMSM speed controllerrdquo IEEE Transactions on Industrial Infor-matics vol 8 no 3 pp 554ndash562 2012
[14] H-H Chou Y-S Kung N Q Quynh and S Cheng ldquoOpti-mized FPGA design verification and implementation of aneuro-fuzzy controller for PMSM drivesrdquo Mathematics andComputers in Simulation vol 90 pp 28ndash44 2013
[15] Y Li J Huo X Li J Wen YWang and B Shan ldquoAn open-loopsinmicrostepping driver based on FPGA and the co-simulationof modelsim and simulinkrdquo in Proceedings of the InternationalConference on Computer Mechatronics Control and ElectronicEngineering (CMCE rsquo10) pp 223ndash227 August 2010
[16] The Mathworks ldquoMatlabSimulink Users Guide ApplicationProgram Interface Guiderdquo 2004
[17] ModeltechModelSim Reference Manual 2004[18] F-J Lin P-H Shieh and P-H Shen ldquoRobust recurrent-neural-
network sliding-mode control for the X-Y table of a CNCmachinerdquo IEE Proceedings ControlTheory andApplications vol153 no 1 pp 111ndash123 2006
Submit your manuscripts athttpwwwhindawicom
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
MathematicsJournal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Mathematical Problems in Engineering
Hindawi Publishing Corporationhttpwwwhindawicom
Differential EquationsInternational Journal of
Volume 2014
Applied MathematicsJournal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Probability and StatisticsHindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Journal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Mathematical PhysicsAdvances in
Complex AnalysisJournal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
OptimizationJournal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
CombinatoricsHindawi Publishing Corporationhttpwwwhindawicom Volume 2014
International Journal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Operations ResearchAdvances in
Journal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Function Spaces
Abstract and Applied AnalysisHindawi Publishing Corporationhttpwwwhindawicom Volume 2014
International Journal of Mathematics and Mathematical Sciences
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
The Scientific World JournalHindawi Publishing Corporation httpwwwhindawicom Volume 2014
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Algebra
Discrete Dynamics in Nature and Society
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Decision SciencesAdvances in
Discrete MathematicsJournal of
Hindawi Publishing Corporationhttpwwwhindawicom
Volume 2014 Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Stochastic AnalysisInternational Journal of
12 Mathematical Problems in Engineering
0 10 20 30 40 50 60 70 80 90 100
(mm
)
0
10
20
30
40
50
60
70
80
90
100
(mm)
Tableposition
Positioncommand
(a)
Overall tracking error
0 33 67 10 133 167 20
0 33 67 10 133 167 20
0 33 67 10 133 167 20
0
02
04
06
08
(mm
)
minus05
0
05
-axis tracking error
(mm
)
minus04
minus02
0
02
04-axis tracking error
Time (s)
(mm
)
x
y
(b)
Tableposition Position
command
-axis position
0
50
100
(mm
)
0 33 67 10 133 167 20
0 33 67 10 133 167 20
Time (s)
TablepositionPosition
command
-axis position
0
50
100
(mm
)
x
y
(c)
-axis current
id
iq
minus1
0
05
1
(A)
0 33 67 10 133 167 20
0 33 67 10 133 167 20
-axis current
id
iq
minus15
minus1
minus05
0
05
1
(A)
Time (s)
minus05
x
y
(d)
Figure 13 (a) Circular motion trajectory tracking (b) tracking error (c) position response (d) current response
in 3-axis motion tracking Further Figures 6sim10 presentthat the three-axis motion control system tested throughModelSimSimulink cosimulation is effectiveness andcorrectness After confirming the success of the proposedthree-axis positionspeedcurrent controller IP it willdirectly apply to FPGA to be further evaluated
5 Experimental System and Results
51 Experimental System The overall experimental systemshown in Figure 11 includes an FPGA control board three
sets of voltage source IPM-based (Intelligent PowerModules)inverter and an XYZ table which is driven by three PMSMsand three ball-screwsThe power rating voltage current andrating speed of PMSM are 200W 92V 16 A and 3000 rpmrespectively A 2500 ppr rotary encoder attached to PMSMis used to measure the motorrsquos electrical angle Each ball-screw has 5mm lead Inside IPM it has 6 sets of IGBT typepower transistors with emitter of the rated voltage of 600Vcollector DC current rating of 20A and a short time (1ms)rated current of 40A Photo coupler IC adopts TLP250whoseoutput has push-pull amplifier functions The FPGA uses
Mathematical Problems in Engineering 13
(mm
)
0
10
20
30
40
50
60
70
80
90
100
(mm)0 10 20 30 40 50 60 70 80 90 100
Tableposition
Positioncommand
(a)
0 3 6 9 12 15 18 21 24 27 30
Time (s)0 3 6 9 12 15 18 21 24 27 30
0 3 6 9 12 15 18 21 24 27 30
0
01
02
(mm
)
Overall tracking error
minus02
minus01
0
01
02
(mm
)
-axis tracking error
minus02minus01
00102
(mm
)
-axis tracking error
x
y
(b)
Positioncommand
-axis position
Tableposition
0 6 12 18 24 30
Time (s)0 6 12 18 24 30
0
50
100
(mm
)
Positioncommand
-axis position
Tableposition
0
50
100
(mm
)
y
x
(c)
minus05
0
05
0 6 12 18 24 30
Time (s)0 6 12 18 24 30
(A)
minus05
0
05
(A)
-axis current
id
id
iq
iq-axis currenty
x
(d)
Figure 14 (a) Window motion trajectory tracking (b) tracking error (c) position response (d) current response
Cyclone IV-EP4CE115 which is the kernel of this systemThere are 114480 LEs (Logic Elements) 3981312 RAM bitsand 150 embedded multipliers in the Cyclone IV Further aNios II processor can be embedded into FPGA to establishSoC environment
52 Experimental Results In experiment the one-dimen-sional motion trajectory is firstly tested The step signal with
18Hz square wave and 5mm amplitude is sent to the 119909-axis tables as the position command to cause tables motionThe experimental results in position response and currentresponse using FC are shown in Figure 12 In Figure 12(a)the position response with 02 second rising time and 2overshoot and near zero steady state zero which shows agood response performance In Figure 12(b) the current in 119894119889
axis approaches zero which reveals the success of the vectorcontrol in PMSMdrive To evaluate the tracking performance
14 Mathematical Problems in Engineering
(mm
)
0
10
20
30
40
50
60
70
80
90
100
(mm)0 10 20 30 40 50 60 70 80 90 100
Tableposition
Positioncommand
(a)
Overall tracking error
-axis tracking error
-axis tracking error
Time (s)
0 10 20 30
0 10 20 30
0 10 20 30
0
04
06
08
02
0
04
02
(mm
)(m
m)
minus02
minus04
0
1
(mm
)
minus05
05y
x
(b)
0 10 20 30
Time (s)0 10 20 30
-axis position
Positioncommand
Positioncommand
-axis position
Tableposition
Tableposition
0
50
100
(mm
)
0
50
100
(mm
)
y
x
(c)
minus05
minus1
0
1
05
Time (s)0 10 20 30
0 10 20 30
(A)
minus05
minus1
minus15
0
1
05
(A)
id
id
iq
iq
-axis current
-axis current
y
x
(d)
Figure 15 (a) Star motion trajectory tracking (b) tracking error (c) position response (d) current response
in multiaxis motion table the indices are firstly defined asfollows
119879 (119896) = radic
119899
sum
119894=1
(119878lowast119901119894
(119896) minus 119878119901119894 (119909))2
119898119905119890 =
119898
sum
119896=1
119879 (119896)
119898
(25)
where 119879(119896) 119878lowast119901119894(119896) 119878119901119894(119896) 119899 119898 and 119898119905119890 respectively repre-
sent instantaneous error 119894th-axis position command 119894th-axisposition feedback number of motion table total acquisitiondata and mean tracking error Further in two-dimensionalmotion trajectory the circular motion trajectory control withcenter (50 50) mm and radius 25mm is evaluated and theexperimental results in motion trajectory tracking trackingerror position response and current response using same FCare shown in Figure 13 The tracking errors in Figure 13(b)show the maximum plusmn046mm in 119909-axis table maximum
Mathematical Problems in Engineering 15
0 20 40 60 80 100
020
4060
80100
051015202530
Y (mm)
Z(m
m)
Tableposition
Positioncommand
X (mm)
(a)
00102
0 67 133 20 267 333 40 467 533 60
Time (s)
(mm
)
Overall tracking error
0 67 133 20 267 333 40 467 533 60
Time (s)
(mm
)
minus020
02-axis tracking error
0 67 133 20 267 333 40 467 533 60
Time (s)
(mm
)
minus020
02-axis tracking error
0 67 133 20 267 333 40 467 533 60
Time (s)(m
m)
minus0010
001002
-axis tracking error
y
x z
(b)
Figure 16 (a) Helical circular motion trajectory and (b) tracking results
0020
4060
80
01020
50
100
150
200
250
Y (mm)
Z(m
m)
Position commandTracking response
X (mm)
(a)
Three axis
0 50 100 150 200
Time (s)
minus01
0
01
02
Trac
king
erro
r(m
m)
-axis
0 50 100 150 200
Time (s)
minus01
0
01
02
Trac
king
erro
r(m
m)
-axis
0 50 100 150 200
Time (s)
minus02
0
02
Trac
king
erro
r(m
m)
-axis
0 50 100 150 200
Time (s)
minus01
0
01
02
Trac
king
erro
r(m
m)
x
zy
(b)
Figure 17 Motion trajectory tracking and tracking error of STUST character
16 Mathematical Problems in Engineering
plusmn035mm in119910-axis table and 01759mmmean tracking errorin overall circularmotion It presents a good contour trackingresult Additional the current response of 119894119889-axis both in119909- and 119910-axis motors all can be controlled to zero whichpresents the success of the vector controller In the windowtracking motion the trajectory is designed as Figure 3(a)and its experimental results in motion trajectory trackingtracking error position response and current response areshown in Figure 14The tracking errors in Figure 14 show themaximum plusmn02mm in 119909-axis table maximum plusmn02mm in119910-axis table and 0054mm mean tracking error in overallmotion In the star trackingmotion the trajectory is designedas Figure 3(b) and its experimental results are shown inFigure 15 The tracking errors in Figure 15 show the maxi-mum plusmn04mm in 119909-axis table maximum plusmn055mm in 119910-axis table and 00698mm mean tracking error in overallstar motion However the larger tracking error in bothwindow and starmotion trajectory occurred at the position ofcommand suddenly changed otherwise the tracking error isvery smallThe results show a good contour tracking responsein both window and star motion trajectory Finally thethree-dimensional motion trajectory which is helical circulartrajectory and ldquoSTUSTrdquo character trajectory are evaluatedand their experimental tracking results are shown in Figures16 and 17 respectively In Figure 16(b) the tracking errorsshow that it can keep within plusmn02mm in 119909- and 119910-axis tablemotion plusmn001mm in 119911-axis table motion and 01162mmmean tracking error in overall helical circular motion whichreveals a good tracking response In performing themotion ofldquoSTUSTrdquo character the 119911-axis table just runs the up and downmotion the ldquoSTUSTrdquo character is drawn by the simultaneousmotion of 119909- and 119910-axis table The tracking error in Figure 17shows the maximum plusmn03mm in 119909-axis 119910-axis and 119911-axis table and less than 03mm in overall motion trackingTherefore Figures 16sim17 show a good tracking result in 3Dmotion contour tracking Therefore Figures 12sim17 presentthat the proposed FPGA-based multiaxis motion control ICis effectiveness and correctness
6 Conclusions
The FPGA-based multiaxis motion controller has been suc-cessfully demonstrated from ModelSimSimulink cosimula-tion to FPGA realization experiment in this paper For amultiaxis motion controller system DSP and FPGA all canprovide a good solution in implementation However dueto one DSP chip only can support one CPU inside and 12channels PWM output and 2 QEP output in its peripheralcircuit it is suitable for a two-axis motion controller systemIf we want to realize a multiaxis motion controller systemit needs several DSP chips In contrast with DSP FPGA hasthe properties of fast computing power parallel processingand hardware-software codesign which cause the multiaxismotion controller system to be implemented by one FPGAchip Finally the work herein is summarized as follows
(a) The functionalities required to build amultiaxis servocontroller and motion trajectory planning can beintegrated in one FPGA chip
(b) The computation of key algorithms such as SVPWMCCCT and FC in PMSM drive can be completedwithin 2 120583s by FPGA implementation
(c) The VHDL code of the proposed multiaxis servocontroller IP has been effectively verified from Mod-elSimSimulink cosimulation results
(d) Some experimental results by position step responsecircular window star and helical circular motiontrajectory tracking the specific character (ldquoSTUSTrdquo)motion trajectory tracking and so forth have revealedthat the proposed FPGA-based multiaxis motioncontroller is effectiveness and correctness
Conflict of Interests
The authors declare that there is no conflict of interestsregarding the publication of this paper
References
[1] J U Cho Q N Le and J W Jeon ldquoAn FPGA-based multiple-axis motion control chiprdquo IEEE Transactions on IndustrialElectronics vol 56 no 3 pp 856ndash870 2009
[2] X Shao and D Sun ldquoDevelopment of a new robot controllerarchitecture with FPGA-based IC design for improved high-speed performancerdquo IEEE Transactions on Industrial Informat-ics vol 3 no 4 pp 312ndash321 2007
[3] S S Yeh and J T Sun ldquoDesign of perfectly matched zero-phaseerror tracking control formulti-axismotion control systemsrdquo inProceedings of the SICE Annual Conference pp 528ndash533 August2012
[4] Y S Kung R F Fung and T Y Tai ldquoRealization of a motioncontrol IC forX-Y table based onnovel FPGA technologyrdquo IEEETransactions on Industrial Electronics vol 56 no 1 pp 43ndash532009
[5] S-S Yeh and P-L Hsu ldquoAnalysis and design of integratedcontrol for multi-axis motion systemsrdquo IEEE Transactions onControl Systems Technology vol 11 no 3 pp 375ndash382 2003
[6] Z Zhou T Li T Takahashi and E Ho ldquoFPGA realization of ahigh-performance servo controller for PMSMrdquo in Proceedingsof the 19th Annual IEEE Applied Power Electronics Conferenceand Exposition (APEC rsquo04) vol 3 pp 1604ndash1609 AnaheimCalif USA February 2004
[7] B K Bose Power Electronics and ACDrives Prentice Hall 1986[8] V Wilson P Agarwal and S P Srivastava ldquoPerformance
investigation of DSP based self-controlled PMSM driverdquo inProceedings of the Annual IEEE India Conference (INDICONrsquo12) pp 238ndash243 Kochi India December 2012
[9] E Monmasson L Idkhajine M N Cirstea I Bahri A Tisanand M W Naouar ldquoFPGAs in industrial control applicationsrdquoIEEE Transactions on Industrial Informatics vol 7 no 2 pp224ndash243 2011
[10] E Monmasson L Idkhajine and M W Naouar ldquoFPGA-basedcontrollersrdquo IEEE Industrial Electronics Magazine vol 5 no 1pp 14ndash26 2011
[11] Y S Kung V Q Nguyen T H Nguyen C-C Huang andL-C Huang ldquoSimulinkmodelsim co-simulation and FPGArealization of speed control IC for PMSM driverdquo ProcediaEngineering vol 23 pp 718ndash727 2011
Mathematical Problems in Engineering 17
[12] L Idkhajine E Monmasson M W Naouar A Prata andK Bouallaga ldquoFully integrated FPGA-based controller forsynchronous motor driverdquo IEEE Transactions on IndustrialElectronics vol 56 no 10 pp 4006ndash4017 2009
[13] B Alecsa M N Cirstea and A Onea ldquoSimulink modelingand design of an efficient hardware-constrained FPGA-basedPMSM speed controllerrdquo IEEE Transactions on Industrial Infor-matics vol 8 no 3 pp 554ndash562 2012
[14] H-H Chou Y-S Kung N Q Quynh and S Cheng ldquoOpti-mized FPGA design verification and implementation of aneuro-fuzzy controller for PMSM drivesrdquo Mathematics andComputers in Simulation vol 90 pp 28ndash44 2013
[15] Y Li J Huo X Li J Wen YWang and B Shan ldquoAn open-loopsinmicrostepping driver based on FPGA and the co-simulationof modelsim and simulinkrdquo in Proceedings of the InternationalConference on Computer Mechatronics Control and ElectronicEngineering (CMCE rsquo10) pp 223ndash227 August 2010
[16] The Mathworks ldquoMatlabSimulink Users Guide ApplicationProgram Interface Guiderdquo 2004
[17] ModeltechModelSim Reference Manual 2004[18] F-J Lin P-H Shieh and P-H Shen ldquoRobust recurrent-neural-
network sliding-mode control for the X-Y table of a CNCmachinerdquo IEE Proceedings ControlTheory andApplications vol153 no 1 pp 111ndash123 2006
Submit your manuscripts athttpwwwhindawicom
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
MathematicsJournal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Mathematical Problems in Engineering
Hindawi Publishing Corporationhttpwwwhindawicom
Differential EquationsInternational Journal of
Volume 2014
Applied MathematicsJournal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Probability and StatisticsHindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Journal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Mathematical PhysicsAdvances in
Complex AnalysisJournal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
OptimizationJournal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
CombinatoricsHindawi Publishing Corporationhttpwwwhindawicom Volume 2014
International Journal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Operations ResearchAdvances in
Journal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Function Spaces
Abstract and Applied AnalysisHindawi Publishing Corporationhttpwwwhindawicom Volume 2014
International Journal of Mathematics and Mathematical Sciences
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
The Scientific World JournalHindawi Publishing Corporation httpwwwhindawicom Volume 2014
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Algebra
Discrete Dynamics in Nature and Society
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Decision SciencesAdvances in
Discrete MathematicsJournal of
Hindawi Publishing Corporationhttpwwwhindawicom
Volume 2014 Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Stochastic AnalysisInternational Journal of
Mathematical Problems in Engineering 13
(mm
)
0
10
20
30
40
50
60
70
80
90
100
(mm)0 10 20 30 40 50 60 70 80 90 100
Tableposition
Positioncommand
(a)
0 3 6 9 12 15 18 21 24 27 30
Time (s)0 3 6 9 12 15 18 21 24 27 30
0 3 6 9 12 15 18 21 24 27 30
0
01
02
(mm
)
Overall tracking error
minus02
minus01
0
01
02
(mm
)
-axis tracking error
minus02minus01
00102
(mm
)
-axis tracking error
x
y
(b)
Positioncommand
-axis position
Tableposition
0 6 12 18 24 30
Time (s)0 6 12 18 24 30
0
50
100
(mm
)
Positioncommand
-axis position
Tableposition
0
50
100
(mm
)
y
x
(c)
minus05
0
05
0 6 12 18 24 30
Time (s)0 6 12 18 24 30
(A)
minus05
0
05
(A)
-axis current
id
id
iq
iq-axis currenty
x
(d)
Figure 14 (a) Window motion trajectory tracking (b) tracking error (c) position response (d) current response
Cyclone IV-EP4CE115 which is the kernel of this systemThere are 114480 LEs (Logic Elements) 3981312 RAM bitsand 150 embedded multipliers in the Cyclone IV Further aNios II processor can be embedded into FPGA to establishSoC environment
52 Experimental Results In experiment the one-dimen-sional motion trajectory is firstly tested The step signal with
18Hz square wave and 5mm amplitude is sent to the 119909-axis tables as the position command to cause tables motionThe experimental results in position response and currentresponse using FC are shown in Figure 12 In Figure 12(a)the position response with 02 second rising time and 2overshoot and near zero steady state zero which shows agood response performance In Figure 12(b) the current in 119894119889
axis approaches zero which reveals the success of the vectorcontrol in PMSMdrive To evaluate the tracking performance
14 Mathematical Problems in Engineering
(mm
)
0
10
20
30
40
50
60
70
80
90
100
(mm)0 10 20 30 40 50 60 70 80 90 100
Tableposition
Positioncommand
(a)
Overall tracking error
-axis tracking error
-axis tracking error
Time (s)
0 10 20 30
0 10 20 30
0 10 20 30
0
04
06
08
02
0
04
02
(mm
)(m
m)
minus02
minus04
0
1
(mm
)
minus05
05y
x
(b)
0 10 20 30
Time (s)0 10 20 30
-axis position
Positioncommand
Positioncommand
-axis position
Tableposition
Tableposition
0
50
100
(mm
)
0
50
100
(mm
)
y
x
(c)
minus05
minus1
0
1
05
Time (s)0 10 20 30
0 10 20 30
(A)
minus05
minus1
minus15
0
1
05
(A)
id
id
iq
iq
-axis current
-axis current
y
x
(d)
Figure 15 (a) Star motion trajectory tracking (b) tracking error (c) position response (d) current response
in multiaxis motion table the indices are firstly defined asfollows
119879 (119896) = radic
119899
sum
119894=1
(119878lowast119901119894
(119896) minus 119878119901119894 (119909))2
119898119905119890 =
119898
sum
119896=1
119879 (119896)
119898
(25)
where 119879(119896) 119878lowast119901119894(119896) 119878119901119894(119896) 119899 119898 and 119898119905119890 respectively repre-
sent instantaneous error 119894th-axis position command 119894th-axisposition feedback number of motion table total acquisitiondata and mean tracking error Further in two-dimensionalmotion trajectory the circular motion trajectory control withcenter (50 50) mm and radius 25mm is evaluated and theexperimental results in motion trajectory tracking trackingerror position response and current response using same FCare shown in Figure 13 The tracking errors in Figure 13(b)show the maximum plusmn046mm in 119909-axis table maximum
Mathematical Problems in Engineering 15
0 20 40 60 80 100
020
4060
80100
051015202530
Y (mm)
Z(m
m)
Tableposition
Positioncommand
X (mm)
(a)
00102
0 67 133 20 267 333 40 467 533 60
Time (s)
(mm
)
Overall tracking error
0 67 133 20 267 333 40 467 533 60
Time (s)
(mm
)
minus020
02-axis tracking error
0 67 133 20 267 333 40 467 533 60
Time (s)
(mm
)
minus020
02-axis tracking error
0 67 133 20 267 333 40 467 533 60
Time (s)(m
m)
minus0010
001002
-axis tracking error
y
x z
(b)
Figure 16 (a) Helical circular motion trajectory and (b) tracking results
0020
4060
80
01020
50
100
150
200
250
Y (mm)
Z(m
m)
Position commandTracking response
X (mm)
(a)
Three axis
0 50 100 150 200
Time (s)
minus01
0
01
02
Trac
king
erro
r(m
m)
-axis
0 50 100 150 200
Time (s)
minus01
0
01
02
Trac
king
erro
r(m
m)
-axis
0 50 100 150 200
Time (s)
minus02
0
02
Trac
king
erro
r(m
m)
-axis
0 50 100 150 200
Time (s)
minus01
0
01
02
Trac
king
erro
r(m
m)
x
zy
(b)
Figure 17 Motion trajectory tracking and tracking error of STUST character
16 Mathematical Problems in Engineering
plusmn035mm in119910-axis table and 01759mmmean tracking errorin overall circularmotion It presents a good contour trackingresult Additional the current response of 119894119889-axis both in119909- and 119910-axis motors all can be controlled to zero whichpresents the success of the vector controller In the windowtracking motion the trajectory is designed as Figure 3(a)and its experimental results in motion trajectory trackingtracking error position response and current response areshown in Figure 14The tracking errors in Figure 14 show themaximum plusmn02mm in 119909-axis table maximum plusmn02mm in119910-axis table and 0054mm mean tracking error in overallmotion In the star trackingmotion the trajectory is designedas Figure 3(b) and its experimental results are shown inFigure 15 The tracking errors in Figure 15 show the maxi-mum plusmn04mm in 119909-axis table maximum plusmn055mm in 119910-axis table and 00698mm mean tracking error in overallstar motion However the larger tracking error in bothwindow and starmotion trajectory occurred at the position ofcommand suddenly changed otherwise the tracking error isvery smallThe results show a good contour tracking responsein both window and star motion trajectory Finally thethree-dimensional motion trajectory which is helical circulartrajectory and ldquoSTUSTrdquo character trajectory are evaluatedand their experimental tracking results are shown in Figures16 and 17 respectively In Figure 16(b) the tracking errorsshow that it can keep within plusmn02mm in 119909- and 119910-axis tablemotion plusmn001mm in 119911-axis table motion and 01162mmmean tracking error in overall helical circular motion whichreveals a good tracking response In performing themotion ofldquoSTUSTrdquo character the 119911-axis table just runs the up and downmotion the ldquoSTUSTrdquo character is drawn by the simultaneousmotion of 119909- and 119910-axis table The tracking error in Figure 17shows the maximum plusmn03mm in 119909-axis 119910-axis and 119911-axis table and less than 03mm in overall motion trackingTherefore Figures 16sim17 show a good tracking result in 3Dmotion contour tracking Therefore Figures 12sim17 presentthat the proposed FPGA-based multiaxis motion control ICis effectiveness and correctness
6 Conclusions
The FPGA-based multiaxis motion controller has been suc-cessfully demonstrated from ModelSimSimulink cosimula-tion to FPGA realization experiment in this paper For amultiaxis motion controller system DSP and FPGA all canprovide a good solution in implementation However dueto one DSP chip only can support one CPU inside and 12channels PWM output and 2 QEP output in its peripheralcircuit it is suitable for a two-axis motion controller systemIf we want to realize a multiaxis motion controller systemit needs several DSP chips In contrast with DSP FPGA hasthe properties of fast computing power parallel processingand hardware-software codesign which cause the multiaxismotion controller system to be implemented by one FPGAchip Finally the work herein is summarized as follows
(a) The functionalities required to build amultiaxis servocontroller and motion trajectory planning can beintegrated in one FPGA chip
(b) The computation of key algorithms such as SVPWMCCCT and FC in PMSM drive can be completedwithin 2 120583s by FPGA implementation
(c) The VHDL code of the proposed multiaxis servocontroller IP has been effectively verified from Mod-elSimSimulink cosimulation results
(d) Some experimental results by position step responsecircular window star and helical circular motiontrajectory tracking the specific character (ldquoSTUSTrdquo)motion trajectory tracking and so forth have revealedthat the proposed FPGA-based multiaxis motioncontroller is effectiveness and correctness
Conflict of Interests
The authors declare that there is no conflict of interestsregarding the publication of this paper
References
[1] J U Cho Q N Le and J W Jeon ldquoAn FPGA-based multiple-axis motion control chiprdquo IEEE Transactions on IndustrialElectronics vol 56 no 3 pp 856ndash870 2009
[2] X Shao and D Sun ldquoDevelopment of a new robot controllerarchitecture with FPGA-based IC design for improved high-speed performancerdquo IEEE Transactions on Industrial Informat-ics vol 3 no 4 pp 312ndash321 2007
[3] S S Yeh and J T Sun ldquoDesign of perfectly matched zero-phaseerror tracking control formulti-axismotion control systemsrdquo inProceedings of the SICE Annual Conference pp 528ndash533 August2012
[4] Y S Kung R F Fung and T Y Tai ldquoRealization of a motioncontrol IC forX-Y table based onnovel FPGA technologyrdquo IEEETransactions on Industrial Electronics vol 56 no 1 pp 43ndash532009
[5] S-S Yeh and P-L Hsu ldquoAnalysis and design of integratedcontrol for multi-axis motion systemsrdquo IEEE Transactions onControl Systems Technology vol 11 no 3 pp 375ndash382 2003
[6] Z Zhou T Li T Takahashi and E Ho ldquoFPGA realization of ahigh-performance servo controller for PMSMrdquo in Proceedingsof the 19th Annual IEEE Applied Power Electronics Conferenceand Exposition (APEC rsquo04) vol 3 pp 1604ndash1609 AnaheimCalif USA February 2004
[7] B K Bose Power Electronics and ACDrives Prentice Hall 1986[8] V Wilson P Agarwal and S P Srivastava ldquoPerformance
investigation of DSP based self-controlled PMSM driverdquo inProceedings of the Annual IEEE India Conference (INDICONrsquo12) pp 238ndash243 Kochi India December 2012
[9] E Monmasson L Idkhajine M N Cirstea I Bahri A Tisanand M W Naouar ldquoFPGAs in industrial control applicationsrdquoIEEE Transactions on Industrial Informatics vol 7 no 2 pp224ndash243 2011
[10] E Monmasson L Idkhajine and M W Naouar ldquoFPGA-basedcontrollersrdquo IEEE Industrial Electronics Magazine vol 5 no 1pp 14ndash26 2011
[11] Y S Kung V Q Nguyen T H Nguyen C-C Huang andL-C Huang ldquoSimulinkmodelsim co-simulation and FPGArealization of speed control IC for PMSM driverdquo ProcediaEngineering vol 23 pp 718ndash727 2011
Mathematical Problems in Engineering 17
[12] L Idkhajine E Monmasson M W Naouar A Prata andK Bouallaga ldquoFully integrated FPGA-based controller forsynchronous motor driverdquo IEEE Transactions on IndustrialElectronics vol 56 no 10 pp 4006ndash4017 2009
[13] B Alecsa M N Cirstea and A Onea ldquoSimulink modelingand design of an efficient hardware-constrained FPGA-basedPMSM speed controllerrdquo IEEE Transactions on Industrial Infor-matics vol 8 no 3 pp 554ndash562 2012
[14] H-H Chou Y-S Kung N Q Quynh and S Cheng ldquoOpti-mized FPGA design verification and implementation of aneuro-fuzzy controller for PMSM drivesrdquo Mathematics andComputers in Simulation vol 90 pp 28ndash44 2013
[15] Y Li J Huo X Li J Wen YWang and B Shan ldquoAn open-loopsinmicrostepping driver based on FPGA and the co-simulationof modelsim and simulinkrdquo in Proceedings of the InternationalConference on Computer Mechatronics Control and ElectronicEngineering (CMCE rsquo10) pp 223ndash227 August 2010
[16] The Mathworks ldquoMatlabSimulink Users Guide ApplicationProgram Interface Guiderdquo 2004
[17] ModeltechModelSim Reference Manual 2004[18] F-J Lin P-H Shieh and P-H Shen ldquoRobust recurrent-neural-
network sliding-mode control for the X-Y table of a CNCmachinerdquo IEE Proceedings ControlTheory andApplications vol153 no 1 pp 111ndash123 2006
Submit your manuscripts athttpwwwhindawicom
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
MathematicsJournal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Mathematical Problems in Engineering
Hindawi Publishing Corporationhttpwwwhindawicom
Differential EquationsInternational Journal of
Volume 2014
Applied MathematicsJournal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Probability and StatisticsHindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Journal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Mathematical PhysicsAdvances in
Complex AnalysisJournal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
OptimizationJournal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
CombinatoricsHindawi Publishing Corporationhttpwwwhindawicom Volume 2014
International Journal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Operations ResearchAdvances in
Journal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Function Spaces
Abstract and Applied AnalysisHindawi Publishing Corporationhttpwwwhindawicom Volume 2014
International Journal of Mathematics and Mathematical Sciences
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
The Scientific World JournalHindawi Publishing Corporation httpwwwhindawicom Volume 2014
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Algebra
Discrete Dynamics in Nature and Society
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Decision SciencesAdvances in
Discrete MathematicsJournal of
Hindawi Publishing Corporationhttpwwwhindawicom
Volume 2014 Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Stochastic AnalysisInternational Journal of
14 Mathematical Problems in Engineering
(mm
)
0
10
20
30
40
50
60
70
80
90
100
(mm)0 10 20 30 40 50 60 70 80 90 100
Tableposition
Positioncommand
(a)
Overall tracking error
-axis tracking error
-axis tracking error
Time (s)
0 10 20 30
0 10 20 30
0 10 20 30
0
04
06
08
02
0
04
02
(mm
)(m
m)
minus02
minus04
0
1
(mm
)
minus05
05y
x
(b)
0 10 20 30
Time (s)0 10 20 30
-axis position
Positioncommand
Positioncommand
-axis position
Tableposition
Tableposition
0
50
100
(mm
)
0
50
100
(mm
)
y
x
(c)
minus05
minus1
0
1
05
Time (s)0 10 20 30
0 10 20 30
(A)
minus05
minus1
minus15
0
1
05
(A)
id
id
iq
iq
-axis current
-axis current
y
x
(d)
Figure 15 (a) Star motion trajectory tracking (b) tracking error (c) position response (d) current response
in multiaxis motion table the indices are firstly defined asfollows
119879 (119896) = radic
119899
sum
119894=1
(119878lowast119901119894
(119896) minus 119878119901119894 (119909))2
119898119905119890 =
119898
sum
119896=1
119879 (119896)
119898
(25)
where 119879(119896) 119878lowast119901119894(119896) 119878119901119894(119896) 119899 119898 and 119898119905119890 respectively repre-
sent instantaneous error 119894th-axis position command 119894th-axisposition feedback number of motion table total acquisitiondata and mean tracking error Further in two-dimensionalmotion trajectory the circular motion trajectory control withcenter (50 50) mm and radius 25mm is evaluated and theexperimental results in motion trajectory tracking trackingerror position response and current response using same FCare shown in Figure 13 The tracking errors in Figure 13(b)show the maximum plusmn046mm in 119909-axis table maximum
Mathematical Problems in Engineering 15
0 20 40 60 80 100
020
4060
80100
051015202530
Y (mm)
Z(m
m)
Tableposition
Positioncommand
X (mm)
(a)
00102
0 67 133 20 267 333 40 467 533 60
Time (s)
(mm
)
Overall tracking error
0 67 133 20 267 333 40 467 533 60
Time (s)
(mm
)
minus020
02-axis tracking error
0 67 133 20 267 333 40 467 533 60
Time (s)
(mm
)
minus020
02-axis tracking error
0 67 133 20 267 333 40 467 533 60
Time (s)(m
m)
minus0010
001002
-axis tracking error
y
x z
(b)
Figure 16 (a) Helical circular motion trajectory and (b) tracking results
0020
4060
80
01020
50
100
150
200
250
Y (mm)
Z(m
m)
Position commandTracking response
X (mm)
(a)
Three axis
0 50 100 150 200
Time (s)
minus01
0
01
02
Trac
king
erro
r(m
m)
-axis
0 50 100 150 200
Time (s)
minus01
0
01
02
Trac
king
erro
r(m
m)
-axis
0 50 100 150 200
Time (s)
minus02
0
02
Trac
king
erro
r(m
m)
-axis
0 50 100 150 200
Time (s)
minus01
0
01
02
Trac
king
erro
r(m
m)
x
zy
(b)
Figure 17 Motion trajectory tracking and tracking error of STUST character
16 Mathematical Problems in Engineering
plusmn035mm in119910-axis table and 01759mmmean tracking errorin overall circularmotion It presents a good contour trackingresult Additional the current response of 119894119889-axis both in119909- and 119910-axis motors all can be controlled to zero whichpresents the success of the vector controller In the windowtracking motion the trajectory is designed as Figure 3(a)and its experimental results in motion trajectory trackingtracking error position response and current response areshown in Figure 14The tracking errors in Figure 14 show themaximum plusmn02mm in 119909-axis table maximum plusmn02mm in119910-axis table and 0054mm mean tracking error in overallmotion In the star trackingmotion the trajectory is designedas Figure 3(b) and its experimental results are shown inFigure 15 The tracking errors in Figure 15 show the maxi-mum plusmn04mm in 119909-axis table maximum plusmn055mm in 119910-axis table and 00698mm mean tracking error in overallstar motion However the larger tracking error in bothwindow and starmotion trajectory occurred at the position ofcommand suddenly changed otherwise the tracking error isvery smallThe results show a good contour tracking responsein both window and star motion trajectory Finally thethree-dimensional motion trajectory which is helical circulartrajectory and ldquoSTUSTrdquo character trajectory are evaluatedand their experimental tracking results are shown in Figures16 and 17 respectively In Figure 16(b) the tracking errorsshow that it can keep within plusmn02mm in 119909- and 119910-axis tablemotion plusmn001mm in 119911-axis table motion and 01162mmmean tracking error in overall helical circular motion whichreveals a good tracking response In performing themotion ofldquoSTUSTrdquo character the 119911-axis table just runs the up and downmotion the ldquoSTUSTrdquo character is drawn by the simultaneousmotion of 119909- and 119910-axis table The tracking error in Figure 17shows the maximum plusmn03mm in 119909-axis 119910-axis and 119911-axis table and less than 03mm in overall motion trackingTherefore Figures 16sim17 show a good tracking result in 3Dmotion contour tracking Therefore Figures 12sim17 presentthat the proposed FPGA-based multiaxis motion control ICis effectiveness and correctness
6 Conclusions
The FPGA-based multiaxis motion controller has been suc-cessfully demonstrated from ModelSimSimulink cosimula-tion to FPGA realization experiment in this paper For amultiaxis motion controller system DSP and FPGA all canprovide a good solution in implementation However dueto one DSP chip only can support one CPU inside and 12channels PWM output and 2 QEP output in its peripheralcircuit it is suitable for a two-axis motion controller systemIf we want to realize a multiaxis motion controller systemit needs several DSP chips In contrast with DSP FPGA hasthe properties of fast computing power parallel processingand hardware-software codesign which cause the multiaxismotion controller system to be implemented by one FPGAchip Finally the work herein is summarized as follows
(a) The functionalities required to build amultiaxis servocontroller and motion trajectory planning can beintegrated in one FPGA chip
(b) The computation of key algorithms such as SVPWMCCCT and FC in PMSM drive can be completedwithin 2 120583s by FPGA implementation
(c) The VHDL code of the proposed multiaxis servocontroller IP has been effectively verified from Mod-elSimSimulink cosimulation results
(d) Some experimental results by position step responsecircular window star and helical circular motiontrajectory tracking the specific character (ldquoSTUSTrdquo)motion trajectory tracking and so forth have revealedthat the proposed FPGA-based multiaxis motioncontroller is effectiveness and correctness
Conflict of Interests
The authors declare that there is no conflict of interestsregarding the publication of this paper
References
[1] J U Cho Q N Le and J W Jeon ldquoAn FPGA-based multiple-axis motion control chiprdquo IEEE Transactions on IndustrialElectronics vol 56 no 3 pp 856ndash870 2009
[2] X Shao and D Sun ldquoDevelopment of a new robot controllerarchitecture with FPGA-based IC design for improved high-speed performancerdquo IEEE Transactions on Industrial Informat-ics vol 3 no 4 pp 312ndash321 2007
[3] S S Yeh and J T Sun ldquoDesign of perfectly matched zero-phaseerror tracking control formulti-axismotion control systemsrdquo inProceedings of the SICE Annual Conference pp 528ndash533 August2012
[4] Y S Kung R F Fung and T Y Tai ldquoRealization of a motioncontrol IC forX-Y table based onnovel FPGA technologyrdquo IEEETransactions on Industrial Electronics vol 56 no 1 pp 43ndash532009
[5] S-S Yeh and P-L Hsu ldquoAnalysis and design of integratedcontrol for multi-axis motion systemsrdquo IEEE Transactions onControl Systems Technology vol 11 no 3 pp 375ndash382 2003
[6] Z Zhou T Li T Takahashi and E Ho ldquoFPGA realization of ahigh-performance servo controller for PMSMrdquo in Proceedingsof the 19th Annual IEEE Applied Power Electronics Conferenceand Exposition (APEC rsquo04) vol 3 pp 1604ndash1609 AnaheimCalif USA February 2004
[7] B K Bose Power Electronics and ACDrives Prentice Hall 1986[8] V Wilson P Agarwal and S P Srivastava ldquoPerformance
investigation of DSP based self-controlled PMSM driverdquo inProceedings of the Annual IEEE India Conference (INDICONrsquo12) pp 238ndash243 Kochi India December 2012
[9] E Monmasson L Idkhajine M N Cirstea I Bahri A Tisanand M W Naouar ldquoFPGAs in industrial control applicationsrdquoIEEE Transactions on Industrial Informatics vol 7 no 2 pp224ndash243 2011
[10] E Monmasson L Idkhajine and M W Naouar ldquoFPGA-basedcontrollersrdquo IEEE Industrial Electronics Magazine vol 5 no 1pp 14ndash26 2011
[11] Y S Kung V Q Nguyen T H Nguyen C-C Huang andL-C Huang ldquoSimulinkmodelsim co-simulation and FPGArealization of speed control IC for PMSM driverdquo ProcediaEngineering vol 23 pp 718ndash727 2011
Mathematical Problems in Engineering 17
[12] L Idkhajine E Monmasson M W Naouar A Prata andK Bouallaga ldquoFully integrated FPGA-based controller forsynchronous motor driverdquo IEEE Transactions on IndustrialElectronics vol 56 no 10 pp 4006ndash4017 2009
[13] B Alecsa M N Cirstea and A Onea ldquoSimulink modelingand design of an efficient hardware-constrained FPGA-basedPMSM speed controllerrdquo IEEE Transactions on Industrial Infor-matics vol 8 no 3 pp 554ndash562 2012
[14] H-H Chou Y-S Kung N Q Quynh and S Cheng ldquoOpti-mized FPGA design verification and implementation of aneuro-fuzzy controller for PMSM drivesrdquo Mathematics andComputers in Simulation vol 90 pp 28ndash44 2013
[15] Y Li J Huo X Li J Wen YWang and B Shan ldquoAn open-loopsinmicrostepping driver based on FPGA and the co-simulationof modelsim and simulinkrdquo in Proceedings of the InternationalConference on Computer Mechatronics Control and ElectronicEngineering (CMCE rsquo10) pp 223ndash227 August 2010
[16] The Mathworks ldquoMatlabSimulink Users Guide ApplicationProgram Interface Guiderdquo 2004
[17] ModeltechModelSim Reference Manual 2004[18] F-J Lin P-H Shieh and P-H Shen ldquoRobust recurrent-neural-
network sliding-mode control for the X-Y table of a CNCmachinerdquo IEE Proceedings ControlTheory andApplications vol153 no 1 pp 111ndash123 2006
Submit your manuscripts athttpwwwhindawicom
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
MathematicsJournal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Mathematical Problems in Engineering
Hindawi Publishing Corporationhttpwwwhindawicom
Differential EquationsInternational Journal of
Volume 2014
Applied MathematicsJournal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Probability and StatisticsHindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Journal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Mathematical PhysicsAdvances in
Complex AnalysisJournal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
OptimizationJournal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
CombinatoricsHindawi Publishing Corporationhttpwwwhindawicom Volume 2014
International Journal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Operations ResearchAdvances in
Journal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Function Spaces
Abstract and Applied AnalysisHindawi Publishing Corporationhttpwwwhindawicom Volume 2014
International Journal of Mathematics and Mathematical Sciences
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
The Scientific World JournalHindawi Publishing Corporation httpwwwhindawicom Volume 2014
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Algebra
Discrete Dynamics in Nature and Society
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Decision SciencesAdvances in
Discrete MathematicsJournal of
Hindawi Publishing Corporationhttpwwwhindawicom
Volume 2014 Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Stochastic AnalysisInternational Journal of
Mathematical Problems in Engineering 15
0 20 40 60 80 100
020
4060
80100
051015202530
Y (mm)
Z(m
m)
Tableposition
Positioncommand
X (mm)
(a)
00102
0 67 133 20 267 333 40 467 533 60
Time (s)
(mm
)
Overall tracking error
0 67 133 20 267 333 40 467 533 60
Time (s)
(mm
)
minus020
02-axis tracking error
0 67 133 20 267 333 40 467 533 60
Time (s)
(mm
)
minus020
02-axis tracking error
0 67 133 20 267 333 40 467 533 60
Time (s)(m
m)
minus0010
001002
-axis tracking error
y
x z
(b)
Figure 16 (a) Helical circular motion trajectory and (b) tracking results
0020
4060
80
01020
50
100
150
200
250
Y (mm)
Z(m
m)
Position commandTracking response
X (mm)
(a)
Three axis
0 50 100 150 200
Time (s)
minus01
0
01
02
Trac
king
erro
r(m
m)
-axis
0 50 100 150 200
Time (s)
minus01
0
01
02
Trac
king
erro
r(m
m)
-axis
0 50 100 150 200
Time (s)
minus02
0
02
Trac
king
erro
r(m
m)
-axis
0 50 100 150 200
Time (s)
minus01
0
01
02
Trac
king
erro
r(m
m)
x
zy
(b)
Figure 17 Motion trajectory tracking and tracking error of STUST character
16 Mathematical Problems in Engineering
plusmn035mm in119910-axis table and 01759mmmean tracking errorin overall circularmotion It presents a good contour trackingresult Additional the current response of 119894119889-axis both in119909- and 119910-axis motors all can be controlled to zero whichpresents the success of the vector controller In the windowtracking motion the trajectory is designed as Figure 3(a)and its experimental results in motion trajectory trackingtracking error position response and current response areshown in Figure 14The tracking errors in Figure 14 show themaximum plusmn02mm in 119909-axis table maximum plusmn02mm in119910-axis table and 0054mm mean tracking error in overallmotion In the star trackingmotion the trajectory is designedas Figure 3(b) and its experimental results are shown inFigure 15 The tracking errors in Figure 15 show the maxi-mum plusmn04mm in 119909-axis table maximum plusmn055mm in 119910-axis table and 00698mm mean tracking error in overallstar motion However the larger tracking error in bothwindow and starmotion trajectory occurred at the position ofcommand suddenly changed otherwise the tracking error isvery smallThe results show a good contour tracking responsein both window and star motion trajectory Finally thethree-dimensional motion trajectory which is helical circulartrajectory and ldquoSTUSTrdquo character trajectory are evaluatedand their experimental tracking results are shown in Figures16 and 17 respectively In Figure 16(b) the tracking errorsshow that it can keep within plusmn02mm in 119909- and 119910-axis tablemotion plusmn001mm in 119911-axis table motion and 01162mmmean tracking error in overall helical circular motion whichreveals a good tracking response In performing themotion ofldquoSTUSTrdquo character the 119911-axis table just runs the up and downmotion the ldquoSTUSTrdquo character is drawn by the simultaneousmotion of 119909- and 119910-axis table The tracking error in Figure 17shows the maximum plusmn03mm in 119909-axis 119910-axis and 119911-axis table and less than 03mm in overall motion trackingTherefore Figures 16sim17 show a good tracking result in 3Dmotion contour tracking Therefore Figures 12sim17 presentthat the proposed FPGA-based multiaxis motion control ICis effectiveness and correctness
6 Conclusions
The FPGA-based multiaxis motion controller has been suc-cessfully demonstrated from ModelSimSimulink cosimula-tion to FPGA realization experiment in this paper For amultiaxis motion controller system DSP and FPGA all canprovide a good solution in implementation However dueto one DSP chip only can support one CPU inside and 12channels PWM output and 2 QEP output in its peripheralcircuit it is suitable for a two-axis motion controller systemIf we want to realize a multiaxis motion controller systemit needs several DSP chips In contrast with DSP FPGA hasthe properties of fast computing power parallel processingand hardware-software codesign which cause the multiaxismotion controller system to be implemented by one FPGAchip Finally the work herein is summarized as follows
(a) The functionalities required to build amultiaxis servocontroller and motion trajectory planning can beintegrated in one FPGA chip
(b) The computation of key algorithms such as SVPWMCCCT and FC in PMSM drive can be completedwithin 2 120583s by FPGA implementation
(c) The VHDL code of the proposed multiaxis servocontroller IP has been effectively verified from Mod-elSimSimulink cosimulation results
(d) Some experimental results by position step responsecircular window star and helical circular motiontrajectory tracking the specific character (ldquoSTUSTrdquo)motion trajectory tracking and so forth have revealedthat the proposed FPGA-based multiaxis motioncontroller is effectiveness and correctness
Conflict of Interests
The authors declare that there is no conflict of interestsregarding the publication of this paper
References
[1] J U Cho Q N Le and J W Jeon ldquoAn FPGA-based multiple-axis motion control chiprdquo IEEE Transactions on IndustrialElectronics vol 56 no 3 pp 856ndash870 2009
[2] X Shao and D Sun ldquoDevelopment of a new robot controllerarchitecture with FPGA-based IC design for improved high-speed performancerdquo IEEE Transactions on Industrial Informat-ics vol 3 no 4 pp 312ndash321 2007
[3] S S Yeh and J T Sun ldquoDesign of perfectly matched zero-phaseerror tracking control formulti-axismotion control systemsrdquo inProceedings of the SICE Annual Conference pp 528ndash533 August2012
[4] Y S Kung R F Fung and T Y Tai ldquoRealization of a motioncontrol IC forX-Y table based onnovel FPGA technologyrdquo IEEETransactions on Industrial Electronics vol 56 no 1 pp 43ndash532009
[5] S-S Yeh and P-L Hsu ldquoAnalysis and design of integratedcontrol for multi-axis motion systemsrdquo IEEE Transactions onControl Systems Technology vol 11 no 3 pp 375ndash382 2003
[6] Z Zhou T Li T Takahashi and E Ho ldquoFPGA realization of ahigh-performance servo controller for PMSMrdquo in Proceedingsof the 19th Annual IEEE Applied Power Electronics Conferenceand Exposition (APEC rsquo04) vol 3 pp 1604ndash1609 AnaheimCalif USA February 2004
[7] B K Bose Power Electronics and ACDrives Prentice Hall 1986[8] V Wilson P Agarwal and S P Srivastava ldquoPerformance
investigation of DSP based self-controlled PMSM driverdquo inProceedings of the Annual IEEE India Conference (INDICONrsquo12) pp 238ndash243 Kochi India December 2012
[9] E Monmasson L Idkhajine M N Cirstea I Bahri A Tisanand M W Naouar ldquoFPGAs in industrial control applicationsrdquoIEEE Transactions on Industrial Informatics vol 7 no 2 pp224ndash243 2011
[10] E Monmasson L Idkhajine and M W Naouar ldquoFPGA-basedcontrollersrdquo IEEE Industrial Electronics Magazine vol 5 no 1pp 14ndash26 2011
[11] Y S Kung V Q Nguyen T H Nguyen C-C Huang andL-C Huang ldquoSimulinkmodelsim co-simulation and FPGArealization of speed control IC for PMSM driverdquo ProcediaEngineering vol 23 pp 718ndash727 2011
Mathematical Problems in Engineering 17
[12] L Idkhajine E Monmasson M W Naouar A Prata andK Bouallaga ldquoFully integrated FPGA-based controller forsynchronous motor driverdquo IEEE Transactions on IndustrialElectronics vol 56 no 10 pp 4006ndash4017 2009
[13] B Alecsa M N Cirstea and A Onea ldquoSimulink modelingand design of an efficient hardware-constrained FPGA-basedPMSM speed controllerrdquo IEEE Transactions on Industrial Infor-matics vol 8 no 3 pp 554ndash562 2012
[14] H-H Chou Y-S Kung N Q Quynh and S Cheng ldquoOpti-mized FPGA design verification and implementation of aneuro-fuzzy controller for PMSM drivesrdquo Mathematics andComputers in Simulation vol 90 pp 28ndash44 2013
[15] Y Li J Huo X Li J Wen YWang and B Shan ldquoAn open-loopsinmicrostepping driver based on FPGA and the co-simulationof modelsim and simulinkrdquo in Proceedings of the InternationalConference on Computer Mechatronics Control and ElectronicEngineering (CMCE rsquo10) pp 223ndash227 August 2010
[16] The Mathworks ldquoMatlabSimulink Users Guide ApplicationProgram Interface Guiderdquo 2004
[17] ModeltechModelSim Reference Manual 2004[18] F-J Lin P-H Shieh and P-H Shen ldquoRobust recurrent-neural-
network sliding-mode control for the X-Y table of a CNCmachinerdquo IEE Proceedings ControlTheory andApplications vol153 no 1 pp 111ndash123 2006
Submit your manuscripts athttpwwwhindawicom
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
MathematicsJournal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Mathematical Problems in Engineering
Hindawi Publishing Corporationhttpwwwhindawicom
Differential EquationsInternational Journal of
Volume 2014
Applied MathematicsJournal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Probability and StatisticsHindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Journal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Mathematical PhysicsAdvances in
Complex AnalysisJournal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
OptimizationJournal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
CombinatoricsHindawi Publishing Corporationhttpwwwhindawicom Volume 2014
International Journal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Operations ResearchAdvances in
Journal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Function Spaces
Abstract and Applied AnalysisHindawi Publishing Corporationhttpwwwhindawicom Volume 2014
International Journal of Mathematics and Mathematical Sciences
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
The Scientific World JournalHindawi Publishing Corporation httpwwwhindawicom Volume 2014
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Algebra
Discrete Dynamics in Nature and Society
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Decision SciencesAdvances in
Discrete MathematicsJournal of
Hindawi Publishing Corporationhttpwwwhindawicom
Volume 2014 Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Stochastic AnalysisInternational Journal of
16 Mathematical Problems in Engineering
plusmn035mm in119910-axis table and 01759mmmean tracking errorin overall circularmotion It presents a good contour trackingresult Additional the current response of 119894119889-axis both in119909- and 119910-axis motors all can be controlled to zero whichpresents the success of the vector controller In the windowtracking motion the trajectory is designed as Figure 3(a)and its experimental results in motion trajectory trackingtracking error position response and current response areshown in Figure 14The tracking errors in Figure 14 show themaximum plusmn02mm in 119909-axis table maximum plusmn02mm in119910-axis table and 0054mm mean tracking error in overallmotion In the star trackingmotion the trajectory is designedas Figure 3(b) and its experimental results are shown inFigure 15 The tracking errors in Figure 15 show the maxi-mum plusmn04mm in 119909-axis table maximum plusmn055mm in 119910-axis table and 00698mm mean tracking error in overallstar motion However the larger tracking error in bothwindow and starmotion trajectory occurred at the position ofcommand suddenly changed otherwise the tracking error isvery smallThe results show a good contour tracking responsein both window and star motion trajectory Finally thethree-dimensional motion trajectory which is helical circulartrajectory and ldquoSTUSTrdquo character trajectory are evaluatedand their experimental tracking results are shown in Figures16 and 17 respectively In Figure 16(b) the tracking errorsshow that it can keep within plusmn02mm in 119909- and 119910-axis tablemotion plusmn001mm in 119911-axis table motion and 01162mmmean tracking error in overall helical circular motion whichreveals a good tracking response In performing themotion ofldquoSTUSTrdquo character the 119911-axis table just runs the up and downmotion the ldquoSTUSTrdquo character is drawn by the simultaneousmotion of 119909- and 119910-axis table The tracking error in Figure 17shows the maximum plusmn03mm in 119909-axis 119910-axis and 119911-axis table and less than 03mm in overall motion trackingTherefore Figures 16sim17 show a good tracking result in 3Dmotion contour tracking Therefore Figures 12sim17 presentthat the proposed FPGA-based multiaxis motion control ICis effectiveness and correctness
6 Conclusions
The FPGA-based multiaxis motion controller has been suc-cessfully demonstrated from ModelSimSimulink cosimula-tion to FPGA realization experiment in this paper For amultiaxis motion controller system DSP and FPGA all canprovide a good solution in implementation However dueto one DSP chip only can support one CPU inside and 12channels PWM output and 2 QEP output in its peripheralcircuit it is suitable for a two-axis motion controller systemIf we want to realize a multiaxis motion controller systemit needs several DSP chips In contrast with DSP FPGA hasthe properties of fast computing power parallel processingand hardware-software codesign which cause the multiaxismotion controller system to be implemented by one FPGAchip Finally the work herein is summarized as follows
(a) The functionalities required to build amultiaxis servocontroller and motion trajectory planning can beintegrated in one FPGA chip
(b) The computation of key algorithms such as SVPWMCCCT and FC in PMSM drive can be completedwithin 2 120583s by FPGA implementation
(c) The VHDL code of the proposed multiaxis servocontroller IP has been effectively verified from Mod-elSimSimulink cosimulation results
(d) Some experimental results by position step responsecircular window star and helical circular motiontrajectory tracking the specific character (ldquoSTUSTrdquo)motion trajectory tracking and so forth have revealedthat the proposed FPGA-based multiaxis motioncontroller is effectiveness and correctness
Conflict of Interests
The authors declare that there is no conflict of interestsregarding the publication of this paper
References
[1] J U Cho Q N Le and J W Jeon ldquoAn FPGA-based multiple-axis motion control chiprdquo IEEE Transactions on IndustrialElectronics vol 56 no 3 pp 856ndash870 2009
[2] X Shao and D Sun ldquoDevelopment of a new robot controllerarchitecture with FPGA-based IC design for improved high-speed performancerdquo IEEE Transactions on Industrial Informat-ics vol 3 no 4 pp 312ndash321 2007
[3] S S Yeh and J T Sun ldquoDesign of perfectly matched zero-phaseerror tracking control formulti-axismotion control systemsrdquo inProceedings of the SICE Annual Conference pp 528ndash533 August2012
[4] Y S Kung R F Fung and T Y Tai ldquoRealization of a motioncontrol IC forX-Y table based onnovel FPGA technologyrdquo IEEETransactions on Industrial Electronics vol 56 no 1 pp 43ndash532009
[5] S-S Yeh and P-L Hsu ldquoAnalysis and design of integratedcontrol for multi-axis motion systemsrdquo IEEE Transactions onControl Systems Technology vol 11 no 3 pp 375ndash382 2003
[6] Z Zhou T Li T Takahashi and E Ho ldquoFPGA realization of ahigh-performance servo controller for PMSMrdquo in Proceedingsof the 19th Annual IEEE Applied Power Electronics Conferenceand Exposition (APEC rsquo04) vol 3 pp 1604ndash1609 AnaheimCalif USA February 2004
[7] B K Bose Power Electronics and ACDrives Prentice Hall 1986[8] V Wilson P Agarwal and S P Srivastava ldquoPerformance
investigation of DSP based self-controlled PMSM driverdquo inProceedings of the Annual IEEE India Conference (INDICONrsquo12) pp 238ndash243 Kochi India December 2012
[9] E Monmasson L Idkhajine M N Cirstea I Bahri A Tisanand M W Naouar ldquoFPGAs in industrial control applicationsrdquoIEEE Transactions on Industrial Informatics vol 7 no 2 pp224ndash243 2011
[10] E Monmasson L Idkhajine and M W Naouar ldquoFPGA-basedcontrollersrdquo IEEE Industrial Electronics Magazine vol 5 no 1pp 14ndash26 2011
[11] Y S Kung V Q Nguyen T H Nguyen C-C Huang andL-C Huang ldquoSimulinkmodelsim co-simulation and FPGArealization of speed control IC for PMSM driverdquo ProcediaEngineering vol 23 pp 718ndash727 2011
Mathematical Problems in Engineering 17
[12] L Idkhajine E Monmasson M W Naouar A Prata andK Bouallaga ldquoFully integrated FPGA-based controller forsynchronous motor driverdquo IEEE Transactions on IndustrialElectronics vol 56 no 10 pp 4006ndash4017 2009
[13] B Alecsa M N Cirstea and A Onea ldquoSimulink modelingand design of an efficient hardware-constrained FPGA-basedPMSM speed controllerrdquo IEEE Transactions on Industrial Infor-matics vol 8 no 3 pp 554ndash562 2012
[14] H-H Chou Y-S Kung N Q Quynh and S Cheng ldquoOpti-mized FPGA design verification and implementation of aneuro-fuzzy controller for PMSM drivesrdquo Mathematics andComputers in Simulation vol 90 pp 28ndash44 2013
[15] Y Li J Huo X Li J Wen YWang and B Shan ldquoAn open-loopsinmicrostepping driver based on FPGA and the co-simulationof modelsim and simulinkrdquo in Proceedings of the InternationalConference on Computer Mechatronics Control and ElectronicEngineering (CMCE rsquo10) pp 223ndash227 August 2010
[16] The Mathworks ldquoMatlabSimulink Users Guide ApplicationProgram Interface Guiderdquo 2004
[17] ModeltechModelSim Reference Manual 2004[18] F-J Lin P-H Shieh and P-H Shen ldquoRobust recurrent-neural-
network sliding-mode control for the X-Y table of a CNCmachinerdquo IEE Proceedings ControlTheory andApplications vol153 no 1 pp 111ndash123 2006
Submit your manuscripts athttpwwwhindawicom
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
MathematicsJournal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Mathematical Problems in Engineering
Hindawi Publishing Corporationhttpwwwhindawicom
Differential EquationsInternational Journal of
Volume 2014
Applied MathematicsJournal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Probability and StatisticsHindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Journal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Mathematical PhysicsAdvances in
Complex AnalysisJournal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
OptimizationJournal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
CombinatoricsHindawi Publishing Corporationhttpwwwhindawicom Volume 2014
International Journal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Operations ResearchAdvances in
Journal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Function Spaces
Abstract and Applied AnalysisHindawi Publishing Corporationhttpwwwhindawicom Volume 2014
International Journal of Mathematics and Mathematical Sciences
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
The Scientific World JournalHindawi Publishing Corporation httpwwwhindawicom Volume 2014
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Algebra
Discrete Dynamics in Nature and Society
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Decision SciencesAdvances in
Discrete MathematicsJournal of
Hindawi Publishing Corporationhttpwwwhindawicom
Volume 2014 Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Stochastic AnalysisInternational Journal of
Mathematical Problems in Engineering 17
[12] L Idkhajine E Monmasson M W Naouar A Prata andK Bouallaga ldquoFully integrated FPGA-based controller forsynchronous motor driverdquo IEEE Transactions on IndustrialElectronics vol 56 no 10 pp 4006ndash4017 2009
[13] B Alecsa M N Cirstea and A Onea ldquoSimulink modelingand design of an efficient hardware-constrained FPGA-basedPMSM speed controllerrdquo IEEE Transactions on Industrial Infor-matics vol 8 no 3 pp 554ndash562 2012
[14] H-H Chou Y-S Kung N Q Quynh and S Cheng ldquoOpti-mized FPGA design verification and implementation of aneuro-fuzzy controller for PMSM drivesrdquo Mathematics andComputers in Simulation vol 90 pp 28ndash44 2013
[15] Y Li J Huo X Li J Wen YWang and B Shan ldquoAn open-loopsinmicrostepping driver based on FPGA and the co-simulationof modelsim and simulinkrdquo in Proceedings of the InternationalConference on Computer Mechatronics Control and ElectronicEngineering (CMCE rsquo10) pp 223ndash227 August 2010
[16] The Mathworks ldquoMatlabSimulink Users Guide ApplicationProgram Interface Guiderdquo 2004
[17] ModeltechModelSim Reference Manual 2004[18] F-J Lin P-H Shieh and P-H Shen ldquoRobust recurrent-neural-
network sliding-mode control for the X-Y table of a CNCmachinerdquo IEE Proceedings ControlTheory andApplications vol153 no 1 pp 111ndash123 2006
Submit your manuscripts athttpwwwhindawicom
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
MathematicsJournal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Mathematical Problems in Engineering
Hindawi Publishing Corporationhttpwwwhindawicom
Differential EquationsInternational Journal of
Volume 2014
Applied MathematicsJournal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Probability and StatisticsHindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Journal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Mathematical PhysicsAdvances in
Complex AnalysisJournal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
OptimizationJournal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
CombinatoricsHindawi Publishing Corporationhttpwwwhindawicom Volume 2014
International Journal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Operations ResearchAdvances in
Journal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Function Spaces
Abstract and Applied AnalysisHindawi Publishing Corporationhttpwwwhindawicom Volume 2014
International Journal of Mathematics and Mathematical Sciences
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
The Scientific World JournalHindawi Publishing Corporation httpwwwhindawicom Volume 2014
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Algebra
Discrete Dynamics in Nature and Society
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Decision SciencesAdvances in
Discrete MathematicsJournal of
Hindawi Publishing Corporationhttpwwwhindawicom
Volume 2014 Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Stochastic AnalysisInternational Journal of
Submit your manuscripts athttpwwwhindawicom
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
MathematicsJournal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Mathematical Problems in Engineering
Hindawi Publishing Corporationhttpwwwhindawicom
Differential EquationsInternational Journal of
Volume 2014
Applied MathematicsJournal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Probability and StatisticsHindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Journal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Mathematical PhysicsAdvances in
Complex AnalysisJournal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
OptimizationJournal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
CombinatoricsHindawi Publishing Corporationhttpwwwhindawicom Volume 2014
International Journal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Operations ResearchAdvances in
Journal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Function Spaces
Abstract and Applied AnalysisHindawi Publishing Corporationhttpwwwhindawicom Volume 2014
International Journal of Mathematics and Mathematical Sciences
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
The Scientific World JournalHindawi Publishing Corporation httpwwwhindawicom Volume 2014
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Algebra
Discrete Dynamics in Nature and Society
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Decision SciencesAdvances in
Discrete MathematicsJournal of
Hindawi Publishing Corporationhttpwwwhindawicom
Volume 2014 Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Stochastic AnalysisInternational Journal of