האיצו את פיתוח יישומי מנועי IoT BLDC וכלי-רכב עם דוחף המנוע A4964KJPTR-T

מאת ‎Jacob Beningo

באדיבות ‎DigiKey's North American Editors

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

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

מאמר זה דן בהבדלים בין פיתרון תוכנה מבוסס מיקרו-בקר לבין פיתרון שבב חומרה ייעודי. לאחר מכן הוא בוחן לעומק כיצד להשתמש ב- A4964KJPTR-T מבית Allegro MicroSystems‏, דוחף מנועים שנועד לפשט את בקרת מנוע BLDC במיוחד עבור יישומי כלי-רכב. המאמר יראה כיצד ליצור אינטראקציה עם A4964KJPTR-T לצד מספר שיטות עבודה מומלצות כדי למנוע התנהגות בלתי-צפויה.

מבוא קצר (מאוד) למנועי BLDC

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

לדוגמה, ה- QBL4208-41-04-006‏ מבית TRINAMIC Motion Control‏ הוא מנוע 24 וולט, 4,000 סיבובים לדקה (RPM) המספק מומנטים של עד 0.06 ניוטון מטר (Nm) (איור 1). המנוע הוא קל-משקל (0.662 פאונד (lb‏), 0.3 ק"ג) ומעניק למפתחים מספר אפשרויות עבור בקרת המנוע, כגון פעולה ללא-חיישנים באמצעות הכוח האלקטרו-מניע לאחור (BEMF‏), או שימוש בחיישנים מובנים המדווחים על המיקום.

תמונה של ה- QBL4208-41-04-006 מבית TRINAMIC שהוא מנוע BLDC‏ 24 וולט, 4,000 סל"דאיור 1‏: ה- QBL4208-41-04-006 הוא מנוע BLDC‏ 24 וולט, 4,000 סל"ד היכול לספק מעט יותר מ- Nm‏ 0.06 של מומנט במהירות מקסימלית. (מקור התמונה: TRINAMIC Motion Control GmbH‏)

להשגת מומנט גבוה יותר המתכננים יכולים להשתמש ב- QBL4208-41-04-025, גם הוא מבית TRINAMIC Motion Control (איור 2). זהו מנוע BLDC‏ 24 וולט, 4,000 סל"ד היכול לספק מעט יותר מ- Nm‏ 0.25 של מומנט.

תמונה של ה- QBL4208-41-04-025 מבית TRINAMIC Motion Control שהוא מנוע BLDC‏ 24 וולט, 4,000 סל"דאיור 2: ה- QBL4208-41-04-025 מבית TRINAMIC Motion Control הוא מנוע BLDC של 24 וולט, 4000 סל"ד היכול לספק מעט יותר מ- Nm‏ 0.25 של מומנט במהירות מרבית. (מקור התמונה: TRINAMIC Motion Control GmbH‏)

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

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

פיתרונות תוכנה לעומת שבב ייעודי

ישנם מספר גורמים שהמפתחים צריכים לשקול בבואם לפתור כיצד לסובב את מנוע ה- BLDC שלהם. גורמים אלה מסתכמים למעשה ב-:

  • עלויות מפרט החומרים (BOM) לעומת עלויות העבודה
  • מורכבות הלוח לעומת מורכבות התוכנה
  • זמן ועלות התחזוקה

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

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

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

לדוגמה, העברת אלגוריתם בקרת המנוע לתוך המיקרו-בקר עשויה במרבית המקרים לגזול יותר זיכרון RAM ולדרוש הרבה זיכרון Flash‏. עם זאת, אם הצוות משתמש במיקרו-בקר המיועד עבור בקרת המנוע, כמו המיקרו-בקר לבקרת מנועים מבית Texas Instruments‏ F280049CRSHSR‏, האלגוריתמים מובנים בספרייה המובנית ב- ROM של המיקרו-בקר. המשמעות היא שהקוד היחיד שנוסף ליישום הן קריאות הפונקציה לגישה לספרייה המבצעות את כל המשימות הכבדות.

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

תרשים של מיקרו-בקרים C2000 מבית Texas Instruments (לחצו להגדלה)איור 3: המיקרו-בקרים C2000 מבית Texas Instruments מיועדים ליישומי בקרת מנועים. תמונה זו מציגה יישום לדוגמה עם המיקרו-בקר במרכז והמעגלים הנדרשים והאופציונליים להנעת מנוע BLDC. (מקור תמונה: Texas Instruments)

השימוש במיקרו-בקר להנעת המנוע בהחלט מעניין, אך איך נראה פיתרון חומרה ייעודי? בואו נביט על שבב דוחף המנוע A4964KJPTR-T מבית Allegro MicroSystems.

דוחף מנוע A4964KJPTR-T‏ מבית Allegro Microsystems

שבב דוחף המנוע A4964KJPTR-T מבית Allegro MicroSystems הוא ייעודי עבור מנועי BLDC‏ ומכיל את כל החוכמה הנחוצה להנעת המנוע (איור 4‏). תוכנן במיוחד עבור יישומי כלי-רכב ולשימוש עם רכיבי MOSFET‏ תעלת-N‏, לשבב יש אתחול וקומוטציה ללא-חיישנים, כך שהוא דורש כמות מינימלית של חומרה חיצונית. ה- A4964KJPTR-T פועל גם על פני מגוון רחב של מתחים, מ- 5.5 עד 50 וולט, המכסה כמעט כל יישום סטנדרטי, לצד מערכות כלי-רכב.

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

תרשים של דוחף מנוע BLDC‏ A4964KJPTR-T‏ מבית Allegro (לחצו להגדלה)איור 4‏: דוחף המנוע BLDC‏ A4964KJPTR-T יכול לפעול מ- 5.5 עד 50 וולט והוא מעניק אתחול וקומוטציה ללא-חיישנים. את מהירות המנוע ניתן להגדיר דרך SPI או אות PWM ייעודי. (מקור התמונה: Allegro Microsystems)

לחלופין, וזה החלק המעניין, ניתן לבקר את מהירות מנוע A4964KJPTR-T גם ללא SPI, פשוט על ידי הספקת אות אפנון רוחב פולס (PWM). יש לו זיכרון לא-נדיף שבו ניתן לאחסן את הגדרות המנוע הנטענות בעת ההפעלה הראשונית, המאפשר רק אות PWM כדי לבקר את המנוע.

בהיבט של התצורה, ל- A4964KJPTR-T יש 32 רגיסטרים Bit‏-16‏ נגישים, ובנוסף רגיסטר סטטוס. רגיסטר הסטטוס הוא ייחודי בכך ש- 5 הביטים הראשונים משודרים במהלך כל פעולת קריאה/כתיבה דרך ה- SPI, ובכך מאפשרים לתוכנה לבדוק סטטוס כללי כדי לראות אם יש תקלות או בעיות. ניתן לקרוא את כל רגיסטרי הסטטוס במהלך פעולות הכתיבה לשבב מכיוון שלא משודרים נתונים חזרה מה-A4964KJPTR-T.

בין 32 הרגיסטרים הנגישים ישנם גם שני רגיסטרים מיוחדים. רגיסטר 30 הוא כתיבה-בלבד ורגיסטר 31 הוא קריאה-בלבד. הרגיסטר לכתיבה-בלבד מאפשר למפתח להגדיר את כניסת הדרישה, או את קצב יחס המחזור שבו המנוע יונע עם ערך שבין 0 - 1023. נתוני רגיסטר קריאה-בלבד משתנים על בסיס הנתונים הנדרשים הנכתבים ברגיסטר 29, רגיסטר בחירת קריאה-חזרה. רגיסטר זה מאפשר לאחזר מגוון רחב של פרטי טלמטריה כגון:

  • דיאגנוסטיקה
  • מהירות המנוע
  • זרם ההספקה הממוצע
  • מתח ההספקה
  • טמפרטורת השבב
  • כניסת הדרישה
  • יחס מחזור שיא הגשר המיושם
  • התקדמות הפאזה המיושמת

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

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

טיפים וטריקים לשימוש ב- A4964KJPTR-T

ה-A4964KJPTR-T הוא פשוט למדי כדי להתממשק אליו, אבל יש כמה "טיפים וטריקים" שהמפתחים צריכים לזכור היכולים לפשט ולהאיץ את הפיתוח שלהם, כגון:

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

סיכום

מימושי מנועי BLDC עבור כלי-רכב, IoT או יישומים אחרים הם די נפוצים, אך ההנעה שלהםיכולה להיות מורכבת. כדי לנהל את מורכבות התוכנה, המפתחים יכולים להשתמש בדוחף מנוע BLDC ייעודי, כגון A4964KJPTR-T, הכולל בתוכו את כל פונקציונליות בקרת המנוע.

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

DigiKey logo

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

אודות כותב זה

Image of Jacob Beningo

Jacob Beningo

Jacob Beningo הוא יועץ תוכנה משובצת. הוא פרסם יותר מ- 200 מאמרים על טכניקות פיתוח תוכנה משובצת, הוא דובר ומאמן טכני מבוקש, והוא בעל שלושה תארים, כולל תואר שני בהנדסה מאוניברסיטת מישיגן.

אודות מוציא לאור זה

DigiKey's North American Editors