کنترل موتور DC با آردینو

با اتصال آی سی پل L298 به آردینو می توانید یک موتور DC را کنترل کنید .

مقدمه

موتور جریان مستقیم یا DC متداول ترین نوع موتور است .موتو dc دو سر دارد یک سر مثبت و یک سر منفی دارد. اگر این دو سر را مستقیم به باتری متصل کنیم موتور شروع به چرخیدن می کند. اگر جای مثبت و منفی را عوض کنید موتور بر عکس می چرخد.

برای کنترل جهت چرخش موتور بدون جا ب جا کردن دو سر موتور می توان از مدار که به آن پل H میگویند استفاده کرد. پل H یک مدار الکترونیکی است که با آن می توان موتور را به هردو جهت هدایت کرد.

پل H

پل H در مدارات مختلفی به کا ر می رود یکی از انها کنترل موتورها در ربات ها ست. به این علت پل H می گویند که چهار ترانزیستور به نحوی قرار داده شده که شکل شماتیک ان شبیه حرف H است.

می توان از ترانزیستور های مجزا برای درست کردن این مدار اسفاده کنید. اما در اینجا  از L298 h BRIDGE استفاده می کنیم . L298 می تواند سرعت و جهت موتور DC و استپر موتور را کنترل کند .

رنج جریان 2 آمپر برای هر موتور است . در این جریان ها چه بسا باید از HEAT SINK  استفاده کرد.

مطلب پیشنهادی:  ساخت گیمبال با آردوینو - لرزشگیر دوربین

شکل پایه های L298 در شکل زیر نمایان است .

سخت افزار مورد نیاز :

  • L298 BRIDGE IC
  • DC MOTOR
  • ARDUINO MEGA 2560
  • BREADBOARD
  • 10 * سیم جامپر

کنترل موتور DC با آردینو

شماتیک بالا نشان می دهد که ای سی L298 برای کنترل موتور چگونه متصل شده است .

سه پین ورودی برای هر موتور وجود دارد که شامل ورودی 1 IN1, ورودی دوم IN2 پایه ی ENABLE 1 برای موتور اول و ورودی 3 و ورودی 4 و ENABLE 2 برای موتور دوم است.

تا زمانی که در این ازمایش یک موتور را کنترل می کنیم ما اردوینو را به In1 , in2 ,enable1 آی سی L298 متصل می کنیم .

جدول زیر نشان می دهد که موتور به کدام سمت می چرخد براساس مقادیر in1 , in2

کنترل موتور DC با آردینو

پین in1  از ای سی l298 به پایه 8 اردوینو متصل شده و in2 به پین 9  متصل شده است .

این دو پین دیجیتال اردوینو  جهت موتور را مشخص می کنند. پین EN A ای سی به pwm (pin2) اردوینو متصل شده است . این سرعت موتور را کنترل می کند.

برای تنظیم مقادیر پین 8 و 9 آردوینو ما از توابع دیجیتال استفاده می کنیم و  برای تنظیم مقادیر پین 2 از توابع آنالوگ استفاده می کنیم .

کنترل موتور DC با آردینو

 

کد:

                 const int pwm = 2 ;        //initializing pin 2 as pwm

const int in_1 = 8 ;

const int in_2 = 9 ;

مطلب پیشنهادی:  راه اندازی ماژول های فرستنده و گیرنده RF با آردوینو

//For providing logic to L298 IC to choose the direction of the DC motor

void setup()

{

pinMode(pwm,OUTPUT) ;     //we have to set PWM pin as output

pinMode(in_1,OUTPUT) ;    //Logic pins are also set as output

pinMode(in_2,OUTPUT) ;

}

void loop()

{

//For Clock wise motion , in_1 = High , in_2 = Low

digitalWrite(in_1,HIGH) ;

digitalWrite(in_2,LOW) ;

analogWrite(pwm,255) ;

/*setting pwm of the motor to 255

we can change the speed of rotaion

by chaning pwm input but we are only

using arduino so we are using higest

value to driver the motor  */

//Clockwise for 3 secs

delay(3000) ;

//For brake

digitalWrite(in_1,HIGH) ;

digitalWrite(in_2,HIGH) ;

delay(1000) ;

//For Anti Clock-wise motion – IN_1 = LOW , IN_2 = HIGH

digitalWrite(in_1,LOW) ;

digitalWrite(in_2,HIGH) ;

delay(3000) ;

//For brake

digitalWrite(in_1,HIGH) ;

digitalWrite(in_2,HIGH) ;

delay(1000) ;

 }

تنظیمات :

  1. اتصال تغذیه 5 ولت و زمین ای سی به زمین و تغذیه آردوینو
  2. اتصال موتور به پین 2 و 3 آی سی
  3. اتصال IN 1 آی سی به پین 8 آردوینو
  4. اتصال IN2 ای سی به پین 8 آردوینو
  5. اتصال sens a آی سی به زمین .
  6. اتصال EN1 ای سی به پین 2 آردوینو
  7. اتصال آردوینو با استفاده از کابل usb اردوینو و آپلود کردن برنامه به آردوینو با استفاده از نرم افزار IDE اردوینو
  8. فراهم کردن تغذیه برد آردوینو با استاده از منبع تغذیه و باتری و یا کابل USB

موتور ابتدا باید به مدت 3 ثانیه در جهت عقربه های ساعت بچرخد سپس باید به مدت 3 ثانیه در خلاف جهت عقربه های ساعت

مطلب پیشنهادی:  کنترل دور موتور DC با کنترلر PID بصورت WIRELESS

اگر این نوشته‌ برایتان مفید بود لطفا کامنت بنویسید.

مطالعه دیگر جلسات این آموزش<< جلسه قبلی                    جلسه بعدی >>

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

2 دیدگاه

  1. با سلام
    چجوری میشه اینو ریموت وصل کرد؟
    اگر موتور 24 ولت داشته یاشیم میتونیم از منبع تغذیه 24 ولت استفاده کنیم؟

    • میلاد جهاندیده

      سلام برای کل مدار که نه برای L298 باید اینکار را بکنی که اول از همه باید بررسی کنه که آیا L298 جواب میدهد یا نه. تا جایی که من دیدم OPERATING SUPPLY VOLTAGE UP TO 46 V ئشتیبانی میکنه ولی بازم بهتره خودت دقیق چک کنی و نیم نگاهی به دیتاشیت بندازی