대학생 자작자동차대회 E-Formula 전기시스템 제작기 - 5. 배터리 관리 시스템(BMS)

이 글은 5. 배터리 관리 시스템(BMS) 의 내용을 가져온 것입니다.

목차

개요

아마 많은 팀이 Orion BMS 2를 사용하고 있을 것이다. 우리 팀도 Orion BMS 2의 72셀 모델을 사용한다. 72셀, 108셀, 180셀 모델이 있다.


우리 팀이 쓰는 Orion BMS 2는 내부 하드웨어와 소프트웨어는 72셀인데 인클로저가 108셀 모델이다. 뭘 어떻게 만들면 이런 조합이 나오는 건지 모르겠다. 덕분에 사용하는데 애를 좀 먹었다. 부피도 쓸데없이 커진 셈이다.

BMS는 앞서 살펴본 IMD와 다르게 완제품에 가깝다. 하드웨어나 배선보다는 Orion BMS Utility라는 설정 소프트웨어를 잘 다루는 것이 더 중요하다.

BMS

Orion BMS 2의 커넥터는 홀 센서와 서미스터 커넥터 1개, 셀 Voltage Tap 커넥터 2~5개, 그리고 Main I/O 커넥터 1개로 구성되어 있다. 서 미스터는 총 8개까지 연결할 수 있는데, 어차피 이 기본 탑재된 8개로는 최소 20%의 셀 온도를 감시해야 한다는 규정을 만족시킬 수 없다. 필수적으로 Thermistor Expansion Module을 사용할 수밖에 없다. 모듈 1개당 80개의 추가 서미스터를 지원하며, 모듈을 최대 10개까지 Orion BMS 2에 CAN 버스를 통해 연결할 수 있다.

Orion BMS는 서미스터 넘버링을 상당히 독특한 방식으로 한다. BMS 자체가 지원하는 서미스터 8개는 각각 #1 ~ #8로 표시된다. 서미스터 확장 모듈을 사용할 경우, 서미스터 번호가 갑자기 100번대로 찍히는 모습을 볼 수 있다. 한 서미스터 모듈이 지원하는 서미스터는 총 80개이다. 여기에 100의 자리에 서미스터 모듈 번호가 붙는다. 즉, #117번 서미스터는 진짜 117번이 아니라, 확장 모듈 1번의 17번 서미스터인 것이다.

차량기술규정 제 61조 7항의 4에 의해 온도센서는 버스바 위에 위치한 센서의 위치가 적절하다면, 10mm 이내에 위치한 셀을 모두 감시한다 고 인정된다. 18650 셀의 경우, 셀 반지름이 9mm이므로 이론상 한 셀의 정 가운데에 센서가 있다면 인접한 셀 4개까지 총 5개의 셀을 서미스터 1개로 감시할 수 있다.

그러나 실제로는 셀 사이에 약간의 공간이 있어 이러한 주장은 검차 시 인정받기 어렵다. 21700 셀의 경우 반지름이 10.5mm이므로 셀 중앙 에 서미스터가 위치하면 인접한 셀까지의 거리가 절대 10mm가 나올 수 없다. 18650을 사용하든 21700을 사용하든 두 셀을 잇는 버스바의 가운데에 서미스터를 부착하여 서미스터 1개당 2개의 셀을 감시하도록 설계하는 것을 추천한다.

서미스터 확장 모듈 1개가 80개의 서미스터를 지원하고 최소 20%의 셀 온도만 감시하면 되므로, 1개의 서미스터가 2개의 셀을 감시한다면 확장 모듈 1개로 총 800개까지 셀을 사용할 수 있다. 사실상 모듈 2개는 사용할 일이 없다는 뜻이다.

Main I/O 커넥터의 핀맵은 다음과 같다.

여기서 우리 팀이 사용하는 핀은 2 READY_POWER, 3 CHARGE_POWER, 6 CHARGER_SAFETY, 7 DISCHARGE_ENABLE, 12 GND, 18 CAN1_H, 19 CAN1_L 뿐이다. 우리 팀은 배터리 냉각 팬을 별도로 통제하고 있기 때문에 10 FAN_ENABLE이나 24 FAN_PWM 핀은 사용하지 않는다.

BMS는 주행 중에는 READY_POWER 핀으로, 충전 중에는 CHARGE_POWER 핀으로 전원을 공급받아야 한다. 주행 중 FAULT 신호는 DISCHARGE_ENABLE 핀으로, 충전 중 FAULT 신호는 CHARGER_SAFETY 핀으로 낸다. 따라서 차단 회로와 충전 차단 회로는 각각 이 핀들로부터 FAULT 신호를 받아 처리할 수 있어야 한다. 이에 대해서는 차단 회로에서 보다 상세하게 알아볼 것이다.

Orion BMS 2의 모든 디지털 출력은 Open Drain 출력이다. 앞서 몇 번 소개한 것처럼 ½. 리빙 포인트에 관련 설명을 적어 놓았다. LOW일 때는 확실히 LOW이지만, HIGH일 때는 floating 상태가 되므로 출력단에 풀업 저항을 하나 걸어 주어야 한다.

Orion BMS Utility

BMS는 자신에게 연결된 셀이 정확히 어떤 셀인지 알지 못한다. Configuration Wizard에 셀 모델을 고르는 부분이 있긴 하지만 크게 의미가 있지는 않은 듯하다. 직접 각 팀이 사용하는 셀 데이터시트를 보면서 값을 입력해주어야 한다.

유의해서 보아야 하는 것들은 셀의 최대/최소 전압, 충/방전 허용 전류이다. 리빙 포인트의 2-7. 셀 내부 저항과 DCL 에서 언급한 것처럼 모든 지표를 셀 데이터시트에 맞게 설정하지 않으면 배터리팩이 제 성능을 내지 못하거나 손상을 입을 수 있다.

설정이 워낙 다양해 모든 항목을 하나하나 여기서 설명하는 것은 불가능하다. 찬찬히 하나씩 확인하면서 설명을 읽어보길 권장한다. 특히, 모터 컨트롤러가 Orion BMS 2와의 통신을 지원하는 경우, 모터 컨트롤러 데이터시트에 명시된 대로 BMS가 특정 CAN 메시지 ID의 특정 바이트에 정해진 데이터를 전송하도록 CANBUS Settings에서 설정해 주어야 한다. 우리가 사용하는 PM100DX의 경우 BMS로부터 DCL과 CCL을 수신 한다.

만약 DCL이 감소하는 문제로 골치를 앓고 있다면 Live Text Parameters 탭에서 Current Parameter를 선택하고, DCL이 감소하는 사유를 확인해 보기 바란다. 해당 화면에 보면 DCL Reduced due to **: YES/NO 라고 적힌 항목들이 있다. 이것을 통해 어떤 요인이 DCL을 감소시키는지 확인하고, 해당 항목에 대한 설명을 BMS Operational Manual의 How the BMS Calcualtes Current Limits 에서 찾아보아야 한다.

목차

안녕하세요 저도 Orion bms 2를 사용 중인데 혹시 규정 제61조 7항 7번 셀의 전압감지부에서 과전류를 감지했을 때 구동시스템을 비상정지를 해야되는데 저는 과전류로 퓨즈가 끊기게되면 전압감지 비교군?이 적어져서 P0A0F 오류코드로 구동시스템을 비상정지시키는걸로 규정을 충족시킨다고 생각하는데 어떻게 생각하시나요??

해당 조항은 BMS는 셀의 전압 감지부에서 과전류가 감지되었을 경우 인데요, 말씀하신 상황은 BMS가 과전류를 직접 감지하는게 아니라 과전류로 인해 퓨즈가 끊긴 현상을 인식하는 것이기 때문에 인정받기 힘들 것 같습니다. BMS가 DCL로 정한 전류 상한값을 넘으면서도 퓨즈 작동 전류보다는 작은 과전류가 흐를 수도 있으니까요.

다만 이건 제 개인적인 생각이고 정확한 건 대회 QnA에 질의해보시는게 나을 것 같아요.

다음부터는 질문은 댓글보다는 새 주제로 작성해 주시면 나중에 검색하기에 더 좋을 것 같아요 :smiley:

아 다음부터는 새 주제로 올리도록 하겠습니다. 감사합니다

1개의 좋아요

다시 한 번 질문해서 죄송합니다. 계속 찾아봐도 알 수가 없어서 혹시 orion bms 2로 전압탭 과전류 감지는 어떻게 하셨는지 여쭤봐도 될까요?

음… bms랑 차단 회로 연동하는 쪽하고 bms 설정까지는 제가 했는데, bms에 전압 탭이나 센서들 연결하고 팩 제작하는건 배터리 팀에서 했어서 저도 자세히 모르겠네요.

1개의 좋아요