리튬 배터리의 충전 상태(State of Charge, SoC)와 건강 상태(State of Health, SoH)를 실시간으로 확인할 수 있는 소형 장치를 만들어보세요. 이 프로젝트는 오래된 배터리를 회수하거나 DIY 보조 배터리 프로젝트를 실현하는 데 완벽한 솔루션입니다! LED 막대와 최신 연료 게이지 IC를 활용해 사용성과 편리성을 극대화한 이 프로젝트를 소개합니다.
주요 특징
- BQ27441 연료 게이지 IC를 이용한 실시간 모니터링.
- SoC/SoH 듀얼 LED 막대 (WS2812B NeoPixels)로 시각적 상태 확인.
- USB-C 충전을 지원하는 BQ24075 IC.
- 오픈 소스 설계로 PCB, 코드, 3D 파일까지 모두 제공!
필요한 부품 목록
이 프로젝트를 시작하기 위해 아래의 주요 부품들을 준비하세요:
핵심 구성 요소
- BQ27441 연료 게이지 IC (Texas Instruments)
- BQ24075 충전기 IC (Texas Instruments)
- ATmega328P MCU (아두이노 호환)
- WS2812B LED 막대 (10x2 구성)
- 18650 배터리 홀더
- 0.01Ω 전류 감지 저항기 (1206 패키지)
- USB-C 커넥터 (TYPEC-304-BCP16)
추가 도구 및 재료
- 솔더 페이스트 (ChipQuik SMD291AX)
- MHP50 핫 플레이트
- 플럭스 리무버 (Chemtronics Flux-Off)
- 납땜 스테이션 (Hakko FX888D)
- LINKMICRO 디지털 현미경
- ESD-안전 핀셋 (5피스 세트)
- ANENG AN8008 멀티미터
제작 과정
1. PCB 설계 및 주문
PCB 디자인 파일은 GitHub 리포지토리에서 다운로드할 수 있습니다. Altium Designer를 사용해 설계를 수정하거나 그대로 사용 가능합니다. PCB 제작은 JLCPB 같은 서비스에서 주문할 수 있습니다.
2. 부품 조립 및 납땜
모든 부품을 PCB에 부착하고, 납땜 스테이션과 솔더 페이스트를 사용해 조립을 완료합니다. 핫 플레이트(MHP50)를 이용하면 작은 부품의 재흐름(reflow) 납땜이 보다 수월합니다.
3. LED 막대와 MCU 프로그래밍
아두이노 IDE를 통해 ATmega328P에 필요한 코드를 업로드하세요. WS2812B LED 막대는 SoC 및 SoH 데이터를 시각화할 수 있도록 설정됩니다.
4. 3D 프린팅 케이스 제작
PLA 필라멘트를 사용해 서곡 블랙 색상의 케이스를 제작하세요. 디자인 파일은 GitHub 리포지토리에서 제공됩니다. 3D 프린팅 시 M2 나사산 인서트를 활용하면 더욱 견고하게 조립 가능합니다.
5. USB-C 충전 회로 테스트
BQ24075 IC를 사용한 USB-C 충전 기능을 테스트하여 올바르게 작동하는지 확인하세요. 충전 중 LED 막대의 상태 변화도 체크합니다.
공급
공급
핵심 주요 구성 요소
- BQ27441 연료 게이지 IC (Texas Instruments)
- BQ24075 충전기 IC(텍사스 인스트루먼트)
- ATmega328P MCU(아두이노 호환)
- WS2812B LED 바(10x2 구성)
- 18650 배터리 홀더
- 0.01Ω 전류 감지 저항기(1206 패키지)
- USB-C 커넥터(TYPEC-304-BCP16)
전체 BOM 목록은 여기 ➡️(GitHub 리포지토리)
PCB & 어셈블리
도구
3D 프린팅
- PLA 필라멘트 (서곡 블랙)
- M2 나사산 인서트
소프트웨어
- Altium Designer → 전체 프로젝트 설계 파일(Altium 365)
- 아두이노 IDE
1단계: 회로 설계



🔌 회로도 개요
저는 이 시스템을 세 가지 핵심 IC를 중심으로 설계했습니다.
- BQ27441 연료 게이지 - I²C를 통한 정확한 SoC/SoH 측정
- BQ24075 충전기 - USB-C 전원 입력 및 배터리 충전 처리
- ATmega328P MCU - 데이터 처리 및 LED 표시기 구동

해결된 주요 설계 과제:
- 정밀 감지: 쿨롱 카운팅을 위한 0.01Ω 전류 감지 저항(R10) 추가
- 열 안전성: 이중 NTC 지원 설계(온보드 및 외부 배터리 센서)
- 노이즈 감소: 모든 IC 근처에 스타 접지 및 100nF 디커플링 캡 사용
🛠️ 사용된 설계 도구
- 회로도 캡처: Altium Designer
- 부품 소싱: 간편한 조립을 위해 엄선된 JLCPCB 호환 부품
전문가 팁:
마무리하기 전에 항상 설계 규칙 검사(DRC)를 실행하십시오! 내 회로도는 Altium의 실시간 검증 덕분에 오류 없이 통과했습니다.
📁 디자인 파일:
2단계: PCB 조립(SMD 납땜 가이드)
🛠️ 필요한 도구
- 솔더 페이스트(ChipQuik SMD291AX)
- MHP50 핫 플레이트
- LINKMICRO 현미경
- PCB 스텐실(GitHub 저장소의 Gerber 파일에 포함)
🔬 조립 과정
1. 솔더 페이스트 도포
- 테이프를 사용하여 보드 위에 PCB 스텐실을 고정합니다.
- 땜납 페이스트를 스퀴지(또는 오래된 신용 카드)로 골고루 펴십시오.
- 전문가 팁: 더 나은 점도를 위해 먼저 페이스트를 5분 동안 식히십시오!
- 솔더 페이스트 → 적용하는 데 도움이 되는 지지대를 3D 프린팅했습니다(3D STL 파일은 여기에)

2. 컴포넌트 배치
- ESD 핀셋을 사용하여 작은 부품(0402 저항기, IC)을 배치합니다.
- 가장 작은 부품(저항기/캡)부터 시작하여 더 큰 IC가 오래 지속→.

3. 핫 플레이트를 사용한 리플로우
- MHP50 핫 플레이트를 150°C로 예열합니다.
- PCB를 접시에 놓고 페이스트가 광택이 날 때까지 가열합니다(~220°C, 2-3분).
- 비판적인: 팬이 없는 자연 식히세요!

4. 현미경으로 검사
- LINKMICRO 현미경으로 각 조인트를 확인하십시오.
- 좋은 관절 : 매끄럽고 오목한 필레.
- 나쁜 관절 : 무디거나 공 모양 (뜨거운 공기로 리플 류).
- 다음 사항에 특히 주의하십시오.
- BQ27441의 작은 핀(SON-12 패키지)
- USB-C 커넥터(연결하기 쉬움)
⚠️ 문제 해결
- 브리지 패드? 플럭스가 있는 구리 브레이드를 사용하여 과도한 땜납을 wicks.
- 툼스톤(Tombstoning)? 다시 붙여넣기 적용, 고르지 않은 양으로 인해 이 문제가 발생합니다.
- 관절이 차가워졌나요? 250°C에서 열풍총으로 재가열합니다.

📌 프로 팁
- 스텐실 정렬: 완벽한 페이스트 침전물을 위해 PCB 기준을 사용합니다.
- 양면 보드: 바닥면을 먼저 조립합니다(더 큰 구성 요소가 마지막).
- 핫 플레이트가 없습니까? 프라이팬은 핀치로 작동합니다(IR 온도계가 있는 모니터).

3단계: 최종 장치 조립(3D 하우징 + PCB)
🛠️ 필요한 것
- 3D 프린팅 파트(STL 파일))
- M2 나사산 인서트 및 나사
- 조립된 PCB(2단계에서)
- 납땜 인두(인서트 설치용)

🔧 조립 단계
1 스레드 인서트 설치
- 납땜 인두로 인서트를 200°C로 가열하고 하우징 구멍에 밀어 넣습니다.
- 전문가 팁: M2 나사를 사용하여 냉각하는 동안 인서트를 수직으로 정렬합니다.

2 PCB 장착
- M2 나사로 보드를 고정하고 USB-C 포트가 하우징 컷아웃과 정렬되도록 합니다.
- 18650 홀더/JST 커넥터를 연결합니다.

3 LED 디퓨저 부착
- 3D 프린팅 라이트 가이드를 WS2812B LED 위에 끼우면 균일하게 빛납니다.

4단계: 펌웨어 업로드 및 실제 테스트
💻 프로그래밍 설정
- 필요한 도구:
- USBASP 프로그래머(부트로더용)
- Arduino IDE(펌웨어용)
⚡ 플래싱 프로세스
- 부트로더 업로드(ISP 포트)
- USBASP를 PCB의 6핀 ISP 헤더에 연결합니다.
- ATmega328P를 선택하고 Arduino Nano Bootloader를 굽습니다.

- 펌웨어 업로드
- Arduino IDE에서 Battery_health.ino를 엽니다.
- 보드를 "Arduino Nano"(동일한 칩)로 설정합니다.
- 셀과 일치하도록 코드의 BATTERY_CAPACITY 조정합니다(예: 3000mAh의 경우 3000).
- GitHub 직접 링크→ 여기에서 코드를 가져올 수 있습니다.
🔋 사용한 배터리로 테스트
- 셀 삽입 (3 가지 시나리오 시도) :
- 건강한 세포: SoH ≈100%, SoC가 원활하게 업데이트됩니다.
- 노후화된 셀(예: 노트북 당김): SoH <80%, LED 막대는 성능 저하를 나타냅니다.
- 데드 셀: SoH <20%, 충전기가 과방전을 차단하는지 확인합니다.

- 정확성 검증
- SoC 판독값을 알려진 전압의 벤치 전원 공급 장치와 비교합니다.

📌 프로 팁
첨부 파일
최종 테스트 및 사용
모든 조립이 완료되었다면, 배터리를 삽입한 후 장치를 켜서 테스트하세요. LED 막대를 통해 SoC와 SoH 상태를 쉽게 확인할 수 있습니다.
결론 및 활용
이 프로젝트는 배터리 상태를 모니터링할 수 있는 실용적인 도구일 뿐만 아니라 전자 회로 설계와 프로그래밍, 3D 프린팅 기술을 학습할 수 있는 훌륭한 기회입니다. 궁금한 점이나 개선 아이디어가 있다면 댓글로 공유해주세요!
어떤가요? 혹시 추가할 사항이나 수정이 필요하다면 말씀해주세요! 😊
'모빌리티 프로젝트' 카테고리의 다른 글
Lily∞Bot: 장애물 회피 기능이 있는 교육용 로봇 제작 (0) | 2025.04.04 |
---|---|
DIY 3D 프린팅 Pi 솔라 카 만들기 (0) | 2025.04.02 |
로봇 투석기 제작: 자동 장전 및 핸즈프리 컨트롤러 (0) | 2025.03.28 |
Bob The Robot: 아두이노 기반 로봇 프레임워크 제작기 (0) | 2025.03.28 |
4족 이동 로봇 설계 및 제작 (0) | 2025.03.25 |