울트라게이지MX로 볼트EV에 정보 화면 추가하기
작성자: Wesley 작성일:![](/blog/uploads/UltraGauge-06.jpg)
볼트EV의 배터리 상태를 상세하게 기록하기 위해 스마트폰과 연결되는 블루투스 OBD-II 어댑터를 지난 2년 간 사용해 왔습니다. 작동에는 이상이 없었지만 데이터를 항시 보여주는 화면이 있으면 좋겠다고 생각을 했는데, 이걸 위해 굳이 아이폰을 따로 설치하는 건 과하다고 생각했습니다. 그래서 사용자 정보를 표시할 수 있는 전용 "게이지" 장치를 찾아본 결과, 스캔게이지2(ScanGauge 2)와 울트라게이지MX(UltraGauge MX)로 선택지가 좁혀졌습니다. 전자는 사용자 정보를 더 입력할 수 있고(PID 25개 대 8개) 후자는 더 큰 화면을 사용합니다(표시 줄 수 8개 대 2개). 이 중 더 큰 화면 쪽을 고르게 되었지요.
제품을 입수하고서 할 일은 두 가지였습니다. 기존에 알려진 볼트EV 전용 PID 값을 가지고 특화된 정보를 화면에 보여줄 수 있도록 프로그래밍할 방법을 알아낸 뒤, 잘 보이면서도 그늘도 잘 지는 위치에 설치하는 것이었지요. 이리저리 힘써본 결과, 위에서 보시는 바와 같이 두 목적을 모두 달성할 수 있었습니다. 화면에 표시된 첫 페이지에는 실제 차량 속도, 가속페달 위치, 각종 배터리 정보(외부 및 내부 충전잔량, 가용용량, 온도), 단기 주행거리, 12V 배터리 전압 등이 나타나 있습니다. 그럼 어떻게 작업을 했는지 알아보겠습니다.
울트라게이지는 처음 연결했을 때 기본적으로 지원하는 60개의 표준 OBD-II PID(매개변수 식별자)와 28개의 자체 계산 값 중에 현재 차량이 제공하는 것을 판별합니다. 볼트EV는 내연기관이 없기 때문에 이 중 대부분은 의미도 없고 제공도 하지 않는 것으로 확인됩니다. 여기서 보시는 바와 같이 20개 정보가 지원된다고 하는 것 중에 표준 PID에 속하는 것은 고작 7개이고, 그나마도 주행용 고압 배터리 상태를 감시하기 위한 것은 하나도 없습니다.
PID # | 기능 설명 | 단위 |
---|---|---|
010D | 차량 속도 | km/h |
0121 | CEL(엔진점검등) 점등 후 이동한 거리 | km |
0130 | TC(고장코드) 해제 후 시동 횟수 | 회 |
0131 | TC 해제 후 이동한 거리 | km |
0142 | ECM(엔진제어모듈) 12V 배터리 전압 | V |
0146 | 대기 온도 | °C |
0149 | 가속페달1 위치 | % |
![](/blog/uploads/UltraGauge-10.jpg)
처음에는 어떻게 해석해야 하는지 감이 안 잡힐 정도였지만, 일단 비공식적인 볼트EV 전용 사용자 PID 목록(영어)에 나온 정보를 이 화면에 맞게 변환하기만 하면 되었습니다. 그래서 울트라게이지MX 프로그래밍 정보(역시 영어)를 숙지한 뒤 CAN Bus 프로토콜에 대해서 탐구해본 결과 방법을 찾아내는데 성공했습니다. 다음 PID는...
PID # | 기능 설명 | 단위 | 계산식 |
---|---|---|---|
228334 | 외부 표시 충전잔량 | % | A × 100 / 255 + 0 |
015B | 내부 관리 충전잔량 | % | A × 100 / 255 + 0 |
2241A3 | 배터리 가용용량 (2017~18 볼트용) | kWh | A × 999 / 31250 + 0 |
22434F | 배터리 온도 | °C | A × 1 / 1 - 40 |
22436B | 고압 충전기 전압 | V | A × 1 / 2 + 0 |
22436C | 고압 충전기 전류 | A | A × 1 / 20 + 0 |
22437D | 최종 충전량 | kWh | A × 1 / 100 + 0 |
2241B6 | 배터리 히터 전력 | kW | A × 1 / 1000 + 0 |
# | Abbr1 | Abbr2 | TData | TCtrl | RCtrl | RPos | Mtch | X | / | + | Out | Ave | L/R |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | SoC | D % | 07E4228334 | 93 | 31 | 2008 | 628334 | 0064 | 00FF | 0000 | 00 | 00 | 32 |
2 | SoC | R % | 07E0015B | 92 | 21 | 1808 | 415B | 0064 | 00FF | 0000 | 00 | 00 | 32 |
3 | Cap | kWh | 07E42241A3 | 93 | 31 | 2010 | 6241A3 | 03E7 | 7A12 | 0000 | 00 | 00 | 22 |
4 | Bat | °C | 07E422434F | 93 | 31 | 2008 | 62434F | 0001 | 0001 | FFD8 | 00 | 00 | 30 |
5 | Chg | hvV | 07E422436B | 93 | 31 | 2010 | 62436B | 0001 | 0002 | 0000 | 00 | 00 | 32 |
6 | Chg | hvA | 07E422436C | 93 | 31 | 2010 | 62436C | 0001 | 0014 | 0000 | 00 | 00 | 32 |
7 | Chg | kWh | 07E422437D | 93 | 31 | 2010 | 62437D | 0001 | 0064 | 0000 | 00 | 00 | 22 |
8 | BHt | kW | 07E42241B6 | 93 | 31 | 2010 | 6241B6 | 0001 | 03E8 | 0000 | 00 | 00 | 13 |
![](/blog/uploads/UltraGauge-03.jpg)
![](/blog/uploads/UltraGauge-01.jpg)
대략적인 크기를 알고 있었더라도, 울트라게이지를 어디에 설치해야 적당할지 미리 파악하는 데에는 한계가 있었습니다. 그래서 수평 거치대와 찍찍이 부착지를 동시에 주문해놓고 다양하게 대처해보고자 했습니다.
![](/blog/uploads/UltraGauge-04.jpg)
위치를 이리저리 옮겨가며 살펴본 결과, 차량 전원(시동) 버튼 바로 아래에 설치하기로 정했습니다. 여기에 두면 조향 핸들 사이로 거의 항상 화면을 볼 수도 있을 뿐더러 직사광선을 상당 부분 피할 수 있게 되기 때문이었습니다.
![](/blog/uploads/UltraGauge-05.jpg)
덤으로, 연결 케이블 대부분이 자연스럽게 가려질 뿐 아니라 나중에 철거하기도 쉽게 됩니다. 작업 후 남게 된 건 찍찍이 뿐이었네요.
![](/blog/uploads/UltraGauge-09.jpg)
설치를 끝내었으니 화면 구성을 원하는 대로 조정해 보기로 했습니다. 며칠에 걸치 시범 운영을 해보고 나니 첫 페이지에는 운전할 때 보고 싶은 정보를, 두번째 페이지에는 실시간 충전 상태를 표시하는 것으로 정리가 되었습니다.
![](/blog/uploads/UltraGauge-07.jpg)
한편, DC 급속 충전기에 연결 중일 때의 모습은 이렇습니다. 스마트폰으로 정보를 확인할 때와 비교했을 때 한 가지 아쉬운 점은 충전 전력(= 전압 × 전류)이 자동 계산되지 않는다는 점인데, 울트라게이지가 여러 개의 PID를 합치거나 곱하는 기능을 지원하지 않기 때문입니다. 이 점을 제외하면 이번 설치 결과는 꽤 만족스럽습니다.
![](/blog/uploads/UltraGauge-08.jpg)
글을 맺기 전에 한 가지 참고할 점은, 장치에 탑재된 자동 전원(화면) 켜기/끄기 기능(MENU - UltraGauge Setup - Compatibility - Pwr off (on) Detect Mode)을 어느 정도 조정해 두어야 양호하게 사용할 수 있다는 것입니다. 울트라게이지가 제공하는 차량 전원 꺼짐 감지 방법은 6가지나 되지만, 그 중 5가지는 볼트에 맞지 않습니다. 모드0과 1은 아무런 차이도 감지하지 못하고, 모드 2~4는 항상 차가 꺼져 있다고 착각합니다.
12V 전원의 전압 수준을 기반으로 하는 최후의 수단, 즉 모드5를 써야 하는 것입니다. 그런데 한계 전압(MENU - UltraGauge Setup - Compatibility - Bat Low Threshold)을 정하는 과정이 좀 복잡했습니다. 기본 설정인 12.85V에서는 화면이 자꾸 꺼졌는데, 볼트의 운전 중 전압이 약 12.3V에서 15.1V 사이를 오갔기 때문입니다. 그렇다고 12.30V로 설정해 놓고 보니 차량 전원을 꺼도 화면이 바로 꺼지지 않았습니다. 현재는 12.45V에서 타협을 보았는데, 운전 중 화면은 안정적으로 켜져 있으면서도 전원 끄고 몇 분 내에 화면이 꺼지는 것으로 확인이 되었기 때문입니다.
전원 꺼짐 감지를 모드5로 사용하면 부작용이 있는데, 바로 전원 켜짐 감지가 모드2로 고정된다는 것입니다. 이 모드 또한 12V 전원의 전압 수준에 의존하며, 화면을 실제로는 수동으로 켜야 합니다. 차량 전원을 켠 후에 장치 뒷면에 있는 UP 버튼을 한 번 눌러서 화면을 켜야 한다는 것입니다. 이건 처음 생각했던 것과는 달리 의외로 그리 불편하지 않다고 느끼게 되었는데, 필요할 때에만 화면을 켜면 되고 다른 때에는 그냥 두어도 되기 때문이었습니다.