Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

Spiegazione PID

PLC, servomotori, inverter...robot

Moderatori: Foto Utentedimaios, Foto Utentecarlomariamanenti

1
voti

[11] Re: Spiegazione PID

Messaggioda Foto UtenteEdmondDantes » 13 ago 2018, 18:08

Hai mai studiato seriamente su un libro/dispense?
Dalla tua ultima affermazione, il dubbio sui PID passa in secondo piano. Inutile sapere cosa accade quando passo da 1,5 s a 2 s e roba del genere se poi ti presenti con domande di questo tipo.
Vai in biblioteca e scegli un libro di controlli automatici. Dopo averlo studiato, ripassa da qui.
Il Conte di Montecristo

Se non studio un giorno, me ne accorgo io. Se non studio due giorni, se ne accorge il pubblico.
La scienza non è democratica e le sue leggi non si decidono per alzata di mano.
Non seguo il metodo Montessori.
Avatar utente
Foto UtenteEdmondDantes
8.420 7 11 13
G.Master EY
G.Master EY
 
Messaggi: 2595
Iscritto il: 25 lug 2009, 22:18
Località: Marsiglia

0
voti

[12] Re: Spiegazione PID

Messaggioda Foto Utentestardust79 » 21 ago 2018, 17:23

EdmondDantes ha scritto:Hai mai studiato seriamente su un libro/dispense?
Dalla tua ultima affermazione, il dubbio sui PID passa in secondo piano. Inutile sapere cosa accade quando passo da 1,5 s a 2 s e roba del genere se poi ti presenti con domande di questo tipo.
Vai in biblioteca e scegli un libro di controlli automatici. Dopo averlo studiato, ripassa da qui.

Non so a chi ti riferisca. Ma se parli di me, è anni che studio ma non ci arrivo proprio.
Almeno mi chiedo il senso delle cose al contrario di altri che studiano mnemonicamente.
Avatar utente
Foto Utentestardust79
40 7
Frequentatore
Frequentatore
 
Messaggi: 110
Iscritto il: 24 dic 2013, 18:13

2
voti

[13] Re: Spiegazione PID

Messaggioda Foto UtenteWALTERmwp » 22 ago 2018, 17:08

Ciao Foto Utentestardust79, io non ho capito esattamente cosa tu non abbia capito, e ne capisco poco anch'io però, cercando di capire, faccio un esempio semplice e banale(magari pure errato), così magari ci capiamo o facciamo più confusione, vediamo.

Ipotizziamo che l'acqua in un serbatoio(una vasca) debba essere mantenuta ad un determinato livello, non di più non di meno; se il livello scende bisogna reintegrare per il ripristino e farlo più velocemente possibile.
Se l'acqua viene prelevata il livello tende ovviamente a diminure, e avviene tanto più rapidamente quanto maggiore è il prelievo a meno che, appunto, non si provvede a far entrare acqua dal punto di alimentazione.
Questo, ad esempio, può essere controllato da un rubinetto(regolato a mano) o, magari, da una valvola motorizzata.
Potremmo considerare il livello la variabile di processo e il gesto di apertura(o chiusura) del rubinetto l'azione di regolazione.
Se al posto del rubinetto mettiamo la valvola motorizzata, capace di aumentare o diminuire la portata in ingresso al serbatoio, come principio non cambia molto, anzi.
Le grandezze (dimensioni, unità di misura ... ) che entrano in gioco sono diverse (livello, grado d'apertura, ... ) ma tra loro possono essere "legate" con le funzioni di un sistema di regolazione.

Non so se ho colto il punto sul quale forse equivochi, magari non ci ho proprio preso comunque, qualunque strafalcione dovessimo scrivere, ci penserebbe Foto Utentedimaios a tirarci le orecchie.

Saluti

p.s.
l'acqua è acqua, ma potrebbe essere gas da bruciare, energia (calore, ... ), anche se per il momento si potrebbe "rimanere sull'acqua" ...
W - U.H.F.
Avatar utente
Foto UtenteWALTERmwp
21,6k 4 8 13
G.Master EY
G.Master EY
 
Messaggi: 6153
Iscritto il: 17 lug 2010, 18:42
Località: le 4 del mattino

11
voti

[14] Re: Spiegazione PID

Messaggioda Foto Utentedimaios » 23 ago 2018, 0:04

WALTERmwp ha scritto:Non so se ho colto il punto sul quale forse equivochi, magari non ci ho proprio preso comunque, qualunque strafalcione dovessimo scrivere, ci penserebbe Foto Utentedimaios a tirarci le orecchie.


Foto UtenteWALTERmwp più che tirare le orecchie vorrei riuscire a dare una risposta semplice ma non banale alla domanda iniziale posta da Foto Utentesorecaro e successivamente ripresa da Foto Utentestardust79.

Partiamo da uno schema semplificato della catena di controllo.




r(t) : Andamento della grandezza di interesse che vorremmo ottenere ( reference )
y(t) : Andamento reale della grandezza di interesse
e(t) : r(t) - y(t) = errore istantaneo
PID(t) : Uscita del controllore che deve in qualche modo portare a zero l'errore e(t).

Senza sapere alcunchè su cosa c'è nella scatola indicata con [?] possiamo solo osservare e(t) e fare qualcosa perché y(t) segua meglio r(t).

e(t) ha un andamento temporale di un certo tipo ( dipende dalle proprietà statistiche del processo aleatorio associato ) e decidiamo di fare quanto segue :



Dividiamo in 3 parti il supporto temporale del segnale rispetto all'istante t_0.

1. Passato
2. Presente
3. Futuro

Se vogliamo che y(t) segua r(t) vuol dire che vogliamo portare a zero il segnale e(t).

Per fare questo scegliamo la seguente strategia.

1. Teniamo conto di quanto è accaduto in passato. E' sempre importante sapere da dove veniamo per capire dove andare in futuro! ( citazione storica che fa comodo anche nei controlli automatici ;-) )
2. Se nel presente ho un errore pari a e(t_0) devo agire in qualche modo avendo a disposizione questo dato che rappresenta l'informazione più "fresca" su cui posso contare.
3. Sarebbe bello sapere anche cosa farà in futuro e(t) così posso agire "prima" sull'azione di controllo al fine di azzerarlo. Prevenire è meglio che curare! ( e 2 citazioni .... ;-) )

Considerazione A ) - Il passato lo considero nel suo complesso. In fondo non mi interessano i dettagli di come sono arrivato ad un certo punto ma solo il fatto che ci sono finito. Anche se le traiettorie che mi hanno condotto ad un certo valore di errore e(t) possono essere infinite scelgo di considerare "l'integrale di ciò che è stato" ed impiegarlo per il controllo ( parte integrale del controllo ).

Considerazione B ) - Il presente conta molto perché è l'ultima certezza a disposizione per regolare il processo per cui peso l'errore attuale e posso impiegare questa quantità istantanea ( istantanea perché si riferisce all'istante t_0 in cui la calcolo ) per dirottare l'errore a zero. ( parte proporzionale )

Considerazione C ) - Il futuro non è predicibile ma la derivata ha sempre aiutato in tal senso! :mrgreen:
Infatti il trend del segnale ci da una indicazione sull'andamento futuro e quindi la derivata nel punto (t_0,e(t_0)) è il candidato ufficiale per darci una mano sulla regolazione del segnale nel futuro prossimo ( non troppo lontano ove la derivata prima non predice granchè ). ( parte derivativa del controllo )

Vediamo graficamente le varie parti del controllo che ci siamo ricavati dal segnale e(t) e "pesiamole in base all'importanza che vogliamo attribuirvi" con tre coefficienti.




Per il passato :

I = K_i \int_{-\infty}^{t_0} e(t) dt

Per il presente :

P = K_p e(t_0)

Per il futuro :

D = K_d \left.\frac{de(t)}{dt} \right|_{t_0}

L'azione complessiva di controllo PID all'istante t_0 riordinando i termini sarà :

PID(t_0)=K_p e(t_0) +K_i \int_{-\infty}^{t_0} e(t) dt+K_d \left.\frac{de(t)}{dt} \right|_{t_0}

A questo punto però bisogna ricavare i pesi K_p K_i e K_d.

Vi sono varie tecniche ma prima di procedere vorrei avere un feedback per capire se la domanda iniziale ha avuto una risposta chiara fino a questo punto.
Ingegneria : alternativa intelligente alla droga.
Avatar utente
Foto Utentedimaios
28,3k 7 10 12
G.Master EY
G.Master EY
 
Messaggi: 3149
Iscritto il: 24 ago 2010, 14:12
Località: Behind the scenes

0
voti

[15] Re: Spiegazione PID

Messaggioda Foto Utentesorecaro » 23 ago 2018, 0:27

dimaios
la tua spiegazione é molto chiara e ti ringrazio per questo. Quello che mi resta difficile da capire non è tanto la spiegazione dei vari parametri ma il loro valore sul campo. Ad esempio con una derivata a 3 secondi come si comporta l'uscita quando cambio il setpoint?? Spero di avere reso l'idea sui miei limiti
Avatar utente
Foto Utentesorecaro
36 3 7
Frequentatore
Frequentatore
 
Messaggi: 233
Iscritto il: 26 feb 2013, 19:30

0
voti

[16] Re: Spiegazione PID

Messaggioda Foto UtenteEcoTan » 23 ago 2018, 8:39

Dipende dalla rapidità del cambiamento, altrimenti che derivata sarebbe?
Avatar utente
Foto UtenteEcoTan
5.164 4 10 13
Expert EY
Expert EY
 
Messaggi: 2968
Iscritto il: 29 gen 2014, 8:54

9
voti

[17] Re: Spiegazione PID

Messaggioda Foto Utentedimaios » 23 ago 2018, 15:36

sorecaro ha scritto:Ad esempio con una derivata a 3 secondi come si comporta l'uscita quando cambio il setpoint?? Spero di avere reso l'idea sui miei limiti


Dipende cosa intendi con uscita.




1. USCITA DEL PID
Se l'ingresso cambia "a gradino" è evidente che la derivata diverge per cui anche 3 volte la derivata diverge. ;-)
In realtà per motivi che non spiego in questo post la derivata non viene calcolata in "maniera pura" poiché fisicamente impossibile ma si tende ad approssimarla "smorzandola" con un filtro passa basso.
In questo modo il termine derivativo non diverge ma è comunque molto grande.
Ricorda che non ha senso produrre un'uscita del regolatore che diverge perché chi accetta il comando u(t) non sarebbe in grado di eseguirlo.
Se per esempio l'ingresso del sistema fosse una valvola di controllo della portata, se gli imponi di aprire +\infty non ha alcun senso in quanto una volta raggiunta la massima portata la valvola non è in grado di erogare di più, fondamentalmente satura.

In ogni caso a fronte di un cambiamento "violento" del riferimento il PID genera un'azione di controllo "violenta" per ripristinare il setpoint.
Se la tua macchina deve effettuare una curva stretta improvvisa ( reference ) le tue mani agiscono rapidamente sul volante per indirizzare le ruote ( controllo ). In pratica agisci in modo violento per seguire la traiettoria. Quanto violenta è la sterzata ( valore dell'azione derivativa ) dipende dal mezzo che stai conducendo ( bicicletta, automobile anzichè un camion ) e dalle condizioni dell'asfalto ovvero il modello del processo che stai controllando.

2. USCITA DEL SISTEMA

Se non conosci cosa c'è nel blocco [?] che ti ho indicato nel post precedente non puoi sapere come varia l'uscita y(t) a fronte di un controllo fornito dall'uscita del PID.

Per conoscere l'effetto devo scrivere l'equazione del processo controllato in mancanza del quale non posso dedurre nulla se non facendo delle prove e vedendo come varia y(t) in funzione di PID(t).
Questo però coincide nell'identificazione del processo P(s) da controllare e siamo tornati al punto di partenza.

La costanti K_p K_i e K_d sono calcolate in base alla funzione di trasferimento del processo ed al funzionale di costo che voglio massimizzare/minimizzare.

Es 1. Si vuole ottenere un margine di fase maggiore di 60° ( funzionale di costo A) )
Es. 2. Si vuole minimizzare il tempo di raggiungimento del valore di regime con energia finita prefissata ( funzionale di costo B) )
Es. 3. Si vuole evitare l'overshoot dell'uscita poiché fisicamente incompatibile con i vincoli. ( funzionale di costo C) )
Es. 4. Si vuole preservare la stabilità del loop chiuso anche in presenza di forti variazioni parametriche del processo ( controllo robusto ). ( funzionale di costo D) )


Come vedi a parità di processo P(s) da controllare applicando i funzionali di costo A) B) C) o D) si otterranno diverse terne di parametri che soddisfano le esigenze.

Concludendo :
Non ha senso parlare di effetto della variabile di controllo in uscita al PID sull'uscita del processo y(t) del processo P(s) se non vengono specificati :

1. Il processo P(s) ed eventuali sue variazioni \Delta P(s)
2. Il funzionale di costo per la valutazione della terna di parametri K_p K_i e K_d
Ingegneria : alternativa intelligente alla droga.
Avatar utente
Foto Utentedimaios
28,3k 7 10 12
G.Master EY
G.Master EY
 
Messaggi: 3149
Iscritto il: 24 ago 2010, 14:12
Località: Behind the scenes

0
voti

[18] Re: Spiegazione PID

Messaggioda Foto Utentestardust79 » 23 ago 2018, 21:12

Ciao ringrazio tutti delle risposte.
Volevo precisare che io in queste cose ci lavoro, e le cose di quest'ultima pagina mi sono chiare da tempo.
Mi occupo di sistemi di controllo di macchinari da svariati MW e anche macchinari direttamente implicati nella sicurezza nel campo nucleare.
Vedo spesso strategie con guadagni di guadagni, sequenze di governors, rate limiters, lowest signal selectors, highest signal selectors, ramp rates, cicli annidati, ecc. funzionali di costo li vedo molto spesso.
l'unica cosa é che non ho una grandissima dimestichezza dal punto di vista matematico dei sistemi di controllo come invece cel'ho per altri campi dell'ingegneria (strutturale, termodinamica, vibrazioni, multibody, ecc.)
Quindi la mia sensazione é quella di avere una conoscenza solo superficiale nel campo in cui sono implicato...

Tornando ai nostro esempi, volevo chiedervi nell'esempio della Texas instrument, l'anello aperto nel quale si studia la FDT \frac{X(s)}{F(s)}=\frac{1}{Ms^2+bs+k}

Abbiamo numericamente che M = 1kg, b = 10 N.s/m, k = 20 N/m, e F(s) = 1.
Quest'ultimo siccome é nella variabile s , immagino che non sia 1 N , ma un delta di dirac giusto ?
ma poi come mai si dice che si studia la risposta a gradino se in tal caso step(t) = 1/s ?
Grazie ciao.
Avatar utente
Foto Utentestardust79
40 7
Frequentatore
Frequentatore
 
Messaggi: 110
Iscritto il: 24 dic 2013, 18:13

5
voti

[19] Re: Spiegazione PID

Messaggioda Foto Utentedimaios » 23 ago 2018, 22:01

stardust79 ha scritto:Tornando ai nostro esempi, volevo chiedervi nell'esempio della Texas instrument


Immagino tu volessi dire National Instruments.

stardust79 ha scritto:Quest'ultimo siccome é nella variabile s , immagino che non sia 1 N , ma un delta di dirac giusto ?


Si dice una delta di Dirac o meglio la distribuzione di Dirac.
Se calcoli la funzione di trasferimento per definizione devi fare la trasformata di Laplace di quanto ottenuto in uscita al sistema quando in ingresso viene posto un impulso di Dirac.

stardust79 ha scritto:ma poi come mai si dice che si studia la risposta a gradino se in tal caso step(t) = 1/s ?


Perché lo scopo che si prefigge è quello di modificare la naturale risposta del sistema ad un gradino.
Per conoscere questa risposta però bisogna avere la funzione di trasferimento del sistema che viene ricavata come descritto sopra.

Non confondere la definizione che porta alla funzione di trasferimento di un sistema con la caratteristica del medesimo che vuoi modificare tramite il controllore.
Ingegneria : alternativa intelligente alla droga.
Avatar utente
Foto Utentedimaios
28,3k 7 10 12
G.Master EY
G.Master EY
 
Messaggi: 3149
Iscritto il: 24 ago 2010, 14:12
Località: Behind the scenes

0
voti

[20] Re: Spiegazione PID

Messaggioda Foto Utentestardust79 » 24 ago 2018, 21:48

dimaios ha scritto:Come ti dicevo quella è la funzione di trasferimento del processo, il controllore viene sintetizzato su questa ed insieme vengono chiuse in loop.

Ciao forse ho capito cosa devo chiedere esattamente..

Nell'esempio National Instrument che é uguale a quelli didatticamente proposti in molti libri, i blocchi e le variabili di stato della funzione in anello chiuso saranno cosi':



é giusto (varibiabili di stato comprese) ? se si proseguiremo oltre. Grazie
Avatar utente
Foto Utentestardust79
40 7
Frequentatore
Frequentatore
 
Messaggi: 110
Iscritto il: 24 dic 2013, 18:13

PrecedenteProssimo

Torna a Automazione industriale ed azionamenti

Chi c’è in linea

Visitano il forum: Nessuno e 0 ospiti