SlideShare uma empresa Scribd logo
1 de 64
Baixar para ler offline
הטכניון-מכון טכנולוגי לישראל 
הפקולטה להנדסה אזרחית וסביבתית 
המסלול להנדסה חקלאית 
טכניון 
מערכת קטיף תפוחים 
) פרוייקט במסגרת קורס במבוא לבקרה ) 510510 
אור הירשפלד – תז 000507003 
3/24/2014
הטכניון-מכון טכנולוגי לישראל 
הפקולטה להנדסה אזרחית וסביבתית 
המסלול להנדסה חקלאית 
תוכן עניינים 
תוכן עניינים....................................................................................................................... 1 
מודל המערכת ................................................................................................................... 3 
תגובת המערכת ללא בקר, מימוש בעזרת מרחב המצב ............................................................. 3 
פונקציית תמסורת .............................................................................................................. 6 
בדיקת יציבות ע"פ קריטריון ראות'-הורוביץ ........................................................................ 7 
הוספת השהייה.................................................................................................................. 8 
לינראזציה ........................................................................................................................ 9 
מציאת קטבים ואפסים ........................................................................................................ 9 
רוט-לוקוס....................................................................................................................... 11 
ניקוויסט ......................................................................................................................... 13 
מציאת גבול יציבות בעזרת ניקוויסט ................................................................................. 11 
תכנון לפי זיגלר ניקולוס.................................................................................................... 11 
שיפור הבקר הנבחר לפי זיגלר ניקולס ............................................................................... 19 
רגיל מול מתוקן לכניסת מדרגה .................................................... 19 PID השוואה בין בקר 
רגיל מול מתוקן להפרעת מדרגה ................................................... 11 PID השוואה בין בקר 
מתוקן ...................... 11 PID תגובה לכניסת מדרגה במערכת המקורית )ללא לינראזיציה( עם בקר 
מתוקן .................... 13 PID תגובה להפרעת מדרגה במערכת המקורית )ללא לינראזיציה( עם בקר 
המרת ספיצפיקציות ......................................................................................................... 11 
בניית מערכת מסדר שני ................................................................................................. 11 
מציאת הספקציות במישור התדר בעזרת דיאגרמת בודה ........................................................ 16 
מציאת הספסקציות עבור חוג פתוח בעזרת דיאגרמת ניקולס ................................................... 17 
שגיאה במצב מתמיד ...................................................................................................... 18 
רשתות תיקון לפי ספספיקציות .......................................................................................... 19 
31 ............................................................................................................. PI הוספת בקר 
תיקון פאזה .................................................................................................................. 31 
תיקון הגבר .................................................................................................................. 31 
סיכום עמידה בדרישות ................................................................................................... 33 
בדיקת יציבות ........................................................................................................... 33 
משערך ומשוב המצב ....................................................................................................... 36 
מערכת מרחב מצב......................................................................................................... 36 
משוב מצב ................................................................................................................... 36 
מודל המערכת 1 מערכת קטיף תפוחים
הטכניון-מכון טכנולוגי לישראל 
הפקולטה להנדסה אזרחית וסביבתית 
המסלול להנדסה חקלאית 
קונטרולביליות ......................................................................................................... 36 
מציאת הבקרים בעזרת אקרמן ..................................................................................... 37 
בניית מערכת משוב מצב בחוג סגור .............................................................................. 37 
בדיקת תגובת המערכת בחוג סגור עם בקר משוב מצב ...................................................... 38 
משערך ....................................................................................................................... 39 
אובסרבליות ............................................................................................................. 39 
מציאת בקר המשערך ע"י אקרמן.................................................................................. 11 
בדיקת תוצאות המערכת עם משערך.............................................................................. 11 
ביבליוגרפיה.................................................................................................................... 11 
נספח – קוד התוכנה.......................................................................................................... 11 
מודל המערכת 1 מערכת קטיף תפוחים
הטכניון-מכון טכנולוגי לישראל 
הפקולטה להנדסה אזרחית וסביבתית 
המסלול להנדסה חקלאית 
מודל המערכת 
X 
ma 
F m 
Cv 
מסת הזרוע – m , כוח המופעל ע"י המנוע -F , חיכוך דינמי –C , מרחק – X 
F m x Cx  0 
תגובת המערכת ללא בקר, מימוש בעזרת מרחב המצב 
: X נגדיר את וקטור 
 
  
 
x 
1 
2 
 
 
   
2 2 
 
 
F 
m 
 
   
 
  
C 
x 
m 
0 
1 
x F m 
 
 
 
  
 
 
 
 
x 
x 
C 
m 
 
 
 
F 
  
x 
x 
x 
x x 
  
x x x 
1 2 
   
x 
m 
x 
0 1 
1 
 
x  
C m 
 
   
 
 
 
  
 
  
  
 
 
   
 
 
 
  
 
x 
0 
2 
2 
נציב נתונים, נניח שמכלול הזרוע שוקל כ 1- ק"ג, הכוח הוא המופעל הוא 11 ניוטון, החיכוך הוא 1.1 
ניוטון לכל מ/ש' לכן: 
 
  
 
 
 
   
 
  
 
 
  
 
 
 
 
 
 
 
0 1 
0  
0.1 
 
   
 
   
 
 
 
 
0 
2 
x 
1 
2 
x 
1 
2 
x 
 
x 
x 
נניח מצב התחלתי של מרחק מטר מן התפוח, לכן הגדרתי בצורה הבאה: 
מודל המערכת 3 מערכת קטיף תפוחים
הטכניון-מכון טכנולוגי לישראל 
הפקולטה להנדסה אזרחית וסביבתית 
המסלול להנדסה חקלאית 
בכדי לראות מה קורה עם מדרגת יחידה שעולה לאחר שנייה לגובה 1 State-Space נשים במערכת 
האות יוצא לא יציב כפי שצפוי 
תגובת המערכת ללא בקר, מימוש בעזרת מרחב המצ 1ב מערכת קטיף תפוחים
הטכניון-מכון טכנולוגי לישראל 
הפקולטה להנדסה אזרחית וסביבתית 
המסלול להנדסה חקלאית 
תגובת המערכת ללא בקר, מימוש בעזרת מרחב המצ 1ב מערכת קטיף תפוחים
הטכניון-מכון טכנולוגי לישראל 
הפקולטה להנדסה אזרחית וסביבתית 
המסלול להנדסה חקלאית 
פונקציית תמסורת 
כעת נבנה פונקציית תמסורת של המערכת 
  
f  m x  
Cx 
2 
 
F  mS X  mSx  mx  CSX  
Cx 
(0) (0) (0) 
 
C mS x mx 
1 [  ] (0)  
(0) 1 
 
2 2 
CS mS F 
X 
 
F CS mS 
 
 
נציב את תנאי ההתחלה ונראה שניתן להתייחס רק לחלק ההומוגני 
C mS m 
1 [  ]0  
0 1 
 
2 2 
2 
2 
X 
 
F CS  
mS 
1 
X 
 
F CS  
mS 
1 
0 
X 
 
F CS mS 
CS mS F 
 
 
 
נציב את הנתונים של המערכת 
1 
2 0.5 5 
X 
 
F S  
S 
נעביר את המערכת למאט-לאב 
ונריץ עם כניסת מדרגה 
פונקציית תמסורת 6 מערכת קטיף תפוחים
הטכניון-מכון טכנולוגי לישראל 
הפקולטה להנדסה אזרחית וסביבתית 
המסלול להנדסה חקלאית 
בדיקת יציבות ע"פ קריטריון ראות'-הורוביץ 
נרצה לבדוק באיזה תחום הפונקציה יציבה בחוג הסגור לכן נשתמש בקריטריון ראות' -הורוביץ. 
ונבדוק את הפונקציה האופיניית של -K קודם נבדוק כי כל הקטבים יציבים בחוג הפתוח ואז נכפול ב 
Xcl=1+H. המערכת 
Routh., השתמשתי בקוד שהופץ בקהילת משתמשי מאט-לאב 
התוצאה להלן 
בדיקת יציבות ע"פ קריטריון ראות' -הורוביץ 7 מערכת קטיף תפוחים
הטכניון-מכון טכנולוגי לישראל 
הפקולטה להנדסה אזרחית וסביבתית 
המסלול להנדסה חקלאית 
בחלק הראשון נראה כי אכן הקטבים יציבים בחוג הפתוח כי הם לא חיוביים 
בבדיקת ראות' נראה כי השורה השמאלית כולה בסימן אחד ולכן זה יציב עבור ההגבר חיובי. 
הוספת השהייה 
ראינו כי קיבלנו אותה תוצאה כמו במרחב המצב לכן העברנו נכון לפונקציית תמסורת 
לכל מערכת יש זמן תגובה מסוים, נניח שבמערכת שאנו ממדלים לוקח 1.1 שנייה להגיב לשינוי. השהייה 
זאת יכולה לבוא ממהירות תגובה של הפעלת המנוע המניע את הזרוע. 
X 0.1 
1  
 
s e 
2 0.5 5 
 
F S S 
נמשש בעזרת המאט-לאב 
ונקבל 
הוספת השהייה 8 מערכת קטיף תפוחים
הטכניון-מכון טכנולוגי לישראל 
הפקולטה להנדסה אזרחית וסביבתית 
המסלול להנדסה חקלאית 
לינראזציה 
למציאת נוסחה לינארית לפונקציות עם Pade בגלל ההשהייה הפונקציה אינה לינארית לכן נעזר בקירוב 
.(Mathworks, 2014) . השהייה 
להלן הקוד 
והתוצאה 
מציאת קטבים ואפסים 
ע"י מציאת השורשים של המחנה והמונה של הפונקציית תמסורת נוכל לאפיין את המערכת. 
.(Mathworks_ZPKdata, 2014) נשתמש בפונקציית של מאט-לאב 
והתוצאה היא 
לינראזציה 9 מערכת קטיף תפוחים
הטכניון-מכון טכנולוגי לישראל 
הפקולטה להנדסה אזרחית וסביבתית 
המסלול להנדסה חקלאית 
ניתן לראות שהפונקציה יציבה בגלל שכל השורשים שלילים אבל האפס לא יציב לכן ייתכן כי בהגברים 
מסוימים הפונקציה תהיה לא יציבה. 
נראה את זה בצורה גרפית בהצגה פולרית בעזרת פונקציה של מאטלאב 
(Mathworks-iopzmap, 2014) 
שוב ניתן לראות שהפונקציה יציבה בגלל שכל השורשים שלילים אבל האפס לא יציב לכן ייתכן כי 
בהגברים מסוימים הפונקציה תהיה לא יציבה. 
רוט-לוקוס 
rlocus למציאת תחום יציבות למערכת אשתמש בפנוקציית מאטב-לאב 
רוט-לוקוס 11 מערכת קטיף תפוחים
הטכניון-מכון טכנולוגי לישראל 
הפקולטה להנדסה אזרחית וסביבתית 
המסלול להנדסה חקלאית 
נראה כי בהגברים מסוימים הפונקציה אכן לא יציבה 
אצור תקריב של האזור הקטבים שחוצים לעזור החיובי כדי למצוא באיזה הגבר המערכת יוצא מיציבות 
נראה כי בערך בהגבר של 1.7 המערכת יוצאת מיציבות לכן תחום ההגבר הוא בין 1 ל 1.7- 
רוט-לוקוס 11 מערכת קטיף תפוחים
הטכניון-מכון טכנולוגי לישראל 
הפקולטה להנדסה אזרחית וסביבתית 
המסלול להנדסה חקלאית 
רוט-לוקוס 11 מערכת קטיף תפוחים
הטכניון-מכון טכנולוגי לישראל 
הפקולטה להנדסה אזרחית וסביבתית 
המסלול להנדסה חקלאית 
ניקוויסט 
הנייקוויסט של מאטלאב לא עובד טוב עבור פונקציה זו לכן נשתמש בקוד מתוקן מתוך התירגולים של 
בקורס 
קיבלתי את התוצאה הבאה 
נעשה זום כדי לראות מה קורה ליד הנקודה 1- המסומנת בירוק 
ניקוויסט 13 מערכת קטיף תפוחים
הטכניון-מכון טכנולוגי לישראל 
הפקולטה להנדסה אזרחית וסביבתית 
המסלול להנדסה חקלאית 
N=0 נראה כי אין הקפות מסביב למינוס 1 לכן 
p=0 בחוג הפתוח אין קטבים לא יציבים לכן 
מתוך המשאווה נראה כי במערכת יציבה בחוג הסגור 
מציאת גבול יציבות בעזרת ניקוויסט 
נראה כי מעגל נסגר בערך ב -0.2 לכן אם נגביר בערך פי 1 נצא מיציבות. 
0.15 
0.1 
0.05 
0 
-0.05 
-0.1 
-0.15 
-2 -1.5 -1 -0.5 0 
ניקוויסט 11 מערכת קטיף תפוחים 
-0.2
הטכניון-מכון טכנולוגי לישראל 
הפקולטה להנדסה אזרחית וסביבתית 
המסלול להנדסה חקלאית 
תכנון לפי זיגלר ניקולוס 
נריץ את המערכת על גבול היציבות ע"י הוספת הגברה של 1.7 וסגירת חוג. 
התוצאה היא להלן 
נראה כי זמן המחזור הוא בערך 6.1 שניות וההגבר כבר מצאנו הוא 1.7 
לפי טבלת ערכים של זיגלר ניקולוס נתכנן את בקרים ונשווה בינהם 
תכנון לפי זיגלר ניקולוס 11 מערכת קטיף תפוחים
הטכניון-מכון טכנולוגי לישראל 
הפקולטה להנדסה אזרחית וסביבתית 
המסלול להנדסה חקלאית 
תכנון הבקרים בעזרת קוד 
והמערכות 
תכנון לפי זיגלר ניקולוס 16 מערכת קטיף תפוחים
הטכניון-מכון טכנולוגי לישראל 
הפקולטה להנדסה אזרחית וסביבתית 
המסלול להנדסה חקלאית 
תוצאות המערכת 
יציבים ומתכנסים לאות אמנם לבקר -PID וה P ניתן לראות כי בתכנון לפי טבלת זיגלר ניקולס רק בקרים 
בכלל לא יציב ולא מתכנס אל האות הרצוי. PI לוקח הרבה זמן ובקר ובקר P 
נבדוק התגובה לכניסת הפרעה עבור הבקרים השונים, נוסיף כניסת הפרעה בגובה יחידת מדרגה, הקלט 
הורד לאפס 
תכנון לפי זיגלר ניקולוס 17 מערכת קטיף תפוחים
הטכניון-מכון טכנולוגי לישראל 
הפקולטה להנדסה אזרחית וסביבתית 
המסלול להנדסה חקלאית 
התוצאה 
מגיב בצורה טובה יותר להפרעות מן הבקרים האחרים. -PID נראה שבקר ה 
תכנון לפי זיגלר ניקולוס 18 מערכת קטיף תפוחים
הטכניון-מכון טכנולוגי לישראל 
הפקולטה להנדסה אזרחית וסביבתית 
המסלול להנדסה חקלאית 
שיפור הבקר הנבחר לפי זיגלר ניקולס 
כי הוא הבקר היחידי שנותן תגובה סבירה אמנם יש לו קצת אובר שוט גבוה וההתכנסות PID - בחרתי ב 
איטית לכן אנסה למטב 
אגדיל את מקדם האינטגרציה כדי לקבל פחות אובר שוט 
אגדיל את מקדם הגזירה בכדי לקבל התכנסות מהירה יותר 
רגיל מול מתוקן לכניסת מדרגה PID השוואה בין בקר 
אכניס את שני הבקרים למודל ואשווה בינהם 
התוצאה להלן 
H_lineared 
planet 
D 
Defrinator 
H_lineared 
planet1 
PI 
PI 
D_fix 
תכנון לפי זיגלר ניקולוס 19 מערכת קטיף תפוחים 
Step 
Scope 
PI_fix 
PI_fix 
Defrinator_fix 
PID 
r 
r 
Fixed PID
הטכניון-מכון טכנולוגי לישראל 
הפקולטה להנדסה אזרחית וסביבתית 
המסלול להנדסה חקלאית 
נראה כי אכן ההתכנסות והאובר-שוט טובים יותר בבקר המתוקן 
תכנון לפי זיגלר ניקולוס 11 מערכת קטיף תפוחים
הטכניון-מכון טכנולוגי לישראל 
הפקולטה להנדסה אזרחית וסביבתית 
המסלול להנדסה חקלאית 
רגיל מול מתוקן להפרעת מדרגה PID השוואה בין בקר 
H_lineared 
planet 
D 
Defrinator 
H_lineared 
planet1 
distrubance 
PI 
PI 
D_fix 
נראה כי גם עבור הפרעה הבקר המתוקן מגיב טוב יותר ומתכנס מהר יותר לאפס ועם סטייה קטנה יותר. 
תכנון לפי זיגלר ניקולוס 11 מערכת קטיף תפוחים 
Step 
Scope 
PI_fix 
PI_fix 
Defrinator_fix 
PID 
r 
r 
PID f ixed 
d
הטכניון-מכון טכנולוגי לישראל 
הפקולטה להנדסה אזרחית וסביבתית 
המסלול להנדסה חקלאית 
מתוקן PID תגובה לכניסת מדרגה במערכת המקורית )ללא לינראזיציה( עם בקר 
להשמיית המערכת המקורית אשתמש במערכת מתוך החלק הראשון בו השתמשתי במרחב המצב ואיסף 
השהייה למערכת כפי שדרשתי. 
מערכת סימולינק המשווה בין תגובה של המערכת המקורית למערכת המקורבת להלן: 
תוצאת המערכת 
Transport 
Delay 
D 
Defrinator_fix 
H_lineared 
planet1 
PI_fix 
PI 
D_fix 
נראה כי תגובת המערכת האמיתית מתנהגת קצת שונה אבל מתכנסת כמעט באותה מהירות ואף האובר 
שוט יחסית נמוך. 
תכנון לפי זיגלר ניקולוס 11 מערכת קטיף תפוחים 
Step 
x' = Ax+Bu 
y = Cx+Du 
State-Space 
Scope 
PI_fix 
PI_fix 
Defrinator_fix 
PID 
r 
r 
Fixed PID
הטכניון-מכון טכנולוגי לישראל 
הפקולטה להנדסה אזרחית וסביבתית 
המסלול להנדסה חקלאית 
מתוקן PID תגובה להפרעת מדרגה במערכת המקורית )ללא לינראזיציה( עם בקר 
כעת נכניס הפרעה למערכת ונראה את תגובתה 
Transport 
Delay 
D 
Defrinator_fix 
H_lineared 
planet1 
D_fix 
נראה כי אכן המערכות מתכנסות לאפס. 
distrubance 
PI_fix 
PI 
תכנון לפי זיגלר ניקולוס 13 מערכת קטיף תפוחים 
Step 
x' = Ax+Bu 
y = Cx+Du 
State-Space 
Scope 
PI_fix 
PI_fix 
Defrinator_fix 
non-linear sy stem 
r 
r 
r 
linear sy stem 
d
הטכניון-מכון טכנולוגי לישראל 
הפקולטה להנדסה אזרחית וסביבתית 
המסלול להנדסה חקלאית 
המרת ספיצפיקציות 
בניית מערכת מסדר שני 
נגדיר את הספציפקציות הרצויות עבור פרוייקט זה בחוג פתוח: 
)settling time of 2%( Ts=2s 1( נרצה שהזרוע תגיע תוך כ 1- שניות אל מקומה לכן 
1( נרצה כי הזרוע לא תעבור את מיקום התפוח בהרבה כדי שלא תתלוש אותו בכיוון הלא רצוי. 
נרצה תזוזה מקסימלית של 1 ס"מ ולזרוע יש כמטר לעבור עד הגעתה לנקודה לכן נרצה 
.)Over Shoot( M=5% 
.) אשתמש בנוסחאות מתוך ההרצאות למציאת מערכת מסדר שני העומדת בדרישות )לינקר, 1113 
התוצאה היא 1.69 אמנם אעגל כלפי מעלה ל 1.7- כדי לעמוד בדרישה. 
אמצא את התדירות הרצויה ע"י הנוסחא הבאה 
rad/sec 1.81 לכן התדירות העצמית היא 
מערכת מסדר שני תתואר ע"י המשוואה הבאה 
מימשתי באמצעות המאטלאב והרצתי כניסת מדרגה 
התוצאה 
המרת ספיצפיקציות 11 מערכת קטיף תפוחים
הטכניון-מכון טכנולוגי לישראל 
הפקולטה להנדסה אזרחית וסביבתית 
המסלול להנדסה חקלאית 
מתאים. setting time - שיניתי קצת את התדירות העצמית כדי להתאים ל 
נראה כי אכן המערכת עומדת בספיציפקציות. 
המרת ספיצפיקציות 11 מערכת קטיף תפוחים
הטכניון-מכון טכנולוגי לישראל 
הפקולטה להנדסה אזרחית וסביבתית 
המסלול להנדסה חקלאית 
מציאת הספקציות במישור התדר בעזרת דיאגרמת בודה 
נריץ את המערכת האקווילנטית בבודה כדי למצוא את הספספיקציות הרצויות. 
התוצאה היא 
⁄ 
המרת ספיצפיקציות 16 מערכת קטיף תפוחים
הטכניון-מכון טכנולוגי לישראל 
הפקולטה להנדסה אזרחית וסביבתית 
המסלול להנדסה חקלאית 
מציאת הספסקציות עבור חוג פתוח בעזרת דיאגרמת ניקולס 
לפי ההגבר המקסימלי הרצוי בחוג הסגור נמצא את הספסיפקציות עבור החוג הפתוח 
° 
Mp 
המרת ספיצפיקציות 17 מערכת קטיף תפוחים
הטכניון-מכון טכנולוגי לישראל 
הפקולטה להנדסה אזרחית וסביבתית 
המסלול להנדסה חקלאית 
שגיאה במצב מתמיד 
ארצה שהשגיאה במצב מתמיד לכניסה והפרעה תהיה אפס לכן צריך אינטגרטור בבקר. 
זאת לפי הטבלאות הבאות. 
המרת ספיצפיקציות 18 מערכת קטיף תפוחים
הטכניון-מכון טכנולוגי לישראל 
הפקולטה להנדסה אזרחית וסביבתית 
המסלול להנדסה חקלאית 
רשתות תיקון לפי ספספיקציות 
הדרישות הם: 
)1 
° )1 
)3 
⁄ 
1( צריך אינטגטור 
נריץ את המערכת בבודה כדי לבדוק מה צריך לתקן 
רשתות תיקון לפי ספספיקציות 19 מערכת קטיף תפוחים
הטכניון-מכון טכנולוגי לישראל 
הפקולטה להנדסה אזרחית וסביבתית 
המסלול להנדסה חקלאית 
PI הוספת בקר 
PI קודם ארצה להוסיף אינטגרטור לכן אשתמש בבקר 
אגדיר אותו לפי הנוסחה מההרצאות ולפי כלל האצבע 
>= >= 
מימוש במאטלאב 
רשתות תיקון לפי ספספיקציות 31 מערכת קטיף תפוחים
הטכניון-מכון טכנולוגי לישראל 
הפקולטה להנדסה אזרחית וסביבתית 
המסלול להנדסה חקלאית 
תיקון פאזה 
בגלל שהבודה לא חוצה את ה 181- מעלות לכן אוסיף פאזה לכל אורך Gain Margin נראה כי אין 
בעזרת אפס בראשית. 
הדרישה היא 61 מעלות להגבר פאזה ב- 
. בנקודה זאת כרגע ההפרש הוא 73 וזה יותר 
מהנדרש לכן אשאיר את זה כך. 
רשתות תיקון לפי ספספיקציות 31 מערכת קטיף תפוחים
הטכניון-מכון טכנולוגי לישראל 
הפקולטה להנדסה אזרחית וסביבתית 
המסלול להנדסה חקלאית 
תיקון הגבר 
0.26 , הוא לא לפי הדרישה, rad/sec , נראה כי תדר החצייה 
40 , הוא הרבה יותר ממה שצריך, db , ועודף ההגבר 
את האות להגעה לתדר חצייה רצוי. ,P לכן אנסה להגביר, עם בקר 
-21.5 לכן ההגבר יהיה לפי הנוסחה db נראה כי בתדר הרצוי ההגבר הוא 
>= 
נעגל את זה מעלה ל 11- 
bode w ith PI,zero and P conrollers 
Frequency (rad/s) 
2 
3 
רשתות תיקון לפי ספספיקציות 31 מערכת קטיף תפוחים 
100 
50 
0 
-50 
-100 
System: H_p 
Frequency (rad/s): 2.41 
Magnitude (dB): 0.00379 
System: H_p 
Gain Margin (dB): 18.4 
At f requency (rad/s): 19.9 
Closed loop stable? No 
Magnitude (dB) 
-3 
270 
225 
180 
135 
10 
10 
-2 
10 
-1 
10 
0 
10 
1 
10 
10 
90 
System: H_p 
Phase Margin (deg): 72.9 
Delay Margin (sec): 0.528 
At f requency (rad/s): 2.41 
Closed loop stable? No 
System: H_p 
Frequency (rad/s): 19.8 
Phase (deg): 180 
Phase (deg)
הטכניון-מכון טכנולוגי לישראל 
הפקולטה להנדסה אזרחית וסביבתית 
המסלול להנדסה חקלאית 
סיכום עמידה בדרישות 
נראה כי המערכת עומדת בכל הדרישות: 
1( עבור עודף הגבר נדרש ובמערכת זאת עודף ההגבר יותר גדול ועומד 
18.4 לכן זה עומד בדירשה זו. db על 
1( עבור עודף פאזה נדרש ° ובמערכת זאת עודף הפאזה יותר גדול 
ועמוד על ערך של 73 מעלות לכן זה עומד בדרישה זו. 
3( תדר חצייה נדרש 
ובמערכת התדר קרוב מאוד לתדר זה. 
PI 1( הדרישה היא שחייב להיות אינטגטור כדי ליצור שגיאה אפסית במצב מתמיד ואכן קיים בקר 
הכולל אינטגרטור. 
בדיקת יציבות 
קודם כל נבדוק את יציבות הקטבים בחוג הפתוח. 
נראה כי כל הקטבים יציבים בחוג הפתוח 
כעת נבדוק מה קורה בחוג הסגור בעזרת ניקוויסט 
אעשה זום על האזור של -1 כדי לראות מה קורה שם 
רשתות תיקון לפי ספספיקציות 33 מערכת קטיף תפוחים
הטכניון-מכון טכנולוגי לישראל 
הפקולטה להנדסה אזרחית וסביבתית 
המסלול להנדסה חקלאית 
N=0 נראה כי אין הקפות מסביב למינוס 1 לכן 
p=0 בחוג הפתוח אין קטבים לא יציבים לכן 
z=0 מתוך המשאווה נראה כי המערכת יציבה בחוג הסגור בגלל שאין קטבים לא יציבים בחוג הסגור 
אבל ניתן לראות כי אם נגביר את המערכת פי בערך 11 היא תצא מיציבות 
גם כאשר ניתן השהייה מספיק גובה היא תצא מיציבות. 
רשתות תיקון לפי ספספיקציות 31 מערכת קטיף תפוחים
הטכניון-מכון טכנולוגי לישראל 
הפקולטה להנדסה אזרחית וסביבתית 
המסלול להנדסה חקלאית 
כעת אריץ את המערכת בחוג סגור עם פונקציית מדרגה ונראה כי המערכת אכן מתכנסת במהירות ללא 
גדול. overshoot 
רשתות תיקון לפי ספספיקציות 31 מערכת קטיף תפוחים
הטכניון-מכון טכנולוגי לישראל 
הפקולטה להנדסה אזרחית וסביבתית 
המסלול להנדסה חקלאית 
משערך ומשוב המצב 
מערכת מרחב מצב 
אשתמש במטריצות שפיתחתי עבור מרחב המצב 
 
  
 
 
 
   
 
  
 
 
  
 
 
 
 
 
0 1 
0  
0.1 
 
   
 
   
 
 
 
 
0 
2 
x 
1 
2 
x 
1 
2 
x 
 
x 
x 
משוב מצב 
קונטרולביליות 
אבדוק קונטרלביליות של מערכת זאת בכדי לדעת אם ניתן לבקר אותה ע"י משוב מצב 
בדיקה במאטלאב 
תוצאה 
משערך ומשוב המצב 36 מערכת קטיף תפוחים
הטכניון-מכון טכנולוגי לישראל 
הפקולטה להנדסה אזרחית וסביבתית 
המסלול להנדסה חקלאית 
נראה כי אכן המערכת קונקטרולבילית בגלל לכן 
מציאת הבקרים בעזרת אקרמן 
נמצא את הבקרים הדרושים ע"י נוסחת אקרמן 
K ומציאת בקר 
. קוד מאטלאב, נקבע שני קטבים ב -1 
תוצאה 
בניית מערכת משוב מצב בחוג סגור 
נבנה מערכת לפי המודל הבא 
בסימולינק השתשמתי במודל המקביל 
משערך ומשוב המצב 37 מערכת קטיף תפוחים
הטכניון-מכון טכנולוגי לישראל 
הפקולטה להנדסה אזרחית וסביבתית 
המסלול להנדסה חקלאית 
u x y 
x' = Ax+Bu 
y = Cx+Du 
K*u 
C 
State-Space Scope 
K*u 
Gain 
F* u 
F 
כאשר המדרגה בנויה אם השהייה של 1.1 שניות כפי שדרשתי עבור המודל. 
בדיקת תגובת המערכת בחוג סגור עם בקר משוב מצב 
Overshoot התוצאה מאוד יציבה ומתכנסת אל אות הבקרה ללא 
Step 
משערך ומשוב המצב 38 מערכת קטיף תפוחים
הטכניון-מכון טכנולוגי לישראל 
הפקולטה להנדסה אזרחית וסביבתית 
המסלול להנדסה חקלאית 
משערך 
אובסרבליות 
כעת נבדוק אם המערכת יכולה לעבוד עם משערך 
נבנה מטריצה ונבדוק אם הדטרמננטה שלה שונה מאפס לפי הנוסחאות הבאות מן התרגול 
קוד במאטלאב לבדיקה זו 
תוצאה 
נראה כי הדטרמננטה היא אכן לא אפס לכן ניתן לעבוד עם משערך במערכת זו 
משערך ומשוב המצב 39 מערכת קטיף תפוחים
הטכניון-מכון טכנולוגי לישראל 
הפקולטה להנדסה אזרחית וסביבתית 
המסלול להנדסה חקלאית 
מציאת בקר המשערך ע"י אקרמן 
) אעבוד לפי הנוסחה הבאה )טכניון, 1113 
הקטבים צריכים להיות פי 1 לכן נכתוב במאטלאב 
תוצאה 
מודל המערכת 
x' = Ax+Bu 
y = Cx+Du 
K*u 
Step output 
x bar 
y 
x vector 
Plant 
L* u 
L 
F* u 
F 
B2 
משערך ומשוב המצב 11 מערכת קטיף תפוחים 
K*u 
B1 
B* u 
B 
x' = Ax+Bu 
y = Cx+Du 
(sI-(A-LC))^(-1) 
real 
real 
observ er
הטכניון-מכון טכנולוגי לישראל 
הפקולטה להנדסה אזרחית וסביבתית 
המסלול להנדסה חקלאית 
בדיקת תוצאות המערכת עם משערך 
יציאת המערכת 
ומהירות ההתכנסות סבירה, יותר מהירה מממערכת ללא משערך. overshoot נראה כי למערכת אין 
מצב המערכת האמיתי והמשוערך 
נראה כי השיערוך טוב מאוד. 
משערך ומשוב המצב 11 מערכת קטיף תפוחים
הטכניון-מכון טכנולוגי לישראל 
הפקולטה להנדסה אזרחית וסביבתית 
המסלול להנדסה חקלאית 
ביבליוגרפיה 
אוחזר מתוך .Pade function .)1111( .Mathworks 
http://www.mathworks.com/help/control/ref/pade.html 
אוחזר מתוך .ZPKdata .)1111( .Mathworks_ZPKdata 
http://www.mathworks.com/help/control/ref/zpkdata.html 
אוחזר מתוך .iopzmap .)1111( .Mathworks-iopzmap 
http://www.mathworks.com/help/control/ref/iopzmap.html 
טכניון. ) 1113 (. תירגולים בקורס מבוא לבקרה. חיפה: טכניון. 
לינקר, ר'. ) 1113 (. מצגות בקורס מבוא לבקרה. 
נספח – קוד התוכנה 
ביבליוגרפיה 11 מערכת קטיף תפוחים
Control system project - Or Hirshfeld 
Table of Contents 
State spcae model ............................................................................................................... 1 
transfer function step respone ............................................................................................... 2 
adding delay ...................................................................................................................... 3 
routh - horowitz ................................................................................................................. 3 
lineartizion ........................................................................................................................ 4 
finds poles and zeros .......................................................................................................... 4 
plot poles and zeros ............................................................................................................ 5 
root locus .......................................................................................................................... 5 
finding T0 ......................................................................................................................... 6 
zigler-nicholas .................................................................................................................... 6 
Improving PID ................................................................................................................... 8 
fixed nyquist - no error ....................................................................................................... 8 
fixed nyquist for unstable open loop with P conroller .............................................................. 10 
2nd order system .............................................................................................................. 11 
converting specifciations .................................................................................................... 12 
network controler .............................................................................................................. 14 
cheking stabilty with fixed nyquist ....................................................................................... 17 
chekcing step respone in close loop ..................................................................................... 19 
state conroller and observer ................................................................................................ 19 
1 
State spcae model 
clear all 
clc 
close all 
A=[0 1; 0 -0.1] 
B=[0;2] 
C=[1 0] 
D=0 
X=[0;0] %inital condtions 
A = 
0 1.0000 
0 -0.1000 
B = 
0 
2
Control system project - Or Hirshfeld 
2 
C = 
1 0 
D = 
0 
X = 
0 
0 
transfer function step respone 
num1=1 
den1=[5 0.5 0] 
H=tf(num1,den1) 
sample_time=10 %smapling time 
step(H,sample_time) 
num1 = 
1 
den1 = 
5.0000 0.5000 0 
Transfer function: 
1 
------------- 
5 s^2 + 0.5 s 
sample_time = 
10
Control system project - Or Hirshfeld 
3 
adding delay 
t_d=0.1 %time delay in sec 
H_delayed=tf(num1,den1,'IODelay',0.1) 
t_d = 
0.1000 
Transfer function: 
1 
exp(-0.1*s) * ------------- 
5 s^2 + 0.5 s 
routh - horowitz 
[z,p,k] = zpkdata(H); 
p{1,1} %show poles - cheking all stable poles in open loop 
syms Kr EPS 
ra=routh([5 0.5 Kr],EPS) % polynomial reprrstation of 1+H
Control system project - Or Hirshfeld 
4 
ans = 
0 
-0.1000 
ra = 
[ 5 Kr] 
[ ] 
[0.500000000000000000 0 ] 
[ ] 
[ 1.000000000 Kr 0 ] 
lineartizion 
N_order=1 %Nth-order Pad? approximation, 1 for linear 
H_lineared=pade(H_delayed,N_order) 
N_order = 
1 
Transfer function: 
-s + 20 
------------------------ 
5 s^3 + 100.5 s^2 + 10 s 
finds poles and zeros 
[z,p,k] = zpkdata(H_lineared); 
p{1,1} %show poles 
z{1,1} %show Zeros 
k %show k 
ans = 
0 
-20.0000 
-0.1000 
ans = 
20 
k =
Control system project - Or Hirshfeld 
5 
-0.2000 
plot poles and zeros 
figure 
iopzmap(H_lineared) 
title('plot poles and zeros') 
root locus 
figure 
rlocus(H_lineared) 
title('root locus of lineared function')
Control system project - Or Hirshfeld 
6 
finding T0 
[num,den]=tfdata(H_lineared) 
k_gain=5 
num = 
[1x4 double] 
den = 
[1x4 double] 
k_gain = 
5 
zigler-nicholas 
T0=6.2 % in sec unit 
k0=k_gain % 4.7
Control system project - Or Hirshfeld 
7 
k_p=0.5*k0 
k_pi=0.45*k0 
Ti_pi=T0/1.2 
k_pid=0.6*k0 
Ti_pid=T0/2 
Td_pid=T0/8 
T0 = 
6.2000 
k0 = 
5 
k_p = 
2.5000 
k_pi = 
2.2500 
Ti_pi = 
5.1667 
k_pid = 
3 
Ti_pid = 
3.1000 
Td_pid = 
0.7750
Control system project - Or Hirshfeld 
8 
Improving PID 
PI=tf([k_pid*Ti_pid k_pid],[Ti_pid 0]) 
Defrinator=tf([k_pid*Td_pid 0],[1/100 1]) 
PI_fix=tf([k_pid*(2*Ti_pid) k_pid],[(2*Ti_pid) 0]) 
Defrinator_fix=tf([k_pid*(2*Td_pid) 0],[1/100 1]) 
Transfer function: 
9.3 s + 3 
--------- 
3.1 s 
Transfer function: 
2.325 s 
---------- 
0.01 s + 1 
Transfer function: 
18.6 s + 3 
---------- 
6.2 s 
Transfer function: 
4.65 s 
---------- 
0.01 s + 1 
fixed nyquist - no error 
%Define gamma 
s0=100*exp(j*[0:1:90]*(pi/180)); 
s1=j*[100:-0.03:0.03]; 
s2=0.03*exp(j*[90:-1:0]*(pi/180)); 
gamma=[s0 s1 s2 conj(fliplr([s0 s1 s2]))]; 
% Chose few points 
p1= 1000*exp(j*pi/2); p2= 1*exp(j*pi/2) 
p3= 0.1*exp(j*pi/2); p4= 0.001*exp(j*pi/2); %with delay pi/2 
% Compute and draw L0 
[num1,den1]=tfdata(H_lineared,'v') 
L=polyval(num1,gamma)./polyval(den1,gamma); 
Lp1=polyval(num1,p1)./polyval(den1,p1); %drawing ponit p1 
Lp2=polyval(num1,p2)./polyval(den1,p2); %drawing point p2 
Lp3=polyval(num1,p3)./polyval(den1,p3); %drawing point p3 
Lp4=polyval(num1,p4)./polyval(den1,p4); %drawing point p4 
figure; 
title('fixed nyquist for lineared function')
Control system project - Or Hirshfeld 
set(gca,'FontSize',14); 
plot(L,'b','LineWidth',2), grid; hold on; 
plot(-1,0,'rd','MarkerFaceColor','g','MarkerSize',8); hold on; 
% L(jw) direction: from large point to small one: 
plot(Lp1,'ro','MarkerFaceColor','r','MarkerSize',8); hold on; 
plot(Lp2,'ro','MarkerFaceColor','r','MarkerSize',6); hold on; 
plot(Lp3,'ro','MarkerFaceColor','r','MarkerSize',4); hold on; 
plot(Lp4,'ro','MarkerFaceColor','r','MarkerSize',2); 
9 
p2 = 
0.0000 + 1.0000i 
num1 = 
0 0 -1 20 
den1 = 
5.0000 100.5000 10.0000 0
Control system project - Or Hirshfeld 
fixed nyquist for unstable open loop with P 
conroller 
%Define gamma 
s0=100*exp(j*[0:1:90]*(pi/180)); 
s1=j*[100:-0.03:0.03]; 
s2=0.03*exp(j*[90:-1:0]*(pi/180)); 
gamma=[s0 s1 s2 conj(fliplr([s0 s1 s2]))]; 
% Chose few points 
p1= 1000*exp(j*pi/2); p2= 1*exp(j*pi/2) 
p3= 0.1*exp(j*pi/2); p4= 0.001*exp(j*pi/2); %with delay pi/2 
% Compute and draw L0 
[num1,den1]=tfdata(5*H_lineared,'v') 
L=polyval(num1,gamma)./polyval(den1,gamma); 
Lp1=polyval(num1,p1)./polyval(den1,p1); %drawing ponit p1 
Lp2=polyval(num1,p2)./polyval(den1,p2); %drawing point p2 
Lp3=polyval(num1,p3)./polyval(den1,p3); %drawing point p3 
Lp4=polyval(num1,p4)./polyval(den1,p4); %drawing point p4 
figure; 
title('fixed nyquist for lineared function') 
set(gca,'FontSize',14); 
plot(L,'b','LineWidth',2), grid; hold on; 
plot(-1,0,'rd','MarkerFaceColor','g','MarkerSize',8); hold on; 
% L(jw) direction: from large point to small one: 
plot(Lp1,'ro','MarkerFaceColor','r','MarkerSize',8); hold on; 
plot(Lp2,'ro','MarkerFaceColor','r','MarkerSize',6); hold on; 
plot(Lp3,'ro','MarkerFaceColor','r','MarkerSize',4); hold on; 
plot(Lp4,'ro','MarkerFaceColor','r','MarkerSize',2); 
10 
p2 = 
0.0000 + 1.0000i 
num1 = 
0 0 -5 100 
den1 = 
5.0000 100.5000 10.0000 0
Control system project - Or Hirshfeld 
11 
2nd order system 
k_dc = 1; %K_dc=1/k 
w_n = 3; 
zeta = 0.7; 
figure 
s = tf('s'); 
G_2nd_order = k_dc*w_n^2/(s^2 + 2*zeta*w_n*s + w_n^2); 
step(G_2nd_order) 
grid on 
title('equivelent 2nd order system')
Control system project - Or Hirshfeld 
converting specifciations 
12 
figure 
bode(G_2nd_order) 
figure 
nichols(G_2nd_order)
Control system project - Or Hirshfeld 
13
Control system project - Or Hirshfeld 
14 
network controler 
bode(H_lineared) 
% addding pi 
G_pi=tf([1 0.24],[1 0]) 
H_pi=G_pi*H_lineared 
figure 
bode(H_pi) 
title('bode with PI conroller') 
% adding zero to fix phase 
G_zero=tf([1 0],[1]) 
H_zero=G_zero*H_pi 
figure 
bode(H_zero) 
title('bode with PI and zero conrollers') 
% adding P controller 
G_p=12 
H_p=G_p*H_zero 
figure 
bode(H_p) 
title('bode with PI,zero and P conrollers') 
G_tot=G_p*G_zero*G_pi 
[num_G,den_G]=tfdata(G_tot) 
Transfer function: 
s + 0.24 
-------- 
s 
Transfer function: 
-s^2 + 19.76 s + 4.8 
-------------------------- 
5 s^4 + 100.5 s^3 + 10 s^2 
Transfer function: 
s 
Transfer function: 
-s^3 + 19.76 s^2 + 4.8 s 
-------------------------- 
5 s^4 + 100.5 s^3 + 10 s^2 
G_p =
Control system project - Or Hirshfeld 
15 
12 
Transfer function: 
-12 s^3 + 237.1 s^2 + 57.6 s 
---------------------------- 
5 s^4 + 100.5 s^3 + 10 s^2 
Transfer function: 
12 s^2 + 2.88 s 
--------------- 
s 
num_G = 
[1x3 double] 
den_G = 
[1x3 double]
Control system project - Or Hirshfeld 
16
Control system project - Or Hirshfeld 
cheking stabilty with fixed nyquist 
pole(H_p) 
%Define gamma 
s0=100*exp(j*[0:1:90]*(pi/180)); 
s1=j*[100:-0.03:0.03]; 
s2=0.03*exp(j*[90:-1:0]*(pi/180)); 
gamma=[s0 s1 s2 conj(fliplr([s0 s1 s2]))]; 
% Chose few points 
p1= 1000*exp(j*pi/2); p2= 1*exp(j*pi/2) 
p3= 0.1*exp(j*pi/2); p4= 0.001*exp(j*pi/2); %with delay pi/2 
% Compute and draw L0 
[num1,den1]=tfdata(H_p,'v') 
L=polyval(num1,gamma)./polyval(den1,gamma); 
Lp1=polyval(num1,p1)./polyval(den1,p1); %drawing ponit p1 
Lp2=polyval(num1,p2)./polyval(den1,p2); %drawing point p2 
Lp3=polyval(num1,p3)./polyval(den1,p3); %drawing point p3 
Lp4=polyval(num1,p4)./polyval(den1,p4); %drawing point p4 
figure; 
title('fixed nyquist for system and controllers') 
set(gca,'FontSize',14); 
plot(L,'b','LineWidth',2), grid; hold on; 
plot(-1,0,'rd','MarkerFaceColor','g','MarkerSize',8); hold on; 
% L(jw) direction: from large point to small one: 
plot(Lp1,'ro','MarkerFaceColor','r','MarkerSize',8); hold on; 
17
Control system project - Or Hirshfeld 
plot(Lp2,'ro','MarkerFaceColor','r','MarkerSize',6); hold on; 
plot(Lp3,'ro','MarkerFaceColor','r','MarkerSize',4); hold on; 
plot(Lp4,'ro','MarkerFaceColor','r','MarkerSize',2); 
18 
ans = 
0 
0 
-20.0000 
-0.1000 
p2 = 
0.0000 + 1.0000i 
num1 = 
0 -12.0000 237.1200 57.6000 0 
den1 = 
5.0000 100.5000 10.0000 0 0
Control system project - Or Hirshfeld 
chekcing step respone in close loop 
19 
[num_f,den_f]=tfdata(H_p) 
num_f = 
[1x5 double] 
den_f = 
[1x5 double] 
state conroller and observer 
A=[0 1; 0 -0.1] 
B=[0;2] 
C=[1 0] 
D=[0;0] 
X0=[0;0] %inital condtions 
% checking controllability 
CO=ctrb(A,B) 
det_CO=det(CO) 
% checking size 
size_of_A=size(A) 
size_of_B=size(B) 
% Ackerman fucntion 
F=acker(A,B,[-1 -1]) 
K=1/(C*(B*F-A)^(-1)*B) 
% observer 
OB=obsv(A,C) 
det_OB=det(OB) 
L=(acker(A',C',[-5 -5]))' 
A = 
0 1.0000 
0 -0.1000 
B = 
0 
2
Control system project - Or Hirshfeld 
20 
C = 
1 0 
D = 
0 
0 
X0 = 
0 
0 
CO = 
0 2.0000 
2.0000 -0.2000 
det_CO = 
-4 
size_of_A = 
2 2 
size_of_B = 
2 1 
F = 
0.5000 0.9500 
K = 
0.5000 
OB = 
1 0 
0 1
Control system project - Or Hirshfeld 
21 
det_OB = 
1 
L = 
9.9000 
24.0100 
Published with MATLAB® 7.13

Mais conteúdo relacionado

Control system desgin of robot arm by Or Hirshfeld - פרוייקט תכנון בקרה - אור הירשפלד

  • 1. הטכניון-מכון טכנולוגי לישראל הפקולטה להנדסה אזרחית וסביבתית המסלול להנדסה חקלאית טכניון מערכת קטיף תפוחים ) פרוייקט במסגרת קורס במבוא לבקרה ) 510510 אור הירשפלד – תז 000507003 3/24/2014
  • 2. הטכניון-מכון טכנולוגי לישראל הפקולטה להנדסה אזרחית וסביבתית המסלול להנדסה חקלאית תוכן עניינים תוכן עניינים....................................................................................................................... 1 מודל המערכת ................................................................................................................... 3 תגובת המערכת ללא בקר, מימוש בעזרת מרחב המצב ............................................................. 3 פונקציית תמסורת .............................................................................................................. 6 בדיקת יציבות ע"פ קריטריון ראות'-הורוביץ ........................................................................ 7 הוספת השהייה.................................................................................................................. 8 לינראזציה ........................................................................................................................ 9 מציאת קטבים ואפסים ........................................................................................................ 9 רוט-לוקוס....................................................................................................................... 11 ניקוויסט ......................................................................................................................... 13 מציאת גבול יציבות בעזרת ניקוויסט ................................................................................. 11 תכנון לפי זיגלר ניקולוס.................................................................................................... 11 שיפור הבקר הנבחר לפי זיגלר ניקולס ............................................................................... 19 רגיל מול מתוקן לכניסת מדרגה .................................................... 19 PID השוואה בין בקר רגיל מול מתוקן להפרעת מדרגה ................................................... 11 PID השוואה בין בקר מתוקן ...................... 11 PID תגובה לכניסת מדרגה במערכת המקורית )ללא לינראזיציה( עם בקר מתוקן .................... 13 PID תגובה להפרעת מדרגה במערכת המקורית )ללא לינראזיציה( עם בקר המרת ספיצפיקציות ......................................................................................................... 11 בניית מערכת מסדר שני ................................................................................................. 11 מציאת הספקציות במישור התדר בעזרת דיאגרמת בודה ........................................................ 16 מציאת הספסקציות עבור חוג פתוח בעזרת דיאגרמת ניקולס ................................................... 17 שגיאה במצב מתמיד ...................................................................................................... 18 רשתות תיקון לפי ספספיקציות .......................................................................................... 19 31 ............................................................................................................. PI הוספת בקר תיקון פאזה .................................................................................................................. 31 תיקון הגבר .................................................................................................................. 31 סיכום עמידה בדרישות ................................................................................................... 33 בדיקת יציבות ........................................................................................................... 33 משערך ומשוב המצב ....................................................................................................... 36 מערכת מרחב מצב......................................................................................................... 36 משוב מצב ................................................................................................................... 36 מודל המערכת 1 מערכת קטיף תפוחים
  • 3. הטכניון-מכון טכנולוגי לישראל הפקולטה להנדסה אזרחית וסביבתית המסלול להנדסה חקלאית קונטרולביליות ......................................................................................................... 36 מציאת הבקרים בעזרת אקרמן ..................................................................................... 37 בניית מערכת משוב מצב בחוג סגור .............................................................................. 37 בדיקת תגובת המערכת בחוג סגור עם בקר משוב מצב ...................................................... 38 משערך ....................................................................................................................... 39 אובסרבליות ............................................................................................................. 39 מציאת בקר המשערך ע"י אקרמן.................................................................................. 11 בדיקת תוצאות המערכת עם משערך.............................................................................. 11 ביבליוגרפיה.................................................................................................................... 11 נספח – קוד התוכנה.......................................................................................................... 11 מודל המערכת 1 מערכת קטיף תפוחים
  • 4. הטכניון-מכון טכנולוגי לישראל הפקולטה להנדסה אזרחית וסביבתית המסלול להנדסה חקלאית מודל המערכת X ma F m Cv מסת הזרוע – m , כוח המופעל ע"י המנוע -F , חיכוך דינמי –C , מרחק – X F m x Cx  0 תגובת המערכת ללא בקר, מימוש בעזרת מרחב המצב : X נגדיר את וקטור     x 1 2      2 2   F m        C x m 0 1 x F m          x x C m    F   x x x x x   x x x 1 2    x m x 0 1 1  x  C m                          x 0 2 2 נציב נתונים, נניח שמכלול הזרוע שוקל כ 1- ק"ג, הכוח הוא המופעל הוא 11 ניוטון, החיכוך הוא 1.1 ניוטון לכל מ/ש' לכן:                        0 1 0  0.1             0 2 x 1 2 x 1 2 x  x x נניח מצב התחלתי של מרחק מטר מן התפוח, לכן הגדרתי בצורה הבאה: מודל המערכת 3 מערכת קטיף תפוחים
  • 5. הטכניון-מכון טכנולוגי לישראל הפקולטה להנדסה אזרחית וסביבתית המסלול להנדסה חקלאית בכדי לראות מה קורה עם מדרגת יחידה שעולה לאחר שנייה לגובה 1 State-Space נשים במערכת האות יוצא לא יציב כפי שצפוי תגובת המערכת ללא בקר, מימוש בעזרת מרחב המצ 1ב מערכת קטיף תפוחים
  • 6. הטכניון-מכון טכנולוגי לישראל הפקולטה להנדסה אזרחית וסביבתית המסלול להנדסה חקלאית תגובת המערכת ללא בקר, מימוש בעזרת מרחב המצ 1ב מערכת קטיף תפוחים
  • 7. הטכניון-מכון טכנולוגי לישראל הפקולטה להנדסה אזרחית וסביבתית המסלול להנדסה חקלאית פונקציית תמסורת כעת נבנה פונקציית תמסורת של המערכת   f  m x  Cx 2  F  mS X  mSx  mx  CSX  Cx (0) (0) (0)  C mS x mx 1 [  ] (0)  (0) 1  2 2 CS mS F X  F CS mS   נציב את תנאי ההתחלה ונראה שניתן להתייחס רק לחלק ההומוגני C mS m 1 [  ]0  0 1  2 2 2 2 X  F CS  mS 1 X  F CS  mS 1 0 X  F CS mS CS mS F    נציב את הנתונים של המערכת 1 2 0.5 5 X  F S  S נעביר את המערכת למאט-לאב ונריץ עם כניסת מדרגה פונקציית תמסורת 6 מערכת קטיף תפוחים
  • 8. הטכניון-מכון טכנולוגי לישראל הפקולטה להנדסה אזרחית וסביבתית המסלול להנדסה חקלאית בדיקת יציבות ע"פ קריטריון ראות'-הורוביץ נרצה לבדוק באיזה תחום הפונקציה יציבה בחוג הסגור לכן נשתמש בקריטריון ראות' -הורוביץ. ונבדוק את הפונקציה האופיניית של -K קודם נבדוק כי כל הקטבים יציבים בחוג הפתוח ואז נכפול ב Xcl=1+H. המערכת Routh., השתמשתי בקוד שהופץ בקהילת משתמשי מאט-לאב התוצאה להלן בדיקת יציבות ע"פ קריטריון ראות' -הורוביץ 7 מערכת קטיף תפוחים
  • 9. הטכניון-מכון טכנולוגי לישראל הפקולטה להנדסה אזרחית וסביבתית המסלול להנדסה חקלאית בחלק הראשון נראה כי אכן הקטבים יציבים בחוג הפתוח כי הם לא חיוביים בבדיקת ראות' נראה כי השורה השמאלית כולה בסימן אחד ולכן זה יציב עבור ההגבר חיובי. הוספת השהייה ראינו כי קיבלנו אותה תוצאה כמו במרחב המצב לכן העברנו נכון לפונקציית תמסורת לכל מערכת יש זמן תגובה מסוים, נניח שבמערכת שאנו ממדלים לוקח 1.1 שנייה להגיב לשינוי. השהייה זאת יכולה לבוא ממהירות תגובה של הפעלת המנוע המניע את הזרוע. X 0.1 1   s e 2 0.5 5  F S S נמשש בעזרת המאט-לאב ונקבל הוספת השהייה 8 מערכת קטיף תפוחים
  • 10. הטכניון-מכון טכנולוגי לישראל הפקולטה להנדסה אזרחית וסביבתית המסלול להנדסה חקלאית לינראזציה למציאת נוסחה לינארית לפונקציות עם Pade בגלל ההשהייה הפונקציה אינה לינארית לכן נעזר בקירוב .(Mathworks, 2014) . השהייה להלן הקוד והתוצאה מציאת קטבים ואפסים ע"י מציאת השורשים של המחנה והמונה של הפונקציית תמסורת נוכל לאפיין את המערכת. .(Mathworks_ZPKdata, 2014) נשתמש בפונקציית של מאט-לאב והתוצאה היא לינראזציה 9 מערכת קטיף תפוחים
  • 11. הטכניון-מכון טכנולוגי לישראל הפקולטה להנדסה אזרחית וסביבתית המסלול להנדסה חקלאית ניתן לראות שהפונקציה יציבה בגלל שכל השורשים שלילים אבל האפס לא יציב לכן ייתכן כי בהגברים מסוימים הפונקציה תהיה לא יציבה. נראה את זה בצורה גרפית בהצגה פולרית בעזרת פונקציה של מאטלאב (Mathworks-iopzmap, 2014) שוב ניתן לראות שהפונקציה יציבה בגלל שכל השורשים שלילים אבל האפס לא יציב לכן ייתכן כי בהגברים מסוימים הפונקציה תהיה לא יציבה. רוט-לוקוס rlocus למציאת תחום יציבות למערכת אשתמש בפנוקציית מאטב-לאב רוט-לוקוס 11 מערכת קטיף תפוחים
  • 12. הטכניון-מכון טכנולוגי לישראל הפקולטה להנדסה אזרחית וסביבתית המסלול להנדסה חקלאית נראה כי בהגברים מסוימים הפונקציה אכן לא יציבה אצור תקריב של האזור הקטבים שחוצים לעזור החיובי כדי למצוא באיזה הגבר המערכת יוצא מיציבות נראה כי בערך בהגבר של 1.7 המערכת יוצאת מיציבות לכן תחום ההגבר הוא בין 1 ל 1.7- רוט-לוקוס 11 מערכת קטיף תפוחים
  • 13. הטכניון-מכון טכנולוגי לישראל הפקולטה להנדסה אזרחית וסביבתית המסלול להנדסה חקלאית רוט-לוקוס 11 מערכת קטיף תפוחים
  • 14. הטכניון-מכון טכנולוגי לישראל הפקולטה להנדסה אזרחית וסביבתית המסלול להנדסה חקלאית ניקוויסט הנייקוויסט של מאטלאב לא עובד טוב עבור פונקציה זו לכן נשתמש בקוד מתוקן מתוך התירגולים של בקורס קיבלתי את התוצאה הבאה נעשה זום כדי לראות מה קורה ליד הנקודה 1- המסומנת בירוק ניקוויסט 13 מערכת קטיף תפוחים
  • 15. הטכניון-מכון טכנולוגי לישראל הפקולטה להנדסה אזרחית וסביבתית המסלול להנדסה חקלאית N=0 נראה כי אין הקפות מסביב למינוס 1 לכן p=0 בחוג הפתוח אין קטבים לא יציבים לכן מתוך המשאווה נראה כי במערכת יציבה בחוג הסגור מציאת גבול יציבות בעזרת ניקוויסט נראה כי מעגל נסגר בערך ב -0.2 לכן אם נגביר בערך פי 1 נצא מיציבות. 0.15 0.1 0.05 0 -0.05 -0.1 -0.15 -2 -1.5 -1 -0.5 0 ניקוויסט 11 מערכת קטיף תפוחים -0.2
  • 16. הטכניון-מכון טכנולוגי לישראל הפקולטה להנדסה אזרחית וסביבתית המסלול להנדסה חקלאית תכנון לפי זיגלר ניקולוס נריץ את המערכת על גבול היציבות ע"י הוספת הגברה של 1.7 וסגירת חוג. התוצאה היא להלן נראה כי זמן המחזור הוא בערך 6.1 שניות וההגבר כבר מצאנו הוא 1.7 לפי טבלת ערכים של זיגלר ניקולוס נתכנן את בקרים ונשווה בינהם תכנון לפי זיגלר ניקולוס 11 מערכת קטיף תפוחים
  • 17. הטכניון-מכון טכנולוגי לישראל הפקולטה להנדסה אזרחית וסביבתית המסלול להנדסה חקלאית תכנון הבקרים בעזרת קוד והמערכות תכנון לפי זיגלר ניקולוס 16 מערכת קטיף תפוחים
  • 18. הטכניון-מכון טכנולוגי לישראל הפקולטה להנדסה אזרחית וסביבתית המסלול להנדסה חקלאית תוצאות המערכת יציבים ומתכנסים לאות אמנם לבקר -PID וה P ניתן לראות כי בתכנון לפי טבלת זיגלר ניקולס רק בקרים בכלל לא יציב ולא מתכנס אל האות הרצוי. PI לוקח הרבה זמן ובקר ובקר P נבדוק התגובה לכניסת הפרעה עבור הבקרים השונים, נוסיף כניסת הפרעה בגובה יחידת מדרגה, הקלט הורד לאפס תכנון לפי זיגלר ניקולוס 17 מערכת קטיף תפוחים
  • 19. הטכניון-מכון טכנולוגי לישראל הפקולטה להנדסה אזרחית וסביבתית המסלול להנדסה חקלאית התוצאה מגיב בצורה טובה יותר להפרעות מן הבקרים האחרים. -PID נראה שבקר ה תכנון לפי זיגלר ניקולוס 18 מערכת קטיף תפוחים
  • 20. הטכניון-מכון טכנולוגי לישראל הפקולטה להנדסה אזרחית וסביבתית המסלול להנדסה חקלאית שיפור הבקר הנבחר לפי זיגלר ניקולס כי הוא הבקר היחידי שנותן תגובה סבירה אמנם יש לו קצת אובר שוט גבוה וההתכנסות PID - בחרתי ב איטית לכן אנסה למטב אגדיל את מקדם האינטגרציה כדי לקבל פחות אובר שוט אגדיל את מקדם הגזירה בכדי לקבל התכנסות מהירה יותר רגיל מול מתוקן לכניסת מדרגה PID השוואה בין בקר אכניס את שני הבקרים למודל ואשווה בינהם התוצאה להלן H_lineared planet D Defrinator H_lineared planet1 PI PI D_fix תכנון לפי זיגלר ניקולוס 19 מערכת קטיף תפוחים Step Scope PI_fix PI_fix Defrinator_fix PID r r Fixed PID
  • 21. הטכניון-מכון טכנולוגי לישראל הפקולטה להנדסה אזרחית וסביבתית המסלול להנדסה חקלאית נראה כי אכן ההתכנסות והאובר-שוט טובים יותר בבקר המתוקן תכנון לפי זיגלר ניקולוס 11 מערכת קטיף תפוחים
  • 22. הטכניון-מכון טכנולוגי לישראל הפקולטה להנדסה אזרחית וסביבתית המסלול להנדסה חקלאית רגיל מול מתוקן להפרעת מדרגה PID השוואה בין בקר H_lineared planet D Defrinator H_lineared planet1 distrubance PI PI D_fix נראה כי גם עבור הפרעה הבקר המתוקן מגיב טוב יותר ומתכנס מהר יותר לאפס ועם סטייה קטנה יותר. תכנון לפי זיגלר ניקולוס 11 מערכת קטיף תפוחים Step Scope PI_fix PI_fix Defrinator_fix PID r r PID f ixed d
  • 23. הטכניון-מכון טכנולוגי לישראל הפקולטה להנדסה אזרחית וסביבתית המסלול להנדסה חקלאית מתוקן PID תגובה לכניסת מדרגה במערכת המקורית )ללא לינראזיציה( עם בקר להשמיית המערכת המקורית אשתמש במערכת מתוך החלק הראשון בו השתמשתי במרחב המצב ואיסף השהייה למערכת כפי שדרשתי. מערכת סימולינק המשווה בין תגובה של המערכת המקורית למערכת המקורבת להלן: תוצאת המערכת Transport Delay D Defrinator_fix H_lineared planet1 PI_fix PI D_fix נראה כי תגובת המערכת האמיתית מתנהגת קצת שונה אבל מתכנסת כמעט באותה מהירות ואף האובר שוט יחסית נמוך. תכנון לפי זיגלר ניקולוס 11 מערכת קטיף תפוחים Step x' = Ax+Bu y = Cx+Du State-Space Scope PI_fix PI_fix Defrinator_fix PID r r Fixed PID
  • 24. הטכניון-מכון טכנולוגי לישראל הפקולטה להנדסה אזרחית וסביבתית המסלול להנדסה חקלאית מתוקן PID תגובה להפרעת מדרגה במערכת המקורית )ללא לינראזיציה( עם בקר כעת נכניס הפרעה למערכת ונראה את תגובתה Transport Delay D Defrinator_fix H_lineared planet1 D_fix נראה כי אכן המערכות מתכנסות לאפס. distrubance PI_fix PI תכנון לפי זיגלר ניקולוס 13 מערכת קטיף תפוחים Step x' = Ax+Bu y = Cx+Du State-Space Scope PI_fix PI_fix Defrinator_fix non-linear sy stem r r r linear sy stem d
  • 25. הטכניון-מכון טכנולוגי לישראל הפקולטה להנדסה אזרחית וסביבתית המסלול להנדסה חקלאית המרת ספיצפיקציות בניית מערכת מסדר שני נגדיר את הספציפקציות הרצויות עבור פרוייקט זה בחוג פתוח: )settling time of 2%( Ts=2s 1( נרצה שהזרוע תגיע תוך כ 1- שניות אל מקומה לכן 1( נרצה כי הזרוע לא תעבור את מיקום התפוח בהרבה כדי שלא תתלוש אותו בכיוון הלא רצוי. נרצה תזוזה מקסימלית של 1 ס"מ ולזרוע יש כמטר לעבור עד הגעתה לנקודה לכן נרצה .)Over Shoot( M=5% .) אשתמש בנוסחאות מתוך ההרצאות למציאת מערכת מסדר שני העומדת בדרישות )לינקר, 1113 התוצאה היא 1.69 אמנם אעגל כלפי מעלה ל 1.7- כדי לעמוד בדרישה. אמצא את התדירות הרצויה ע"י הנוסחא הבאה rad/sec 1.81 לכן התדירות העצמית היא מערכת מסדר שני תתואר ע"י המשוואה הבאה מימשתי באמצעות המאטלאב והרצתי כניסת מדרגה התוצאה המרת ספיצפיקציות 11 מערכת קטיף תפוחים
  • 26. הטכניון-מכון טכנולוגי לישראל הפקולטה להנדסה אזרחית וסביבתית המסלול להנדסה חקלאית מתאים. setting time - שיניתי קצת את התדירות העצמית כדי להתאים ל נראה כי אכן המערכת עומדת בספיציפקציות. המרת ספיצפיקציות 11 מערכת קטיף תפוחים
  • 27. הטכניון-מכון טכנולוגי לישראל הפקולטה להנדסה אזרחית וסביבתית המסלול להנדסה חקלאית מציאת הספקציות במישור התדר בעזרת דיאגרמת בודה נריץ את המערכת האקווילנטית בבודה כדי למצוא את הספספיקציות הרצויות. התוצאה היא ⁄ המרת ספיצפיקציות 16 מערכת קטיף תפוחים
  • 28. הטכניון-מכון טכנולוגי לישראל הפקולטה להנדסה אזרחית וסביבתית המסלול להנדסה חקלאית מציאת הספסקציות עבור חוג פתוח בעזרת דיאגרמת ניקולס לפי ההגבר המקסימלי הרצוי בחוג הסגור נמצא את הספסיפקציות עבור החוג הפתוח ° Mp המרת ספיצפיקציות 17 מערכת קטיף תפוחים
  • 29. הטכניון-מכון טכנולוגי לישראל הפקולטה להנדסה אזרחית וסביבתית המסלול להנדסה חקלאית שגיאה במצב מתמיד ארצה שהשגיאה במצב מתמיד לכניסה והפרעה תהיה אפס לכן צריך אינטגרטור בבקר. זאת לפי הטבלאות הבאות. המרת ספיצפיקציות 18 מערכת קטיף תפוחים
  • 30. הטכניון-מכון טכנולוגי לישראל הפקולטה להנדסה אזרחית וסביבתית המסלול להנדסה חקלאית רשתות תיקון לפי ספספיקציות הדרישות הם: )1 ° )1 )3 ⁄ 1( צריך אינטגטור נריץ את המערכת בבודה כדי לבדוק מה צריך לתקן רשתות תיקון לפי ספספיקציות 19 מערכת קטיף תפוחים
  • 31. הטכניון-מכון טכנולוגי לישראל הפקולטה להנדסה אזרחית וסביבתית המסלול להנדסה חקלאית PI הוספת בקר PI קודם ארצה להוסיף אינטגרטור לכן אשתמש בבקר אגדיר אותו לפי הנוסחה מההרצאות ולפי כלל האצבע >= >= מימוש במאטלאב רשתות תיקון לפי ספספיקציות 31 מערכת קטיף תפוחים
  • 32. הטכניון-מכון טכנולוגי לישראל הפקולטה להנדסה אזרחית וסביבתית המסלול להנדסה חקלאית תיקון פאזה בגלל שהבודה לא חוצה את ה 181- מעלות לכן אוסיף פאזה לכל אורך Gain Margin נראה כי אין בעזרת אפס בראשית. הדרישה היא 61 מעלות להגבר פאזה ב- . בנקודה זאת כרגע ההפרש הוא 73 וזה יותר מהנדרש לכן אשאיר את זה כך. רשתות תיקון לפי ספספיקציות 31 מערכת קטיף תפוחים
  • 33. הטכניון-מכון טכנולוגי לישראל הפקולטה להנדסה אזרחית וסביבתית המסלול להנדסה חקלאית תיקון הגבר 0.26 , הוא לא לפי הדרישה, rad/sec , נראה כי תדר החצייה 40 , הוא הרבה יותר ממה שצריך, db , ועודף ההגבר את האות להגעה לתדר חצייה רצוי. ,P לכן אנסה להגביר, עם בקר -21.5 לכן ההגבר יהיה לפי הנוסחה db נראה כי בתדר הרצוי ההגבר הוא >= נעגל את זה מעלה ל 11- bode w ith PI,zero and P conrollers Frequency (rad/s) 2 3 רשתות תיקון לפי ספספיקציות 31 מערכת קטיף תפוחים 100 50 0 -50 -100 System: H_p Frequency (rad/s): 2.41 Magnitude (dB): 0.00379 System: H_p Gain Margin (dB): 18.4 At f requency (rad/s): 19.9 Closed loop stable? No Magnitude (dB) -3 270 225 180 135 10 10 -2 10 -1 10 0 10 1 10 10 90 System: H_p Phase Margin (deg): 72.9 Delay Margin (sec): 0.528 At f requency (rad/s): 2.41 Closed loop stable? No System: H_p Frequency (rad/s): 19.8 Phase (deg): 180 Phase (deg)
  • 34. הטכניון-מכון טכנולוגי לישראל הפקולטה להנדסה אזרחית וסביבתית המסלול להנדסה חקלאית סיכום עמידה בדרישות נראה כי המערכת עומדת בכל הדרישות: 1( עבור עודף הגבר נדרש ובמערכת זאת עודף ההגבר יותר גדול ועומד 18.4 לכן זה עומד בדירשה זו. db על 1( עבור עודף פאזה נדרש ° ובמערכת זאת עודף הפאזה יותר גדול ועמוד על ערך של 73 מעלות לכן זה עומד בדרישה זו. 3( תדר חצייה נדרש ובמערכת התדר קרוב מאוד לתדר זה. PI 1( הדרישה היא שחייב להיות אינטגטור כדי ליצור שגיאה אפסית במצב מתמיד ואכן קיים בקר הכולל אינטגרטור. בדיקת יציבות קודם כל נבדוק את יציבות הקטבים בחוג הפתוח. נראה כי כל הקטבים יציבים בחוג הפתוח כעת נבדוק מה קורה בחוג הסגור בעזרת ניקוויסט אעשה זום על האזור של -1 כדי לראות מה קורה שם רשתות תיקון לפי ספספיקציות 33 מערכת קטיף תפוחים
  • 35. הטכניון-מכון טכנולוגי לישראל הפקולטה להנדסה אזרחית וסביבתית המסלול להנדסה חקלאית N=0 נראה כי אין הקפות מסביב למינוס 1 לכן p=0 בחוג הפתוח אין קטבים לא יציבים לכן z=0 מתוך המשאווה נראה כי המערכת יציבה בחוג הסגור בגלל שאין קטבים לא יציבים בחוג הסגור אבל ניתן לראות כי אם נגביר את המערכת פי בערך 11 היא תצא מיציבות גם כאשר ניתן השהייה מספיק גובה היא תצא מיציבות. רשתות תיקון לפי ספספיקציות 31 מערכת קטיף תפוחים
  • 36. הטכניון-מכון טכנולוגי לישראל הפקולטה להנדסה אזרחית וסביבתית המסלול להנדסה חקלאית כעת אריץ את המערכת בחוג סגור עם פונקציית מדרגה ונראה כי המערכת אכן מתכנסת במהירות ללא גדול. overshoot רשתות תיקון לפי ספספיקציות 31 מערכת קטיף תפוחים
  • 37. הטכניון-מכון טכנולוגי לישראל הפקולטה להנדסה אזרחית וסביבתית המסלול להנדסה חקלאית משערך ומשוב המצב מערכת מרחב מצב אשתמש במטריצות שפיתחתי עבור מרחב המצב                      0 1 0  0.1             0 2 x 1 2 x 1 2 x  x x משוב מצב קונטרולביליות אבדוק קונטרלביליות של מערכת זאת בכדי לדעת אם ניתן לבקר אותה ע"י משוב מצב בדיקה במאטלאב תוצאה משערך ומשוב המצב 36 מערכת קטיף תפוחים
  • 38. הטכניון-מכון טכנולוגי לישראל הפקולטה להנדסה אזרחית וסביבתית המסלול להנדסה חקלאית נראה כי אכן המערכת קונקטרולבילית בגלל לכן מציאת הבקרים בעזרת אקרמן נמצא את הבקרים הדרושים ע"י נוסחת אקרמן K ומציאת בקר . קוד מאטלאב, נקבע שני קטבים ב -1 תוצאה בניית מערכת משוב מצב בחוג סגור נבנה מערכת לפי המודל הבא בסימולינק השתשמתי במודל המקביל משערך ומשוב המצב 37 מערכת קטיף תפוחים
  • 39. הטכניון-מכון טכנולוגי לישראל הפקולטה להנדסה אזרחית וסביבתית המסלול להנדסה חקלאית u x y x' = Ax+Bu y = Cx+Du K*u C State-Space Scope K*u Gain F* u F כאשר המדרגה בנויה אם השהייה של 1.1 שניות כפי שדרשתי עבור המודל. בדיקת תגובת המערכת בחוג סגור עם בקר משוב מצב Overshoot התוצאה מאוד יציבה ומתכנסת אל אות הבקרה ללא Step משערך ומשוב המצב 38 מערכת קטיף תפוחים
  • 40. הטכניון-מכון טכנולוגי לישראל הפקולטה להנדסה אזרחית וסביבתית המסלול להנדסה חקלאית משערך אובסרבליות כעת נבדוק אם המערכת יכולה לעבוד עם משערך נבנה מטריצה ונבדוק אם הדטרמננטה שלה שונה מאפס לפי הנוסחאות הבאות מן התרגול קוד במאטלאב לבדיקה זו תוצאה נראה כי הדטרמננטה היא אכן לא אפס לכן ניתן לעבוד עם משערך במערכת זו משערך ומשוב המצב 39 מערכת קטיף תפוחים
  • 41. הטכניון-מכון טכנולוגי לישראל הפקולטה להנדסה אזרחית וסביבתית המסלול להנדסה חקלאית מציאת בקר המשערך ע"י אקרמן ) אעבוד לפי הנוסחה הבאה )טכניון, 1113 הקטבים צריכים להיות פי 1 לכן נכתוב במאטלאב תוצאה מודל המערכת x' = Ax+Bu y = Cx+Du K*u Step output x bar y x vector Plant L* u L F* u F B2 משערך ומשוב המצב 11 מערכת קטיף תפוחים K*u B1 B* u B x' = Ax+Bu y = Cx+Du (sI-(A-LC))^(-1) real real observ er
  • 42. הטכניון-מכון טכנולוגי לישראל הפקולטה להנדסה אזרחית וסביבתית המסלול להנדסה חקלאית בדיקת תוצאות המערכת עם משערך יציאת המערכת ומהירות ההתכנסות סבירה, יותר מהירה מממערכת ללא משערך. overshoot נראה כי למערכת אין מצב המערכת האמיתי והמשוערך נראה כי השיערוך טוב מאוד. משערך ומשוב המצב 11 מערכת קטיף תפוחים
  • 43. הטכניון-מכון טכנולוגי לישראל הפקולטה להנדסה אזרחית וסביבתית המסלול להנדסה חקלאית ביבליוגרפיה אוחזר מתוך .Pade function .)1111( .Mathworks http://www.mathworks.com/help/control/ref/pade.html אוחזר מתוך .ZPKdata .)1111( .Mathworks_ZPKdata http://www.mathworks.com/help/control/ref/zpkdata.html אוחזר מתוך .iopzmap .)1111( .Mathworks-iopzmap http://www.mathworks.com/help/control/ref/iopzmap.html טכניון. ) 1113 (. תירגולים בקורס מבוא לבקרה. חיפה: טכניון. לינקר, ר'. ) 1113 (. מצגות בקורס מבוא לבקרה. נספח – קוד התוכנה ביבליוגרפיה 11 מערכת קטיף תפוחים
  • 44. Control system project - Or Hirshfeld Table of Contents State spcae model ............................................................................................................... 1 transfer function step respone ............................................................................................... 2 adding delay ...................................................................................................................... 3 routh - horowitz ................................................................................................................. 3 lineartizion ........................................................................................................................ 4 finds poles and zeros .......................................................................................................... 4 plot poles and zeros ............................................................................................................ 5 root locus .......................................................................................................................... 5 finding T0 ......................................................................................................................... 6 zigler-nicholas .................................................................................................................... 6 Improving PID ................................................................................................................... 8 fixed nyquist - no error ....................................................................................................... 8 fixed nyquist for unstable open loop with P conroller .............................................................. 10 2nd order system .............................................................................................................. 11 converting specifciations .................................................................................................... 12 network controler .............................................................................................................. 14 cheking stabilty with fixed nyquist ....................................................................................... 17 chekcing step respone in close loop ..................................................................................... 19 state conroller and observer ................................................................................................ 19 1 State spcae model clear all clc close all A=[0 1; 0 -0.1] B=[0;2] C=[1 0] D=0 X=[0;0] %inital condtions A = 0 1.0000 0 -0.1000 B = 0 2
  • 45. Control system project - Or Hirshfeld 2 C = 1 0 D = 0 X = 0 0 transfer function step respone num1=1 den1=[5 0.5 0] H=tf(num1,den1) sample_time=10 %smapling time step(H,sample_time) num1 = 1 den1 = 5.0000 0.5000 0 Transfer function: 1 ------------- 5 s^2 + 0.5 s sample_time = 10
  • 46. Control system project - Or Hirshfeld 3 adding delay t_d=0.1 %time delay in sec H_delayed=tf(num1,den1,'IODelay',0.1) t_d = 0.1000 Transfer function: 1 exp(-0.1*s) * ------------- 5 s^2 + 0.5 s routh - horowitz [z,p,k] = zpkdata(H); p{1,1} %show poles - cheking all stable poles in open loop syms Kr EPS ra=routh([5 0.5 Kr],EPS) % polynomial reprrstation of 1+H
  • 47. Control system project - Or Hirshfeld 4 ans = 0 -0.1000 ra = [ 5 Kr] [ ] [0.500000000000000000 0 ] [ ] [ 1.000000000 Kr 0 ] lineartizion N_order=1 %Nth-order Pad? approximation, 1 for linear H_lineared=pade(H_delayed,N_order) N_order = 1 Transfer function: -s + 20 ------------------------ 5 s^3 + 100.5 s^2 + 10 s finds poles and zeros [z,p,k] = zpkdata(H_lineared); p{1,1} %show poles z{1,1} %show Zeros k %show k ans = 0 -20.0000 -0.1000 ans = 20 k =
  • 48. Control system project - Or Hirshfeld 5 -0.2000 plot poles and zeros figure iopzmap(H_lineared) title('plot poles and zeros') root locus figure rlocus(H_lineared) title('root locus of lineared function')
  • 49. Control system project - Or Hirshfeld 6 finding T0 [num,den]=tfdata(H_lineared) k_gain=5 num = [1x4 double] den = [1x4 double] k_gain = 5 zigler-nicholas T0=6.2 % in sec unit k0=k_gain % 4.7
  • 50. Control system project - Or Hirshfeld 7 k_p=0.5*k0 k_pi=0.45*k0 Ti_pi=T0/1.2 k_pid=0.6*k0 Ti_pid=T0/2 Td_pid=T0/8 T0 = 6.2000 k0 = 5 k_p = 2.5000 k_pi = 2.2500 Ti_pi = 5.1667 k_pid = 3 Ti_pid = 3.1000 Td_pid = 0.7750
  • 51. Control system project - Or Hirshfeld 8 Improving PID PI=tf([k_pid*Ti_pid k_pid],[Ti_pid 0]) Defrinator=tf([k_pid*Td_pid 0],[1/100 1]) PI_fix=tf([k_pid*(2*Ti_pid) k_pid],[(2*Ti_pid) 0]) Defrinator_fix=tf([k_pid*(2*Td_pid) 0],[1/100 1]) Transfer function: 9.3 s + 3 --------- 3.1 s Transfer function: 2.325 s ---------- 0.01 s + 1 Transfer function: 18.6 s + 3 ---------- 6.2 s Transfer function: 4.65 s ---------- 0.01 s + 1 fixed nyquist - no error %Define gamma s0=100*exp(j*[0:1:90]*(pi/180)); s1=j*[100:-0.03:0.03]; s2=0.03*exp(j*[90:-1:0]*(pi/180)); gamma=[s0 s1 s2 conj(fliplr([s0 s1 s2]))]; % Chose few points p1= 1000*exp(j*pi/2); p2= 1*exp(j*pi/2) p3= 0.1*exp(j*pi/2); p4= 0.001*exp(j*pi/2); %with delay pi/2 % Compute and draw L0 [num1,den1]=tfdata(H_lineared,'v') L=polyval(num1,gamma)./polyval(den1,gamma); Lp1=polyval(num1,p1)./polyval(den1,p1); %drawing ponit p1 Lp2=polyval(num1,p2)./polyval(den1,p2); %drawing point p2 Lp3=polyval(num1,p3)./polyval(den1,p3); %drawing point p3 Lp4=polyval(num1,p4)./polyval(den1,p4); %drawing point p4 figure; title('fixed nyquist for lineared function')
  • 52. Control system project - Or Hirshfeld set(gca,'FontSize',14); plot(L,'b','LineWidth',2), grid; hold on; plot(-1,0,'rd','MarkerFaceColor','g','MarkerSize',8); hold on; % L(jw) direction: from large point to small one: plot(Lp1,'ro','MarkerFaceColor','r','MarkerSize',8); hold on; plot(Lp2,'ro','MarkerFaceColor','r','MarkerSize',6); hold on; plot(Lp3,'ro','MarkerFaceColor','r','MarkerSize',4); hold on; plot(Lp4,'ro','MarkerFaceColor','r','MarkerSize',2); 9 p2 = 0.0000 + 1.0000i num1 = 0 0 -1 20 den1 = 5.0000 100.5000 10.0000 0
  • 53. Control system project - Or Hirshfeld fixed nyquist for unstable open loop with P conroller %Define gamma s0=100*exp(j*[0:1:90]*(pi/180)); s1=j*[100:-0.03:0.03]; s2=0.03*exp(j*[90:-1:0]*(pi/180)); gamma=[s0 s1 s2 conj(fliplr([s0 s1 s2]))]; % Chose few points p1= 1000*exp(j*pi/2); p2= 1*exp(j*pi/2) p3= 0.1*exp(j*pi/2); p4= 0.001*exp(j*pi/2); %with delay pi/2 % Compute and draw L0 [num1,den1]=tfdata(5*H_lineared,'v') L=polyval(num1,gamma)./polyval(den1,gamma); Lp1=polyval(num1,p1)./polyval(den1,p1); %drawing ponit p1 Lp2=polyval(num1,p2)./polyval(den1,p2); %drawing point p2 Lp3=polyval(num1,p3)./polyval(den1,p3); %drawing point p3 Lp4=polyval(num1,p4)./polyval(den1,p4); %drawing point p4 figure; title('fixed nyquist for lineared function') set(gca,'FontSize',14); plot(L,'b','LineWidth',2), grid; hold on; plot(-1,0,'rd','MarkerFaceColor','g','MarkerSize',8); hold on; % L(jw) direction: from large point to small one: plot(Lp1,'ro','MarkerFaceColor','r','MarkerSize',8); hold on; plot(Lp2,'ro','MarkerFaceColor','r','MarkerSize',6); hold on; plot(Lp3,'ro','MarkerFaceColor','r','MarkerSize',4); hold on; plot(Lp4,'ro','MarkerFaceColor','r','MarkerSize',2); 10 p2 = 0.0000 + 1.0000i num1 = 0 0 -5 100 den1 = 5.0000 100.5000 10.0000 0
  • 54. Control system project - Or Hirshfeld 11 2nd order system k_dc = 1; %K_dc=1/k w_n = 3; zeta = 0.7; figure s = tf('s'); G_2nd_order = k_dc*w_n^2/(s^2 + 2*zeta*w_n*s + w_n^2); step(G_2nd_order) grid on title('equivelent 2nd order system')
  • 55. Control system project - Or Hirshfeld converting specifciations 12 figure bode(G_2nd_order) figure nichols(G_2nd_order)
  • 56. Control system project - Or Hirshfeld 13
  • 57. Control system project - Or Hirshfeld 14 network controler bode(H_lineared) % addding pi G_pi=tf([1 0.24],[1 0]) H_pi=G_pi*H_lineared figure bode(H_pi) title('bode with PI conroller') % adding zero to fix phase G_zero=tf([1 0],[1]) H_zero=G_zero*H_pi figure bode(H_zero) title('bode with PI and zero conrollers') % adding P controller G_p=12 H_p=G_p*H_zero figure bode(H_p) title('bode with PI,zero and P conrollers') G_tot=G_p*G_zero*G_pi [num_G,den_G]=tfdata(G_tot) Transfer function: s + 0.24 -------- s Transfer function: -s^2 + 19.76 s + 4.8 -------------------------- 5 s^4 + 100.5 s^3 + 10 s^2 Transfer function: s Transfer function: -s^3 + 19.76 s^2 + 4.8 s -------------------------- 5 s^4 + 100.5 s^3 + 10 s^2 G_p =
  • 58. Control system project - Or Hirshfeld 15 12 Transfer function: -12 s^3 + 237.1 s^2 + 57.6 s ---------------------------- 5 s^4 + 100.5 s^3 + 10 s^2 Transfer function: 12 s^2 + 2.88 s --------------- s num_G = [1x3 double] den_G = [1x3 double]
  • 59. Control system project - Or Hirshfeld 16
  • 60. Control system project - Or Hirshfeld cheking stabilty with fixed nyquist pole(H_p) %Define gamma s0=100*exp(j*[0:1:90]*(pi/180)); s1=j*[100:-0.03:0.03]; s2=0.03*exp(j*[90:-1:0]*(pi/180)); gamma=[s0 s1 s2 conj(fliplr([s0 s1 s2]))]; % Chose few points p1= 1000*exp(j*pi/2); p2= 1*exp(j*pi/2) p3= 0.1*exp(j*pi/2); p4= 0.001*exp(j*pi/2); %with delay pi/2 % Compute and draw L0 [num1,den1]=tfdata(H_p,'v') L=polyval(num1,gamma)./polyval(den1,gamma); Lp1=polyval(num1,p1)./polyval(den1,p1); %drawing ponit p1 Lp2=polyval(num1,p2)./polyval(den1,p2); %drawing point p2 Lp3=polyval(num1,p3)./polyval(den1,p3); %drawing point p3 Lp4=polyval(num1,p4)./polyval(den1,p4); %drawing point p4 figure; title('fixed nyquist for system and controllers') set(gca,'FontSize',14); plot(L,'b','LineWidth',2), grid; hold on; plot(-1,0,'rd','MarkerFaceColor','g','MarkerSize',8); hold on; % L(jw) direction: from large point to small one: plot(Lp1,'ro','MarkerFaceColor','r','MarkerSize',8); hold on; 17
  • 61. Control system project - Or Hirshfeld plot(Lp2,'ro','MarkerFaceColor','r','MarkerSize',6); hold on; plot(Lp3,'ro','MarkerFaceColor','r','MarkerSize',4); hold on; plot(Lp4,'ro','MarkerFaceColor','r','MarkerSize',2); 18 ans = 0 0 -20.0000 -0.1000 p2 = 0.0000 + 1.0000i num1 = 0 -12.0000 237.1200 57.6000 0 den1 = 5.0000 100.5000 10.0000 0 0
  • 62. Control system project - Or Hirshfeld chekcing step respone in close loop 19 [num_f,den_f]=tfdata(H_p) num_f = [1x5 double] den_f = [1x5 double] state conroller and observer A=[0 1; 0 -0.1] B=[0;2] C=[1 0] D=[0;0] X0=[0;0] %inital condtions % checking controllability CO=ctrb(A,B) det_CO=det(CO) % checking size size_of_A=size(A) size_of_B=size(B) % Ackerman fucntion F=acker(A,B,[-1 -1]) K=1/(C*(B*F-A)^(-1)*B) % observer OB=obsv(A,C) det_OB=det(OB) L=(acker(A',C',[-5 -5]))' A = 0 1.0000 0 -0.1000 B = 0 2
  • 63. Control system project - Or Hirshfeld 20 C = 1 0 D = 0 0 X0 = 0 0 CO = 0 2.0000 2.0000 -0.2000 det_CO = -4 size_of_A = 2 2 size_of_B = 2 1 F = 0.5000 0.9500 K = 0.5000 OB = 1 0 0 1
  • 64. Control system project - Or Hirshfeld 21 det_OB = 1 L = 9.9000 24.0100 Published with MATLAB® 7.13