डिवाइस की पावर मेज़र करना

जिन Android डिवाइसों में बैटरी फ़्यूल गेज होता है उनके लिए, डिवाइस की बिजली की खपत का पता लगाया जा सकता है. जैसे, Summit SMB347 या Maxim MAX17050 (यह कई Nexus डिवाइसों पर उपलब्ध है). जब मेज़रमेंट के लिए बाहरी उपकरण उपलब्ध न हों या किसी डिवाइस (जैसे, मोबाइल) से कनेक्ट करना मुश्किल हो, तो सिस्टम में पहले से मौजूद गेज का इस्तेमाल करें.

मेज़रमेंट में, डिवाइस की बैटरी की मौजूदा क्षमता, बची हुई चार्जिंग, जांच शुरू होने और खत्म होने के समय बैटरी की क्षमता वगैरह शामिल हो सकती है. यह डिवाइस की सुविधाओं पर निर्भर करता है. ज़्यादा जानकारी के लिए नीचे देखें. सबसे अच्छे नतीजे पाने के लिए, लंबे समय तक चलने वाले A/B टेस्ट के दौरान डिवाइस की पावर का आकलन करें. यह टेस्ट, एक ही तरह के डिवाइस का इस्तेमाल करते हैं. साथ ही, इनमें एक ही तरह का फ़्यूल गेज और एक ही तरह का करंट सेंस रेज़िस्टर होता है. यह पक्का करें कि हर डिवाइस के लिए बैटरी चार्ज की शुरुआती वैल्यू एक ही हो, ताकि बैटरी डिस्चार्ज कर्व के अलग-अलग पॉइंट पर फ़्यूल गेज के अलग-अलग व्यवहार से बचा जा सके.

एक जैसे टेस्ट एनवायरमेंट होने पर भी, इस बात की कोई गारंटी नहीं है कि मेज़रमेंट पूरी तरह सटीक होंगे. हालांकि, फ़्यूल गेज और सेंस रेज़िस्टर से जुड़ी ज़्यादातर गड़बड़ियां, टेस्ट रन के बीच एक जैसी होती हैं. इससे, एक जैसे डिवाइसों की तुलना करना फ़ायदेमंद होता है. हमारा सुझाव है कि अलग-अलग कॉन्फ़िगरेशन में कई टेस्ट चलाएं, ताकि कॉन्फ़िगरेशन के बीच के अहम अंतर और बिजली की खपत का पता लगाया जा सके.

ऊर्जा की खपत का डेटा पढ़ने की अनुमति दें

बिजली की खपत का डेटा देखने के लिए, अपने टेस्टिंग कोड में एपीआई के कॉल डालें.

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 power_supply सबसिस्टम एट्रिब्यूट से पढ़ी जाती हैं. हालांकि, किसी डिवाइस के लिए उपलब्ध सटीक प्रॉपर्टी, प्रॉपर्टी वैल्यू का रिज़ॉल्यूशन, और अपडेट की फ़्रीक्वेंसी इन बातों पर निर्भर करती है:

  • फ़्यूल गेज हार्डवेयर, जैसे कि Summit SMB347 या Maxim MAX17050.
  • फ़्यूल गेज-टू-सिस्टम कनेक्शन, जैसे कि बाहरी करंट सेंस रेज़िस्टर की वैल्यू.
  • फ़्यूल गेज चिप का सॉफ़्टवेयर कॉन्फ़िगरेशन. जैसे, कर्नेल ड्राइवर में, औसत करंट कैलकुलेशन के इंटरवल के लिए चुनी गई वैल्यू.

ज़्यादा जानकारी के लिए, Nexus डिवाइसों के लिए उपलब्ध प्रॉपर्टी देखें.

मैक्सिम फ़्यूल गेज

लंबे समय तक बैटरी की चार्जिंग स्टेटस का पता लगाने के लिए, Maxim फ़्यूल गेज (MAX17050, BC15) में, कूलम्ब-काउंटर ऑफ़सेट मेज़रमेंट को ठीक किया जाता है. कम समय के लिए किए गए मेज़रमेंट (जैसे, बिजली की खपत मेज़र करने वाले टेस्ट) के लिए, फ़्यूल गेज में बदलाव नहीं किए जाते. इससे, मौजूदा मेज़रमेंट बहुत कम होने पर, गड़बड़ी का मुख्य सोर्स ऑफ़सेट बन जाता है. हालांकि, ऑफ़सेट की गड़बड़ी को पूरी तरह से खत्म करने के लिए, ज़रूरत के मुताबिक समय लग सकता है.

आम तौर पर, 10 mOhm सेंस रेज़िस्टर डिज़ाइन के लिए, ऑफ़सेट करंट 1.5 mA से बेहतर होना चाहिए. इसका मतलब है कि किसी भी मेज़रमेंट में +/-1.5 mA का अंतर हो सकता है. पीसीबोर्ड लेआउट से भी इस अंतर पर असर पड़ सकता है. उदाहरण के लिए, ज़्यादा करंट (200 mA) को मेज़र करते समय, आपको ये चीज़ें दिख सकती हैं:

  • 2 mA (फ़्यूल गेज गेन की गड़बड़ी की वजह से, 200 mA का 1% गेन गड़बड़ी)
  • +2 mA (सेंस रेज़िस्टर की गड़बड़ी की वजह से, 200 mA का 1% गेन गड़बड़ी)
  • +1.5 mA (फ़्यूल गेज से मिली करंट सेंस ऑफ़सेट गड़बड़ी)

कुल गड़बड़ी 5.5 mA (2.75%) है. इसकी तुलना, मध्यम करंट (50 एमए) से करें, जहां एक ही गड़बड़ी के प्रतिशत से कुल गड़बड़ी 7% होती है या कम करंट (15 एमए) से करें, जहां +/-1.5 एमए से कुल गड़बड़ी 10% होती है.

सबसे अच्छे नतीजे पाने के लिए, हमारा सुझाव है कि 20 mA से ज़्यादा मापें. गेन मेज़रमेंट की गड़बड़ियां व्यवस्थित और बार-बार होने वाली होती हैं. इनकी मदद से, किसी डिवाइस को कई मोड में टेस्ट किया जा सकता है और साफ़ रिलेटिव मेज़रमेंट (1.5 mA ऑफ़सेट के अपवादों के साथ) मिल सकते हैं.

+/-100 uA के रिलेटिव मेज़रमेंट के लिए, मेज़रमेंट में लगने वाला समय इन बातों पर निर्भर करता है:

  • एडीसी सैंपलिंग नॉइज़. फ़ैक्ट्री के सामान्य कॉन्फ़िगरेशन में, MAX17050 में गड़बड़ी की वजह से, सैंपल के बीच +/-1.5 mA का अंतर होता है. हर सैंपल 175.8 ms में डिलीवर होता है. एक मिनट की जांच विंडो के लिए, +/-100 uA और छह मिनट की जांच विंडो के लिए, 100 uA से कम का क्लीन 3-सिग्मा नॉइज़ (या 33 uA पर 1-सिग्मा नॉइज़) होने की उम्मीद की जा सकती है.
  • लोड में बदलाव की वजह से सैंपल का गलत नाम. वैरिएशन की वजह से गड़बड़ियां ज़्यादा दिखती हैं. इसलिए, जिन सैंपल में लोड होने के दौरान वैरिएशन होता है उनके लिए, टेस्ट विंडो को ज़्यादा समय के लिए सेट करें.

जिन 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 ms.
CURRENT_AVERAGE रिज़ॉल्यूशन 156.25 uA, अपडेट पीरियड को कॉन्फ़िगर किया जा सकता है 0.7s - 6.4 h, डिफ़ॉल्ट 11.25 सेकंड.
CHARGE_COUNTER (कुल करंट, नॉन-एक्सटेंडेड प्रिसिज़न) रिज़ॉल्यूशन 500 uAh (रॉ कoulomb काउंटर रीड, कoulomb काउंटर ऑफ़सेट के लिए फ़्यूल गेज से अडजस्ट नहीं किया गया, साथ ही, ModelGauge m3 एल्गोरिदम से मिले इनपुट, जिसमें खाली होने की भरपाई भी शामिल है).
CHARGE_COUNTER_EXT (कर्नल में बेहतर सटीक जानकारी) रिज़ॉल्यूशन 8 nAh.
ENERGY_COUNTER, 3.7 V के नाममात्र वोल्टेज पर CHARGE_COUNTER_EXT है.
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 ms.
CURRENT_AVERAGE रिज़ॉल्यूशन 156.25 uA, अपडेट पीरियड को कॉन्फ़िगर किया जा सकता है 0.7 सेकंड - 6.4 घंटे, डिफ़ॉल्ट 11.25 सेकंड.
CHARGE_COUNTER (कुल करंट, नॉन-एक्सटेंडेड प्रिसीज़न) रिज़ॉल्यूशन 500 uAh है.
CHARGE_COUNTER_EXT (कर्नल में बेहतर सटीक जानकारी) रिज़ॉल्यूशन 8 nAh.
ENERGY_COUNTER, 3.7 V के नाममात्र वोल्टेज पर CHARGE_COUNTER_EXT है.
कुल करंट अपडेट की अवधि 175.8 एमएस है.
एडीसी को 175nbsp;एमएस क्वांटिज़ेशन पर सैंपल किया गया, जिसमें सैंपल की अवधि 4 एमएस थी. ड्यूटी साइकल में बदलाव किया जा सकता है.
Nexus 10
मॉडल Nexus 10
फ़्यूल गेज Dallas Semiconductor 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, 3.7 V के नाममात्र वोल्टेज पर CHARGE_COUNTER_EXT है.
सभी के लिए अपडेट करने की अवधि 3.5 सेकंड है.