L298N: מודול לבקרת מנועים לארדואינו

l298n

ישנם מודולים רבים עבור Arduino או לשימוש בפרויקטים DIY על ידי יצרנים. במקרה של L298N הוא מודול לבקרת מנועים. איתם תוכלו להשתמש בקודים פשוטים כדי לתכנת את לוח הארדואינו שלנו ולהיות מסוגל לשלוט על מנועי DC בצורה פשוטה ומבוקרת. באופן כללי, סוג זה של מודול משמש יותר ברובוטיקה או במפעילים ממונעים, אם כי ניתן להשתמש בו למספר רב של יישומים.

כבר הכנסנו את כל מה שצריך את מודול ה- ESP, עם שבב ESP8266, אחד מודול המאפשר הרחבת היכולות לוחות Arduino ופרויקטים אחרים כך שיהיה להם קישוריות WiFi. לא ניתן להשתמש במודולים אלה רק בבידוד, הדבר הטוב הוא שניתן לשלב אותם. לדוגמה, ניתן להשתמש ב- ESP8266 לאב-טיפוס שלנו ול- L298N, איתו נקבל מנוע נשלט דרך האינטרנט או האלחוטי.

מבוא ל- L298N וגיליונות הנתונים:

l298n pinout

למרות שעם Arduino ניתן לעבוד גם עם מנועי צעד הידועים ברובוטיקה, במקרה זה בדרך כלל מקובל יותר להשתמש בבקר או דרייבר למנועי DC. תוכל לקבל מידע על שבב L298 ועל המודולים בגליונות הנתונים של היצרנים, כגון STMicroelectronics מקישור זה. אם אתה רוצה לראות גליון נתונים של המודול הספציפי, ולא רק את השבב, אתה יכול להוריד קובץ PDF אחר זה של Handsontec L298N.

אך באופן כללי, L298N הוא נהג מסוג גשר H המאפשר לשלוט במהירות ובכיוון הסיבוב של מנועי DC. זה יכול לשמש גם עם מנועי צעד בקלות הודות ל -2 H- גשר שמיישם. כלומר, גשר ב- H, כלומר נוצר על ידי 4 טרנזיסטורים שיאפשרו להפוך את כיוון הזרם כך שרוטור המנוע יכול להסתובב בכיוון זה או אחר כמו שאנחנו רוצים. זהו יתרון על פני בקרים המאפשרים לך לשלוט רק על מהירות הסיבוב (RPM) על ידי שליטה רק בערך מתח האספקה.

L298N יכול לעבוד עם שונים מתח, מ -3 וולט ל -35 וולט, ובעוצמה של 2A. זה מה שיקבע באמת את הביצועים או את מהירות הסיבוב של המנוע. יש לקחת בחשבון כי האלקטרוניקה שהמודול צורך צורכת בדרך כלל סביב 3 וולט, כך שהמנוע תמיד יקבל פחות 3 וולט מההספק שאליו אנו מאכילים אותו. זו צריכה גבוהה למדי, למעשה יש לה אלמנט הספק גבוה שזקוק לקירור כמו שאתה יכול לראות בתמונה.

כדי לשלוט על המהירות, אתה יכול לעשות משהו הפוך ממה שעשינו עם ה- LM35, במקרה זה, במקום להשיג מתח מסוים ביציאה ולהצטרך להמיר אותו למעלות, כאן זה יהיה הפוך. אנו מאכילים את הנהג במתח נמוך או גבוה יותר להשגה סיבוב מהיר או איטי יותר. בנוסף, מודול L298N מאפשר גם להפעיל את לוח הארדואינו במהירות 5 וולט כל עוד אנו מפעילים את הנהג במתח 12 וולט לפחות.

שילוב עם ארדואינו

תרשים מעגל של l298n עם Arduino

שם שפע של פרויקטים שאיתם תוכלו להשתמש במודול זה L298N. למעשה, אתה יכול פשוט לדמיין את כל מה שאתה יכול לעשות עם זה ולצאת לעבודה. לדוגמא, דוגמה פשוטה תהיה בקרת שני מנועי זרם ישר כפי שניתן לראות בתרשים הקודם שנעשה עם פריצינג.

לפני שעובדים עם L298N עלינו לקחת בחשבון שהקלט של המודול או ה Vin תומך במתח בין 3V ל 35V וכי עלינו לחבר אותו גם לקרקע או ל- GND, כפי שניתן לראות בתמונה באמצעות הכבל האדום והשחור בהתאמה. לאחר החיבור לחשמל, הדבר הבא הוא לחבר את המנוע או את שני המנועים שהוא מקבל כדי לשלוט בו זמנית. זה פשוט, אתה רק צריך לחבר את שני מסופי המנוע ללשונית החיבור שמול המודול בכל צד.

ועכשיו מגיע אולי הכי מסובך, והוא לחבר את חיבורי המודול או סיכות לארדואינו כמו שצריך. זכור שאם מגשר המודול או גשר הווסת סגורים, כלומר מופעל, ווסת המתח של המודול מופעל ויש פלט 5 וולט שתוכל להשתמש בו להפעלת לוח הארדואינו. מצד שני, אם אתה מסיר את המגשר אתה מבטל את הרגולטור ואתה צריך להפעיל את הארדואינו באופן עצמאי. עַיִן! מכיוון שניתן לכוון את המגשר עד 12 וולט בלבד, יותר מכך עליכם להסיר אותו כדי לא לפגוע במודול ...

אתה יכול להעריך את זה ישנם 3 חיבורים לכל מנוע. אלה המסומנים כ- IN1 עד IN4 הם אלה ששולטים במנועים A ו- B. אם אין לך אחד מהמנועים מחוברים מכיוון שאתה רק צריך אחד, אז לא תצטרך לשים את כולם. הקופצים בכל צד של חיבורים אלה עבור כל מנוע הם ENA ו- ENB, כלומר, להפעיל את המנוע A ו- B, אשר חייב להיות קיים אם אנו רוצים ששני המנועים יעבדו.

כדי מנוע A (זה יהיה זהה עבור B), עלינו להיות מחוברים IN1 ו- IN2 שישלטו על כיוון הסיבוב. אם IN1 הוא גבוה ו- IN2 נמוך, המנוע מסתובב לכיוון אחד, ואם הם נמוכים וגבוהים, הוא הופך את השני. כדי לשלוט על מהירות הסיבוב עליך להסיר את קפיצי ה- INA או ה- INB ולהשתמש בפינים שמופיעים כדי לחבר אותו ל- Arduino PWM, כך שאם אנו נותנים לו ערך בין 0 ל 255 נקבל מהירות נמוכה או גבוהה יותר בהתאמה.

במונחים של תכנות קל גם ב- Arduino IDE. לדוגמה, קוד יהיה:

<pre>// Motor A
int ENA = 10;
int IN1 = 9;
int IN2 = 8;

// Motor B
int ENB = 5;
int IN3 = 7;
int IN4 = 6;

void setup ()
{
 // Declaramos todos los pines como salidas
 pinMode (ENA, OUTPUT);
 pinMode (ENB, OUTPUT);
 pinMode (IN1, OUTPUT);
 pinMode (IN2, OUTPUT);
 pinMode (IN3, OUTPUT);
 pinMode (IN4, OUTPUT);
}
//Mover los motores a pleno rendimiento (255), si quieres bajar la velocidad puedes reducir el valor hasta la mínima que son 0 (parados)</pre>
<pre>//Para mover los motores en sentido de giro contrario, cambia IN1 a LOW e IN2 a HIGH

void Adelante ()
{
 //Direccion motor A
 digitalWrite (IN1, HIGH);
 digitalWrite (IN2, LOW);
 analogWrite (ENA, 255); //Velocidad motor A
 //Direccion motor B
 digitalWrite (IN3, HIGH);
 digitalWrite (IN4, LOW);
 analogWrite (ENB, 255); //Velocidad motor B
}</pre>

היה הראשון להגיב

השאירו את התגובה שלכם

כתובת הדוא"ל שלך לא תפורסם. שדות חובה מסומנים *

*

*

  1. אחראי לנתונים: מיגל אנחל גטון
  2. מטרת הנתונים: בקרת ספאם, ניהול תגובות.
  3. לגיטימציה: הסכמתך
  4. מסירת הנתונים: הנתונים לא יועברו לצדדים שלישיים אלא בהתחייבות חוקית.
  5. אחסון נתונים: מסד נתונים המתארח על ידי Occentus Networks (EU)
  6. זכויות: בכל עת תוכל להגביל, לשחזר ולמחוק את המידע שלך.