آردوینو آردوینو Arduino Uno آموزش آردوینو درایور موتور پروژه های آردوینو

آموزش شیلد درایور موتور L293D با برد آردوینو بخش دوم کنترل جهت موتور DC

L293D-arduino-shield-DC-motor-digispark
نوشته شده توسط پریسا پوربلورچیان

در آموزش بخش اول شیلد درایور موتور L293D با اتصال یک سرو موتور به شیلد L293D، سرو موتور Servo Motor یک بار از ۰ تا ۳۶۰ درجه و بار دیگر از ۳۶۰ تا ۰ درجه می‌چرخید. در آموزش بخش دوم شیلد درایور موتور به دو موتور DC توسط ماژول جوی استیک JoyStick در دو جهت فرمان حرکت خواهیم داد. در ادامه مجموعه آموزش شیلد درایور موتور L293 با مرجع تخصصی آردوینو به زبان فارسی، دیجی اسپارک همراه باشید.

 

شیلد درایور موتور L293D

تراشه L293D توانایی درایو موتور تا ۳۶ ولت را خواهد داشت. توسط این تراشه هر کانال درایور موتور تا ۶۰۰ میلی آمپر جریان دهی خواهد داشت. از ویژگی‌های این شیلد می‌توان به داشتن ۲ کانکتور + ۵ ولت Dc اشاره کرد. همچنین دارای ۴ رابط کانکتور برای اتصال استپر موتور Stepper Motor و موتور ( ۲ استپر موتور + ۲ موتور DC) است. شیلد درایور موتور L293 دارای ۶ پین برای اتصال دو سرو موتور Servo Motor است که با نام های SER1 و SERVO – ۲ بر روی شیلد مشخص شده است. یک کلید ریست Reset پایین شیلد قرار گرفته شده است. ولتاژ ورودی شیلد درایور موتور ۴٫۵ تا ۱۲ ولت DC است. این شیلد قابلیت راه اندازی با میکروکنترل های آردوینو Arduino UNO و آردوینو Arduino Mega2560 را دارد. ابعاد شیلد درایور موتور ۶۹ * ۵۳ * ۱۴٫۳ میلی متر است. برای اطلاعات بیشتر به آمورش بخش اول شیلد درایور موتور L293D مراجعه کنید.

 

هدف از آموزش کنترل جهت موتور DC

در این آموزش با استفاده از ماژول جوی استیک JoyStick به دو موتور Motor DC فرمان می‌دهیم. در ادامه آموزش اتصالات و کد برنامه را بررسی خواهیم کرد.

 

ماژول جوی استیک Joy Stick Module

جوی استیک Joystick PS2 یک ماژول با خروجی آنالوگ و قابلیت شبیه سازی مختصات اهرم در راستای دو محور X و Y می‌باشد. در بسیاری از پروژه‌های رباتیک نیاز به جوی استیک کاملا مشهود است. ماژول جوی استیک JoyStick قابلیت حرکت در تمام زوایا در راستای محور X , Y را دارد. بر روی ماژول جوی استیک JoyStick دو پتانسیومتر ۱۰ کیلو با زاویه ۹۰ درجه در کنار یکدیگر قرار گرفته‌اند. با تغییر وضعیت اهرم قرار گرفته شده بر روی ماژول در راستای محور X,Y بسته به مسیر و جهت انتخابی، ولتاژ خروجی بین ۰ تا ۵ ولت DC تغییر خواهد کرد. هنگامی که ماژول جوی استیک را به میکروکنترلر متصل می‌کنید، در خروجی تا مقدار ۵۱۲ را در حالت Resting می‌توانید بخوانید. در حالت کلی با تغییر اهرم ماژول جوی استیک  مقدار  ۰ تا ۱۰۲۳ را می‌توانید در خروجی ماژول ببینید. ماژول جوی استیک JoyStick دارای ۴ پایه به ترتیب GND , 5v , VRx , VRy , SW می‌باشد. پایه VRx مروبط به تغییرات اهرم جوی استیک در راستای محور X  همان محور افقی می‌باشد. پایه VRy  مروبط به تغییرات اهرم جوی استیک در راستای محور Y همان محور عمودی می‌باشد. در آموزش راه اندازی ماژول جوی استیک JoyStick پکیج ۳۷ سنسور آردوینو به صورت کامل به توضیح و نحوه ی راه اندازی این ماژول پرداخته ایم. آن را مطالعه کنید.

 

پیش نیاز بخش دوم شیلد موتور L293D

آموزش شیلد درایور موتور L293D با برد آردوینو بخش اول سرو Servo motor

آموزش راه اندازی ماژول جوی استیک JoyStick پکیج ۳۷ سنسور آردوینو

 

 

اتصال موتور DC به شیلد

بر روی شیلد درایور موتور L293D چهار خروجی M1 تا M4 برای اتصال استپر موتور Stepper Motor و موتور DC بر روی فیبر قرار گرفته شده است. در این آموزش تنها به دو خروجی M1 و M2 نیاز داریم.

  • دو موتور Motor DC را به خروجی ترمینال M1 و M2 اتصال دهید.

اتصال درایور موتور L293D به آردوینو و موتور DC - دیجی اسپارک

 

اتصال ماژول جوی استیک به شیلد

بر روی شیلد درایور موتور L293D پایه های دیجیتال و آنالوگ آردوینو Arduino قرار گرفته شده است. برای استفاده از این پایه ها می‌توانید پین هدر نری و یا پین هدر مادگی بر روی شیلد لحیم کنید تا بتوانید از پایه ها استفاده کنید. ماژول جوی استیک از نوع آنالوگ دو محوره می‌باشد. برای اینکار باید پایه A0 تا A5 را بر روی شیلد لحیم کنید. سپس

  • دو محور X و Y ماژول جوی استیک JoyStick را به ترتیب به پایه A0 و A1 آنالوگ اتصال دهید.
  • پایه های GND, تغذیه ۵ ولت , تغذیه ۹ ولت هم بر روی شیلد درایور موتور قرار دارد. آن را لحیم کرده و سپس اتصالات GND، ۵V ماژول جوی استیک را انجام دهید.

 

 

فراخوانی کتابخانه آردوینو

برای اجرای این پروژه تنها نیاز به کتابخانه AF MOTOR خواهیم داشت. چنانچه شیوه نصب کتابخانه در آردوینو را نمی‌دانید. به پستآموزش نصب کتابخانه در نرم افزار آردوینو مراجعه کنید. اگر هم شیوه نصب و راه اندازی نرم افزار آردوینو را نمی‌دانید. به آموزش کار با برد آردوینو و نصب نرم افزار آردوینو Arduino IDE مراجعه کنید.

  • کتابخانه AF Motor

کتابخانه AFMotor جهت راه اندازی شیلد درایور موتور فراخوانی می‌شود. لینک دانلود این کتابخانه در صفحه محصول شیلد درایور موتور L293D قرار گرفته شده است. از قسمت دانلود آن را دریافت کرده و نصب کنید.

 

کد آردوینو Arduino درایور موتور L293D

کد را از طریق کلید های میانبری که برای انتقال کدها در نظر گرفته شده است، به نرم افزار آردوینو Arduino انتقال دهید.

 

تحلیل کد آردوینو Arudino

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

فراخوانی کتابخانه

تعریف محور X , Y

ماژول جوی استیک در دو محور X , Y حرکت میکند. ماژول جوی استیک در واقع یک ماژول دو محوره آنالوگ است و برای راه اندازی آن از پایه های آنالوگ میکروکنترلر استفاده خواهیم کرد:

فراخوانی موتور Motor DC

در این آموزش تنها از دو خروجی شیلد L293 استفاده شده است. بنابراین از دو موتور DC استفاده خواهیم کرد:

فعال شدن دو موتور

تعریف جوی استیک به عنوان ورودی Input

خواندن دیتا از پایه ماژول جوی استیک

 

راه اندازی درایور موتور L293D به آردوینو و موتور DC - دیجی اسپارک

فعال شدن موتور اول

در این حالت موتور اول فعال شده و سپس در جهت محور X به چرخش درمی‌آید.

فعال شدن موتور دوم

در این حالت موتور دوم فعال شده و در جهت محور Y به چرخش در می‌آید.

 

وسایل مورد نیاز

شیلد درایور موتور L293D

برد آردوینو UNO

موتور DC

کابل فلت

 

 

چنانچه در مراحل راه اندازی و انجام این پروژه با مشکل مواجه شدید، بدون هیچ نگرانی در انتهای همین پست، به صورت ثبت نظر سوالتان را مطرح کنید. من در سریع‌ترین زمان ممکن پاسخ رفع مشکل شما را خواهم داد. همچنین اگر ایرادی در کدها و یا مراحل اجرایی وجود دارند می‌توانید از همین طریق اطلاع رسانی کنید.

 

پروژه

طی چند قسمت قبلی که طرح پروژه را پیاده سازی کردیم، با استقبال شما کاربران مواجه شدیم. در این سری برای اینکه گستره بیشتری از افراد بتوانند فرصت استفاده از بن خرید را داشته باشند؛ روال دیگری را در پیش گرفتیم. در این روش تصمیم گرفته‌ایم به ۱۰ نفر از کاربران بن خرید ارایه شود. برای دریافت بن خرید از دانشجو کیت، کاربران بایستی با استفاده از وسایل این آموزش، پروژه را اجرا کرده و بسته به خلاقیت، مدار جدیدی ایجاد کنید. سپس از اجرای کار فیلم گرفته و در شبکه‌های اجتماعی از جمله آپارات و اینستگرام، با هشتگ «#دیجی_اسپارک» و «#دانشجوکیت» و «#digispark» و «#daneshjookit» منتشر کنند. سپس از طریق بخش نظرات در ادامه همین آموزش، جهت دریافت بن خرید ارسال رایگان به ارزش ۱۰۳۰۰ تومان از دانشجو کیت، لینک را زیر همین پست ارسال کنید.

 

در پایان نظرات و پیشنهادات خود را با ما درمیان بگذارید و با اشتراک گذاری این آموزش در شبکه های اجتماعی , از وبسایت دیجی اسپارک حمایت کنید.

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

پریسا پوربلورچیان

تولید کننده محتوا / کارشناس IOT

زندگی یعنی پژوهش و فهمیدن چیزی جدید

تلاشم بر این است تجربیاتم در زمینه IOT‌ را به بهترین شکل با شما در میان بگذارم.

تبادل نظر و رفع عیب با ثبت دیدگاه

۸ دیدگاه

  • واقعا هیجان زده شدم خانم مهندس بلورچیان
    همیشه فکر میکردم این آخرین مرحله باشه که بیام سراغ ساخت ماشین !!
    شما با ساده ترین امکانات ماشین درست کردین و نشون میده حواستون به اوضاع مالی ماها هست.
    لطفا لطفا ادامه دار باشه تا بتونم به نتیجه برسم

  • سلام و درود.
    با این کانفیگ آیا می شه دو عدد موتور ۱۲ ولت دی سی رو با پروتکل pwm کنترل کرد ؟ توان هر موتور تقریبا ۳۰ وات و جمعا ۶۰ وات توان خروجی نیاز دارم از درایو موتور.

    • سلام
      کاربر گرامی مدیریت دو موتور با موج pwm هیچ ربطی به این آموزش ندارد. اگر قصد شما این است که بدون برنامه نویسی و داشتن دانش فنی یک درایور موتور راه اندازی کنید، خیر چنین موضوعی امکان پذیر نیست. تمامی آموزش‌های دیجی اسپارک بر حسب موقعیت و کاربرد می‌بایست تغییر و توسعه داده شوند. این شیلد درایور هم ویژگی‌هایی دارد اعم از ولتاژ و جریان قابل عبور که همگی در متن آموزش توضیح داده شده است.

  • واقعا عالی بودو لذت بردم
    مدتی هست که روی شیلد درایور ها مطالعه میکنم و به درایورL293D که تحت nodeMCU و blynk ران میشه برخوردم اینطور به نظرم بهتره چون نه دیگه به جامپراضافه نیازی هست و نه جوی استیک و نه حتی برد اردینو
    اینطور میشه از فاصله خیلی دور تر موتور ها رو کنترل کرد و یکسری کار های جالب انجام داد. البته بخشی از این کار رو با دو تا HC-05 MASTER & SLAVE هم میشه انجام داد ولی خب بازم باید از جوی استیک و اردینو استفاده کرد .
    نظرتونو خواستم در موردش بدونم چون واقعا برام اهمیت داره:)

    • سلام و تشکر ازشما
      در این خصوص به روش‌های مختلف و با پلتفرم‌های مختلفی مانند Blynk می‌شود موارد را پیاده سازی کرد. البته بازهم در این مورد استفاده از برد آردوینو اجباری است. چرا که شیلد درایور موتور به تنهایی امکان کامپایل کدها را ندارد. در کل بنده متوجه نشدم که چه کاری مد نظرتون هست. لطفا دقیق‌تر بیان کنید تا راهنمایی کاملی ارایه دهم.

      • بله شیلد درایور موتور به تنهایی قابلیت کامپال کد ها را ندارد ولی از ان جای که nodeMCU دقیقا روی شیلد درایور l293d نصب میشود این امکان برای کامپایل کد ها فراهم میشود.
        البته منظور من نوعه خاصی از شیلد موتور درایور L293D هست جهت درک بیشتر موضوع میتوانید به لینک زیر مراجعه کنید.نا گفته نماند که این پروژه نظر من رو خیلی به خودش جلب کرده و هم اکنون در حال کار کردن روی ان با استفاده از پلتفرم Blynk هستم اگر خواستید در صورت اتمام پروژه حتما شما رو مطلع و فیلم ان را برای شما خواهم فرستاد.
        سپاس فراوان 🙂
        https://www.instructables.com/id/Motorize-IoT-With-ESP8266

        • سلام مجدد
          آهان، خب در این خصوص توضیحات قبلی شما کامل نبوده است. بله این شیلد در فروشگاه موجود است. آموزش مورد نظر شما هم بسیار جذاب می‌باشد. شما می‌توانید در دیجی اسپارک حساب کاربری بسازید و آموزشتان را منتشر کنید.