Come funziona un regolatore di temperatura PID? AVR221: controller PID discreto

Algoritmo del controller PID discreto semplice

Supportato da tutti i microcontrollori AVR

La funzione PID utilizza 534 byte di memoria flash e 877 cicli del processore (IAR - ottimizzazione di dimensioni ridotte)

1. Introduzione

Questo manuale descrive una semplice implementazione di un controller PID (Proporzionale-Integrale-Derivato) discreto.

Quando si lavora con applicazioni in cui il segnale di uscita del sistema deve cambiare in base al valore di riferimento, è necessario un algoritmo di controllo. Esempi di tali applicazioni sono un'unità di controllo del motore, un'unità di controllo per temperatura, pressione, flusso del fluido, velocità, forza o altre variabili. Il controller PID può essere utilizzato per controllare qualsiasi variabile misurata.


Molte soluzioni sono state utilizzate nel campo del controllo per molto tempo, ma i controller PID possono diventare lo "standard del settore" grazie alla loro semplicità e alle buone prestazioni.

Per ottenere Informazioni aggiuntive per i controller PID e le loro applicazioni, il lettore dovrebbe fare riferimento ad altre fonti, come Controller PID di KJ Astrom & T. Hagglund (1995)

Figura 1-1. Risposte tipiche di un controller PID a un cambio di passo nel segnale di riferimento

2. Regolatore PID

La Figura 2-1 mostra un diagramma di un sistema con un controller PID. Il controller PID confronta il valore di processo misurato Y con un dato valore di riferimento Y0. La differenza, o errore, E, viene quindi elaborata per calcolare un nuovo processo di input, U. Questo nuovo processo di input tenterà di portare il valore del processo misurato più vicino al valore specificato.

Un'alternativa a un sistema di controllo ad anello chiuso è un sistema di controllo ad anello aperto. Un circuito di controllo aperto (senza feedback) in molti casi non è soddisfacente e la sua applicazione è spesso impossibile a causa delle proprietà del sistema.

Figura 2-1. Sistema di controllo PID ad anello chiuso


A differenza dei semplici algoritmi di controllo, un controller PID è in grado di controllare un processo in base alla sua cronologia e alla velocità di cambiamento. Ciò fornisce un metodo di controllo più accurato e stabile.

L'idea principale è che il controller riceva informazioni sullo stato del sistema utilizzando un sensore. Quindi sottrae il valore misurato dal valore di riferimento per calcolare l'errore. L'errore verrà gestito in tre modi: gestire il tempo presente con il termine proporzionale, tornare al passato utilizzando il termine integrale e anticipare il futuro utilizzando il termine differenziale.

La Figura 2-2 mostra lo schema del circuito di un controller PID, dove Tp, Ti e Td sono rispettivamente le costanti di tempo proporzionale, integrale e derivata.

Figura 2-2. Diagramma del controller PID


2.1 Proporzionale

Il termine proporzionale (P) fornisce un segnale di controllo proporzionale all'errore calcolato. L'utilizzo di un solo controllo proporzionale dà sempre un errore stazionario, tranne quando il segnale di controllo è zero e il valore del processo di sistema è uguale al valore richiesto. Sulla fig. 2-3, compare un errore stazionario nel valore del processo di sistema dopo una variazione del segnale di riferimento (rif). L'uso di un termine P troppo grande darà un sistema instabile.

Figura 2-3. P risposta del controller a un cambio di passo nel segnale di riferimento


2.2 Termine integrale

La componente integrale (I) rappresenta gli errori precedenti. La somma dell'errore continuerà fino a quando il valore del processo di sistema diventa uguale al valore desiderato. Solitamente, la componente integrale viene utilizzata insieme alla componente proporzionale, nei cosiddetti regolatori PI. Utilizzando solo la componente integrale si ottiene una risposta lenta e spesso un sistema oscillante. La Figura 2-4 mostra la risposta al gradino dei controller I e PI. Come puoi vedere, la risposta del controller PI non ha errori stazionari e la risposta del controller I è molto lenta.

Figura 2-4. La risposta del controller I- e PI a una variazione graduale del valore controllato


2.3 Termine derivato

Il termine differenziale (D) è il tasso di variazione dell'errore. L'aggiunta di questo componente migliora la risposta del sistema a un cambiamento improvviso del suo stato. Il termine differenziale D viene solitamente utilizzato con algoritmi P o PI, come i controller PD o PID. Una grande componente differenziale D di solito fornisce un sistema instabile. La Figura 2-5 mostra le risposte del controller D e PD. La risposta del controller PD fornisce un aumento più rapido del valore di processo rispetto al controller P. Si noti che il termine differenziale D si comporta essenzialmente come un filtro passa-alto per il segnale di errore e quindi rende facilmente il sistema instabile e più suscettibile al rumore.

Figura 2-5. Risposta del controller D e PD a un cambio di passo nel segnale di riferimento


Il controller PID offre le migliori prestazioni perché utilizza tutti i componenti insieme. La Figura 2-6 confronta i controller P, PI e PID. PI migliora P rimuovendo l'errore stazionario e PID migliora PI con una risposta più rapida.

Figura 2-6. Risposta del controller P, PI e PID a una variazione graduale nel segnale di riferimento


2.4. Impostazioni

Il modo migliore per trovare i parametri richiesti dell'algoritmo PID è utilizzare un modello matematico del sistema. Tuttavia, spesso non esiste una descrizione matematica dettagliata del sistema e le impostazioni dei parametri del controller PID possono essere effettuate solo sperimentalmente. Trovare i parametri per un controller PID può essere un compito arduo. Qui Grande importanza avere dati sulle proprietà del sistema e varie condizioni il suo lavoro. Alcuni processi non dovrebbero consentire alla variabile di processo di superare il setpoint. Altri processi dovrebbero ridurre al minimo il consumo di energia. Anche il requisito più importante è la stabilità. Il processo non dovrebbe fluttuare in nessun caso. Inoltre, la stabilizzazione deve avvenire entro un certo tempo.

Esistono alcuni metodi per regolare il controller PID. La scelta del metodo dipenderà in gran parte dal fatto che il processo possa essere offline per l'ottimizzazione o meno. Il metodo Ziegler-Nichols è un noto metodo di ottimizzazione non offline. Il primo passo in questo metodo consiste nell'impostare i guadagni I e D a zero, aumentando il guadagno P fino a un'oscillazione costante e stabile (il più vicino possibile). Quindi vengono registrati il ​​guadagno critico Kc e il periodo di oscillazione Pc e i valori P, I e D vengono corretti utilizzando la Tabella 2-1.

Tabella 2-1. Calcolo dei parametri secondo il metodo Ziegler-Nichols


Spesso è necessaria un'ulteriore messa a punto dei parametri per ottimizzare le prestazioni di un controller PID. Il lettore dovrebbe notare che ci sono sistemi in cui un controller PID non funzionerà. Questi possono essere sistemi non lineari, ma in generale sorgono spesso problemi con il controllo PID quando i sistemi sono instabili e l'influenza del segnale di ingresso dipende dallo stato del sistema.

2.5. Controller PID discreto

Il controller PID discreto leggerà l'errore, calcolerà ed emetterà il segnale di controllo per il tempo di campionamento T. Il tempo di campionamento deve essere inferiore alla costante di tempo più piccola nel sistema.

2.5.1. Descrizione dell'algoritmo

A differenza dei semplici algoritmi di controllo, il controller PID è in grado di manipolare il segnale di controllo in base alla cronologia e alla velocità di variazione del segnale misurato. Ciò fornisce un metodo di controllo più accurato e stabile.

La Figura 2-2 mostra il progetto del circuito del controller PID, dove Tp, Ti e Td sono rispettivamente le costanti di tempo proporzionale, integrale e derivata.

La funzione di trasferimento del sistema mostrata nella Figura 2-2 è:

Approssimiamo le componenti integrale e differenziale per ottenere una forma discreta

Per evitare che questa modifica del valore di processo di riferimento apporti modifiche rapide indesiderate sull'ingresso di controllo, il controllore migliora in base al termine derivato solo sui valori di processo:


3. Implementazione di un controllore PID in C

A questo documento è allegata un'applicazione funzionante C. Una descrizione completa del codice sorgente e le informazioni sulla compilazione sono disponibili nel file "readme.html".

Figura 3-1. Diagramma di flusso dell'applicazione demo


La Figura 3-1 mostra un diagramma semplificato dell'applicazione demo.

Il controller PID utilizza una struttura per memorizzare il proprio stato e parametri. Questa struttura viene inizializzata dalla funzione principale e solo un puntatore ad essa viene passato alle funzioni Init_PID() e PID().

La funzione PID() deve essere chiamata per ogni intervallo di tempo T, questo è impostato da un timer che imposta il flag PID_timer quando il tempo di campionamento è trascorso. Quando il flag PID_timer è impostato, il programma principale legge il valore di riferimento del processo e il valore di sistema del processo, chiama la funzione PID() e invia il risultato all'ingresso di controllo.

Per aumentare la precisione, p_factor, i_factor e d_factor vengono aumentati di 128 volte. Il risultato dell'algoritmo PID viene successivamente ridotto dividendo per 128. Il valore di 128 viene utilizzato per fornire un'ottimizzazione della compilazione.

Inoltre, l'influenza di Ifactor e Dfactor dipenderà dal tempo T.

3.1. Avvolgimento integrale

Quando il processo di input, U, raggiunge un valore sufficientemente alto, diventa limitato. O dall'intervallo numerico interno del controller PID, dall'intervallo di uscita del controller o soppresso negli amplificatori. Ciò si verifica se c'è una differenza sufficientemente grande tra il valore misurato e il valore di riferimento, di solito perché il processo presenta più disturbi di quanti il ​​sistema sia in grado di gestire.

Se il controller utilizza un termine integrale, questa situazione può essere problematica. In una situazione del genere, il termine integrale si sommerà costantemente, ma in assenza di gravi violazioni, il controller PID inizierà a compensare il processo fino a quando la somma integrale non tornerà alla normalità.

Questo problema può essere risolto in diversi modi. In questo esempio, la somma integrale massima è limitata e non può essere maggiore di MAX_I_TERM. Misura giusta MAX_I_TERM dipenderà dal sistema.

4. Ulteriore sviluppo

Il controller PID qui presentato è un esempio semplificato. Il controller dovrebbe funzionare bene, ma alcune applicazioni potrebbero richiedere che il controller sia ancora più affidabile. Potrebbe essere necessario aggiungere una correzione di saturazione nel termine integrale, basata sul termine proporzionale solo sul valore di processo.

Nel calcolo di Ifactor e Dfactor, il tempo di campionamento T fa parte dell'equazione. Se il tempo di campionamento T utilizzato è molto inferiore o superiore a 1 secondo, l'accuratezza di Ifactor o Dfactor sarà insufficiente. È possibile riscrivere il PID e l'algoritmo di ridimensionamento in modo da preservare l'accuratezza dei termini integrale e differenziale.

5. Letteratura di riferimento

KJ Astrom & T. Hagglund, 1995: Controller PID: teoria, design e ottimizzazione.
Società internazionale per la misurazione e la truffa.

6. File

AVR221.rar

Tradotto da Kirill Vladimirov su richiesta

Lezione 30Implementazione del controllore PID e del filtraggio digitale nei controllori

I controller a microprocessore consentono di implementare sia controller discreti che analogici, nonché controller non lineari e autoregolanti. Il problema principale del controllo digitale è trovare la struttura appropriata del controllore e dei suoi parametri. L'implementazione software di algoritmi di controllo per questi parametri è solitamente un compito relativamente semplice.

Ogni regolatore deve includere anche mezzi di protezione che impediscano lo sviluppo pericoloso del processo sotto l'azione del regolatore in situazioni di emergenza.

Molti TP sono caratterizzati da diversi parametri di input e output. Spesso le connessioni interne e l'interazione dei rispettivi segnali non sono critiche e il processo può essere controllato con una serie di semplici controller, con ciascun loop utilizzato nei sistemi di controllo digitale diretto.

I regolatori lineari con un ingresso/uscita possono essere rappresentati in forma generalizzata

dove tuè l'uscita del controller (variabile di controllo), tu Insieme aè il valore impostato, e a– segnale di uscita di processo (variabile controllata). Parametro P rappresenta l'ordine del regolatore.

Un normale controller PID può essere considerato come un caso speciale di un controller discreto generalizzato con P= 2.

Si consideri un regolatore composto da due parti: un circuito di feedback (feedback) G Facebook (S) che gestisce l'errore e , e ciclo feedforward G FF (S), che controlla le modifiche nell'azione di impostazione e aggiunge un termine di correzione al segnale di controllo in modo che il sistema risponda più rapidamente alle modifiche nell'impostazione. Per questo controller, l'azione di controllo u (S ) è la somma di due segnali

Questa espressione può essere riscritta come

dove u F 1 (S) è un segnale di prelazione basato sul valore di riferimento (azione di impostazione), a u F 2 (S) è un segnale di feedback.


Fig.30.1.Un controller contenente un circuito di controllo feedforward basato su un valore di riferimento (setpoint) e un circuito di feedback basato sull'uscita del processo un

Il controller ha due segnali di ingresso u c (S) e Y(S) e, quindi, può essere descritto da due funzioni di trasferimento G F 1 (S) e G R (S).


Dal momento che il controller con PF (30.3) ha dovuto G F 1 (S) coefficienti più regolabili rispetto a un regolatore convenzionale, quindi il sistema di controllo chiuso ha caratteristiche migliori.

La posizione dei poli del sistema di retroazione può essere modificata tramite il regolatore G R (S), e il controllore feedforward G F 1 (S) aggiunge nuovi zeri al sistema. Pertanto, il sistema di controllo può rispondere rapidamente ai cambiamenti nel segnale dell'attività se G F 1 (S) è scelto correttamente.


Fig.30.2. Struttura di un regolatore lineare con controllo feedforward e feedback

Grazie all'uso di un tale controller, è possibile creare sistemi di controllo (servo) ad alta precisione mediante azionamenti elettrici, robot o macchine utensili. Per loro, è importante che la risposta all'output del processo sia rapida e precisa per qualsiasi modifica del riferimento.

Se il numeratore e denominatore del PF G R (S), e G F 1 (S) in (23.3) da esprimere con polinomi in S , allora la descrizione del controllore dopo le trasformazioni può essere rappresentata nella forma seguente

G



de

r io ,S io ,t io parametri di polinomi PF, S Operatore Laplace.

Il controller corrispondente all'equazione (30.4) può essere rappresentato come un controller generalizzato (generalcontroller)

Il PF del processo può essere espresso come


Fig.30.3. La struttura di un controllore lineare con controllo feedforward e feedback sotto forma di PF

Se una R(S),S(S) e T(S) hanno un ordine sufficientemente alto, cioè un numero sufficiente di "manopole di sintonia", il PF di un sistema chiuso può essere variato su un'ampia gamma. Ordinanza del regolatore P deve essere lo stesso del processo originale. Sì, raccogliendo R(S) e S(S), si può cambiare arbitrariamente il denominatore del PF di un sistema chiuso. In teoria, ciò significa che i poli di un sistema chiuso possono essere spostati in qualsiasi punto del piano complesso. (In pratica, la massima ampiezza e velocità di variazione del segnale di controllo limita la libertà di movimento dei poli.)

Di conseguenza, un sistema instabile avente un polo con una parte reale positiva può essere stabilizzato con l'aiuto di SU.

30.1. Implementazione del controller PID

Prima di tutto, dovrebbe essere sviluppato un modello di controllore discreto e determinata una frequenza di campionamento appropriata. L'ampiezza del valore di uscita del regolatore deve essere compresa tra i valori minimo e massimo ammissibili. Spesso è necessario limitare non solo il segnale di uscita, ma anche la velocità di variazione dovuta alle capacità fisiche delle MI e prevenirne l'eccessiva usura.

La modifica delle impostazioni dei parametri e il passaggio dal funzionamento automatico a quello manuale o altre modifiche delle condizioni operative non devono causare disturbi nel processo controllato.

I regolatori possono essere realizzati in tecnologia analogica basata su amplificatori operazionali o come dispositivi digitali basati su microprocessori. Tuttavia, hanno quasi lo stesso aspetto: un piccolo case robusto che consente l'installazione in un ambiente industriale.

Mentre la tecnologia digitale presenta molti vantaggi, l'approccio analogico è la base per le soluzioni digitali. I vantaggi dei controller digitali includono la possibilità di collegarli tra loro utilizzando canali di comunicazione, che consentono lo scambio di dati e il controllo remoto. Siamo interessati a programmi per un controller PID digitale

Modello di controller PID discreto . È necessario per l'implementazione software del controller analogico. Se il controllore è progettato sulla base di una descrizione analogica e quindi viene costruito il suo modello discreto, a intervalli di campionamento sufficientemente piccoli, le derivate temporali sono sostituite da differenze finite e l'integrazione è sostituita dalla somma. L'errore di output del processo viene calcolato per ciascun campione

e(K)= tu c (K) y(K) .

In questo caso, l'intervallo di campionamento t Sè considerato costante e non vengono presi in considerazione eventuali cambiamenti di segnale che potrebbero essersi verificati durante l'intervallo di campionamento.

Esistono due tipi di algoritmo del controller PID: posizionale e incrementale

Algoritmo del controller PID posizionale. Nell'algoritmo posizionale ( posizione modulo) il segnale di uscita è il valore assoluto della variabile di controllo MI. Il controller PID discreto ha la forma

tu(K)= tu 0 +u P (K)+u io (K)+u D (K).

In questo caso, l'intervallo di campionamento ts è considerato costante e non si tiene conto di eventuali variazioni del segnale che potrebbero presentarsi durante l'intervallo di campionamento.

Anche con errore di controllo zero, il segnale di uscita è diverso da zero ed è determinato dall'offset tu 0 .

La parte proporzionale del responsabile del trattamento ha la forma

tu P (K)= K e(K).

La parte integrale è approssimata alle differenze finite

tu io (K) = tu io (K 1) + K (t S / T io) ∙ e(K)= tu io (K 1) + K un e(K).

Il valore del secondo termine al minimo t S e grande T io può diventare molto piccolo, quindi è necessario garantire la precisione richiesta della sua rappresentazione della macchina.

La parte differenziale del controller PID è approssimata dalla differenza all'indietro

tu D (K) =b tu D (K 1)K (T d / t S) ∙ (1b)∙ [y(K)y(K 1)],


Valore T d / N = T fè il normalizzato N volte) la costante di tempo del filtro nell'approssimazione della componente differenziale della legge di controllo mediante un collegamento aperiodico del primo ordine. Numero N preso nell'intervallo da 5 a 10. Il valore bè compreso tra 0 e 1.

algoritmo di incremento. Calcola solo la variazione del suo segnale di uscita. Algoritmo di incremento ( incrementale modulo) Il controller PID è comodo da usare se l'IM è una sorta di integratore, come un motore passo-passo. Un altro esempio di tale MI è una valvola la cui apertura e chiusura è controllata da impulsi e che mantiene la sua posizione in assenza di segnali di ingresso.

Nell'algoritmo di incremento, cambia solo il segnale di uscita di controllo dall'istante ( K 1) fino al momento K. L'algoritmo del controller è scritto come

Δ tu io (K) = tu (K)tu (K 1) =Δ tu P (K) + Δ tu io (K) + Δ tu D (K).

La parte proporzionale dell'algoritmo di incremento viene calcolata dall'equazione

Δ tu P (K) = tu P (K)tu P (K 1) =K [e(K)e(K 1)] = K Δ e(K).

Parte integrale - dall'equazione

Δ tu io (K) = tu io (K)tu io (K 1) =K un e(K).

La parte differenziale è dall'equazione

Δ tu D (K) =b Δ tu D (K 1)K (T d / t S)∙(1b)∙ y(K)Δ y(K 1),

Δ y(K) =y(K)y(K 1).

L'algoritmo è molto semplice. Per la sua applicazione, di norma, sono sufficienti operazioni a virgola mobile di ordinaria precisione. Non ha problemi di saturazione. Quando si passa dalla modalità manuale a un regolatore automatico che calcola gli incrementi, non è necessario assegnare un valore iniziale al segnale di controllo ( tu 0 nell'algoritmo posizionale).

L'IM può essere portato nella posizione desiderata in fase di avviamento sia con comando manuale che automatico. Un piccolo svantaggio dell'algoritmo di incremento è la necessità di tenere conto della componente integrale.

Il valore di riferimento viene ridotto sia nella parte proporzionale che in quella differenziale a partire dal secondo campione dopo che è stato modificato. Pertanto, se viene utilizzato un controllore basato su un algoritmo incrementale senza una componente integrale, il processo controllato potrebbe derivare dal valore di riferimento.

Determinazione della frequenza di campionamento in SN . È più un'arte che una scienza. Una frequenza di campionamento troppo bassa riduce l'efficienza del controllo, in particolare la capacità del sistema di controllo di compensare i disturbi. Tuttavia, se l'intervallo di campionamento supera il tempo di risposta del processo, il disturbo può influire sul processo e scomparire prima che il controllore intraprenda un'azione correttiva. Pertanto, nel determinare la frequenza di campionamento, è importante tenere conto sia della dinamica del processo che delle caratteristiche della perturbazione.

D'altra parte, una frequenza di campionamento troppo elevata porta a un aumento del carico del computer e all'usura della messaggistica istantanea.

Pertanto, la determinazione della frequenza di campionamento è un compromesso tra i requisiti della dinamica del processo e le prestazioni disponibili dei computer e dei meccanismi tecnologici. I controller digitali standard che funzionano con un numero ridotto di circuiti di controllo (da 8 a 16) utilizzano una frequenza di campionamento fissa dell'ordine di frazioni di secondo.

Il rapporto segnale/rumore influisce anche sulla frequenza di campionamento. A bassi valori di questo rapporto, cioè ad alto rumore, dovrebbe essere evitata un'elevata frequenza di campionamento, perché è più probabile che deviazioni nel segnale di misurazione siano associate al rumore ad alta frequenza e non a reali cambiamenti nel processo fisico.

Una frequenza di campionamento adeguata è considerata correlata alla larghezza di banda o al tempo di assestamento del sistema di controllo ad anello chiuso. Le regole pratiche raccomandano che la frequenza di campionamento sia 6-10 volte superiore alla larghezza di banda o che il tempo di assestamento sia di almeno cinque intervalli di campionamento.

Nel caso in cui sia accettabile un ulteriore sfasamento di 5-15°, vale la seguente regola

t S · ω Insieme a = 0,15 – 0,5 ,

dove ω Insieme a – larghezza di banda del sistema (a livello di 3 dB), t S – periodo di quantizzazione, o intervallo di campionamento. (Questo approccio è utilizzato in molti controller PID digitali industriali a loop singolo e multiplo.)

Limitazione del segnale di controllo . Esistono due prerequisiti per limitare il segnale di controllo:

1) l'ampiezza del segnale in uscita non può superare la gamma del DAC all'uscita del computer;

2) anche il range operativo di MI è sempre limitato. La valvola non apre più del 100%; il motore non può essere alimentato con corrente e tensione illimitate.

Pertanto, l'algoritmo di controllo deve includere alcune funzioni che limitano il segnale di uscita. In alcuni casi è necessario definire una banda morta, o banda morta.

Se viene utilizzato un controller con un algoritmo incrementale, le modifiche nel segnale di controllo potrebbero essere così piccole che l'MI non può elaborarle. Se il segnale di controllo è sufficiente ad influenzare l'MI, è opportuno evitare piccole ma frequenti operazioni, che possono accelerarne l'usura.

Una soluzione semplice è sommare piccole variazioni nella variabile di controllo ed emettere un segnale di controllo MI solo dopo che un valore di soglia è stato superato. L'introduzione di una zona morta ha senso solo se supera la risoluzione del DAC all'uscita del computer

Prevenzione della saturazione integrale. L'avvolgimento integrale si verifica quando il controller PI o PID deve compensare un errore che è al di fuori dell'intervallo della variabile controllata per un lungo periodo. Poiché l'uscita del regolatore è limitata, l'errore è difficile da annullare.

Se l'errore di controllo persiste a lungo, il valore della componente integrale del controller PID diventa molto grande. Questo accade se il segnale di controllo è limitato a tal punto che l'uscita calcolata del regolatore differisce dall'uscita reale dell'MI.

Poiché la parte integrale diventa zero solo qualche tempo dopo che il valore di errore ha cambiato segno, la saturazione integrale può portare a grandi sovraelongazioni. La saturazione integrale è il risultato di non linearità nel sistema associate al clipping del segnale di controllo in uscita e potrebbe non essere mai osservata in un sistema lineare.

L'influenza della parte integrale può essere limitata dall'integrazione condizionale. Finché l'errore è sufficientemente grande, la sua parte integrale non è necessaria per formare il segnale di controllo, ma la parte proporzionale è sufficiente per il controllo.

La parte integrante utilizzata per eliminare gli errori stazionari è necessaria solo nei casi in cui l'errore è relativamente piccolo. Con l'integrazione condizionale, questa componente viene presa in considerazione nel segnale finale solo se l'errore non supera un determinato valore di soglia. Per errori di grandi dimensioni, il controller PI funziona come un controller P. La scelta di un valore di soglia per l'attivazione del termine integrale non è un compito facile. Nei controller analogici, l'integrazione condizionale viene eseguita utilizzando un diodo Zener (limitatore), che è collegato in parallelo con un condensatore nel circuito di feedback dell'amplificatore operazionale nel blocco integratore del controller. Tale schema limita il contributo del segnale integrato.

Nei controller PID digitali, è più facile evitare la saturazione integrale. La parte integrale viene regolata ad ogni intervallo di campionamento in modo che l'uscita del controller non superi un determinato limite.

Il segnale di controllo viene prima calcolato utilizzando un algoritmo del controller PI e quindi verificato per vedere se supera i limiti impostati:

tu = tu min , Se tu d < tu min ;

tu = tu d , Se tu min tu d < tu max ;

tu = tu max , Se tu d tu max ;

Dopo aver limitato il segnale in uscita, la parte integrale del regolatore viene ripristinata. Di seguito è riportato un programma di esempio per un controller PI con protezione da saturazione.

Finché il segnale di controllo rimane entro i limiti impostati, l'ultima affermazione nel testo del programma non influisce sulla parte integrante del controllore.

(*inizializzazione*) c1:=K*taus/Ti;

(*regolatore*)

Iparte:= Iparte + c1*e;

ud:=K*e+Iparte; (*calcolo del segnale di controllo*)

se (ud

altrimenti se (ud< umax) then u:= ud

Iparte:=u-K*e; (*correzione parte integrale "anti-saturazione"*)

Un'illustrazione del problema della saturazione integrale per un azionamento di posizionamento con un controller PI è ulteriormente in fig. 30.4.

Commutazione fluida delle modalità operative. Quando si passa dalla modalità manuale a quella automatica, l'uscita del controller potrebbe saltare anche se l'errore di controllo è zero. Il motivo è che il termine integrale nell'algoritmo del controller non è sempre uguale a zero. Il controller è un sistema dinamico e la parte integrante è uno degli elementi dello stato interno, che deve essere noto quando si cambia la modalità di controllo.

Il salto nel valore di uscita del controller può essere impedito e il cambio di modalità in questo caso è chiamato transizione bumpless (trasferimento bumpless).

Sono possibili due situazioni: a) passaggio dalla modalità manuale a quella automatica o viceversa; b) modificare i parametri del controllore.

Una transizione graduale nel caso a) per un controller analogico si ottiene portando il processo manualmente in uno stato in cui il valore di uscita misurato è uguale al valore di riferimento.

Il processo viene mantenuto in questo stato finché l'uscita del controller è zero. In questo caso, anche la parte integrale è zero e poiché l'errore è zero, si ottiene una transizione graduale. Questa procedura è valida anche per i controllori digitali.

Un altro metodo consiste nel portare lentamente il valore di riferimento al valore finale richiesto.

Innanzitutto, il valore di riferimento viene impostato uguale alla misurazione corrente, quindi gradualmente regolato manualmente al valore desiderato.

Se questa procedura viene eseguita abbastanza lentamente, la parte integrante del segnale del controller rimane così piccola da garantire una transizione graduale. Lo svantaggio di questo metodo è che richiede un tempo abbastanza lungo, che dipende dalla natura del processo.

Limitazione della velocità di variazione del segnale di controllo . In molti sistemi di controllo è necessario limitare sia l'ampiezza che la velocità di variazione del segnale di controllo. Per questo vengono utilizzati circuiti di protezione speciali, collegati dopo il canale per inserire manualmente il valore di riferimento. tu c (t) e trasmettere il segnale filtrato al controller tu l (t), come mostrato in Fig. 30.5.

Di conseguenza, il processo "vede" questo segnale di controllo invece di quello inserito manualmente. Questo metodo viene solitamente utilizzato nella regolazione degli azionamenti elettrici. La limitazione della velocità di variazione del segnale può essere ottenuta con un semplice anello di retroazione.

Segnale di controllo manuale tu c (t), che funge da riferimento, viene confrontato con un segnale di controllo valido tu l (t). In primo luogo, la loro differenza è limitata dai limiti uemin e tuemOh.

Il valore risultante viene quindi integrato, con l'integrale approssimato di una somma finita.

L'algoritmo per limitare la velocità di cambiamento è il seguente:

se (u< uemin) then uelim:= uemin (*функция ограничения*) else if (ue < uemax) then uelim:= ue

altrimenti uelim:= uemax;

uL = uL_vecchio + taus*uelim;

Caratteristiche computazionali dell'algoritmo del controller PID. L'implementazione digitale del controller PID, a causa della natura sequenziale dei calcoli, porta a ritardi che non si trovano nella tecnologia analogica. Inoltre, alcune limitazioni (protezione di saturazione e algoritmi di transizione morbida) richiedono che l'uscita del regolatore e il pickup MI avvengano contemporaneamente. Pertanto, i ritardi di calcolo devono essere ridotti al minimo. Per fare ciò, alcuni elementi del regolatore digitale vengono calcolati prima del tempo di campionamento.

Per un regolatore con protezione di saturazione, la parte integrale può essere calcolata in anticipo utilizzando differenze forward

tu io (k + 1) = tu io (K)+c uno · e (K) + c 2 · [tu (K) – tu d (K) ] ,

dove tu – valore limitato tu d ;

T t è un coefficiente chiamato costante di tempo di tracciamento.

La parte differenziale sembra

c 3 = (1 b) · K· T d /t S ;

X (K- 1) = b· tu D (K- 1)+c 3 · y (K- 1).

variabile X può essere aggiornato immediatamente dopo il momento K

X (K) = b· X(K- 1)+c 3 (1 b) · y (K).

In questo modo, tu D (K + 1) può essere calcolato da (24.2) non appena si ottiene il risultato della misurazione y(K + 1).

L'ottimizzazione dei calcoli è necessaria, poiché il regolatore digitale a volte deve eseguire diverse migliaia di operazioni di controllo al secondo. In queste condizioni, è importante che alcuni coefficienti siano immediatamente disponibili, anziché essere ricalcolati ogni volta. Inoltre, i regolatori industriali non hanno i processori più veloci ( io 386, 486). Pertanto, l'ordine e il tipo di calcolo influiscono notevolmente sulla velocità delle operazioni di controllo.

Algoritmo PID . Un esempio di programma di controllo PID in Pascal. Calcolo dei coefficienti c 1 ,c 2 e c 3 deve essere fatto solo se i parametri del controllore vengono modificati K, T io , T d e T f. L'algoritmo del controller viene eseguito al momento di ogni campione. Il programma ha una protezione contro la saturazione della componente integrale.

(*Precalcolo dei coefficienti*)

c1:=K*taus / Ti; (* Equazione 23.7 *)

ñ2:= taus / tt; (* Equazione 24.1 *)

beta:=Td / (Td+taus*N); (* Equazione 24.1 *)

c3:= K*Td*(l-beta) / taus; (* Equazione 24.2 *)

c4:= c3*(1 - beta); (* costante locale*)

(* Algoritmo di controllo *)

uc:=ADinput(ch1); (* ingresso valore di riferimento, ingresso analogico *)

y:= AD_input(ch2); (* ingresso di misura, ingresso analogico *)

e:= uc-y; (* calcolo dell'errore di controllo *)

parte:= K*e; (*parte proporzionale*)

dparte:= x - (c3*y); (* parte differenziale, *)

ud:=uO+ppart+ipart+dpart; (*uscita del regolatore prima del clipping*)if(ud

Inviare il tuo buon lavoro nella knowledge base è semplice. Usa il modulo sottostante

Gli studenti, i dottorandi, i giovani scienziati che utilizzano la base di conoscenze nei loro studi e nel loro lavoro ti saranno molto grati.

Ospitato su http://www.allbest.ru

Ministero dell'Istruzione e della Scienza della Federazione Russa

Istituzione educativa di bilancio dello Stato federale

istruzione professionale superiore

"UNIVERSITÀ STATALE KUBAN"

(FGBOU VPO "KubGU")

LAVORO DI QUALIFICA FINALE DI LAUREA

Sviluppo e progettazione di controllori PID

Il lavoro è stato svolto da Roman Valerievich Presnyakov

consulente scientifico

dott. Fisica-Matematica. scienze, professore

E.N. Tumaev

Controllore

can. Fisica-Matematica. Scienze, Professore Associato A. A. Martynov

Krasnodar 2015

Lavoro di qualificazione finale 83 pagine, 29 immagini, 42 fonti.

CONTROLLO PID, SISTEMI INCORPORATI, MICROCONTROLLER, MODULI SOFTWARE, MSP430, INTERRUPT

L'oggetto di studio del lavoro di qualificazione finale è lo studio dei principi generali di costruzione di controllori tecnologici proporzionali-integrali-differenziali e la progettazione di un algoritmo per termoregolatori basato su microcontrollori economici MSP430 (Texas Instruments). Il documento fornisce una panoramica dei mezzi dei moderni microcontrollori e dei principi del loro funzionamento.

Viene svolta l'analisi delle problematiche di implementazione hardware e software dei controllori tecnologici a microprocessore. Vengono fornite raccomandazioni per la progettazione di strumenti di misura e controllo a microprocessore e per la creazione di software per sistemi embedded. Viene proposta una variante dell'implementazione dell'algoritmo del controller PID. Una caratteristica distintiva è l'uso di algoritmi che escludono l'uso di numeri in virgola mobile.

Denominazioni e abbreviazioni

introduzione

2. Funzioni di sensibilità. Equazione del Pid digitale

2.2 Forma discreta del responsabile del trattamento. Equazione PID digitale

3. Qualità normativa

3.1 Indebolimento dell'influenza dei disturbi esterni. Criteri di qualità

4. Impostazione dei parametri del controller. principi di base

4.1 Selezione dei parametri del regolatore. Impostazioni manuali e automatiche

5. Programmazione di sistemi embedded

5.1 Principi generali per lo sviluppo di sistemi embedded

5.2 Fasi di creazione di software per sistemi embedded

5.3 Gerarchia del codice eseguibile nei sistemi embedded

6. Algoritmo del software creato

6.1 Descrizione dell'algoritmo di funzionamento del regolatore di temperatura PID basato sul microcontrollore MSP430F149

Conclusione

Elenco delle fonti utilizzate

Denominazioni e abbreviazioni

microcontrollore termoregolatore

microcontrollore

Algoritmo PID

Algoritmo proporzionale-integrale-differenziale

livello di astrazione hardware (livello di astrazione hardware)

Ambiente di sviluppo integrato (ambiente di sviluppo integrato)

modulazione dell'ampiezza dell'impulso

controllore logico programmabile

controllo di supervisione e acquisizione dati (controllo di supervisione e acquisizione dati)

interfaccia periferica seriale (interfaccia periferica seriale)

interfaccia di programmazione dell'applicazione (interfaccia di programmazione dell'applicazione)

posto di lavoro automatizzato

Software

INTRODUZIONE

Il controllo dei processi tecnologici con l'ausilio di regolatori operanti secondo la legge proporzionale-integrale-differenziale (regolatori PID) consente di mantenere il valore tecnologico richiesto con una precisione sufficientemente elevata e un'immunità ai disturbi accettabile per influssi esterni di disturbo. I moderni controllori PID sono implementati sia come modulo software di un sistema SCADA eseguito su una workstation automatizzata (AWS) o un controllore logico programmabile (PLC), sia come controllori di processo separati situati su armadi di controllo locali e centrali. Come elementi base dell'elaborazione e del controllo delle informazioni, vengono spesso utilizzati microprocessori con funzionalità limitate, il che solleva il problema della mancanza di risorse hardware e un aumento del costo del sistema.

Lo scopo di questo lavoro è di rivedere i principi della costruzione di regolatori proporzionali-integrali-derivati ​​e di sviluppare, sulla base della revisione, i principi per la creazione di un regolatore PID di temperatura.

Durante la creazione di un controller PID di temperatura, sono stati utilizzati un regolatore del contatore tecnologico a microprocessore programmabile F0303.2 basato sul microcontrollore MSP430F149, il programmatore MSP-FET430UIF, il comparatore di tensione P3003 con un intervallo di uscita della tensione da 10 nV a 11,111110 V e una classe di precisione di 0,0005 . Il programma del microcontrollore è stato creato nell'ambiente di sviluppo integrato IAR Embedded Workbench per MSP430 6. La documentazione tecnica è stata ottenuta dal sito Web del produttore del microcontrollore.

Per la piena implementazione del controllo PID in un dispositivo a microprocessore, è necessario implementare i seguenti sottosistemi:

Sottosistema di misura

Sottosistema di elaborazione dell'algoritmo PID

Sottosistema dell'interfaccia utente di gestione

Sottosistema di output dell'impatto normativo

1. Principi di creazione dei controllori PID

1.1 Aspetti generali dell'implementazione dei controllori PID

Per l'attuazione pratica, è necessario tenere conto delle caratteristiche generate dalle condizioni reali di applicazione e di attuazione tecnica. Queste caratteristiche includono:

Gamma dinamica finita di variazioni delle variabili fisiche nel sistema (ad es. potenza del riscaldatore limitata, capacità della valvola limitata);

Non sempre è possibile cambiare il segno dell'azione di controllo (ad esempio, spesso non c'è il frigorifero nel sistema di mantenimento della temperatura, il motore potrebbe non avere l'inversione di marcia, non tutti i velivoli hanno un sistema di spinta negativa);

Precisione di misura limitata, che richiede misure speciali per eseguire l'operazione di differenziazione con un errore accettabile;

La presenza di non linearità tipiche in quasi tutti i sistemi: saturazione (limitando la gamma dinamica delle variazioni variabili), limitando lo slew rate, l'isteresi e il gioco;

Dispersione tecnologica e variazioni casuali dei parametri del controllore e dell'oggetto;

Implementazione discreta del controller;

La necessità di una commutazione regolare (senza shock) delle modalità di controllo;

1.2 Assemblaggio Derivato PID

Il problema della differenziazione numerica è piuttosto vecchio e comune sia nei controller digitali che analogici. La sua essenza sta nel fatto che la derivata è solitamente calcolata come differenza di due variabili di grandezza vicina, quindi l'errore relativo della derivata risulta sempre maggiore dell'errore relativo della rappresentazione numerica della variabile derivabile.

In particolare, se all'ingresso del differenziatore viene alimentato un segnale sinusoidale A*sin(sht), in uscita otteniamo A*sh*cos(sht), ovvero, con frequenza w crescente, l'ampiezza del segnale all'uscita del differenziatore aumenta. In altre parole, il differenziatore amplifica le interferenze ad alta frequenza, i burst brevi e il rumore.

Se l'interferenza amplificata dal differenziatore si trova al di fuori della gamma di frequenza operativa del controller PID, è possibile attenuarla utilizzando un filtro passa-alto. L'implementazione strutturale di un differenziatore con un filtro è mostrata nella Figura 1. Qui

cioè, la funzione di trasferimento del differenziatore risultante D(s) può essere rappresentata come il prodotto della funzione di trasferimento di un differenziatore ideale e della funzione di trasferimento di un filtro del primo ordine:

dove il coefficiente N determina la frequenza di taglio del filtro ed è normalmente scelto pari a 2…20;

T/N -- costante di tempo del filtro;

s è la frequenza complessa.

È possibile ottenere una maggiore attenuazione del rumore ad alta frequenza con un filtro separato collegato in serie al controller PID. Di solito viene utilizzato un filtro del secondo ordine con una funzione di trasferimento

La costante di tempo del filtro è scelta uguale a TF = Ti/N, dove N = 2…20, Ti è la costante di integrazione del regolatore PID. Si consiglia di non scegliere la frequenza di taglio del filtro al di sotto della frequenza 1/Ti, poiché ciò complica il calcolo dei parametri del regolatore e il margine di stabilità.

Figura 1 - Implementazione strutturale del termine differenziale del controllore PID

Oltre al rumore di differenziazione, le prestazioni del controller PID sono influenzate dal rumore di misurazione. Attraverso il circuito di feedback, questi rumori entrano nell'ingresso del sistema e quindi appaiono come la dispersione della variabile di controllo u. Il rumore ad alta frequenza è dannoso perché provoca un'usura accelerata dei raccordi delle tubazioni e dei motori elettrici.

Poiché l'oggetto di controllo è solitamente un filtro passa-basso, il rumore di misurazione viaggia raramente attraverso il circuito di controllo fino all'uscita del sistema. Tuttavia, aumentano l'errore di misura y(t) e riducono l'accuratezza della regolazione.

Nei regolatori PID, rumore con uno spettro nella regione delle basse frequenze, causato da influenze esterne sull'oggetto di controllo, e rumore ad alta frequenza associato a interferenze elettromagnetiche, rumore sui bus di potenza e di terra, con campionamento del segnale misurato e si distinguono altri motivi. Il rumore a bassa frequenza è modellato come disturbo esterno d(s), il rumore ad alta frequenza è modellato come rumore di misurazione n(s).

1.3 Nodo integrale del controller PID. saturazione integrale

In regime stazionario e con piccoli disturbi, la maggior parte dei sistemi con controller PID sono lineari. Tuttavia, il processo di ingresso nel regime richiede quasi sempre di tenere conto della non linearità del tipo “limitazione”. Questa non linearità è dovuta a limitazioni naturali di potenza, velocità, velocità, angolo di rotazione, area della sezione trasversale della valvola, gamma dinamica, ecc. L'anello di controllo in un sistema che è in saturazione (quando la variabile ha raggiunto il limite) risulta essere aperto, perché quando cambia la variabile all'ingresso del collegamento con il limite, la sua variabile di uscita rimane invariata.

La manifestazione più tipica della modalità di limitazione è la cosiddetta "saturazione integrale", che si verifica quando il sistema raggiunge la modalità nei controllori con una costante di integrazione Ti? 0. La saturazione integrale comporta un ritardo nel processo transitorio (Figure 2 e 3). Un effetto simile si verifica a causa della limitazione del termine proporzionale e integrale del controller PID (Figure 4 e 5). Tuttavia, la saturazione integrale è spesso intesa come un insieme di effetti associati a una non linearità di tipo “limitativo”.

T 1= 0,1 s; T2 = 0,05 s; L = 0,02 s; K = 2; Ti = 0,06 s; Td = 0

Figura 2 - Risposta della variabile di uscita y(t) al salto nell'azione di ingresso r(t) per il controller PI nella condizione di limitare la potenza all'ingresso dell'oggetto u(t) e senza limitazione (secondo ordine oggetto)

T1 = 0,1 s; T2 = 0,05 s; L = 0,02 s; K = 2; Ti = 0,06 s; Td = 0

Figura 3 - Segnale in ingresso dell'oggetto u(t) con e senza limitazione di potenza (oggetto del secondo ordine)

K = 10; Ti = 0,014 s; Td = 0,3 s; T1 = 0,1 s; T2 = 0,05 s; L = 0,02 s

Figura 4 - Risposta della variabile di uscita y(t) al salto nell'azione di ingresso r(t) per il controllore PID nella condizione di limitare la potenza all'ingresso dell'oggetto u(t) e senza limitazione (secondo ordine oggetto)

T1 = 0,1 s; T2 = 0,05 s; L = 0,02 s; K = 10; Ti = 0,014 s; Td = 0,3 s

Figura 5 - Il segnale all'ingresso dell'oggetto u(t) nel loop con il controllore PID in condizione di limitazione di potenza e senza (oggetto del secondo ordine)

e secondo ordine

dove Kp è il coefficiente di trasferimento in regime stazionario;

T, T1, T2 - costanti di tempo;

L - ritardo nel trasporto.

L'essenza del problema della saturazione integrale è che se il segnale all'ingresso dell'oggetto di controllo u(t) è entrato nella zona di saturazione (limitazione) e il segnale di disadattamento r(t) - y(t) non è uguale a zero, l'integratore continua ad integrare, cioè il segnale aumenta alla sua uscita, ma questo segnale non partecipa al processo di regolazione e non influisce sull'oggetto per effetto della saturazione. Il sistema di controllo in questo caso diventa equivalente ad un sistema aperto, il cui segnale di ingresso è uguale al livello di saturazione del segnale di controllo u(t).

Per i sistemi termici, il limite inferiore è solitamente la potenza di riscaldamento zero, mentre il controller PID richiede che venga applicata all'oggetto una "potenza di riscaldamento negativa", ovvero il raffreddamento dell'oggetto. L'effetto della saturazione integrale è noto da molto tempo. Nei controller analogici, la sua eliminazione era piuttosto difficile, poiché in essi il problema non poteva essere risolto algoritmicamente, ma era risolto solo dall'hardware.

Con l'avvento dei microprocessori, il problema può essere risolto in modo molto più efficiente. I metodi per eliminare la saturazione integrale sono solitamente oggetto di invenzioni, appartengono al segreto commerciale dei produttori e sono protetti da brevetti.

Limitazione della velocità di risposta dell'azione di input. Poiché il valore massimo dell'azione in ingresso sull'oggetto di controllo u(t) diminuisce al diminuire della differenza r(t) - y(t), per eliminare l'effetto di limitazione, è possibile ridurre semplicemente lo slew rate del segnale di setpoint r(t), ad esempio, utilizzando un filtro. Lo svantaggio di questo metodo è la diminuzione della velocità del sistema, nonché l'impossibilità di eliminare la saturazione integrale causata da disturbi esterni e non dal segnale di setpoint.

Quando l'azione di controllo sull'oggetto raggiunge la saturazione, il feedback si interrompe e la componente integrale continua a crescere, anche se sarebbe dovuta cadere in assenza di saturazione. Pertanto, uno dei metodi per eliminare la saturazione integrale è che il controller controlli l'entità dell'azione di controllo sull'oggetto e, non appena raggiunge la saturazione, il controller inserisce un divieto di integrazione software per il componente integrale.

Compensazione della saturazione con feedback aggiuntivo. L'effetto della saturazione integrale può essere attenuato monitorando lo stato dell'attuatore che entra in saturazione e compensando il segnale applicato all'ingresso dell'integratore. La struttura di un sistema con tale compensatore è mostrata in Figura 6.

Figura 6 - Compensazione dell'effetto di saturazione integrale con l'ausilio di feedback aggiuntivo per la trasmissione del segnale di errore es all'ingresso dell'integratore

Il principio del suo lavoro è il seguente. Il sistema genera un segnale di disadattamento tra l'ingresso e l'uscita dell'attuatore es = u - v. Il segnale all'uscita dell'attuatore viene misurato o calcolato utilizzando un modello matematico (Figura 6). Se es = 0, questo equivale a nessun compensatore e otteniamo un normale controller PID. Se dispositivo esecutivo satura, quindi v > u ed es< 0. При этом сигнал на входе интегратора уменьшается на величину ошибки es, что приводит к замедлению роста сигнала на выходе интегратора, уменьшению сигнала рассогласования и величины выброса на переходной характеристике системы (рисунки 7 и 8). Постоянная времени Ts определяет степень компенсации сигнала рассогласования.

Figura 7 - Risposta del sistema ad un singolo salto r(t) per diversi valori della costante di tempo Ts

K = 7; Ti = 0,01 s; Td = 0,1 s, T1 = 0,1 s; T2 = 0,05 s; L = 0,01 s

Figura 8 - Risposta del sistema al segnale di errore es (oggetto del secondo ordine, parametri del controllore:

In alcuni controller, l'ingresso u del dispositivo di confronto es è distinto come un ingresso separato: l'"ingresso di tracciamento", che è utile quando si costruiscono sistemi di controllo complessi e quando si collegano più controller in cascata.

Integrazione condizionale. Questo metodo è una generalizzazione del divieto algoritmico di integrazione. Dopo l'inizio del divieto, la componente integrale rimane costante, allo stesso livello che aveva al momento della comparsa del divieto di integrazione. La generalizzazione è che il divieto di integrazione si verifica non solo al raggiungimento della saturazione, ma anche a determinate altre condizioni.

Tale condizione può essere, ad esempio, il raggiungimento da parte del segnale di errore e o della variabile di uscita y di un certo valore prefissato. Quando il processo di integrazione è disattivato, è necessario monitorare lo stato dell'integratore al momento dello spegnimento. Se accumula un errore e il grado di saturazione aumenta, l'integrazione viene disattivata. Se, al momento dello spegnimento, il grado di saturazione diminuisce, l'integratore viene lasciato acceso.

La Figura 9 mostra un esempio di un processo transitorio in un sistema con l'integratore spento quando il valore di uscita y(t) raggiunge un valore predeterminato (y = 0, y = 0,2, y = 0,8).

Figura 9 - Risposta ad un singolo salto r(t) di un sistema con saturazione dell'attuatore a vari livelli di spegnimento dell'integratore y

Integratore vincolato. In una variante dell'implementazione del controller PI che utilizza un integratore nel circuito di retroazione è stata presentata. Se questo circuito è integrato con un limitatore (Figura 10), il segnale u in uscita non andrà mai oltre i limiti fissati dalle soglie del limitatore, il che riduce l'overshoot nella risposta transitoria del sistema (Figura 12). La figura 11 mostra una modifica di tale limitatore.

Il modello dell'effetto di clipping può essere migliorato se, dopo aver superato il livello al quale si verifica il clipping, il segnale all'uscita del modello viene ridotto (Figura 13). Ciò accelera il ripristino del sistema dalla modalità di saturazione.

Figura 10 - Modifica dell'integratore con un limitatore (in parallelo)

Figura 11 - Modifica dell'integratore con limitatore (in serie)

Figura 12 - Risposta ad un singolo salto r(t) di un sistema contenente

integratore con vincolo superiore Uup

Figura 13 - Migliorata la funzione di trasferimento del modello dell'effetto di ritaglio

1.4 Margine di stabilità del sistema. Criterio di Nyquist

La possibilità di perdita di stabilità è il principale svantaggio dei sistemi di feedback. Pertanto, garantire il margine di stabilità necessario è il passaggio più importante nello sviluppo e nella messa a punto del controller PID.

La stabilità di un sistema con regolatore PID è la capacità del sistema di tornare a tracciare il setpoint dopo la cessazione delle influenze esterne. Nel contesto di questa definizione, per influenze esterne si intendono non solo i disturbi esterni che agiscono sull'oggetto, ma tutti i disturbi che agiscono su qualsiasi parte del sistema chiuso, inclusi il rumore di misura, l'instabilità del setpoint temporale, il rumore di campionamento e di quantizzazione, il rumore e l'errore di calcolo. Tutte queste perturbazioni causano deviazioni del sistema dalla posizione di equilibrio. Se una

al termine della loro influenza, il sistema ritorna nella posizione di equilibrio, quindi è considerato stabile. Quando si analizza la stabilità dei regolatori PID, di solito ci si limita a studiare la risposta del sistema a una variazione graduale del setpoint r(t), al rumore di misura n(t) e ai disturbi esterni d(t). La perdita di stabilità si manifesta come un aumento illimitato della variabile controllata dell'oggetto o come sua oscillazione con ampiezza crescente.

In condizioni di produzione, i tentativi di raggiungere la stabilità di un sistema con un controller PID empiricamente, senza la sua identificazione, non sempre portano al successo (questo vale innanzitutto per sistemi con un oggetto di ordine elevato o oggetti difficili da identificare , nonché sistemi con un notevole ritardo di trasporto) . Sembra che la stabilità sia una proprietà mistica che non può essere sempre controllata. Tuttavia, se il processo viene identificato in modo sufficientemente accurato, il misticismo scompare e l'analisi di stabilità si riduce all'analisi di un'equazione differenziale che descrive un circuito chiuso con feedback. Di interesse pratico è l'analisi del margine di stabilità, ovvero la determinazione dei valori numerici dei criteri che consentono di indicare quanto dista il sistema dallo stato di instabilità.

Le informazioni più complete sul margine di stabilità del sistema possono essere ottenute risolvendo un'equazione differenziale che descrive un sistema chiuso sotto disturbi esterni. Tuttavia, questo processo richiede troppo tempo, quindi, per i sistemi lineari, vengono utilizzati metodi semplificati per stimare il margine di stabilità senza risolvere le equazioni. Prenderemo in considerazione due metodi di stima: utilizzando l'odografo della risposta in frequenza complessa ad anello aperto (criterio di Nyquist) e utilizzando la risposta in frequenza logaritmica e la risposta di fase (grafici di Bode).

Un sistema stabile può diventare instabile con piccoli cambiamenti nei suoi parametri, ad esempio a causa della loro dispersione tecnologica. Pertanto, di seguito analizzeremo la funzione di sensibilità di un sistema con un controller PID, che consente di identificare le condizioni in cui il sistema diventa grossolano (insensibile alle variazioni dei suoi parametri). Un sistema che mantiene un determinato margine di stabilità sull'intero intervallo di variazioni dei parametri dovute alla loro variazione tecnologica, invecchiamento, condizioni operative, sull'intero intervallo di variazioni dei parametri di carico, nonché sull'intero intervallo dei disturbi che agiscono sul sistema in realtà condizioni operative, è chiamato robusto. A volte robustezza e maleducazione sono usati come concetti equivalenti.

Criterio di Nyquist. Si consideri un sistema costituito da un controller R e un oggetto di controllo P (Figura 14), che si ottiene eliminando il circuito del segnale di setpoint da un sistema classico con un controller PID. Assumiamo che il feedback sia aperto e per chiuderlo è sufficiente collegare i punti x e y. Assumiamo ora che l'ingresso x riceva un segnale

Quindi, dopo essere passato attraverso il controller e l'oggetto di controllo, questo segnale apparirà all'uscita y con un'ampiezza e una fase modificate nella forma:

y(t) = ? |G(jw0)|peccato(w0t + ?), (4)

dove G(jsh) = R(jsh)P(jsh) è la risposta in frequenza complessa (CFC) del sistema, ? = arg(G(jш0)) - argomento CCH, |G(jш0)| - Modulo CFC alla frequenza w0. Pertanto, quando si passa attraverso il regolatore e l'oggetto, l'ampiezza del segnale cambierà in proporzione al modulo e alla fase, in base al valore dell'argomento CFC.

Figura 14 - Struttura di un sistema di controllo ad anello aperto con un controller PID per l'analisi di stabilità

Se chiudiamo ora i punti xey, allora il segnale circolerà ad anello chiuso e la condizione y(t) = x(t) sarà soddisfatta. Se, inoltre, |G(jш0)| ? 1 e? \u003d 180 °, ovvero dopo aver attraversato il circuito, il segnale entra nell'ingresso del controller nella stessa fase del ciclo precedente, quindi dopo ogni passaggio lungo il circuito, l'ampiezza del segnale sinusoidale aumenterà fino a quando non raggiunge il limite dell'intervallo di linearità del sistema, dopodiché la forma dell'oscillazione diventa diversa da quella sinusoidale. In questo caso, il metodo della linearizzazione armonica può essere utilizzato per analizzare la stabilità, quando si considera solo la prima armonica del segnale distorto. Allo stato stazionario, dopo che l'ampiezza dell'oscillazione è stata limitata, a causa dell'uguaglianza y(t) = x(t), sarà soddisfatta la seguente condizione:

|G(jw0)|=1, ovvero G(jw0)= - 1 (5)

Risolvendo l'equazione G(jw0) = -1, puoi trovare la frequenza delle oscillazioni w0 in un sistema chiuso.

La risposta in frequenza complessa G(jш) è rappresentata graficamente sotto forma di odografo (diagramma di Nyquist) - un grafico nelle coordinate Re e Im (Figura 15). La freccia sulla linea dell'odografo indica la direzione del movimento della "matita" con frequenza crescente. Il punto G(jw0) = -1, che corrisponde alla condizione per l'esistenza di oscillazioni non smorzate nel sistema, su questo grafico ha le coordinate Re = -1 e Im = 0. Pertanto, il criterio di stabilità di Nyquist è formulato come segue : un circuito che è stabile nello stato aperto rimarrà stabile e dopo la sua chiusura, se il suo CFC nello stato aperto non copre il punto con le coordinate [-1, j0]. Più precisamente, quando ci si sposta lungo la traiettoria dell'odografo in direzione di frequenza crescente, il punto [-1, j0] deve rimanere a sinistra in modo che l'anello chiuso sia stabile.

K=6; T1 = T2 = 0,1 s; L = 0,01 s

Figura 15 - Tre odografi del CFC di un sistema aperto G(jw) per un oggetto del secondo ordine

La Figura 16 mostra le risposte di un sistema chiuso con tre diversi odografi (Figura 15) a un singolo passo di setpoint. In tutti e tre i casi, il sistema è stabile, ma il tasso di smorzamento delle oscillazioni e la forma della transizione

il loro processo è diverso. È intuitivamente chiaro che un sistema con parametri Ti = 0,01 s, Td = 0,1 s è il più vicino ad entrare in uno stato di oscillazioni non smorzate con una piccola variazione dei suoi parametri. Ecco perchè

quando si progetta un controllore PID, è importante garantire non tanto la stabilità quanto la sua riserva, necessaria per il normale funzionamento del sistema in condizioni reali.

Il margine di stabilità è stimato come il grado di lontananza del CFC dal punto critico [-1, j0]. Se |G(jш0)|< 1, то можно найти, во сколько раз осталось увеличить передаточную функцию, чтобы результирующее усиление вывело систему в колебательный режим: gm|G(jщ0)| = 1, откуда

Il margine di guadagno gm è il valore per il quale è necessario moltiplicare la funzione di trasferimento di un sistema ad anello aperto G(jsh180) in modo che il suo modulo ad una frequenza di sfasamento di 180° (sh180) diventi uguale a 1. Se ad un frequenza di w180 il guadagno ad anello aperto è G(jsh180) = -1/gm (Fig. 15), quindi un guadagno aggiuntivo di gm porterà il sistema al punto [-1, j0], poiché (-1/gm) gm = -1. Analogamente viene introdotto il concetto di margine di fase: questo è il valore minimo m, di cui è necessario aumentare lo sfasamento in un sistema aperto arg(G(jw)) in modo che lo sfasamento totale raggiunga 180°, cioè

Il segno “+” prima di arg(G(jш1)) è perché arg(G(jш1))< 0. Для оценки запаса устойчивости используют также минимальное расстояние sm от кривой годографа до точки [-1, j0] (рисунок 15).

In pratica si considerano accettabili i valori gm = 2...5,m = 30...60°, sm = 0.5...0.8 Per il grafico di Figura 15, questi criteri hanno i seguenti valori:

Sol1 = 12,1; m1 = 15°; sm1 = 0,303 (per il caso Ti = 0,01 s,

Sol2 = 11,8; m2 = 47,6°; sm2 = 0,663 (per il caso Ti = 0,05 s,

Sol3 = 1,5; m3 = 35,2°; sm3 = 0,251 (per il caso Ti = 0,05 s,

Se la curva odografica interseca l'asse reale in più punti, per valutare il margine di stabilità, prendi quello più vicino al punto [-1, j0]. Con un odografo più complesso, è possibile utilizzare una stima del margine di stabilità come margine di ritardo. Il margine di ritardo è il ritardo minimo aggiunto al ciclo per renderlo instabile. Molto spesso, questo criterio viene utilizzato per valutare il margine di stabilità dei sistemi con il predittore di Smith.

Criterio di stabilità di frequenza Per una rappresentazione grafica della funzione di trasferimento di un sistema aperto e una valutazione del margine di stabilità, è possibile utilizzare la risposta in frequenza logaritmica e la risposta di fase (Figura 17). Per valutare il margine di fase, innanzitutto, utilizzando la risposta in frequenza, trovare la frequenza u1 (frequenza di taglio o frequenza di guadagno unitario), a cui G(ju1) = 1, quindi trovare il margine di fase corrispondente utilizzando il PFC. Per stimare il margine di guadagno, innanzitutto, utilizzando il PFC, trovare la frequenza w180, alla quale lo sfasamento è di 180°, quindi trovare il margine di guadagno dalla risposta in frequenza. La Figura 17 mostra esempi di costruzioni grafiche per la stima del guadagno e del margine di fase per il sistema, i cui odografi sono mostrati nella Figura 15.

Se il margine di fase ad anello aperto è 0° o il margine di guadagno è 1, il sistema sarà instabile dopo la chiusura del circuito di retroazione.

Figura 16 - Risposta transitoria di un sistema chiuso, che

ha odografi mostrati in Figura 15

2. Funzioni di sensibilità. equazione del controller PID digitale

2.1 Funzioni di sensibilità. robustezza. Commutazione senza shock delle modalità di controllo

La funzione di trasferimento di un oggetto reale P(s) può variare durante il funzionamento del valore DP(s), ad esempio a causa di variazioni del carico sull'albero motore, del numero di uova nell'incubatrice, del livello o della composizione di il liquido nell'autoclave, a causa dell'invecchiamento e dell'usura del materiale, della comparsa di giochi, cambiamenti di lubrificazione, ecc. Un sistema di controllo automatico adeguatamente progettato dovrebbe mantenere i suoi indicatori di qualità non solo in condizioni ideali, ma anche in presenza dei fattori dannosi elencati. Per valutare l'influenza di una variazione relativa nella funzione di trasferimento dell'oggetto DP/P sulla funzione di trasferimento del sistema chiuso Gcl

y(s) = r(s), Gcl(s) = (8)

trova il differenziale dGcl:

Dividendo entrambi i membri di questa uguaglianza per Gcl e sostituendo Gcl = PR/(1+PR) nel lato destro, otteniamo:

Figura 17 - Valutazione del guadagno e del margine di fase per un sistema con odografo mostrato in Figura 15

Da (10) è visibile il significato del coefficiente S: caratterizza il grado di influenza del cambiamento relativo nella funzione di trasferimento dell'oggetto sul cambiamento relativo nella funzione di trasferimento dell'anello chiuso, ovvero S è il coefficiente di sensibilità dell'anello chiuso alla variazione della funzione di trasferimento dell'oggetto. Poiché il coefficiente S \u003d S (jsh) dipende dalla frequenza, è chiamato funzione di sensibilità.

Come segue da (10),

Introduciamo la notazione:

Il valore T è chiamato funzione di sensibilità complementare (addizionale), poiché S + T = 1. La funzione di sensibilità consente di valutare la modifica delle proprietà del sistema dopo la chiusura della retroazione. Poiché la funzione di trasferimento di un sistema aperto è G = PR e quella di un sistema chiuso Gcl = PR/(1+PR), il loro rapporto è Gcl/G = S. Allo stesso modo, per un sistema aperto, la funzione di trasferimento da l'ingresso dei disturbi d all'uscita di un sistema chiuso è (vedi ) P(s)/(1 + P(s)R(s)), e l'anello aperto è P(s), quindi anche il loro rapporto è S. Per la funzione di trasferimento dall'ingresso del rumore di misura n all'uscita del sistema, si può ottenere lo stesso rapporto S.

Pertanto, conoscendo la forma della funzione S(jш) (ad esempio, Figura 18), possiamo dire come la soppressione delle influenze esterne sul sistema cambierà per frequenze diverse dopo la chiusura del circuito di retroazione. Ovviamente, i rumori che si trovano nella gamma di frequenza in cui |S(jш)| > 1, dopo la chiusura aumenterà il feedback e il rumore con frequenze alle quali |S(jш)|< 1, после замыкания обратной связи будут ослаблены.

Il caso peggiore (la massima amplificazione delle influenze esterne) sarà osservato alla frequenza massima Ms del modulo della funzione di sensibilità (Figura 18):

Il massimo della funzione di sensibilità può essere correlato al margine di stabilità sm (Figura 15). Per questo, prestiamo attenzione al fatto che |1 + G(jш)| rappresenta la distanza dal punto [-1, j0] al punto corrente sull'odografo della funzione G(jш). Pertanto, la distanza minima dal punto [-1, j0] a

la funzione G(jш) è uguale a:

Confrontando (13) e (14), possiamo concludere che sm = 1/Ms. Se il modulo G(jsh) diminuisce con l'aumentare della frequenza, allora, come si può vedere dalla Figura 15, (1-sm) ? 1/g. Sostituendo qui il rapporto sm = 1/Ms, otteniamo una stima del margine di guadagno espresso in termini di massimo della funzione di sensitività:

Allo stesso modo, ma con ipotesi più grossolane, possiamo scrivere la stima del margine di fase in termini di massimo della funzione di sensibilità:

Ad esempio, per Ms = 2 otteniamo gm ? 2 e? 29°.

Figura 18 - Funzioni di sensibilità per il sistema con odografi mostrate in Figura 13

La robustezza è la capacità di un sistema di mantenere un dato margine di stabilità con variazioni dei suoi parametri causate da una variazione di carico (ad esempio, al variare del carico del forno, cambiano le sue costanti di tempo), diffusione tecnologica dei parametri e loro invecchiamento, influenze esterne , errori di calcolo ed errore del modello a oggetti. Utilizzando il concetto di sensibilità, possiamo dire che la robustezza è una bassa sensibilità del margine di stabilità alle variazioni dei parametri di un oggetto.

Se i parametri dell'oggetto cambiano entro piccoli limiti, quando è possibile utilizzare la sostituzione del differenziale con un incremento finito, l'effetto delle variazioni dei parametri dell'oggetto sulla funzione di trasferimento del sistema chiuso può essere stimato utilizzando il funzione di sensibilità (10). In particolare si può concludere che a quelle frequenze dove il modulo della funzione di sensibilità è piccolo, l'effetto delle variazioni dei parametri dell'impianto sulla funzione di trasferimento di un sistema chiuso e, di conseguenza, sul margine di stabilità sarà piccolo.

Per valutare l'impatto di grandi cambiamenti nei parametri dell'oggetto, rappresentiamo la funzione di trasferimento dell'oggetto sotto forma di due termini:

P = P0 + DP, (17)

dove P0 è la funzione di trasferimento calcolata, DP è la deviazione da P0, che deve essere una funzione di trasferimento stabile. Quindi il guadagno di anello di un sistema aperto può essere rappresentato come G = RP0 + RDP = G0 + RDP. Poiché la distanza dal punto [-1, j0] al punto attuale A sull'odografo del sistema imperturbato (per il quale DP = 0) è pari a |1 + G0| (Figura 19), la condizione di stabilità per un sistema con deviazione del guadagno di anello RDP può essere rappresentata come:

|PSR|< |1+G0|,

dove T è una funzione di sensibilità aggiuntiva (12). Infine, possiamo scrivere il rapporto:

che deve essere soddisfatto affinché il sistema rimanga stabile quando i parametri di processo cambiano del valore di DP(jsh).

Riduzione di zeri e poli. Poiché la funzione di trasferimento ad anello aperto G = RP è il prodotto di due funzioni di trasferimento, che in caso generale hanno sia un numeratore che un denominatore, allora è possibile cancellare i poli che giacciono nel semipiano destro o sono vicini ad esso. Poiché in condizioni reali, quando c'è una dispersione dei parametri, tale riduzione viene eseguita in modo impreciso, può verificarsi una situazione in cui un'analisi teorica porta alla conclusione che il sistema è stabile, sebbene di fatto con una piccola deviazione dei parametri di processo dai valori calcolati, diventa instabile.

Pertanto, ogni volta che i poli vengono ridotti, è necessario verificare la stabilità del sistema con una dispersione reale dei parametri dell'oggetto.

Figura 19 - Spiegazione della derivazione del rapporto (18)

Il secondo effetto dell'accorciamento dei poli è la comparsa di una differenza significativa tra il tempo di assestamento del processo transitorio in un sistema chiuso sotto l'influenza di un segnale di setpoint e disturbi esterni. Pertanto, è necessario verificare la risposta del controllore sintetizzato sotto l'influenza non solo del segnale di setpoint, ma anche di disturbi esterni.

Commutazione senza shock delle modalità di controllo. Nei controller PID, potrebbero esserci modalità quando i loro parametri cambiano bruscamente. Ad esempio, quando è necessario modificare la costante di integrazione in un sistema in funzione o quando, dopo il controllo manuale del sistema, è necessario passare alla modalità automatica. Nei casi descritti, se non vengono prese misure speciali, possono verificarsi superamenti indesiderati della variabile controllata. Pertanto, sorge il problema di una commutazione regolare ("senza shock") delle modalità operative o dei parametri del controller. Il metodo principale per risolvere il problema è costruire una tale struttura di controllo, quando la modifica dei parametri viene eseguita prima della fase di integrazione. Ad esempio, modificando il parametro Ti = Ti (t), il termine integrale può essere scritto in due forme:

I(t) = o I(t) = .

Nel primo caso, quando Ti(t) cambia bruscamente, il termine integrale cambierà bruscamente; nel secondo caso, cambierà gradualmente, poiché Ti(t) è sotto il segno di integrale, il cui valore non può variare bruscamente.

Un metodo simile è implementato nella forma incrementale del controller PID (vedi sezione "Forma incrementale del controller PID digitale") e nella forma seriale del controller PID, dove l'integrazione viene eseguita nella fase finale del calcolo del controllo.

2.2 Equazione del controller PID digitale sotto forma di controller discreto

Le variabili continue sono convenienti da utilizzare per l'analisi e la sintesi dei controller PID. Per l'implementazione tecnica, è necessario passare a una forma discreta di equazioni, poiché la base di tutti i controller è un microcontrollore, controller o computer che opera con variabili ottenute da segnali analogici dopo la loro quantizzazione temporale e campionamento di livello.

A causa del tempo finito per calcolare l'azione di controllo nel microcontrollore e del ritardo nella conversione da analogico a digitale tra il momento in cui il segnale analogico arriva all'ingresso del controller e la comparsa dell'azione di controllo alla sua uscita, un ritardo indesiderato appare, che aumenta il ritardo complessivo nel circuito di controllo e riduce il margine di stabilità.

L'effetto principale che compare durante il campionamento e che spesso viene "riscoperto" è la comparsa di frequenze alias nello spettro del segnale quantizzato nel caso in cui la frequenza di quantizzazione non sia sufficientemente alta.

Un effetto simile si verifica durante le riprese di una ruota di automobile che gira. La frequenza del segnale alias è uguale alla differenza tra la frequenza di interferenza e la frequenza di quantizzazione, in questo caso il segnale di interferenza ad alta frequenza viene spostato nella regione di bassa frequenza, dove si sovrappone al segnale utile e crea grandi problemi, poiché è impossibile filtrarlo in questa fase.

Per eliminare l'effetto alias, è necessario installare un filtro analogico prima dell'ingresso del convertitore analogico-digitale, che attenuerebbe il rumore di almeno un ordine di grandezza ad una frequenza pari alla metà della frequenza di quantizzazione. Di solito viene utilizzato un filtro Butterworth del secondo ordine o superiore. La seconda soluzione al problema è aumentare la frequenza di quantizzazione in modo che sia almeno 2 volte (secondo il teorema di Kotelnikov) superiore alla frequenza massima dello spettro di rumore. Ciò consente di applicare un filtro passa basso digitale dopo la quantizzazione. Con una tale frequenza di campionamento, il segnale digitale ricevuto è completamente equivalente a quello analogico in termini di quantità di informazioni e tutte le proprietà del controller analogico possono essere estese a quello digitale.

Transizione alle equazioni alle differenze finite. La transizione alle variabili discrete nelle equazioni del controller analogico viene eseguita sostituendo derivate e integrali con le loro controparti discrete. Se l'equazione è scritta sotto forma di operatore, viene prima eseguita una transizione dall'area dell'immagine all'area originale. In questo caso, l'operatore di differenziazione è sostituito da una derivata, l'operatore di integrazione è sostituito da un integrale.

Esistono molti modi per approssimare derivate e integrali dalle loro controparti discrete, che sono delineati nei corsi sui metodi numerici per la risoluzione di equazioni differenziali. Nei controllori PID, i più comuni sono i tipi più semplici di approssimazione della derivata per differenza finita e dell'integrale per somma finita. Considera il termine integrale del controller PID:

Differenziando entrambe le parti rispetto al tempo, otteniamo

Sostituendo i differenziali in questa espressione con differenze finite (differenze di sinistra), otteniamo

dove l'indice i significa che il valore dato è stato preso all'istante ti (si noti che qui e sotto l'indice i in Ti non denota il numero del passo temporale, ma coefficiente integrale regolatore PID). Dall'ultima espressione si ottiene:

Pertanto, il valore successivo dell'integrale può essere calcolato conoscendo il precedente e il valore dell'errore nell'istante precedente. Tuttavia, una tale formula tende ad accumulare un errore di calcolo nel tempo se il rapporto Dt/Ti non è sufficientemente piccolo. Un'altra formula di integrazione è più stabile - con giuste differenze, quando il valore dell'errore viene preso contemporaneamente all'integrale calcolato:

Considera il termine differenziale di un controller PID con un filtro:

Passando in questa formula dalle immagini agli originali, otteniamo:

Sostituendo i differenziali con incrementi finiti, otteniamo l'equazione differenziale:

Si noti che per la convergenza del processo iterativo (21) è necessario che

Quando Dt > Td/N, il processo iterativo (21) diventa oscillatorio, il che è inaccettabile per il controller PID. L'equazione differenziale ottenuta utilizzando le giuste differenze ha le caratteristiche migliori:

Qui la condizione di convergenza è soddisfatta per tutti i Dt e non si verificano oscillazioni per nessun valore dei parametri. Inoltre, l'ultima formula permette di “spegnere” la componente differenziale nel regolatore PID impostando Td = 0, cosa che non si può fare nell'espressione (21), poiché in questo caso avviene la divisione per zero. È possibile utilizzare formule ancora più precise per la differenziazione e l'integrazione numerica, note dal corso dei metodi numerici per la risoluzione delle equazioni. Il valore del ciclo di quantizzazione Dt è scelto il più piccolo possibile, questo migliora la qualità della regolazione. Per garantire una buona qualità della regolazione, non dovrebbe essere più di 1/15...1/6 del tempo per stabilire la risposta transitoria dell'oggetto a livello di 0,95 o 1/4...1/6 della valore del ritardo di trasporto. Tuttavia, con un aumento della frequenza di quantizzazione di oltre 2 volte rispetto alla frequenza superiore dello spettro dei segnali di disturbo (secondo il teorema di Kotelnikov), non vi è alcun ulteriore miglioramento nella qualità della regolazione.

Se non è presente un filtro anti-alias all'ingresso del regolatore, la frequenza di quantizzazione viene scelta 2 volte superiore alla frequenza di taglio superiore dello spettro di interferenza per utilizzare il filtraggio digitale. Va inoltre tenuto conto che il dispositivo esecutivo deve avere il tempo di allenarsi durante il tempo Dt.

Se il controllore viene utilizzato non solo per la regolazione, ma anche per la segnalazione di allarme, il ciclo di quantizzazione non può essere inferiore al ritardo consentito per l'attivazione della segnalazione di allarme.

Con un piccolo ciclo di quantizzazione, l'errore nel calcolo della derivata aumenta. Per ridurlo, è possibile utilizzare lo smoothing dei dati ricevuti su più punti raccolti prima della fase di differenziazione.

Equazione del controller PID digitale. Sulla base di quanto sopra, l'equazione del controller PID discreto può essere scritta come:

dove i è il numero del passo temporale.

Per avviare l'algoritmo, di solito scegliamo uD0 = 0, I0 = 0, e0 = 0, ma potrebbero essercene altri condizioni iniziali, a seconda del significato di un problema di controllo specifico.

Si noti che l'algoritmo ottenuto semplicemente sostituendo gli operatori di differenziazione e integrazione nella classica equazione del controller PID

differenze finali e somme finali

ha scarsa stabilità e bassa precisione, come mostrato in precedenza. Tuttavia, all'aumentare della frequenza di campionamento, la differenza tra i due algoritmi precedenti viene cancellata.

Forma incrementale di un controller PID digitale. Abbastanza spesso, specialmente nelle reti neurali e nei controller fuzzy, l'equazione del controller PID viene utilizzata sotto forma di dipendenza dell'incremento della variabile di controllo dall'errore di controllo e dalle sue derivate (senza un termine integrale).Tale rappresentazione è conveniente quando un dispositivo esterno svolge il ruolo di integratore, ad esempio un motore convenzionale o passo-passo. L'angolo di rotazione del suo asse è proporzionale al valore del segnale di controllo e del tempo. Nei controllori fuzzy, quando si formulano regole fuzzy, un esperto può formulare la dipendenza della variabile di controllo dal valore della derivata, ma non può formulare la dipendenza dal valore integrale, poiché l'integrale "ricorda" l'intera storia della variazione dell'errore, che una persona non può ricordare.

La forma incrementale del regolatore PID si ottiene differenziando l'equazione (25):

Per ottenere un errore di controllo zero, è necessario installare un integratore all'uscita del controller incrementale (Figura 20):

Figura 20 - Forma incrementale del controller PID

Passando le espressioni ottenute alle differenze finite, otteniamo la forma discreta del controllore PID incrementale:

dove Dui+1 = ui+1 - ui;

Dei = ei - ei-1.

Un'equazione differenziale più stabile e precisa può essere ottenuta sostituendo le espressioni per ui+1 e ui da (24) nella formula Dui+1 = ui+1 - ui.

La forma incrementale del controller è conveniente per l'uso nei microcontrollori, poiché in essa la maggior parte dei calcoli viene eseguita in incrementi, che possono essere rappresentati da una parola con un numero ridotto di cifre binarie. Per ottenere il valore della variabile di controllo, è possibile eseguire la somma cumulativa nella fase finale dei calcoli: ui+1 = ui + Dui+1.

Prima di calcolare i parametri del controller, è necessario formulare l'obiettivo e i criteri per la qualità della regolazione, nonché le restrizioni sull'entità e sulla velocità di variazione delle variabili nel sistema. Tradizionalmente, i principali indicatori di qualità sono formulati in base ai requisiti per la forma della risposta di un sistema chiuso ad un cambio graduale del setpoint. Tuttavia, questo criterio è molto limitato. In particolare non dice nulla sulla quantità di attenuazione del rumore di misura o sull'influenza di disturbi esterni; può dare un'idea errata della robustezza del sistema.

Pertanto, per descrivere o testare completamente un sistema con un controller PID, sono necessari numerosi indicatori di qualità aggiuntivi, che verranno discussi in seguito.

Nel caso generale, la scelta degli indicatori di qualità non può essere completamente formalizzata e deve essere effettuata in base al significato del problema da risolvere.

3. Qualità normativa

3.1 Criteri di prestazione Attenuazione dell'influenza di disturbi esterni

La scelta del criterio di qualità del controllo dipende dallo scopo per il quale viene utilizzato il regolatore. L'obiettivo potrebbe essere:

Mantenere un valore costante di un parametro (ad esempio temperatura);

Tracciamento del setpoint o controllo software;

Controllo della serranda in un serbatoio di liquidi, ecc.

Per un compito particolare, il fattore più importante può essere:

Forma di risposta ai disturbi esterni (tempo di assestamento, overshoot, tempo di risposta, ecc.);

Forma della risposta al rumore di misura;

Forma di risposta al segnale di setpoint;

Robustezza in relazione alla diffusione dei parametri dell'oggetto di controllo;

Risparmio energetico in un sistema controllato;

Minimizzazione del rumore di misura.

Per un regolatore PID classico, i parametri migliori per monitorare il setpoint sono generalmente diversi dai parametri migliori per attenuare l'influenza dei disturbi esterni. Affinché entrambi i parametri siano ottimali contemporaneamente, è necessario utilizzare regolatori PID con due gradi di libertà.

Il tracciamento preciso delle modifiche del setpoint è necessario nei sistemi di controllo del movimento, nella robotica; nei sistemi di controllo di processo, dove normalmente il setpoint rimane invariato per lungo tempo, è richiesta la massima attenuazione dell'effetto del carico (disturbi esterni); nei sistemi di controllo del serbatoio di liquido, è necessario garantire il flusso laminare (minimizzazione della varianza della variabile di uscita del regolatore), ecc.

Come mostrato nella sottosezione, il feedback indebolisce l'influenza delle perturbazioni esterne in |S(jш)| volte, ad eccezione delle frequenze alle quali |S(jw)|. Le perturbazioni esterne possono essere applicate a un oggetto in molte parti diverse di esso, tuttavia, quando la posizione specifica è sconosciuta, si ritiene che la perturbazione agisca sull'input dell'oggetto. In questo caso, la risposta del sistema ai disturbi esterni è determinata dalla funzione di trasferimento dall'ingresso dei disturbi esterni all'uscita del sistema:

Poiché le perturbazioni esterne di solito si trovano nella parte a bassa frequenza dello spettro, dove |S(jш)| e, di conseguenza, T, allora l'espressione (28) può essere semplificata:

Pertanto, per indebolire l'influenza dei disturbi esterni (in particolare l'influenza del carico), si può ridurre la costante di integrazione Ti.

Nel dominio del tempo, la risposta ai disturbi esterni è stimata dalla risposta ad un singolo salto d(t). Riduzione dell'effetto del rumore di misura: La funzione di trasferimento dal punto di applicazione del rumore all'uscita del sistema è:

A causa della diminuzione della risposta in frequenza dell'oggetto di alte frequenze la funzione di sensibilità tende a 1 (Figura 18). Pertanto, è impossibile ridurre l'effetto del rumore di misurazione utilizzando il feedback. Tuttavia, questi rumori vengono facilmente eliminati mediante l'uso di filtri passa-basso e un'adeguata schermatura e messa a terra.

Il sistema chiuso rimane stabile quando i parametri dell'oggetto cambiano del valore di DP(jsh) se la condizione (18) è soddisfatta.

Criteri di qualità nel dominio del tempo. Per valutare la qualità della regolazione in un sistema chiuso con un controller PID, per descrivere la forma del processo transitorio vengono solitamente utilizzati un'azione di input graduale e una serie di criteri (Figura 21):

Massimo errore di controllo

e il tempo Tmax in cui l'errore raggiunge questo massimo;

Errore assoluto integrato

Integrale dell'errore al quadrato

Decremento d (questo è il rapporto tra il primo massimo e il secondo valore tipico d=4 o più)

notiamo che in letteratura si trovano anche altre definizioni del decremento di smorzamento, in particolare come o come coefficiente b/a nell'esponente dell'esponente che descrive l'inviluppo delle oscillazioni smorzate;

Errore statico e0 (questo è un errore costante nell'equilibrio, cioè nel modo stazionario o statico del sistema);

Tempo di assestamento Te con un dato errore es (questo è il tempo dopo il quale l'errore di controllo non supera il valore impostato es; solitamente es = 1%, meno spesso 2% o 5% rispettivamente, il tempo di assestamento è indicato con T0. 01, T0.02, T0.05);

Overshoot emax (questo è l'eccesso del primo picco rispetto al valore di stato stazionario della variabile, solitamente espresso come percentuale del valore di stato stazionario);

Tempo di salita Tr (è l'intervallo di tempo durante il quale la variabile di uscita sale dal 10 al 90% del suo valore di stato stazionario);

Il periodo delle oscillazioni smorzate Tcl (in senso stretto le oscillazioni smorzate non sono periodiche, quindi qui il periodo è inteso come la distanza tra due massimi adiacenti della caratteristica transitoria).

Figura 21 - Criteri per la qualità della regolazione nel dominio del tempo

Per i sistemi di controllo del movimento, la funzione di rampa viene utilizzata più spesso come segnale di test rispetto alla funzione di salto, poiché i sistemi elettromeccanici di solito hanno una velocità di risposta limitata del valore di uscita.

I criteri di cui sopra vengono utilizzati per valutare la qualità della risposta sia alle modifiche del setpoint che all'impatto dei disturbi esterni e del rumore di misurazione.

Criteri di qualità della frequenza. Nel dominio della frequenza vengono solitamente utilizzati i seguenti criteri, ottenuti dal grafico della risposta ampiezza-frequenza di un sistema chiuso y (u) (Figura 22):

Larghezza di banda u-3dB (o u0.7) al livello di -3 dB (o al livello 1/ = 0.7) - banda di frequenza da 0 a u-3dB = u0.7, entro la quale la curva di risposta in frequenza diminuisce di no più di 3 dB rispetto al suo valore a frequenza zero y(0);

Oscillazione M - il rapporto tra il valore massimo (picco) della risposta in frequenza ymax e il suo valore a frequenza zero y(0), cioè in stato stazionario

i valori tipici sono M = 1,5...1,6;

La frequenza di risonanza del sistema wp è la frequenza alla quale la risposta in frequenza raggiunge il suo massimo ymax = y(wp).

I criteri di frequenza dei controllori reali non possono essere legati inequivocabilmente ai criteri temporali per via delle non linearità (di solito si tratta di non linearità di tipo “limitante”) e degli algoritmi per eliminare l'effetto di saturazione integrale. Tuttavia, è approssimativamente possibile stabilire le seguenti relazioni tra i criteri nei domini della frequenza e del tempo:

La frequenza della massima caratteristica di trasferimento di un sistema chiuso corrisponde approssimativamente al periodo di oscillazioni smorzate della risposta a un ingresso graduale - h;

Più lentamente decadono le vibrazioni, maggiore è l'indice oscillatorio M.

Selezione dei parametri del controllore. A teoria generale controllo automatico la struttura del controller viene selezionata in base al modello dell'oggetto di controllo. In questo caso, oggetti di controllo più complessi corrispondono a controller più complessi. Nel nostro caso, la struttura del controller è già impostata: stiamo considerando un controller PID. Questa struttura è molto semplice, quindi il controller PID non può sempre dare buona qualità controllo, sebbene i controller PID siano utilizzati nella stragrande maggioranza delle applicazioni industriali.

Documenti simili

    Tipi e utilizzo dei sensori controllo automatico parametri di regime dei processi tecnologici produzione chimica. Il principio di funzionamento di sensori misurati, regolatori di temperatura, interruttori modulari. Mezzi di protezione degli impianti elettrici.

    tesi, aggiunta il 26/04/2014

    Conoscenza delle fasi di calcolo delle impostazioni dei regolatori tipici in un sistema di risposta automatica a circuito singolo. Caratteristiche della scelta del tipo di regolatore industriale. Metodi per costruire la regione di stabilità nel piano dei parametri di ottimizzazione del controller.

    tesi, aggiunta il 17/06/2013

    Analisi delle proprietà dell'oggetto di controllo, regolatori tipici e selezione del tipo di regolatore. Calcolo dei parametri ottimali delle impostazioni del controller. Dipendenza dell'azione regolatoria dallo scostamento del valore controllato. Regolatori integrali e proporzionali.

    tesina, aggiunta il 02/11/2014

    Progettare un dispositivo che misura la temperatura in una stanza. La scelta del sensore di temperatura, del microcontrollore e della scheda di debug. Studio del funzionamento del sensore di temperatura integrato. Sviluppo software. Organizzazione funzionale del programma.

    tesina, aggiunta il 26/12/2013

    Progettazione di un modello di motore elettrico con parametri calcolati in ambiente Simulink. Simulazione del funzionamento del motore con vari carichi (coppia di disturbo). Calcolo di parametri e regolatori ottimali e indicatori di qualità per una serie di caratteristiche.

    tesina, aggiunta il 24/06/2012

    Calcolo della risposta in frequenza complessa dell'oggetto nell'intervallo di frequenza richiesto. Determinazione del margine di stabilità di un chiuso sistema automatico regolamento. Valutazione della qualità del controllo quando si utilizzano regolatori PI e PID e scelta del migliore.

    tesina, aggiunta il 04/12/2014

    Caratteristica accelerante dell'oggetto di regolazione e determinazione dei parametri che caratterizzano le proprietà inerziali dell'oggetto. Calcolo delle impostazioni dei regolatori in base alla caratteristica ampiezza-fase dell'oggetto regolato. Calcolo degli indicatori di qualità ATS.

    tesina, aggiunta il 22/10/2012

    Sintesi di un controllore proporzionale-integrale-differenziale che fornisce indicatori di precisione e qualità di controllo per un sistema chiuso. Caratteristica ampiezza-frequenza, analisi dinamica e il processo transitorio del sistema aggiustato.

    tesina, aggiunta il 08/06/2013

    Calcolo dei parametri di regolazione del controller PI per un oggetto del secondo ordine. Calcolo analitico e implementazione del programma in ambiente MatLab, che determina i parametri del controllore e del transitorio. Criteri per la qualità del processo transitorio di un sistema chiuso.

    lavoro di laboratorio, aggiunto il 29/09/2016

    Classificazione delle sospensioni elettromagnetiche. Costruire un modello matematico dello stand. Implementazione software di un controllore proporzionale-integrale-differenziale. Descrizione del microcontrollore ATmega 328 e della scheda Arduino. Montaggio e messa in servizio dello stand.

  • tutorial

Il controller PID è il controller più semplice con implementazioni hardware analogiche efficienti ed è quindi il più utilizzato. Per il suo funzionamento richiede l'impostazione di 3 coefficienti per un determinato oggetto, consentendo di selezionare il processo di regolazione in base alle esigenze. Avendo un semplice significato fisico e una semplice notazione matematica, è ampiamente e spesso utilizzato in termoregolatori, regolatori di flusso di gas e altri sistemi dove è richiesto di mantenere un determinato parametro ad un dato livello, con possibili transizioni tra diversi livelli preimpostati. Naturalmente esistono controllori più complessi che consentono di raggiungere i parametri impostati in modo più accurato e rapido e con meno overshoot, oltre a tenere conto della non linearità o isteresi dell'oggetto controllato, ma hanno una maggiore complessità computazionale e sono più difficili impostare.

Nonostante la sua semplicità sia di significato fisico che di notazione matematica:

Nell'implementazione software del controller PID si verificano spesso errori che si verificano anche nei dispositivi di automazione verificati.

Inoltre, è estremamente facile verificare la qualità dell'implementazione del controller PID.

Ritenere l'esempio più semplice: termostato. Per testarne la qualità, è più adatto un oggetto veloce, a bassa inerzia ea bassa potenza. Un classico del genere: una normale lampadina da 100W con una sottile termocoppia (XA) avvitata. E la prima cosa da controllare il controller PID è il degrado del PID a solo un controller P. Cioè, impostiamo a zero i coefficienti integrale e differenziale e impostiamo il proporzionale al massimo.

Accendiamo il regolatore, controlliamo: la temperatura attuale è di 22 gradi, l'impostazione è di 16 gradi. La lampada non si accende. Iniziamo ad aumentare l'impostazione: 16.1, 16.3, 16.7, 18 ... 19 ... la luce è accesa. Come?! Dove?! Ci fermiamo - spento. Quindi ci siamo incontrati primo classico errore implementazione del controllore PID.

Una piccola digressione matematica: ricordiamo ancora una volta la notazione integrale sopra indicata. Lo implementiamo in modo programmatico, il che significa in modo discreto. Cioè, con invidiabile regolarità misuriamo il valore in ingresso, lo confrontiamo con il setpoint, calcoliamo l'effetto, emettiamo, ripetiamo. Quindi, è necessario passare dalla forma integrale allo schema alle differenze finite. Durante la transizione, viene solitamente utilizzata una transizione frontale:

dove E(n) = X(n) - X0(n) - ovvero l'entità della discrepanza tra la corrente e il valore impostato del parametro controllato.

L'uso di una formula diretta richiederà, in primo luogo, di calcolare e memorizzare l'integrale dei disallineamenti su un periodo ampio e, in secondo luogo, richiederà un lavoro in virgola mobile di alta precisione (poiché il coefficiente integrale Ki è sempre< 1), либо операции деления (представляя коэффициент в форме 1/Ki) большой разрядности. Всё это требует вычислительных ресурсов, коих в embedded как правило сильно ограничено… Поэтому, вместо реализации прямой схемы, реализуют рекуррентную формулу:

l'uso di una formula ricorsiva consente di ridurre la quantità di calcoli e la profondità di bit dei valori intermedi.

Quindi, torniamo al nostro controller. Quindi, c'è un oggetto regolabile: una lampadina. Per controllare la potenza fornitagli, viene utilizzato un approccio semplice: l'alimentazione (220V 50Hz) viene alimentata attraverso il triac al carico. Il triac si spegne nel momento in cui la semionda passa per lo zero e rimane spento fino a quando non viene applicato un segnale all'elettrodo di controllo. Pertanto, prima dopo l'inizio della semionda diamo un segnale di controllo, più energia da questa semionda raggiungerà l'oggetto controllato. Tempisticando correttamente la linearità dell'area della semionda dall'istante X alla fine della semionda, siamo in grado di emettere potenza da 0 a 100% con la precisione con cui abbiamo calcolato la tabella di linearizzazione.

Quindi, possiamo produrre potenza da 0 a 100%. Negli oggetti reali, è spesso impossibile erogare il 100% della potenza, ad esempio questo è irto di esaurimento dell'elemento riscaldante. Pertanto, tutti i dispositivi hanno un'impostazione per la potenza di uscita minima e massima per oggetto.

Quindi, dopo aver calcolato U(n) secondo la formula precedente, si aggiunge un'altra limitazione del risultato:
se un< Umin then Un:= Umin; if Un>Umax poi Un:= Umax;
Dopodiché, Un calcolato è la potenza di uscita richiesta al momento attuale. Ta-dam! È questa implementazione che crea l'errore sopra descritto.

Il motivo è banale: al momento del passaggio da uno schema discreto a uno alle differenze finite, “racchiudiamo” l'operazione di calcolo dell'integrale, e ad ogni passo aggiungiamo la derivata alla somma accumulata U(n-1) . Avendolo imposto una restrizione, annulliamo di fatto l'intero integrale calcolato. (Beh, non quanto resettiamo, quanto portiamo nell'intervallo 0-100, che in questo caso non è significativo). Pertanto, distinguiamo il controller PID e l'acceleratore differenziale rimane. Quello che in realtà sembra un semplice regolatore differenziale: la potenza viene fornita in proporzione alla variazione del setpoint o della variabile controllata, e non in proporzione alla differenza tra il setpoint e la variabile controllata.

Conclusione #1: Il calcolo di U(n) non può essere limitato. Per limitare la potenza fornita al dispositivo di uscita, è necessario impostare una variabile separata.

Ora che abbiamo Urn, per potenza limitata, ricarichiamo, continuiamo a testare.
Accendiamo il regolatore, controlliamo: la temperatura attuale è di 22 gradi, l'impostazione è di 16 gradi. La lampada non si accende.
Iniziamo ad aggiungere l'impostazione: 16.1, 16.4, 17, 18, 20, 22, 24 (oops! acceso! evviva!), 28, 30, 40, 60... Bellezza! Lavori!
Stiamo osservando il processo: si è rivelato essere circa 60, penzola un po' avanti e indietro, ma regge. Sembra tutto bello. Espiriamo, controlliamo il controllo dal PC: impostiamo 600 gradi. E... La luce si spegne. Come mai? Setpoint 600, corrente 60, ma la spia è spenta?

Mentre aspettiamo e lentamente ci rendiamo conto che ne abbiamo chiaramente incontrati alcuni "Giunto classico n. 2"™ la lampadina si accende lentamente, raggiunge il 100% di potenza e rimane tale: non può emettere 600 gradi.

Torniamo di nuovo al nostro schema di differenza. U(n) = U(n-1) + Kp*(dE + ...) . La differenza residua moltiplicata per il coefficiente di proporzionalità viene sommata al valore corrente calcolato dell'impatto. Avevamo un setpoint di 60, una temperatura di 60, cioè una discrepanza zero. Anche la potenza di uscita era zero. E poi tutto in una volta, bruscamente, il setpoint è stato aumentato a 600 gradi. la discrepanza è diventata bruscamente di 540 gradi, l'hanno anche moltiplicata per il fattore di proporzionalità ... e sono volate fuori dalla capacità di archiviazione U(n). Non ridere, usando la matematica in virgola fissa invece della virgola mobile. Con una differenza di 540 gradi e lavoriamo per 1/16, con un fattore di proporzionalità di 20, otteniamo ... 540 * 20 * 16 = 172800, e se abbiamo una U (n) a 16 bit e anche un segno uno, quindi infatti, come risultato del calcolo, abbiamo ottenuto A300h = -8960. Opachki. Invece di un grande vantaggio, un tale meno tangibile.

Conclusione #2: I calcoli devono essere eseguiti con il corretto supporto di troppopieno. Traboccato? Limita il numero limite, di certo non avvolgere.

Quindi, abbiamo aumentato la profondità di bit U (n), ritradotto, ricucito, lanciamo. La lampadina non si è ancora completamente raffreddata, lì sono 80 gradi, l'impostazione è sempre la stessa 600. La lampadina si accende... e si spegne. Si accende e si spegne. Come mai? L'impostazione è 600, la lampadina è 80 - e mantiene abbastanza bene i suoi 80! Com'è?! Ovviamente siamo usciti Insetto n. 3.

E ancora, una digressione lirico-matematica. Quindi, c'è il nostro schema di differenze: U(n) = G(U(n-1), dE(n)) . Ancora una volta: il nuovo valore dell'impatto è la somma dell'impatto passato e di un certo impatto, a seconda della differenza tra il residuo al momento attuale e quello precedente. Qual è il momento precedente? E qual è il momento precedente del precedente? Bene, ricorda la scuola. Dimostrazione per induzione. Se è possibile costruire una dimostrazione per K+1, assumendo che la dimostrazione per K sia corretta, E dimostrare separatamente cosa è vero per K=0, allora la dimostrazione è vera. Quindi come calcoliamo U(0)?

Una soluzione comune: azzerare tutto, leggere il setpoint dalla memoria flash e i setpoint, attendere 1 ciclo di polling e leggere X(0). Qui lo zero è pronto, ora si lavora. E... E non giusto. Come mai? Perché la formula ricorrente è respinta dai cambiamenti nel residuo. E dopo aver inizializzato con zero e caricato i valori correnti, abbiamo perso le condizioni di partenza. Ecco fatto: invece di mantenere il valore assoluto della temperatura a un livello uguale al setpoint assoluto, il controller inizia a mantenere la temperatura uguale alla temperatura iniziale più la differenza del setpoint. Cioè, era 80 gradi e l'impostazione era 200, ha acceso il dispositivo - ne contiene 80. Modificata l'impostazione a 240 - ha iniziato a contenere 120.

Corretta inizializzazione dello schema di differenza: imposta _tutto_ a zero. Questo è
X(0) = 0, X0(0) = 0. U(0) = 0. E(0)=X(0)-X0(0)=0.
E nel primo ciclo di calcoli, il setpoint e il valore attuale, per così dire, appaiono improvvisamente:
X(1) = 80. X0(1)=200. U(1) = U(0)+Kp*(E(1)-E(0)) = U(0)+Kp*(X(1)-X0(1)-E(0)) = 0 + 20*(200 - 80 - 0) = 2400
Ora il circuito funziona correttamente.

Conclusione #3: inizializza correttamente le condizioni di avvio.

È giusto? Bene, bene, bene ... Ancora una volta ... Impostiamo l'impostazione su 20. Stiamo aspettando il raffreddamento ... Lo spegniamo. Accendere. Quindi, bellezza: corrente 20, setpoint 20. Imposta il salto 600. Riscaldiamoci. 100, 120 ... impostare l'impostazione su 20. Si è spento, è andato a raffreddare. Aspettiamo un po' (120… 110… 100… 90… 80…) e impostiamo l'impostazione a 100. Riscaldiamoci… 105 gradi, spento. Fermare. E perché ne contiene 105? Per noi ora funziona solo la componente proporzionale. Con la corretta implementazione dal significato fisico del processo, il processo oscillatorio non può mantenere l'impostazione più alta di quella impostata. rigorosamente al di sotto. E tiene 5 gradi in più di quanto richiesto. Si osserva Scherzo #4.

Quindi, ricordiamo quello che avevamo sopra: Conclusione n. 2: U(n) non può essere limitato. E Conclusione n. 3: in caso di overflow, devi comunque limitare. Si si. In caso contrario, il "punto di lavoro" viene spostato di un momento limitato. Cosa fare? Aumentare il grado? Bene, se c'è abbastanza potenza di calcolo. È necessario? In realtà, cosa c'è di sbagliato nell'avere U(n) = 9999,99 e non 29999,99? In generale, solo che ne abbiamo persi 20.000. Ma ora, per funzionare, dobbiamo solo cadere comunque al 100% della potenza, giusto? Correttamente. Ciò significa che non ci sono problemi con la restrizione nel reggimento, fintanto che non ci si allontana dal limite. Pertanto, in caso di overflow, è necessario impostare un flag e al raggiungimento, ad esempio, della metà dell'intervallo (ovvero quando U(n) dopo 9999.9 è sceso sotto 5000.00), reinizializzare nuovamente il circuito. Cioè, scarta la cronologia, dì che n=0 e vedi Conclusione n. 3 sopra. Una mente curiosa lo ha già capito nel caso schema completo, quando tutte e tre le componenti non sono uguali a zero, annullando il processo iterativo nel processo, annulliamo anche l'integrale accumulato della componente integrale. Tuttavia, poiché azzeriamo molto in anticipo, avrà il tempo di accumularsi durante il periodo di produzione aggiuntiva del resto. E non è del tutto corretto accumulare l'integrale su stadi “grandi”, poiché lo scopo della componente integrale è di “selezionare” la discrepanza che la componente proporzionale non può elaborare separatamente.

Conclusione #4: se per qualche motivo U(n) è stato limitato, il circuito dovrebbe essere reinizializzato non appena il circuito sembra essere tornato alla normalità.

Nel prossimo numero: è necessario implementare uno schema differenziale? Una dettagliata implementazione di un circuito diretto discreto con coefficienti regolabili semplici e comprensibili, con un significato fisico diretto, che calcola l'azione di controllo ad una frequenza di 25 Hz senza problemi sul processore ADuC847 (controller veloce a 8 bit, con il core 8051) , lasciando molto tempo di CPU per altri processi.

(Le immagini raffiguranti le formule sono tratte dall'articolo