Thursday 7 June 2018

PID Control (1)

PID Control အေၾကာင္းေျပာယင္ Theory ေတြပါလာပါလိမ့္မယ္။ အတတ္ႏိုင္ဆုံး  လြယ္ေအာင္ ေရးၾကည့္ပါမယ္။ ျဖည္းျဖည္းဖတ္ၿပီး နားလည္ေအာင္ ႀကိဳးစားၾကည့္ၾကပါ။
အစဆုံး Close Loop Control စံနစ္ဆိုတာက စၿပီး ေျပာျပပါမယ္။ ထူးထူးျခားျခားေတာ့ မဟုတ္ပါဘူး Feedback signal တစ္ခု ျပန္ေပးတယ္ဆို Close Loop ၊ ျပန္မေပးယင္ Open Loop လို႔ မွတ္ထားလိုက္ေပါ့။ ဥပမာ တစ္ခု ေျပာပါမယ္။ ဟင္းခ်က္တဲ့ Hot Plate ေတြကို ၾကည့္လိုက္ပါ။ ဘာ Control မွ မပါဘဲ ခလုတ္တစ္ခု ဖြင့္ယင္အပူေပးတဲ့ coil မွာ မီးလာမယ္။ အပူခ်ိန္ နည္းတာမ်ားတာ ဘာမွ မဆိုင္ေတာ့ဘူး။ အဲဒါမ်ဳိးကို Open Loop ေခၚပါတယ္။ ေနာက္ မီးဖိုတစ္မ်ဳိးကေတာ့ အပူခ်ိန္ Set လုပ္လို႔ရတယ္။ ၁၆၀  ံC ကို Set ထားယင္ Thermostat က အပူခ်ိန္ကို sense လုပ္ေနပါတယ္။ တစ္နည္းအားျဖင့္ feedback ယူတာေပါ့။ ၁၆၀  ံC ေရာက္တာနဲ႔ Circuit ကို open လုပ္ေပးလိုက္လို႔  Coil မွာ မီးမလာေတာ့ဘူး။ ၁၆၀  ံC ထက္ က်သြားယင္ ျပန္ၿပီး Coil ကို လွ်ပ္စစ္စီးေစပါမယ္။ ဒါ Close loop ဥပမာတစ္ခုပါ။ 
ဒီေနရာမွာ Thermostat တစ္ခုထဲက feedback ေရာ Control ေရာ အလုပ္လုပ္သြားပါတယ္။ Control မွာလည္း အ႐ိုးစင္းဆုံး Control ဆိုေတာ့ တစ္ကယ္တမ္း တိုင္းထားၾကည့္မယ္ဆိုယင္ အပူခ်ိန္က အတက္အက် ျဖစ္ေနမွာပါ။ ၁၆၀  ံ ေက်ာ္လို႔ Coil ကို ျဖတ္လိုက္ေပမဲ့ အပူခ်ိန္ဆက္တက္ေနပါဦးမယ္။ ေနာက္ နည္းနည္းၾကာမွ ျပန္က်မွာပါ။ ၁၆၀  ံ ေအာက္ေရာက္လို႔ Coil ျပန္ On ၿပီးလည္း အပူခ်က္ခ်င္း ျပန္မတက္ဘဲ ဆက္က်ေနပါမယ္။ ၿပီးမွ ျဖည္းျဖည္းခ်င္း ျပန္တက္မွာပါ။ ထမင္းဟင္း ခ်က္တဲ့ေနရာမွာ အပူခ်ိန္ အေျပာင္းအလဲက သိပ္အေရးမႀကီးေပမဲ့ တစ္ျခား တိက်တဲ့ control လိုအပ္တဲ့ စံနစ္ေတြ၊ Process ေတြမွာ တည္ၿငိမ္ၿပီး အေျပာင္းအလဲ နည္းတဲ့ Control ေတြလိုလာပါတယ္။ အဲဒီမွာ PID Controller ေတြ သုံးလာၾကပါတယ္။

PID ဆိုတာ Proportional, Integral, Derivative ဆိုတဲ့ စာလုံး သုံးလုံးရဲ႕ အတိုေကာက္ပါ။ တစ္ခုစီက တစ္မ်ဳိးစီ အလုပ္လုပ္ပါတယ္။ P တစ္မ်ဳိးထဲသုံးတဲ့ Control, PI ႏွစ္မ်ဳိးသုံးတဲ့ Control, PID သုံးမ်ဳိးလုံး သုံးတဲ့ Control ရယ္လို႔ ရွိပါတယ္။ PD Control ကေတာ့ အရမ္းရွားပါတယ္။
အခု ေစာေစာက မီးဖိုကိုဘဲ PID Control နဲ႔ ေဆာက္ၾကည့္ၿပီး စဥ္းစားၾကည့္ရေအာင္။ ဒီတစ္ခါ Thermostat အစား PID ပါတဲ့ Temperature Controller တစ္ခုနဲ႔ feedback signal အျဖစ္ Temperature Sensor တစ္ခု တပ္ထားပါမယ္။ ဒီလိုဆိုယင္ ၁၆၀ ေက်ာ္မွ ျဖတ္မယ္။ ၁၆၀ ေအာက္မွာ On မယ္ဆိုတဲ့ ႐ိုးစင္းတဲ့ Control မဟုတ္ေတာ့ပါဘူး။ ၁၆၀ နဲ႔ ေဝးေနေသးယင္ ေတာက္ေလွ်ာက္ On ထားမယ္။ ၁၆၀ နဲ႔ နီးလာတာနဲ႔ အမွ် On/Off duty cycle ေတြ တစ္ျဖည္းျဖည္း ေျပာင္း ေပးၿပီး ၁၆၀ ဝန္းက်င္မွာ တည္ၿငိမ္တဲ့ အပူခ်ိန္ကို ထိမ္းထားေပးမွာပါ။

Control System တစ္ခုမွာ လိုခ်င္တဲ့ တန္ဘိုး Set Point (SP) ရွိပါမယ္။ ေနာက္ တစ္ကယ္တိုင္းလို႔ရတဲ့ တန္ဘိုး feedback signal တစ္နည္းအားျဖင့္ Process Variable (PV) ရွိပါမယ္။ အဲဒီ SP နဲ႔ PV ရဲ႕ ကြာဟခ်က္က Error ေပါ့။ တနည္းေျပာရယင္ SP ထဲကေန PV ကို ျပန္နႈတ္ၿပီး Control လုပ္တာမို႔ Negative feedback လို႔ ေခၚပါတယ္။ (ပုံမွာၾကည့္ပါ။) Negative Feedback ရဲ႕သဘာဝအရ Error ကတစ္ျဖည္းျဖည္း နည္းလာၿပီး တည္ၿင္ိမ္မႈ ( stable state) ကို ရေစပါတယ္။ Positive Feedback ဆိုယင္ေတာ့ SP နဲ႔ PV ေပါင္းၿပီး Control လုပ္တဲ့အတြက္ output က တစ္ျဖည္းျဖည္း မ်ားသြားမွာ ျဖစ္ပါတယ္။ 
အခု Negative Feedback သုံးထားတာဆိုေတာ့ Error တန္ဘိုးေပၚမူတည္ၿပီး Coil ကို ဖြင့္ျခင္းပိတ္ျခင္း နဲ႔ ထိန္းခ်ဳပ္သြားတာမို႔ Error ကတစ္ျဖည္းျဖည္း နည္းသြားၿပီး တည္ၿငိမ္တဲ့ ရလာဒ္ ရေစပါတယ္။ 
 

အခု Control လုပ္ေပးတဲ့ အလယ္ပိုင္းကို P ရယ္၊ I ရယ္၊ D ရယ္ Control သုံးခုခြဲၿပီး ျပန္ေပါင္းထားတယ္လို႔ ျမင္ၾကည့္လိုက္ပါ။ (ပုံၾကည့္ပါ။) အဲဒီမွာ PID  တစ္ခုစီရဲ႕ သက္ေရာက္ပုံေျပာပါမယ္။ ျမင္သာေအာင္ ပစၥဳပၸန္၊ အတိတ္၊ အနာဂါတ္ လို႔မွတ္ထားလိုက္ပါ။ 
~ Proportional က ပစၥဳပၸန္ လက္ရွိ feedback တန္ဘိုးရဲ႕ Error ေပၚမူတည္လို႔ gain နဲ႔ ေျမႇာက္ၿပီး Control လုပ္ပါတယ္။ 
~ Integral ကေတာ့ အတိတ္က အခ်ိန္တစ္ခုအတြင္းျဖစ္ခဲ့တဲ့ ေျပာင္းလဲမႈနႈံးကို တြက္ၿပီး Control လုပ္ပါတယ္။ 
~ Derivative ကေတာ့ အနာဂါတ္ အခ်ိန္တစ္ခုမွာ တည္ၿငိမ္မႈရႏိုင္ေစမယ့္ အေျခအေနကို ခန္႔မွန္း တြက္ထုတ္ၿပီး Control လုပ္ပါတယ္။

ဘာလို႔ သုံးမ်ဳိးသုံထားတာလဲ။ P တစ္မ်ဳိးထဲဆိုယင္ Error တန္ဘိုး တစ္ခုမွာ တစ္ျဖည္းျဖည္း stable ျဖစ္သြားေပမဲ့ offset တန္ဘိုးတစ္ခု ရွိေနဦးမွာပါ။ I ေပါင္းထည့္လိုက္တဲ့အခါ offset ေပ်ာက္သြားၿပီး ပို stable ျဖစ္ေပမဲ့ အခ်ိန္တစ္ခုထိ ေစာင့္ရပါတယ္။ ေနာက္ၿပီး I တန္ဘိုး Range Limit တစ္ခုေက်ာ္သြားယင္ output တန္ဘိုးက ျပန္မက်ေတာ့ဘဲ ဆက္တိုက္တက္ၿပီး ကေမာက္ကမျဖစ္တာမ်ဳိး ရွိပါတယ္။ ေနာက္ဆုံုး D ပါထပ္ထည့္လိုက္ေတာ့ အဲဒီျပႆနာကို ေက်ာ္လႊားႏိုင္သလို Response time လည္း ပိုျမန္လာပါတယ္။

အေျခခံျဖစ္တဲ့ ဒီတစ္ပိုင္းကို ေသခ်ာဖတ္ထားပါဦး။ မတူတဲ့ Control Algorithm ေတြနဲ႔ Tuning အပိုင္း ေနာက္ထပ္ ေရးေပးပါဦးမယ္။
 
[Unicode]

PID Control အကြောင်းပြောယင် Theory တွေပါလာပါလိမ့်မယ်။ အတတ်နိုင်ဆုံး  လွယ်အောင် ရေးကြည့်ပါမယ်။ ဖြည်းဖြည်းဖတ်ပြီး နားလည်အောင် ကြိုးစားကြည့်ကြပါ။

အစဆုံး Close Loop Control စံနစ်ဆိုတာက စပြီး ပြောပြပါမယ်။ ထူးထူးခြားခြားတော့ မဟုတ်ပါဘူး Feedback signal တစ်ခု ပြန်ပေးတယ်ဆို Close Loop ၊ ပြန်မပေးယင် Open Loop လို့ မှတ်ထားလိုက်ပေါ့။ ဥပမာ တစ်ခု ပြောပါမယ်။ ဟင်းချက်တဲ့ Hot Plate တွေကို ကြည့်လိုက်ပါ။ ဘာ Control မှ မပါဘဲ ခလုတ်တစ်ခု ဖွင့်ယင်အပူပေးတဲ့ coil မှာ မီးလာမယ်။ အပူချိန် နည်းတာများတာ ဘာမှ မဆိုင်တော့ဘူး။ အဲဒါမျိုးကို Open Loop ခေါ်ပါတယ်။ နောက် မီးဖိုတစ်မျိုးကတော့ အပူချိန် Set လုပ်လို့ရတယ်။ ၁၆၀  ံC ကို Set ထားယင် Thermostat က အပူချိန်ကို sense လုပ်နေပါတယ်။ တစ်နည်းအားဖြင့် feedback ယူတာပေါ့။ ၁၆၀  ံC ရောက်တာနဲ့ Circuit ကို open လုပ်ပေးလိုက်လို့  Coil မှာ မီးမလာတော့ဘူး။ ၁၆၀  ံC ထက် ကျသွားယင် ပြန်ပြီး Coil ကို လျှပ်စစ်စီးစေပါမယ်။ ဒါ Close loop ဥပမာတစ်ခုပါ။
ဒီနေရာမှာ Thermostat တစ်ခုထဲက feedback ရော Control ရော အလုပ်လုပ်သွားပါတယ်။ Control မှာလည်း အရိုးစင်းဆုံး Control ဆိုတော့ တစ်ကယ်တမ်း တိုင်းထားကြည့်မယ်ဆိုယင် အပူချိန်က အတက်အကျ ဖြစ်နေမှာပါ။ ၁၆၀  ံ ကျော်လို့ Coil ကို ဖြတ်လိုက်ပေမဲ့ အပူချိန်ဆက်တက်နေပါဦးမယ်။ နောက် နည်းနည်းကြာမှ ပြန်ကျမှာပါ။ ၁၆၀  ံ အောက်ရောက်လို့ Coil ပြန် On ပြီးလည်း အပူချက်ချင်း ပြန်မတက်ဘဲ ဆက်ကျနေပါမယ်။ ပြီးမှ ဖြည်းဖြည်းချင်း ပြန်တက်မှာပါ။ ထမင်းဟင်း ချက်တဲ့နေရာမှာ အပူချိန် အပြောင်းအလဲက သိပ်အရေးမကြီးပေမဲ့ တစ်ခြား တိကျတဲ့ control လိုအပ်တဲ့ စံနစ်တွေ၊ Process တွေမှာ တည်ငြိမ်ပြီး အပြောင်းအလဲ နည်းတဲ့ Control တွေလိုလာပါတယ်။ အဲဒီမှာ PID Controller တွေ သုံးလာကြပါတယ်။

PID ဆိုတာ Proportional, Integral, Derivative ဆိုတဲ့ စာလုံး သုံးလုံးရဲ့ အတိုကောက်ပါ။ တစ်ခုစီက တစ်မျိုးစီ အလုပ်လုပ်ပါတယ်။ P တစ်မျိုးထဲသုံးတဲ့ Control, PI နှစ်မျိုးသုံးတဲ့ Control, PID သုံးမျိုးလုံး သုံးတဲ့ Control ရယ်လို့ ရှိပါတယ်။ PD Control ကတော့ အရမ်းရှားပါတယ်။
အခု စောစောက မီးဖိုကိုဘဲ PID Control နဲ့ ဆောက်ကြည့်ပြီး စဉ်းစားကြည့်ရအောင်။ ဒီတစ်ခါ Thermostat အစား PID ပါတဲ့ Temperature Controller တစ်ခုနဲ့ feedback signal အဖြစ် Temperature Sensor တစ်ခု တပ်ထားပါမယ်။ ဒီလိုဆိုယင် ၁၆၀ ကျော်မှ ဖြတ်မယ်။ ၁၆၀ အောက်မှာ On မယ်ဆိုတဲ့ ရိုးစင်းတဲ့ Control မဟုတ်တော့ပါဘူး။ ၁၆၀ နဲ့ ဝေးနေသေးယင် တောက်လျှောက် On ထားမယ်။ ၁၆၀ နဲ့ နီးလာတာနဲ့ အမျှ On/Off duty cycle တွေ တစ်ဖြည်းဖြည်း ပြောင်း ပေးပြီး ၁၆၀ ဝန်းကျင်မှာ တည်ငြိမ်တဲ့ အပူချိန်ကို ထိမ်းထားပေးမှာပါ။

Control System တစ်ခုမှာ လိုချင်တဲ့ တန်ဘိုး Set Point (SP) ရှိပါမယ်။ နောက် တစ်ကယ်တိုင်းလို့ရတဲ့ တန်ဘိုး feedback signal တစ်နည်းအားဖြင့် Process Variable (PV) ရှိပါမယ်။ အဲဒီ SP နဲ့ PV ရဲ့ ကွာဟချက်က Error ပေါ့။ တနည်းပြောရယင် SP ထဲကနေ PV ကို ပြန်နှုတ်ပြီး Control လုပ်တာမို့ Negative feedback လို့ ခေါ်ပါတယ်။ (ပုံမှာကြည့်ပါ။) Negative Feedback ရဲ့သဘာဝအရ Error ကတစ်ဖြည်းဖြည်း နည်းလာပြီး တည်ြငိမ်မှု ( stable state) ကို ရစေပါတယ်။ Positive Feedback ဆိုယင်တော့ SP နဲ့ PV ပေါင်းပြီး Control လုပ်တဲ့အတွက် output က တစ်ဖြည်းဖြည်း များသွားမှာ ဖြစ်ပါတယ်။
အခု Negative Feedback သုံးထားတာဆိုတော့ Error တန်ဘိုးပေါ်မူတည်ပြီး Coil ကို ဖွင့်ခြင်းပိတ်ခြင်း နဲ့ ထိန်းချုပ်သွားတာမို့ Error ကတစ်ဖြည်းဖြည်း နည်းသွားပြီး တည်ငြိမ်တဲ့ ရလာဒ် ရစေပါတယ်။

အခု Control လုပ်ပေးတဲ့ အလယ်ပိုင်းကို P ရယ်၊ I ရယ်၊ D ရယ် Control သုံးခုခွဲပြီး ပြန်ပေါင်းထားတယ်လို့ မြင်ကြည့်လိုက်ပါ။ (ပုံကြည့်ပါ။) အဲဒီမှာ PID  တစ်ခုစီရဲ့ သက်ရောက်ပုံပြောပါမယ်။ မြင်သာအောင် ပစ္စုပ္ပန်၊ အတိတ်၊ အနာဂါတ် လို့မှတ်ထားလိုက်ပါ။
~ Proportional က ပစ္စုပ္ပန် လက်ရှိ feedback တန်ဘိုးရဲ့ Error ပေါ်မူတည်လို့ gain နဲ့ မြှောက်ပြီး Control လုပ်ပါတယ်။
~ Integral ကတော့ အတိတ်က အချိန်တစ်ခုအတွင်းဖြစ်ခဲ့တဲ့ ပြောင်းလဲမှုနှုံးကို တွက်ပြီး Control လုပ်ပါတယ်။
~ Derivative ကတော့ အနာဂါတ် အချိန်တစ်ခုမှာ တည်ငြိမ်မှုရနိုင်စေမယ့် အခြေအနေကို ခန့်မှန်း တွက်ထုတ်ပြီး Control လုပ်ပါတယ်။

ဘာလို့ သုံးမျိုးသုံထားတာလဲ။ P တစ်မျိုးထဲဆိုယင် Error တန်ဘိုး တစ်ခုမှာ တစ်ဖြည်းဖြည်း stable ဖြစ်သွားပေမဲ့ offset တန်ဘိုးတစ်ခု ရှိနေဦးမှာပါ။ I ပေါင်းထည့်လိုက်တဲ့အခါ offset ပျောက်သွားပြီး ပို stable ဖြစ်ပေမဲ့ အချိန်တစ်ခုထိ စောင့်ရပါတယ်။ နောက်ပြီး I တန်ဘိုး Range Limit တစ်ခုကျော်သွားယင် output တန်ဘိုးက ပြန်မကျတော့ဘဲ ဆက်တိုက်တက်ပြီး ကမောက်ကမဖြစ်တာမျိုး ရှိပါတယ်။ နောက်ဆုံး D ပါထပ်ထည့်လိုက်တော့ အဲဒီပြဿနာကို ကျော်လွှားနိုင်သလို Response time လည်း ပိုမြန်လာပါတယ်။

အခြေခံဖြစ်တဲ့ ဒီတစ်ပိုင်းကို သေချာဖတ်ထားပါဦး။ မတူတဲ့ Control Algorithm တွေနဲ့ Tuning အပိုင်း နောက်ထပ် ရေးပေးပါဦးမယ်။

2 comments:

  1. Dear Sayar Win Aung,

    I am Dr. Aung Myo Thant Sin, a lecturer at Mechatronics Engineering Department, Yangon Technological University.

    I am specialized in dynamics, control systems and robotics. Please see my info here:
    http://myothantsinaung.weebly.com/publications.html

    Please let me know how to contact you. I hope we can have fruitful discussions.

    Thank you.

    Aung Myo Thant Sin, PhD
    Lecturer
    McE Dept, YTU

    ReplyDelete
    Replies
    1. Dear Ko Myo Thant Sin,
      Sorry for very late reply for your comment. You can reach me at winaung7007@gmail.com

      regards,
      Win Aung

      Delete