คุณสามารถกำหนดการใช้พลังงานของอุปกรณ์สำหรับอุปกรณ์ 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 nAhENERGY_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 nAhENERGY_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 uACURRENT_NOW ระยะเวลาการอัปเดตปัจจุบันทันทีเท่ากับ 3.5 วินาทีระยะเวลาการอัปเดต CURRENT_AVERAGE คือ 28 วินาที (กำหนดค่าไม่ได้)ความละเอียด CHARGE_COUNTER (ค่าปัจจุบันสะสม ความแม่นยำที่ไม่อยู่ถัดไป) คือ
625 uAhความละเอียดของ CHARGE_COUNTER_EXT (ความแม่นยำมากขึ้นในเคอร์เนล) คือ 144 nAhENERGY_COUNTER เท่ากับ CHARGE_COUNTER_EXT ที่แรงดันไฟฟ้าปกติที่ 3.7 Vระยะเวลาการอัปเดตสำหรับทุกคนคือ 3.5 วินาที |