profile 권영욱 2000-07-06 10:50:52
2 465
수고많으십니다.
제어에 대해 궁금한게 있어서 글을 올립니다.
p.i.d중에서 i제어에 대해 알고 싶습니다. 단지 막연히 지난편차값의 합이 제어량에 영향을 미친다고만 알고 있는데 정확한 개념이 정립되니 않고 있습니다. d에대한 수식은 어느정도 이해가 되는것 같은데 적분항에 대해서는 막연한 개념입니다. 개념정립좀 부탁드립니다.
또한 삼각파 발생기에 대한 정확한 알고리즘을 쉽게 알고싶습니다. 어떠한 과정과 원리로 발생이되는지를 답좀 부탁드립니다.
상기의 글은 자사에서 제어하고자 하는 시스템이 부하관성은 큰데 모타출력 토오크는 한정이 되어 있는데(구조상) 이를 제어하려다보니 회전수 편차가 심하게 나타나며(30r.p.m/15000r.p.m) 약간의 wave 현상도 나타나는 것 같아서 문의를 드립니다.

김낙인 2000-07-06 16:03


PID 제어는 실제 산업 현장에서 가장 많이 사용하는 제어방법 입니다. 최근에 여러가지 고급제어, 강건제어, 인테리전트 제어기가 많이 연구 발표되고 잇으나 실제적으로 산업 현장에 직접 제품에 적용되는 제어기술을 보면 대부분 PID가 주종을 이룹니다. PID제어는 일반적으로 제어하고자 하는 시스템의 동역학 모델을 사용하지 않기 때문에 많이 사용하고, 그동한 사용해온 경험이 많기 때문에 많이 사용합니다. 하지만 고속추적 제어를 할려면 PID제어는 성능이 많이 떨어지죠.
간단히 PID제어에 대해서 설명 드리겠습니다.

P(Proportional control)
가장 쉽게 이해되는 부분으로 스프링을 생각하면 됨니다. 제어시 발생한 현재의 에러에 비례하는 힘이 발생하는 것입니다. 그러므로 액추에이터가 제어하고자하는 제품의 동역학적 저항 보다도 매우 큰 힘을 발생 시킬수 있으며 P control만 사용해도 되겠지요.

I(Intergral control)
말 그대로 적분제어 입니다. 이 부분의 가장 중요한 특성은 임의의 시간동안에 발생하는 평균에러(Steady sate error)를 zero로 만들자는 것입니다. 제어를 하다보면 중력이나 stick slip저항에 의해서 요구 신호의 AC component는 잘 따라가는데 한방향으로 약간 offset를 가지는 에러를 발견할수가 잇읍니다. 이런 경우에 에러를 적분하면 AC component는 0이되고 DC component는 적분(합해져서)되어져서 제어력으로 인가 됩니다. 그러므로 미소한 steady stat error가 발생할때에 이 방법을 사용하면 좋습니다. I control은 이러한 장점이 있는 대신에 step input과 같은 요구 신호에 대해서는 Overshot가 있으므로 이를 조심하여 사용해야하고, 특히 조심해야 하는것은 질문하신분같이 액추에이터의 토오크가 모지랄때는 control saturation이 발생합니다. 이러한 control saturation이 발생하면 계속 한쪽으로 제어오차가 쌓여서 비록 제오오차가 그 반대값을 가졌더래도 제어력은 계속 한쪽으로 작용하여 제어불능상태ㄱ에 빠지게 됩니다. 이러게 되면 액추에이터가 발진을 하게 됩니다. 그렇다고 I gain을 낮게 설정할수도 없습니다. 그래서 이때 사용하는 방법은 Anti-windup기능입니다. I control값이 어느정도 쌓이면 더이상 증가할수 없개 하는것이지요. 이것은 제어기를 설계할때 매우 중요한 사항입니다. 그리고 중요한것은 I control을 사용 할때는 제어 power가 공급되는 순간 부터 I control이 되도록 해야지 그렇지 않으면 제어 power가 입력될때( Torque가 발생될때)까지 게속 error가 적분되어 값을가지고 있다가 Power가 들어오면 액추에이터(모터)가 낼수 잇는 최대 힘이 순간적으로 작용하여 사고를 냅니다.
수학적으로 보면 Intergral control은 lag compansator 역활을 합니다. 즉 시간이 지난 제어에러를 이용하여 제어를 합니다. 그 결과 요구 신호와 제어된 신호를 주파수상에서 phase를 보면 제어된 신호가 phase lag상태가 됩니다.

D( Differential control)
D제어는 속도에러에 저항하는 특성을 가집니다. 즉 우리가 흔히보는 damper 역활을 합니다. 그 결과 제어시스템이 빨라질려고 하면 이를 이용해서 못 빨라지게 한다는 것이죠. 즉 Lead controller(압섬제어)역 활을 합니다. 아까 적분제어에서 나온 Overshot가 나올때 D제어를 하면 Overshot가 누그러지죠. 즉 Overshot가 나올려면 이미 속도가 요구한 신호보다 빨라져야 하는데 D controller가 이를 막습니다. 안정적인 제어를 하기 위해서는 D controller가 매우 중요한 요소입니다. 즉 고속 제어나 정확한 추적 제어를 위해서는 D controller가 꼭 필요하죠.

그리고 질문의 후반부에 삼각파 발생기란는것이 뭐죠 정확한 의미와 그 사용이유를 모르겠습니다. 혹시 dither 신호를 말씀하는것인지 모르겠습니다. 제어특성을 향상 시키기 위해 제어출력 신호에 고속의 삼각파를 실어 내보는석 입니다. Dither라면 이유와 발생방법에 대해서 설명 드리겠으니까 다시 질문하세요.

그리고 제어시 wave가 발생 되다고 했는데 재가 보기에는 두가지 이유중의 하나 일것 같습니다. 첫째는 말씀하신대로 제어력이 모자라 발진하는것이고요. 둘째는 모터의 토오크를 전달하는 joint부에 back lash나 예상치 못한 연성(Flexibility)가 있을것입니다. 좀더 자세히 기술해주세요.

김원경 2000-07-06 10:51

제어분야 전문가는 아니지만 아는 범위내에서 답변 드리겠습니다. 보통 산업용 제어기에서는 PI 제어기를 많이 사용 합니다. 적분 제어 즉 I 제어를 추가하면 에러의 누적치를 제어하기 때문에 정상상태 에러를 줄여주는 역할을 하기 때문이죠. 또한 진동 억제나 빠른 응답성이 필요할때는 단순히 D 제어를 사용하지 않고 보상기를 설계하여 시스템의 Gain Margin 과 Phase Margin 을 높여 시스템의 안정성을 높이고 게인을 크게 하여 고속 제어를 하게 됩니다.

모타 제어시 루프는 전류, 속도, 위치 루프로 구분할수 있는데, 모타의 전류 루프는 P.I 제어를 사용합니다. 전류 루프에 P 제어만 사용하면 스텝인풋에대한 정상상태 에러가 1이되나, I제어를 추가하면 1보다 작아지죠.
속도 루프는 PI 제어를 사용합니다. 속도 루프에 PI 제어를 사용하면 외란 토크(중력, 마찰력 등) 가 있다하더라도 정상상태에서의 속도의 에러는 0이 되기 때문입니다. 이 속도 루프에 필터를 추가하기도 하는데 이는 Gain/Phase margin 을 높이기 위한 것이므로 속응성이 중요하지 않으면 무시하셔도 뵙니다.
위치 루프는 P 제어기만 사용합니다. 속도 루프가 PI 제어기를 사용하였기 때문에 위치루프는 P 만 사용하여도 위치 편차의 정상상태 에러가 0 이 되기 때문이죠. 위치루프에 보상기를 설계하여 추가하기도 하는데 이는 속응성을 높이기 위한 것입니다.

이와 같이 제어기를 변경하여 사용하면 문제가 되는 에러는 줄일수 있을 것입니다. 삼각파 발생기에 데한 답변을 다른 전문가님의 답변을 기대 합니다.

모션 제어에 대한 내용은 자동제어 포럼에 몇가지 있으니 참조 바랍니다.


(주)테크노넷|대표. 이진희|사업자등록번호. 757-88-00915|이메일. technonet@naver.com|개인정보관리책임자. 이진희

대표전화. 070-4709-3241|통신판매업. 2021-서울금천-2367|주소. 서울시 금천구 벚꽃로 254 월드메르디앙 1차 401호

Copyright ⓒ Technonet All rights Reserved.