דוחף זרם מנוע L298N להפעלת שני מנועי DC. המודול יכול לדחוף מנוע צעד אחד או שני מנועי DC עד 2 אמפר לכל מנוע.
מפרט ונתונים:
- גשר H כפול L298
- כניסת מתח למנוע: 5V-35V DC
- מקסימום זרם לכל מנוע: 2A
- מתח לוגי: 4.5V-5.5V
- זרם לוגי: 0mA-36mA
- מתח אות בקרה: 4.5V-5.5V גבוה, 0V נמוך
- הספק מקסימלי: 20W
גליון נתונים:
הסבר הפעלה:
שני זוגות הטרמינלים בצדדים הם כניסת המנועים מנוע 1 ומנוע 2 , כמובן שאין חשיבות לפלוס ומינוס את זה אפשר לקבוע בתוכנה.
- VCC > זהו הפלוס של מקור המתח החיצוני, מה שניתן פה הולך למנועים
- GND > זה המינוס של מקור המתח החיצוני
- 5V > החיבור הזה נותן לנו להפעיל את הארדואינו ממקור המתח החיצוני אבל אין צורך להשתמש בו אם מספקים לארדואינו כח בנפרד(עדיין יש צורך לחבר GND מארדואינו למודול). במידה ומשתמשים בו הוא הולך אל 5V בארדואינו ואז אין צורך לתת מתח נוסף להפעלת הארדואינו
- IN1,IN2 > חיבורים שהולכים אל שתי רגליים דיגיטליות בארדואינו. כשהרגל הראשונה פועלת והשנייה כבויה מנוע 1 יזוז לכיוון מסויים, וכשהרגל הראשונה כבויה והשנייה דולקת מנוע 1 יזוז לכיוון השני. כששתיהן כבויות הוא לא יזוז
- IN3,IN4 > חיבורים שהולכים אל שתי רגליים דיגיטליות בארדואינו. כשהרגל הראשונה פועלת והשנייה כבויה מנוע 2 יזוז לכיוון מסויים, וכשהרגל הראשונה כבויה והשנייה דולקת מנוע 2 יזוז לכיוון השני. כששתיהן כבויות הוא לא יזוז
- ENA > כשרוצים לתת למנוע 1 מתח משתנה(ברוב המקרים עושים את זה אבל לא מחייב.. לדוגמה כשמפעילים סולנואיד לא צריך) מורידים את הג’מפר השחור ומחברים את הרגל שנמצאת באותה שורה של הרגליים האחרות אל רגל PWM בארדואינו
- ENB > כשרוצים לתת למנוע 2 מתח משתנה מורידים את הג’מפר השחור ומחברים את הרגל שנמצאת באותה שורה של הרגליים האחרות אל רגל PWM בארדואינו
- יש עוד ג’מפר מיסתורי מעל אספקת המתח. כל עוד הוא בפנים יש לנו אספקת מתח נוספת מפין 5V(מקור המתח החיצוני מורד אל 5V על ידי LM7805), אבל אם אין לנו צורך ברגל 5V או כשמפעילים ארדואינו ממקור מתח שונה אפשר להוציא את הג’מפר וכך להעלות את היעילות של הדרייבר
void setup() { pinMode(2, OUTPUT); // IN1 pinMode(3, OUTPUT); // IN2 pinMode(4, OUTPUT); // IN3 pinMode(5, OUTPUT); // IN4 pinMode(10, OUTPUT); // ENA pinMode(11, OUTPUT); // ENB } void loop() { digitalWrite(2, HIGH); digitalWrite(3, LOW); analogWrite(10, 100); delay(1000); analogWrite(10, 150); delay(1000); analogWrite(10, 250); delay(1000); digitalWrite(2, LOW); digitalWrite(3, HIGH); analogWrite(10, 200); delay(4000); }