이산시간 PID(비례-적분-미분) 제어기
모든 PID 제어기 객체 유형 pid, pidstd, pid2, pidstd2는 PID 제어기를 이산시간으로 표현할 수 있습니다.
이산시간 PID 제어기 표현
이산시간 PID 제어기는 다음 식으로 표현됩니다.
| 형식 | 식 |
|---|---|
병렬(pid) |
여기서 각각은 다음과 같습니다.
|
표준(pidstd) |
여기서 각각은 다음과 같습니다.
|
2-DOF 병렬(pid2) | 2-DOF 제어기의 출력(u)과 두 입력(r과 y) 간의 관계는 다음과 같습니다. 이 표현에서 각각은 다음과 같습니다.
|
2-DOF 표준(pidstd2 객체) |
이 표현에서 각각은 다음과 같습니다.
|
이 모든 표현식에서 IF(z)와 DF(z)는 각각 적분기와 도함수 필터에 대한 이산 적분기 식입니다. IF(z) 식과 DF(z) 식을 설정하려면 제어기 객체의 IFormula 속성과 DFormula 속성을 사용하십시오. 다음 표에는 IF(z)와 DF(z)에 사용 가능한 식이 나와 있습니다. Ts는 샘플 시간입니다.
IFormula 또는 DFormula | IF(z) 또는 DF(z) |
|---|---|
ForwardEuler(디폴트 값) |
|
BackwardEuler |
|
Trapezoidal |
|
제어기 객체를 만들 때 IFormula, DFormula 또는 둘 모두에 대해 값을 지정하지 않는 경우 기본적으로 ForwardEuler가 사용됩니다. 이산 적분기 식 설정 및 변경에 대한 자세한 내용은 제어기 객체 pid, pidstd, pid2, pidstd2에 대한 도움말 페이지를 참조하십시오.
이산시간 표준 형식 PID 제어기 만들기
이 예제는 Kp = 29.5, Ti = 1.13, Td = 0.15 N = 2.3, 샘플 시간 Ts 0.1을 갖는 표준 형식의 이산시간 PID(비례-적분-미분) 제어기를 만드는 방법을 보여줍니다.
C = pidstd(29.5,1.13,0.15,2.3,0.1,...
'IFormula','Trapezoidal','DFormula','BackwardEuler')이 명령은 및 를 사용하여 pidstd 모델을 생성합니다.
pid를 사용하여 동일한 방식으로 병렬 형식 제어기에 대한 이산 적분기 식을 설정할 수 있습니다.
표준 형식의 이산시간 2-DOF PI 제어기
사다리꼴 이산화 식을 사용하여 표준 형식의 이산시간 2-DOF PI 제어기를 만듭니다. 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
Td = 0을 설정하면 미분항이 없는 PI 제어기가 지정됩니다. 위에 표시된 대로, N 및 c의 값은 이 제어기에 사용되지 않습니다. 또한 적분기에 대해 사다리꼴 식이 사용됩니다.