Tuesday, 12 June 2018

PID Control (2)

(က) P, PI, PID
ဒီတစ္ခါ ဥပမာေလး တစ္ခုနဲ႔ စေျပာပါမယ္။ ဘြိဳင္လာ (Boiler) တစ္လုံးရဲ႕ ေရ level ထိန္းခ်ဳပ္တဲ့ စံနစ္ေလးတစ္ခုကို ျမင္ၾကည့္ရေအာင္။ ေရရဲ႕ level ကို Set Point (SP) input အေနနဲ႔ ေပးထားၿပီး တည္ၿငိမ္ေအာင္ ထိန္းခ်ဳပ္မယ္ဆိုပါေတာ့။ ေရအထြက္နႈံးကေတာ့ Boiler မွာသုံးတဲ့ ေရေႏြးေငြ႕ အထြက္ေပၚမူတည္ေနပါတယ္။ အဲဒီအပိုင္းကို Control ရႈေထာင့္ကၾကည့္ယင္ loading ဒါမွမဟုတ္ disturbance လို႔ ေခၚပါတယ္။ Control လုပ္ေပးမယ့္ process ကေတာ့ ေရအဝင္နႈံး။ အေသးစိတ္ေျပာရယင္ေတာ့ water inlet valve ရဲ႕ အက်ဥ္းအက်ယ္ ဖြင့္တာပိတ္တာကို PID နဲ႔ Control လုပ္မယ္ ဆိုပါေတာ့။ Feedback (PV) ကေတာ့ ေရ level transmitter တစ္ခုပါ။ လိုခ်င္တဲ့ ေရ level (SP) ကို tank ရဲ႕ 50% မွာ ထားတယ္ ဆိုပါေတာ့။
အစဆုံး လက္ရွိအေျခအေနမွာ၊ Proportional (P) တစ္ခုဘဲ သုံးထားၿပီး၊ ေရ အဝင္အထြက္နႈံးေတြ တူေနတဲ့အတြက္၊ တစ္ကယ္တိုင္းလို႔ရတဲ့ Feedback (PV) ကလည္း 50% မွာ steady state ျဖစ္ေနတယ္လို႔ ယူဆပါ။
Controller Output(CO) (သို႔) Manipulated Variable (MV) (သို႔) u(t) ရဲ႕ ညီမွ်ျခင္းက

u(t) = Kp e(t) 

ဒီေနရာမွာ 
- Kp ဆိုတာ proportional gain
- e(t) ဆိုတာ Error (သို႔) SP - PV

တစ္ခါတေလ Kp အစား Proportional Band (PB) ကိုသုံးတာလည္း ရွိတတ္ပါတယ္။

PB = 100/Kp [%] 

အဲဒီအေနအထားကေန loading ပိုလာတဲ့အတြက္ ေရအထြက္နႈံး ပိုမ်ားလာတယ္ ဆိုပါေတာ့။ Tank ထဲက ေရ level ေလ်ာ့သြားေတာ့ SP-PV = Error တန္ဘိုးတစ္ခုရွိလာပါတယ္။ လက္ရွိ Kp (သို႔) Proportional gain တန္ဘိုးက 2% ဆိုယင္ Error နဲ႔ gain ေျမႇာက္ၿပီး valve အက်ဥ္းအက်ယ္ေျပာင္းေပးၿပီး Control လုပ္ေပးတာ ေနာက္ဆုံး ေရ အဝင္နႈံးနဲ႔ အထြက္နႈံး ညီသြားေတာ့ steady state ကိုေရာက္သြားပါတယ္။ အဲဒီ အခ်ိန္မွာ Tank ရဲ႕ level က 45% ေလာက္ထိ ေလ်ာ့ေနပါၿပီ။ SP နဲ႔ ယွဥ္လိုက္ေတာ့ 5% နည္းေနတာေပါ့။ အဲဒီလိုstable state ေရာက္ၿပီး offset ျဖစ္ေနတတ္တာက P တစ္ခုထဲ Control လုပ္ယင္ ျဖစ္တတ္တဲ့ အားနည္းခ်က္ပါ။ 
တစ္ကယ္လို႔ gain မ်ားမယ္ဆိုယင္ ေစာေစာစီးစီး steady state ေရာက္သြားတဲ့အတြက္ offset တန္ဘိုး နည္းမွာပါ။ Gain တန္ဘိုး infinity ေလာက္ထိ တင္ေပးထားယင္ေတာ့ offset မရွိေတာ့ဘူးလို႔ ဆိုပါတယ္။ ဒါေပမဲ့ လက္ေတြ႕မွာ gain ကို infinity ထိတင္ေပးတယ္ဆိုတာ မျဖစ္ႏိုင္ပါဘူး။ ဒီေတာ့ offset ျဖစ္ေနတဲ့ ေရ level ကို ျပန္ျဖည့္ေပးဘို႔ လိုပါတယ္။

ပထမနည္းကေတာ့ Manually inlet valve ကို ပိုဖြင့္ေပးတဲ့ နည္းပါ။ အဲဒါကို reset လုပ္တယ္လို႔ ေခၚပါတယ္။ ေနာက္တစ္နည္းကေတာ့ Integral Control (I) ကို သုံးတဲ့နည္းပါဘဲ။ အခ်ိန္တစ္ခုေရာက္တိုင္း အလိုအေလ်ာက္ reset လုပ္ေပးတဲ့ သေဘာပါ။ I ရဲ႕ Control parameter ျဖစ္တဲ့ Ki ဆိုတာ reset rate ေပါ့။ Controller ထုတ္လုပ္တဲ့ manufacturer ေပၚမူတည္ၿပီး I ရဲ႕Control parameter ႏွစ္မ်ဳိး ေတြ႕ႏိုင္ပါတယ္။ တစ္မိနစ္ အတြင္း reset လုပ္တဲ့ အႀကိမ္ေရ (repeat per minute) Ki နဲ႔ reset လုပ္ရမယ့္ ၾကာခ်ိန္ (Minute per repeat ) Ti တို႔ျဖစ္ပါတယ္။ တစ္ခုနဲ႔ တစ္ခုက ေျပာင္းျပန္ အခ်ဳိးက်ပါတယ္။
အခု PI Control ရဲ႕ ညီမွ်ျခင္းက

u(t) = Kp e(t) + Ki (integral) e(t’) d(t’)
ဒီေနရာမွာ
- Ki ဆိုတာ Integral Coefficient ပါ။ 

 Ki =  Kp/ Ti ျဖစ္ပါတယ္။ 

အခုဆိုယင္ Control က P နဲ႔ I ႏွစ္မ်ဳိးျဖစ္သြားေတာ့ ပို တည္ၿငိမ္ပါတယ္။ ဒါေပမဲ့ I နဲ႔ reset လုပ္ လုပ္ေပးတဲ့အတြက္ stable state ေရာက္ဖို႔ အခ်ိန္ပိုၾကာပါတယ္။ ေနာက္ၿပီး reset လိုအပ္ခ်က္အရ ေရအဝင္နႈံး ပိုျမႇင့္ေပးရတဲ့အခါ valve အက်ယ္ဆုံး (100%) ဖြင့္ေပးတာေတာင္မွ လိုအပ္တဲ့ အဝင္နႈံးက မမီေသးယင္ Integral Windup လို႔ေခၚတဲ့ ကေမာက္ကမ ျပႆနာ ၾကဳံႏိုင္ပါတယ္။ 

အဲဒါေတြကို ေျပလည္ေအာင္ (D) ကို ထည့္သုံးလာပါတယ္။ PID သုံးခုလံုးပါယင္ေတာ့ ပိုမို တည္ၿငိမ္ၿပီး response time ပိုျမန္တဲ့ Control တစ္ခု ျဖစ္လာပါတယ္။

u(t) = Kp e(t) + Ki (integral) e(t’) d(t’) + Kd de(t) / dt
ဒီေနရာမွာ 
- Kd ဆိုတာ Derivative Coefficient ပါ။

 Kd =  Kp.Td ျဖစ္ပါတယ္။ 

ညီမွ်ျခင္းေတြက ရႈပ္ေနယင္ ေက်ာ္ဖတ္လို႔ရပါတယ္။ Tuning လုပ္တဲ့အခါ အေခၚအေဝၚေတြ သိရေအာင္ ထည့္ေရးျပထားတာပါ။

(ခ) PID Control အမ်ဳိးမ်ဳိး
PID Control Algorithms လို႔ေခၚေခၚ၊ Types လို႔ ေျပာေျပာ၊ Form လို႔ ဆိုဆို Control လုပ္တဲ့ အမ်ဳိးအစား အမ်ဳိးမ်ဳိး ရွိၾကပါတယ္။ အသုံးမ်ားတဲ့ Algorithms အမ်ဳိးအစားေတြကို ေအာက္မွာ ေဖၚျပထားပါတယ္။

(၁) Interactive Algorithm
ဒီနည္းမွာ P, I, D control ေတြကို series သေဘာ တစ္ခုၿပီးမွ တစ္ခု ထိန္းခ်ဳပ္ဖို႔ စီစဥ္ထားတာမို႔ ပထမ parameter တစ္ခုရဲ႕ ေျပာင္းလဲမႈက ေနာက္ parameter ေတြကို ေျပာင္းလဲသက္ေရာက္မႈ ရွိေစပါတယ္။ ဒီနည္းကို ေခၚၾကတဲ့ နံမည္ေတြကေတာ့ “Interactive”, “Series”, “Classical”, “Real” စသျဖင့္ အမ်ဳိးမ်ဳိး ေခၚၾကပါတယ္။

(၂) Non-interactive Algorithm 
နံမည္မွာ ပါတဲ့ အဓိပၸာယ္အတိုင္း P, I, D component ေတြဟာ တစ္ခုနဲ႔တစ္ခု သက္ေရာက္မႈ မရွိေစတဲ့ နည္းကို ေခၚပါတယ္။ ဒီနည္းကို ေခၚၾကတဲ့ အမည္ကြဲေတြကေတာ့ “Non-Interactive”, “Standard”, “ISA” အစရွိသျဖင့္ ျဖစ္ပါတယ္။ တစ္ခ်ဳိ႕ စာေတြထဲမွာ ဒီနည္းကို “Parallel Algorithm” လို႔ သုံးထားတာလည္း ရွိပါတယ္။

(၃) Parallel Algorithm
ဒီနည္းကေတာ့ စာအုပ္ႀကီးနည္းလို႔ ေခၚၾကပါတယ္။ သင္ခန္းစာေတြမွာ သင္ယင္ ဒီပုံစံ ျပေလ့ရွိလို႔ပါ။ P, I, D component ေတြကို အရွင္းဆုံးပုံစံ အၿပိဳင္ဆက္ထားတာပါ။ non-interactive ရဲ႕ မူကြဲလို႔လည္း ေျပာၾကပါတယ္။ လက္ေတြ႕မွာ အသုံးနည္းပါတယ္။ ေရွ႕ပိုင္းမွာ Pneumatic နဲ႔ PID controller ေတြေဆာက္တဲ့အခါ ဒီနည္းနဲ႔ ေဆာက္လို႔ မရခဲ့ဘူး ဆိုပါတယ္။ 

ဒီတစ္ပိုင္းကို ဒီေလာက္နဲ႔ နားပါဦးမယ္။ Tuning အပိုင္း ဆက္ေရးေပးပါမယ္။

[Unicode]

(က) P, PI, PID
ဒီတစ်ခါ ဥပမာလေး တစ်ခုနဲ့ စပြောပါမယ်။ ဘွိုင်လာ (Boiler) တစ်လုံးရဲ့ ရေ level ထိန်းချုပ်တဲ့ စံနစ်လေးတစ်ခုကို မြင်ကြည့်ရအောင်။ ရေရဲ့ level ကို Set Point (SP) input အနေနဲ့ ပေးထားပြီး တည်ငြိမ်အောင် ထိန်းချုပ်မယ်ဆိုပါတော့။ ရေအထွက်နှုံးကတော့ Boiler မှာသုံးတဲ့ ရေနွေးငွေ့ အထွက်ပေါ်မူတည်နေပါတယ်။ အဲဒီအပိုင်းကို Control ရှုထောင့်ကကြည့်ယင် loading ဒါမှမဟုတ် disturbance လို့ ခေါ်ပါတယ်။ Control လုပ်ပေးမယ့် process ကတော့ ရေအဝင်နှုံး။ အသေးစိတ်ပြောရယင်တော့ water inlet valve ရဲ့ အကျဉ်းအကျယ် ဖွင့်တာပိတ်တာကို PID နဲ့ Control လုပ်မယ် ဆိုပါတော့။ Feedback (PV) ကတော့ ရေ level transmitter တစ်ခုပါ။ လိုချင်တဲ့ ရေ level (SP) ကို tank ရဲ့ 50% မှာ ထားတယ် ဆိုပါတော့။ 
အစဆုံး လက်ရှိအခြေအနေမှာ၊ Proportional (P) တစ်ခုဘဲ သုံးထားပြီး၊ ရေ အဝင်အထွက်နှုံးတွေ တူနေတဲ့အတွက်၊ တစ်ကယ်တိုင်းလို့ရတဲ့ Feedback (PV) ကလည်း 50% မှာ steady state ဖြစ်နေတယ်လို့ ယူဆပါ။
Controller Output(CO) (သို့) Manipulated Variable (MV) (သို့) u(t) ရဲ့ ညီမျှခြင်းက

u(t) = Kp e(t) 

ဒီနေရာမှာ 
- Kp ဆိုတာ proportional gain
- e(t) ဆိုတာ Error (သို့) SP - PV

တစ်ခါတလေ Kp အစား Proportional Band (PB) ကိုသုံးတာလည်း ရှိတတ်ပါတယ်။

PB = 100/Kp [%] 

အဲဒီအနေအထားကနေ loading ပိုလာတဲ့အတွက် ရေအထွက်နှုံး ပိုများလာတယ် ဆိုပါတော့။ Tank ထဲက ရေ level လျော့သွားတော့ SP-PV = Error တန်ဘိုးတစ်ခုရှိလာပါတယ်။ လက်ရှိ Kp (သို့) Proportional gain တန်ဘိုးက 2% ဆိုယင် Error နဲ့ gain မြှောက်ပြီး valve အကျဉ်းအကျယ်ပြောင်းပေးပြီး Control လုပ်ပေးတာ နောက်ဆုံး ရေ အဝင်နှုံးနဲ့ အထွက်နှုံး ညီသွားတော့ steady state ကိုရောက်သွားပါတယ်။ အဲဒီ အချိန်မှာ Tank ရဲ့ level က 45% လောက်ထိ လျော့နေပါပြီ။ SP နဲ့ ယှဉ်လိုက်တော့ 5% နည်းနေတာပေါ့။ အဲဒီလိုstable state ရောက်ပြီး offset ဖြစ်နေတတ်တာက P တစ်ခုထဲ Control လုပ်ယင် ဖြစ်တတ်တဲ့ အားနည်းချက်ပါ။ 
တစ်ကယ်လို့ gain များမယ်ဆိုယင် စောစောစီးစီး steady state ရောက်သွားတဲ့အတွက် offset တန်ဘိုး နည်းမှာပါ။ Gain တန်ဘိုး infinity လောက်ထိ တင်ပေးထားယင်တော့ offset မရှိတော့ဘူးလို့ ဆိုပါတယ်။ ဒါပေမဲ့ လက်တွေ့မှာ gain ကို infinity ထိတင်ပေးတယ်ဆိုတာ မဖြစ်နိုင်ပါဘူး။ ဒီတော့ offset ဖြစ်နေတဲ့ ရေ level ကို ပြန်ဖြည့်ပေးဘို့ လိုပါတယ်။

ပထမနည်းကတော့ Manually inlet valve ကို ပိုဖွင့်ပေးတဲ့ နည်းပါ။ အဲဒါကို reset လုပ်တယ်လို့ ခေါ်ပါတယ်။ နောက်တစ်နည်းကတော့ Integral Control (I) ကို သုံးတဲ့နည်းပါဘဲ။ အချိန်တစ်ခုရောက်တိုင်း အလိုအလျောက် reset လုပ်ပေးတဲ့ သဘောပါ။ I ရဲ့ Control parameter ဖြစ်တဲ့ Ki ဆိုတာ reset rate ပေါ့။ Controller ထုတ်လုပ်တဲ့ manufacturer ပေါ်မူတည်ပြီး I ရဲ့Control parameter နှစ်မျိုး တွေ့နိုင်ပါတယ်။ တစ်မိနစ် အတွင်း reset လုပ်တဲ့ အကြိမ်ရေ (repeat per minute) Ki နဲ့ reset လုပ်ရမယ့် ကြာချိန် (Minute per repeat ) Ti တို့ဖြစ်ပါတယ်။ တစ်ခုနဲ့ တစ်ခုက ပြောင်းပြန် အချိုးကျပါတယ်။
အခု PI Control ရဲ့ ညီမျှခြင်းက

u(t) = Kp e(t) + Ki (integral) e(t’) d(t’)
ဒီနေရာမှာ
- Ki ဆိုတာ Integral Coefficient ပါ။ 

 Ki =  Kp/ Ti ဖြစ်ပါတယ်။ 

အခုဆိုယင် Control က P နဲ့ I နှစ်မျိုးဖြစ်သွားတော့ ပို တည်ငြိမ်ပါတယ်။ ဒါပေမဲ့ I နဲ့ reset လုပ် လုပ်ပေးတဲ့အတွက် stable state ရောက်ဖို့ အချိန်ပိုကြာပါတယ်။ နောက်ပြီး reset လိုအပ်ချက်အရ ရေအဝင်နှုံး ပိုမြှင့်ပေးရတဲ့အခါ valve အကျယ်ဆုံး (100%) ဖွင့်ပေးတာတောင်မှ လိုအပ်တဲ့ အဝင်နှုံးက မမီသေးယင် Integral Windup လို့ခေါ်တဲ့ ကမောက်ကမ ပြဿနာ ကြုံနိုင်ပါတယ်။ 

အဲဒါတွေကို ပြေလည်အောင် (D) ကို ထည့်သုံးလာပါတယ်။ PID သုံးခုလုံးပါယင်တော့ ပိုမို တည်ငြိမ်ပြီး response time ပိုမြန်တဲ့ Control တစ်ခု ဖြစ်လာပါတယ်။

u(t) = Kp e(t) + Ki (integral) e(t’) d(t’) + Kd de(t) / dt
ဒီနေရာမှာ 
- Kd ဆိုတာ Derivative Coefficient ပါ။

 Kd =  Kp.Td ဖြစ်ပါတယ်။ 

ညီမျှခြင်းတွေက ရှုပ်နေယင် ကျော်ဖတ်လို့ရပါတယ်။ Tuning လုပ်တဲ့အခါ အခေါ်အဝေါ်တွေ သိရအောင် ထည့်ရေးပြထားတာပါ။

(ခ) PID Control အမျိုးမျိုး
PID Control Algorithms လို့ခေါ်ခေါ်၊ Types လို့ ပြောပြော၊ Form လို့ ဆိုဆို Control လုပ်တဲ့ အမျိုးအစား အမျိုးမျိုး ရှိကြပါတယ်။ အသုံးများတဲ့ Algorithms အမျိုးအစားတွေကို အောက်မှာ ဖေါ်ပြထားပါတယ်။

(၁) Interactive Algorithm
ဒီနည်းမှာ P, I, D control တွေကို series သဘော တစ်ခုပြီးမှ တစ်ခု ထိန်းချုပ်ဖို့ စီစဉ်ထားတာမို့ ပထမ parameter တစ်ခုရဲ့ ပြောင်းလဲမှုက နောက် parameter တွေကို ပြောင်းလဲသက်ရောက်မှု ရှိစေပါတယ်။ ဒီနည်းကို ခေါ်ကြတဲ့ နံမည်တွေကတော့ “Interactive”, “Series”, “Classical”, “Real” စသဖြင့် အမျိုးမျိုး ခေါ်ကြပါတယ်။

(၂) Non-interactive Algorithm 
နံမည်မှာ ပါတဲ့ အဓိပ္ပာယ်အတိုင်း P, I, D component တွေဟာ တစ်ခုနဲ့တစ်ခု သက်ရောက်မှု မရှိစေတဲ့ နည်းကို ခေါ်ပါတယ်။ ဒီနည်းကို ခေါ်ကြတဲ့ အမည်ကွဲတွေကတော့ “Non-Interactive”, “Standard”, “ISA” အစရှိသဖြင့် ဖြစ်ပါတယ်။ တစ်ချို့ စာတွေထဲမှာ ဒီနည်းကို “Parallel Algorithm” လို့ သုံးထားတာလည်း ရှိပါတယ်။

(၃) Parallel Algorithm
ဒီနည်းကတော့ စာအုပ်ကြီးနည်းလို့ ခေါ်ကြပါတယ်။ သင်ခန်းစာတွေမှာ သင်ယင် ဒီပုံစံ ပြလေ့ရှိလို့ပါ။ P, I, D component တွေကို အရှင်းဆုံးပုံစံ အပြိုင်ဆက်ထားတာပါ။ non-interactive ရဲ့ မူကွဲလို့လည်း ပြောကြပါတယ်။ လက်တွေ့မှာ အသုံးနည်းပါတယ်။ ရှေ့ပိုင်းမှာ Pneumatic နဲ့ PID controller တွေဆောက်တဲ့အခါ ဒီနည်းနဲ့ ဆောက်လို့ မရခဲ့ဘူး ဆိုပါတယ်။ 

ဒီတစ်ပိုင်းကို ဒီလောက်နဲ့ နားပါဦးမယ်။ Tuning အပိုင်း ဆက်ရေးပေးပါမယ်။

No comments:

Post a Comment