• 검색 결과가 없습니다.

PID 제어동작

문서에서 LG 프로그래머블 로직 컨트롤러 (페이지 181-195)

15.PID 제어 기능

15.2 PID 제어동작

15.2.1 제어동작 1) 비례동작(P 동작)

(1) 비례 동작이란 편차(E:목표 값(SV)과 현재 값(PV:또는 제어량)의 차)에 비례된 조작 값 을 얻는 동작입니다.

(2) 비례동작에서 편차(E)는 단순히 목표 값(SV)에서 현재 값(PV)를 뺀 것이 아니라 기준 값(Referece value)을 사용하여 목표 값의 커다란 변화나 외부 외란 등으로 인하여 편차가 크게 변화하는 것을 막을 수 있습니다.이를 수식으로 나타내면 다음과 같습니다.

여기서 Kp 는 비례 상수를 나타내며, b 는 기준 값을 나타냅니다. b 가 ‘1’이면 일반적인 비례식과 동일하게 됩니다.

(3) 편차가 발생하였을 때 비례동작에 의한 조작 값(MV)은 그림 2-1 과 같습니다.

(4) 비례상수(Kp)가 크면 동일한 편차(E)에 대하여 조작 값(MV)가 더 커지며, 비례동작이 강해지며 비례상수(Kp)가 작으면 비례동작 후의 조작 값 역시 작아집니다.

(5) 비례상수(Kp)가 크면 현재 값(PV)이 목표 값(SV)에 빠르게 도달하지만 그림 2-1 에서 나타낸 바와 같이 비례상수가 너무 크면 진동을 하는 등 제어 안정에 나쁜 영향을 줄 수 있습니다.

(6) 반대로 비례상수(Kp)가 작으면 그림 2-2 에서 나타낸 바와 같이 진동은 하지 않으나 현재 값(PV)이 목표 값(SV)에 도달하는 속도가 느려지며 잔류편차(:오프셋)가 생길 수 있습니다.

(7) 조작량(MV)은 0 ~ 4000사이에서 변화합니다. 여기서 조작량의 상한 값(MV_MAX) 및 하한 값(MV_MIN)은 사용자가 0 ~ 4000사이의 값으로 설정할 수 있습니다.

(8) 잔류 편차가 생기는 경우, 잔류 편차 값만큼의 보상 값을 사용자가 설정(Bias)하여 목표 값(SV)에 현재 값(PV)을 강제적으로 도달하게 할 수 있습니다.

<그림 2-1> 비례 상수(Kp)가 클 경우

]

* [

* b SV PV Kp

MV = −

시간 PV

SV

진동 발생

15 - 3

<그림 2-2> 비례 상수(Kp)가 작을 경우

2) 적분 동작 (I 동작)

(1) 적분동작은 목표 값(SV)과 현재 값(PV) 사이에서 편차(E)가 발생할 경우, 그 편차를 없애기 위 해 시간에 따라 편차만큼을 조작 값에 계속적으로 가감합니다. 적은 편차에 대하여 비례동작은 조작 값(MV)의 변화를 기대할 수 없으므로 적분동작에 의해 편차 제거 효과

즉,목표 값(SV)

= 현재값(PV)

을 얻을 수 있습니다. 따라서, 비례동작에서 발생한 잔류편차(오프셋)를 없앨 수가 있습니다.

(2) 적분 동작에서 편차가 발생 되고 나서 적분동작의 조작 값이 비례동작의 조작 값으로 되기까지 의 시간을 적분 시간이라 말하고, Ti 로 표시합니다.

(3) 일정한 편차가 발생했을 때 적분동작은 그림 2-3 과 같습니다.

(4) 적분동작을 수식으로 표현하면 다음과 같습니다.

수식에서 알 수 있듯이 적분동작에서의 적분 시간(Ti)을 조정하여 적분동작을 강하게 혹은 약 하게 할 수 있습니다. 즉, 그림 2-4 와 같이 적분시간을 길게 하면, 조작 값에 대한 가감량은 적어지며 현재 값이 목표 값에 접근하는 시간이 길어집니다. 또한 그림 2-5 와 같이 적분시간을 짧게 주면 조작 값에 가감량이 많아지게 되어, 짧은 시간내에 현재 값이 목표 값에 접근하게 됩니다. 그러나 너무 짧게 하면 다시 진동하게 되므로 적절한 값이 필요합니다.

(5) 적분동작은 비례동작과 조합된 PI 동작,비례동작과 미분동작을 합친 PID 동작으로 각각 사용 되며 독립적 즉, I 동작으로는 사용되지 않습니다.

시간 PV

SV

잔류편차 (오프셋)발생

= Edt

Ti

MV Kp

15.PID 제어 기능

15 - 4

<그림 2-3> 편차가 일정할 때의 적분동작

<그림 2-4> 적분시간을 길게 할 경우

시간 편차

조작량

편차(E)

시간 Ti

Kp*E 비례동작에서의 조작량 적분동작에서의

조작량

비례동작 + 적분동작 에서의 조작량

시간 PV

SV

수렴하는데까지 많은 시간이 걸린다.

15 - 5

<그림 2-5> 적분시간을 짧게 할 경우

3) 미분동작(D 동작)

(1) 미분동작은 목표 값(SV)의 변경이나 외란으로 편차가 발생될 때 그 편차를 없애기 위하여 변화 속도(일정 시간마다 편차가 변화는 속도(기울기))에 비례되는 조작 값(MV)을 연산하여 편차의 변화를 억제합니다.

(2) 미분동작은 제어 동작에 속응성을 부여하는 동작으로 편차가 발생하는 초기에 큰 제어동작을 가하여(편차를 없애는 방향으로)편차를 빠르게 감속시켜 주는 효과가 있습니다.

(3) 외부조건으로 제어대상이 크게 변동하는 것을 방지할 수 있습니다.

(4) 미분동작에서 편차가 발생되고 나서 미분동작의 조작 값이 비례동작의 조작 값으로 되기까지의 시간을 미분 시간이라 말하고 Td 로 표시합니다.

(5) 일정한 편차가 발생되었을 때 미분동작은 그림 2-6 과 같습니다.

(6) 미분동작을 수식으로 표현하면 다음과 같습니다.

식에서 알 수 있듯이 미분시간을 크게 하면 미분동작이 강화됩니다.또한 일반적으로 편차(E 즉, 설정치(SV) – 현재 값(PV))에 대하여 미분하는 것보다는 현재 값(PV)에 대해 미분하는 것이 일 반적으로 사용됩니다.

(7) 미분동작은 비례동작 및 적분동작과 합쳐 PID 동작으로 사용되지만, 독립적인 D 동작 및 PD 동 작으로는 사용되지 않습니다.

시간 PV

SV

수렴은 빨리 되지 만, 진동이 발생하기

쉽다.

dt

Td dE

Kp

MV = *

15.PID 제어 기능

15 - 6

<그림 2-6> 편차가 일정할 때의 미분동작 시간 편차

조작량

편차(E)

시간

비례동작에서의 조작량

Td

Kp*E

15 - 7 4) PID 동작

(1) PID 동작은 전절에서 기술한 P 동작 + I 동작 + D 동작에 의하여 산출된 조작량으로 제어합니다.

(2) 일정한 편차가 발생할 경우, PID 동작은 그림 2-7 과 같습니다.

<그림 2-7> 편차가 일정할 때의 PID 동작

5) 정동작과 역동작

(1) PID 제어는 정동작과 역동작 2 종류의 동작 방법이 있습니다.

정동작은 현재 값(PV)이 목표 값(SV)보다 작은 경우 조작 값(MV)을 출력하여 현재 값이 목표값 에 접근하도록 하는 동작을 말합니다.

역동작은 현재 값(PV)이 목표 값(SV)보다 큰 경우 조작 값(MV)을 출력하여 현재 값이 목표 값 에 접근하도록 하는 동작을 말합니다.

(2) 정동작과 역동작은 조작 값(MV),현재 값(PV), 목표 값(SV)을 사용하여 그려보면 그림 2.8 과 같습니다.

시간 편차

조작량

편차(E)

시간 PID동작

I 동작

P 동작

D 동작 PI 동작

15.PID 제어 기능

15 - 8

<그림 2-8> 조작량(MV), 현재 값(PV), 목표 값(SV)에 의한 정동작,역동작 관계

(3) 정동작, 역동작에 의한 프로세스 제어의 예는 그림 2-9 와 같습니다.

<그림 2-9> 정동작과 역동작에 의한 프로세서 제어 예 조작량

시간 역동작 정동작

목표값

시간 온도

시간 온도

목표값 목표값

현재값 현재값

역동작(냉방일때) 정동작(난방일때)

15 - 9 6) 기준 값(Reference Value)

일반적인 PID 와 같은 피드백 시스템의 형태는 그림 2-1 에 나타낸 바와 같이 제어 편차는 설정치(SV)와 제어량(PV)과의 차로 나타냅니다. 이 제어편차를 이용하여 PID 는 내부 연산 을 수행하게 되는 것입니다. 실제 PID 제어에서의 미분동작은 이와 같은 제어편차를 사용 하지 않는 것이 유리합니다. 이를 수식으로 나타내면 다음과 같습니다.

여기서 MV 는 조작량을 나타내고, K 는 비례 게인을 Ti 는 적분 시간, Td 는 미분 시간을 나타냅니다. 각 동작의 편차를 살펴보면 비례 동작부분의 편차인 Ep 는 b*SV – PV 로, 미분 동작부분의 편차인 Ed 는 –PV 로 적분 동작부분의 편차인 Ti 는 SV-PV 로 나타냅니다.

여기서 b 값을 기준 값(Reference Value)이라 합니다.기준 값(Reference Value)은 부하성 왜란(Load Disturbance)이나 측정 노이즈(Measurement Noise)에 따라서 서로 다른 값을 갖을 수 있습니다.

<그림 2-1> 간단한 편차 피드백 시스템

그림 2-2 는 PI 제어에서 서로 다른 기준 값 b 들에 대한 제어량(PV)의 변화를 예시한 그림 입니다.(일반적인 스텝 응답법으로서 이론적인 그림이지 실제 적용된 그림은 아님) 이 그림에서도 알 수 있듯이 기준 값이 작을수록 편차 값이 작아서 이에 대한 응답 특성도 상당히 느려짐을 알 수 있습니다.

일반적으로, 제어 시스템은 여러가지의 조건들에 대해 대응을 해야 하는데, 특히 설정치 (SV)의 급격한 변화에 대하여 안정적인 순간 응답(Transient Response)을 가져야 하며, 이로서 부하성 왜란이나 측정 노이즈의 영향을 받지 않을 수 있습니다.

 

 

 + +

= K Ep Ti

t

Ei s ds Td dEd dt

MV

0

) 1 (

PID 연산 Process

-1

SV

+

편차 MV PV

15.PID 제어 기능

15 - 10

<그림 2-2> 서로 다른 기준 값에 대한 PI 제어 특성

7) 적분 와인드업(Integral Windup)

모든 제어 대상기, 액튜에이터(Actuator)는 제한을 갖고 있습니다. 즉, 모터는 속도의 제한이 있고, 밸브는 완전한 개폐이상의 값을 낼 수가 없다. 제어기가 광범위한 동작 조건하에서 작동될 때, 제어기에서 출력되는 값은 액튜에이터의 제한 범위를 벗어난 값을 가질 수 있습니다. 이런 경우 액튜에이터는 제어기의 출력되는 값에 관계없이 포화상태를 계속 유지하게 되어, 수명 단축 등의 영향을 미칠 수 있습니다. PID 연산 제어기에서 적분 동작이 사용되면,편차는 계속 누적(Integrated)됩니다.이것은 적분항을 매우 크게 만들어,특히 응답 특성이 매우 느린 시스템에서, 와인드업(Windup)을 발생시키 게 됩니다. 이런 와인드업이 발생된 상태에서 정상상태로 돌아가는데는 매우 많은 시간이 소요됩니다.와인드업 현상은 그림 2-3 에 나타낸 바와 같습니다. 그림 2-3 은 PI 제어기라 가정하고,여기서 초기 설정 포인트가 매우 크게 변화함으로서 액튜에이터는 상한치에서 포화상태에 이릅니다.적분동작은 초기에 편차(오차)값이 양수 값을 갖게 되어 계속 증가 하게 되고, 약 10 초 후에 편차 값이 0 이 되는 크로스 포인트가 됩니다. 이때 출력은 포화된 상태로 계속 남게 되고, 편차가 음수가 되어 적분항이 충분히 작은 값이 될 때 까지 상당기간동안 계속 포화상태로 남게 됩니다.이 같은 과정은 그림에 나타난 바와 같이 상당히 큰 오버슈트를 갖게 합니다. 이와 같은 와인드업 현상은 초기 편차가 매우 크거나 또는 매우 큰 왜란 또는 장비의 오동작 등에 의하여 발생됩니다.

적분으로 인한 와인드업 현상을 피할 수 있는 방법은 여러 가지가 있습니다. 그 중에서 널리 사용되는 방법은 실제 액튜에이터에 다른 피드백 시스템을 구현하는 것이고,다른 방법은 액튜에이터를 모델링하여 사용하는 방법입니다. 그림 2-4 에 이와 같은 모델링을 이용하여 구현한 앤티 와인드업(Anti Windup)의 블록도를 나타내었습니다.

시간 PV

b=1 b=0.7 b=0.5

b=0.1 SV

15 - 11

그림 2-4 에서 알 수 있듯이, 액튜에이터 출력(U)와 PID 제어량(MV)와의 편차인 Es 값이 이득(Gain) 1/Tt 를 거쳐 적분항의 입력으로 피드백 됨을 알 수 있습니다.여기서 포화가 일어나지 않으면, Es 값은 ‘0’이되어 일반적인 PID 연산 출력 값이 그대로 액튜에이터에 가해지게(즉, MV = U)되므로, 액튜에이터가 정상 동작일 때는 동작에 아무런 영향을 끼치 지 않습니다.액튜에이터가 포화 상태가 되면 피드백 신호는 편차 Es 값이 ‘0’이 되도록 합니다.

이 같은 방법으로 적분항의 와인드업을 막는다. 여기서 Tt 는 적분항이 리셋되는 정도 를 나타내는 시간 상수 값입니다. 실제적으로 적분항으로 들어가는 이득 값은 1/Tt 이므로 Tt 값이 클수록 적분항의 리셋은 빨리 이루어 진다. 그러나 너무 적은 값은 미분동작을 갖 는 시스템에서도 앤티 와이드업(Anti Windup) 동작을 발생시킬 수 있기 때문에 값 설정에 주의해야 합니다.그림 2-5 에 PI 제어기에서 Tt 값과 제어량(PV)과의 관계를 나타내었습니다.

<그림 2-3> 적분 와인드업 예시도

시간 PV

SV

10

MV

시간 Integral

Term

15.PID 제어 기능

15 - 12

<그림 2-4> 앤티 와이드업을 갖는 PID 제어기

<그림 2-5>서로 다른 Tt(Tracking Time Constant)에 대한 시스템 특성 K*Td*S

K

k/Ti

+

+

Actuator

모델 Actuator

-

+

+

1/Tt 편차(E) = SV -PV

편차(E) = -PV

Es

MV U

시간 PV

SV

Tt=3 Tt=2 Tt=1

Tt=0.1

15 - 13 15.2.2 PID 구현

이 장에서는 실제 구현된 이산화된 PID 제어를 P 제어,I 제어, D 제어 항으로 나누어 수식에 대한 간단한 설명을 하고, 더불어 이를 의사코드로 나타냅니다.

1) P 제어

이산화된 P 제어 항을 수식으로 나타내면 다음과 같습니다.

(식 2.2.1)

여기서 n 은 이산화 샘플링 계수, K 는 비례 상수 값, b 는 기준 값,SV 는 설정치,PV 는 제어 값을 나타냅니다.

2) I 제어

연속 시스템에서 적분 항은 다음과 같이 나타낼 수 있습니다.

이 식을 시간 t 에 대하여 미분하면 아래와 같은 식이 되고

여기서 e 는 편차(SV – PV)를 나타냅니다.

다시 이식을 이산화 시키면

여기서 h 는 샘플링 시간을 나타냅니다.

다시 이식을 적분 항에 대하여 정리하면

(식 2.2.2)

이 됩니다.

)]

( ) (

* [ )

( n K b SV n PV n

P = −

=

t

e s ds Ti

t K

I ( )

0

( )

Ti e K dt dI =

) ) (

( ) 1

( e n

Ti K h

n I n

I + − =

) ( )

( ) 1

( e n

Ti n Kh I n

I + = +

15.PID 제어 기능

15 - 14 3) D 제어

연속 시스템에서 미분 항은 다음과 같이 나타낼 수 있습니다.

여기서 N 은 고주파 잡음 제거비(High Frequency Noise DepressiOn RatiOn)를 나타내고, y 는 제어량 즉, PV 를 나타냅니다. 여기서 주의해야할 것은 미분항은 실제 편차를 이용 하는 것이 아니라, PV 값을 미분항에서 사용한다는 것입니다. 이 연속 시스템의 미분항을 이산화 시키는 대는 여러 가지 방법이 있으나,여기서는 Tustin 근사화법을 사용합니다.

Tustin 근사화법으로 위 식을 이산화 시키면

(식 2.2.3)

이 됩니다.

4) PID 의사코드

전절에서 언급한 P 제어,I 제어,D 제어에서 사용된 수식을 바탕으로 PID 제어를 구현하기 위한 의사코드(Pseudo Code)는 다음과 같습니다.

Step1: PID 연산에 사용되는 각종 계수를 구합니다.

Bi = K*h/Ti; ; 적분 이득 Ad = (2*Td-N*h)/(2*Td+N*h); ; 미분 이득 Bd = 2*K*N*Td/(2*Td+N*h);

AO = h/Tt; ; 앤티 와인드업 이득

Step2: 설정치(SV)및 제어량(PV)값을 읽는다.

PV = adin(ch1);

Step3: 비례항을 구합니다.

P = K*(b*SV – PV);

Step4: 미분 항을 갱신합니다. 단, D 의 초기값은 0 D = Ad*D – Bd*(PV – PV_old);

Step 5: 조작량(MV)값을 구합니다. 단, I 의 초기값은 0 MV = P+I+D;

dt KTd dy dt D

dD N

Td + = −

)]

1 ( ) ( 2 [

) 2 1 2 (

) 2

( − −

− + + −

= − y n y n

hN Td n KTdN hN D

Td hN n Td

D

문서에서 LG 프로그래머블 로직 컨트롤러 (페이지 181-195)