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

مقدمه

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

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

سروموتور در روباتیک بسیار کاربردی هستند. موتورهای سروو کوچک هستند و مداربندی کنترل توکار دارند و بخاطر اندازه شان بسیار قدرتمند هستند .یک موتور سرور استاندارد مثل فوتابا اس-148 گشتاور 42 اونس بر اینچ دارد که برای اندازه اش قوی است. همچنین توان مکانیکی را متناسب با بار مکانیکی مصرف میکند. در نتیجه یک موتور با بار کوچک انرژی زیادی مصرف نمیکند.

اجزای یک موتور سروو در تصویر زیر نشان داده شده است. در این شکل می توانید مدارات کنترلی, دنده ها و محفظه را ملاحظه کنید. همچنین می توانید سه سیم را که به فضای بیرونی متصل شده اند را ببینید. یکی برای تغذیه 5+ ولت، زمین و سیم سفید سیم کنترل است.

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

طرز کار یک موتور سروو

یک موتور سروو تعدادی مدارات کنترل و یک پتانسیومتر(مقاومت متغیر) که به محور خارجی متصل است دارد. در تصویر بالا  پتانسیومتر در سمت راست برد مدار مشاهده میشود. این پتانسیومتر به مدار اجازه ی کنترل زاویه و جهت جریان موتور را می دهد.

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

اگر محور در زاویه صحیح قرار داشته باشد , موتور متوقف میشود. اگر مدار متوجه شود که زاویه محور صحیح نیست, موتور را خواهد چرخاند تا در زاویه مطلوب قرار گیرد. محور خارجی موتور سروو قابلیت گردش 180 درجه را دارد. معمولا در بازه ی  210درجه قرار دارد اگرچه , بسته به سازنده تغییر میکند. یک موتور سروو نرمال برای کنترل زاویه 0 تا 180درجه استفاده میشود و به طور مکانیکی قابلیت چرخاندن محور دورتر را به دلیل دکمه ایست مکانیکی توکار در دنده اصلی خارجی را ندارد. توان اعمال شده به موتور  متناسب با مسافتی که برای گردش نیاز دارداست. پس اگر محور به یک گردش زیاد نیاز دارد موتور با تمام سرعت کار خواهد کرد. اگر نیاز دارد که مقدار کمی گردش کند موتور با سرعت پایین تری کار خواهد کرد. این مسئله کنترل نسبی نام دارد.

چگونه جهتی که موتور باید بچرخد را کنترل میکنیم؟

سیم کنترل برای این امر استفاده میشود. زاویه توسط طول مدت پالسی که به سیم کنترل اعمال میشود مشخص میشود. این پالس PCM یا مدولاسیون کد شده پالسی نامیده میشود(مشابه PWM). موتور انتظار دارد که هر 20میلی ثانیه یک پالس به آن اعمال شود. طول پالس معین میکند که موتور تا چه مسافتی گردش میکند. برای مثال یک پالس 1.5 میلی ثانیه ای باعث میشود موتور  90درجه گردش کند (که اغلب موقعیت خنثی نامیده میشود). اگر پالس کوتاه تر از 1.5میلی ثانیه باشد موتور محور را نزدیک به صفر درجه میچرخاند. اگر پالس بلند تر از 1.5 میلی ثانیه باشد, محور نزدیک به 180درجه میچرخد.

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

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

تجهیزات لازم :

  • یک برد آردوینو
  • سروموتور
  • تراشه راه انداز ULN2003
  • یک مقاومت 10 کیلو اهم

سخت افزار

مطابق شکل زیر سخت افزار پروژه را آماده کنید :

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

برنامه

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

/* Controlling a servo position using a potentiometer (variable resistor) */ #include <Servo.h> Servo myservo;    // create servo object to control a servo int potpin = 0;    // analog pin used to connect the potentiometer int val;      // variable to read the value from the analog pin void setup() {   myservo.attach(9);  // attaches the servo on pin 9 to the servo object } void loop() { val = analogRead(potpin);   // reads the value of the potentiometer (value between 0 and 1023) val = map(val, 0, 1023, 0, 180);   // scale it to use it with the servo (value between 0 and 180)   myservo.write(val);   // sets the servo position according to the scaled value   delay(15); }

نکات

موتور های سروو سه پایایه دارند : تغذیه, زمین و سیگنال. سیم تغذیه معمولا قرمز است و باید به پایه ی 5 ولت روی آردوینو وصل شود. سیم زمین معمولا مشکی یا قهوه ای است و باید به یک پایایهراه اندازی موتور سروو با آردینو از آی سی ULN2003 وصل شود. برای محافظت از برد آردوینو خود در برابر آسیب به تعدادی آی سی راه انداز نیاز دارید. اینجا ما از آی سیULN2003 برای راه اندازی موتور سروو استفاده کرده ایم. پایه ی سیگنال معمولا زرد یا نارنجی است و باید به پایه شماره 9 آردوینو متصل شود.

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

متصل کردن پانسیومتر

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

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

Vout ولتاژ خروجی هست که به ولتاژ ورودی اعمال شده (vin) و مقاومت های سری (R1 و R2) بستگی دارد. جریانی که از R1 جاری میشود از R2 نیز عبور میکند بدون اینکه تقسیم شود. در معادله ی بالا اگر مقدار R2 تغییر کند vout با ولتاژ ورودی vin تنظیم میشود. معمولا یک پتانسیومتر یک تقسیم کننده ولتاژ است که میتواند ولتاژ خروجی مدار را بر اساس مقدار مقاومت متغیر تنظیم کند که با استفاده یک دکمه تنظیم میشود. این دکمه سه پایه دارد : زمین و سیگنال و 5V که در شکل زیر نشان داده شده است.

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

نتیجه :

پتانسیومتر را تغییر دهید و زاویه محور موتور تغییر خواهد کرد.

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

اگر این نوشته‌ برایتان مفید بود لطفا کامنت بنویسید.

مطالعه دیگر جلسات این آموزش<< جلسه قبلی                    جلسه بعدی >>

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

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