Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

PID: stima dei parametri (dalla teoria alla pratica)

Sensori, trasduttori, regolatori...
2
voti

[1] PID: stima dei parametri (dalla teoria alla pratica)

Messaggioda Foto Utentegrandegiove » 16 dic 2011, 12:16

Spero di avere individuato la sezione del forum più adatta all'esposizione del problema.

Giusto per contestualizzare il problema diciamo che spesso mi trovo a dover progettare e realizzare schede elettroniche custom (a microcontrollore)per il controllo e la regolazione di processi.Nella fattispecie l'azionamento è normalmente effettuato su elettrovalvole proporzionali collegate a motori idraulici mentre i parametri di controllo e feedback del sistema variano da applicazione ad applicazione.

In fase di sviluppo ho quindi cercato di applicare le nozioni teoriche di "Controllo di sistemi automatici" cimentandomi in implementazioni molto empiriche del re dei sistemi di controllo: il buon vecchio PID.
Ma già dalle prime fasi sono arrivato ad ottenere ottimi risultati realizzando di fatto un controllore essenzialmente P (proporzionale), dimensionando empiricamente il coefficiente di proporzionalità e l'intervallo di accesso alla regolazione.

Per esigenze di tempo non ho quindi approfondito il dimesionamento del controllore PID e ho proceduto alla realizzazione delle schede buoni risultati.

Ora, per motivi ancora da verificare, qualcosa è cambiato nella risposta di uno dei sistemi per il quale è previsto il controllo: non riesco quindi a trovare un buon compromesso fra l'oscillazione dell'uscita a regime e i tempi di reazione.

Sto quindi pensando di strutturare finalmente un controllore PID per vedere di ottimizzare il controllo. Per quanto riguarda la stima dei parametri temo di non avere tempo e modo di effettuare uno studio approfondito col fine di estrarre la funzione di trasferimento del processo, zeri, poli (successivo step? ;) )
D'altro canto nemmeno una stima empirica dei 3 coefficienti del controllore non mi sembra una buona idea perché rischierei di imbarcarmi in una infinita serie di prove in stile "gatto che si morde la coda".

Utilizzare i metodi empirici di Ziegler-Nichols mi sembra un buon compromesso per una stima iniziale dei parametri. Il principale ostacolo è come passare per la prima volta dalla teoria alla pratica. Riporto quindi brevemente il principio:

Il Primo Metodo di Ziegler-Nichols cerca di trovare i guadagni “ottimi” del regolatore identificando dei parametri dinamici del sistema da controllare, in catena aperta. In particolare, osservando la risposta al gradino

Si identificano i parametri
- Ritardo di risposta, tr .
- Costante di tempo, τ.
- Guadagno statico, K.

Immagine.JPG
Immagine.JPG (16.6 KiB) Osservato 10931 volte


mediante il quale è possibile ricavare i 3 coefficienti del controllore


Passiamo ora alla descrizione pratica di ciò che ho "in mano io".

-Il parametro di azionamento è il duty cycle di un'onda PWM (risoluzione 10 bit) che comanda un'elettrovalvola collegata ad un motore idraulico.

-Il parametro di feedback è dato dalla misura della frequenza del segnale di un encoder montato sul motore idraulico.

Il "setpoint" è dato dalla misura della frequenza del segnale di un encoder montato su una ruota (vhe non ha niente a che vedre col motore idraulico) mediante il quale mi calcolo la frequenza obbiettivo del segnale dell'encoder del motore idraulico.

Ora mi chiedo: come traduco in pratica la procedura di analisi della risposta a gradino?

La curva di risposta immagino la debba costruire graficando l'evoluzione della frequenza del segnale di feedback in seguito alla sollecitazione a gradino.

I dubbi restano sull'"ampiezza" del segnale gradino (che duty cycle? Si tenga conto che esiste un valore di dutyMin sotto il quale il motore non si muove e un valore di dutyMax sopra il quale ogni incremento non porta ad un incremento della velocità del motore[saturazione]).

L'effettivo calcolo dei parametri aggiustando in maniera opportuna le unità di misura :roll:

Spero di essere stato comprensibile nell'esposizione..

Sono ansioso di passare dalla teoria alla pratica.. :ok:

Grazie mille O_/
Avatar utente
Foto Utentegrandegiove
1.151 1 4 8
Expert
Expert
 
Messaggi: 517
Iscritto il: 18 ott 2010, 9:59

0
voti

[2] Re: PID: stima dei parametri (dalla teoria alla pratica)

Messaggioda Foto Utenteg.schgor » 16 dic 2011, 12:32

grandegiove ha scritto:-Il parametro di feedback è dato dalla misura della frequenza del segnale di un encoder montato sul motore idraulico.

Questo mi sembra un punto critico: come viene "misurato" il feedback?
(una misura convenzionale della frequenza può introdurre un ritardo
inaccettabile nel loop). Puoi precisare?
Avatar utente
Foto Utenteg.schgor
57,8k 9 12 13
G.Master EY
G.Master EY
 
Messaggi: 16971
Iscritto il: 25 ott 2005, 9:58
Località: MILANO

1
voti

[3] Re: PID: stima dei parametri (dalla teoria alla pratica)

Messaggioda Foto Utentegrandegiove » 16 dic 2011, 12:49

Ciao Foto Utenteg.schgor, grazie della risposta.

(Visto che è la prima volta che ho modo di confrontarmi direttamente con te ne approfitto per farti i complimenti per la consuetà disponibilità e per il tuo lavoro di condivisione di conoscenza che porti avanti da anni.)

La misura della frequenza è effettuata continuamente misurando il tempo fra un fronte di salita ed il seguente sfruttando un timer del microcontrollore ed un ingresso ad interrupt esterno. Essendo la misura immediata e le frequenze abbastanza elevate rispetto all'intervallo di tempo di accesso alla regolazione dovremmo essere abbastanza tranquilli dal punto di vista dell'introduzione di ritardi significativi nel loop di regolazione.
Avatar utente
Foto Utentegrandegiove
1.151 1 4 8
Expert
Expert
 
Messaggi: 517
Iscritto il: 18 ott 2010, 9:59

1
voti

[4] Re: PID: stima dei parametri (dalla teoria alla pratica)

Messaggioda Foto Utenteg.schgor » 16 dic 2011, 15:30

Allora va bene.
Sarebbe però opportuno quantificare le grandezze in gioco:
qual è la risposta delle valvola e quella del motore?
(è cioè possibile fare prove separate per la loro determinazione?)

La regolazione PID è analogica oppure implementata nel microcontrollore?
(uno schema dell'anello chiarirebbe meglio il problema)


PS. Ringrazio degli apprezzamenti e spero di poterti essere utile.
Avatar utente
Foto Utenteg.schgor
57,8k 9 12 13
G.Master EY
G.Master EY
 
Messaggi: 16971
Iscritto il: 25 ott 2005, 9:58
Località: MILANO

1
voti

[5] Re: PID: stima dei parametri (dalla teoria alla pratica)

Messaggioda Foto Utentegrandegiove » 16 dic 2011, 16:45

Fare una caratterizzazione separata dei due elementi diventa un attimino problematico. Quel che volevo fare era applicare il metodo sopracitato per stimare i parametri del controllore ottimo. Per fare ciò pensavo di non sottodividere il sistema ma di vederlo come un scatola nera di cui sono noti ingressi ed uscite e del quale posso valutare la reazione ad un ingresso a gradino.

Di conseguenza ricavare i valori e poi eventualemnte aggiustarli empiricamente.. :roll:
Avatar utente
Foto Utentegrandegiove
1.151 1 4 8
Expert
Expert
 
Messaggi: 517
Iscritto il: 18 ott 2010, 9:59

1
voti

[6] Re: PID: stima dei parametri (dalla teoria alla pratica)

Messaggioda Foto Utenteg.schgor » 16 dic 2011, 18:30

Allora forse ti può essere utile questo,
in particolare il metodo utilizzato nella fig.23.4
Se hai la possibilità di acquisire i dati mediante computer,
è poi facile procedere alle relative elaborazioni.
Avatar utente
Foto Utenteg.schgor
57,8k 9 12 13
G.Master EY
G.Master EY
 
Messaggi: 16971
Iscritto il: 25 ott 2005, 9:58
Località: MILANO

1
voti

[7] Re: PID: stima dei parametri (dalla teoria alla pratica)

Messaggioda Foto Utentegrandegiove » 16 dic 2011, 19:12

Qui c'è da sbizzarrirsi... Procedo con la lettura.. Per ora grazie infinite! :ok:
Avatar utente
Foto Utentegrandegiove
1.151 1 4 8
Expert
Expert
 
Messaggi: 517
Iscritto il: 18 ott 2010, 9:59

6
voti

[8] Re: PID: stima dei parametri (dalla teoria alla pratica)

Messaggioda Foto Utentedimaios » 12 feb 2012, 19:29

La soluzione al problema posto è abbastanza complessa da descrivere in poche righe ma cercherò di dare alcune indicazioni.

1. Linearizzare la curva statica della valvola facendo riferimento al datasheet. Se non linearizzi la valvola a priori non puoi utilizzare i metodi di identificazione propri dei sistemi lineari e parti quindi svantaggiato. Meglio in generale linearizzare a priori.
2. Se possibile , identificare la risposta dinamica del sistema in anello APERTO ovvero con retroazione NON inserita.
( in realtà possono essere identificati anche i sistemi in anello chiuso ma ci sono vari problemi connessi con la persistente eccitazione del sistema che non rendono le operazioni molto semplici ).
Si può eccitare il sistema con un gradino ma è più conveniente un segnale di riferimento che produce uno sweep in frequenza. Campiona ingresso ed uscita ad una frequenza idonea rispetto al teorema di Shannon e poi esegui l'identificazione del sistema lineare tramite un tool quale Matlab o Octave.

3. Discretizza il sistema dinamico continuo identificato PRIMA DI SINTETIZZARE IL CONTROLLORE. Sintetizzare il controllore nel dominio discreto offre diversi vantaggi tra i quali una frequenza di campionamento inferiore per ottenere la stabilità e miglior stabilità numerica degli algoritmi.


Attenzione alle elettrovalvole pilotate con il PWM. In genere hanno una apertura molto lenta intorno all'origine e successivamente aprono i centri molto violentemente. E' per questo che ti consiglio di linearizzare prima di identificare altrimenti il modello non risulta consistente.

Per quanto riguarda il tuning del PID ti consiglio i seguenti libri :

Handbook of PI and PID controller tuning rules
Di Aidan O'Dwyer

PID Controllers: Theory, Design, and Tuning
Tore Hagglund

Advanced PID control
Karl Johan Åström, Tore Hägglund
Avatar utente
Foto Utentedimaios
30,2k 7 10 12
G.Master EY
G.Master EY
 
Messaggi: 3381
Iscritto il: 24 ago 2010, 14:12
Località: Behind the scenes

1
voti

[9] Re: PID: stima dei parametri (dalla teoria alla pratica)

Messaggioda Foto Utentegrandegiove » 21 giu 2012, 17:50

Noto solo ora di non aver ringraziato Foto Utentedimaios per la spiegazione nonostante abbia letto e seguito le indicazioni con attenzione. Mancanza imperdonabile. :oops:

Grazie mille! :ok:
Avatar utente
Foto Utentegrandegiove
1.151 1 4 8
Expert
Expert
 
Messaggi: 517
Iscritto il: 18 ott 2010, 9:59


Torna a Sensoristica

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite