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

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

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

راه اندازی سروو موتور یکی از نیازهای اولیه در اجرای پروژه های بزرگ الکترونیک و همچنین مکاترونیک می باشد و ما در این مقاله از ایده الکترونیک به شما خواهیم گفت چگونه یک سروو موتور را به کمک برد آردوینو uno راه اندازی کنید.

سروو موتور چیست؟

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

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

سروو موتورها در رباتیک نیز بسیار مفید هستند.
این موتورها کوچک هستند و دارای مدار کنترل داخلی می باشند و نسبت به اندازه شان بسیار قدرتمند هستند.
سروو استاندارد مانند Futaba S-148 دارای 42 اونس/اینچ گشتاور است که نسبت به اندازه آن قوی است.
همچنین سروو متناسب با بار مکانیکی قدرت می گیرد در نتیجه سروو بارگذاری شده سبک، انرژی زیادی مصرف نمی کند.

اجزای موتور سروو در تصویر زیر نشان داده شده است. شما می توانید مدار کنترل، موتور، دنده ها و بدنه را ببینید.
شما همچنین می توانید سه رشته سیم را که به بیرون از مجموعه وصل می شوند مشاهده کنید.
این سیم ها شامل برق (5 ولتی)، سیم ارت و سیم کنترل (سفید) است.

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

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

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

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

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

چگونه میتوان زاویه ای را که در آن سروو باید بچرخد انتقال داد؟

سیم کنترل برای تبادل مقدار زاویه استفاده می شود. مقدار زاویه با طول یک پالس که به سیم کنترل اعمال می شود تعیین می گردد.
این (Pulse Coded Modulation) نامیده می شود. سروو پالس را هر 20 میلی ثانیه (0.2 ثانیه) دریافت میکند.
طول پالس تعیین خواهد کرد که موتور به چه اندازه چرخش کند.
مثلا یک پالس 1.5 میلی ثانیه باعث می شود که موتور به اندازه 90 درجه بچرخد (اغلب به عنوان موقعیت خنثی نامیده می شود).
اگر پالس کوتاه تر از 1.5 میلی ثانیه باشد، موتور شفت را به 0 درجه نزدیکتر می کند. اگر پالس طولانی تر از 1.5 میلی ثانیه باشد، شفت به 180 درجه نزدیک می شود.

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

قطعات مورد نیاز برای راه اندازی سروو موتور

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

  • یک عدد برد آردوینو uno
  • یک عدد Servo Motor
  • یک عدد ULN2003 driving IC
  • یک عدد مقاومت 10kΩ

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

دیاگرام مسیر جریان را دنبال کنید و اتصالات را همانطور که در تصویر زیر نشان داده شده برقرار کنید.

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

طرح یا sketch برای راه اندازی سروو موتور :

نرم افزار Arduino IDE را بر روی رایانه خود اجرا کنید.
در صورت نیاز به آموزش می توانید به اینجا مراجعه کنید.
کد گذاری به زبان آردوینو مدار شما را کنترل می کند.
یک فایل طرح جدید را با کلیک روی New باز کنید.

نرم افزار آردوینو

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


Arduino Code
/* 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);
}

توجه داشته باشید که:
موتور سروو دارای سه خروجی برق، ارت و سیگنال است. سیم برق به طور معمول قرمز است و باید به پین 5V در آردوینو متصل شود.
سیم ارت معمولا سیاه یا قهوه ای است و باید به ترمینال ULN2003 IC 10-16 وصل شود.
برای محافظت از مدار آردوینو از آسیب، شما مقداری IC برای انجام این کار نیاز دارید.
در اینجا ما ULN2003 IC را برای حرکت موتور سروو استفاده کرده ایم. پین سیگنال معمولا زرد یا نارنجی است و باید به پین شماره 9 آردوینو وصل شود.

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

یک تقسیم کننده ولتاژ یا تقسیم کننده پتانسیل، مقاومت در یک مدار سری است
که ولتاژ خروجی را به نسبت خاصی از ولتاژ ورودی اندازه گیری می کند. نمودار زیر:

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

محاسبه ولتاژ خروجی در تقسیم ولتاژ مقاومتی از طریق فرمول زیر:

(Vout=(Vin×R2)/(R1+R2

Vout پتانسیل خروجی است، که به ولتاژ ورودی اعمال شده (Vin) و به مقاومت سری (R1 و R2) بستگی دارد.
این بدان معنی است که جریان عبوری از مقاومت R1 و R2 بدون تقسیم جریان انتقال می یابد.
در معادله فوق، هرقدر R2 تغییر می کند، Vout نیز به همان نسبت با توجه به ولتاژ ورودی، Vin سنجیده میشود.

به طور معمول، یک پتانسیومتر یک تقسیم کننده بالقوه است
که می تواند ولتاژ خروجی مدار را بر اساس مقدار مقاومت متغیر، که با استفاده از دستگیره (knob) سنجیده می شود، اندازه گیری کند.
این دستگیره دارای سه پین است: GND، Signal و +5V همانطورکه در نمودار زیر نشان داده شده است:

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

نتیجه:
با تغییر موقعیت NOP پتانسیومتر، موتور سروو زاویه اش را تغییر می دهد.

لطفا برای بالا بردن سطح کیفی مطالب در قسمت نظرات با ما همراه باشید
همچنین میتوانید برای اطلاعات بیشتر درباره راه اندازی سروو موتور با آردوینو به اینجا مراجعه کنید


۱ Comment

محمد حسین

تیر ۸, ۱۳۹۹ at ۶:۰۴ ب.ظ

ببخشید سرعت سروو موتور ۱۸۰ درجه بدون پتانسیومتر رو چطوری تنظیم کنم آخه سرعتش زیاده میخوام کمش کنم

ارسال نظرات