Controller proporzionali-integrali-derivativi (PID) a tempo discreto
Tutti i tipi di oggetti controller PID, pid, pidstd, pid2 e pidstd2, possono rappresentare controller PID a tempo discreto.
Rappresentazioni del controller PID a tempo discreto
I controller PID a tempo discreto sono espressi dalle seguenti formule.
| Forma | Formula |
|---|---|
Parallela (pid) |
dove:
|
Standard (pidstd) |
dove:
|
Parallela a 2-DOF (pid2) | La relazione tra l'output del controller a 2-DOF (u) e i suoi due input (r e y) [: In questa rappresentazione:
|
Standard a 2-DOF (oggetto pidstd2) |
In questa rappresentazione:
|
In tutte queste espressioni, IF(z) e DF(z) sono le formule dell'integratore discreto rispettivamente per il filtro integratore e il filtro derivativo. Utilizzare le proprietà IFormula e DFormula degli oggetti controller per impostare le formule IF(z) e DF(z). La tabella seguente mostra le formule disponibili per IF(z) e DF(z). Ts è il tempo di campionamento.
IFormula o DFormula | IF(z) o DF(z) |
|---|---|
ForwardEuler (predefinito) |
|
BackwardEuler |
|
Trapezoidal |
|
Se non si specifica un valore per IFormula, DFormula, o per entrambi, quando si crea l'oggetto controller, ForwardEuler viene utilizzato per impostazione predefinita. Per ulteriori informazioni sull'impostazione e la modifica delle formule dell'integratore discreto, vedere le pagine di riferimento per gli oggetti del controller pid, pidstd, pid2 e pidstd2.
Creazione di un controller PID a tempo discreto in forma standard
Questo esempio mostra come creare un controller proporzionale-integrale-derivativo (PID) a tempo discreto in forma standard che abbia Kp = 29,5, Ti = 1,13, Td = 0,15 N = 2,3 e tempo di campionamento Ts 0,1:
C = pidstd(29.5,1.13,0.15,2.3,0.1,...
'IFormula','Trapezoidal','DFormula','BackwardEuler')Questo comando crea un modello pidstd con e .
È possibile impostare le formule dell'integratore discreto per un controller di forma parallela allo stesso modo, utilizzando pid.
Controller PI a 2 DOF a tempo discreto in forma standard
Creare un controller PI a 2 DOF a tempo discreto in forma standard, utilizzando la formula di discretizzazione trapezoidale. Specificare la formula utilizzando la sintassi Name,Value.
Kp = 1; Ti = 2.4; Td = 0; N = Inf; b = 0.5; c = 0; Ts = 0.1; C2 = pidstd2(Kp,Ti,Td,N,b,c,Ts,'IFormula','Trapezoidal')
C2 =
1 Ts*(z+1)
u = Kp * [(b*r-y) + ---- * -------- * (r-y)]
Ti 2*(z-1)
with Kp = 1, Ti = 2.4, b = 0.5, Ts = 0.1
Sample time: 0.1 seconds
Discrete-time 2-DOF PI controller in standard form
Impostando Td = 0 si specifica un controller PI senza termine derivativo. Come mostra il display, i valori di N e c non vengono utilizzati in questo controller. Il display mostra inoltre che per l'integratore viene utilizzata la formula trapezoidale.