אפשר לקבוע את צריכת החשמל של המכשיר במכשירי Android שכוללים מד דלק בסוללה כמו SMB347 או Maxim MAX17050 (זמין במכשירי Nexus רבים). שימוש בהטמעה שבמערכת למדוד מתי ציוד מדידה חיצוני לא זמין או שלא נוח להתחבר למכשיר (למשל בזמן שימוש בנייד).
המדידות יכולות לכלול זרם מיידי, טעינה שנותרה וקיבולת הסוללה בתחילת הבדיקה ועוד, בהתאם למאפיינים הנתמכים של המכשיר (ראו בהמשך). לטוב ביותר תוצאות, ביצוע מדידות של מתח המכשיר במהלך בדיקות A/B ממושכות שמשתמשות באותו מכשיר עם אותו מד דלק ואותו נגד חושך נוכחי. צריך לוודא שרמת הטעינה של הסוללה מתחילה זהה עבור כל מכשיר, כדי להימנע מהתנהגות שונה של מד הדלק בנקודות שונות עקומת פריקת הסוללה.
גם בסביבות בדיקה זהות, לא מובטח שהמדידות יהיו עם ערך מוחלט גבוה מדויקות. עם זאת, רוב אי הדיוקים הספציפיים למד הדלק ולנגדי החישה הם עקביים בין הרצת בדיקות, כך שהשוואות בין מכשירים זהים יהיו שימושיות. מומלץ להפעיל בדיקות מרובות בתצורות שונות כדי לזהות הבדלים משמעותיים וכוח יחסי צריכה בין תצורות.
קריאה של צריכת החשמל
כדי לקרוא את נתוני צריכת החשמל, צריך להוסיף קריאות ל-API בקוד הבדיקה.
import android.os.BatteryManager; import android.content.Context; BatteryManager mBatteryManager = (BatteryManager)Context.getSystemService(Context.BATTERY_SERVICE); Long energy = mBatteryManager.getLongProperty(BatteryManager.BATTERY_PROPERTY_ENERGY_COUNTER); Slog.i(TAG, "Remaining energy = " + energy + "nWh");
מאפיינים זמינים
מערכת Android תומכת במאפיינים הבאים של מד עוצמת הסוללה:
BATTERY_PROPERTY_CHARGE_COUNTER Remaining battery capacity in microampere-hours BATTERY_PROPERTY_CURRENT_NOW Instantaneous battery current in microamperes BATTERY_PROPERTY_CURRENT_AVERAGE Average battery current in microamperes BATTERY_PROPERTY_CAPACITY Remaining battery capacity as an integer percentage BATTERY_PROPERTY_ENERGY_COUNTER Remaining energy in nanowatt-hours
רוב המאפיינים נקראים ממאפייני מערכת משנה של הספק כוח (kernel) של ליבה (kernel) שיש להם שמות דומים. עם זאת, המאפיינים המדויקים, הרזולוציה של ערכי הנכסים ותדירות העדכון הזמינות למכשיר ספציפי תלויה בגורמים הבאים:
- חומרה של מד דלק, כמו SMB347 או Maxim MAX17050.
- חיבור בין מד הדלק למערכת, למשל הערך של נגדי חישה חיצוניים בעלי זרם.
- הגדרת התוכנה של הצ'יפ של מד הדלק, כמו הערכים שנבחרו לחישוב הממוצע הנוכחי מרווחים במנהל הליבה.
לפרטים נוספים, ראו את המאפיינים הזמינים למכשירי Nexus.
מד דלק מקסימלי
כשקובעים את מצב הטעינה של הסוללה לאורך זמן רב, מד הדלק של Maxim (MAX17050, BC15) מתקן למדידות היסט של קולון. עבור מדידות שבוצעו במשך לפרק זמן קצר (למשל בדיקות של מדידת צריכת החשמל), מד הדלק לא מספק תיקונים, הקיזוז מקור השגיאה העיקרי כשהמדידות הנוכחיות קטנות מדי (למרות ששום משך זמן לא יכול לבטל לחלוטין את שגיאת ההיסט).
בתכנון טיפוסי של נגדי חיישן בגודל 10 mOhm, זרם ההיסט צריך להיות טוב יותר 1.5 mA, כלומר כל מדידה היא +/-1.5 mA (גם פריסת PCBoard יכולה להשפיע על כך ). לדוגמה, כשמודדים זרם גדול (200 mA), אפשר לצפות הבאים:
- 2 מיליאמפר לשעה (שגיאת רווח של 1% של 200 מיליאמפר לשעה בגלל שגיאה בעוצמת הדלק)
- +2 mA (שגיאת רווח של 1% של 200 mA עקב שגיאה בנגד)
- +1.5 mA (שגיאת קיזוז של החושך הנוכחי ממד הדלק)
השגיאה הכוללת היא 5.5 מיליאמפר לשעה (2.75%). ניתן להשוות זאת לזרם בינוני (50 מיליאמפר לשעה) שבו אחוזי שגיאה זהים נותנים שגיאה כוללת של 7% או לזרם קטן (15 mA) שבו +/-1.5 mA מציין שגיאה כוללת של 10%.
לקבלת התוצאות הטובות ביותר, מומלץ למדוד יותר מ-20 מיליאמפר לשעה. השגיאות במדידת הצבירה הן שיטתיות שאפשר לחזור עליה כדי לבדוק מכשיר בכמה מצבים ולקבל נתונים יחסיים מדידות (למעט חריגים בהיסט של 1.5 מיליאמפר לשעה).
במדידות יחסיות של +/-100 uA, זמן המדידה הנדרש תלוי במקומות הבאים:
- רעשי דגימה של ADC ה-MAX17050 עם הגדרות היצרן הרגילות שלו מפיקה שינוי של +/-1.5 mA בין דגימה לדגימה עקב רעש, וכל דגימה נמסרה ב-175.8 אלפיות שנייה. בחלון בדיקה של דקה, צפוי לקבל פחות +/-100 uA, ופחות רעשי רקע נקיים של 3 סיגמא מ- 100 uA (או רעש של 1-sigma ב- 33 uA) למשך חלון בדיקה של 6 דקות.
- שימוש חלופי לדוגמה בגלל וריאציה של העומס. וריאציה מוגזמת עם שגיאות, לכן עבור דוגמאות עם הבדלים שטבועים בטעינה, כדאי לשקול להשתמש בחלון בדיקה ארוך יותר.
מכשירי Nexus נתמכים
Nexus 5
דגם | Nexus 5 |
---|---|
מד דלק | מד דלק Maxim MAX17048 (ModelGauge, ללא מונה) |
מאפיינים | BATTERY_PROPERTY_CAPACITY |
מדידות | מד הדלק לא תומך במדידות אחרות מלבד מצב הטעינה של הסוללה רזולוציה של %/256 (1/256 אחוזים מקיבולת הסוללה המלאה). |
Nexus 6
דגם | Nexus 6 |
---|---|
מד דלק | מד דלק Maxim MAX17050 (מונה קולון עם התאמות של Maxim ModelGauge), וגם נגד חיישן זרם של 10 mohm |
מאפיינים | BATTERY_PROPERTY_CAPACITY BATTERY_PROPERTY_CURRENT_NOW BATTERY_PROPERTY_CURRENT_AVERAGE BATTERY_PROPERTY_CHARGE_COUNTER BATTERY_PROPERTY_ENERGY_COUNTER |
מדידות | רזולוציה של CURRENT_NOW 156.25 UA, תקופת העדכון היא 175.8 אלפיות השנייה.רזולוציה של CURRENT_AVERAGE 156.25 UA, ניתן להגדיר את תקופת העדכון
0.7 שניות – 6.4 שע', ברירת המחדל היא 11.25 שניות.הרזולוציה של CHARGE_COUNTER (נוכחית מצטברת, רמת דיוק ללא המשך) היא
500 uAh (קריאת מונה גולמית של קולון, ללא התאמה לפי מד הדלק עבור קיזוז מונה קולון,
בתוספת קלט מאלגוריתם של ModelGauge m3, כולל פיצוי ריק).CHARGE_COUNTER_EXT (דיוק מורחב בליבה) רזולוציה של 8 nAh.הערך ENERGY_COUNTER הוא CHARGE_COUNTER_EXT במתח נומינלי של 3.7 וולט. |
Nexus 9
דגם | Nexus 9 |
---|---|
מד דלק | מד דלק Maxim MAX17050 (מונה קולון עם התאמות של Maxim ModelGauge), וגם נגד חיישן זרם של 10 mohm |
מאפיינים | BATTERY_PROPERTY_CAPACITY BATTERY_PROPERTY_CURRENT_NOW BATTERY_PROPERTY_CURRENT_AVERAGE BATTERY_PROPERTY_CHARGE_COUNTER BATTERY_PROPERTY_ENERGY_COUNTER |
מדידות | רזולוציה של CURRENT_NOW 156.25 UA, תקופת העדכון היא 175.8 אלפיות השנייה.רזולוציה של CURRENT_AVERAGE 156.25 UA, ניתן להגדיר את תקופת העדכון
0.7 שניות עד 6.4 שע', ברירת המחדל היא 11.25 שניות.הרזולוציה של CHARGE_COUNTER (דיוק מצטבר, לא מורחב) היא
500 uAh.CHARGE_COUNTER_EXT (דיוק מורחב בליבה) רזולוציה של 8 nAh.הערך ENERGY_COUNTER הוא CHARGE_COUNTER_EXT במתח נומינלי של 3.7 וולט.תקופת עדכון נוכחית מצטברת של 175.8 אלפיות השנייה. ביצוע דגימות של ADC בדגימה של 175nbsp; אלפיות שנייה עם תקופת דגימה של 4 אלפיות השנייה. אפשרות לשנות את מחזור השירות. |
Nexus 10
דגם | Nexus 10 |
---|---|
מד דלק | מד דלק DS2784 של דאלאס מוליך למחצה (מונה קולון), עם חיישן זרם של 10 mohm נגד. |
מאפיינים | BATTERY_PROPERTY_CAPACITY BATTERY_PROPERTY_CURRENT_NOW BATTERY_PROPERTY_CURRENT_AVERAGE BATTERY_PROPERTY_CHARGE_COUNTER BATTERY_PROPERTY_ENERGY_COUNTER |
מדידות | הרזולוציה הנוכחית (מיידית וממוצעת) היא 156.3 uA.CURRENT_NOW משך העדכון המיידי הנוכחי הוא 3.5 שניות.תקופת העדכון של CURRENT_AVERAGE היא 28 שניות (לא ניתנת להגדרה).הרזולוציה של CHARGE_COUNTER (נוכחית מצטברת, רמת דיוק ללא המשך) היא
625 uAh.הרזולוציה של CHARGE_COUNTER_EXT (דיוק מורחב בליבה) היא 144 nAh.הערך ENERGY_COUNTER הוא CHARGE_COUNTER_EXT במתח נומינלי של 3.7 וולט.תקופת העדכון של הכול היא 3.5 שניות. |