Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

Ricerca personalizzata
7
voti

Sistemi ed ottimizzazione

Articolo n° 11 su 13 del corso "Elaborazione numerica dei segnali". Vai all'indice del corso.

Paragrafi dell'articolo:

  1. Identificazione di un sistema
  2. Regolazione digitale ottimizzata

Identificazione di un sistema (23)

Vista l'importanza della conoscenza della funzione di trasferimento del sistema  da controllare per una buon progetto del regolatore, è naturale l'interesse ai metodi di  identificazione, cioè alle procedure di determinazione dei parametri che definiscono il comportamento del sistema stesso.

Dato un blocco incognito, occorre innanzitutto determinarne la stabilità in anello aperto, cioè l'applicazione di un segnale impulsivo all'ingresso deve provocare una uscita che tende ad uno stato stabile (anche se con eventuali oscillazioni, che però devono essere ‘smorzate').

Supponendo  poi  che, come nella maggioranza dei casi pratici,  il blocco sia definibile da un ‘guadagno'  K a da una sola costante di tempo  T, si tratta di  ricavare i valori di questi due parametri.

Ovviamente la cosa più semplice è l'applicazione di un ingresso a gradino, con registrazione dell'andamento dell'uscita:  il rapporto fra il valore a regime dell'uscita rispetto all'ampiezza del gradino d'ingresso determina  K, mentre la retta tangente alla curva d'uscita nella sua origine consente di determinare T (analogamente a quanto già visto nell'esempio del forno all'inizio del capitolo 21).

Tale procedimento è semplice ma può  risultare troppo grossolano per la l'intrinseca imprecisione nella valutazione dell'asintoto e della tangente.

Un metodo più preciso è la ricerca delle curva più approssimata passante per N punti: determinate sperimentalmente le coordinate di N punti della funzione di uscita si cerca la curva esponenziale  che si discosta il meno possibile da questi.

La  Fig. 23.1 riporta questo metodo che si basa sulla minimizzazione dell'errore quadratico medio.

Il principio è semplice: si  scrive l'espressione dello scostamento fra la curva cercata e ciascuno dei punti considerati e se ne minimizza il quadrato, cioè si rende minima la somma dei quadrati di tutti gli scostamenti (questo elimina il segno e amplifica l'effetto degli errori più grandi).

La figura mostra i dati di partenza (4 punti), l'espressione del quadrato degli errori, le derivate parziali rispetto a  Y (massimo asintotico) e  T (costante di tempo) e il sistema di equazioni che determina questi due parametri (ottenuto uguagliando a zero le rispettive derivate parziali).

Il  Mathcadâ permette la soluzione automatica del sistema, quindi consente di trovare i parametri incogniti.  L'esempio è  completato dal grafico che mostra i punti originali (indicati con piccoli quadrati) e la curva ottenuta con i parametri calcolati.

 

Fig.  23.1   -   Ricerca dei parametri di un blocco dati  N  punti.

 

Quando vi è la possibilità di acquisire i dati direttamente in  forma digitale (con scheda   A / D  direttamente collegata ad un calcolatore)  e può essere quindi disponibile una grande quantità di dati da elaborare è però preferibile ricorrere ad altri metodi per l'identificazione dei parametri del sistema.

Un metodo abbastanza semplice è la valutazione delle aree nelle registrazioni in funzione del tempo dei segnali d'ingresso e di uscita di un blocco (semprechè si supponga rappresentabile con una sola costante di tempo): applicando un gradino di ampiezza  u  all'ingresso si avrà in uscita il segnale  y  ad andamento esponenziale  (teoricamente  y = u·(1-e-t/T) ).

Poichè l'integrale dell'errore,  per  t  abbastanza lungo  (almeno t > 5·T ) tende al valore  u·T [1],  si può ricavare  T semplicemente dividendo l'integrale di  (u-y)·dt  per  u

Fig. 23.2   -   Determinazione di T col metodo dell'area.

La   Fig. 23.2 mostra un esempio di applicazione di tale metodo, in cui l'integrale è stato sostituito dalla sommatoria dell'errore nei vari campionamenti. Ovviamente la precisione nella valutazione di T dipende anche dal numero di campionamenti considerato.

Ma la raccolta di centinaia di campionamenti sotto forma di file di dati consente anche di ricavare direttamente il diagramma di Bode del sistema.

Tale risultato è possibile con il calcolo degli spettri di frequenza dei due segnali (rispettivamente di ingresso e di uscita), facendo poi il rapporto dell'ampiezza di ogni frequenza d'uscita con il rispettivo valore della frequenza d'ingresso, secondo la definizione stessa  di diagramma di  Bode (vedi capitolo 7). 

Poichè questo rapporto  deve essere espresso in dB,  occorre ovviamente calcolarne il  logaritmo decimale e moltiplicarlo per 20 per tracciare il diagramma del modulo (spesso è sufficiente questo, trascurando il diagramma delle fasi).

Può quindi essere previsto nel calcolatore di acquisizione un particolare programma che applichi  l' FFT  (o anche il  DFT, se il numero di campioni non è una potenza di 2 e se si accettano tempi di calcolo più lunghi).

La  Fig. 23.3  illustra il metodo, simulando la risposta ad un'onda quadra di un blocco con costante di tempo nota  ( T = 40 ms) e guadagno unitario.

Come segnale d'ingresso si è scelto un'onda quadra di ampiezza unitaria e di periodo  P = 4 sec, il che fornisce uno spettro con fondamentale di 0.25 Hz e con armoniche quindi multiple di questa. Si noti che data la simmetria del segnale, l'ampiezza delle armoniche pari risulta zero.

Il numero di campionamenti è stato fissato in 1024 (uno ogni circa 4 ms), il che permetterebbe uno spettro di 512 frequenze, limitato però in pratica a 60.   Per la trasformazione si è utilizzata la funzione  fft  del Mathcadâ.

Il segnale d'uscita  è stato ricavato come funzione esponenzale di T  e pure trasformato  con  fft. 

I grafici mostrano appunto l'andamento dei rispettivi segnali nel tempo ed i loro spettri.

Si è poi calcolato il modulo (G) per le armoniche dispari, interpolandolo per quelle pari,  tracciando infine il diagramma di Bode.

Poichè la scala delle frequenze è in Hz e per definizione la banda passante corrisponde al valore per cui l'attenuazione è  3 dB, risulta che questa è di circa  4 Hz.

Infatti la frequenza di taglio del sistema è pari a   1/(2·p·T) = 3.97887 Hz.

La  Fig. 23.4 riporta il risultato di acquisizioni reali su un  impianto industriale, applicando lo stesso metodo (e la stessa forma d'onda): è evidente la frequenza di taglio a circa 1.8 Hz  (T@ 88 ms), ma è anche evidente il cambiamento di pendenza a circa  4 Hz  , il che comporta una seconda costante di tempo  di  circa  40 ms.

Come si può vedere anche in questo caso le valutazioni risultano alquanto approssimate, ma spesso sufficienti nelle applicazioni pratiche

Fig. 23.3   -   Tracciamento del diagramma di Bode dai dati acquisiti,     mediante rapporto degli spettri di frequenza dei segnali d'ingresso e d'uscita

Fig. 23.4   -   Rilievo sperimentale della funzione di trasferimento di un sistema e sua interpretazione.

L'espressione della trasformata z di un sistema consente valutazioni matematicamente più esatte rispetto ai metodi visti.

Data la struttura del blocco, possono essere valutati i singoli parametri scrivendo un sistema di equazioni in cui sono sperimentalmente noti i valori di  u  e di  y  in vari istanti. Il numero di equazioni è ovviamente legato al numero di parametri incogniti.

Nel caso più semplice di una sola costante di tempo T e di un guadagno  K,  l'espressione risulta:

     H(z) = 

dove            a0 = K · DT / (T+ DT)         e            b1 =  T / (T+ DT)

Poichè  l'equivalente espressione nel tempo  è

                                          yt = b1· yt-1 + a0 · ut   

sarebbero sufficienti due campionamenti per determinare le incognite a0  e   b1 . 

Si avrebbe cioè il sistema:

y1 = b1· y0 + a0 · u1

y2 = b1· y1 + a0 · u2

con     y0 , y1 , y2 , u1 , u2    noti.

Generalizzando il calcolo, si può ricorrere al metodo matriciale per la soluzione di sistemi di equazioni lineari.

Il riquadro seguente illustra l'uso delle matrici applicato al caso in esame:

In altri termini la soluzione si riduce al calcolo della ‘matrice inversa' (M -1 ) degli stati del sistema per ricavare i coefficienti incogniti.

Per meglio illustrare il metodo, la Fig. 23.5 riporta un caso completo con  4 coefficienti

Fig.23.5   -   Determinazione dei coefficienti con metodo matriciale.

L'esempio simula un sistema con coefficienti assegnati per ricavarne il comportamento dinamico, cioè la risposta (y) ad un'eccitazione (u), che in questo caso è rappresentata da un impulso positivo seguito da uno negativo.

Determinati i valori nei vari istanti, così come potrebbero essere acquisiti sperimentalmente in una prova reale, questi vengono utilizzati nella matrice  M  per poi ricavarne la matrice inversa (il Mathcadâ la calcola automaticamente) ed infine la matrice  q  dei coefficienti.

Ovviamente, in assenza di disturbi o di errori di conversione (come inevitabilmente avverrebbe in una prova reale), i risultati devono coincidere con i coefficienti assegnati in partenza.

Fig. 23.6   -   Ricerca parametri mediante minimizzazione degli  scostamenti quadratici.

Risulta quindi chiaro che se si utilizzassero invece valori acquisiti sperimentalmente si otterrebbero i coefficienti relativi al blocco incognito.

Poichè  però i valori sperimentali sono soggetti a disturbi, il calcolo dei coefficienti incogniti risulta affetto da errori e per ridurli si ricorre alla minimizzazione degli scostamenti quadratici (analogamente a quanto già visto in  Fig. 23.1).

In  Fig. 23.6 è riportato il metodo seguito: simulando un sistema con solo 2 parametri ma affetto da errori casuali, si ricava un numero di stati (quindi di equazioni) superiori al minimo necessario (3 anzichè 2) e , quadrando , derivando rispetto ai singoli parametri ed uguagliando a zero, si minimizzano gli errori di valutazione dei parametri stessi.

Questi vengono infatti ricavati da un sistema di 2 equazioni che contengono le sommatorie dei vari stati d'ingresso (u) e di uscita (y) del blocco .

Fig. 23.7   -   Applicazione del metodo matriciale ad un sistema con 4 parametri (e  8  equazioni degli stati)

La  Fig. 23.7  ne illustra un'applicazione in cui si è eliminata l'influenza  dei disturbi per mostrare l'esattezza del metodo.

Si noti che per l'effettivo svolgimento dei calcoli,  il segnale di eccitazione u deve presentare ad ogni istante di campionamento una variazione rispetto al valore precedente (in questo esempio si è adottata una rampa a scalini), altrimenti la  matrice degli stati presenta singolarità.

La semplicità formale dell'espressione risolvente non deve però far credere ad una semplicità di calcolo, e la figura riporta anche le matrici di passaggio per dare un'idea del grande numero di calcoli necessari ad arrivare ai risultati (soprattutto per l'inversione delle matrici) anche in casi con relativamente pochi dati.

Deve comunque risultare chiaro che tali elaborazioni sono possibili solo in ambienti di sviluppo opportuni (quali appunto il Mathcadâ) che permettono l'uso diretto del calcolo matriciale e non è quindi facilmente trasportabile in programmi applicativi.

La considerazione dei tempi di calcolo conseguenti fa capire inoltre che tali metodi sono difficilmente applicabili in ‘tempo reale', cioè per l'identificazione  ‘in linea' dei parametri di un sistema.

Per scopi di ottimizzazione in linea,  cioè per l'adattamento automatico dei parametri di regolazione in funzione della variazione degli effettivi parametri del sistema, si devono utilizzare forme ricorsive di valutazione che riducono l'ammontare dei calcoli.

Ad ogni modo, la possibilità di individuare i parametri di un sistema incognito attraverso semplici rilievi sperimentali ed utilizzando uno dei metodi illustrati in questo capitolo, consente già la possibilità di ottimizzare il progetto di regolazione: uniche assunzioni devono essere la struttura del sistema stesso (cioè il numero di parametri che si suppone lo caratterizzino) e la costanza nel tempo di tali parametri.


[1] Si osserva che       

 

Regolazione digitale ottimizzata (24)

Come si è già visto precedentemente, una volta noti i parametri del sistema da controllare, cioè dopo aver ‘identificato’ il sistema, è  facile calcolare i coefficienti di un regolatore a struttura polinomiale che  dia  una risposta prefissata.

Fig. 24.1   -   Esempio di regolatore digitale ottimizzato e con risposta prefissata (T = 5 sec).

Precisamente, nota la struttura ed il valore dei singoli parametri del blocco

      a0s
  G(z)   = ---------------------
    1 - b1s·z-1 - b2s·z-2

(considerando il caso di un sistema con 2 costanti di tempo), si possono ricavare i coefficienti di un regolatore che faccia risultare il prodotto dei blocchi  R·G  un integratore puro come visto in  Fig. 21.4, e che quindi una volta chiuso l’anello il sistema totale corrisponda ad una costante di tempo prefissata (Tdes).

Si devono  pertanto calcolare i coefficienti del regolatore

      a0r + a1r·z-1 + a2r·z-2
  R(z)   = --------------------------
      1 - b1r·z-1

in modo che risulti  

     DT /  Tdes
  R(z)·G(z)  =  --------------
       1  -   z-1

La  Fig. 24.1  mostra questo calcolo partendo da coefficienti noti del sistema (ricavabili ad esempio sperimentalmente, come illustrato nel capitolo precedente), e paragonando poi la risposta ‘naturale’ del sistema (ad anello aperto, senza regolatore) a quella  ‘ottimizzata’ (col regolatore ed in anello chiuso).

Quello che la figura non mostra è che per ottenere queste prestazioni, l’uscita del regolatore  (u)  deve poter raggiungere in corrispondenza del gradino di riferimento,  valori molto alti (precisamente l’ampiezza del gradino moltiplicato per  a0r, quindi nell’esempio  6.667 volte il gradino stesso).

Se ciò non può avvenire e, per effetto della ‘saturazione’  del regolatore,  u  viene limitato ad un valore più basso,  non solo non si ottengono le prestazioni desiderate, ma vi è anche pericolo di instabilità.

Si osservi tuttavia che l’ampiezza della correzione dipende dal rapporto   DT / Tdes,  cioè dal periodo di campionamento  rispetto alla costante di tempo desiderata: se non si vuole diminuire quest’ultima occorre cercare di ridurre il primo [1].

Come è già stato detto, solo con una simulazione che eventualmente tenga conto dell’effetto saturazione è possibile progettare buoni regolatori digitali ottimizzati ma, data l’importanza concettuale, verranno comunque illustrati nel seguito di questo capitolo altri metodi teorici di  autosintonia (self-tuning) e di  autoadattività  (adaptive control).

La differenza fra queste due forme di adattamento automatico del regolatore ai parametri del sistema, consiste  semplicemente nella invarianza di questi ultimi: se possono ritenersi costanti (almeno per un certo tempo) è sufficiente una sola taratura automatica iniziale  (‘autosintonia’), altrimenti l’adattamento deve essere continuo per seguire i cambiamenti del sistema (‘autoadattatività’).

La  prima di queste forme è ricavabile da quanto è già stato visto, unendo la procedura di identificazione con quella del calcolo dei parametri ottimi, come  nell’esempio di  Fig. 24.2.

L’assenza di disturbi di acquisizione (dovuta alla simulazione), rende applicabile il minimo numero di equazioni (3) necessarie per ricavare i parametri del regolatore ottimizzato, che sono quindi disponibili già dalla quinta scansione (sempre considerando il caso di 2 costanti di tempo). 

Fig. 24.2   -   Esempio simulato di  autosintonia.

Nell’applicazione pratica,  l’autosintonizzazione viene avviata su apposito comando ed in concomitanza con uno speciale impulso di riferimento. Naturalmente deve essere ripetuta quando si  ritenga che il  sistema controllato  abbia  cambiato le sue caratteristiche.

Esempi di applicazione potrebbero essere la temperatura di una cella di trattamento termico, la cui dinamica varia in funzione della massa  sottoposta a riscaldo, oppure il movimento di un carrello che varia in funzione della massa  caricata.

Occorre tuttavia valutare l’influenza degli errori di acquisizione e potrebbe essere necessario ricorrere a forme più sofisticate di calcolo, quale quello ai minimi quadrati visto in  Fig. 23.7, con un numero di  osservazioni superiori a quanto strettamente richiesto dal numero di  parametri da determinare.

Ciò comporta complessità (e tempi) di calcolo, con apparati allo stato attuale difficilmente  giustificabili  dal punto di vista economico.

Ancor  più  problematica  appare  la realizzazione  di apparati di  valutazione continua, cioè  autoadattativi.

L’osservazione  principale è che qualsiasi  algoritmo di identificazione del sistema controllato in presenza di disturbi, richiede che il segnale d’ingresso al sistema (u)  abbia una variazione  rispetto all’istante precedente di molto superiore al possibile disturbo.

In altri termini il sistema può essere identificato solo in presenza di forti variazioni  del segnale d’ingresso e una  lenta deriva dei parametri non è quindi rilevabile se non con brusche variazioni del segnale uscente dal regolatore, ma questo però contrasta con la regolarità  della stessa azione di controllo.

La  Fig. 24.3  rappresenta  il principio su cui si basano i sistemi autoadattativi, che va però interpretato  tenendo presente l’osservazione precedente.

 

Fig. 24.3   -   Principio della regolazione autoadattativa.

A chiarimento del problema, è opportuno sottolineare che ciò ha ragione di essere solo se il sistema controllato ha parametri che variano nel tempo.

La  Fig 24.4a esemplifica un possibile sistema in cui si suppone una  sola ‘costante di tempo’  T , che ha però un andamento variabile nel tempo.

Nella versione digitale, questo dà luogo alla definizione di 2 parametri a e b   [2], ovviamente anche loro variabili nel tempo.

L’andamento della risposta al gradino di tale blocco dipende quindi dall’istante in cui si applica il gradino o, meglio, dai valori di  T negli intervalli di risposta. La  figura mostra chiaramente  tale comportamento

Fig. 24.4a  -  Esempio di sistema con ‘costante di tempo’ non fissa, ma  variabile (linearmente) nel tempo.

Il tentativo di applicare un regolatore per ottenere un certo andamento desiderato non può quindi avere successo con un normale regolatore a parametri fissi ed è quindi evidente che soltanto con un regolatore autoadattativo si possa raggiungere lo scopo.

La  Fig.24.4b mostra i risultati con regolatori dei due tipi, entrambi tarati per ottenere Tdes = 2 sec .

Nel secondo caso l’autoadattività è stata però ottenuta in anticipo (‘fuori linea’), supponendo la conoscenza preventiva dell’andamento di T, il che non è generalmente possibile  nelle applicazioni pratiche. Da qui l’interesse per procedure di autoadattività  in linea.

 

Fig.24.4b  -   Regolazioni del sistema  a  T variabile della  Fig.24.4a.

Confronto fra regolatore a parametri fissi  e  regolatore autoadattativo (cioè con parametri variabili  calcolati in  funzione della variazione di T ).

I metodi di identificazione ‘continua’ si basano su procedimenti di tipo ricorsivo cioè su una valutazione che si aggiorna ad ogni nuovo campionamento.

La  Fig. 24.4c mostra un esempio di regolazione autoadattativa dello stesso sistema  prima esaminato, con  T  variabile linearmente da 1 a 9 sec. 

Il calcolo dei parametri del sistema viene fatto ad ogni scansione, basandosi sul sistema di equazioni di pag. 23-7  per ricavare i parametri  del sistema (a0s e b1s) dai valori di  u  e   y.

Risulta:  

      ( y t-1 ) 2  -   y t-2·y t         y t·u t-1 -  y t-1·u
  a0st    =   b1st   =  
      y t-1·u t-1 -  y t-2·u t         y t-1·u t-1 -  y t-2·u t 

Questi vengono utilizzati  per ricavare i parametri ‘ottimi’ del regolatore (a0r  e  a1r), seguendo le relazioni di pag. 22-2.

       T  +   DT        -T      
a0r  =   -------------- a1r =    -------- b1r  = 1
    Tdes        Tdes      

Poichè  in un sistema con semplice costante di tempo e guadagno unitario è anche:

      DT      T
a0s  =  ------------- b1s  = --------------
    T  +   DT       T  +   DT

si possono esprimere i parametri del regolatore in funzione dei parametri del sistema

(eliminando T):

       DT         - DT · b1s
a0r =   ------------- b1r  = -------------
     Tdes ·a0s         Tdes · a0s

Le espressioni nel procedimento di simulazione della  Fig. 24.4c, sono quindi il risultato della composizione del metodo di identificazione con quello di ottimizzazione, per ottenere (almeno in teoria)  una risposta prefissata  Tdes, anche nel caso di  T  variabile.

Il riferimento  R  è un’onda quadra fra  +10  e  - 10 e l’andamento di  y  mostra che questo viene seguito con una ‘risposta’  pressochè costante, corrispondente  a  Tdes = 2 sec.

Fig. 24.4c  -  Esempio (semplificato) di procedura  autoadattativa.

Ovviamente ciò richiede un ‘forzamento’ sempre più spinto man mano  T cresce  rispetto   Tdes  (cioè il segnale u d’ingresso al sistema deve raggiungere valori sempre più elevati),  il che è visualizzato nei picchi dell’ultimo grafico della figura.  Questo presuppone la mancanza di qualsiasi limitazione, cioè che il regolatore non si ‘saturi’  [3].

L’ultimo grafico mostra anche l’andamento (amplificato) di uno dei parametri del regolatore autoadattativo (a1r).

Per sistemi a molti parametri si deve ricorrere al calcolo matriciale e il metodo più adottato in questo caso è quello noto come  RLS (Recursive Least Square, ossia ricorsivo ai minimi quadrati) 

Nota la stima dei parametri riferita al campionamento precedente (rappresentata dalla matrice qt-1), si tenta di prevedere quale sarà l’attuale valore di uscita (yt  dovrebbe essere uguale a   MTt · qt-1, dove MTt  è la matrice degli stati rilevati nel campionamento attuale). In generale si avrà però una differenza dovuta sia alla variazione dei parametri sia alla presenza di errori. 

Si può quindi scrivere un’equazione matriciale che ricavi la nuova stima dei parametri

                          q t  =  q t-1 +  gt · ( yt - MTt · q t-1)

dove   gt   è una ‘matrice correttiva’ che permette di calcolare la variazione dei parametri dall’errore di valutazione riscontrato.

Questa può essere espressa in funzione di un’altra matrice  P che inizialmente è una ‘matrice identità’  I  [4]  e che tiene conto degli scostamenti quadratici dell’errore

Senza entrare nella dimostrazione, il metodo ricorsivo richiede ad ogni scansione l’esecuzione della seguente serie di  calcoli matriciali:

                         g t  =   Pt-1 · M t · ( MTt · Pt-1 · M t + 1)-1

                         q t  =  q t-1 +  gt · ( yt - MTt · q t-1)

                         Pt  =  ( I -  gt · MTt ) · Pt-1

Come si vede, la complessità di questi calcoli giustifica quanto è stato detto alla fine del capitolo precedente, in quanto non solo l’implementazione algebrica risulta difficile anche per pochi parametri, ma soprattutto i tempi di calcolo diventano proibitivi per applicazioni ‘in linea’.

Considerando il caso molto semplice (ma anche spesso sufficiente in pratica) di una sola costante di tempo  e di guadagno unitario, come considerato nell’esempio di  Fig. 24.4c, viene indicato in  Fig. 24.5 un metodo di identificazione elementare ma molto ‘robusto’ (cioè meno sensibile agli effetti dei disturbi), implementato in linguaggio Basic.

Poichè in questo caso  vale        yt = b1s· yt-1 +a0s· ut   con   b1s+a0s = 1,

indicando con  b la stima del parametro b1s, si ottiene:

      yt =  b·yt-1 + (1- b)·ut        da cui           b = (yt - ut ) / (yt-1 - ut )

If yp<> u And Abs(y - yp) > dmx  Then

     b = (y - u) / (yp - u)

     If b > bp + pmx Then b = bp + pmx

     If b < bp - pmx Then b = bp - pmx

  End If

  bp=b 

a) programma Basic (da eseguire ad ogni scansione). 
b) sistema eccitato con onda quadra senza disturbi

 c) sistema eccitato con onda quadra in presenza di forti disturbi

Fig. 24.5   -   Metodo di stima nel caso del solo parametro  b.

La  Fig. 24.5a  mostra l’implementazione  di questo calcolo, che deve evitare divisioni per zero ed attivarsi solo in caso di decise variazioni del segnale (superiori al massimo disturbo previsto dmx).

Per evitare la diretta influenza dei disturbi, si è posto un limite pmx alla variazioned di  b, che dovrebbe corrispondere alla massima pendenza della variazione prevista per  b1s.

Nella parte superiore del riquadro 24.5b viene mostrato l’andamento di  u (onda quadra) e di y (onda con andamenti esponenziali) supponendo una variazione sinusoidale del parametro  b1s  (da   0.601  a  0.999, come mostrato nella linea continua nella parte inferiore del riquadro).

La  linea a scalini è invece la sua stima, cioè  b, ricavata dal programma precedente.

Il riquadro 24.5c mostra la stessa situazione, ma con disturbi casuali fino al  20% del segnale: si vede che malgrado la forte distorsione, la stima di b rimane buona.

Un regolatore  autoadattativo ed ottimizzato, basato su questo metodo di stima avrebbe quindi come parametri:

    DT        - DT · b      
a0r = --------------   a1r    = --------------   b1r = 1
    Tdes·(1- b)      Tdes·(1- b)      

La  Fig. 24.6  riporta un esempio di questo tipo, in cui all’anello viene applicato un riferimento a onda quadra  R (±10 V, a 2 Hz) e l’uscita del regolatore  u  pilota un sistema con uscita  y  e con costante di tempo T linearmente variabile da  10  a  60 ms.

 Fig. 24.6   -   Simulazione di un anello con regolatore autoadattativo su un sistema a costante di tempo variabile linearmente.

La costante di tempo desiderata, cioè quella che si tenta di imporre all’anello chiuso, è stata fissata in 20 msec  (Tdes = 20 ms), quindi si vede che inizialmente il regolatore deve attenuare l’uscita di controllo, mentre con il crescere di  T  deve forzarla sempre più.

La simulazione dimostra quindi che stimando in linea il parametro  b e calcolando con questo i parametri ottimi del regolatore, si raggiunge lo scopo di mantenere costante la risposta dell’anello pur in presenza di una notevole variazione di  T (da 1 a 6).

Si deve comunque ancora una volta sottolineare che tutto ciò è  purtroppo valido solo in mancanza di saturazione e che quindi tali risultati non sono  quasi mai ottenibili nelle applicazioni reali.

Il prossimo capitolo sarà appunto dedicato ai tentativi di minimizzare gli effetti della saturazione.


[1] Per valori di  DT  diversi da 1 occorre esprimere il tempo nel programma di figura non come  t , ma come  tn = n · DT .

[2]  Vengono così indicati per brevità  i parametri  rispettivamente a0s  e   b1s  del blocco  digitale S(z) del sistema, che dipendono dalla T e dall’intervallo di scansione  DT.

Se il guadagno del blocco è unitario,  si ricorda che  a0s + b1s = 1 ( pag. 19-2).

[3]  Il caso è anche ideale perchè presuppone la mancanza di disturbi ed il fatto che  u¹0.

[4] Viene definita matrice identità  I  una matrice costituita da valori nulli ( = 0) eccetto quelli in diagonale che sono = 1. Per una più elevata convergenza, è però opportuno che la matrice iniziale sia moltiplicata per un fattore elevato (per es. 1000).

0

Commenti e note

Inserisci un commento

Inserisci un commento

Per inserire commenti è necessario iscriversi ad ElectroYou. Se sei già iscritto, effettua il login.