راه اندازی موتور dc با آردوینو

موتور dc با آردوینو

موتور dc با آردوینو

سلام در مطلب آموزش راه اندازی موتور dc با آردوینو قراره در ابتدا با آی سی L293D یک برنامه برای کنترل موتور DC با آردوینو بنویسیم و بعد بریم سراغ استفاده از ماژول ها. البته ماژول ها هم از همین آی سی ها تشکیل شدن ولی خب برای یک عده که تنبلیشون میشه و دوست دارن از ماژول ها استفاده کنن هم توضیح میدیم 😀 ، دقت کنید که آی سی L293 با L298 تفاوتی نداره ، جز اینکه L298 میتونه تا 2 آمپر جریان به موتور بده در حالی که L293 تا حداکثر 500 میلی آمپر جریان به موتور میده و کدنویسی برای هر 2 مشابه هم هست.

  ممکنه بپرسین چرا باید از آی سی ها استفاده کنیم؟ جواب واضحه ! حداکثر جریان خروجی ای که میتونه آردوینو به شما بده 20 میلی آمپره در حالی که یک موتور از چند صد میلی آمپر تا چند آمپر(هر موتور متفاوته) جریان نیاز داره ، پس به هیچ عنوان برد آردوینو ، قدرت راه اندازی یک موتور رو نداره و با وصل کردن موتور به آردوینو ، قطعا موتور میسوزه.

پروژه موتور dc با آردوینو و L293

در پروژه اول که شماتیک اون هم به صورت زیره از یک موتور ، برد آردوینو ، پتاسنیومتر ،l293 و یک کلید استفاده میکنیم.

در این پروژه با پتاسنیومتر سرعت موتور رو کنترل میکنیم و با کلید جت چرخش موتور رو تغییر میدیم.

پروژه آردوینو موتور dc l293

میخوایم در کنار اینکه یک موتور رو راه اندازی میکنیم ، بتونیم میزان سرعت موتور رو هم کنترل کنیم و همچنین جهت چرخش موتور رو هم عوض کنیم، برای این کار باید از پایه های pwm استفاده کنیم که در جلسه ی pwm آردوینو توضیحات لازمش رو دادم (مطلب کوتاهیه ، پیشنهاد میکنم یکبار مطالعه کنین) . در این مطلب گفته شده که باید برای ارسال pwm از دستور analogewrite استفاده کنیم. ما هم در این پروژه طبق همین دستور عمل عمل میکنیم!

اتصال پایه های آی سی :

l293 pinout

 

Enable1 به —-> DigitalPin11(PWM)

INPUT1 به —-> DigitalPin10(PWM)

OUTPUT1 به —-> MOTOR PIN 1

GND1 به —-> Gnd

OUTPUT2 به —-> MOTOR PIN 2

INPUT2 به —-> DigitalPin9(PWM)

12v به —-> 5v

Vss3.3v به —-> 5v یا 3.3

 

بقیه قطعات هم که در شکل مشخصه.

کد پروژه :

در این کد همه چیز واضحه که ابتدا تعدادی متغیر برای تعریف  پایه ها بعنوان ورودی و خروجی نوشته شدن و بعد تعریف ورودی و خروجی در حلقه Setup رو انجام میدیم.

در حلقه loop هم ابتدا از پایه 13

فقط در کد :

ممکنه سوال پیش بیاد که چرا این عدد تقسیم بر 4 شده که اگر شما pwm آردوینو رو خونده باشین دیگه این سوال پیش نمیاد 😀

و در void setMotor هم که یک زیر برنامه برای تغییر وضعیت چپگرد و راست گرده ، با تغییر وضعیت reverse در خطوط 19 و 20 (با تغییر وضعیت کلید) باعث میشه آردوینو به زیر برنامه بره setMotor و نحوه چرخش موتور عوض بشه. به همین سادگی!

 boolean یک متغیر در آردوینو هست که حالت 0 و 1 میگیره ! اگر میخواین بیشتر بدونین : متغیر ها در آردوینو

در ماژول این آی سی هم تفاوت چندانی وجود نداره فقط باید به پایه های خروجی ماژول توجه کنید که ترتیب اتصال همونی باشه که در بالا گفته شد.

راه اندازی موتور dc با ماژول l298 و آردوینو

برای اینکه توضیحی درباره ی l298 داده باشم هم برای قسمت پروژه با ماژول کنترل موتور dc با آردوینو از ماژول این آی سی استفاده میکنیم.

پایه های ماژول l298 - موتور با آردوینو

هر دوی این آی سی ها توانایی راه اندازی 2 تا موتور رو دارن.

شماتیک مدار:

راه اندازی موتور با l298 و آردوینو

نحوه اتصال پایه ها :

INTA به —-> pin 6 on Arduino برای کنترل MOTOR1

INTB به —-> pin 5 on Arduino برای کنترل MOTOR1

INTC به —-> pin 4 on Arduino برای کنترل MOTOR2

INTD به —-> pin 3 on Arduino برای کنترل MOTOR2

VCC به —-> ولتاژی بین 4,8V  و 48V

GND به —-> Ground

+5 به —-> 5V

 

و اینم یک نمونه کد برای تست و مشاهده نحوه عملکرد پروژه:

 

این کد خیلی ساده و ابتدایی نوشته شده تا با نحوه کار پروژه آشنا بشین ، میتونین نسبت به پروژه ای که دارین هر کدی رو بنویسین یا همین کد رو شخصی سازی کنین .

پیروز باشید 🙂

حمیدرضا مودت

یک مهندس الکترونیک ، علاقه مند به یاد دادن و یاد گرفتن پیرامون دانش برق و الکترونیک

شما ممکن است این را هم بپسندید

پاسخ دهید

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