תוכן עניינים:
- שלב 1: מיקום ההדרכה השתנה
- שלב 2: בנה את רובוט הכונן הדיפרנציאלי SnappyXO
- שלב 3: חבר את האלקטרוניקה
- שלב 4: התקן את ספריית Arduino PreciseMovement
- שלב 5: קוד
- שלב 6: איך זה עובד
וִידֵאוֹ: רובוט מעבד מדויק של SnappyXO: 6 שלבים
2024 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2024-01-30 09:15
גרמו לרובוט הארדואינו שלכם ללכת למרחק מסוים או לסובב אותו לזווית מוגדרת באמצעות ספריית ה- Arduino של PreciseMovement.
הרובוט צריך גלגלת כדור מתגלגל או שווה ערך כדי למזער את החיכוך בזמן פיתול.
www.pololu.com/product/954
אתה יכול להגיד לרובוט ללכת קדימה למרחק מוגדר או לסובב לזווית מסוימת. התוכנית קובעת את מיקומה באמצעות חשבון נפש מת. מכיוון שאומדני המיקום מסתמכים רק על מהירות הגלגל, החלקה תגרור שגיאה ניכרת. על מעצב הרובוט להקפיד למזער את הסיכון להחלקה.
זה נבדק לעבודה עם רובוט SnappyXO.
שלב 1: מיקום ההדרכה השתנה
ההדרכה הועברה לדף שלהלן. הדרכה זו אינה נשמרת עוד.
sites.google.com/stonybrook.edu/premo
שלב 2: בנה את רובוט הכונן הדיפרנציאלי SnappyXO
ספריית PreciseMovement שבה נשתמש תואמת רק רובוטים של כונן דיפרנציאלי. אתה יכול לבחור להשתמש ברובוטים אחרים עם 2 הנעה.
שלב 3: חבר את האלקטרוניקה
עבור המקודד האופטי הסטנדרטי SnappyXO:
D0 (פלט מקודד) -> פין Arduino דיגיטלי
VCC -> Arduino 5V
GND -> GND
כוח מנוע וארדואינו:
מקור הכוח המנוע צריך להיות מתאים למנועים שבהם אתה משתמש. עבור ערכת SnappyXO, סוללות 4AA משמשות עבור הספק המנוע וסוללה של 9V עבור כוח Arduino. וודא שלכולם יש GND משותף.
שלב 4: התקן את ספריית Arduino PreciseMovement
הורד:
github.com/jaean123/PreciseMovement-library/releases
כיצד להתקין את ספריית ארדואינו:
wiki.seeedstudio.com/How_to_install_Arduino_Library/
שלב 5: קוד
קוד ארדואינו:
create.arduino.cc/editor/whileloop/7a35299d-4e73-409d-9f39-2c517b3000d5/preview
פרמטרים אלה דורשים התאמה. ניתן להתאים פרמטרים אחרים המסומנים המומלצים על הקוד לביצועים טובים יותר.
- בדוק והגדר את סיכות המנוע תחת סיכות ARDUINO.
-
הגדר LENGTH ו- RADIUS.
- LENGTH הוא המרחק מהגלגל השמאלי לגלגל הימני.
- RADIUS הוא רדיוס הגלגל.
-
הגדר PULSES_PER_REV, שהוא מספר הפולסים שיוצאים המקודד למהפכה של גלגל אחד.
- שים לב שזה שונה ממספר הפולסים שיוצא המקודד למהפכת ציר מנוע אחת, אלא אם כן המקודדים מחוברים לקריאה ישירות מציר הגלגל.
- PULSES_PER_REV = (פולסים לכל סיבוב אחד של פיר המנוע) x (יחס הילוכים)
-
הגדר STOP_LENGTH אם אתה רואה שהרובוט יורה יתר על המידה לאחר התנועה קדימה.
הרובוט יעצור לאחר שהמיקום המשוער יהיה במרחק STOP_LENGTH מהמטרה. לפיכך, STOP_LENGTH, הוא המרחק המשוער הנדרש כדי שהרובוט יעצור
-
פרמטרים של PID
KP_FW: זהו המרכיב הפרופורציוני של התנועה קדימה. הגדל את זה עד שהרובוט ישר. אם אתה לא יכול לגרום לזה ללכת ישר על ידי כוונון זה, אז החומרה כנראה אשמה. (למשל כיוון לא נכון של הגלגלים וכו ')
KP_TW: זהו המרכיב הפרופורציונלי של תנועת ה- PID בתנועה המתפתלת. כל שעליך לעשות הוא להתחיל בערך נמוך ולהגדיל את זה עד שמהירות הפיתול, או מהירות הזוויות של הרובוט בזמן הפיתול, מהירה מספיק, אך אינה גורמת לזרימת יתר. כדי לבצע תצפיות, תוכל להפוך את הרובוט לסירוגין בין 0 ל -90 וחזרה על ידי הכנסת הדברים הבאים בפונקציית הלולאה
מקם את זה בלולאה כדי לכוון את KP_FW:
mover.forward (99999);
מקם את זה בלולאה כדי לסירוגין בין 0 ל- 90 כדי לכוון את KP_TW:
mover.twist (90); // טוויסט 90 CW
עיכוב (2000);
mover.twist (-90) // טוויסט 90 CCW
עיכוב (2000);
שים לב שכדי למעשה לסובב את המהירות הזוויתית ב- TARGET_TWIST_OMEGA, גם KI_TW צריך להיות מכוון מכיוון שבקר פרופורציונלי לעולם לא יסתפק ביעד המדויק. עם זאת, אין צורך לסובב במהירות הזוויתית הזו בדיוק. מהירות הזווית פשוט צריכה להיות איטית מספיק.
שלב 6: איך זה עובד
אם אתה סקרן לגבי אופן הפעולה, המשך לקרוא.
התנועה קדימה נשמרת ישרה באמצעות אלגוריתם המרדף הטהור בנתיב קו ישר. עוד על Pure Pursuit:
בקר ה- PID טוויסט מנסה לשמור על מהירות הזוויות של הטוויסט ב- TARGET_TWIST_OMEGA. שים לב שמהירות זוויתית זו היא מהירות הזווית של הרובוט כולו ולא הגלגלים. רק בקר PID אחד משמש והפלט הוא מהירות הכתיבה של PWM של המנועים השמאליים והימניים כאחד. חישוב מת מתבצע כדי לחשב את הזווית. ברגע שהזווית מגיעה לסף השגיאה, הרובוט עוצר.
מוּמלָץ:
תצוגת דיו אלקטרוני Waveshare מד מד מדויק (0-90v DC) עם Arduino Nano: 3 שלבים
תצוגת דיו אלקטרוני של Waveshare מד מתח מדויק (0-90v DC) עם Arduino Nano: במדריך זה אני משתמש בתצוגת נייר Waveshare בגודל 2.9 אינץ 'עם Arduino Nano, מחלק מתח ו- ADS1115 להצגת מתח מדויק עד 90 וולט DC בתצוגת נייר אלקטרוני. הוראה זו משלבת את שני הפרויקטים הקודמים האלה:- Ardui
מד וולט מדויק ומדויק של Arduino (0-90V DC): 3 שלבים
מד מתח מדויק ומדויק של Arduino (0-90V DC): במדריך זה בניתי מד מתח למדידת מתח גבוה DC (0-90v) בדיוק ודיוק יחסי באמצעות Arduino Nano. מדידות הבדיקה שעשיתי היו מספיק מדויקות, בעיקר בטווח של 0.3 וולט מהמתח בפועל שנמדד עם
KIM Uno - אמולטור קיט מעבד מיקרו -מעבד בעלות של 5 €: 13 שלבים (עם תמונות)
KIM Uno - אמולטור קיט מעבד מיקרו -מעבד בעלות של 5 €: KIM Uno הוא ערכת התפתחות ניידת המוגדרת בתוכנה עבור מעבדים (רטרו). אבל הרשה לי להציג את הרעיון בכך על ידי חזרה אחורה בזמן: בסוף 2018 עלה בדעתי שרציתי לבנות ערכת התקן מיקרו -מעבד ניידת קטנה, ממש כמו
רובוט איזון / רובוט 3 גלגלים / רובוט STEM: 8 שלבים
רובוט איזון / רובוט 3 גלגלים / רובוט STEM: בנינו רובוט איזון משולב ושלושה גלגלים לשימוש חינוכי בבתי ספר ובתוכניות חינוכיות לאחר הלימודים. הרובוט מבוסס על Arduino Uno, מגן מותאם אישית (כל פרטי הבנייה מסופקים), חבילת סוללות לי יון (כל מבנה
[רובוט ארדואינו] כיצד ליצור רובוט לכידת תנועה - רובוט אגודל - מנוע סרוו - קוד מקור: 26 שלבים (עם תמונות)
[רובוט ארדואינו] כיצד ליצור רובוט לכידת תנועה | רובוט אגודל | מנוע סרוו | קוד מקור: רובוט אגודל. השתמש בפוטנציומטר של מנוע סרוו MG90S. זה מאוד כיף וקל! הקוד פשוט מאוד. זה בסביבות 30 קווים בלבד. זה נראה כמו לכידת תנועה. אנא השאר כל שאלה או משוב! [הוראה] קוד מקור https: //github.c