
سلام به شما
به سایت داناساز خوش اومدین
امروز می خوایم به شما آموزش بدیم که چجوری سروو موتور (servo motor) رو به کمک برد آردوینو فعال کنیم.
با ما همراه باشید
خب اول کار بهتره بدونیم که سروو موتور چی هست و چه کاربردی داره؟
سرو موتور ، موتورهای بسیار دقیقی هستند تشکیل شده از یک موتور الکتریکی و اجزایی دیگر اند که میتواند برای کنترل سرعت و زاویه شافت موتور در زاویه و سمت دلخواه استفاده بشن. سروو برگرفته از کلمه ی یونانی Servus و به معنی خدمتکار است و این به این دلیل است که مثلا میتونیم به این موتور فرمان بدیم که دقیقا با چه زاویه ای بچرخه. این دقت سبب میشه که این موتور جایگاه خوبی توی صنایع داشته باشه، صنایعی مثل روباتیک، هواپیما سازی و … .
سروو موتور DC از سه قسمت عمده ی زیر تشکیل شده.
- موتور DC
- قسمت مکانیکی برای افزایش گشتاور
- مدار حسگر موقعیت و کنترل موتور
روتور این موتور برخلاف موتور DC به راحتی نمی چرخه، و تحت عملکرد مداری الکترونیکی قرار داره و ما رو از طراحی مدار حسگر و کنترل موقعیت بی نیاز می کنه. همچنین این موتور تقویت کننده ی جریان هم داره و خروجی میکرو رو میشه مستقیم به موتور وصل کرد.
راه اندازی سروو موتور
مثال اول:
وسایل مورد نیاز برای راه اندازی سروو موتور به کمک آردوینو در تصویر زیر نشون داده شده:

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

حالا شروع به کد نویسی میکنیم:
اولین کار اینه که باید کتابخانه ی سروو رو نصب کنیم. در اینجا توضیح دادیم که به چه صورت اینکار رو انجام بدین.
و به این صورت کتابخانه رو در کد فراخوانی می کنیم.

بعد از اون باید تابع servo رو بنویسیم و برای هر موتور یک اسم مشخص کنیم تا بتونیم اون رو کنترل کنیم. به شکل زیر:

چون ما فقط یک موتور داشتیم، پس فقط یک نامگذاری داریم. تا 12 موتور رو میتونید نامگذاری کنید.
حالا حلقه ی void Setup رو باز میکنیم و به کمک تابع Servo.attach پایه ای از آردوینو که سروو به اون متصل شده را مشخص میکنیم. به صورت زیر:

برای کنترل سروو، از تابع ()Servo.Write استفاده می کنیم و در حلقه ی void loop آردوینو به کمک این تابع به سروو هر زاویه ای که میخوایم، می دهیم. موتور سروو ما از نوع SG90 هست و فقط از 0 تا 180 رو میشه بهش مقدار داد؛ ولی موتور هایی هستند که تا 360 درجه هم بچرخند. به صورت زیر:

در این حلقه تعریف کردیم که موتور سروو به زاویه های صفر درجه، 45 درجه، 90 درجه، 135 درجه و 180 درجه برود و در بین هرکدام از این تغییر زاویه ها، 1 ثانیه صبر کند.
کد این برنامه رو به طور کامل می تونید از لینک زیر دانلود کنید.
مثال 2:
در این قسمت میخوایم کدی بنویسیم که بتونیم سروو موتور رو به صورت دستی به کمک پتانسیموتر بچرخونیم.
مدار رو به شکل زیر می بندیم:

حالا برای نوشتن کد باید یک متغیر برای پتانسیومتر به کد اضافه کنیم. به شکل زیر:

در نهایت باید مقدار دریافتی از پتاسیومتر را که از 0 تا 1023 خوانده میشود ( ورودی آنالوگ)، به مقیاس صفر تا 180 درجه ببریم. برای اینکار از تابع map استفاده می کنیم.

دانلود این کد به صورت کامل از لینک زیر:
با تشکر از همراهی شما
هر سوالی داشتین در قسمت نظرات حتما بپرسید.
برای تهیه ی لوازم برای راه اندازی سروو موتور به فروشگاه ما مراجعه کنید.