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