คุณสามารถระบุปริมาณการใช้พลังงานของอุปกรณ์สำหรับอุปกรณ์ Android ที่มีมาตรวัดระดับแบตเตอรี่ เช่น Summit 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
ระบบจะอ่านพร็อพเพอร์ตี้ส่วนใหญ่จากแอตทริบิวต์ระบบย่อย power_supply ของเคอร์เนลที่มีชื่อคล้ายกัน อย่างไรก็ตาม พร็อพเพอร์ตี้ที่แน่นอน การแก้ไขค่าพร็อพเพอร์ตี้ และความถี่ในการอัปเดตที่พร้อมใช้งานสำหรับอุปกรณ์หนึ่งๆ จะขึ้นอยู่กับปัจจัยต่อไปนี้
- ฮาร์ดแวร์มาตรวัดน้ำมัน เช่น Summit SMB347 หรือ Maxim MAX17050
- การเชื่อมต่อมาตรวัดน้ำมันกับระบบ เช่น ค่าตัวต้านทานการวัดกระแสภายนอก
- การกําหนดค่าซอฟต์แวร์ชิปมาตรวัดระดับน้ำมัน เช่น ค่าที่เลือกสําหรับช่วงเวลาการคํานวณกระแสไฟฟ้าเฉลี่ยในไดรเวอร์เคอร์เนล
โปรดดูรายละเอียดที่พร็อพเพอร์ตี้ที่ใช้ได้กับอุปกรณ์ Nexus
มาตรวัดน้ำมัน Maxim
เมื่อระบุสถานะการชาร์จของแบตเตอรี่เป็นระยะเวลานาน มาตรวัดระดับน้ำมันของ Maxim (MAX17050, BC15) จะแก้ไขการวัดค่าการชดเชยตัวนับคูลอมบ์ สำหรับการวัดค่าในระยะเวลาสั้นๆ (เช่น การทดสอบการวัดการบริโภคพลังงาน) มาตรวัดน้ำมันจะไม่ทำการแก้ไข ทำให้ค่าออฟเซ็ตเป็นแหล่งที่มาหลักของความผิดพลาดเมื่อการวัดค่าปัจจุบันมีขนาดเล็กเกินไป (แม้ว่าเวลาจะนานเท่าใดก็ไม่สามารถขจัดข้อผิดพลาดจากค่าออฟเซ็ตได้ทั้งหมด)
สำหรับการออกแบบตัวต้านทานการวัดค่า 10 mOhm ทั่วไป กระแสออฟเซ็ตควรดีกว่า 1.5 mA ซึ่งหมายความว่าการวัดค่าใดๆ จะอยู่ที่ +/-1.5 mA (เลย์เอาต์ของแผงวงจร PC อาจส่งผลต่อความผันผวนนี้ด้วย) ตัวอย่างเช่น เมื่อวัดกระแสไฟฟ้าขนาดใหญ่ (200 mA) คุณจะเห็นข้อมูลต่อไปนี้
- 2 mA (ข้อผิดพลาดในการขยายสัญญาณ 1% จาก 200 mA เนื่องจากข้อผิดพลาดในการขยายสัญญาณของมาตรวัดน้ำมันเชื้อเพลิง)
- +2 mA (ข้อผิดพลาดในการขยายสัญญาณ 1% จาก 200 mA เนื่องจากข้อผิดพลาดของตัวต้านทานเซนเซอร์)
- +1.5 mA (ข้อผิดพลาดในการวัดค่าปัจจุบันจากมาตรวัดน้ำมัน)
ข้อผิดพลาดทั้งหมดคือ 5.5 mA (2.75%) เปรียบเทียบกับกระแสปานกลาง (50 mA) ที่เปอร์เซ็นต์ข้อผิดพลาดเดียวกันให้ข้อผิดพลาดทั้งหมด 7% หรือกระแสต่ำ (15 mA) ที่ค่า +/-1.5 mA ให้ข้อผิดพลาดทั้งหมด 10%
เราขอแนะนำให้วัดค่ามากกว่า 20 mA เพื่อให้ได้ผลลัพธ์ที่ดีที่สุด ข้อผิดพลาดในการวัดอัตราขยายสัญญาณเป็นระบบและวัดซ้ำได้ ซึ่งช่วยให้คุณทดสอบอุปกรณ์ในหลายโหมดและรับการวัดค่าสัมพัทธ์ที่ชัดเจน (ยกเว้นค่าออฟเซ็ต 1.5 mA)
สําหรับการวัดค่าสัมพัทธ์ +/-100 uA ระยะเวลาการวัดที่จําเป็นจะขึ้นอยู่กับปัจจัยต่อไปนี้
- สัญญาณรบกวนในการสุ่มตัวอย่าง ADC MAX17050 ที่มีการกำหนดค่าปกติจากโรงงานจะสร้างการแปรผัน +/-1.5 mA จากตัวอย่างหนึ่งๆ เนื่องจากสัญญาณรบกวน โดยแต่ละตัวอย่างจะแสดงที่ 175.8 ms คุณอาจเห็นค่าประมาณ +/-100 uA สำหรับกรอบเวลาการทดสอบ 1 นาที และสัญญาณรบกวน 3-sigma ที่สะอาดน้อยกว่า 100 uA (หรือสัญญาณรบกวน 1-sigma ที่ 33 uA) สำหรับกรอบเวลาการทดสอบ 6 นาที
- การเปลี่ยนชื่อตัวอย่างเนื่องจากความผันผวนของการโหลด ความแปรปรวนจะทําให้ข้อผิดพลาดดูรุนแรงขึ้น ดังนั้นสําหรับตัวอย่างที่มีความแปรปรวนตามปกติในการโหลด ให้พิจารณาใช้กรอบเวลาการทดสอบที่นานขึ้น
อุปกรณ์ Nexus ที่รองรับ
Nexus 5
รุ่น | Nexus 5 |
---|---|
มาตรวัดน้ำมันเชื้อเพลิง | มาคซิม MAX17048 เครื่องวัดปริมาณเชื้อเพลิง (ModelGauge, ไม่มีตัวนับคูลอมบ์) |
คุณสมบัติ | BATTERY_PROPERTY_CAPACITY |
การวัด | มาตรวัดระดับน้ำมันไม่รองรับการวัดผลอื่นๆ นอกเหนือจากสถานะการชาร์จของแบตเตอรี่ที่มีความละเอียดเป็น %/256 (1/256 ของเปอร์เซ็นต์ความจุแบตเตอรี่เต็ม) |
Nexus 6
รุ่น | Nexus 6 |
---|---|
มาตรวัดน้ำมันเชื้อเพลิง | มาตรวัดปริมาณเชื้อเพลิง MAX17050 ของ Maxim (ตัวนับคูลอมบ์ที่มีการปรับ 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 msCURRENT_AVERAGE ความละเอียด 156.25 uA, ระยะเวลาการอัปเดตที่กำหนดได้
0.7 วินาที - 6.4 ชั่วโมง โดยค่าเริ่มต้นคือ 11.25 วินาทีCHARGE_COUNTER (กระแสสะสม ความแม่นยำแบบไม่ขยาย) ความละเอียดคือ
500 uAh (การอ่านตัวนับคูลอมบ์ดิบ ซึ่งไม่ได้ปรับโดยมาตรวัดระดับน้ำมันสำหรับค่าออฟเซ็ตของตัวนับคูลอมบ์ รวมถึงอินพุตจากอัลกอริทึม ModelGauge m3 ซึ่งรวมค่าชดเชยระดับน้ำมันว่าง)CHARGE_COUNTER_EXT (ความแม่นยำแบบขยายในเคอร์เนล) ความละเอียด 8 nAhENERGY_COUNTER คือ CHARGE_COUNTER_EXT ที่แรงดันไฟฟ้า 3.7 V |
Nexus 9
รุ่น | Nexus 9 |
---|---|
มาตรวัดน้ำมันเชื้อเพลิง | มาตรวัดปริมาณเชื้อเพลิง MAX17050 ของ Maxim (ตัวนับคูลอมบ์ที่มีการปรับ 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 msCURRENT_AVERAGE ความละเอียด 156.25 uA, ระยะเวลาการอัปเดตที่กำหนดค่าได้
0.7 วินาที - 6.4 ชม. โดยค่าเริ่มต้นคือ 11.25 วินาทีCHARGE_COUNTER (กระแสสะสม ความแม่นยำแบบไม่ขยาย) ความละเอียดคือ
500 uAhCHARGE_COUNTER_EXT (ความแม่นยำแบบขยายในเคอร์เนล) ความละเอียด 8 nAhENERGY_COUNTER คือ CHARGE_COUNTER_EXT ที่แรงดันไฟฟ้า 3.7 Vระยะเวลาการอัปเดตกระแสสะสม 175.8 ms ADC ทำการสุ่มตัวอย่างที่การแปลงค่า 175 ms โดยมีระยะเวลาการจับ 4 ms ปรับรอบการทำงานได้ |
Nexus 10
รุ่น | Nexus 10 |
---|---|
มาตรวัดน้ำมันเชื้อเพลิง | เครื่องวัดปริมาณเชื้อเพลิง DS2784 ของ Dallas Semiconductor (ตัวนับคูลอมบ์) พร้อมตัวต้านทานการรับรู้กระแส 10 mohm |
คุณสมบัติ | BATTERY_PROPERTY_CAPACITY BATTERY_PROPERTY_CURRENT_NOW BATTERY_PROPERTY_CURRENT_AVERAGE BATTERY_PROPERTY_CHARGE_COUNTER BATTERY_PROPERTY_ENERGY_COUNTER |
การวัด | ความละเอียดของการวัดค่าปัจจุบัน (ทันทีและค่าเฉลี่ย) คือ 156.3 uACURRENT_NOW ระยะเวลาการอัปเดตปัจจุบันแบบทันทีคือ 3.5 วินาทีระยะเวลาการอัปเดต CURRENT_AVERAGE คือ 28 วินาที (ไม่สามารถกำหนดค่าได้)ความละเอียดของ CHARGE_COUNTER (กระแสสะสม ความแม่นยำแบบไม่ขยาย) คือ 625 uAhCHARGE_COUNTER_EXT (ความแม่นยำแบบขยายในเคอร์เนล) ความละเอียดคือ 144 nAhENERGY_COUNTER คือ CHARGE_COUNTER_EXT ที่แรงดันไฟฟ้า 3.7 Vระยะเวลาการอัปเดตทั้งหมดคือ 3.5 วินาที |