Guida Introduttiva a SIMULINK

of 33 /33
Guida Introduttiva a SIMULINK Ing. Alessandro Pisano [email protected]

Embed Size (px)

Transcript of Guida Introduttiva a SIMULINK

Guida Introduttiva a SIMULINK Esempio introduttivo: costruzione e visualizzazione di un onda sinusoidale 7
Costruzione e visualizzazione di segnali qualunque. 12
Risoluzione di equazioni differenziali lineari a coefficienti costantii 13
Risoluzione di equazioni differenziali lineari a coefficienti non costantii 18
Risoluzione di sistemi di equazioni differenziali lineari a coefficienti costanti 20
Risoluzione di equazioni differenziali non lineari del primo ordine 22
Risoluzione di equazioni differenziali non lineari di ordine qualunque 24
Risoluzione di equazioni differenziali non lineari tempo-varianti di ordine qualunque 26
Simulazione di sistemi dinamici:
Es. 2: Motore DC
Ing. A. Pisano [email protected]
Guida introduttiva a SIMULINKdica
3
Introduzione
Il software “Simulink“ è un applicativo che “vive” allinterno del programma di calcolo
Matlab e ne costituisce, in buona sostanza, una potente e intuitiva interfaccia grafica.
Medante Simulink è possibile “programmare” lesecuzione di calcoli in ambiente Matlab in
maniera molto più rapida ed error-free rispetto alla scrittura dei lunghi e complessi m-files
che sono necessari, ad esempio, per programmare in Matlab lintegrazione numerica di un
sistema di equazioni differenziali di ordine elevato.
Mediante gli strumenti “visuali” disponibili in ambiente Simulink è possibile simulare dei
sistemi anche molto complessi con uno sforzo da parte dellutente che si limita al
tracciamento, su un foglio di lavoro elettronico, di uno schema a blocchi rappresentativo
del sistema in esame.
Per incominciare immediatamente ad usare il programma concentreremo lattenzione su
alcuni “task” di interesse (ad esempio visualizzare un segnale, risolvere una equazione
differenziale lineare a coefficienti costanti) guidando passo-passo il lettore mediante
esempi concreti.
Generalità: librerie e blocchi elementari.
SIMULINK si compone di una serie di librerie che contengono dei blocchi elementari, i
quali, opportunamente interconnessi, andranno a realizzare lo schema a blocchi che
rappresenta la funzionalità desiderata.
Si accede alla lista delle librerie aprendo innanzitutto MATLAB (si veda in Fig. 1 la finestra
di avvio di MATLAB) e quindi aprendo SIMULINK. Tale operazione puo esser fatta in due
modi: premendo con il mouse il pulsante corrispondente (v. Fig. 1) o digitando “simulink”
nella riga di comando e quindi premendo il tasto invio. In Fig. 2 la finestra di avvio del
software SIMULINK (vers.6.0.0.88, release 12)
Ing. A. Pisano [email protected]
Guida introduttiva a SIMULINKdica
PULSANTE PER
APRIRE “SIMULINK”
5
Nella parte destra della finestra in Fig. 2 vediamo la lista delle librerie (Continuous,
Discrete, Functions & Tables, Math,…, Sources) ognuna delle quali contiene una certa
tipologia di componenti base:
Functions & Tables Funzionalità pèrogrammabili e look-up tables
Math Funzioni matematiche
Sinks Visualizzatori di segnale
Vediamo più a fondo il contenuto di alcune librerie
FIG. 3. LIBRERIE “CONTINUOUS” (SINISTRA) E “MATH” (DESTRA)
Ing. A. Pisano [email protected]
Guida introduttiva a SIMULINKdica
FIG. 4. LIBRERIE “SINKS” (SINISTRA) E “SOURCES” (DESTRA)
Ciascun blocco elementare svolge una particolare funzione. Non è scopo di questo
manuale discutere in dettaglio tutti i blocchi elementari; ci limiteremo a spiegare il
funzionamento dei blocchi che ci serviranno per svolgere alcuni “task”.
Ing. A. Pisano [email protected]
Guida introduttiva a SIMULINKdica
Esempio introduttivo: visualizzazione di una sinusoide
Come primo passo si apra una nuova pagina di lavoro cliccando sul pulsante “new” a
sinistra nella finestra di apertura di Simulink (v. Fig. 2). Comparirà una finestra denominata
“Untitled” (v. Fig. 5) allinterno della quale si dovrà costruire lo schema a blocchi che
implementa le funzioni richieste. In generale si devono importare nella pagina di lavoro un
certo numero di blocchi elementari che dovranno essere opportunamente interconnessi tra
di loro al fine di realizzare il modello di simulazione
FIG. 5
Per visualizzare una sinusoide sono sufficienti due blocchi elementari: un blocco che
generi il segnale desiderato, ed un blocco che ne permetta la visualizzazione.
Il primo blocco lo troveremo nella libreria “Sources” (blocco Sine Wave), il secondo blocco
(blocco Scope), si trova nella libreria “Sinks”.
I blocchi necessari vanno importati nella pagina di lavoro Untitled trascinando con il
mouse (drag-and-drop) licona del blocco allinterno della pagina di lavoro. Il risultato di
tale procedura è mostrato in Fig. 6.
Ing. A. Pisano [email protected]
Guida introduttiva a SIMULINKdica
FIG. 6
A questo punto conviene salvare la pagina di lavoro. La scritta Untitled verrà sostituita dal
nome assegnato al file, che ha suffisso mdl (ad esempio “sinusoide.mdl”). E altresi
conveniente e soprattutto comodo ingrandire la finestra di lavoro e disporre i blocchi nella
parte centrale come in Fig. 7.
FIG. 7 FIG. 8
Si deve ora collegare luscita del generatore di funzione “Sine Wave” con lingresso del
blocco di visualizzazione “Scope”. Per effettuare un collegamento si deve portare la freccia
del mouse nel punto di partenza dello stesso, e quindi “tracciare il collegamento” tenendo
Ing. A. Pisano [email protected]
Guida introduttiva a SIMULINKdica
9
premuto il tasto sinistro del mouse e portandosi fino al punto di destinazione. Un
collegamento correttamente eseguito viene indicato come in Fig. 8.
Devono ora essere impostati i parametri di ampiezza, frequenza e sfasamento che
definiscono la particolare sinusoide che si desidera generare. A tal fine è necessario fare
doppio click sul blocco “Sine Wave”, e come risultato si apre una finestra di dialogo
allinterno della quale vanno impostati i parametri di funzionamento (Fig. 9).
FIG. 9
Impostati i tre parametri desiderati (scrivendo il valore corrispondente nelle caselle di testo
etichettate “Amplitude”, “Frequency” e “Phase”) e confermata la scelta con il tasto “OK”
(nella casella “sample time” si deve lasciare il valore nullo di default) resta da compiere un
ultimo passo prima di avviare la simulazione . Si devono impostare la durata (cioè
lintervallo temporale) della simulazione ed il metodo di integrazione numerica. Tali
parametri si impostano selezionado la voce “Simulation Parameters” dal menu
“Simulation” della finestra di lavoro (Fig. 10).
Lintervallo temporale della simulazione si imposta nella casella “Stop Time”. Per quanto
riguarda il metodo di integrazione in questa sede ci limitiamo a segnalare che
selezionando le “Solver Options” ed il “Fixed step size” come in Fig. 10 si potranno
eseguire con successo tutti i task di simulazione previsti nel presente documento. Quando
sono da rappresentare fenomeni rapidamente variabili (ad es. una sinusoide a frequenza
dellordine dei KHz) si dovrà ridurre il “Fixed Step Size” oppure ricorrere a solutori (Solver)
differenti.
10
Come ultima operazione, si deve fare doppio click sul blocco Scope, ottenenendo come
risultato la comparsa della finestra di visualizzazione in Fig. 11, quindi cliccare sul pulsante
“Properties” (il secondo da destra, affianco al pulsante di stampa) e disselezionare nel
menù “data History” la check-box di default “Limit data points to last [5000]” (v. Fig. 12).
FIG. 10 FIG. 11
FIG. 12 FIG. 13
A questo punto tutto è pronto per eseguire la simulazione. E sufficiente cliccare il pulsante “Start
Simulation” (Fig. 9) e nella finestra di visualizzazione comparirà il segnale generato dal blocco
Sine Wave (v. Fig. 13: Amplitude=1, Frequency = 1 rad/s, Phase = 0°). Se la finestra di
visualizzazione fosse stata inavvertitamente chiusa è sufficiente fare doppio click sul blocco Scope
per riaprirla.
E possibile visualizzare sinusoidi di diversa ampiezza, frequenza o sfasamento modificando il
corrispondente parametro nella finestra di dialogo del blocco Sine Wave.
Per generare un segnale armonico (ad es. la somma di due sinusoidi di frequenza diversa) si
devono importare un altro blocco “Sine Wave” ed un blocco che funga da nodo sommatore
(Libreria “Math”, blocco “Sum”). Lunico parametro che definisce il comportamento del nodo
sommatore è una stringa di „+ o „ (es. „+++) in numero pari al numero di nodi desiderati. Per il
caso in esame si dovrà impostare la stringa „++ (è la stringa di default) che genera due nodi a
segno positivo (per fare la differenza tra due segnali il sommatore va invece configurato con la
stringa „+). Avviando la simulazione con il pulsante “Start Simulation” si può vedere nel blocco
“Scope” il segnale armonico costruito.
FIG. 14
Esercizio: Visualizzare il segnale x(t)=sin(t) + 2 sin(2 t) + 3 sin (3 t + ) – 2 sin (5 t)
Pulsante “Start Simulation”
Per generare segnali non sinusoidali, sono disponibili diversi blocchi speciali.
Descriviamone alcuni
Random signal Segnale casuale
Per generare funzioni comunque complesse (ad es. s(t)=sin(t) + e-t + t log (t+1)) si può
utilizzare la seguente configurazione:
FIG. 15
Il blocco “Clock” sta nella libreria “Sources” e fornisce in uscita la variabile temporale t. Il
blocco “Fcn” sta nella libreria “Functions & Tables” e permette di scrivere una espressione
matematica che viene applicata alla quantità in ingresso al blocco. Nello scrivere
l’espressione il segnale di ingresso si deve sempre indicare con la lettera “u” (si noti
come in Fig. 15 il contenuto della stringa definisca proprio la funzione desiderata s(t) con
la lettera „u al posto di „t).
Avviando la simulazione (pulsante “Start”) e facendo doppio click sul blocco “Scope “si
può visualizzare landamento del segnale generato. Si ricordi di impostare correttamente i
“Simulation Parameters” e le “Scope properties” ( v. Fig. 10 e Fig. 12).
Ing. A. Pisano [email protected]
Guida introduttiva a SIMULINKdica
Soluzione di equazioni differenziali lineari a coefficienti costanti
Chiariamo innanzitutto che in ambito Simulink per soluzione di un equzione differenziale
intendiamo semplicemente la visualizzazione della soluzione in un blocco di tipo Scope.
Anche stavolta procediamo sviluppando un esempio:
ESEMPIO Si visualizzi nei primi 15 secondi la soluzione y(t) dellequazione differenziale
lineare del terzo ordine
La procedura è sistematica:
1. Riscrivere lequazione in forma esplicita (cioè isolando a sinistra delluguale la
derivata di ordine più elevato)
yyyty 2 3
(3)
2. Collocare nella pagina di lavoro vuota un numero di blocchi “Integrator” (dalla
libreria “Continuous”) pari allordine dellequazione differenziale (in questo caso
sono 3) e collegarli tra loro in cascata come in Fig. 16
FIG. 16
14
3. Importare un nodo sommatore e 3 blocchi “Gain” (dalla libreria “Math”). Il nodo
sommatore si collega al primo degli integratori (quello più a sinistra).
Il blocco “Gain” moltiplica il segnale di ingresso per il valore impostato nella
corrispondente finestra di dialogo che si apre facendo doppio click sul blocco stesso (il
guadagno di default è unitario).
FIG. 17
Come riportato in Fig. 17, le uscita dei tre integratori sono (da destra verso sinistra)
rispettivamente y (il segnale che si desidera visualizzare) e, come conseguenza della
equazione di funzionamento dellintegratore, le sue derivate prima e seconda, y ed y.
Nota: Facendo doppio click su un punto della finestra di lavoro ove non si trovano
blocchi ivi compare una casella di testo che può essere riempita a piacere.
Usualmente, come fatto in Fig. 17, si usa questa funzionalità per identificare, vicino
alluscita (o allingresso) di un blocco, il nome del Segnale che esce dal (o entra nel)
blocco in questione.
Come si ricava facilmente, in ingresso all’integratore più a sinistra (Integrator 2 in Figura
17) si troverà la derivata terza del segnale y.
Per simulare l’equazione differenziale si dovranno pertanto far confluire nel nodo
sommatore tutte le quantità che compaiono a destra dell’uguale nell’equazione (3), che
definisce proprio la forma della derivata terza.
Identifichiamo, a destra delluguale nella Eq. (3), quattro diversi contributi:
A. la funzione del tempo tra parentesi quadre t 2cos 3
1 1
2
D. il segnale y moltiplicato per 2
4. Configurare il sommatore con 4 nodi positivi e renderlo di forma rettangolare
anziché circolare (stringa „++++ ed “Icon shape”=”Rectangular” nella finestra di
dialogo)
La funzione del tempo al punto A viene generata con un blocco “Clock” ed un blocco
“Fcn” (v esempio a pag. 12). I blocchi “Gain” vengono fatti ruotare di 180° (è sufficiente
selezionarli con un singolo click di mouse e premere per due volta la coppia di tasti
„CTRL + „R, R=rotate) e trascinati nel foglio di lavoro fino a disporli come in Figura 18.
FIG. 18
5. Ora bisogna collegare in ingresso ai tre blocchi “Gain“ i segnali y, y ed y per
poter costruire i tre contributi ai punti B, C e D. Le uscite dei tre blocchi “Gain” vanno
collegate ai tre ingressi liberi nel nodo sommatore. Dopo aver fatto tutti collegamenti
bisogna impostare i guadagni dei tre blocchi “Gain” in accordo con lequazione (3). Il
risultato finale è in Fig. 19. E conveniente fare i collegamenti come in Fig. 19 per
evitare incroci tra rami (che comunque non provocano nessun “corto circuito” e sono
da evitarsi soltanto per aumentre la chiarezza di rappresentazione).
Ing. A. Pisano [email protected]
Guida introduttiva a SIMULINKdica
FIG. 19
6. Prima di avviare la simulazione bisogna impostare le condizioni iniziali in Eq. (2).
Le condizioni iniziali si impostano mediante una finestra di dialogo che si apre facendo
doppio click sui blocchi Integratori. Cliccando sullintegratore più a destra (Integrator) si
apre la seguente finestra in cui impostre il parametro “Initial condition”, la condizione
iniziale del segnale che esce dallo specifico blocco integratore. Poiché luscita del
blocco in questione è il segnale y, in accordo con lEq. (2) si dovra inserire 1 come
“Initial Condition” (e lasciare i valori di default per le altre impostazioni).
FIG. 20
Per gli altri integratori procedere di conseguenza impostando le “Initial Condition”
sempre in accordo con le Eq. (2). Si deve ora collegare il blocco Scope.
N.B. per effettuare un collegamento a partire da un collegamento preesistente bisogna
portarsi con il mouse sul punto in cui si desidera “agganciarsi” e quindi tracciare con la
punta del mouse il percorso desiderato per il collegamento, tenendo premuto il tasto
destro del mouse.
Non resta che impostare correttamente i “Simulation Parameters” (N.B. Stop time =
15) e le “Scope properties” (v. Fig. 10 e Fig. 12) ed avviare la simulazione premendo il
pulsante “Start”. Landamento temporale della soluzione cercata è riportato in Fig. 21.
FIG. 21
Nelle equazioni differenziali a coefficienti non costanti almeno uno dei coefficienti che
moltiplicano le derivate della soluzione y sono delle funzioni del tempo, a differenza da
quanto si aveva nella eq. (3).
Prendendo spunto dalla procedura adottata per risolvere lequazione 1, vediamo quali
modifiche si debbano introdurre per trattare una equazione a coefficienti non costanti
come quella dellesempio che segue
ESEMPIO Si visualizzi nei primi 15 secondi la soluzione y(t) dellequazione differenziale
lineare tempovariante del secondo ordine
24sin ''' yyty (4)
con condizioni iniziali
Equazione in forma esplicita:
yyty 4sin2 ''' (6)
Come prima, si debbono porre in cascata un certo numero di integratori (stavolta solo 2
perché lequazione (4) è di ordine 2) e si deve collegare un sommatore allingresso del
primo integratore in maniera analoga a quanto fatto in Fig. 17.
La componente 'sin yt a destra delluguale nellequazione (6) in forma esplicita non
potrà più essere generata mediante un blocco di guadagno (Gain).
E possibile utilizzare il blocco “Dot Product” (dalla libreria “Math”), un blocco con due
ingressi che fornisce in uscita il prodotto degli stessi.
Al primo ingresso del blocco “Dot Product” si dovrà mandare il segnale y (prelevato nel
punto opportuno dello schema).
Al secondo ingresso si dovrà invece mandare il guadagno tempovariante tsin ,
sempre generato con i blocchi “Clock” ed “Fcn” come spiegato a pag. 12.
Ing. A. Pisano [email protected]
Guida introduttiva a SIMULINKdica
Avendo completato tutti i collegamenti ne risulterà il seguente schema
FIG. 22
- Si faccia attenzione alle condizioni iniziali degli integratori, da definirsi in accordo
con le Eq. (5)).
- Nel blocco “Fcn” è inserita la stringa “- sin(u)”.
Per verificre la correttezza dello schema si confronti il grafico ottenuto con il seguente:
Grafico della soluzione
Soluzione di sistemi di equazioni differenziali lineari a coefficienti costanti
ESEMPIO Si visualizzino nei primi 30 secondi le soluzioni y(t) ed x(t) del seguente sistema
di equazioni differenziali lineari
10 x (10)
Il sistema costituito dalle equazioni (7)-(8) è complessivamente di ordine 3 (lordine totale
è la somma degli ordini delle singole equazioni). Il punto di partenza è sempre la riscrittura
del sistema in forma esplicita
Sistema in forma esplicita:
txyx cos4'' (12)
Si devono collocare in tutto 3 blocchi Integratori (libreria “Continuous”) che però non
dovranno essere disposti in cascata come in Fig. 16.
Gli integratori vanno disposti su 2 righe distinte (perché il sistema in esame si compone di
2 equazioni). Nella prima riga (corrispondente alla equazione (11)) metterò due
integratori in cascata, nella seconda riga metterò il terzo integratore restante (Fig. 24).
Analogamente a prima, si collegano due nodi sommatori in ingresso agli integratori più a
sinistra (uno dei sommatori, quello della prima riga corrispondente alla variabile y, deve
avere 4 ingressi, per laltro ne bastano 3). Per concludere lo schema si devono generare
tutte le grandezze a destra delluguale nelle equazioni (11) e (12), e tali grandezze devono
Ing. A. Pisano [email protected]
Guida introduttiva a SIMULINKdica
21
essere “convogliate” nel nodo sommatore in accordo con le due equazioni. Al solito, la
funzione cos(t) è generata con i blocchi “Clock” e “Fcn”.
In Fig. 25 è riportato un possibile schema finale
FIG. 24
FIG. 25
N.B. I collegamenti sovrapposti in Fig. 25 sono leciti. Le connessioni effettive sono
identificate da un punto nero che risalta dal collegamento, dunque se due linee si
sovrappongono ma non vi è il punto nero alla loro intersezione le due linee non
interferiscono luna con laltra.
Ing. A. Pisano [email protected]
Guida introduttiva a SIMULINKdica
Soluzione di equazioni differenziali non lineari del primo ordine
Analizziamo la soluzione di una equazione differenziale non lineare del prino ordine.
Consideriamo per semplicità una equazione autonoma (la variabile tempo non compare
esplicitamente)
00 xx 0x (14)
In gergo matematico tale problema si chiama “Problema di Cauchy ai valori iniziali”.
Va evidenziato quanto segue:
- i grafici che si ottengono con Simulink sono sempre grafici approssimati per
due motivi:
algoritmi automatici di calcolo (solutori, es. Runge-Kutta, Eulero, …) affetti
da un intrinseco errore di approssimazione (lerrore si riduce
diminuendo il parametro “Fixed step size” nei “Simulation parameters”, v.
Fig. 12).
o ogni operazione sui numeri è affetta da un errore di troncamento (o
arrotondamento) dovuto al fatto che il calcolatore rappresenta i numeri con
una quantità finita di cifre.
La risoluzione di un problema di Cauchy in ambiente Simulink è estremamente semplice.
Lequazione è dallinizio espressa in forma esplicita. Per simularla è sufficiente un
integratore ed un blocco Fcn che realizzi la funzione f(x).
FIG. 26
xxxxx cossin (15)
10 x (16)
In Fig. 27 lo schema finale risultante, ed in Fig. 28 il grafico della soluzione.
FIG. 27 FIG. 28
Ing. A. Pisano [email protected]
Guida introduttiva a SIMULINKdica
Soluzione di equazioni differenziali non lineari di ordine qualunque
Analizziamo ora la soluzione di equazione differenziali non lineari di ordine qualunque in
forma esplicita. Consideriamo per semplicità una equazione autonoma (la variabile tempo
non compare esplicitamente) e trattiamo inizialmente il caso di una equazione del secondo
ordine.
00 xx , 00 xx 00 , xx (18)
Stavolta servono due integratori (lequazione è del secondo ordine) collegati in cascata, un
blocco “Fcn” che dovrà realizzare la funzione xxf , ed un blocco aggiuntivo che si
chiama “Mux” (libreria “Signals & Systems”).
Il blocco “Mux” ha un numero arbitrario di ingressi (il numero di ingressi si imposta dalla
corrispondente finestra di dialogo attraverso il parametro intero “Number of inputs”)
FIG. 29
La funzione del blocco “Mux” è quella di “compattare” tuti i segnali di ingresso in un vettore
ad N componenti (N = Number of Inputs).
Lutilità di questo blocco consiste nel fatto che, se applico in ingresso ad un blocco “Fcn”
un segnale ad N componenti costruito con un blocco “Mux”, posso accedere, alinterno del
blocco Fcn, ad ogni singolo componente del vettore di ingresso.
Il primo elemento del vettore sarà indicato con u(1), il secondo con u(2) e così via fino
allelemento N-esimo
Per mezzo di tale blocco Fcn è possibile pertanto definire una espressione (funzione) che
dipende da tutti gli elementi del vettore N-dimensionale in ingresso.
Ing. A. Pisano [email protected]
Guida introduttiva a SIMULINKdica
Lo schema sarà del tipo in Figura 30
FIG. 30
SOLUZIONE: v. Fig. 31.
Soluzione di equazioni differenziali non lineari tempo-varianti di ordine qualunque
Analizziamo ora la soluzione di equazione differenziali non lineari e non autonome
(tempovarianti) di ordine qualunque in forma esplicita. Trattiamo inizialmente il caso di una
equazione del secondo ordine. Lestensione ai sistemi di ordine superiore è immediata.
ttxtxftx ,, (17)
00 xx , 00 xx 00 , xx (18)
E sufficiente introdurre una semplicissima modifica allo schema in Fig. 30. Se si aggiunge
un terzo ingresso al blocco Mux e si applica a tale ingresso luscita del blocco “Clock” visto
in precedenza (vioè la variabile tempo) si potrà includere nella funzione f (cioè nel
contenuto del blocco “Fcn”) anche la variabile tempo, che sarà indicata con u(3).
Facciamo un esempio:
Lo schema sarà del tipo in Figura 32
FIG. 32
Si può verificare che il seguente schema (Fig. (33)) è perfettamente equivalente a quello in
Fig. 32.
SIMULAZIONE DI SISTEMI DINAMICI
Una volta scritto il modello matematico di un sistema, la simulazione non è altro che la
risoluzione dellequazione differenziale (o del sistema di equazioni differenziali) definita dal
modello.
ESERCIZIO 1
Simulare il comportamento di un corpo di massa M=1 [Kg] vincolato a muoversi in una
direzione fissa sotto lazione di una forza applicata sinusoidale F(t) = 2*sin(t) [N] e
soggetto ad attrito composto (viscoso, statico e di tipo “drag) con coefficienti
rispettivamente b=0.2 [Ns/m], =0.1 N e =0.05 [N s2/m2].
Il modello può essere ricavato mediante un semplice bilancio dinamico delle forze agenti,
ed ha la forma seguente:
tFxxxxbxM sign (21)
Sostituendo i valori delle costanti e la forza applicata F(t)
txxxxx sin2 05.0sign 1.0 2.0 (22)
Un possibile schema Simulink è il seguente
FIG. 34
29
Nello schema in Fig. 34 un blocco compare per la prima volta: è il blocco “Abs” (libreria
“Math”) che estrae il valore assoluto di un segnale.
Nota: facendo doppio click sui nomi dei blocchi (ad es. “Integrator 1”) è possibile
modificarli. Nello schema in Fig. 34 questo è stato fatto nei blocchi “Gain” contenenti i 3
coefficienti di attrito (ribattezzati “alfa”, “gamma” e “b”) e nel blocco di tipo Fcn che genera
la forza applicata F. Tale blocco è ribattezzato “F(t)”.
ESERCIZIO 2
Si consideri il seguente modello matematico, che descrive il funzionamento di un servomotore in
corrente continua con eccitazione a magneti permanenti.




Tem(t) coppia elettromagnetica Tres(t) coppia resistente
i(t) corrente di fase
R resistenza dellavvolgimento J momento di inerzia allalbero
L induttanza di avvolgimento b coefficiente di attrito viscoso
Si desidera visualizzare l„andamento della velocità a vuoto (cioè con Tres=0) quando si
applica una tensione di alimentazione costante di ampiezza 5 V. Costruiremo lo schema
Simulink facendo uso di costanti simboliche.
Uno dei possibili schemi Simulink per la simulazione del sistema in esame è riportato in
Fig. 35. Prima di avviare la simulazione bisogna assegnare un valore ai parametri R, L,
K_T, K_V, J, b. Questa procedura si compie nella finestra di Matlab scrivendo nella riga di
comando le istruzioni di assegnazione (v. Fig. 36)
Ing. A. Pisano [email protected]
Guida introduttiva a SIMULINKdica
Es.1. Si simuli il sistema caratterizzato dalla seguente equazione differenziale
tutytytytyty 3
con y(0)= 0y =0 ed u(t) costituito da unonda quadra di ampiezza unitaria e frequenza
0.1 Hz.
Si determinino i valori massimo e minimo della funzione y(t) e della sua derivata in
condizione di regime.



con y(0)=1 ed u(t) costituito da unonda a dente di sega di ampiezza pari a 2 e frequenza
0.1 Hz. Si determinino i valori massimo e minimo della funzione y(t) e della sua derivata in
condizione di regime.
Es.3 Si simuli il sistema caratterizzato dalla seguente equazione differenziale
tutytytyty 31.02
con y(0)=1 ed u(t) costituito da unonda quadra di ampiezza unitaria e frequenza 1 Hz.
Si determinino i valori massimo e minimo della funzione y(t) e della sua derivata in
condizione di regime.
FIG. 37
Il blocco “Product” (libreria “Math””) è equivalente al blocco “Dot Product” per la
moltiplicazione di segnali scalari. Il blocco “Signal generator” (Libreria “Sources”) è in
gardo di generare diverse forme donda (tra cui un onda quadra come richiesto
nellesercizio) selezionabili nella finestra di dialogo dl blocco.
I valori limite a regime per luscita y sono 0.77 circa.
I valori limite a regime per la sua derivata y sono 0.57 circa.
SOLUZIONE DELL’Es. 2
33
I valori limite a regime per luscita y sono +2.225 e 1.85
I valori limite a regime per la sua derivata y sono +2.16 e 2.32
SOLUZIONE DELL’Es. 3
FIG. 39
I valori limite a regime per luscita y sono 0.33 circa.