วัดพลังงานของอุปกรณ์

คุณสามารถกำหนดการใช้พลังงานของอุปกรณ์สำหรับอุปกรณ์ 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

พร็อพเพอร์ตี้ส่วนใหญ่จะอ่านจากแอตทริบิวต์ระบบย่อยของ kernel power_supply ที่มีชื่อคล้ายกัน อย่างไรก็ตาม คุณสมบัติที่แน่นอน การแปลงค่าพร็อพเพอร์ตี้ และความถี่ในการอัปเดต พร้อมใช้งานสำหรับอุปกรณ์บางเครื่องจะขึ้นอยู่กับ

  • ฮาร์ดแวร์วัดน้ำมันเชื้อเพลิง เช่น Summit SMB347 หรือ Maxim MAX17050
  • การเชื่อมต่อระหว่างเกจ์เชื้อเพลิงเข้ากับระบบ เช่น ค่าตัวต้านทานกระแสไฟฟ้าภายนอก
  • การกำหนดค่าซอฟต์แวร์ชิปเกจ์เชื้อเพลิง เช่น ค่าที่เลือกสำหรับการคำนวณปัจจุบันโดยเฉลี่ย ในไดรเวอร์เคอร์เนล

โปรดดูรายละเอียดที่คุณสมบัติที่พร้อมใช้งานสำหรับอุปกรณ์ Nexus

มาตรวัดเชื้อเพลิงสูงสุด

เมื่อประเมินสถานะประจุของแบตเตอรี่เป็นระยะเวลาหนึ่ง มาตรวัดเชื้อเพลิงของ Maxim (MAX17050, BC15) แก้ไขการวัดออฟเซ็ตแบบ Coulomb-counter สำหรับการวัดที่ดำเนินการผ่าน ระยะเวลาสั้นๆ (เช่น การทดสอบการวัดการใช้พลังงาน) มาตรวัดน้ำมันเชื้อเพลิงจะไม่ส่ง ทำให้ออฟเซ็ตเป็นแหล่งที่มาหลักของข้อผิดพลาดเมื่อค่าปัจจุบันที่วัดได้น้อยเกินไป (แม้ว่าไม่มีเวลาใดจะสามารถขจัดข้อผิดพลาดออฟเซ็ตออกไปได้ทั้งหมด)

สำหรับการออกแบบตัวต้านทานกระแสไฟฟ้า 10 mOhm โดยทั่วไป ค่าออฟเซ็ตปัจจุบันจะดีกว่า 1.5 mA หมายความว่าการวัดใดๆ คือ +/-1.5 mA (การจัดวาง PCBoard อาจส่งผลต่อ รูปแบบ) ตัวอย่างเช่น เมื่อวัดกระแสไฟขนาดใหญ่ (200 mA) ก็จะเห็นว่า ดังต่อไปนี้:

  • 2 mA (ข้อผิดพลาด 200 mA ที่อัตราขยายได้ 1% เนื่องจากข้อผิดพลาดอัตราขยายตัวของเชื้อเพลิง)
  • +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 มิลลิวินาที สัญญาณทดสอบ 1 นาทีโดยประมาณและเสียงรบกวน 3 ซิกม่าจะน้อยลง มากกว่า 100 uA (หรือสัญญาณรบกวน 1 ซิกม่าที่ 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 โมห์ม
คุณสมบัติ 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 V
Nexus 9
รุ่น Nexus 9
ความกว้างเชื้อเพลิง มาตรวัดเชื้อเพลิง Maxim MAX17050 (ตัวนับคูลอมบ์ที่มีตัวปรับโมเดล Maxim ModelGauge) และ ตัวต้านทานกระแสไฟฟ้า 10 โมห์ม
คุณสมบัติ 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 V
ระยะเวลาการอัปเดตปัจจุบันสะสม 175.8 มิลลิวินาที
ADC สุ่มตัวอย่างที่ 175 nbsp;ms การแปลงค่าเป็น 175 มิลลิวินาที โดยมีช่วงเวลาการเก็บตัวอย่าง 4 มิลลิวินาที ปรับรอบการทำงานได้
Nexus 10
รุ่น Nexus 10
ความกว้างเชื้อเพลิง มาตรวัดเชื้อเพลิง Dallas Semiconductor DS2784 (ตัวนับคูลอมบ์) ที่ให้ความรู้สึกในปัจจุบัน 10 โมห์ม ตัวต้านทานกระแสไฟฟ้า
คุณสมบัติ 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 V
ระยะเวลาการอัปเดตสำหรับทุกคนคือ 3.5 วินาที