PID Control & Tuning Feedback Control Loops 2000.6 광양제철소기계정비기술팀
목차 1. 제어의기본개념 제어의역사제어방식사용현황제어의종류및개념 2.PID Control PID 제어의기본식비례제어동작 (Proportional Control Action) 적분제어동작 (Integral Control Action) 미분제어동작 (Integral Control Action) Controller Mode별응답 Controller Mode별특성 3.Tuning PID Controller Tuning의개념성능판별기준 Trial-and-Error Tuning Method Open-Loop Tuning Method Closed-Loop Tuning Method 일반적인 Tuning Rules 4. 기사용 Tuning Parameter 개선방법 5.Cascade Control 의 Tuning
1. 제어의기본개념 제어의역사 1775년에 Watt의증기기관에사용되어진조속기 (Governor) 제어 ( 비례제어 ) 가 Feddback 제어의기원으로, Maxwell이이론적해석을하여 1868년에 ON GOVERNOR 를발표한것이제어이론의시초. 제어방식사용현황 PID형이 84.5%, Advanced PID형이 6.8% 로이양자를합치면 90% 를넘는다. 더욱이수동제어부분을제외하면, PID를중심으로고전제어가전체의 97.5% 를점유. Advanced PID 형 6.8% AI 형 0.6% 현대제어형 1.5% 수동제어 6.6% PID 형 84.5% 제어의종류및개념가. 수동제어운전자가지시계를육안으로관찰하여원하는수치가되도록 V/V를조정. 설정점및제어의정확도는전적으로운전자에의존.
나.Feedback Control 자동제어의전형으로설정량과제어량을비교하여그차이가 Zero가되도록한다. 장점으로는어떤종류의외란이어떻게 Precess에영향을미칠것인가를정확히알필요가없다. 단점으로는항상외란이발생한후에조치가취해지며, 잘알려진외란에대해서는부적절하다. 다. 수동 Feedforward Control 외란이들어오면운전자는지시계로확인하여제어량에영향을미치지않도록미리 V/V를조작한다. 즉, Feedback 제어는발생된오차를제거하기위해사용되지만 Feedforward 제어는초기단계에서발생하려고하는오차를방지하기위해사용한다. 그러나, 외란이어떻게영향을줄것이가를정확히알고있어야한다.
라. 자동 Feedforward Control 외란을측정하여이외란이 Precess에서소거될수있도록 Controller에서조작량을출력한다. Process를완전히이해해야하며, 모든외란을알고측정해야한다. 사실상불가능하므로주로 Feedback Conrol과조합하여사용된다.
2.PID Control PID 제어의기본식 -. 편차 e에비례한출력을내는비례동작 (Proportional Acion; P동작 ) -. 편차 e의적분에비례하는출력을내는적분동작 (Integral Action; I동작 ) -. 편차 e의미분에비례하는출력을내는미분동작 (Derivative Action; D동작 ) 의합으로표시되며, 시간영역으로는다음식으로표시된다. 현재과거미래 비례제어동작 (Proportional Control Action) P동작은현재편차 e에비례하여출력을내는것으로 PID동작의기본을이룬다. Process에따라정상상태에서편차 (Offset) 를남길수있는데이것이 P동작의한계이다. Offset을줄이기위하여 Gain(Kc) 를크게할수있지만너무크게되면 Unstable해진다. 많은산업용제어기에서 Gain으로표시하지않고비례대 (Proportional Band; PB) 로써표시하는수가있다. 다음과같이백분율로표시된다. PB = (1/Kc) * 100 % Step 입력에대한비례제어의효과는아래그림에서잘나타난다.
적분제어동작 (Integral Control Action) 적분동작을사용하는가장큰목적은비례동작만사용했을때발생하는 Offset (Steady-State Error) 를제거하기위해서이다. 그러나적분동작의추가는필연적으로위상지연을유발하여시스템의안정성 (Stability) 저하를가져온다. 적분동작단독으로는거의사용되지않으며, 주로비례동작과조합되어사용된다. 이것을 PI 제어라고한다. 아래그림은 Step 입력에대한 PI 제어의응답을보여준다. 미분제어동작 (Derivative Control Action) D 동작을 P 동작과 PI 동작에부가시켜속응성을개선할수있다. D 동작의목적은편차가일어나는시초에큰수정동작을주어서편차를빠르게감소시켜주는데있다. D 동작은편차변화시에만출력이나오고, 아무리편차가크더라도그값이일정할때에는출력이 Zero가된다. 즉, 편차에빠르게대처하는속응화능력은가지고있지만, 정상편차를감소시키는능력은없다. D 동작을사용하면시스템의안정성이증가한다. 단독으로사용될수없으며, 주로비례동작과조합되어 PD 제어로사용한다. 아래그림은 Ramp 입력에대한 PD 제어의응답을보여준다
Controller Mode 별응답 Controller Mode 별특성 구분특성비고 P PI PD PID -. 간단 -. 적절히 Tuning되었을때근본적으로안정함 -.Tune하기가쉬움 -. 정상상태에서 Offset 발생 -.Offset 없음 -.I 동작하나보다는더좋은 Dynamic Response -.Lag 도입에의한 Stability 저하 -. 안정함 -.P 단독보다 Offset 감소됨 ( 비례 Gain 증가가능 ) -.Lag를감소시킴즉, 더빠른응답 -. 가장복잡하고고가임 -. 빠른응답, -. Offset 없음 -. Tuning이어려움 -. 절절히 Tuning 되면 Best Control
3.Tuning PID Controller Tuning의개념 PID 제어의장점은몇가지 Parameter의값을잘선택하므로써, 다양한공정응용분야에서원하는동작을얻을수있도록그제어기를조정하여사용할수있다는것이다. 이 Parameter에대한적당한값을결정하는것을제어기의 Tuning이라한다. 제어기의조정에있어서, Loop 전체에걸친 Gain이제어기의 Gain을결정한다. 즉, 제어기를제외한다른모든부분의 Dynamics(Time Constant, Dead Time) 가제어기 Parameter를규정하여주기때문에제어기의조정전에 Loop 전체의 Dynamics에대한정량적인정보를얻어야만한다. 제어기의 Tuning 방법에는다음의세가지가있다. -.Trial-and-Error Tuning Method -.Open-Loop Tuning Method -.Closed-Loop Tuning Method 성능판별기준 Loop 조정절차에서가장먼저고려해야할사항은성능에대한판별기준이다. 가.1/4 주기감쇄법 Loop가진동하고있을때, 첫번째 Peak의 Overshoot에대한두번째 Peak의 Overshoot의비율이 4 대 1이되도록하는것이다. 통상이방법을사용하면많은응용분야에서만족할정도라고할수있다. 주의해야할것은이응답이설정점변화에대한것인지, 부하변화에대한것인지를지정해야한다는것이다. 설정점변화에대해서 1/4주기감쇄로조정한 Loop는부하변화에대해서상당히느린응답을보인다. 반면에부하변화에대해서 1/4주기감쇄로조정한제어Loop는설정점이변할때진동이너무심하게된다. 요약하면, 최적의 Tuning은응용Process마다, Loop를조정하는사람마다다르다.
나.Integral Method 좀더수학적인방법으로어떤오차의함수에대한적분을최소화시킨다. 다음과같은것들이있다. -.Integral of the Absolute Magnitude of the Error -.Integral of the Square of the Error -.Integral of Time Multiplied by Absolute Error -.Integral of Time Multiplied by the Squared Error 이런판별기준각각을최소화시켰을때나오는응답은모두다르며, 나름의장단점을가지고있다. 이론적연구와제어 Simulation 연구에유용하나, 실제응용에서사용되는경우는거의없다. Trial-and-Error Tuning Method 대부분의 Loop는실험적인방법을통해조정한다. 다른방법을이용하여초기조정을하는 Loop의경우에도최종적인세부조정은실험적인방법으로이루어진다. 주의해야할것은 Process에따라설정점변화에대해서 Tuning할것인지부하 ( 외란 ) 변화에따라 Tuning할것인지를미리결정해야한다는것이다. 왜냐하면, 어느한쪽에대해서잘조정된 Tuning이다른쪽에대해서는잘맞지않는경우가많으며, 이두가지를동시에최적으로 Tuning할수는없기때문이다. 아래그림은 Tuning Parameter( 비례 Gain, 적분시간상수, 미분시간상수 ) 의증가와감소에따른응답의 Trand를보여준다.
가.PID Controller Tuning 절차 -.Method 1 Ti=, Td =0 Kc= 최소로설정 설정점 or 부하 Step Change Kc 점진적증가 임계진동? Kc 1/2 로감소 Ti 점진적감소 대단히 Underdamped? END Ti 2 배로설정 Response Good Enough? Td 점진적증가 Tc 10% 증가 Noise증폭없이 Tight Control?
-.Method 2 1) 제어기를수동으로놓은후안정해질때까지제어기출력을조정한다. 2) 적분과미분동작을모두없앤다. 3) 비례 Gain 을낮은값으로설정한다. 4) 제어기를자동상태로놓는다. 설정점이나 Process 부하를변화시켜가며 Test 한다. 5) 약간의진동이발생하여원하는감쇄특성을얻을때까지 Gain을증가시켜가며이동작을반복한다. 6) 측정값이설정점과일치할때까지적분동작을증가시킨다. 비례제어만을사용할때발생하는진동의주기를이용하면 Ti값에대한적당한초기값을구할수있다. 즉, 다음과같이설정한다. Ti = 0.67 * 주기또한, 적분동작을추가할때의불안정화효과를보상하기위하여비례 Gain을감소시켜야한다. 즉, Gain을이전값의 3/4로감소시킨다 7) 미분을사용한다면, 미분동작 (Td) 을증가시킨다. 초기값 = 0.1 * 적분시간 (Ti) Noise의영향이나타나면, 미분동작을감소시킨다. 그렇지않으면미분을최대적분시간의약 1/4 까지증가시킬수있다. 8) 미분을추가하면, 통상미분을사용하지않을때보다 Gain을 25% 정도까지증가시킬수있다 적분시간을원래값의 2/3 정도로감소시킬수있다 9) 새로운 Process에대하여그효과를 Test해보기전에조정 Parameter의값을이전값의 50% 이상바꾸어서는안된다. Precess 응답이이미적당한상태에있다면 Process Test마다 25% 정도조정하는것이적당하다. 조정을 5% 보다작게하면 Test할가치가있을정도로효과를보지못할것이다.
나.Tuning Parameter의특성앞에서 PID Controller의 Tuning 절차를나타내었지만, 모든 Process에다맞는다고는할수없다. 따라서, Trial-and-Error법으로 Tuning을하기위해서는 Loop의응답을관찰하여어떤 Parameter를, 어느방향으로, 얼마만큼바꾸어야하는지에대한결정을내려야한다. 즉, 각조정 Parameter를바꾸었을때의효과를완전하게이해하는것이필요하다. 아래그림은설정점변화에대한 Closed-Loop 응답을 Kc와 Ti를바꾸어가면서그영향을조사한것이다. Kc 및 Ti 의영향을요약하면다음과같다. -. 비례 Gain이증가하면진동은점점심해지고, Offset은감소한다. Gain을너무크게하면시스템은 Unstable해진다. -. 적분동작이증가 (= Ti감소 ) 하면 Offset이없어지나, 점점 Overshoot가발생하고너무증가하면역시 Unstable해진다. -. 비례 Gain을크게하거나 Ti를감소시키면둘다 Loop의진동을가져오지만 ( 즉, 비례 Gain의증가와 Ti의감소는 Unstable한방향으로의이동을의미한다 ), 비례 Gain의증가로야기된진동이상대적으로높은주파수와낮은진폭을나타낸다. -. 미분동작을추가하면 Loop는 Stable한방향으로이동하므로비례 Gain의증가나적분동작의속도를증가시킬수있다.
이제 PI 제어기를사용하여아래그림 (A) 와같은응답을얻었다고하자. -. 미분동작 (Td) 을추가하여잘조절 ( 즉, 비례 Gain과적분동작의증가 ) 하면그림 (C) 와같이 Overshoot와진동주기가감소하여성능이더욱향상된다. 이것이미분동작을사용하는목적이다. -. 이설정에서미분을제거하면그림 (B) 와같이심한진동이발생한다. -. 미분을더욱증가시키면설정점을지나지않을때에도진동하게된다 ( 그림 (D)) Open-Loop Tuning Method Process Test를통해얻은 Data로부터 Parameter의값을직접계산하는방법이다. 절차는다음과같다. 1) 제어기를수동으로놓고측정값이정상적인동작점근처에이를때까지제어기의출력을조정한다. 2) Process의입력 ( 제어기의출력 ) 에 Step 파를주어서 Process의응답을구한다. 3) 이응답을근사적으로 Modeling하여 Parameter 값을결정한다. 대부분의 Process( 특히화학공정 ) 는 Step 입력에대하여다음과같은응답특성을나타낸다. 이런형태의 Process 응답은 1차지연 Model로근사시킬수있다.
1 차지연 Model 을구하기위해서는다음세가지의 Parameter 가필요하다. -.K: Process Gain -.τ: Process Time Constant -.θ: Process Time Delay Open-Loop Tuning Method의성공여부는 1차지연 Model이실제공정과얼마나많이일치하는가와 Model의 Parameter를얼마나정확하게결정하는가에의해결정된다. Step입력의크기는 Noise나다른외란과구별하기위하여통상 10% 정도가적합하다. 1차지연 Model을구하는방법은다음과같다. -.K = ( 측정값의변화 ) / ( 제어기출력의변화 ) -.τ: 다음두가지방법으로구한값중에서작은값을취한다. 1 위그림과같이가장급하게상승하는점에서접선을그려최종상태에도달할때까지의시간 ( 지연시간끝점으로부터 ) 2 지연시간끝점으로부터측정값최종상태의 63.2% 까지도달시간 -.θ: 제어기출력의변화시점부터접선과의교차점까지의시간으로, 접선이정확하지않을경우긴추정값을사용한다. 또한제어가주기적으로이루어질경우제어주기의 1/2에해당하는추가지연이발생한다 ( 제어주기가지연시간의 20% 보다작을경우는무시 ). 위에서구한세가지 Parameter 로부터구해진 Process 의 1 차지연 Model 은다음과같다. Gp = Ke -θs τs + 1 이전달함수를 Process 의 Model 로서이용하여필요한분석및 Tuning 을할수있다. 주 )Process 에따라 2 차나 3 차이상의고차함수로 Modeling 해야할경우도있다.
PID Controller 에대한값은다음의 Ziegler-Nichols 조정식에의해구한다. Controller Parameter 값비고 P Kc = PI PID τ Kθ Kc = 0.9τ Ti = 3.33θ Kθ Kc = 1.1τ Ti = 2.0θ Td = 0.5θ Kθ 주 ) 위표는다음의관계식이만족하는범위에서적용된다. 0.1τ< θ< 1.0τ 만일지연시간이시간상수의 1/10 보다작다면, 위표는매우큰제어기의 Gain을만들어낸다. 따라서지연시간이매우작은경우는시간상수의 0.1배를사용한다 ( 지연시간이시간상수보다길면다른알고리즘을사용해야한다 ). Closed-Loop Tuning Method 절차는다음과같다. 1) 적분및미분동작을제거하고, 비례동작을최소로한다. 2) 제어기를자동으로유지시킨다. 즉, Closed-Loop. 3) 설정점을변화시켜응답을관찰한후, 임계진동이일어날때까지비례 Gain을약 50% 씩증가시킨다. 4) 임계진동에서의주기가한계주기 (Pu) 이며, 이때의비례 Gain값이한계 Gain(Kcu) 이다. 아래표를이용하여조정 Parameter를구한다 (Ziegler-Nichols). 여기서결정된조정값들은일반적으로 1/4주기감쇄를달성하기위한것이다. Controller Parameter 값비고 P PI PD PID Kc = 0.5Kcu Kc = 0.45Kcu, Ti = Pu/1.2 Kc = 0.6Kcu, Td = Pu/8 Kc = 0.6Kcu, Ti = 0.5Pu, Td = Pu/8 주 )Closed-Loop 방법은 Open-Loop 방법에비해 Model을구할필요가없고, 근사값이아니므로좀더정확하나, Process를임계진동까지가져가므로실제의 Process를 Test하기에는위험부담이있다.
Open-Loop와 Closed-Loop Tuning의절충방법 1) Closed-Loop Test처럼시작한다 ( 적분 & 미분동작제거, Gain최소, 자동Mode) 2) 1/4주기감쇄를얻을때까지비례 Gain을증가하면서 Step입력을가한다. 이때의주기가 Pq로서임계진동주기 (Pu) 보다길것이므로 Pu( 추정 ) = 0.9Pq 3) 1/4주기감쇄때의 Gain이 Kcq라면, 이값은한계진동때의 Gain Kcu보다작을것이다. 보통 1.6 과 1.75 사이로경험에의해 Kcu( 추정 ) = 1.67Kcq 4) Closed-Loop의표에의해조정값을구한다 ( 오차 : Closed-Loop Tuning 값의 5% 이내 ) 일반적인 Tuning Rules -.Kc는 Control Loop내의모든 Gain의곱 (Servo 유압시스템의경우 : Servo V/V, Actuator, Feedback Sensor의곱 ) 에반비례하여설정해주어야함. 예를들어 Servo V/V가 Flow Gain이큰것으로바뀌었다면 Kc는줄여주어야함. -.Ti는시스템의 Volume과 Dynamics를기준으로설정해줌. -> Large Volume, Slow Dynamics일수록비례하여큰값을적용. -.Td 는 Noise 가작고 Dynamics 가느리며, Volume 이큰시스템의경우에적용바람직. -.θ/ τ가클수록 Settling Time과 Overshoot가증가되어제어가어려워짐. -> θ/ τ가클수록 Kc는작게, Ti와 Td는크게설정해야함. -.Td/Ti 는일반적으로 0.1 0.3 사이 ( 통상 0.25) 에서설정하도록함. -. 적분동작이 P Controller에추가되는경우 Kc는줄여주어야하며, 반면에미분동작이추가되는경우는 Kc의증가가가능함. -.V/V Sticking 현상이나 Actuator Hysteresis를보이는 Loop는정상보다 Proportional Mode를키워서설정해주어야함.
4. 기사용 Tuning Parameter 개선방법 이미동작하고있는 Loop의진동이너무심하거나, 응답이너무늦을경우조정 Parameter의개선이필요하다. 이때중요한것은 Open-Loop나 Closed-Loop의 Test 없이가능한빨리 ( 최소한의실험을통해 ) 개선하는것이다. PI 제어기의경우적분시간 (Ti) 을진동주기 (P) 와비교하므로서적분시간이맞는지를결정할수있다. 올바른적분시간은다음관계식을만족시킨다. 1.5Ti < P < 2.0Ti 만일, 주기가이범위보다길면, 적분시간이너무빠르므로적분시간을현재주기의 1/2이나 2/3정도로재조정 ( 이때비례Gain 약간증가가능 ) 한다. 주기가이범위보다짧으면반대로적분동작을증가시킨다. 미분도상당한량 ( 적분동작의 1/4까지 ; 조금사용시는 PI 경우를따름 ) 을사용하는경우에는다음의범위가적당하다. 2.0Ti < P < 3.33Ti 이들조건은반드시따라야할필수적인것이아니라, 경우에따라적용할수없는경우도있다. 그러나이론을바탕으로한값이기때문에대부분의경우좋은결과를얻는다.
5.Cascade Control 의 Tuning Cascade Control의개념 Cascade Control의개념은하나의 Feedback Loop내에또다른하나의 Loop를만들어내는것이다. 아래그림은 Cascade Control의 Block도이다. Cascade Control의구현에있어전반적인전략및목적은가능한한많은량의 Precess Lag를외부Loop로갖게하면서, 동시에가능한한많은량의외란을내부Loop에도입하도록해야한다는것이다. 다음과같은규칙을따르는것이좋다. -. 내부Loop에가장심한외란입력을포함하게한다. 이렇게하므로서단일 Feebback Loop에비해훨씬개선된성능을기대할수있다. -. 내부Loop에는최소의 Lag만을포함시켜가능한빠르게한다. 통상외부Loop보다 3배정도빠르게하는것이바람직하다. -. 내부Loop 제어변수는외부Loop 제어변수와명확하고유용한관련이있어야한다. -. 내부Loop의가장빠른응답을허용하는내부Loop 제어변수를선정한다. Controller Mode 선정및 Tuning 방법 -. 내부Loop Controller는외부Loop에의해설정점이연속적으로변하기때문에, Offset을제거할목적의적분동작은거의필요가없다. -. 외부Loop Controller는통상비례동작에적분동작이추가된다. -. 미분동작은그 Loop가많은량의 Lag를갖고있을경우에만채택되어야한다. -.Tuning의방법은모든 Feedback Controller의 Tuning과동일하지만내부Loop부터철저히 Tuning을수행하여야한다. -. 외부Loop Controller는수동으로두어야하며즉, Loop를개방하고난다음적절한 Tuning 법에의해내부Loop를 Tuning 한다. -. 외부Loop는 Tuning된내부Loop를하나의요소로보고전체로서 Tuning 한다. 끝.