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

בקר רכבת דגם Arduino 2-in-1: 4 שלבים
בקר רכבת דגם Arduino 2-in-1: 4 שלבים

וִידֵאוֹ: בקר רכבת דגם Arduino 2-in-1: 4 שלבים

וִידֵאוֹ: בקר רכבת דגם Arduino 2-in-1: 4 שלבים
וִידֵאוֹ: פסיקות - מבוא למערכות משובצות מחשב (ארדואינו) | הנדסת אלקטרוניקה ומחשבים לכיתות י,יא,יב 2024, יולי
Anonim
בקר רכבת דגם Arduino 2-in-1
בקר רכבת דגם Arduino 2-in-1

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

שלב 1: אפנון רוחב הדופק (PWM)

אפנון רוחב הדופק (PWM)
אפנון רוחב הדופק (PWM)

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

שלב 2: חומרה

חוּמרָה
חוּמרָה
חוּמרָה
חוּמרָה
חוּמרָה
חוּמרָה

התמונה הראשונה מציגה את חיבורי ה- Arduino למתגים ואת מודול הנהג המנוע LM298. ישנם נגדי משיכה חלשים פנימיים בארדואינו ולכן אין צורך בנגירי משיכה למתגים. מתג הכיוון הוא מתג SPST פשוט (קוטב בודד יחיד). מתגי המצערת והבלם מוצגים ככפתורי לחיצה מגעיים לרגע פתוחים.

התמונה השנייה מציגה את חיבורי ה- Arduino עבור מודול ה- Bluetooth ואת מודול הנהג המנוע LM298. יציאת Bluetooth TXD מתחברת ישירות לכניסה הטורקית של Arduino RX.

התמונה השלישית היא מודול L298N כפול H-bridge. מודול LM298 כולל ווסת 5 וולט המשולב שניתן להפעיל על ידי מגשר. אנחנו צריכים +5 וולט עבור Arduino ו- Bluetooth אבל אנחנו רוצים +12 וולט כדי להניע את המנוע. במקרה זה אנו מפעילים את +12 וולט על כניסת " +12V הספק" של ה- L298N ונשאיר את מגשר "5V הפעלה" במקומו. זה מאפשר לווסת 5 וולט להוציא לחיבור "+5 כוח" במודול. חבר את זה ל- Arduino ו- Bluetooth. אל תשכח לחבר את חוטי הארקה עבור כניסת +12 ויציאת +5 למודול "כוח GND".

אנו רוצים שמתח המוצא למנוע ישתנה בהתאם ל- PWM שנוצר על ידי הארדואינו במקום להיות מלא או כבוי. לשם כך, אנו מסירים את המגשרים מ- "ENA" ו- "ENB" ומחברים את פלט ה- Arduino PWM שלנו ל- "ENA" במודול. זכור כי סיכת ההפעלה בפועל היא זו הקרובה ביותר לקצה הלוח (ליד סיכות "הקלט"). הסיכה האחורית של כל הפעלה היא +5 וולט, לכן אנו רוצים לוודא שלא נתחבר לזה.

סיכות "IN1" ו- "IN2" במודול מחוברות לסיכות Arduino המתאימות. סיכות אלה שולטות בכיוון המנוע, וכן, יש סיבה טובה לתת לארדואינו לשלוט בהן במקום פשוט לחבר מתג למודול. נראה מדוע בדיון בתוכנה.

שלב 3: מודול בלוטות '

מודול בלוטות '
מודול בלוטות '

התמונה המוצגת כאן אופיינית למודולי ה- Bluetooth הזמינים. כאשר אתה מחפש אחד לקנות, אתה יכול לחפש על המונחים "HC-05" ו- HC-06 ". ההבדלים בין השניים הם בקושחה ובדרך כלל במספר הפינים בלוח. התמונה למעלה היא של מודול HC-06 ומגיעה עם קושחה פשוטה שמאפשרת רק תצורה בסיסית ביותר. הוא מוגדר גם כמכשיר בלוטות '"עבדים" בלבד. במילים פשוטות זה אומר שהוא יכול להגיב רק לפקודות ממכשיר "מאסטר" ולא יכול להוציא פקודות בכוחות עצמו. למודול HC-05 יש יותר אפשרויות תצורה וניתן להגדיר אותו כמכשיר "מאסטר" או "עבד". בדרך כלל יש ל- HC-05 שישה סיכות במקום רק הארבעה המוצגים למעלה עבור ה- HC-06. סיכת המדינה אינה ממש חשובה, אך סיכת המפתח (לפעמים עוברת בשמות אחרים כמו "EN") נדרשת אם ברצונך לבצע תצורה כלשהי. באופן כללי, המודולים אינם זקוקים לתצורה כלשהי אם אתה בסדר עם קצב שידור ברירת המחדל של 9600 ולא אכפת לך לתת שם ספציפי למודול. יש לי מספר פרויקטים שבהם אני משתמש באלה ולכן אני אוהב לקרוא להם בהתאם.

הגדרת מודולי ה- Bluetooth דורשת לקנות או לבנות ממשק ליציאה טורית RS-232 או ליציאת USB. לא אעסוק כיצד לבנות אחד בפוסט זה, אך אתה אמור להיות מסוגל למצוא מידע באינטרנט. או פשוט לקנות ממשק. פקודות התצורה משתמשות בפקודות AT בערך כמו שהיו בשימוש בימים ההם עם מודמים טלפוניים. צירפתי כאן מדריך למשתמש הכולל את פקודות AT לכל סוג מודול. דבר אחד שצריך לציין הוא שה- HC-06 דורש פקודות UPPERCASE ומחרוזת הפקודה חייבת להסתיים תוך שנייה אחת. המשמעות היא שחלק מהמחרוזות הארוכות יותר לדברים כמו שינוי קצבי שידור יצטרכו לחתוך ולהדביק בתוכנית הטרמינל שלך או שתצטרך להגדיר קבצי טקסט לשליחה. דרישת ה- UPPERCASE היא רק אם אתה מנסה לשלוח פקודות תצורה. מצב תקשורת רגיל יכול לקבל כל 8 סיביות של נתונים.

שלב 4: תוכנה

התוכנה די פשוטה הן לגרסה הידנית והן לגרסת ה- Bluetooth. כדי לבחור את גרסת ה- Bluetooth פשוט בטל את התגובה של המשפט "#define BT_Ctrl".

כשכתבתי את קוד ה- PIC התנסיתי בתדר PWM ולבסוף הסתפקתי ב -500 הרץ. גיליתי שאם התדירות גבוהה מדי אז המודול LM298N לא היה מסוגל להגיב מספיק מהר לפולסים. המשמעות היא שפלט המתח אינו לינארי ויכול לבצע קפיצות גדולות. ל- Arduino יש פקודות PWM מובנות אך הן מאפשרות לך רק לשנות את מחזור העבודה ולא את התדירות. למרבה המזל, התדר הוא כ -490 הרץ כך שזה קרוב מספיק ל -500 הרץ שהשתמשתי בהם ב- PIC.

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

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

גרסת ה- Bluetooth של התוכנה משתמשת בפקודות של אותיות בודדות ליזום הפונקציות קדימה, אחורה, בלם ומצערת. למעשה, הפקודות שהתקבלו מחליפות את המתגים הידניים אך גורמות לאותן תגובות. האפליקציה שבה אני משתמשת לשליטה ב- Bluetooth נקראת "בקר סידורי של Bluetooth" על ידי Next Prototypes. זה מאפשר לך להגדיר לוח מקשים וירטואלי ולהגדיר מחרוזות ושמות משלך לכל מקש. זה גם מאפשר לך להגדיר קצב חזרה כך שהגדרתי את כפתורי הבלם והמצערת ל -50 ms כדי לתת כ -14 שניות של מומנטום. השבתתי את פונקציית החזרה על הלחצנים קדימה ואחורה.

זהו זה לפוסט הזה. בדוק את ההוראות האחרות שלי. אם אתה מתעניין בפרויקטים של מיקרו -בקר PIC בדוק את האתר שלי בכתובת www.boomerrules.wordpress.com

מוּמלָץ: