Lecture: Introduction to Simulation
Introduction to Simulation
Dynamical Models and Current Control Methods
Dynamics of Electrical Machines and Drives
Ing. Mattia Rossi
[Link]@[Link]
Laboratory of Electrical Drives - LEDS
Ing. Mattia Rossi Electrical Drives Course: 2016-2017 1 / 19
Lecture: Introduction to Simulation Contacts
Contacts
Campus Bovisa
Electrical Machines, Drives and Power Electronics Research Group
Location:
Department of Mechanical Engineering - Building B23
Office: Rossi/Mauri/Carmeli
Tel. 8377
Appointments for questions & explanations: send an email
R [Link]@[Link]
Final exam
Do one of the suggested exercises in a report-form (mandatory)
If correctly done, you will have one question less at the oral exam
If not, good luck!
Ing. Mattia Rossi Electrical Drives Course: 2016-2017 2 / 19
Lecture: Introduction to Simulation Systems Theory
Systems Theory
Dynamical System
Definition
a dynamical system describes the evolution of a state over time
we need to specify what we mean for evolution, state and time:
1 continuous time t R
the evolution of the state is described by ordinary differential equations
(ODE). Think of the linear, continuous time system in state space form
.
x (t) = Ax (t)
2 discrete time k Z
the evolution of the state is described by a difference equation.
Think of the linear discrete time system in state space form
x (k + 1) = Ax (k )
Ing. Mattia Rossi Electrical Drives Course: 2016-2017 3 / 19
Lecture: Introduction to Simulation Models for Continuos Systems
Models for Continuos Systems
Dynamical Model
A dynamical model of a system is a set of mathematical laws
explaining in a compact form and in quantitative way how the system
evolves over time
dynamical model mathematical model
dv (t) di (t)
v (t) = Ri(t) i (t) = C v (t) = L
dt dt
Main questions about dynamical system and their model:
1 How to built a model (How X and Y influence each other ?)
2 Simulation (What happens if I apply action Z on the system ?)
3 Design (How to make the system behave the way I want ?)
Ing. Mattia Rossi Electrical Drives Course: 2016-2017 4 / 19
Lecture: Introduction to Simulation Simulation of Dynamical Models
Simulation of Dynamical Models
Conflicting Objectives
Experiments provide an answer, but have limitations:
maybe too expensive (e.g.: launch a space shuttle)
maybe too dangerous (e.g.: a nuclear plant)
maybe impossible (the system doesnt exist yet!)
Simulating a dynamical model has zero-cost compared to real experiments
...but has conflicting objectives
Descriptive enough to capture the main behavior of the system
Simple enough for analyzing the system
Make everything as simple as possible, but
not simpler. - Albert Einstein
A. Einstein
(1879-1955)
Ing. Mattia Rossi Electrical Drives Course: 2016-2017 5 / 19
Lecture: Introduction to Simulation MATLAB/Simulink
MATLAB/Simulink
an Equation Solver (ES)
we are going to use MATLAB as simulation environment
it is based on matrix algebra, developed from Prof. Cleve Moler
(for his students, as Fortrans interface in early 80s)
its simple to implement control systems using Simulink C. Moler
(founder)
Good Things Bad Things
writing of mathematical manage computational
equations error (e.g. numerical
library ready-to-use integration)
(e.g. SimPowerSystems) simulation time ts could
differ from real time t
(e.g. ts = 10s t = 1h)
use MATLAB 2016b version ( [Link] )
Ing. Mattia Rossi Electrical Drives Course: 2016-2017 6 / 19
Lecture: Introduction to Simulation Basics for Electrical Drives Simulation
Basics for Electrical Drives Simulation
Current Control of an RL load
electrical machines windings behaves as RL (ohmic-inductive) load
controlling the current flow into windings imply control the torque
di (t)
Kirchhoff 0 s voltage law : v (t) L Ri(t) = 0
dt
1 Rewrite it as a 1st order linear system R
di (t) 1 R
= v (t) i (t)
dt L L u(t) L
x(t)
1 or in a state-space form
.
x (t) = R/L x (t) + 1/L u(t) u(t) y(t)
| {z } |{z} ABCD
A B
where x (t) = i (t) and u(t) = v (t) x0
Ing. Mattia Rossi Electrical Drives Course: 2016-2017 7 / 19
Lecture: Introduction to Simulation Basics for Electrical Drives Simulation
Basics for Electrical Drives Simulation
Evolution of the State (1st order LTI)
1 We want to observe and control the currents x (t) = i (t) y(t) = x (t)
2 Voltage u(t) = v (t) is a forcing signal
3 Adding the information about initial conditions x0 Rn
.
x (t) = Ax (t) + B u(t) where
y(t) = C x (t) + Du(t) R 1
A= B= C =1 D =0
x (0) = x0 L L
the evolution of the state x (t) = y(t) is
t
x (t) = e At x0 ++ e A(t) B u() d
| {z } 0Q
1 1
1 natural response 1
| {z }
(effect of initial condition) 1 1
1 forced response 1
(effect of input signal)
if A < 0 asyntoptically stable
Ing. Mattia Rossi Electrical Drives Course: 2016-2017 8 / 19
Lecture: Introduction to Simulation Basics for Electrical Drives Simulation
Basics for Electrical Drives Simulation
Transfer Functions
Laplace transforms convert integral and differential
equations into algebraic equations through the Laplace
operator
F (s) = L [f (t)] s = d/dt
P.S. Laplace
It can be demonstrated that (1749-1827)
y(s) = C (sI A)1 x0 + C (sI A)1 B + D u(s)
| {z } | {z }
1 1 1 1
1 Laplace transform 1 1 Laplace transform 1
of natural response of forced response
Definition
The transfer function G(s) of a continuous-time linear system (A, B , C , D) is
G(s) = C (sI A)1 B + D
between the Laplace transform y(s) of output and the Laplace transform u(s) of
the input signals for the initial state x0 = 0
Ing. Mattia Rossi Electrical Drives Course: 2016-2017 9 / 19
Lecture: Introduction to Simulation Basics for Electrical Drives Simulation
Basics for Electrical Drives Simulation
Current Control PI-based
Note that y(s) = i (s) and u(s) = v (s)
RL load
u(t) y(t) u(s) y(s) y e Current u y
ABCD G(s) + Controller G(s)
x0
RL load - G(s) Current Controller - R(s)
y(s) 1 P, PI, PID
G(s) = =
u(s) R + sL Optimal Control
The RL load to be controlled has a time constant TG = L/R
The controller settings are chosen according to:
1 Time response..... Bandwidth c
2 Robustness level .. Phase margin m
3 Sensitivity to disturbances (and actuations) .. S (s)
Ing. Mattia Rossi Electrical Drives Course: 2016-2017 10 / 19
Lecture: Introduction to Simulation P-Action
P-Action
Minimum Phase Systems
Consider a P controller R(s) u(s) = kp e(s)
The design will be based on the open-, closed-loop transfer functions
kp L(s) kp
L(s) = R(s)G(s) = F (s) = =
R + sL 1 + L(s) kp + R + sL
but L(s) = u(s)/e(s) is included in the category of:
Minimum Phase Systems (mps)
If an LTI system presents: positive gain, poles <(p) < 0, zeros <(z ) < 0
it is a minimum phase system
Then, it is enough an L(s) cutting the 0dB axis with a slope
20dB/decade to guarantee m = 90 and asymptotic stability
q
Bandwidth is |L(j c )| = 1 c = kp2 R 2 /L
Ing. Mattia Rossi Electrical Drives Course: 2016-2017 11 / 19
Lecture: Introduction to Simulation Property of P-Action #1
Property of P-Action #1
Step Response
(G)
Data: R = 0.025 and L = 0.1H G = 4s and TA = 5 G = 20s
(F ) (F )
Desired characteristics: TA = 1s F = TA / 5 = 0.2s
1 dominant pole
c = 2/F = 31.4 rad/s
2 proportional gain
p
kp = R 2 + 2c L2 = 3.17 ()
increasing kp the reference-tracking
is better but we still have an offset
(it could be 0 only if kp )
The offset is computed through the final value theorem
1 kp kp
(f .v.t.) lim s F (s) = lim =
s0 s s0 kp + R + sL kp + R
Ing. Mattia Rossi Electrical Drives Course: 2016-2017 12 / 19
Lecture: Introduction to Simulation PI-Action
PI-Action
Current Control of an RL load
Consider a PI controller R(s) u(s) = (kp + ki /s) e(s)
skp + ki skp + ki
L(s) = F (s) =
s (R + sL) ki + s (kp + R) + s 2 L
Exploit the relationship between L(s) and F (s)
|L(s)| 1 : |L(s)| 1 c
|F (s)| =
|1 + L(s)| |L(s)| : |L(s)| 1 c
It can be demonstrated
|L(j c )| 1 m =90
1
|F (j c )| = |F (j c )|2 =
.
=
|1 + L(j c )| 2 sin (m /2) (mps) 2
explicit characteristic equation from F (j )
1
|F (j c )|2 = ki2 + 22c ki L + 2c kp2 2c R 2 + 2kp R 4c L2 = 0
2
Ing. Mattia Rossi Electrical Drives Course: 2016-2017 13 / 19
Lecture: Introduction to Simulation Property of PI-Action #1
Property of PI-Action #1
Current Control of an RL load
1 The solution of the 2nd order eq. leads to
q
ki = 2c L c 22c L2 kp2 + R 2 + 2kp R
| {z }
>0
2 Note that ki must be ki > 0 ki R , then
p p
R 2R 2 + c L2 < kp < R + 2R 2 + c L2
| {z }
kp,max
p
kp,max = R + 2R 2 + c L2
a practical rule is kp = 0.9kp,max
m = |L(j c )| 90
ki L
L(j c ) = atan atan
2 c kp R
Ing. Mattia Rossi Electrical Drives Course: 2016-2017 14 / 19
Lecture: Introduction to Simulation Property of PI-Action #2
Property of PI-Action #2
Current Control of an RL load
An alternative form R(s) = kp (1 + sTi ) /sTi where Ti = kp /ki
(F ) (F )
Desired characteristics: TA = 1s F = TA / 5 = 0.2s
1 dominant pole
c = 2/F = 31.4 rad/s
that is related to Ti as
c = 2/Ti Ti = 2/c
1 proportional/integral gains higher is the integral action,
faster is the control but with
kp = 3.17 () ki = 9.03 (s) an oscillating response
Ing. Mattia Rossi Electrical Drives Course: 2016-2017 15 / 19
Lecture: Introduction to Simulation Nonlinear Effects
Nonlinear Effects
Actuator Saturation
saturation RL load
y e Current u m y
+ Controller G(s) G(s)
A linear controller is simple to design, but the performances are good as
long as dynamics remain close to linear theory
Nonlinear effects require care, such as actuator saturation
Saturation can be defined as the static nonlinearity
umin (t) if u(t) < umin (t)
sat (u(t)) u(t) if umin (t) < u(t) < umax (t)
umax (t) if u(t) > umax (t)
umin (t) and umax (t) are min and max allowed actuation signals
(e.g. 1V for a voltage supply)
Ing. Mattia Rossi Electrical Drives Course: 2016-2017 16 / 19
Lecture: Introduction to Simulation The Windup Problem
The Windup Problem
Integrating Error (Windup)
The output y(t) takes a longer time to achieve steady-state due to
windup of the integrator (higher peak response)
If e(t) increase, u(t) increase even if m(t) is saturated to umax , the PI
keeps integrating the tracking error e(s) producing u(t) 6= m(t)
If e(t) change sign we have to wait until u(t) < umax before to come back
into linear region m(t) = u(t), this means wait for integral discharge
Ing. Mattia Rossi Electrical Drives Course: 2016-2017 17 / 19
Lecture: Introduction to Simulation Anti-Windup Techniques
Anti-Windup Techniques
Saturation Model
Practical issue? A controller without any information about saturation
There are several techniques that have in common the idea to augment
the controller with saturation information (or dynamical model)
Current Controller
saturation saturation RL load
model
y e u m y
kp G(s) G(s) G(s)
+ +
+
1
1+sTi
This scheme has no effect when the actuator is not saturating, while
keeps same behavior between u(t), m(t) when e(t) change sign
Integrator windup is avoided thanks to back-info
Ing. Mattia Rossi Electrical Drives Course: 2016-2017 18 / 19
Lecture: Introduction to Simulation Exercise
Exercise
Current Control of an RL load
An RL load, R = 1 and L = 1mH , is fed by a voltage supply (30V ).
Design a PI controller in order to follow:
1 a step-command from 0 to 10A in 1s
2 a sinusoidal-command of 10A at 5Hz
Hint:
Write a MATLAB script to compute kp and ki given R, L, and c
Test different c to verify the previous choice
Ing. Mattia Rossi Electrical Drives Course: 2016-2017 19 / 19