기기 전원 측정

다수의 Nexus 기기에서 제공되는 Summit SMB347 또는 Maxim MAX17050 등의 배터리 연료계가 포함된 Android 기기의 기기 전력 소모를 파악할 수 있습니다. 외부 측정 장비가 없거나 기기를 연결하기가 불편한 경우(모바일 사용 등)에는 시스템 내 게이지를 사용하세요.

측정 항목에는 기기 지원 속성에 따라 순간 전류, 배터리 잔량, 테스트 시작 및 종료 시의 배터리 용량 등이 포함될 수 있습니다. 최상의 결과를 원하는 경우 같은 연료계와 전류 감지 레지스터가 탑재된 동일한 기기 유형을 사용하는 오랫동안 실행되는 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)는 쿨롱 카운터 오프셋 측정값을 수정합니다. 단기간(예: 전력 소모 측정 테스트)에 걸친 측정값은 연료계에 의해 수정되지 않으며, 현재 측정값이 너무 적을 경우 오프셋이 오류의 주된 원인이 됩니다(시간이 아무리 많아도 오프셋 오류를 완전히 없앨 수는 없음).

일반적인 10mOhm 감지 레지스터 설계의 경우 오프셋 전류가 1.5mA보다 높아야 합니다. 즉, 모든 측정값이 +/-1.5mA여야 합니다(PCBoard 레이아웃도 이러한 편차에 영향을 미칠 수 있음). 예를 들어 대용량 전류(200mA)를 측정할 때는 다음이 예상될 수 있습니다.

  • 2mA(연료계 이득 오류로 인한 200mA의 1% 이득 오류)
  • +2mA(감지 레지스터 오류로 인한 200mA의 1% 이득 오류)
  • +1.5mA(연료계의 전류 감지 오프셋 오류)

총 오류는 5.5mA(2.75%)입니다. 같은 오류율이 총 7%의 오류로 이어지는 중간 전류(50mA) 또는 +/-1.5mA가 총 10%의 오류로 이어지는 소량 전류(15mA)에 이를 비교해 보세요.

최상의 결과를 얻으려면 20mA보다 높게 측정하는 것이 좋습니다. 이득 측정 오류는 체계적이고 반복 가능하므로 기기를 여러 모드에서 테스트하고 클린한 상대 측정값을 얻을 수 있습니다(1.5mA 오프셋의 경우는 예외).

+/-100uA 상대 측정값의 경우, 필요한 측정 시간은 다음에 따라 다릅니다.

  • ADC 샘플링 노이즈. 일반 공장 구성이 적용된 MAX17050은 노이즈로 인한 +/-1.5mA의 샘플 간 편차를 생성하며, 각 샘플이 174.8밀리초로 조달됩니다. 1분간의 테스트 기간에 대략 +/-100uA, 그리고 6분간의 테스트 기간에 100uA보다 낮은 클린한 3시그마 노이즈(또는 33uA에서의 1시그마 노이즈)를 예상할 수 있습니다.
  • 부하 편차로 인한 샘플 앨리어싱 편차는 오류를 과장합니다. 따라서 로딩의 고유한 편차를 지닌 샘플의 경우 더 긴 테스트 시간을 사용하는 방안을 고려해 보세요.

지원되는 Nexus 기기

Nexus 5
모델 Nexus 5
연료계 Maxim MAX17048 연료계g(ModelGauge™, 쿨롱 카운터 없음)
속성 BATTERY_PROPERTY_CAPACITY
측정 연료계가 %/256(전체 배터리 용량 비율의 1/256)의 분해능에 관한 배터리 충전 상태를 제외한 어떠한 측정값도 지원하지 않습니다.
Nexus 6
모델 Nexus 6
연료계 Maxim MAX17050 연료계(쿨롱 카운터 및 Maxim ModelGauge™ 조정) 및 10mohm 전류 감지 레지스터
속성 BATTERY_PROPERTY_CAPACITY
BATTERY_PROPERTY_CURRENT_NOW
BATTERY_PROPERTY_CURRENT_AVERAGE
BATTERY_PROPERTY_CHARGE_COUNTER
BATTERY_PROPERTY_ENERGY_COUNTER
측정 CURRENT_NOW 분해능 156.25uA, 업데이트 기간 175.8밀리초
CURRENT_AVERAGE 분해능 156.25uA, 업데이트 기간 구성 가능 0.7초~6.4시간, 기본 11.25초
CHARGE_COUNTER(누적 전류, 비확장 정밀도) 분해능 500uAh(원시 쿨롱 카운터 판독값, 쿨롱 카운터 오프셋과 관련하여 연료계에 의해 조정되지 않음, 빈 상쇄를 비롯한 ModelGauge m3 알고리즘의 입력
CHARGE_COUNTER_EXT(커널의 확장 정밀도) 분해능 8nAh
ENERGY_COUNTER는 공칭 전압 3.7V에서 CHARGE_COUNTER_EXT
Nexus 9
모델 Nexus 9
연료계 Maxim MAX17050 연료계(쿨롱 카운터 및 Maxim ModelGauge™ 조정) 및 10mohm 전류 감지 레지스터
속성 BATTERY_PROPERTY_CAPACITY
BATTERY_PROPERTY_CURRENT_NOW
BATTERY_PROPERTY_CURRENT_AVERAGE
BATTERY_PROPERTY_CHARGE_COUNTER
BATTERY_PROPERTY_ENERGY_COUNTER
측정 CURRENT_NOW 분해능 156.25uA, 업데이트 기간 175.8밀리초
CURRENT_AVERAGE 분해능 156.25uA, 업데이트 기간 구성 가능 0.7초~6.4시간, 기본 11.25초
CHARGE_COUNTER(누적 전류, 비확장 정밀도) 분해능 500uAh
CHARGE_COUNTER_EXT(커널의 확장 정밀도) 분해능 8nAh
ENERGY_COUNTER는 공칭 전압 3.7V에서 CHARGE_COUNTER_EXT
누적 전류 업데이트 기간 175.8밀리초
4밀리초 샘플 기간에서 175밀리초 양자화로 샘플링된 ADC 충격 계수 조정 가능
Nexus 10
모델 Nexus 10
연료계 Dallas Semiconductor DS2784 연료계(쿨롱 카운터), 10mohm 전류 감지 레지스터 포함
속성 BATTERY_PROPERTY_CAPACITY
BATTERY_PROPERTY_CURRENT_NOW
BATTERY_PROPERTY_CURRENT_AVERAGE
BATTERY_PROPERTY_CHARGE_COUNTER
BATTERY_PROPERTY_ENERGY_COUNTER
측정 전류 측정(순간 및 평균) 분해능 156.3uA
CURRENT_NOW 순간 전류 업데이트 기간 3.5초
CURRENT_AVERAGE 업데이트 기간 28초(구성 불가)
CHARGE_COUNTER(누적 전류, 비확장 정밀도) 분해능 625uAh
CHARGE_COUNTER_EXT(커널의 확장 정밀도) 분해능 144nAh
ENERGY_COUNTER는 공칭 전압 3.7V에서 CHARGE_COUNTER_EXT
전체 업데이트 기간 3.5초