מתקפת EMP על ארדואינו

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

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

איזה מייקר מתחיל לא שיחק עם מודול ממסר (relay) סיני? זהו אחד מהמודולים הנפוצים, הזולים והפשוטים ביותר, והממסר האלקטרומכני עושה משהו שקשה לבצע באמצעים אחרים – הפעלה של צרכן חשמל "כבד" תוך הפרדה מלאה בין מקורות החשמל. לכן, כשלקוח ביקש מערכת מבוססת-ארדואינו שתפעיל מנעול חשמלי, בחרתי לשים על ה-PCB ממסר קטן ופשוט ממשפחת J107F, שהתאים מבחינת מגבלות המתח והזרם, וגם מופעל במתח נוח של 5V.

כיוון שזו לא פעם ראשונה שאני משתמש בממסר, ידעתי גם להציב סביבו הגנות מתאימות: קודם כל, לא לנסות להפעיל אותו ישירות מפין GPIO של הארדואינו אלא בתיווך טרנזיסטור. לשם כך בחרתי באיזשהו N-Channel MOSFET. דבר שני, כיוון שזה MOSFET, כל עוד המיקרו-בקר לא נותן לו במפורש מתח HIGH או LOW (למשל כי הוא עוד לא אותחל, כי יש בעיה בקוד, או מכל סיבה אחרת) הטרנזיסטור עלול להגיב באקראי, אז שמתי ב-Gate שלו נגד pull-down חיצוני.

ותעוף בחזרה

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

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

הממסר ורכיבי ההגנה שלו במעגל
הממסר ורכיבי ההגנה שלו במעגל (לחצו לתמונה גדולה)

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

באג חמקמק

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

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

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

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

סכמת חיבורים מופשטת לפתרון בעיית ה-flyback
סכמת חיבורים מופשטת לפתרון בעיית ה-flyback

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

להרשמה
הודע לי על
2 תגובות
מהכי חדשה
מהכי ישנה לפי הצבעות
Inline Feedbacks
הראה את כל התגובות

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