سبد (0)

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

درست مانند رله ها در فصل قبل، در این بخش می خواهیم ببینیم که سروو موتورها چه هستند و چه کاربردی دارند. ما همچنین قصد داریم سروو موتورها را با استفاده از یک مثال Blink مورد تست قرار دهیم.


سروو 101

یک سروو موتور در حقیقت یک موتور است که می توانیم به وسیله ی موقعیت زاویه ای اش، آن را کنترل کنیم. سروو موتورهایی که می خواهیم از آن استفاده کنیم، سروو های میکرو 180 درجه است که در تصویر زیر نشان داده شده است:

سروو موتور

 سروو موتورها اندازه ها و ظرفیت های متفاوتی دارند. ما می خواهیم از سروو موتورهایی استفاده کنیم که سایز استانداردی دارند و گشتاور بیشتری به ما می دهند اما این کار به انرژی بیشتری احتیاج دارد. برای انجام این کار ما از یک سروو موتور میکرو استفاده می کنیم. در تصویر بالا، سه سیم به سروو موتور متصل هستند. رنگ این سیم ها به صورت زیر تفسیر می شود:

  • رنگ سیاه یا قهوه ای: GND
  • رنگ قرمز: 5V
  • رنگ زرد یا نارنجی: سیگنال

سیگنال مورد نظر مشخص می کند که چگونه سروو موتور باید کنترل شود و چقدر باید بچرخد(بین 0 تا 180 درجه).


تست کردن یک سروو موتور

یک سروو موتور را بردارید. ممکن است بازوی این سروو موتور متفاوت باشد( معمولا قطعه ی سفید رنگی است که می تواند به یک سروو موتور وصل شود و با آن بچرخد). فعلا فقط کافیست یک بازو را به سروو موتور وصل کنید. اما نیازی نیست آن را بچرخانید. اما اگر فکر می کنید که بازوی وصل شده خیلی سست است، می توانید به آرامی آنها را به یکدیگر پیچ کنید. اکنون سروو موتور به صورت زیر خواهید بود:

بازوی سروو موتور

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

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

 سعی کنید بازوهای سروو موتور خود را حرکت دهید با به این نقطه برسید. اینجا نقطه ی مرکزی سروو موتور است(90 درجه).


 برنامه نویسی یک سروو موتور

برنامه نویسی یک سروو موتور به سادگی برنامه نویسی یک ال ای دی است.کابل USB آردوینو مگا را قطع کنید. حالا مدار زیر را ایجاد کنید:

مدار سروو موتور

 ما باید از سیم های اتصال نری به نری برای اتصال سروو موتور به آردوینو مگا استفاده کنیم. اتصالات از آردوینو به سروو موتور به صورت زیر هستند:

  • GND به GND(مشکلی یا قهوه ای)
  • 5V به VIN(برق-قرمز)
  • D09 به سیگنال(زرد یا نارنجی)

حالا آردوینو مگا  را به کابل USB وصل کنید. ممکن است صدایی را از سروو موتور بشنوید. حتی ممکن است موقعیت آن تغییر کند پس نگران آن نباشید. حالا  برنامه ی servo sweep را که در آدرس زیر قرار دارد باز کنید:

File → Examples → Servo → Sweep

سپس برنامه را آپلود کنید. خواهید دید که سروو موتور از 0 تا 180 درجه می چرخد و دوباره به 0 درجه باز می گردد. و این کار را ادامه می دهد. در این برنامه، در داخل حلقه به کدهای زیر توجه کنید:

for(pos = 0; pos < 180; pos += 1) // از 0 تا 180 درجه تغییر می کند
{ 
myservo.write(pos); // برود pos به سروو موتور می گوید که به موقعیت 
delay(15); // پانزده میلی ثانیه به سروو موتور زمان می دهد تا به موقعیت خود برسد
}

 به خط کدی که نوشته است delay(15) توجه کنید. این خط بسیار مهم است. این وقفه سرعتی که سروو موتور می چرخد را کنترل می کند. فعلا کافیست که این وقفه را برای روی 15 میلی ثانیه تنظیم کنیم.  ما می توانیم یک سروو موتور دیگر را نیز اضافه کنیم و برنامه را بر این اساس تغییر دهیم تا نتیجه ی مشابهی را دریافت کنیم. اگر در این زمینه به کمک نیاز داشتید، بخش زیر را مطالعه کنید.


 استفاده از چند سروو موتور

اکنون می خواهیم چند سروو موتور را کنترل کنیم. چون که آردوینو مگا تنها سه پین 5 ولت دارد، ما می خواهیم برای انجام اتصالات از یک برد برد استفاده کنیم. بنابراین مدار زیر را ایجاد کنید:

استفاده از چند سروو موتور

 در تصویر بالا تنها چهار سروو موتور به کار رفته است. از همین روش استفاده کنید و تمام 12 سروو موتور را متصل کنید.همان طور که قبلا گفتیم، تعداد سیم هایی که به یکدیگر متصل شده اند گیج کننده است. وقتی که دارید سیم های نری به نری را متصل می کنید، مواظب باشید. مطمئن شوید که سیم های اتصال به زمین(ground) و ولتاژ و سیگنال به درستی متصل شوند.

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

  • GND به GND
  • 5V به VIN
  • D22 به سیگنال سروو موتور 01
  • D23 به سیگنال سروو موتور 02
  • ...
  • D33 به سیگنال سروو موتور 12

حالا فایل multi_sweep.ino که در فایل های دانلودی این فصل قرار دارد را باز کنید. و آردوینو مگا را به USB متصل کنید و برنامه را آپلود کنید. خواهید دید که آردوینو مگا خاموش و روشن می شود و کار نمی کند. دلیل این امر این است که آردوینو مگا نمی تواند 12 سروو موتور را همزمان راه اندازی کند. ما می توانیم حداکثر 4 سروو موتور را با آن راه اندازی کنیم. زیرا جریان الکتریکی مورد نیاز توسط USB رایانه تامین نمی شود. چگونه می توانیم 12 سروو موتور را کنترل کنیم؟ در بخش بعدی به این موضوع می پردازیم.

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