Regolazione I e II
Transcript
Regolazione I e II
Scuola Universitaria Professionale della Svizzera Italiana Dipartimento di informatica ed elettronica Automazione I e II Ing. Roberto Bucher 7 aprile 2003 Automazione I e II 2 Copyright 2003 Roberto Bucher 7 aprile 2003 Indice 1 Introduzione ai sistemi di controllo 1.1 Applicazioni dei sistemi di controllo . . . . . . . . . . 1.2 Un po’ di storia . . . . . . . . . . . . . . . . . . . . . . 1.3 Descrizione dei sistemi di controllo . . . . . . . . . . . 1.4 Analisi dei sistemi ed obiettivi di design . . . . . . . . 1.4.1 Risposta al transiente . . . . . . . . . . . . . . 1.4.2 Errore allo stato finito . . . . . . . . . . . . . . 1.4.3 Stabilità . . . . . . . . . . . . . . . . . . . . . . 1.5 Controllo di posizione di un’antenna . . . . . . . . . . 1.6 Analisi e realizzazione di compensatori . . . . . . . . . 1.6.1 Determinare il sistema fisico . . . . . . . . . . . 1.6.2 Trasformare il sistema in una serie di schemi circuiti elettrici ecc.) . . . . . . . . . . . . . . . 1.6.3 Determinare il modello matematico del sistema 1.6.4 Riduzione del diagramma a blocchi . . . . . . . 1.6.5 Analisi e design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . (schema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . blocchi, . . . . . . . . . . . . . . . . . . . . 2 Modellazione di processi 2.1 Introduzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2 Relazioni tra grandezze fisiche . . . . . . . . . . . . . . . . . . . . . . 2.3 Rappresentazioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.4 La trasformata di Laplace . . . . . . . . . . . . . . . . . . . . . . . . 2.5 Spazio degli stati . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.6 Descrizione di un motore dc . . . . . . . . . . . . . . . . . . . . . . . 2.6.1 Funzione di trasferimento del motore dc . . . . . . . . . . . . 2.6.2 Rappresentazione nello spazio degli stati del motore dc . . . . 2.7 Conversione da funzione di trasferimento a spazio degli stati . . . . . 2.7.1 Conversione da spazio degli stati a funzione di trasferimento . 2.8 Soluzione dell’equazione nello spazio degli stati con Laplace . . . . . 2.9 Soluzione nel dominio del tempo . . . . . . . . . . . . . . . . . . . . 2.10 Modellazione mediante grafi di flusso . . . . . . . . . . . . . . . . . . 2.11 Analisi del processo motore-antenna . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 13 13 14 16 16 17 17 17 19 19 . . . . 19 19 20 20 . . . . . . . . . . . . . . 23 23 25 25 26 28 30 32 33 33 35 36 37 41 41 3 Risposte nel tempo di sistemi modellati 45 3.1 Introduzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 3.2 Il concetto dei poli e degli zeri e della risposta di sistema . . . . . . . . . . . 45 3.3 Poli e zeri di una funzione di trasferimento. . . . . . . . . . . . . . . . . . . 45 7 aprile 2003 Copyright 2003 Roberto Bucher 3 Automazione I e II INDICE 3.4 3.5 Risposta di un sistema di 1. ordine . . . . . . . . . . . . . . Risposta di sistemi di 2. ordine . . . . . . . . . . . . . . . . 3.5.1 Sistema sovrasmorzato . . . . . . . . . . . . . . . . . 3.5.2 Sistema sottosmorzato . . . . . . . . . . . . . . . . . 3.5.3 Sistema oscillatorio . . . . . . . . . . . . . . . . . . . 3.5.4 Sistema smorzato criticamente . . . . . . . . . . . . 3.6 Analisi generale di sistemi di 2. ordine . . . . . . . . . . . . 3.7 Analisi dettagliata di un sistema di 2. ordine sottosmorzato 3.7.1 Calcolo del tempo di salita . . . . . . . . . . . . . . 3.7.2 Calcolo del tempo di setting . . . . . . . . . . . . . . 3.7.3 Calcolo di Tp . . . . . . . . . . . . . . . . . . . . . . 3.7.4 Calcolo del valore di %OS . . . . . . . . . . . . . . . 3.8 Risposta di sistemi con poli supplementari . . . . . . . . . . 3.9 Risposta di sistemi di 2. ordine con zeri . . . . . . . . . . . 3.10 Sistemi a fase non minima . . . . . . . . . . . . . . . . . . . 4 Stabilità 4.1 Introduzione . . . . . . . . . . . . . . . . 4.2 Stabilità dalla funzione di trasferimento 4.3 Stabilità nello spazio degli stati . . . . . 4.4 Criterio di stabilità di Routh-Hurwitz . . . . . . . . . . . . . 5 Errore allo stato finito 5.1 Introduzione . . . . . . . . . . . . . . . . . . . 5.2 Analisi dell’errore allo stato finito . . . . . . . 5.2.1 Gradino . . . . . . . . . . . . . . . . . 5.2.2 Rampa . . . . . . . . . . . . . . . . . 5.2.3 Parabola . . . . . . . . . . . . . . . . 5.3 Costanti di errore statico . . . . . . . . . . . 5.4 Definizione del tipo di sistema . . . . . . . . . 5.5 Errore allo stato finito di sistemi con feedback Copyright 2003 Roberto Bucher . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 48 48 49 50 50 51 52 53 53 54 54 56 56 58 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 61 62 64 64 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . non unitario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 67 69 69 70 70 71 72 72 . . . . . . . . . . 75 75 76 76 79 79 79 79 79 80 80 . . . . . . . . 6 Analisi con il luogo delle radici 6.1 Introduzione . . . . . . . . . . . . . . . . . . . . . 6.2 Rappresentazione vettoriale di funzioni complesse 6.3 Luogo delle radici . . . . . . . . . . . . . . . . . . 6.4 Proprietà del luogo delle radici . . . . . . . . . . 6.5 Regole per disegnare il luogo delle radici . . . . . 6.5.1 Numero di rami . . . . . . . . . . . . . . . 6.5.2 Simmetria . . . . . . . . . . . . . . . . . . 6.5.3 Segmenti sull’asse reale . . . . . . . . . . 6.5.4 Punti di partenza e punti di arrivo . . . . 6.5.5 Rami che tendono all’infinito . . . . . . . 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 aprile 2003 INDICE Automazione I e II 7 Analisi nel dominio delle frequenze 7.1 Analisi di Bode . . . . . . . . . . . . . . . . . 7.2 Grafici delle singole funzioni . . . . . . . . . . 7.3 Utilizzo dei diagrammi di Bode in regolazione 7.4 Analisi di Nyquist . . . . . . . . . . . . . . . 7.5 Riassunto delle formule trovate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 83 84 84 89 95 8 Design classico di regolatori 8.1 Introduzione . . . . . . . . . . . . . . . . . . . . . . . 8.2 Compensatori classici . . . . . . . . . . . . . . . . . 8.3 Controllore Proporzionale-Integrale-Derivativo (PID) 8.3.1 Metodi empirici (Metodi di Ziegler-Nichols) . 8.3.2 Metodo grafico . . . . . . . . . . . . . . . . . 8.3.3 Metodo analitico . . . . . . . . . . . . . . . . 8.4 Compensatori Lead e Lag . . . . . . . . . . . . . . . 8.4.1 Regolatore lead dal luogo delle radici . . . . . 8.4.2 Regolatore lead dal diagramma di Bode . . . 8.4.3 Compensatori lag dal luogo delle radici . . . 8.4.4 Compensatore lag dal diagramma di Bode . . 8.5 Deadbeat Response . . . . . . . . . . . . . . . . . . . 8.6 Conclusioni . . . . . . . . . . . . . . . . . . . . . . . 8.7 Realizzazione pratica di compensatori . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 99 100 100 101 106 115 122 123 126 132 133 137 140 140 . . . . . . . . . . . . . . . A La trasformata di Laplace 143 A.1 Definizione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 B Diagrammi di flusso di segnali B.1 Rappresentazione . . . . . . . . . . . . . . . . B.2 Operazioni su diagrammi di flusso . . . . . . B.2.1 Riduzione secondo le regole di Mason B.3 Scalare un nodo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147 147 148 148 150 C Matrici, determinanti e sistemi di equazioni 151 C.1 Definizione di matrici e notazione . . . . . . . . . . . . . . . . . . . . . . . . 151 7 aprile 2003 Copyright 2003 Roberto Bucher 5 Automazione I e II 6 INDICE Copyright 2003 Roberto Bucher 7 aprile 2003 Elenco delle figure 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 Processo generico . . . . . . . . . . . . . . . . . . . . . . . Esempio di un ascensore . . . . . . . . . . . . . . . . . . . Sistema open loop . . . . . . . . . . . . . . . . . . . . . . Sistema closed loop . . . . . . . . . . . . . . . . . . . . . . Antenna parabolica . . . . . . . . . . . . . . . . . . . . . . Schema a blocchi dell’antenna parabolica . . . . . . . . . Risposta al transiente con diversi valori di amplificazione . Schema dell’antenna parabolica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 15 15 16 18 18 18 19 2.1 2.2 2.3 2.4 2.5 2.6 Semplice schema elettrico . . . . . . . . . . . Semplice schema meccanico . . . . . . . . . . Schema di calcolo . . . . . . . . . . . . . . . . Schema di un motore dc . . . . . . . . . . . . Schema a blocchi del sistema motore-antenna Grafo del processo motore-antenna . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 24 27 31 42 44 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 3.10 3.11 Risposta di un sistema di 1. ordine . . . . . . . . . Risposta di un sistema sovrasmorzato . . . . . . . Risposta di un sistema sottosmorzato . . . . . . . . Risposta di un istema oscillatorio . . . . . . . . . . Risposta di un sistema smorzato criticamente . . . Risposta di un sistema di 2. ordine sottosmorzato . Poli del sistema . . . . . . . . . . . . . . . . . . . . Relazione tra poli e grandezze dinamiche . . . . . . Risposta con poli supplementari . . . . . . . . . . . Sistema con zeri supplementari . . . . . . . . . . . Sistema a fase non minima . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 48 49 50 51 53 55 56 57 57 59 4.1 4.2 4.3 4.4 4.5 Schema a blocchi dell’esempio 1 . . . Risposta del processo dell’esempio 1 Schema a blocchi dell’esempio 2 . . . Risposta del processo dell’esempio 2 Sistema dipendente dal parametro K . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 63 63 64 65 5.1 5.2 5.3 5.4 Errore allo stato finito con entrata gradino unitario Errore con entrata rampa unitaria . . . . . . . . . Sistema con feedback unitario . . . . . . . . . . . . Sistema di tipo n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 68 69 72 7 aprile 2003 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Copyright 2003 Roberto Bucher 7 Automazione I e II 8 ELENCO DELLE FIGURE 5.5 Sistema con feedback non unitario . . . . . . . . . . . . . . . . . . . . . . . 74 6.1 6.2 6.3 6.4 6.5 6.6 Processo per l’analisi dei poli . . . . . . . . . . . . . Calcolo grafico del valore di una funzione complessa Processo per l’analisi dei poli . . . . . . . . . . . . . 1 . . . . Luogo delle radici del sistema G(s) = s(s+10) Processo per l’analisi dei poli . . . . . . . . . . . . . s+3 Luogo delle radici del sistema G(s) = s(s+1)(s+2)(s+4) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 77 77 78 81 82 7.1 7.2 7.3 7.4 7.5 7.6 7.7 7.8 7.9 7.10 7.11 7.12 7.13 7.14 7.15 7.16 Grafico della funzione jωT . . . . . . . . . . . . . . . . . . . 1 . . . . . . . . . . . . . . . . . . . Grafico della funzione jωT Grafico della funzione 1 + jωT . . . . . . . . . . . . . . . . 1 . . . . . . . . . . . . . . . . . . Grafico della funzione 1+jωT 1 Grafico della funzione 1+2jωT −ω2 T 2 , ξ = 0.5 . . . . . . . . . Margine di guadagno e margine di fase . . . . . . . . . . . . 400 . . . . . . . Diagramma di Bode della funzione s(s2 +30s+200) Contorno chiuso . . . . . . . . . . . . . . . . . . . . . . . . Punti a destra di un contorno . . . . . . . . . . . . . . . . . Senso orario di un percorso . . . . . . . . . . . . . . . . . . Numero di rotazioni di un percorso chiuso . . . . . . . . . . Cammino di Nyquist . . . . . . . . . . . . . . . . . . . . . . Diagamma di Nyquist . . . . . . . . . . . . . . . . . . . . . 10 Diagramma di Nyquist della funzione G(s) = (s+1)(s+3)(s+8) Relazione tra PM, K e ξCL . . . . . . . . . . . . . . . . . . Relazione tra ξ e P M . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 85 85 86 86 87 88 90 90 90 90 91 92 93 94 97 8.1 8.2 8.3 8.4 8.5 8.6 8.7 8.8 8.9 8.10 8.11 8.12 8.13 8.14 8.15 8.16 8.17 8.18 8.19 8.20 8.21 Sistema retroazionato . . . . . . . . . . . . . . . . . . . . . . . . . Risposta al gradino con PID empirico . . . . . . . . . . . . . . . . Approssimazione di un sistema di tipo 0 . . . . . . . . . . . . . . . Approssimazione di un sistema di tipo 1 . . . . . . . . . . . . . . . Diagramma di Bode del sistema dell’esempio 8.1 . . . . . . . . . . Diagramma di Bode di un regolatore PI con TI = 1 e KP = 1 . . . Diagramma di Bode del sistema con e senza compensazione . . . . Risposta nel tempo del sistema compensato . . . . . . . . . . . . . Diagramma di Bode di un regolatore PD con TD = 1 e KP = 1 . . Diagramma di Bode del sistema con compensatore proporzionale . Diagramma di Bode del sistema con e senza compensazione PD . . Risposta nel tempo del sistema compensato . . . . . . . . . . . . . Diagramma di Bode di un regolatore PID con T1 = 1, T2 = 0.1 e K Diagramma di Bode con compensazione PI . . . . . . . . . . . . . Diagramma di Bode con e senza compensazione PID . . . . . . . . Risposta al gradino del sistema compensato . . . . . . . . . . . . . Sistema regolato con un PID . . . . . . . . . . . . . . . . . . . . . Risposta del sistema regolato con un PD . . . . . . . . . . . . . . . Sistema con feedback tacometrico . . . . . . . . . . . . . . . . . . . Risposta del sistema con feedback tacometrico . . . . . . . . . . . Rappresentazione del contributo di fase di un lead . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . =1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 104 104 105 107 107 109 109 110 111 112 112 113 116 116 117 120 121 121 122 124 Copyright 2003 Roberto Bucher . . . . . . . . . . . . . . . . . . 7 aprile 2003 ELENCO DELLE FIGURE Automazione I e II 8.22 8.23 8.24 8.25 8.26 8.27 8.28 8.29 8.30 8.31 8.32 8.33 schema grafico per trovare il regolatore lead . . . . . . . . . . . . Risposta del sistema con il regolatore lead . . . . . . . . . . . . . Diagramma di Bode di un regolatore lead . . . . . . . . . . . . . Diagramma di Bode del sistema con compensatore proporzionale Risposta del sistema con il regolatore lead . . . . . . . . . . . . . Luogo delle radici del sistema . . . . . . . . . . . . . . . . . . . . Risposta del sistema con compensatore lag . . . . . . . . . . . . . Diagramma di Bode di un regolatore lag . . . . . . . . . . . . . . Diagramma di Bode con compensatore proporzionale . . . . . . . Risposta del sistema con regolatore lag . . . . . . . . . . . . . . . Sistema per compensatore deadbeat . . . . . . . . . . . . . . . . Realizzazione di compensatori . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 127 128 131 131 133 134 134 136 136 139 140 B.1 B.2 B.3 B.4 Rappresentazione di un’equazione . . . . . . . . . Rappresentazione di un’equazione recursiva . . . Rappresentazione di un sistema d’equazioni . . . Procedura per scalare un nodo in un diagramma . . . . . . . . . . . . . . . . . . . . . . . . 147 148 148 150 7 aprile 2003 . . . . . . . . . . . . Copyright 2003 Roberto Bucher . . . . . . . . . . . . . . . . . . . . . . . . 9 Automazione I e II 10 ELENCO DELLE FIGURE Copyright 2003 Roberto Bucher 7 aprile 2003 Elenco delle tabelle 1.1 Segnali di test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 2.1 2.2 2.3 2.4 2.5 Sistemi Sistemi Sistemi Sistemi Sistemi 3.1 Riassunto dei sistemi di 2. ordine . . . . . . . . . . . . . . . . . . . . . . . . 60 4.1 4.2 Tabella di Routh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 Tabella di Routh dell’equazione (4.6) . . . . . . . . . . . . . . . . . . . . . . 66 5.1 5.2 5.3 5.4 Segnali di test . . . . . . . . . . . . . . . . . Errore allo stato finito con le entrate di test Costanti di errore statico . . . . . . . . . . Tabella riassuntiva degli errori . . . . . . . 6.1 Poli del sistema ad anello chiuso . . . . . . . . . . . . . . . . . . . . . . . . 78 8.1 8.2 8.3 8.4 8.5 Regolatori classici . . . . . . . . . . . . . Parametri di Ziegler-Nichols . . . . . . . Tabella di Routh dell’esempio . . . . . . Coefficienti per il polinomio di deadbeat Realizzazione di regolatori . . . . . . . . con con con con con grandezze elettriche ideali . . grandezze meccaniche ideali in grandezze meccaniche ideali in fluidi ideali . . . . . . . . . . elementi termici ideali . . . . . . . . . . . . . . . . traslazione rotazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 25 26 26 26 67 71 71 73 100 101 103 138 141 A.1 Trasformate di Laplace di funzioni comuni . . . . . . . . . . . . . . . . . . . 144 A.2 Proprietà della trasformata di Laplace . . . . . . . . . . . . . . . . . . . . . 145 7 aprile 2003 Copyright 2003 Roberto Bucher 11 Automazione I e II 12 ELENCO DELLE TABELLE Copyright 2003 Roberto Bucher 7 aprile 2003 Capitolo 1 Introduzione ai sistemi di controllo 1.1 Applicazioni dei sistemi di controllo I sistemi di controllo sono una parte importante della nostra società. Ne possiamo vedere tantissimi attorno a noi: razzi, veicoli spaziali, sistemi di controllo di temperatura, sistemi di assemblaggio di autoveicoli, addirittura il nostro corpo è pieno di sistemi di controllo. Molte volte i sistemi di controllo permettono di eseguire operazioni che sarebbero impossibili a mano. Se ad esempio la regolazione della temperatura in una casa potrebbe essere fatto ancora a mano regolando di tanto in tanto il sistema di riscaldamento, sarebbe impossibile orientare a mano un’antenna di un radiotelescopio nello spazio e tenerla puntata in una determinata direzione, o farle seguire a mano il movimento di un astro. Per l’assemblaggio di autovetture vengono ormai utilizzati sistemi automatici che saldano, spostano ecc. Anche nell’elettronica di consumo abbiamo tantissimi casi di sistemi di controllo. Il raggio laser di un lettore di compact disc viene posizionato esattamente nella posizione di lettura grazie ad un sistema di controllo. Un disco rigido di un computer viene letto posizionando le testine con una precisione altissima grazie ad un sistema di controllo. 1.2 Un po’ di storia I sistemi di controllo esistono da quando esiste la terra. La regolazione della temperatura, la crescita di una pianta, il movimento del vento, tutti questi sono sistemi controllati. I primi sistemi di controllo costruiti dall’uomo risalgono al 300 a.C., quando i greci costruirono i primi metodi per regolare i livelli dei liquidi nelle lampade a petrolio e negli orologi ad acqua. Nel 17. secolo, Cornelius Drebbel costruı̀ il primo sistema di controllo della cottura delle uova. James Watt inventò nel 18. secolo il sistema di controllo per le macchine a vapore. La teoria dei sistemi di controllo che studiamo noi oggi ha iniziato a formarsi nella seconda metà del secolo scorso grazie al contributo di J. C. Maxwell, E. J. Routh e A. M. Lyapunov. Ognuno di essi ha contribuito alla formulazione della teoria moderna della stabilità dei sistemi di controllo. Tra il 1920 e il 1930 nei laboratori della Bell è stata fatta l’analisi della retroazione degli amplificatori, sviluppata da Bode e Nyquist. Nel 1948 Evans sviluppò la teoria basata 7 aprile 2003 Copyright 2003 Roberto Bucher 13 Automazione I e II Capitolo 1. Introduzione ai sistemi di controllo sulla posizione dei poli e degli zeri di un sistema (luogo delle radici), come base per lo studio dei sistemi di controllo. Lo studio dei sistemi di controllo è uno studio interdisciplinare, poiché presuppone la conoscenza di sistemi di qualsiasi tipo, siano essi meccanici, elettrici, chimici, biologici ecc. Lo studio dei sistemi di controllo presuppone delle ottime conoscenze di matematica, una buona dose di intuizione e la capacità di effettuare analisi qualitative. 1.3 Descrizione dei sistemi di controllo Alla base di un sistema di controllo troviamo il processo che ci interessa. Per esempio una fornace in cui vengono bruciate delle particolari sostanze rappresenta un processo. Una casa in cui si vuole regolare la temperatura ambientale rappresenta anch’essa un processo di una certa complessità. Come si può vedere nella figura 1.1 ogni processo ha in genere delle grandezze all’ingresso (input), con cui è possibile influenzare le grandezze in uscita (output). Per esempio, modificando la tensione all’entrata di un motore dc (input), possiamo variarne la velocità (output). input processo output Figura 1.1: Processo generico La grandezza in entrata rappresenta normalmente il valore che si vorrebbe avere in uscita. Per esempio, in un ascensore, schiacciando il bottone del piano numero 4 si vorrebbe raggiungere questo piano con una certa precisione ed un buon comfort dei passeggeri (Figura 1.2). L’input è rappresentato dalla scelta del piano (p.es. bottone 4 premuto), mentre l’output è rappresentato dal movimento dell’ascensore in direzione verticale. Il movimento dell’ascensore non può, per diversi motivi, portare istantaneamente la cabina dell’ascensore al 4. piano, anche se la grandezza di input è cambiata in modo istantaneo. Le grandezze fisiche (velocità, posizione) non possono cambiare in modo istantaneo, ma compiono un movimento che viene definito come risposta al transiente del sistema. Ad un certo momento la risposta al transiente raggiunge un valore che non cambia praticamente più nel tempo, posizione che viene definita come stato finito (steady-state). L’accuratezza con cui lo stato finito approssima lo stato desiderato è un altro fattore non trascurabile, poiché può anche esserci un errore tra il valore desiderato e il valore ottenuto. Questo errore è definito errore allo stato finito (steady-state error ). Talvolta questo errore non ha nessun influsso negativo sul sistema. Per esempio un errore di posizione di qualche frazione di grado dell’antenna di un radar che segue un satellite è tollerabile fintanto che il satellite non esce dal fascio del radar. Un robot che inserisce un chip in un circuito non può invece avere nessun tipo di errore allo stato finito. Tra i vantaggi dei sistemi di controllo c’è, ad esempio, quello di un guadagno di potenza (p.es. in un servomeccanismo). Girando un piccolo bottone si riesce a posizionare un’antenna parabolica di diverse tonnellate. Oppure si può usare un sistema automatico per fare lavori pericolosi, come cambiare il combustibile in un reattore nucleare. 14 Copyright 2003 Roberto Bucher 7 aprile 2003 1.3. Descrizione dei sistemi di controllo Automazione I e II errore allo stato finito Step Response 4 3.5 3 risposta al transiente Amplitude 2.5 risposta allo stato finito 2 1.5 1 0.5 0 0 10 20 30 40 50 60 70 Time (sec.) Figura 1.2: Esempio di un ascensore Inoltre è importante considerare la capacità dei sistemi controllati di compensare dei disturbi imprevisti. Se prendiamo nuovamente il nostro sistema di antenna parabolica, se essa viene spostata di un piccolissimo angolo dal vento (ciò che però può causare un errore grandissimo sulle lunghe distanze in cui l’antenna opera), deve essere in grado di valutare questo spostamento e di correggerlo. Il sistema deve quindi essere capace di detettare errori nella sua posizione (errore rispetto alla posizione desiderata) ed avere meccanismi di correzione implementati. Esistono due tipi di circuiti di regolazione, quelli ad anello aperto (open loop) e quelli ad anello chiuso (closed loop). disturbi input processo controllore controller Sum output processo Figura 1.3: Sistema open loop Il vantaggio di un sistema open loop (figura 1.3) risiede nella sua estrema semplicità. Se pensiamo ad un tostapane, dobbiamo semplicemente impostare il tempo di cottura desiderato e otteniamo il nostro toast perfettamente cotto. Oppure possiamo pensare ad un forno a microonde dove impostiamo la potenza ed il tempo di cottura per ottenere la nostra cena. Lo svantaggio di questi sistemi è quello di non essere in grado di compensare 7 aprile 2003 Copyright 2003 Roberto Bucher 15 Automazione I e II Capitolo 1. Introduzione ai sistemi di controllo dei disturbi o dei cambiamenti non preventivabili. Se ad esempio per un qualsiasi motivo la temperatura di cottura è superiore a quella normale, otterremo toast bruciacchiati e una cena stracotta. disturbi input trasd processo controllore trasduttore in entrata Sum1 controller Sum output processo Figura 1.4: Sistema closed loop Se avessimo un tostapane di tipo closed loop (figura 1.4), potremmo ad esempio misurare in un qualche modo il colore o la temperatura del nostro toast e terminare la cottura quando avremo ottenuto il risultato desiderato. Questo funzionerebbe sempre in tutti i casi, anche in presenza di disturbi. Questo è il principale vantaggio dei sistemi ad anello chiuso. Conseguentemente però anche la loro realizzazione risulta più complessa rispetto a quella di un sistema ad anello aperto (sensorica!), con conseguenti costi maggiori. Nel sistema ad anello chiuso il valore in uscita viene costantemente confrontato con il valore desiderato in entrata, e in base alla differenza che si ottiene, tramite il controllore, viene impostato un segnale da immettere quale input al processo al fine di ottenere l’uscita desiderata. 1.4 Analisi dei sistemi ed obiettivi di design I sistemi di controllo sono generalmente sistemi dinamici. Essi reagiscono ad una variazione dell’ingresso con una funzione in uscita che in genere tende a somigliare a quella in entrata. Ci sarà un certo tempo di risposta (transiente) prima di raggiungere il valore finale (stato finito) all’uscita del sistema. È quindi importante discutere i vari casi di risposta al transiente e di risposta allo stato finito. Inoltre entra anche in gioco un nuovo concetto che è quello della stabilità. 1.4.1 Risposta al transiente È una componente molto importante del sistema. Se prendiamo il nostro ascensore, una risposta al transiente troppo lenta (velocità di salita troppo lenta) rende impazienti i passeggeri. Nel contempo una risposta troppo rapida rende la salita poco confortevole. Inoltre bisognerebbe evitare che una volta raggiunto il piano desiderato la cabina dell’ascensore si metta ad oscillare prima di fermarsi. La risposta al transiente è pure molto importante per ragioni strutturali. Un transiente troppo rapido può anche causare danni fisici importanti a strutture e persone. Normalmente si vuole che la risposta al transiente di un sistema mostri delle caratteristiche desiderate quali la velocità di risposta, la sovraelongazione (superamento temporaneo del valore finale), il tempo di salita ecc. 16 Copyright 2003 Roberto Bucher 7 aprile 2003 1.5. Controllo di posizione di un’antenna 1.4.2 Automazione I e II Errore allo stato finito Un altro parametro di controllo molto importante è l’errore allo stato finito che rappresenta la differenza tra il valore desiderato (valore di riferimento) e il valore ottenuto in uscita. Spesso è sufficiente che questo errore sia sufficientemente piccolo, altre volte invece occorre una precisione maggiore ed è necessario che questo errore venga portato a 0. Quando verranno impostate le specifiche per un regolatore di sistema si dovrà anche conoscere l’entità di questo errore. 1.4.3 Stabilità Questo è sicuramente il criterio più importante da soddisfare in un processo controllato. Un sistema stabile è un sistema che mantiene il suo stato all’uscita entro dei limiti misurabili non infiniti. Un oscillazione che si smorza o una che continua perenne sono segni di stabilità, mentre un’oscillazione che tende a portare la sua ampiezza all’infinito non lo è. Parlando di sistemi dinamici, la loro soluzione è basata sulla soluzione di equazioni differenziali. Ogni equazione differenziale viene scomposta per la sua risoluzione in una parte omogenea che non dipende dal segnale in entrata, e in una parte inomogenea che dipende unicamente dal segnale in entrata. Le due soluzioni vengono chiamate risposta naturale (quella del sistema omogeneo) e risposta forzata (quella del sistema inomogeneo). In un sistema di controllo è importante che la risposta naturale tenda a 0 con il passare del tempo, in modo che la funzione in uscita prenda un andamento simile al segnale in entrata. 1.5 Controllo di posizione di un’antenna Vediamo ora un esempio di processo relativo al posizionamento di un’antenna parabolica. Analizzeremo questo esempio in dettaglio, poiché ci accompagnerà per tutto il resto del corso (vedi figura 1.5). Tramite il potenziometro all’entrata viene impostato l’angolo che si vuole far prendere all’antenna. Il potenziometro converte questo angolo in una tensione elettrica. Analogamente, all’uscita, l’angolo effettivo dell’antenna viene convertito, tramite un altro potenziometro, in una tensione elettrica. La differenza tra le due tensioni è quindi proporzionale alla differenza tra l’angolo desiderato (entrata) e l’angolo raggiunto (uscita). Con questa tensione è possibile pilotare un motore dc che muove l’antenna. Uno schema a blocchi è rappresentato nella figura 1.6. Tramite il potenziometro, l’angolo desiderato (angolo di input) viene trasformato in una tensione che viene confrontata con la tensione in uscita. La differenza tra le due tensioni è proporzionale alla differenza tra i due angoli. Questa tensione viene amplificata e usata per muovere il motore. Questo sistema continua a muovere il motore fintanto che la differenza tra gli angoli non è nulla. L’amplificazione applicata alla tensione proporzionale all’errore determina come il motore muoverà l’antenna (eventuale oscillazione). La risposta dinamica del sistema per diversi valori di amplificazione è riportata nella figura 1.7. La reazione ideale la si ha quando al posto dell’amplificatore viene inserito un filtro, che in regolazione prende il nome di compensatore. In questo modo è possibile raggiungere risultati migliori sia in velocità che in transiente. 7 aprile 2003 Copyright 2003 Roberto Bucher 17 Automazione I e II Capitolo 1. Introduzione ai sistemi di controllo θin θout PSfrag replacements Figura 1.5: Antenna parabolica angolo di input tensione prop. all’input angolo−> tensione Potenzimetro errore Sum Driver Antenna Amplificatore di potenza Processo angolo di output angolo−> tensione tensione proporzionale all’output Potenziometro Figura 1.6: Schema a blocchi dell’antenna parabolica Step Response 1.4 1.2 Output con alto guadagno Amplitude 1 0.8 Output con basso guadagno 0.6 0.4 0.2 0 0 2 4 6 8 10 12 14 Time (sec.) Figura 1.7: Risposta al transiente con diversi valori di amplificazione 18 Copyright 2003 Roberto Bucher 7 aprile 2003 1.6. Analisi e realizzazione di compensatori 1.6 Automazione I e II Analisi e realizzazione di compensatori La realizzazione dei compensatori è però possibile solo dopo un’accurata analisi del sistema che si utilizza. Quest’analisi prevede in genere 5 parti distinte 1.6.1 Determinare il sistema fisico Per esempio, nel caso della nostra antenna, si tratta di mantenere una posizione mediante un angolo che viene impostato come grandezza di input, con un errore allo stato finito nullo, un certo comportamento al transiente, certe grandezze elettriche ecc. Determineremo quindi cosa avremo a disposizione come hardware e costruiremo in seguito dei sottoblocchi. 1.6.2 Trasformare il sistema in una serie di schemi (schema a blocchi, circuiti elettrici ecc.) Occorre in questo momento tenere conto solo di quelle parti del sistema che sono veramente importanti per l’analisi completa del processo. Nel caso della nostra antenna potremmo trovare uno schema simile a quello della figura 1.8. Potenziometro Resistenza armatura + Amplificatore differenziale e di potenza - Campo fisso Inerzia Smorzamento Potenziometro Figura 1.8: Schema dell’antenna parabolica 1.6.3 Determinare il modello matematico del sistema Si tratta normalmente di utilizzare quelle leggi della fisica conosciute per la descrizione del processo (Legge di Kirchhoff alle maglie, legge di Kirchhoff ai nodi, leggi di Newton per sistemi meccanici). In molti casi si arriva ad ottenere delle equazioni differenziali, talvolta di tipo lineare, invarianti nel tempo, che descrivono il sistema. Queste equazioni possono essere sostituite con una rappresentazione mediante le trasformate di Laplace (funzione di trasferimento), o nello spazio degli stati (sistema di equazioni differenziali di 1. ordine). 7 aprile 2003 Copyright 2003 Roberto Bucher 19 Automazione I e II 1.6.4 Capitolo 1. Introduzione ai sistemi di controllo Riduzione del diagramma a blocchi Per poter valutare il comportamento di un sistema, occorre trasformarlo in un unico blocco con una o più entrate e una o più uscite. Solo in questo momento è possibile analizzarlo in modo completo. 1.6.5 Analisi e design Una volta che il sistema è stato ridotto ad un blocco, si possono analizzarne le caratteristiche quali la risposta a determinati segnali in entrata, il suo errore a transitorio esaurito, la sua stabilità ecc. I segnali di test che vengono immessi all’entrata sono segnali molto semplici, e sono riportati nella tabella 1.1. 20 Copyright 2003 Roberto Bucher 7 aprile 2003 1.6. Analisi e realizzazione di compensatori Nome funzione Impulso δ(t) Automazione I e II grafico utilizzo transiente, identificazione 1 0.8 0.6 0.4 0.2 0 −0.2 −0.4 −0.6 −0.8 sinusoide sin t −1 0 1 2 3 4 5 transiente, identificazione 6 Step Response 2 1.8 1.6 1.4 Amplitude 1.2 1 0.8 0.6 0.4 0.2 gradino 0 u(t) 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0.6 0.7 0.8 0.9 1 Time (sec.) transiente, errore Step Response 1.4 1.2 Amplitude 1 0.8 0.6 0.4 0.2 rampa 0 tu(t) 0 0.1 0.2 0.3 0.4 0.5 Time (sec.) errore Step Response 350 300 Amplitude 250 200 150 100 50 parabola 1 2 2 t u(t) 0 0 5 10 Time (sec.) 15 20 25 errore Tabella 1.1: Segnali di test 7 aprile 2003 Copyright 2003 Roberto Bucher 21 Automazione I e II 22 Capitolo 1. Introduzione ai sistemi di controllo Copyright 2003 Roberto Bucher 7 aprile 2003 Capitolo 2 Modellazione di processi 2.1 Introduzione Per poter analizzare a fondo un processo e poterlo in seguito correggere e influenzare, occorre trovare una descrizione quantitativa del suo comportamento. L’operazione di modellazione è molto complessa, e occupa normalmente una grossa parte del lavoro di regolazione. Il primo lavoro da fare quando si vuole trovare un modello matematico di un sistema è quello di applicare quelle leggi della fisica che ne descrivono il comportamento. Se abbiamo ad esempio un circuito elettrico dovremo applicare le leggi di Kirchhoff, che sono la base dell’elettrotecnica. Se studiamo invece sistemi meccanici dovremo applicare le leggi di Newton sul moto di traslazione e rotazione. Questo lavoro porta normalmente a determinare una descrizione del processo basata su equazioni differenziali. Una volta trovato il modello occorre fare ancora un’identificazione dei parametri in gioco mediante un confronto tra il comportamento reale e quello simulato, in modo da ottenere un modello il più preciso possibile. Esempio 2.1 Determiniamo le relazioni che descrivono il circuito della figura 2.1 iL u + − L uL R iR iC C uC Figura 2.1: Semplice schema elettrico Sappiamo che in un circuito elettrico, su componenti reattivi valgono le relazioni seguenti duC dt diL L dt C 7 aprile 2003 = iC (2.1) = uL (2.2) Copyright 2003 Roberto Bucher 23 Automazione I e II Capitolo 2. Modellazione di processi Applicando le leggi di Kirchhoff otteniamo le equazioni seguenti 1 iC = −iR + iL = − uC + iL R (2.3) uL = −uC + u(t) (2.4) e Sostituendo le derivate nelle equazioni (2.3) e (2.4) si ottiene duC dt diL L dt C 1 = − uC + i L R (2.5) = −uC + u(t) (2.6) Si tratta come possiamo vedere di un sistema di due equazioni differenziali lineari. Esempio 2.2 Determiniano le relazioni che legano le varie grandezze nel sistema meccanico della figura 2.2 fv M K F(t) PSfrag replacements x(t) Figura 2.2: Semplice schema meccanico Per analizzare le forze che agiscono sulla massa M utilizziamo la legge di Newton M d2 x X = F dt2 Le forze esterne che agiscono sulla massa sono quelle dovute alla molla e allo smorzamento (considerato vischioso), oltre alla forza applicata F(t). L’equazione che descrive il moto di traslazione della massa M diventa quindi M dx(t) d2 x(t) = −fv − Kx(t) + F (t) 2 dt dt Anche in questo caso si ottiene un’equazione differenziale lineare. In questi due esempi abbiamo ottenuto delle equazioni differenziali lineari che descrivono l’andamento nel tempo dei processi analizzati. Non sempre si ottengono rappresentazioni lineari, si è però praticamente sempre confrontati con equazioni differenziali o sistemi di equazioni differenziali. Queste equazioni saranno il punto di partenza per ulteriori analisi sui processi. 24 Copyright 2003 Roberto Bucher 7 aprile 2003 2.2. Relazioni tra grandezze fisiche 2.2 Automazione I e II Relazioni tra grandezze fisiche Cerchiamo ora di riassumere in alcune tabelle le relazioni che intercorrono tra le grandezze fisiche che troviamo usualmente nei processi di regolazione. La tabella 2.1 mostra le relazioni tra grandezze elettriche in un circuito. La tabella 2.2 e la tabella 2.3 mostrano le relazioni tra grandezze meccaniche rispettivamente per il moto di traslazione e di rotazione. La tabella 2.4 mostra le relazioni che descrivono il comportamento di serbatoi, mentre la tabella 2.5 mette in relazione i comportamenti in presenza di temperatura. i : corrente u : tensione [A] [V ] Resistenza R U = Ri Condensatore C iC = C duC dt Induttanza L uL = L diL dt Tabella 2.1: Sistemi con grandezze elettriche ideali f : forza x : spostamento [N ] [m] Molla f (t) = Kx(t) Smorzatore vischioso f (t) = fv dx(t) dt Inerzia f (t) = M d2 x(t) dt2 Tabella 2.2: Sistemi con grandezze meccaniche ideali in traslazione 2.3 Rappresentazioni Per semplificare la rappresentazione di processi descritti da equazioni differenziali vengono utilizzati principalmente due metodi: • La funzione di trasferimento, calcolata tramite le trasformate di Laplace • Un sistema di equazioni differenziali di 1. ordine, nello spazio degli stati Entrambe le rappresentazioni hanno vantaggi e svantaggi. La semplicità della trasformata di Laplace è limitata dalla possibilità di rappresentare unicamente sistemi lineari. Per la rappresentazione nello spazio degli stati la difficoltà (relativa) è quella di scegliere in modo appropriato le variabili di stato per costruire il sistema di equazioni. 7 aprile 2003 Copyright 2003 Roberto Bucher 25 Automazione I e II Capitolo 2. Modellazione di processi f : momento ϕ : angolo [N m] [rad] Molla f (t) = Kϕ(t) Smorzatore vischioso f (t) = D Inerzia f (t) = J dϕ(t) dt d2 ϕ(t) dt2 Tabella 2.3: Sistemi con grandezze meccaniche ideali in rotazione h : altezza q : portata [m] [m3 s−1 ] h(t) R Resistenza del fluido q(t) = Capacità del fluido q(t) = A dh(t) dt Tabella 2.4: Sistemi con fluidi ideali 2.4 La trasformata di Laplace Una descrizione più dettagliata delle trasformate di Laplace è riportata nell’allegato A. Con l’aiuto delle trasformate di Laplace possiamo ora trasferire l’analisi di un sistema dal dominio del tempo in cui occorre lavorare con equazioni differenziali, al dominio della variabile di Laplace dove invece possiamo lavorare con equazioni algebriche. Possiamo vedere schematicamente questo metodo di soluzione nella figura 2.3. In pratica troviamo la trasformata di Laplace della funzione in ingresso, la funzione di trasferimento, e con una semplice moltiplicazione otteniamo la funzione Y(s) nel dominio di Laplace. Tramite l’antitrasformata di Laplace possiamo in seguito risalire alla funzione y(t). θ(t) : differenza di T q : flusso di calore [K] [W ] θ(t) R Resistenza termica q(t) = Capacità termica q(t) = C dθ(t) dt Tabella 2.5: Sistemi con elementi termici ideali 26 Copyright 2003 Roberto Bucher 7 aprile 2003 2.4. La trasformata di Laplace Automazione I e II Sistema u(t) y(t) u(t)=F(y,y’,y’’,...) £ £ -1 G(s) U(s) Y(s)=U(s)*G(s) Figura 2.3: Schema di calcolo Per l’utilizzazione nell’ambito della regolazione di processi, il passaggio da Y (s) a y(t) non è praticamente necessario, avendo a disposizione dei pacchetti matematici in grado di simulare il comportamento del sistema direttamente dalla funzione di trasferimento. Conoscendo quindi U (s) e G(s) è possibile simulare direttamente il comportamento nel tempo di y(t). Applichiamo ora questo metodo ai due esempi visti all’inizio di questo capitolo. Il processo dell’esempio 1 era descritto dal sistema di equazioni differenziali seguenti C 1 duC = − uC + i L dt R (2.7) e diL = −uC + u(t) dt Considerando condizioni iniziali nulle, l’equazione (2.7) diventa L 1 CsUC (s) = − UC (s) + IL (s) R e quindi IL (s) = sCUC (s) + 1 UC (s) R (2.8) (2.9) (2.10) L’equazione (2.8) diventa LsIL (s) = −UC (s) + U (S) (2.11) Sostituendo ora (2.10) in (2.11) otteniamo s2 LCUC (s) + L sUC (s) = −UC (s) + U (s) R (2.12) Risolvendo per UC si ottiene UC (s)(1 + L s + s2 LC) = U (s) R (2.13) e quindi la funzione di trasferimento tra U(s) e UC (s) diventa G(s) = 7 aprile 2003 UC (s) = U (s) 1+ L Rs 1 + LCs2 Copyright 2003 Roberto Bucher (2.14) 27 Automazione I e II Capitolo 2. Modellazione di processi Per l’esempio 2 avevamo trovato l’equazione differenziale seguente M d2 x(t) dx(t) = −fv − Kx(t) + F (t) dt2 dt (2.15) Anche in questo caso consideriamo per semplicità condizioni iniziali nulle. L’equazione (2.15) diventa quindi in Laplace M s2 X(s) = −fv sX(s) − KX(s) + F (s) (2.16) Risolvendo per X(s) si ottiene X(s)(M s2 + fv s + K) = F (s) (2.17) Anche in questo caso possiamo trovare la funzione di trasferimento tra F(s) e X(s) G(s) = X(s) 1 = 2 F (s) M s + fv s + K (2.18) In entrambi i casi si può notare che il polinomio caratteristico dell’equazione differenziale coincide con il denominatore della funzione di trasferimento. 2.5 Spazio degli stati Con l’inizio dell’esplorazione spaziale, le richieste di sistemi di controllo sono aumentate considerevolmente. Si tratta in genere di regolazioni di sistemi non lineari, che presuppongono approcci differenti da quello con la trasformata di Laplace. La rappresentazione nello spazio degli stati permette di sostituire ad un’equazione differenziale un sistema di equazioni differenziali di 1. ordine. Il lavoro nello spazio degli stati permette anche la rappresentazione di sistemi non lineari, e quindi può essere utilizzata in un ambito più vasto rispetto alle trasformate di Laplace. Si tratta di un metodo che analizza i sistemi nel dominio del tempo, e quindi legato alla rappresentazione mediante equazioni differenziali di un sistema. Il grosso vantaggio di questo metodo è rappresentato dall’ampia gamma di possibili utilizzi, soprattutto in quei sistemi dove alcuni termini dell’equazione differenziale non sono costanti, ma variano nel tempo. Pensiamo ad esempio alla massa di un missile che diminuisce con il consumo di carburante, oppure un aeroplano che vola ad altitudini differenti. La complessità di dover rappresentare un sistema mediante delle equazioni differenziali al posto delle tradizionali equazioni algebriche, viene in parte compensata dalla grande quantità di software presente sul mercato che permette la simulazione di questi sistemi. Nel caso di sistemi lineari esiste inoltre la possibilità di passare con operazioni algebriche dalla rappresentazione nel dominio del tempo alla rappresentazione di Laplace e viceversa. Esempio 2.3 Prendiamo in considerazione un’equazione differenziale di 3. ordine del tipo d3 y(t) d2 y(t) dy(t) + a + a1 + a0 y(t) = u(t) (2.19) 2 dt3 dt2 dt Possiamo trasformare questa equazione differenziale di 3. ordine in 3 equazioni differenziali di 1. ordine con la semplice sostituzione di variabile 28 Copyright 2003 Roberto Bucher 7 aprile 2003 2.5. Spazio degli stati Automazione I e II y(t) = x1 (t) (2.20) ẋ1 (t) = x2 (t) (2.21) ẋ2 (t) = x3 (t) (2.22) ẋ3 (t) = −a0 x1 (t) − a1 x2 (t) − a2 x3 (t) + u(t) (2.23) Questa rappresentazione può anche essere sostituita con una rappresentazione di tipo matriciale nella forma ẋ1 0 1 0 x1 0 ẋ 0 0 1 x = + 2 2 0 u(t) ẋ3 −a0 −a1 −a2 x3 1 (2.24) che può essere riassunto in ẋ = Ax + bu(t) Le variabili x1 , x2 e x3 sono dette variabili di stato, il vettore x è detto vettore delle variabili di stato, mentre la matrice A prende il nome di matrice di stato. La formulazione generale dell’equazione nello spazio degli stati, per sistemi con n variabili di stato, m entrate e k uscite, detto sistema MIMO (Multiple Input Multiple Output) può essere descritta da ẋ = Ax + Bu (2.25) y = Cx + Du (2.26) in cui A è una matrice n x n, B una matrice n x m, C una matrice n x k e D una matrice m x k. Nel caso semplice di una entrata e una uscita si parla di sistema SISO (Single Input Single Output), con B e C che diventano vettori e D che diventa uno scalare. Spesso quest’ultima componente vale 0, non essendoci un collegamento diretto tra entrata e uscita (feedforwarding). Cerchiamo ora la rappresentazione nello spazio degli stati dei due esempi visti all’inizio del capitolo. Le equazioni di partenza dell’esempio 1 sono duC dt diL L dt C 1 = − uC + i L R (2.27) = −uC + u(t) (2.28) Dividendo la prima equazione a destra e a sinistra per C e la seconda per L, possiamo fare la sostituzione con le variabili di stato seguenti uC 7 aprile 2003 = x1 (2.29) iL = x 2 (2.30) Copyright 2003 Roberto Bucher 29 Automazione I e II Capitolo 2. Modellazione di processi mentre la grandezza y risulta uguale a x1 . Con queste sostituzioni, possiamo trovare la rappresentazione del sistema tra entrata u(t) e uscita uC (t) " ẋ1 ẋ2 1 1 " # " # 0 − RC C x1 + 1 u(t) = 1 x2 L 0 − L " # h i x 1 1 0 = x2 # uC (2.31) (2.32) Per il secondo esempio, partendo dall’equazione d2 x(t) dx(t) = −fv − Kx(t) + F (t) 2 dt dt dividiamo dapprima a destra e a sinistra per M e poi facciamo la sostituzione M (2.33) x1 = x(t) x2 = ẋ(t) Il sistema a questo punto diventa " ẋ1 ẋ2 # 0 = K − M " 1 fv − M x(t) = 2.6 h 1 0 i x1 x2 # " x1 x2 0 + 1 F (t) M # (2.34) (2.35) Descrizione di un motore dc Applichiamo ora le conoscenze acquisite per il calcolo di un sistema elettromeccanico quale la nostra antenna vista precedentemente. Dapprima analizziamo il motore che fa ruotare l’antenna e cerchiamo di determinarne le equazioni che ne descrivono il comportamento. Nella figura 2.4 è rappresentato lo schema di un motore in dc. Il campo magnetico viene prodotto da un magnete permanente o da un elettromagnete stazionario e viene chiamato campo fisso. Il circuito rotante è detto armatura e nelle sue spire passa una corrente che provoca una forza secondo la legge fisica F (t) = Bli(t) dove B è la componente perpendicolare alle spire del campo magnetico, l la lunghezza del conduttore e i(t) la corrente. Il momento risultante muove la parte mobile del motore, chiamata rotore. C’è però anche un altro fenomeno che si produce nel motore: il conduttore che si muove nel campo magnetico genera ai suoi capi una tensione indotta pari a Va = Blv(t) dove Va è la tensione indotta e v(t) rappresenta la velocità del conduttore rispetto alla componente normale del campo magnetico B. Siccome l’armatura in cui scorre la corrente 30 Copyright 2003 Roberto Bucher 7 aprile 2003 2.6. Descrizione di un motore dc ia Automazione I e II Campo fisso La Ra PSfrag replacements Tm ea ϕm Va Figura 2.4: Schema di un motore dc è in rotazione rispetto al campo magnetico, otteniamo una tensione indotta proporzionale alla velocità di rotazione. Quindi Va (t) = Kb dϕm (t) = Kb ωm (t) dt (2.36) La tensione Va viene chiamata forza elettromotrice inversa (back emf ), Kb è la costante di proporzionalità chiamata costante di forza elettromotrice inversa (back emf constant). Il momento esercitato dal motore è proporzionale alla corrente che passa nell’armatura, secondo la relazione Tm (t) = Kt ia (t) (2.37) La costante di momento Kt del motore può essere determinata o letta dai Data Sheet. Applichiamo ora la legge di Kirchhoff alle maglie del circuito di armatura del motore e otteniamo dia (t) − Va (t) = 0 (2.38) dt Applichiamo la legge di Newton per i solidi in rotazione e possiamo mettere in relazione posizione angolare e caratteristiche dinamiche del motore (momento di inerzia e attrito di rotazione) ea (t) − Ra ia (t) − La Jm d2 ϕm (t) dϕm (t) = −Dm + Tm dt2 dt (2.39) Sapendo che dϕm (t) = ωm (t) dt (2.40) e utilizzando l’equazione (2.37) nell’equazione (2.39) otteniamo Jm 7 aprile 2003 dωm (t) = −Dm ωm (t) + Kt ia (t) dt Copyright 2003 Roberto Bucher (2.41) 31 Automazione I e II Capitolo 2. Modellazione di processi Sostituendo Va trovato in (2.36) nell’equazione (2.38) e portando a sinistra la derivata otteniamo La dia (t) = −Ra ia (t) − Kb ωm (t) + ea (t) dt (2.42) Le equazioni (2.40), (2.41) e (2.42) descrivono completamente il sistema. Le costanti Kb , Kt , Jm e Dm sono caratteristiche del motore e possono essere lette dai Data Sheet o ricavate da misurazioni sperimentali. 2.6.1 Funzione di trasferimento del motore dc Con le trasformate di Laplace, considerando per semplicità condizioni iniziali nulle, l’equazione (2.40) diventa sΦm (s) = Ω(s) (2.43) Sostituendo (2.43) nella trasformata di Laplace dell’equazione (2.41) si ottiene Jm s2 Φm (s) = −Dm sΦm (s) + Kt Ia (s) (2.44) da cui si ricava il valore di Ia (s) pari a Ia (s) = Jm s2 Φm (s) + Dm sΦm (s) Kt (2.45) Inserendo (2.43) e (2.45) nella trasformata dell’equazione (2.42) e risolvendo per Φ m (s) otteniamo Φm (s)(s3 L a Dm Ra Jm Ra Dm L a Jm + s2 + s2 +s + sKb ) = Ea (s) Kt Kt Kt Kt (2.46) La funzione di trasferimento tra Ea (s) e Φm (s) risulta quindi essere Φm (s) Kt = 2 Ea (s) s(s La Jm + sLa Dm + sRa Jm + Ra Dm + Kb Kt ) (2.47) Se consideriamo che normalmente il valore di La è trascurabile, si può semplificare notevolmente il risultato, ottenendo Φm (s) Kt = Ea (s) s(sRa Jm + Ra Dm + Kb Kt ) (2.48) o anche Φm (s) = Ea (s) 32 Kt Ra Jm µ ¶ Ra Dm + Kb Kt s s+ Ra Jm Copyright 2003 Roberto Bucher (2.49) 7 aprile 2003 2.7. Conversione da funzione di trasferimento a spazio degli stati 2.6.2 Automazione I e II Rappresentazione nello spazio degli stati del motore dc Partiamo dalle equazioni differenziali trovate (2.40), (2.41) e (2.42), dividiamo le equazioni per i fattori che moltiplicano le derivate a sinistra (Jm e La ), e in seguito effettuiamo la sostituzione con le variabili di stato x1 = ϕ m (2.50) x2 = ω m (2.51) x3 = i a (2.52) Si ottiene il sistema 1 ẋ1 D m 0 − ẋ2 = J m Kb ẋ3 0 − La e 0 ϕm (t) = 2.7 h 0 Kt Jm Ra − La x1 0 x2 + 0 ea (t) x 1 1 0 0 (2.53) 3 i x1 x2 x3 (2.54) Conversione da funzione di trasferimento a spazio degli stati Le rappresentazioni nel piano degli stati di un determinato processo sono molteplici, e dipendono dalla scelta delle variabili di stato. Vedremo di seguito come ottenere una particolare rappresentazione, partendo dalla funzione di trasferimento. Consideriamo una trasformata di Laplace che rappresenta la funzione di trasferimento tra una grandezza in entrata U(s) e una grandezza in uscita Y(s): bn−1 sn−1 + bn−2 sn−2 + · · · + b1 s + b0 Y (s) = n U (s) s + an−1 sn−1 + an−2 sn−2 + · · · + a1 s + a0 (2.55) Possiamo suddividere il sistema in due funzioni di trasferimento in serie. La prima funzione di trasferimento viene definita come X(s) 1 = n U (s) s + an−1 sn−1 + an−2 sn−2 + · · · + a1 s + a0 (2.56) mentre la seconda è definita come Y (s) = bn−1 sn−1 + bn−2 sn−2 + · · · + b1 s + b0 X(s) (2.57) Consideriamo inizialmente l’equazione (2.56) X(s) = 7 aprile 2003 U (s) sn + an−1 sn−1 + an−2 sn−2 + · · · + a1 s + a0 Copyright 2003 Roberto Bucher (2.58) 33 Automazione I e II Capitolo 2. Modellazione di processi X(s)(sn + an−1 sn−1 + an−2 sn−2 + · · · + a1 s + a0 ) = U (s) (2.59) Questa equazione nel tempo diventa dn−1 x(t) dx(t) dn x(t) + a + · · · + a1 + a0 x(t) = u(t) n−1 dtn dtn−1 dt Scegliendo le variabili di stato x1 = x dx x2 = dt .. . xn = (2.60) (2.61) (2.62) (2.63) dn−1 x (2.64) dtn−1 si ottiene il sistema seguente per x(t) ẋ1 ẋ2 .. . ẋn−1 ẋn = 0 1 0 0 0 1 ··· ··· ··· 0 0 0 −a0 −a1 −a2 x(t) = h ··· 0 ··· 0 ··· ··· ··· 1 · · · −an−1 x1 x2 .. . xn−1 xn 1 0 0 x1 x 2 i . . ··· 0 . xn−1 xn 0 0 .. . + 0 1 u(t) (2.65) (2.66) Se ora cerchiamo di ottenere Y(s) partendo da X(s) otteniamo Y (s) = X(s)(bn−1 sn−1 + bn−2 sn−2 + · · · + b1 s + b0 ) (2.67) dn−1 x dn−2 x dx + b + · · · + b1 + b0 x n−2 n−1 n−2 dt dt dt (2.68) che trasformato nel tempo diventa y(t) = bn−1 Questo significa però anche y(t) = bn−1 xn + bn−2 xn−1 + · · · + b1 x2 + b0 x1 (2.69) Mettendo ora assieme le equazioni (2.65) e (2.69) otteniamo il risulato finale cercato ẋ1 ẋ2 .. . ẋn−1 ẋn 34 = 0 1 0 0 0 1 ··· ··· ··· 0 0 0 −a0 −a1 −a2 ··· 0 ··· 0 ··· ··· ··· 1 · · · −an−1 x1 x2 .. . xn−1 Copyright 2003 Roberto Bucher xn 0 0 .. . + 0 1 u(t) (2.70) 7 aprile 2003 2.7. Conversione da funzione di trasferimento a spazio degli stati Automazione I e II e y(t) = h b0 b1 · · · bn−2 bn−1 x1 x2 .. . i xn−1 xn (2.71) Come si può facilmente vedere, i coefficienti del denominatore si ritrovano tutti nell’ultima riga della matrice di stato, con il segno cambiato, in ordine da destra a sinistra, mentre i coefficienti del numeratore si ritrovano nel vettore trasposto c, riscritti da destra a sinistra. Quella trovata ora è una forma un po’ particolare di rappresentazione nello spazio degli stati che viene denominata forma normale di regolazione. 2.7.1 Conversione da spazio degli stati a funzione di trasferimento La conversione da piano degli stati a funzione di trasferimento può avvenire in forma semplice se il sistema è nella forma normale di regolazione, sfruttando le caratteristiche delle equazioni (2.70) e (2.71). Non sempre però si ha a disposizione la rappresentazione del processo in questa forma. Nel caso generale dobbiamo sfruttare il calcolo matriciale per ottenere il risultato desiderato. Partiamo da una formulazione generale di un processo nello spazio degli stati ẋ = Ax + Bu (2.72) y = Cx + Du (2.73) Assumendo condizioni iniziali nulle possiamo scrivere sX(s) = AX(s) + BU(s) (2.74) Y(s) = CX(s) + DU(s) (2.75) Risolvendo la prima equazione rispetto a X(s) si ottiene (sI − A)X(s) = BU(s) (2.76) X(s) = (sI − A)−1 BU(s) (2.77) Sostituendo il valore di X(s) in (2.73) si ricava Y(s) = C(sI − A)−1 BU(s) + DU(s) h i Y(s) = C(sI − A)−1 B + D U(s) Nel caso di un sistema SISO otteniamo G(s) = 7 aprile 2003 Y (s) = c0 (sI − A)−1 b + d U (s) Copyright 2003 Roberto Bucher (2.78) (2.79) (2.80) 35 Automazione I e II Capitolo 2. Modellazione di processi Dall’equazione (2.80) si può vedere come il denominatore della funzione di trasferimento coincide con il termine (sI − A)−1 . Sapendo che il denominatore della funzione di trasferimento è anche il polinomio caratteristico dell’equazione differenziale che descrive il processo, si può concludere che anche il termine (sI − A)−1 coincide con esso. La soluzione dell’equazione det(sI − A) = 0 che permette di determinare le radici del denominatore del sistema coincide con la ricerca degli autovalori della matrice A (vedi Allegato C). Possiamo quindi vedere come le radici del polinomio caratteristico del sistema coincidono con gli autovalori della matrice di stato. Esempio 2.4 Viene dato un processo nella forma seguente 0 1 0 10 0 1 x + 0 u(t) ẋ = 0 −1 −2 −3 0 e y= h 1 0 0 i (2.81) x (2.82) Applicando il calcolo matriciale per determinare (sI − A)−1 otteniamo (sI − A)−1 (s2 + 3s + 2) s+3 1 −1 s(s + 3) s −s −(2s + 1) s2 agg(sI − A) = = det(sI − A) s3 + 3s2 + 2s + 1 (2.83) Sostituendo questo risultato in (2.80) si trova la funzione di trasferimento G(s) = 2.8 Y (s) 10(s2 + 3s + 2) = 3 U (s) s + 3s2 + 2s + 1 (2.84) Soluzione dell’equazione nello spazio degli stati con Laplace Analizziamo ora lo stesso problema partendo da condizioni iniziali non nulle. Partendo dall’equazione ẋ = Ax + Bu (2.85) y = Cx + Du (2.86) e applicando le regole della trasformata di Laplace otteniamo sX(s) − x(0) = AX(s) + BU(s) (2.87) Trasformando l’equazione (2.87) otteniamo (sI − A)X(s) = x(0) + BU(s) (2.88) Risolvendo per X(s) si ottiene 36 Copyright 2003 Roberto Bucher 7 aprile 2003 2.9. Soluzione nel dominio del tempo Automazione I e II X(s) = (sI − A)−1 x(0) + (sI − A)−1 BU(s) (2.89) Possiamo ora calcolare il valore di Y(s), moltiplicando il risultato ottenuto in (2.89) per la matrice C. Y (s) = CX(s) + DU(s) Y (s) = C(sI − A) Y (s) = h | −1 C(sI − A) BU(s) + DU(s) + C(sI − A) −1 {z (2.90) i B + D U(s) + C(sI − A) −1 −1 x(0) (2.91) x(0) (2.92) } G(s) Vediamo come la prima parte del risultato dell’equazione (2.92) coincide con la funzione di trasferimento già trovata in (2.79). Qui abbiamo una componente supplementare dovuta alle condizioni iniziali non nulle. 2.9 Soluzione nel dominio del tempo Analizziamo ora le equazioni (2.89) e (2.92) nel dominio del tempo. Definiamo per prima cosa una funzione di trasferimento Gx (s) = (sI − A)−1 B L’equazione(2.89) nel tempo diventa ³ ´ ³ x(t) = L−1 (sI − A)−1 BU(s) + L−1 (sI − A)−1 x(0) ³ x(t) = gx ∗ u(t) + L−1 (sI − A)−1 x(0) ´ ´ (2.93) (2.94) La prima parte del risultato dell’equazione (2.94) rappresenta la risposta forzata del sistema, mentre la seconda parte rappresenta la risposta naturale o risposta della parte omogenea dell’equazione differenziale. Per analizzare più in dettaglio questa risposta naturale, partiamo da un sistema con entrata nulla del tipo ẋ(t) = Ax(t) (2.95) Assumiamo che la soluzione x(t) possa essere rappresentata da una serie del tipo x(t) = b0 + b1 t + b2 t2 + . . . + bk tk + . . . (2.96) Derivando questo risultato e sostituendolo nell’equazione omogenea (2.95) si ottiene ³ b1 + 2b2 t + . . . + kbk tk−1 + . . . = A b0 + b1 t + b2 t2 + . . . + bk tk + . . . 7 aprile 2003 Copyright 2003 Roberto Bucher ´ (2.97) 37 Automazione I e II Capitolo 2. Modellazione di processi Con un paragone di coefficienti otteniamo b1 = Ab0 1 1 b2 = Ab1 = A2 b0 2 2 .. . 1 k A b0 bk = k! 1 bk+1 = Ak+1 b0 (k + 1)! .. . La soluzione cercata risulta quindi essere 1 1 x(t) = b0 + Ab0 t + A2 b0 t2 + . . . + Ak b0 tk + . . . 2 k! ¶ µ 1 k k 1 2 2 = I + At + A t + . . . + A t + . . . b0 2 k! Dall’equazione (2.96) possiamo vedere che al tempo t=0 vale x(0) = b0 Conseguentemente la soluzione nel tempo dell’equazione omogenea diventa µ ¶ 1 1 x(t) = I + At + A2 t2 + . . . + Ak tk + . . . x(0) 2 k! (2.98) Se ora quardiamo più in dettaglio la soluzione dell’equazione (2.98), possiamo vedere una grossa somiglianza tra quanto ottenuto e un’ espressione del tipo 1 1 1 + at + a2 t2 + . . . + ak tk + . . . 2 k! L’espressione in (2.99) rappresenta lo sviluppo in serie di (2.99) eat Possiamo quindi riscrivere l’equazione (2.98) come x(t) = eAt x(0) (2.100) L’espressione eAt prende il nome di “matrice di transizione degli stati” (“state-transition matrix”) e viene usualmente indicata con Φ(t). La matrice Φ(t) ha due proprietà interessanti che possono essere facilmente dimostrate. Sapendo che x(0) = Φ(0)x(0) si ricava Φ(0) = I 38 Copyright 2003 Roberto Bucher 7 aprile 2003 2.9. Soluzione nel dominio del tempo Automazione I e II e da ẋ(t) = Φ̇(t)x(0) = Ax(t) si ottiene per t=0 Φ̇(0)x(0) = Ax(0) → Φ̇(0) = A Queste due regole ci permettono di determinare facilmente il valore della matrice Φ(t). Esempio 2.5 Cerchiamo la matrice Φ(t) del sistema descritto da ẋ(t) = con " 0 1 −8 −6 # x(0) = x(t) + " 1 0 " 0 1 # u(t) (2.101) # (2.102) Le radici del polinomio caratteristico dell’equazione differenziale sono anche soluzioni delle equazioni differenziali parziali delle variabili di stato, e quindi possiamo determinare la forma di Φ(t) direttamente dagli autovalori della matrice di stato. det(sI − A) = s2 + 6s + 8 = 0 Otteniamo s1 = −2 e La matrice di transizione diventa quindi ¡ Φ(t) = ¡ s2 = −4 K1 e−2t + K2 e−4t K5 e−2t + K6 e ¢ ¢ −4t ¡ ¡ K3 e−2t + K4 e−4t K7 e−2t + K8 e ¢ ¢ −4t (2.103) Per determinare i valori della grandezze Ki applichiamo le regole viste precedentemente, ottenendo due sistemi Φ(0) = I Φ̇(0) = A Sviluppando i sistemi otteniamo K1 + K 2 = 1 K3 + K 4 = 0 K5 + K 6 = 0 K7 + K 8 = 1 7 aprile 2003 Copyright 2003 Roberto Bucher 39 Automazione I e II Capitolo 2. Modellazione di processi −2K1 − 4K2 = 0 −2K3 − 4K4 = 1 −2K5 − 4K6 = −8 −2K7 − 4K8 = −6 Si tratta alla fine di trova il risultato di 4 sistemi di equazioni a 2 incognite indipendenti tra di loro. La soluzione ci fornisce K1 = 2 K2 = −1 1 K3 = 2 1 K4 = − 2 K5 = −4 K6 = 4 K7 = −1 K8 = 2 La matrice cercata Φ(t) risulta quindi essere Φ(t) = ¡ ¡ 2e−2t − e−4t −4e−2t + 4e ¢ ¢ −4t µ ¡ 1 −2t 1 −4t e − e 2 2 −e−2t + 2e ¶ ¢ −4t (2.104) Si può ottenere lo stesso risultato anche tramite la trasformata di Laplace cercando inizialmente la trasformata inversa di (sI − A)−1 (sI − A) = (sI − A)−1 = " s −1 8 (s + 6) # " s −1 8 (s + 6) s+6 s2 + 6s + 8 # (2.105) 1 s2 + 6s + 8 (2.106) −8 s s2 + 6s + 8 s2 + 6s + 8 Applicando ora la riduzione in termini di frazioni parziali e l’antitrasformata di Laplace si ottiene (sI − A) 40 s2 + 6s + 8 −1 µ = 1 2 − s+2 s+4 ¶ µ 1/2 1/2 − s+2 s+4 4 + s+2 s+4 ¶ µ −1 2 + s+2 s+4 = µ −4 Copyright 2003 Roberto Bucher ¶ ¶ (2.107) 7 aprile 2003 2.10. Modellazione mediante grafi di flusso Φ(t) = ¡ ¡ 2e−2t Automazione I e II − e−4t −4e−2t + 4e ¢ µ ¢ −4t ¡ 1 −2t 1 −4t e − e 2 2 −e−2t + 2e Riprendendo ora l’equazione (2.94) possiamo scrivere ¶ ¢ −4t x(t) = gx ∗ u(t) + Φ(t)x(0) (2.108) (2.109) Nel caso di radici del polinomio caratteristico, rispettivamente autovalori della matrice di stato,negativi, la parte Φ(t)x(0) = eAt x(0) decade nel tempo, e resta quindi unicamente la parte di soluzione non omogenea o forzata ad influenzare il sistema. Analogamente possiamo vedere il risultato per la grandezza in uscita y(t) che risulta essere y(t) = g ∗ u(t) + CΦ(t)x(0) 2.10 (2.110) Modellazione mediante grafi di flusso Una rappresentazione alternativa al diagramma a blocchi, semplice da utilizzare e da calcolare, è la rappresentazione mediante grafi di flusso di segnali (signal-flow graph). La descrizione di questa metodologia è riportata nell’allegato B. 2.11 Analisi del processo motore-antenna Vediamo ora di determinare le funzioni di trasferimento di ogni sottosistema del processo motore-antenna parabolica descritto nel Capitolo 1. Un diagrmma completo del sistema ad anello chiuso è rappresentato nella figura 2.5. Il potenziometro in entrata e quello in uscita sono identici, e occorre fare 10 giri per passare da -10V a +10V. La funzione di trasferimento tra angolo e tensione in uscita è data da 10 1 Vi (s) = = ϕi (s) 10π π (2.111) Vo (s) 1 = ϕo (s) π (2.112) Analogamente si trova La funzione di trasferimento del preamplificatore è data da Vp (s) =K ∆Vi (s) (2.113) ∆Vi (s) = Vi (s) − Vo (s) (2.114) dove 7 aprile 2003 Copyright 2003 Roberto Bucher 41 7 aprile 2003 Capitolo 2. Modellazione di processi +10V Potenziometro PSfrag replacements + vi (t) Preamp vp (t) Amplificatore differenziale e di potenza ea (t) Resistenza armatura 8Ω N1 = 25 K 100 s+100 vo (t) N2 = 250 - +10V Da = 0.01N ms/rad Kb = 0.5V s/rad Automazione I e II 1N ms/rad 1Kgm2 Ja = 0.02Kgm2 Kt = 0.5N ms/A ϕo (t) Inerzia Potenziometro N3 = 250 Smorzamento Copyright 2003 Roberto Bucher -10V -10V Figura 2.5: Schema a blocchi del sistema motore-antenna 42 ϕi (t) 2.11. Analisi del processo motore-antenna Automazione I e II Per l’amplificatore di potenza si trova Ea (s) 100 = Vp (s) s + 100 (2.115) Per il calcolo della funzione di trasferimento del motore occorre tenere conto del rapporto degli ingranaggi per portare il carico e l’attrito di rotazione sul motore. Occorre quindi applicare delle formule della meccanica che sfruttano il rapporto degli ingranaggi per sommare inerzia del motore e del carico e attrito del motore e del carico. Per le due grandezze si ottengono cosı̀ i valori seguenti Jm = J a + J L e µ Dm = D a + D L 25 250 µ ¶2 25 250 = 0.02 + 1 ¶2 1 = 0.03 100 = 0.01 + 1 1 = 0.02 100 (2.116) (2.117) Utilizzando l’equazione (2.49) troviamo numericamente Φm (s) = Ea (s) Kt /(Ra Jm ) 2.083 µ ¶¸ = 1 Kt Kb s(s + 1.71) s s+ Dm + Jm Ra · (2.118) Tenendo conto del rapporto degli ingranaggi possiamo trovare finalmente Φm (s) 0.2083 Φo (s) = 0.1 = Ea (s) Ea (s) s(s + 1.71) (2.119) Il sistema completo può essere rappresentato nel grafo della figura 2.6. La funzione di trasferimento tra vi (s) e vo (s) del sistema ad anello aperto (togliendo quindi il ramo tra vo e ∆vi ) risulta essere G(s) = vo (s) 0.2083 1 100 6.63K =K = vi (s) s + 100 s(s + 1.71) π s(s + 1.71)(s + 100) (2.120) mentre per il sistema ad anello chiuso utilizzando le regole di Mason si ottiene 0.2083 1 1 100 vo (s) s + 100 s(s + 1.71) 10 π Gtot (s) = = 0.2083 1 100 vi (s) 1+K s + 100 s(s + 1.71) π K (2.121) che può essere semplificato come Gtot (s) = 7 aprile 2003 6.63K s(s + 1.71)(s + 100) + 6.63K Copyright 2003 Roberto Bucher (2.122) 43 PSfrag replacements ϕi (t) 1 π vi (t) ∆vi (t) K −1 vp (t) 100 s+100 ea (t) ϕm (t) 2.083 s(s+1.71) vo (t) Figura 2.6: Grafo del processo motore-antenna 0.1 1 π ϕo (t) 7 aprile 2003 Copyright 2003 Roberto Bucher 44 Capitolo 2. Modellazione di processi Automazione I e II Capitolo 3 Risposte nel tempo di sistemi modellati 3.1 Introduzione Nella prima parte del corso abbiamo analizzato quei metodi che ci permettevano di rappresentare in una forma matematica un qualsiasi sistema. Mediante la trasformata di Laplace abbiamo trovato un mezzo semplice limitato però a sistemi lineari. Con la rappresentazione nello spazio degli stati abbiamo invece un metodo che ci permette di rappresentare sistemi anche non lineari, facilmente simulabili con programmi a disposizione. Questa parte di analisi di un sistema è detta modellazione. Ci sono altri metodi di modellazione per sistemi complessi, metodi che fanno a capo ad esempio a reti neurali. Una volta ottenuta una forma matematica del nostro sistema, occorre fare alcune analisi qualitative e quantitative sul sistema. Un metodo abbastanza semplice è quello di analizzare gli zeri e i poli della funzione di trasferimento del sistema (se lineare). 3.2 Il concetto dei poli e degli zeri e della risposta di sistema L’uscita di un sistema può essere rappresentata come la somma di due segnali differenti: la risposta forzata e la risposta naturale. La risposta forzata è anche detta risposta allo stato finito o soluzione particolare dell’equazione differenziale che descrive il sistema. La risposta naturale rappresenta invece la soluzione omogenea dell’equazione differenziale. Essa influenza il comportamento al transiente del sistema. Gli zeri di una funzione sono quei particolari valori della variabile di Laplace s per cui la funzione di trasferimento diventa 0, e sono quindi le radici del polinomio al numeratore della funzione di trasferimento. I poli della funzione di trasferimento sono quei valori della variabile di Laplace s che fanno diventare infinita la funzione di trasferimento. Nel caso di radici comuni del polinomio al numeratore e al denominatore, questi valori fanno parte sia dei poli che degli zeri. (Teoricamente possono essere semplificati!). 3.3 Poli e zeri di una funzione di trasferimento. Analizziamo la funzione di trasferimento 7 aprile 2003 Copyright 2003 Roberto Bucher 45 Automazione I e II Capitolo 3. Risposte nel tempo di sistemi modellati s+2 s+5 La funzione in uscita Y(s) con entrata gradino unitario vale (3.1) G(s) = Y (s) = s+2 A B 2/5 3/5 = + = + s(s + 5) s s+5 s s+5 (3.2) I valori di A e B possono essere calcolati facilmente con il calcolo dei residui. La funzione equivalente nel tempo y(t) vale 2 3 −5t + e 5 5 Dall’ultima formula possiamo trarre le conclusioni seguenti y(t) = (3.3) • Il polo della funzione in entrata genera la forma della risposta forzata • Il polo della funzione di trasferimento genera la forma della risposta naturale • Un polo sull’asse reale genera una risposta di tipo esponenziale del tipo e −αt , dove α rappresenta la posizione del polo sull’asse reale. Più questo polo è negativo, più la risposta al transiente scende velocemente a 0. • Lo zero della funzione di trasferimento influisce sull’ampiezza delle due risposte, forzata e naturale, del sistema. Lo zero della funzione di trasferimento influisce sull’ampiezza delle due risposte, forzata e naturale, del sistema. 3.4 Risposta di un sistema di 1. ordine Analizziamo un sistema di primo ordine con una funzione di trasferimento del tipo a (3.4) s+a Questa funzione di trasferimento porta ad un valore finale a transiente finito di valore 1. Con un’entrata di tipo gradino unitario abbiamo una risposta y(t) pari a G(s) = y(t) = 1 − e−at (3.5) La figura 3.1 mostra la risposta nel tempo di questo sistema, con a = 10 Ci sono alcune grandezze che caratterizzano questa curva e sono • La costante di tempo τ che è definita come la pendenza (derivata) della curva a t = 0. È in pratica il tempo occorrente alla risposta per raggiungere il 63% del valore finale. • Il tempo di salita Tr (Rise Time) che è il tempo necessario al sistema per passare dal 10% al 90% del valore finale. • Il tempo di setting Ts che è definito come il tempo necessario affinché la risposta resti entro un limite di ±2% del valore finale. 46 Copyright 2003 Roberto Bucher 7 aprile 2003 3.4. Risposta di un sistema di 1. ordine Automazione I e II Step Response 1 -2% 0.9 0.8 0.7 Amplitude 0.6 0.5 0.4 0.3 Ts 0.2 0.1 Tr PSfrag replacements 0 0 0.1 0.2 0.3 0.4 0.5 0.6 Time (sec.) Figura 3.1: Risposta di un sistema di 1. ordine Calcoliamo la costante di tempo ¯ d dy(t) ¯¯ = (1 − e−at ) = a ¯ dt ¯t=0 dt (3.6) e conseguentemente possiamo trovare dal grafico 3.1 il valore di τ che diventa 1 (3.7) a Per il calcolo di Tr occorre trovare il tempo per cui la risposta raggiunge il 10% e il 90% del valore finale e fare la differenza. 1 = aτ → τ = y(t2 ) = 1 − eat2 = 0.9 → t2 = ln 0.1 ln 10 2.31 = = −a a a (3.8) ln 0.9 0.11 = −a a (3.9) y(t1 ) = 1 − eat1 = 0.1 → t1 = e conseguentemente 2.31 0.11 2.2 − = (3.10) a a a Per il calcolo di Ts è sufficiente trovare il valore di t per cui si raggiunge il 98% del valore finale Tr = t 2 − t 1 = y(Ts ) = 1 − e−aTs = 0.98 → Ts = 7 aprile 2003 ln 0.02 ln 50 4 = = −a a a Copyright 2003 Roberto Bucher (3.11) 47 Automazione I e II 3.5 Capitolo 3. Risposte nel tempo di sistemi modellati Risposta di sistemi di 2. ordine L’analisi di sistemi di 2. ordine è più complicata di quella dei sistemi di 1. ordine. Occorre innanzitutto fare una distinzione tra 4 casi, a seconda della posizione dei poli della funzione di trasferimento. Anche in questo caso abbiamo un segnale in uscita formato dalla risposta forzata e dalla risposta naturale. Possiamo analizzare un sistema normato del tipo b (3.12) s2 + as + b che ha il vantaggio di tendere al valore finale 1 per t → ∞ con entrata di tipo gradino unitario. Partendo da questa funzione di trasferimento modifichiamo i valori di a per avere i 4 casi differenti da analizzare. G(s) = 3.5.1 Sistema sovrasmorzato Un sistema con una funzione di trasferimento pari a 9 (3.13) s2 + 9s + 9 possiede due poli reali a −1.146 e −7.854. La risposta ad un’entrata di tipo gradino unitario è rappresentata dalla figura 3.2. G(s) = Step Response 1 0.9 0.8 0.7 Amplitude 0.6 0.5 0.4 0.3 0.2 0.1 0 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 Time (sec.) Figura 3.2: Risposta di un sistema sovrasmorzato Il calcolo della trasformata di Laplace inversa ci fornisce il valore della funzione d’uscita nel tempo pari a y(t) = L −1 · ¸ · 9 1 0.171 1.171 = L−1 + − s(s2 + 9s + 9) s s + 7.854 s + 1.146 ¸ (3.14) da cui risulta 48 Copyright 2003 Roberto Bucher 7 aprile 2003 3.5. Risposta di sistemi di 2. ordine Automazione I e II y(t) = 1 + 0.171e−7.854t − 1.171e−1.146t 3.5.2 (3.15) Sistema sottosmorzato Un sistema con una funzione di trasferimento pari a G(s) = 9 s2 + 3s + 9 (3.16) possiede due poli complessi a −1.5 ± j2.598. La risposta nel tempo ad un gradino unitario in entrata è rappresentato nella figura 3.3. Step Response 1.4 1.2 Amplitude 1 0.8 0.6 0.4 0.2 0 0 0.5 1 1.5 2 2.5 3 3.5 4 Time (sec.) Figura 3.3: Risposta di un sistema sottosmorzato Il calcolo della trasformata di Laplace inversa ci fornisce la funzione in uscita y(t) = 1 − e−1.5t (cos 2.598t + 0.577 sin 2.598t) (3.17) che può anche essere scritto come y(t) = 1 − 1.155e−1.5t cos(2.598t − π ) 6 (3.18) La moltiplicazione dell’ampiezza della nostra funzione in uscita con il termine ±1.155e −1.5t rappresenta in pratica un inviluppo della curva di tipo sinusoidale in uscita. Le oscillazioni non possono uscire dalle due curve 1 + 1.155e−1.5t e 1 − 1.155e−1.5t 7 aprile 2003 Copyright 2003 Roberto Bucher 49 Automazione I e II 3.5.3 Capitolo 3. Risposte nel tempo di sistemi modellati Sistema oscillatorio Nel caso di una funzione di trasferimento pari a G(s) = s2 9 +9 (3.19) il sistema possiede due radici puramente complesse a ±j3. La funzione in uscita con entrata gradino unitario vale y(t) = 1 − cos 3t (3.20) e rappresenta un moto sinusoidale puro come si può vedere nella figura 3.4 Step Response 2 1.8 1.6 1.4 Amplitude 1.2 1 0.8 0.6 0.4 0.2 0 0 1 2 3 4 5 6 7 8 9 10 Time (sec.) Figura 3.4: Risposta di un istema oscillatorio 3.5.4 Sistema smorzato criticamente Nel caso di una funzione di trasferimento del tipo G(s) = s2 9 + 6s + 9 (3.21) la funzione di trasferimento possiede due poli reali uguali a −3. La funzione in uscita con entrata gradino unitario vale y(t) = 1 − 3te−3t − e−3t (3.22) Ricordo che nel caso di radici multiple il calcolo dei coefficienti per la trasformata inversa è più complicato che nel caso in cui ci siano radici semplici. La figura 3.5 mostra la risposta dinamica di questo sistema. 50 Copyright 2003 Roberto Bucher 7 aprile 2003 3.6. Analisi generale di sistemi di 2. ordine Automazione I e II Step Response 1 0.9 0.8 0.7 Amplitude 0.6 0.5 0.4 0.3 0.2 0.1 0 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 Time (sec.) Figura 3.5: Risposta di un sistema smorzato criticamente 3.6 Analisi generale di sistemi di 2. ordine Un sistema di 2. ordine può essere caratterizzato semplicemente mediante 2 grandezze significative: la frequenza naturale ωn e il fattore di smorzamento ξ. La frequenza naturale è quella frequenza a cui oscillerebbe il sistema non smorzato (p. es. in un sistema LCR sarebbe la frequenza di oscillazione se non ci fosse la R). Il fattore di smorzamento è invece definito come ξ= f requenza o anche ξ= di decadimento esponenziale f requenza naturale (3.23) periodo naturale 1 2π costante di tempo esponenziale Partendo da una funzione di trasferimento nella forma G(s) = s2 b + as + b (3.24) abbiamo precedentemente visto come in assenza di smorzamento la funzione di trasferimento varrebbe G(s) = s2 b +b (3.25) Di conseguenza la frequenza naturale del sistema vale ωn = 7 aprile 2003 √ b Copyright 2003 Roberto Bucher (3.26) 51 Automazione I e II Capitolo 3. Risposte nel tempo di sistemi modellati Sapendo che i poli del sistema hanno parte reale uguale a −a/2 e che questo valore coincide con il decadimento esponenziale dell’ampiezza, si può ottenere dall’equazione (3.23) a/2 ωn (3.27) a = 2ξωn (3.28) ξ= da cui infine risulta La formulazione generale di una funzione di trasferimento di 2. ordine può quindi essere scritta come ωn2 (3.29) + 2ξωn s + ωn2 La tabella 3.1 rappresenta schematicamente i 4 casi analizzati precedentemente, in funzione dei parametri ξ e ωn . G(s) = 3.7 s2 Analisi dettagliata di un sistema di 2. ordine sottosmorzato Analizziamo ora un po’ più in dettaglio una funzione di 2. ordine sottosmorzata, per determinarne le caratteristiche di risposta al transiente. Se mettiamo all’ingresso un gradino unitario, otteniamo la risposta Y(s) pari a Y (s) = 1 ωn2 s s2 + 2ξωn s + ωn2 (3.30) K1 K2 s + K 3 + 2 s s + 2ξωn s + ωn2 Con un paragone di coefficienti l’equazione (3.31) diventa Y (s) = (s + ξωn ) + √ ξ (3.31) p ω 1 − ξ2 2 n 1 1−ξ − 2 s (s + ξωn ) + ωn2 (1 − ξ 2 ) L’antitrasformata di Laplace dell’equazione (3.32) fornisce il risultato seguente Y (s) = à y(t) = 1 − e−ξωn t cos ωn o anche q q ξ 1 − ξ2t + p 1 − ξ2t sin ω n 1 − ξ2 à à ! (3.32) (3.33) !! q 1 ξ −ξωn t y(t) = 1 − p 1 − ξ 2 t − tan−1 p e cos ω (3.34) n 2 1−ξ 1 − ξ2 Conoscendo la funzione nel tempo possiamo ora determinare alcune caratteristiche della risposta con entrata gradino, in funzione dei parametri ξ e ωn . Queste caratteristiche sono rappresentate graficamente nella figura 3.6. Analogamente alla risposta di sistemi di 1. ordine possiamo trovare il tempo di salita (Tr ) e il tempo di setting (Ts ). Inoltre la risposta di un sistema di secondo ordine sottosmorzato è caratterizzato dal valore di picco massimo raggiunto (y max ) che viene calcolato come %OS, cioè il % con cui viene superato il valore finale della risposta, e dal tempo T p in cui avviene questo picco. 52 Copyright 2003 Roberto Bucher 7 aprile 2003 3.7. Analisi dettagliata di un sistema di 2. ordine sottosmorzato Automazione I e II Step Response 1.4 ymax 1.2 %OS 1.02 1 0.98 Amplitude 0.8 0.6 0.4 PSfrag replacements 0.2 Ts Tr 0 0 1 2 3 4 5 6 Time (sec.) Figura 3.6: Risposta di un sistema di 2. ordine sottosmorzato 3.7.1 Calcolo del tempo di salita Per determinare il valore di Tr si devono trovare i due valori del tempo per i quali la funzione y(t) vale rispettivamente il 10% e il 90% del valore finale. Una formula di calcolo approssimata è quella dell’equazione (3.35), valida per valori 0 < ξ < 1. Tr = 3.7.2 1 − 0.4167ξ + 2.917ξ 2 ωn (3.35) Calcolo del tempo di setting Per trovare il valore di Ts non è necessario analizzare tutta la funzione y(t), ma è sufficiente analizzarne l’inviluppo, e trovare quindi quel valore per cui l’inviluppo raggiunge il 98% del valore finale. Partendo dall’equazione (3.34), si può prendere la parte che rappresenta l’inviluppo e si ottiene Si ottiene pertanto p 1 e−ξωn Ts = 0.02 2 1−ξ Ts = ³ p − ln 0.02 1 − ξ 2 ξωn (3.36) ´ (3.37) Spesso si utilizzano della approssimazioni di questa equazione Ts = 7 aprile 2003 3.2 ξωn , 0 < ξ < 0.69 Ts = 4.5 ξωn , ξ > 0.69 Copyright 2003 Roberto Bucher 53 Automazione I e II Capitolo 3. Risposte nel tempo di sistemi modellati o anche più semplicemente 4 ξωn Ts = 3.7.3 (3.38) Calcolo di Tp Per trovare il valore del tempo in cui la risposta possiede il suo valore massimo (massimo overshooting) occorre risolvere un problema di massimo-minimo. Dobbiamo trovare la derivata della curva di risposta y(t), uguagliarla a 0 e trovare il risultato desiderato. Guardando la funzione y(t) ottenuta saremmo decisamente tentati di trovare un metodo più semplice per risolvere questo problema. Per le regole di Laplace, sappiamo che una derivazione nel tempo, a condizioni iniziali nulle, significa semplicemente una moltiplicazione per la variabile di Laplace s nel campo di Laplace. Possiamo quindi trovare la derivata in Laplace e poi cercarne l’antitrasformata. L[ẏ(t)] = sY (s) = s ωn2 s(s2 + 2ξωn s + ωn2 ) (3.39) Applicando l’antitrasformata di Laplace si ottiene ωn2 ] (s + ξωn )2 + ωn (1 − ξ 2 ) (3.40) q ωn −ξωn t e sin ω 1 − ξ2t n 1 − ξ2 (3.41) ẏ(t) = L−1 [ da cui si ottiene ẏ(t) = p Ora possiamo determinare i valori del tempo per i quali ci sono dei massimi e minimi locali della funzione, uguagliando a 0 l’equazione (3.41) Otteniamo cosı̀ q ωn 1 − ξ 2 t = nπ (3.42) Con n = 1 abbiamo la prima occorrenza, che rappresenta il primo massimo della funzione y(t). Otteniamo cosı̀ il valore di Tp dall’equazione Tp = 3.7.4 ωn Calcolo del valore di %OS π 1 − ξ2 (3.43) p Il valore di %OS (percento overshooting) è definito come %OS = 100 ymax − yf inale yf inale (3.44) Introducendo il valore di Tp trovato in (3.43), possiamo trovare subito il valore di ymax che vale ymax = 1 − e − √ ξπ 1−ξ 2 à ξ cos π + p sin π 1 − ξ2 ! =1+e − √ ξπ 1−ξ 2 (3.45) Introducendo questo valore in (3.44), con yf inale = 1 si ottiene 54 Copyright 2003 Roberto Bucher 7 aprile 2003 3.7. Analisi dettagliata di un sistema di 2. ordine sottosmorzato %OS = 100e Automazione I e II − √ ξπ 1−ξ 2 (3.46) e quindi ξ=r − ln π2 ³ %OS 100 + ln 2 ³ ´ %OS 100 (3.47) ´ La figura 3.7 mostra le relazioni che ci sono tra la posizione dei 2 poli del sistema e le grandezze ξ e ωn p +jωn 1 − ξ 2 = jωd ωn θ PSfrag replacements −ξωn = −σd p −jωn 1 − ξ 2 = jωd Figura 3.7: Poli del sistema Dalla figura 3.7 si vede che il modulo dei due poli vale ωn , mentre la fase θ segue la relazione cos θ = ξ (3.48) Dall’equazione (3.43) vediamo che Tp = ωn π π = 2 ωd 1−ξ p (3.49) e quindi Tp dipende unicamente dal valore di ωd . Dall’approssimazione Ts = 4 4 = ξωn σd (3.50) vediamo che Ts dipende approssimativamente da σd , mentre dall’equazione (3.47) vediamo che il %OS dipende unicamente da ξ. Possiamo quindi costruire lo schema della figura 3.8 dove le rette congiungono poli con medesime caratteristiche dinamiche. 7 aprile 2003 Copyright 2003 Roberto Bucher 55 Automazione I e II Capitolo 3. Risposte nel tempo di sistemi modellati %OS1 Tp2 iω %OS2 PSfrag replacements Tp1 Ts1 Ts2 σ Figura 3.8: Relazione tra poli e grandezze dinamiche 3.8 Risposta di sistemi con poli supplementari Le analisi fatte nel capitolo precedente sono valide unicamente per sistemi di 2. ordine, senza zeri al numeratore. Vogliamo ora analizzare questi sistemi di 2. ordine in presenza di poli supplementari, per vedere se le formule trovate sono ancora utilizzabili con buona approssimazione. La figura 3.9 mostra la risposta del sistema descritto da G(s) = s2 5 + 2s + 5 (3.51) aggiungendo poi un polo supplementare a −3 e uno a −10, normando la risposta a 1. Possiamo vedere come con il crescere del valore assoluto del polo supplementare, la risposta tenda ad avvicinarsi a quella della funzione di 2. ordine. In questo caso si dice che i due poli della funzione di 2. ordine sono dominanti. Si può parlare di poli dominanti se tutti gli altri poli supplementari hanno parte reale almeno 4 volte più grande di quella dei poli dominanti. 3.9 Risposta di sistemi di 2. ordine con zeri Abbiamo già visto precedentemente come uno zero in una funzione di trasferimento non modifica minimamente la natura della risposta (influenzata unicamente dai poli) ma ha influsso sulle ampiezze di ogni singolo elemento della funzione (calcolo dei residui). Cerchiamo ora di analizzare un po’ più in dettaglio cosa succede se aggiungiamo uno zero ad una funzione di trasferimento di 2. ordine. Prendiamo come esempio la funzione di trasferimento G(s) = 9 s+a 2 a s + 2s + 9 (3.52) La figura 3.10 mostra la risposta del sistema originale e quella con valori di a pari a 3, 5 e 10 (zeri a −3, −5 e −10). 56 Copyright 2003 Roberto Bucher 7 aprile 2003 3.9. Risposta di sistemi di 2. ordine con zeri Automazione I e II Step Response 1.4 Funzione di 2. ordine 1.2 Amplitude 1 Polo suppl. a -10 0.8 Polo suppl. a -3 0.6 0.4 0.2 0 0 1 2 3 4 5 6 Time (sec.) Figura 3.9: Risposta con poli supplementari Step Response 1.6 Zero a -3 1.4 1.2 Amplitude 1 0.8 Zero a -5 0.6 Zero a -10 0.4 Nessuno zero 0.2 0 0 1 2 3 4 5 6 Time (sec.) Figura 3.10: Sistema con zeri supplementari 7 aprile 2003 Copyright 2003 Roberto Bucher 57 Automazione I e II Capitolo 3. Risposte nel tempo di sistemi modellati Anche in questo caso con l’aumentare del valore assoluto dello zero la risposta si avvicina a quella del sistema di 2. ordine. Spesso si pone la domanda se uno zero e un polo di valore molto simile possono essere semplificati all’interno della funzione di trasferimento. Solo la ricerca della funzione nel tempo, e quindi i coefficienti dei residui del polinomio, ci permettono spesso di vedere se questa semplificazione è possibile (termini con coefficienti molto piccoli); in ogni caso non si devono mai semplificare in questo modo dei poli con parte reale positiva! Esempio 3.1 Viene data la funzione in uscita Y (s) = 26.25(s + 4) s(s + 3.5)(s + 5)(s + 6) (3.53) La scomposizione in termini di frazioni parziali ci fornisce 1 3.5 3.5 1 − + − (3.54) s s + 5 s + 6 s + 3.5 Nessun termine è abbastanza piccolo da poter essere trascurato. Di conseguenza la semplificazione del polo −3.5 con lo zero −4 non è fattibile. Y (s) = Esempio 3.2 Prendiamo una funzione molto simile alla precedente Y (s) = 26.25(s + 4) s(s + 4.01)(s + 5)(s + 6) (3.55) In questo caso il calcolo dei residui ci fornisce 5.3 4.4 0.033 0.87 5.3 4.4 0.87 − + − ' − + (3.56) s s + 5 s + 6 s + 4.01 s s+5 s+6 In quest’ultimo esempio la semplificazione è legittima. Effettuando il calcolo dei residui sulla funzione semplificata Y (s) = 26.25 s(s + 5)(s + 6) (3.57) 0.87 5.25 4.37 − + s s+5 s+6 (3.58) Y (s) = si ottiene Y (s) = che è molto simile al risultato trovato in (3.56). 3.10 Sistemi a fase non minima Un caso particolare di sistemi è rappresentato da quei processi che hanno zeri nel semipiano destro. Questi sistemi hanno una risposta al transiente molto particolare, visibile nella figura 3.11. Questo processo potrebbe rappresentare un veicolo che allarga prima di affrontare una curva. 58 Copyright 2003 Roberto Bucher 7 aprile 2003 3.10. Sistemi a fase non minima Automazione I e II Step Response 2 1.5 Amplitude 1 0.5 0 −0.5 −1 0 1 2 3 4 5 6 Time (sec.) Figura 3.11: Sistema a fase non minima 7 aprile 2003 Copyright 2003 Roberto Bucher 59 Automazione I e II Capitolo 3. Risposte nel tempo di sistemi modellati ξ Poli Risposta jω σ PSfrag replacements Oscillatorio, poli a ±jωn 0 jω σ PSfrag replacements Sottosmorzato, p poli a −ξωn ± jωn 1 − ξ 2 0<ξ<1 jω σ PSfrag replacements Criticamente smorzato, 2 poli a −ωn ξ=1 jω σ PSfrag replacements ξ>1 Sovrasmorzato, p poli a −ξωn ± ωn ξ 2 − 1 Tabella 3.1: Riassunto dei sistemi di 2. ordine 60 Copyright 2003 Roberto Bucher 7 aprile 2003 Capitolo 4 Stabilità 4.1 Introduzione Dopo aver analizzato la risposta al transiente di sistemi di 1. e 2. ordine, vediamo ora la caratteristica più importante che qualsiasi sistema deve soddisfare: la stabilità. Esistono diverse definizioni di stabilità. Limitandoci momentaneamente a sistemi di tipo lineare e invarianti nel tempo, si può dire che un sistema è stabile se la sua risposta naturale diventa nulla con t → ∞, o perlmeno resta limitata nella sua ampiezza. Questo può significare due cose: • La soluzione dell’equazione differenziale omogenea tende a 0 con il passare del tempo (t → ∞). In questo caso si parla di stabilità asintotica • La soluzione dell’equazione differenziale omogenea resta costante o limitata tra valori finiti con il passare del tempo, senza mai tendere a 0. in questo caso abbiamo stabilità Dalla teoria delle equazioni differenziali, sappiamo che la soluzione omogenea di un’equazione differenziale lineare, a coefficienti costanti, è data dalla somma di elementi del tipo K i t n i e αi t (4.1) Ki tni eαi t (cos ωi t + ϕ0i ) (4.2) e elementi del tipo Dove αi e αi + jωi sono radici del polinomio caratteristico dell’equazione differenziale, e il coefficiente ni rappresenta la molteplicità di una certa radice (la radice esiste ni + 1 volte). Il sistema è stabile se nessuno di questi elementi tende a valori infiniti con il passare del tempo. Questo è possibile solo nei casi seguenti • Tutte le radici hanno parte reale negativa • Esistono radici con parte reale nulla, ma in questo caso devono essere radici semplici (ni = 0) 7 aprile 2003 Copyright 2003 Roberto Bucher 61 Automazione I e II Capitolo 4. Stabilità Queste regole ci permettono di formulare dei criteri per la stabilità di un processo. Un sistema è asintoticamente stabile se tutte le radici del polinomio caratteristico dell’equazione differenziale hanno parte reale negativa Un sistema è stabile se ha radici non multiple sull’asse reale (parte reale nulla) Un sistema è instabile se esiste almeno una radice del polinomio caratteristico con parte reale positiva (semipiano destro) o ci sono radici multiple con parte reale nulla 4.2 Stabilità dalla funzione di trasferimento Sapendo che il polinomio caratteristico di un’equazione differenziale coincide con il denominatore della funzione di trasferimento, per l’analisi di stabilità è sufficiente determinare i poli della funzione e controllare le regole viste in precedenza. Nel caso di sistemi closed loop è necessario analizzare la funzione di trasferimento ad anello chiuso! Esempio 4.1 Il processo rappresentato dalla figura 4.1 ha la funzione di trasferimento ad anello chiuso pari a Gtot (s) = s3 + 3 + 2s + 3 (4.3) 3s2 e possiede quindi 3 poli a −2.672 e a −0.164 ± j1.047. R(s) 3 Y(s) s(s+1)(s+2) confronto Processo Figura 4.1: Schema a blocchi dell’esempio 1 Tutti i poli del sistema ad anello chiuso si trovano nel semipiano sinistro. Conseguentemente il sistema è stabile. La risposta ad un gradino unitario di questo processo è rappresentata nella figura 4.2. Esempio 4.2 Il processo rappresentato dalla figura 4.3 è descritto dalla funzione di trasferimento ad anello chiuso Gtot (s) = s3 + 7 + 2s + 7 3s2 (4.4) e ha 3 poli a −3.087 e a 0.0434 ± j1.505. Malgrado che il sistema ad anello aperto sia stabile, il sistema ad anello chiuso possiede dei poli nel semipiano destro. Conseguentemente il sistema della figura 4.3 è instabile. La risposta ad un gradino unitario di questo processo è rappresentata nella figura 4.4. 62 Copyright 2003 Roberto Bucher 7 aprile 2003 4.2. Stabilità dalla funzione di trasferimento Automazione I e II Step Response 1.6 1.4 1.2 Amplitude 1 0.8 0.6 0.4 0.2 0 0 5 10 15 20 25 30 35 Time (sec.) Figura 4.2: Risposta del processo dell’esempio 1 R(s) 7 Sum s(s+1)(s+2) Y(s) Zero−Pole Figura 4.3: Schema a blocchi dell’esempio 2 7 aprile 2003 Copyright 2003 Roberto Bucher 63 Automazione I e II Capitolo 4. Stabilità Step Response 3.5 3 2.5 Amplitude 2 1.5 1 0.5 0 −0.5 −1 0 2 4 6 8 10 12 14 16 18 20 Time (sec.) Figura 4.4: Risposta del processo dell’esempio 2 4.3 Stabilità nello spazio degli stati Il problema si riduce a determinare le radici del polinomio caratteristico della matrice di stato, calcolato mediante la formula det(sI − A) = 0 (4.5) In algebra lineare, questa equazione viene utilizzata per la ricerca degli autovalori di una matrice. Di conseguenza, le radici del polinomio caratteristico dell’equazione differenziale di un sitema, coincidono con gli autovalori della matrice di stato. Per la stabilità è pertanto sufficiente analizzare la posizione nel piano complesso degli autovalori della matrice di stato A. 4.4 Criterio di stabilità di Routh-Hurwitz Con i moderni mezzi informatici a disposizione risulta relativamente semplice determinare numericamente le radici di un polinomio e di conseguenza anche la stabilità di un processo. Spesso però è necessario determinare la stabilità di un sistema a dipendenza di un certo parametro. Prendiamo ad esempio il processo descritto nella figura 4.5. Il processo contiene un parametro K di amplificazione che potrebbe determinare la stabilità ad anello chiuso. Si vuole sapere l’intervallo di valori del parametro K per i quali il sistema resta stabile. Si tratta di determinare le radici della funzione di trasferimento ad anello chiuso descritta da Gtot (s) = 64 s3 + K + 2s + K 3s2 Copyright 2003 Roberto Bucher (4.6) 7 aprile 2003 4.4. Criterio di stabilità di Routh-Hurwitz Automazione I e II R(s) K Y(s) s(s+1)(s+2) Sum Zero−Pole Figura 4.5: Sistema dipendente dal parametro K La ricerca simbolica delle radici risulta semplice unicamente utilizzando prodotti informatici per il calcolo simbolico. Il criterio di stabilità di Routh-Hurwitz ci permette di sapere se le radici di un polinomio si trovano tutte nel semipiano sinistro, senza tuttavia darci informazioni sul loro esatto valore. Per un’analisi di stabilità questa informazione è più che sufficiente. Per risolvere il problema occorre costruire la tabella di Routh. Nella prima riga si mettono i coefficienti an , an−2 , an−4 ecc., mentre nella seconda riga compaiono gli altri coefficienti an−1 , an−3 , an−5 ecc. come nella tabella 4.1. sn sn−1 sn−2 sn−3 an an−1 b1 c1 ··· an−2 an−3 b2 c2 ··· an−4 an−5 b3 c3 ··· ··· ··· ··· ··· ··· Tabella 4.1: Tabella di Routh La tabella prosegue fino alla riga definita da s0 . I coefficienti bi e ci vengono calcolati nel modo seguente b1 = an−1 an−2 − an an−3 an−1 (4.7) b2 = an−1 an−4 − an an−5 an−1 (4.8) c1 = b1 an−3 − an−1 b2 b1 (4.9) c2 = b1 an−5 − an−1 b3 b1 (4.10) Ogni riga viene calcolata fino a raggiungere i valori 0. Una volta terminata la tabella, si deve applicare il criterio di stabilità di Routh-Hurwitz che dice Tutte le radici del polinomio si trovano nel semipiano sinistro, se nella prima colonna della tabella non ci sono cambiamenti di segno. Il numero di cambiamenti di segno nella prima colonna equivale al numero di radici del polinomio che si trovano nel semipiano destro. Applichiamo ora questo metodo alla funzione descritta dall’equazione (4.6) 7 aprile 2003 Copyright 2003 Roberto Bucher 65 Automazione I e II Capitolo 4. Stabilità s3 1 2 0 s2 3 K 0 s1 6−K 3 0 s0 K 0 Tabella 4.2: Tabella di Routh dell’equazione (4.6) La tabella 4.2 rappresenta lo sviluppo del denominatore. La stabilità asintotica è garantita se la prima colonna non presenta cambiamenti di segno. Di conseguenza devono valere le relazioni 6−K >0 e K>0 La stabilità asintotica è quindi garantita per 0<K<6 66 Copyright 2003 Roberto Bucher (4.11) 7 aprile 2003 Capitolo 5 Errore allo stato finito 5.1 Introduzione Dopo aver visto la risposta al transiente e la stabilità di un sistema vediamo ora la terza caratteristica di un sistema: la risposta allo stato finito. La risposta allo stato finito rappresenta l’andamento del sistema una volta che, grazie alla sua stabilità, la risposta naturale del sistema è diventata nulla. In pratica questo andamento rappresenta la risposta forzata del sistema. Con errore allo stato finito si intende la differenza tra entrata ed uscita per un certo ingresso di test quando t → ∞. Gli ingressi di test sono normalmente 3 : gradino, rampa e parabola. Funzione f(t) F(s) gradino unitario 1 1 s rampa unitaria T 1 s2 Parabola 1 2 2t 1 s3 Tabella 5.1: Segnali di test L’ingresso gradino rappresenta una posizione costante e con esso si vuole vedere la capacità del sistema a posizionarsi rispetto a qualcosa di fisso. Un esempio è rappresentato dalla nostra antenna parabolica che si vuole posizionare ad un certo angolo costante. L’ingresso rampa rappresenta un moto uniforme (velocità costante) e serve ad analizzare la capacità del sistema a seguire qualcosa che si muove a velocità costante. Da ultimo, l’ingresso parabola può servire ad analizzare il comportamento del sistema mentre insegue oggetti che si muovono con accelerazione costante. Chiaramente il discorso sull’errore allo stato finito è possibile unicamente se il sistema è stabile. La figura 5.1 mostra la risposta di due sistemi ad un’entrata di tipo gradino unitario, di cui uno presenta un errore allo stato finito. Analogamente possiamo vedere nella figura 5.2 un errore allo stato finito nel caso di un’entrata rampa unitaria: Pr semplicità analizziamo inizialmente il caso di una retroazione unitaria. In questo 7 aprile 2003 Copyright 2003 Roberto Bucher 67 Automazione I e II Capitolo 5. Errore allo stato finito e∞ Step Response 1 0.9 0.8 0.7 Amplitude 0.6 0.5 0.4 0.3 0.2 0.1 PSfrag replacements 0 0 1 2 3 4 5 6 Time (sec.) Figura 5.1: Errore allo stato finito con entrata gradino unitario Step Response 10 e∞ 9 8 7 Amplitude 6 entrata 5 uscita 4 3 2 1 PSfrag replacements 0 0 1 2 3 4 5 6 7 8 9 10 Time (sec.) Figura 5.2: Errore con entrata rampa unitaria 68 Copyright 2003 Roberto Bucher 7 aprile 2003 5.2. Analisi dell’errore allo stato finito Automazione I e II caso l’errore tra entrata ed uscita è presente direttamente nello schema e coincide con E(s) (figura 5.3). R(s) E(s) Y(s) G(s) Figura 5.3: Sistema con feedback unitario Vediamo ora di determinare analiticamente il valore di E(s). E(s) = R(s) − Y (s) (5.1) Y (s) = E(s)G(s) (5.2) R(s) 1 + G(s) (5.3) ma e quindi E(s) = ora applichiamo il teorema del valore finale per ottenere e∞ sR(s) s→0 1 + G(s) e∞ = lim 5.2 5.2.1 (5.4) Analisi dell’errore allo stato finito Gradino In questo caso vale R(s) = 1 s (5.5) e quindi s 1s 1 = s→0 1 + G(s) 1 + lim G(s) e∞ = lim (5.6) s→0 In pratica avremo un errore nullo unicamente se lim G(s) = ∞ s→0 (5.7) Partendo da una formulazione generale G(s) = 7 aprile 2003 (s + z1 )(s + z2 ) · · · sn (s + p1 )(s + p2 ) · · · Copyright 2003 Roberto Bucher (5.8) 69 Automazione I e II Capitolo 5. Errore allo stato finito ne consegue che il valore di G(s) = ∞ lo si ottiene unicamente se esiste almeno un polo a 0. Negli altri casi vale invece lim G(s) = s→0 e quindi l’errore allo stato finito non è nullo. 5.2.2 z1 z2 · · · p1 p2 · · · (5.9) Rampa In questo caso vale R(s) = 1 s2 (5.10) e quindi s s12 1 1 = lim = s→0 s + sG(s) s→0 1 + G(s) lim sG(s) e∞ = lim (5.11) s→0 In pratica avremo un errore nullo unicamente se lim sG(s) = ∞ (5.12) s→0 Siccome G(s) = (s + z1 )(s + z2 ) · · · + p1 )(s + p2 ) · · · (5.13) sn (s ne consegue che il valore di G(s) = ∞ lo si ottiene unicamente se esistono almeno due poli a 0. Se esiste un unico polo a 0 avremo un errore pari a lim sG(s) = s→0 z1 z2 · · · 6= ∞ p1 p2 · · · (5.14) e quindi l’errore allo stato finito non è nullo. Nel caso invece che non ci siano poli a 0 avremo lim sG(s) = 0 (5.15) s→0 e quindi l’errore allo stato finito diventa infinito. 5.2.3 Parabola In questo caso vale R(s) = 1 s3 (5.16) e quindi s s13 1 1 = lim 2 = 2 s→0 1 + G(s) s→0 s + s G(s) lim s2 G(s) e∞ = lim (5.17) s→0 In pratica avremo un errore nullo unicamente se 70 Copyright 2003 Roberto Bucher 7 aprile 2003 5.3. Costanti di errore statico Automazione I e II lim s2 G(s) = ∞ (5.18) s→0 Siccome G(s) = (s + z1 )(s + z2 ) · · · + p1 )(s + p2 ) · · · sn (s (5.19) ne consegue che il valore di G(s) = ∞ lo si ottiene unicamente se esistono almeno tre poli a 0. Se esistono due poli a 0 avremo un errore pari a lim s2 G(s) = s→0 e quindi l’errore allo stato finito non è nullo. Negli altri casi avremo invece z1 z2 · · · p1 p2 · · · (5.20) lim s2 G(s0 (5.21) s→0 e quindi l’errore allo stato finito diventa infinito. 5.3 Costanti di errore statico Abbiamo appena visto le relazioni che intercorrono tra errore allo stato finito e segnale di ingresso, trovando le formule riportate nella tabella 5.2. gradino rampa parabola 1 e∞ = 1 + lim G(s) e∞ = lim sG(s) e∞ = s→0 1 s→0 1 lim s2 G(s) s→0 Tabella 5.2: Errore allo stato finito con le entrate di test I tre elementi al denominatore vengono definiti costanti di errore statico. Il calcolo di queste costanti è riassunto nella tabella 5.3 Costante di posizione KP KP = lim G(s) Costante di velocità KV KV = lim sG(s) Costante di accelerazione KA KA = lim s2 G(s) s→0 s→0 s→0 Tabella 5.3: Costanti di errore statico 7 aprile 2003 Copyright 2003 Roberto Bucher 71 Automazione I e II 5.4 Capitolo 5. Errore allo stato finito Definizione del tipo di sistema Un sistema rappresentato dalla funzione di trasferimento della figura 5.4 è detto sistema di tipo n, dove n rappresenta la moltiplicità del polo a 0 al denominatore. R(s) PSfrag replacements + K(s+z1 )(s+z2 )··· sn (s+p1 )(s+p2 )··· Y(s) - Figura 5.4: Sistema di tipo n La tabelle 5.4 mostra un riassunto delle formule trovate per l’errore allo stato finito. 5.5 Errore allo stato finito di sistemi con feedback non unitario Nel caso di sistemi con feedback non unitario occorre ridurre il sistema ad un sistema con feedback unitario, e quindi applicare le formule viste precedentemente. La riduzione del sistema è rappresentata nella sequenza a,b,c,d, della figura 5.5, e si effettua in 3 passaggi. Dapprima viene introdotto un feedback unitario e una sua compensazione per mantenere il sistema uguale al precedente (figura 5.5b). In seguito la compensazione del feedback viene integrata nella funzione di trasferimento del feedback non unitario (figura 5.5c ). Infine si trasferisce la funzione del feedback non unitario assieme alla funzione ad anello aperto (figura 5.5d ). Ora è sufficiente calcolare e analizzare la funzione di trasferimento G∗ (s) = G(s) 1 + G(s)H(s) − G(s) (5.22) applicando le formule trovate precedentemente per i sistemi con feedback unitario. 72 Copyright 2003 Roberto Bucher 7 aprile 2003 Tipo 2 Copyright 2003 Roberto Bucher Errore Costante di errore KP = costante 1 1 + KP KP = ∞ 0 KP = ∞ 0 1 KV KV = 0 ∞ KV = costante 1 KV KV = ∞ 0 1 KA KA = 0 ∞ KA = 0 ∞ KA = costante 1 KA Entrata e∞ gradino 1 1 + KP rampa parabola Costante di errore Tipo 1 Errore Costante di errore Errore 5.5. Errore allo stato finito di sistemi con feedback non unitario 7 aprile 2003 Tipo 0 Tabella 5.4: Tabella riassuntiva degli errori Automazione I e II 73 G(s) Y(s) E(s) + R(s) - - - G(s) Y(s) - H(s) 7 aprile 2003 Capitolo 5. Errore allo stato finito E(s) + R(s) H(s) a) b) E(s) - G(s) - R(s) H(s)-1 Automazione I e II Y(s) E(s) + G(s) 1+G(s)H(s)−G(s) Y(s) - d) PSfrag replacements c) Figura 5.5: Sistema con feedback non unitario 74 + R(s) Copyright 2003 Roberto Bucher -1 Capitolo 6 Analisi con il luogo delle radici 6.1 Introduzione Abbiamo visto in uno dei capitoli precedenti come sia possibile fare delle analisi di tipo qualitativo e quantitativo basandosi sulla posizione dei poli di una funzione di trasferimento. Nel caso di un sistema ad anello aperto questo tipo di analisi è abbastanza semplice. Più complicato diventa il discorso con un sistema ad anello chiuso, in cui ad esempio la posizione dei poli di una funzione varia con il variare di un parametro, come potrebbe essere per esempio l’amplificazione del sistema della figura 6.1 R(s) KG(s) Y(s) Sum H(s) Figura 6.1: Processo per l’analisi dei poli In questo caso potrebbe essere interessante conoscere la posizione delle radici della funzione di trasferimento ad anello chiuso in funzione del parametro K, per poter determinare la stabilità ed il comportamento dinamico del sistema. Partendo dalle due funzioni di trasferimento G(s) = NG (s) DG (s) (6.1) H(s) = NH (s) DH (s) (6.2) e possiamo trovare la funzione di trasferimento ad anello chiuso che vale GT OT (s) = 7 aprile 2003 KNG (s)DH (s) DG (s)DH (s) + KNG (s)NH (s) Copyright 2003 Roberto Bucher (6.3) 75 Automazione I e II Capitolo 6. Analisi con il luogo delle radici dove N e D sono i polinomi rispettivamente del numeratore e denominatore delle due funzioni di trasferimento G(s) e H(s). La rappresentazione sul piano della variabile s dei poli della funzione di trasferimento ad anello chiuso in funzione del parametro K e detta luogo delle radici. 6.2 Rappresentazione vettoriale di funzioni complesse Sappiamo che i numeri complessi possono essere rappresentati mediante dei vettori e conseguentemente, grazie a questa rappresentazione, possiamo trovare il valore di una funzione con variabili complesse in modo grafico. Determiniamo per esempio il valore della funzione F (s) = s+1 s(s + 2) (6.4) nel punto s = −3 + j4. Nella figura 6.2 è descitta la soluzione grafica di questo problema. Il vettore s + 1 inizia allo zero della funzione −1 e termina al punto −3 + j4. Questo vettore vale √ 206 116.57◦ (6.5) Il vettore s inizia al polo 0 della funzione e termina al punto −3 + j4. Utilizzando la rappresentazione di Eulero, questo vettore vale 56 126.87◦ (6.6) IL vettore s + 2 inizia al polo della funzione −2 e termina nel punto −3 + j4. Questo vettore vale √ 176 104.04◦ (6.7) Il valore della funzione è dato quindi dai moduli dei vettori verso lo zero della funzione, diviso per i moduli dei vettori verso i poli della funzione (modulo) e dalla somma degli angoli verso gli zeri meno la somma degli angoli verso i poli. Nell’esempio vale √ 20 6 M θ = √ 6 116.57◦ − 126.87◦ − 104.04◦ = 0.2176 114.34◦ (6.8) 5 17 6.3 Luogo delle radici Prendiamo il sistema della figura 6.3 La funzione di trasferimento ad anello chiuso vale K (6.9) s2 + 10s + K Per questo esempio cercheremo di calcolare noi i valori dei poli del circuito ad anello chiuso con il variare del parametro K. Normalmente è però sufficiente uno schizzo della posizione di questi poli. Vedremo in seguito come sia possibile schizzare velocemente il diagramma del luogo delle radici. Inoltre programmi come Matlab forniscono già funzioni GT OT (s) = 76 Copyright 2003 Roberto Bucher 7 aprile 2003 6.3. Luogo delle radici Automazione I e II Pole−zero map 5 4 3 Imag Axis s 2 s+1 1 s+2 0 −1 −4 −3.5 −3 −2.5 −2 −1.5 Real Axis −1 −0.5 0 0.5 1 Figura 6.2: Calcolo grafico del valore di una funzione complessa R(s) K Sum s(s+10) Y(s) Figura 6.3: Processo per l’analisi dei poli 7 aprile 2003 Copyright 2003 Roberto Bucher 77 Automazione I e II Capitolo 6. Analisi con il luogo delle radici che permettono di disegnare questo grafico. In ogni modo, per questo esempio calcoleremo noi i valori dei poli al variare di K. Questi valori sono riportati nella tabella 6.1: K 0 5 10 15 20 25 30 35 40 45 50 Polo 1 −10 −9.47 −8.87 −8.16 −7.24 −5 −5 + j2.24 −5 + j3.16 −5 + j3.87 −5 + j4.47 −5 + j5 Polo 2 0 −0.53 −1.13 −1.84 −2.76 −5 −5 − j2.24 −5 − j3.16 −5 − j3.87 −5 − j4.47 −5 − j5 Tabella 6.1: Poli del sistema ad anello chiuso La figura 6.4 mostra l’andamento del luogo delle radici del sistema 3 2 Imag Axis 1 0 −1 −2 −3 −10 −8 −6 −4 Real Axis −2 0 Figura 6.4: Luogo delle radici del sistema G(s) = 2 4 1 s(s+10) Normalmente è sufficiente analizzare il caso in cui K ≥ 0. Possiamo vedere che il sistema ad anello chiuso è sovrasmorzato per valori di K compresi tra 0 e 25; in quest’ultimo caso abbiamo un sistema smorzato in modo critico. Con l’aumentare di K compaiono dei poli di tipo complesso, in cui avremo quindi in risposta delle oscillazioni. Il sistema risulta in ogni modo stabile per tutti i valori di K, poiché non compaiono mai poli nel semipiano destro. 78 Copyright 2003 Roberto Bucher 7 aprile 2003 6.4. Proprietà del luogo delle radici 6.4 Automazione I e II Proprietà del luogo delle radici Nell’esempio precedente abbiamo potuto trovare facilmente i poli del sistema poiché si trattava di un sistema di 2. ordine. Purtroppo nel caso di sistemi di ordine superiore questo tipo di lavoro è più complesso. Vediamo di analizzare più in dettaglio la funzione di trasferimento ad anello chiuso. Partiamo dalla funzione di trasferimento ad anello chiuso KG(s) 1 + KG(s)H(s) Un polo s esiste se il denominatore diventa 0 e quindi quando GT OT (s) = KG(s)H(s) = −1 = 16 (2k + 1)180◦ , k = 0, ±1, ±2, . . . (6.10) (6.11) Controllando quindi se per un dato valore di s otteniamo il risultato della formula, s è un polo della funzione di trasferimento ad anello chiuso. 6.5 Regole per disegnare il luogo delle radici Nella maggior parte dei casi è sufficiente uno schizzo del luogo delle radici e non un calcolo dettagliato. Mezzi moderni come Matlab permettono di ottenere in pochissimo tempo un grafico preciso del luogo delle radici, ma spesso è sufficiente uno schizzo che può essere fatto velocemente senza bisogno di grossi calcoli. È sufficiente seguire alcune regole e ottenere un grafico per il luogo delle radici. 6.5.1 Numero di rami Ogni polo della funzione di trasferimento ad anello chiuso viene modificato cambiando il valore di K. Possiamo quindi concludere che il numero di rami del grafico è uguale al numero di poli della funzione di trasferimento ad anello chiuso. Nel caso dell’esempio precedente un ramo iniziava nel punto −10 e un altro nel punto 0. 6.5.2 Simmetria Siccome i coefficienti del denominatore della funzione di trasferimento ad anello chiuso sono tutti reali, ne consegue che ogni polo complesso è doppiato dal suo valore coniugato. Questo ci permette di concludere che il grafico del luogo delle radici è simmetrico rispetto all’asse reale. 6.5.3 Segmenti sull’asse reale Abbiamo visto che un valore s è polo della funzione di trasferimento ad anello chiuso solo se vale la proprietà KG(s)H(s) = −1 = 16 (2k + 1)180◦ , k = 0, ±1, ±2, . . . (6.12) Per questo motivo tutti quei tratti che hanno alla loro destra un numero dispari di zeri o poli di G(s)H(s) soddisfano l’equazione precedente (per un certo valore di K > 0). Possiamo quindi concludere che tutti i tratti dell’asse reale che si trovano a sinistra di un numero dispari di poli o zeri della funzione di trasferimento ad anello aperto appartengono al luogo delle radici della funzione di trasferimento ad anello chiuso. 7 aprile 2003 Copyright 2003 Roberto Bucher 79 Automazione I e II 6.5.4 Capitolo 6. Analisi con il luogo delle radici Punti di partenza e punti di arrivo Abbiamo visto inizialmente che la funzione di trasferimento ad anello chiuso vale GT OT (s) = KNG (s)DH (s) DG (s)DH (s) + KNG (s)NH (s) (6.13) Possiamo quindi dire che per K → 0 la funzione di trasferimento diventa GT OT (s) ' KNG (s)DH (s) DG (s)DH (s) + ² (6.14) Se ² → 0 il valore del denominatore approssima il denominatore della funzione di trasferimento ad anello aperto. I punti di partenza dei rami sono quindi i poli della funzione di trasferimento ad anello aperto. Se K → ∞ la funzione di trasferimento ad anello chiuso diventa GT OT (s) ' KNG (s)DH (s) ² + KNG (s)NH (s) (6.15) Se ² → ∞ il valore del denominatore approssima il polinomio formato dalla moltiplicazione dei numeratori di G(s) e H(s). I punti di arrivo dei rami sono quindi gli zeri della funzione di trasferimento ad anello aperto. 6.5.5 Rami che tendono all’infinito Se il numero degli zeri della funzione di trasferimento ad anello aperto è minore del numero dei poli, possiamo introdurre dei valori degli zeri di tipo infinito. I rami tenderanno in questo caso verso dei valori all’infinito. Possiamo trovare ora in che modo i rami tenderanno verso questi valori (asindoti). Senza dimostrazione, le formule che ci danno la posizione degli asindoti sono le seguenti 6.5.5.1 Intersezione dell’asse reale al punto P P poli − zeri σ0 = #poli − #zeri (6.16) # indica il numero di poli, rispettivamente zeri Attenzione: il punto σ0 rappresenta il punto di incrocio degli asindoti con l’asse reale e non necessariamente il punto di diramazione del grafico (polo multiplo della funzione di trasferimento ad anello chiuso). 6.5.5.2 La pendenza degli asindoti è data da M = tan (2k + 1)π , k = 0, ±1, ±2 #poli − #zeri (6.17) Esempio 6.1 Applichiamo le regole viste precedentemente per schizzare il luogo delle radici del sistema di figura 6.5 80 Copyright 2003 Roberto Bucher 7 aprile 2003 6.5. Regole per disegnare il luogo delle radici Automazione I e II R(s) K(s+3) Sum s(s+1)(s+2)(s+4) Y(s) Figura 6.5: Processo per l’analisi dei poli Numero di rami: 4 Punti di partenza: 0,-1,-2,-4 Punti di arrivo: -3, tre rami tendono all’ ∞ Punti sull’asse reale: I punti tra -1 (polo) e 0 (polo), tra -2 (polo) e -3 (zero), da -4 (polo) a −∞ (zero) Poiché −1 e 0 sono due poli e occorre terminare a uno zero della funzione di trasferimento ad anello aperto, tra questi due valori ci sarà un punto di diramazione con tendenza asintotica verso valori infiniti. Il polo a −4 tende a −∞ sull’asse reale. Abbiamo quindi 3 asindoti con angoli di M = tan otteniamo (2k + 1)π 4−1 π 3 k = 1 → tan π 5π k = 2 → tan 3 k = 0 → tan (6.18) (6.19) (6.20) (6.21) Il punto di incontro delle tangenti con l’asse reale vale (−1 − 2 − 4) − (−3) 4 =− (6.22) 4−1 3 La rappresentazione del luogo delle radici che otteniamo è mostrata nella figura 6.6. Come si può ben vedere il sistema è stabile solo in un certo intervallo dei valori di K. Eventualmente il metodo del luogo delle radici può essere utilizzato assieme al metodo di Routh-Hurwitz per ottenere risultati quantitativi. σ0 = 7 aprile 2003 Copyright 2003 Roberto Bucher 81 Automazione I e II Capitolo 6. Analisi con il luogo delle radici 5 4 3 2 Imag Axis 1 0 −1 −2 −3 −4 −5 −6 −5 −4 −3 −2 Real Axis −1 0 Figura 6.6: Luogo delle radici del sistema G(s) = 82 Copyright 2003 Roberto Bucher 1 2 s+3 s(s+1)(s+2)(s+4) 7 aprile 2003 Capitolo 7 Analisi nel dominio delle frequenze Dopo aver visto come si può analizzare un sistema mediante lo studio dei suoi poli (normalmente quelli dominanti), vediamo ora altri due metodi che si basano su un’analisi della funzione di trasferimento nel dominio delle frequenze ω. Esistono diversi metodi per fare delle analisi in frequenza, tra cui i più importanti sono: • Metodo con i diagrammi di Bode • Metodo con il diagramma di Nyquist 7.1 Analisi di Bode Questo tipo di analisi permette di rappresentare graficamente delle funzioni di trasferimento scomponendole in termini semplici che possono essere disegnati e sommati fra di loro. Partendo da una funzione di trasferimento qualsiasi e portandola nella forma G(s) = K(1 + sτ1 )(1 + sτ2 ) · · · sn (1 + sT1 )(1 + sT2 )(1 + 2ξsT3 + s2 T32 ) · · · (7.1) possiamo disegnarla in due grafici distinti. Nel primo rappresenteremo l’ampiezza della funzione di trasferimento in una forma particolare, nel secondo rappresenteremo invece la fase del sistema. L’ampiezza verrà rappresentata in dB, calcolandola nel modo seguente M (jω) = 20 log |G(jω)| (7.2) Grazie alla rappresentazione logaritmica le varie componenti della funzione di trasferimento possono essere calcolate singolarmente e infine sommate fra di loro. Esempio 7.1 G(jω) = jω(1 + jωT1 ) (1 + jωT2 ) (7.3) Per il calcolo complesso e logaritmico possiamo scrivere A(ω) = 20 log |jω| + 20 log |1 + jωT1 | − 20 log |1 + jωT2 | ϕ(ω) = 7 aprile 2003 6 (jω) + (1 + jωT1 ) − (1 + jωT2 ) 6 6 Copyright 2003 Roberto Bucher (7.4) (7.5) 83 Automazione I e II 7.2 Capitolo 7. Analisi nel dominio delle frequenze Grafici delle singole funzioni Le figure 7.1, 7.2, 7.3, 7.4 e 7.5 mostrano i grafici delle diverse funzioni di trasferimento, normati con T = 1. Bode Diagrams 40 30 20 Phase (deg); Magnitude (dB) 10 0 −10 −20 91 90.5 90 89.5 89 −1 10 0 1 10 10 2 10 Frequency (rad/sec) Figura 7.1: Grafico della funzione jωT Le figure 7.1 e 7.2 mostrano un andamento analogo, con un’ampiezza costante pari a 20dB/dec, rispettivamente −20dB/dec, mentre la fase è costante a +90 ◦ , rispettivamente −90◦ . Le figure 7.3 e 7.4 hanno un guadagno costante a 0 dB fino a circa la frequenza T1 , dove vale 3dB (−3dB). Da questo punto l’ampiezza sale (scende) con una pendenza di 20dB/dec. La fase resta a 0◦ fino a circa 1/5 della frequenza, poi va gradatamente a raggiungere il valore +90◦ , rispettivamente −90◦ a circa 5 volte il valore di T1 . L’andamento della figura 7.5 dipende fortemente dal valore del parametro ξ, che rappresenta lo smorzamento della funzione di trasferimento. Più questo parametro è piccolo, più il grafico dell’ampiezza presenta un accentuarsi del picco a 1/T, e più si restringe l’intervallo tra cui la fase varia da 0 a -180. Dopo aver ricapitolato la rappresentazione delle varie funzioni parziali, occorre rammentare che per il disegno è spesso sufficiente uno schizzo di tipo asintotico. I grafici delle figure 7.1, 7.2, 7.3, 7.4 e 7.5 sono stati normati per un valore di T pari a 1. Per altri valori di T i grafici vanno traslati nel punto ω = 1/T . 7.3 Utilizzo dei diagrammi di Bode in regolazione L’uso dei diagrammi di Bode in regolazione è molto utile, poiché ci permette di analizzare un sistema ad anello chiuso partendo dalla sua funzione ad anello aperto KG(s)H(s). Nel diagramma di Bode viene infatti rappresentata questa funzione (e non quella totale ad anello chiuso). Una volta disegnato il diagramma di Bode è possibile fare delle analisi 84 Copyright 2003 Roberto Bucher 7 aprile 2003 7.3. Utilizzo dei diagrammi di Bode in regolazione Automazione I e II Bode Diagrams 20 10 0 Phase (deg); Magnitude (dB) −10 −20 −30 −40 −89 −89.5 −90 −90.5 −91 −1 10 0 1 10 2 10 10 Frequency (rad/sec) Figura 7.2: Grafico della funzione 1 jωT Bode Diagrams 30 25 20 Phase (deg); Magnitude (dB) 15 10 5 0 100 80 60 40 20 0 −1 10 0 10 1 10 Frequency (rad/sec) Figura 7.3: Grafico della funzione 1 + jωT 7 aprile 2003 Copyright 2003 Roberto Bucher 85 Automazione I e II Capitolo 7. Analisi nel dominio delle frequenze Bode Diagrams 0 −5 Phase (deg); Magnitude (dB) −10 −15 −20 0 −20 −40 −60 −80 −100 −1 10 0 1 10 10 Frequency (rad/sec) Figura 7.4: Grafico della funzione 1 1+jωT Bode Diagrams 20 10 0 Phase (deg); Magnitude (dB) −10 −20 −30 −40 0 −50 −100 −150 −200 −1 10 0 1 10 10 Frequency (rad/sec) Figura 7.5: Grafico della funzione 86 1 , 1+2jωT −ω 2 T 2 Copyright 2003 Roberto Bucher ξ = 0.5 7 aprile 2003 7.3. Utilizzo dei diagrammi di Bode in regolazione Automazione I e II qualitative e quantitative che ci permettono affermazioni su stabilità, errore allo stato finito, comportamento transiente ecc., riferiti al sistema ad anello chiuso. Partendo dalla funzione di trasferimento ad anello chiuso definita come GT OT (s) = G(s) 1 + G(s)H(s) (7.6) possiamo rappresentare la funzione di trasferimento G(s)H(s) con un diagramma di Bode e vedere due punti particolari (vedi figura 7.6). Il primo punto interessante è quello in cui il diagramma dell’ampiezza taglia la linea 0dB (amplificazione pari a 1). La frequenza di taglio viene chiamata ωgc (gain crossover frequency). La corrispondente fase ϕ permette di determinare il parametro detto margine di fase, definito come P M = 180◦ + ϕ (7.7) Se PM è maggiore di 0 il sistema ad anello chiuso è stabile, altrimenti sarà instabile. Bode Diagrams Gm=58.8 dB (Wcg=13.1); Pm=86.0 deg. (Wcp=0.1) 100 50 0 Phase (deg); Magnitude (dB) −50 −100 −150 −200 0 −50 −100 −150 −200 −250 −300 −2 10 −1 0 10 10 1 10 2 10 3 10 Frequency (rad/sec) Figura 7.6: Margine di guadagno e margine di fase Il secondo punto interessante del grafico è quello in cui la fase passa al di sotto di −180◦ . La corrispondente ampiezza, cambiata di segno mi indica in pratica l’amplificazione massima (in dB) che io si può ancora dare al sistema senza che diventi instabile. Questa ampiezza viene detta margine di ampiezza (Gain margin GM). Analizziamo ora una funzione ad anello aperto KG(s) = Kωn2 s2 + 2ξωn s + ωn2 (7.8) Possiamo facilmente dimostrare che √ ωgc = ωn K 7 aprile 2003 Copyright 2003 Roberto Bucher (7.9) 87 Automazione I e II Capitolo 7. Analisi nel dominio delle frequenze Sappiamo in effetti che, nel caso che K valga 1, la pendenza della curva dopo ω n è di 40 dB per ogni decade. Se noi moltiplichiamo la funzione di trasferimento per K facciamo una traslazione verso l’alto del nostro grafico di 20 log(K)[dB]. Vale quindi la relazione 20 log(K) 40 = log(10ωn ) − log(ωn ) log(αωn ) − log(ωn ) (7.10) per le proprietà dei logaritmi l’uguaglianza descritta nell’equazione (7.10) diventa 40 log ³ 10ωn ωn ´ = 20 log(K) log ³ αωn ωn ´ → 40 20 log(K) = log 10 log(α) (7.11) Poiché log(10) = 1 , possiamo girare l’uguaglianza e trovare √ 1 20 log(K) = log(K 2 ) → α = K (7.12) 40 √ Quindi la nuova frequenza gain crossover è K volte più grande della precedente. Vediamo ora graficamente il significato di margine di fase e margine di guadagno. Sul grafico della figura 7.7 sono riportati i diagrammi di Bode dell’ampiezza e della fase per la funzione di trasferimento ad anello aperto log(α) = G(s) = s(s2 400 + 30s + 200) (7.13) In corrispondenza del taglio del guadagno con la riga 0dB possiamo leggere il valore del margine di fase che è di ca. 73◦ , mentre il margine di guadagno, letto in corrispondenza del passaggio della fase al di sotto di −180◦ vale ca. 23dB. Bode Diagrams 50 Phase (deg); Magnitude (dB) 0 −50 −100 0 −50 −100 −150 −200 −250 −300 −1 10 0 1 10 10 2 10 Frequency (rad/sec) Figura 7.7: Diagramma di Bode della funzione 88 Copyright 2003 Roberto Bucher 400 s(s2 +30s+200) 7 aprile 2003 7.4. Analisi di Nyquist Automazione I e II Vediamo ora in che relazione stanno i valori di smorzamento e di frequenza naturale tra il sistema ad anello aperto e il sistema ad anello chiuso nel caso di una funzione di 2. ordine. Partendo nuovamente da KG(s) = Kωn2 s2 + 2ξωn s + ωn2 (7.14) possiamo dire che GT OT (s) = Kωn2 Kωn2 =) = s2 + 2ξωn s + (K + 1)ωn2 s2 + 2ξCL ωnCL s + ωn2 CL (7.15) vediamo quindi che ωnCL ξCL 7.4 √ = ωn K + 1 ξ = √ K +1 (7.16) (7.17) Analisi di Nyquist Il metodo di Nyquist permette di rappresentare graficamente l’andamento della funzione G(jω) al variare di ω da −∞ a +∞. Abbiamo quindi la trasformazione di una curva da un piano complesso ad un altro piano complesso mediante la trasformazione G(s). Prima però di continuare dobbiamo vedere alcune definizioni che ci serviranno per lavorare con i diagrammi di Nyquist. • Un contorno chiuso in un piano complesso è una linea che inizia e finisce nello stesso punto (vedi figura 7.8). • Tutti i punti alla destra di un contorno, definito secondo una direzione prescritta, sono detti interni ad esso (vedi figura 7.9). • Un percorso orario sul contorno è definito come direzione positiva (vedi figura 7.10). • Un contorno chiuso sul piano P (s) è detto formare n rotazioni positive intorno all’origine, se il vettore tracciato dall’origine ad un punto sulla curva che percorre completamente il cammino chiuso ruota in senso orario coprendo N x360 ◦ . Se il cammino è in senso antiorario si ottiene una rotazione negativa. Il numero totale di rotazioni N0 è uguale alle rotazioni in senso orario meno le rotazioni in senso antiorario (vedi figura 7.11). La trasformazione ha inoltre le seguenti proprietà: 1. P (s) è una funzione univoca. Ogni punto del piano s si trasforma in un unico punto sul piano P (s). 2. I contorni sul piano s devono evitare i punti singolari di P (s). 3. Ogni contorno chiuso sul piano s si trasforma in un contorno chiuso sul piano P (s). 7 aprile 2003 Copyright 2003 Roberto Bucher 89 Automazione I e II Capitolo 7. Analisi nel dominio delle frequenze Figura 7.8: Contorno chiuso Figura 7.9: Punti a destra di un contorno Figura 7.10: Senso orario di un percorso Figura 7.11: Numero di rotazioni di un percorso chiuso 90 Copyright 2003 Roberto Bucher 7 aprile 2003 7.4. Analisi di Nyquist Automazione I e II 4. P (s) è una trasformazione conforme. Ciò significa che ogni angolo fra due generiche curve che si intersecano e le lori direzioni si conservano quando queste curve si trasformano nel piano P (s). 5. Il numero totale di rotazioni N0 intorno all’origine compiute da un contorno chiuso nel piano P (s), trasformazione di un contorno chiuso nel piano s, è uguale al numero degli zeri Z0 - il numero dei poli P0 della trasformazione P (s) interni al contorno sul piano s. Cioè N0 = Z 0 − P 0 Se l’origine è interna al contorno P(s),allora N > 0, altrimenti N ≤ 0. Il contorno chiuso nel piano s viene scelto come un contorno che contiene tutto il semipiano destro complesso. Il cammino effettuato sul contorno chiuso viene chiamato cammino di Nyquist, ed è visibile nella figura 7.12 R→∞ ρ→0 PSfrag replacements Figura 7.12: Cammino di Nyquist Il cammino di Nyquist viene trasformato mediante la funzione di trasferimento G(jω) nel diagramma di Nyquist della funzione di trasferimento. Nella figura 7.13 è rappresentato il diagramma di Nyquist di una funzione di trasferimento e le due grandezze interessanti in regolazione (GM =margine di guadagno e P M =margine di fase). Anche con il diagramma di Nyquist è possibile vedere se il sistema è stabile. Il criterio di Nyquist permette di determinare la stabilità del sistema ad anello chiuso analizzando il diagramma della funzione ad anello aperto. Partendo da una funzione di trasferimento G(s), applicando le caratteristiche della trasformazione, possiamo dire che, utilizzando il cammino di Nyquist che racchiude tutto il semipiano destro, tranne le singolarità di G(s), vale ZG = P G + N 0 7 aprile 2003 Copyright 2003 Roberto Bucher (7.18) 91 Automazione I e II Capitolo 7. Analisi nel dominio delle frequenze Nyquist Diagrams 5 4 3 Imaginary Axis 2 1 GM 1 0 PM −1 −2 −3 PSfrag replacements −4 −5 −2 −1 0 1 2 3 4 5 6 7 Real Axis Figura 7.13: Diagamma di Nyquist ZG PG N0 è il numero di zeri di G(s) nel semipiano destro è il numero di poli di G(s) nel semipiano destro è il numero di rotazioni del diagramma di Nyquist attorno all’origine, in senso orario dove Attenzione: Poli e zeri nel semipiano sinistro non vengono considerati! Se ora consideriamo la funzione di trasferimento ad anello chiuso con K = 1 GT OT (s) = G(s) 1 + G(s)H(s) (7.19) possiamo definire il denominatore di GT OT (s) come GT OT (s) = G(s) → D(s) = 1 + G(s)H(s) D(s) (7.20) I poli di GT OT (s) coincidono con gli zeri di D(s). Inoltre possiamo vedere subito che i poli di D(s) sono anche i poli di G(s)H(s). Riscrivendo ora l’eqazione (7.18) con i dati della funzione di trasferimento D(s) e applicando le uguaglianze precedenti otteniamo PGT OT = PGH + N0 (7.21) Quindi, conoscendo il numero di poli nel semipiano destro della funzione G(s)H(s), e il numero di rotazioni attorno all’origine della trasformazione mediante D(s) del cammino di Nyquist, siamo in grado di determinare il numero di poli della funzione di trasferimento ad anello chiuso GT OT (s). Al posto di esaminare D(s) possiamo esaminare 92 Copyright 2003 Roberto Bucher 7 aprile 2003 7.4. Analisi di Nyquist Automazione I e II G(s)H(s) = D(s) − 1 (7.22) In questo modo spostiamo il punto interessante che prima era all’origine, nel punto (−1 + j0). Ora possiamo disegnare il diagramma di Nyquist della funzione G(s)H(s) e contare il numero di giri che vengono effettuati dalla funzione attorno al punto (−1 + j0). Secondo l’equazione (7.18), il numero di poli nel semipiano destro di GT OT (s) è uguale al numero di giri effettuati attorno al punto (−1 + j0) sommato al numero di poli della funzione G(s)H(s) che si trovano nel semipiano destro (all’interno del cammino di Nyquist). Per la stabilità questo valore deve essere nullo. Abbiamo definito cosı̀ il criterio di stabilità di Nyquist. Esempio 7.2 Prendiamo una funzione di trasferimento ad anello aperto G(s) in feedback unitario pari a G(s) = 10 (s + 1)(s + 3)(s + 8) (7.23) Nella figura 7.14 è rappresentato il diagramma di Nyquist di questa funzione. Poiché la funzione ad anello aperto non ha poli nel semipiano destro, occorre per la stabilità che il punto (−1 + j0) non venga circondato dal diagramma di Nyquist, ciò che in effetti avviene. Nyquist Diagrams 0.25 0.2 0.15 Imaginary Axis 0.1 0.05 0 −0.05 −0.1 −0.15 −0.2 −0.25 −0.2 −0.1 0 0.1 0.2 0.3 0.4 0.5 Real Axis Figura 7.14: Diagramma di Nyquist della funzione G(s) = 10 (s+1)(s+3)(s+8) Nel caso in cui la funzione di trasferimento ad anello aperto non abbia poli nel semipiano destro, è possibile definire un criterio di stabilità di Nyquist semplificato, in cui il sistema ad anello chiuso è stabile se il diagramma di Nyquist del sistema ad anello aperto è sempre a sinistra del punto critico (−1 + j0). 7 aprile 2003 Copyright 2003 Roberto Bucher 93 Automazione I e II Capitolo 7. Analisi nel dominio delle frequenze Vediamo ora sul diagramma di Nyquist una relazione molto importante che lega il margine di fase P M alla funzione di trasferimento ad anello chiuso GT OT (s)). Sappiamo che il margine di fase è in corrispondenza di quel punto della curva in cui si taglia un cerchio di raggio unitario (vedi figura 7.15a). In quel punto possiamo dire che |G(s)| = 1 PM PM (7.24) K α 1 PSfrag replacements α PSfrag replacements a) b) Figura 7.15: Relazione tra PM, K e ξCL Questo punto è in corrispondenza della frequenza ωgc . Ora possiamo calcolare il modulo della funzione di trasferimento ad anello chiuso in questo punto, che vale ¯ ¯ ¯ G(jω ) ¯ 1 gc ¯ ¯ |GT OT (jωgc )| = ¯ ¯= ¯ 1 + G(jωgc ) ¯ |1 + G(jωgc )| (7.25) Possiamo rappresentare questo modulo sul grafico precedente mediante un segmento K pari a K= 1 = |1 + G(jωgc )| |GT OT (jωgc )| (7.26) Poiché il segmento che unisce l’origine al punto di taglio della circonferenza è G(jω gc ), possiamo aggiungere 1 al valore sulla circonferenza e trovare il valore di K (figura 7.15b). Applicando un po’ di geometria, vediamo subito che il triangolo di base K è un triangolo isoscele, e inoltre l’angolo α è uguale a P M . Possiamo ora calcolare P M in funzione di K e otteniamo sin K K 1 α = 2 = = 2 1 2 2|GT OT (jωgc )| (7.27) 1 2|GT OT (jωgc )| (7.28) e quindi α = P M = 2 sin−1 94 Copyright 2003 Roberto Bucher 7 aprile 2003 7.5. Riassunto delle formule trovate 7.5 Automazione I e II Riassunto delle formule trovate Possiamo ora riassumere le formula analitiche che legano le varie grandezze in gioco tra circuito ad anello aperto e circuito ad anello chiuso. Partendo da una funzione ad anello aperto con amplificazione K del tipo KG(s) = Kωn2 s2 + 2ξωn s + ωn2 (7.29) otteniamo una funzione di trasferimento ad anello chiuso GT OT (s) = Kωn2 Kωn2 = s2 + 2ξωn s + (K + 1)ωn2 s2 + 2ξCL ωnCL s + ωn2 CL (7.30) Valgono quindi le relazioni seguenti ωnCL ξCL √ = ωn K + 1 ξ = √ K +1 (7.31) (7.32) Vale inoltre P M = 2 sin−1 1 2|GT OT (jωgc )| (7.33) Ma poiché √ ωgc = ωn K (7.34) otteniamo ¯ ¯ √ 2 + 2jξ 2¯ 1 1 ¯¯ −ωgc CL ωn K + 1ωgc + (K + 1)ωn ¯ = ¯ ¯ ¯ 2|GT OT (jωgc )| 2¯ Kωn2 (7.35) Con K abbastanza grande abbiamo √ √ K +1' K (7.36) e possiamo scrivere 1 2|GT OT (jωgc )| ' ¯ ¯ √ 2 + 2jξ 2¯ 1 ¯¯ −ωgc CL ωn K + 1ωgc + (K + 1)ωn ¯ ¯ ¯ ¯ 2¯ Kωn2 ¯ ¯ 1 ¯¯ 2jξCL Kωn2 ¯¯ ' ¯ ¯ 2 ¯ Kωn2 ¯ 1 ' |2jξCL | 2 ' ξCL (7.37) (7.38) (7.39) (7.40) Di conseguenza abbiamo 7 aprile 2003 Copyright 2003 Roberto Bucher 95 Automazione I e II Capitolo 7. Analisi nel dominio delle frequenze P M ' 2 sin−1 (ξCL ) (7.41) o, girato ξCL µ PM ' sin 2 ¶ (7.42) Alcuni autori riportano anche l’approssimazione ξCL = 0.01 · P M (gradi) (7.43) Una formula più esatta che mette in relazione il fattore di smorzamento ξ CL con il P M può essere calcolata più precisamente, dando come risultato P M = tan−1 r 2ξCL 2 −2ξCL + q 1+ 4 4ξCL (7.44) Questa formula è stata implementata sotto Matlab tramite la funzione [PM]=xi2pm(xi) Il grafico di quest’ultima funzione è mostrato nella figura 7.16. 96 Copyright 2003 Roberto Bucher 7 aprile 2003 2 80 7.5. Riassunto delle formule trovate 7 aprile 2003 Relazione tra ξ e PM calcolato con G(s)=1/(s +2*ξ*s) 70 60 Copyright 2003 Roberto Bucher PM 50 40 30 20 10 0 0.1 0.2 0.3 0.4 0.5 ξ 0.6 97 Figura 7.16: Relazione tra ξ e P M 0.7 0.8 0.9 1 Automazione I e II 0 Automazione I e II 98 Capitolo 7. Analisi nel dominio delle frequenze Copyright 2003 Roberto Bucher 7 aprile 2003 Capitolo 8 Design classico di regolatori 8.1 Introduzione La ricerca di una regolazione ottimale fatta secondo le regole classiche si applica normalmente a sistemi descritti mediante la funzione di trasferimento. Si può lavorare con metodi che operano sui poli, come pure con metodi basati sull’analisi in frequenza. La rappresentazione classica di un sistema retroazionato con regolatore è rappresentato nella figura 8.1. R(s) GR (s) Y(s) G(s) Figura 8.1: Sistema retroazionato PSfrag replacements H(s) GR (s) rappresenta la funzione di trasferimento del regolatore che viene inserito nel circuito per migliorarne le caratteristiche. Una regolazione è necessaria quando: • Il sistema è instabile • Il sistema è stabile ma il suo comportamento statico (errore allo stato finito) è insoddisfacente. • Il sistema è stabile, l’errore allo stato finito è buono, il comportamento dinamico non è soddisfacente. • Il sistema è stabile ma né il comportamento statico, né il comportaento dinamico sono soddisfacenti. In tutti questi casi è necessario intervenire sul sistema per migliorarne le caratteristiche in uscita. 7 aprile 2003 Copyright 2003 Roberto Bucher 99 Automazione I e II Capitolo 8. Design classico di regolatori Vedremo in seguito come utilizzare le conoscenze acquisite nei capitoli precedenti per determinare le funzioni di trasferimento di GR (s) che migliorano il comportamento del sistema. 8.2 Compensatori classici Esistono diverse configurazioni che possono essere utilizzate per la compensazione. Esistono compensatori in serie, in feedback e combinazioni di entrambi. Il compensatore in serie è quello maggiormante utilizzato. Una delle tecniche di compensazione è quella di cancellare i poli dominanti del sistema mediante gli “zeri del regolatore e sostituirli con i suoi poli. Questo metodo può essere utilizzato unicamente per modificare la posizione di poli che si trovano già nel semipiano sinistro, mai per eliminare quelli del semipiano destro. Il problema legato a questo sistema è che normalmente noi non sappiamo dove si trovano esattamente i poli del sistema, poiché noi conosciamo unicamente un modello di esso. Un altro problema è dato dal fatto che i poli del sistema, malgrado vengano eliminati nella funzione di trasferimento ad anello chiuso, restano attivi per quel che riguarda ad esempio i disturbi. Un uso di questa tecnica è possibile unicamente dopo un’accurata analisi di sensibilità che dia informazioni esatte sulla dipendenza dei risulatati rispetto alla variazione degli zeri e dei poli. Le tecniche di compensazione più usate restano ancora il controllore proporzionaleintegrale-derivativo (PID) e il compensatore lead-lag. Le funzioni di trasferimento di queste funzioni sono riportate nella tabella 8.1 PID K P + KD s + KI s Lead K s+a s+b 0<a<b Lag K s+a s+b a>b>0 Tabella 8.1: Regolatori classici 8.3 Controllore Proporzionale-Integrale-Derivativo (PID) Questo controllore esiste in diverse forme, a seconda del valore dei 3 parametri K P , KD e KI . Esiste il controllore proporzionale P (KI = 0, KD = 0), proporzionale- derivativo P D (KI = 0), proporzionale-integrale P I (KD = 0) e proporzionale-integrale-derivativo P ID. Il regolatore proporzionale è il più semplice; esso permette però unicamente di soddisfare al massimo una specifica di progetto ad anello chiuso (p.es. GM , P M , e∞ ecc.). L’aggiunta di una parte derivativa aumenta lo smorzamento del sistema ad anello chiuso, mentre la parte integrale aumenta il tipo del sistema e di conseguenza migliora l’errore 100 Copyright 2003 Roberto Bucher 7 aprile 2003 8.3. Controllore Proporzionale-Integrale-Derivativo (PID) Automazione I e II allo stato finito. Con un controllore di tipo PID è possibile rispettare più specifiche di design. È il sistema più usato industrialmente ed esiste in diverse forme (analogico, digitale e adattivo). Per il calcolo dei vari parametri esistono diversi metodi, empirici, analitici e basati su analisi dei poli o di frequenza. 8.3.1 8.3.1.1 Metodi empirici (Metodi di Ziegler-Nichols) Regolatore P, PI, PID dall’amplificazione limite di stabilità Ziegler e Nichols hanno sviluppato un metodo che permette di determinare i parametri del P ID partendo da una semplice analisi di stabilità. Inizialmente si pone KI = K D = 0 (8.1) e si aumenta il guadagno proporzionale fino a far oscillare costantemente il sistema (poli del sistema ad anello chiuso sull’asse immaginario). In questo momento si possono conoscere il valore di Km cioè il valore di questa amplificazione che porta i poli sull’asse immaginario, ed il valore dei due poli complessi coniugati ωm . Con questi due valori vengono poi calcolati i parametri per i vari controllori P , P I, P ID secondo la tabella 8.2. KP KI P 0.5Km PI 0.45Km K P ωm 1.66π PID 0.6Km K P ωm π KD KP π 4ωm Tabella 8.2: Parametri di Ziegler-Nichols Km e ωm possono essere determinati sperimentalmente, oppure determinati dal luogo delle radici, il diagramma di Bode, o tramite la tabella di Routh- Hurwitz. Nel luogo delle radici il valore di K per il quale il grafico taglia l’asse immaginario è uguale a K m , mentre il valore sull’asse immaginario equivale a ωm . Se invece utilizziamo il diagramma di Bode otteniamo direttamente Km dal margine di guadagno e ωm dalla frequenza in cui la fase taglia il grafico della fase a −180◦ . Si tratta di un metodo puramente empirico, largamente usato industrialmente. Un programma Matlab che esegue automaticamente il calcolo del regolatore secondo Ziegler-Nichols è il seguente function [kp,ki,kd]=ziegnich(km,wm,reg) % % [Kp,Ki,Kd]=ziegnich(km,wm,reg) 7 aprile 2003 Copyright 2003 Roberto Bucher 101 Automazione I e II Capitolo 8. Design classico di regolatori % [Kp,Ki,Kd]=ziegnich(k,t1,t2,reg) % % Find Kp, KI, KD from Ziegler-Nichols % km : Critical gain % wm : Critical w % reg: Typ ’pid’,’pi’,’p’ % % k : Model gain % t1 : delay time % t2 : time constant % if nargin==2 display(’New function! Read help ziegnich’) % else if nargin==3 n=length(reg); if n==3 Kp=0.6*km; Kd=kp*pi/(4*wm); Ki=kp*wm/pi; elseif n==2 Kp=0.45*km; Kd=0; Ki=kp*wm/(pi*1.66); else Kp=0.5*km; Kd=0; Ki=0; end else n=length(reg); if n==3 Kc=1.2*t2/(k*t1); Ti=2*t1; Td=0.5*t1; Kp=Kc; Ki=Kc/Ti; Kd=Kc*Td; elseif n==2 Kc=0.9*t2/(k*t1); Ti=2*t1; Kp=Kc; Ki=Kc/Ti; Kd=0; else Kc=t2/(k*t1); Kp=Kc; 102 Copyright 2003 Roberto Bucher 7 aprile 2003 8.3. Controllore Proporzionale-Integrale-Derivativo (PID) Automazione I e II Ki=0; Kd=0; end end Vediamo di calcolare i parametri del regolatore basandoci sul nostro esempio dell’antenna. La funzione di trasferimento ad anello aperto che abbiamo trovato è G(s) = 6.63K Vout = Vin s(s + 1.71)(s + 100) (8.2) Possiamo trovare il valore di K per il limite di stabilità utilizzando per esempio la tabella di Routh (tabella 8.3 s3 1 171 0 s2 101.71 6.63K 0 s1 17392.41 − 6.63K 0 s0 6.63K 0 Tabella 8.3: Tabella di Routh dell’esempio Per la stabilità occorre che il segno della prima colonna resti invariato. Il limite di stabilità è quindi raggiunto quando 17392.41 − 6.63K = 0 → K = 2623.29 (8.3) In questo caso i poli sono piazzati sull’asse immaginario a ±13.08. Il calcolo dei parametri fornisce il risultato seguente KP = 1573.97 ' 1574 (8.4) = 6553.23 ' 6553 (8.6) KD = 94.51 ' 95 KI (8.5) La simulazione del sistema con questo regolatore P ID è riportata nella figura 8.2. Possiamo vedere che il tempo di setting TS è notevolmente migliorato, ma abbiamo un %OS decisamente elevato. Inoltre il sistema oscilla diverse volte prima di stabilizzarsi all’equilibrio. 8.3.1.2 Regolatore P, PI, PID dopo approssimazione del processo Una grande quantità di processi industriali non sono rappresentabili con un modello matematico. Può essere sufficiente avere a disposizione un’approssimazione del processo che ci permette in seguito di costruire un regolatore semplice. Ziegler e Nichols hanno messo a punto un sistema che, partendo dalla risposta ad anello aperto del processo ad un’entrata gradino, produce un modello semplice del processo. Inoltre esistono formule che permettono di determinare velocemente i parametri per il regolatore P ID. 7 aprile 2003 Copyright 2003 Roberto Bucher 103 Automazione I e II Capitolo 8. Design classico di regolatori Step Response 1.8 1.6 1.4 Sistema compensato Amplitude 1.2 1 0.8 0.6 0.4 0.2 0 Sistema non compensato 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 Time (sec.) Figura 8.2: Risposta al gradino con PID empirico Step Response 0.35 T2 0.3 T1 Amplitude 0.25 0.2 0.15 K 0.1 0.05 PSfrag replacements 0 0 1 2 3 4 5 6 7 8 Time (sec.) Figura 8.3: Approssimazione di un sistema di tipo 0 104 Copyright 2003 Roberto Bucher 7 aprile 2003 8.3. Controllore Proporzionale-Integrale-Derivativo (PID) Automazione I e II Step Response 0.4 0.35 0.3 Amplitude 0.25 0.2 K=pendenza retta 0.15 0.1 T1 0.05 PSfrag replacements 0 0 0.5 1 1.5 2 2.5 3 3.5 4 Time (sec.) Figura 8.4: Approssimazione di un sistema di tipo 1 Partendo dalla risposta del sistema ad anello aperto ad un’entrata gradino unitario, si ottengono in genere due tipi di curve (figura 8.3 e figura 8.4). G(s) = Ke−sT1 1 + sT2 (8.7) mentre la seconda ha una funzione di trasferimento approssimata pari a G(s) = Ke−sT1 s (8.8) Se applichiamo le regole di Ziegler Nichols al primo sistema otteniamo un regolatore P ID con la funzione di trasferimento definita da GP ID = Kc con µ 1 1+ + TD s TI s ¶ (8.9) Kc = (8.10) TI 1.2T2 KT1 = 2T1 (8.11) TD = 0.5T1 (8.12) Nel caso di un regolatore P I abbiamo GP I = K c 7 aprile 2003 µ 1 1+ TI s ¶ Copyright 2003 Roberto Bucher (8.13) 105 Automazione I e II Capitolo 8. Design classico di regolatori con 0.9T2 KT1 = 2T1 Kc = (8.14) TI (8.15) Infine con un regolatore P otteniamo Kc = 8.3.2 T2 KT1 (8.16) Metodo grafico Con i metodi grafici possiamo analizzare e capire l’influsso che i vari regolatori hanno sulla rappresentazione del diagramma di Bode ad anello aperto, e capire subito in che modo influenzeranno la risposta del sistema ad anello chiuso. 8.3.2.1 Controllore P Con un controllore di tipo proporzionale si possono corregere solo singole specifiche di progetto. L’errore allo stato finito impone spesso valori di amplificazione che determinano delle sovraelongazioni elevate o, spesso, anche instabilità nel sistema. Con il valore di K P si può influenzare il punto di ωgc , con conseguente Tsetting e e∞ spesso imposti. Esempio 8.1 Viene dato un processo con funzione di trasferimento pari a G(s) = 1 (s + 1)(s + 5) Si vuole avere un errore allo stato finito pari al 5% e un PM di ca. 60o L’analisi dell’errore allo stato finito porta all’equazione e∞ = lim s→0 1 1 = 0.05 = 1 + G(s) 1 + K5 da cui si ricava che K vale 95, che equivalgono a ca. 40dB. Per questo valore di K il margine di fase risulta essere di ca. 35o , insufficiente per rispettare le specifiche. 8.3.2.2 Controllore PI La funzione di trasferimento di un controllore PI può essere descritta come GP I (s) = KP (1 + 1 + sTI 1 ) = KP sTI sTI Il diagramma di Bode di questa funzione di trasferimento è mostrato nella figura 8.6. Si può subito vedere come con questo regolatore non sia possibile migliorare l’andamento della fase del sistema compensato. È unicamente possibile correggere l’errore allo stato finito, grazie all’aumento del tipo del sistema ad anello aperto, e scegliere in seguito l’amplificazione KP per impostare il valore di ωgc dove si ha il margine di fase desiderato. Per costruire il regolatore occorre procedere nel modo seguente 106 Copyright 2003 Roberto Bucher 7 aprile 2003 8.3. Controllore Proporzionale-Integrale-Derivativo (PID) Automazione I e II Bode Diagrams From: U(1) 0 −20 −40 Phase (deg); Magnitude (dB) −60 −80 −100 0 To: Y(1) −50 −100 −150 −200 −1 10 0 1 10 10 2 10 Frequency (rad/sec) Figura 8.5: Diagramma di Bode del sistema dell’esempio 8.1 Bode Diagrams From: U(1) 50 40 30 Phase (deg); Magnitude (dB) 20 10 0 0 To: Y(1) −20 −40 −60 −80 −100 −2 10 −1 0 10 10 1 10 Frequency (rad/sec) Figura 8.6: Diagramma di Bode di un regolatore PI con TI = 1 e KP = 1 7 aprile 2003 Copyright 2003 Roberto Bucher 107 Automazione I e II Capitolo 8. Design classico di regolatori • Disegnare il diagramma di Bode del processo da compensare • Determinare la frequenza dove si ha il margine di fase desiderato. • Per non influenzare l’andamento della fase del sistema compensato, la frequenza del regolatore PI pari a 1/TI va scelta almeno 10 volte più piccola della frequenza trovata precedentemente. • Disegnare il diagramma di Bode del sistema compensato con KP = 1. • Determinare la frequenza in cui si avrebbe il PM desiderato, determinare l’ampiezza in dB di questo punto e calcolare l’amplificazione necessaria per portare questo punto a 0dB. Questo valore equivale a KP . • Controllare il sistema compensato (diagramma di Bode, risposta nel tempo). Esempio 8.2 Per l’esempio visto precedentemente con G(s) = 1 (s + 1)(s + 5) vediamo che con un regolatore di tipo PI l’errore allo stato finito viene annullato. Le specifiche statiche sono quindi rispettate. Dal diagramma di Bode del sistema non compensato (figura 8.5) si può vedere come il margina di fase di 60o sia presente alla frequenza di 4.44rad/s. Applicando le regola viste precedentemente si può impostare il valore di TI = 10/4.44 = 2.25. Ora si può diseganre il diagramma di Bode del sistema compensato con KP = 1. Dal nuovo diagramma di Bode si ricava la frequenza in cui si ha il margine di fase desiderato di 60o , che corrisponde a ca. 3.84 rad/sec, con amplificazione pari a -28dB. Applcando ora le regole viste precedentemente otteniamo 28 KP = 10 20 ' 25 e 1 + 2.25s 2.25s La figura 8.7 mostra il diagramma di Bode del sistema non compensato e compensato, mentre la figura 8.8 mostra la risposta nel tempo del processo compensato. 25 8.3.2.3 Controllore PD La funzione di trasferimento di un controllore PD può essere descritta come GP D (s) = KP (1 + sTD ) Il diagramma di Bode di questa funzione di trasferimento è mostrato nella figura 8.9. Questo regolatore non aumenta il tipo del sistema ad anello aperto, ma permette di aggiungere fase al sistema compensato. Si può quindi impostare l’amplificazione K P in modo da correggere l’errore statico del sistema e poi aggiungere fase nei pressi del nuovo punto di ωgc . Per costruire il regolatore occorre procedere nel modo seguente 108 Copyright 2003 Roberto Bucher 7 aprile 2003 8.3. Controllore Proporzionale-Integrale-Derivativo (PID) Automazione I e II Bode Diagrams From: U(1) 60 40 sistema compensato 20 solo proporzionale Phase (deg); Magnitude (dB) 0 −20 −40 −60 0 solo proporzionale To: Y(1) −50 −100 sistema compensato −150 −200 −2 10 −1 0 10 1 10 2 10 10 Frequency (rad/sec) Figura 8.7: Diagramma di Bode del sistema con e senza compensazione Step Response From: U(1) 1.4 1.2 0.8 To: Y(1) Amplitude 1 0.6 0.4 0.2 0 0 1.5 3 4.5 6 7.5 9 Time (sec.) Figura 8.8: Risposta nel tempo del sistema compensato 7 aprile 2003 Copyright 2003 Roberto Bucher 109 Automazione I e II Capitolo 8. Design classico di regolatori Bode Diagrams From: U(1) 25 20 15 Phase (deg); Magnitude (dB) 10 5 0 100 To: Y(1) 80 60 40 20 0 −1 10 0 10 1 10 Frequency (rad/sec) Figura 8.9: Diagramma di Bode di un regolatore PD con TD = 1 e KP = 1 • Impostare il valore di KP in modo da correggere l’errore allo stato finito. • Disegnare il diagramma di Bode del sistema con il compensatore proporzionale K P . • Determinare il margine di fase del sistema compensato con il regolatore proporzionale. • Determinare quanta fase supplementare deve essere data al sistema per raggiungere il margine di fase desiderato. • Dal grafico del regolatore PD normato (KP = 1, TD = 1) determinare la frequenza ω∆P M in cui si ottiene questa fase supplementare. Il valore di questa frequenza rappresenta anche il rapporto tra ωgc e la frequenza del regolatore 1/TD . Determinare quindi il valore di TD dalla relazione ω∆P M 1 ωgc → T2 = = T2 ω∆P M ωgc • Controllare il PM e la nuova ωgc sul diagramma di Bode del sistema compensato. • Simulare il sistema compensato. Esempio 8.3 Per l’esempio visto precedentemente con G(s) = 1 (s + 1)(s + 5) Possiamo subito vedere come il valore di KP che permette di rispettare le specifiche statiche vale 95. La figura 8.10 mostra il sistema con il solo compensatore proporzionale. 110 Copyright 2003 Roberto Bucher 7 aprile 2003 8.3. Controllore Proporzionale-Integrale-Derivativo (PID) Automazione I e II La nuova frequenza di ωgc vale 9.1 rad/sec con un PM di 35o . Occorrono quindi almeno supplementari da fornire con il regolatore PD. Dal grafico del regolatore normato possiamo vedere che questi 25o sono ottenibili alla frequenza di 0.5 rad/sec. possiamo quindi calcolare 25o TD = Il regolatore risulta quindi essere 1 = 0.055 2 ∗ 9.1 GP D = 95(1 + 0.055s) La figura 8.11 mostra il diagramma di Bode del sistema compensato proporzionalmente e con il PD, mentre la figura 8.12 mostra la risposta nel tempo del processo compensato. Bode Diagrams From: U(1) 40 20 0 Phase (deg); Magnitude (dB) −20 −40 −60 0 To: Y(1) −50 −100 −150 −200 −1 10 0 1 10 10 2 10 Frequency (rad/sec) Figura 8.10: Diagramma di Bode del sistema con compensatore proporzionale È però importante tenere presente che la realizzazione di un regolatore PD puro presenta lo svantaggio di portare a valori molto alti l’uscita derivativa del regolatore quando il valore in entrata è molto disturbato. Per questo motivo la realizzazione di un regolatore PD puro è da evitare, e si preferisce realizzare un regolatore di tipo lead che presenta caratteristiche analoghe senza tuttavia presentare questi problemi. 8.3.2.4 Controllore PID La funzione di trasferimento di un controllore PID può essere descritta come GP ID (s) = KP (1 + sTD + 7 aprile 2003 1 ) sTI Copyright 2003 Roberto Bucher 111 Automazione I e II Capitolo 8. Design classico di regolatori Bode Diagrams From: U(1) 40 20 0 sistema compensato Phase (deg); Magnitude (dB) −20 solo proporzionale −40 −60 0 To: Y(1) −50 sistema compensato −100 −150 solo proporzionale −200 −1 10 0 1 10 2 10 10 Frequency (rad/sec) Figura 8.11: Diagramma di Bode del sistema con e senza compensazione PD Step Response From: U(1) 1.4 1.2 0.8 To: Y(1) Amplitude 1 0.6 0.4 0.2 0 0 0.2 0.4 0.6 0.8 1 Time (sec.) Figura 8.12: Risposta nel tempo del sistema compensato 112 Copyright 2003 Roberto Bucher 7 aprile 2003 8.3. Controllore Proporzionale-Integrale-Derivativo (PID) Automazione I e II Per semplificare il lavoro descriviamo questa funzione di trasferimento come la moltiplicazione tra un fattore proporzionale, un regolatore PI e un regolatore PD, in modo da avere la funzione di trasferimento seguente 1 + sT1 (1 + sT2 ) sT1 Infatti, sviluppando questa funzione si ottiene GP ID = K 1 + sT1 1 + s(T1 + T2 ) + s2 T1 T2 (1 + sT2 ) = K sT1 sT1 che può essere scritta come GP ID = K T1 + T 2 1 + + sT2 ) sT1 T1 Mettendo questa funzione in una forma simile a quella iniziale otteniamo GP ID = K( T1 + T 2 T1 T2 1 (1 + s + ) T1 T1 + T2 s(T1 + T2 ) GP ID = K Il diagramma di Bode di questa funzione di trasferimento è mostrato nella figura 8.13. Bode Diagrams From: U(1) 50 40 30 Phase (deg); Magnitude (dB) 20 10 0 100 To: Y(1) 50 0 −50 −100 −2 10 −1 0 10 1 10 10 2 10 3 10 Frequency (rad/sec) Figura 8.13: Diagramma di Bode di un regolatore PID con T1 = 1, T2 = 0.1 e K = 1 Un paragone di coefficienti permette di mettere in relazione queste grandezze con quelle tradizionali del regolatore PID. KP TD = 7 aprile 2003 T1 + T 2 T1 T1 T2 T1 + T 2 = K Copyright 2003 Roberto Bucher 113 Automazione I e II Capitolo 8. Design classico di regolatori TI = T1 + T2 La parte integrale del regolatore permette di annullare l’errore allo stato finito del sistema, aumentandone il tipo. Occorre piazzare la frequenza 1/T1 in modo da non influenzare più di quel tanto la fase del sistema compensato. La scelta della ωgc può essere fatta ad esempio basandosi sulla velocità della risposta che si vorrebbe ottenere. In questo modo è possibile determinare il valore di K. A questo punto si imposta la frequenza del regolatore proporzionale in modo da avere quell’aumento del margine di fase che permette di soddisfare le specifiche. Per costruire il regolatore occorre effettuare i passi seguenti • Disegnare il diagramma di Bode del processo da compensare • Determinare la frequenza dove si vuole impostare la ωgc (ad esempio dalle specifiche dinamiche di Tsetting . • Per non influenzare l’andamento della fase del sistema compensato, la frequenza del regolatore PID pari a 1/T1 va scelta almeno 10 volte più piccola della frequenza trovata precedentemente. • Disegnare il diagramma di Bode del sistema con il compensatore PI trovato fino a questo momento. • Determinare il margine di fase del sistema e il guadagno del sistema alla frequenza ωgc scelta. • Determinare quanta fase supplementare deve essere data al sistema per raggiungere il margine di fase desiderato. • Dal grafico del regolatore PD normato (KP = 1, TD = 1) determinare la frequenza ω∆P M in cui si ottiene questa fase supplementare. Il valore di questa frequenza rappresenta anche il rapporto tra ωgc e la frequenza del regolatore 1/T2 . Determinare quindi il valore di T2 dalla relazione 1 ω∆P M ωgc → T2 = = T2 ω∆P M ωgc Determinare inoltre il guadagno in dB a questa frequenza. • Determinare il valore dell’amplificazione K, dal guadagno necessario a portare il sistema alla frequenza di ωgc , detratto il guadagno che viene fornito dalla parte PD del regolatore. • Controllare il PM e la nuova ωgc del sistema compensato con il PID. • Controllare la risposta nel tempo del sistema compensato. Esempio 8.4 Per l’esempio già analizzato precedentemente con G(s) = 1 (s + 1)(s + 5) vogliamo implementare un regolatore che rispetti le specifiche precedenti e in più abbia un tempo di setting pari a 0.2 sec. 114 Copyright 2003 Roberto Bucher 7 aprile 2003 8.3. Controllore Proporzionale-Integrale-Derivativo (PID) Automazione I e II Con l’aggiunta di un integratore l’errore allo stato finito viene annullato. Occorre ora determinare il valore di T1 . Il sistema presenta una fase di ca. −90o attorno ad una frequenza di ω = 2 rad/sec. Scegliamo la frequenza 1/T1 a circa un decimo di questo valore per influenzare poco la fase del sistema compensato. Si ottiene pertanto per la parte proporzionale-integrale 1 2 = = 0.2 → T1 = 5 T1 10 e 1 + 5s 5s Ora è possibile disegnare il grafico con la parte PI del regolatore e K = 1 (figura 8.13). Il tempo di setting desiderato presuppone una frequenza ωgc di ca. 40 rad/sec. A questa frequenza il sistema presenta momentaneamente un margine di fase di 7 o e un guadagno di −65dB. Dal grafico del regolatore PD possiamo vedere che si ottengono 55 o supplementari di fase ad una frequenza pari a 1.5 rad/sec. Ciò significa che la frequenza 1/T 2 deve essere 1.5 volte più bassa della ωgc scelta. Quindi GP I = 40 1 = → T2 = 0.0375 T2 1.5 Il guadagno supplementare fornito dal PD è di ca. 4dB. Possiamo quindi calcolare il valore di K da K = 10 65−4 20 ' 1125 Il compensatore completo risulta quindi essere 1 + 5s (1 + 0.0375s) 5s La figura 8.15 mostra il diagramma di Bode del sistema compensato proporzionalmente e con il PID, mentre la figura 8.16 mostra la risposta nel tempo del processo compensato. GP ID = 1125 8.3.3 8.3.3.1 Metodo analitico Controllore PID Con il sistema precedente non siamo in grado di costruire un compensatore P ID in grado di soddisfare delle esigenze di progetto. Per soddisfare determinate esigenze possiamo utilizzare un metodo analitico che ci permette di determinare i parametri del regolatore P ID partendo dall’errore allo stato finito desiderato e dalle specificazioni dinamiche. Sappiamo che la funzione di trasferimento ad anello aperto del sistema compensato (unity feedback) è data da µ KI KP + K D s + s ¶ G(s) (8.17) Se G(s) è di tipo n, il sistema compensato, grazie all’elemento integratore, sarà di tipo n + 1. La costante di errore è uguale all’inverso dell’errore allo stato finito e vale 7 aprile 2003 Copyright 2003 Roberto Bucher 115 Automazione I e II Capitolo 8. Design classico di regolatori Bode Diagrams From: U(1) 40 20 0 −20 Phase (deg); Magnitude (dB) −40 −60 −80 −100 −40 −60 To: Y(1) −80 −100 −120 −140 −160 −180 −3 10 −2 −1 10 0 10 1 10 2 10 10 Frequency (rad/sec) Figura 8.14: Diagramma di Bode con compensazione PI Bode Diagrams From: U(1) 100 sistema compensato 50 Phase (deg); Magnitude (dB) 0 solo proporzionale −50 −100 0 solo proporzionale To: Y(1) −50 sistema compensato −100 −150 −200 −3 10 −2 10 −1 10 0 10 1 10 2 10 3 10 Frequency (rad/sec) Figura 8.15: Diagramma di Bode con e senza compensazione PID 116 Copyright 2003 Roberto Bucher 7 aprile 2003 8.3. Controllore Proporzionale-Integrale-Derivativo (PID) Automazione I e II Step Response From: U(1) 1.4 1.2 0.8 To: Y(1) Amplitude 1 0.6 0.4 0.2 0 0 0.05 0.1 0.15 0.2 0.25 Time (sec.) Figura 8.16: Risposta al gradino del sistema compensato Kn+1 = sn KI G(s)|s=0 = 1 e∞ (8.18) Possiamo quindi trovare il valore di KI partendo dall’errore allo stato finito desiderato. Dalle specificazioni relative al %OS e a TS possiamo poi determinare il valore del fattore di smorzamento del circuito ad anello chiuso e la frequenza naturale. Abbiamo visto nel capitolo precedente come la frequenza naturale del sistema ad anello chiuso corrisponde alla frequenza ωgc del sistema ad anello aperto e che esiste una relazione diretta tra margine di fase P M e fattore di smorzamento ad anello chiuso ξCL . Pertanto per ω = ωgc (8.19) |G(jω)| = 1 (8.20) θ(ω) = −180◦ + P M (8.21) deve valere e Con questa informazione e conoscendo già il valore di KI possiamo scrivere à KI KP + jωgc KD + G(jωgc ) ! = 1ejθ(ωgc ) (8.22) ciò che porta a 7 aprile 2003 Copyright 2003 Roberto Bucher 117 Automazione I e II Capitolo 8. Design classico di regolatori KP + jωgc KD = 1ejθ(ωgc ) jKI + = R + jX G(jωgc ) ωgc (8.23) Confrontando i coefficienti reali e immaginari otteniamo KP = R X = ωgc KD (8.24) (8.25) Riprendiamo ora il nostro esempio dell’antenna e vediamo di calcolare i parametri del P ID con le specifiche seguenti: • errore allo stato finito con entrata a parabola = 0.1 • %OS = 10% • TS = 2s Il sistema è di tipo 1 e quindi possiamo calcolare il valore di KI da da cui otteniamo 1 1 KI 6.63KI 1 = = s2 G(s)|s=0 = = KI 0.1 e∞ s 171 25.79 (8.26) KI = 25.79 · 10 = 257.9 ' 258 (8.27) Per poter determinare gli altri 2 parametri del P ID dobbiamo conoscere il valore di ξ e di ωn che rispettano le specifiche dinamiche. Dalle formule TS = ³ p − ln 0.02 1 − ξ 2 ξωn ´ (8.28) e ξ=r − ln π2 ³ %OS 100 + ln trovate precedentemente, otteniamo i valori 2 ³ ´ %OS 100 (8.29) ´ ξ = 0.6 → P M = 2 sin−1 (ξ) ' 74◦ (8.30) ωn = 3.5rad/s (8.31) I valori di ξ e ωn possono essere calcolati tramite la funzione di Matlab seguente function [xi,wn,s]=init_par(os,ts) % [xi,wn,s]=init_par(os,ts) % % Input os : Desired %OS 118 Copyright 2003 Roberto Bucher 7 aprile 2003 8.3. Controllore Proporzionale-Integrale-Derivativo (PID) Automazione I e II % ts : Desired Setting Time % % Ouput xi : Damping factor % wn : Natural frequency % s : one dominant pole % xi=os2xi(os); wn=ts2wn(ts,xi); th=acos(xi); s=-xi*wn+j*wn*sqrt(1-xi*xi); Una volta trovati i valori di ξ e ωn si possono trovare, con le equazioni (8.25) e (8.25), i valori KP ' 132 KD ' 66 (8.32) (8.33) Anche in questo caso posso utilizzare un programma di Matlab per determinare i valori del regolatore function [kp,ki,kd]=pid(sys,ki,dpm,wgc) % [kp,ki,kd]=pid(sys,ki,dpm,wgc) % % Find KP,KD for PID (analytical method) % % Input sys : process % ki : coefficient of Integrator in PID % dpm : desired PM (phase margin) % wgc : desired open loop gain crossover % frequency % % Output kp,ki,kd : controller gains % sys2=tf(sys); [ng,dg]=tfdata(sys2,’v’); ngv=polyval(ng,j*wgc); dgv=polyval(dg,j*wgc); g=ngv/dgv; thetar=(dpm-180)*pi/180; ejtheta=cos(thetar)+j*sin(thetar); eqn=(ejtheta/g)+j*(ki/wgc); x=imag(eqn); r=real(eqn); kp=r; kd=x/wgc; La figura 8.17 riporta la risposta del sistema regolato ad un gradino unitario. 7 aprile 2003 Copyright 2003 Roberto Bucher 119 Automazione I e II Capitolo 8. Design classico di regolatori Step Response 1.4 1.2 Amplitude 1 0.8 0.6 0.4 0.2 0 0 1 2 3 4 5 6 7 8 Time (sec.) Figura 8.17: Sistema regolato con un PID Il comportamento dinamico è migliore di quello del caso precedente, anche se non si è riusciti a rispettare perfettamente le specifiche. TS è più grande di quello desiderato e anche il %OS del 25% non rispecchia le specifiche. Questo è principalmente dovuto all’introduzione di un nuovo polo all’origine dovuto al P ID. 8.3.3.2 Controllori PD È un tipo di controllore molto usato, poiché la parte integrale del P ID viene utilizzata unicamente se è necessario aumentare il tipo del sistema e ridurre l’errore allo stato finito. Abbiamo visto però come questa parte integrale incida sul comportamento dinamico a causa del polo supplementare che viene messo all’origine del sistema ad anello aperto. Questo polo in effetti tende a destabilizzare il sistema. L’aggiunta invece di uno “zero al sistema ne aumenta la stabilità. Spesso la parte derivativa del controllore viene anche inserita sulla linea di feedback. Vediamo di utilizzare il metodo analitico dell’esempio precedente per determinare i parametri del regolatore P D (KI = 0). Applicando il calcolo precedente, con le stesse specifiche, tranne quella relativa all’errore, otteniamo KP ' 135 KD ' 56 (8.34) (8.35) Ciò che ci dà la risposta al gradino della figura 8.18. Vediamo come in questo caso le specifiche siano rispettate, con un netto miglioramento rispetto al caso precedente. Molto probabilmente con questo compensatore non rispettiamo le specifiche statiche del sistema (e∞ ). Essendo però il sistema già di tipo 1, l’errore allo stato finito per una entrata a rampa è costante. Da notare come nel caso di un P D si possa agire al massimo su due parametri. 120 Copyright 2003 Roberto Bucher 7 aprile 2003 8.3. Controllore Proporzionale-Integrale-Derivativo (PID) Automazione I e II Step Response 1.4 1.2 Amplitude 1 0.8 0.6 0.4 0.2 0 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2 Time (sec.) Figura 8.18: Risposta del sistema regolato con un PD Da notare inoltre come non sia possibile realizzare un controllore puramente derivativo, poiché esso sarebbe troppo sensibile ai disturbi e al rumore di fondo! La parte derivativa può anche essere messa nel ramo di feedback (feedback tacometrico, vedi figura 8.19). R(s) KP Y(s) G(s) Figura 8.19: Sistema con feedback tacometrico PSfrag replacements KD s In questo caso, con gli stessi parametri, otteniamo la risposta della figura 8.20. La funzione di trasferimento ad anello chiuso nel caso di feedback tacometrico può essere calcolata dallo schema e risulta essere: Y (s) = G(s) [KP (U (s) − Y (s)] − KD sY (s) 7 aprile 2003 (8.36) Y (s) KP G(s) = U (s) 1 + KP G(s) + sKD G(s) (8.37) 6.63KP Y (s) = 3 U (s) s + 101.71s2 + (171 + 6.63KD )s + 6.63KP (8.38) Copyright 2003 Roberto Bucher 121 Automazione I e II Capitolo 8. Design classico di regolatori Step Response 1 0.9 0.8 0.7 Amplitude 0.6 0.5 0.4 0.3 0.2 0.1 0 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2 Time (sec.) Figura 8.20: Risposta del sistema con feedback tacometrico Come si può vedere la funzione di trasferimento ad anello chiuso non ha uno zero supplementare: questo è anche il motivo per cui c’è un ulteriore miglioramento dello smorzamento. 8.4 Compensatori Lead e Lag Sono la forma più comune di compensatore, e sono semplicemente dei filtri con un polo e uno zero. La funzione di trasferimento generale è GR (s) = Kc s+a s+b (8.39) Questo compensatore è facilmente realizzabile con un amplificatore operazionale. Se 0 < a < b si parla di compensazione lead o di rete anticipatrice, altrimenti, nel caso a > b > 0 abbiamo un compensatore lag o rete ritardatrice. Nei due casi √ il contributo massimo per la fase viene dato, come dimostreremo, alla frequenza ω = ab. L’uso di una rete anticipatrice o di una rete ritardatrice dipende dalle specifiche di progetto. Se si deve unicamente stabilizzare il sistema ad anello chiuso le due alternative sono possibili (nel caso però che il sistema ad anello aperto sia instabile occorre utilizzare un compensatore lead). La scelta tra uno e l’altro dipende quindi dalle ulteriori specifiche di design. Se ad esempio si vuole avere una certa ωgc , un esame del diagramma di Bode ci può subito dire il tipo di compensatore necessario. Se ωgc è superiore alla ωgc del processo, occorre utilizzare una rete anticpatrice (lead), se più piccola è invece necessaria una rete ritardatrice (lag). Per il design di un regolatore lead/lag possono essere utilizzati il luogo delle radici, il diagramma di Bode, o tecniche analitiche. È però necessario che il processo da regolare possa essere descritto adeguatamente con un paio di poli dominanti. Normalmente dopo 122 Copyright 2003 Roberto Bucher 7 aprile 2003 8.4. Compensatori Lead e Lag Automazione I e II l’analisi è necessario simulare o misurare il sistema completo ed effettuare delle modifiche in caso di necessità. Tutti i compensatori modificano la stabilità, l’errore allo stato finito e la larghezza di banda del sistema ad anello chiuso. In generale, un compensatore lead aumenta la stabilità relativa del sistema aumentando il margine di fase. Però, per un determinato K c , aumenta l’errore allo stato finito, poiché a < b, ciò che significa che a < Kc (8.40) b Per migliorare l’errore allo stato finito è quindi necessario utilizzare un guadagno molto alto, con la conseguenza di aumentare ωgc e quindi di diminuire il tempo di setting TS . Spesso però questo porta anche ad un aumento dell’effetto dei disturbi e del rumore sul sistema. Kc 8.4.1 Regolatore lead dal luogo delle radici Comunemente si utilizza un metodo geometrico per determinare il parametri del compensatore tramite il luogo delle radici.. In pratica si vuole ridisegnare il diagramma del luogo delle radici facendolo passare attraverso dei punti desiderati del piano complesso. Questo è possibile facendo i passi seguenti 1. Determinare la posizione dei poli desiderati, secondo le specifiche di progetto. 2. Posizionare lo “zero” del compensatore. 3. Determinare il polo del compensatore usando la proprietà che l’angolo totale deve essere 180◦ . 4. Controllare se il guadagno K della soluzione trovata soddisfi le specifiche di errore allo stato finito, altrimenti modificare e ripetere tutti i passi. 5. Controllare se il sistema ad anello chiuso completo soddisfa i requisiti di progetto. Esistono diversi metodi che sono stati sviluppati per determinare ad esempio lo “zero” del compensatore. Alcuni autori consigliano di sceglierlo direttamente “sotto” i poli desiderati. Altri autori utilizzano dei metodi geometrici più complessi. Non esiste però un metodo matematico che permetta di determinare in modo univoco e perfetto il valore cercato, ma solo metodi sperimentali. Un solo fatto non deve essere dimenticato e resta un punto fermo nel design con il luogo delle radici. Una volta fissati i due poli dominanti (complessi coniugati) s1 e s2 , è possibile determinare l’angolo ϕc = 180◦ − 6 G(s1 ), che rappresenta il contributo che deve essere dato dal compensatore (vedi figura 8.21). Se ϕc risulta essere negativo, è necessario passare ad un compensatore lag al posto di uno di tipo lead. Un metodo di design potrebbe essere quello descritto da Ogata, D’Azzo e Houpis. 1. Selezionare s1 e trovare ϕc come illustrato nella figura 8.21. 2. Tracciare una retta tra s1 e l’origine, e l’orizzontale passante per s1 . 3. Trovare l’angolo ϕ tra queste due rette. 7 aprile 2003 Copyright 2003 Roberto Bucher 123 Automazione I e II Capitolo 8. Design classico di regolatori s1 ϕc PSfrag replacements -b -a Figura 8.21: Rappresentazione del contributo di fase di un lead 4. Trovare la bisettrice dell’angolo e determinare il punto di incrocio con l’asse reale. Trovare quindi le rette che passano per −a e −b sull’asse reale, tenendo conto che la bisettrice di ϕ è anche bisettrice di ϕc . 5. Leggere i valori di −a e −b. Questo metodo è illustrato nella figura 8.22. s1 ϕ PSfrag replacements ϕc 2 -b -a Figura 8.22: schema grafico per trovare il regolatore lead Da questo metodo geometrico si può ottenere un metodo analitico che ci permette di calcolare i valori di a e b matematicamente. Questo metodo è anche facilmente programmabile. 1. Scegliere s1 . 2. Determinare ϕ = 6 (s1 ) e ϕc = 180◦ − 6 G(s1 ). e θZ = ϕ+ϕc 2 . 4. Trovare pc = −b = Re(s1 ) − Im(s1 ) tan θp 5. Trovare zc = −a = Re(s1 ) − Im(s1 ) tan θz 3. Calcolare θP = 124 ϕ−ϕc 2 Copyright 2003 Roberto Bucher 7 aprile 2003 8.4. Compensatori Lead e Lag Automazione I e II 6. Trovare Kc in modo che |GR (s1 )G(s1 )| = 1 7. Se Kc è troppo piccolo per l’errore allo stato finito desiderato, scegliere un nuovo s 1 e ripetere tutto il procedimento. Il metodo grafico per il calcolo dei parametri del regolatore lead dal luogo delle radici è stato implementato in Matlab con la funzione “rlgeo ld” ; questa funzione permette sia la ricerca automatica dello zero mediante il metodo illustrato precedentemente, sia la ricerca del polo e dell’amplificazione partendo da uno zero predefinito. function reg=rlgeo_ld(sys,s_1,z) % % reg=rlgeo_ld(sys,s_1,z) % % reg=rlgeo_ld(sys,s_1) % % Find lead regulator (geometric method) from % root locus % % sys : process % s_1 : dominant pol (one of them...) % z : zero of lead compensator % sys2=tf(sys); [ng,dg]=tfdata(sys2,’v’); ng_s1=polyval(ng,s_1); dg_s1=polyval(dg,s_1); g=ng_s1/dg_s1; th=angle(g); if th>0 ph_c=pi-th; else ph_c=-th; end if nargin==2 phi=angle(s_1); th_z=(phi+ph_c)/2; th_p=(phi-ph_c)/2; z_c=real(s_1)-imag(s_1)/tan(th_z); p_c=real(s_1)-imag(s_1)/tan(th_p); else z_c=z; th_z=angle(s_1-z); th_p=th_z-ph_c; p_c=real(s_1)-imag(s_1)/tan(th_p); end nreg=[1 -z_c]; 7 aprile 2003 Copyright 2003 Roberto Bucher 125 Automazione I e II Capitolo 8. Design classico di regolatori dreg=[1 -p_c]; nk=polyval(nreg,s_1); dk=polyval(dreg,s_1); k=nk/dk; kc=abs(1/(g*k)); if th<0 kc=-kc; end reg=tf(kc*nreg,dreg); Esempio 8.5 Nel caso della nostra antenna con funzione di trasferimento G(s) = 6.63K s(s + 1.71)(s + 100) (8.41) Stabiliamo le specifiche seguenti • errore allo stato finito con entrata a parabola = 0.1 • %OS = 10% • TS = 2s che necessitano quindi i valori seguenti (già calcolati precedente) ξ = 0.6 (8.42) ωn = 3.5rad/s (8.43) −σ = −ξωn = −0.6 ∗ 3.5 = −2.1 (8.44) Da questi valori otteniamo per s1 q jωd = jωn 1 − ξ 2 = j2.82 (8.45) Utilizzando le formule viste precedentemente si ottiene il compensatore seguente s + 2.28 (8.46) s + 5.35 La simulazione del circuito compensato ci porta alla risposta al gradino unitario della figura 8.23. Le specifiche sono solo parzialmente rispettate (%OS è leggermente più alto di quanto desiderato). Il calcolo dell’errore (qui omesso) rispetta le specifiche iniziali. GR (s) = 224 8.4.2 Regolatore lead dal diagramma di Bode L’idea di base nel design attraverso Bode è quella di portare la funzione di trasferimento ad anello aperto ad avere il guadagno in bassa frequenza desiderato (per es. in funzione di un certo errore statico) una certa frequenza di crossover ωgc (per la velocità della risposta) e un’adeguata stabilità attraverso il margine di fase P M . Parametrizziamo il regolatore con la funzione di trasferimento seguente 126 Copyright 2003 Roberto Bucher 7 aprile 2003 8.4. Compensatori Lead e Lag Automazione I e II Step Response 1.4 1.2 Amplitude 1 0.8 0.6 0.4 0.2 0 0 0.5 1 1.5 2 2.5 3 Time (sec.) Figura 8.23: Risposta del sistema con il regolatore lead GR (s) = Kc 1 + αT s 1 + Ts (8.47) Dapprima viene scelto il valore di Kc che soddisfa le specifiche statiche. Poi si cerca di soddisfare il P M alla frequenza di taglio desiderata. Per fare questo dobbiamo iniziare a conoscere meglio la funzione di trasferimento del regolatore senza il guadagno K c . GR1 (s) = 1 + αT s 1 + Ts (8.48) Il diagramma di Bode del regolatore unitario è rappresentato nella figura 8.24. La fase supplementare fornita dal compensatore è data da 6 GR1 (jω) = tan−1 αT ω − tan−1 T ω (8.49) Usando questo metodo si vuole avere il massimo contributo di fase alla frequenza di gaincrossover ωgc . Per trovare il valore di questa frequenza facciamo un semplice calcolo di massimo-minimo, derivando 6 GR1 (jω). ´ d ³ −1 αT T tan αT ω − tan−1 T ω = − =0 2 2 2 dω 1+α T ω 1 + T 2 ω2 (8.50) Per determinare il valore di ω cercato, risolviamo l’equazione (8.50) per ω ¡ ¢ ¡ ¢ αT 1 + T 2 ω 2 − T 1 + α2 T 2 ω 2 =0 (1 + α2 T 2 ω 2 ) (1 + T 2 ω 2 ) αT + αT 3 ω 2 − T − α2 T 3 ω 2 = 0 7 aprile 2003 Copyright 2003 Roberto Bucher (8.51) (8.52) 127 Automazione I e II Capitolo 8. Design classico di regolatori Bode Diagrams 20 15 Phase (deg); Magnitude (dB) 10 5 0 60 50 40 30 20 10 0 −2 10 −1 0 10 1 10 10 Frequency (rad/sec) Figura 8.24: Diagramma di Bode di un regolatore lead α + αT 2 ω 2 − 1 − α2 T 2 ω 2 = 0 ³ ω 2 αT 2 − α2 T 2 ´ (8.53) = 1−α (8.54) 1−α 1 1 = →ω= √ 2 2 αT (1 − α) αT αT (8.55) e otteniamo infine ω2 = A questa frequenza si ottiene il contributo massimo di fase che vale 6 GR1 (jωmax ) = 6 GR1 (jωgc ) = Φ = tan−1 √ 1 α − tan−1 √ α (8.56) Possiamo anche fare il calcolo seguente, partendo da GR1 (jωmax ) = 1 1 + jαT √αT 1 + jT √1 αT = ´ √ ³ (1 + j α) 1 − j √1α √ 1+j α ´ ³ ´ =³ 1 + j √1α 1 + j √1α ) 1 − j √1α (8.57) ciò che dà come risultato GR1 (jωmax ) = GR1 (jωmax ) = ´ √ ³ (1 + j α) 1 − j √1α 1+ √ 1 + j α − j √1α + 1 1+ 1 α (8.58) 1 α = 2+j ³√ α− 1+ 1 α √1 α ´ (8.59) Semplificando ulteriormente otteniamo 128 Copyright 2003 Roberto Bucher 7 aprile 2003 8.4. Compensatori Lead e Lag Automazione I e II √ 2 α + j(α − 1) ´ GR1 (jωmax ) = √ ³ α 1 + α1 (8.60) Il contributo di fase Φ fornito dal compensatore risulta quindi essere Φ = tan−1 µ α−1 √ 2 α ¶ α−1 = sin−1 q √ 2 2 (2 α) + (α − 1) µ α−1 Φ = sin−1 √ 4α + α2 − 2α + 1 e conseguentemente ¶ α−1 α−1 sin Φ = √ = 2 α+1 α + 2α + 1 (8.61) (8.62) (8.63) Possiamo ora trovare α in funzione di Φ che risulta essere 1 + sin Φ (8.64) 1 − sin Φ Applicando le formule trovate possiamo determinare i parametri del compensatore con i passi seguenti α= 1. Scegliere Kc per soddisfare l’errore statico. 2. Disegnare il diagramma di Bode di Kc G(jω) e determinare il P M . 3. Determinare la fase supplementare necessaria. 4. Aggiungere ca 5◦ alla fase per trovare il valore di Φ 5. Calcolare α = 1+sin Φ 1−sin Φ . 6. Trovare la frequenza alla quale il guadagno di Kc G(jω) = −10 log α. Questa frequenza sarà la nuova ωgc del sistema compensato. 7. Determinare T = √ 1 . αωgc 8. Disegnare il diagramma di Bode completo per controllare il design. 9. Determinare la risposta ad anello chiuso del sistema compensato. Da notare che con questo metodo non possiamo scegliere anticipatamente il valore di ωgc . Se otteniamo un valore inaccettabile per la frequenza di gain- crossover, dobbiamo modificare il P M o l’errore statico. Il seguente programma di Matlab esegue i passi descritti precedentemente function reg=bdgeo_ld(sys,kc,pm) % reg=bdgeo_ld(sys,kc,pm) % % Find lead regulator (geometric method) 7 aprile 2003 Copyright 2003 Roberto Bucher 129 Automazione I e II Capitolo 8. Design classico di regolatori % from Bode diagramm % % sys : process % kc : desired gain for desired % steady state error % pm : desired PM % sys2=tf(sys); [ng,dg]=tfdata(sys2,’v’); dpmg=pm; dpm=dpmg/180*pi; [mag_g,phas_g,w]=bode(kc*ng,dg); mag_g_db=20*log10(mag_g); wgc=spline(mag_g_db,w,0); pm=angle(polyval(ng,j*wgc)/polyval(dg,j*wgc))+pi; pmg=pm/pi*180; phi=dpm-pm+5/180*pi; phig=phi/pi*180; alfa=(1+sin(phi))/(1-sin(phi)); mag_g_db=20*log10(mag_g); mag_m=-10*log10(alfa); wgc=spline(mag_g_db,w,mag_m); T=1/(wgc*sqrt(alfa)); z=alfa*T; p=T; nreg=kc*[z,1]; dreg=[p,1]; reg=tf(nreg,dreg); Proviamo a calcolare i parametri per il regolatore della nostra antenna, sapendo che dobbiamo avere • errore allo stato finito con entrata a parabola = 0.1 • %OS = 10% • TS = 2s Abbiamo già visto precedentemente che per ottenere questi risultati occorre un valore di Kc pari a 258. Inoltre le specifiche dinamiche (%OS) ci impongono un P M di 74◦ . Dal diagramma di Bode della funzione Kc G(s) (figura 8.25) vediamo che abbiamo un P M di ca. 28◦ . Dobbiamo aggiungere ancora ulteriori 74◦ − 28◦ + 5◦ = 51◦ . Il calcolo ci fornisce il regolatore seguente: GR (s) = 258 1 + 0.413s 1 + 0.0518s (8.65) La risposta al gradino del sistema compensato è mostrata nella figura 8.26. Il sistema compensato ha un %OS di ca. 10% e un buon tempo di setting TS ' 1s, ciò che rispetta le specifiche. 130 Copyright 2003 Roberto Bucher 7 aprile 2003 8.4. Compensatori Lead e Lag Automazione I e II Bode Diagrams 100 50 0 Phase (deg); Magnitude (dB) −50 −100 −150 −200 0 −50 −100 −150 −200 −250 −300 −2 10 −1 0 10 10 1 2 10 10 3 10 Frequency (rad/sec) Figura 8.25: Diagramma di Bode del sistema con compensatore proporzionale Step Response 1.4 1.2 Amplitude 1 0.8 0.6 0.4 0.2 0 0 0.5 1 1.5 Time (sec.) Figura 8.26: Risposta del sistema con il regolatore lead 7 aprile 2003 Copyright 2003 Roberto Bucher 131 Automazione I e II 8.4.3 Capitolo 8. Design classico di regolatori Compensatori lag dal luogo delle radici Il compensatore lag tende a destabilizzare il sistema e, per questo, è da usare unicamente per compensare sistemi stabili. Possiamo utilizzarlo per migliorare il comportamento statico del sistema senza peggiorare in modo significativo il comportamento dinamico (soprattutto il tempo di setting TS risente di questo regolatore). Alla base di un design tramite il luogo delle radici c’è il fatto che una volta trovato il regolatore proporzionale che rispetta le caratteristiche dinamiche, si può migliorare le caratteristiche statiche del sistema (errore allo stato finito) con il contributo di amplificazione fornito dal rapporto a/b, scegliendo queste due grandezze molto vicino a 0, in modo che l’apporto dinamico che danno si annulla. Partendo dalla rappresentazione della funzione di trasferimento del compensatore pari a GR (s) = Kc s+a , s+b a>b (8.66) si può utilizzare il procedimento seguente 1. Determinare il polo s1 che soddisfa le specifiche dinamiche. 2. Disegnare il luogo delle radici. 3. Determinare il valore di Kc che si avvicina maggiormente al polo s1 . 4. Se Kc è troppo piccolo per l’errore statico procedere con i prossimi passi. 5. Scegliere il rapporto a/b in modo da raggiungere l’errore statico desiderato. 6. Piazzare la combinazione polo-zero che soddisfa il luogo delle radici, scegliendo valori molto piccoli per a e b. 7. Controllare il risultato I valori piccoli di a e b influenzano la rvelocità di risposta del sistema. Esempio 8.6 Viene dato il processo seguente G(s) = 10 s(s + 5) (8.67) Le specifiche sono • ξ = 0.707 • errore alla rampa unitaria < 5% La figura 8.27 mostra il luogo delle radici del sistema e la posizione del polo dominante s1 . Per portare il sistema ad anello chiuso ad avere un polo dominante in s 1 = −2.5 + 2.5j occorre un’amplificazione Kc = 1.25. Con questo valore di Kc l’errore allo stato finito è del 40%, ciò che non soddisfa le specifiche statiche di progetto. Occorre avere un’amplificazione 132 Copyright 2003 Roberto Bucher 7 aprile 2003 8.4. Compensatori Lead e Lag Automazione I e II 10 8 6 4 Imag Axis 2 0 −2 −4 −6 −8 −10 −6 −5 −4 −3 Real Axis −2 −1 0 1 Figura 8.27: Luogo delle radici del sistema ulteriore di 8 volte, che può essere fornita dal rapporto a/b del compensatore lag. Scegliamo ora arbitrariamente a = 0.1 e calcoliamo b = a/8 = 0.0125. Il compensatore diventa s + 0.1 (8.68) s + 0.0125 Nella figura 8.28 sono rappresentate le due risposte, quella del sistema con solo l’amplificazione di 1.25, e quello del sistema compensato con il lag. Possiamo vedere il leggero miglioramento nel comportamento allo stato finito del sistema compensato rispetto al precedente. GR = 1.25 8.4.4 Compensatore lag dal diagramma di Bode L’idea che c’è alla base di questo compensatore è quella di determinare sul diagramma di Bode compensato in modo proporzionale la frequenza in cui si ha il margine di fase soddisfacente, e di utilizzare il rapporto α per far diventare questa frequenza la nuova ω gc . Partiamo dalla funzione di trasferimento del regolatore di tipo 1 + αT s , α<1 (8.69) 1 + Ts Dapprima si sceglie Kc in modo da soddisfare le specifiche statiche. Poi si trovano α e T per soddisfare il P M desiderato. La figura 8.29 mostra l’andamento in guadagno e fase di un compensatore di tipo lag. Per ω → ∞ la riduzione di guadagno vale 20 log α, mentre la contribuzione minima di fase l’abbiamo a GR = K c 10 αT I passi per il design di un regolatore di tipo lag sono i seguenti ω= 7 aprile 2003 Copyright 2003 Roberto Bucher (8.70) 133 Automazione I e II Capitolo 8. Design classico di regolatori 10 9 8 Reg. lag 7 6 Reg. P=1.25 5 4 3 2 1 0 0 1 2 3 4 5 6 7 8 9 10 Figura 8.28: Risposta del sistema con compensatore lag Bode Diagrams 0 −5 Phase (deg); Magnitude (dB) −10 −15 −20 0 −10 −20 −30 −40 −50 −60 −1 10 0 1 10 10 2 10 Frequency (rad/sec) Figura 8.29: Diagramma di Bode di un regolatore lag 134 Copyright 2003 Roberto Bucher 7 aprile 2003 8.4. Compensatori Lead e Lag Automazione I e II 1. Determinare Kc per soddisfare le specifiche statiche di progetto. 2. Disegnare il diagramma di Bode di Kc G(jω). 3. Se il P M è insufficiente, trovare la frequenza alla quale il P M è soddisfacente (aggiungere 5◦ per sicurezza). Questa frequenza sarà la nuova ωgc . 4. Trovare il guadagno in dB a questa frequenza. Questo è il guadagno (che chiamo GdB) che dobbiamo ridurre con il compensatore, in modo che questa frequenza diventi la nuova frequenza di gain-crossover. 5. Determinare α = 10−GdB/20 . 6. Scegliere T = 10 αωgc per minimizzare il contributo di fase del compensatore. 7. Disegnare il diagramma di Bode del sistema compensato per controllare il risultato. 8. Controllare il sistema ad anello chiuso. Il programma Matlab seguente esegue automaticamente queste operazioni function reg=bdgeo_lg(sys,Kc,pm) angl=-180+pm; [g,p,w]=bode(Kc*sys); wgc=spline(p,w,angl); g=spline(w,g,wgc); gdb=20*log10(g); wsup=wgc/10; T=1/wsup; alfa=10^(-gdb/20); reg=tf(Kc*[T,1],[alfa*T 1]); Applichiamo questo metodo all’esempio precedente. Scegliamo dapprima K c = 10. Un valore di ξ pari a 0.707 ad anello chiuso equivale ad un P M ad anello aperto di ca. 70 ◦ . Prendiamo 75◦ per sicurezza. La figura 8.30 mostra il diagramma di Bode del sistema con il compensatore proporzionale. Dalla figura 8.30 si può vedere che ilmargine di fase desiderato di 75◦ lo si ha ad una frequenza compresa tra 1 e 2 rad/s (esattamente a 1.34rad/s). A questa frequenza il guadagno (sempre dal grafico) vale 23dB. Dalle formule troviamo α = 0.069 e T = 106.7. Il regolatore risulta quindi essere GR (s) = 10 1 + 7.46s 1 + 106.7s (8.71) La figura 8.31 mostra la risposta con entrata gradino del sistema compensato. Possiamo vedere un miglioramento del %OS, ma un peggioramento del TS , peggioramento che era prevedibile. 7 aprile 2003 Copyright 2003 Roberto Bucher 135 Automazione I e II Capitolo 8. Design classico di regolatori Bode Diagrams 50 Phase (deg); Magnitude (dB) 0 −50 −50 −100 −150 −200 −1 10 0 1 10 2 10 10 Frequency (rad/sec) Figura 8.30: Diagramma di Bode con compensatore proporzionale Step Response 1.5 Reg P=10 Reg lag Amplitude 1 0.5 0 0 2 4 6 8 10 12 14 Time (sec.) Figura 8.31: Risposta del sistema con regolatore lag 136 Copyright 2003 Roberto Bucher 7 aprile 2003 8.5. Deadbeat Response 8.5 Automazione I e II Deadbeat Response Molto spesso lo scopo della regolazione è quello di ottenere un tempo di setting basso con un %OS minimo. Questa tipo di risposta è detta deadbeat response. Le caratteristiche di questa risposta sono: • e∞ (step) = 0 • Tr e TS minimi • 0.1% ≤ %OS ≤ 2% Prendiamo ad esempio una funzione di 3. Ordine, ad anello chiuso, normalizzata, del tipo ωn2 1 (8.72) GT OT (s) 3 = s3 2 2 2 3 s s s + αωn s + βωn s + ωn 3 + α 2 + βω + 1 ωn e sostituendo s ωn ωn n con ŝ si ottiene GT OT (s) = ŝ3 + 1 + βŝ + 1 αŝ2 (8.73) Per ottenere l’andamento della risposta desiderato occorre ora scegliere i coefficienti dalla tabella 8.4, per poi ottenere la funzione di trasferimento finale. La funzione di Matlab “dbc.m” permette di ottenere direttamente i poli del polinomio per la risposta deadbeat. function [p]=dbc(Ts,ord) % % function [p]=dbc(Ts,ord) % % Ts : Setting Time % ord : polynomial grad % p : Roots of Deadbeat polynom % coeff=[1 1.82 1 0 0 0 0 1 1.90 2.20 1 0 0 0 1 2.20 3.50 2.80 1 0 0 1 2.70 4.90 5.40 3.40 1 0 1 3.15 6.50 8.70 7.55 4.05 1]; wn=4.04/Ts; p1=zeros(1,ord+1); for n=1:(ord+1) p1(n)=coeff(ord-1,n)*wn^(n-1); end p=roots(p1); La chiamata è [p]=dbc(Ts,ord) 7 aprile 2003 Copyright 2003 Roberto Bucher 137 7 aprile 2003 β γ δ ² 2.20 3.50 4.90 6.50 2.80 5.40 8.70 3.40 7.55 4.05 %OS 0.10% 1.65% 0.89% 1.29% 1.63% %U S 0.00% 1.36% 0.95% 0.37% 0.94% Tr90% 3.47 3.48 4.16 4.84 5.49 Tr100% 6.58 4.32 5.29 5.73 6.31 Automazione I e II Tabella 8.4: Coefficienti per il polinomio di deadbeat ωn T S 4.82 4.04 4.81 5.43 6.04 Copyright 2003 Roberto Bucher α 1.82 1.90 2.20 2.70 3.15 138 Capitolo 8. Design classico di regolatori ordine 2 3 4 5 6 8.5. Deadbeat Response GP (s) GC (s) Y(s) G(s) PSfrag replacements R(s) Automazione I e II Figura 8.32: Sistema per compensatore deadbeat dove TS è il tempo di setting desiderato, “ord” è l’ordine del polinomio e p è il vettore che cintiene i poli del polinomio con risposta deadbeat. Esempio 8.7 Viene dato il sistema della figura 8.32. La funzione di trasferimento open loop del processo vale G(s) = 1 s(s + 1) (8.74) s+z s+p (8.75) mentre il compensatore vale GC (s) = K La funzione di trasferimento ad anello chiuso vale GT OT (s) = K(s + z) s3 + (1 + p)s2 + (p + K)s + Kz (8.76) Per avere un uscita a 1 con entrata gradino, occorre introdurre il prefiltro G P (s) all’entrata del circuito. Questo prefiltro deve eliminare lo zero al numeratore, e portare il termine al numeratore ad essere uguale all’ultimo termine del denominatore (Kz). Il prefiltro occorrente per questo sistema vale quindi GP (s) = z s+z (8.77) La funzione di trasferimento totale ad anello chiuso diventa cosı̀ GT OT (s) = Kz s3 + (1 + p)s2 + (p + K)s + Kz (8.78) Dalla tabella 8.3 si possono leggere i valori dei coefficienti per una funzione di 3. ordine, che sono α = 1.90 e β = 2.20. Scegliendo un TS pari a 2s si ottiene un valore di ωn pari a ωn = 4.04 = 2.02 TS (8.79) L’equazione caratteristica legata alla funzione di trasferimento ideale risulta essere q(s) = s3 + αωn s2 + βωn2 s + ωn3 = s3 + 3.84s2 + 8.98s + 8.24 (8.80) Un paragone di coefficienti fornisce i valori p = 2.84, z = 1.34 e K = 6.14. 7 aprile 2003 Copyright 2003 Roberto Bucher 139 Automazione I e II 8.6 Capitolo 8. Design classico di regolatori Conclusioni Vediamo come le diverse tecniche di design portano a risultati molto differenti tra di loro. Molto spesso è necessario applicare più di una tecnica al sistema da compensare e scegliere in seguito la soluzione migliore. Anche una combinazione di più regolatori in serie è possibile, magari per fare una compensazione dinamica con un regolatore di tipo lead e una correzione statica con un lag. 8.7 Realizzazione pratica di compensatori Per la realizzazione di compensatori è sufficiente implementare un amplificatore operazionale in circuito invertente (figura 8.33), utilizzando delle impedenze Z1 e Z2 per ottenere la funzione di trasferimento desiderata. Z2 Z1 - PSfrag replacements + Figura 8.33: Realizzazione di compensatori La tabella 8.5 mostra i valori di Z1 e Z2 per i vari casi di compensatori. 140 Copyright 2003 Roberto Bucher 7 aprile 2003 8.7. Realizzazione pratica di compensatori Funzione Z1 (s) Automazione I e II Z2 (s) PSfrag replacements PSfrag replacements R1 Guadagno R2 PSfrag replacements PSfrag replacements R Integrazione C C PSfrag replacements PSfrag replacements Derivazione PSfrag replacements PSfrag replacements R1 Controllore PI PSfrag replacements C1 PSfrag replacements R1 Controllore PD PSfrag replacements PSfrag replacements C1 R1 Controllore PID GREG (s) − 1 − RC s R R2 −sRC C2 − R2 R2 C2 R2 PSfrag replacements PSfrag replacements C1 R1 Controllore lead C2 R2 R2 R1 s+ 1 R2 C2 s −R2 C1 (s + C2 PSfrag replacements PSfrag replacements C1 R1 Controllore lag R2 R1 1 ) R1 C1 1 R2 C2 R1 C2 − R + C + R 2 C1 s + s 1 1 − C1 s + C2 s + 1 R1 C1 1 R2 C2 , R2 C 2 > R 1 C 1 − C1 s + C2 s + 1 R1 C1 1 R2 C2 , R1 C 1 > R 2 C 2 Tabella 8.5: Realizzazione di regolatori 7 aprile 2003 Copyright 2003 Roberto Bucher 141 Automazione I e II 142 Capitolo 8. Design classico di regolatori Copyright 2003 Roberto Bucher 7 aprile 2003 Appendice A La trasformata di Laplace A.1 Definizione Difficilmente la rappresentazione matematica di un sistema mediante una equazione differenziale ci permette di “vedere” subito come questo sistema si comporterà. Mediante la trasformata di Laplace è possibile sostituire ad una equazione differenziale una equazione algebrica che permette di collegare due grandezze (input e output) mediante una funzione di trasferimento. La trasformata di Laplace è definita come L[f (t] = F (s) = +∞ Z f (t)e−st dt 0+ dove s = α + jω è una variabile complessa. Conoscendo f (t) e la soluzione dell’integrale precedente, possiamo trovare F (s) che è la trasformata di Laplace di f (t). Si assume che la funzione f (t) vale 0 per t < 0. Se il sistema accumula energia prima di t = 0, questa energia può essere indicata mediante la funzione di impulso, che applica tutta l’energia accumulata precedentemente nel momento di t = 0. Immaginiamoci che un condensatore sia carico al momento t = 0 e abbia una tensione iniziale pari a 5/C. Ciò significa che possiamo inizializzarlo mediante una funzione pari a 5δ(t), poiché 1 uc (t) = C Z0+ 5δ(t)dt = 0− 5 C Per trovare nuovamente la funzione f(t) partendo dalla sua trasformata F(s), si utilizza la trasformata di Laplace inversa che è definita come L −1 1 [F (s)] = 2πj σ+j∞ Z F (s)est ds σ−j∞ Normalmente occorre portare la funzione trovata nel dominio di Laplace in una forma che contenga unicamente funzioni già tabellate, in modo da semplificare notevolmente il lavoro. Per questa operazione viene molto utile lo sviluppo in termini di frazioni parziali e il calcolo dei residui. 7 aprile 2003 Copyright 2003 Roberto Bucher 143 Automazione I e II Appendice A. La trasformata di Laplace Nella tabella A.1 sono riportate alcune delle trasformate di Laplace più frequentemente utilizzate. Da notare che le funzioni f (t) vengono sempre moltiplicate per la funzione gradino unitario u(t), visto che per t < 0 il valore della funzione è nullo. f (t) F (s) δ(t) 1 u(t) 1 s tu(t) 1 s2 tn u(t) n! sn+1 e−at u(t) 1 s+a sin ωtu(t) cos ωtu(t) s2 ω + ω2 s s2 + ω 2 Tabella A.1: Trasformate di Laplace di funzioni comuni Alcune regole permettono di semplificare notevolmente il lavoro con le trasformate di Laplace. Queste regole sono riportate nella tabella A.2 144 Copyright 2003 Roberto Bucher 7 aprile 2003 A.1. Definizione Automazione I e II Teorema di linearità L[kf (t)] = kF (s) Teorema di linearità L[f1 (t) + f2 (t)] = F1 (s) + F2 (s) Teorema di spostamento in frequenza L[e−at f (t)] = F (s + a) Teorema di spostamento nel tempo L[f (t − T )] = e−sT F (s) Teorema di scala L[f (at)] = a1 F ( as ) Teorema della derivata L[ dfdt(t) ] = sF (s) − f (0) Teorema della derivata f (t) L[ d dt2 ] Teorema della derivata n f (t) ] L[ d dtn 2 Rt = s2 F (s) − sf (0) − f˙(0) = sn F (s) − n X k=1 F (s) s L[ f (τ )dτ ] = lim f (t) = lim sF (s) lim f (t) = lim sF (s) Teorema della convoluzione nel tempo f1 (t) ∗ f2 (t) = F1 (s)F2 (s) Teroema della convoluzione in frequenza f1 (t)f2 (t) = Teorema dell’integrale 0 Teorema del valore finale t→∞ Teorema del valore iniziale t→0 sn−k f k−1 (0) s→0 s→∞ 1 F1 (s) ∗ F2 (s) 2πj Tabella A.2: Proprietà della trasformata di Laplace 7 aprile 2003 Copyright 2003 Roberto Bucher 145 Automazione I e II 146 Appendice A. La trasformata di Laplace Copyright 2003 Roberto Bucher 7 aprile 2003 Appendice B Diagrammi di flusso di segnali B.1 Rappresentazione Una rappresentazione molto pratica per equazioni lineari è la rappresentazione mediante diagrammi di flusso di segnali (signal-flow graph). In questa rappresentazione le variabili sono rappresentate da nodi, le dipendenze lineari tra le variabili da linee direzionate dotate di un valore (peso). Questa tecnica permette di rappresentare equazioni semplici o recursive. Esempio B.1 L’equazione x=a·y−b·w+z può essere rappresentata con il seguente diagramma della figura B.1. y ePP a P PP w e −b ³³ z e³ PP ³³ PP q P 1 ex ³³ ³ ³³ Figura B.1: Rappresentazione di un’equazione Quando il valore per il peso di una linea è omesso, lo si assume uguale a 1. Esempio B.2 L’equazione recursiva x=a·y−b·x+c·z può essere rappresentata come nella figura B.2. Nota che una recursività dell’equazione implica la presenza di loops. La tecnica si può utilizzare anche per sistemi di equazioni come nel seguente esempio. Esempio B.3 Il sistema 7 aprile 2003 ( a · x1 + b · x2 = e · u1 c · x1 + d · x 2 = f · u 2 Copyright 2003 Roberto Bucher 147 Automazione I e II Appendice B. Diagrammi di flusso di segnali y ePP a ¢ A −b PP PPAA ¢®¢ q ex P 1 ³³ ³ z e³ ³³ ³ c Figura B.2: Rappresentazione di un’equazione recursiva con entrate u1 e u2 può essere riscritto come segue: ( x1 = (1 − a) · x1 − b · x2 + e · u1 x2 = −c · x1 + (1 − d) · x2 + f · u2 e quindi rappresentato dal diagramma nella figura B.3 u1 e u2 e 1−a ¢ A A ¢ -A e¢® x1 ¡ @ I ¡ @ e f −c −b @ ¡ R @ - e¡ x2 ¢ KA ¢ A A ¢ 1−d Figura B.3: Rappresentazione di un sistema d’equazioni Questa rappresentazione è valida anche per sistemi nei quali le variabili sono dei vettori e non dei scalari ed i pesi delle linee delle matrici. Inoltre la rappresentazione è valida anche quando i pesi delle linee sono delle funzioni di trasferimento. B.2 Operazioni su diagrammi di flusso A partire dalla rappresentazione con diagrammi esistono delle tecniche per ridurre le espressioni utilizzate in partenza per creare i diagrammi. Una di queste tecniche è data dalle regole di Mason. B.2.1 Riduzione secondo le regole di Mason Queste regole utilizzano il concetto di percorso, di loop, di nodo indipendente e di determinante di un diagramma. Definizione B.1 (percorso) Un percorso è dato da una sequenza di linee direzionate che conducono da un nodo ad un altro nodo senza passare piú volte attraverso uno stesso nodo. Il valore di un percorso è il prodotto del valore di tutte le linee che compongono il percorso. Esempio B.4 Dall’ultimo esempio, un percorso che porta da u2 ad x1 è dato dalle due linee u2 → x2 e x2 → x1 (la successione delle tre linee u2 → x2 , x2 → x2 e x2 → x1 non è un percorso siccome il nodo x2 viene vistato due volte). Il valore P del percorso è −b · f . 148 Copyright 2003 Roberto Bucher 7 aprile 2003 B.2. Operazioni su diagrammi di flusso Automazione I e II Definizione B.2 (loop) Un loop è dato da un percorso nel quale il nodo di partenza ed il nodo di arrivo sono identici. Il valore di un loop è il prodotto del valore di tutte le linee che compongono il loop. Esempio B.5 Dall’ultimo esempio, i loop presenti sono dati dalla linea x 2 → x2 , dalla linea x1 → x1 e dalla successione di linee x1 → x2 e x2 → x1 I valori L dei loop sono 1 − d, 1 − a e b · c rispettivamente. Definizione B.3 (nodo indipendente) Un nodo indipendente è un nodo verso il quale non sono puntate linee direzionate. Esempio B.6 Dall’ultimo esempio i nodi indipendenti sono u1 e u2 . Definizione B.4 (determinante) Un determinante di un diagramma è dato dall’espressione ∆=1− X Li + i X ij Li · L j − X ijk Li · L j · L k + X ijkl Li · L j · L k · L l − . . . (B.1) dove la prima somma è eseguita su tutti i loop del diagramma, la seconda somma su tutti le coppie di loop che non hanno nodi in comune, la terza somma su tutti gli insiemi di tre loop che non hanno nodi in comune, ecc. Esempio B.7 Dall’ultimo esempio, il determinante del diagramma è ∆ = 1 − (1 − d) − (1 − a) − b · c + (1 − d) · (1 − a) = d + a − 1 − b · c + (1 − d) · (1 − a) = d·a−b·c Ora, mediante le regole di Mason, è possibile calcolare il valore di un nodo in funzione dei nodi indipendenti nel modo seguente: xj = X i e dove la somma P i Gij · xi dove xi è un nodo indipendente (B.2) è eseguita su tutti i nodi indipendenti. Il coefficiente Gij è Gij = dove P k Pijk · ∆ijk ∆ (B.3) • Pijk è il valore di un percorso tra il nodo xi ed il nodo xj • ∆ijk il determinante del diagramma rimanente dopo che il diagramma originale sia stato ridotto rimuovendo i nodi che si trovano sul percorso. La somma P k è eseguita su tutti i percorsi esistenti tra il nodo xi ed il nodo xj . Esempio B.8 Sempre con il solito esempio otteniamo: G13 = e quindi e · (1 − (1 − d)) e·d = d·a−b·c d·a−b·c −f · b G14 = d·a−b·c e · d · u1 − f · b · u2 d·a−b·c (calcolare il valore di x2 in funzione delle entrate u1 e u2 come esercizio). x1 = 7 aprile 2003 Copyright 2003 Roberto Bucher 149 Automazione I e II B.3 Appendice B. Diagrammi di flusso di segnali Scalare un nodo Nella pratica (variabili in un programma limitate ad un valore massimo, valori analogici in un circuito elettronico) è spesso necessario scalare il valore di un nodo senza però modificare i valori degli altri nodi. La procedura seguente viene utilizzata in questo caso. Se il valore di un nodo deve essere diviso per k si crei un cerchio attorno al nodo considerato. I valori di tutte le linee che entrano nel cerchio devono essere divisi per k, tutti i valori delle linee che escono dal cerchio devono essere moltiplicati per k. Esempio B.9 Sempre con il solito esempio desideriamo scalare il nodo x 2 con il fattore −1. Il valore del nuovo nodo x02 è quindi −x2 . Il nuovo diagramma è rappresentato nella figura B.4. Nota che se noi ricalcoliamo il valore di x1 in funzione dei nodi indipendenti u1 e e c u2 e −f 1−a ¢ A A ¢ A e¢® x1 ¡ @ I ¡ @ b @ ¡ R @ - e¡ x0 ¢ KA 2 ¢ A A ¢ 1−d Figura B.4: Procedura per scalare un nodo in un diagramma utilizzando le regole di Mason ritroviamo esattamente lo stesso risultato ottenuto sopra (esercizio volontario!). Questa procedura può essere ripetuta quante volte necessarie. Essa può inoltre essere applicata anche a più nodi contemporaneamente. In questo caso viene usato un cerchio che include tutti i nodi considerati; tutti i valori dei nodi considerati saranno scalati con lo stesso fattore. 150 Copyright 2003 Roberto Bucher 7 aprile 2003 Appendice C Matrici, determinanti e sistemi di equazioni C.1 Definizione di matrici e notazione Definizione C.1 Una matrice m x n è una tabella di elementi con m righe e n colonne. A= a11 a21 .. . a12 a22 .. . ··· ··· .. . a1n a2n .. . am1 am2 · · · amn Definizione C.2 In ogni elemento aij , i rappresenta la riga e j rappresenta la colonna. Se m = n la matrice è quadrata. Definizione C.3 Una matrice con una sola riga è detta vettore riga. B= h b11 b12 · · · b1n i Definizione C.4 Una matrice con una sola colonna è detta vettore colonna. C= c11 c21 .. . cm1 Definizione C.5 Una matrice può essere partizionata in altre matrici. A= a11 a21 a31 a41 a12 a22 a32 a42 a13 a23 a33 a43 a14 a24 a34 a44 = a11 a21 a31 a41 a12 a22 a32 a42 a13 a23 a33 a43 a14 a24 a34 a44 = " A11 A12 A21 A22 # Definizione C.6 Una matrice in cui tutti gli elementi sono nulli è detta matrice nulla. 7 aprile 2003 Copyright 2003 Roberto Bucher 151 Automazione I e II Appendice C. Matrici, determinanti e sistemi di equazioni Definizione C.7 Una matrice che contiene elementi solo lungo la sua diagonale è detta matrice diagonale. Definizione C.8 Una matrice diagonale con tutti gli elementi uguali all’unità è detta matrice unità o matrice identità. Definizione C.9 Una matrice simmetrica è una matrice in cui vale aij = aji 3 8 7 A= 8 9 2 7 2 4 Definizione C.10 La trasposta di una matrice A, designata come AT , è una matrice in cui ogni elemento aij viene sostituito conl’elemento aji . Una matrice m x n diventa una matrice n x m. A= 1 2 4 −1 7 9 6 −3 8 5 3 −2 1 2 4 −1 T 6 8 3 A = 7 9 −3 5 −2 Definizione C.11 Il determinante di una matrice A è indicato come detA o ¯ ¯ a ¯ 11 ¯ ¯ a21 ¯ . ¯ . ¯ . ¯ ¯ am1 a12 a22 .. . ··· ··· .. . a1n a2n .. . am2 · · · amn ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ Definizione C.12 Il minore Mij dell’elemento aij del determinante della matrice A è il determinante formato eliminando la riga i e la colonna j dal determinante di A. ¯ ¯ ¯ 3 ¯ ¯ detA = ¯ 6 ¯ ¯ 5 8 7 ¯¯ ¯ 9 2 ¯ ¯ 1 4 ¯ ¯ ¯ 3 ¯ =¯ ¯ 6 ¯ ¯ ¯ ¯ = −36 ¯ Il minore M32 è il determinante formato eliminando la terza riga e la seconda colonna dal detA. M32 152 7 2 Copyright 2003 Roberto Bucher 7 aprile 2003 C.1. Definizione di matrici e notazione Automazione I e II Definizione C.13 Il cofattore Cij di un elemento aij del determinante della matrice A è definito come Cij = (−1)(i+j) Mij ¯ ¯ 3 ¯ ¯ detA = ¯ 6 ¯ ¯ 5 C21 = (−1) 2+1 M21 ¯ 8 7 ¯¯ ¯ 9 2 ¯ ¯ 1 4 ¯ ¯ ¯ 8 = (−1) ¯ ¯ 1 7 4 3¯ ¯ ¯ ¯ ¯ = −25 ¯ Definizione C.14 Il calcolo del determinante della matrice A può essere fatto sviluppando i minori lungo una riga o una colonna. Il risultato può essere trovato tramite detA = n X aik Cik m X akj Ckj k=1 oppure detA = k=1 1 3 2 A = −5 6 −7 8 5 4 ¯ ¯ ¯ ¯ 1 ¯ −5 6 ¯ ¯ ¯ ¯ detA = 2 ¯ ¯ − (−7) ¯ ¯ 8 ¯ 8 5 ¯ 3 5 ¯ ¯ ¯ 1 3 ¯ ¯ ¯ ¯ + 4¯ ¯ −5 6 ¯ ¯ ¯ ¯ ¯ = −195 ¯ Definizione C.15 Una matrice è detta singolare quando il suo determinante è nullo. Definizione C.16 Una matrice è non singolare se il suo determinante è diverso da 0. Definizione C.17 La matrice aggiunta di una matrice quadrata A è la matrice che si ottiene trasponendo la matrice dei cofattori di ogni elemento di A. aggA = C11 C21 .. . C12 C22 .. . ··· ··· .. . C1n C2n .. . Cm1 Cm2 · · · Cmn T 1 2 3 A = −1 4 5 6 8 7 7 aprile 2003 Copyright 2003 Roberto Bucher 153 Automazione I e II Appendice C. Matrici, determinanti e sistemi di equazioni ¯ ¯ 4 ¯ ¯ ¯ 8 ¯ ¯ 2 ¯ aggA = − ¯ ¯ 8 ¯ ¯ 2 ¯ ¯ ¯ 4 5 7 ¯ ¯ ¯ ¯ −1 5 ¯ ¯ ¯ ¯ ¯ ¯ ¯ −¯ ¯ 6 7 ¯ ¯ ¯ 3 ¯¯ ¯ 7 ¯ 3 5 ¯ ¯ 1 ¯ ¯ ¯ 6 ¯ 3 ¯¯ ¯ 7 ¯ ¯ ¯ ¯ ¯ 1 3 ¯ ¯ ¯ −¯ ¯ ¯ −1 5 ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ −1 4 ¯ ¯ ¯ ¯ ¯ ¯ 6 8 ¯ ¯ ¯ −12 ¯ 1 2 ¯ ¯ ¯ −¯ = ¯ 37 ¯ 6 8 ¯ −32 ¯ ¯ ¯ 1 2 ¯ ¯ ¯ ¯ ¯ ¯ −1 4 ¯ 10 −2 −11 −8 4 6 Definizione C.18 Il rango di una matrice rappresenta il numero di righe o colonne linearmente indipendenti. Può essere determinato trovando la sottomatrice più grande non singolare. Definizione C.19 L’inversa di una matrice quadrata A, definita con A−1 è quella matrice per la quale vale AA−1 = I dove I rappresenta la matrice identità. Per il calcolo della matrice inversa si utilizza la formula A−1 = aggA |A| L’inversa esiste unicamente in caso di matrici non singolari. Definizione C.20 Gli autovalori λ e gli autovettori x di una matrice quadrata A sono quei valori che risolvono l’equazione Ax = λx e possono essere determinati risolvendo λx − Ax = 0 (λI − A)x = 0 Per non avere soluzioni triviali x = 0 occorre che det(λI − A) = 0 Risolvendo quetsa equazione si ricavano i valori di λ, che permettono poi di ricavare i valori di x. Definizione C.21 Una matrice diagonale possiede tutti gli autovalori sulla diagonale. Definizione C.22 Le seguenti espressioni sono equivalenti • Una matrice n x n è invertibile solo se il suo rango vale n. • Una matrice è invertibile solo se tutti i suoi autovalori sono diversi da 0 154 Copyright 2003 Roberto Bucher 7 aprile 2003