DC Motor Control Using an H-Bridge

DC Motor Control Using an H-Bridge

ဒီ Project မှာ H-Bridge IC ကို သုံးပြီး DC Motor ကို ဘယ်လို Control လုပ်မလဲ ဆိုတဲ့ အကြောင်းကို ဆွေးနွေးသွားပါမယ်။

DC Motor ကိုု Forward and Reverse Direction နှစ်မျိုးလုံးသုံးလို့ရပါတယ်။ Reverse Direction အနေနဲ့ သုံးဖို့ အတွက်က DC Motor ကိုု Current Direction ကိုပြောင်းပြန်ပေးပြီး သုံးနိုင်ပါတယ်။ အလွယ်ကူဆုံးနည်းကတော့ H-Bridge Motor ကို သုံးခြင်းပါ။ Texas Instruments L293NE (သို့) Texas Instruments SN754410ကိုု သုံးပြီး DC Motor ကို Control လုပ်နိုင်ပါတယ်။

လိုအပ်သော ပစ္စည်းများ

(၁) Breadboard

(၂) 22-AWG ဝါယာကြိုး

(၃) Arduino UNO

(၄) LED Diodes

(၅) 10KOhm resistors

(၆) ခလုပ်တစ်ခု (Switch)

(၇) L293NE or SN754410 IC

(၈) 12V Power Supply

(၉) DC Motor တစ်လုံး

dc_motor

တကယ်တော့ L293NE/SN754410 IC တွေဟာ အခြေခံ အကျဆုံး IC အမျိုးအစားတွေပါ။ IC တစ်လုံးထဲမှာ Bridge နှစ်ခုပါတဲ့ အတွက် Motor နှစ်ခုကို တပြိုင်ထဲ သုံးနိုင်ပါတယ်။ 1 Ampere Motor (4.5V to 36V) တွေ အထိ Drive လုပ်နိုင်တယ်။ H-Bridge IC က Low Voltage Motor Drive အတွက်ပဲ အဆင်ပြေတာပါ။ High Voltage Motor တွေအတွက်တော့ အဆင်မပြေပါဘူး။

H-Bridge IC Datasheet မှာ Motor ကို ဘယ်လို Control လုပ်နိုင်သလဲဆိုတာကို ပုံနဲ့ တကွရှင်းပြထားပါတယ်။ Circuit Design ကို နားလည်ချင်တယ်ဆိုရင်တော့ Datasheet တွေကို နားလည်အောင်ဖတ်စေချင်ပါတယ်။

hbridgeic

 

l293d_blockdiagram

H-Bridge IC Pin နဲ့ အလုပ်လုပ်ပုံတွေကတော့ အောက်ပါအတိုင်းဖြစ်ပါတယ်။

  • Pin 1 (1,2EN) enables and disables our motor whether it is give HIGH or LOW
  • Pin 2 (1A) is a logic pin for our motor (input is either HIGH or LOW)
  • Pin 3 (1Y) is for one of the motor terminals
  • Pin 4-5 are for ground
  • Pin 6 (2Y) is for the other motor terminal
  • Pin 7 (2A) is a logic pin for our motor (input is either HIGH or LOW)
  • Pin 8 (VCC2) is the power supply for our motor, this should be given the rated voltage of your motor
  • Pin 9-11 are unconnected as you are only using one motor in this lab
  • Pin 12-13 are for ground
  • Pin 14-15 are unconnected
  • Pin 16 (VCC1) is connected to 5V

H-Bridge Logic Table မှာ Motor ကို Left and Right ဘယ်လိုပြောင်းနိုင်မလဲ ပြောထားပါတယ်။ EN Pin က HIGH ဖြစ်နေပြီး 1A နဲ့ 2A PIN တွေကိုု LOW နဲ့ HIGH ပေးထားရင် Right Direction ဖြစ်ပြီးတော့ EN Pin က HIGH ဖြစ်နေပြီး 1A နဲ့ 2A PIN တွေကို HIGH နဲ့ LOW ပေးထားရင် Left Direction ဖြစ်ပါတယ်။

Motor ကို ရွေးချယ်တဲ့နေရာမှာ 5V, 500mA Motor ဖြစ်မယ်ဆိုရင်တော့ Arduino USB က 5V နဲ့ပဲ အဆင်ပြေပါတယ်။ ဒီထက် Voltage နဲ့ Current များတဲ့ Motor ဖြစ်ရင်တော့ External Power Supply လိုအပ်ပါတယ်။

အကယ်၍ Motor ON ထားတဲ့အချိန်မှာ Arduino က Reset ပြန်ပြန်ကျနေရင် Power Supply နဲ့ GND ကြားမှာ Decoupling Capacitor တစ်လုံးလောက်ထည့်ပါ။ Power Supply မငြိမ်လို့ ဖြစ်တာပါ။ တန်ဖိုးကတော့ 10uF သို့ 100uF သုံးပါ။

 

dcmotor_bb2

 

Coding

 

အပေါ်က Coding စမ်းသပ်ပြီးလို့ အလုပ်လုပ်ပြီ ဆိုရင် analogWrite() function ကို စမ်းသပ်စေချင်ပါတယ်။ Motor Enable Pin ကို analogWrite() ကို သုံးပြီး PWM (Pulse Width Modulation) နဲ့ စမ်းသပ်မယ်ဆိုရင် Motor Speed ကို ပြောင်းလဲနိုင်ကြောင်းသိပါလိမ့်မယ်။

 

 

error: Content is protected !!
 
%d bloggers like this: