رباتیک و هوافضا

آموزش پروژه محور آردوینو – جلسه چهاردهم سروو موتور

آموزش های پروژه محور آردوینو

به نام خدا

آموزش پروژه محور آردوینو – جلسه چهاردهم سروو موتور

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

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

 

learn_arduino_knob

 

قطعات مورد نیاز پروژه :

– سروو موتور

learn_arduino_motor_servo

 

– پتانسیومتر ۱۰ کیلو اهمی

learn_arduino_pot

 

– بردبورد

learn_arduino_breadboard_half_web

 

– برد آردوینو UNO

learn_arduino_uno_r3_web

– تعدادی سیم

 

learn_arduino_jumpers_web

 

– خازن ۱۰۰ میکرو فاراد

 

learn_arduino_cap_100uF

 

شماتیک مدار رفت و برگشتی سروو :

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

learn_arduino_fritzing_sweep

 

سروو موتور سه پایه دارد که عموما به این سه پایه سه سیم به رنگ های قهوه ای ، قرمز و نارنجی وصل می شوند . سیم قهوه ای باید به زمین وصل شود ، سیم قرمز به ۵ ولت و سیم نارنجی به سیگنال PWM وصل شود . سیم نارنجی را به پین شماره ۹ آردوینو وصل کرده ایم .

learn_arduino_sweep

 

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

بیشتر بخوانید...  شرح چند دستور مفید رزبری پای

این مشکل با گذاشتن یک خازن در حد چند صد میکروفاراد بین زمین و ۵ ولت حل می شود .

learn_arduino_fritzing_with_cap

 

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

کد های آردوینو برای عملکرد رفت و برگشتی آردوینو :

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

برای دانلود برنامه بر روی لینک زیر کلیک کنید .

 

دانلود فایل

 

در خط زیر کتابخانه servo را اضافه کرده ایم . این کتابخانه این امکان را به می دهد که بتوانیم به سروو موتور زاویه بدهیم یعنی عددی که در آردوینو وارد می کنیم همان زاویه سروو موتور است .

#include <Servo.h>

خط زیر برای تعریف سروو است .

Servo servo;

اگر بخواهیم سروو بیشتری را تعریف کنیم می توانیم به صورت خطوط زیر عمل کنیم .

    Servo servo1;
    Servo servo2;

در تابع setup باید شماره پین را که سروو موتور به آن وصل است مشخص کنیم .

 servo.attach(servoPin);

توسط خط زیر می توانیم به سروو موتور زاویه بدهیم .

servo.write(angle);

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

بیشتر بخوانید...  ساخت ساعت دقیق با سیستم هشدار دهنده و نمایش دما با آردوینو و DS3231

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

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

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

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

 

دانلود فایل

 

همان طور که در برنامه بالا دیدید ، عددی را که از مبدل آنالوگ به دیجیتال دریافت می کنیم عددی بین ۰ تا ۱۰۲۳ است که بر عدد ۶ تقسیم می کنیم تا تقریبا نزدیک به ۱۸۰ شود . ۱۰۲۳ بر ۶ تقسیم شود برابر ۱۷۰٫۵ می شود این یعنی ما سروو را با چرخش پتانسیومتر از ۰ تا ۱۷۰ تغییر می دهیم .

سروو موتور ها :

موقعیت موتور سروو با پهنای پالس تنظیم می شود . سروو موتور تقریبا هر ۲۰ میلی ثانیه یک پالس نیاز دارد . اگر پهنای پالس ارسالی یک میلی ثانیه باشد سروو در موقعیت صفر درجه قرار می گیرد و اگر پهنای پالس ۱٫۵ میلی ثانیه باشد در مرکز یعنی در ۹۰ درجه قرار می گیرد و اگر پهنای پالس ۲ میلی ثانیه باشد سروو در وضعیت ۱۸۰ درجه قرار دارد .

learn_arduino_servos

 

پایان جلسه چهاردهم

 

دیدگاه‌ها (0)

*
*