콘텐츠로 건너뛰기
Home » OBD-II 시뮬레이터인 ECUsim 2000

OBD-II 시뮬레이터인 ECUsim 2000

개요

OBD(OBD-II)에 대한 개념과 내용을 알아가다보니 OBD-II(이하 OBD2)대하여 좀더 궁굼해지면서 분석해보고 싶다는 생각이 들기 시작했습니다. (본업이 개발자이다 보니 개발자스러운 면이 있습니다.^^) 그러다보니 OBD2로 전송받는 데이터를 분석해볼 필요가 있는데, 문제는 OBD2 데이터를 분석하고 전송을 받으려면 DLC 커넥터가 달린 실제 차가 있어야 한다는 점입니다.

데이터분석을 위해 제 차를 운행하면서 데이터를 전송받아 볼수는 없는 노릇이고 해서 알아보다 보니 실제 자동차에서 전송하는것과 같이 데이터를 발생시켜서 전송을 해주는 OBD2 시뮬레이터가 있다는 것을 알게 됐습니다. 따라서 이번 포스트에서는 OBD2 시뮬레이터인 ECUsim 2000 에 대하여 알아보도록 하겠습니다.

ECUsim 2000의 간단한 소개

ECUsim 2000은 위에도 언급했듯이 OBD2 Protocol로 데이터를 만들어서 DLC 커넥터에 데이터를 전송해주는 역할을 하는 시뮬레이터입니다. ECUsim 2000을 사용하면 실제 자동차가 운행하면서 전달해주는 진단 정보를 동일하게 받아서 모니터링을 해 볼수 있습니다.

ECUsim은 OBD Solutions 라는 미국의 회사입니다. 홈페이지는 아래 링크를 따라가시면 됩니다.

http://www.obdsol.com/solutions/development-tools/obd-simulators/ecusim-2000/

제가 OBD Simulator 관련하여 알아봤지만, 국내에는 OBD Simulator를 제조하는 회사는 없었던거 같습니다. 아마 OBD Solutions 가 OBD 관련해서는 노하우가 있는듯 합니다. 아래는 ECUsim 2000의 특징입니다.

 

위의 내용에서 OBD2 Protocol에 대한 부분이 언급이 되어있습니다. 처음에는 5개 모두 ECUsim 2000에 지원을 하는줄 알았는데 알고보니 홈페이지의 설명에는 각각의 Protocol에 대하여 별도로 판매를 하고 있는거 같습니다.

그래서 어떤 OBD2 Protocol를 사용해야 할지 좀더 알아보기로 했습니다. 전에 포스트에서 언급했듯이 2008년 이전에는 제조사마다 사용하는 프로토콜이 달랐으나 2008년 이후로는 CAN통신(ISO 15765-4)으로 통일이 되었기 때문에 CAN통신용으로 구입을 하기로 했습니다. (만약 다른 Protocol을 지원하는 ECUsim을 구입하길 원하신다면 OBD Solutions에서 원하는 Protocol을 지원하는 제품으로 구입을 하면 됩니다.)

참고로 국내 자동차 제조사인 현대/기아차도 2008년 이후 생산된 차종은 CAN통신을 지원하고 있습니다.

ECUsim 2000 구입기

CAN통신(ISO 15765-4)를 지원하는 제품을 구입하려고 알아보기로 했습니다. 알아보니 국내에서 ECUsim 2000를 구입하려면 몇가지 방법이 있습니다.

1) 국내 대리점을 통한 구입
2) 해외구매 대행을 통한 구입
3) 직접 다이렉트로 구입

여기서 고려할께 일단 첫번째로는 가격이었습니다. 가장 저렴하게 구입할수 있는 방법을 찾아보니 결론적으로는 3)번인 직접 다이렉트로 구입을 하는 방법이 가장 저렴하더군요. 물론 2)번이 직접 구입하는것과 큰 가격차이가 없지만 배송기간이 좀더 길어지기 때문에 3)번의 경우처럼 직접 구입을 해보기로 했습니다.

직접 구입을 하는 방법은 OBD Solutions 사이트에서 주문을 하는겁니다. 그러나 여기서 주문하게 되면 Standard 제품의 가격이 200$ 정도 하더군요. 그래서 검색을 해보니 훨씬 더 저렴하게 구입할수 있는 방법을 찾았습니다. 바로 아마존에서 구입을 하는것이지요ㅋ

아래 링크를 첨부해 드립니다.

아마존 ECUsim 200 링크

 

현재 가격을 확인해 보니 145$ 정도 됩니다. 제가 주문했을때보다 가격이 10달러 정도 올랐네요. 제가 구입을 했을때는 129$에 구입을 했습니다. (배송비 제외)

다행이도 제가 있는 지역까지 배송이 된다고 해서 배송비 포함 139$ 정도에 주문을 했습니다. ( 지금은 왜 가격이 올랐을까요? ) 해외배송같은 경우는 배송 기간에 따라서 배송료가 틀린데, 제가 급하게 받는게 아니라서 제일 저렴한 배송료를 선택해서 주문을 했습니다. (대략 2주 정도 걸립니다.)

기다리는 시간이 좀 길긴 하지만, 저렴하게 구입했다는 생각을 하게 되니 괜찮은 결정을 한거 같습니다. 거의 70$를 절약했습니다. ( 제조사에서 아마존에 일부러 싸게 판걸수도..)

주문을 하고 나서 몇일후에 문자메시지가 도착합니다. 아마존 배송 전문업체인 ECMS Express 에서 보낸 문자메시지인데, 아래와 같습니다.

 

친절하게도 한글로 원활한 배송을 위해 통관번호와 배송받을 주소를 한글로 입력하라고 링크까지 알려줍니다. 아마존에서 직구하는게 나름 편리한거 같습니다. 문자로 알려준 링크를 접속하여 입력하고 난후 대략 2~3일 후에 ECUsim 2000을 한진택배 통하여 받게 됐습니다.

박스를 뜯고 내용물을 확인해 보니 사진에서 본 그대로네요. ECUsim 2000 메인보드와 USB 케이블(시리얼통신용), User Guide 문서, 12V 어뎁터와 전원케이블 등이 있습니다. 아마존에서 추천 물품해서 OBD2 어뎁터와 USB케이블 들을 끼워팔려고 하는데, 전혀 필요없음을 알게 됐습니다.^^ 어쨋든 별 문제 없이 ECUsim 2000을 구매하는데 성공했습니다.

ECUsim 2000 동작 확인 및 테스트

그럼 ECUsim 2000이 잘 동작하는지 확인을 해봐야 겠습니다. 배송된 박스에는 User Guide라는 설명서가 포함되어 있었는데 천천히 읽어봤습니다.

전원을 연결하고 USB 케이블을 연결하여 USB Serial Driver를 일단 설치를 해야 할꺼 같습니다. 동봉된 박스안에는 전원케이블이 우리나라에서 쓰는 220V 플러그가 아닌 110V 삼극 플러그로 되어 있습니다. 집에 데스크탑 PC용 전원케이블이 많이 있어서 220V용 케이블을 어뎁터에 연결하였습니다.

왼쪽에 있는 LED가 들어오는걸 보니 전원이 제대로 인가가 된거 같습니다. 이제 동봉되어있는 USB 시리얼 케이블을 한쪽에는 ECUsim 2000 보드에 연결하고 다른 한쪽은 PC의 USB 단자에 연결을 하겠습니다.

User Guide에서는 USB케이블을 연결하면 ECUsim 2000이라는 장치명이 생성된다고 합니다. 제 PC에도 동일하게 ECUsim 2000 이라는 장치명이 보이는게 확인됩니다.

만약 자동으로 설치되지 않으면 FTDI 홈페이지에서 드라이버를 수동으로 다운로드 받아서 설치하라고 되어 있습니다. 제 PC의 Windows는 10 이기 때문에 왠만한 FTDI Serial 칩 관련 드라이버들은 온라인으로 자동으로 설치가 됩니다. 그래서 자동으로 설치를 시도해 봤습니다.

시간이 걸리지만 자동으로 설치가 됩니다.^^ 

제 PC에는 USB Serial Port(COM8)로 설치가 되었습니다.

자 이제 그러면 실제로 ECUsim 2000에서 전원을 인가하면 시리얼 데이터가 전송되는지 확인을 해봐야겠습니다. 제 PC에 터미널 프로그램중에 하나인 Putty가 있습니다.  Putty에 시리얼설정을 User Guide에 제시한 내용대로 아래와 연결을 해보겠습니다.

속도 : 115200 Bps
데이터 : 8 Bit
정지 : 1 Bit
패리티 : None

그런데 이상하네요. 터미널 화면에 메시지가 뿌려지긴 하지만 한 Line에서만 출력이 됩니다. 다른 Line으로 출력이 넘어가질 않는군요. 잘못된 부분이 있는지 다시 User Guide를 확인해봤습니다. HyperTerminal(윈도우즈에 포함), RealTerm, TeraTerm을 언급해놔서 일단 TeraTerm을 설치를 다시 했습니다. 그러나…. 증상은 동일합니다.

흠 이상하네요. 그래서 다시 드라이버를 제거하고 다시 설치해봤으나 증상은 마찬가지입니다. 시리얼 데이터를 확인해야 실제로 ECUsim 2000이 잘 동작하는지 확인을 할텐데 말이죠. User Guide를 보니 아래의 문구가 눈에 띕니다

local echo를 꺼라? 이게 무슨 말일까요? 시리얼 통신에서 local echo 라는 개념이 있는듯 합니다. 내용을 찾아보니 stackoverflow 에서 누군가가 친절히 답변을 달아줬습니다.^^

https://stackoverflow.com/questions/4999280/putty-serial-communication

이와 관련된 내용을 찾다보니 CoolTerm 이라는 터미널 프로그램을 알게 되었는데요, 이 CoolTerm을 쓰면 별다른 설정에 관계없이 ECUsim 2000의 시리얼 데이터 출력이 문제없이 되는거 같습니다. CoolTerm은 아래 링크에서 다운로드 받으실수 있습니다.

http://freeware.the-meiers.org/ 

CoolTerm으로 연결한 ECUsim 2000의 터미널 화면입니다. 정상적으로 부팅이 되는거 같습니다. 이제 실제로 ECUsim 2000에서 CAN통신으로 OBD-II 진단 데이터를 얻어오는지 확인해 봐야겠습니다.

에코게이지를 연결하여 확인 

지난번 포스트에서 제가 가지고 있던 ‘에코게이지’에 대한 내용을 포스트 했던 적이 있습니다. 그렇다면 에코게이지를 ECUsim 2000에 연결하면 OBD2 데이터를 받아올 수 있을까요? 호기심에 연결해 보기로 했습니다.

ECUsim 2000에 에코게이지의 DLC 커넥터를 연결합니다. 연결한 상태에서 전원을 인가하면 에코게이지 화면에도 백라이트가 켜지면서 전원이 켜지게 됩니다. 

ECUsim 2000의 오른쪽 윗부분에 DIP 스위치가 있는데, 이 스위치는 CAN Frame ID Type과 CAN Baud Rate를 조절을 하는거 같습니다. 일단은 별다른 설정을 하지 않고 전원을 인가한 상태에서 에코게이지가 데이터를 얻어와서 출력해주는지 확인을 해보겠습니다.

전원을 인가한 상태에서는 데이터를 발생을 시키지 않는거 같습니다. 그래서 User Guide를 확인해보면 Falut button을 누르면 MIL 이라는 LED에 점등이 되면서 OBD-II 데이터를 발생시키는 걸로 되어 있습니다. 한번 눌러보겠습니다. 

흠.. 에코게이지의 화면에서는 무언가 ECU를 검색하면서 접속하려는 시도를 하고 있는듯 보입니다. 하지만 시간이 꽤 흘러도 실제로 접속 되었다는 메시지가 나오지 않네요. 계속 Searching 중인듯 보입니다. 

터미널 화면에서도 별다른 변화가 없습니다.

ECUsim의 DIP 스위치를 바꿔 보면서 시도했지만 마찬가지입니다. 일단 접속이 안되는걸로 판단을 하고 에코게이지에서의 동작은 확인을 하지 못했습니다. 에코게이지는 좀더 공부한 후에 시도를 다시 해봐야 할것 같습니다.

ELM327 OBD-II 어뎁터로 시도

에코게이지로 데이터를 읽어보는것은 실패했지만, ECUsim 2000이 정상 동작하는지 여부는 확인 해봐야겠죠?^^ 그래서 제 차에서 테스트를 했던 ELM327 어뎁터로 시도해 보기로 했습니다.

먼저 ELM327 어뎁터를 ECUsim 2000에 연결하도록 하겠습니다.

그 다음 ECUsim 2000에 전원을 인가를 해보겠습니다. PC의 터미널 화면에는 정상적으로 부팅이 된걸로 확인이 됩니다. ELM327 어뎁터에도 적색 LED가 들어온 모습이 확인됩니다.

스마트폰에서 Torque 앱을 실행을 시킨후에 연결을 시도하겠습니다. Torque앱이 연결되면 ELM327 어뎁터에도 초록색 LED가 점등이 됩니다.

이 상태에서 Fault Button을 눌러보겠습니다. MIL LED가 점등되면서 Link LED가 깜박거리기 시작합니다. 오~ 확인해보니 PC의 터미널에 무언가 메시지가 올라오는게 보이네요. 에코게이지와는 좀 다릅니다.

ECUsim 2000의 아랫쪽에는 5개의 조절 스위치가 있습니다. 이 스위치가 차의 현재 속도, 액셀,  엔진온도 등의 수치를 조절해주는 스위치입니다. 한번 조절해 보겠습니다. 

스위치를 조절하니 제폰의 Torque 앱에서 게이지 눈금과 숫자가 변하는게 보입니다. 동작을 하는거 같습니다.^^ 그러고 보니 정말 자동차의 OBD에서 발생시키는 데이터를 얻어와서 출력하는것과 비슷하게 동작하는거 같습니다. 재밌네요. ( 중간의 조절 스위치를 조절하니 위의 계기판에서 Speed가 조절이 되는걸 확인하였습니다.)

이걸 끝으로 ECUsim 2000의 정상동작을 확인하였습니다.

사용후기

OBD2의 호기심이 결국에는 ECUsim 2000이라는 시뮬레이터를 구입하여 테스트를 해보는 상황에까지 이르게 되었습니다. 개발 업무를 하다보면 무언가 새로운 디바이스와 스펙에 대하여 궁금즘과 호기심이 생기기 마련인데, 이번 기회를 통해서 재밌는 경험을 해본거 같습니다.

아마 OBD2 관련하여 국내에서도 솔루션을 개발하려고 시도하려는 회사나 개발자들이 있을텐데요, ECUsim 2000이라는 시뮬레이터를 이용하면 옆에 자동차가 없이도 제품의 분석과 개발을 하는데 도움이 되지 않을까라는 생각이 듭니다. 물론 좀더 많은 기능을 원하신다면 많은 옵션이 추가된 시뮬레이터를 구입을 해야 할것으로 생각됩니다. ( 제가 구입한 제품이 아마 가장 기본 옵션만 포함된 제품일꺼 같습니다. )

이제 시간이 나는데로 ECUsim 2000에 대하여 알아봐야 겠습니다. 또한 추가로 OBD2와 관련된 지식과 기회가 된다면 관련된 개발도 해볼 생각입니다.

이 글이 누군가에 도움이 되길 바라며….

'정원딸린집'에는 쿠팡파트너스 등의 제휴링크가 포함되어 있으며 수수료를 제공받을 수 있습니다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

error: Content is protected !!