동아리방의 작업 공간. 용접부터 글라인더까지 손수 핸드 메이드이다.
드디어 회로 설계에 도달했다... 지금까지 앞에 부연 설명이 많았지만 이제부터 본격적으로 시작이다. 앞의 글을 열심히 읽어줘서 너무 감사하다. (진짜로)
BSPD를 회로 설계의 첫 번째로 한 이유는 제일 쉽기 때문이다. 사용되는 소자도 적고(OP AMP, 논리 게이트, 릴레이), 원리도 단순해서 쉽게 따라할 수 있다. 다만 초심자의 입장에서 규정을 이해하기 어려운 것밖에 없다. 따라서 규정을 같이 따라가며 회로를 설계해보려고 한다.
나는 규정을 한 줄씩 읽어가며 설명하겠다. 내 설명에 해당되는 규정은 괄호 내에 회색 글씨로 적어놓겠다.
※ 내가 24년도 대회를 출전해서 규정은 2024년 기준 규정으로 진행한다. 25년도 규정을 살짝 봤는데 회로 설계 쪽에서 변경점이 많이 없어 다행이다.
[규정] Formula 차량기술규정(2024년도)의 p.43의 제 59조
① BSPD는 차량에 걸리는 부하를 막기 위해 제작되는 회로이다. 차량이 전진하려고 할 때 제동하면 (차량에 강한 제동을 할 때) BSPD 회로에서 신호를 보내 배터리의 출력을 끊어 차량 구동을 멈춰야 한다(HV 릴레이가 개방되도록 하는).
이 회로는 다른 회로들과 같이 PCB에 제작하면 안된다(독립형 회로로 구성되어야 하며). 또한 마이크로프로세서에 코딩해서 제어하지 말고(소프트웨어 제어로 이루어져서는 안 된다), 아날로그 & 디지털 회로로 만들어야 한다. BSPD는 특정 조건을 만족해야 한다.
〔요약〕 BSPD는 엑셀과 브레이크를 밟으면 차량 구동을 멈추게 한다. 한 개의 PCB에 따로 만들고, 아날로그 및 디지털 소자를 이용해서 만들어야 한다.
[규정] Formula 차량기술규정(2024년도)의 p.43의 제 59조
BSPD가 만족해야 할 조건은 아래와 같다.
1. 배터리에서 모터로 5kW의 전력이 전달될 때의 전류량을 규정에서 '차량을 전진시키는 전류'로 정의한다.(공칭 축전기 전압 기준 5kW의 전력이 모터에 전달) 차량 전진 전류를 초과할 때를 차량이 전진한다고 의미한다. 이 전류량은 홀 센서와 같이 설명하겠다.
2. 차량이 전진할 때 제동하는 상황이 0.5초 이상 지속되면 배터리 출력을 끊어 차량 구동을 멈춘다.(①항의 상황이 0.5초 이상 지속되면 HV 릴레이를 개방)
3. BSPD 시스템 자체에도 에러가 생길 수 있다. 이를 감지하는 기능을 포함해 이상 상태 시에도 차량 구동을 멈춘다.(이상 상태 감지 기능을 포함하여 차단 회로를 개방) 여기서 얘기하는 차량의 이상 상태란, BSPD 회로의 전원이 끊기거나 센서 신호가 끊겼을 때를 의미한다. 소자 자체의 고장은 알 수 없기에 전원 및 신호가 끊겼을 때 BSPD 회로가 차량 구동을 멈춰야 한다.
4. 이상 상태를 테스트하기 위해 신호선은 커넥터를 통해 탈착 가능하도록 만들어야 한다.(센서의 신호선은 커넥터 등을 이용해 각각 분리) 신호선의 커넥터 연결은 차량 설계 때 고려하면 되는 부분이므로 회로 설계에서는 고려하지 않는다.
〔요약〕엑셀과 브레이크를 0.5초 이상 밟으면 차량 구동을 멈춰야 한다. 또한 센서 신호 끊김, BSPD 전원 끊김의 이상 상태 발생 시에도 차량 구동을 멈춰야 한다.
[규정] Formula 차량기술규정(2024년도)의 p.43의 제 59조
② 만약 10초 이내에 0.5초 동안의 차량의 전진, 제동이 해제되면 주행 중단을 위해 끊었던 배터리 출력을 자동으로 복구시킬 수 있다.(제 59조 ①항의 상황이 해제되면 구동시스템을 스스로 재활성화할 수 있다) 10초 이상 지속되면 별도의 RESET 버튼을 눌러 차단 회로를 재설정해야 한다.(제 55조 ⑥항을 참고하여 재활성화 해야한다)
③ 우리 차량은 검차관에게 검사를 맡기 전까지 안전하지 않는 것으로 분류된다. 따라서 전기 기술 검사를 진행할 때 엑셀과 브레이크를 눌러 BSPD가 잘 동작하는 지 입증할 수 없다. 따라서 우리는 회로 작동을 보여줄 수 있는, 논리적인 방법을 고안해야 한다.(입증하기 위핸 방법을... 고안해야 한다)
〔요약〕엑셀 브레이크 0.5초 동시 밟음으로 생긴 BSPD 오류가 생기고 10초 이내에 문제를 해결하면 다시 차량을 구동시킬 수 있다. 다만 10초 이상 걸린다면 RESET 버튼 을 눌러 초기화해야 한다. 또한 검사장에서 BSPD 회로가 잘 작동하는 것을 보여줄 논리적인 방법을 마련해야 된다.
[규정] Formula 차량기술규정(2024년도)의 p.43의 제 59조
④ 전류 센서(홀 센서)는 배터리 최대 전압(구동시스템 최대 전압) 기준 5kW일때의 전류를 사용해야 한다.(구동시스템 최대 전압일 때 5kW 이내의 전력이 발생하는 전류값) 예시로 배터리 최대 전압이 294V라면, 5kW ÷ 294V = 17A가 앞에서 얘기한 '차량을 전진시키는 전류'라는 뜻이다.
⑤ 제동 상황 감지를 위해선 브레이크 압력센서를 사용해야 하며(브레이크 압력센서를 반드시 사용), 압력센서의 기준 값은 (1) 차량 바퀴가 잠기지 않고(잠기는 휠이 없고) (2) 브레이크 유압의 압력이 30bar 미만일 때(브레이크 압력이 30bar 미만)가 기준이다. 두 기준 중 하나라도 만족하지 않으면, 즉 브레이크 유압이 30bar를 넘지 않으면서 차량 휠이 잠기는 기준으로 제동 상황을 감지해야 한다.
⑥ 만약 이상 상황을 감지해서 BSPD 회로가 작동하면 운전자가 볼 수 있는 곳에 표시등을 설치해야 한다.(비활성화시킬 경우 작동하는 제동시스템 타당성 장치 표시등을 장착)
〔요약〕전류 센서가 인식하는 전류값은 5kW ÷ 배터리 최대 전압이다. 브레이크 센서는 압력 센서를 사용하며 휠이 잠기지 않고 30bar 이하의 압력이 기준점이다. 이를 넘 어서면 제동 상황으로 얘기한다. BSPD가 작동했을 때 점등되는 표시등을 운전자가 볼 수 있는 곳에 설치해야 한다.
위의 글을 요약한 내용들을 모두 모아보면 아래와 같다.
BSPD는 엑셀과 브레이크를 0.5초 이상 밟거나 센서 신호 끊김, BSPD 전원 끊김의 이상 상태 발생 시에도 차량 구동을 멈추게 한다. 한 개의 PCB에 따로 만들고, 아날로그 및 디지털 소자를 이용해서 만들어야 한다.
0.5초 동시 밟음으로 생긴 BSPD 오류가 생기고 10초 이내에 문제를 해결하면 다시 차량을 구동시킬 수 있다. 다만 10초 이상 걸린다면 RESET 버튼을 눌러야 한다. 또한 검사장에서 BSPD 회로가 잘 작동하는 것을 보여줄 논리적인 방법을 마련해야 된다.
전류 센서 및 브레이크 압력 센서에 대한 기준을 정해줬으며 BSPD가 작동했을 때 점등되는 표시등을 운전자가 볼 수 있는 곳에 설치해야 한다.
위에서 얘기한 '전진시키는 전류' 를 구할 때 사용하는 센서가 바로 홀 센서이다.
전선에 전류가 흐를 때 전선 주위에 자기장이 생기는 것을 우리는 물리 시간에 배웠다. 오른손의 엄지가 전류 방향, 나머지 네 손가락이 자기장의 방향이다. 홀 센서는 발생하는 자기장에 따른, 일정한 전압 값을 출력해준다. 단순히 얘기하면 흐르는 전류량에 따라 일정 전압 값으로 출력해준다는 것이다. 이를 이용해 우리는 흐르는 전류량을 전압 값을 보고 알 수 있다.
우리가 쓸 센서는 이런 모습이다. 가운데 전선을 넣고 전류가 흐르면 전류량에 따라 전압이 출력된다
그럼 어떤 홀 센서를 써야 할까? 이에 대해 기준을 하나씩 적어보겠다.
홀 센서 찾는 기준
1. Offset 전압
Offset 전압이란 센서에 전원을 인가하고 센서를 통과하는 전류가 없을 때의 전압이다. 즉 센서를 켰을 때 출력되는 전압을 얘기한다. 이게 왜 필요할까? 바로 센서의 정상 상태의 전압을 확인하기 위해서이다.
위에서 얘기한 BSPD 에러 상황 말고, 정상 상태는 언제일까? 센서를 킨 상황에서 0A ~ 전진 전류 사이 범위의 전류가 센서에 흐르면 정상 상태인 것이다. 우리는 그 외의 상황은 모두 에러 상황으로 간주하고, 에러 상황의 전압 값이 BSPD 회로에 들어왔을 때 차량 주행을 멈추면 된다. 이때 0A가 흐를 때 전압이 0V라면 우리는 0V가 센서가 잘 켜진 것인지 오류가 난 것인지, 선이 끊긴 것인지 알 수가 없다. 따라서 우리는 센서를 켰을 때 출력되는 전압이 0V가 아닌, Offset 전압이 있는 센서를 구매해야 한다.
Out이 1V처럼 0V가 아닌 지점에서 시작되어야 한다
2. 허용 전류량
우리가 감지해야 할 전진하는 전류는 '최대 전압일 때 5kW 전력을 발생시키는 전류'이다. 이를 계산하기 위해 모터를 굴리는 배터리의 최대 전압이 필요하다. 내 팀의 차량은 4.2V 21700 셀 70개를 직렬로 연결하여 4.2*70 = 296V가 최대 전압이었다. 최대 전력을 최대 전압으로 나누면, 5kW ÷ 296V = 16.891...으로 대략 17A 보다 더 흘러야 전진 전류라고 얘기하는 것이다.
그럼 최대 전류는 얼마일까? 이는 셀 최대 방전 전류와 병렬 셀 갯수를 곱하면 된다. Samsung SDI 21700-40T 기준 최대 방전 전류(Max Continuous Discharge. 배터리가 쇼트났을 때 흐르는 전류량)는 30A, 병렬 갯수는 7P이므로 최대 방전 전류는 210A이다. 누가 우리 차량용 배터리의 +, - 단자를 전선으로 이어버린다면 이론적인 계산으로 최대 210A의 전류가 흐른다는 얘기다. (물론 전선이 그 전에 녹아 없어지겠지만)
따라서 17A ~ 210A의 전류가 흐르는 것을 센서가 버텨야 한다. "어, 그럼 In 최대 전류가 높은 홀 센서를 사면 되는 거 아닌가?" 하고 무작정 0~3000A 범위를 사면 안 된다. 센서의 출력은 전류-전압비가 선형적이기 때문이다.
같은 출력이어도 X축 범위가 너무 길어져 전압 변화가 너무 미미해졌다
모르면 상품 판매처에 물어보자. 공장 직영점일수록 정확하게 알려준다
위의 그래프에서 좌우가 다른 건 최대 전류값이다. 50A에서 500A로 X축 범위가 훨씬 늘어나 17A일때의 출력 전압이 기존 2.36V에서 1.136V로 오프셋 전압 1V의 격차가 훨씬 줄어들었다. 그럼 500A인 경우 1V ~ 1.136V의 전압 범위가 정상 범위인데, 이 범위는 너무 좁다. 심지어 모터는 전류를 일정하게 끌어가지 않고 초반에 확 땡겨 가져가는 성향이 있어 범위가 너무 좁으면 모터를 작동시키자마자 바로 BSPD 에러가 발생할 것이다.
따라서 범위는 적당하게 잡아야 된다. 나는 DC 0 - 100A 홀 센서를 구매했는데, 주행했을 때 실제 모터가 사용했던 전류가 100A가 안 넘었기 때문이다.
3. 센서 구멍
사용하는 전선에 따라 센서 구멍도 고려해야 된다. 다들 HV 라인은 50SQ을 쓰던데, 50SQ은 고무 두께마다 다르지만 15~16mm 사이 정도 한다. 이를 고려해서 전선보다 큰 구멍을 가진 홀 센서를 사도록 하자. (너무 당연한 건가?)
많은 인터넷 검색을 통해 나는 중국의 JXK-7 홀 전류 센서를 구매하였다. 25년 1월 기준 내가 구매했던 사이트가 문을 닫아서 링크가 없다. Supply with DC 12V, DC0-100A, Output 1 - 5V, 20mm 직경의 조건으로 센서를 구매했으니 참고 바란다. 고전류 전선으로는 50SQ를 사용하였다.
규정에서 얘기한 기준에서 브레이크 압력센서는 차량의 바퀴가 잠기면서 30Bar 이하의 특정 압력이 브레이크 유압에 걸려야 한다. (1Bar는 매우 큰 단위인데, 체감상 수심 10미터에서 물이 누르는 압력이 1Bar이니 10Bar만 되도 수심 100미터이다) 얼마의 압력이 걸려야 차량의 바퀴가 잠기는 지는 차량의 제동 설계에 따라 다를 것이니, 우리는 30Bar 이상의 압력을 측정해주는 센서를 찾아야 한다. 또한 위의 홀 센서에서 얘기했던 것처럼 Offset 전압도 있어야 한다. 싸면 더 좋고.
어떤 센서를 사용하는 게 좋을까? 나는 전문 업체의 압력 센서의 제품도 사보고, 알리 익스프레스의 3만원짜리 압력 센서도 써봤으나 별로였다. 전문 업체의 센서는 비싸고, 알리 익스프레스 센서는 오일이 좀 튀니까 고장나버렸다. 이에 대해 정답으로 생각하는 건 현대자동차의 압력 센서를 사용하는 것이다.
좋은데 비싸고, 싼데 잘 고장나는 센서들. 장단점이 너무 뚜렷하다.
내가 생각하는 정답은 현대모비스의 35342-2E500 센서이다.
현대모비스의 35342-2E500 센서를 정답으로 생각하는 이유는 아래와 같다.
싼 가격. 3만원이면 살 수 있다.
쉽게 구매가 가능. 주변의 현대모비스 부품판매점에서 쉽게 구매가 가능하다. (내 동네 근처에는 부품점이 많았다)
내구성. 전원과 GND를 반대로 꽂지 않는 이상 잘 고장나지 않는다.
검증된 데이터시트. 이는 현대의 현대정비지침서에서 검색하면 사용법이 잘 나와있다.
먼저 데이터시트부터 찾아보겠다. 단순히 구글에 '35342-2E500 데이터시트'를 검색하면 안 나온다. 현대에서 공식적으로 운영하는 현대정비지침서에 들어가야 볼 수 있다. 현대 부품을 현대정비지침서에서 찾는 방법은 아래에 정리해두겠다.
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
1. 먼저 회원가입을 한다. 이후 사용하고자 하는 부품이 어디 차량에 사용되는지 검색한다. 보통 구글에 쳐서 부품을 판매하는 중고 부품 업체 사이트에 가면 나와있다. 위 사진은 35342-2E500 부품이 적용된 차량 목록인데, 2013년식 아반떼MD에 센서가 사용되었다니 이 차량의 정비지침서에서 데이터시트를 찾아보겠다.
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
2. 상단 배너의 정비지침서를 들어가서 해당되는 차량 종류, 연식을 리스트에서 찾는다. 특정 엔진에 사용되면 엔진 항목도 리스트에서 찾는다.
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
3. 센서가 사용되는 시스템으로 들어가 센서의 정보를 확인한다. 압력 센서는 차량에서 엔진에 부착되며, 레일 압력 센서로 사용되는 센서이다.
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
현대정비지침서에 나와있는 그래프 및 회로도
먼저 압력 대 출력 그래프를 살펴보자. 우리의 압력 기준 값은 30Bar이다. 1Mpa = 10Bar이니, 3Mpa가 우리의 기준 값이다. 그럼 3Mpa의 압력이 가해지면 얼마의 출력이 나올까? 사진의 계산에 따라 1.1V가 출력될 것이다. Offset 전압으로 센서의 전원만 넣어주면 0.5V가 출력되니, 0.5V ~ 1.1V 사이의 전압이면 정상 상태, 1.1V 이상이면 에러 상황이라고 판단해도 된다.
우측은 회로도이며, 내부 3개의 핀을 확인하고 전원을 연결하면 된다. 중요한 건 숫자 3, 2, 1이 커넥터 기준이니 이를 고려해 센서에 전원을 넣어줘야 한다. 나는 이를 모르고 센서에 바로 전원을 넣었는데 5개 정도 날려먹은 것 같다... 전원과 접지를 반대로 하면 센서가 바로 고장나니 이 점 유의하자. (RPS 신호가 전원만 넣었는데 4.5V가 출력되면 고장난 것이다) (이 커넥터도 구매해야 되는데, 나도 이걸 아주대에서 받아서 제원을 모르겠다. 인터넷에 레일 압력 센서 커넥터로 검색하면 여럿 나오니 검색해서 사용하자)
센서의 유압 측정부 직경은 1/8인치이다. 유압 호스에 연결할 때 참고하자.
내가 설계했던 BSPD PCB인데 이 회로도가 완성본은 아니다. 내가 PCB 기반에 직접 수정한게 업데이트가 되진 않았다.
위의 회로도는 내가 설계한 BSPD 회로도이다. 다만, PCB에서 바로 수정을 하고 도안에는 수정하지 못해서 안 쓰는 영역이 많다. 그래서 사용되는 부분만 따로 설명하겠다.
배터리 전압(14.4V~16.8V)을 12V로 강하해 고정하는 레귤레이터 부분
12V로 강하하는 이유는 LM393, LM311N의 OP AMP 소자가 전원 전압과 측정 전압간의 차이를 주기 위해서이다. (예시로 OP AMP로 2.5V 기준의 비교를 한다고 하자. 생각대로면 전원 전압이 5V여도 괜찮겠지만 이 경우 측정이 매번 확실하게 되지 않는다. 측정 전압보다 5V 이상 높게 전원을 줘야 측정이 매번 정확하게 잘 된다.) 또한 전력을 많이 먹는 릴레이를 사용하기 때문에 회로 전원은 12V으로 고정하였다.
(1)번의 LC회로는 돌입 전류를 막기 위함이다. BSPD 회로에 LED가 있어 전력을 200~300mW를 사용했는데 이게 없다면 필요 전력을 단숨에 끌어온다. 없어도 동작은 잘 되나 소자의 손상을 막기 위해 LC회로를 레귤레이터 앞에 설치했다.
(2)번의 회로 구성은 LM7812 데이터시트에 나와있는 회로이다. 12V 레귤레이터 중 데이터시트에 알려준 회로가 제일 간단한 소자라서 LM7812를 사용했다.
센서 전압이 정상 범주를 넘어서면 OUT1, 2에서 전압이 출력된다.
이는 센서 자체 출력의 정상 범주를 OP AMP로 만든 것이다. 위 회로의 OUT1, OUT2가 출력되는 상황은 센서 전압이 1V가 작거나 5V보다 커지는 상황이다. 이때 센서 선이 끊어져 Floating이 나는 경우도 1V가 낮은 경우로 파악할 수 있다.
브레이크 센서도 Offset과 최대 출력 신호(0.5V~4.5V)로 위처럼 만들면 된다. 3, 5번 핀에서 저항 전압 분배기를 이용해 기준 전압을 설정해서 가변 저항을 돌려 기준 전압을 쉽게 수정할 수 있다.
OP AMP의 사용법에 대해 모르겠다면 [1] 소자 사용법의 OP AMP 항목을 보고 오자.
브레이크 및 엑셀 센서 0.5초 동시 출력 시 에러 신호 출력
좌측의 회로도는 LM393N을 이용해 홀 센서, 브레이크 센서가 기준 전압을 넘으면 신호를 출력하도록 만들었다(3V 설정은 테스트용 전압이다. 각 센서별 기준 전압은 위에서 얘기한대로 설정하자)
여기서 다른 점은 RC 시정수로 0.5초를 맞춘 것이다. 우측 LM311N에서 입력된 Brake_Over_3V는 시정수에 따라 대략 0.5초 동안 신호가 지속되면 LM311N의 7번으로 신호가 출력된다. 이는 AND 게이트 입력단에 Hall_Over_3V와 같이 들어간다. 따라서 Brake_Over_3V, Hall_Over_3V 두 신호가 0.5초 이상 지속되면 Double_Error 신호가 출력된다.
※ RC 회로는 커패시터가 완전 방전되었다는 가정하에 시정수대로 계산이 된다. 충방전을 반복하면 시정수 값으로 시간 지연이 되지 않는다. 나는 어짜피 BSPD 에러 발생하면 Reset 버튼 눌러야되고 이 과정에 걸리는 시간에 커패시터가 완전 방전되니까 소자 갯수도 줄일 겸 RC 시정수 개념으로 0.5초를 맞췄다. 정확하게 하고 싶다면 NE555를 이용해서 0.5초 시간을 측정해도 된다.
에러 신호별 LED 표시 및 신호 발생 시 BSPD_Error 신호 출력
에러 신호가 좌측 LED 위로 들어오게 되면 각 에러 신호마다 LED가 점등되며 약간의 전압 강하 이후 다시 OR & NOR 게이트로 들어간다. 에러 신호가 1개라도 있으면 OR 게이트의 출력단인 1번 핀에서 신호가 나오며, 이는 LM311N으로 입력되게 된다. 여기서 LM311에 넣는 이유는 릴레이를 작동시키기에 OR 게이트의 출력이 약하기 때문이다. 따라서 LM311N의 풀업 저항으로 낮은 저항값을 사용해 출력 전류를 놓여 뒤에 릴레이를 작동시켰다.
게이트 > LM311N > 릴레이 구조는 내가 모든 회로에서 자주 사용한 구성이다. 이를 참고하면 이해하기 쉬울 것이다.
이 아래는 내가 BSPD 자동 복구 부분을 만들었는데, 자동 복구가 잘 되지 않는 것은 둘째치고 차량이 복구를 빨리 하다보니 회로의 소자들이 전체적으로 내구성이 떨어졌다. 그래서 나는 자동 복구는 사용하지 않았다.
Error 신호는 릴레이를 작동시켜 GND를 끊는다.
LM311N에서 나온 Error 출력은 릴레이를 작동시켜 차단회로에 연결된 GND를 끊는다. (GND가 왜 있는지는 차단회로 부분에서 설명하겠다)
1N4002는 Free-Wheeling 다이오드로 릴레이 코일을 보호하는 역할을 한다.(설명을 사이트를 참고한다) 나는 1N4002인 정류 작용에 사용된 다이오드를 사용했는데 대회 검차관님께선 1N5819 schottky 다이오드를 추천해주셨다. 쇼트키 다이오드가 일반 다이오드랑 다른 점이 전압 강하가 적고 역회복시간이 빠르다고 한다. (설명은 사이트 참고). 두 다이오드를 모두 써봤는데 눈에 보이는 큰 차이는 없지만 쇼트키 다이오드가 효율적인 면에선 훨씬 좋을 것이다.
이렇게 해서 BSPD 관련 얘기는 끝이 났다. 조금 길게 작성했는데, 나도 계속 읽어보면서 글을 추가 및 수정하겠다. 회로도는 다른 영역의 글을 다 쓰고 한번 만들어보겠다.
전국의 KSAE 자작자동차 참가팀들 모두 화이팅!