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

با چرخاندن پتانسیومتر، زاویه سروو موتور از 0 تا 180 درجه تغییر میکند. ما از ورودی آنالوگ آردوینو برای خواندن مقدار پتانسیومتر استفاده خواهیم کرد و سپس با استفاده از یک فرمول ساده این مقدار را به بازه سروو نگاشت خواهیم کرد. این پروژه راهی عالی برای درک نحوه کار ورودیهای آنالوگ و نحوه کنترل موتورها با آنهاست (در ویدیو در 01:45).
توضیح سختافزار
برای این پروژه به یک برد آردوینو، یک موتور سروو و یک پتانسیومتر نیاز داریم. پتانسیومتر بهعنوان یک مقاومت متغیر عمل میکند و خروجی ولتاژی تولید میکند که متناظر با موقعیت آن است. این خروجی توسط ورودی آنالوگ آردوینو خوانده میشود و به ما امکان میدهد تعیین کنیم سروو تا چه اندازه بچرخد.
موتور سروو نوعی موتور است که میتوان آن را در زاویهای مشخص قرار داد. این موتور یک سیگنال کنترلی دریافت میکند که موقعیت مورد نظر را به آن اعلام میکند. سروو بسته به ورودیای که از آردوینو دریافت میکند به آن زاویه میچرخد که آن را برای کاربردهای مختلفی مانند رباتیک و دستگاههای کنترل از راه دور مفید میسازد.
جزئیات مشخصات فنی
| تولیدکننده | متنوع |
|---|---|
| شماره قطعه | سروو استاندارد |
| ولتاژ منطق/ورودیخروجی | 5 ولت |
| ولتاژ تغذیه | 4.8 - 6 V |
| جریان خروجی (برای هر کانال) | تا 1 A |
| جریان پیک (برای هر کانال) | تا 2 A |
| راهنمای فرکانس PWM | 50 هرتز |
| آستانههای منطقی ورودی | 0.8 V (پایین) / 2.0 V (بالا) |
| افت ولتاژ / Rدرین-سورس (روشن)/ اشباع | 0.5 ولت |
| محدودیتهای حرارتی | 85 درجه سانتیگراد |
| بسته | سایز استاندارد |
| یادداشتها / انواع | در اندازهها و ردههای گشتاور مختلف موجود است |
- اطمینان حاصل کنید که منبع تغذیه در محدودهٔ مجاز (4.8 - 6 V) قرار دارد.
- برای پتانسیومتر از مقدار مقاومت مناسب استفاده کنید (10 kΩ توصیه میشود).
- قطبیت اتصالات را بررسی کنید تا از عملکرد معکوس جلوگیری شود.
- مراقب گرما باشید؛ مطمئن شوید که سروو تحت بار اضافی قرار نگرفته است.
- برای کاهش تداخل، سیمکشی را کوتاه نگه دارید.
- در صورت نیاز، از خازنهای دکوپلینگ بین ورودیهای تغذیه استفاده کنید.
- مطمئن شوید که پتانسیومتر بهدرستی به پایه آنالوگ A0 متصل شده است.
دستورالعملهای سیمکشی

برای سیمکشی قطعات، ابتدا پتانسیومتر را وصل کنید. پایهٔ میانی پتانسیومتر باید به پایه آنالوگ متصل شود.A0روی آردوینو. پایه سمت چپ باید به پایه 5V متصل شود و پایه سمت راست باید به زمین (GND) وصل شود.
سپس موتور سروو را متصل کنید. سیم زمین (معمولاً مشکی یا قهوهای) موتور سروو باید به پایه GND آردوینو متصل شود. سیم تغذیه (معمولاً قرمز) باید به پایه 5V روی آردوینو وصل شود. در نهایت، سیم کنترل (اغلب زرد یا سفید) باید به پایه دیجیتال متصل شود.9روی آردوینو. این پیکربندی به آردوینو اجازه میدهد تا سروو را بر اساس موقعیت پتانسیومتر کنترل کند.

نمونههای شِفر (کود) و راهنمای گامبهگام
بیایید نگاهی به بخشهای کلیدی شِفر (کود) بیندازیم. اول، کتابخانه Servo را وارد میکنیم و یک شیء سروو ایجاد میکنیم:
#include
Servo myservo; // create servo object to control a servo
این شِفر (کود) سروو را مقداردهی اولیه کرده و آن را برای کنترل آماده میکند. گام بعدی شامل خواندن مقدار پتانسیومتر است:
int val = analogRead(potpin); // reads the value of the potentiometer
در اینجا مقدار خواندهشده از پتانسیومتر در متغیر ذخیره میشود.val. این مقدار بین 0 و 1023 خواهد بود که متناظر با موقعیت پتانسیومتر است. سپس این مقدار را به محدوده سروو نگاشت میکنیم:
val = map(val, 0, 1023, 0, 180); // scale it to use it with the servo
این خط مقدار پتانسیومتر را به محدودهای تبدیل میکند که برای موتور سروو مناسب است. در نهایت، سروو را در موقعیت محاسبهشده قرار میدهیم:
myservo.write(val); // sets the servo position according to the scaled value
این فرمان به سروو میگوید تا بر اساس موقعیت پتانسیومتر به زاویهٔ مشخصشده حرکت کند. شِفر (کود) کامل بارگذاریشده را میتوانید در پایینِ مقاله پیدا کنید.
نمایش / آنچه باید انتظار داشته باشید
وقتی برنامه را اجرا میکنید، چرخاندن پتانسیومتر زاویه موتور سروو را بهصورت روان تنظیم میکند. باید هنگام چرخاندن دستگیره مقادیر زاویه در نمایشگر مسلسل چاپ شوند. اگر سروو رفتار غیرمنتظرهای نشان داد، سیمکشی خود را بررسی کنید، بهویژه اتصالات پتانسیومتر و سروو (در ویدئو در 04:30).
سِرو باید بلافاصله به تغییرات موقعیت پتانسیومتر واکنش نشان دهد. اگر متوجه هرگونه تأخیر یا پرش شدید، کاهش تأخیر در شِفر (کود) را برای بهبود پاسخدهی در نظر بگیرید.
مواردی که ممکن است به آنها نیاز داشته باشید
-
آمازونServo motor on Amazonamzn.to
-
علیاکسپرسPurchase SG90 Servo motor 180 or 360 from AliExpresss.click.aliexpress.com
منابع و مراجع
-
خارجیسرووهای SG90amzn.to
فایلها📁
هیچ فایلی موجود نیست.