Contenuto principale

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.

FormaFormula
Parallela (pid)

C=Kp+KiIF(z)+KdTf+DF(z),

dove:

  • Kp = guadagno proporzionale

  • Ki = guadagno integratore

  • Kd = guadagno derivativo

  • Tf = tempo del filtro derivativo

Standard (pidstd)

C=Kp(1+1TiIF(z)+TdTdN+DF(z)),

dove:

  • Kp = guadagno proporzionale

  • Ti = tempo integratore

  • Td = tempo derivativo

  • N = divisore del filtro derivativo

Parallela a 2-DOF (pid2)

La relazione tra l'output del controller a 2-DOF (u) e i suoi due input (r e y) [:

u=Kp(bry)+KiIF(z)(ry)+KdTf+DF(z)(cry)

In questa rappresentazione:

  • Kp = guadagno proporzionale

  • Ki = guadagno integratore

  • Kd = guadagno derivativo

  • Tf = tempo del filtro derivativo

  • b = peso del setpoint sul termine proporzionale

  • c = peso del setpoint sul termine derivativo

Standard a 2-DOF (oggetto pidstd2)

u=Kp[(bry)+1TiIF(z)(ry)+TdTdN+DF(z)(cry)]

In questa rappresentazione:

  • Kp = guadagno proporzionale

  • Ti = tempo integratore

  • Td = tempo derivativo

  • N = divisore del filtro derivativo

  • b = peso del setpoint sul termine proporzionale

  • c = peso del setpoint sul termine derivativo

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 DFormulaIF(z) o DF(z)
ForwardEuler (predefinito)

Tsz1

BackwardEuler

Tszz1

Trapezoidal

Ts2z+1z1

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 IF(z)=Ts2z+1z1 e DF(z)=Tszz1.

È 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.

Vedi anche

| | |

Argomenti