בעיה מאוד מוזרה ברובוט, צריך עזרה דחוף!

פורום הדן בנושא תחרות הרובונר

המנהלים: אסף פוניס, גיא יונה

בעיה מאוד מוזרה ברובוט, צריך עזרה דחוף!

הודעהעל ידי אורח » ו' פברואר 21, 2003 8:16 pm

יש לי כבר המון זמן בעיה ברובוט שאני לא מצליח לפתור:

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

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

אני לא רוצה רובוט שיסע כל-כך לאט אבל אני חייב שהוא יזהה את הקו הלבן, אני מיואש!!!

למישהו יש רעיון מה יכול לגרום לבעייה הזו?

תודה מראש לכל מי שעוזר לי!
אורח
 

חיישנם

הודעהעל ידי אורח » ו' פברואר 21, 2003 8:31 pm

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

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

תענה על השאלות, אולי נוכל לעזור לך יותר...
אורח
 

Re: חיישנם

הודעהעל ידי אורח » ו' פברואר 21, 2003 8:45 pm

שניהם מקדימה, אחד מקדימה בצד ימין ואחד מקדימה בצד שמאל

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

במהירות גבוהה זה לא עובד

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

הודעהעל ידי אורח » ו' פברואר 21, 2003 9:41 pm

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

הודעהעל ידי אורח » ו' פברואר 21, 2003 10:10 pm

כן,הרובוט ממשיך בתוכנית אחרי שהוא עובר את הקו הלבן.

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

הודעהעל ידי אורח » ו' פברואר 21, 2003 10:14 pm

ועשיתי גם השהייה של 20 מילישניות על מהירות 0 לפני שהרובוט עור לנסיעה ברוורס
אורח
 

הודעהעל ידי אינגר » א' פברואר 23, 2003 9:15 pm

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

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

אמור לפתור את הבעיה.. מקווה שזה קשור. אם לא.. תעשה Post לקוד שלך פה בבקשה (בהנחה שאתה עובד באסמבלי (בעצם גם c טוב) על hc11 או עדיף hc12).

עריכה: מכיוון שאני טמבל ומפריעים לי מאחורה ולא קראתי הכל פשוט תעשה Post לקוד שלך..

"קרעפלך" לשלטון!
!Hiroshima - 45, Chernobyl - 86, Windows - 95

העבודה על קרעפלך:
http://www.iarc.org/~4x4pf/Kreplach_Work.pdf
סמל אישי של המשתמש
אינגר
משתמש ותיק
משתמש ותיק
 
הודעות: 199
הצטרף: ו' אוקטובר 11, 2002 8:32 pm
מיקום: רמת גן

הודעהעל ידי אורח » ב' פברואר 24, 2003 12:17 am

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



!


קודם כל תודה על העזרה

היום עוד לפני שראיתי את ההודעה שלך מישהו הציע לי להעלות את הזמן השהייה בין הנסיעה קדימה לבין הנסיעה אחורה
בהתחלה היה לי זמן השהיה של 20 מילשניות
והעלתי עד ל 250 מילישניות
ועכשיו זה עובד!!!
כנראה שמה שאמרת נכון וזו במת הבעיה!

רק דבר אחד לא מסתדר לי:
לפני פתרון הבעיה, כשזמן ההשהיה היה על 20 מילישניות
אם נתתי למנועים מהירות גבוהה אבל החזקתי את הרובוט כדי להאט אותו (עד כמה שניתן -בלי לשנות את המסלול שלו) הוא כן עבד טוב!
למרות שהזרם למנועים ולבקר אמור להיות זהה ולא מושפע מזה שאני מחזיק את הרובוט בזמן שהוא נוסע
איך זה מסתדר עם ההסבר שלך? :?:
אורח
 

הודעהעל ידי אורח » ב' פברואר 24, 2003 5:20 pm

חיברתי את הבקר לבטריה נפרדת מהמנועים וזה פתר לחלוטין את בעייה
עכשיו התוכנה עובדת טוב גם בהשהייה של רק 20 מילישניות וגם במהירות גבוהה

תודה רבה על העזרה!

עכשיו יש ליבטריה לבקר ובטריה לחיישנים+מנועים
האם יכול להיות מצב שבו תהיה נפילת זרם לחיישנים והם לא יתפקדו טוב כמו שקרה לבקר?
אורח
 

אתה יכול גם

הודעהעל ידי השחר העולה » ב' פברואר 24, 2003 5:40 pm

אתה יכול גם להחזיר את כל המערכת לאותו מצב קודם ולעשות משהו כזה:
לשים דיודה (דיודת RECITFIER) על ה (+) של המתח שמגיע ל CPU שלך. זה ימנע חזרה של זרם. חזרה מאיפה? חזרה מהקבל האלקטרוליטי כמובן, שתשים אחרי הדיודה בין ה (+) ל (-)
אחרי הדיודה ולפני כניסת המתח של ה CPU. זה יותר קל מלהחליף ל 2 בטריות ונותן לך לעשות את מה שאתה צריך כמו מקודם. למה זה טוב? הקבל נטען וברגע שימשך כל הזרם למנועים, הקבל האלקטרוליטי ישמור על רמת מתח קבועה יחסית בזמן הקצר ל CPU, ויתן לו את הזרם הדרוש. אותו זרם לא "יחזור" אחורנית הדיודה לא תתן לו.... רק תזהר בחיבור קבל אלקטרוליטי עם הקוטביות...
-במפי
www.robotica.co.il/movies/movies.php
האמת המפתיעה היא שלו היינו מאפשרים לחתולים להתקדם לעמדות כוח בפוליטיקה העולמית הרי שתופעות כמו מלחמות וטרור גלובלי היו מצטמצמות לאלתר. לעומת זאת, העצרת הראשית של האו"ם היתה מסריחה.
סמל אישי של המשתמש
השחר העולה
כותב הטור
 
הודעות: 1739
הצטרף: ג' אוקטובר 08, 2002 11:27 pm
מיקום: אוניברסיטת ת

הודעהעל ידי אורח » ג' פברואר 25, 2003 5:31 pm

אתה הגאון!
תודה!
אורח
 

תודה:)

הודעהעל ידי השחר העולה » ג' פברואר 25, 2003 6:32 pm

תודה :)
www.robotica.co.il/movies/movies.php
האמת המפתיעה היא שלו היינו מאפשרים לחתולים להתקדם לעמדות כוח בפוליטיקה העולמית הרי שתופעות כמו מלחמות וטרור גלובלי היו מצטמצמות לאלתר. לעומת זאת, העצרת הראשית של האו"ם היתה מסריחה.
סמל אישי של המשתמש
השחר העולה
כותב הטור
 
הודעות: 1739
הצטרף: ג' אוקטובר 08, 2002 11:27 pm
מיקום: אוניברסיטת ת

הודעהעל ידי אינגר » ג' פברואר 25, 2003 7:38 pm

תיקון: הוא לא הגאון, הוא אחד מהם :lol:
!Hiroshima - 45, Chernobyl - 86, Windows - 95

העבודה על קרעפלך:
http://www.iarc.org/~4x4pf/Kreplach_Work.pdf
סמל אישי של המשתמש
אינגר
משתמש ותיק
משתמש ותיק
 
הודעות: 199
הצטרף: ו' אוקטובר 11, 2002 8:32 pm
מיקום: רמת גן

באופן עקרוני אני מפריד בין הסוללה המזינה את מערכת הבקרה לבן

הודעהעל ידי אבי » ד' פברואר 26, 2003 11:48 pm

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

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

נו מה אתה לא מקשיב?

הודעהעל ידי השחר העולה » ו' פברואר 28, 2003 12:03 am

אתה לא מקשיב לי.
ראשית הסוללה לא מתרוקנת מכמה סיבות .
היא מתרוקנת מסיבה אחת. הסיבה - יש עליה עומס. כמה חזק העומס? אם זה מנוע חיישן או מיקרו בקר זה רק משנה כמה זרם נמשך ממנה לא מה מושך...
אבל כמו שכבר אמרתי זה טיפשי לעשות 2 סוללות שיש פתרון הרבה יותר פשוט (אלא אם זה משהו ממש חזק שלא יכול לפעול אחרת , כמו מנוע טיסן) - מה שכתבתי מקודם עם הקבל והדיודה ואפשר להוסיף סליל , ככה רק כדי להתפרע... :lol:
-במפי
www.robotica.co.il/movies/movies.php
האמת המפתיעה היא שלו היינו מאפשרים לחתולים להתקדם לעמדות כוח בפוליטיקה העולמית הרי שתופעות כמו מלחמות וטרור גלובלי היו מצטמצמות לאלתר. לעומת זאת, העצרת הראשית של האו"ם היתה מסריחה.
סמל אישי של המשתמש
השחר העולה
כותב הטור
 
הודעות: 1739
הצטרף: ג' אוקטובר 08, 2002 11:27 pm
מיקום: אוניברסיטת ת

הבא

חזור אל רובונר

מי מחובר

משתמשים הגולשים בפורום זה: אין משתמשים רשומים ו 6 אורחים

cron