Spiegazione del controller PID


9

Non ho trovato un testo che spieghi il controller PID in parole semplici. Conosco la teoria: calcola la derivata, il guadagno proporzionale e l'integrale ecc., Ma devo sapere in realtà qual è l'output di ciascuna funzione e di ogni combinazione di funzioni.

Ad esempio, a partire dalla proporzionale: invia un input proporzionale all'errore registrato. Quindi se l'errore è 5 V, fa per diminuirlo? o ? oppure o cosa? Non capisco.1125 V-1155 V155 V

Per quanto riguarda la derivata, monitora la derivata per un tempo specifico? E poi cosa fa? Inoltre, cosa succede se all'inizio c'è un rumore / disturbo, quindi il controller PID non avrà normali tassi di variazione di utilizzo da confrontare? Lo stesso con integrale. Puoi indicarmi una buona risorsa o spiegarmi per favore?

Risposte:


11

Una funzione PID che la maggior parte delle persone usa ogni giorno è la coordinazione occhio-mano per guidare un'auto o una bicicletta. I tuoi occhi sono l'input, l'angolo del volante / manubrio è l'output. Il set point è di solito il centro della corsia (fino a quando un cervo non salta fuori o un cane ti insegue).


La tua mente deve considerare costantemente 3 diversi fattori quando si esegue questo compito. L'importanza che attribuisce a ciascun fattore si basa sull'esperienza passata, che si chiama "messa a punto" nel mondo PID.

Proporzionale: "Sono molto distante dal centro della corsia, dovrei tornare indietro in quella direzione."
Naturalmente, se sono più lontano, voglio diventare più acuto che se sono molto vicino. Questo mi permetterà di tornare al centro della mia corsia in modo tempestivo.

Derivata: "Meglio non solo tirare la ruota / manubrio in quella direzione o correggerò eccessivamente, rotolerò e andrò in crash".
Potresti essere nella grondaia, ma la tua esperienza di guida ti insegna che se svolta bruscamente le cose cambieranno molto rapidamente e devi ridurre la nitidezza che svolta per evitare di sparare oltre il tuo setpoint ed entrare nel traffico in arrivo.

Integrale: "Il vento continua a spingermi fino al limite della strada e devo trasformarmi in esso per rimanere grosso"
Sei abbastanza vicino al centro della tua corsia, ma non esattamente dove vuoi essere. La proporzione è piccola perché sei molto vicino e la derivata è piccola perché non stai cambiando molto velocemente. Integrale è il termine che interviene e dice "Ehi ora, so che non siamo molto lontani ma siamo stati fuori per molto tempo; che ne dici di trasformarci nel vento in modo da poter mantenere il nostro set point."

I PID non sono perfetti e le tue capacità di guida sono in realtà un po 'migliori di un PID standard. Sei abbastanza intelligente da capire che quando il vento scompare (per qualche ragione sconosciuta) azzeri il termine integrale e non vaghi nel traffico opposto mentre aspetti che il vento torni. Anche gli esseri umani si sintonizzano automaticamente durante il funzionamento considerando altri input come accelerazioni e fisica, mentre la maggior parte delle macchine / computer non è attualmente in grado di farlo.


Grazie bella spiegazione Quindi, per riassumere, la correzione proporzionale sarebbe l'ideale ma presenta questi svantaggi: non può far fronte all'inerzia, non può far fronte ai rumori esterni. Ecco perché abbiamo bisogno di D per far fronte all'inerzia e io per far fronte ai rumori. È un buon riassunto? Mi manca qualcosa?
ergon,

La proporzione funziona alla grande quando hai molto tempo per arrivarci. Sintonizzalo su smorzato e funzionerà bene. Integral si assicura che raggiungiamo il nostro vero set point quando siamo vicini ma non del tutto lì. Il derivato è molto importante quando vogliamo raggiungere rapidamente il nostro set point. La proporzionale è impostata su un livello di aggressività maggiore rispetto a Derivative per ridurre il superamento; non solo per contrastare l'inerzia ma anche per contrastare l'uscita (angolo del volante).
Ericnutsch,

Il PID non conosce il sistema @ergon. Questa è la bellezza del PID, ma anche il suo più grande fallimento. Non è in grado di anticipare le cose, può solo reagire. Derivare è in pratica un po 'difficile poiché è spesso rumoroso a causa di come viene misurato. Contrasta principalmente i grandi valori di P.
joojaa,

9

In termini intuitivi ho trovato utile la seguente spiegazione.

Per ragioni di argomento, supponiamo che il nostro sistema stia riempiendo un secchio con un buco nell'acqua di un rubinetto. Misuriamo la profondità dell'acqua nel secchio e controlliamo la portata dell'acqua tramite un rubinetto. Vogliamo riempire il secchio il più rapidamente possibile, ma non vogliamo che trabocchi.

L' elemento proporzionale è una misura lineare, in questo caso l'altezza dell'acqua nel secchio è una misura utile di quanto è pieno il secchio in un dato momento ma non ci dice nulla su quanto velocemente si sta riempiendo così quando notate che è pieno, potrebbe essere troppo tardi per chiudere il rubinetto o se lo riempiamo troppo lentamente l'acqua colerà attraverso il foro più velocemente di quanto si riempia e non si riempie mai del tutto.

Sulla carta questo suono sembra che dovrebbe essere sufficiente da solo e in alcuni casi lo è, tuttavia si guasta quando il sistema stesso è intrinsecamente instabile (come un pendolo invertito o un jet da combattimento) e il ritardo tra la misurazione dell'errore e il l'effetto dell'ingresso è lento rispetto alla velocità con cui il rumore esterno ha indotto perturbazioni.

L' elemento derivato è il tasso di variazione del livello dell'acqua. Ciò è particolarmente utile quando vogliamo riempire il secchio il più rapidamente possibile, ad esempio potremmo aprire il rubinetto fino in fondo per riempirlo rapidamente ma chiuderlo un po 'una volta che il livello si avvicina alla cima, quindi noi può essere un po 'più preciso e non riempirlo eccessivamente.

L' elemento integrale è il volume totale di acqua aggiunta al secchio. Se il secchio ha i lati dritti, questo non ha molta importanza in quanto si riempie ad una velocità proporzionale al flusso d'acqua, MA se il secchio ha i lati rastremati o curvi, il volume dell'acqua in esso inizia ad avere un effetto sulla velocità con cui il livello dell'acqua cambia. Più in generale, poiché si tratta di un integrale che si accumula nel tempo, quindi applica una risposta maggiore se gli elementi P e D non si correggono abbastanza, ad esempio mantenendo il secchio pieno a metà.

Un altro modo di vedere questo è che l'integrale è una misura dell'errore cumulativo nel tempo ed è effettivamente un controllo sull'efficacia della strategia di controllo nel raggiungimento del risultato desiderato ed è in grado di modificare l'input in base a come si comporta realmente il sistema per un periodo di tempo.

Quindi in sintesi:

l'elemento P (proporzionale) è proporzionale alla variabile che si desidera controllare (come un semplice termostato)

l'elemento D (derivato) è proporzionale al tasso di variazione di quella variabile

l'elemento (integrale) è forse il più difficile da capire ma si riferisce alla quantità che il tuo parametro P sta misurando in genere questa sarà una quantità cumulativa come volume, massa, carica, energia ecc.


Risposta incredibile, migliore spiegazione che ho trovato ovunque. Ma altre 2 domande: 1. Come sono sintonizzati i parametri? Automaticamente o in altro modo? Se fosse solo un parametro, vedo vagamente come potrebbe essere spostato verso l'alto o verso il basso, ad esempio algoritmicamente, arrivando infine a un valore stabile. 2. In un certo senso, questo stesso valore porta alla necessità di un sistema PID se la natura dell'ambiente dovesse cambiare. Ad esempio, se il secchio o il rubinetto dovessero essere modificati, come potrebbero essere fatti i parametri per adattarsi in modo più efficiente? Spero che questo non stia chiedendo troppo, forse merita una domanda separata o due?
CL22,

L'ottimizzazione dei parametri si riduce in primo luogo al modo in cui si modella il sistema. Puoi farlo matematicamente con le trasformazioni di Laplace che modellano la risposta del sistema rispetto alla frequenza, cioè la tratti come un sistema di massa / molla / smorzatore. Oppure puoi semplicemente avere un sistema fisico in cui devi solo regolare quadranti e manopole reali. In pratica potrebbe finire per essere un po 'di entrambi, il modello matematico ti dà un ragionevole punto di partenza che puoi mettere a punto in risposta al comportamento del mondo reale.
Chris Johns,

@Jodes in pratica i sistemi reali molti hanno comportamenti che non possono essere conosciuti in anticipo con la modellazione.
joojaa,

4

I controller PID utilizzano i parametri di ottimizzazione per regolare la risposta.

Dall'equazione per il controllo PID:

inserisci qui la descrizione dell'immagine

I tre termini del pedice K sono i parametri di regolazione e ce n'è uno per ogni termine dell'uscita del controller PID: proporzionale, integrale e differenziale.

Quindi, ad esempio, con un errore di + 5 V e un Kp di 0,3, l'uscita sarebbe 1,5 V. Allo stesso modo per i termini integrale e differenziale.

In pratica, questi parametri sono determinati sperimentalmente. Il metodo di ottimizzazione di Ziegler-Nichols (pdf) è un semplice metodo euristico che era molto popolare nel settore.

Al giorno d'oggi, la maggior parte dei controller PID e delle funzioni PLC standard sono integrati.

Spero che aiuti!

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.