안내
본문은 포럼의 8. 제동시스템 검증 장치(BSPD) 에서 읽으실 수 있습니다.
자작차 만들면서 다른 여러 팀의 학생분들과 익명 채팅방에서 큰 도움을 받았습니다. 귀중한 정보들이 일회성 답변으로 사라지는 것이 안타까워 모두가 정보를 공유하고 쉽게 검색해 찾아볼 수 있도록 익명 자작차 포럼을 만들었습니다.
포럼이 활성화되기를 바라는 차원에서 게시글을 전부 포럼으로 이동시켜 두었습니다. 읽고 나서 자유롭게 궁금한 점은 질문하시고, 아는 것은 공유해 주시면 앞으로 후배들에게 큰 도움이 될 것 같습니다. 감사합니다.
자작자동차포럼
한국 대학생 자작자동차 포럼
펼치기
### 목차8. 제동시스템 검증 장치(BSPD) ← 현재 글
## 개요 BSPD는 모터가 5kW 이상의 전력을 소모하는 동시에 차량이 강한 제동을 하는 상황이 500ms 이상 지속되면 AIR를 개방하여 HV를 차단한다. 차량기술규정 59조에 관련 규정이 있다. 즉 BSPD는, 1. 모터 전력을 측정 2. 브레이크 페달 입력을 측정 3. 조건 1, 2가 500ms 이상 유지될 때 디지털 신호 출력 의 기능을 할 수 있어야 한다. ## 홀 센서 모터에 전달되는 전력은 BSPD가 직접 측정해야 하므로 홀 센서 외에는 대안이 없다. 이미 BMS가 홀 센서를 사용해 배터리 팩 전류를 측정하기 때문에 홀 센서 자체는 들어본 적이 있을 것이다. 홀 센서는 고리 안으로 전선을 통과시키면 그 전선에 흐르는 전류에 따라 아날로그 전압을 출력한다. 참고로 직류용과 교류용 홀 센서가 따로 있으므로 잘 보고 구매해야 한다. 우리 팀은 디웰전자의 [TFC30P2VS05150A](https://eleparts.co.kr/goods/view?no=9624610){:target="_blank"}{:class='external'} 모델을 사용해 왔다. 모터가 5kW 전력을 소비하려면 우리의 HV 전압인 294V에서는 17A가 흘러야 한다. 이 센서는 0~375A의 측정 범위를 지원하고 17A에서 약 0.2V 정도를 출력한다. 그런데 0.2V는 너무 작은 전압이다. 물론 조건이 500ms 이상 유지되어야 하기 때문에 BSPD가 노이즈로 오작동하기는 쉽지 않다. 그럼에도 0.2V는 우리같은 아마추어들에게는 다루기가 꺼려지는 미세한 전압이다. 우리는 배터리팩의 최대 전류가 245A기 때문에 측정 범위가 그 이상인 홀 센서를 선정했다. 그런데 사실 여기에 의문을 가져볼 필요가 있다. 1. 실제로 배터리팩이 200A가 넘는 전류를 사용하기는 하는가? 2. 실제 전류가 홀 센서의 측정 범위를 넘어서면 센서가 파손되는가? 데이터 분석 결과 우리 차량이 사용하는 전류는 절대 다수가 80A 미만에서 머물렀으며, 가끔 순간적으로 100A를 조금 넘는 전류가 관측되었다. 그렇다면 굳이 측정 범위가 375A까지나 되는 홀 센서를 사용할 필요가 없다. **측정 범위가 좁아지면 우리가 원하는 전류에서의 전압을 구분하기가 훨씬 쉬워진다.** 측정 범위보다 더 큰 전류가 인가되어도 버틸 수 있는 overload 스펙이 있는 센서들이 있다.
GND, VCC가 단락되면 센서에 전원을 공급하는 소스가 버티지 못하고 타버릴 것이기 때문에 결국 BSPD는 0V 또는 FLOATING을 입력받는 노답 상황이 펼쳐진다. 요약해 보자. **BSPD로 들어가는 각 센서의 신호선은 문제가 생기면 0V, VCC, FLOATING 중 하나의 상태가 된다.** 이러한 상황을 인지하는 가장 쉬운 방법은 센서의 정상 출력 전압에 offset이 존재하는 것이다. 우리 팀의 브레이크 압력 센서 정비지침서를 보자.0~20MPa의 범위에서 선형적으로 출력 전압이 증가한다. 그러나 이 출력 전압의 범위는 0.5V ~ 4.5V이다. 센서는 무슨 일이 있어도 0.5V 이하 또는 4.5V 이상의 전압을 출력하지 않는다. 즉, 이 센서 출력이 정상 범위 밖으로 벗어나면 무언가 고장이 났다는 뜻이다. 우리가 알아내고 싶은 바로 그 상황이다. 브레이크 압력을 측정하는 RPS 센서는 애초에 차량용이기 때문에 이러한 설계가 잘 되어 있다. 그러나 홀 센서에서는 이렇게 정상 범위가 제한된 모델을 찾아보기가 어렵다. 홀 센서로 유명한 LEM 사에서 만드는 제품들에도 출력 전압이 2.5V ± 2V 로 제한되는 모델들이 있다. 그러나 하나같이 전선 구멍이 작아 HV를 통과시킬 수 없었다. 결국 대안을 찾으러 알리까지 갔고, 발견한 것이 위에서 언급한 [ES-K7](https://ko.aliexpress.com/item/1005004655047044.html)이다.엄밀히 말하면 ES-K7-W1-A2-O5-P1이다. 이렇게 옵션을 선택해야 0-100A 정격 전류 범위에 12V 전원을 공급받고 1-5V 전압을 출력하여 단선/개방을 감지할 수 있게 된다.이 센서를 구매해 사용해 보지는 않았다. 그저 선택할 수 있는 가장 간편한 옵션이 이 제품이라는 것을 열심히 뒤져서 찾아냈을 뿐이다. 차량에 적용하기에 큰 문제가 없을 것으로 보이지만 유념해 두기 바란다. ## 센서 개방 상황 대응 이제 정상 출력 범위 위아래로 offset이 있는 센서를 사용해 센서의 오류를 표현할 수 있게 되었다. 또한 자연스럽게 단락 상황에 대응할 수 있게 되었다. 하지만 아직 개방 상황, 즉 신호선의 FLOATING 상태에 대응할 수는 없다. 이 부분이 제일 까다로운 부분이다. 우리가 사용하는 LM311이나 LM393같은 비교기는 입력단이 floating이어서는 안 된다. floating 상태는 undefined behavior가 되어 칩이 어떻게 작동할 지 장담할 수 없다. 그러나 우리는 신호선이 잘리는 상황에 대응해야 하므로 회로상에서 조치를 취해야 한다. 할 수 있는 조치는 크게 세 가지가 있다. 1. 센서 출력에 풀다운 저항을 건다.우리의 센서들은 아날로그 전압을 출력한다. 아날로그 회로에 풀다운을 거는 것은 그렇게 좋은 생각은 아니다. 하지만 다른 방법을 적용하기 곤란하다면 ***적당한*** 풀다운 저항을 신호 라인에 걸 수 있다. 신호 선이 잘리면 입력 핀에는 0V가 걸리게 된다. 풀다운 저항이 너무 작으면 센서의 출력이 간섭을 받는다. 너무 크면 풀다운이 걸리지 않는다. 5kΩ ~ 100kΩ 정도의 저항이 적절할 것으로 생각된다. 실험적으로 센서 출력이 너무 흔들리지 않으면서 단선일 때 풀다운이 걸리는 저항값을 찾아야 한다. 2. 센서 출력을 전압 분배한다.가장 확실한 해결 방법이다. 센서 출력을 전압 분배하여 비교기에 입력으로 집어넣는 것이다. 대신 전압 분배 회로에서 전원(센서 출력)측의 저항은 센서 쪽에, 그라운드쪽의 저항은 BSPD 회로에 집어넣어 준다. 이 두 저항 사이에는 센서와 BSPD를 연결하는 차량 외부 배선이 있다. 전압 분배 회로의 저항 두 개가 꼭 붙어 있어야 한다는 편견을 버리자. 이렇게 하면 평소에는 홀 센서 출력이 전압 분배되어 비교기로 입력된다. 이 방법의 유일한 단점으로, 원래도 별로 높지 않은 센서 출력 전압이 더 작아지게 된다. 물론 그림에서처럼 꼭 1:1일 필요는 없고, 1:9 정도로 90%의 전압을 유지하게 할 수도 있다. 분홍색으로 표시된 차량 외부 배선이 단선되면 회로에는 BSPD쪽에 있는 전압 분배 저항만 남는다. 이제 이 저항은 풀다운 저항과 정확히 똑같이 동작하여 비교기 입력을 0V로 끌어내린다. 3. CMOS 비교기를 사용한다. 우리가 사용하는 LM311, LM393 등은 모두 BJT(바이폴라 트랜지스터)를 이용한 비교기이다. 이 비교기들은 입력단에 bias current가 필요하기 때문에 floating 상태가 되면 제대로 작동하지 않는다. 반면 [TLV7201과 같은 CMOS 비교기에서는 입력이 floating이면 출력이 0V](https://e2e.ti.com/support/amplifiers-group/amplifiers/f/amplifiers-forum/866566/lm311-voltage-develops-at-input-pin-when-comparator-is-disconnected)가 된다고 한다. 나도 잘 모른다. 전자과 관둔지 오래다. 그렇다고 하니 테스트해볼 가치는 있다고 생각한다. 물론 [이것도 안정적인 동작은 아니라는 글](https://www.quora.com/Why-is-it-a-design-rule-that-the-input-of-a-CMOS-gate-must-not-be-left-floating-and-the-rise-and-or-fall-times-of-the-input-signal-to-a-CMOS-gate-must-not-be-too-slow)도 있다. ## 최종 요구사항 비로소 센서의 개방과 단락을 감지할 수 있는 모든 조건이 갖춰졌다. 이제 실제로 이들을 감지해 HV를 차단하는 회로를 만들어야 한다. 이 시점에서 BSPD의 기능 요구사항은 다음과 같다. 1. 홀 센서 출력이 정상 범위가 아니라면(0V, VCC, FLOATING) 차단 회로 개방 2. 브레이크 압력 센서 출력이 정상 범위가 아니라면 차단 회로 개방 3. 홀 센서와 브레이크 압력 센서 출력이 정상 범위이면서 가변저항으로 설정한 기준치 이상인 상황이 500ms 이상 지속되면 차단 회로 개방 논리회로의 관점에서 접근해 보자. * A: 홀 센서 출력이 정상 범위 하한보다 낮음 * B: 홀 센서 출력이 정상 범위 상한보다 높음 * C: 홀 센서 출력이 FLOATING 상태임 * D: 브레이크 압력 센서 출력이 정상 범위 하한보다 낮음 * E: 브레이크 압력 센서 출력이 정상 범위 상한보다 높음 * F: 브레이크 압력 센서 출력이 FLOATING 상태임 * G: BSPD 발동 조건(두 센서 출력이 모두 기준치 이상)이 500ms 이상 지속됨 여기서 floating 처리를 위해 위에서 알아본 방법 중 신호선에 풀다운 저항을 걸면 조건 C는 A에, F는 D에 자연스럽게 합쳐진다. * A: 홀 센서 출력이 정상 범위 하한보다 낮음 * B: 홀 센서 출력이 정상 범위 상한보다 높음 * C: 브레이크 압력 센서 출력이 정상 범위 하한보다 낮음 * D: 브레이크 압력 센서 출력이 정상 범위 상한보다 높음 * E: BSPD 발동 조건(두 센서 출력이 모두 기준치 이상)이 500ms 이상 지속됨 BSPD가 FAULT 신호를 발생시키는 조건식은 (A + B + C + D + E) 이다. A부터 E까지 모든 조건을 OR해서 하나라도 참이면 HV를 비활성화해야 한다. 위에서 BSPD에 트랜지스터 2개로 구현한 AND 게이트를 사용한 바 있다. 그러나 OR 게이트에 입력이 다섯 개나 되면 트랜지스터로 만들기 상당히 번거로워진다. 그냥 로직 IC 하나를 사용하는 것이 더 쉽고 간편하다. 한편, 대부분의 로직 IC는 입력 전압 범위가 5~7V 수준에 머무른다. 우리의 LV로 로직 게이트를 다루기 위해서는 더 높은 전압에서도 동작하는 메탈 게이트 CMOS IC를 사용해야 한다. 대표적으로 Onsemi의 MC14000 시리즈가 있다.[MC14078BCP](https://www.eleparts.co.kr/goods/view?no=6374983)는 8개의 입력 핀을 가지고 있는 NOR 게이트이다. 최대 18V의 전압에서도 작동한다. 이제 이 모든 것을 반영해 회로를 설계해 보자.KiCAD 회로도: [bspd.kicad_sch](/assets/posts/e-formula/2023-09-03-bspd/bspd.kicad_sch) 이 회로는 대회가 끝나고 새로 설계한 것이기 때문에 실제로 테스트해보지는 못했다. 위에서는 BSPD의 500ms 지연을 타이머로 구현했지만 여기서는 RC 충전 회로로 구현했다. AND 게이트를 통과하며 생기는 전압 강하 등을 고려해 적절히 개선하여 사용하면 좋을 듯하다. ### 목차
8. 제동시스템 검증 장치(BSPD) ← 현재 글