controlli automatici introduzione simulink

Transcript

controlli automatici introduzione simulink
CONTROLLI AUTOMATICI
Ingegneria Meccatronica
CONTROLLI AUTOMATICI
INTRODUZIONE SIMULINK
Ing. Cristian Secchi
Tel. 0522 522234
e-mail: [email protected]
http://www.ingre.unimore.it/staff/secchi
Simulink
Simulink è un programma costruito utilizzano i comandi di Matlab
Vantaggi:
• Interfaccia grafica
• Blocchi predefiniti solamente ad connettere
• Elevata flessibilità nella variazione del progetto
• Riduzione dei tempi di progetto
• Riduzione dei costi rispetto a un test pratico
Per accedere a Simulink basta digitare simulink dal prompt di matlab
Cristian Secchi
Controlli Automatici
Introduzione a Simulink -- 2
Simulink
All'avvio si possono distingure due parti: le Librerie e il Workspace.
Nelle librerie sono presenti i blocchi elementari che possiamo usare nel
progetto.
Nel workspace si costruisce il progetto interconnettendo i blocchi presi dalla
librerie.
Ci sono svariate librerie, noi useremo principalemente:
•
•
•
•
Sources: Blocchi che generano segnali di vario genere
Sinks: Blocchi per la visualizzazione grafica dei segnali
Math: Blocchi per l’elaborazione matematica dei segnali
Continuous: Blocchi per l’inserimento di funzioni di trasferimento
Cristian Secchi
Controlli Automatici
Introduzione a Simulink -- 3
Simulink – Libreria Sources
Contiene blocchi che producono particolari segnali che, il più delle volte,
vengono usati come segnali di ingresso per un opportuno sistema.
I vari elementi si portano nel workspace semplicemente
trascinandoveli dentro come se fossero icone.
Le librerie sono Read-only. Per poter variare i parametri di un blocco occorre
prima trascinarlo nel workspace.
Facendo doppio click sull’icona trascinata nel workspace si apre una maschera
che ci consente di impostare i parametric che caratterizzano il segnale
Cristian Secchi
Controlli Automatici
Introduzione a Simulink -- 4
Simulink – Libreria Sources
I blocchi più utilizzati sono:
• Constant: genera un valore costante.
• Step: genera un gradino.
• Ramp: genera una rampa.
• Sine wave: genera una sinusoide.
• Signal generator: può generare vari tipi di segnali periodici
• Clock: Scandisce gli istanti di tempo della simulazione
Cristian Secchi
Controlli Automatici
Introduzione a Simulink -- 5
Simulink – Libreria Sinks
Un insieme di strumenti che consente di visualizzare
l'andamento di un segnale.
I blocchi più importanti sono:
• Scope: Visulizza il segnale di ingresso in funzione del tempo.
• XYGraph: Genera un grafico del segnale connesso all'ingresso y (il secondo)
in funzione di quello connesso all'ingresso x (il primo).
• To Workspace: Memorizza i valori del segnale connesso in una variabile
matlab.
Cristian Secchi
Controlli Automatici
Introduzione a Simulink -- 6
Simulink – Libreria Sinks
Si consiglia di utilizzare To Workspace in quanto dopo la
simulazione si dispone non solo di un grafico ma di una variabile in cui sono
contenuti tutti i valori assunti da un segnale. Si può elaborare poi tale variabile
con glili strumenti
t
ti messii a disposizione
di
i i
da
d Matlab.
M tl b
Per visualizzare l’andamento rispetto al tempo delle variabili, è necessario
salvare in un’ulteriore variabile un vettore che scandisca gli istanti temporali
della simulazione.
simulazione Questo è possibile inserendo il blocco clock e collegandone
l’uscita a un blocco To Workspace nello schema simulink.
Cristian Secchi
Controlli Automatici
Introduzione a Simulink -- 7
Simulik – Libreria Math
Nella libreria Math sono presenti vari blocchi per l'elaborazione matematica
dei segnali. Due tra i blocchi più
importanti sono Gain e Sum
Il blocco Gain riceve in ingresso un segnale e restituisce in uscita il l'ingresso
moltiplicato per la costante di guadagno che può essere impostato dall’utente.
Il blocco Sum riceve in ingresso tanti segnali quante sono le somme o
differenze che si settano. Restituisce in uscita il segnale somma/differenza degli
ingressi.
Cristian Secchi
Controlli Automatici
Introduzione a Simulink -- 8
Simulink – Lanciare una simulazione
Una volta costruito il sistema da simulare occorre far partire la simulazione.
Per lanciare la simulazione si può fare in uno dei seguenti modi:
• Premere il tasto a forma di Play sulla toolbar
• Selezionare Start dal menu Simulation
Per cambiare i parametri della simulazione (tra cui il tempo di simulazione e i
metodi di integrazione numerica) selezionare Simulation parameters dal
menu Simulation.
Cristian Secchi
Controlli Automatici
Introduzione a Simulink -- 9
Esempio – Scelta dell’elastico per bungee jumping
John vuole provare il bungee-jumping e deve scegliere l’elastico giusto per
il suo peso (90 Kg) e l’altezza da cui si lancia (30 m). Ci sono tre elastici:
Elastico A con costante elastica 5N/m
Elastico B con costante elastica 55N/m
Elastico C con costante elastica 500N/m
Cristian Secchi
Controlli Automatici
Introduzione a Simulink -- 10
Esempio – Scelta dell’elastico per bungee jumping
Le forze che agiscono su John sono:
1. La forza di gravità W=-mg
2. La resistenza dell’aria R=-bv
Dove m è la massa di John, g è
l’accelerazione di gravità, b=10 è
il coefficiente di attrito viscoso
dell’aria
dell
aria e K è la costante elastica
dell’elastico
3. La forza elastica Fe=-K(x-30).
II° Legge della dinamica:
Simuliamo il comportamento del sistema utilizzando gli elastici a disposizione
Cristian Secchi
Controlli Automatici
Introduzione a Simulink -- 11
Simulink – Funzioni di trasferimento
Per inserirle nello schema Simulink si utilizzano i blocchi presenti nella libreria
Continuous, utilizzando il blocco Transfer Fcn o il blocco Zero-Pole.
•
Transfer Fcn: Consente di editare una funzione di trasferimento
immettendo il numeratore e il denominatore. Numeratore e denominatore
sono rappresentati da due vettori che esprimono i coefficienti, secondo
potenze discendenti di s, del polinomio corrispondente.
•
Zero-Pole: Consente di editare una funzione di trasferimento
specificando i suoi zeri e i suoi poli. Numeratore e denominatore sono
rappresentati da due vettori i cui elementi rappresentano rispettivamente
glili zerii e i polili della
d ll funzione
f
i
di trasferimento.
f i
Se la funzione da inserire è un semplice integratore è già presente il blocco che
lo implementa.
Cristian Secchi
Controlli Automatici
Introduzione a Simulink -- 12
Esempio
Se inseriamo nella maschera i vettori:
• Numerator: [1 2]
• Denominator: [1 2 3]
Otteniamo rispettivamente:
Transfer Fcn:
Zero-Pole:
Cristian Secchi
Controlli Automatici
Introduzione a Simulink -- 13
Esempi
Si consideri un sistema descritto dalla seguente funzione di trasferimento:
Costruire uno schema in Simulink che consenta di simulare la risposta del
sistema a un segnale a gradino di ampiezza arbitraria
Mostrare mediante simulazione che maggiore è “a” minore è il tempo
impiegato dalla risposta per raggiungere il valore del gradino. Mostrare
inoltre che se a<0 la risposta del sistema diverge
Cristian Secchi
Controlli Automatici
Introduzione a Simulink -- 14
Esempi
Si consideri un sistema descritto dalla seguente funzione di trasferimento:
Costruire uno schema in Simulink che consenta di simulare la risposta del
sistema a un segnale a gradino di ampiezza arbitraria
Mostrare mediante simulazione che se la parte reale dei poli complessi
coniugati rimane la stessa ma la parte immaginaria cambia il tempo impiegato
per raggiungere il valore di regime rimane lo stesso. Cosa cambia? Come
cambia in relazione alla p
parte immaginaria
g
della coppia
pp di poli?
p
Mostrare che mantenendo costante la parte immaginaria dei poli ma
diminuendo la parte reale il tempo impiegato per raggiungere il valore di
regime diminuisce. Mostrare che se la parte reale diventa positiva l’uscita
non raggiunge nessun valore di regime
Cristian Secchi
Controlli Automatici
Introduzione a Simulink -- 15
Esempio – Motore in CC a eccitazione indipendente
R
Va
Parte Elettrica
Cristian Secchi
L
ef
i
Cm ω
Cr
Parte Meccanica
Controlli Automatici
Introduzione a Simulink -- 16
Esempio – Motore in CC a eccitazione indipendente
Passando alla trasformata di Laplace si vede che
Quindi il motore può essere descritto da:
Va(s)
I(s)
+
Ω(s)
-
Cristian Secchi
Controlli Automatici
Introduzione a Simulink -- 17
Esempio – Motore in CC a eccitazione indipendente
Si supponga di alimentare il sistema con un gradino di tensione. Si studi
mediante simulazione l’effetto della variazione dei parametri fisici sulla
velocità della parte meccanica
Cristian Secchi
Controlli Automatici
Introduzione a Simulink -- 18
CONTROLLI AUTOMATICI
Ingegneria Meccatronica
CONTROLLI AUTOMATICI
INTRODUZIONE A SIMULINK
Ing. Cristian Secchi
Tel. 0522 522234
e-mail: [email protected]
http://www.ingre.unimore.it/staff/secchi