15-Servo Drive System With Simulink and Simplorer PDF

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

Servo Drive System Control

Design Combining SIMPLORER


and Simulink

Lei Xia, Ph.D.


Application Engineer
Servo Drives
w Torque and Speed Controlled Drive Systems
w High Dynamic Requirements
w Components
w Torque and Speed Control
w Inverter
w Servo Motor
w Spindle Drive
w Strong interactions between the system
components
Basic Drive System Structure

Control System
(Analog, Digital, DSP, FPGA etc.)

AC/DC DC/AC
Supply
Power

DC Servo
Converter/ Converter/
Link Motor
Rectifier Inverter

Mechanical
Load
SIMPLORER Modeling Capabilities

Block Diagrams, State Machines


Control System
(Analog, Digital,
C-Code, DSP, FPGA etc.)
VHDL-AMS

ar al
AC/DC DC/AC
Supply
Power

br ic
Electric
DCCircuits Servo

Li han
Converter/ Converter/

y
Link
VHDL-AMS Inverter Motor
Rectifier

ec
M
Mechanical
Load
Electrical Machine Modeling
tY GAIN NEG GAIN

GAIN GAIN I GAIN

NEG NPG

Machine Modeled from Individual Components (-> Macro)

Alternative 2:
Alternative 1: A_phase_p torque
A_phase_m
RMxprt and/or
SIMPLORER C_phase_p
B_phase_p Maxwell
Built-In Machine B_phase_m generated
Models
theta
Models
Vector Control
EQU
phiold:=phi
Phase Transformation
phi:=phiold + omel.VAL * h Using SIMPLORER
cosphi:=cos(phi) Equation Block
sinphi:=sin(phi) t Y
GAIN NEG GAIN

mload mldm mldmn vcnt

uialpharef:=uiqrefl.VAL * (-sinphi) + uidref * cosphi GAIN GAIN I GAIN

Iq_In mm mdm omm omel


uibetaref:=uiqrefl.VAL * cosphi + uidref * sinphi 0.64 0.1527k
0 0 0
NEG NPG

uiaref:=uialpharef mcntmn mcntm 2

uibref:=0.5 * (sqrt3 * uibetaref - uialpharef) GAIN GAIN NEG

ut unact unactn
0.191 0.2

ialpha:=twothird * am_ma.I - onethird * (am_mb.I + am_mc.I)


ibeta:=sqrt3third * (am_mb.I - am_mc.I) GAIN

unctrlp
5
id:=ialpha * cosphi + ibeta * sinphi t Y
GAIN GAIN I LIMIT

unrefxy unrefx
iq:=ibeta * cosphi - ialpha * sinphi unref
1 unerr
unctrli
6k
0 10 -10
uiqref
uiqrefl
10 -10

GAIN GAIN NEG GAIN

ia uiaact uiaactn uiactrlp


vcnta:=vcnt.VAL * sin(phi) am_ma.I 0.153 4.2
GAIN LIMIT I LIMIT

vcntb:=vcnt.VAL * sin(phi - 2.0944) ExtVal_uiarefuiarefl uiactrli uiactrll


uiaref 9 -9 uiaerr 0.6k uiactrl 10 -10
vcntc:=vcnt.VAL * sin(phi + 2.0944)
NEG
0 10 -10
uiactrln LIMIT
GAIN GAIN NEG GAIN
NEG uicctrll
ib uibact uibactn uibctrlp uicctrl 10 -10
am_mb.I uibctrln
tona:=tphalf * (kctrl * uiactrll.VAL + 1) GAIN
0.153
LIMIT
4.2
I LIMIT

tonb:=tphalf * (kctrl * uibctrll.VAL + 1) ExtVal_uibrefuibrefl


uibref 9 -9 uiberr
uibctrli
0.6k uibctrl
uibctrll
10 -10
0 10 -10

tonc:=tphalf * (kctrl * uicctrll.VAL + 1)


PWM Phase B
tp
tonmax

tb>=tp Switching Period (Frequency)


tonmin tonb
Only at
SET: tb:=0 Valid
STEP: tb:=tb + h
STEP: tb:=tb + h Steps
SET: itrbn:=1
SET: itrbn:=0
SET: itrbp:=0
SET: itrbp:=1

ON/OFF Signal
Lower IGBT
ON/OFF Signal
tb>=tonb and tb>=tonmin or tb>=tonmax
Upper IGBT

Current Time
From Controller Parameters
Phase B
Overall Model
tY
GAIN NEG GAIN

mload mldm mldmn vcnt


et_a

GND IAP IBP ICP GAIN GAIN I GAIN


et_b
C1 Iq_In mm mdm omm omel
0.64 0.1527k
10m 0 0 0
et_c
NEG NPG

STEP: phi:=phi + (2 * pi)


mcntmn mcntm 2
IAM IBM ICM

ta>=tp TRUE GAIN GAIN NEG


phi<-6.28319
ut unact unactn
A A A 0.191 0.2
STEP: ta:=ta + h am_ma am_mb am_mc
SET: ta:=0
SET: itran:=1 STEP: ta:=ta + h
SET: itrap:=0 SET: itran:=0
r_ma r_mb r_mc TRUE GAIN
SET: itrap:=1
0.198 0.198 0.198 phi>6.28319
unctrlp
5
ta>=tona and ta>=tonmin or ta>=tonmax EQU tY
l_ma l_mb l_mc GAIN GAIN I LIMIT
phiold:=phi STEP: phi:=phi - (2 * pi)
2.7m 2.7m 2.7m
tb>=tp phi:=phiold + omel.VAL * h unrefxy unrefx unref unctrli uiqrefl
1 unerr 6k uiqref 10 -10
cosphi:=cos(phi) ICA:
0 10 -10
sinphi:=sin(phi) et_ma et_mb et_mc kctrl := .1
SET: tb:=0 GAIN GAIN NEG GAIN
STEP: tb:=tb + h fp := 2.5k
STEP: tb:=tb + h uialpharef:=uiqrefl.VAL * (-sinphi) + uidref * cosphi
SET: itrbn:=1 tp := 1 / fp ia uiaact uiaactn uiactrlp
SET: itrbn:=0 uibetaref:=uiqrefl.VAL * cosphi + uidref * sinphi
SET: itrbp:=0 tphalf := tp / 2 am_ma.I 0.153 4.2
SET: itrbp:=1 uiaref:=uialpharef
uibref:=0.5 * (sqrt3 * uibetaref - uialpharef) tonmin := 30u GAIN LIMIT I LIMIT

tonmax := tp - tonmin
ExtVal_uiarefuiarefl uiactrli uiactrll
ialpha:=twothird * am_ma.I - onethird * (am_mb.I + am_mc.I) phiold := 0
tb>=tonb and tb>=tonmin or tb>=tonmax uiaref 9 -9 uiaerr 0.6k uiactrl 10 -10
ibeta:=sqrt3third * (am_mb.I - am_mc.I) 0 10 -10 NEG
phi := 0
id:=ialpha * cosphi + ibeta * sinphi
tc>=tp sqrt3 := sqrt(3) uiactrln LIMIT
iq:=ibeta * cosphi - ialpha * sinphi
GAIN GAIN NEG GAIN
sqrt3third := sqrt3 / 3
NEG uicctrll
vcnta:=vcnt.VAL * sin(phi) twothird := 2 / 3 ib uibact uibactn uibctrlp uicctrl 10 -10
STEP: tc:=tc+h SET: tc:=0 vcntb:=vcnt.VAL * sin(phi - 2.0944) onethird := 1 / 3 am_mb.I 4.2 uibctrln
0.153
SET: itrcn:=1 STEP: tc:=tc + h vcntc:=vcnt.VAL * sin(phi + 2.0944)
uidref := 0 GAIN LIMIT I LIMIT
SET: itrcp:=0 SET: itrcn:=0
tona:=tphalf * (kctrl * uiactrll.VAL + 1) ExtVal_uibrefuibrefl uibctrli uibctrll
SET: itrcp:=1
tonb:=tphalf * (kctrl * uibctrll.VAL + 1) uibref 9 -9 uiberr 0.6k uibctrl 10 -10
tonc:=tphalf * (kctrl * uicctrll.VAL + 1) 0 10 -10

tc>=tonc and tc>=tonmin or tc>=tonmax


Co-Simulation

Simulink

Controls, Systems

Physical Quantities Control Quantities


(Speed, Current, (Switch ON/OFF,
Voltage, Position etc.) Torque Command etc.)

SIMPLORER
Electrical, Mechanical, Hydraulic, Electrical Machines, Solenoids, Sensors
Implementation

Control System
(Analog, Digital, DSP, FPGA etc.)

AC/DC IC/AC
Supply
Power

DC Servo
Converter/ Converter/
Link Motor
Rectifier Inverter

Mechanical
Load
Modified SIMPLORER Model
et_a

GND
et_b
IAP IBP ICP Simulink Link Block
et_c
C1
10m and Linkage Dialog

IAM IBM ICM

ta>=tp
A A A
am_ma am_mb am_mc
SET: ta:=0
STEP: := ta:=ta + h STEP: ta:=ta + h
SET: := itran:=1 SET: itran:=0 ICA: r_ma r_mb r_mc
SET: := itrap:=0
SET: itrap:=1 kctrl := .1 0.198 0.198 0.198
fp := 2.5k
tp := 1 / fp
ta>=tona and ta>=tonmin or ta>=tonmax tphalf := tp / 2 l_ma l_mb l_mc
2.7m 2.7m 2.7m
tb>=tp tonmin := 30u
tonmax := tp - tonmin

STEP: := tb:=tb + h et_ma et_mb et_mc


SET: tb:=0 EQU
SET: := itrbn:=1
STEP: tb:=tb + h tona:=tphalf * (kctrl * SiM2SiM.uiactrll + 1)
SET: := itrbp:=0 SET: itrbn:=0
SET: itrbp:=1 tonb:=tphalf * (kctrl * SiM2SiM.uibctrll + 1)
tonc:=tphalf * (kctrl * SiM2SiM.uicctrll + 1)

tb>=tonb and tb>=tonmin or tb>=tonmax uiactrll

tc>=tp uibctrll

uicctrll am_ma.I
STEP: tc:=tc+h

SET: := itrcn:=1
SET: := tc:=0

STEP: := tc:=tc + h
vcnta

vcntb
SiM2SiM 
SIMPLORER Link Interface
am_mb.I

am_mc.I
SET: := itrcp:=0 SET: := itrcn:=0 vcntc SiM2SiM
SET: := itrcp:=1 unref

unact

tc>=tonc and tc>=tonmin or tc>=tonmax


Simulink Model
Coordinate
Transformation

Speed Controller

Motor Torque and


Speed Computation

Linkage
Dialog

Back EMF Computation


Conclusions
w SIMPLORER offers complete servo drive system
design environment
w A variety of predefined machine models and a
specialized electrical machine library are available
w Integration of sophisticated Maxwell and RMxprt
models increases accuracy
w For companies with distributed design groups co-
simulation offers valuable benefits
w Co-Simulation between SIMPLORER and Simulink
is fast, efficient and easy to use

You might also like