양산 납품 일주일 후.
“BMS가 자꾸 꺼져요.”
현장 출동.
증상 1: 랜덤 리셋
BMS가 가끔 리셋된다. 패턴이 없다.
로그 확인해보니 워치독 타임아웃.
[BOOT] Reset cause: IWDG
[BOOT] Reset cause: IWDG
[BOOT] Reset cause: IWDG
메인 루프가 멈춘 적이 있다는 뜻.
오실로로 전원 라인 확인. 모터 기동할 때 전압이 순간적으로 4V까지 떨어졌다.
브라운아웃으로 MCU가 리셋됐던 거다.
해결: DC-DC 입력에 큰 캡 추가, 브라운아웃 디텍터 설정 조정.
증상 2: 셀 전압 튐
Cell 12 전압이 가끔 4.5V로 튄다.
C12: 3320mV
C12: 3318mV
C12: 4521mV ← 이상
C12: 3322mV
실제로 4.5V면 알람이 떠야 하는데 안 뜬다. 측정 오류.
원인: SPI 통신 에러. 노이즈 때문에 데이터가 깨짐.
CRC 체크는 하고 있었는데, CRC도 같이 깨져서 통과한 케이스.
해결: SPI 속도 낮춤 (1MHz → 500kHz), 페라이트 비드 추가.
증상 3: CAN 통신 끊김
차량 컨트롤러에서 BMS 데이터가 안 온다고 함.
BMS 측에서는 보내고 있다. CAN TX LED 깜빡임.
스코프로 CAN 버스 확인. 파형이 이상했다.
종단 저항 문제. 120Ω 종단이 한쪽만 있었다.
해결: 양쪽 끝에 120Ω 종단 저항 추가.
증상 4: SOC 점프
SOC가 80%에서 갑자기 30%로 떨어짐.
SOC: 80%
SOC: 81%
SOC: 30% ← ?!
확인해보니 휴지 상태에서 OCV 보정이 들어갔다.
그런데 OCV 테이블이 NMC 기준이었고 배터리는 LFP였다.
LFP 3.28V → NMC 테이블에서 찾으면 30%
실제 LFP에서 3.28V는 50~60%
해결: LFP용 OCV 테이블로 교체.
증상 5: 밸런싱 안 됨
한 달 쓰니까 셀 편차가 100mV 넘게 벌어졌다.
밸런싱이 동작 안 하나?
로그 확인: 밸런싱 ON 기록 있음. 근데 효과가 없음.
현장 확인: 밸런싱 저항에 손 대봄. 안 뜨거움.
MOSFET 고장. 게이트 오픈 상태.
해결: MOSFET 교체. 원인은 과전압 스파이크. TVS 추가.
현장 필수 장비
□ 노트북 + USB-UART
□ 멀티미터
□ 오실로스코프 (휴대용)
□ 납땜 인두 + 부품
□ 절연 장갑, 테스터기
□ 스페어 보드
오실로 없이 가면 후회한다.
정리
| 증상 | 원인 | 해결 |
|---|---|---|
| 랜덤 리셋 | 전원 드롭 | 캡 추가 |
| 전압 튐 | SPI 노이즈 | 속도 낮춤 |
| CAN 끊김 | 종단 저항 | 120Ω 추가 |
| SOC 점프 | OCV 테이블 | LFP용 교체 |
| 밸런싱 안 됨 | MOSFET 고장 | 교체 + TVS |
현장 가보면 예상 못한 문제가 튀어나온다.
다음은 EMC 대응.