stanford-oval/wikipedia huggingface dataset:
בקר PID

מערכת בקרת שיוט היא מערכת נפוצה ומוכרת בתחום הרכב, המבוססת על בקר PID לשם שליטה על מהירות כלי רכב בתנאי דרך משתנים.
בקר PID או בקר פרופורציונלי-אינטגרלי-דיפרנציאלי (באנגלית: PID controller or three-term controller or 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 הוא היכולת להשתמש בשלושת רכיבי השליטה – הפרופורציונלי, האינטגרלי והדיפרנציאלי, על מנת להוציא אות בקרה המאפשר שליטה מדויקת ואופטימלית ומזעור השגיאה לאורך זמן. דיאגרמת הבלוקים מראה באופן עקרוני מהן הפעולות המתמטיות אותן מבצע הבקר על אות השגיאה. לאחר ביצוע כל אחת מהפעולות, סוכם הבקר את האותות היוצאים מכל אחד מחלקיו לקבלת אות הבקרה הנכנס לתהליך. הפרמטרים  k_{p},k_{i},k_{d} הנקבעים על ידי מתכנן הבקר נקראים הגברי/קבועי הבקר והם הקובעים מהי מידת השפעתו של כל אחד מחלקיו. יש לציין כי הניסוח המתמטי המתואר בדיאגרמה עשוי להשתנות בין בקר לבקר, כאשר בחלק מהבקרים ישנו משתנה המכפיל את כל החלקים. עם זאת, תפקידם העקרוני בחוג הבקרה נשאר זהה וניתן, על ידי שינוי הפרמטרים, להשיג תוצאה זהה בכל אחד מסוגי הבקרים.
במודל המוצג, ניתן לתאר את פעולתו ותפקידו של כל אחד מחלקי הבקר באופן הבא:
הביטוי הפרופורציונלי, P, מכפיל את ערך אות השגיאה הנוכחי בקבוע  k_{p}, ומתייחס לערכה העדכני של השגיאה בלבד. זהו החלק הפשוט ביותר בבקר. חלק זה מוציא אות בקרה הנמצא ביחס ישר לשגיאה הנוכחית. החיסרון בשימוש בחלק זה בלבד הוא העובדה שבצורה כזו נקבל בהכרח סטייה מהערך הסופי הרצוי אותו הכנסנו למערכת, כלומר – שגיאת מצב מתמיד, אותה אין אפשרות להעלים בעזרת שימוש בבקר פרופורציונלי, אלא רק על ידי התערבות נוספת במערכת.
החלק האינטגרלי, I, מבצע אינטגרציה בזמן על אות השגיאה מתחילת המדידה ועד לרגע החישוב, ומכפיל את התוצאה בקבוע  k_{i}. חלק זה מתייחס לערכי השגיאה מזמן תחילת המדידה עד לרגע החישוב, ובכך בעצם מושפע מערכי העבר של השגיאה. חלק זה נועד לפצות על החסרון המשמעותי של החלק הפרופורציונלי, ולהקטין את הסטייה של המערכת מהערך הרצוי על ידי סכימת ערכי השגיאה לאורך זמן.
החלק הדיפרנציאלי, D, מבצע גזירה של אות השגיאה לפי הזמן, ומכפיל את התוצאה בקבוע  k_{d}. חלק זה כביכול מתייחס להתנהגות העתידית של אות השגיאה על ידי בדיקה של קצב השינוי שלה, או במילים אחרות – באיזו מהירות היציאה מתקרבת או מתרחקת מאות הייחוס הרצוי. חלק זה רגיש יותר לרעשי מדידה ומקשה על תכנון הבקר בשיטת ניסוי וטעייה, ובתהליכים רבים ניתן להסתדר בלעדיו. עם זאת, בתהליכים אחרים יכולה תגובת המערכת להשתפר בעזרת השימוש בו.
התהליך של קביעת ערכי קבועי הבקר בהתאם לדרישות המערכת נקרא כִּוונוּן הבקר, והוא נעשה על ידי מתכנן המערכת / המשתמש. אחת הסיבות לפופולריות הרבה של בקרי PID, מעבר לפשטותם ויכולתם להביא לתוצאות משביעות רצון ברוב המקרים, היא היכולת של משתמש הקצה לכוון מחדש את קבועי הבקר בהתאם לצרכים הספציפיים שלו. כלומר, באפשרות היצרן לקבוע ערכים ראשוניים של הבקר עבור מערכת מסוימת, ויחד עם זאת באפשרות המשתמש לכוון מחדש את הפרמטרים ללא ידע מעמיק בבקרה, אלא רק על ידי הבנת אופן ההשפעה של כל אחד מענפי הבקר על התנהגות המערכת.
עקרון פעולה בסיסי > בקרי P, PI, PD

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

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

אחת התגובות הנפוצות בתחום הבקרה היא תגובת המערכת לכניסה של פונקציית מדרגה כאות ייחוס, אולם במקרה של תגובת מדרגה במערכת בקרה הערך הסופי יכול להיות כל ערך, ולא רק הערך 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 מבצע פעולה מתמטית שונה, השפעתו של כל ענף על התנהגות המערכת היא אחרת. ניתן לסכם את השפעות ענפי הבקר על תגובת המדרגה של החוג הסגור בטבלה הבאה, כאשר ההשפעה מתייחסת להגדלת ערכו (והשפעתו) של הענף:
| ענף הבקר | השפעה על תגובת המדרגה של החוג הסגור> זמן עליה | השפעה על תגובת המדרגה של החוג הסגור> תגובת יתר | השפעה על תגובת המדרגה של החוג הסגור> זמן רגיעה | השפעה על תגובת המדרגה של החוג הסגור> שגיאת מצב מתמיד | השפעה על תגובת המדרגה של החוג הסגור> יציבות |
| --- | --- | --- | --- | --- | --- |
| פרופורציונלי ( k_{p}) | הקטנה | הגדלה | השפעה מועטה | הקטנה | תלוי מערכת |
| אינטגרלי ( k_{i}) | הקטנה | הגדלה | הגדלה | ביטול | הקטנה |
| דיפרנציאלי ( k_{d}) | השפעה מועטה | הקטנה | הקטנה | חסר השפעה | הגדלה עד ערך מסוים |
חשוב לציין כי מדובר בטבלה כללית העוסקת במערכות סטנדרטיות. ההשפעה המדויקת עשויה להשתנות כתלות במערכת אותה אנו מנסים לבקר ובמאפייניה (סדר המערכת, היותה מינימום פאזה וכו').
תיאור מתמטי > מבנה כללי של בקר 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 נושאת עימה כמה בעיות, ולכן במקרים רבים נעשים שינויים קלים בבקר על מנת לפתור בעיות אלו, המתבטאים כמובן גם בפונקציות המתארות את פעולתו. עם זאת, שינויים אלו אינם משנים את אופן פעולתו העקרונית, ונועדו לפתור בעיות המתרחשות בשל סיבות שאינן חלק מחוג הבקרה האידיאלי, כגון רעשי מדידה ותופעות פיזיקליות חריגות.
תיאור מתמטי > מבנה כללי של בקר PID > החלק הפרופורציונלי

הפעולה המתמטית המתבצעת על ידי החלק הפרופורציונלי נתונה ע"י:
P(t)_{out}=k_{p}\cdot e(t)\underbrace {\Longrightarrow } _{laplace}P(s)_{out}=k_{p}
חלק זה של הבקר מקבל את ערכה הנוכחי של השגיאה, ומכפיל אותו בקבוע  k_{p}. זהו "ההגבר הפרופורציונלי" של הבקר, והוא חלקו הפשוט ביותר של הבקר. ככל שערך השגיאה יהיה גדול יותר, כך יגדל ערך האות היוצא מן הבקר ונכנס לתהליך. יתרונותיו של הגדלת הפרמטר  k_{p} הן עקיבה טובה יותר של יציאת המערכת אחר אות הייחוס (שגיאה קטנה יותר), הקטנת זמן התגובה של המערכת לפקודות. עם זאת, הגדלה של פרמטר זה מקטינה את ריסון המערכת ואף עלולה להביא לאי-יציבות.
שימוש בענף הזה בלבד משמעותו, בפועל, בקר פרופורציונלי. החסרון המשמעותי ביותר של הבקר הפרופורציונלי הוא העובדה שעבור כניסת מדרגה, הנפוצה מאוד במערכות בקרה, תתקבל בהכרח שגיאת מצב מתמיד, כלומר – הבקר לא יצליח להביא את יציאת המערכת לערכה הרצוי גם לאחר זמן רב. דבר זה נובע מכך שבשל הקשר הישיר בין השניים, שגיאה אפסית (מצב בו היציאה בפועל שווה ליציאה הרצויה) תגרום בהכרח לאות בקרה אפס, כלומר, התהליך כלל לא יקבל פקודה, ולכן יתחיל לסטות מערך היציאה הדרוש. לשם דוגמה ניתן לקחת תנור המבוקר על ידי בקר פרופורציונלי – מכיוון שהתנור תמיד מאבד חום לסביבה, במידה והתנור נמצא בדיוק בטמפרטורה הדרושה ממנו, יגרום הבקר להפסקת הזרם, וטמפרטורת התנור תרד עד להפעלה מחודשת, וחוזר חלילה. התהליך היחיד ששגיאת המצב המתמיד תתאפס בו יהיה תהליך הכולל אינטגרטור.
תיאור מתמטי > מבנה כללי של בקר PID > החלק האינטגרלי

הפעולה המתמטית המבוצעת על ידי החלק האינטגרלי נתונה ע"י:
I(t)_{out}=k_{i}\cdot \int _{0}^{\infty }e(t)\underbrace {\Longrightarrow } _{laplace}I(s)_{out}=k_{i}\cdot {1 \over s}
חלק זה של הבקר מבצע אינטגרציה בזמן של השגיאה מתחילת המדידה ועד רגע החישוב, ומכפיל את התוצאה בקבוע  k_{i}. ככל שיציאת המערכת תהיה רחוקה יותר מהערך הרצוי, וככל שיתארך הזמן בו מצב זה יימשך, תגדל השפעתו של החלק האינטגרלי על הבקר.
השינוי המשמעותי שנעשה במערכת בעקבות הוספת חלק זה של הבקר הוא תוספת קוטב בראשית (אינטגרטור) לחוג הפתוח, כלומר – הגדלת סוג המערכת (סוג המערכת מוגדר על ידי מספר האינטגרטורים של החוג הפתוח, ומשתנה כתלות בכניסה אליה אנו מתייחסים. באופן כללי ניתן לומר שככל שסוג המערכת גדול יותר, יכולת הקטנת שגיאת המצב המתמיד טובה יותר). תוספת זה משמעותה איפוס שגיאת המצב המתמיד עבור כניסת מדרגה, כלומר – בסופו של דבר (כתלות בתהליך המבוקר ובערכי הקבועים של הבקר), יציאת המערכת תהיה שווה בדיוק ליציאה בה אנו מעוניינים. לרוב זו תהיה מטרת הוספת חלק זה של הבקר.
חסרונו של חלק זה נובעת מהעובדה שהוספת קוטב בראשית מוסיפה לחוג הפתוח פיגור פאזה של כ- 90^{o}, ובכך מקטינים את עודף הפאזה ואת יציבות המערכת. במידה והמערכת מאבדת יציבות עקב הוספת חלק זה, ייתכן ויהיה צורך להוסיף את החלק הדיפרנציאלי על מנת לפצות על כך.
תיאור מתמטי > מבנה כללי של בקר PID > החלק הדיפרנציאלי

הפעולה המתמטית המבוצעת על ידי החלק הדיפרנציאלי נתונה ע"י:
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)
מכיוון שאות הכניסה קבוע בזמן (מדרגה), נגזרתו מתאפסת. ניתן לראות מכאן שקצב שינוי היציאה נמצא בסימן הפוך לקצב שינוי השגיאה, ולכן חלק זה מהווה בעצם משוב שלילי עבור היציאה – כאשר היציאה משתנה במהירות (המערכת מתקרבת במהירות לערך הרצוי), אות השגיאה משתנה מהר, ובשל הסימן ההפוך מקטין את אות הבקרה וממתן את השינוי ביציאה, ובכך מרסן את תגובת המערכת. ניתן להביא כדוגמה מצב בו אנו מעוניינים להגיע למיקום מסוים עם מכונית ממצב מנוחה. במידה ונלחץ על הדוושה חזק מדי, אמנם נגיע ליעד, אולם אנו עלולים גם לעבור אותו במידה ולא נתחשב במהירות בה אנו מתקרבים ליעד. החלק הדיפרנציאלי מתחשב בכך ובודק כמה מהר אנו מתקרבים לאיפוס השגיאה ומגדיל/מקטין את אות הבקרה בהתאם, ובעצם ניתן לומר שהוא צופה את ערך השגיאה העתידי ופועל למניעת תגובת יתר גדולה עוד לפני שזו מתפתחת..
משמעות השפעת חלק זה בתחום התדר היא הוספת אפס, שמשמעותה היא הוספת פאזה לחוג הפתוח, מה שהופך את המערכת ליציבה יותר.
כִּיוונוּן הבקר

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