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

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

سلام . برای شما پروژه کنترل سروو موتور با آردوینو (آموزش سروو موتور با آردوینو) را آماده کرده ایم. همچنین آموزش سروو موتور با آردوینو را میتوانید در این مطلب ببینید. فیلم عملکرد مدار را از دست ندهید!

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

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

مدار پروژه اتصال سروو موتور به Arduino

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

  • آردوینو Uno
  • منبع تغذیه 5V
  • خازن 100 پیکوفاراد
  • دکمه (2 قطعه)
  • مقاومت 1 کیلو اهم (2 قطعه)
  • سروو موتور
قطعات مورد نیاز را از فروشگاه قطعات آیرنکس تهیه کنید.

سروو موتور

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

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

  1. سیم قرمز : به منبع تغذیه وصل میشود.
  2. سیسم مشکی : به زمین وصل میشود.
  3. سیم زرد : به سیگنال کنترل وصل میشود.

سروو موتور، ترکیبی از یک موتور DC و یک سیستم کنترل موقعیت و چرخ دنده ها است. موقعیت شفت موتور DC توسط کنترل الکتریکی توسط سیگنال PWM تنظیم میشوند.
میکروکنترلر موقعیت شفت را با کنترل موتور DC تنظیم میکند و اطلاعات مربوط به موقعیت شفت از طریق پین Signal ارسال میشود. داده های موقعیتی کنترل باید به شکل سیگنال PWM به پین سیگنال سروو موتور فرستاده شوند.

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

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

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

پرونده Servo.h شامل کلیه عملکردهای مورد نیاز ما می باشد، پس از فرخوانی آن، دیگر لازم نیست نگران فرکانس PWM و DUTY RATIO باشیم. با این کار شما می توانید موقعیت سروو موتور را به سادگی تنظیم کنید.

اسم برای سروو با استفاده از خط “Servo servo1” انتخاب می شود، در اینجا myservo انتخاب شده است. بنابراین برای کنترل موقعیت سروو موتور از این نام استفاده میکنیم.

#include <Servo.h>
Servo servo1;

برای اعلام کردن  پین PWM از کد زیر استفاده میکنیم :

servo1.attach (2); // اعلام پین 2 برای سیگنال PWM

همچنین برای تغییر موقعیت سروو از دستور زیر استفاده میکنیم. ما می خواهیم موقعیت سروو را روی 45 درجه تنظیم کنیم. با این دستور سروو 45 درجه حرکت می کند. اگر 45 را به 175 تغییر دهیم ، محور سروو به 175 درجه می رود و در آنجا می ماند. پس از آن ، هر زمان که نیاز به تغییر موقعیت سروو داشته باشیم، فقط باید دستور “myservo.write (درجه)” را قرار دهیم.

servo1.attach (2); // اعلام پین 2 برای سیگنال PWM

در برنامه ، ما با استفاده از حلقه ها قصد داریم زاویه ها را افزایش و کاهش دهیم. بنابراین سروو از 0 تا 180 ، سپس از 180 به 0 می رود. کنترل سروو  موتور به اینصورت در کد زیر توضیح داده شده است.

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

کد کامل :

#include <Servo.h>
Servo servo1; // انتخاب یک نام
int angle = 0; // تنظیم موقعیت اولیه سروو موتور
void setup() {
  servo1.attach(2);// سروو موتور را به پین 2 متصل میکنیم
}
void loop() {
  for (angle = 0; angle <= 180; angle += 1) {
   // موقعیت سروو از 0 تا 180 تغییر میکند
    servo1.write(angle);
  // سروو موتور به موقعیتی که در متغیر angle است میرود
    delay(15); // تاخیر 15 میلی ثانیه
  }
  for (angle = 180; angle >= 0; angle -= 1) {// موقعیت سروو از 180 تا 0 درجه تغییر میکند
    servo1.write(angle);    
 // سروو موتور به موقعیتی که در متغیر angle است میرود          
    delay(15); // تاخیر 15 میلی ثانیه
  }
}
موارد موجود در فایل : شماتیک کامل ، فایل Hex ، فایل آردوینو ، و …
5 (7 نفر)

اگر در مورد این مطلب سوالی دارید در قسمت نظرات بپرسید

برای دریافت مطالب جدید کانال تلگرام یا پیج اینستاگرام ما را دنبال کنید.

محمد رحیمی

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

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

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

2 نظر

  1. سلام من می‌خوام ی برنامه ای بنویسم که با مجوز دادن از طریق دکمه،ادوینو دستورات رو بدون کنترل دستی انجام بده،و من فقط با دکمه ب اردوینو اجازه انجام و شروع برنامه رو بدم،میشه ب برنامه هم برای این کار در سایتتون قرار بدین؟ممنون💗

  2. مهندس من اینو کامل خوندم منظور اینه که بعد از تنظیم سروو اگه سروو رو از آردینو جداکنیم وصل کنیم به رسیور رادیو دیگه ۴۵ درجه میچرخه

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

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