כמה זה HIGH: מתח בפין פלט כפונקציה של הזרם

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

גרף יורד בחדות
לא, זה לא גרף קורונה.

לפני זמן-מה קיבלתי פרויקט קטן, שבו התבקשתי בין השאר לתת למודול קטן זרם קטן למשך זמן ק…צר. הזרם הדרוש היה בסביבות 10 מיליאמפר במתח של 3V, אז אמרתי לעצמי "מה הבעיה, ממילא יש מיקרו-בקר PIC במערכת שעובד במתח הזה, ו-PIC יכולים לתת 20 מיליאמפר בכיף מפיני פלט, אז פשוט אחבר אחד מהם ישירות למודול ויהיה בסדר."

להגנתי, אנסה לטעון כעת שלא עשיתי את זה תוך התעלמות מוחלטת מהסכנה. זכרתי שבארדואינו, למשל, עם מיקרו-בקר ATmega328P שעובד ב-5V, המתח "HIGH" בפין פלט יכול לרדת אפילו בחצי וולט אם העומס עליו מספיק גדול. אבל האמת היא שהמודול בפרויקט הנוכחי אמור להסתדר מצוין גם עם 2.5V, ואני ממילא לא מתקרב למקסימום של הזרם…

בקיצור, גישת ה"יהיה בסדר" הישראלית הזו עלתה לי ביוקר: המודול גמגם, לפעמים פעל ולפעמים לא (ולפעמים פעל מוזר), ובזבזתי הרבה זמן עד שהבנתי למה. המעגל לא איפשר מדידה נוחה של מתחים וזרמים, אז פניתי קודם כל ל-Datasheet של ה-PIC הרלוונטי, PIC12LF1572 הקטן (ה-L בשם אומר שזה דגם למתחים נמוכים).

המסמך, חשוב לציין, מתייחס גם לדגם ה-L וגם לדגם הרגיל, ולא תמיד ברור למי מהם הכוונה. בכל מקרה, המסמך האופטימי הזה ציין שהזרם המקסימלי-לגמרי בפיני פלט (ב-Absolute Maximum Ratings, על סף הנזק הבלתי-הפיך) הוא 50 מיליאמפר. א-הה. מידע מדויק וחשוב יותר הופיע בטבלה בהמשך:

מתח "גבוה" בפין פלט, מתוך ה-datasheet
מתח "גבוה" בפין פלט, מתוך ה-datasheet (לחצו להגדלה)

השורה D090 מציגה את המתח הצפוי בפין פלט שמוגדר כ-HIGH, ולא רואים את זה כאן אבל העמודה שבה כתוב "VDD – 0.7" היא הערך המינימלי המובטח, והעמודה הימנית היא התנאים שבהם המינימום הזה אמור להתקיים. כלומר, ב-3.3V, אם אני לוקח זרם של 3 מיליאמפר, ייתכן שהמתח יירד עד כדי 2.6V.

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

המעגל הקטן שבדק את הנושא, עם ה-Joulescope
המעגל הקטן שבדק את הנושא, עם ה-Joulescope(לחצו להגדלה)

המיקרו-בקר קיבל חשמל במתח 3.3V מספק כוח שולחני (לא בתמונה), ופין הפלט שלו היווה את מקור החשמל עבור ה-Joulescope, שמדד את הצריכה של הנגדים (על המטריצה הקטנה). התחלתי משני נגדים במקביל, עם התנגדות כוללת של 170 אוהם, כדי להבטיח שהזרם לא יעלה על כ-20 מיליאמפר, והוספתי להם בטור נגד משתנה בערך של 0-10K אוהם, פלוס מינוס. הנה הפלט מתוכנת ה-Joulescope כשהורדתי את ההתנגדות של הנגד המשתנה מהמקסימום למינימום. הגרף העליון הוא הזרם, התחתון הוא המתח:

גרף מתח וזרם על פני הטווח המלא
גרף מתח וזרם על פני הטווח המלא (לחצו להגדלה)

בלי להיכנס עדיין לפרטים, אלה גרפים מדאיגים מאוד. הזרם מצליח לעלות רק עד כ-10 מיליאמפר במקום 20 (זה לא בגלל רצפת התנגדות של הנגד המשתנה, בדקתי), ומעבר ל-5 מיליאמפר המתח כבר צונח בפראות, עד 1.7V. נתמקד בטווח שה-Datasheet עדיין מכסה:

התמקדות בגרפים, בצריכה של 1 עד 3 מיליאמפר
התמקדות בגרפים, בצריכה של 1 עד 3 מיליאמפר (לחצו להגדלה)

שמתי את הסמנים (הקווים הירוקים) בנקודות שבהן הזרם (המספר העליון בקבוצות המספרים העליונות) היה 1 מיליאמפר ו-3 מיליאמפר. המתח (מספר עליון בקבוצות התחתונות) היה 3.21V ו-2.99V, בהתאמה: סביר בהחלט, והרבה יותר נינוח מאשר המינימום המפחיד ב-Datasheet. הבלגן האמתי מתחיל כאמור אחרי 5mA:

נפילת המתח עם עליית הזרם
נפילת המתח עם עליית הזרם (לחצו להגדלה)

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

אבל אם כבר יש לי מעגל ומכשיר מדידה, למה לא לבדוק מה קורה בארדואינו? לקחתי ארדואינו מקורי, וראשית בדקתי מה אומר ה-Datasheet בנושא:

מתח HIGH מינימלי בפין פלט של ATmega328P, מתוך ה-Datasheet
מתח HIGH מינימלי בפין פלט של ATmega328P, מתוך ה-Datasheet (לחצו להגדלה)

זה יותר גרוע ממה שזכרתי: ב-20 מיליאמפר, המתח יכול לרדת מ-5V של המערכת עד כדי 4.2V, ואם נשים הכול בתוך תנור ב-105 מעלות המצב רק ידרדר.

כיוון שהארדואינו עובד ב-5V, הנגדים במעגל שלי אמורים להגביל את הזרם המקסימלי לכמעט 30mA. ה-Joulescope הראה, קודם כל, שמתח המערכת הכללי – מה שהתקבל מה-USB – היה בסביבות 4.8V בלבד, ובנוסף פין הפלט לא ממש הצליח לעבור את ה-20mA. בזרם כזה, נפילת המתח הייתה קרובה מאוד למינימום המובטח:

גרף זרם ומתח מפין פלט דיגיטלי של ארדואינו Uno
גרף זרם ומתח מפין פלט דיגיטלי של ארדואינו Uno (לחצו להגדלה)

גם זו נפילה די פראית, אך לפחות ה-Datasheet לא ניסה להסתיר אותה ולהתייחס רק לחלק הרגוע יותר של הגרף.

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

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

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

בוא נודה על האמת, אתה מנסה למצוא כל הזדמנות להשתמש בצעצוע החדש (ה-Joulescope)…
🙂