Perché un controller proporzionale ha un errore di stato costante?

4

Ho letto sui loop di feedback, quanto questo errore di stato stazionario è per un determinato guadagno e cosa fare per rimuovere questo errore di stato stazionario (aggiungere guadagni integrali e / o derivati al controller), ma non lo faccio capisci perché questo errore di stato stazionario si verifica in primo luogo.

Se capisco come funziona un controllo proporzionale, l'uscita è uguale all'uscita corrente più l'errore, moltiplicato per il guadagno proporzionale (Kp). Tuttavia, l'errore non diminuirà lentamente nel tempo man mano che viene aggiunto (raggiungendo 0 all'infinito), non si verifica un errore di stato stazionario? Dalla mia confusione, sembra che io stia completamente fraintendendo il modo in cui funziona - una spiegazione adeguata di come questo errore di stato stazionario sarebbe fantastico.

    
posta Qantas 94 Heavy 19.10.2013 - 07:03
fonte

3 risposte

4

Il controller che stai descrivendo dove continui ad aggiungere l'errore per una costante al valore di output corrente è un Integratore . Stai chiaramente integrando l'errore. Un controller proporzionale imposterà l'uscita su P per l'errore. Importa anche quali controlli di output, ad es. se è coppia, o posizione, o velocità per un sistema di controllo del motore. (qualcosa di proporzionale in velocità è parte integrante della coppia ...)

La ragione di un errore di stato stazionario con P è che quando il sistema si avvicina al set-point il segnale di errore diventa sempre più piccolo. Il tuo controllo è Kp volte quel segnale di errore e alla fine l'errore sarà abbastanza piccolo da rendere Kp l'errore non sufficiente per forzarlo fino a zero.

Un integratore "salva il giorno" accumulando l'errore nel tempo e quindi anche l'errore più piccolo si accumula fino a qualcosa di abbastanza grande da costringere il controller a correggerlo.

Ad esempio guardiamo un regolatore di temperatura P per un forno. Abbiamo un elemento di riscaldamento e controlliamo la corrente a quell'elemento. Il nostro setpoint è di 100 gradi. Il forno perde costantemente calore nell'ambiente esterno (che è, diciamo, a 0 gradi). Iniziamo con un errore di 100 e diciamo che la nostra P è impostata in modo tale che sia 10A. Se P è impostato troppo grande, il sistema sarà instabile ma se assumiamo la stabilità a un certo punto l'errore sarà così piccolo tale che l'errore P * non sarà sufficiente per superare la perdita di calore del forno per l'ambiente . Raggiungerai l'equilibrio lontano dal tuo set-point.

    
risposta data 19.10.2013 - 07:31
fonte
1

Considera il seguente sistema: (fonte: prenhall.com )

Questo è un sistema proporzionale con una pianta G (s) , guadagno K , input R (s) e output Y (s) . Il sistema non ha alcun disturbo modellato e ha un feedback unitario, ma usando questo possiamo mostrare come il controller proporzionale (anche in questo stato semplificato e ideale) produce intrinsecamente un offset in uscita.

Esprimiamo il nostro output Y (s) in termini di tutto il resto.

Y (s) = G (s) * K * (X (s) - Y (s))

Facendo alcune manipolazioni, puoi ottenere questo:

Y (s) = X (s) * [G (s) * K / (1 + G (s) * K)]

Ciò significa che Y (s) è sempre proporzionale al segnale di ingresso X (s) moltiplicato per il sistema G (s) * K / (1 + G (s) * K) , il che significa che c'è sempre un output distorto (a meno che K o G (s) vai all'infinito).

    
risposta data 07.04.2015 - 06:41
fonte
-2

Devi ricordare, hai a che fare con dispositivi reali. In un mondo perfetto, un segnale di controllo avrà un effetto, non importa quanto piccolo. Nel mondo reale, i segnali di controllo più piccoli di qualche valore di soglia non fanno assolutamente nulla. (Immagina un chihuahua che cerca di tirare un camion Mack.)

In un sistema di controllo proporzionale, il segnale di controllo è l'errore moltiplicato per il guadagno di controllo. Per evitare overshoot, instabilità e altre cose brutte, riduci il guadagno.

Mentre la tua pianta (sistema controllato) si avvicina sempre di più al valore desiderato, l'errore diventa sempre più piccolo. Quando moltiplichi un errore più piccolo e più piccolo con un piccolo guadagno, alla fine il prodotto diventa troppo piccolo per avere alcun effetto e viene troncato a zero.

Questo è il tuo errore di stato stazionario, la regione attorno all'output desiderato in cui il prodotto dell'errore e il guadagno sono troppo piccoli per essere registrati.

Dopo il downvote di whatsisname, ho ripensato. Ha ragione. Stavo confondendo "banda morta" con "errore di stato stazionario".

Se si dispone di una forza perturbatrice costante (per mancanza di un termine migliore) e si utilizza un controller PI, ci sarà un punto in cui il segnale di controllo (prodotto dell'errore e del guadagno) bilancia esattamente la forza perturbante. A questo punto, l'impianto (il sistema controllato) subisce una forza netta zero: la forza perturbante e la correzione si annullano a vicenda, e la pianta si siede proprio lì, con un errore costante, l'errore che genera il segnale per annullare la forza perturbante.

La correzione di primo livello è quella di passare a un controller PI, uno che non solo produce una correzione basata sull'errore, ma anche basata sull'integrale nel tempo dell'errore. Il termine integrale è ciò che "rileva" l'errore di stato stazionario e si sposta per correggerlo.

Il problema è che un controller PI può avere problemi di overshoot. Non ci sono proiettili d'argento.

    
risposta data 19.10.2013 - 15:25
fonte

Leggi altre domande sui tag