کنترل سرعت موتور درایور با آردوینو

در این مثال ما یک محرک خطی را با یک درایور آردوینو و موتور کنترل خواهیم کرد.

توجه: این آموزش دانش قبلی را با اصول اولیه الکترونیکی ، سخت افزار و نرم افزار آردوینو در نظر گرفته است. اگر اولین بار است که از Arduino استفاده می کنید ، پیشنهاد می کنیم اصول را از یکی از بسیاری از آموزش های عالی مبتدی برای جستجو در Google و YouTube بیاموزید. لطفاً توجه داشته باشید که منابعی برای ارائه پشتیبانی فنی برای برنامه های سفارشی نداریم و خارج از این آموزشهای عمومی که موجود نیست ، اشکال زدایی ، ویرایش ، ارائه کد یا سیم کشی را انجام نمی دهیم.

اجزاء

سیم کشی

کنترل سرعت موتور درایور با آردوینو

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

موتورهای DC در محرک های خطی به جریان زیاد (حداکثر 5 آمپر) نیاز دارند ، اگر بخواهیم محرک خطی را مستقیماً به آردوینو وصل کنیم ، این کشش جریان بالا باعث خرابی پین های دیجیتال آردوینو می شود زیرا هر کدام فقط 40mA درجه بندی می شوند. بنابراین ما از یک درایور موتور استفاده می کنیم که می تواند سیگنال PWM جریان کم (مدولاسیون عرض پالس) را از برد Arduino گرفته و سیگنال PWM جریان بالا را به محرک خطی منتقل کند.

درایور موتور به دو پایه دیجیتال PWM متصل است (پایه های 10 و 11 روی Arduino Uno). با تنظیم یکی از این پایه ها LOW و دیگری HIGH (مشاهده کد 18 و 19 در کد زیر) می توان محرک را با حداکثر سرعت گسترش داد. برای متوقف کردن محرک ، هر دو پایه را روی LOW قرار می دهیم (به خط 21 و 22 در کد زیر مراجعه کنید) و جهت معکوس جهت حرکت را می توان ترتیب پایه های HIGH و LOW را معکوس کرد (به خط 24 و 25 در کد زیر مراجعه کنید). همچنین می توانیم سرعت را با تغییر متغیر "Speed" به هر مقداری در محدوده [0 ، 255] تنظیم کنیم. به خط 17 در کد زیر مراجعه کنید.

کد

https://gist.github.com/Will-Firgelli/c0ef0871dc1946d75257e0c29dccae2a

کنترل سرعت متنوع با پتانسیومتر

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

سیم کشی

کنترل سرعت موتور درایور با آردوینو

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

همانطور که در بالا ذکر شد ، پتانسیومتر دستگاهی دوار است که با چرخاندن دستگیره مقاومت آن را تغییر می دهد. با اتصال دو پایه خارجی پتانسیومتر به 5 ولت و GND و پایه میانی به پایه آنالوگ آردوینو ، A0 ، یک تقسیم کننده ولتاژ ایجاد می شود. با چرخاندن دکمه ، آردوینو قرائت های آنالوگ را از [0 ، 1023] می خواند.

برای مقادیر در محدوده [512 ، 1023] می خواهیم محرک گسترش یابد و برای مقادیر [0 ، 511] می خواهیم محرک جمع شود ، این را می توان با یک جمله ساده () / else در سطرهای 22 و 28 در کد زیر سپس با استفاده از تابع map () (خط 23 و 29 در کد زیر) می توانیم آن را به یک سیگنال PWM تبدیل کنیم که هم سرعت و هم جهت محرک را کنترل خواهد کرد.

کد

https://gist.github.com/Will-Firgelli/d2cdf69edc829974885984b3fb8e4856

Share this article

محصولات ویژه

برای یافتن محرک مناسب به کمک نیاز دارید؟

ما محصولات خود را مهندس دقیق و تولید می کنیم تا قیمت مستقیم تولیدکنندگان را دریافت کنید. ما حمل و نقل همان روز و پشتیبانی مشتری آگاه را ارائه می دهیم. با استفاده از محاسبه گر محرک ما می توانید در انتخاب محرک مناسب برنامه خود کمک بگیرید.