정보공간_1

[2기 전주 심경원] PID 피드백 제어 시스템 본문

IT 놀이터/Elite Member Tech & Talk

[2기 전주 심경원] PID 피드백 제어 시스템

알 수 없는 사용자 2012. 9. 15. 10:25

 

PID 피드백 제어 시스템

 1. PID 피드백 제어 시스템

 자동제어 방식 가운데서 많이 이용되는 시스템으로는 PID 제어 시스템이 있다 PID, P: Proportinal(비례), I:Integral(적분), D:Differential(미분) 3가지 Gain의 조합으로 제어하는 것으로 유연한 자동제어가 가능해진다. 그러나 PID 제어가 많이 쓰이기도 하지만 사용하는데 몇 가지의 고려사항이 있다. 가장 중요한 점은 일반 서적에서 PID 제어기를 설명할 때 선형적인 공간에서 제어기를 설명한다. 그러나 실제 적용이 되는 시스템은 현실적으로 선형적이지 못하고 비선형공간에서 제어기를 설계 해야 된다. 특히 수치적인 방법으로 각 Gain을 구하기(이러한 과정을 Tuning 이라 한다)위해서는 정확하고 많은 환경적인 변수를 고려해야 하고 정확한 TEST환경을 구축해야 가능해지기 때문에 많은 시간과 노력을 필요로 한다 

2. 피드백 제어란?

2.1 소개 및 특징  

 정확하고 적응적인 제어를 위하여 개루프 제어시스템에서 필요한 것은 시스템의 출력에서 입력으로의 연계 혹은 피드백이다. 더 정확한 제어를 위하여 출력 y는 피드백이 되어 기준입력과 비교되고, 입력과 출력의 차에 비례하는 동작신호가 편차를 줄이도록 시스템을 통하여 보내진다. 이러한 피드백 경로를 하나 이상 갖고 있는 폐루프 시스템 또는 피드백 제어시스템 이라고 한다.

2.2 주용요어 및 개념

- 최대오버슈트 : y(t)가 단위계단응답을 나타내고 ymax y(t)의 최대값, yss y(t)의 정상상태 값이라면 ymax yss이고 y(t)의 최대오버슈트는 다음과 같이 정의한다.

 

Maximum overshoot = ymax - yss 

 

최대오버슈트는 계단응답의 최종값 백분율로도 자주 표현한다. 최대오버슈트는 제어시스템의 상대적인 안정도를 측정하는 데 자주 이용된다. 오버슈트가 큰 시스템은 대체로 바람직하지 못하다

 

- 지연시간 : 지연시간(delay time)td는 단위계단응답에서 최종값의 50%에 도달하는 데 필요한 시간으로 정의한다. 

 

- 상승시간 : 상승시간(rise time) tr은 계단응답이 최종값의 10%에서 90%에 도달하는 데 필요한 시간으로 정의한다. 때로는 응답이 최종값의 50%인 순간 계단응답 기울기  역으로 상 승시간을 나타내는 방법도 있다. 

 

- 정정시간 : 정정시간(settling time) ts는 계단응답이 감소하여 이후 응답이 응답 최종값 특정 백분율 이내에 들어가는 데 필요한 시간으로 정의 한다. 보통 사용되는 양 5%이다. 

- 정상상태오차 : 시스템 응답의 정상상태오차(steady-state error)는 정상상태에 도달했을(t -> 무한) 기준입력과 출력 사이의 불일치 값으로 정의 된다.

3. PID

 PID제어란, P: Proportinal(비례), I:Integral(적분), D:Differential(미분) 3가지 Gain의 조합으로 제어하는 것으로 유연한 자동제어가 가능해진다. PID제어의 최종목표는 입력에 대한 출력이 실제 출력과 이로부터 피드백 받은 신호를 이용하여 목표 출력과의 오차를 최소로 하고 빠른 시간에 정상상태에 도달하는 것에 목표를 두고 있다.

3.1 P 제어

비례 Proportinal 제어, 에러 값의 비례해서 제어량을 변화시키는 방법이다.

 

 

 

 

 

 

 

위 그림은 On/Off제어와 비례제어의 특성 곡선이며 On/Off제어도 비례 제어이다. 비례 제어의 특성 중 하나는 정상상태 오차가 없어지지 않는 것 이다.  비례제어에서 Gain(에러 값에 대한 제어량의 기준값)이 무척 큰 것이라고 생각하면 일정 크기의 에러가 계속 존재하 Gain을 줄인다고 해도 그 에러는 계속 존재한다. 다만 Gain이 일정 값 이하로 줄어들면2번째 그림처럼 약간의 편차가 계속 남은채로 목표 값을 따라가게 된다. 만약 Gain값을 딱 맞추면 오차가 없어지지 않겠느냐고 생각한다면 오차가 없어지는 순간 제어할 수 있는 값이 없어지므로 다시 오차가 발생하기 때문에 비례제어는 항상 정상상태 오차를 가지고 있. 

3.2 PI제어

 PI제어는 P제어서 생기는 정상상태 오차를 개선시킬 수 있는 제어로 에러 값을 적분한

값을 이용하여 제어하는 경우이다. 비례 제어의 특성 그래프를 보면 일정 크기의 정상상

태 오차가 계속 남아있게 된다. 이는 P제어로는 처리 할 수 없는 작은 오차(잔류편차)

므로 P제어만으로는 없앨 수가 없다. 즉 이런 미소한 잔류편차를 시간단위로 적분하여

그 값이 어떤 크기가 되면 조작량을 증가시켜 편차를 없애는 방식이 PI제어 이다. 

 위 그림을 보면 파란선은 P제어에 의한 조작량이고, 녹색선이 I제어에 의한 조작량이다. 림을 보면 I제어는 일정 시간 동안 오차가 누적되어 일정 값을 넘어서면 시작하게 된다. 

 

3.3 PID 제어

D제어는 오차값의 변화를 보고 조장량을 결정하는 방법이다.

 

D제어만 따로 놓고 보기는 좀 힘들기 때문에 PID 제어를 통틀어서 본다. D제어는 오차의변화의 반대방향으로 제어가 이루어지게 된다. 즉 오차의 값을 미분한(빨간선의 기울기)반대방향으로 조작량을 변화시킨다. 그렇기 때문에 빨간선과 파란선을 비교하면 서로 반대의 모양으로 급격하게 조작량이 변하는 것을 볼 수 있다.  

 

3.4 조쟉량의 결정

실제 제어기는 아날로그 값으로 제어하는 것처럼 되어 있지만 실제 우리가 사용하는 MCU서 사용하기 위해서는 샘플링을 통하여 들어온 이산 값의 오차들을 이용하여 조작량을 결정 하게 된다.

 

 

조작량 = Kp*편차 + Ki*편차의누적값 + Kd*편차의변화량

 

여기서 Kp, Ki, Kd가 제어기의 특성을 결정하게 된다.

 

3.5 PID와의 제어기의 특성

P 제어 : 목표 값 도달 시간을 줄인다.(빠른응답)

 

I  제어 : 정상상태 오차를 줄인다.

 

D 제어 : 오버슈트(현재치의 급변이나 외란)을 억제한다.

 

 

간단히 P, I, D 각자는 제어기의 특성에 대해서 위와 같은 효과를 발휘한다고 볼 수 있다. 러나 이는 단순한 문제는 아니며  P, I, D의 조작량은 서로 영향을 미친다.

 

 

4. 결론

 

 지금까지 피드백 제어 중 하나인 PID제어기를 이용하여 모터 정밀제어 하는 방법을 알아보았다. 앞에서도 제시하였지만 우리가 시스템을 구현하는 공간은 비선형적인 공간인 점을 감안하고 꼭 이론적인 방법이 옳다고는 할 수 없다는 것을 항상 엄두해 두어야 한다. 론 이론이 뒷받침 되었을 때 실험적, 경험적인 방법이 조금 더 시간을 단축시키고 목표점에 도달하는 시간이 단축되는 것은 당연하다. PID제어 이외에도 많은 제어시스템이 있지만 좀더 이론적으로 이해하기 쉽고 다른 제어시스템에 비해 튜닝과정이 쉽기 때문에 자동제어 시스템으로 추천하는 바이다.