در این سری از آموزش های آردوینو نحوه کنترل دور موتور DC، با استفاده از شیلد درایور موتور L298P و برد آردوینو را بررسی و تحلیل کرده ایم. شرکت LGS، شیلد درایور موتور L298P را برای راه اندازیی همزمان 2 موتور با توان های بالا طراحی کرده است. این شیلد توانایی درایو کردن 2 موتور به صورت همزمان با جریان هر کدام 2 آمپر را دارد.
شیلد درایور موتور L298P
شیلد درایور موتور L298P برای درایو کردن همزمان 2 موتور DC به کار می رود به طوری که این شیلد قادر است همزمان سرعت و جهت چرخش هر کدام از موتورها را با استفاده از مدولاسیون PWM و PPL کنترل کند. این شیلد دارای 4 خروجی است که قابلیت کنترل یک استپ موتور را نیز دارد.
شیلد درایور موتور L298P از سری بردهای توسعه دهنده ی آردوینو است که برای راه اندازی موتور های DC یا موتورهای پله ای به کار می رود.
ویژگی های شیلد درایور موتور L298P
1. ولتاز کاری 5 تا 12ولت
2. حداکثر ولتاژ اعمالی به موتور 50ولت
3. حداکثر جریان خروجی از هر کانال 2آمپر
4. دارای دوکانال خروجی
5. توانایی راه اندازی دوموتور DC به صورت همزمان
6. قابلیت راه اندازی یک استپ موتور
7. دارای یک Buzzer
8. اندازه 55mm×55mm
دانلود دیتا شیت شیلد درایور L298P
کاربرد شیلد درایور موتور L298P
1. رباتیک
2. ساخت دستگاه های CNC
3. راه اندازی و کنترل دور موتورهای DC
4. راه اندازی و کنترل جهت موتورهای پله ای
لیست قطعات مورد نیاز
برد آردوینو Arduino UNO R3 مدل DIP | 1 عدد |
شیلد درایور موتور آردوینو مدل L298 | 1 عدد |
موتور DC - آرمیچر | 2 عدد |
ولوم 10kΩ | 1 عدد |
برد بورد (پروجکت برد) مدل GL | 1 عدد |
سیم جامپر برد بوردی مدل دو سر نری (سری 40تایی) | 1 عدد |
نحوه اتصال تجهیزات به شیلد درایور موتور L298P بسیار ساده است که در شکل زیر نمایش داده شده است. بعد از اتصالات مربوط به موتورهای DC کافیست شیلد را بر روی برد آردوینو قرار دهید. همانطور که گفتیم پتانسیومتر برای کنترل جهت چرخش موتور به کار می رود که برای اتصال آن کافیست پایه میانی به پین آنالوگ 0 یا A0 و پایه های کناری به پین های زمین و 5ولت آردوینو متصل شود.
برنامه نویسی پروژه
بعد از اتصال قطعات به یکدیگر، کدهای زیر را در نرم افزار آردوینو کپی نموده سپس به برد آردوینو آپلود کنید.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
int pwm_b = 11; int dir_b = 13; int pot1; int pot2; int value; void setup() { pinMode(pwm_b, OUTPUT); pinMode(dir_b, OUTPUT); } void loop() { value = analogRead(A0); if (value > 511) { right(); } else { left(); } } void right() { pot1 = analogRead(A0); pot1 = map(pot1, 511, 1023, 0, 255); digitalWrite(dir_b, LOW); analogWrite(pwm_b,pot1); } void left() { pot2 = analogRead(A0); pot2 = map(pot2, 511, 0, 0, 255); digitalWrite(dir_b, HIGH); analogWrite(pwm_b,pot2); } |
سلام وقتتون بخیر خسته نباشید.
این پروژه برای فروش موجود هست؟
سلام دوست عزیز
در حال حاضر این پروژه به صورت آماده عرضه نمی شود و شما باید خودتان آنرا با توجه به نقشه شماتیک و برنامه ارائه شده بسازید.