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

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

توجه: این آموزش دانش قبلی را با اصول اولیه الکترونیکی ، سخت افزار و نرم افزار آردوینو در نظر گرفته است. اگر اولین بار است که از 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
Tags:

Need Help Finding the Right Actuator?

We precision engineer and manufacture our products so you get direct manufacturers pricing. We offer same day shipping and knowledgeable customer support. Try using our Actuator Calculator to get help picking the right actuator for your application.