چگونه می توان یک محرک خطی را با آردوینو کنترل کرد؟

آردوینو چیست؟

آردوینو یک پلت فرم نمونه سازی الکترونیکی منبع باز است که مبتنی بر سخت افزار و نرم افزار انعطاف پذیر ، با کاربرد آسان است. این برنامه برای پروژه های DIY ، هنرمندان ، طراحان ، علاقه مندان و هر کسی که علاقه مند به ایجاد پروژه های تعاملی است ، در نظر گرفته شده است. آردوینوها بردهای میکروکنترلر هستند که حاوی همه مواردی هستند که شما می توانید به راحتی با میکروکنترلر ارتباط برقرار کنید. میکروکنترلر مانند یک کامپیوتر کوچک برای سیستم های جاسازی شده است و نوع میکروکنترلر موجود به سبک آردوینو بستگی دارد. دامنه آردوینو از بزرگتر است آردوینو مگا به متوسط آردوینو اونو به کوچکتر آردوینو پرو مینی. تخته های با اندازه متفاوت تعداد بیشتری پین ورودی / خروجی و ویژگی های اضافی را فراهم می کنند و محبوب ترین این تخته ها Uno است. آردوینو همچنین یک منبع باز رایگان برای استفاده از IDE برای برنامه ریزی میکروکنترلرهای شما فراهم می کند. Arduino IDE از زبان برنامه نویسی قابل فهم استفاده می کند و با توجه به محبوبیت Arduino ، می توانید به صورت آنلاین مثالهای مفید بسیاری را بیابید تا به شما کمک کنند تا برای برنامه خاص خود کد بزنید. اگر این اولین پروژه آردوینو شماست ، کیت آردوینو هر آنچه از کابل های بلوز گرفته تا سنسورها تا رله ها نیاز دارید را برای شما فراهم می کند و شامل Arduino Uno برای شروع کار است.

چگونه می توان یک محرک خطی را با آردوینو کنترل کرد؟

چرا برای کنترل محرک خطی از آردوینو استفاده می کنیم؟

یکی از بزرگترین مزایای استفاده از آردوینو یا هر میکروکنترلر برای این امر برای کنترل a محرک خطی این است که شما کنترل بیشتری بر روی محرک خطی خود دارید. میکروکنترلرها به شما امکان می دهند از ورودی های پیچیده تری از حسگرها یا دستگاه های دیگر برای کنترل محرک خطی خود استفاده کنید. آنها به شما امکان می دهند محاسبات را در زمان واقعی انجام دهید تا محرک خود را در موقعیت ایده آل قرار دهید یا تایمرهایی را برای خودکارسازی تغییرات محرک های خود اجرا کنید. میکروکنترلرها همچنین می توانند از طریق محرک های شما بازخورد بگیرند تا موقعیت دقیق تر و کنترل سرعت و همچنین کنترل همزمان بیش از یک محرک را فراهم کنند. به بیان ساده ، میکروکنترلرها کنترل و انعطاف پذیری بیشتری را برای شما فراهم می کنند و با استفاده از طراحی آسان آردوینو و محبوبیت گسترده ، سطح پیچیدگی اضافی حداقل است.

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

شما نمی توانید مستقیماً محرک خطی خود را با یک آردوینو وصل کنید مانند سوئیچ زیرا ولتاژ کارکرد آردوینو فقط 5 ولت است و محدودیت جریان بسیار کمی دارد. برای کنترل محرک خطی باید از یک جز میانی استفاده کنید که می تواند با استفاده از رله یا درایور موتور انجام شود.

رله ها

همانطور که بحث شد اینجا, رله ها سوئیچ های الکترومغناطیسی هستند که با انرژی دادن و از بین بردن سیم پیچ برای باز و بسته شدن سوئیچ کنترل می شوند. با استفاده از یک پایه I / O می توان از آردوینو برای کنترل رله با انرژی دادن و از بین بردن سیم پیچ استفاده کرد. بسته به نوع رله ای که استفاده می کنید میزان کنترل شما بر روی محرک خطی شما تغییر می کند ، اما رابط کاربری با Arduino بسیار مستقیم است ، فقط سیم پیچ را با یک پایه I / O انرژی دهید. باید اطمینان حاصل کنید که ولتاژ نامی سیم پیچ در حدود ولتاژ کارکرد آردوینو (5 ولت) است وگرنه آردوینو قادر نخواهد بود سیم پیچ را به اندازه کافی فعال کند تا باعث بسته شدن سوئیچ شود.

رله SPDT با آردوینو کنترل می شود

در بالا مثالی از رابط Arduino با دو پیکربندی رله SPDT وجود دارد. در این پیکربندی که در اینجا توضیح داده شده است ، از دو رله برای چرخاندن قطب ولتاژ به محرک خطی و همچنین قطع برق به محرک استفاده شده است. در مثال کدی که در زیر نشان داده شده است ، آردوینو با تنظیم پین 7 به پایین ، رله بالایی را فعال می کند تا محرک را برای 2 ثانیه گسترش دهد ، سپس با خاموش کردن رله بالا با تنظیم هر دو پایه ، محرک را برای 2 ثانیه متوقف کنید. برای جمع كردن محرك ، آردوینو با تنظیم پین 8 به پایین ، رله دوم را به مدت 2 ثانیه انرژی می دهد ، سپس با تنظیم مجدد تمام پین ها ، محرك را برای 2 ثانیه متوقف می كند. از آنجا که این کد در قسمت حلقه برنامه است ، آردوینو به تکرار این کد بارها و بارها ادامه خواهد داد. بدیهی است که شما می توانید برای برنامه خود راه حل کدگذاری ظریف تری را پیاده سازی کنید ، اما اگر به دنبال کنترل بیشتر هستید ، می خواهید از راننده موتور استفاده کنید.

https://gist.github.com/OMikeGray/6bf644b6cda85bfe8c898ccd44ec6d78

راننده موتور

آ راننده موتور یک طرح مدار مجتمع است که مخصوص کنترل موتورهای DC است که محرک های خطی DC را هدایت می کنند. درایورهای موتور معمولاً از یک پل H استفاده می کنند تا هم جهت را کنترل کند و هم سرعت را کنترل کند. نحوه اتصال دقیق آردوینو به راننده موتور به راننده دقیق موتور بستگی دارد اما برای انجام آن حداقل به دو پایه ورودی / خروجی احتیاج دارید و یکی از آنها سیگنال PWM خواهد بود. PWM یا مدولاسیون عرض پالس روشی برای تغییر سیگنال بین مقادیر روشن و خاموش است تا ولتاژ کمتری از عملکرد را تأمین کند. سپس راننده موتور می تواند از این سیگنال برای تنظیم سرعت کار موتور استفاده کند.

آردوینو کنترل درایور موتور 

در بالا مثالی از ما وجود دارد درایو موتور DC با جریان بالا با یک آردوینو رابط دارد. برای این درایور موتور ، شما باید دو سیگنال PWM ارسال کنید ، یکی برای گسترش محرک و دیگری برای جمع شدن. PWM به عنوان یک بایت بدون امضا ارائه می شود به این معنی که از 0 ، بدون ولتاژ ، تا 255 ، حداکثر ولتاژ (5 ولت) متغیر است ، که متناسب با سرعت موتور خواهد بود. از آنجا که PWM یک مقدار دودویی نیست ، ما باید از پین های PWM آردوینو استفاده کرده و از تابع نوشتن آنالوگ استفاده کنیم ، همانطور که در مثال زیر مشاهده می شود. پین های PWM در Arduino با ~ نشان داده می شوند یا به سادگی به عنوان پین های PWM برچسب گذاری می شوند.

https://gist.github.com/OMikeGray/c4e0196704a4d62db5507ad8297708f4

در مثال کد بالا ، Arduino با ارسال راننده موتور 5 ولت کامل از پایه 10 به پایه LPWM درایور موتور ، محرک را با سرعت کامل به مدت دو ثانیه گسترش می دهد. سپس Arduino با ارسال نکردن سیگنال به هر دو پایه ورودی درایور موتور ، محرک را متوقف می کند. سپس آردوینو با ارسال سیگنال راننده موتور که از پین 11 به پین ​​RPWM بر روی درایور موتور نیمه روشن و نیمه خاموش است ، محرک را عقب می کشد. سپس محرک را دوباره متوقف می کند. از آنجا که این کد در قسمت حلقه برنامه است ، آردوینو به تکرار این کد به طور مکرر ادامه خواهد داد. یک بار دیگر ، شما می توانید یک راه حل کدگذاری ظریف تر و متناسب با برنامه خود اجرا کنید ، به ویژه اگر ورودی هایی برای کنترل محرک خود اضافه کنید. 

اضافه کردن ورودی ها

هنگامی که می توانید محرک خود را با یک آردوینو کنترل کنید ، سپس می توانید ورودی ها را برای آردوینو برای اتوماسیون و کنترل بیشتر پیاده سازی کنید. این ورودی ها می توانند باشند سوئیچ ها، طیف گسترده ای از سنسورها ، یا حتی بازخورد از خود محرک. از آنجا که گزینه های گسترده ای برای ورودی ها وجود دارد ، نحوه پیاده سازی آنها متفاوت خواهد بود اما چند نکته کلی وجود دارد که باید بدانید. اگر ورودی یک ورودی باینری ارائه دهد ، مانند یک سوئیچ ، می خواهید از پین های دیجیتال موجود در Arduino استفاده کنید ، که روی صفحه یا صفحه داده ها برچسب گذاری می شوند و از تابع digitalRead () در Arduino IDE. اگر دستگاه ورودی شما یک سیگنال آنالوگ ارائه می دهد ، باید از پین های آنالوگ که روی صفحه یا در صفحه داده ها برچسب گذاری شده اند استفاده کنید و از عملکرد AnalogRead () استفاده کنید.


 

Tags:

Share this article

Featured Collections

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

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