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

עוקב קו PID Atmega328P: 4 שלבים
עוקב קו PID Atmega328P: 4 שלבים

וִידֵאוֹ: עוקב קו PID Atmega328P: 4 שלבים

וִידֵאוֹ: עוקב קו PID Atmega328P: 4 שלבים
וִידֵאוֹ: סרטון הסבר עוקב קו 2024, נוֹבֶמבֶּר
Anonim
Image
Image

מבוא

מדריך זה עוסק בייצור קו יעיל ואמין עם בקרת PID (פרופורציונלית-אינטגרלית-נגזרת) הפעלה בתוך המוח (Atmega328P).

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

אז יהיו כמה חלקים/שלבים לביצוע עוקב LINE אני אדון בכולם שלב אחר שלב.

  1. חיישן (עין לראות את הקו)
  2. מיקרו -בקר (המוח לבצע כמה חישובים)
  3. מנועים (כוח שריר)
  4. נהג מנוע
  5. שִׁלדָה
  6. סוללה (מקור אנרגיה)
  7. גַלגַל
  8. שונות

להלן סרטון הווידאו של עמוד השורה

בצעדים הבאים אני אדון בפרטים על כל רכיב

שלב 1: חיישן (עין) QTR 8RC

חיישן (עין) QTR 8RC
חיישן (עין) QTR 8RC
חיישן (עין) QTR 8RC
חיישן (עין) QTR 8RC
חיישן (עין) QTR 8RC
חיישן (עין) QTR 8RC

תודה לפולו לייצור חיישן מדהים זה.

המודול הוא מנשא נוח לשמונה זוגות פולט ומקלט IR (פוטו טרנזיסטור) במרווחים שווים במרווחים של 9.525 מ מ). כדי להשתמש בחיישן, תחילה עליך לטעון את צומת הפלט (טעינת הקבל) על ידי הפעלת מתח ל- לאחר מכן תוכל לקרוא את ההחזר על ידי משיכת המתח המסופק חיצונית ותזמון כמה זמן לוקח למתח היציאה להתפרק עקב הפוטוטרנזיסטור המשולב. זמן ריקבון קצר יותר הוא אינדיקציה לשיקוף גדול יותר. לגישת מדידה זו מספר יתרונות, במיוחד בשילוב עם היכולת של מודול QTR-8RC לכבות את כוח LED:

  • אין צורך בממיר אנלוגי לדיגיטלי (ADC).
  • רגישות משופרת על פני פלט אנלוגי מחלק מתח.
  • קריאה מקבילה של מספר חיישנים אפשרית עם רוב המיקרו -בקרים.
  • קריאה מקבילה מאפשרת שימוש אופטימלי באפשרות הפעלת כוח LED

מפרטים

  • מידות: 2.95 "x 0.5" x 0.125 "(ללא סיכות כותרת מותקנות)
  • מתח הפעלה: 3.3-5.0 וולט
  • זרם אספקה: 100 mA
  • פורמט פלט: 8 אותות תואמים לקלט/פלט הניתנים לקריאה כדופק גבוה מתוזמן
  • מרחק חישה אופטימלי: 0.125 אינץ '(3 מ"מ) מרחק החישה המרבי המומלץ: 0.375 אינץ' (9.5 מ"מ)
  • משקל ללא סיכות כותרת: 0.19 עוז (3.09 גרם)

ממשק יציאות QTR-8RC לקווי קלט/פלט דיגיטליים

למודול QTR-8RC יש שמונה יציאות חיישן זהות שכמו ה- QTI Parallax דורשות קו קלט/פלט דיגיטלי המסוגל להניע את קו הפלט גבוה ולאחר מכן למדוד את הזמן שבו מתח היציאה יתפרק. הרצף האופייני לקריאת חיישן הוא:

  1. הפעל נוריות IR (אופציונלי).
  2. הגדר את קו הקלט/פלט ליציאה והעבר אותו גבוה.
  3. אפשר לפחות 10 מיקרומטר לפלט החיישן לעלות.
  4. הפוך את קו הקלט/פלט לכניסה (עכבה גבוהה).
  5. מדוד את הזמן שבו המתח יירד על ידי המתנה לקו הקלט/פלט לרדת.
  6. כבה נוריות IR (אופציונלי).

בדרך כלל ניתן לבצע שלבים אלה במקביל במספר קווי I/O מרובים.

עם השתקפות חזקה, זמן הריקבון יכול להיות נמוך עד כמה עשרות מיקרו שניות; ללא השתקפות, זמן הריקבון יכול להגיע לכמה אלפיות השנייה. הזמן המדויק של הריקבון תלוי במאפייני קו הקלט/פלט של המיקרו -בקר שלך. תוצאות משמעותיות יכולות להיות זמינות בתוך 1 מיליארד שניות במקרים אופייניים (כלומר כאשר לא מנסים למדוד הבדלים עדינים בתרחישי החזרה נמוכה), ומאפשרת דגימה של עד 1 קילוהרץ של כל 8 החיישנים. אם די בדגימה בתדר נמוך יותר, ניתן לממש חיסכון ניכר בהספק על ידי כיבוי הנורות. לדוגמה, אם קצב דגימה של 100 הרץ מקובל, נוריות ה- LED יכולות להיות כבוות 90% מהזמן, ולהוריד את צריכת הזרם הממוצעת מ -100 mA ל -10 mA.

שלב 2: מיקרו -בקר (מוח) Atmega328P

מיקרו -בקר (מוח) Atmega328P
מיקרו -בקר (מוח) Atmega328P
מיקרו -בקר (מוח) Atmega328P
מיקרו -בקר (מוח) Atmega328P

תודה ל- Atmel Corporation לייצור המיקרו -בקר המדהים הזה AKA Atmega328.

פרמטרים מרכזיים עבור ATmega328P

ערך פרמטר

  • פלאש (Kbytes): 32 Kbytes
  • ספירת סיכות: 32
  • מקסימום. תדירות הפעלה. (MHz): 20 MHz
  • מעבד: 8 סיביות AVR
  • סיכות I/O מקסימליות: 23
  • Ext Interrupts: 24
  • SPI: 2
  • TWI (I2C): 1
  • UART: 1
  • ערוצי ADC: 8
  • רזולוציית ADC (סיביות): 10
  • SRAM (Kbytes): 2
  • EEPROM (בתים): 1024
  • סוג אספקת קלט/פלט: 1.8 עד 5.5
  • מתח הפעלה (Vcc): 1.8 עד 5.5
  • טיימרים: 3

למידע מפורט עיין בגיליון הנתונים של Atmega328P.

בפרויקט זה אני משתמש ב- Atmega328P מסיבות מעטות

  1. זוֹל
  2. יש מספיק RAM לחישוב
  3. סיכות קלט/פלט מספיקות לפרויקט זה
  4. Atmega328P משמש ב- Arduino…. אתה עשוי להבחין בתמונה ובווידאו ב- Arduino Uno אבל בלילה יותר אני משתמש ב- Arduino IDE או בכל Arduino.. השתמשתי רק בחומרה כלוח ממשק. מחקתי את מטען האתחול והשתמשתי ב- USB ASP לתכנות השבב.

לתכנות הצ'יפ השתמשתי ב Atmel Studio 6

כל קוד המקור נמצא ב- GitHub הורד אותו ובדוק את קובץ test.c.

כדי להרכיב חבילה זו עליך להוריד ולהתקין את הגדרת הספרייה POLOLU AVR בדוק את הקבצים המצורפים …

אני גם מעלה קובץ סכמטי ולוח לוח של Atmega328P לוח פיתוח … אתה יכול לייצר אותו בעצמך …

שלב 3: מנוע ונהג מנוע

מנוע ונהג מנוע
מנוע ונהג מנוע
מנוע ונהג מנוע
מנוע ונהג מנוע
מנוע ונהג מנוע
מנוע ונהג מנוע

השתמשתי במנוע DC של 350 סל ד 12V BO המונע כמפעיל. למידע נוסף … קישור MOTOR

כנהג מנוע השתמשתי ב- L293D H- bridge IC.

אני מצרף את קובץ סכמטי ולוח עבור אותו דבר.

שלב 4: שלדה ועוד

שלדה ועוד
שלדה ועוד
שלדה ועוד
שלדה ועוד
שלדה ועוד
שלדה ועוד

הבוט מורכב מעץ רובד בעובי 6 מ מ.

מוּמלָץ: