18
Research Article ModelSim/Simulink Cosimulation and FPGA Realization of a Multiaxis Motion Controller Ying-Shieh Kung, 1 Jin-Mu Lin, 1 Yu-Jen Chen, 1 and Hsin-Hung Chou 2 1 Department of Electrical Engineering, Southern Taiwan University of Science and Technology, 1 Nan-Tai Street, Yong-Kang District, Tainan City 710, Taiwan 2 Mechanical and System Research Laboratories, Industrial Technology Research Institute, Section 4, 195 Chung Hsing Road, Chutung, Hsinchu 310, Taiwan Correspondence should be addressed to Ying-Shieh Kung; [email protected] Received 20 August 2014; Accepted 13 September 2014 Academic Editor: Stephen D. Prior Copyright © 2015 Ying-Shieh Kung et al. is is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited. is paper is to implement a multiaxis servo controller and a motion trajectory planning within one chip. At first, SoPC (system on a programmable chip) technology which is composed of an Altera FPGA (field programmable gate arrays) chip and an embedded soſt-core Nios II processor is taken as the development of a multiaxis motion control IC. e multiaxis motion control IC has two modules. e first module is Nios II processor which realizes the motion trajectory planning by soſtware. It includes the step, circular, window, star, and helical motion trajectory. e second module presents a function of the multiaxis position/speed/current controller IP (intellectual property) by hardware. And VHDL (VHSIC Hardware Description Language) is applied to describe the multiaxis servo controller behavior. Before the FPGA realization, a cosimulation work by ModelSim/Simulink is applied to test the VHDL code. en, this IP combined by Nios II processor will be downloaded to FPGA. erefore, a fully digital multiaxis motion controller can be realized by a single FPGA chip. Finally, to verify the effectiveness and correctness of the proposed multiaxis motion control IP, a three-axis motion platform (XYZ table) is constructed and some experimental results are presented. 1. Introduction e integration of a multiaxis servo and motion controller into one chip and then application to XYZ table, CNC (Computed Numerically Controlled) machine or robotic system, and so forth, for reducing the system volume and increasing the system performance and motion stability, have become a popular research topic in literatures [15]. Further, in typical applications, adopting PMSM as an actuator in automatic multiaxis equipment is a major technique trend due to its excellent high power density and better motion control characteristics, fast response and accuracy position- ing [68]. In traditional machine, it usually utilizes one central controller for planning the motion trajectory and multiple microprocessors for multiaxis servo motor drive system to establish a multiaxis motion controller. In this architecture, the coordination and communication between center controller and multiple microprocessors are a chal- lenge task in the automatic multiaxis equipment. However, some drawbacks appear, such as large volume, being easily affected by the noise, expensive cost, and inflexible. In addition, data communication and handshaking protocol between the central controller and multiple microprocessors certainly slow down the system executing speed. To solve this problem, FPGA provides a best solution among those commercial high-end microprocessors due to its fast compu- tational power, parallel processing ability, field programmable characteristics, and SoPC environment which can perform hardware-soſtware codesign task [912]. For example, in the design of PMSM servo drive using FPGA, it only needs less than 2 s in realizing the SVPWM algorithm, less than 3 s in implementing the current vector controller, and less than 3 s in executing the fuzzy controller algorithm in speed loop. e fast computational and parallel processing characteristics make it possible to integrate multiaxis servo controllers and the function of motion trajectory planning into one FPGA. Recently, a cosimulation work by Electronic Design Automation (EDA) Simulator Link has been gradually Hindawi Publishing Corporation Mathematical Problems in Engineering Volume 2015, Article ID 202474, 17 pages http://dx.doi.org/10.1155/2015/202474

Research Article ModelSim/Simulink Cosimulation and …downloads.hindawi.com/journals/mpe/2015/202474.pdf · Research Article ModelSim/Simulink Cosimulation and FPGA Realization of

  • Upload
    danganh

  • View
    288

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Research Article ModelSim/Simulink Cosimulation and …downloads.hindawi.com/journals/mpe/2015/202474.pdf · Research Article ModelSim/Simulink Cosimulation and FPGA Realization of

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

Page 2: Research Article ModelSim/Simulink Cosimulation and …downloads.hindawi.com/journals/mpe/2015/202474.pdf · Research Article ModelSim/Simulink Cosimulation and FPGA Realization 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

Page 3: Research Article ModelSim/Simulink Cosimulation and …downloads.hindawi.com/journals/mpe/2015/202474.pdf · Research Article ModelSim/Simulink Cosimulation and FPGA Realization 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

Page 4: Research Article ModelSim/Simulink Cosimulation and …downloads.hindawi.com/journals/mpe/2015/202474.pdf · Research Article ModelSim/Simulink Cosimulation and FPGA Realization 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

Page 5: Research Article ModelSim/Simulink Cosimulation and …downloads.hindawi.com/journals/mpe/2015/202474.pdf · Research Article ModelSim/Simulink Cosimulation and FPGA Realization 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

Page 6: Research Article ModelSim/Simulink Cosimulation and …downloads.hindawi.com/journals/mpe/2015/202474.pdf · Research Article ModelSim/Simulink Cosimulation and FPGA Realization 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

Page 7: Research Article ModelSim/Simulink Cosimulation and …downloads.hindawi.com/journals/mpe/2015/202474.pdf · Research Article ModelSim/Simulink Cosimulation and FPGA Realization 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

Page 8: Research Article ModelSim/Simulink Cosimulation and …downloads.hindawi.com/journals/mpe/2015/202474.pdf · Research Article ModelSim/Simulink Cosimulation and FPGA Realization 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

Page 9: Research Article ModelSim/Simulink Cosimulation and …downloads.hindawi.com/journals/mpe/2015/202474.pdf · Research Article ModelSim/Simulink Cosimulation and FPGA Realization 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

Page 10: Research Article ModelSim/Simulink Cosimulation and …downloads.hindawi.com/journals/mpe/2015/202474.pdf · Research Article ModelSim/Simulink Cosimulation and FPGA Realization 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

Page 11: Research Article ModelSim/Simulink Cosimulation and …downloads.hindawi.com/journals/mpe/2015/202474.pdf · Research Article ModelSim/Simulink Cosimulation and FPGA Realization 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

Page 12: Research Article ModelSim/Simulink Cosimulation and …downloads.hindawi.com/journals/mpe/2015/202474.pdf · Research Article ModelSim/Simulink Cosimulation and FPGA Realization 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

Page 13: Research Article ModelSim/Simulink Cosimulation and …downloads.hindawi.com/journals/mpe/2015/202474.pdf · Research Article ModelSim/Simulink Cosimulation and FPGA Realization 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

Page 14: Research Article ModelSim/Simulink Cosimulation and …downloads.hindawi.com/journals/mpe/2015/202474.pdf · Research Article ModelSim/Simulink Cosimulation and FPGA Realization 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

Page 15: Research Article ModelSim/Simulink Cosimulation and …downloads.hindawi.com/journals/mpe/2015/202474.pdf · Research Article ModelSim/Simulink Cosimulation and FPGA Realization 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

Page 16: Research Article ModelSim/Simulink Cosimulation and …downloads.hindawi.com/journals/mpe/2015/202474.pdf · Research Article ModelSim/Simulink Cosimulation and FPGA Realization 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

Page 17: Research Article ModelSim/Simulink Cosimulation and …downloads.hindawi.com/journals/mpe/2015/202474.pdf · Research Article ModelSim/Simulink Cosimulation and FPGA Realization 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

Page 18: Research Article ModelSim/Simulink Cosimulation and …downloads.hindawi.com/journals/mpe/2015/202474.pdf · Research Article ModelSim/Simulink Cosimulation and FPGA Realization 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