- Proportional Integral Derivative control
- P제어
- I제어
- PI제어
- PD제어
- PID제어
- 튜닝 (Tuning)
Proportional Integral Derivative control
개루프 제어가 아닌, 폐루프(closed loop feedback control) 제어의 대부분이 PID 제어라고 보아도 무방하다.
그정도로 많이 쓰이는 control 법으로, 그 시작인 P 제어부터 차근차근 정리해볼까 한다.
E: 에러값. error(e) = setpoint(r) - (previous, sensing한)output(cn)
- 모터의 속도나 보일러에서 끓는 물의 온도 등등
- 에러값들은 제어 회로의 구성에 따라 전압의 아날로그 값이 되거나, 시간 간격에 따른 펄스의 개수, 혹은 펄스의 길이 등이 될 수 있다.
U: 조작량 (output)
Gain 값(=이득값,증폭값): input 값, 에러값에 대한 제어량의 기준값, 튜닝하며 우리가 직접적으로 시스템에 넣어주는 값.
튜닝(tuning): 적절한 Gain 값을 수학적/실험적 방법으로 계산/구하는 과정
P 제어
P 제어는 Proportional의 약자로, 비례제어. 즉, 증폭시키는 역할을 한다.
하지만, 정상상태 오차 (Steady State Error)가 없어지지 않는다. (목표값에 수렴하지 못하고 진동하는 오차 값)
비례 제어이기에, 목표값에 수렴하더라도 같아질 수는 없다. 우연히 집어 넣은 Gain값이 좋아 같아지더라도, 조금 지나면 다시 오차가 발생하게 된다.
Kp가 높으면
- 시스템은 설정값/목표값(setpoint)에 빨리 도달하지만
- 시스템은 불안정한 상태 + 설정점 근처에서 계속 진동한다.
Kp가 낮으면
- 목표점에 늦게 도달
- 몇번의 진동 후 시스템은 설정점 아래에서 일정한 오차를 가지며 안정된 상태
- 시스템이 마지막 위치에 닿는데 필요한, 충분한 힘의 출력(output)이 공급되지 못하기 때문에 목표점에 닿지 못한다.
I 제어
I 제어는 Integral의 약자로 적분제어를 의미한다. 적분 제어의 물리적 의미는 Error가 지속된 만큼 더 큰 신호를 내보낸다. 즉, 오랫동안 Error의 크기가 줄어들지 않는다면 더 큰 신호를 만들어 수렴할 수 있도록 한다.
P제어에서 남은 미소한 잔류편차를 시간단위로 적분하여 그 값이 어떤 크기가 되면 조작량을 증가시켜 편차를 없애는 방식이 I 제어이다.
보통 Target,목표까지 가는 시간을 단축시켜 준다.
하지만 큰 신호를 만들어 내기 때문에 안정성(stability)을 악화시킬 수 있다.
PI 제어
Kp만큼 증폭 시키는 동시에 에러의 지속시간이 길어짐에 따라 신호도 점점 커지고
이는 빠르게 error값이 줄어들게 하지만, oscillatory response를 증가 시킬 수 있다.
위와 같은 경우가 PI제어가 발산해 버리는 경우이다. 게인값이 크다면 이렇게 불안정한 시스템이 되어 버릴 수 있다.
Ki가 높으면
- 시스템은 설정점/목표점(setpoint)에 빨리 도달
- 하지만 파형의 상승부가 크다 (파형이 들쑥날쑥하다.)
- 높은 상승부가 있다 하더라도, P제어와는 달리 시스템이 불안정한 상태로 남지 않고 몇번의 진동 후 setpoint에 붙어 안정된다.
Ki가 낮으면
- 늦게 설정점 도달
- 적은 진동, 진동에 비해 빠른 안정
- 시스템이 도달하는 시간과 진동의 정도를 맞추기 위해 optimize 필요
PD 제어
D는 Derivative로, Error의 미분값. 즉, 변화량에 반응하는 신호를 반생시킨다.
이는 Damper 역할을 할 수 있지만, 신호의 미분에 반응하기 때문에 노이즈의 영향이 커질 수 있다. (마구잡이로 변하는 노이즈 값의 변화값을 그대로 반영하기 때문에, e'값의 변동이 매우 커진다.)
PID제어
PID 제어는 PI제어에서 발생될 수 있는 osillatory response를 d제어의 damping이 잡아준다.
P 제어: 목표값 도달 시간을 줄인다.
I 제어: 정상상태 오차를 줄인다.
D 제어: 오버슈트(현재값의 급변이나 외란)을 억제한다. 안정성을 향상시킨다.
세 역할이 함께 이루어지며 목표값에 빠르게 접근하고, 안정적으로 유지할 수 있다.
튜닝, 지글러-니콜스
Ku, Tu 값 찾기
- Ki, Kd를 0으로 놓고, Kp를 0부터 최대까지 올려보기
- Ku: 최대 증폭값 or 시스템 출력 값이 일정한 진폭으로 진동하는 시점의 Kp값
- Tu: 이 시점의 진동 주기
마무리
제어기마다 주로 두어야 할 컨트롤 목표가 다를 것이다.
절대 목표값을 넘지 말아야하는 제어기도 있을수 있고,
- 오버슈트(overshoot): 목표값에 비해 오차가 커지는 부분이 얼마인가. 이 값이 너무 커지게 되면 시스템에 무리를 주는데, 장치가 오동작을 하거나 손상될 수 있다.
무엇보다 빠르게 목표값에 도달해야 하는 제어(빠른응답)도 있을수 있다.
- 제어는 완전히 100% 수렴할 수는 없다. 그래서 목표값의 몇%에 들어가면 제어가 완료된 것으로 본다.
오차가 작은게 무엇보다 중요한 제어도 있을수 있다.
- 정상상태 오차: 제어량이 목표량의 일정범위에 도달하였으나 없어지지 않고 남아있는 오차. (주로 P 제어에서 남는다.)
'서브 공부 > 전기, 전자, 통신' 카테고리의 다른 글
선 굵기별 버틸 수 있는 전류량 (전력량) (0) | 2021.02.24 |
---|---|
PWM (Pulse Width Modulated) square wave, PWM파 with 아두이노 (0) | 2020.09.24 |
회로 그리는 프로그램, Fritzing - 무료다운/사용법/Part Import (0) | 2020.09.18 |
트렌지스터 기본 구조/원리(P/N형, 다이오드, NPN) 트랜지스터 (0) | 2020.09.16 |
열전대(써모커플, Thermocouple) - 원리, 종류 (0) | 2020.09.12 |
댓글