arduino--servo-motor

به نام خدا

سروو موتور (Servo motor) یا موتور کنترل نوعی از موتورهای الکتریکی است که با هدف بکارگیری در سیستم‌های کنترل فیدبک طراحی می‌شود. این موتور ها قدرت زیادی دارند و میتوانند وزن زیادی را متحمل شوند. زاویه چرخش سروو موتور ها از ۰ تا ۱۸۰ درجه است اما سروو موتور هایی وجود دارند که میتوانند ۳۶۰ درجه هم دور بزنند. با استفاده میکرو کنترل ها و دادن پالس به آن می توانیم موقعیت شافت را بصورت دقیق مشخص کنیم ، سرعت عملکرد سروو موتور ها بسیار زیاد است . چون میزان لختی یا اینرسی در آن بسیار کم است  و همچنین قدرت زیادی دارند از آنها در موارد مختلف مانند هواپیما های مدل ، چرخش تخم های دستگاه جوجه کشی ، ساختن انواع بازو های الکترونیکی ، ساختن ربات های انسان نما و … مورد استفاده قرار می گیرند .

برای راه اندازی این نوع موتور ها ، باید پالسی بین ۱ تا ۲ میلی ثانیه ایجاد کرد.

لوازم مورد نیاز برای انجام پروژه :

 

اتصالات :

  • سیم زرد سروو(servo) به پین ۹ آردوینو (arduino)
  • سیم قرمز سروو(servo) به ۵v Vcc
  • سیم قهوه ای سروو(servo) به Gnd
  • Vcc و Gnd پتانسیومتر رو خودتون وصل کنید
  • خروجی پتانسیومتر به پین A0 آردوینو (arduino)

 

 

این هم از کد :

 

 

فراخوانی کتابخانه سروو جهت ارتباط برقرار کردن با سروو(servo) موتور

 

ایجاد یک شی جدید از جنس سروو با نام myservo

 

ایجاد یک متغییر با نام pot که قرار است مقدار آنالوگ پتانسیومتر در آن ریخته شود

 

شروع حلقه ی محدود Setup

 

مشخص کردن سریال کاری دریچه ی سریال

 

معرفی پایه ای که سروو به آن متصل است و پایان حلقه ی Setup

 

شروع حلقه ی loop

 

 

خواندن مقدار آنالوگ پتانسیومتر (پین A0 آردوینو) و ریختن آن در رجیستر pot

 

تناسب بندی توسط تابع map بین مقدار آنالوگ پتانسیومتر از ۰ تا ۱۰۲۳ بین درجه ی سروو(servo) از ۰ تا ۱۸۰

 

دستور دادن به سروو(servo) توسط تابع write و رفتن در زاویه ی مورد نظر توسط پتانسیومتر

 

نوشتن زاویه ی سروو(servo) در دریچه ی سریال

 

صبر برای قرار گیری سروو(servo) در زاویه ی مورد نظر و پایان حلقه ی loop

 

 

اگر بخواهیم سروو(servo) به صورت خودکار و بدون پتانسیومتر در درجه ای دلخواه قرار گیرد برنامه بدین شکل تغییر میکند :

 

اگه مشکلی داشتین تو قسمت نظرات بنویسید تا رفعش کنم….

2 دیدگاه ها

  1. سینا می‌گه:

    یه اموزش هم برای موتور های ۳۶۰ درجه بزارید لطفا یا بگید چجوری با اردوینو کنترلش کنم خیلی نیاز دارم ممنون

    • حسین فهیمی می‌گه:

      سروو موتور ۳۶۰ درجه فرق زیادی با سروو ی ۱۸۰ درجه نداره !!! فقط برای سروو ی ۱۸۰ در قسمت write میتونید یه عدد از ۰ تا ۱۸۰ وارد کنید و سروو تو همون زاویه میمونه ولی در سروو موتور ۳۶۰ در قسمت write هر عددی وارد کنید موتور به همون تعداد دور میزنه!!! من اینجوری راه انداختمش…

پاسخ دهید

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