Conversione dei componenti del controller PID con feedback di stato in singola funzione di trasferimento e forma di spazio di stato discreta


9

Sono alle prese con questo problema da circa una settimana, come parte di un progetto lungo un anno. Stiamo progettando un controller per un reattore specifico basato su un modello. Dopo averlo esaminato per un po ', non riesco ancora a farlo funzionare, quindi lo apprezzerei molto se potessi ottenere aiuto.

Una delle recensioni di letteratura pubblicate su cui abbiamo fortemente basato elenca un controller PID in ciascun componente separato anziché un'equazione combinata, in questo modo:

{P(n)=Kp[sol(n)-tun'rget]io(n)=io(n-1)+KpTio[sol(n)-tun'rget]D(n)=KpTDdsoldt(n)

Combinando semplicemente i tre componenti nell'uscita del controller PID:

PioD(n)=P(n)+io(n)+D(n)

E da qui, l'autore aggiunge un ulteriore livello di feedback di stato in cima al segnale PID per ottenere l'output finale del controller applicato sul sistema.

{Q(n)=K0R(n-1)+K1Q(n-1)-K2Q(n-2)R(n)=(1+γ)PioD(n)-γQ(n-1)

E R è "l'uscita del controller" finale. Qui, è il guadagno di processo, e sono i guadagni integrali e derivati e sono "guadagni" ottimizzati per il feedback di stato (immutabile) e è una costante, 0,5. è lo stato del sistema, è uno stato stimato che influenza la dinamica del modello e è l'output finale effettivo che viene inviato all'impianto.T I T D K 0 , K 1 K 2 γ G ( n ) Q ( n ) R ( n )KpTioTDK0,K1K2γsol(n)Q(n)R(n)

Stavo cercando di convertire prima tutto in una singola funzione di trasferimento del controller, ma mi è stato detto che semplicemente aggiungerli insieme non funzionerà.

Mi è stato anche assegnato il compito di trovare una rappresentazione dello spazio di stato discreta di questo controller. Per questo, ho provato a cambiare in per sbarazzarmi di quel problema.G(n)-G(n-1)dsoldt(n)sol(n)-sol(n-1)

Successivamente, ho provato a definire una nuova variabile di stato per modo che e possano essere convertiti nel primo ordine.Q ( n - 1 ) Q ( n - 2 )Q(n)Q(n-1)Q(n-2)

Ho quindi provato a sostituire i valori nel controller PID, per ottenere come variabile di stato. Questi sforzi erano tutti basati sulle raccomandazioni del mio professore.sol(n)

Tuttavia, sono ancora molto bloccato, poiché ho seguito ciecamente le sue indicazioni senza una visione generale su cui lavorare. Ho pensato che sarebbe stata una semplice questione di trasformazione di Tustin - oh, come mi sbagliavo ...

Sono piuttosto frustrato, poiché dopo uno sforzo di una settimana, sono ancora sconcertato da quello che sembra essere un semplice problema.

Se possibile, posso chiedere umilmente il tuo aiuto su queste due domande specifiche?

  1. Converti questo controller in una singola funzione di trasferimento del controller (come si vede in genere in qualsiasi rappresentazione della funzione di trasferimento, ovvero )sol(S)=1S+1
  2. Convertire questo controller in una rappresentazione dello spazio di stato discreto, lasciando la frequenza di campionamento come variabile?

MATLAB e Maple possono risolvere questi problemi. Ho entrambi i programmi. Ho stampato il tuo post e proverò a lavorarli. Ho fatto un po 'di questo al college.
Wesley Wortman,

Puoi dare il titolo della pubblicazione?
Hazem,

Risposte:


1

Non è una risposta completa ma spero che possa essere di qualche aiuto.

È possibile riscrivere il primo sistema come

{P(n)=KPE(n)io(n)=io(n-1)+KPTioE(n)ΔtD(n)=KPTDE(n)-E(n-1)Δt

E(n)=sol(n)-tun'rget(n)ΔtTDTioKio=KPTioKD=KPTio

Ora puoi riscrivere il sistema come una singola funzione dell'errore.

PioD(n)=P(n)+io(n)+D(n)

io(n-1)=PioD(n-1)-P(n-1)-D(n-1)=PioD(n-1)-KPE(n-1)-KPTDE(n-1)-E(n-2)Δt

PioD(n)=KPE(n)+PioD(n-1)-KPE(n-1)-KPTDE(n-1)-E(n-2)Δt+KPTioE(n)Δt+KPTDE(n)-E(n-1)Δt=PioD(n-1)+KP((1+ΔtTio+TDΔt)E(n)-(1+2TDΔt)E(n-1)+TDΔtE(n-2))

Il secondo è un po 'più complesso da riscrivere come una singola equazione, ma puoi farlo in modo simile. Il risultato dovrebbe essere

R(n)=K1R(n-1)-(γK0+K2)R(n-2)+(1+γ)(PioD(n)-K1PioD(n-1)+K2PioD(n-2))

Ora è sufficiente sostituire l'equazione del PID per ottenere l'equazione del regolatore come funzione dell'errore.

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.