병렬 형식 PID 제어기 만들기, 병렬 형식 PID 제어기로 변환
C = pid(Kp,Ki,Kd,Tf)
C = pid(Kp,Ki,Kd,Tf,Ts)
C = pid(sys)
C = pid(Kp)
C = pid(Kp,Ki)
C = pid(Kp,Ki,Kd)
C = pid(...,Name,Value)
C = pid
는 비례 이득, 적분 이득 및 미분 이득 C
= pid(Kp
,Ki
,Kd
,Tf
)Kp
, Ki
, Kd
와 1계 도함수 필터 시정수 Tf
를 사용하여 연속시간 PID 제어기를 만듭니다.
이 표현은 병렬 형식입니다. Kp
, Ki
, Kd
, Tf
가 모두 실수인 경우 결과로 생성되는 C
는 pid
제어기 객체입니다. 이들 계수 중 하나 이상이 조정 가능한 경우(realp
또는 genmat
) C
는 조정 가능한 일반화된 상태공간(genss
) 모델 객체입니다.
는 샘플 시간이 C
= pid(Kp
,Ki
,Kd
,Tf
,Ts
)Ts
인 이산시간 PID 제어기를 만듭니다. 제어기는 다음과 같습니다.
IF(z)와 DF(z)는 적분기와 도함수 필터의 이산 적분기 식입니다. 기본적으로 다음과 같이 표시됩니다.
다른 이산 적분기 식을 선택하려면 IFormula
속성과 DFormula
속성을 사용하십시오. (IFormula
및 DFormula
에 대한 자세한 내용은 속성 항목을 참조하십시오.) DFormula
= 'ForwardEuler'
(디폴트 값)이고 Tf
≠ 0인 경우 Ts
와 Tf
는 Tf > Ts/2
를 충족해야 합니다. 이 요구 사항은 안정적인 도함수 필터 극점을 보장합니다.
는 동적 시스템 C
= pid(sys
)sys
를 병렬 형식 pid
제어기 객체로 변환합니다.
는 C
= pid(Kp
)Ki
= 0, Kd
= 0, and Tf
= 0을 사용하여 연속시간 비례(P) 제어기를 만듭니다.
는 C
= pid(Kp
,Ki
)Kd
= 0, Tf
= 0을 사용하여 비례 및 적분(PI) 제어기를 만듭니다.
는 C
= pid(Kp
,Ki
,Kd
)Tf
= 0을 사용하여 비례, 적분, 미분(PID) 제어기를 만듭니다.
는 하나 이상의 C
= pid(...,Name,Value
)Name,Value
쌍 인수로 지정된 추가 옵션을 사용하여 제어기를 만들거나 동적 시스템을 pid
제어기 객체로 변환합니다.
|
비례 이득.
디폴트 값: 1 |
|
적분 이득.
디폴트 값: 0 |
|
미분 이득.
디폴트 값: 0 |
|
1계 도함수 필터의 시정수.
디폴트 값: 0 |
|
샘플 시간. 이산시간
디폴트 값: 0(연속시간) |
|
병렬
|
선택적으로 Name,Value
인수가 쉼표로 구분되어 지정됩니다. 여기서 Name
은 인수 이름이고 Value
는 대응값입니다. Name
은 따옴표 안에 표시해야 합니다. Name1,Value1,...,NameN,ValueN
과 같이 여러 개의 이름-값 쌍의 인수를 어떤 순서로든 지정할 수 있습니다.
Name,Value
구문을 사용하여 이산시간 pid
제어기의 수치 적분식 IFormula
및 DFormula
를 설정하거나 InputName
, OutputName
과 같은 다른 객체 속성을 설정하십시오. pid
제어기 객체의 사용 가능한 속성에 대한 자세한 내용은 속성 항목을 참조하십시오.
|
PID 제어기로,
|
|
PID 제어기 이득.
|
|
도함수 필터 시정수.
|
|
다음과 같은 이산시간
디폴트 값: |
|
다음과 같은 이산시간
디폴트 값: |
|
시스템 입력에 대한 시간 지연. |
|
시스템 출력에 대한 시간 지연. |
|
샘플 시간. 연속시간 모델의 경우 이 속성을 변경해도 모델이 이산화되거나 리샘플링되지 않습니다. 연속시간 표현과 이산시간 표현 간에 변환하려면 디폴트 값: |
|
시간 변수, 샘플 시간
이 속성을 변경해도 다른 속성에 영향을 미치지 않기 때문에 변경하면 전체적인 시스템 동작이 변경됩니다. 시스템 동작을 수정하지 않고 시간 단위 간 변환을 수행하려면 디폴트 값: |
|
입력 채널 이름으로, 문자형 벡터로 지정됩니다. 이 속성을 사용하여 제어기 모델의 입력 채널의 이름을 지정합니다. 예를 들어, 다음과 같이 제어기 모델 C.InputName = 'error'; 축약 표기법 입력 채널 이름에는 다음을 비롯한 몇 가지 용도가 있습니다.
디폴트 값: 빈 문자형 벡터, |
|
입력 채널 단위로, 문자형 벡터로 지정됩니다. 이 속성을 사용하여 입력 신호 단위를 지정할 수 있습니다. 예를 들어, 다음과 같이 제어기 모델 C.InputUnit = 'mol/m^3';
디폴트 값: 빈 문자형 벡터, |
|
입력 채널 그룹. 이 속성은 PID 제어기 모델에는 필요하지 않습니다. 디폴트 값: 필드가 없는 |
|
출력 채널 이름으로, 문자형 벡터로 지정됩니다. 이 속성을 사용하여 제어기 모델의 출력 채널의 이름을 지정합니다. 예를 들어, 다음과 같이 제어기 모델 C.OutputName = 'control'; 축약 표기법 입력 채널 이름에는 다음을 비롯한 몇 가지 용도가 있습니다.
디폴트 값: 빈 문자형 벡터, |
|
출력 채널 단위로, 문자형 벡터로 지정됩니다. 이 속성을 사용하여 출력 신호 단위를 지정할 수 있습니다. 예를 들어, 다음과 같이 제어기 모델 C.OutputUnit = 'Volts';
디폴트 값: 빈 문자형 벡터, |
|
출력 채널 그룹. 이 속성은 PID 제어기 모델에는 필요하지 않습니다. 디폴트 값: 필드가 없는 |
|
시스템 이름으로, 문자형 벡터로 지정됩니다. (예: 디폴트 값: |
|
사용자가 시스템에 지정할 수 있는 임의의 텍스트로, string형 또는 문자형 벡터로 구성된 셀형 배열로 저장됩니다. 이 속성은 사용자가 입력하는 데이터형을 저장합니다. 예를 들어, sys1.Notes = "sys1 has a string."; sys2.Notes = 'sys2 has a character vector.'; sys1.Notes sys2.Notes ans = "sys1 has a string." ans = 'sys2 has a character vector.' 디폴트 값: |
|
사용자가 시스템에 연동하려는 임의의 데이터 유형으로, 임의의 MATLAB® 데이터형으로 지정됩니다. 디폴트 값: |
|
모델 배열의 샘플링 그리드로, 데이터 구조로 지정됩니다. 하나 이상의 독립 변수를 샘플링하여 파생된 모델 배열의 경우, 이 속성은 배열에 있는 각 모델에 대응되는 변수 값을 기록합니다. 이 정보는 모델 배열을 표시하거나 플로팅할 때 나타납니다. 이 정보를 사용하여 결과를 독립 변수로 역추적할 수 있습니다. 데이터 구조의 필드 이름을 샘플링 변수의 이름으로 설정하십시오. 필드 값을 배열의 각 모델에 대응되는 샘플링된 변수 값으로 설정하십시오. 모든 샘플링 변수는 숫자형이고 스칼라 값이어야 하며, 샘플링된 값으로 구성된 모든 배열은 모델 배열의 차원과 일치해야 합니다. 예를 들어, 시간 sysarr.SamplingGrid = struct('time',0:10) 마찬가지로, 2개의 변수 [zeta,w] = ndgrid(<6 values of zeta>,<9 values of w>) M.SamplingGrid = struct('zeta',zeta,'w',w)
M M(:,:,1,1) [zeta=0.3, w=5] = 25 -------------- s^2 + 3 s + 25 M(:,:,2,1) [zeta=0.35, w=5] = 25 ---------------- s^2 + 3.5 s + 25 ... 여러 파라미터 값 또는 동작점에서 Simulink® 모델을 선형화하여 생성된 모델 배열의 경우, 디폴트 값: |
pid
를 사용하여 다음을 수행합니다.
알려진 PID 이득과 필터 시정수로부터 pid
제어기 객체를 만듭니다.
pidstd
제어기 객체를 표준 형식 pid
제어기 객체로 변환합니다.
다른 유형의 동적 시스템 모델을 pid
제어기 객체로 변환합니다.
특정 플랜트를 위한 PID 제어기를 설계하려면 pidtune
또는 pidTuner
를 사용하십시오. 조정 가능한 PID 제어기를 제어 설계 블록으로 만들려면 tunablePID
를 사용하십시오.
다음과 같이 pid
제어기 객체로 구성된 배열을 만듭니다.
pid
제어기로 구성된 배열에서, 각 제어기는 동일한 샘플 시간 Ts
와 이산 적분기 식 IFormula
및 DFormula
를 가져야 합니다.
표준 형식 제어기를 만들거나 표준 형식 제어기로 변환하려면 pidstd
를 사용하십시오. 표준 형식은 제어기 동작을 전체적인 비례 이득 Kp, 적분 시간 및 미분 시간 Ti와 Td, 그리고 필터 제수 N에 대해 표현합니다.
연속시간 pid
제어기를 이산화하는 방법에는 두 가지가 있습니다.
c2d
명령을 사용합니다. c2d
는 이산화된 제어기에 대한 새 파라미터 값을 계산합니다. 이산화된 제어기의 이산 적분기 식은 다음 표에 나와 있듯이 사용하는 c2d
이산화 방법에 따라 달라집니다.
c2d 이산화 방법 | IFormula | DFormula |
---|---|---|
'zoh' | ForwardEuler | ForwardEuler |
'foh' | Trapezoidal | Trapezoidal |
'tustin' | Trapezoidal | Trapezoidal |
'impulse' | ForwardEuler | ForwardEuler |
'matched' | ForwardEuler | ForwardEuler |
c2d
이산화 방법에 대한 자세한 내용은 c2d
함수 도움말 페이지를 참조하십시오. IFormula
및 DFormula
에 대한 자세한 내용은 속성 항목을 참조하십시오.
다른 이산 적분기 식이 필요한 경우 Ts
, IFormula
, DFormula
를 직접 원하는 값으로 설정하여 제어기를 이산화하면 됩니다. (연속시간 PID 제어기 이산화하기 항목을 참조하십시오.) 단, 이 방법은 이산화된 제어기에 대한 새 이득 및 필터 상수 값을 계산하지 않습니다. 따라서 이 방법은 c2d
를 사용하는 것보다 연속시간 및 이산시간 pid
제어기 간의 일치 결과가 좋지 않을 수 있습니다.