QA Engineering/Performance Test

Battery Consumption - Sample Testing -

일해라폴폴 2016. 3. 28. 13:34
반응형

 

2014년 쯤 진행 한 배터리 소모전력 측정 관련하여 진행하면서 만든 샘플 데이터 및 분석 내용들입니다. 기초적인 내용없이 진행을 하다보니 장비 연결 부터 측정, 결과 분석, 해결 제시 등등 부족했던 부분들이 많아서 참고가 될 수 있다면 좋겠다는 마음에 작성되었습니다. 해당 글은 단순히 참고용 및 교육용으로 사용되는 건 상관 없지만 상업적인 이용은 자제 부탁 드립니다.

전류 측정의 목적

단순히 장비를 이용하여 전류값이 몇 mAh 나왔다는 단순한 수치의 입력은 누구나 해당 장비의 Quick Guide만 보면 할 수 있는 일이다. 다양한 시나리오들로 얻은 전류 기록들을 바탕으로 현재의 전류 소모량 및 앞으로 개선 될 수 있는 소모량을 파악 할 수 있으면 진행중인 프로젝트에서 목표로 하는 Target Count를 보다 빠른 시간안에 실패 없이 진행이 가능 하지 않을까 싶다. (물론 당연한 소리를 목적으로 적어보았다...)

전류 소모 관련 용어 정리

mAh: 전력 소모 측정 시 나타내는 주요 단위는 mAh로 많이 표기 된다. Ah의 하부 단위인 mAh, mAs 중 하나이며 대부분 한시간 동안 소모하는 전하량을 나타낸다. 단말에 배터리를 분리 해서 보면 (예. 2600mAh)라고 표시가 되어 있다. 배터리 전류 보유량에 대한 표기이고 총 배터리 보유량 대비 시간당 소모하는 전류량을 표시 하는 것이 시간당 전류 소모량인 (예. 60mAh) mAh 등으로 표기 한다.

일반적으로 소모전류에 대한 계산법은 방법에 따라 차이가 있다고 한다. (전기공학이 전공이 아니어서 100% 맞는 계산식은 아니다. 단지 산술적인 계산일뿐...)
그리고 전압도 사실 변동이 있기 때문에 경우의 전압에 따른 전류 소모가 다를 수도 있다. (라고는 하지만 잘 모르기에 테스트 환경 및 결과에는 반영하지 않았다. 음... 지금 테스트 중인 단말과 라이브러리들이 언제 전압의 변화가 있을지 모르기 때문에...)

다만 정확한 전류 측정을 위해서는 100% 완충 후 측정을 추천한다. 일반적으로 0.25%~0.5% 정도의 전류 수치 차이가 발생한다라고 전류 학술 관련 문서들을 찾으면 나온다. 그리고 나중에 배터리 잔량이 떨어지면 H/W적으로나 S/W적으로 자체 배터리 소모 감소를 위해 어떤 동작을 할 지 모르기 때문에 80~100%사이에서 측정을 하는것이 바람직 하다.

평균 소모 전류가 100mAh 일때 다양한 산출 공식 (배터리의 소모 전류는 2600 mAh로 가정)
평균 소모 전류: 100 mAh
 시간당 전류 사용량:  3.85% (평균 소모 전류/배터리의 총 전류량) x 100
 예상 사용 시간 : 26 hour (배터리의 총 전류량 / 평균 소모 전류)
 시간당 추가 소모 전류 비율: xx% (평균 소모 전류/비교대상 소모 전류값)
Reference: wikipedia 및 www.appleforum.com

측정 결과에 따른 전류 분석

아래 사진은 Agilent DMM Utility 테스트를 진행 한 프로토타입의 어플의 소모 전류 측정 데이터이다.
사진들을 번호 별로 나누어 간단히 설명하면 다음과 같다.

Figure 1. 소모 전류 측정 결과

1. 측정을 한 SW 또는 Application 이라고 예상되는 구동시에 일반적으로 단말과 함께 흐르는 전류 소모 부분을 보여줍니다. 간단히 설명하면 APP을 구동 한 상태로 방치되었을 때 특별한 경우가 없다면 1번 구간 정도의 전류가 흐른다고 볼 수 있다는 것입니다.

2. 해당 SW 또는 Application에서 특정 event가 발생하는 구간에 발생하는 전류 소모량을 보여 주고 있습니다. 이벤트 시에 단말 내부에서 호출하는 다른 process 들이 동시에 동작 하면서 1번에서의 전류 소모 보다 높은 수준의 소모량을 발견 할 수 있습니다.

3. 이부분은 확실한 원인 분석이 필요한 부분인데 테스트 중이 SW 또는 앱이 구동되는 시점에 App에서 사용하는 Core혹은 engine 쪽이나 내부에서 함께 동작 했다? 라는 추측을 불러 오는 부분입니다. Event를 호출하는 경우 우리와 관련된 부분만을 호출해야 하는데 이 센서들과 관련된 다른 Application에도  영향을 미쳐 동작 할 수  있다라는 추측을 가능하게 합니다. 특히 4의 경우는 지속적이고 비 주기 적인 전류 소모 수치를 보여주고 있어 저런 data는 제외 하거나 mention 를 남겨야 합니다.
혹은 3번이 event 동작시에 발생하는 전류 소모의 최대값일 수도 있습니다. 따라서 반복적으로 현상이 발생 할 경우에는 빨리 원인 분석을 해야 합니다.

4. 3번에서 설명 했으니까 스킵합니다.

5. 측정한 구간입니다. 보통 측정은 1 cycle을 보는게 맞지만 cycle 자체가 불안정 하거나 비주기적인 흐름을 보인다면 1분, 5분, 10분, 30분 이렇게 단위별로 끊어서 측정 하는 것도 방법이다.

반응형