מאי 2002
בקרת
חיישן מצלמה סורק למצב טלאופרטור
תקציר
לספר הפרוייקטים
מנחה: קובדלו יוסף
פרוייקט גמר שנה ד' הנדסה מכאנית
נושא הפרוייקט :בקרת
חיישן מצלמה למצב טלאופרטור
תיאור הנושא :
פרויקט זה הינו חלק
מן הפרויקט הגדול של רובוט נייד . בפרויקט זה אתמקד בפן הבקרתי , כאשר המערכת
המכנית בנויה . אי לכך יקר העבודה היא מציאת המודל מתמטי של המערכת המכנית ובעזרת
סימולציות על אותו מודל מציאת מקדמים לצורך בקרה.עלי לתכנן ולממש בקרת התנועה לציר
הנושא מצלמה לצורכי סריקה והסתכלות על מטרות במצב טלאופרטור למערכת מכנית קיימת
אשר כוללת את המצלמה המחוברת למנוע DC שהוא נושא עליו
תימסורת מכנית , אינקודר אופטי ותפסנית אשר בעזרתה מרכיבים את
המערכת על הרובוט וזוג
מיקרוסוויצ'ים. מטרת מערכת הבקרה היא לשלוט על המיקום הזוויתי של המצלמה דרך ממשק
המשתמש אשר מחובר למיקרוקונטרולר באמצעות
פרוטוקול תקשורת . ממשק המשתמש מהווה כלי גרפי אשר דרכו תישלט תנועת המצלמה
, כאשר הבקר ידאג להעפיל את המערכת לפי פקודת המשתמש .
שלבי העבודה הם :
1 . מציאת מודל
מתמטי למערכת מכנית קיימת
2 . בחירת בקרה
מתאימה למודל
3 . ביצוע סימולציות
ובמידה וצריך שיפור המודל ובחירת סוג בקרה בהתאם , חזרה על אותם פעולות עד לקבלת
תוצאות סבירות .
4 . כתיבת תוכנת
הבקרה
5 . כתיבת הממשק
6 . ביצוע מערך
ניסויים , במידה ואקבל התנהגות שונה מזו אשר ציפיתי בה יש להכניס שינוים לתוכנת
הבקרה ( לשנות את מקדמי הבקר ) , ולחזור על סעיף זה .
7 . הרכבה סופית של
המערכת בצורה המקובלת
מטרת הפרוייקט :
לבנות מערכת חיישן
מצלמה סורק לצורכי הסתכלות . כאשר המטרות
המדוייקות הן :
1 . סקר סיפרות
2 . תיאור תיארטי של
המערכת המכנית הקיימת
3 . תאור מודל מתמטי
של המערכת
4 . הצגת החלופות
לבקרה ותיאור בקר אשר נבחר
5 . הצגת תוצאות
הסימוליציות הממוחשבות הנעשות על המודל עם הבקר
6 . כתיבת תוכנת בקרה על סמך תוצאות הסימולציות
7 . כתיבת פרוטוקל
התקשורת
8 . כתיבת ממשק
המשתמש
9 . כתיבת מערך
ניסויים
10 . ביצוע ניסויים
11 . עיבוד תוצאות
הניסויים
5 . כתיבת הממשק
6 . ביצוע מערך
ניסויים , במידה ואקבל התנהגות שונה מזו אשר ציפיתי בה יש להכניס שינוים לתוכנת
הבקרה ( לשנות את מקדמי הבקר ) , ולחזור על סעיף זה .
מהלך העבודה :
בחלק ראשון של
הפרוייקט שהוא תיאורטי אני מנתח את המערכת המכנית על מנת לקבל מודל מתמטי שלה שבו
אשתמש לצורכי בחירת מקדמי בקרה . המערכת כוללת מצלמה המחוברת למנוע DC שעליו מורכבים אינקודר אופטי המייצר פולסים בסיבוב ציר המנוע,
תמסורת מכנית אשר דואגת להקטנת מהירות זוויתית של ציר המצלמה ובכך מעלה את המומנט
על אותו ציר , שני מיקרוסוויצ'ים שמטרתם להודיע על מצבים שהמצלמה מגיעה לנקודות
קצה של זווית 0 מעלות וזווית מקסימלית של 320 מעלות .
המודל שקיבלתי אני
רוצה לבקר , בחרתי בבקרה בחוג סגור עם משוב שלילי רגיל , שיטת הבקרה הזו מאופיינת
בפשטות ניתוח ותטיפול על ידי אמצעיים ממוחשבים,
במקרה שלי אני משתמש
באפליקצית Simulink
שהיא חלק מתוכנת MatLab שהיא כלי גרפי חזק המספק את כל צורכי המתכנן ונותנת תמונה מלאה של
המתרחש , מאפשרת ביצוע סימולציות עם מקדמים שונים וידעת להביא קרטריונים חיוניים
של יציבות שהיא אחת הדרישות החשובות בפרוייקט . בשלב זה גיליתי כי ניתן להסתפק
בבקר פרופורציונלי –דפרינציאלי בלבד משום שאינטגרטור מתקבל אוטומטית כי בקרה נעשית
על הפוסלים שאותם אני סופר ומקבל זווית ובכך מקבל סוכם שהוא ממלא את תכונותיו של
אינטגרטור . לאחר שקילתי את המודל הכללי עם בקר ניתן למהצוא את המקדמים שלו :
בעזרת שיטת ZN אפשר למצוא הגברים ראשוניים של בקר ,
ועל ידי תהליך של שינוי קבוע הגבר דיפרנציאלי ושינוי מתאים של מקדם הגבר
פרופורציונלי . בסוף התהליך אני קיבלתי מקדמי הגבר אשר מבטיחים לי את הישג המטרות
של המערכת . כאן מסתיים שלב של תכנון תיאורתי של בקרה וניתן להעבור לכתיבת קוד
תוכנת הבקרה , אך חלק של בקרה זה רק אחת הפסיקות של התוכנה הכוללת גם כן פרוטוקול
תקשורת , פסיקת שעון וחלקים המטפלים במצב האינקודרים והפעלת המנוע . בשלב זה בחרתי
בכרטיס דרייבר אשר מטרתו לטפל באינקודרים ובמנוע , הכרטיס מצד אחד דואג להעביר את
התוכן של האוגרים בהם נשמר מספר הפולסים המתקבלים בסיבוב המנוה מצד שני מקבל פקודה
להפעלת המנוע ב-DC רצוי ונתון על ידי חלק הבקרה של התוכנה
. כאשר כל התוכנה מוכנה יש לבצע מערך
ניסויים על מנת לאמת את בחירת מקדמי ההגבר וא לתקנם במידה והם לא מתאימים ,
אני קיבלתי כי
המקדמים אשר קילתי בסימולציות היו נותנים תוצאות משביות רצון ואין צורך לתקנם .
בניסויים קיבלתי התנהגות צפויה ורצויה של המערכת אי לכך ניתן היה לעבור לחלק של
הרכבה סופית של המערכת והפעלה לפי דרישות הרוייקט .
את ההרכבה ביצתי
בצורה כזו שהמערכת תוכל להיתחבר למערכות אחרות באמצעות חיבורים מקובלים , היא לא
דורשת התקנים מיוחדים להפעלתה וכל הדריושת שלה מקובלות ושכיכות למערכות מאותו סוג
כגון : קונקטורים למחשב , ספק מתח , מערכות אחרות .
סיכום וניתוח תוצאות
ומסקנות :
משום שהתחלטי לעבוד
עם מערכת מכנית קיימת לא היה באפשרותי לשנות בה חלקים חשובים כגון אינקוד או
תמסורת מכנית אי לכך נתקלתי במספר בעיות כגון : גלישה במשתנה השומר את מספר
הפולסים והדבר סיבך את החלק של תוכנה המטפלת באינקודר משום שנאלצתי להבחין בגלישות
ולבצע בדיקות לקיומן , בנוסף וכהמשך של אותה בעיה קיבלתי משתנים של 24 ביט אשר לא
נוחים חישובים על חדח המעבד , הפתרון היה להמיר את מספר בעל 24 למספר של 16 ביט
בקירוב הנותן שגיא מקסימלית של 0.875 % ( שגיא מקסימלית היא 7 פולסים כאשר לכל זווית
מתקבלים 800 פולסים) , הקירוב לא השפיע באופן משמעותי של התוצאות אותם קיבלתי .
סך הכל את כל הבעיות
ניתן היה לפתור והיכן הן פותרו והתוצאות מענות על דרישות הפרוייקט , אשר הושגו
במלואן . ניתן להוסיף כי ניתן היה באותם קרטיס דרייבר ומעבד לשלוט גם על סיבוב
בציר נוסף של מצלמה אך הדבר היה דורש מודל אחר לצורכי בקרה ושיטת בקרה אחרת אך זה
בהחלט יכול להיות המשך לפרוייקט זה .