componente integrale. Differenziale proporzionale-integrale (PID) - legge di regolazione

È possibile migliorare significativamente l'accuratezza della regolazione applicando la legge PID (legge di regolazione proporzionale-integrale-differenziale).
Per implementare la legge PID vengono utilizzate tre variabili principali:
P – banda proporzionale, %;
I – tempo di integrazione, s;
D è il tempo di differenziazione, s.
La messa a punto manuale del controller PID (determinando i valori dei parametri P, I, D), che fornisce la qualità di regolazione richiesta, è piuttosto complicata e viene utilizzata raramente nella pratica. I regolatori PID della serie UT/UP forniscono la regolazione automatica dei parametri PID per un processo di controllo specifico, pur mantenendo la possibilità di regolazione manuale.

Proporzionale
Nella banda proporzionale, determinata dal coefficiente P, il segnale di controllo cambierà proporzionalmente alla differenza tra il setpoint e il valore effettivo del parametro (mismatch):

segnale di controllo = 100/PE,

dove E è la mancata corrispondenza.
Il coefficiente di proporzionalità (guadagno) K è inversamente proporzionale a P:

La banda proporzionale è determinata rispetto al setpoint di regolazione impostato, e all'interno di questa banda il segnale di controllo varia da 0 a 100%, ovvero se il valore effettivo e il setpoint sono uguali, il segnale di uscita avrà un valore del 50%.

dove P è la banda proporzionale;
ST - set point di regolazione.
Per esempio:
campo di misura 0…1000 °С;
set point di regolazione ST = 500 °С;
banda proporzionale P = 5%, che è 50 °C (5% di 1000 °C);
a un valore di temperatura di 475 °C e inferiore, il segnale di controllo avrà un valore del 100%; a 525 °C e oltre - 0%. Nell'intervallo 475…525 °C (nella banda proporzionale), il segnale di controllo cambierà proporzionalmente al valore di mismatch con un guadagno K = 100/P = 20.
Riducendo il valore della banda proporzionale P si aumenta la risposta del controller al mismatch, cioè un piccolo mismatch corrisponderà a un valore maggiore del segnale di controllo. Ma allo stesso tempo, a causa dell'ampio guadagno, il processo assume un carattere oscillatorio attorno al valore del setpoint e non è possibile ottenere un controllo preciso. Con un aumento eccessivo della banda proporzionale, il controllore reagirà troppo lentamente al disadattamento risultante e non sarà in grado di tenere traccia della dinamica del processo. Per compensare questi svantaggi del controllo proporzionale, viene introdotta una caratteristica temporale aggiuntiva: la componente integrale.

componente integrale
È determinato dalla costante di tempo di integrazione I, è una funzione del tempo e fornisce una variazione del guadagno (spostamento della banda proporzionale) in un determinato periodo di tempo.


segnale di comando = 100/P E + 1/I ∫ E dt.

Come si può vedere dalla figura, se la componente proporzionale della legge di controllo non prevede una diminuzione del mismatch, allora la componente integrale inizia ad aumentare gradualmente il guadagno nel periodo di tempo I. Dopo un periodo di tempo I, questo processo si ripete. Se la mancata corrispondenza è piccola (o diminuisce rapidamente), il guadagno non aumenta e, se il valore del parametro è uguale all'impostazione specificata, assume un valore minimo. A questo proposito, la componente integrale è denominata funzione di spegnimento automatico del controllo. Nel caso del controllo PID, la risposta al gradino del processo sarà costituita da fluttuazioni che decadono gradualmente verso il setpoint.

Termine derivato
Molti oggetti di controllo sono piuttosto inerziali, cioè hanno un ritardo nella risposta all'azione applicata (tempo morto) e continuano a rispondere dopo che l'azione di controllo è stata rimossa (tempo di ritardo). I controller PID su tali oggetti saranno sempre in ritardo con l'attivazione/disattivazione del segnale di controllo. Per eliminare questo effetto, viene introdotta una componente differenziale, che è determinata dalla costante di tempo di differenziazione D, e viene fornita la piena attuazione della legge di controllo PID. La componente differenziale è la derivata temporale del mismatch, cioè è una funzione della velocità di variazione del parametro di controllo. Nel caso in cui la mancata corrispondenza diventi valore costante, la componente differenziale cessa di influenzare il segnale di controllo.

segnale di controllo = 100/P E + 1/I ∫ E dt + D d/dt E.

Con l'introduzione della componente differenziale, il controllore inizia a tenere conto del tempo morto e del tempo di ritardo, modificando anticipatamente il segnale di controllo. Ciò consente di ridurre significativamente le fluttuazioni del processo attorno al valore di setpoint e di ottenere un completamento più rapido del transitorio.
Pertanto, quando generano un segnale di controllo, i controller PID tengono conto delle caratteristiche dell'oggetto di controllo stesso, ad es. analizzare la discrepanza per l'entità, la durata e il tasso di variazione. In altre parole, il controller PID "anticipa" la reazione dell'oggetto regolato al segnale di controllo e inizia a modificare l'azione di controllo non quando viene raggiunto il valore di setpoint, ma in anticipo.

5. La funzione di trasferimento di cui è rappresentato il collegamento: K (p) \u003d K / Tr

Negli impianti con questo metodo di regolazione, a causa della presenza dell'isteresi e del segnale di controllo limitato, il valore effettivo del parametro oscillerà sempre periodicamente rispetto al valore impostato, ovvero si verificherà sempre un disadattamento. È possibile aumentare leggermente la precisione del controllo riducendo l'isteresi di commutazione, ma ciò comporta un aumento della frequenza di commutazione del relè di uscita e una sua diminuzione. ciclo vitale. Pertanto, i controllori di questo tipo non sono adatti per compiti in cui il parametro di controllo è altamente dinamico e dove è richiesto il mantenimento preciso del valore del parametro controllato. Possibile applicazione di controllori limite - oggetti con inerzia elevata e bassi requisiti di precisione di controllo.

Controllo PID

È possibile migliorare significativamente l'accuratezza della regolazione applicando la legge PID (legge di regolazione proporzionale-integrale-differenziale).
Per implementare la legge PID vengono utilizzate tre variabili principali:
P – banda proporzionale, %;
I – tempo di integrazione, s;
D è il tempo di differenziazione, s.
La messa a punto manuale del controller PID (determinando i valori dei parametri P, I, D), che fornisce la qualità di regolazione richiesta, è piuttosto complicata e viene utilizzata raramente nella pratica. I regolatori PID della serie UT/UP forniscono la regolazione automatica dei parametri PID per un processo di controllo specifico, pur mantenendo la possibilità di regolazione manuale.

Proporzionale
Nella banda proporzionale, determinata dal coefficiente P, il segnale di controllo cambierà proporzionalmente alla differenza tra il setpoint e il valore effettivo del parametro (mismatch):

segnale di controllo = 100/PE,

dove E è la mancata corrispondenza.
Il coefficiente di proporzionalità (guadagno) K è inversamente proporzionale a P:

La banda proporzionale è determinata rispetto al setpoint di regolazione impostato, e all'interno di questa banda il segnale di controllo varia da 0 a 100%, ovvero se il valore effettivo e il setpoint sono uguali, il segnale di uscita avrà un valore del 50%.

dove P è la banda proporzionale;
ST - set point di regolazione.
Per esempio:
campo di misura 0…1000 °С;
set point di regolazione ST = 500 °С;
banda proporzionale P = 5%, che è 50 °C (5% di 1000 °C);
a un valore di temperatura di 475 °C e inferiore, il segnale di controllo avrà un valore del 100%; a 525 °C e oltre - 0%. Nell'intervallo 475…525 °C (nella banda proporzionale), il segnale di controllo cambierà proporzionalmente al valore di mismatch con un guadagno K = 100/P = 20.
Riducendo il valore della banda proporzionale P si aumenta la risposta del controller al mismatch, cioè un piccolo mismatch corrisponderà a un valore maggiore del segnale di controllo. Ma allo stesso tempo, a causa dell'ampio guadagno, il processo assume un carattere oscillatorio attorno al valore del setpoint e non è possibile ottenere un controllo preciso. Con un aumento eccessivo della banda proporzionale, il controllore reagirà troppo lentamente al disadattamento risultante e non sarà in grado di tenere traccia della dinamica del processo. Per compensare questi svantaggi del controllo proporzionale, viene introdotta una caratteristica temporale aggiuntiva: la componente integrale.

componente integrale
È determinato dalla costante di tempo di integrazione I, è una funzione del tempo e fornisce una variazione del guadagno (spostamento della banda proporzionale) in un determinato periodo di tempo.

segnale di comando = 100/P E + 1/I ∫ E dt.

Come si può vedere dalla figura, se la componente proporzionale della legge di controllo non prevede una diminuzione del mismatch, allora la componente integrale inizia ad aumentare gradualmente il guadagno nel periodo di tempo I. Dopo un periodo di tempo I, questo processo si ripete. Se la mancata corrispondenza è piccola (o diminuisce rapidamente), il guadagno non aumenta e, se il valore del parametro è uguale all'impostazione specificata, assume un valore minimo. A questo proposito, la componente integrale è denominata funzione di spegnimento automatico del controllo. Nel caso del controllo PID, la risposta al gradino del processo sarà costituita da fluttuazioni che decadono gradualmente verso il setpoint.

Termine derivato
Molti oggetti di controllo sono piuttosto inerziali, cioè hanno un ritardo nella risposta all'azione applicata (tempo morto) e continuano a rispondere dopo che l'azione di controllo è stata rimossa (tempo di ritardo). I controller PID su tali oggetti saranno sempre in ritardo con l'attivazione/disattivazione del segnale di controllo. Per eliminare questo effetto, viene introdotta una componente differenziale, che è determinata dalla costante di tempo di differenziazione D, e viene fornita la piena attuazione della legge di controllo PID. La componente differenziale è la derivata temporale del mismatch, cioè è una funzione della velocità di variazione del parametro di controllo. Nel caso in cui il mismatch diventa un valore costante, la componente differenziale cessa di influenzare il segnale di controllo.

segnale di controllo = 100/P E + 1/I ∫ E dt + D d/dt E.

Con l'introduzione della componente differenziale, il controllore inizia a tenere conto del tempo morto e del tempo di ritardo, modificando anticipatamente il segnale di controllo. Ciò consente di ridurre significativamente le fluttuazioni del processo attorno al valore di setpoint e di ottenere un completamento più rapido del transitorio.
Pertanto, quando generano un segnale di controllo, i controller PID tengono conto delle caratteristiche dell'oggetto di controllo stesso, ad es. analizzare la discrepanza per l'entità, la durata e il tasso di variazione. In altre parole, il controller PID "anticipa" la reazione dell'oggetto regolato al segnale di controllo e inizia a modificare l'azione di controllo non quando viene raggiunto il valore di setpoint, ma in anticipo.

Quando si creano vari dispositivi di automazione, il compito è spesso quello di fornire una determinata velocità di rotazione dell'albero motore, indipendentemente dal carico attuale.

Non è difficile vedere che la velocità di rotazione dell'albero motore dipende non solo dalla tensione sul motore, ma anche da influenze esterne sconosciute sul motore, come forza di attrito variabile, carico variabile, temperatura, qualità della lubrificazione e altri fattori. Pertanto, il compito di fornire una data velocità di rotazione dell'albero motore è ridotto al compito di generare una tale tensione sul motore che fornirebbe una data velocità di rotazione del motore, indipendentemente dall'influenza di fattori casuali esterni.

Risolvere questo problema senza teoria controllo automatico impossibile. La soluzione del problema consiste nel calcolo e nell'attuazione Regolatore di velocità PID. Gli specialisti Dean-Soft hanno esperienza nella risoluzione di tali problemi.


Il controller PID fornisce una data velocità sull'attuatore (motore), indipendentemente dal carico costante o che varia lentamente che agisce su di esso.


Il controller PID è un controller proporzionale-integrale-differenziale. Il regolatore PID è costituito rispettivamente dal proporzionale ( K pag ), integrale ( K e / S ) e differenziale ( K d S ) link, ognuno di essi ha il proprio guadagno (Fig. 1).

Riso. 1. Schema strutturale di un sistema di controllo con un controller PID.

Qui: S è l'operatore di Laplace (a volte indicato come p ). Se astraiamo dalle trasformazioni di Laplace, allora i record K p, K e / S e K d S dovrebbe essere preso solo come una designazione del collegamento corrispondente e non come un'espressione matematica. E non dovresti assolutamente cercare un significato S , perché, come già detto, è un operatore, non una variabile.


In un sistema PID, la velocità effettiva V(t) il motore viene misurato utilizzando sensore.

All'input del sistema arriva il setpoint di velocità V culo(t) nelle stesse unità della velocità effettiva.

sommatore di feedback sottrae dal segnale di riferimento di velocità V culo (t) segnale di velocità effettiva V(t) e genera un segnale di errore e (t) in uscita:

Il segnale di errore viene inviato a proporzionale, integrante e differenziale collegamenti del controller PID.

legame proporzionale moltiplica il segnale di errore e per un fattore K pag e genera un segnale di uscita si p.

legame integrale integra il segnale e (t) nel tempo, moltiplica per un fattore K e e genera un segnale di uscita y e.

collegamento differenziale differenzia il segnale di errore rispetto al tempo e(t), moltiplicando il risultato per il numero K d e modellatura del segnale di uscita e d.


Accumulatore del controller PID somma i segnali si p(t), y e(t) e e d(t) e genera un segnale di uscita si(t):

PWM e interruttore di alimentazione progettato per trasmettere il segnale di uscita calcolato al motore si(t).

Calcolo dei coefficienti del regolatore PID

Non è difficile vedere che il controller PID è caratterizzato da tre coefficienti K pag, K e e K d. Per calcolare questi coefficienti è necessario conoscere i parametri dell'oggetto di controllo, in questo caso il motore.


Struttura e parametri dell'oggetto di controllo

Dal punto di vista della teoria del controllo automatico, il motore corrente continua approssimativamente descritto da: due collegamenti aperiodici con costante di tempo elettrica T e e costante di tempo meccanica T m. Guadagno motorio complessivo motore K(Fig. 2). Infatti, schema strutturale il motore è molto più complicato, ma questo non è così importante per noi in questo caso.





Riso. 2. Schema strutturale del motore dal punto di vista della teoria del controllo automatico.

Funzione di trasferimento del motore, scritto nei termini dell'operatore Laplace S, il seguente:

Guadagno motoremotore K determina la proporzionalità tra la velocità di rotazione dell'albero motore al minimo e la tensione applicata all'ingresso. In poche parole, il rapporto è uguale al rapporto del minimo Vxx e tensione nominale del motore unn.

La tensione sul motore nella tecnologia a microprocessore è impostata in unità di tensione convenzionali e la velocità è presa in unità di velocità convenzionali.

Se viene utilizzato un PWM a 7 bit per generare la tensione sul motore (vedi sotto), quindi calcolare motore K il valore della tensione nominale è di 128 unità di tensione convenzionale.

minimo wxx, specificato nei dati del passaporto del motore, deve essere riletto in unità di velocità convenzionali vxx determinato dal modo in cui è implementato il sensore di velocità.


Ad esempio, supponiamo che per misurare la velocità venga utilizzato un encoder incrementale, situato sull'albero del motore e avente 512 tacche per giro. Si misura la velocità in unità convenzionali come il numero di contrassegni per ciclo di calcolo D t. Sia il ciclo di calcolo, ottenuto valutando le prestazioni dell'algoritmo, pari a 0,001 sec. Lascia che il motore giri al minimo wxx=5000 giri/min.

Traduciamo la velocità del motore in segni del sensore, otteniamo: 5000x512 = 2560000 segni / min. Convertiamo i minuti in cicli di calcolo:

Se i parametri del motore sono sconosciuti, il regime minimo viene determinato sperimentalmente. Per fare ciò, al minimo, viene applicata la massima tensione al motore e le letture vengono rilevate dal sensore di velocità Vxx.


Costante di tempo meccanica T m dipende dal momento di inerzia dell'albero motore, del riduttore, dell'inerzia dispositivo esecutivo. Di solito non è possibile calcolarne il valore analiticamente. Pertanto, viene misurato sperimentalmente.

Per fare ciò, la tensione massima viene applicata bruscamente al motore al suo carico nominale e il processo transitorio di variazione della velocità viene rimosso V(t).


La velocità viene rilevata dal sensore di velocità a tempi discreti, registrata nella RAM del microprocessore e quindi trasferita su un personal computer. Il personal computer ricostruisce il grafico del cambio di velocità V(t)(Fig. 3).




Riso. 3. Processo transitorio in un motore a corrente continua.

Secondo il grafico transitorio, è possibile determinare, in primo luogo, il regime del minimo Vxx, e in secondo luogo, il tempo regolamentare t pag. Il tempo di controllo è determinato dall'ora di fine del processo transitorio (l'ora in cui la curva transitoria differisce di meno dell'1% dal valore dello stato stazionario).


Se trascuriamo la piccola influenza della costante di tempo elettrica T e, di solito un ordine di grandezza inferiore alla costante di tempo meccanica T m, allora il processo transitorio in un motore a corrente continua può essere considerato aperiodico con una costante T m.


È noto che il tempo di un processo transitorio aperiodico è cinque volte più lungo della sua costante di tempo. Quelli.:

Quindi per il nostro caso otteniamo:

Nel nostro caso, il tempo di controllo t pag, a giudicare dal grafico, è pari a 1,5 sec. Poi la costante di tempo meccanica T m= 1,5/5 = 0,3 sec.

Quindi, dopo aver tracciato il grafico del processo transitorio, troviamo la costante di tempo meccanica T m.


Costante di tempo elettricaT e determina l'inerzia della magnetizzazione dell'indotto del motore ed è uguale al rapporto tra l'induttanza dell'indotto del motore e la resistenza del suo avvolgimento:

In pratica, i parametri di induttanza dell'indotto sono difficili da misurare e quindi prendono la costante di tempo elettrica di un ordine di grandezza inferiore alla costante di tempo meccanica:

Questo è vero per la maggior parte dei motori.

Calcolo dei coefficienti del regolatore PID.

Per calcolare i coefficienti del controller PID, si dovrebbe risolvere il problema inverso della dinamica. Per fare ciò, astraiamo dal controller PID. Assumiamo che la struttura del controller, ad es. sua funzione di trasferimento W pag(s) , ci è sconosciuto. Per questo è nota la funzione di trasferimento dell'oggetto di controllo wdiv(S)(Fig. 4).


Riso. 4. Schema iniziale per il calcolo del controller per un motore a corrente continua.

Scriviamo la funzione di trasferimento del sistema chiuso W s (S):


Determiniamo quale processo transitorio nel sistema sarebbe adatto a noi? Siamo abbastanza soddisfatti del processo transitorio aperiodico nel sistema. Questo è il modo in cui il sistema dovrebbe rispondere alle variazioni di velocità e carico.

Sia la costante di tempo desiderata del transitorio T sarà approssimativamente uguale T m. Quelli. funzione di trasferimento del sistema desiderato w(S) è uguale a:

Identifichiamo la funzione di trasferimento del sistema chiuso con la funzione di trasferimento del sistema desiderato:

Con semplici trasformazioni matematiche, esprimiamo da qui l'espressione per la funzione di trasferimento del controllore W pag(S):

Sostituisci il valore Motore W(S):




Introduciamo i coefficienti:

Noi abbiamo:

Non è difficile vedere che abbiamo appena ottenuto il coefficiente C 1, coefficiente prima del collegamento integrale DA 2 e il coefficiente davanti al legame differenziativo C 3. Quelli. abbiamo ottenuto la classica struttura del controller PID con parametri K pag=DA 1 , K e=C 2 e K d=C 3 :

Implementazione di un controllore PID su microprocessore digitale

I sistemi con controller PID sono attualmente implementati solo digitalmente e il calcolo delle leggi di controllo viene eseguito da microprocessori economici della serie AVR o MCS -51. Si noti che i microprocessori sono interi e non supportano operazioni in virgola mobile. Ciò richiede al programmatore di adattare gli algoritmi di conseguenza.


In un sistema PID, la velocità del motore viene misurata mediante un sensore. La velocità reale è misurata in unità condizionali intere di velocità. Di solito, le unità di velocità convenzionali sono selezionate in modo tale che la velocità in c.u. cambiata nell'intervallo da -127 a 127 (un byte), in casi estremi da -15 a 15 (la velocità è presa con un margine). Ma in ogni caso, il numero di incrementi di velocità non dovrebbe essere inferiore al numero di velocità richiesto.


La velocità può essere misurata dai seguenti sensori:

La velocità specificata viene immessa nel sistema nelle stesse unità convenzionali della velocità reale. La velocità impostata viene solitamente trasmessa da un processore di controllo di livello superiore o da un personal computer e memorizzata nelle apposite celle di memoria del microprocessore.


sommatore di feedback sottrae dalla velocità impostata V culo velocità reale v e riceve il cosiddetto segnale di errore e:

Considerando che la velocità V culo e v sono numeri interi compresi tra -127 e 127, questa operazione è implementata semplicemente su un microprocessore intero. Dovrebbe essere assicurato che il risultato. Se e<-127 , то e =127, а если e >12 7, quindi e = 127.


Segnale di errore e immette l'ingresso del controller PID, ad es. su un legame proporzionale, integrale e differenziale.


legame proporzionale genera un segnale in uscita si p moltiplicando il segnale di errore istantaneo per un fattore K pag.

Coefficiente K pag di solito rappresenta un valore non intero compreso tra 0,5 e 2. Pertanto, per moltiplicare un numero intero a un byte e per questo coefficiente utilizzare la tabella K P,io, che viene calcolato in anticipo:

per io =-127...127

Inoltre, i numeri nella tabella tengono conto della restrizione sul risultato, che dovrebbe anche risultare un byte, non superiore al valore 127. Cioè, se il risultato della moltiplicazione è maggiore di 127, prendilo uguale a 127, e se è inferiore a -127, prendilo uguale a -127 .

I programmatori dovrebbero capire che il processore considera un numero firmato io come indice di tabella senza segno, quindi gli elementi della tabella con indici da -128 a -1 saranno effettivamente nell'intervallo di indici da 128 a 255.

Quindi, moltiplicazione per il coefficiente K pag sostituito dalla selezione dell'elemento della tabella K P,io con indice e:

La tabella viene solitamente calcolata su un personal computer e inserita nella memoria del microprocessore.


legame integrale genera un segnale in uscita y e integrando il segnale di errore e per tempo e moltiplicazione per coefficiente K e.

Qui: T- tempo dall'inizio dei lavori.

Il microprocessore digitale calcola l'integrale per integrazione graduale con un passo pari al ciclo di clock del timer D t. Pertanto, per il caso discreto, la formula è sostituita da:

Qui k è il numero di cicli di calcolo trascorsi dall'inizio del lavoro.

Considera la somma di tutti eK. Fondamentalmente, è solo la somma di tutti i valori e, ricevuto ad ogni ciclo. Questa somma è chiamata somma integrale. S (da non confondere con S - l'operatore di Laplace). La somma integrale viene implementata come variabile globale e viene aumentata ad ogni ciclo del valore corrente del segnale di errore e:

Quando si calcola il controller PID, il coefficiente K e generalmente tra 0,05 e 2. Ciclo di calcolo D t varia da 0,0001 a 0,002 sec. Quindi, il coefficiente K e D t va da 5·10 -6 a 4·10 - 3 . Perché questo coefficiente è molto inferiore a 1, quindi sorge il problema della moltiplicazione di interi per esso, poiché dopo la moltiplicazione sarà sempre zero.

Per risolvere questo problema, proviamo a moltiplicare il coefficiente K e D t per un gran numero UN , e dividi la somma integrale per lo stesso numero:

Indica il prodotto K e D t · UN attraverso il coefficiente B :

Scegliamo un numero UN , un multiplo di 256 X al rapporto B era compreso tra 0,05 e 5.


Per calcolare il rapporto S/A , espandere il segno del numero S :

    implementare il calcolo a 16 bit S, Se UN =256;

    implementare il calcolo a 24 bit S, Se UN =256 2 ;

    implementare il calcolo a 32 bit S, Se UN =256 3 .

Non è difficile implementare l'aggiunta a un numero con segno a 16, 24 o 32 bit S numero a 8 bit firmato e. Non dimenticarlo se e Se è positivo, l'estensione del segno riempirà i bit alti con zeri e, se negativa, i bit alti verranno riempiti con uno. Per limitare l'accumulo della somma integrale, implementiamo un limite superiore e inferiore. Questo di solito viene fatto come segue: se il bit (segno) più significativo non è uguale al penultimo bit, allora la crescita della somma integrale dovrebbe essere sospesa.


Ricordiamo che la divisione di qualsiasi numero per il numero 256 X equivale a uno spostamento a destra di X byte a destra. Usiamo questa regola. Prendi solo il byte alto della somma integrale S : nel caso di un conteggio a 16 bit, equivale a uno spostamento di un byte, nel caso di un conteggio a 24 bit - di due byte, nel caso di un conteggio a 32 bit - di tre byte.

In questo modo:

Dove: S più vecchio- byte alto del numero S .

Moltiplicazione per un fattore B implementare sotto forma di tabella B io, simile al calcolo del coefficiente del legame proporzionale:


collegamento differenziale

Il circuito derivativo calcola il segnale di uscita y d - e 0 implementiamo sotto forma di tabella C io, come nel calcolo del legame proporzionale:

Accumulatore del controller PID

Il sommatore dopo il controller PID aggiunge i valori istantanei dei segnali si p, y e e e d e genera un segnale di uscita y:

Durante la somma, è necessario assicurarsi che il risultato sia compreso tra -127 e +127, implementando, ad esempio, una somma a 16 bit. Se il risultato è maggiore di 127, dovrebbe essere considerato uguale a 127, e se inferiore a -127, allora uguale a -127.

Il segnale PWM è generato automaticamente dai microprocessori AVR. Un microprocessore è in grado di generare fino a 3 segnali PWM hardware. Inoltre, il segnale PWM può essere generato programmaticamente dal timer.

È conveniente formare un PWM a 7 bit. In questo caso è possibile collegare l'interruttore di alimentazione del comando secondo lo schema riportato in Fig. quattro.




Riso. 4. Il modo per collegare l'interruttore di alimentazione all'uscita PWM.

Bit alto (segno) del risultato y viene emesso tramite qualsiasi pin I/O a uno degli ingressi dell'interruttore di alimentazione e i restanti 7 bit (l'ultimo bit è impostato su zero) senza alcuna conversione possono essere caricati nel registro di formazione del taglio PWM.

Dimostriamolo.

QED