בקרת מהירות

הפורום הראשי, אתר הרובוטיקה הישראלי

המנהלים: אסף פוניס, גיא יונה

בקרת מהירות

הודעהעל ידי alon eldar » ב' דצמבר 14, 2009 8:33 pm

מעוניין לבצע בקרת מהירות על מנוע DC בעזרת בקר PID ממומש בבקר מיקרו ודוחף חיצוני.
ביצעתי בעבר בקרת מיקום ללא כל בעיה, היות והלוגיקה של הבקרה ברורה:
כאשר השגיאה מתאפסת(כלומר נמצא במיקום הרצוי), היציאה מתאפסת ,מתח לא מועבר למנוע והמנוע נעצר(בהסתייגות של התאפסות האינטגרטור והחלק הדפרינצאלי, מה שקורה תוך זמן ידוע).
בבקרת מהירות אותה לוגיקה תוביל לאי יציבות- כאשר השגיאה מתאפסת( כלומר מגיעים למהירות הרצויה) היציאה מתאפסת-המנוע אינו מקבל מתח והמהירות יורדת, מה שיוביל לתופעת התנדנדות סביב הנקודת עבודה.
האם אני מפספס משהוא?יש סכמה שונה לבקרת מהירות?
alon eldar
משתמש חדש
משתמש חדש
 
הודעות: 7
הצטרף: ב' דצמבר 14, 2009 8:25 pm

אממ

הודעהעל ידי Ngel » ב' דצמבר 14, 2009 9:36 pm

מה זה בקר PID?

אני בפרויקט שלי, עשיתי בקרת מהירות לפי מהירות הסיבוב של הגלגל (ושימוש בפסיקות כמונה בבקר) ויצרתי אחלה סימולציות של תנועת הרובוט.
Ngel
משתמש ותיק
משתמש ותיק
 
הודעות: 310
הצטרף: א' פברואר 04, 2007 6:47 pm

הודעהעל ידי alon eldar » ב' דצמבר 14, 2009 9:51 pm

בקר PID זה בקר המחשב את השגיאה הנוכחית(שגיאה מוגדרת כמצב רצוי פחות מצב מצוי) מחשב וסוכם שלושה איברים:
איבר פרופורציונלי: מכפלת השגיאה בקבוע.
איבר אינטגרלי: מכפלת סכום השגיאות בקבוע.
איבר דיפרנציאלי: מכפלת גרדיאנט השגיאה(ההפרש בין השגיאה הקודמת לנוכחית) בקבוע.
סכום האיברים הנ"ל הוא היציאה המועברת למנוע.
alon eldar
משתמש חדש
משתמש חדש
 
הודעות: 7
הצטרף: ב' דצמבר 14, 2009 8:25 pm

הודעהעל ידי אמנון » ב' דצמבר 14, 2009 10:33 pm

אלון ונתנאל שלום

נתנאל -
בקר PID מאפשר לך להגיע אל המהירות הרצויה ולשמור עליה עם מעט סטיות מהמהירות , וכן לתקן שגיאות קבועות ,בעזרת האינטגרטור .
או בעיברית :
    הרכיב הפרופרציונאלי P נותן את הכיוון והגודל לתיקון.
    הרכיב הדיפרנציאלי D בולם את התיקון (ביחס למהירות התיקון) כך שלא יהיה OVER SHOOT.
    ורכיב האינטגרלי I דואג לטפל בסטיה מהערך הרצוי (על ידי זה שסטיה קטנה ניסכמת לאורך זמן וניצמדת אל הערך הרצוי)


אבל זה על רגלית אחת (אפילו לא רגל אחת) ושווה להכיר את הבקר הזה!

אלון , מה אתה מבקר בעזרת הבקר שלך ? ישירות את הדוחף ? או את מחולל הPWM שלך ?

אמנון :shock:
אמנון
רובוטריק
רובוטריק
 
הודעות: 2031
הצטרף: ש' יולי 09, 2005 5:41 pm
מיקום: חיפה

הודעהעל ידי alon eldar » ב' דצמבר 14, 2009 10:45 pm

הבקרה מבוצעת על המתח-לצורך העניין אין חשיבות אם זה מתח רציף או PWM.
השאלה העקרונית האם סכמת הבלוקים של בקרת מהירות זהה לסכמה של בקרת מיקום?(כמובן בקבלת היזון מתאים:מיקום בבקרת מיקום ומהירות בבקרת מהירות)
אם כן, הרי שמתקבלת יציאת "0" במצב בו הגעתי למהירות הנדרשת, מה שכמובן יגרור הורדה במהירות.
אני מרגיש שאני מפספס משהו בסיסי.
alon eldar
משתמש חדש
משתמש חדש
 
הודעות: 7
הצטרף: ב' דצמבר 14, 2009 8:25 pm

הודעהעל ידי אמנון » ג' דצמבר 15, 2009 5:32 am

אלון

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

הערך הזה במקרה של בקרת מהירות מנוע DC שולט במתח או PWM .

אמנון :shock:
אמנון
רובוטריק
רובוטריק
 
הודעות: 2031
הצטרף: ש' יולי 09, 2005 5:41 pm
מיקום: חיפה

הודעהעל ידי alon eldar » ג' דצמבר 15, 2009 7:39 am

זו הבעיה המחשבתית שלי בדיוק.
המצב הרצוי הוא באמת תנודה סביב נקודת העבודה(מהירות רצויה במקרה הזה), כלומר תנודה סביב מתח של (לדוגמא) 3V.
בדיאגרמת בלוקים בסיסית של בקרת PID, הכניסה לבקר היא השגיאה(מהירות רצויה פחות מהירות נמדדת) והיציאה היא המתח.כלומר,סביב נקודת העבודה נקבל 0V!!
alon eldar
משתמש חדש
משתמש חדש
 
הודעות: 7
הצטרף: ב' דצמבר 14, 2009 8:25 pm

הודעהעל ידי elitkh » ג' דצמבר 15, 2009 10:42 am

אני חושב שאם תוריד את P באופן משמעותי תוכל לקבל תגובות טובות יותרגם בקונפיגורציה הנוכחית. אבל לעצם העניין-אתה צודק,אתה צריך לשנות את נקודת העבודה -לשנות את נקודת "שווי המשקל" של המערכת.
במערכות הינע מבוקרות בד"כ צריך לחשב את תגובת המערכת שמורכבת מהמאסות\אינרציות,חיכוכים,כוחות וקבועי ההתנהגות של המנוע (קבוע המומנט והמהירות) ככל שהנתונים הללו יהיו מדוייקים יותר התנהגות המערכת תהיה צפויה יותר ולכן החוג יסגר באופן הדוק יותר.
elitkh
משתמש ותיק
משתמש ותיק
 
הודעות: 318
הצטרף: ד' פברואר 18, 2004 10:43 am

הודעהעל ידי אמנון » ה' דצמבר 17, 2009 10:11 am

הסתדרתה ?
אמנון
רובוטריק
רובוטריק
 
הודעות: 2031
הצטרף: ש' יולי 09, 2005 5:41 pm
מיקום: חיפה

הודעהעל ידי alon eldar » ה' דצמבר 17, 2009 11:23 am

ייתכן כי לא הייתי ברור:
למצוא פתרון עוקף בעיה ספציפית ניתן למצוא.זו לא הייתה כוונת הצגת הבעיה.
הבעיה העקרונית(שוב,בעיה קונספטואלית): איך ייתכן שבסכמת בלוקים של בקרת מהירות בעזרת בקר PID מתקבל מוצא "0" כאשר המערכת נמצאת בנקודת העבודה.
אשמח לקבל התייחסות [b]לתאוריה[/b] ולא לפתרון(אותו יישמתי בצורה לא לינארית שאני לא אוהב).
בתודה
alon eldar
משתמש חדש
משתמש חדש
 
הודעות: 7
הצטרף: ב' דצמבר 14, 2009 8:25 pm

הודעהעל ידי אמנון » ה' דצמבר 17, 2009 12:15 pm

אלון
אני לא יודע עם אני עונה לך לשאלה המדויקות שלך
אבל מקסימום יתקנו אותי,

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


ואם התשובה הזאת אינה נעונה אשמח לשמוע.
אמנון :shock:
אמנון
רובוטריק
רובוטריק
 
הודעות: 2031
הצטרף: ש' יולי 09, 2005 5:41 pm
מיקום: חיפה

הודעהעל ידי alon eldar » ה' דצמבר 17, 2009 5:01 pm

האם יש לך איזו סכמה או אלגוריתם שמדגים את המערכת בקרה?
alon eldar
משתמש חדש
משתמש חדש
 
הודעות: 7
הצטרף: ב' דצמבר 14, 2009 8:25 pm

הודעהעל ידי אמנון » ו' דצמבר 18, 2009 12:33 am

אם קוד או פסאודו קוד יתאים לך
אז אני יכול ליכתוב משהו מחר .
אמנון
אמנון
רובוטריק
רובוטריק
 
הודעות: 2031
הצטרף: ש' יולי 09, 2005 5:41 pm
מיקום: חיפה

הודעהעל ידי ארי גרינשפון » ש' דצמבר 19, 2009 2:58 am

alon eldar שלום,

בבקרת מיקום הכניסה היא מדרגה ובמישור לפלאס מדרגה היא 1 לחלק ב s
בבקרת מהירות הכניסה היא שיפוע ובמישור לפלאס כניסת שיפוע היא a/s^2
אם תציב את זה במשפט הערך הסופי תגלה שבשביל להוריד את השגיאה לקבוע תהיה חייב להוסיף אינטגרטור.

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

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

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

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

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

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

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

כלל אצבע אומר שהערכים הרצויים יהיו
מקדם ריסון = 0.7
ובדיאגראמת בודה או ניקוויסט רצוי שיהיו הערכים הבאים
Gain Margin = 10 dB
אם ה Gain Margin יהיה שלילי אז המערכת לא יציבה אם ה Gain Margin יהיה חיובי וקטן אז הפרעה עם הגבר קטן יכולה להוציא את המערכת משיווי משקל
Phase Margin = 40
Phase Margin קטן יגרום לכך שהפרעה קטנה תוציא את המערכת משיווי משקל
Phase Margin גדול יגרום לכך שתצטרך לעבוד עם הגברים גבוהים

ארי גרינשפון
ארי גרינשפון
משתמש ותיק
משתמש ותיק
 
הודעות: 189
הצטרף: ש' מרץ 15, 2008 2:58 pm

הודעהעל ידי alon eldar » א' דצמבר 20, 2009 8:42 am

ארי שלום.
תודה על התשובה המפורטת.
אני אבצע ניתוח מלא של המערכת (בהנחה של מערכת מסדר שני למרות שמדובר המערכת הידראולית) ואראה אם התוצאות עושות היגיון.
אלון
alon eldar
משתמש חדש
משתמש חדש
 
הודעות: 7
הצטרף: ב' דצמבר 14, 2009 8:25 pm

הבא

חזור אל פורום הרובוטיקה

מי מחובר

משתמשים הגולשים בפורום זה: Bing [Bot] ואורח אחד

cron