정말 고민이 많았던 Software (CAN관련 오픈 소스) 해결나니
다음 허들은 Hardware였습니다.(차량에 어떻게 연결??)
SW는 있지만,
푸조 차량 ECU와 어떻게 연결할 것인가?
무엇보다, 차량에가서 직접 연결한다고 해도 번거로움이 이루 말할 수 없습니다.
하물며, sw 연습해야 하는데 차량에 직접 연결하고 연습한다??
아무 코드나 돌리다 고장나면?
다시 열심히 구글링을 합니다.
문제는 역사가 오래된 기술이다보니, 너무 많은 자료가 있고...
가장 힘들게 하는 부분은 오래된 자료가 많다는 것입니다. ㅠㅜ
많은 정보를 요약해 보면,
실제 엔진을 대신할 수 있는 가짜 엔진이 필요하다는 것입니다.
1. 즉, OBD용으로 만들어진 엔진 시뮬레이터가 있어야 한다는 것입니다.
(1) DIY로 만드는 방법 - 가장 추천하는 방법이며, "arduino 또는 Raspberry pi obd2 simulator"등으로 검색하면 많은 내용이 있습니다. 대표적인것이 "https://github.com/sandeepmistry/arduino-OBD2" 입니다.
(아두이노/라즈베리파이 이외에 CAN 쉴드를 별도로 구매해야 합니다.) https://github.com/Seeed-Studio/Seeed_Arduino_CAN
하지만 일반인은 너무 어려운 방법이라 생각합니다. 임베디드 소형 컴퓨터를 잘 다뤄야 할 뿐만 아니라 SW도 잘 알아야 하고
이것을 스스로 해낼수 있다면 그 어떤것도 만들수 있는 능력자일 것입니다.
저는 대신에 알리에서 판매(링크)하는 제품을 구매했습니다.
1.Automotive ECU simulator
웬만한 엔진 data는 다 만들어 낼 수 있는 상당히 괜찮은 제품인데, 문제는 설명서가 부족해서(중국어이기도 하고..)
응용하는데는 한계가 있습니다.(아래 제품은 다른 중국 개발자 제품을 카피해서 판매하는것 같습니다. 원제품은 10만원이 넘더군요.)
실물은 이렇게 생겼습니다.
크기는 대략 15cm x 10cm 정도.. 14V DC 전원 사용하고 USB를 통해 PC와 연결할 수 있습니다.
사용방법에 대한 메뉴얼과, 일부 한글 번역본(구글번역한것입니다.)도 파일로 만들어 별첨자료로 첨부해 놓았습니다.
엔진 OBD 시뮬레이터 사용법 자체는 매우 쉽습니다.
그냥 은색으로된 원형 손잡이를 돌려주기만 하면 좌측 LCD에 변경된 엔진 파라메터값이 표시되고,
OBD 콘넥터를 통해 CAN data가 전송되는 구조입니다.
그리고, 웬만한 프로토콜은 거의 다 지원 됩니다.
2. 이제 책상위에 차량 엔진이 하나 생겼으니 연결만 하면 됩니다. 어떻게???
연결은 OBD 전용 케이블을 사용하면 된다고하여 구매하고..
10일가까이 기다렸습니다.
블루투스로 연결하려고 했는데, 이전에 구입해 놓은 1.Automotive ECU simulator의 응용 소프트웨어가
블루투스 연결 기능이 없이 유선만 가능했기 때문입니다.
제품을 구매하니 작은 CD를 주는데 "ScanMaster-ELM"라는 SW가 있었고, 설치하면 엔진 시뮬레이터와 바로 연결이 됩니다.
잘 동작합니다. 하지만 초보자라 이것 사용법 익히는데 또 몇 일 흘러갑니다. ㅠㅜ
( ScanMaster-ELM은 블루투스 연결도 가능)
3. 처음에 구매했던 "1.Automotive ECU simulator"에서 제공하는 전용 SW와 연결
LCD로 출력 가능한 엔진 data는 13개 뿐이지만 실제로는 내부에 MCU(마이크로콘트롤러)를 이용해서
J1939(버스/트럭 OBD기준) 약200여개 엔진 항목에 대해 가능하다고 합니다.
출력 가능한 모든 엔진 data를 하나씩 해보느라 오래걸렸는데,되어 있는데 일부 기능은 설명과 다르게 동작하는 않는 것도 있지만
가격대비 훌륭하게 동작합니다.
(시간이 되면 사용방법에 대해서 정리할까... 고민중입니다.)
그런데, 문제는 엔진 시뮬레이터는 차량 센서 raw data를 변환해서 보여주기만 합니다.
그저 끊임없이 말만 하는 전자장치 인것입니다. 더 쉽게 말하면 물어보지 않으면 대답하지 않는 그런 장치인것입니다.
물론 이것만으로도 OBD 프로토콜을 이해하는데 많은 도움이 됩니다만
서로 이야기를 주고 받는 기능은 없는 절름발이였던 것입니다.!!!!
즉, 엔진 시뮬레이터에 CAN 신호를 보낼 수 있는 장치가 별도로 있어야 한다는 것입니다.
4. CAN 송수신이 가능한 구조로 개선
하는수 없이 OBD 프로토콜로 신호를 보내고 읽어 들어 들일 수 있는 구성을 생각해야 했습니다.
하나는 CAN 송신 , 또하나는 수신이 가능하도록 SEEED STUDIO 제품을 구매했는데, 가격도 저렴하고
Mac mini에서 인식이 잘되었습니다. (가격 : 3.3만원/개당)
이렇게 PC에 구축하면, "1.Automotive ECU simulator"없이 PC에서 직접 ECU Simulator를 구성할 수 있습니다.
물론 SW로 만들어야 하기 때문에 쉬운 작업은 아닙니만, 이렇게 연습하고 나서
아두이노나 라즈베리파이에 이식하면 차량 엔진 데이타 읽어 보고, 가공해서 차량 내부 디스플레이에 나오게 하는게 가능합니다.
(다음편에 프랑스 엔지니어가 실제로 만든 사례를 소개할 예정입니다.)
이제 이전글에서 다뤘던 CAN관련 표준(프로토콜)을 실행해 볼 도구가 모두 준비되었습니다.
추가로 더 구매했던 알리 제품인데 CAN 신호 분석기 입니다.
SEEED STUDIO도 동일한 기능이 있으나, 내부 메모리가 부족해서 CAN 통신 data를 조금밖에 저장하지 못합니다.(어플리케이션 기준)
그래서 대용량 메모리가 있는 제품을 추가로 구매해서 실제 차량 data 수집시 사용하기로 했습니다.
아래 사진은 실제 508에 연결해서 CAN data를 수집한 사진입니다. (나중에 별도로 다룰 예정인데, 미리 사진을 가져왔습니다.)
2 채널이며 각각 독립적으로 동작하기 때문에 채널당 가격은 대략 6만원 정도이고 Seeed 제품에 비해 2배정도 비싸군요..
나름 제품 라인업이 잘 되어 있는것으로 봐서 이쪽 분야를 전문으로 하는 회사인듯합니다.
홈페이지에 들어가 보면 SW 지원이나 사례등이 잘 정리되어 있습니다.
제가 구매한 것은 최상위 버전입니다. 가솔린 자동차 OBD2 지원한다고 되어 있어서 구매한것인데..
딱히 특별한 기능은 아닌것으로 생각됩니다. CAN data를 읽을 수있다면 어떤 자동차든 사용이 가능할테니까요.
(더 낮은 저렴한 버전으로 구매해도 상관없을듯합니다.)
암튼...중국이고, 여러제품을 만들어서 판매하는 것으로 봐서는 실력있는 회사인것 같습니다.
'Peugeot 차량 DIY CAN 통신 해보자!(508기준)' 카테고리의 다른 글
(7)(저렴한 CAN 신호 분석기) Seeed-USB-CAN-Analyzer : ELM327 (1) | 2023.10.17 |
---|---|
(6)CAN 통신 활용해서 푸조 207, 208에 응용한 멋진 사례... (2) | 2023.10.16 |
(5)-1 Open 소스를 이용한 CAN 학습 방법을 찾다...(software편) (0) | 2023.10.15 |
(4) 많은 규정을 이해해야 할까? (CAN, UDS, OBD2...) (0) | 2023.10.15 |
(3)CAN, UDS, OBD II는 무슨 관계일까? (0) | 2023.10.14 |