Control Systems (ထိန်းချုပ်ရေး စနစ်များ)
A1.3.6: Control system components, A1.3.7: Control systems in real-world applications
မြန်မာလို: A1.3.6: control system (တခြား စနစ်တွေကို ထိန်းချုပ်ပေးတဲ့ စနစ်) ရဲ့ အစိတ်အပိုင်းများ၊ A1.3.7: လက်တွေ့ ဘဝက application တွေထဲမှာ သုံးတဲ့ control system များ
ဒီစာမျက်နှာ တစ်ခုလုံးက HL (Higher Level) အဆင့်မှာပဲ အကဲဖြတ် စစ်ဆေးတဲ့ အကြောင်းအရာ ဖြစ်ပါတယ်။ SL (Standard Level) နဲ့ HL ဆိုတာ IB Computer Science (နိုင်ငံတကာ ကျောင်းတွေမှာ သင်တဲ့ ကွန်ပျူတာသိပ္ပံ သင်ရိုး) သင်တန်းရဲ့ အဆင့်နှစ်ဆင့်ဖြစ်ပြီး HL အပိုင်းတွေက ပိုနက်နက်ရှိုင်းရှိုင်း လေ့လာရတဲ့ အပိုင်းတွေပါ။
- Control system ရဲ့ အစိတ်အပိုင်းများ: sensor (ပတ်ဝန်းကျင် အပြောင်းအလဲကို ထောက်လှမ်းတဲ့ ကိရိယာ) တွေက တိုင်းတာပါတယ်၊ controller (ဆုံးဖြတ်ပြီး ထိန်းချုပ်ပေးတဲ့ အစိတ်အပိုင်း) က ဆုံးဖြတ်ပါတယ်၊ actuator (ရုပ်ပိုင်းဆိုင်ရာ လုပ်ဆောင်ချက် လုပ်ပေးတဲ့ ကိရိယာ) တွေက လုပ်ဆောင်ပါတယ်။ ADC နဲ့ DAC က analog (အဆက်မပြတ် ပြောင်းလဲနေတဲ့) နဲ့ digital (သီးခြားစီ ဖြစ်တဲ့ တန်ဖိုးတွေနဲ့ ဖော်ပြတဲ့) ကြား ပြောင်းပေးပါတယ်။
- Open-loop နဲ့ closed-loop: open-loop system (feedback မပါတဲ့ ပုံသေ စနစ်) နဲ့ closed-loop system (feedback သုံးပြီး ကိုယ့်ကိုယ်ကို ညှိတဲ့ စနစ်) ကြားက ကွာခြားချက်က feedback (output ကို ပြန်တိုင်းပြီး controller ဆီ ပြန်ပို့ခြင်း) ပါ: စနစ်က ကိုယ့် output ကို ကိုယ်တိုင် တိုင်းပြီး ကိုယ့်ဘာသာ ပြင်သလား ဆိုတာပါ။
- လက်တွေ့ အသုံးချပုံများ: thermostat (အပူချိန်ကို သတ်မှတ်ထားတဲ့ တန်ဖိုးမှာ ထိန်းပေးတဲ့ ကိရိယာ) ကနေ ဓာတ်လှေကားအထိ စနစ် 8 ခုကို sensor တွေ၊ controller၊ actuator တွေနဲ့ feedback ဆိုပြီး ခွဲခြမ်းပြထားပါတယ်။
- Autonomous agent များ: autonomous agent (ကိုယ့်ဘာသာ ဆုံးဖြတ်ပြီး လုပ်ဆောင်တဲ့ agent) တွေက ပတ်ဝန်းကျင်ကို သိရှိပြီး ပိုင်ရှင်ရဲ့ ကိုယ်စား လူ့ ထိန်းချုပ်မှု အနည်းငယ်နဲ့ ဒါမှမဟုတ် လုံးဝ မပါဘဲ လုပ်ဆောင်တဲ့ ရှုပ်ထွေးတဲ့ control system တွေပါ။
အဓိက အယူအဆများ
Control System ဆိုတာ ဘာလဲ (A1.3.6)
Control system ဆိုတာ တခြား စနစ်တွေ ဒါမှမဟုတ် လုပ်ငန်းစဉ်တွေရဲ့ အလုပ်လုပ်ပုံကို စီမံ၊ အမိန့်ပေး၊ ညွှန်ကြား ဒါမှမဟုတ် ထိန်းညှိပေးတဲ့ စနစ်ပါ။ Control system တွေကို နေရာတိုင်းမှာ တွေ့နိုင်ပါတယ်: အခန်း အပူချိန်ကို နေလို့ ကောင်းအောင် ထိန်းပေးတဲ့ အိမ်သုံး thermostat တွေကနေ ရှုပ်ထွေးတဲ့ ယာဉ်ကြော ပတ်ဝန်းကျင်တွေထဲမှာ လမ်းရှာ မောင်းနှင်တဲ့ autonomous vehicle (လူ မမောင်းဘဲ ကိုယ့်ဘာသာ မောင်းတဲ့ ယာဉ်) တွေအထိ ပါပါတယ်။
အခြေခံအားဖြင့် control system တိုင်းက ပုံစံ တစ်ခုတည်းကို လိုက်ပါတယ်:
- Sensor တွေက ရုပ်ပိုင်းဆိုင်ရာ ကမ္ဘာထဲက တစ်ခုခုကို တိုင်းတာပါတယ်
- Controller က sensor ဒေတာကို စီမံ တွက်ချက်ပြီး ဆုံးဖြတ်ချက် ချပါတယ်
- Actuator တွေက controller ရဲ့ ဆုံးဖြတ်ချက်အတိုင်း ရုပ်ပိုင်းဆိုင်ရာ လုပ်ဆောင်ချက် တစ်ခုကို လုပ်ပါတယ်
အစိတ်အပိုင်းတွေကို describe (ဖော်ပြရှင်းပြ) လုပ်နိုင်ရပါမယ် (A1.3.6)၊ ပြီးတော့ လက်တွေ့ application တွေထဲမှာ သူတို့ ဘယ်လို ပူးပေါင်း အလုပ်လုပ်လဲဆိုတာကို explain (ရှင်းပြ) လုပ်နိုင်ရပါမယ် (A1.3.7)။ ပေးထားတဲ့ အခြေအနေ တစ်ခုထဲက sensor တွေ၊ actuator တွေနဲ့ controller ကို ခွဲခြား ဖော်ထုတ်နိုင်ဖို့နဲ့ အဲဒီ စနစ်က open-loop လား closed-loop လား ဆုံးဖြတ်နိုင်ဖို့ အသင့် ပြင်ထားပါ။
ကြည့်ရန်: Video များ
Open-loop control system ဆိုတာ ဘာလဲ၊ feedback မပါဘဲ ဘယ်လို အလုပ်လုပ်လဲ ဆိုတာကို ပေါင်မုန့်ကင်စက်လို ရိုးရှင်းတဲ့ ဥပမာတွေနဲ့ ပြပါတယ်။
Closed-loop (feedback) control system တွေက sensor ဒေတာကို သုံးပြီး ကိုယ့်ဘာသာ ဘယ်လို ပြန်ပြင်လဲ ဆိုတာ ပြပါတယ်: ဥပမာ thermostat နဲ့ cruise control တို့ပါ။
Feedback loop တစ်ခုကို အစိတ်အပိုင်းတွေ ခွဲပြီး ရှင်းပြပါတယ်: sensor၊ controller၊ actuator နဲ့ plant (ထိန်းချုပ်ခံရတဲ့ စက် ဒါမှမဟုတ် လုပ်ငန်းစဉ်)၊ လက်တွေ့ ဥပမာတွေနဲ့ပါ။
Control System ရဲ့ အစိတ်အပိုင်းများ (A1.3.6)
Sensors (ပတ်ဝန်းကျင် အပြောင်းအလဲကို ထောက်လှမ်းတဲ့ ကိရိယာများ)
Sensor ဆိုတာ control system ရဲ့ input ဘက်ခြမ်းပါ။ အခန်း ဘယ်လောက် နွေးလဲ၊ အပြင်မှာ ဘယ်လောက် လင်းလဲ၊ ရေတိုင်ကီ ဘယ်လောက် ပြည့်လဲ ဆိုတာမျိုး ပတ်ဝန်းကျင်က အခြေအနေ တစ်ခုခုကို တုံ့ပြန်ပြီး အဲဒီ အခြေအနေ ပြောင်းလဲတာနဲ့အမျှ တန်ဖိုး ပြောင်းလဲတဲ့ လျှပ်စစ် signal (အချက်ပြမှု) တစ်ခုကို ထုတ်ပေးပါတယ်။ Controller က ဘာတွေ ဖြစ်နေလဲ သိရတာက အဲဒီ signal ကို ဖတ်တာကနေပါ။
Sensor တွေရဲ့ အဓိက ဂုဏ်သတ္တိများ:
- Accuracy (တိကျမှု): reading (sensor က တိုင်းလို့ ရတဲ့ တန်ဖိုး) က တကယ့် တန်ဖိုးနဲ့ ဘယ်လောက် နီးလဲ
- Range (တိုင်းနိုင်တဲ့ အပိုင်းအခြား): sensor တိုင်းနိုင်တဲ့ အနည်းဆုံးနဲ့ အများဆုံး တန်ဖိုးများ
- Resolution (ခွဲခြား သိနိုင်စွမ်း): sensor က သိရှိနိုင်တဲ့ အသေးဆုံး ပြောင်းလဲမှု
| Sensor အမျိုးအစား | တိုင်းတာတဲ့ အရာ | အသုံးပြုပုံ ဥပမာ |
|---|---|---|
| Temperature (အပူချိန်) | အပူ | Thermostat၊ မုန့်ဖုတ်ဖို၊ server အခန်း |
| Motion/PIR (လှုပ်ရှားမှု၊ PIR: Passive Infrared၊ ခန္ဓာကိုယ်က ထွက်တဲ့ အပူကို သိတဲ့ sensor) | လှုပ်ရှားမှု | လုံခြုံရေး alarm (အန္တရာယ် သတိပေးစနစ်)၊ အလိုအလျောက် ပွင့်တဲ့ တံခါး |
| Pressure (ဖိအား) | ဧရိယာ တစ်ခုပေါ် သက်ရောက်တဲ့ အား | ကားတာယာ လေဖိအား၊ မိုးလေဝသ စခန်း၊ အဝတ်လျှော်စက်ထဲ ထည့်ထားတဲ့ အဝတ် ပမာဏ |
| Light/Optical (အလင်း) | အလင်း ပြင်းအား | လမ်းမီးများ၊ ကင်မရာ exposure (ဓာတ်ပုံ ရိုက်ချိန်မှာ ဝင်တဲ့ အလင်း ပမာဏ) |
| Proximity/Range (အကွာအဝေး) | အရာဝတ္ထုတွေနဲ့ ကွာတဲ့ အကွာအဝေး | ကားရပ်ချိန် သုံးတဲ့ parking sensor၊ ဖုန်း screen ကို ပိတ်ပေးခြင်း၊ robotics (စက်ရုပ် နည်းပညာ) |
| Sound/Acoustic (အသံ) | အသံ ပမာဏ | Voice assistant (အသံနဲ့ ခိုင်းလို့ရတဲ့ အကူ software)၊ ဆူညံသံ စောင့်ကြည့်ခြင်း |
| Accelerometer (အရှိန် ပြောင်းလဲမှုကို တိုင်းတဲ့ sensor) | အရှိန် ပြောင်းလဲနှုန်း (acceleration) | Smartphone ကို ဘယ်လို လှည့်ထားလဲ သိခြင်း၊ airbag (ကားတိုက်ရင် ပွင့်လာတဲ့ လေအိတ်) ပွင့်စေခြင်း |
| Infrared (အနီအောက်ရောင်ခြည်) | အပူ ရောင်ခြည် | ညဘက် မြင်ရတဲ့ ကင်မရာ (night vision)၊ အပူနဲ့ ပုံရိုက်ခြင်း (thermal imaging)၊ remote control |
| Ultrasonic (လူ့နား မကြားရတဲ့ အသံလှိုင်း) | အသံလှိုင်းနဲ့ တိုင်းတဲ့ အကွာအဝေး | အတားအဆီး ရှာဖွေခြင်း၊ parking sensor |
| Inductive loop (လမ်းမျက်နှာပြင် အောက်မှာ မြှုပ်ထားတဲ့ ဝါယာကြိုး ကွင်း) | သတ္တု / ယာဉ် ရှိမရှိ | မီးပွိုင့်မှာ ယာဉ် ရှိမရှိ သိခြင်း |
| Moisture/Humidity (စိုထိုင်းဆ) | ရေ ပါဝင်မှု | ဖန်လုံအိမ် ရေပေးစနစ်၊ မိုးလေဝသ စခန်းများ |
| Speed (အမြန်နှုန်း) | လည်ပတ်မှု / တစ်ဖြောင့်တည်း ရွေ့မှု အမြန်နှုန်း | ယာဉ်ရဲ့ speedometer (အမြန်နှုန်း ပြ မီတာ)၊ အဝတ်လျှော်စက် drum (အဝတ်ထည့်ပြီး လည်တဲ့ အိုး) |
| Vibration (တုန်ခါမှု) | စက်ပိုင်းဆိုင်ရာ တုန်ခါမှု | အဝတ်လျှော်စက် ဟန်ချက်ညီမှု၊ စက်ရုံ စောင့်ကြည့်ခြင်း |
| Load/Weight (အလေးချိန်) | ဒြပ်ထု | အဝတ်လျှော်စက်ထဲက အဝတ် ပမာဏ သိခြင်း၊ စက်ရုံသုံး ချိန်ခွင်များ |
Transducers (စွမ်းအင် ပုံစံ ပြောင်းပေးတဲ့ ကိရိယာများ)
Transducer ဆိုတာ စွမ်းအင်ကို ပုံစံ တစ်မျိုးကနေ နောက်ထပ် ပုံစံ တစ်မျိုး ပြောင်းပေးတဲ့ ဘယ်ကိရိယာမဆို ဖြစ်ပါတယ်။
- Sensor က input transducer (input ဘက်က transducer) ပါ: ရုပ်ပိုင်းဆိုင်ရာ ပမာဏ တစ်ခု (ဥပမာ အပူချိန်၊ အသံ၊ အလင်း) ကို လျှပ်စစ် signal အဖြစ် ပြောင်းပေးပါတယ်
- Actuator က output transducer (output ဘက်က transducer) ဖြစ်နိုင်ပါတယ်: လျှပ်စစ် signal ကို ရုပ်ပိုင်းဆိုင်ရာ လုပ်ဆောင်ချက် (ဥပမာ လှုပ်ရှားမှု၊ အသံ၊ အပူ) အဖြစ် ပြောင်းပေးပါတယ်
အသုံးများတဲ့ transducer ဥပမာများ:
- Microphone: အသံ စွမ်းအင် → လျှပ်စစ် signal (input transducer)
- Speaker: လျှပ်စစ် signal → အသံ စွမ်းအင် (output transducer)
- Thermistor (အပူချိန်နဲ့အမျှ resistance ပြောင်းတဲ့ အစိတ်အပိုင်း): အပူချိန် ပြောင်းလဲမှု → resistance (လျှပ်စစ် ခုခံအား) ပြောင်းလဲမှု (input transducer)
- Motor: လျှပ်စစ် signal → လည်ပတ်တဲ့ လှုပ်ရှားမှု (output transducer)
Sensor အားလုံးက transducer တွေပါ (ရုပ်ပိုင်းဆိုင်ရာ ပမာဏတွေကို လျှပ်စစ် signal တွေ အဖြစ် ပြောင်းလို့ပါ)၊ ဒါပေမယ့် transducer အားလုံးက sensor မဟုတ်ပါဘူး: တချို့က output transducer (actuator) တွေပါ။
Controllers (ဆုံးဖြတ်ပြီး ထိန်းချုပ်ပေးတဲ့ အစိတ်အပိုင်း၊ Microprocessor များ)
Controller က control system ရဲ့ “ဦးနှောက်” ပါ။ ပုံမှန်အားဖြင့် microprocessor (chip တစ်ခုတည်းပေါ်မှာ တည်ဆောက်ထားတဲ့ processor) ဒါမှမဟုတ် microcontroller (processor၊ memory နဲ့ input/output ကို chip တစ်ခုတည်းမှာ ပေါင်းထားတဲ့ ကွန်ပျူတာငယ်) တစ်ခု ဖြစ်ပြီး အောက်ပါတို့ကို လုပ်ပါတယ်:
- Sensor တွေဆီက input ကို လက်ခံပါတယ် (ADC: Analog to Digital Converter၊ analog signal ကို digital ဒေတာ ပြောင်းပေးတဲ့ converter ကနေ တစ်ဆင့်)
- ROM (ဖတ်ရုံသာ ရတဲ့ memory) ထဲမှာ သိမ်းထားတဲ့ control algorithm (စနစ်ကို ဘယ်လို ထိန်းချုပ်ရမလဲ ဆိုတဲ့ အဆင့်ဆင့် ညွှန်ကြားချက်) အတိုင်း ဒေတာကို စီမံ တွက်ချက်ပါတယ်
- Actuator တွေဆီ output signal တွေကို ပို့ပါတယ် (DAC: Digital to Analog Converter၊ digital ဒေတာကို analog signal ပြောင်းပေးတဲ့ converter ကနေ တစ်ဆင့်)
Microprocessor controller တွေရဲ့ အားသာချက်များ:
- မြန်တယ်: တစ်စက္ကန့်အတွင်း reading ထောင်ပေါင်းများစွာကို စီမံနိုင်ပါတယ်
- မပင်ပန်းဘူး: ပင်ပန်းတာ၊ အာရုံ လွင့်တာ မရှိဘဲ 24/7 (တစ်နေ့ 24 နာရီ၊ တစ်ပတ် 7 ရက်) အလုပ်လုပ်နိုင်ပါတယ်
- တသမတ်တည်း ဖြစ်တယ်: algorithm (အယ်လ်ဂိုရီသမ်၊ ပြဿနာကို အဆင့်ဆင့် ဖြေရှင်းတဲ့ နည်းလမ်း) တစ်ခုတည်းကို အမြဲ လိုက်လို့ လူ့အမှား မရှိပါဘူး
- ကြမ်းတမ်းတဲ့ ပတ်ဝန်းကျင်တွေမှာ အလုပ်လုပ်နိုင်တယ်: အလွန် ပူတဲ့ ဒါမှမဟုတ် အလွန် အေးတဲ့ အပူချိန်၊ အဆိပ်ရှိတဲ့ လေထု၊ ရောင်ခြည် ပြင်းအား မြင့်တဲ့ နေရာ
အားနည်းချက်များ:
- သူတို့ကို program လုပ်ထားတဲ့ အခြေအနေတွေကိုပဲ တုံ့ပြန်နိုင်ပါတယ်: ကိုယ့်ဘာသာ တီထွင် ဖြေရှင်းတာ၊ algorithm ထဲမှာ မပါတဲ့ မမျှော်လင့်ထားတဲ့ အခြေအနေတွေကို ကိုင်တွယ်တာ မလုပ်နိုင်ပါဘူး
- ဂရုတစိုက် program ရေးဖို့ လိုပါတယ်: control algorithm ထဲက bug (code ထဲက အမှား) တစ်ခုက စနစ် တစ်ခုလုံး ပျက်ကျတာကို ဖြစ်စေနိုင်ပါတယ်
Actuators (ရုပ်ပိုင်းဆိုင်ရာ လုပ်ဆောင်ချက် လုပ်ပေးတဲ့ ကိရိယာများ)
Actuator ဆိုတာ output ဘက်ခြမ်းပါ: controller က ခိုင်းတဲ့အခါ လက်တွေ့ ကမ္ဘာမှာ အပြောင်းအလဲ တစ်ခု ဖြစ်စေတဲ့ အစိတ်အပိုင်းပါ။ Controller က လျှပ်စစ် signal တစ်ခု ပို့ပေးပြီး actuator က လှုပ်ရှားခြင်း၊ အပူပေးခြင်း၊ မီးလင်းခြင်း ဒါမှမဟုတ် အသံထွက်ခြင်းနဲ့ တုံ့ပြန်ပါတယ်။ ဥပမာ motor က ကားဂိုဒေါင် တံခါးကို အပေါ်ကို ဆွဲတင်တာ၊ valve (အဆို့ရှင်) က ရေတိုင်ကီထဲကို ရေ ဝင်ခွင့် ပေးတာမျိုးပါ။
အသုံးများတဲ့ actuator ဥပမာများ:
- Motors: လည်ပတ်တဲ့ ဒါမှမဟုတ် တစ်ဖြောင့်တည်း ရွေ့တဲ့ လှုပ်ရှားမှုကို ထုတ်ပေးပါတယ် (ဥပမာ ကားစတီယာရင် လှည့်ခြင်း၊ conveyor belt (ပစ္စည်းတွေကို သယ်ပို့ပေးတဲ့ လည်ပတ်ခါးပတ်))
- Valves: အရည်/ဓာတ်ငွေ့ စီးဆင်းမှုကို ထိန်းဖို့ ပွင့်တာ ဒါမှမဟုတ် ပိတ်တာ လုပ်ပါတယ် (ဥပမာ စိုက်ခင်း ရေပေးခြင်း၊ အပူပေးစနစ်)
- Heaters (အပူပေးစက်များ): အပူ ထုတ်ပေးပါတယ် (ဥပမာ မုန့်ဖုတ်ဖို၊ အခန်း အပူပေးခြင်း)
- Lights (မီးများ): အလင်း ထုတ်ပေးပါတယ် (ဥပမာ အချက်ပြ မီးလုံးများ၊ display screen များ)
- Speakers: အသံ ထုတ်ပေးပါတယ် (ဥပမာ alarm ရဲ့ siren (ဥဩသံ)၊ အသံနဲ့ ထုတ်ပေးတဲ့ output)
- Relays: ပါဝါ များတဲ့ စက်ပစ္စည်းတွေကို ဖွင့်/ပိတ် လုပ်ပေးတဲ့၊ လျှပ်စစ်နဲ့ ထိန်းချုပ်တဲ့ switch (ခလုတ်) တွေပါ
ADC နဲ့ DAC (analog နဲ့ digital ကြား ပြောင်းပေးတဲ့ converter များ)
လက်တွေ့ ကမ္ဘာက ပမာဏ အများစု (အပူချိန်၊ အလင်း၊ အသံ) က analog ဖြစ်ပါတယ်: အဆက်မပြတ် ပြောင်းလဲပါတယ်။ ဒါပေမယ့် ကွန်ပျူတာတွေက digital ဒေတာ (သီးခြားစီ ဖြစ်တဲ့ binary (0 နဲ့ 1 ကိုပဲ သုံးတဲ့ ဂဏန်းစနစ်) တန်ဖိုးများ) နဲ့ အလုပ်လုပ်ပါတယ်။ ဒီကွာဟချက်ကို converter နှစ်ခုက ဆက်ပေးပါတယ်:
- ADC (Analog to Digital Converter): sensor ဆီက analog လျှပ်စစ် signal ကို controller စီမံနိုင်တဲ့ digital ဒေတာ အဖြစ် ပြောင်းပေးပါတယ်။ ဥပမာ temperature sensor (အပူချိန် sensor) က အပူချိန်နဲ့အမျှ ချောချောမွေ့မွေ့ ပြောင်းလဲတဲ့ voltage (ဗို့အား) ကို ထုတ်ပေးပါတယ်: ADC က ဒါကို microprocessor အလုပ်လုပ်နိုင်တဲ့ ကိန်းဂဏန်း တစ်ခု အဖြစ် ပြောင်းပေးပါတယ်။
- DAC (Digital to Analog Converter): controller ဆီက digital output ကို actuator တွေ သုံးနိုင်တဲ့ analog signal အဖြစ် ပြောင်းပေးပါတယ်။ ဥပမာ motor ကို အမြန်နှုန်း 75% နဲ့ run သင့်တယ်လို့ controller က တွက်ပါတယ်: DAC က ဒါကို သင့်တော်တဲ့ voltage အဆင့် အဖြစ် ပြောင်းပေးပါတယ်။
Control System Pipeline (ဒေတာ ဖြတ်သွားရတဲ့ အဆင့်ဆင့် လမ်းကြောင်း)
Control system တစ်ခုထဲမှာ ဒေတာ စီးဆင်းပုံ အပြည့်အစုံက ဒီလမ်းကြောင်းကို လိုက်ပါတယ်:
flowchart LR
P([Physical quantity]) --> S[Sensor]
S --> ADC[ADC<br/><em>analog -> digital</em>]
ADC --> C[Controller<br/><em>decision</em>]
C --> DAC[DAC<br/><em>digital -> analog</em>]
DAC --> A[Actuator]
A --> PA([Physical action])
classDef io fill:#fff,stroke:#888,stroke-dasharray:3 3,color:#333
classDef ctrl fill:#3DAA8A20,stroke:#3DAA8A,color:#1f5d4a
class P,PA io
class C ctrl
ပုံထဲက စာတွေရဲ့ အဓိပ္ပာယ်: Physical quantity (ရုပ်ပိုင်းဆိုင်ရာ ပမာဏ)၊ analog -> digital (analog ကနေ digital ကို)၊ decision (ဆုံးဖြတ်ချက်)၊ digital -> analog (digital ကနေ analog ကို)၊ Physical action (ရုပ်ပိုင်းဆိုင်ရာ လုပ်ဆောင်ချက်)။
Pipeline ကို ဒီလို အနှစ်ချုပ်နိုင်ပါတယ်: ရုပ်ပိုင်းဆိုင်ရာ ကမ္ဘာ → Sensor → ADC → Controller → DAC → Actuator → ရုပ်ပိုင်းဆိုင်ရာ ကမ္ဘာ။ Application တစ်ခုခုအတွက် ဒီ pipeline ကို အဆင့်ဆင့် လိုက်ကြည့်တာကို လေ့ကျင့်ပါ။
Open-Loop နဲ့ Closed-Loop Systems (ပုံသေ စနစ်နဲ့ ကိုယ့်ကိုယ်ကို ညှိတဲ့ စနစ်) (A1.3.6)
Control system တွေမှာ အရေးအကြီးဆုံး ခွဲခြားချက်က စနစ်က feedback ကို သုံးသလား၊ မသုံးဘူးလား ဆိုတာပါ။
Open-Loop System (feedback မပါတဲ့ ပုံသေ စနစ်)
Open-loop system မှာ feedback မပါပါဘူး: output ကို မတိုင်းသလို လိုချင်တဲ့ တန်ဖိုးနဲ့လည်း မနှိုင်းယှဉ်ပါဘူး။ Controller က တကယ့် ရလဒ်ကို မစစ်ဘဲ သူ့လုပ်ဆောင်ချက်တွေကို လုပ်သွားပြီး အများအားဖြင့် ပုံသေ အစီအစဉ် တစ်ခုအတိုင်း လုပ်ပါတယ်။
လက္ခဏာများ:
- ကြိုသတ်မှတ်ထားတဲ့ အစီအစဉ် တစ်ခုကို run ပါတယ်၊ ဒါမှမဟုတ် ပုံသေ အချိန် တစ်ခုအတွင်း အလုပ်လုပ်ပါတယ်
- ကိုယ့် output ကို ကိုယ် မတိုင်းပါဘူး
- ကိုယ့်ဘာသာ ပြင်ညှိလို့ မရပါဘူး၊ တစ်ခုခု မှားသွားရင် စနစ်က မသိပါဘူး
- ဒီဇိုင်းဆွဲဖို့နဲ့ တည်ဆောက်ဖို့ ပိုရိုးရှင်းပြီး ပိုသက်သာပါတယ်
- တိကျမှု နည်းပါတယ်: disturbance (စနစ်ကို ပြင်ပကနေ အနှောင့်အယှက် ပေးတဲ့ အပြောင်းအလဲ) တွေကို ပြန်ညှိပေးလို့ မရပါဘူး
ဥပမာ: ရိုးရိုး toaster (ပေါင်မုန့်ကင်စက်)။ ပေါင်မုန့် တကယ် ဘယ်လောက် ညိုသွားလဲ မကြည့်ဘဲ သတ်မှတ်ထားတဲ့ အချိန် (ဥပမာ 3 မိနစ်) အတွင်း ပေါင်မုန့်ကို ကင်ပါတယ်။ ပေါင်မုန့်က နွေးပြီးသား ဖြစ်နေရင်ဖြစ်စေ၊ အပူထုတ်တဲ့ element (အပူပေး ဝါယာ) က ပုံမှန်ထက် အားနည်းနေရင်ဖြစ်စေ toaster က ပြန်မညှိပါဘူး။
ဥပမာ: အဝတ်လျှော်စက်။ အဝတ်တွေ ဘယ်လောက် သန့်လဲ မကြည့်ဘဲ ပုံသေ စက်ဝန်း (ရေဖြည့် → လျှော် → ရေဆေး → ရေညှစ်) ကို လိုက်ပါတယ်။ User က program တစ်ခုကို ရွေးလိုက်ပြီး စက်က အဲဒီ အစီအစဉ် အတိအကျကို အစကနေ အဆုံးအထိ run ပါတယ်။
Closed-Loop System (feedback သုံးပြီး ကိုယ့်ကိုယ်ကို ညှိတဲ့ စနစ်)
Closed-loop control system မှာ feedback ပါပါတယ်: output ကို sensor တစ်ခုနဲ့ အဆက်မပြတ် တိုင်းပြီး လိုချင်တဲ့ တန်ဖိုး (setpoint၊ ရောက်စေချင်တဲ့ ပန်းတိုင် တန်ဖိုး) နဲ့ နှိုင်းယှဉ်ပါတယ်။ Controller က တကယ့် output နဲ့ လိုချင်တဲ့ output ကြားက ကွာခြားချက် (error) ပေါ် မူတည်ပြီး သူ့လုပ်ဆောင်ချက်တွေကို ညှိပါတယ်။
လက္ခဏာများ:
- Sensor တွေကနေ ကိုယ့် output ကို ကိုယ် တိုင်းပါတယ်
- တကယ့် output ကို setpoint (လိုချင်တဲ့ တန်ဖိုး) နဲ့ နှိုင်းယှဉ်ပါတယ်
- Error (setpoint - တကယ့် တန်ဖိုး) ကို တွက်ပါတယ်
- ကိုယ့်ဘာသာ ပြင်ညှိပါတယ်: error ကို လျှော့ချဖို့ အလိုအလျောက် ညှိပါတယ်
- ဒီဇိုင်းဆွဲဖို့ ပိုရှုပ်ထွေးပြီး ပိုစျေးကြီးပါတယ်
- ပိုတိကျပြီး ပိုယုံကြည်စိတ်ချရပါတယ်: ပြောင်းလဲနေတဲ့ အခြေအနေတွေနဲ့ လိုက်ပြီး ညှိပါတယ်
ဥပမာ: Thermostat။ Temperature sensor က အခန်း အပူချိန်ကို တိုင်းပါတယ်၊ controller က အဲဒါကို setpoint (ဥပမာ 22 degrees C) နဲ့ နှိုင်းယှဉ်ပြီး အဲဒီ အပူချိန်ကို ထိန်းထားဖို့ heater ကို ဖွင့်တာ ဒါမှမဟုတ် ပိတ်တာ လုပ်ပါတယ်။ အခန်း အေးလာရင် heater ပွင့်ပါတယ်။ Setpoint ကို ကျော်ပြီး နွေးလာရင် heater ပိတ်ပါတယ်။
ဥပမာ: Cruise control (ကားကို သတ်မှတ်ထားတဲ့ အမြန်နှုန်းနဲ့ အလိုအလျောက် ဆက်မောင်းပေးတဲ့ စနစ်)။ Speed sensor (အမြန်နှုန်း sensor) က ယာဉ်ရဲ့ လက်ရှိ အမြန်နှုန်းကို တိုင်းပါတယ်၊ controller က အဲဒါကို ပန်းတိုင် အမြန်နှုန်းနဲ့ နှိုင်းယှဉ်ပြီး အဲဒီ အမြန်နှုန်းကို ထိန်းထားဖို့ throttle (အင်ဂျင်ကို ပေးတဲ့ အား ထိန်းတဲ့ အစိတ်အပိုင်း) ကို ညှိပါတယ်။ ကားက တောင်တက်လမ်း တက်ရင်း အရှိန် ကျလာရင် controller က throttle ကို တိုးပါတယ်၊ တောင်ဆင်းလမ်း ဆင်းရင်း အရှိန် မြန်လာရင် controller က throttle ကို လျှော့ပါတယ်။
Closed-Loop စနစ်ရဲ့ Feedback ပုံ
flowchart LR
SP([Setpoint]) --> CMP[Comparator]
CMP --> CTRL[Controller]
CTRL --> ACT[Actuator]
ACT --> PROC[Process]
PROC --> OUT([Output])
PROC -.->|measured by| SNS[Sensor]
SNS -.->|feedback| CMP
classDef io fill:#fff,stroke:#888,stroke-dasharray:3 3,color:#333
class SP,OUT io
ပုံထဲက စာတွေရဲ့ အဓိပ္ပာယ်: Setpoint (လိုချင်တဲ့ တန်ဖိုး)၊ Comparator (နှိုင်းယှဉ်ပေးတဲ့ အစိတ်အပိုင်း)၊ Process (ထိန်းချုပ်ခံရတဲ့ လုပ်ငန်းစဉ်)၊ Output (ရလဒ်)၊ measured by (… က တိုင်းတယ်)၊ feedback (တိုင်းထားတဲ့ တန်ဖိုးကို ပြန်ပို့ခြင်း)။
Comparator (နှိုင်းယှဉ်ပေးတဲ့ အစိတ်အပိုင်း) က error = setpoint - actual output (တကယ့် output) ကို တွက်ပါတယ်။ ပြီးတော့ controller က ဘာလုပ်ရမလဲ ဆုံးဖြတ်ဖို့ ဒီ error တန်ဖိုးကို သုံးပါတယ်။ ဒီ feedback loop (output ကို တိုင်းပြီး အလိုအလျောက် ညှိခြင်း) က အဆက်မပြတ် run ပါတယ်: sensor က output ကို တိုင်းတယ်၊ controller က အဲဒါကို ကြိုတင် သတ်မှတ် သိမ်းထားတဲ့ တန်ဖိုးနဲ့ နှိုင်းယှဉ်တယ်၊ လိုအပ်တဲ့ ညှိမှုကို တွက်တယ်၊ actuator ဆီ signal ပို့တယ်၊ ပြီးတော့ ဒီ စက်ဝန်းကို အဆုံးမရှိ ထပ်ခါထပ်ခါ လုပ်ပါတယ်။ ဒီ loop က အဆက်မပြတ် ဖြစ်နေတာကြောင့် closed-loop system တွေက ကိုယ့်ဘာသာ ပြင်ညှိနိုင်တာပါ။
နှိုင်းယှဉ်ချက် ဇယား
| ထူးခြားချက် | Open-Loop | Closed-Loop |
|---|---|---|
| Feedback | မပါ | ပါ |
| ကိုယ့်ဘာသာ ပြင်ညှိနိုင်မှု | မရ | ရ |
| ရှုပ်ထွေးမှု | ရိုးရှင်း | ပိုရှုပ်ထွေး |
| ကုန်ကျစရိတ် | ပိုနည်း | ပိုများ |
| တိကျမှု | ပိုနည်း (error ကို မပြင်နိုင်) | ပိုမြင့် (feedback ပေါ် မူတည်ပြီး ညှိ) |
| ယုံကြည်စိတ်ချရမှု | ပိုနည်း (disturbance တွေကို မတုံ့ပြန်နိုင်) | ပိုများ (အပြောင်းအလဲတွေနဲ့ လိုက်ညှိ) |
| Disturbance ကို တုံ့ပြန်ပုံ | မတုံ့ပြန် | အလိုအလျောက် ညှိ |
| ဥပမာ | Toaster၊ အဝတ်လျှော်စက် | Thermostat၊ cruise control |
အဖြစ်များတဲ့ အမှားက open-loop နဲ့ closed-loop ကို ရောထွေးတာပါ။ အဓိက ခွဲခြားချက်က feedback ပါ: စနစ်က ကိုယ့် output ကို ကိုယ် တိုင်းပြီး ညှိရင် closed-loop ပါ။ ကိုယ့် output ကို မစစ်ဘဲ လုပ်ဆောင်ရင် open-loop ပါ။
လက်တွေ့ အသုံးချပုံများ (A1.3.7)
အောက်က application တစ်ခုစီအတွက် control system ကို ဘယ်လို သုံးလဲ ဖော်ပြနိုင်ရပါမယ်၊ ပြီးတော့ sensor တွေ၊ controller၊ actuator တွေနဲ့ open-loop လား closed-loop လား ဆိုတာကို ခွဲခြား ဖော်ထုတ်နိုင်ရပါမယ်။
1. စမတ် Thermostat (Closed-Loop)
- Sensors: temperature sensor (အခန်း အပူချိန်ကို တိုင်းပါတယ်)
- Controller: microprocessor (တကယ့် အပူချိန်ကို setpoint နဲ့ နှိုင်းယှဉ်ပါတယ်)
- Actuators: heater (အရမ်း အေးရင် ပွင့်ပါတယ်)၊ air conditioning (လေအေးပေးစက်၊ အရမ်း ပူရင် ပွင့်ပါတယ်)
- Feedback: temperature sensor က လက်ရှိ အခန်း အပူချိန်ကို အဆက်မပြတ် ပြန်ပို့ပေးပါတယ်
- စနစ်က heater/AC ကို ဖွင့်လိုက် ပိတ်လိုက် လုပ်ပြီး အပူချိန်ကို တည်ငြိမ်အောင် ထိန်းထားပါတယ်
2. Autonomous Vehicle (ကိုယ့်ဘာသာ မောင်းတဲ့ ယာဉ်၊ Closed-Loop)
- Sensors: LIDAR (laser နဲ့ အကွာအဝေးတွေကို တိုင်းပြီး မြေပုံ ဆွဲခြင်း)၊ ကင်မရာများ (လမ်းကြောင်း မျဉ်းတွေကို သိရှိခြင်း၊ အရာဝတ္ထုတွေကို မှတ်မိခြင်း)၊ GPS (တည်နေရာ)၊ accelerometer (အမြန်နှုန်း/ဦးတည်ရာ)၊ ultrasonic sensor များ (ကားရပ်ခြင်း)
- Controller: AI (ဉာဏ်ရည်တု) algorithm တွေ run နေတဲ့ ယာဉ်ပေါ်က ကွန်ပျူတာ
- Actuators: steering motor (စတီယာရင် လှည့်တဲ့ motor)၊ ဘရိတ်၊ throttle၊ အချက်ပြ မီးများ
- Feedback: sensor အားလုံးက ဒေတာကို controller ဆီ အဆက်မပြတ် ပြန်ပို့ပေးပြီး controller က real-time (ချက်ချင်း ဆက်တိုက်) မောင်းနှင်ရေး ဆုံးဖြတ်ချက်တွေ ချပါတယ်
3. အဝတ်လျှော်စက် (Open-Loop)
- Input: user က လှည့်ခလုတ် ဒါမှမဟုတ် နှိပ်ခလုတ်တွေနဲ့ ရွေးတဲ့ program ပါ။ ဒီခလုတ်တွေက input device (ဒေတာ ထည့်သွင်းတဲ့ ကိရိယာ) ပါ၊ sensor မဟုတ်ပါဘူး
- Sensors: ရလဒ် (အဝတ်တွေ ဘယ်လောက် သန့်လဲ) ကို တိုင်းတဲ့ sensor မရှိပါဘူး၊ ရေကို အပူပေးဖို့ အတွင်းပိုင်း temperature sensor တစ်ခုတော့ ရှိနိုင်ပါတယ်
- Controller: timer (အချိန်မှတ် ကိရိယာ)/microcontroller (ပုံသေ program အစီအစဉ်ကို လိုက်ပါတယ်)
- Actuators: ရေဝင် valve၊ ရေထုတ် valve၊ motor (drum ကို လှည့်ခြင်း)၊ heater
- Feedback: မရှိပါ။ အဝတ် ဘယ်လောက် သန့်လဲ မကြည့်ဘဲ စက်က စက်ဝန်း တစ်ခုတည်းကို လိုက်ပါတယ်
- မှတ်ချက်: ခေတ်သစ် စက်တချို့က ရေဆေးတဲ့ အဆင့်တွေကို ညှိဖို့ turbidity sensor (ရေ ကြည်လင်မှုကို တိုင်းတဲ့ sensor) ကို သုံးနိုင်ပါတယ်: ဒါကြောင့် သူတို့က တစ်စိတ်တစ်ပိုင်း closed-loop ဖြစ်လာပါတယ်
4. မီးပွိုင့် စနစ် (နှစ်မျိုးလုံး ဖြစ်နိုင်)
လမ်းဆုံ တစ်ခုတည်းကို နည်းလမ်း နှစ်မျိုးနဲ့ run နိုင်ပါတယ်။ ဘယ်အမျိုးအစား ဖြစ်မလဲ ဆုံးဖြတ်တာက ယာဉ်ကြောကို တစ်ခုခုက တိုင်းသလား ဆိုတာပါ။
ပုံသေ အချိန်နဲ့ ပြောင်းတဲ့ မီးပွိုင့် (open-loop):
- Controller က သိမ်းထားတဲ့ အချိန်ဇယား တစ်ခုကို လိုက်ပါတယ်: အရောင် တစ်ခုစီက သတ်မှတ် အချိန် တစ်ခုအထိ လင်းနေပြီး ပြီးရင် နောက်တစ်ရောင် လင်းလာပါတယ်
- ယာဉ် ဒါမှမဟုတ် လူ ဘယ်လောက် စောင့်နေလဲ ဘာကမှ သတင်းမပို့လို့ တခြား လမ်းတစ်ဖက်မှာ ယာဉ်တန်း ရှည်လာနေချိန်မှာ လမ်းလွတ် တစ်ခုအတွက် မီးစိမ်း ဆက်လင်းနေနိုင်ပါတယ်
- သူ့ အချိန်တွေကို ပုံမှန် ယာဉ်ကြောကို ကြည့်ပြီး ကြိုတင် တွက်ထားတာ ဖြစ်လို့ ယာဉ်တိုက်မှု၊ လူစည်ကားတဲ့ ပွဲ ဒါမှမဟုတ် ညဘက် လမ်းလွတ်တွေကို မတုံ့ပြန်ပါဘူး
Sensor နဲ့ အလုပ်လုပ်တဲ့ မီးပွိုင့် (closed-loop):
- Sensor တွေက တကယ် စောင့်နေတာကို သတင်းပို့ပါတယ်: လမ်းမျက်နှာပြင် အောက်က inductive loop တွေက ယာဉ်ရဲ့ သတ္တုကို သိရှိပါတယ်၊ ကင်မရာတွေက ယာဉ်တန်းတွေကို တိုင်းပါတယ်၊ နှိပ်ခလုတ် (push button) တွေက လမ်းကူးချင်တဲ့ လူတွေကို မှတ်ပါတယ်
- Controller က နောက်ထပ် ဘယ်ဘက်ကို သွားခွင့်ပေးမလဲ၊ အဲဒီဘက်ရဲ့ မီးစိမ်း ဘယ်လောက် ကြာမလဲ ဆုံးဖြတ်ဖို့ ဒီ reading တွေကို သုံးပါတယ်၊ အတိုဆုံးနဲ့ အရှည်ဆုံး မီးစိမ်း အချိန်လို ပုံသေ လုံခြုံရေး ကန့်သတ်ချက်တွေ အတွင်းမှာပဲ ဆုံးဖြတ်ပါတယ်
- မီးတွေ ပြောင်းတာက ယာဉ်ကြောကို ပြောင်းစေပါတယ်: မီးစိမ်း ရတဲ့ ဘက်မှာ ယာဉ်တန်းတွေ တိုလာပြီး တခြားဘက်တွေမှာ ရှည်လာပါတယ်။ Sensor တွေက အခြေအနေ အသစ်ကို တိုင်းပြီး controller က ထပ်ညှိပါတယ်၊ ဒါက feedback loop ပါ
စနစ်ရဲ့ pipeline (sensor နဲ့ အလုပ်လုပ်တဲ့ ပုံစံ):
- Sensors: inductive loop တွေ၊ ကင်မရာတွေနဲ့ နှိပ်ခလုတ်တွေ
- ADC က analog sensor signal တွေကို digital တန်ဖိုးတွေ အဖြစ် ပြောင်းပေးပါတယ်
- Controller (microprocessor): reading တွေကို သူ့ စည်းမျဉ်းတွေနဲ့ နှိုင်းယှဉ်ပြီး နောက်ထပ် အပြောင်းအလဲနဲ့ အဲဒီ အပြောင်းအလဲရဲ့ အချိန်ကို တွက်ပါတယ်
- DAC: actuator က analog signal လိုအပ်တဲ့ နေရာမှာ သုံးပါတယ်၊ ဖွင့်/ပိတ်ပဲ လုပ်ရတဲ့ မီးလုံးတွေကိုတော့ controller ရဲ့ digital output ကနေ relay တွေ ဖြတ်ပြီး တိုက်ရိုက် မောင်းနိုင်ပါတယ်
- Actuators: ဘက် တစ်ဖက်စီအတွက် အနီ၊ အဝါ (amber) နဲ့ အစိမ်း မီးလုံးတွေ၊ လမ်းကူးတဲ့ လူတွေအတွက် အချက်ပြ မီးတွေနဲ့ လမ်းကူးရမယ့် အချိန်ကို အသိပေးတဲ့ အသံ (ရှိရင်)
5. အလိုအလျောက် တံခါးများ (Closed-Loop)
အလိုအလျောက် တံခါး စနစ် တစ်ခုရဲ့ အဆင့်ဆင့် စီးဆင်းပုံ:
- Optical/motion sensor တွေ (ဒါမှမဟုတ် လက်နဲ့ နှိပ်တဲ့ ခလုတ်) က နီးကပ်လာတဲ့ လူကို သိရှိပါတယ်
- Analog signal တွေကို ADC ဆီ ပို့ပြီး ADC က အဲဒါတွေကို digital signal တွေ အဖြစ် ပြောင်းပေးပါတယ်
- Digital signal တွေကို microcontroller ဆီ ပို့ပါတယ်
- Microcontroller ထဲက control system က input ကို လက်ခံ၊ စီမံပြီး ကြိုတင် သတ်မှတ်ထားတဲ့ threshold (ဆုံးဖြတ်ဖို့ သတ်မှတ်ထားတဲ့ နယ်နိမိတ် တန်ဖိုး) နဲ့ နှိုင်းယှဉ်ပါတယ်
- တန်ဖိုးက threshold ကို ကျော်ရင် output အဖြစ် command (အမိန့်) တစ်ခု ထုတ်ပေးပါတယ်
- DAC က controller ရဲ့ output ကို analog signal အဖြစ် ပြောင်းပြီး actuator တွေဆီ ပို့ပါတယ်
- Actuator တွေ (လျှပ်စစ် motor များ) က တံခါးကို ဖွင့်/ပိတ် ဖို့ ရုပ်ပိုင်းဆိုင်ရာ လှုပ်ရှားမှုကို ထုတ်ပေးပါတယ်
- Sensors: motion sensor ဒါမှမဟုတ် pressure mat (နင်းရင် သိတဲ့ ဖိအား ဖျာ) (နီးကပ်လာတဲ့ လူကို သိရှိ)၊ တံခါးပေါက်မှာ တပ်ထားတဲ့ safety sensor (လုံခြုံရေး sensor) တစ်ခုနဲ့ door-position sensor (တံခါး ဘယ်နေရာ ရောက်နေလဲ သိတဲ့ sensor)
- Controller: microprocessor (လူ ရှိတာ သိရင် တံခါးကို ဖွင့်ပြီး ခဏကြာရင် ပိတ်ပါတယ်)
- Actuators: လျှပ်စစ် motor (pulley (ကြိုးဘီး) စနစ်နဲ့ တံခါးကို ဖွင့်/ပိတ် လုပ်ပါတယ်)
- Feedback: controller က ကိုယ့်လုပ်ဆောင်ချက်ရဲ့ ရလဒ်ကို ဆက်တိုင်းနေပါတယ်။ Position sensor (ဒါမှမဟုတ် motor ရဲ့ current (လျှပ်စီးကြောင်း)) က တံခါး အပြည့် ပွင့်သွားပြီလား၊ ပိတ်သွားပြီလား ပြောပေးလို့ motor ရပ်ပါတယ်၊ ပြီးတော့ လမ်းမှာ လူ ရှိနေသေးရင် safety sensor က တံခါးကို ရပ်စေတာ ဒါမှမဟုတ် ပြန်ပွင့်စေတာ လုပ်ပါတယ်။ Loop က တံခါးပေါက် ကိုယ်တိုင်ကိုလည်း ဖြတ်ပြီး ပတ်ပါတယ်: တံခါး ပွင့်တယ်၊ လူ ဖြတ်လျှောက်သွားတယ်၊ sensor ရှေ့မှာ ဘာမှ မရှိတော့ဘူး၊ တံခါး ပိတ်တယ်
6. လုံခြုံရေး Alarm စနစ် (Open-Loop၊ Sensor က စတင် နှိုးပေးတဲ့ စနစ်)
- Sensors: PIR motion sensor တွေ၊ တံခါး/ပြတင်းပေါက် contact sensor (ပွင့်သွားရင် သိတဲ့ sensor) တွေ၊ မှန်ကွဲတာကို သိတဲ့ sensor တွေ
- Controller: alarm control panel (alarm ထိန်းချုပ်ခုံ၊ sensor zone (sensor တစ်ခုစီ စောင့်ကြည့်တဲ့ ဧရိယာ) အားလုံးကို စောင့်ကြည့်ပါတယ်)
- Actuators: siren/speaker၊ strobe light (တဖျတ်ဖျတ် လင်းတဲ့ မီး)၊ စောင့်ကြည့်ရေး ဌာနဆီ ပို့တဲ့ အသိပေးချက် (network (ကွန်ရက်) ကနေ)
- Feedback: မရှိပါ။ Sensor တွေက ကျူးကျော် ဝင်ရောက်မှု (input) ကို သိရှိပြီး controller က alarm ကို မြည်စေပါတယ်၊ ဒါပေမယ့် siren ရဲ့ အကျိုးသက်ရောက်မှုကို တိုင်းပြီး ညှိတာ ဘာမှ မရှိပါဘူး
အလိုအလျောက် တံခါးတွေနဲ့ alarm တွေ နှစ်ခုလုံးက sensor တွေကို အမြဲ သုံးပေမယ့် တစ်ခုပဲ closed-loop ဖြစ်ပါတယ်။ ဆုံးဖြတ်ပေးမယ့် မေးခွန်းကို မေးပါ: စနစ်ရဲ့ ကိုယ်ပိုင် output ကို တိုင်းပြီး ပြင်ညှိသလား။ တံခါးရဲ့ လှုပ်ရှားမှုကို တိုင်းပါတယ်: မှန်တဲ့ နေရာမှာ ရပ်ပြီး တစ်ခုခုက ပိတ်ဆို့ထားရင် ပြန်ပွင့်ပါတယ်၊ ဒါကြောင့် closed-loop ပါ။ Alarm ရဲ့ siren အကျိုးသက်ရောက်မှုကိုတော့ ဘာကမှ မတိုင်းလို့ sensor ဘယ်လောက်ပဲ များများ alarm က open-loop ပါ။ စနစ် တစ်ခုကို အမျိုးအစား ခွဲတဲ့အခါ အဓိပ္ပာယ် (definition) ကို အရင် ဖော်ပြပြီး အဲဒါကို အဲဒီ စနစ်ပေါ်မှာ အသုံးချပါ။
7. ဖန်လုံအိမ် ရေပေးစနစ် (Closed-Loop)
- Sensors: soil moisture sensor (မြေကြီးထဲက စိုထိုင်းဆ sensor)၊ temperature sensor၊ humidity sensor (လေထဲက စိုထိုင်းဆ sensor)၊ light sensor (အလင်း sensor)
- Controller: microprocessor (မြေ စိုထိုင်းဆကို threshold နဲ့ နှိုင်းယှဉ်ပါတယ်)
- Actuators: ရေ valve များ (ရေပေးဖို့ ပွင့်ပြီး စိုထိုင်းဆ လုံလောက်ရင် ပိတ်ပါတယ်)၊ လေဝင်လေထွက် ပန်ကာများ၊ heater များ
- Feedback: soil moisture sensor က မြေထဲက ရေ ပမာဏကို အဆက်မပြတ် တိုင်းပါတယ်၊ threshold ရောက်ရင် ရေပေးတာ ရပ်ပါတယ်
8. ဓာတ်လှေကား Controller (Closed-Loop)
- Sensors: ထပ် အနေအထား sensor များ (floor position sensor)၊ အလေးချိန် sensor (ဝန် ပိုနေတာကို သိရှိခြင်း)၊ ခေါ်တဲ့ ခလုတ်များ (ထပ်တိုင်းမှာ)၊ တံခါး ပိတ်ဆို့မှု sensor
- Controller: ဓာတ်လှေကား ထိန်းချုပ်ရေး ယူနစ် (ခေါ်ထားတဲ့ တောင်းဆိုချက်တွေနဲ့ လက်ရှိ နေရာကို ကြည့်ပြီး ခရီးစဉ်ကို အကောင်းဆုံး ဖြစ်အောင် စီစဉ်ပါတယ်)
- Actuators: motor (ဓာတ်လှေကား အခန်းကို အပေါ်/အောက် ရွှေ့ပါတယ်)၊ တံခါး motor (တံခါးတွေကို ဖွင့်/ပိတ်)၊ display (ထပ် နံပါတ်ကို ပြပါတယ်)
- Feedback: position sensor တွေက လက်ရှိ ထပ်ကို သတင်းပို့ပါတယ်၊ controller က motor ရဲ့ ဦးတည်ရာနဲ့ ရပ်ရမယ့် နေရာကို ညှိပါတယ်
စာမေးပွဲမှာ လက်တွေ့ control system တစ်ခုကို ဖော်ပြတဲ့အခါ သင့်အဖြေကို အစိတ်အပိုင်း လေးခုပေါ် အခြေခံပြီး အမြဲ စီစဉ်ပါ: sensor (ဘာကို တိုင်းလဲ)၊ controller (ဘာကို ဆုံးဖြတ်လဲ)၊ actuator (ဘယ်လို ရုပ်ပိုင်းဆိုင်ရာ လုပ်ဆောင်ချက် လုပ်လဲ) နဲ့ feedback (output ကို တိုင်းသလား၊ ဘယ်လို တိုင်းလဲ)။
စက်ရုပ်တွေက sensor၊ actuator နဲ့ control system တွေကို သုံးပြီး ရုပ်ပိုင်းဆိုင်ရာ ကမ္ဘာနဲ့ ဘယ်လို ထိတွေ့ ဆက်ဆံလဲ ဆိုတာ ပြပါတယ်။
ထပ်ဆောင်း လေ့လာစရာ: Embedded Systems (စက်ထဲ ထည့်ထားတဲ့ ကွန်ပျူတာငယ်များ)
ဒီအပိုင်းက နောက်ခံ အကြောင်းအရာ ထပ်ဖြည့်ပေးတာပါ။ Embedded system တွေကို A1.3.4 (polling (စက်တွေကို အလှည့်ကျ စစ်ကြည့်ခြင်း) နဲ့ interrupt (CPU ကို ခဏ ရပ်ခိုင်းတဲ့ signal) များ) မှာ လက်တွေ့ အခြေအနေ တစ်ခုအဖြစ် ဖော်ပြထားပေမယ့် သီးသန့် အကဲဖြတ် စစ်ဆေးတဲ့ ခေါင်းစဉ် မဟုတ်ပါဘူး။
Embedded system ဆိုတာ သတ်မှတ်ထားတဲ့ အလုပ် တစ်ခုတည်းကို လုပ်ဖို့ ပိုကြီးတဲ့ စက်ပစ္စည်း တစ်ခုထဲမှာ ထည့်တည်ဆောက်ထားတဲ့ microprocessor ပါ။ ဘယ် software ကိုမဆို run နိုင်တဲ့ general-purpose computer (အလုပ်မျိုးစုံ လုပ်နိုင်တဲ့ ကွန်ပျူတာ) နဲ့ မတူဘဲ embedded system ကို ပုံသေ လုပ်ဆောင်ချက် တစ်ခုအတွက်ပဲ ဒီဇိုင်းဆွဲထားပြီး user နဲ့ အပြန်အလှန် ဆက်သွယ်မှု အနည်းငယ်နဲ့ ဒါမှမဟုတ် လုံးဝ မရှိဘဲ အလုပ်လုပ်ပါတယ်။
အဓိက လက္ခဏာများ:
- ပုံသေ လုပ်ဆောင်ချက်: သတ်မှတ်ထားတဲ့ အလုပ် တစ်ခုကို လုပ်ဖို့ program လုပ်ထားပါတယ် (general-purpose computer မဟုတ်ပါဘူး)
- ပိုကြီးတဲ့ စနစ်ထဲမှာ ထည့်ထားတယ်: အထဲမှာ processor ရှိနေတာကို user က သတိတောင် မထားမိနိုင်ပါဘူး
- အဆက်မပြတ် run တယ်: user ဝင်စွက်ဖက်စရာ မလိုဘဲ 24/7 အလုပ်လုပ်လေ့ ရှိပါတယ်
- Real-time response (အချိန်မီ ချက်ချင်း တုံ့ပြန်မှု): embedded system အများအပြားက တင်းကျပ်တဲ့ အချိန် ကန့်သတ်ချက်တွေ အတွင်း တုံ့ပြန်ရပါတယ်
Embedded system ဥပမာတွေမှာ အိမ်သုံး ပစ္စည်းများ (အဝတ်လျှော်စက်၊ microwave မီးဖို)၊ ကားစနစ်များ (engine management (အင်ဂျင် ထိန်းချုပ်မှု စနစ်)၊ airbag controller များ)၊ ဆေးဘက်ဆိုင်ရာ ကိရိယာများ (pacemaker (နှလုံးခုန်နှုန်း ထိန်းကိရိယာ)၊ insulin pump (insulin ဆေးကို အလိုအလျောက် သွင်းပေးတဲ့ pump)) နဲ့ smart home ကိရိယာများ (thermostat၊ လုံခြုံရေး ကင်မရာ) ပါဝင်ပါတယ်။ ဒီစာမျက်နှာမှာ ဖော်ပြထားတဲ့ control system အများစုက embedded microprocessor တွေကို controller အဖြစ် သုံးပါတယ်။
ထပ်ဆောင်း လေ့လာစရာ: Centralized နဲ့ Distributed Control (ဗဟိုကနေ ထိန်းချုပ်ခြင်းနဲ့ နေရာအလိုက် ခွဲပြီး ထိန်းချုပ်ခြင်း)
ဒီအပိုင်းက IB syllabus (IB သင်ရိုး) ထက် ကျော်လွန်တာကြောင့် အကဲဖြတ် စစ်ဆေးခြင်း မရှိပါဘူး။ Control system တွေကို အကြီးစား ဘယ်လို ဒီဇိုင်းဆွဲလဲ ပြပေးပါတယ်။
အစိတ်အပိုင်း အများကြီးပါတဲ့ control system တစ်ခုကို ဒီဇိုင်းဆွဲတဲ့အခါ အဓိက ဆုံးဖြတ်ချက် တစ်ခုက centralized (ဗဟိုက controller တစ်ခုတည်းက ထိန်းတဲ့) control ကို သုံးမလား၊ distributed (နေရာအလိုက် controller အများက ခွဲထိန်းတဲ့) control ကို သုံးမလား ဆိုတာပါ။
အဆောက်အအုံ ခြောက်လုံး ရှိပြီး တစ်လုံးချင်းစီမှာ ကိုယ်ပိုင် heater တွေ၊ မီးတွေနဲ့ sensor တွေ ရှိတဲ့ ကျောင်း တစ်ကျောင်းကို စိတ်ကူးကြည့်ပါ။
- Centralized control: controller တစ်ခုတည်း (ဥပမာ ကျောင်းရုံးခန်းထဲက ကွန်ပျူတာ တစ်လုံး) က အဆောက်အအုံ ခြောက်လုံးလုံးက sensor reading တွေကို လက်ခံပြီး heater နဲ့ မီး အားလုံးဆီ command တွေ ပို့ပါတယ်။
- Distributed control: အဆောက်အအုံ တစ်လုံးချင်းမှာ ကိုယ်ပိုင် controller ရှိပြီး အဲဒီ controller က အဲဒီ အဆောက်အအုံရဲ့ sensor တွေကို ဖတ်ကာ heater တွေ၊ မီးတွေကို မောင်းပါတယ်။ Controller ခြောက်ခုက ကျောင်း network ပေါ်ကနေ message တွေ အပြန်အလှန် ပို့နိုင်ပြီး တစ်ခုချင်းက ကျန်တာတွေ မပါဘဲ ဆက် run နိုင်ပါတယ်။
| မေးရမယ့် မေးခွန်း | Centralized (ကျောင်း တစ်ခုလုံးအတွက် controller တစ်ခု) | Distributed (အဆောက်အအုံ တစ်လုံးကို controller တစ်ခု) |
|---|---|---|
| Controller တစ်ခု ပျက်သွားရင် ဘာဖြစ်မလဲ။ | ဗဟို controller က single point of failure (အဲဒါ တစ်ခု ပျက်တာနဲ့ စနစ် တစ်ခုလုံး ရပ်သွားစေတဲ့ နေရာ) ပါ: မပြင်ရသေးသမျှ အဆောက်အအုံ အားလုံးမှာ heater နဲ့ မီး ထိန်းချုပ်မှု ဆုံးရှုံးပါတယ် | Controller ပျက်တဲ့ အဆောက်အအုံပဲ ထိခိုက်ပါတယ်၊ ကျန်တဲ့ ငါးလုံးက ဆက်အလုပ်လုပ်ပါတယ် |
| Network ချိတ်ဆက်မှု ပြတ်သွားရင် ဘာဖြစ်မလဲ။ | ဆုံးဖြတ်ချက်တွေကို ရုံးခန်းမှာ ချတာကြောင့် ရုံးခန်းနဲ့ အဆက်အသွယ် ပြတ်သွားတဲ့ အဆောက်အအုံက command တစ်ခုမှ မရပါဘူး | အဆောက်အအုံ တစ်လုံးချင်းက ကိုယ်ပိုင် reading တွေနဲ့ ဆက်အလုပ်လုပ်ပါတယ်၊ အဆောက်အအုံတွေကြား မျှဝေတာပဲ ရပ်သွားပါတယ် |
| အဆောက်အအုံ တစ်လုံးက ဘယ်လောက် မြန်မြန် တုံ့ပြန်လဲ။ | Reading တစ်ခုစီက ရုံးခန်းဆီ သွားရပြီး command တစ်ခုစီက ပြန်လာရပါတယ်၊ ပြီးတော့ controller တစ်ခုတည်းက အဆောက်အအုံ ခြောက်လုံးစာ အလုပ်ကို လုပ်ရပါတယ် | ဆုံးဖြတ်ချက်ကို အဆောက်အအုံ ထဲမှာပဲ၊ သူ့ sensor တွေနဲ့ actuator တွေ အနီးမှာ ချပါတယ် |
| အဆောက်အအုံတွေ အတူတကွ ပူးပေါင်း လုပ်ဆောင်နိုင်သလား။ | လွယ်ပါတယ်: controller တစ်ခုက reading အားလုံးကို မြင်လို့ ဥပမာ ကျောင်းရဲ့ လျှပ်စစ် ပါဝါကို ရုတ်တရက် အများကြီး မလိုအောင် heater တွေကို အဆောက်အအုံ တစ်လုံးပြီး တစ်လုံး ဖွင့်နိုင်ပါတယ် | ပိုခက်ပါတယ်: သဘောတူညီဖို့ controller တွေက message တွေ အပြန်အလှန် ပို့ရပါတယ်၊ ပြီးတော့ မတူတဲ့ အချက်အလက်တွေပေါ် မူတည်ပြီး လုပ်ဆောင်တဲ့ controller နှစ်ခုက ဆန့်ကျင်ဘက် ဆုံးဖြတ်ချက်တွေ ချမိနိုင်ပါတယ် |
| Control program ကို ဘယ်လို update လုပ်လဲ။ | တစ်ကြိမ်တည်း၊ နေရာ တစ်ခုတည်းမှာ | Controller တိုင်းမှာ လုပ်ရပြီး version တွေက အချင်းချင်း ဆက်အလုပ်လုပ်နိုင်ရပါမယ် |
| မှတ်တမ်းတွေကို ဘယ်မှာ သိမ်းလဲ။ | Reading တိုင်းက controller တစ်ခုကို ဖြတ်သွားပြီးသား ဖြစ်လို့ log (ဖြစ်ခဲ့တာတွေကို အစဉ်လိုက် မှတ်ထားတဲ့ မှတ်တမ်း) သိမ်းတာ လွယ်ပါတယ် | Controller တစ်ခုချင်းက ကိုယ်ပိုင် မှတ်တမ်း သိမ်းပါတယ်၊ ကျောင်း တစ်ခုလုံးကို မြင်ဖို့ အဲဒါတွေကို စုယူရပါတယ် |
| ကျောင်းက အဆောက်အအုံ အသစ် ထပ်ထည့်ရင် ဘာဖြစ်မလဲ။ | ဗဟို controller က အလုပ် ပိုလုပ်ရပြီး upgrade လုပ်ဖို့ လိုနိုင်ပါတယ် | အဆောက်အအုံ အသစ်က ကိုယ်ပိုင် controller ရပြီး ရှိပြီးသား controller တွေကို နည်းနည်းပဲ ပြင်ရတာ ဒါမှမဟုတ် လုံးဝ မပြင်ရတာ ဖြစ်ပါတယ် |
| တိုက်ခိုက်မှု (attack) ကို ဘယ်လောက် ခံရနိုင်လဲ။ | ကာကွယ်ရမယ့် controller တစ်ခုတည်း ရှိပေမယ့် အဲဒါကို သိမ်းယူသူက အဆောက်အအုံ အားလုံးကို ထိန်းချုပ်နိုင်ပါတယ် | ကာကွယ်ရမယ့် controller ပိုများပြီး တစ်ခုကို သိမ်းယူရင် အဲဒီ အဆောက်အအုံ တစ်လုံးကိုပဲ တိုက်ရိုက် ထိန်းချုပ်နိုင်ပါတယ်၊ ဒါပေမယ့် တိုက်ခိုက်သူက ကျန်တာတွေဆီ ရောက်ဖို့ ကျောင်း network ကို သုံးနိုင်ပါသေးတယ် |
ဒီဇိုင်း နှစ်ခုကို evaluate (အားသာချက်နဲ့ အားနည်းချက်တွေကို ချိန်ဆပြီး အကဲဖြတ်) လုပ်ဖို့ row တစ်ကြောင်းချင်းကို ပေးထားတဲ့ အခြေအနေနဲ့ ချိန်ဆကြည့်ပါ။ အစိတ်အပိုင်း တစ်ခု ပျက်တာ ဒါမှမဟုတ် network ပြတ်တာ ဖြစ်ရင်တောင် ဆက်အလုပ်လုပ်ရမယ့် စနစ်အတွက် distributed control က သင့်တော်ပါတယ်။ အစိတ်အပိုင်းတွေက နီးနီးကပ်ကပ် ပူးပေါင်း လုပ်ဆောင်ရပြီး နေရာ တစ်ခုကနေ စီမံရမယ့် စနစ်အတွက် centralized control က သင့်တော်ပါတယ်။ Trade-off (တစ်ခု ရဖို့ တစ်ခု အလျှော့ပေးရတာ) ကို အမည်တပ်ပြီး အဲဒီ အခြေအနေမှာ ဘယ်ဘက်က ပိုအရေးကြီးလဲ၊ ဘာကြောင့်လဲ ဆိုတာ ပြောပါ။
ရှုပ်ထွေးတဲ့ Control System များနဲ့ Autonomous Agents (ကိုယ့်ဘာသာ ဆုံးဖြတ်ပြီး လုပ်ဆောင်တဲ့ agent များ) (A1.3.7)
ရှုပ်ထွေးတဲ့ control system တွေက ရိုးရိုး sensor-controller-actuator loop တွေထက် ပိုပါတယ်။ သူတို့က ကွန်ပျူတာပေါ်မှာ run နေတဲ့ algorithm တွေနဲ့ program တွေကို sensor တွေ၊ effector (actuator) တွေနဲ့ ပေါင်းသုံးပြီး ပတ်ဝန်းကျင်ကို စောင့်ကြည့် (observe) ကာ လုပ်ဆောင်ချက် (action) တွေ လုပ်ပါတယ်: ဒါက အဆက်မပြတ် အပြန်အလှန် ဆက်သွယ်နေတဲ့ loop တစ်ခုကို ဖြစ်စေပါတယ်။
flowchart LR
AGT["<b>Computer & Program</b><br/>algorithms +<br/>sensors & effectors"]
ENV["<b>Environment</b>"]
AGT -->|action| ENV
ENV -->|observation| AGT
ပုံထဲက စာတွေရဲ့ အဓိပ္ပာယ်: Computer & Program (ကွန်ပျူတာနဲ့ program)၊ algorithms + sensors & effectors (algorithm တွေ + sensor တွေနဲ့ effector တွေ)၊ Environment (ပတ်ဝန်းကျင်)၊ action (လုပ်ဆောင်ချက်)၊ observation (စောင့်ကြည့်ပြီး သိရှိချက်)။
ရှုပ်ထွေးတဲ့ control system ဥပမာတွေမှာ စက်ရုပ် ဖုန်စုပ်စက် (အတားအဆီးတွေကို သိရှိပြီး အခန်းတွေရဲ့ မြေပုံ ဆွဲ)၊ ကိုယ့်ဘာသာ ပျံတဲ့ drone (ပျံသန်းလမ်းကြောင်းတွေမှာ လမ်းရှာ ပျံသန်း) နဲ့ စစ်တုရင် ကစားတဲ့ စက်ရုပ် (ကစားခုံ အခြေအနေကို ကြည့်ပြီး ရွှေ့ကွက်တွေကို တွက်) ပါဝင်ပါတယ်။
Agents (ပတ်ဝန်းကျင်ကို သိရှိပြီး လုပ်ဆောင်တဲ့ အရာများ)
Agent ဆိုတာ အောက်ပါတို့ကို လုပ်နိုင်တဲ့ အရာ (entity) တစ်ခုပါ:
- ပတ်ဝန်းကျင်ကို sensor တွေကနေ သိရှိ (perceive) နိုင်တယ်
- အဲဒီ ပတ်ဝန်းကျင်ပေါ်မှာ effector (actuator) တွေကနေ လုပ်ဆောင် (act) နိုင်တယ်
- လိုချင်တဲ့ ပန်းတိုင် တစ်ခုကို ရောက်ဖို့ ပိုင်ရှင် (owner) က ပေးထားတဲ့ algorithm တွေကို လိုက်နာတယ်
Autonomous Agents (ကိုယ့်ဘာသာ ဆုံးဖြတ်ပြီး လုပ်ဆောင်တဲ့ agent များ)
Autonomous agent ဆိုတာ ပိုင်ရှင်ရဲ့ ကိုယ်စား autonomy (ကိုယ်ပိုင် ဆုံးဖြတ်ခွင့်) အတိုင်းအတာ တစ်ခုနဲ့၊ ဝင်စွက်မှု အနည်းဆုံးကနေ လုံးဝ မရှိတဲ့အထိ လုပ်ဆောင်တဲ့ ပိုအဆင့်မြင့်တဲ့ agent တစ်ခုပါ:
- သူတို့က sensor တွေကနေ ရရှိတဲ့ ကိုယ်ပိုင် “အတွေ့အကြုံ” တွေပေါ် မူတည်တဲ့ လုပ်ဆောင်ချက်တွေကို လုပ်ပါတယ်
- အခြေအနေ မတူရင် ကြိုတင် program လုပ်ထားတဲ့ လုပ်ဆောင်ချက် အစုံ မတူတာတွေကို အသုံးချ (apply) နိုင်ပြီး learning algorithm (ဒေတာနဲ့ အတွေ့အကြုံကနေ သင်ယူတဲ့ algorithm) တွေကနေ ကိုယ်ပိုင် လုပ်ဆောင်ချက် အစုံကိုတောင် တည်ဆောက် (build) နိုင်ပါတယ်
- ရရှိထားတဲ့ အသိပညာအတိုင်း “ကျိုးကြောင်း ဆင်ခြင်” ဖို့ လိုတာကြောင့် artificial intelligence (ဉာဏ်ရည်တု) ကို ပြသပါတယ်
- Knowledge (အသိပညာ) ကို ဘယ်လို ဖော်ပြ သိမ်းဆည်းထားလဲ ဆိုတာက ဒီ agent တွေအတွက် အဓိက အယူအဆ တစ်ခုပါ
Agent အမျိုးအစားများ
| Situated (ပြောင်းလဲနေတဲ့ ပတ်ဝန်းကျင်ကို သိရှိပြီး တုံ့ပြန်တယ်) | Not Situated (ပုံသေ၊ ကြိုတင် စီစဉ်ထားတဲ့ ပတ်ဝန်းကျင်မှာ အလုပ်လုပ်တယ်) | |
|---|---|---|
| Embodied (ရုပ်ပိုင်းဆိုင်ရာ ခန္ဓာကိုယ် ရှိတယ်) | ရွေ့လျားနိုင်တဲ့ စက်ရုပ်များ (ဥပမာ ကုန်လှောင်ရုံ စက်ရုပ်များ) | ရိုးရာ စက်ရုံသုံး စက်ရုပ်များ (ဥပမာ ထုတ်လုပ်ရေး လိုင်းပေါ်က စက်ရုပ်လက်များ) |
| Not Embodied (software သက်သက်) | Softbot (software စက်ရုပ်) များ (ဥပမာ web crawler (website တွေကို အလိုအလျောက် လှည့်ဖတ်တဲ့ program)၊ smart assistant များ) | ကွန်ပျူတာ simulation (တကယ့် ဖြစ်စဉ်ကို ကွန်ပျူတာနဲ့ အတုလုပ်ပြခြင်း) များ (ဥပမာ game NPC (Non-Player Character: ကစားသမား မထိန်းတဲ့ game ဇာတ်ကောင်) များ) |
Autonomous Agent ဥပမာများ
| ဥပမာ | Autonomous Agent | ပိုကြီးတဲ့ စနစ် | Agent ရဲ့ အခန်းကဏ္ဍ |
|---|---|---|---|
| ကိုယ့်ဘာသာ မောင်းတဲ့ ကား (self-driving car) | AI မောင်းနှင်ရေး စနစ် | မြို့ပြ ယာဉ်ကြော စနစ် | လမ်းတွေ၊ အရာဝတ္ထုတွေနဲ့ အချက်ပြ မီးတွေကို သိရှိပြီး လုံခြုံရေးနဲ့ ယာဉ်ကြော စီးဆင်းမှု ပိုကောင်းအောင် မောင်းနှင်ရေး ဆုံးဖြတ်ချက်တွေ ချပါတယ် |
| Smart Home Assistant (အိမ်သုံး စမတ် အကူ) | Google Assistant / Alexa | Smart home ecosystem (အိမ်ထဲက စမတ် ကိရိယာတွေကို ချိတ်ဆက်ထားတဲ့ စနစ်) | လူ စောင့်ကြည့်စရာ မလိုဘဲ မီး၊ AC၊ သီချင်း စတာတွေကို ထိန်းဖို့ အသံ command တွေကို တုံ့ပြန်ပါတယ် |
| ကုန်လှောင်ရုံ စက်ရုပ်များ | ရွေ့လျားနိုင်တဲ့ စက်ရုပ် ယူနစ် တစ်ခုချင်း | အလိုအလျောက် ကုန်လှောင်ရုံ စနစ် | Order တွေအတိုင်း ပစ္စည်းတွေကို ရွှေ့ပြီး ထိရောက်အောင် တခြား စက်ရုပ်တွေနဲ့ ဆက်သွယ်ပါတယ် |
| စိုက်ပျိုးရေး Drone | ကိုယ့်ဘာသာ ပျံတဲ့ drone | Precision agriculture (တိကျတဲ့ ဒေတာနဲ့ စိုက်ပျိုးခြင်း) စနစ် | သီးနှံတွေကို scan ဖတ်၊ မြေသြဇာ/ပိုးသတ်ဆေး ဖျန်းပြီး လယ်ယာ ဆုံးဖြတ်ချက်တွေအတွက် ဒေတာ စုဆောင်းပါတယ် |
| Game NPC များ | Non-Player Character (NPC) များ | Game ပတ်ဝန်းကျင် | စည်းမျဉ်းတွေအတိုင်း ကစားသမားတွေ ဒါမှမဟုတ် တခြား NPC တွေနဲ့ အပြန်အလှန် တုံ့ပြန်ပြီး game တွေကို ပိုနက်နဲပြီး ပိုလက်တွေ့ကျအောင် လုပ်ပေးပါတယ် |
ကြည့်ရန်: Autonomous Vehicle များ
ယာဉ်တွေရဲ့ autonomy အဆင့်တွေ (ခြေထောက် မသုံးရတဲ့ အဆင့်ကနေ ယာဉ်မောင်း လုံးဝ မလိုတော့တဲ့ အဆင့်အထိ) နဲ့ အဲဒီ အဆင့်တွေကို ဖြစ်နိုင်စေတဲ့ sensor နည်းပညာတွေကို ခြုံငုံ ပြပါတယ်။
စာမေးပွဲ အကြံပြုချက်: autonomous agent တစ်ခုကို ဖော်ပြတဲ့အခါ အချက် သုံးချက်ကို ရှင်းပြပါ: (1) ပတ်ဝန်းကျင်ကို သိရှိဖို့ ဘယ် sensor တွေ သုံးလဲ၊ (2) ကိုယ့်ဘာသာ ဘယ် ဆုံးဖြတ်ချက် တွေ ချလဲ၊ (3) အဲဒီ ဆုံးဖြတ်ချက်တွေအတိုင်း လုပ်ဆောင်ဖို့ ဘယ် actuator တွေ သုံးလဲ။
အဆင့်ဆင့် ရှင်းပြထားတဲ့ ဥပမာများ
ဥပမာ 1: Closed-Loop System အဖြစ် Thermostat
ဒီဥပမာက 22 degrees C ကို ထိန်းထားဖို့ သတ်မှတ်ထားတဲ့ thermostat ရဲ့ feedback စက်ဝန်းကို အဆင့်ဆင့် လိုက်ကြည့်ပါတယ်။
| အဆင့် | ဖြစ်ပျက်ပုံ | အစိတ်အပိုင်း |
|---|---|---|
| 1 | User က လိုချင်တဲ့ အပူချိန်ကို 22 degrees C လို့ သတ်မှတ်ပါတယ် | Setpoint = 22 degrees C |
| 2 | Temperature sensor က လက်ရှိ အခန်း အပူချိန်ကို ဖတ်ပါတယ်: 18 degrees C | Sensor (input) |
| 3 | ADC က analog reading ကို digital ဒေတာ အဖြစ် ပြောင်းပါတယ် | ADC |
| 4 | Comparator က error ကို တွက်ပါတယ်: 22 - 18 = 4 degrees C (အရမ်း အေးနေတယ်) | Comparator |
| 5 | Controller က heater ကို ON လုပ်ဖို့ signal ပို့ပါတယ် | Controller (ဆုံးဖြတ်ချက်) |
| 6 | Controller ရဲ့ digital output က heater relay ကို ဖွင့်ပေးပါတယ် (relay က ဖွင့်/ပိတ် နှစ်မျိုးပဲ လိုတာမို့ DAC မလိုပါဘူး) | Relay |
| 7 | Heater ON ဖြစ်ပြီး အခန်း အပူချိန် တက်လာပါတယ် | Actuator (heater) |
| 8 | အခန်း အပူချိန်က 22 degrees C ရောက်ပါတယ် | စနစ်ရဲ့ output |
| 9 | Sensor က 22 degrees C ဖတ်ပါတယ်၊ error = 0 | Feedback (sensor က output ကို တိုင်းတယ်) |
| 10 | Controller က heater ကို OFF လုပ်ဖို့ signal ပို့ပါတယ် | Controller (ညှိတယ်) |
| 11 | အခန်း နည်းနည်း အေးသွားပြီး 21 degrees C ဖြစ်ပါတယ် | Disturbance (အပူ ဆုံးရှုံးမှု) |
| 12 | Sensor က 21 degrees C ဖတ်ပါတယ်၊ error = 1 degree C | Feedback (အပြောင်းအလဲကို သိတယ်) |
| 13 | Controller က heater ကို ထပ်ပြီး ON လုပ်ပါတယ် | Controller (ကိုယ့်ဘာသာ ပြင်ညှိတယ်) |
ဒီ အဆက်မပြတ် စက်ဝန်း (တိုင်း၊ နှိုင်းယှဉ်၊ ညှိ) က closed-loop system ရဲ့ ထင်ရှားတဲ့ လက္ခဏာပါ။ အပူချိန်က setpoint ပတ်ပတ်လည်မှာ နည်းနည်း အတက်အကျ ဖြစ်ပေမယ့် လက်ခံနိုင်တဲ့ အပိုင်းအခြား အတွင်းမှာ ရှိနေပါတယ်။
ဥပမာ 2: အားကစားခန်းမရဲ့ Skylight လိပ်ကာများ (Closed-Loop)
ကျောင်း အားကစားခန်းမ တစ်ခုရဲ့ ခေါင်မိုးမှာ skylight (အလင်းဝင်ဖို့ ခေါင်မိုးမှာ တပ်ထားတဲ့ မှန်ပြတင်း) အကြီးကြီးတွေ ရှိပါတယ်။ နေသာတဲ့ ညနေခင်းတွေမှာ ကွင်းပေါ် ကျနေတဲ့ နေရောင် အကွက်တွေက ကစားသမားတွေ ဘောလုံးကို လိုက်ကြည့်ရ ခက်စေလို့ skylight တစ်ခုချင်းရဲ့ အောက်မှာ motor က ဖြတ်ပြီး လိပ်ဆွဲပေးတဲ့ blind (လိပ်ကာ) တစ်ခုစီ ရှိပါတယ်။ ကျောင်းက ကွင်းအတွက် ပန်းတိုင် အလင်းပမာဏ တစ်ခု သတ်မှတ်ထားပြီး microcontroller က ကွင်းကို အဲဒီ ပန်းတိုင်နဲ့ နီးနီး ရှိနေအောင် blind တွေကို ရွှေ့ပေးပါတယ်။
| အဆင့် | ဖြစ်ပျက်ပုံ | အစိတ်အပိုင်း |
|---|---|---|
| 1 | ကွင်းအပေါ်က light sensor က ကစားကွင်း မျက်နှာပြင် ဘယ်လောက် လင်းလဲ တိုင်းပါတယ် | Sensor (input) |
| 2 | ကွင်း ပိုလင်းလာလေ sensor ရဲ့ output voltage တက်လာလေ ဖြစ်ပါတယ်၊ ADC က ဒီ voltage ကို ကိန်းဂဏန်း တစ်ခု အဖြစ် ပြောင်းပါတယ် | ADC |
| 3 | Microcontroller က အဲဒီ ကိန်းဂဏန်းကို ပန်းတိုင်နဲ့ နှိုင်းယှဉ်ပါတယ်: ကွင်းက ရှိသင့်တာထက် ပိုလင်းနေပါတယ် | Controller (စီမံ တွက်ချက်ခြင်း) |
| 4 | Microcontroller က blind တွေကို တစ်စိတ်တစ်ပိုင်း ပိတ်ဖို့ ဆုံးဖြတ်ပြီး DAC ကနေ တစ်ဆင့် blind motor တွေဆီ output ပို့ပါတယ် | Controller (ဆုံးဖြတ်ချက်)၊ DAC |
| 5 | Motor တွေ လည်ပြီး blind တွေက skylight တွေကို ဖြတ်ပြီး လိပ်ဖုံးသွားပါတယ် | Actuator (motor) |
| 6 | Light sensor က ကွင်းကို ထပ်တိုင်းပါတယ်၊ reading က ပန်းတိုင်ကို ပြန်ရောက်ရင် microcontroller က motor တွေကို ရပ်ပါတယ် | Feedback (sensor က ရလဒ်ကို တိုင်းတယ်) |
| 7 | နောက်ပိုင်း တိမ်က နေကို ဖုံးလိုက်လို့ reading က ပန်းတိုင်အောက် ကျသွားတဲ့အခါ microcontroller က blind တွေကို နည်းနည်း ပြန်ဖွင့်ပါတယ် | Controller (ကိုယ့်ဘာသာ ပြင်ညှိတယ်) |
လှုပ်ရှားမှု တိုင်းရဲ့ ရလဒ်ကို sensor က တိုင်းပြီး ပန်းတိုင်နဲ့ ကွာခြားချက် မှန်သမျှကို controller က ပြင်ပေးတာကြောင့် ဒါက closed-loop system ပါ။
Interrupt လိုအပ်တဲ့ နေရာ: အချိန် အများစုမှာ microcontroller က routine (ထပ်ခါထပ်ခါ လုပ်နေတဲ့ ပုံမှန် အလုပ်စဉ်) တစ်ခုကို ထပ်ခါထပ်ခါ လုပ်ပါတယ်: light sensor ကို ဖတ်၊ နှိုင်းယှဉ်၊ blind တွေကို ညှိ။ Blind တစ်ခုချင်းမှာ သူ့ track (blind ရွေ့တဲ့ လမ်းကြောင်း) ရဲ့ အစွန်ဆုံးမှာ limit switch (ရွေ့နေတဲ့ အစိတ်အပိုင်း အဆုံး ရောက်ရင် ပိတ်သွားတဲ့ ခလုတ်) တစ်ခုစီ ရှိပါတယ်။ Blind က အဆုံး ရောက်တဲ့အခါ သူ့ switch က ပိတ်သွားပြီး microcontroller ပေါ်မှာ interrupt တစ်ခု ဖြစ်စေပါတယ်။ Microcontroller က လုပ်လက်စ instruction (processor လုပ်ဆောင်ရမယ့် ညွှန်ကြားချက်) ကို ပြီးအောင် လုပ်၊ ရောက်နေတဲ့ နေရာကို သိမ်းပြီး အဲဒီ blind ရဲ့ motor ကို ချက်ချင်း ပိတ်ပေးတဲ့ interrupt service routine (interrupt ဖြစ်ရင် run တဲ့ သီးသန့် code အပိုင်း) ကို run ပါတယ်။ ပြီးရင် ရပ်ခဲ့တဲ့ နေရာကနေ သူ့ routine ကို ပြန်ဆက်ပါတယ်။ Routine က နောက်တစ်ကြိမ် ပတ်လာမှ switch ကို စစ်မယ် ဆိုရင် အဲဒီ အချိန်အထိ motor က track ရဲ့ အဆုံးကို ဆက်ဆွဲနေမှာ ဖြစ်လို့ motor ကို ထိခိုက်စေတာ ဒါမှမဟုတ် blind ကို ပြဲစေတာ ဖြစ်နိုင်ပါတယ်။ Polling and Interrupts မှာ ဒီအဆင့်တွေကို အသေးစိတ် ရှင်းပြထားပါတယ်။
ဥပမာ 3: Open-Loop System အဖြစ် အဝတ်လျှော်စက်
ဒီဥပမာက အဝတ်လျှော်စက်ရဲ့ ပုံသေ program စက်ဝန်းကို အဆင့်ဆင့် လိုက်ကြည့်ပါတယ်။
| အဆင့် | ဖြစ်ပျက်ပုံ | အစိတ်အပိုင်း |
|---|---|---|
| 1 | User က “Cotton 60 degrees C” (ချည်ထည်အတွက် 60 degrees C) program ကို ရွေးပါတယ် | Input (user ရွေးချယ်မှု) |
| 2 | Controller က ရေဝင် valve ကို ဖွင့်ပါတယ် (5 မိနစ် ရေဖြည့်) | Actuator (valve) |
| 3 | Controller က heater ကို စတင် အလုပ်လုပ်စေပါတယ် (ရေကို 60 degrees C အထိ အပူပေး) | Actuator (heater) |
| 4 | Controller က motor ကို run ပါတယ်: drum လည်ပါတယ် (15 မိနစ် လျှော်) | Actuator (motor) |
| 5 | Controller က ရေထုတ် valve ကို ဖွင့်ပါတယ် | Actuator (valve) |
| 6 | Controller က ရေသန့်နဲ့ ထပ်ဖြည့်ပါတယ် | Actuator (valve) |
| 7 | Controller က motor ကို run ပါတယ် (10 မိနစ် ရေဆေး) | Actuator (motor) |
| 8 | Controller က motor ကို အမြန်နှုန်း မြင့်မြင့်နဲ့ run ပါတယ် (5 မိနစ် ရေညှစ်) | Actuator (motor) |
| 9 | Program ပြီးပါပြီ: စက် ရပ်ပါတယ် | ပုံသေ အစီအစဉ်ရဲ့ အဆုံး |
စက်က ဘယ်အဆင့်မှာမှ အဝတ်တွေ ဘယ်လောက် သန့်လဲ မတိုင်းတာကို သတိပြုပါ။ ရလဒ် ဘယ်လိုပဲ ဖြစ်ဖြစ် အစီအစဉ် တစ်ခုတည်းကို အကြိမ်တိုင်း လိုက်ပါတယ်။ ဒါကြောင့် open-loop ဖြစ်တာပါ: output (သန့်ရှင်းမှု) ကနေ controller ဆီ feedback မရှိပါဘူး။
အဖြစ်များတဲ့ ထောင်ချောက်: ရေကို 60 degrees C ရောက်အောင် heater က thermostat ကို သုံးလို့ အဝတ်လျှော်စက်က closed-loop ပါလို့ ကျောင်းသားတွေ တခါတလေ ငြင်းကြပါတယ်။ ရေကို အပူပေးဖို့ အတွင်းပိုင်း temperature sensor တစ်ခု ရှိနိုင်ပေမယ့် စက်က အဝတ်တွေရဲ့ သန့်ရှင်းမှုကို ဘယ်တော့မှ မတိုင်းပြီး အဲဒီအတိုင်း မညှိတာကြောင့် လျှော်ဖွပ်တဲ့ လုပ်ငန်းစဉ် တစ်ခုလုံး က open-loop ပါ။
Quick Check (အမြန် စစ်ဆေးမေးခွန်း)
Q1. Closed-loop control system ကို open-loop control system နဲ့ ဘာက ခွဲခြားပေးသလဲ။
Q2. Control system တစ်ခုမှာ ADC ရဲ့ အခန်းကဏ္ဍက ဘာလဲ။
Q3. အောက်ပါတို့ထဲက ဘယ်ဟာက open-loop control system ရဲ့ ဥပမာ တစ်ခုလဲ။
Q4. Control system တစ်ခုမှာ actuator ရဲ့ အခန်းကဏ္ဍက ဘာလဲ။
Q5. Sensor က ဘယ်လို transducer အမျိုးအစား ရဲ့ ဥပမာ တစ်ခုလဲ။
Q6. အောက်ပါတို့ထဲက ဘယ်ဟာက autonomous agent ကို အကောင်းဆုံး ဖော်ပြသလဲ။
Q7. အောက်ပါတို့ထဲက ဘယ်ဟာက autonomous agent ရဲ့ ဥပမာ မဟုတ်သလဲ။
Trace the Control Cycle (control စက်ဝန်းကို တစ်ဆင့်ချင်း လိုက်ကြည့်ခြင်း)
Thermostat ရဲ့ Control စက်ဝန်း
Thermostat ကို 20 degrees C ထိန်းထားဖို့ သတ်မှတ်ထားပါတယ်။ Heater ပွင့်နေရင် အခန်းက တစ်မိနစ်ကို 2 degrees C နွေးလာပါတယ်။ Heater ပိတ်နေရင် အခန်းက တစ်မိနစ်ကို 1 degree C အေးသွားပါတယ်။ အပူချိန်က setpoint အောက် ရောက်နေရင် heater ON ဖြစ်ပြီး အပူချိန်က setpoint ကို ရောက်ရင် ဒါမှမဟုတ် ကျော်ရင် OFF ဖြစ်ပါတယ်။ စစချင်း အပူချိန်: 16 degrees C။
မိနစ်တိုင်းအတွက် ပျောက်နေတဲ့ တန်ဖိုးတွေကို ဖြည့်ပါ။ Heater ကော်လံမှာ ON (ပွင့်) ဒါမှမဟုတ် OFF (ပိတ်) ကို English လို ရိုက်ထည့်ပြီး ကျန်တဲ့ အကွက်တွေမှာ ကိန်းဂဏန်းကို ရိုက်ထည့်ပါ။
| မိနစ် | Sensor reading | Error (Setpoint - တကယ့် တန်ဖိုး) | Heater |
|---|---|---|---|
| 0 | 16 degrees C | degrees C | |
| 1 | degrees C | degrees C | |
| 2 | degrees C | degrees C | |
| 3 | degrees C | degrees C |
Spot the Error (အမှား ရှာခြင်း)
ကျောင်းသား တစ်ယောက်က open-loop နဲ့ closed-loop control system တွေကို နှိုင်းယှဉ်တဲ့ ပြန်လေ့ကျင့်ရေး မှတ်စု ရေးထားပါတယ်။ Line တစ်ကြောင်းမှာ အမှား ပါပါတယ်။ အမှားပါတဲ့ line ကို ရွေးပါ၊ ပြီးရင် မှန်ကန်တဲ့ ပြင်နည်းကို ရွေးပါ။
Line တွေရဲ့ အဓိပ္ပာယ်: (1) Open-loop: ရလဒ် ဘယ်လိုပဲ ဖြစ်ဖြစ် ပုံသေ အစီအစဉ်ကို လိုက်တယ်၊ (2) Open-loop ဥပမာ: ပေါင်မုန့်ကို သတ်မှတ် အချိန်အတွင်း ကင်တဲ့ ရိုးရိုး toaster၊ (3) Closed-loop: ကိုယ့် output ကို မတိုင်းလို့ ကိုယ့်ဘာသာ မပြင်ညှိနိုင်ဘူး၊ (4) Closed-loop ဥပမာ: သတ်မှတ်ထားတဲ့ အခန်း အပူချိန်ကို ထိန်းထားတဲ့ thermostat၊ (5) Feedback: output ကို တိုင်းပြီး controller ဆီ ပြန်ပို့တဲ့ လုပ်ငန်းစဉ်။
Line 3 အတွက် မှန်ကန်တဲ့ ပြင်နည်းကို ရွေးပါ:
Fill in the Blanks (ကွက်လပ် ဖြည့်ခြင်း)
ဖော်ပြချက် တစ်ခုစီအတွက် မှန်ကန်တဲ့ term (ဝေါဟာရ) ကို ဖြည့်ပြီး control system ရဲ့ အစိတ်အပိုင်းတွေကို အမည်တပ်ပါ။
ကွက်လပ်ပါတဲ့ စာကြောင်းတွေက English နဲ့ ဖြစ်ပြီး ကွက်လပ်တွေကိုလည်း English လို ရိုက်ထည့်ရပါမယ်။ CONTROL SYSTEM COMPONENTS က ခေါင်းစဉ်ပါ။ စာကြောင်းတွေရဲ့ အဓိပ္ပာယ်က အောက်ပါအတိုင်းပါ:
- …… က ရုပ်ပိုင်းဆိုင်ရာ ပမာဏတွေကို သိရှိပြီး လျှပ်စစ် signal တွေ အဖြစ် ပြောင်းပေးပါတယ်။
- …… က analog sensor signal တွေကို digital ဒေတာ အဖြစ် ပြောင်းပေးပါတယ်။
- …… က input ဒေတာကို စီမံ တွက်ချက်ပြီး ဘာလုပ်မလဲ ဆုံးဖြတ်ပါတယ်။
- …… က digital output ကို analog signal တွေ အဖြစ် ပြောင်းပေးပါတယ်။
- …… က controller ရဲ့ output ပေါ် မူတည်ပြီး ရုပ်ပိုင်းဆိုင်ရာ လုပ်ဆောင်ချက်ကို ထုတ်ပေးပါတယ်။
Control system ရဲ့ အစိတ်အပိုင်း တစ်ခုစီကို အမည်တပ်ဖို့ ကွက်လပ်တွေကို ဖြည့်ပါ:
CONTROL SYSTEM COMPONENTS
=========================
A detects physical quantities and converts them to electrical signals.
An converts analog sensor signals to digital data.
The processes input data and decides on an action.
A converts digital output to analog signals.
An produces physical action based on the controller's output.
Predict the Output (output ကို ကြိုခန့်မှန်းခြင်း)
ရိုးရိုး toaster တစ်ခုက ပေါင်မုန့် ဘယ်လောက် ညိုသွားလဲ မကြည့်ဘဲ အတိအကျ 3 မိနစ် ကင်ပါတယ်။ Toaster မှာ အရောင် sensor မပါလို့ ကင်ချိန်ကို မညှိနိုင်ပါဘူး။
ဒါက open-loop system လား၊ closed-loop system လား။ (open-loop ဒါမှမဟုတ် closed-loop လို့ English လို ရိုက်ထည့်ပါ)
စမတ် thermostat တစ်ခုက အခန်း အပူချိန်ကို 22 degrees C မှာ ထိန်းထားပါတယ်။ အပူချိန် 20 degrees C အထိ ကျသွားရင် heater ပွင့်ပါတယ်။ 22 degrees C ရောက်ရင် heater ပိတ်ပါတယ်။
ဒါက open-loop system လား၊ closed-loop system လား။ (open-loop ဒါမှမဟုတ် closed-loop လို့ English လို ရိုက်ထည့်ပါ)
Practice Exercises (လေ့ကျင့်ခန်းများ)
[6 marks] လို mark allocation (မေးခွန်း တစ်ခုစီအတွက် ပေးတဲ့ အမှတ်) တွေက IB Computer Science စာမေးပွဲ ပုံစံအတိုင်း ပေးထားတာပါ၊ ဥပမာ [6 marks] ဆိုတာ 6 မှတ်ပါ။ IB သင်တန်း မတက်တဲ့သူတွေကတော့ အဖြေ ဘယ်လောက် အသေးစိတ် ရေးရမလဲ ချိန်ကြည့်ဖို့ လမ်းညွှန်အဖြစ် သုံးနိုင်ပါတယ်။
Core (အခြေခံ အဆင့်)
-
Control System ရဲ့ အစိတ်အပိုင်းများ: control system ရဲ့ အဓိက အစိတ်အပိုင်း လေးခု (sensor၊ controller၊ actuator၊ transducer) ကို Name (နာမည် ဖော်ပြပါ) လုပ်ပြီး Describe လုပ်ပါ။ အစိတ်အပိုင်း တစ်ခုစီအတွက် တိကျတဲ့ လက်တွေ့ ဥပမာ တစ်ခု ပေးပြီး အဲဒီ အခြေအနေမှာ ဘာလုပ်လဲ explain လုပ်ပါ။
-
Open နဲ့ Closed: open-loop နဲ့ closed-loop control system တွေကြားက ကွာခြားချက်ကို Explain လုပ်ပါ။ အမျိုးအစား တစ်ခုစီအတွက် ဥပမာ တစ်ခု ပေးပြီး feedback သုံးသလား State (ဖော်ပြပါ) လုပ်ပါ။ Open-loop ဥပမာက ဘာကြောင့် feedback မလိုလဲ၊ closed-loop ဥပမာက ဘာကြောင့် လိုလဲ Explain လုပ်ပါ။
-
ADC နဲ့ DAC: control system တစ်ခုမှာ ADC နဲ့ DAC ရဲ့ အခန်းကဏ္ဍကို Describe လုပ်ပါ။ ဒီ converter တွေ ဘာကြောင့် လိုအပ်လဲ Explain လုပ်ပါ: controller က sensor ရဲ့ analog signal နဲ့ ဘာကြောင့် တိုက်ရိုက် အလုပ် မလုပ်နိုင်တာလဲ။
Extension (တိုးချဲ့ အဆင့်)
- စမတ် ဖန်လုံအိမ်: စမတ် ဖန်လုံအိမ် တစ်ခုက အပင် ကြီးထွားဖို့ အကောင်းဆုံး အခြေအနေတွေကို ထိန်းထားဖို့ control system တစ်ခုကို သုံးပါတယ်။ ဒီ စနစ်အတွက်:
- (a) လိုအပ်မယ့် sensor အားလုံးနဲ့ တစ်ခုစီက ဘာကို တိုင်းလဲ Identify (ဖြစ်နိုင်တဲ့ အဖြေတွေထဲက ရွေးပြီး ဖော်ပြပါ) လုပ်ပါ
- (b) Actuator အားလုံးနဲ့ တစ်ခုစီက ဘာကို ထိန်းလဲ Identify လုပ်ပါ
- (c) Controller ရဲ့ အခန်းကဏ္ဍကို Describe လုပ်ပါ
- (d) ဒါက open-loop system လား closed-loop system လား Explain လုပ်ပြီး သင့်အဖြေကို justify (ဘာကြောင့် ရွေးတာလဲ အကြောင်းပြချက်နဲ့ ပြပါ) လုပ်ပါ
- (e) အပူချိန် ထိန်းချုပ်တဲ့ အပိုင်းအတွက် feedback ပုံ တစ်ခုကို Draw (label တွေ ပါတဲ့ ပုံကို တိတိကျကျ ဆွဲပါ) လုပ်ပြီး label (ပုံရဲ့ အစိတ်အပိုင်းတွေမှာ အမည် တပ်ပါ) လုပ်ပါ
- Open-Loop ကို ရောထွေးခြင်း: ခေတ်သစ် စက်တွေမှာ အတွင်းပိုင်း sensor တွေ (ဥပမာ ရေ အပူချိန် sensor) ပါနိုင်ပေမယ့် အဝတ်လျှော်စက်ကို ဘာကြောင့် open-loop လို့ သတ်မှတ်လဲ Explain လုပ်ပါ။ သင့်အဖြေမှာ စနစ် တစ်ခုလုံးရဲ့ အလုပ်လုပ်ပုံနဲ့ feedback သုံးနိုင်တဲ့ အစိတ်အပိုင်းငယ် (sub-component) တစ်ခုချင်းကြားက ကွာခြားချက်ကို distinguish (အရာ နှစ်ခု ဒါမှမဟုတ် ပိုများတဲ့ အရာတွေကြားက ကွာခြားချက်ကို ရှင်းရှင်းလင်းလင်း ပြပါ) လုပ်ပါ။
Challenge (စိန်ခေါ်မှု အဆင့်)
- Autonomous Drone (ကိုယ့်ဘာသာ ပျံတဲ့ drone): 10 မီတာ ပုံသေ အမြင့်ကို ထိန်းထားရမယ့် autonomous drone အတွက် closed-loop control system တစ်ခုကို Design (အစီအစဉ် ဒါမှမဟုတ် model တစ်ခု ရေးဆွဲပါ) လုပ်ပါ။ သင့်အဖြေမှာ:
- (a) လိုအပ်တဲ့ sensor အားလုံးကို Identify လုပ်ပြီး ရွေးချယ်မှု တစ်ခုစီကို justify လုပ်ပါ
- (b) Controller ရဲ့ ဆုံးဖြတ်ချက် logic ကို Describe လုပ်ပါ (ဘယ် input တွေ လက်ခံလဲ၊ ဘယ် တွက်ချက်မှုတွေ လုပ်လဲ၊ ဘယ် output တွေ ထုတ်လဲ)
- (c) Actuator အားလုံးကို Identify လုပ်ပြီး controller ရဲ့ output ကို သူတို့ ဘယ်လို တုံ့ပြန်လဲ explain လုပ်ပါ
- (d) Feedback loop အပြည့်အစုံကို Draw လုပ်ပြီး label လုပ်ပါ
- (e) Drone ကို 12 မီတာအထိ အပေါ် တွန်းတင်လိုက်တဲ့ ရုတ်တရက် လေတိုက်ခတ်မှုကို စနစ်က ဘယ်လို ကိုင်တွယ်မလဲ Explain လုပ်ပါ
- IB-Style 6-Mark Question (IB စာမေးပွဲ ပုံစံ၊ 6 မှတ် မေးခွန်း): user သတ်မှတ်တဲ့ အချိန်အတိုင်း အစားအစာကို အပူပေးတဲ့ ရိုးရိုး microwave မီးဖို နဲ့ မွေးကင်းစ ကလေးရဲ့ ပတ်ဝန်းကျင်ကို သတ်မှတ် အပူချိန်နဲ့ စိုထိုင်းဆမှာ ထိန်းထားတဲ့ ဆေးရုံသုံး incubator (မွေးကင်းစ ကလေး ထည့်ထားတဲ့ အပူထိန်း သေတ္တာ) တို့မှာ control system တွေ သုံးပုံကို Compare and contrast (နှစ်ခုလုံးကို တစ်လျှောက်လုံး ထည့်ပြီး တူတာတွေနဲ့ ကွာတာတွေကို ဖော်ပြပါ) လုပ်ပါ။ သင့်အဖြေမှာ အောက်ပါတို့ကို ထည့်ပြောပါ:
- စနစ် တစ်ခုစီမှာ သုံးတဲ့ sensor တွေ
- စနစ် တစ်ခုစီမှာ သုံးတဲ့ actuator တွေ
- စနစ် တစ်ခုစီက feedback သုံးသလား၊ ဘာကြောင့်လဲ
- စနစ် တစ်ခုစီမှာ controller ရဲ့ အခန်းကဏ္ဍ
- ဘယ်စနစ်က open-loop ဖြစ်ပြီး ဘယ်စနစ်က closed-loop ဖြစ်လဲ၊ အကြောင်းပြချက်နဲ့
IB-Style Exam Questions (IB စာမေးပွဲ ပုံစံ မေးခွန်းများ၊ တစ်ခုကို 6 marks)
-
Line-Following Robot (မျဉ်းကြောင်း လိုက်သွားတဲ့ စက်ရုပ်): ကုန်လှောင်ရုံ စက်ရုပ် တစ်ခုက အရောင်ဖျော့တဲ့ ကြမ်းပြင်ပေါ်မှာ ဆေးသုတ်ထားတဲ့ မျဉ်းနက် တစ်ကြောင်း တစ်လျှောက် သေတ္တာတွေကို သယ်ပါတယ်။ စက်ရုပ်ရဲ့ ရှေ့ဘက် အောက်မှာ မျဉ်းရဲ့ ဘေးတစ်ဖက်စီမှာ တစ်ခုစီ ရှိတဲ့ light sensor နှစ်ခုက ကြမ်းပြင်က အလင်း ဘယ်လောက် ရောင်ပြန်ဟပ်လဲ တိုင်းပါတယ်။ စက်ရုပ်က ဘယ်ဘက်နဲ့ ညာဘက် ဘီး motor တွေကို မတူတဲ့ အမြန်နှုန်းတွေနဲ့ run ပြီး လမ်းကြောင်း ပြောင်းပါတယ်၊ ပြီးတော့ ultrasonic sensor က ရှေ့မှာ 50 cm ထက် နီးတဲ့ အရာဝတ္ထု တစ်ခုကို တွေ့ရင် ရပ်ပါတယ်။ စက်ရုပ်ရဲ့ control system က စက်ရုပ်ကို မျဉ်းပေါ်မှာ ဘယ်လို ဆက်ရှိနေစေပြီး ဘေးကင်းကင်း ဘယ်လို ရပ်စေလဲ Explain လုပ်ပါ။ [6 marks]
-
Pool Heating (ရေကူးကန် အပူပေးခြင်း): ရေကူးကန် တစ်ခုရဲ့ control system က ရေကို 27 °C နဲ့ 28 °C ကြားမှာ ထားဖို့ ရည်ရွယ်ပါတယ်။ ကန်ထဲကို ရေ ပြန်ပို့တဲ့ ပိုက်ထဲက temperature sensor ကို 10 မိနစ်တိုင်း ဖတ်ပါတယ်။ Reading က 27 °C အောက် ရောက်ရင် controller က heater ကို ဖွင့်ပြီး 28 °C အထက် ရောက်ရင် ပိတ်ပါတယ်။ နေသာတဲ့ ညနေခင်းတွေမှာ ရေက 30 °C အထိ ရောက်ပါတယ်။ အဲဒီ ညနေခင်းတွေမှာ control system က ရေကို သတ်မှတ် အပိုင်းအခြား အတွင်း ဘာကြောင့် မထိန်းနိုင်လဲ Explain လုပ်ပြီး အထောက်အကူ ဖြစ်မယ့် အပြောင်းအလဲ နှစ်ခုကို suggest (ဖြစ်နိုင်တဲ့ ဖြေရှင်းနည်း တစ်ခုကို အဆိုပြုပါ) လုပ်ပါ။ [6 marks]
-
Infusion Pump (သွေးကြောထဲ ဆေးရည် သွင်းပေးတဲ့ pump): ဆေးရုံ တစ်ရုံက သူနာပြု ရိုက်ထည့်တဲ့ နှုန်းအတိုင်း လူနာရဲ့ သွေးကြောထဲကို ဆေး တစ်စက်ချင်း သွင်းပေးတဲ့ pump တွေကို သုံးပါတယ်။ Flow sensor (စီးနှုန်း sensor) က တကယ့် နှုန်းကို တိုင်းပြီး pump ရဲ့ motor က သတ်မှတ် နှုန်းနဲ့ ကိုက်ညီအောင် မြန်လာတာ ဒါမှမဟုတ် နှေးလာတာ ဖြစ်ပါတယ်။ ပိုက် ပိတ်ဆို့သွားရင် ဒါမှမဟုတ် ပိုက်ထဲ လေ ဝင်သွားရင် pressure sensor နဲ့ air sensor (လေ ရှိမရှိ သိတဲ့ sensor) တွေက pump ကို ရပ်ပြီး alarm မြည်စေပါတယ်။ လူနာတွေကို ဆေးပေးဖို့ ဒီ control system ကို သုံးတာကို Evaluate လုပ်ပါ။ [6 marks]
TOK Discussion (TOK ဆွေးနွေးချက်များ)
ဒီ TOK (Theory of Knowledge: လူတွေ တစ်ခုခုကို ဘယ်လို သိလဲ ဆိုတာကို မေးခွန်းထုတ် လေ့လာတဲ့ IB ဘာသာရပ်) မေးခွန်းတွေက control system တွေကို အသိပညာ၊ တာဝန်ယူမှုနဲ့ ကိုယ်ကျင့်တရား ဆိုင်ရာ ပိုကျယ်ပြန့်တဲ့ မေးခွန်းတွေနဲ့ ချိတ်ဆက်ပေးပါတယ်။ နှစ်ယောက်တွဲ ဒါမှမဟုတ် အုပ်စုငယ်လေးတွေနဲ့ ဆွေးနွေးပါ။
Sensor တွေကနေ သိရှိခြင်း: control system တစ်ခုက ကမ္ဘာကြီးအကြောင်းကို သူ့ sensor တွေကနေပဲ သိပါတယ်။ Thermostat ရဲ့ sensor က နေရောင် ထိနေတဲ့ ပြတင်းပေါက် ဘေးမှာ ရှိနေရင် စနစ်က အခန်းရဲ့ မှားယွင်းတဲ့ ပုံရိပ် တစ်ခုပေါ် မူတည်ပြီး လုပ်ဆောင်ပါတယ်၊ ပြီးတော့ သူ့ loop ထဲက ဘာကမှ အဲဒီ အမှားကို သူ့ကို မပြပါဘူး။ စနစ် တစ်ခု ဒါမှမဟုတ် လူ တစ်ယောက်က သူ အားကိုးနေတဲ့ ကိရိယာတွေက မှားယွင်းတဲ့ ပုံရိပ်ကို ပေးနေတာကို ဘယ်လို သိနိုင်မလဲ။
တာဝန်ယူမှုနဲ့ အသိပညာ: autonomous vehicle တစ်စီးက မတော်တဆမှု ဖြစ်စေရင် ဘယ်သူ တာဝန်ရှိလဲ: algorithm ကို ရေးခဲ့တဲ့ software engineer လား၊ ကားကို ရောင်းခဲ့တဲ့ ကုမ္ပဏီလား၊ ချို့ယွင်းသွားခဲ့တဲ့ sensor တွေလား၊ ဒါမှမဟုတ် ဒီယာဉ်ကို သုံးဖို့ ရွေးခဲ့တဲ့ ခရီးသည်လား။
ကိုယ်ကျင့်တရားနဲ့ Trade-off များ: ထိခိုက်မှု ရှိတဲ့ ရလဒ် နှစ်ခုကြား ရွေးရတာလိုမျိုး ကိုယ်ကျင့်တရားဆိုင်ရာ ဆုံးဖြတ်ချက်တွေ ချနိုင်အောင် control system တစ်ခုကို ဒီဇိုင်းဆွဲသင့်တဲ့ အခြေအနေ ရှိသလား။
ဆက်စပ် ခေါင်းစဉ်များ
- အရင် လေ့လာထားရမယ့် ခေါင်းစဉ်: OS Fundamentals (operating system ရဲ့ အခြေခံများ): OS (operating system: ကွန်ပျူတာကို စီမံတဲ့ အဓိက software) က device I/O (စက်ပစ္စည်းတွေနဲ့ ဒေတာ အဝင်အထွက်) ကို စီမံပြီး control software ကို run ပါတယ်၊ device management (စက်ပစ္စည်း စီမံခြင်း) နဲ့ driver (hardware တစ်ခုနဲ့ OS ကို ဆက်သွယ်ပေးတဲ့ software) တွေကို နားလည်ထားရင် sensor တွေနဲ့ actuator တွေက controller နဲ့ ဘယ်လို ဆက်သွယ်လဲ သိနိုင်ပါတယ်
- ဆက်စပ် ခေါင်းစဉ်: Polling and Interrupts: control system တွေက data acquisition (ဒေတာ ရယူခြင်း) အတွက် polling (ပုံသေ အချိန်ခြားပြီး sensor ကို ပုံမှန် ဖတ်ခြင်း) နဲ့ interrupt (safety threshold ကို ကျော်သွားတာလို အရေးပေါ် ဖြစ်ရပ်များ) နှစ်ခုလုံးကို သုံးပါတယ်
- ဆက်စပ် ခေါင်းစဉ်: Scheduling (ဘယ် process ကို CPU အချိန် ပေးမလဲ ဆုံးဖြတ်ခြင်း): real-time control system တွေမှာ sensor reading တွေနဲ့ actuator တုံ့ပြန်မှုတွေ တင်းကျပ်တဲ့ deadline (နောက်ဆုံး ပြီးရမယ့် အချိန်) တွေ အတွင်း ဖြစ်အောင် ကြိုတင် ခန့်မှန်းနိုင်တဲ့ scheduling လိုအပ်ပါတယ်
- ဆက်စပ် ခေါင်းစဉ်: CPU Architecture (CPU ဖွဲ့စည်းပုံ): microprocessor controller တွေက general-purpose CPU (ကွန်ပျူတာရဲ့ အဓိက processor) တွေလိုပဲ fetch-decode-execute cycle (ညွှန်ကြားချက်ကို ယူ၊ နားလည်၊ လုပ်ဆောင်တဲ့ စက်ဝန်း) ကို သုံးပါတယ်၊ register (CPU ထဲက အမြန်ဆုံး သိမ်းဆည်းရာ) တွေနဲ့ ALU (တွက်ချက်ပြီး နှိုင်းယှဉ်ပေးတဲ့ CPU အပိုင်း) ကို နားလည်ထားရင် controller က sensor ဒေတာကို ဘယ်လို စီမံလဲ သိနိုင်ပါတယ်
- နောက်ထပ် လေ့လာမယ့် ခေါင်းစဉ်: control system တွေကို robotics၊ ကုန်ထုတ်လုပ်ငန်း၊ သယ်ယူပို့ဆောင်ရေးနဲ့ စမတ် အဆောက်အအုံ အပါအဝင် လက်တွေ့ application အများကြီးထဲမှာ ထည့်သွင်းထားပါတယ်။ အတွေ့အကြုံကနေ သင်ယူတဲ့ autonomous agent တွေက Machine Learning (ဒေတာကနေ သင်ယူတဲ့ စနစ်) (A4) နဲ့ ဆက်စပ်ပါတယ်