پروژه های آردوینو قطعات الکترونیک مدارهای الکترونیک

آموزش راه اندازی سروو موتور با استفاده از پورت سریال آردوینو

آموزش راه اندازی سروو موتور با استفاده از پروت سریال آردوینو _دیجی اسپارک
نوشته شده توسط علیرضا قربانی

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

 

سخت افزار مورد نیاز

آردوینو Uno

سروو موتور

 

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

سروو موتور Servo motor نوعی از موتورهای الکتریکی است که با هدف بکارگیری در سیستم‌های کنترل فیدبک طراحی می‌شود. لختی (اینرسی) در این موتورها پایین بوده و در نتیجه تغییر سرعت در این موتورها بسیار سریع است.سروو برگرفته از کلمه یونانی Servus به معنی خدمتکار است و شاید به این دلیل یه این نوع از موتورها و سیستم های کنترلی سروو گفته می شود که مثل یک خدمتکار تحت کنترل بوده و با دقت به فرامین پاسخ می دهد.

مدار

سروو موتور – servo -servo motor -digispark-دیجی اسپارک

آموزش راه اندازی سروو موتور با استفاده از پورت سریال

آموزش راه اندازی سروو موتور با استفاده از پورت سریال

سروو موتور دارای سه سیم تغذیه ، زمین ، و سیگنال می باشد.سیم تغذیه معمولا قرمز رنگ می باشد و به ۵+ متصل میشود .سیم زمین نیز معمولا قهوه ای یا مشکی رنگ می باشد و به زمین مدار متصل می شود.و در اخر سیم سیگنال که معمولا زد ، نارنجی یا سفید می باشد که به یک پین دیجیتال آردوینو متصل می‌شود. توجه داشته باشین در صورتی که قصد راه اندازی بیش از یک سروو موتور را دارید به هیچ عنوان از تغذیه آردوینو Arduino استفاده نکنید و  از یک تغذیه خارجی استفاده کنید.

 

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

 

برنامه نویسی

 

توابع کتابخانه Servo.h

کتابخانه ی سروو از راه اندازی ۱۲ عدد سروو موتور در اغلب بردهای آردوینو  و ۴۸ عدد سروو در آردوینو مگا پشتیبانی میکند.

 

attach()

تعیین پایه ای که سروو موتور به آن متصل شده است.

 

ساختار

servo.attach(pin) 

servo.attach(pin, min, max)

 

پارامتر ها

servo:

آبجکتی که در ابتدای برنامه از کلاس Servo تعریف کردیم.

pin:

.شماره پینی که سروو به آن متصل شده است

min (optional):

طول پالسی (بر حسب میکرو ثانیه)که متناسب آن سروو به زاویه ۰ درجه می رود. به طور پیش فرض دارای مقدار ۵۴۴ می باشد

max (optional):

طول پالسی ( بر حسب میکروثانیه) که متناسب آن سروو به زاویه ۱۸۰ درجه می رود.به طور پیش فرض داری مقدار ۲۴۰۰ می باشد.

write(angle)

در سروو هایی که به طور پیوسته کار نمیکنند توسط این تابع زاویه شافت موتور مشخص میشود و زاویه شافت موتور برابر angle می شود و در موتور هایی که به طور پیوسته کار میکنند  این تابع سرعت موتور را مشخص میکند( مقدار ۰ برای سرعت کامل ، ۱۸۰ نیز سرعت کامل و ۹۰ نیز تقریبا توقف موتور می باشد)

 

writeMicroseconds(us)

با استفاده از این تابع مقداری در بر اساس میکرو ثانیه به سروو داده میشود.در سروو های استاندار ، مقدار ۲۰۰۰ سروو را در جهت ساعت گرد در زاویه ۰ درجه قرار میدهد ، مقدار ۱۰۰۰ سروو را در جهت پادساعت گرد در زاویه ۱۸۰ درجه قرار میدهد  ، و مقدار ۱۵۰۰ سروو را در زاویه ۹۰ درجه قرار میدهد.

 

read()

این تابع زاویه ای که سروو موتور در آن قرار دارد را برمیگرداند

 

attached()

این تابع چک میکند که آیا سروو به پین مورد نظر که در بتدای برنامه به وروی تابع ()attach نسبت دادیم ، متصل است یا خیر و مقدار true  یا false بر میگرداند.

 

detach()

این تابع سروو را از پینی که به آن نسبت داده شده است جدا میکند.

در ادامه به ویدیوی زیر توجه کنید.

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

در پایان نظرات و پیشنهادات خود را با ما درمیان بگذارید و با اشتراک گذاری این آموزش در شبکه های اجتماعی , از وبسایت دیجی اسپارک حمایت کنید.

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

علیرضا قربانی

علیرضا قربانی هستم دانشجوی مهندسی پزشکی. چیزهای خیلی زیادی رو در دنیا دوست دارم. یک گیک هستم و یشه گفت یک هکر. نه به معنی دزدی پسورد و ایمیل مردم. به معنی عشق به دونستن و عشق به تحقیق درباره خیلی از چیزهایی که می بینم و می‌شنوم. اگر بخوام علاقه‌مندی‌ درجه یکم رو نام ببرم میتونم بگم برنامه نویسی و بعد از اون امبدد سیستم ها.

۱۰ دیدگاه

    • درود

      مستقیم کپی کنید

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

  • درود.
    من میخوام بین لب ویو و سروو و اردوینو ارتباط برقرار کنم.

    به طوریکه با اعمال فرمان در لبویو سروو موتور شروع به حرکت کنه… برای اینکار نیاز به مبدل usb به سریال دارم؟

    لطف میکنید ارتباط بین لب ویو و اردوینو کمکم کنید؟

      • با سلام
        ممنون از مطالب مفیدتون اگه میشه در مورد ارتباط لب ویو با آردوینو بیشتر توضیح بدید من میخوام یه موتور dc را از طریق لب ویو با اتصال به آردوینو کنترل کنم.

        • با سلام و تشکر از توجه شما، این موضوع بسیار متفاوت از آموزش آردوینو است. در حال حاضر برنامه ای برای آموزش لب ویو نداریم.

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

    • با سلام و تشکر از توجه شما
      برای این منظور باید آرگومان زاویه جدید در کدها تعریف کنید و جهت زاویه را هم بستگی به این دارد که موتور شما ۳۶۰ درجه باشد یا خیر. چون در غیر این صورت اگر شافت موتور در زاویه ۰ باشد، نمیتواند به زاویه منفی تغییر جهت بدهد.

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