본문 바로가기

DIY Sketch

아두이노 배터리 보호회로(BMS/PCM) 양부판단 테스트 지그 제작

반응형

 
 

 
2차전지를 이용한 DIY는 늘 불안합니다. 고집적 리튬배터리가 빠르게 발전하면서 스마트모빌리티가 대중화되고 이 배터리를 활용한 다양한 자작들이 많아지다보니 배터리로 인한 화재뉴스가 심심찮게 올라오는 현실입니다.

 
2차전지를 충전하다가 발생하는 화재는 충전기 불량보다는 과충전을 막아주는 보호회로의 문제가 더 크다고 할 수 있습니다. 드물지만 글로벌 1,2위 기업인 삼성이나 애플에서 만든 휴대폰도 충전하다 불이납니다. 하물며  100프로 페이크!! 카피칩을 사용하는 저렴한 중국회로를 사용하는 생활 DIY인들은 대안 자체가 없기에 자작하면서도 불안불안합니다.

 
그런데 그렇게 울며겨자먹기로 사용할 수 밖에 없는 중국산 보호회로를 제대로 테스트해보고 사용하시는 분도 극히 드뭅니다. 대부분 출력만 나오면 OK....

사실 필자도 크게 다르지 않았습니다. 무엇보다 귀차니즘...
 
 
 

각설,,
최근 다이꾼&족 카페에서 흥미로운 글을 하나 보게 되었습니다.

 

BMS 테스터기 3

대한민국 모임의 시작, 네이버 카페

cafe.naver.com


아이디 '상상너머' 쓰시는 회원분이 저항배열의 전압분배 방식으로 BMS를 테스트 할 수 있는 방법을 소개했습니다. 어찌 이런생각을 하셨는지.... 세상엔 똑똑하신 분들이 너무 많은 듯 합니다. ^^


이렇게 따라 제작할 수 있도록 공유해주신 상상너머님께 감사를 드리며....
 
 
 
 

 

회로도

 
 

 
 
만능기판에 만들기 위하여  참고용으로 간단하게 회로도를 그려보았습니다. 제대로 동작하면 다음 PCB 주문할 때 함께 몇 장 주문해볼 생각입니다.
 
일단 회로도에서 수정이 필요한 부분이 몇 군데 있습니다.
낫셀용 보호회로 테스트를 위해 일부 수정이 필요하고 LED는 혹시나 싶어 추가했는데 전압별로 모두 적용가능한 저항값을 찾기가 힘들어 빼는 게 좋을 듯 합니다.

 
 
 

 
회로도를 기반으로 빵판에 부품들을 올려봤습니다.

12V 입력을 사용하여 저항 Array에 24V를 공급하기 위한 승압모듈을 사용하고 아두이노 프로미니의 5V VCC값을 정전압으로 넣어주기 위하여 7085 레귤레이터를 구성했습니다.

 
가장 중요한 것은 저항 Array로 8S 구성으로 100옴 저항 7개와 500옴 가변저항 한개를 사용했습니다.

R1, R3 - R8까지는 100옴 1/2W 저항입니다.
R2 는 500옴 가변저항입니다.
(1K도 가능합니다만 조정폭이 너무 커져서 저항을 병렬로 달아 500으로 조정했습니다.)
 
8개 저항 양단에 24V를 걸면 하나의 저항에 3V씩 분배되고 과충전과 과방전 테스트는 B2에 500옴 저항으로 조절하여 테스트를 할 수 있습니다.
 

실제 저항값에 따라서 조금씩 차이를 보이긴 하지만 B2의 값을 조절하면 B1<->B2 사이의 전압이 12V~ 0V정도로 가변이 가능해 과방전/과충전을 테스트할 수 있습니다.
 
 
 

 
 

반응형

 

 
 
 
 

LCD는 출력해야할 수치들이 많아 2004를 사용했고, 6S밸런스 케이블과 P+/P-를 위한 악어클립을 제작했습니다.
 
 

 
 

3S BMS를 테스트하기 위한 결선
 
 
 

 

 
가변저항을 조절하면 B2의 전압이 0V에서 12V 이상으로 바뀌면서 보호회로를 테스트 합니다.

보호회로가 잠기면 P+/B+ 쇼트 버튼이나 P-/B- 쇼트버전을 누르면 락이 풀립니다.
 
 
 

 
 

시험영상

 

 
B2 가변저항을 이용하여 상하방 컷이 되는지를 테스트하는 영상입니다. B2의 값을 보면 몇 V에서 컷이 되는지 볼 수 있습니다.
몇 개 테스트해보니 컷이 안되는 회로들이 상당히 많습니다. ㅠ
 
 
 
 
 

 

제작 이슈

 
아두이노에서 저항 배열의 각 분배전압을 구하기가 힘듭니다.

이유는 아두이노 VCC값이 5V 이상의 전압은 직접 읽지를 못하고 전압분배 방식이나 다른  방법을 사용해야 합니다. 그런데 전압분배 방식은 밸런스 테스트용 저항배열에 영향을 주고 다른 방식은 아직 잘 모르겠습니다.

8개의 배열 양단에 24V를 정확하게 입력했을때 가변저항을 제외한 저항 각각에 걸리는 최대 전압이 3.4V (가변저항이 0옴일경우) 이니 B1의 전압을 측정해서 각각의 저항의 전압을 역산했습니다.

디스플레이 LCD는 B1과 B2의 전압만 출력합니다.
B1, B3-B7은 모두 같은전압이라 B1과 포텐셔미터로 변화하는 B2의 전압을 출력해서 실제 이 값의 변화에 따라 보호회로가 반응하는지를 보게 됩니다.
 
이렇게 구현하니 1셀용 보호회로의 과충전 테스트가 어려워졌습니다.
어쩔 수 없이 현재 버전은 2S-6S로 제한했고 추후 해결할 수 있는 방법을 찾아 적용해보려 합니다.
 
개선할 점이 있는지 찾아보고 최종적으로 쓸만하다고 판단되면 아두이노 코드 포함 리소스를 공유해보도록 하겠습니다.
 
감사합니다.
 
 
 
 
[2023-06-07]

8S까지 테스트할 생각에 8개의 저항을 사용했고 24V를 입력했는데 6개만 사용하고 25V를 입력하면 각각의 저항에 걸리는 전압이 4.16V가 됩니다.

이때 B2 가변저항을 조정했을때 B1의 전압이 2.38V~4.94V까지 움직이는 것을 확인했습니다.

즉 1셀은 가변저항에 의해 영향을 받는 B1의 전압으로 테스트가 가능하고 그 이상은 가변저항값에 걸리는 B2의 전압으로 직접 테스트가 가능합니다.

다만, 이 경우 B2 전압이 반대로 움직이면서 2S 이상의 회로에서 상하방이 동시에 걸리는 적용되는 구간이 있어 상하방이 동시에 진입하지 않도록 전압 조정이 조금 더 필요한 상태입니다.


상상너머님의 조언을 구했는데 오토승강압모듈도 하나의 대한이 될 수 있지만, 그럴 경우 아두이노에서 이 전압을 직접 측정해야하는 문제가 또 발생하니 일단은 가변저항을 이용한 방식으로 좀 더 고민해보도록 하겠습니다.

 
 계속....

 

 

 

PCB 디자인


슈퍼커패시터 스폿용접 컨트롤러 PCB를 주문할 때 함께 받아보려고 급조해서 디자인 해봤습니다.
5장정도 떠서 테스트해봐야겠습니다.

 

 




 

반응형


Recent Posts
Popular Posts
Recent Comments