Loop di controllo multipli con effetti sovrapposti


9

Ho familiarità con l'uso del PID per eseguire il controllo ad anello chiuso quando c'è una singola uscita e un singolo segnale di errore per quanto bene l'uscita stia raggiungendo il setpoint desiderato.

Supponiamo, tuttavia, che siano presenti più circuiti di controllo, ciascuno con un'uscita e un segnale di errore, ma i circuiti non sono completamente indipendenti. In particolare, quando un loop aumenta il segnale dell'attuatore, questo cambia l'impatto dell'uscita da altri loop nel sistema.

Per un esempio concreto, immagina una sorgente di tensione in serie con un resistore, applicando una tensione attraverso un sistema di sei resistori regolabili in parallelo. Siamo in grado di misurare la corrente attraverso ciascun resistore e vogliamo controllare la corrente di ciascun resistore in modo indipendente regolando la resistenza. Naturalmente, il trucco qui è che quando si regola la resistenza di un resistore, cambia la resistenza complessiva del set parallelo, il che significa che cambia la caduta di tensione dovuta al divisore con la resistenza della sorgente di tensione e quindi cambia la corrente attraverso gli altri resistori .

Ora, chiaramente abbiamo un modello ideale per questo sistema, quindi possiamo prevedere quale resistenza dovremmo usare per tutti i resistori contemporaneamente risolvendo un insieme di equazioni lineari. Tuttavia, l'intero punto del controllo ad anello chiuso è che vogliamo correggere vari errori / distorsioni nel sistema che si discostano dal nostro modello ideale. La domanda quindi: qual è un buon modo per implementare il controllo ad anello chiuso quando si ha un modello con questo tipo di accoppiamento incrociato?

Risposte:


9

Tipicamente con un m ultiple i nput, m ultiple o scita (MIMO) del sistema, un ingegnere di controllo utilizza un regolatore a reazione stato . Questo stile di controller sfrutta un modello spazio-stato del sistema e generalmente assume la forma:

X˙=UNX+Buy=CX+Du

dove è un vettore di stati, è un vettore di input, è un vettore di output e la derivata temporale degli stati, , mostra come gli stati si evolvono nel tempo, come determinato dalle combinazioni di stati e input . Gli output sono anche determinati da un'interazione tra stati e input, ma gli output possono essere qualsiasi combinazione, quindi lo stato di output e le matrici di input sono diversi: e .u y ˙ x A B C DXuyX˙UNBCD

Non entrerò in una grande quantità di dettagli riguardanti i controlli di feedback dello stato, ma in generale, le matrici "mappano" o associano un particolare stato o input a un altro stato o input. Ad esempio, se si desidera modellare un sistema di equazioni differenziali non correlate, si otterrebbe qualcosa del tipo:UND

˙ x 1=k1x1

X˙=[X˙1X˙2X˙3]=[K1000K2000K3][X1X2X3]
che rappresenta:
X˙1=K1X1X˙2=K2X2X˙3=K3X3

Se volessi aggiungere l'input all'equazione per e inserire in , allora potresti aggiungere un termine :˙ x 1 u 2 ˙ x 3 B uu1X˙1u2X˙3Bu

X˙=[X˙1X˙2X˙3]=[K1000K2000K3][X1X2X3]+[100001][u1u2]

Se vuoi mantenerlo, ma pensi che lo stato contribuisca al modo in cui cambia, puoi aggiungere tale interazione:x 2X1X2

X˙=[X˙1X˙2X˙3]=[K100KX1X2K2000K3][X1X2X3]+[100001][u1u2]

Quando le scrivi ora, ottieni:

X˙1=K1X1+u1X˙2=KX1X2X1+K2X2X˙3=K3X3+u2

Puoi continuare a sviluppare complessità come richiesto dal tuo sistema. Una volta che hai un modello, per i controlli di feedback dello stato, devi assicurarti che il sistema sia lineare , in quanto il sistema non ha funzioni di trigger o uno stato che moltiplica se stesso o un altro stato e assicurati che sia invariante nel tempo , in quanto le matrici non cambiano con il tempo - nessuna funzione di (t) in esse. Potresti essere in grado di apportare alcune semplificazioni, come un'approssimazione di un piccolo angolo per aiutarti a ottenere la tua matrice nel modulo LTI richiesto per il passaggio successivo.AUNDUN

Ora puoi "mascherare" l'intero sistema nelle ordinate due equazioni mostrate per prime, nascondendo l'intera matrice con solo la lettera 'A', ecc. Con la trasformazione di Laplace puoi (agitare a mano) valutare il non controllato , dinamica a circuito aperto del sistema. Puoi farlo trovando i poli del sistema , che in termini indicano la risposta del sistema.UN

Puoi anche valutare il sistema per vedere se è controllabile , nel senso che puoi usare i tuoi input per alterare tutti gli stati in un modo unico e vedere se è osservabile , nel senso che puoi effettivamente determinare quali sono i valori del gli stati sono.

Se il sistema è controllabile, puoi prendere informazioni sugli stati, , e inserirli nel sistema, usando le informazioni che hai sugli stati per portarli al valore desiderato. Usando solo le due equazioni iniziali per chiarezza, quando aggiungi il segnale di controllo all'ingresso ottieni:-solX

X˙=UNX+B(u-solX)y=CX+Du

che diventa:

X˙=UNX-BGX+Buy=CX+Du

che può essere riorganizzato come:

X˙=[UN-BG]X+Buy=CX+Du

Dove prima la risposta del tuo sistema era guidata dalla matrice , ora è guidata da . Puoi nuovamente valutare i poli tramite la trasformata di Laplace, ma ora hai una matrice di guadagno che puoi usare per mettere a punto il controller, posizionando i poli dove vuoi, stabilendo che la risposta temporale deve essere quella che vuoi.UNA-BGsol

Il processo continua, con l' installazione degli osservatori per confrontare l'output effettivo del sistema con l'output previsto del modello . Questo è dove è importante notare che le uscite non devono essere la stessa combinazione di stati che usi nell'equazione differenziale di stato - dove i tuoi stati potrebbero essere una corrente la tua uscita potrebbe essere una tensione ( ) quindi puoi fare un confronto con un segnale misurabile sul tuo sistema reale.yy^R×io

Come ho detto, ci sono un sacco di informazioni coinvolte con i sistemi di modellazione e la progettazione di controller di feedback dello stato, ho appena delineato il processo generale poiché credo che questo sia lo scopo che stavi cercando con la tua domanda.


1
Grazie, questa è un'ottima base per ulteriori ricerche.
Dan Bryant,

ottima risposta, tl; dr; i valori scalari che descrivono un sistema SISO diventano matrici per un sistema MIMO, l '"accoppiamento incrociato" può essere visto nei valori off-diagonali nelle matrici.
Unità di piegatura 22
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.