Structuri de reglare automată cu regulatoare PID
Turc Traian, Dulău Mircea
Departamentul de Inginerie electrică și Tehnologia informației
Structurile de reglare realizate cu regulatoare PID sunt utilizate în peste 90% din aplicațiile industriale.
Totuși, conform unor situații statistice, în practica industrială:
- multe instalații sunt controlate cu regulatoare care operează în mod manual;
- multe regulatoare PID nu sunt acordate adecvat sau folosesc setările implicite din fabrică (ceea ce înseamnă că nu au fost deloc acordate).
Regulatorul automat (RA) și partea fixată (PF), care include procesul, traductorul și elementul de execuție, sunt integrate într-o schemă de reglare automată (SRA) cu reacție negativă, conform Fig. 1a,b.
Variabila de ieșire din
proces (y) este măsurată şi convertită într-un
semnal (ym), compatibil cu referinţa (r), prin
intermediul traductorului (T). În elementul de
comparaţie (EC), aceste două semnale sunt prelucrate (de
regulă) conform unei funcţii de scădere, din care rezultă
eroarea de reglare (e). RA generează comanda (
), ca efect cumulat a
trei modalități de prelucrare a erorii de reglare: proporțională
(P), integrală (I) și derivativă (D).

a)

b)
Fig. 1a,b. Schema bloc a SRA
Modelul matematic al părții fixate
În foarte multe aplicații, dinamica părții fixate este descrisă de modele matematice exprimate sub forma unor ecuații diferențiale de ordinul I:
,
în care:
este variabila
măsurată la ieșirea din proces;
- semnalul de comandă;
K - factorul de amplificare; T - constanta de timp a procesului/părții fixate.
Funcția de transfer rezultată are forma:
.
Legea de reglare proportional – integral - derivativă (PID)
Regulatoarele PID implementează o serie de variante ale algoritmului PID, rezultate din combinația celor trei moduri de acţiune.
Astfel, algoritmul PID – forma paralelă, este descris de modelul matematic intrare-ieșire:
,
în care: kp, ki și kd sunt parametrii de acord proporțional, integrativ și derivativ.
Funcția de transfer are forma:
,
și are schema de implementare din Fig. 2.

Fig. 2. Schema de implementare a regulatorului PID - paralel
Pentru implementarea în aplicație, se consideră:
- forma numerică a procesului/părții fixate, obținută prin aproximarea derivatei cu diferența de ordinul unu, de forma:
,
în care Te este perioada de eșantionare;
- ca urmare, pentru procesul descris printr-un sistem de ordinul I rezultă:
);
- pentru obţinerea
algoritmului PID numeric, modulele P, I, D continue din algoritmul PID – paralel
se aproximează (de exemplu, prin metoda dreptunghiului) într-o
vecinătate a momentului discret
, în care Te
este perioada de eșantionare;
- ca urmare, se obține algoritmul PID incremental (sau algoritm de viteză), implementabil:
,
în care: q0, q1 și q2 sunt coeficienți dependenți de valorile kp, ki, kd și Te.
Aplicația, cu interfața din Fig. 3, permite analiza comportării SRA în buclă închisă, cu reacție negativă, respectiv a semnalelor de interes: referința (r), comanda (u) și ieșirea (y), în următoarele scenarii de funcționare:
- modificarea valorii semnalului de referință de tip treaptă
- modificarea valorilor parametrilor de acord ai regulatorului PID – paralel: kp, ki, kd

Fig. 3. Interfața cu utilizatorul
Aplicatia e realizata in JavaScript si utilizeaza un algoritm bazat pe metoda "Velocity" pentru implementarea regulatorului PID.
Conform metodei"Velocity", comanda uk din momentul k depinde de referinta r, de iesirea yk si de erk-1 (eroarea din momentul k-1).
Intervalul de timp dintre momentul k si momentul k-1 este Te(Timpul de esantionare).
Comanda uk se obtine prin insumarea elementului proportional, integrativ (inte) si derivativ(deriv) astfel:
erk = r - yk;
inte = inte + erk * Te;
deriv = (erk - erk1) / Te;
uk = kp * erk + ki * inte + kd * deriv;
yk = (uk*Te + 5 * yk1) / (5 + Te);
yk1 = yk;
erk1 = erk;
unde:
· kp este constanta - Proportionala (cu valori intre 0…4)
· ki este constanta - Integrativa (cu valori intre 0…5)
· kd este constanta - Derivativa (cu valori intre 0.2-2)
· r este valoarea referintei (cu valori intre 0…500)
· erk este eroarea calculata (r-yk) din pasul curent
· erk1 este eroarea in pasul anterior
· uk este valoarea calculata pentru comanda din pasul current
· Te este timpul de esantionare (100 ms)
· yk este iesirea in pasul current, calculata dupa formula: yk = (uk*Te + 5 * yk1) / (5 + Te)
· yk1 este iesirea din pasul anterior
Obs: variabila de proces adica iesirea y reprezentand totodata marimea reglata ar trebui sa provina din procesul tehnologic(PT) prin plasarea unui traductor.
Simulam iesirea y folosind functia de transfer a unui sistem de ordinul 1 si
anume: Hf(s)
= ![]()
Dupa discretizare s-a obtinut relatia:
yk = (uk*Te + 5 * yk1) / (5 + Te);
Dupa cum se observa yk (y din pasul curent) depinde de de yk1(y din pasul anterior), comanda uk din pasul curent si de timpul de esantionare Te.