כמה זרם הארדואינו יכול לתת?

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

ארדואינו ומנוע Stepper. ממש לא.
ארדואינו ומנוע Stepper. ממש לא.

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

זרם יוצא וזרם נכנס

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

מדרג מקורות החשמל

הארדואינו מקבל את החשמל שלו ממקור חיצוני כלשהו – חיבור USB, סוללה או ספק כוח – והמקור הזה מהווה כמובן את הגבול העליון המוחלט מבחינת המתחים והזרמים שהארדואינו יכול להוציא. לדוגמה, חיבור USB 2.0 סטנדרטי אמור לתת עד 500 מיליאמפר (mA), אם כי הערך בפועל עשוי להיות נמוך יותר, ובמיוחד אם מתחברים דרך מפצל USB שמשרת באותו זמן התקנים נוספים. גם סוללת 9V סטנדרטית (לא נטענת) תוכל לתת, לכל היותר, כ-500mA.

על גבי לוח הארדואינו ישנם מייצבי מתח – רכיבים שמטרתם להמיר מתח חיצוני גבוה ל-5V (אם לא משתמשים בחיבור ה-USB לאספקת חשמל), ול-3.3V. רכיבים אלה קובעים רף מקסימלי משלהם לזרמים בפין 5V ובפין 3V3, כפי שנראה בהמשך.

הפינים הממוספרים של הארדואינו (0-13 ו-A0-5) מתחברים ישירות למיקרו-בקר מדגם ATmega328P, שניזון מה-USB או ממייצב המתח 5V, והמיקרו-בקר מציב מגבלות נוספות משלו.

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

פין GND

הפינים שמסומנים GND על הארדואינו מחוברים ישירות לאדמה של מקור החשמל החיצוני, מה שאומר שהם מסוגלים לעמוד בזרם נכנס גבוה מאד (יחסית). למעשה, המגבלה היחידה שהם מציבים היא המגבלה הפיזית של מוליכי הנחושת (Traces) על הלוח ושל מגעי הפינים. מגבלה זו תלויה בכמה פרמטרים, כגון עובי ורוחב ה-traces והעליה המקסימלית שאנחנו מוכנים "לספוג" בטמפרטורה שלהם. בהערכה שמרנית, מדובר על כ-1.5 אמפר (A).

פין Vin

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

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

חשוב מאד: כאשר הארדואינו מקבל את החשמל שלו מחיבור ה-USB בלבד, הפלט ב-Vin לא מוגדר, לא אמין ואסור להשתמש בו!

פין 5V

כאשר הארדואינו מקבל חשמל דרך כבל ה-USB, פין 5V זהה לאספקת החשמל של חיבור ה-USB שהוזכרה קודם – כלומר, עד 500mA פחות הצריכה של לוח הארדואינו עצמו.

כאשר מקור החשמל הוא סוללה או ספק כוח, מתח ה-5V שדרוש לארדואינו מגיע מרכיב מייצב מתח שמותקן על הלוח. רכיב זה נקרא NCP1117ST50T3G, והוא מסוגל להוציא עד אמפר אחד (שוב, פחות הצריכה של הארדואינו). אבל כמובן, 1 אמפר הוא הגבול העליון, וייתכן שהוא יירד מאד בהתאם למגבלות של מקור החשמל.

פין 3V3

מייצב המתח המובנה בארדואינו Uno R3 לאספקת מתח של 3.3V נקרא LP2985-33DBVR, והוא מסוגל לספק עד 150mA (כרגיל, כתלות גם ביכולות של מקור החשמל).

הפינים הממוספרים (0 עד 13, ו-A0 עד A5)

בניגוד לקודמים, כל הפינים הממסופרים שייכים למיקרו-בקר, וכאן העניינים מתחילים להסתבך. ב-datasheet של ATMega328P כתוב אמנם שפיני קלט/פלט מסוגלים לעמוד בזרמים של עד 40mA, אבל זה המקסימום המוחלט (מאד לא מומלץ לשימוש רצוף!), והוא תלוי גם בזרמים שעוברים דרך פינים אחרים. כלומר, גם אם פין אחד יצליח לעמוד ב-40mA, זה לא אומר שאפשר להזרים 400mA בו-זמנית דרך עשרה פינים – המיקרו-בקר פשוט יישרף.

ההמלצה לגבי פין בודד לאורך זמן היא לא לעבור את רף ה-20mA (זרם נכנס או זרם יוצא). אם רוצים להפעיל מספר פינים בו-זמנית, צריך לקחת בחשבון את המגבלות הקבוצתיות שלהם. מגבלות אלה מופיעות בעמוד 314 ב-datasheet, כהערות לטבלה. הנה המגבלות, כשהן מתורגמות למונחים של ארדואינו Uno:

1) כשמדובר בזרם יוצא (Source), הפינים הממוספרים מתחלקים לשתי קבוצות. בכל קבוצה בנפרד, סכום הזרמים היוצאים מפינים ששייכים לקבוצה זו חייב להיות 150mA ומטה.

  • זרם יוצא קבוצה 1: פינים A0-A5 ופינים 0-4
  • זרם יוצא קבוצה 2: פינים 5-13

2) כשמדובר בזרם נכנס (Sink), הפינים הממוספרים מתחלקים לשלוש קבוצות. בכל קבוצה בנפרד, סכום הזרמים הנכנסים לפינים ששייכים לקבוצה זו חייב להיות 100mA ומטה.

  • זרם נכנס קבוצה 1: פינים A0-A5
  • זרם נכנס קבוצה 2: פינים 5-13
  • זרם נכנס קבוצה 3: פינים 0-4

מעבר למגבלות הקבוצתיות, יש מגבלה גלובלית על הזרמים דרך פיני הפלוס והאדמה של המיקרו-בקר – 200mA כל אחד (וגם זה גבול עליון קיצוני). לדוגמה, אם נכניס זרמים של 70mA בלבד דרך כל אחת משלוש קבוצות הזרם הנכנס (הסף העליון של כל קבוצה הוא כאמור 100mA), הסכום הכולל יהיה 210mA וזה יותר מדי בשביל המיקרו-בקר.

מספיק בשביל מנועים?

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

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

סיכום

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

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

אך ניתן למדוד את הזרם שהארדואינו מספק

האם מסוכן להשתמש ב 8 סוללות 1.2V בהספק של 2000 מיליאמפר?

אהלן עידו !

עידועד כמה שידוע לי הזרם שיוצא מהפינים של הארדואינו זה עד 40mA
איך אתה אומר שיוצא 500mA ?