4 lucidi per pagina in formato pdf

annuncio pubblicitario
Lezione 3 Automatica I (Laboratorio)
- Pag. 3
Lezione 3 Automatica I (Laboratorio)
- Pag. 1
Integrazione in Matlab
Automatica I (Laboratorio)
Ode Suite Solvers
Ode Suite Solvers: risolutori di equazioni differenziali (sono funzioni di funzione)
Silvio Simani
[t,x] = odesolver(’odefile’,tspan,ci,options,params)
⇒ (Esempio:
ci,tspan
Dipartimento di Ingegneria
Università di Ferrara
Tel. 0532 97 4844
Fax. 0532 97 4870
F (t, x, θ) dt)
⇒ ode23, ode113, ode15s, ode23s, ode23t, ode23tb
E-mail: [email protected]
⇒ options = odeset(’RelTol’,1e-4,’AbsTol’,1e-4,’Maxstep’,1e-5);
URL: http://www.ing.unife.it/simani
[tspan,ci,options] = odefile([],[],’init’)
URL: http://www.ing.unife.it/simani/lessons.html
Università di Ferrara, Dip. di Ingegneria
v. Saragat, 1, I-44100, Ferrara, Italia
Università di Ferrara, Dip. di Ingegneria
v. Saragat, 1, I-44100, Ferrara, Italia
Silvio Simani
Silvio Simani
Elementi di grafica in Matlab
Funzioni di grafica plot(X,Y,S)
⇒ Grafica il vettore Y in funzione di X
point
circle
:
x-mark
-.
plus
-star
square
diamond
triangle (down)
- Pag. 2
Integrazione in Matlab
File Ode
⇒ Un Ode file è un file di tipo .m per definire un sistema di equazioni
differenziali
⇒ Un Ode file è risolto dagli Ode Suite Solvers
y = odefile(t,x,flag,params). (Esempio: y = ẋ = F (t, x, θ))
⇒ t e x sono variabili di integrazione
⇒ flag è una stringa che indica il tipo di informazione restituita dall’ Ode
file. params sono parametri addizionali eventualmente richiesti.
- Pag. 4
solid
dotted
dashdot
dashed
Silvio Simani
⇒ X e Y sono vettori con le stesso numero di elementi
.
o
x
+
*
s
d
v
⇒ S è una stringa formata dai caratteri:
yellow
magenta
cyan
red
green
blue
white
black
Università di Ferrara, Dip. di Ingegneria
v. Saragat, 1, I-44100, Ferrara, Italia
Lezione 3 Automatica I (Laboratorio)
y
m
c
r
g
b
w
k
Lezione 3 Automatica I (Laboratorio)
Università di Ferrara, Dip. di Ingegneria
v. Saragat, 1, I-44100, Ferrara, Italia
Silvio Simani
Lezione 3 Automatica I (Laboratorio)
- Pag. 7
Lezione 3 Automatica I (Laboratorio)
- Pag. 5
Elementi di Grafica in Matlab
Esercizi Proposti (1)
figure, plot(t,x,’-’,t,y,’--’)
Modello matematico di Lotka-Volterra
⇒ Se a1 = 20, a2 = 1, a3 = 7, a4 = 0.5 e k = 30, si determinino:
Apertura nuova finestra grafica e visualizzazione grafici sovrapposti
1) l’andamento nel tempo del numero di prede e predatori, supponendo nullo l’ingresso
u(t) e nelle ipotesi di partire da un ecositema contenente 10 prede e 10 predatori.
Si calcoli anche la traiettoria percorsa dal sistema nello spazio degli stati.
figure, plot(t,x,’-’), hold on, plot(t,y,’--’)
Apertura nuova finestra grafica e visualizzazione grafici sovrapposti
2) gli stati di equilibrio del sistema in assenza di ingresso.
⇒ Sono equivalenti: hold on mantiene il grafico corrente
3) i valori di regime raggiunti dal numero di prede e predatori nelle ipotesi che u(t) sia
un gradino di ampiezza u(t) = 20 e a partire dalle stesse condizioni proposte
al punto 1). Si determini per tentativi l’ampiezza del gradino che consente di
mantenere a regime un numero di predatori pari a 15.
Università di Ferrara, Dip. di Ingegneria
v. Saragat, 1, I-44100, Ferrara, Italia
Università di Ferrara, Dip. di Ingegneria
v. Saragat, 1, I-44100, Ferrara, Italia
Silvio Simani
Lezione 3 Automatica I (Laboratorio)
- Pag. 8
Silvio Simani
Lezione 3 Automatica I (Laboratorio)
Esercizi Proposti
Esercizi Proposti (1)
Modello matematico di Lotka-Volterra
V
Modello matematico di Lotka-Volterra

 ẋ1(t) = a1(1 − x1(t)/k)x1 (t) − a2x1(t)x2(t) + u(t)
V
Ampiezza
- Pag. 6

Ampiezza
ẋ2(t)
=
−a3x2(t) + a4x1(t)x2(t)
Prede
Predatori
⇒ x1(t) e x2(t) numero di prede di predatori
⇒ u(t) cibo per le prede
0
T0
T1
(a) Circuito diodo tunnel
t
0 T0
t
⇒ k, numero massimo di prede in assenza di predatori e di cibo
(u(t) = 0)
(b) Modello Lotka-Volterra
Università di Ferrara, Dip. di Ingegneria
v. Saragat, 1, I-44100, Ferrara, Italia
Università di Ferrara, Dip. di Ingegneria
v. Saragat, 1, I-44100, Ferrara, Italia
Silvio Simani
Silvio Simani
- Pag. 9
Introduzione a Simulink
Simulink, prodotto dalla Mathworks Inc.
È un programma per la simulazione di sistemi dinamici
Progetto di un sistema dinamico
⇒ Definizione del modello da simulare
⇒ Analisi del sistema
Ambiente a finestre ed interfaccia grafica: Block diagram windows e mouse
Simulink riutilizza l’ambiente e i comandi di Matlab
⇒ I risultati sono disponibili nel Workspace di Matlab
- Pag. 11
Ramp
Pulse Generator
[T,U]
From Workspace
simulink/Sources),
Istruzioni di base di Simulink
Sources Library
⇒ Sources:
(Library:
generatori di segnale
Step
Discrete Pulse Generator
12:34
Digital Clock
Silvio Simani
Uniform Random Number Band-Limited White Noise
Signal Generator
Repeating Sequence
Clock
Random Number
Lezione 3 Automatica I (Laboratorio)
1
Constant
Sine Wave
Chirp Signal
From File
untitled.mat
Simulink Signal Source library.
Università di Ferrara, Dip. di Ingegneria
v. Saragat, 1, I-44100, Ferrara, Italia
Lezione 3 Automatica I (Laboratorio)
Lezione 3 Automatica I (Laboratorio)
- Pag. 12
Università di Ferrara, Dip. di Ingegneria
v. Saragat, 1, I-44100, Ferrara, Italia
Silvio Simani
Lezione 3 Automatica I (Laboratorio)
Istruzioni di base di Simulink
- Pag. 10
Istruzioni di base di Simulink
Sink Library
>> simulink
⇒ Library: simulink/Sinks contiene alcuni rivelatori di segnale
⇒ Visualizzazione della finestra Simulink block library
0
Display
Scope
XY Graph
Sources
untitled.mat
STOP
simout
To Workspace
To File
Sinks
Discrete
In
Stop Simulation
Linear
Simulink Signal Sinks library.
Nonlinear
Out
Connections
Simulink block library.
Università di Ferrara, Dip. di Ingegneria
v. Saragat, 1, I-44100, Ferrara, Italia
Università di Ferrara, Dip. di Ingegneria
v. Saragat, 1, I-44100, Ferrara, Italia
Silvio Simani
Silvio Simani
- Pag. 13
Istruzioni di Simulink
Discrete Library
⇒ Library: simulink/Discrete analisi dei sistemi lineari tempo-discreti
1
T
z
z-1
(z-1)
z(z-0.5)
1
Discrete Zero-Pole
Discrete Transfer Fnc
Discrete Filter
Discrete State-Space
1
z+0.5
1+2z -1
y(n)=Cx(n)+Du(n)
x(n+1)=Ax(n)+Bu(n)
First-Order Hold
Discrete-Time Integrator Zero-Order Hold
Unit Delay
Simulink Discrete-Time library.
|u|
Abs
min
MinMax
<=
Relational Operator
sin
u
e
floor
Rate Limiter
Hit Crossing
Look-Up Table (2-D)
Backlash
Logical Operator
Combinatorial Logic
AND
Trigonometric Function
Math FunctionRounding Function
Product
Sign
Look-Up Table
system
Dead Zone
Coulomb & Viscous Friction
Solve
f(z) = 0
z
Delay
Manual SwitchVariable TransportS-Function
f(z)
Silvio Simani
MATLAB Fcn Algebraic Constraint Multiport Switch
MATLAB
Function
Switch
Quantizer
Transport Delay
Memory
Saturation
f(u)
Fnc
Relay
Simulink Nonlinear library.
Università di Ferrara, Dip. di Ingegneria
v. Saragat, 1, I-44100, Ferrara, Italia
Silvio Simani
- Pag. 15
Università di Ferrara, Dip. di Ingegneria
v. Saragat, 1, I-44100, Ferrara, Italia
⇒ Library: simulink/Nonlinear funzioni non lineari
Nonlinear Library
Istruzioni di Simulink
Lezione 3 Automatica I (Laboratorio)
Lezione 3 Automatica I (Laboratorio)
Lezione 3 Automatica I (Laboratorio)
Istruzioni di Simulink
Linear Library
Sum
s
1
Integrator
s(s+1)
(s-1)
Zero-Pole
1
- Pag. 14
- Pag. 16
Silvio Simani
Slider Gain
x' = Ax+Bu
y = Cx+Du
Matrix Gain
Simulink Linear library.
Dot Product
State-Space
K
⇒ Library: simulink/Linear analisi dei sistemi
lineari tempo-continui
1
Gain
1
s+1
Transfer Fnc
du/dt
Derivative
Università di Ferrara, Dip. di Ingegneria
v. Saragat, 1, I-44100, Ferrara, Italia
Lezione 3 Automatica I (Laboratorio)
Istruzioni di Simulink
Connections Library
Out
1
{A}
A
Mux
Demux
Silvio Simani
Width
0
Terminator
Data Store Write
A
[A]
Demux
Selector
Goto
Mux
⇒ Library:
simulink/Connections blocchi per
effettuare connessioni
1
Memory
Trigger
Subsystem
Ground
Goto Tag Visibility
In
[A]
From
A
Data Store Read
Enable
[1]
IC
Simulink Connection library.
Università di Ferrara, Dip. di Ingegneria
v. Saragat, 1, I-44100, Ferrara, Italia
Lezione 3 Automatica I (Laboratorio)
→
integrazione
delle
- Pag. 17
equazioni
Simulazione di sistemi dinamici con SIMULINK
Simulazione
differenziali
Simulatore di Simulink
Simulink Control Panel → Simulation →
Parameters
Opzione Solver nella finestra Simulation
Parameters (cfr. odesolver Matlab)
⇒ Simulation time: Start time: istante iniziale
della simulazione
- Pag. 19
Va (t)
Cc (t)
=
=
K
d x2 / d t
1
s
x2(t)
K
G1/C
1/L
K
Grafico x1(t)
Grafico x2(t)
- Pag. 18
1
C u(t)
Silvio Simani
d x1 / dt
− G2x23(t) +
Base tempi x2
Base tempi x1
-R/L
K
1
L x2 (t)
1
C G1 x2 (t)
0
u^3
x2(t)^3
K
1/C
u(t)
Traiettorie dello stato
−R
L x1 (t) +
− C1 x1(t) +
Analisi di un circuito non lineare
Lezione 3 Automatica I (Laboratorio)
ẋ1(t)
ẋ2(t)
1
s
x1(t)
-1/C
Somma2
K
-G2/C
Circuito non lineare in Simulink.
Università di Ferrara, Dip. di Ingegneria
v. Saragat, 1, I-44100, Ferrara, Italia
Silvio Simani
Silvio Simani
0
−1
J
.
⇒ Simulation time: Stop time: istante finale
della simulazione
1
La
0
Cc , J , f
Ingressi ed uscite: y(t) = ω(t)
⇒ Solver Options: Type: passo di integrazione
fisso (Fixed-step) o variabile (Variable-step)
vm
ω(t)
Matrici di sistema
⇒ Solver Options: scelta della funzione di integrazione ottimale: ode45, ode23, ode113,
ode15s, ode23s, e discrete
ia (t)
ω(t)

− km
ia (t)
La 
+
f
ω(t)
−
J
11
00
11
00
Modello di un motore in corrente continua
⇒ Solver Options: Max step size e Initial step
size, Relative e Absolute tolerance
1
Controllo d’armatura e avvolgimento d’eccitazione
ad alimentazione costante
0

− Ra
La

km
J
La
Le
Università di Ferrara, Dip. di Ingegneria
v. Saragat, 1, I-44100, Ferrara, Italia
Università di Ferrara, Dip. di Ingegneria
v. Saragat, 1, I-44100, Ferrara, Italia
Modello di un motore in corrente continua
Lezione 3 Automatica I (Laboratorio)
=
=
Ra
.
.
Silvio Simani
Va(t)
Cc(t)
e u(t) =
i̇a (t)
ω̇(t)
ω(t)
.
ie
Ve
Re
Motore in corrente continua
ia
Va
.
Schema di un motore in corrente continua
Università di Ferrara, Dip. di Ingegneria
v. Saragat, 1, I-44100, Ferrara, Italia
km
J
0
,B=
A=
ia(t)
ω(t)
x(t) =
.
1
0
eC=
0
− J1
1
La
− kLm
a
− Jf
a
−R
La
- Pag. 20
Lezione 3 Automatica I (Laboratorio)
Lezione 3 Automatica I (Laboratorio)
- Pag. 21
Modello di un motore in corrente continua
Condizioni di funzionamento
1. Alimentazione del motore con un gradino di tensione di armatura costante a 0V da 0s
a 50s e al valore di 5V per altri 50s.
2. Impulso di tensione di ampiezza Va(t) = 10V e durata τ = 40s.
3. Posizione del rotore α(t)


ia (t)
ω(t)
α̇(t) = ω(t) , x(t) =  ω(t)  e y(t) =
α(t)
α(t)


A=
a
−R
L
− kLm
0
1
a
km
J
a
f
−J
0




0  ,B=
0
1
La
0
0

0
0

− J1  e C =
0
0
1
0
0
1
.
Università di Ferrara, Dip. di Ingegneria
v. Saragat, 1, I-44100, Ferrara, Italia
Silvio Simani
Lezione 3 Automatica I (Laboratorio)
- Pag. 22
Esercizi proposti
1. Si realizzi in ambiente Simulink il sistema di equazioni differenziali relative ai modello
del motore in corrente continua. Se ne verifichi successivamente la correttezza
confrontandolo con le realizzazioni equivalenti nello spazio degli stati.
2. Utilizzando gli stessi i valori dei parametri del motore in corrente continua, determinare
l’ampiezza del gradino Va(t) necessaria a raggiungere una velocità angolare di regime
pari a ω(t) = 10rad/s, nelle ipotesi di assenza del carico Cc = 0 e con il modello del
motore del secondo ordine. Si verifichi analiticamente il risultato ottenuto.
3. Fissata l’ampiezza della tensione di armatura a Va = 10V., progettare la durata
dell’impulso τ in modo da raggiungere una posizione assegnata α = 20rad., sempre
nelle ipotesi di assenza di carico.
4. Fissato τ , graficare l’andamento temporale della posizione del rotore per una tensione
pari alla metà e al doppio della tensione fissata al punto precedente.
Università di Ferrara, Dip. di Ingegneria
v. Saragat, 1, I-44100, Ferrara, Italia
Silvio Simani
Scarica