آموزش آردوینو پروژه های آردوینو

کنترل دور موتور با شیلد موتور L298P و برد آردوینو Arduino

dc-motor
نوشته شده توسط حسین فهیمی

به نام خدا

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

 

apmlogo2014_no_background

موتور DC چیست؟

موتور DC یا موتور کلاسیک جریان مستقیم دارای آرمیچری از آهنربای الکتریکی است. یک سوییچ گردشی به نام کموتاتور جهت جریان الکتریکی را در هر سیکل دو بار برعکس می‌کند تا در آرمیچر جریان یابد و آهنرباهای الکتریکی، آهنربای دائمی را در بیرون موتور جذب و دفع کنند. سرعت موتور DC به مجموعه‌ای از ولتاژ و جریان عبوری از سیم پیچ‌های موتور و بار موتور یا گشتاور ترمزی، بستگی دارد. سرعت موتور جریان مستقیم وابسته به ولتاژ و گشتاور آن وابسته به جریان است. معمولاً سرعت توسط ولتاژ متغیر یا عبور جریان و با استفاده از تپ‌ها (نوعی کلید تغییر دهنده وضعیت سیم‌پیچ) در سیم‌پیچی موتور یا با داشتن یک منبع ولتاژ متغیر، کنترل می‌شود.

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

pmdc-motor-construction

 

 

شیلد درایور موتور L298P آردوینو :

شیلد درایور موتور L298 توسط کمپانی LGS برای درایو کردن همزمان ۲ موتور با توان‌های بالا طراحی شده است. این شیلد قابلیت درایو کردن ۲ موتور به صورت همزمان با جریان هر کدام ۲ آمپر را دارا می‌باشد. در این شیلد از ۸ دیود شاتکی برای محافظت از درایور در مقابل جریان برگشتی استفاده شده است. علاوه بر کنترل ۲ موتورDC ، این درایور قابلیت کنترل ۱ استپ موتور را نیز درا می‌باشد. این شیلد دارای ۴ خروجی با قابلیت درایو کردن ۲ عدد موتور DC با حدکثر جریان ۲ آمپر می‌باشد.به وسیله‌‌ی این شیلد نیز می‌توان ، یک عدد استپر را راه اندازی نمود. توسط این برد امکان تغییر جهت چرخش موتور و کنترل سرعت از طریق مدولاسیون PWM و PPL  وجود دارد. در ادامه آموزش با مرجع تخصصی آردینو ، دیحی اسپارک همراه باشید.

در این آموزش به برد آردوینو و شیلد L298 به همراه موتور DC نیاز داریم. جهت مطالعه ی آموزش راه اندازی مقدماتی این ماژول به آموزش راه اندازی شیلد L298P که همکارم آموزش داده است مراجعه کنید.

 

 

برنامه :

معرفی متغییر های مورد نیاز جهت کنترل دور و کنترل جهت موتور

 

معرفی متغییر هایی جهت خواندن مقادیر پتانسیومتر و تناسب بندی

 

خروجی قرار دادن پین های مرتبط با کنترل دور موتور

 

خواندن مقادیر پتانسیومتر و ریختن آن درون متغییر value

 

دستور شرطی if (اگر مقادیر پتانسیومتر از ۵۱۱ بیشتر بود حلقه ی right را اجرا کند در غیر این صورت حلقه ی left را اجرا کند)

 

حلقه ی right ، خواندن مقادیر پتانسیومتر و ریختن آن درون متغییر pot1 ، تناسب بندی بین مقادیر و دستور به موتور جهت چرخش (با تغییر مقدار dir_b به دو حالت LOW و HIGH میتوانیم جهت چرخش موتور را کنترل کنیم.)

 

بعد از آپلود کد بر روی برد ، یک پتانسیومتر ۱۰K به پین A0 آردوینو متصل و با آن ، جهت چرخش موتور خود را کنترل کنید …

چنانچه هرسوالی درمورد برنامه و راه اندازی این آموزش دارید، راحت باشید و از طریق ثبت نظر در همین صفحه مطرح کنید، بنده و یا همکارانم در اولین فرصت به شما پاسخ خواهیم داد.

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

حسین فهیمی

حسین فهیمی هستم رشته ی ریاضی. چیزهای خیلی زیادی رو در دنیا دوست دارم. تقریبا یک هکرم. نه به معنی دزدی پسورد و ایمیل مردم. به معنی عشق به دونستن و عشق به تحقیق درباره خیلی از چیزهایی که نمیتونم ببینم مثل کارنامه های مدرسه... تنها چیزی رو که از الکترونیک دوست دارم فقط و فقط آردوینو هست :)

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