סינכרון בקרת תנועה בריבוי צירים על גבי רשתות בזמן אמת

תקציר

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

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

הצהרת הבעיה ופתרונות עדכניים

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

איור 1: מערכת בקרת תנועה של רשת בעלת 2 צירים טיפוסית.

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

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

לכל אחד מה- I/Os בבקר ה-motor, כגון טיימרים של מודוליציית רוחב הפולס (PWM) ו – ADCs, יש השהייה פנימי וקוונטיזציה של זמן. למשל, חשבו על טיימר PWN המפיק אותות gate drive עבור ממיר המתח, כפי שמוצג באיור 2. הטיימר מייצר אותות gate על ידי השוואת רפרנס Mx למונה מלמעלה למטה. כאשר ה-Mx משתנה על ידי אלגוריתם הבקרה, המחזור החדש אינו נכנס לתוקף עד לתקופת PWM הבאה. זה שווה ערך ל- zero-order hold effect והמשמעות היא שהמחזור מתעדכן רק פעם אחת לכל משך PWM, T, או פעמיים אם נעשה שימוש במצב עדכון כפול.

איור 2. עדכון מחזור לטיימר PWM.

לא משנה עד כמה טוב הסנכרון של חילופי הנתונים ברשת בזמן אמת, הקוונטיזציה של הזמן בטיימר ה-PWM הופכת בסופו של דבר להיות הגורם הקובע בסנכרון צירים. כאשר מתקבלת התייחסות חדשה, לא ניתן להגיב עליה עד שלכניסתו לתוקף של מחזור חדש. זה מוביל למשך זמן של חוסר ודאות במהלך של עד משך PWM אחד, שהיא בדרך כלל בטווח של 50 μs עד 100 μs. למעשה, יהיו יחסי פאזה לא מוגדרים ומשתנים בין משך סנכרון הרשת לבין משך ה-PWM. השוו זאת למשך חוסר ודאות של sub-1 μs על גבי רשת בזמן אמת ועולה מכך בבירור כי ל- I/Os של בקר ה- motor תפקיד מכריע בהקשר של סנכרון בקרת תנועה ברשת. למעשה, הרשת בזמן אמת אינה זו שקובעת את רמת הדיוק של הסנכרון – אלא את ה- I/Os של המערכת.

אם נביט שוב באיור 1 נוכל לראות כי למערכת שלושה דומיינים של סנכרון, A, B, ו- C, שאינם קשורים זה לזה. הם למעשה מחוץ לסנכרון עם חוסר וודאות המשתנה עד למשך PWM אחד.

חוסר וודאות בסנכרון ואימפקט יישום

ניתן לראות את ההשפעה של חוסר ודאות התזמון בבירור במערכות multiaxis servo בעלות ביצועים גבוהים ליישומים כגון רובוטיקה ומיכון. קיזוז הזמן המשתנה בין צירי בקרת המנוע ברמת I/O השפעה ישירה וניתנת למדידה על דיוק המיקום התלת ממדי הסופי של הרובוט או של כלי המכונה.

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

איור 3. ההשפעה של השהיית תזמון בדיוק המיקום.

במכונות מרובות צירים, מיקום מטרה (x, y, z) מתורגם לפרופילי צירים זוויתיים (θ1, …, θn) בהתאם לבנייה המכנית של המכונה. פרופילי הצירים הזוויתיים מגדירים רצף של פקודות מיקום / מהירות לכל ציר בהפרשי מהירות שווים. כל הבדל בעיתוי בין הצירים גורם לדיוק מופחת של המכונה. חשבו למשל על שני הצירים המופיעים באיור 4. נתיב מטרה עבור המכונה מתואר על ידי קבוצה של קואורדינטות (x, y). עיכוב גורם לשגיאת תזמון על הפקודה עבור ציר y והנתיב בפועל הופך להיות לא סדיר.

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

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

איור 4. ההשפעה של השהייה בתזמון על רמת דיוק המיקום.

סנכרון וטופולגיות בקרה חדשות

הגישה המסורתית לבקרת תנועה מוצגת בחלק העליון של איור 5. בקר תנועה, לרוב PLC, שולח הפניות מיקום (θ*) לבקר motor על גבי רשת בזמן אמת. בקר ה- motor  מורכב משלוש לולאות משוב מדורגות כאשר הלולאה הפנימית שולטת במומנט הפיתול / מתח (T/i), הלולאה האמצעית שולטת במהירות (ω) והלולאה הנוספת שולטת במיקום (θ). הלולאה השולטת במומנט הפיתול יש את רוחב הפס הגדול ביותר וללולאת המיקום יש את הקטן ביותר. משוב ממתקן נשמר באופן מקומי לבקר ה- motor והוא מסונכרן היטב עם אלגוריתם הבקרה ומודולטור רוחב פולס.

איור 5. טופולוגיות בקרת תנועה מסורתית (למעלה) וחדשה (למטה).

בטופולוגיית מערכת זו, הצירים מסונכרנים באמצעות החילוף של הפניות המיקום בין בקר התנועה ובקר ה-motor, אבל המתאם לסנכרון של ה- I/O של בקר ה- motor (משוב ו- PWM) הופך לבעייתי רק בהקשר של יישומים בעלי רמת דיוק גבוהה מאוד, כגון מיכון CNC. ללולאת המיקום בדרך כלל יש רוחב פס נמוך למדי ולכן היא פחות רגישה לסנכרון של I/O. כלומר, סנכרון של צמתים ברמת התייחסות מוביל לרוב לביצועים סבירים, למרות שהרשת וה- I/O נמצאים בדומיינים שונים של סנכרון.

בעוד שטופולוגיית הבקרה המוצגת בחלק העליון של איור 5 היא נפוצה, נעשה שימוש גם בגישות חלוקת בקרה אחרות שבהן לולאות המיקום ו/או המהירות מוטמעים בצד בקר התנועה, והפניות המהירות / מומנט הפיתול מועברות על פני הרשת. המגמות בעת האחרונה בתעשייה מצביעות על מעבר לשיטת חלוקה חדשה, שבה כל לולאות הבקרה מועברות מבקרי ה- motor לבקר תנועה עוצמתי בצד המסטר של הרשת (ראו בתחתית איור 5). חילופי הנתונים ברשת בזמן אמת הם הפניית מתח (v*) לבקר ה- motor ומשוב מתקן (i, ω, θ) לבקר התנועה. טופולוגיית בקרה זו, המאופשרת באמצעות PLCs מרובה ליבות חזק ורשתות בזמן אמת, יש מספר יתרונות. ראשית, הארכיטקטורה היא סקלבילית (scalable) מאוד. ניתן להוסיף / להסיר צירים בקלות מבלי לדאוג לגבי כוח העיבוד של בקר ה-motor. שנית, ניתן להגיע לרמת דיוק טובה יותר שכן גם תכנון המסלול וגם בקרת התנועה נעשים במקום מרכזי אחד.

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

איור 6. I/O scheduler מחבר בין הדומיינים של הסנכרון.

פתרון מוצע

העברת לולאות הבקרה המהירות יותר לבקר התנועה יוצרת דרישה לסנכרון לאורך כל הדרך ממסטר הרשת עד למסופי ה-motor.

הרעיון הכללי הוא להביא את ה- I/Osשל כל הצירים לסנכרון עם הרשת, כך שהכל פועל בדומיין סנכרון אחד. איור 6 מציג מתזמן אירוע I/O, הנמצא בין בקר הרשת לבין בקר ה-motor. הפונקציה העיקרית שלו היא ליצור פולסים של סנכרון / איפוס לכל הציוד ההיקפי כך שהם נשמרים בסנכרון עם תעבורת הרשת. מתזמן אירוע I/O לוקח את אות סינכרון המסגרת, הנגזר מהשעון המקומי של בקר הרשת, ומפיק את הטריגרים של החומרה המתאימה לכל ה- I/Os שצריך לדאוג שיהיו מסונכרנים עם הרשת.

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

איור 7. מתזמן ה- I/O  מפיק פולסים של הטריגר.

ברוב מערכות בקרת תנועה מרושתות, שיעור המסגרות, ומכאן קצב סנכרון המסגרת, שווה או נמוך מקצב העדכון של ה- PWM של בקר ה-motor. המשמעות היא שמתזמן אירוע I/O חייב לספק לפחות פולס טריגר אחד ואולי יותר לכל משך מסגרת. לדוגמה, אם קצב המסגרות הוא kHz 10 וקצב ה- PWM הוא kHz 10, מתזמן אירוע ה- I/O חייב לספק פעימה אחת לכל מסגרת רשת, ובאופן דומה, אם קצב המסגרות הוא kHz 1 וקצב ה- PWM הוא kHz 10, מתזמן אירוע ה- I/O חייב לספק 10 פולסים של טריגר מסגרת הרשת. זה שווה למכפיל התדר באיור 7. השהייה, tD, מיושם לכל פולס סנכרון כדי לפצות על ההשהייה הקיימת בכל I/O. האלמנט הסופי של מתזמן אירוע I/O הוא פונקציית סינון אינטליגנטית. בכל רשת יש קצת ריצוד בתעבורה. המסנן מפחית את הריצוד בפולסים של הטריגר וגם מבטיח ששיעור השינוי של תדר סנכרון מסגרת יוגבל.

החלק התחתון של איור 7 מציג תרשים דוגמת תזמון לסנכרון PWM. שימו לב בדוגמה זו כיצד תדירות סנכרון המסגרת היא מספר רב של תדר ה- PWM וכיצד הריצוד מופחת על גבי אות הטריגר על ה- I/O.

יישום

איור 8 מציג דוגמה לסכימת הסנכרון המוצעת אשר יושמה ונבדקה במערכת בקרת תנועה מרושתת. מסטר הרשת הוא Beckhoff CX2020 PLC המחובר למחשב לצורך פיתוח ופריסה של תכנית ה- PLC. הפרוטוקול של הרשת בזמן אמת (חיצים אדומים) הוא EtherCAT.

איור 8. יישום של סכימת סנכרון.

המרכיבים העיקריים של בקר המנוע הם fido5200 ו- ADSP-CM408, שניהם ממכשירים אנלוגיים. יחד שניהם מספקים מערך שבב משולב מאוד עבור motor drive המחובר לרשת.

ה- fido5200 הוא מתג Ethernet multiprotocol  (REM) בזמן אמת עם שתי יציאות Ethernet. הוא מספק ממשק גמיש בין המעבד המארח לבין השכבה הפיזית של ה- Ethernet התעשייתי. ה- fido5200 כולל יחידת בקרת טיימר (TCU) ניתנת להגדרה המאפשרת ליישם סכימות סנכרון מתקדמות עבור פרוטוקולי Ethernet תעשייתיים שונים. פונקציות נוספות, כמו לכידת קלט ואותות פלט square wave יכולות גם הן להיות ממומשות באמצעות פינים של טיימר ייעודי. טיימרים של קלט / פלט נשמרים מעודכנים לזמן הסנכרון המקומי ולכן גם עם תעבורת הרשת. זה מאפשר לא רק סנכרון I/O של slave node יחיד, אלא גם של slave node רבים ברחבי הרשת כולה.

למתג ה- REM יש שתי יציאות Ethernet ולכן הוא מתחבר לשני Phys (PHY1 ו- PHY2). טופולוגיה זו תומכת הן ברשתות טבעת והן ברשתות קו. עם זאת, בהתקנה הניסויית, להמחשה נעשה שימוש רק ב- slave node אחד ורק יציאת Ethernet אחת פעילה.

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

המעבד המארח המשמש למימוש בקר ה- motorהוא ADSP-CM408. זהו מעבד ספציפי ליישום המתבסס על ARM® Cortex®-M4F core להטמעת פונקציות בקרה ויישום. המעבד כולל ציוד היקפי לתמיכה ביישומי הבקרה התעשייתיים, כגון טיימרים עבור בקרת ממיר PWM, דגימת ADC וממשקים לקידוד מיקום. על מנת לשמור על סנכרון בין כל הציוד ההיקפי והרשת, נעשה שימוש ביחידת ניתוב טריגר גמישה (TRU). ה-TRU מנתב מחדש את הטריגרים שנוצרו על ידי ה- TCU של fido5200 לכל הציוד ההיקפי הקריטי הקשור לתזמון על גבי ה- ADSP-CM408. אלה הם המודולטור של רוחב הפולס, המסנן למדידת מתח, ADC וממשק אנקודר אבסולוטי. העקרונות בבסיס סנכרון ה- I/Os מתוארים באיור 9.

איור 9. הפקת אירועי סנכרון עבור I/Os.

באיור 9, שימו לב כיצד מתזמן האירועים של ה- I/O ממומש באמצעות ה- TCU על גבי מתג ה- REM וה- TRU על גבי מעבד בקרת ה-motor. כלומר, הפונקציה מיושמת על גבי שני מעגלים משולבים.

המשוב לבקר ה- motorהוא מתח פאזה ומיקום הרוטור ממנוע סרוו תלת פאזי. מתח הפאזה נמדד באמצעות Σ-Δ ADCs מבודדים ומיקום הרוטור נמדד בעזרת אנקודר אבסולוטי EnDat. גם ל- Σ-Δ ADCs וגם לאנקודר ממשק ישיר ל- ADSP-CM408 ללא צורך להיעזר ב- FPGA או CPLD חיצוני.

תדר מתג PWM הוא kHz 10 ואלגוריתם הבקרה מבוצע פעם אחת לכל משך PWM. כפי שהוצג במאמר זה, TCU מספק פולסים מסונכרנים ל- ADSP-CM408 אחת לכל משך PWM.

תוצאות ניסויי

תמונה של ההתקנה הניסויית מוצגת באיור 10. על מנת להמחיש את הסנכרון של המערכת, ה-PLC הותקן להפעלת תכנית עם 200 μs זמן משימה. זמן המשימה קובע גם את קצב המסגרות ברשת EtherCAT. בקר ה- motor פועל עם משך PWM וזמן עדכון בקרה של 100 μs (10 kHz) ולכן יש צורך שהפולסים לסינכרון יהיו גם בקצב זה. התוצאה מוצגת באיור 11.

איור 10. יישום סכימת סנכרון.

איור 11. הפקת אירועי סנכרון עבור I/Os.

האות Data Ready מציין את המצב בו מתג ה- REM הפך את נתוני הרשת לזמינים ליישום בקרת ה-motor. האות הוא כל 200 μs, המתאים לקצב מסגרת ה-EtherCAT. אות סינכרון PWM נוצר גם על ידי מתג ה-REM ומשמש לשמירה הסנכרון של I/O ובקר ה-motor עם תעבורת הרשת. מכיוון שמשך ה- PWM הוא 100 μs, מתג ה- REM מתזמן שני פולסים סנכרון PWN לכל מסגרת EtherCAT. שני האותות התחתונים באיור 11, HS PWM ו- LS PWM, הם PWN לצד גבוה וצד נמוך עבור אחד מפזות ה-motor. שימו לב כיצד אותות ה- PWM מסונכרנים לתנועת הרשת.

סיכום

Ethernet בזמן אמת משמשת רבות מערכות בקרת תנועה ופרוטוקולים מסוימים משיגים סנכרון זמן ברמת דיוק של sub-1 μs. אולם, הסנכרון כולל רק תעבורת נתונים בין מסטר הרשת ל-slaves. פתרונות הרשת הקיימים אינם כוללים סנכרון של I/O של בקרת תנועה, מה שמגביל את ביצועי הבקרה שניתן להשיג.

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

הסנכרון מבוסס על מתזמן אירוע I/O, הנמצא בין בקר הרשת לבין בקר ה-motor. מתזמן אירוע I/O ניתן לתכנות בקלות וניתן גם להפוך אותו למותנה כדי למזער את ההשפעה של ריצוד / שינויי תדר.

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

הפניות

1 Jie Ma. “Multi-DOF Motion Control System Design and Realization Based on EtherCAT.” 2016 Sixth International Conference on Instrumentation and Measurement, Computer, Communication, and Control, July 2016.

ג’נס סורנסון (Jens Sorensen) [jens.sorensen@analog.com] הוא מהנדס מערכות יישומים בחברת Analog Devices, שם הוא עובד על פתרונות בקרת motor ליישומים תעשייתיים. הוא בוגר אוניברסיטת אלבורג, דנמרק, בעל תואר M.Eng.Sc.. תחומי העניין העיקריים שלו הם אלגוריתמים של בקרה, אלקטרוניקה חשמלית ומעבדי בקרה.

דארה אוסאליבן (Dara O’Sullivan) [dara.osullivan@analog.com] הוא מהנדסת יישומים בכירה בצוות Motor and Power Control (MPC) בתוך היחידה העסקית לאוטומציה, אנרגיה וחיישנים בחברת Analog Devices. תחום ההתמחות שלו הוא כוח המרת כוח ובקרה ב​יישומי בקרת motor AC. הוא השלים את לימודי התואר B.E., M.Eng.Sc. שלו וקיבל את תואר ה- Ph.D. שלו מאוניברסיטת קולג’ קורק באירלנד, ועבד בתחום יישומים תעשייתיים ויישומי אנרגיה מתחדשת במגוון תחומי מחקר, ייעוץ, ותעשייה מאז שנת 2001.

כריסטיאן איין (Christian Aaen) [christian.aaen@analog.com] הוא מהנדס תכנון ועיצוב מערכות תוכנה ב- Deterministic Ethernet Technology Group בחברת Analog Devices. תחום ההתמחות שלו הוא עיצוב תוכנה מוטמע ויש לו רקע בהמרת כוח ו- motor drives. את תארי ה- B.Sc. ו- M.Sc. שלו הוא קיבל מאוניברסיטת אלבורג בדנמרק

 

 

ג'נס סורנסן, דארה אוסאליבן וכריסטיאן איין ADI

תגובות סגורות