شما به اینترنت متصل نیستید.
آموزش آردوینو: درس پانزدهم (موتور DC - بخش دوم)
نویسنده:
امتیاز دهید

آموزش آردوینو: درس پانزدهم (موتور DC - بخش دوم)

سری آموزش آردوینو: درس پانزدهم

در این درس شما یاد خواهید گرفت که چگونه جهت چرخش و سرعت یک موتور DC کوچک را از طریق برد آردوینو و تراشه درایور موتور L293D کنترل کنید.

آموزش آردوینو: درس چهاردهم(سروو موتور)

آموزش آردوینو: درس چهاردهم (سروو موتور)
آموزش آردوینو: درس چهاردهم (سروو موتور)
سری آموزش آردوینو: درس چهاردهم در این درس یادخواهید گرفت که چگونه یک سروو موتور را توسط آردوینو کنترل کنید. آموزش آردوینو: درس سیزدهم(موتورDC-یخش اول)...
زمان مطالعه: 13 دقیقه

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

قطعات مورد استفاده:

برد آردوینو Arduino UNO R3
برد آردوینو و کابل رابط
1 عدد
برد بورد
1 عدد
میکروسوئیچ-pushbutton
1 عدد
موتور DC کوچک 6V
1 عدد
مقاومت متغییر 10 کیلو اهم
1 عدد
آی سی درایور موتور L293D اصلی
L293D
1 عدد
سیم اتصال به برد بورد
1 عدد

قبل از شروع برنامه اصلی، ابتدا از تراشه کنترل موتور L293D استفاده کنید تا دیدی نسبت به نحوه عملکرد آن پیدا کنید.

از برد آردوینو فقط برای تامین توان 5V موتور استفاده می شود.

ابتدا بررسی کنید که موتور در چه جهتی می چرخد. این کار را می توانید با توجه به مدار درس سیزدهم انجام دهید. جهت چرخش با لمس کردن شفت موتور بین انگشتان دست قابل تشخیص است. جهت چرخش موتور را با عوض کردن سر مثبت و منفی سیم های آن تغییر دهید. این کار به شما دید می دهد که تراشه L293D چگونه کار می­کند. پین کنترل این تراشه این امکان را ایجاد می کند که کاری مشابه را انجام داده وجهت چرخش موتور را تغییر دهید.

اتصالات مدار را مطابق شکل زیر انجام دهید. آردوینو همچنان به عنوان تامین کننده توان عمل می کند.

سه تا از پین های تراشه L293D مورد توجه می باشند. پین1 (Enable)، پین2 (In1) و پین7 (In2). این پین ها توسط سیم های بنفش، زرد و نارنجی به +5V و GND متصل شده اند.

با توجه به نحوه اتصالات مطابق شکل بالا، موتور در یک جهت که به طور مثال A نام گذاری شده است، می چرخد.

اگر پین1 (Enable) به GND متصل شود، موتور متوقف می شود و تغییر دادن دو پین دیگر هیچ تاثیری در آن نخواهد داشت. می توان از این پین به عنوان خروجی PWM استفاده کرده و سرعت موتور را کنترل کرد. مجددا پین1 را به +5V متصل کنید، موتور مجددا شروع به کار خواهد کرد.

حال پین2 (In1) را از 5V به GND متصل کنید، در این حالت هر دو پایه In1 و In2 به GND متصل می باشند، لذا مجددا موتور متوقف خواهد شد.

با جابه جا کردن پین7 (In2) از GND به 5V جهت چرخش موتور تغییر خواهد کرد( جهت B). در نهایت با برگرداندن In1 به 5V، هر دوپایه In1 و In2 به 5V متصل بوده و موتور خاموش خواهد شد.

اکنون برنامه اصلی برای کنترل موتور را پیاده سازی کنید، اجازه دهید که آردوینو پین های Enable، In1 و In2 را کنترل کند. وقتی اتصالات را انجام می دهید، مطمئن شوید که تراشه به طور درست در جایگاه خود قرار گرفته باشد.

برنامه زیر را روی برد آپلود کنید:

int enablePin = 11;

int in1Pin = 10;

int in2Pin = 9;

int switchPin = 7;

int potPin = 0;

 

void setup()

{

  pinMode(in1Pin, OUTPUT);

  pinMode(in2Pin, OUTPUT);

  pinMode(enablePin, OUTPUT);

  pinMode(switchPin, INPUT_PULLUP);

}

 

void loop()

{

  int speed = analogRead(potPin) / 4;

  boolean reverse = digitalRead(switchPin);

  setMotor(speed, reverse);

}

 

void setMotor(int speed, boolean reverse)

{

  analogWrite(enablePin, speed);

  digitalWrite(in1Pin, ! reverse);

  digitalWrite(in2Pin, reverse);

}

نحوه عملکرد برنامه را در ویدئو زیر می توانید مشاهده کنید:

طبق روال قبل پین ها معرفی شده و وضعیت آنها نیز در حلقه setup تعیین شده است. در حلقه Loop یک متغییر برای سرعت موتور تعیین شده که مقادیر خوانده شده از ورودی آنالوگ ابتدا بر 4 تقسیم شده و سپس در آن ذخیره می شوند. این تقسیم نیز به این خاطر است که، مقادیر ورودی آنالوگ اعدادی بین 0 تا 1023 بوده ولی مقادیر خروجی آنالوگ باید اعدادی بین 0 تا 255 باشند.

اگر کلید فشرده شود، جهت چرخش موتور با توجه به مقدار متغییر reverse تغییر خواهد کرد. متغییر reverse وضعیت پین مربوط به کلید را در خود ذخیره می کند. اگر کلید فشار داده شود مقدار صفر در غیر این صورت مقدار یک را برمی گرداند.

مقادیر متغییرهای speed و reverse به تابعی به نام setMotor منتقل شده و از آن طریق به پین های مورد نظر در درایور موتور منتقل می شوند.


void setMotor(int speed, boolean reverse)

{

  analogWrite(enablePin, speed);

  digitalWrite(in1Pin, ! reverse);

  digitalWrite(in2Pin, reverse);

}

در ابتدا مقدار سرعت از طریق دستور analogWrite به پین enable منتقل خواهد شد. جهت چرخش نیز با توجه به مقادیر صحیحی که پین های in1 و in2 دریافت می کنند تنظیم می شود.

اگر in1 در وضعیت high و پین in2 در وضعیت low قرار داشته باشد، موتور در یک جهت خواهد چرخید و اگر وضعیت پین ها برعکس شود، جهت چرخش پین ها نیز تغییر خواهد کرد. با توجه به علامت ! همواره مقادیر پین های in1 و in2 معکوس یکدیگر خواهد بود.

تراشه L293D:

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

تراشه L293D دارای دو پایه برای اتصال به ولتاژ مثبت می باشد (8 و 16). پین +Vmotor (8) توان موتور و پین +V (16) توان تراشه را تامین می کند. در این جا هر دوی آنها به +5V آردوینو متصل شده اند. در صورتی که از موتوری استفاده می کنید که توان بالایی دارد، لازم است که از یک منبع قوی تر خارجی استفاده کرده و سر مثبت آن را به پایه 8 تراشه متصل کنید و سر منفی آن را با منفی برد آردوینو یکی کنید.

به عنوان کارهای دیگری که می توان انجام داد، سعی کنید وضعیت موتور را بدون استفاده از پتانسیومتر و کلید تغییر دهید. به این صورت که ابتدا موتور در یک جهت از سرعت آرام شروع به کار کرده سرعتش افزایش می یابد، سپس سرعتش به آرامی کاهش یافته صفر شده و در جهت معکوس شروع به حرکت می کند.

آموزش آردوینو: درس شانزدهم(استپر موتور)

معرفی و راه‌اندازی استپر موتور با آردوینو
معرفی و راه‌اندازی استپر موتور با آردوینو
در این آموزش به معرفی استپر موتور و بررسی نحوه راه اندازی آن با آردوینو خواهیم پرداخت.
زمان مطالعه: 36 دقیقه

نظرات شما باعث بهبود محتوای آموزشی ما می‌شود. اگر این آموزش را دوست داشتید، همین‌طور اگر سوالی در مورد آن دارید، از شنیدن نظراتتان خوشحال خواهیم شد.

ترجمه شده و تکمیل توسط اتومی | منبع : adafruit.com

مطالب مرتبط

آشنایی با انواع بردهای آردوینو آردوینو

آشنایی با انواع بردهای آردوینو

در این آموزش به معرفی انواع بردهای آردوینو می‌پردازیم و سپس اجزای مختلف برد را بررسی خواهیم کرد.
2 سال قبل
شروع کار با نرم‌افزار آردوینو آردوینو

شروع کار با نرم‌افزار آردوینو

در این آموزش با نرم افزار آردوینو آشنا خواهید شد و اولین پروژه تان را به کمک آردوینو انجام خواهید داد.
2 سال قبل
آموزش جامع آردوینو (مبتدی و پیشرفته) آردوینو

آموزش جامع آردوینو (مبتدی و پیشرفته)

جمعیت افراد علاقه‌مند به ساختن (Makers) در سال‌های اخیر رشد قابل توجهی داشته است. این موضوع تا حد زیادی مربوط به توسعه نرم‌افزارها و سخت‌افزارهای منبع
2 سال قبل
ارتباط آردوینو با متلب و سیمولینک آردوینو

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

در این قسمت قصد داریم به نحوه ارتباط نرم افزار متلب و سیمولینک با برد آردوینو بپردازیم.
2 سال قبل
فهرستی از محبوب‌ترین شیلدهای آردوینو آردوینو

فهرستی از محبوب‌ترین شیلدهای آردوینو

صدها شیلد مختلف برای بردهای آردوینو وجود دارد که همه آن‌ها برد آردوینو شما را بیش از یک برد توسعه‌یافته با LED چشمک‌زن تبدیل می‌کنند. در این پروژه از...
2 سال قبل
مقایسه‌ی رزبری‌پای 4 Raspberry Pi با آردوینو و بردهای مشابه رزبری پای

مقایسه‌ی رزبری‌پای 4 Raspberry Pi با آردوینو و بردهای مشابه

در این قسمت خیلی سریع می‌خواهیم رزبری‌پای را با آردوینو و بردهای مشابه مانند Orange Pi، BeagleBone، ASUS Tinker Board و NVIDIA Jetson Nano مقایسه کنیم.
2 سال قبل
معرفی و راه‌اندازی انواع ماژول وایرلس با آردوینو آردوینو

معرفی و راه‌اندازی انواع ماژول وایرلس با آردوینو

این مطلب قسمت چهاردهم از آموزش جامع آردوینو (مبتدی و پیشرفته) است. در این قسمت قصد داریم به معرفی ماژول‌های بی‌سیم یا وایرلس بپردازیم. با اضافه کردن ی...
2 سال قبل
آماده‌سازی شیلدهای آردوینو و اتصال هدرها آردوینو

آماده‌سازی شیلدهای آردوینو و اتصال هدرها

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

معرفی و راه‌اندازی سنسورهای دما و رطوبت با آردوینو

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

معرفی و راه‌اندازی ماژول کی‌پد فلت و جوی‌استیک با آردوینو

در این آموزش قصد داریم به نحوه کار و راه اندازی دو ماژول کی پد فلت و جوی استیک را به کمک آردوینو بپردازیم.
2 سال قبل
تاکنون هیچ نظری ثبت نشده است.
برای ثبت نظر وارد حساب کاربری خود شوید.