본문 바로가기

Arduino Sketch

내부저항 측정 및 방전기능 추가한 아두이노 배터리 체커, 2채널로 업그레이드(스케치파일 공유)

글: HooneyPaPa 2019. 10. 31.
반응형

 

 

 

들어가면서..

 

얼마 전에 공개한 아두이노 소스를 객체지향형 언어인 C++로 재코딩했었다.
이유는 테스트 채널 추가를 쉽게 하기 위해서다.

일단 계획한 대로 스케줄링이 잘 돌아가는지는 검증차 진행한 작업이다.
버튼과 홀더를 하나씩 더 추가했고, OLED는 0.96인치를 사용했다.

 

 

+

노파심에서 짚고 넘어가자면 내부저항과 용량 테스트의 신뢰도는 낮은 편이다.
이렇게 얘기하는 이유는 정확한 용량은 필자도 레퍼런스급의 제대로된 방전기가 없어 신뢰도를 말 할 수 없는 데다가,,

만들 때마다 조금씩 수치가 틀어지는 것이 공식은 사용된 케이블과 접촉저항을 고려하지 않은 이론 그 자체이고,
실제는 제작할 때 사용하는 전선과 홀더 등등 각종 선로상에 저항이 존재하고 이 때문에 수치는 틀어진다.

그럼에도 폐기 수준의 배터리는 충분히 가늠할 수 있어 제법 유용하다고 할 수 있겠다.
즉, 정확한 수치의 측정용이라기 보다는 버리기 애매한 배터리 들을 골라서 버릴 수 있도록 도와준다고 생각하면 된다.

 

 

 

회로도

 

기존의 회로도에 배터리와 모스펫 그리고 LED를 그대로 카피해서 추가했다.
측 기존 테스터기에 슬롯을 하나 더 달아 하나의 아두이노로 두 개의 배터리를 동시에 테스트 할 수 있도록 했다.

아두이노 프로 미니 기준 4채널까지는 꾸역꾸역 구현할 수는 있겠으나 복잡한 배선과 문제 발생시 디버깅이 힘들 듯 보여 현재로선 회의적이다.

 

 

 

 

구현방법

 

스케치 파일작업이다.
채널을 추가하기 위해서는 테스트 객체를 하나씩 더 생성해서 loop()문에 넣어주기만 하면 일단 동작은 한다.

BatteryInResistTest brTestA(1, PIN_VOLTAGE_A, PIN_MOSFET_A, PIN_LED_A, COLLECT_COUNT, RESIST_TEST_TIMER);
BatteryInResistTest brTestB(2, PIN_VOLTAGE_B, PIN_MOSFET_B, PIN_LED_B, COLLECT_COUNT, RESIST_TEST_TIMER);

BatteryCapacityTest bcTestA(1, PIN_VOLTAGE_A, PIN_MOSFET_A, PIN_LED_A, COLLECT_COUNT, CAPA_TEST_TIMER);
BatteryCapacityTest bcTestB(2, PIN_VOLTAGE_B, PIN_MOSFET_B, PIN_LED_B, COLLECT_COUNT, CAPA_TEST_TIMER);

 

 

void loop()
{
  oled.drawInfo(millis());
 
  if (pushButtonA.getCurButtonState() != PRESSED)
  {
    if ( pushButtonA.getCurMode() == MODE_INRESIST_TEST )
          brTestA.doTest(millis());
    else  bcTestA.doTest(millis());
  }

  if (pushButtonB.getCurButtonState() != PRESSED)
  {
    if ( pushButtonB.getCurMode() == MODE_INRESIST_TEST )
          brTestB.doTest(millis());
    else  bcTestB.doTest(millis());
  }


  pushButtonA.checkButton(millis());
  pushButtonB.checkButton(millis());
}

 

다만, 정보를 화면에 표시할 정보가 늘어나면서 OLED 수정이 불가피한데,,
간단하게 화면을 상하 반으로 나누고 상단은 슬롯 1, 하단은 슬롯 2의 정보를 기존과 같은 형식으로 보여주도록 했다.

 

스케치 파일은 이 글의 하단부를 참고!!

 

 

 

반응형

 

 

 

위 회로도 그대로 만능기판에 옮겨보았다.

 

 

부하저항은 5W 2옴의 시멘트 저항을 사용했으며,
실제 테스터로 찍어보니 2.6옴이 나와 코드에 반영했다.

2.6옴 기준으로 만충상태에서 1.5A이상의 방전전류가 나와 두 개를 동시에 방전시 열이 상당할 듯 보인다.
따라서 방열판을 달고 미니팬까지 달아주었다.

 

 

 

기본 모드은 내부저항 측정이다.
2채널 표시를 위해 아래와 같이 수정했다.

#1-F: 2.95V 0.13R
#2-F: 3.07V 0.34R

#1, #2는 슬롯번호이고,
뒤에 FFinish이다. 버튼을 누르면 재시작 혹은 S(top)가 토글된다.
2.95V현재 배터리의 전압이고 0.13R 내부저항 값이다.

 

 

슬롯 1번의 배터리를 방전 모드로 전환한 모습이다.
B1 리셋 버튼을 5초 정도 누르면 모드가 변환된다.

 

 

 

 

상단에 LED도 각 채널별로 달아주어서,
채널별로 부하가 걸리는 상태를 LED로 알 수 있게 했다.

LED가 켜져 있으면 모스펫이 켜져서 부하저항과 연결, 방전중이라고 생각하면 된다.

 

 

12V 미니팬인데,,
5V 입력 전원에서 바로 연결해주었다.
소음 거의 없고 내부 방열판이 있어 이정도면 충분하지 싶다.

 

 

아두이노 메인전원은 5V DC잭을 사용하도록 했다.

 

 

메인 스위치다.
이번엔 배터리의 마이너스 라인과 입력전원(VCC)의 마이너스 라인을 모두 함께 스위칭해서,,
스위치가 꺼지면 완전하게 기기가 꺼지도록 했다.

이전에는 A0핀으로 들어가는 전류가 아두이노를 구동되어 켜지는 문제점을 이렇게 수정했다.

 

 

 

 

반응형

 

 

 

 

배터리를 역스왑할 경우 - 이런저런 이유로 - 아두이노가 소손된 경험을 해서,,
스티커로 확실하게 표시를 해두었다.

 

 

왼쪽이 2채널, 오른쪽이 이전에 만든 1채널 테스터기다.
앞서 말했지만, 저항치가 조금씩 차이를 보이지만 그렇다고 큰 수준은 아니라 맘 편하게 '대충'이라는 생각으로 쓴다.

 

 

 

 

 

 

테스트 영상

 

 

 

 

 

Arduino Sketch Source

모든 프로젝트의 소스 공유를 중단 합니다.!!

 

Version : 20191028_01

> 2채널 1차 배포 버전

 
 

 

 

 

테스터기로 시멘트 저항값 측정법 추가

 

 

1. 테스터기를 저항모드에 두고 테스트 리드끼리 접촉했을 때의 저항을 측정한다.
2. 시멘트 저항의 저항값을 측정한다.
3. 2번 측정값에서 1번 측정값을 뺀다.

 

 

 

 

아두이노를 하나도 모르는 사람들을 위한 글

 
 
 
 

관련글

 

 

리튬이온 18650 배터리 내부저항 및 방전 테스트를 위한 체커 회로도와 아두이노 스케치 파일 공유

일전에 아두이노를 이용하여 18650 배터리의 내부저항을 측정하는 회로도와 스케치파일을 공개했는데,, 그 회로도를 조금 업그레이드 해서 방전기능을 추가했습니다. - 아래 관련글 참고 - 내부저항은 배터리의..

mindeater.tistory.com

 

아두이노 리튬이온 배터리 내부저항 테스터기 만들기 - VCC값을 반영한 아두이노 스케치, 부저 추가

며칠 전 아두이노로 배터리의 내부저항을 측정할 수 있다는 걸 알게 되고 쾌재를 불렀다. 부품도 간단하고 누구나 쉽게 만들 수가 있을 것 같다. 중고 리튬이온 배터리를 많이 사용하는 데 배터리의 상태를 체크..

mindeater.tistory.com

.
.
.

N채널 파워모스펫과 비교기를 이용한 50V/20A 방전기 스케치파일

 

비교기(OAMP)와 파워 모스펫을 사용한 아두이노 정전류 방전기 스케치 파일 공유합니다.

앞서 자작 정전류 방전기의 제작기를 올렸습니다. [DIY] 파워모스펫과 비교기(OAMP)를 이용한 500W급 아두이노 정전류 방전기 자작기 요번 알리 세일에 EBD-A20H 방전기를 구입할 까 하다가,,, 이홈메��

mindeater.tistory.com

[DIY] 파워모스펫과 비교기(OAMP)를 이용한 50V/20A급 아두이노 정전류 방전기 자작기

 

[DIY] 파워모스펫과 비교기(OAMP)를 이용한 50V/20A급 아두이노 정전류 방전기 자작기

요번 알리 서머 세일에 많이들 구입하는 EBD-A20H 방전기를 구입하려고 했다가,,, 네이버 이홈메이드 카페에 slotgodori님의 자작 방전기글이 떠올라 공부도 할 겸 직접 만들기로 마음이 바뀌었다. 참

mindeater.tistory.com

CPU쿨러와 인두기 케이스 활용하여 아두이노 모스펫 정전류 배터리 방전기 2nd DIY

 

CPU쿨러와 인두기 케이스 활용하여 아두이노 모스펫 정전류 배터리 방전기 2nd DIY

지난 주 모스펫을 이용한 방전기를 만들고, 카페 회원분에게 테스트 시료인 배터리를 지원 받았다. 원래는 하나 만들고 잘 쓰면 되는데,, 지원까지 받은 입장이라 방전기 하나로 테스트하기엔

mindeater.tistory.com

20A 방전 테스트를 위하여 자작한 아두이노 정전류(CC) 방전기 3번째 - 테스트 성공

 

20A 방전 테스트를 위하여 자작한 아두이노 정전류(CC) 방전기 3번째 - 테스트 성공

배터리 용량테스트를 위한 방전기다. 이번에 3번째로, 이전가지 낫셀 테스트를 좀 빠르게 하고 싶어 제작한 2호기와 1호기 모두 실제 방전은 10A 정도에 머문다. 가장 큰 문제는 방열이다. 몇 번의

mindeater.tistory.com

200W급(?) 아두이노 정전류 방전기 리미티드 에디션!? 제작기 ^^

 

200W급(?) 아두이노 정전류 방전기 리미티드 에디션!? 제작기 ^^

다다익방전기!! 시작한 지는 조금 되었는데 일부 부품이 없어 중단했는데 자꾸 눈에 밟혀 최근에 퇴근이후 조금씩 짬을 낸 결과다.. 마음에 들어 몇 개 사둔 하코인두기 케이스와 CPU팬을 이용한

mindeater.tistory.com

 

 

 

반응형