על ידי ארי גרינשפון » ג' נובמבר 02, 2010 8:08 am
assaf897 שלום וברוך הבא לפורום הרובוטיקה,
מבחינת חומרה אתה יכול להוסיף לרובוט שנוסע על קו לפחות שלושה חיישני אור (פוטוטרנזיסטורים עם גלאים) שממוקמים בצד ימין של הרובוט, במרכז הרובוט ובצד שמאל של הרובוט המטרה של חיישני האור היא לקבל מידע על מיקום הרובוט ביחס לקו
בעיקרון רצוי שחיישני האור יהיו כמה שיותר מדויקים וידגמו כמה שיותר מהר, את המידע הזה אפשר לשמור בזיכרון ה Flash של המיקרו מעבד.
האלגוריתם של הרובוט יכול להיות בצורה הבאה : אם חיישן האור הימני מזהה את הקו אז הרובוט מתוכנת לזוז שמאלה ולהפך כאשר חיישן האור השמאלי מזהה את הקו אז הרובוט מתוכנת לזוז ימינה ואם חיישן האור המרכזי יזהה את הקו אז הרובוט ינוע ישר
הבקרה של הרובוט יכולה להתבצע בעזרת בקר PID שישלוט על אות ה PWM שמסופק למנועים שמחוברים לגלגלי הרובוט
בקר PID עובד על השגיאה שזהו המיקום הרצוי של הרובוט פחות המיקום הנוכחי של הרובוט
החלק הפרופורציונאלי (P) מגיב לפי השגיאה, ככל שהערך הפרופורציונאלי גבוה יותר אז מקבלים overshoot גבוה שיוציא את הרובוט מהקו ומנגד עבור ערך פרופורציונאלי נמוך ושינוי מסלול חד גם כן יוציא את הרובוט מהקו.
החלק הדיפרנציאלי (D) מחסר בין השגיאה הקודמת לשגיאה הנוכחית עבור מהירויות גבוהות נרצה שהערך של הדיפרנציאל יהיה גבוה.
החלק האינטגרלי (I) מסכם את השגיאה בצורה מצטברת, במהירות גבוהה נעדיף שהערך של האינטגרטור יהיה נמוך כדי שלא יוציא את הרובוט מהקו.
קיימים שיטות שמטרתם לתת סדר גודל של ערכי ה PID טובים לבעיה הספציפית
למשל שיטת Ziegler & Nichols ואחרי זה תיעזר בניסוי וטעייה
כלומר לשנות את הערכים של בקר ה PID וללראות איך הרובוט מגיב לשינויים חדים במסלול, שינויי מהירויות ושינויי תאוצה.
ארי גרינשפון