למרות מורכבותן של מערכות הבקרה בטילים, במכוניות ובמכשירים אחרים, ניתן לעיתים לממש אותן בשיטה פשוטה: בקרי PID. לעקרונות השיטה יש שימושים מגוונים, ונציג דמיון שמצאנו בינה ל"נוסחת הרמזור" של פרופ" גמזו, להתמודדות עם מגפת הקורונה.
בקר הוא רכיב המשמש לשליטה על מערכות מגוונות. למשל, בקר יכול לתת הוראה "הזרם דלק למנוע כדי להפעיל אותו בעוצמה במשך 10 שניות". בקר אחר יכול לתת הוראה: "הזרם דלק למנוע, בדוק באופן מחזורי את המהירות המתקבלת, השווה אותה לערך הרצוי, ובהתאם לפער, הזרם פחות או יותר דלק". בקר מהסוג השני, שמגיב בהתאם לערכים הנמדדים ומעדכן את הפעולה אותה הוא מבצע, נקרא "בקר משוב". בדרך כלל נדרשים לבקר כזה מספר סבבים של עדכונים הדרגתיים להביא את המערכת למצב הרצוי.
אחד הבקרים הנפוצים נקרא בקר PID או "Proportional–Integral-Derivative". בקר זה מחשב את אות המשוב באמצעות ממוצע משוקלל בין שלושה משתנים: משתנה פרופורציונלי התלוי בשגיאה הנוכחית, משתנה אינטגרלי המכיל את סכום השגיאות שנצברו בעבר ומשתנה דיפרנציאלי ("נגזרת") המייצג את השינוי בערך השגיאה ביחס לשגיאה הקודמת. למרות השמות המתמטיים המפוצצים, החישוב די פשוט. נסביר דרך דוגמה.
דוגמה טובה לשימוש בבקר היא מערכת "בקרת שיוט" המותקנת במכוניות מסוימות, שתפקידה לשמור על מהירות נסיעה קבועה בתנאי שטח מגוונים. השליטה במהירות נעשית על ידי ויסות אוטומטי של זרימת דלק ואוויר למנוע - כלומר המערכת "לוחצת במקומנו על דוושת הגז" בהתאם לתוואי הדרך.
נניח שאנו נוהגים במכונית במהירות רצויה של 80 קמ"ש ומתחילים לטפס במעלה גבעה. החיישן מזהה שהמהירות ירדה מתחת לנדרש, למשל ל-60 קמ"ש, ויש צורך להזרים יותר דלק למנוע. אולם הזרמה מהירה מדי יכולה לגרום להאצת-יתר, לקפיצות ולחריגה מהמהירות המותרת. לכן המערכת צריכה לתקן את עצמה בהדרגתיות, עד שהיא מתייצבת והמכונית חוזרת לנוע במהירות הנדרשת.
לשם כך, כל פרק זמן קבוע הבקר במכונית בודק את ההפרש בין המהירות הרצויה למהירות הנוכחית. ערך זה, ההפרש בין ערך רצוי למצוי, שיכול להיות חיובי או שלילי (בדוגמה: 80-60=20 קמ"ש) הוא השגיאה אותה צריכה המערכת למזער. תרגום השגיאה למשוב, כלומר לכמה דלק יש להזרים ברגע הנתון, הוא לא פשוט עקב מורכבות המערכת וההשהייה בין זמן המדידה לתגובה.
לצורך זה, בקר PID מחשב את המשוב כתלות בשלושה משתנים: השגיאה, האינטגרל והנגזרת. כאמור, השגיאה מסמנת לבקר כמה רחוקים אנו מהיעד בהתאם למדידה האחרונה (20 קמ"ש בדוגמה). האינטגרל סוכם את השגיאות שחושבו בעבר והוא מדד לשגיאה המצטברת. למשל, אם סדרת מדידות המהירות הייתה: 80, 60, 50, ו- 60 קמ"ש, סדרת השגיאות המחושבות יחסית ל-80 קמ"ש: 0, 20, 30, 20, וערך האינטגרל, סכום השגיאות, הוא לפיכך 70. ערך זה הוא די גדול, ולכן הבקר אולי ירצה להגיב מיידית באמצעות תוספת דלק גדולה. אולם קיים גם משתנה אחרון, הנגזרת, שערכו תלוי בהפרש בין השגיאה הנוכחית לשגיאה במדידה הקודמת (בדוגמה: 10- = 20-30) , והוא מהווה מדד לקצב השינוי הנוכחי. למרות שערך האינטגרל גבוה, ערך הנגזרת מעיד שאנחנו כבר בכיוון "הנכון", ולא צריך להגזים בהזרמת הדלק. שילוב מושכל בין שלושת המשתנים מפיק תוצאה שמצד אחד תביא אותנו לערך הרצוי אך לא תעשה זאת בצורה חדה וקיצונית מדי.
בקר PID משלב בין שלושת הגורמים הללו: השגיאה, האינטגרל והנגזרת על ידי ביצוע ממוצע משוקלל תוך הכפלה במשקלים, שהם מספרים קבועים שחושבו מראש עוד בשלב בניית המערכת. חישוב פשוט זה מאפשר בדרך כלל ליצר משוב מתאים המאפשר להגיע בצורה הדרגתית אחרי מספר תיקונים למטרה! קביעת ערכי המשקלים נעשית בדרך כלל בסיוע תוכנות המנסות לדמות מערכות אמיתיות. באפליקציה באתר תוכלו לראות ולהתנסות בכיוונון של "בקר שיוט" [1].
לאחרונה, ניסינו בתור חובבי מתמטיקה ו- PID להבין גם את ההיגיון מאחורי "נוסחת הרמזור" של פרופ" גמזו [2], ונראה שגם בה יש שימוש מסוים אם כי שונה ועקיף בעיקרון של בקר PID: המשוב למערכת הבריאות (צבע הרמזור) תלוי בשגיאה הנוכחית (כמות הנדבקים שנוספו), שקלול העבר (כמה חולים הצטברו עד כה, אבל תוך שימוש בפונקציה לוגריתמית), והנגזרת, שהיא מידת השינוי של הפונקציה הלוגריתמית בפרק זמן של שבועיים. גם במשוואה זו, כמו בכינוון בקר PID, נעשה שימוש בממוצע משוקלל הכולל את שלושת המשתנים והכפלתם בקבועים, שנקבעו בהתאם להתנסות בשטח.
גם אם אתם לא מתעניינים במיוחד במתמטיקה, הרי טיפ לחיים: דעו מאיפה באתם (ההיסטוריה: סכום הטעויות שעשיתם בעברכם - האינטגרל), איפה אתם נמצאים (פונקציית השגיאה שלכם), ולאן אתם הולכים (ערך הנגזרת הנוכחי). ככה תוכלו לתת לעצמכם דין חשבון, ולדעת כיצד להשתפר....
מקורות וקישורים: