Professional Documents
Culture Documents
3. Simulink를 이용한 BLDC Motor Control Simulation
3. Simulink를 이용한 BLDC Motor Control Simulation
Contents
Simulink Basic
Simulink Simulation
Simulation tool.
(Dynamic characteristic analysis)
Library Block
Debugging
dSPACE NI LabView(SIT) External Program Co-simulation
5
Simulink
Command Window simulink .
Model Simulink .
6
Simulink
1
(1) Main Menu
6
5 (2) Workspace
(3) Current Directory
(4) Command History
2 3
(5) Command Window
4
(6) Simulink Icon
Simulink
7
Simulation Block
Block or System
Block Simulation System .
Block .
Block
Block
Source Block
Simulation
Sink Block
Simulation
8
Library Browser
Block
Commonly Used Blocks
Continuous - Integrator
Discontinuities - Saturation
Discrete Discrete-Time Integrator, Memory, Unit Delay
logic and Bit Operations Compare To Zero, Relational Operator
lookup Tables Lookup Table Unit Delay
Math Operation Abs, Gain, Product, Rounding Function, Sign, Sum, sin
Ports & Subsystems Enabled Subsystem, Triggered Subsystem, In1,
Out1
Signal Routing Demux, From, Goto, Manual Switch, Mux
Sinks Display, Scope
Sources Constant, Ramp, Pulse Generator, Repeating Sequence, Sine
Wave, Step
User-Defined Functions Fcn, S-Function
10
Simulink
&
Line &
12
Graph Grid
Limit Data .
13
Simulation Start
Scope
15
Simout : ,
.(Workspace )
16
Simulation
Workspace
( Array Editor )
17
Ctrl+
18
Input port
Output port
19
1
20
Line
Line Label
(Line Label )
Label ,
,
Memo
21
Subsystem
, Create Subsystem
22
Subsystem
Subsystem
Create Subsystem
Enabled Subsystem
Enable Positive
Triggered Subsystem
Trigger
BLDCM
( )
( )
( , )
PWM ( )
d
va Raia ( Laaia Lbaib Lcaic ) ea
dt
d
vb Rbib ( Labia Lbbib Lcbic ) eb
dt
d
vc Rcic ( Lacia Lbcib Lccic ) ec
dt
Ra Rb Rc R ph
Laa Lbb Lcc Lph
Lab Lba Lca .... M
d d
va R phia ( L phia Mib Mic ) ea va R phia ( L ph M ) ia ea
dt dt
d
vb R phib ( Mia L phib Mic ) eb ia ib ic 0 d
vb R phib ( L ph M ) ib eb
dt dt
d d
vc R phic ( Mia Mib L phic ) ec vc R phic ( L ph M ) ic ec
dt dt
d
vab va vb vab 2 R phi1 2( L ph M ) i1 eab
dt
i1 ia ib d
vbc 2 R phi2 2( L ph M ) i2 ebc
dt
d
vca 2 R phi3 2( L ph M ) i3 eca
dt
1
2 R ph Rs d
vab Rsi1 Ls i1 eab
i1
Ls v
ab RS i1 eab dt
dt
2( Lph M ) Ls
1
v ebc dt
d
vbc Rs i2 Ls i2 ebc i2 bc RS i2
dt Ls
d
vca Rs i3 Ls i3 eca 1
dt i3
Ls v
ca RS i3 eca dt
27
Model BLDC_ElectricalModel.mdl
+-
28
+-
29
+--
30
31
+-
3
32
eab ea eb
1
ebc eb ec i1
Ls (vab Rsi1 eab )dt ia i1 i3
eca ec ea
vab va vb
vbc vb vc
vca vc va
33
Ctrl+A
Port
Create Subsystem
(Labeling Port)
34
d m
Te J m Bm TLoad K m
dt
d 2 m d m d 2 m
Jm B TLoad J m TLoad
dt 2 dt dt 2
35
Model BLDC_MechanicalModel.mdl
+++
Kt
36
+-
1/J
60/(2*pi)
37
d 2 r
Te J 2 TLoad
dt
d 1
r r Te TLoad dt
dt J
r _ rpm r (60 / (2 ))
r r dt
38
Ctrl+A Port
Create Subsystem (Labeling Port)
39
Data
- m-file
40
Matlab Current Folder
New File Blank M-File
(File : BLDC_Parameters.m )
41
B_slope=60;
BLDC_Parameters.m B_max=0.1;
Blank M-File Code Ke=0.21476;
Kt=0.21486;
for i=1:360
if i<(floor(B_slope/2))
B(i)=(i)*B_max/(B_slope/2);
elseif i<=(180-floor(B_slope/2))
B(i)=B_max;
elseif i<=(180+floor(B_slope/2))
B(i)=(180-i)*B_max/(B_slope/2);
elseif i<=(360-floor(B_slope/2))
B(i)=-B_max;
else
B(i)=(i-360)*B_max/(B_slope/2);
end
end
42
For i=1:360
if i<=181
f(i)=mean([B(i:179+i)]);
else
f(i)=mean([B(i:360),B(1:(i-181))]);
end
end
for i=1:360
if i<=1
e(i)=Ke*(f(360)-f(i));
else
e(i)=Ke*(f(i-1)-f(i));
end
end
43
Model BLDC_BackEMFModel.mdl
++|(shift+\)
45
|(shift+\)+-
46
47
(Ctrl+A)
Create Subsystem , Port
48
49
50
51
Ctrl+A Port
Create Subsystem (Labeling Port)
52
BLDC
Model BLDC_MotorModel.mdl
53
BLDC
55
BLDCM
( )
( )
( , )
PWM ( )
56
57
58
59
60
Model BLDC_InverterModel.mdl
>=
Boolean
61
Subsystem
|+-
62
Sa: ((u[1]<150)*(u[1]>=30))-((u[1]<330)*(u[1]>=210))
Sb: ((u[1]<270)*(u[1]>=150))-((u[1]<90)*(u[1]>=0))-((u[1]<360)*(u[1]>=330))
Sc: -((u[1]<210)*(u[1]>=90))+((u[1]<360)*(u[1]>=270))+((u[1]<30)*(u[1]>=0))
63
|++
65
==
Boolean
66
Ctrl+A Port
Create Subsystem (Labeling Port)
Inverter Model
67
[0 0.5*t_switching 1*t_switching]
Vdc=54;
Rs=1.5;
Ls=0.0061;
J=8.2614e-5;
Tl=0.662;
t_switching=0.0001;
i_res=0.01;
72
Start Time : 0s
Stop Time : 1s
Fixed Step
Ode5(Dormand-Prince)
Fixed-Step size : 1e-5s
73
Te(Torque)
74
Mechanical
Model
Load Torque = Tl
75
Start Time : 0s
Stop Time : 1s
Fixed Step
Ode5(Dormand-Prince)
Fixed-Step size : 1e-5s
76
Speed Saturation
78
Speed Saturation
79
0
7000
0
2.5
80
BLDCM
( )
( )
( , )
PWM ( )
83
PI
84
Anti-Windup
Anti-Windup : Actuator Saturation(Integrator Wind-up)
(I) Limiter
85
Anti-Windup
Limiter(Saturation)
Anti-Windup Gain
86
Model BLDC_SpeedController.mdl
+|+
Imax
0
87
Simulation
Model BLDC_SC_Op.mdl
Subsystem
Reference Speed(RPM) = 600
88
Simulation
Imax=40;
Kp_sc=0.05;
Ki_sc=2;
Ka_sc=1/Kp_sc;
89
Simulation
Start Time : 0s
Stop Time : 0.5s
Fixed Step
Ode5(Dormand-Prince)
Fixed-Step size : 1e-5s
90
Simulation
Speed(RPM) Te(Torque)
Simulation
Speed(RPM) Te(Torque)
Simulation
Speed(RPM) Te(Torque)
Model BLDC_CurrentController.mdl
+|+
Vdc/2
-Vdc/2
94
Simulation
Model BLDC_CC_Op.mdl
20
Subsystem
95
Simulation
Kp_cc = 100;
Ki_cc = 100;
Ka_cc=1/Kp_cc;
96
Simulation
Start Time : 0s
Stop Time : 0.5s
Fixed Step
Ode5(Dormand-Prince)
Fixed-Step size : 1e-5s
97
Simulation
Speed(RPM) Te(Torque)
Simulation
Reference Voltage
Iabc(Phase Current)
Iabc(Phase Current) @ Voltage Source, Constant Speed
99
Simulation
Model BLDC_SC_CC_Op.mdl
Simulation
Start Time : 0s
Stop Time : 0.5s
Fixed Step
Ode5(Dormand-Prince)
Fixed-Step size : 1e-5s
101
Simulation
Speed(RPM) Te(Torque)
Simulation
Speed(RPM) Te(Torque)
Reference Speed(RPM) = 600
Speed(RPM) Te(Torque)
Reference Speed(RPM) = 600
103
Sample Time = -1
105
Sample Time = -1
107
Vref
108