תוכן עניינים:

נהיגה במנועים קטנים עם TB6612FNG: 8 שלבים
נהיגה במנועים קטנים עם TB6612FNG: 8 שלבים

וִידֵאוֹ: נהיגה במנועים קטנים עם TB6612FNG: 8 שלבים

וִידֵאוֹ: נהיגה במנועים קטנים עם TB6612FNG: 8 שלבים
וִידֵאוֹ: Nissan Xterra 2022 Titanium - Big car small engine? 2024, נוֹבֶמבֶּר
Anonim
נהיגה במנועים קטנים עם TB6612FNG
נהיגה במנועים קטנים עם TB6612FNG

ה- TB6612FNG הוא כונן נהג כפול מנועים מטושיבה. יש הרבה לוחות פריצה לשם כך וזו אחת האפשרויות הפופולריות ביותר להניע מנועים קטנים.

יש הרבה משאבים מקוונים לתחילת העבודה עם TB6612FNG אבל החלטתי לכתוב את זה בכל זאת כדי לאסוף טוב יותר את מה שנתקלתי בו.

אני אתמקד בהיגיון הבקרה וגם אסביר את ספריית נהגי המנוע Sparkfun TB6612FNG בפירוט במדריך זה.

שלב 1: דרושים חלקים

להלן מה נשתמש היום:

1) מנועי מיקרו מתכת

2) נהג מנוע TB6612FNG

3) כבל Arduino ו- USB

4) מקור כוח למנועים

5) לוח לחם

6) חוטי מגשר

שלב 2: לוח הפריצה TB6612FNG

לוח הפריצה TB6612FNG
לוח הפריצה TB6612FNG

כפי שציינתי קודם, יש הרבה לוחות פריצה מיצרנים שונים עבור TB6612FNG. לכולם יש פחות או יותר את אותם רכיבים וגם pinout דומה.

קבלים מולחמים על הלוח להגנה מפני רעשים מהמנועים, כך שלא תצטרך להלחים את הקבלים הקרמיים האלה אל המנועים.

ה- IC מגיע גם עם דיודות פנימיות להגנה מפני EMF גב מהמנועים. אך קיום אמצעי בטיחות נוספים אינו פוגע באף אחד. לא הוספתי אותם כי המנועים שלי לא גדולים במיוחד וחסר לי דיודות: |

שלב 3: הצמד החוצה

Pin Outs
Pin Outs

ללוח הפריצה TB6612FNG יש pinout מאוד משכנע. כל יציאות המנוע, הכניסות וחיבורי החשמל מקובצים יפה יחד לנוחות השימוש המרבית.

עשיתי איור של הסיכות וכיצד לחבר אותן, אני מקווה שזה יהיה שימושי בעת חיבור כל החוטים האלה:)

שלב 4: תרשימים

סכמטים
סכמטים
סכמטים
סכמטים

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

שלב 5: חיבור זה

חיבור זה
חיבור זה

חבר הכל לפי סכמות. יש הרבה חוטים, הקפד לבדוק שוב לאחר כל חיבור.

השתמשתי בסיכות Arduino הבאות לכניסות של נהג המנוע:

נהג מוטורי -> מספר סיכה של Arduino

1) PWMA -> 5

2) INA1 -> 2

3) INA2 -> 4

4) PWMB -> 6

5) INB1 -> 7

6) INB2 -> 8

דברים שיכולים להשתבש בשלב זה: 1) אין להפוך את הקוטביות בעת חיבור ה- Vm ו- GND ממקור החשמל. אתה יכול לטגן את נהג המנוע שלך.

2) הקפד לחבר את PWMA ו- PWMB לסיכות PWM בארדואינו.

3) זכור לחבר את ה- Arduino GND ואת ה- GND ממנהג המנוע אם אתה משתמש במקור כוח אחר עבור כל אחד.

שלב 6: הורדה והתקנה של הספרייה

הורד את הספרייה מדף GitHub של Sparkfun.

לאחר הורדת קובץ ה- zip, פתח את Arduino IDE שלך.

מתוך Sketch> Include Library> Add. Zip Library, הוסף את הספרייה שהורדת.

לאחר ההתקנה בהצלחה, הוא אמור להופיע בקובץ> דוגמאות, בשם 'ספריית המנוע SparkFun TB6612FNG'

אם אתה מתקשה להוריד ולהתקין ספריית Arduino, בדוק את שלב 5 של הוראה זו.

שלב 7: הפעלת הקוד לדוגמה

כעת, לאחר שהספרייה שלנו מוכנה, נוכל להעלות את הקוד לדוגמה כדי לבדוק אותו.

1) פתח את דוגמת 'MotorTestRun' מתוך 'ספריית נהגי המנוע של Sparkfun TB6612FNG' המופיע בספריות שלך.

הערה: אם אינך משתמש באותם מספרי סיכה כפי שהוזכר בשלב 5, הקפד לשנות את הגדרות הסיכה בהתאם להגדרות שלך.

2) בחר את הלוח שלך ממנהל הלוח

3) העלה את הקוד שלך והמנועים צריכים להתחיל לזוז

לאחר העלאת המנועים אמורים להתחיל לזוז. אם הם לא, בדוק שוב את החיווט שלך.

שלב 8: הספרייה מוסברת

עכשיו כדי להסביר כיצד להשתמש בספרייה עבור פיסת קוד משלך.

ראשית התחל בייבוא הספרייה ואתחול הפינים בארדואינו

#לִכלוֹל

#הגדר AIN1 2 #הגדר AIN2 4 #הגדר PWMA 5 #הגדר BIN1 7 #הגדר BIN2 8 #הגדר PWMB 6 #הגדר STBY 9

כדי לאתחל את חפצי המנוע שלך, עליך להגדיר קיזוזים עבור כל מנועים. תארו לעצמכם אם אתם מבצעים פקודה קדימה על המנוע שלכם, והיא מסתובבת לאחור. אתה יכול לחבר אותו מחדש ידנית, או שאתה יכול לשנות את הקיזוז מכאן. פריצת QoL קטנה וחמודה שנוספה על ידי SparkFun. הערכים של קיזוזים אלה הם 1 או -1.

לאחר מכן עליך לאתחל כל אחד מהמנועים עם הפרמטרים הבאים;

מנוע = מנוע (סיכה 1, סיכה 2, סיכת PWM, קיזוז, סיכת המתנה)

const int offsetA = 1;

const int offsetB = 1; מנוע מנוע 1 = מנוע (AIN1, AIN2, PWMA, offsetA, STBY);

ועם זה, סיימת לאתחל את הספרייה. אין עוד שלבים בפונקציית ההתקנה (), אנחנו פשוט מריצים את הקוד בפונקציית הלולאה ().

לשיטת המנוע יש את הפונקציות הבאות. תסתובב כדי לבדוק את כולם.

1).drive (ערך, זמן)

Motor_name = שם אובייקט המנוע שלך = 255 עד -255; ערכים שליליים יגרמו למנוע לנוע בזמן הפיך = זמן באלפיות השנייה

2). בלם ()

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

3) בלם (, <motor_name2)

פונקציית הבלם לוקחת שמות אובייקטים מוטוריים כארגומנטים. הבלמים את המנועים שהועברו לפונקציה.

4) קדימה (,, זמן) קדימה (,, מהירות, זמן)

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

5) אחורה (,, זמן) אחורה (,, מהירות, זמן)

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

6) שמאל (,, מהירות) ימינה (,, מהירות)

הפונקציה מקבלת שני שמות של אובייקטים מוטוריים ומהירות. סדר האובייקטים המוטוריים שעוברים כפרמטרים חשוב. כדי להניע מנועים בודדים, השתמש במקום זאת ב-.drive ().

מוּמלָץ: