בקר PID

[ממוזער|300x300 פיקסלים|מערכת [בקרת שיוט היא מערכת נפוצה ומוכרת בתחום הרכב, המבוססת על בקר PID לשם שליטה על מהירות כלי רכב בתנאי דרך משתנים.]]
**בקר PID** או **בקר פרופורציונלי-אינטגרלי-דיפרנציאלי** (באנגלית: **PID controller** or **three-term controller** או **proportional–integral–derivative controller**) הוא מנגנון משוב עבור חוגי בקרה, הנמצא בשימוש נרחב במערכות בקרה תעשייתיות, ובמגוון גדול של מערכות בקרה אחרות. תפוצתו הרחבה של הבקר נובעת מהיותו בקר בעל פעולה מתמטית פשוטה להבנה וקלה להטמעה במערכות פיזיקליות רבות, כך שגם משתמש שאינו בעל הבנה עמוקה בתיאוריה העומדת מאחוריו יוכל לבצע בו שימוש ולהתאים אותו למטרותיו, ומכך שזהו הבקר הפשוט ביותר הלוקח בחשבון את ערכי השגיאה בעבר, בהווה ובעתיד, דבר המספק בקרה טובה המספיקה למערכות פיזיקליות רבות.

הבקר מקבל ככניסה את אות השגיאה e(t), המחושב כהפרש בין אות ייחוס רצוי (הערך אליו רוצים שהמערכת תגיע) ומשתנה תהליך (הערך המתקבל מהתהליך בפועל), ומוציא פקודה לאחר הפעלת תיקון המבוסס על שלושה רכיבים – פרופורציונלי (P), אינטגרלי (I) ודיפרנציאלי (D), ומכאן שמו.

מבחינה מעשית, כל אחד מרכיבי הבקר מבצע פעולה מתמטית אחרת על אות השגיאה, כאשר מידת השפעתן של כל אחת מהפעולות נקבע על ידי מתכנן הבקר בהתאם לדרישות מהמערכת (פעולה המכונה "כִּוונוּן הבקר"). בשל שיקולים כמו קלות הטמעה, נוחות שימוש ובדיקה ופשטות המערכת, פעמים רבות נעשה שימוש רק בחלק מרכיבי הבקר. החלק הפרופורציונלי והאינטגרלי חיוניים לרוב חוגי הבקרה, והחלק הדיפרנציאלי משמעותי מאוד עבור מערכות לבקרת תנועה (motion control). במקרה של שימוש חלקי שכזה ייקרא הבקר פעמים רבות על שם החלקים בהם נעשה שימוש בלבד, כגון "בקר PI" עבור בקר המשתמש בחלק הפרופורציונלי והאינטגרלי בלבד.

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

## עקרון פעולה בסיסי
### בקרה בחוג פתוח לעומת בקרה בחוג סגור

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

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

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

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

אות הכניסה למערכת, אותו רוצים לקבל, נקרא **אות הייחוס** (reference signal), משום שאליו רוצים שהמערכת תייחס את היציאה, והוא מסומן ב-r(t). (כאשר האות t בסוגריים מייצגת את העובדה שהוא אות המשתנה בזמן). **אות היציאה** (output signal) מסומן כ-y(t). **אות השגיאה** (error signal) מסומן ב-e(t) ומחושב כהפרש בין אות הייחוס לאות היציאה, כלומר e(t)=r(t)-y(t). משמעות אות השגיאה היא עד כמה ערך יציאת המערכת בפועל שונה מערך היציאה בו מעוניינים. לכן, התאפסות של אות השגיאה משמעותה שהערך שביציאת המערכת הוא בדיוק הערך הרצוי.

**בקר** (controller) הוא הרכיב המקבל אות מסוים (כתלות בסוג המערכת), ומוציא אות הנכנס לתהליך במטרה להשיג את היציאה הדרושה. האות היוצא מן הבקר ונכנס לתהליך נקרא **אות הבקרה** (control signal), ומסומן על ידי u(t). ניתן לראות שבחוג פתוח הכניסה לבקר היא אות הייחוס, ובחוג סגור הכניסה אליו היא אות השגיאה, אותו רוצים לאפס.

#### שגיאת מצב מתמיד
כשמתכננים מערכת בקרה, פעמים רבות נעדיף לבדוק את ביצועיה בעזרת שגיאת המערכת מאשר את היציאה עצמה. **שגיאת מצב מתמיד (steady-state error)** היא המרחק בין יציאת המערכת בפועל ליציאת המערכת הרצויה כאשר הזמן שואף לאינסוף, או במילים אחרות – לאחר זמן רב, והיא מסומנת בדרך כלל על ידי e_{ss}. לשגיאת המצב המתמיד של מערכת שלוש אפשרויות:
* **אפסית** – אם נחכה מספיק זמן (כתלות בדרישות מהמערכת), יציאת המערכת תהיה בדיוק היציאה שמעוניינים בה.
* **קבועה** – לאחר זמן רב, המרחק בין היציאה הרצויה ליציאה בפועל יתייצב על ערך קבוע.
* **אינסופית** – המרחק בין יציאת המערכת בפועל ליציאה הרצויה ילך ויגדל.

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

### אופן הפעולה של בקר PID
ממוזער|דיאגרמת בלוקים של בקר PID בחוג סגור. ניתן לראות כי הבקר מבצע שלוש פעולות מתמטיות שונות על אות השגיאה וסוכם אותן לקבלת אות הבקרה הנכנס לתהליך.|450x450px
המאפיין הייחודי של בקר PID הוא היכולת להשתמש בשלושת רכיבי השליטה – הפרופורציונלי, האינטגרלי והדיפרנציאלי, על מנת להוציא אות בקרה המאפשר שליטה מדויקת ואופטימלית ומזעור השגיאה לאורך זמן. דיאגרמת הבלוקים מראה באופן עקרוני מהן הפעולות המתמטיות אותן מבצע הבקר על אות השגיאה. לאחר ביצוע כל אחת מהפעולות, סוכם הבקר את האותות היוצאים מכל אחד מחלקיו לקבלת אות הבקרה הנכנס לתהליך. הפרמטרים k_p,k_i,k_d הנקבעים על ידי מתכנן הבקר נקראים **הגברי הבקר** או **קבועי הבקר** והם הקובעים מהי מידת השפעתו של כל אחד מחלקיו. הניסוח המתמטי המתואר בדיאגרמה עשוי להשתנות בין בקר לבקר, כאשר בחלק מהבקרים ישנו משתנה המכפיל את כל החלקים. עם זאת, תפקידם העקרוני בחוג הבקרה נשאר זהה וניתן, על ידי שינוי הפרמטרים, להשיג תוצאה זהה בכל אחד מסוגי הבקרים.

ממוזער|300x300 פיקסלים|הנפשה המראה כיצד משפיעים משתני הבקר על התגובה למדרגה של החוג הסגור.

במודל המוצג, ניתן לתאר את פעולתו ותפקידו של כל אחד מחלקי הבקר באופן הבא:
* הביטוי הפרופורציונלי, P, מכפיל את ערך אות השגיאה הנוכחי בקבוע k_p, ומתייחס לערכה העדכני של השגיאה בלבד. זהו החלק הפשוט ביותר בבקר. חלק זה מוציא אות בקרה הנמצא ביחס ישר לשגיאה הנוכחית. החיסרון בשימוש בחלק זה בלבד הוא העובדה שבצורה כזו נקבל בהכרח סטייה מהערך הסופי הרצוי אותו הכנסנו למערכת, כלומר – שגיאת מצב מתמיד, אותה אין אפשרות להעלים בעזרת שימוש בבקר פרופורציונלי, אלא רק על ידי התערבות נוספת במערכת.
* החלק האינטגרלי, I, מבצע אינטגרציה בזמן על אות השגיאה מתחילת המדידה ועד לרגע החישוב, ומכפיל את התוצאה בקבוע k_i. חלק זה מתייחס לערכי השגיאה מזמן תחילת המדידה עד לרגע החישוב, ובכך בעצם מושפע מערכי העבר של השגיאה. חלק זה נועד לפצות על החסרון המשמעותי של החלק הפרופורציונלי, ולהקטין את הסטייה של המערכת מהערך הרצוי על ידי סכימת ערכי השגיאה לאורך זמן.
* החלק הדיפרנציאלי, D, מבצע גזירה של אות השגיאה לפי הזמן, ומכפיל את התוצאה בקבוע k_d. חלק זה כביכול מתייחס להתנהגות העתידית של אות השגיאה על ידי בדיקה של קצב השינוי שלה, או במילים אחרות – באיזו מהירות היציאה מתקרבת או מתרחקת מאות הייחוס הרצוי. חלק זה רגיש יותר לרעשי מדידה ומקשה על תכנון הבקר בשיטת ניסוי וטעייה, ובתהליכים רבים ניתן להסתדר בלעדיו. עם זאת, בתהליכים אחרים יכולה תגובת המערכת להשתפר בעזרת השימוש בו.
התהליך של קביעת ערכי קבועי הבקר בהתאם לדרישות המערכת נקרא **כִּוונוּן** הבקר, והוא נעשה על ידי מתכנן המערכת או המשתמש. אחת הסיבות לפופולריות הרבה של בקרי PID, מעבר לפשטותם ויכולתם להביא לתוצאות משביעות רצון ברוב המקרים, היא היכולת של משתמש הקצה לכוון מחדש את קבועי הבקר בהתאם לצרכים הספציפיים שלו. כלומר, באפשרות היצרן לקבוע ערכים ראשוניים של הבקר עבור מערכת מסוימת, ועם זאת באפשרות המשתמש לכוון מחדש את הפרמטרים ללא ידע מעמיק בבקרה, אלא רק על ידי הבנת אופן ההשפעה של כל אחד מענפי הבקר על התנהגות המערכת.

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

## היסטוריה
ממוזער|הוסת הצנטריפוגלי
אחד היישומים הראשונים של בקרה רציפה, לפני המצאת בקר ה-PID, הוא הווסת הצנטריפוגלי, אשר הומצא במאה ה-17 על ידי כריסטיאן הויגנס על מנת לשלוט על המרחק שבין אבני הריחיים בטחנות רוח. התקן זה משתמש בתאוצה הצנטריפוגלית של גוף מסוים על מנת לשלוט במשתנים הקשורים במערכת ומהווה, בפועל, בקר פרופורציונלי. בשנת 1788, לאחר ששמע עליו משותפו, אימץ ג'יימס ואט את הרעיון והתאים אותו למנועי קיטור על מנת לאפשר מהירות סיבוב קבועה שלהם. הגרסה הראשונה של הוסת סבלה מחסרונות רבים, כשחלקם חסרונות מוּבְנִים של בקר פרופורציונלי – הוסת התאים לעומס מסוים על המערכת ולא הביא לתוצאות הרצויות כאשר העומס השתנה, טווח המהירויות שלו היה קטן, וכן דרש תחזוקה רבה.

בשנת 1868, פרסם ג'יימס קלארק מקסוול מאמר בשם "On Governers", בו הוא מסביר תופעות אי-יציבות של הווסת הצנטריפוגלי תוך שימוש במשוואות דיפרנציאליות לתיאור המערכת. מאמר זה הציג את החשיבות והיעילות שבשימוש במודלים ומתודות מתמטיים להבנה של תופעות מורכבות, וסימנה את התחלת השימוש במתמטיקה תאורטית בתחום הבקרה. אף על פי שעקרונות של תורת הבקרה הופיעו כבר קודם, לא היה זה באופן משמעותי ומשכנע כפי שהיו הדברים באנליזה שהציג מקסוול. עם זאת, במאמרו יצא מקסוול בקריאה למתמטיקאים שימשיכו לפתח את התחום ולפתור את הבעיות שעלו בו. המשך חקר התחום אכן נעשה על ידי אדוארד ראות' וצ'ארלס סטרום בשנת 1874, ובהמשך על ידי אדולף הורוויץ בשנת 1895, אשר תרמו כולם לפיתוח קריטריונים ליציבות מערכות, כאשר על שמם של ראות' והורוביץ נקרא קריטריון ראות'-הורוביץ ליציבות של מערכות דינמיות. בשימושים מאוחרים יותר נעשו שיפורים בבקרי המהירות של מנועים, כאשר בתחום זה ניתן לציין את וילארד גיבס שבשנת 1872 פיתח אנליזה תאורטית לווסת של וואט.
בערך בתקופה זו, התעוררה בעיית בקרה שדרשה בקרה מורכבת יותר מאשר זו שהציע הבקר הפרופורציונלי. בשנת 1868 פותח על ידי רוברט ווייטהד טיל טורפדו הנקרא על שמו (Whitehead torpedo), ואחד האתגרים שעלו עם פיתוח הטורפדו היה הצורך לבקר את העומק בו ינוע הטיל. השימוש בחיישן לחץ בלבד התברר כבעייתי משום שהגבר גדול מדי עלול היה לגרום לטיל לאבד יציבות ולא לשמור על העומק הרצוי. לשם כך נוספה לטורפדו מערכת בקרה המכונה בקר מטוטלת והידרוסטט, שתפקידה לרסן את תנועת הטורפדו כתלות במהירות הצלילה או הטיפוס של הטיל. בקרה זו הייתה בעצם בקרה דיפרנציאלית, שכן היא התחשבה בקצב השינוי של השגיאה ולא רק בערך השגיאה עצמה, מה שהפך את מערכת הבקרה של עומק הטיל לבקר PD.

דוגמה נוספת לבקרת PID מוקדמת היא עבודתו של אלמר ספרי, שבשנת 1911 פיתח אותה עבור ניהוג ספינות, אולם פיתוח זה היה מבוסס על אינטואיציה יותר מאשר על פיתוח מתמטי.
ממוזער|הפיתוח המתמטי הראשון של בקרת PID התבסס על אופן הפעולה של הגאי ספינה לטובת פיתוח מערכות היגוי אוטומטיות.|270x270 פיקסלים
הפעם הראשונה בה נעשתה אנליזה תאורטית של בקר PID כפי שהוא מוכר כיום הייתה בשנת 1922, על ידי המהנדס הרוסי-אמריקאי ניקולס מינורסקי. פיתוח זה נעשה כחלק ממחקר ופיתוח של מערכות ניהוג אוטומטי לספינות הצי האמריקאי, והתבסס על תצפיותיו על אופן פעולת ההגאי. מינורסקי שם לב לכך שההגאי מכווין את הספינה לא רק בהתאם לסטייה הנוכחית של הספינה ממסלולה הרצוי, אלא גם על סמך הסטייה בעבר, ועל סמך קצב שינוי הכיוון שלה, וניסח את התובנות הללו באופן מתמטי. מטרתו העיקרית של מינורסקי הייתה השגת יציבות ולא בקרה כללית, מה שפישט את הבעיה – הבקרה הפרופורציונלית המבוססת על השגיאה הנוכחית הייתה טובה כנגד הפרעות קטנות, אולם לא הספיקה על מנת להתגבר על הפרעה קבועה, מה שדרש את ההתייחסות לשגיאת העבר. החלק הדירפנציאלי נוסף למערכת על מנת לשפר את היציבות והבקרה.

הניסויים של מערכת הבקרה שהציע מינורסקי בוצעו על ספינת חיל הים האמריקאי ניו מקסיקו (BB-40), כאשר הבקרה נעשתה על המהירות הזוויתית של הגה הספינה, ולא על הזווית עצמה. בקרת PI הצליחה להגיע לשגיאה של \pm2^\circ, ושימוש בבקרת PID מלאה הצליחה להביא לשגיאה של כ-\pm1/6^\circ, תוצאה שהייתה טובה מזו שיכלו להשיג רוב ההגאים. בסופו של דבר לא אימץ הצי האמריקאי את המערכת בשל התנגדות כוח האדם. פיתוחים דומים נעשו ופורסמו בשנות ה-30 של המאה ה-20.

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

### תגובה למדרגה
ממוזער|תיאור גרפי של פונקציית המדרגה
אחת התגובות הנפוצות בתחום הבקרה היא תגובת המערכת לכניסה של פונקציית מדרגה כאות ייחוס, אולם במקרה של תגובה למדרגה במערכת בקרה הערך הסופי יכול להיות כל ערך, ולא רק הערך 1. זוהי תגובה נפוצה מאוד, שכן במערכות רבות המערכת מקבלת פקודה פתאומית הדורשת ממנה לעבור ממצב מסוים למצב אחר. לדוגמה – כאשר לוחצים על כפתור להפעלת מאוורר, בעצם פוקדים עליו לעבור ממצב מנוחה למהירות סיבוב מסוימת. גם כאשר פוקדים על רחפן להגיע לגובה מסוים זוהי תגובה למדרגה. התגובה של המערכת לכניסה כזו נקראת **התגובה למדרגה** של המערכת. המדרגה יכולה להופיע גם כהפרעה, ולא רק כאות ייחוס. אם לדוגמה ננסה להטיס רחפן ותתחיל רוח קבועה שמסיטה אותו ממסלולו, זו תהיה כניסת מדרגה של הפרעה.

אף על פי שדרישות ממערכת בקרה יכולות להינתן במספר דרכים, כגון במישור הזמן או התדר, לדרישות במישור הזמן ישנו פן יותר אינטואיטיבי, משום שבסופו של דבר קל יותר לראות את התנהגות המערכת בזמן, ובמקרה של תגובה למדרגה הדרישות בדרך כלל יינתנו במישור הזמן, כלומר – הדרישות יבוטאו כדרישה להתנהגות מסוימת של המערכת בתגובה לכניסה מסוימת. עבור תגובה למדרגה ישנם פרמטרים רבים שניתן להצביע עליהם, אולם אלו המופיעים בדרך כלל בדרישות מהמערכת הם:
* זמן עליה (rise time): הזמן שלוקח למערכת להגיע מאחוז מסוים של ערך היציאה הסופי לאחוז אחר. האחוז בו מעוניינים יכול להשתנות כתלות בסוג המערכת ובדרישות המשתמש.
* תגובת יתר (overshoot): הערך המקסימלי אליו מגיעה המערכת בתגובה לכניסת מדרגה. לרוב מבוטא כאחוז הנוסף לערך הסופי אליו מגיעה המערכת. לדוגמה, עבור מערכת שמתייצבת בסופו של דבר על הערך 1, הגעה לערך מקסימלי של כ-1.4 משמעותה תגובת יתר של כ-40%.
* זמן רגיעה (settling time): הזמן שלוקח למערכת להתכנס לאחוז מסוים מערכה הסופי, כלומר – להגיע למצב בו היא לא חורגת מאחוז שגיאה מסוים. אחוז השגיאה ניתן לשינוי, ויש צורך לציין באיזה אחוז שגיאה מדובר. לדוגמה, עבור מערכת המתייצבת על הערך 1, זמן רגיעה עבור שגיאה של 2% יהיה הזמן אשר ממנו והלאה המערכת תישאר בתחום (0.98, 1.02).
* שגיאת מצב מתמיד (steady state error): זהו המרחק בין הערך הרצוי לבין הערך אליו תגיע היציאה לאחר זמן רב. שגיאת מצב מתמיד אפסית פירושה שיציאת המערכת היא בדיוק זו שרוצים. מטרת מערכת בקרה, בסופו של דבר, היא הקטנת שגיאה זו עד כמה שאפשר.

### יציבות
המושג "יציבות" נמצא בשימוש רב בתחום ההנדסה והמדעים, ועשוי לשמש במובנים שונים, שלרוב קשורים זה לזה. כשמדובר במערכות דינמיות, יציבות המערכת היא מדד לנטייתה להישאר במצב הנתון או לחזור למצב אפסי, והיא מהווה פרמטר חשוב מאוד בתכנון מערכות בקרה. ניתן לציין שתי הגדרות ליציבות:
* יציבות אסימפטוטית: מערכת יציבה אסימפטוטית אם עבור כל תנאי התחלה יציאת המערכת תשאף ל-0.
* יציבות BIBO (Bounded Input Bounded Output): עבור תנאי התחלה אפסי וכניסה חסומה יציאת המערכת תהיה חסומה.

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

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

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

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

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

## תיאור מתמטי
### מבנה כללי של בקר PID
הצורה הכללית של בקר PID מתוארת על ידי הפונקציה:

:u(t)=k_{p}\cdot e(t)+k_{i}\cdot \int_{0}^{t} e(t')dt'+k_{d}\cdot {de(t) \over dt}

כאשר:
* k_{P},k_{I},k_{D} הם ההגבר הפרופורציונלי, אינטגרלי ודיפרנציאלי בהתאמה, נקבעים על ידי המתכנן או המשתמש וקובעים את מידת השפעתו של כל ענף של הבקר (לעיתים מסומנים קבועים אלו כ-P,I,D בהתאמה).
* e(t) הוא אות השגיאה הנכנס לבקר,
* u(t) הוא אות הבקרה היוצא מהבקר ונכנס לתהליך.
* t הוא משתנה הזמן.
* t' הוא משתנה האינטגרציה.

הצגה נוספת של הפונקציה בה נעשה שימוש מתקבל על ידי ההצבה k_{i}={k_{p} \over T_{i}}, k_{d}=k_{p}\cdot T_{d}:

:u(t)=k_{p}\cdot \Bigl(e(t)+{1 \over T_{i}}\cdot \int_{0}^{t} e(t')dt'+T_{d}\cdot {de(t) \over dt}\Bigr)

היתרון בהצגה זו של המשוואה הוא העובדה שלפרמטרים T_{i},T_{d} ישנה משמעות פיזיקלית של יחידות זמן.

על ידי ביצוע התמרת לפלס על הפונקציה (בצורתה הראשונה שהובאה לעיל) מתקבלת פונקציית התמסורת של הבקר:

:C(s)=k_{p}+k_{i}\cdot {1 \over s}+k_{d}\cdot s

פונקציה זו חשובה מאוד מכיוון שבתחום הבקרה עיקר התכנון נעשה במישור ה-s ולא במישור הזמן.

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

#### החלק הפרופורציונלי
ממוזער|השפעת הענף הפרופורציונלי על התגובה למדרגה של החוג הסגור.
הפעולה המתמטית המתבצעת על ידי החלק הפרופורציונלי נתונה על ידי:

:P(t)_{out}=k_{p}\cdot e(t)\underbrace{ \Longrightarrow }_{laplace}P(s)_{out}=k_{p}

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

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

#### החלק האינטגרלי
ממוזער|השפעת הענף האינטגרלי על התגובה למדרגה של החוג הסגור.
הפעולה המתמטית המבוצעת על ידי החלק האינטגרלי נתונה על ידי:

:I(t)_{out}=k_{i}\cdot \int_{0}^{\infin} e(t)\underbrace{ \Longrightarrow }_{laplace}I(s)_{out}=k_{i}\cdot{1 \over s}

חלק זה של הבקר מבצע אינטגרציה בזמן של השגיאה מתחילת המדידה ועד רגע החישוב, ומכפיל את התוצאה בקבוע k_{i}. ככל שיציאת המערכת תהיה רחוקה יותר מהערך הרצוי, וככל שיתארך הזמן בו מצב זה יימשך, תגדל השפעתו של החלק האינטגרלי על הבקר.

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

חסרונו של חלק זה נובעת מהעובדה שהוספת קוטב בראשית מוסיפה לחוג הפתוח פיגור פאזה של כ-90^{o}, ובכך מקטינים את עודף הפאזה ואת יציבות המערכת. אם המערכת מאבדת יציבות עקב הוספת חלק זה, ייתכן ויהיה צורך להוסיף את החלק הדיפרנציאלי על מנת לפצות על כך.

#### החלק הדיפרנציאלי
ממוזער|השפעת הענף הדיפרנציאלי על התגובה למדרגה של החוג הסגור.
הפעולה המתמטית המבוצעת על ידי החלק הדיפרנציאלי נתונה על ידי:

:D(t)_{out}=k_{d}\cdot {d \over dt} e(t)\underbrace{ \Longrightarrow }_{laplace} D(s)_{out}=k_{d} \cdot s

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

:e(t)=r(t)-y(t)\Longrightarrow \dot e(t)=-\dot y(t)

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

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

## כִּיוונוּן הבקר
התהליך בו נקבע מבנה הבקר ואופן השפעתו על התנהגות המערכת על ידי המשתמש נקרא "כוונון הבקר". כפי שתואר, לבקר מספר ענפים ואופני השפעה על התנהגות המערכת, ועל המשתמש לקבוע כיצד ישפיע הבקר על המערכת.
[ממוזער|300x300 פיקסלים|לאחר תחילת הפעלתו של [טלסקופ החלל האבל, התברר כי התמונות אותן הוא מפיק רחוקות מהרזולוציה לה ציפו. התברר כי דבר זה נבע עקב מכשיר בדיקה שהורכב במרחק של כ-1.308 מ"מ מהמקום הדרוש, תקלה שדרשה שליחה של אסטרונאוטים לחלל לשם התקנת מערכת אופטית נוספת בטלסקופ. זוהי דוגמה ידועה למקרה בו תהליך בניית המערכת לא תאם את הדרישות המחמירות בהן היה אמור לעמוד. תמונה זו מראה את השיפור ברזולוציית התמונות לפני התיקון ולאחריו.]]
באופן כללי, בתכנון מערכות בקרה (ומערכות הנדסיות באופן כללי), הדבר הראשון בו עוסקים הוא הדרישות – אילו מטרות המערכת אמורה להשיג, וכיצד עליה לעשות זאת. בבניית מכונית, לדוגמה, מגדירים מערכת המאפשרת להסיע אנשים או מטען ממקום למקום, וניתן לדרוש מהירות מקסימלית אליה היא יכולה להגיע. למערכת עשויות להיות דרישות רבות מתחומים שונים – עבור המכונית, לדוגמה, ניתן להגדיר יכולת האצה, יכולת בלימה, עמידה במבחני בטיחות מסוימים, ועוד. רק כאשר נתונות הדרישות מהמערכת ניתן להתחיל לדון באופן בו ניתן למלא אותן. עם זאת, במערכות חובבניות, לדוגמה, הדרישות לא צריכות להיות מוגדרות היטב – אם תיבנה מכונית על שלט כתחביב, בדרך כלל לא תידרש מהירות מסוימת, וניתן לבנות ולשפר את המערכת עד להגעה לתוצאות הרצויות. הבדל זה גם ישפיע על האופן בו מתכננים את המערכת ועל הדיוק הנדרש בתכנון ובביצוע של בנייתה.

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

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

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

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

# **כוונון ידני (כוונון אנליטי)**: משמעות הדבר היא שמנתחים את המודל המתמטי בעזרת עקרונות תורת הבקרה, ומתכננים את הבקר בהתאם. ישנן שיטות רבות לעשות זאת, אולם ניתן להזכיר מספר שיטות נפוצות:
## [ממוזער|250x250 פיקסלים|אופן הצגת קטבי מערכת במישור לפלס ([המישור המרוכב|מישור מרוכב המשמש לייצוג התמרות לפלס). קטבי המערכת מסומנים ב-X והאפסים שלה ב-O.]]**מיקום קטבים:** אחת הדרכים הנפוצות לתיאור מערכת בקרה היא פונקציית תמסורת. פונקציית תמסורת היא משוואה מתמטית המתקבלת על ידי ביצוע התמרת לפלס על המשוואות הדיפרנציאליות המתארות את התנהגות המערכת בזמן, והיא מתארת את הקשר בין הכניסה למערכת ליציאתה (כאשר שתי האחרונות נתונות במישור לפלס גם כן). אחד היתרונות המשמעותיים בשימוש בפונקציות תמסורת לתיאור מערכת הוא העובדה שנגזרת במישור הזמן הופכות למכפלות במישור לפלס, דבר ההופך משוואות דיפרנציאליות לפולינומים, הקלים בהרבה לניתוח מתמטי. פונקציית תמסורת כללית ניתנת לתיאור באופן הבא: G(s)=\frac{N_{G}(s)}{D_{G}(s)}. שורשי פולינום המונה נקראים **שורשים** (שכן הם גורמים לאיפוס פונקציית התמסורת), ושורשי פולינום המכנה נקראים **קטבים** (משום שאיפוס המונה גורם לערך פונקציית התמסורת לשאוף לאינסוף). ערכיהם של האפסים והשורשים נתונים על ידי מספרים מרוכבים, והם אלו הקובעים כיצד תתנהג המערכת – האם היא תגיב מהר לשינויים בכניסות, האם היא תתנוד, האם היא תהיה יציבה ועוד. קשרים בין כניסות שונות ליציאות שונות באותה המערכת נתונים על ידי פונקציות תמסורת שונות, כלומר – הקשר בין הפרעה ליציאת המערכת לא יהיה זהה לקשר שבין אות הייחוס ליציאתה, והוא יתואר על ידי פונקציית תמסורת שונה. מכיוון שהבקר הוא בעל פונקציית תמסורת משלו, הכנסתו לחוג הסגור משפיעה על פונקציות התמסורת השונות של המערכת. מכיוון שכך, ניתן להשפיע על מיקום הקטבים והאפסים של המערכת על ידי שינוי ערכי הבקר, ובכך להשיג ביצועים רצויים. החיסרון בשיטה זו הוא שהיא דורשת הבנה טובה של העקרונות המתמטיים הקושרים בין מיקום הקטבים והאפסים במישור המרוכב לבין התנהגות המערכת, ולכן היא פחות אינטואיטיבית וקלה ליישום עבור משתמשים שאינם בקיאים בקשרים אלו.
## [ממוזער|250x250 פיקסלים|מציאת עודפי יציבות בעזרת דיאגרמת בודה. דרים נפוצות נוספת לבדיקת עודפי יציבות החוג הסגור היא [עקומת נייקוויסט ועקומת ניקולס.]]**עיצוב חוג:** אחת השיטות הנפוצות לתכנון מערכת בקרה היא שימוש בתכונות החוג הפתוח (שאינו כולל משוב) על מנת להבין ולצפות כיצד יתנהג החוג הסגור. שיטות אלו פותחו בשל העובדה שפעמים רבות קל יותר לנתח מתמטית את התנהגות החוג הפתוח ומשם להבין כיצד תתנהג המערכת בהינתן חוג סגור, כאשר הדבר היה משמעותי עוד יותר כאשר יכולות המחשוב לא היו מתקדמות כפי שהן היום, והגישה למחשבים הייתה מוגבלת בהרבה. כלים אלו מאפשרים בדיקה מהירה של עודפי היציבות של המערכת (הקובעים, באופן עקרוני, עד כמה המערכת יציבה) ועוד. הכלים בהם ניתן להשתמש לעיצוב החוג רבים, כאשר הבולטים שבהם הם עקומת בודה, עקומת נייקוויסט ועקומת ניקולס. בנוסף לאלו ניתן להזכיר גם את קריטריון ראוט-הורוביץ ליציבות מערכות ואת השימוש במג"ש (מיקום גאומטרי שורשים) המתאר את השתנות מיקום קטבי החוג הסגור כתלות בהגבר הבקר.
##**שיטות [[היוריסטיקה|היוריסטיות]]:** שיטות אלו מציעות "מתכון" לכוונון של בקר PID (או בקר PID חלקי) על בסיס התנהגות המערכת. משמעות הדבר היא שמתבצע ניסוי על המודל לקביעת ערכים מסוימים המאפיינים את המערכת, ולאחר מכן, בהינתן הערכים שהתקבלו, ניתן לקבוע את קבועי הענפים השונים של הבקר על פיהם. היתרון בשיטות אלו הוא קלות הכוונון, אולם מכיוון שהן לא תוכננו עבור מערכת מסוימת, על מתכנן מערכת הבקרה לוודא שהתוצאות המתקבלות על ידיהן עונות על דרישותיו הספציפיות. שתיים מהשיטות הידועות ביותר בתחום זה הן שיטת זיגלר-ניקולס (Ziegler-Nichols method) ושיטת כהן קון (Cohen-Coon method).
#**כוונון אוטומטי:** כוונון זה נעשה על ידי שימוש בתוכנה ייעודית, המקבלת את המודל המתמטי של המערכת ומתארת את התנהגות המערכת כתלות בערכי הבקר השונים. במקרים רבים, האגלוריתם העומד בבסיס התוכנה מבוסס על שיטות הכוונון הידני, אולם שימוש בתוכנה מאפשר לתכנן את חוג הבקרה באופן אינטואיטיבי ונוח בהרבה לשימוש. לדוגמה – בשימוש בתוכנות כוונון, ניתן לאפיין את הדרישות מהמערכת במישור הזמן (כגון מאפיינים של התגובה למדרגה), ולקבל בחזרה את ערכי הבקר הדרושים על מנת להשיג דרישות אלו.

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

### כוונון בקר בהינתן המערכת בפועל
כאשר נתונה למשתמש המערכת האמיתית עליה יש צורך לשלוט, ניתן להשתמש במספר דרכים על מנת לתכנן בקר מתאים:

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

## ראו גם
* תורת הבקרה
* הנדסת בקרה

## קישורים חיצוניים

* הרצאה בעברית על בקרת PID
* Understanding PID control - Brian Douglas

## הערות שוליים

קטגוריה:מערכות בקרה
קטגוריה:אוטומציה