MATLAB. Guida al laboratorio di automatica Mariagrazia Dotoli

Transcript

MATLAB. Guida al laboratorio di automatica Mariagrazia Dotoli
MATLAB. Guida al laboratorio di automatica
Mariagrazia Dotoli, Maria Pia Fanti
1
A Antonio e Francesca
A Gianfranco e Valentino
2
M. D.
M.P. F.
Prefazione
L’idea di scrivere questo libro nasce dalla opportunità di svolgere nei Corsi di
Laurea delle Facoltà di Ingegneria, nell’ambito delle discipline del settore
dell’Automatica, un certo numero di crediti dedicati al laboratorio informatico.
Nella maggioranza dei casi, tali esercitazioni sono tenute con l’ausilio del noto
software MATLAB. Questo volume si rivolge quindi principalmente ai docenti e
agli studenti dei corsi del settore dell’Automatica che prevedono un laboratorio informatico da svolgere con MATLAB. Il libro presenta una serie di lezioni o esercitazioni di laboratorio, che affrontano con l’ausilio di MATLAB gli argomenti di
base dei controlli automatici e dell’analisi e sintesi dei sistemi dinamici. Il volume
costituisce anche un’introduzione all’utilizzo delle istruzioni contenute nel pacchetto Control System Toolbox e dell’ambiente di sviluppo a blocchi Simulink del
software MATLAB. Si fa riferimento alle versioni del MATLAB almeno pari alla
5.0 o superiore, e in particolare alla release 14 (versione 2007a MATLAB 7.4).
Il libro inizia con quattro capitoli che costituiscono delle esercitazioni introduttive orientate al settore dell’Automatica per l’uso dell’ambiente MATLAB, del
Control System Toolbox e del Simulink, finalizzate agli studenti che non hanno familiarità con il software. Ognuno dei successivi capitoli è quindi dedicato ad un
particolare argomento trattato tipicamente nei corsi del settore dell’Automatica ed è
concepito come una linea guida per il docente che voglia svolgere un certo numero
di esercitazioni di laboratorio informatico. Inoltre in alcuni capitoli sono descritti e
analizzati alcuni casi in studio comunemente svolti nei corsi del settore. Il libro può
essere adottato dagli studenti dei Corsi di Laurea delle Facoltà di Ingegneria come
supporto al testo di riferimento del corso, o semplicemente può essere utilizzato per
un percorso di autoapprendimento per l’uso di MATLAB, Control System Toolbox
e Simulink. Infatti, ciascun capitolo/lezione contiene una parte in cui si richiamano
alcune nozioni fondamentali della teoria sul particolare problema trattato, quindi
introduce le istruzioni di MATLAB per risolvere e analizzare problemi e casi in
studio. I risultati ottenuti sono discussi e commentati mettendo in luce i vantaggi
offerti dal software utilizzato e fornendo una linea guida per analizzare, progettare
3
MATLAB. Guida al laboratorio di automatica
e valutare i sistemi di controllo in tale ambiente. Il testo ha quindi il duplice obiettivo di introdurre all’utilizzo del software MATLAB per lo studio dei sistemi di
controllo, ma, allo stesso tempo, di costituire un complemento alle lezioni e al testo
di riferimento di teoria, offrendo esercizi risolti e commentati che rendono più
chiara la parte teorica e la relativa applicazione. Anche il formato di scrittura adottato nel testo è duplice: il carattere standard è quello utilizzato in questa pagina,
ma, qualora si trascrivano le istruzioni eseguite nella finestra di comando del
MATLAB e i corrispondenti risultati ottenuti dalla loro esecuzione, si utilizza un
carattere diverso come in questo esempio. Non è naturalmente scopo del
libro analizzare in dettaglio le numerose istruzioni, disponibili in MATLAB per
l’analisi e la sintesi dei sistemi di controllo, trattate in modo esaustivo nei manuali
di riferimento del software: in ogni capitolo si mettono piuttosto in evidenza alcuni
comandi fondamentali su cui si forniscono poche indicazioni chiave, rimandando ai
manuale in linea del software ed ai testi di riferimento per peculiarità e approfondimenti sulla sintassi. Pertanto, il volume si presenta come una collezione di
esempi pratici organizzati per argomento, che l’utente può riscrivere agevolmente
al calcolatore, verificando e analizzando i risultati dell’esecuzione dei programmi,
sulla base dei suggerimenti presentati nel testo. Gli esercizi proposti al termine di
ogni capitolo permettono al lettore di verificare la propria preparazione sugli argomenti trattati.
Bari, 21 dicembre 2007
Mariagrazia Dotoli e Maria Pia Fanti
4
Ringraziamenti
Le autrici desiderano esprimere un sincero ringraziamento al Prof. Ing. Bruno
Maione, che da decenni guida con esperienza e competenza il gruppo di ricerca di
Automatica del Politecnico di Bari e che, con il suo entusiasmo e i suoi autorevoli
consigli, è un insostituibile maestro di vita e di ricerca scientifica.
5
Indice
Prefazione
3
Ringraziamenti
5
1
Introduzione all’uso del software di calcolo MATLAB
1.1 Caratteristiche del software MATLAB
1.2 Nozioni di base del MATLAB
1.3 Assegnazione di variabili scalari e funzioni elementari
1.4 Matrici e polinomi
1.5 Rappresentazione grafica di funzioni in una variabile
1.6 Programmi MATLAB
1.6.1. Script o programmi MATLAB
1.6.2. Funzioni MATLAB
1.7 Esercizi
7
7
8
10
13
19
23
23
24
26
2
Analisi dei sistemi lineari tempoinvarianti con il MATLAB CST
2.1 Modelli matematici dei sistemi dinamici LTI
2.2 Istruzioni MATLAB per modelli di sistemi SISO LTI
con funzione di trasferimento
2.2.1 L’istruzione tf
2.2.2 L’istruzione tf2zp
2.2.3 L’istruzione residue
2.2.4 Le istruzioni zpk, zp2tf, pzmap
2.2.5 Le istruzioni series, parallel, feedback
2.3 Istruzioni MATLAB per modelli di sistemi SISO LTI
in variabili di stato
27
27
V
28
28
29
30
31
32
34
MATLAB. Guida al laboratorio di automatica
2.4 Risposta all’impulso e al gradino di sistemi SISO LTI
del primo ordine
2.5 Risposta al gradino di sistemi SISO LTI del secondo ordine
2.6 Risposta al gradino di sistemi SISO LTI
di ordine superiore al secondo
2.7 Analisi delle risposte nel tempo di sistemi SISO LTI
2.8 Risposta nel tempo di sistemi SISO LTI con ritardo puro
2.9 Interfacce grafiche per analisi e sintesi di sistemi SISO LTI
2.10 Esercizi
3
4
Simulazione dei sistemi dinamici con MATLAB
3.1 Modelli matematici dei sistemi dinamici e soluzione
con MATLAB
3.1.1 Integrazione di equazioni differenziali con MATLAB
3.2 Esempio di sistema lineare: sistema meccanico
massa-molla-smorzatore
3.3 Esempio di sistema lineare: circuito elettrico RLC serie
3.4 Esempio di sistema non lineare: pendolo semplice
3.5 Esercizi
Simulazione dei sistemi dinamici con Simulink
4.1 Descrizione dell’ambiente grafico Simulink
4.1.1 Principali librerie di Simulink
4.1.2 Principali operazioni eseguibili in ambiente Simulink
4.2 Integrazione di equazioni differenziali e soluzione di sistemi dinamici
con Simulink
4.2.1 Soluzione dei sistemi LTI modellati con funzione di
trasferimento
4.2.2 Integrazione di equazioni differenziali con Simulink
4.3 Analisi di sistemi LTI con Simulink
4.3.1 Sistema meccanico massa-molla-smorzatore
4.3.2 Circuito elettrico RLC serie
4.3.3 Sistema lineare con ritardo puro
4.4 Analisi di sistemi non lineari con Simulink
4.4.1 Pendolo semplice
4.4.2 Circuito elettrico con resistore non lineare
4.4.3 Sistema idraulico
4.5 Analisi di sistemi tempovarianti con Simulink
4.6 Analisi di sistemi LTI in retroazione con Simulink
4.6.1 Sistema del secondo ordine chiuso in retroazione
4.6.2 Sistema del terzo ordine con ritardo chiuso in retroazione
4.7 Esercizi
VI
37
47
52
56
61
62
65
67
67
69
70
74
78
83
85
85
87
92
94
95
101
105
105
109
113
115
115
118
126
132
134
134
137
139
Indice
5
Studio di un sistema idraulico del terzo ordine con il CST e Simulink
5.1 Modello di sistema idraulico
5.2 Analisi del modello linearizzato nell’intorno di una soluzione
di equilibrio
5.3 Analisi del modello non lineare
5.4 Analisi del modello non lineare con il differential equation editor
5.5 Determinazione di una soluzione di equilibrio e linearizzazione
del modello non lineare con il differential equation editor
5.6 Esercizi
157
160
Analisi e controllo con Simulink di un motore
in corrente continua pilotato in armatura
6.1 Motore in corrente continua pilotato in armatura in anello aperto
6.2 Motore in corrente continua pilotato in armatura in anello chiuso
6.3 Esercizi
163
163
172
178
7
Analisi della sospensione di un veicolo con il CST
7.1 Modello del quarto di veicolo
7.2 Analisi del sistema con il CST
7.3 Esercizi
179
179
181
189
8
Uso di MATLAB per il tracciamento del luogo delle radici
8.1 Tracciamento del luogo delle radici
8.2 Luogo delle radici di sistemi con ritardo puro
8.3 Interfaccia grafica per lo studio del luogo delle radici
8.4 Esercizi
191
191
199
202
202
9
Uso di MATLAB per il tracciamento dei diagrammi di Bode
9.1 Diagrammi di Bode di funzioni di trasferimento elementari
9.2 Esempi di diagrammi di Bode
9.2.1 Funzione di trasferimento con un polo nell’origine
e uno reale negativo
9.2.2 Funzione di trasferimento di una rete ritardatrice
9.2.3 Funzione di trasferimento di una rete anticipatrice
9.2.4 Funzione di trasferimento di una rete ritardo-anticipo
9.2.5 Funzione di trasferimento a fase minima del terzo ordine
con uno zero
9.3 Diagrammi di Bode di sistemi con ritardo puro
9.4 Esercizi
205
205
215
6
10 Uso di MATLAB per il tracciamento dei diagrammi di Nyquist
10.1 Diagrammi e criterio di Nyquist
10.1.1 Sistema a fase minima di tipo 1
VII
141
141
143
148
155
216
216
218
218
219
222
223
225
225
226
MATLAB. Guida al laboratorio di automatica
10.1.2 Sistema del secondo ordine a fase minima
10.1.3 Sistema del secondo ordine con uno zero a fase minima
10.1.4 Sistema del secondo ordine con uno zero a fase non minima
10.1.5 Sistema del secondo ordine a fase non minima
10.2 Diagrammi di Nyquist di sistemi con ritardo puro
10.3 Indici di stabilità relativa e criterio di Nyquist
10.3.1 Esempi di valutazione dei margini di ampiezza e fase
10.3.2 Margini di ampiezza e fase di sistemi con ritardo puro
nella funzione di trasferimento di anello
10.4 Esercizi
11 Uso di MATLAB per il tracciamento dei diagrammi di Nichols
11.1 Diagrammi di Nichols
11.1.1 Diagramma di Nichols di un integratore puro
11.1.2 Diagramma di Nichols di un sistema del quarto ordine
a fase minima di tipo 1
11.1.3 Diagramma di Nichols di un sistema del terzo ordine
a fase minima di tipo 1
11.2 Diagrammi di Nichols e carte di Nichols
11.3 Esercizi
12 Uso di MATLAB per l’analisi e la sintesi di reti correttrici
12.1 Requisiti e specifiche di un sistema di controllo
12.2 Compensazione serie con attenuatore o con rete ritardatrice
12.3 Progetto di rete ritardatrice con i diagrammi di Bode
12.4 Compensazione serie con rete anticipatrice
12.5 Progetto di rete anticipatrice con i diagrammi di Bode
12.6 Progetto di rete ritardo-anticipo con i diagrammi di Bode
12.7 Confronto della compensazione con rete ritardatrice, anticipatrice
e ritardo-anticipo
12.8 Esercizi
13 Uso di MATLAB per l’analisi e la sintesi di regolatori standard
13.1 Compensazione con regolatore P
13.2 Compensazione con regolatore PI
13.3 Compensazione con regolatore PD
13.4 Compensazione con regolatore PID
13.5 Taratura dei regolatori standard: metodo di Ziegler-Nichols
in anello aperto
13.6 Taratura dei regolatori standard: metodo di Ziegler-Nichols
in anello chiuso
13.7 Esercizi
VIII
227
228
231
234
237
239
240
243
244
247
247
247
248
250
251
254
255
255
260
264
272
275
283
292
296
299
300
303
306
310
314
323
330
Indice
14 Progetto della retroazione di stato con il MATLAB CST
14.1 Determinazione della matrice di retroazione di stato
14.2 Modello in variabili di stato del motore in corrente continua
pilotato in armatura
14.3 Progetto con il CST della retroazione di stato per il motore
in corrente continua pilotato in armatura
14.4 Esercizi
15 Retroazione di stato con il CST e Simulink
15.1 Modello del sistema idraulico
15.2 Determinazione della matrice di retroazione di stato con il CST
15.3 Analisi in Simulink del sistema idraulico in anello aperto
e in anello chiuso con retroazione di stato
15.3.1 Analisi in Simulink del modello lineare in anello aperto
15.3.2 Analisi in Simulink del modello lineare in anello chiuso
15.3.3 Analisi in Simulink del modello non lineare in anello chiuso
15.4 Esercizi
333
333
337
341
347
349
350
352
358
359
363
366
368
16 Retroazione di stato con regolatore ottimo con il CST e Simulink
16.1 Sintesi del regolatore ottimo in retroazione di stato
con il CST
16.2 Modello del pendolo inverso
16.3 Sintesi per linearizzazione del regolatore ottimo del pendolo inverso
16.4 Analisi in Simulink del modello non lineare in anello chiuso
16.5 Esercizi
370
372
376
384
391
17 Stima asintotica dello stato con il CST e Simulink
17.1 Sintesi dello stimatore asintotico dello stato con il CST
17.2 Retroazione di stato con osservatore per un sistema idraulico
17.2.1 Sintesi della retroazione di stato e dell’osservatore con il CST
17.2.2 Analisi in Simulink del sistema retroazionato con osservatore
17.3 Esercizi
393
393
397
398
406
410
A. Principali istruzioni di MATLAB e del CST per il laboratorio di
automatica
A.1 Alcune istruzioni di ausilio
A.2 Istruzioni per le principali operazioni elementari
A.3 Istruzioni per il trattamento di polinomi
A.4 Istruzioni per il tracciamento di grafici in due dimensioni
A.5 Istruzioni per l’analisi di sistemi LTI
A.6 Istruzioni per l’analisi di risposte al gradino e la simulazione
di sistemi LTI
A.7 Istruzioni per l’analisi e la simulazione di sistemi dinamici
IX
369
411
411
412
413
413
414
415
416
MATLAB. Guida al laboratorio di automatica
A.8 Istruzioni per il tracciamento del luogo delle radici di sistemi LTI
A.9 Istruzioni per l’analisi in frequenza di sistemi LTI
A.10 Istruzioni per il controllo in retroazione di stato di sistemi LTI
multivariabili
416
416
417
B. Principali blocchi Simulink per il laboratorio di automatica
B.1 Blocchi Simulink
419
419
Bibliografia
421
Indice analitico
425
X