주요 콘텐츠로 건너뛰기
AI 튜토리얼

1991~95년형 지프용 아두이노 기반 OBD1 스캐너 만들기

호환되는 1991~95년형 지프 및 크라이슬러 OBD1 엔진 컴퓨터용 저비용 아두이노 나노 인터페이스인 xj-scanner를 조립하고 사용하는 방법을 알아보세요. 이 가이드에서는 안전 점검, 배선 준비, 소프트웨어 설치, 펌웨어 업로드, 고장 코드 확인, 실시간 데이터 기록, 내장 테스트 및 문제 해결 자료를 다룹니다.

1991~95년형 지프용 아두이노 기반 OBD1 스캐너 만들기

xj-scanner란?

xj-scanner는 저렴한 5V Arduino Nano를 사용해 노트북을 1991~95년식 Jeep의 엔진 컴퓨터에 연결합니다. 후드 아래의 진단 커넥터에서 세 개의 전선을 Nano로 연결하고, Nano는 USB를 통해 노트북에 연결합니다.

연결이 완료되면 이 프로젝트로 고장 코드를 읽고 실시간 엔진 데이터를 확인하며, 주행 중 정보를 기록하고 엔진 컴퓨터에 내장된 액추에이터 테스트를 실행할 수 있습니다. Claude Code, Codex 또는 다른 코딩 에이전트가 설정 과정을 안내하고 저장소의 지침을 해석해 줄 수 있습니다.

이 프로젝트는 4.0L 엔진과 컴퓨터 부품 번호 56030117이 장착된 1994년식 Jeep Cherokee XJ에서 제작 및 테스트되었습니다. 다른 1991~95년식 Chrysler 및 Jeep SBEC/OBD1 컴퓨터도 유사할 수 있지만, 호환성은 보장되지 않습니다. 하드웨어를 연결하기 전에 반드시 자신의 진단 커넥터를 측정하십시오.

Jeep 진단 스캐너 설정

주요 기능

  • 엔진 컴퓨터의 고장 코드를 읽습니다.
  • 실시간 엔진 매개변수와 환산된 값을 표시합니다.
  • 실시간 데이터를 pc/logs/ 아래의 파일에 기록합니다.
  • 엔진 컴퓨터에 내장된 액추에이터 테스트를 지원합니다.
  • 차량 없이도 노트북 소프트웨어를 테스트할 수 있는 Jeep 시뮬레이션 모드를 포함합니다.
  • Nano 배선 디버깅 스케치와 기본 브리지 펌웨어를 제공합니다.
  • 로그 요약, 매개변수 탐색, 컴퓨터 부품 번호 확인을 위한 도우미 도구를 포함합니다.
  • 설치 및 문제 해결을 안내하는 에이전트용 플레이북을 제공합니다.

필요한 하드웨어

예상 하드웨어 비용은 약 $15입니다. 시작하기 전에 다음 부품을 준비하십시오:

  • USB-C 또는 mini-USB와 호환 케이블이 있는 5V Arduino Nano 클론.
  • 소형 브레드보드.
  • 브레드보드용 점퍼선 몇 개.
  • 후드 아래의 커넥터에서 노트북이 있는 위치까지 닿을 만큼 긴 전선 세 개.
  • 진단 커넥터에 맞는 1/4인치 수 스페이드 단자 세 개.
  • 멀티미터.

중요 안전 경고

점검 6번 캐비티에는 점화 키가 켜져 있을 때 12V가 흐릅니다. Arduino 또는 스캐너 전선을 절대로 캐비티 6에 연결하지 마십시오.

전선 색상으로 커넥터 캐비티를 식별하지 마십시오. 테스트 차량에서는 캐비티 6이 접지선과 동일한 검정색 및 흰색 전선을 사용했습니다. 잘못 연결하면 Nano 또는 노트북이 차량 전압에 노출될 수 있습니다.

배선하기 전에 멀티미터로 모든 캐비티를 확인하십시오. 측정값을 docs/connector.md의 예상 측정값과 비교하십시오. 저장소에서 테스트한 배선은 각각 Nano 핀 D10, D11, GND를 진단 플러그 캐비티 4, 3, 2에 연결하지만, 먼저 차량의 커넥터를 직접 확인해야 합니다.

옵션 1: AI 코딩 에이전트의 안내로 설정하기

가장 쉬운 설치 방법은 Claude Code, Codex 또는 저장소를 인식하는 다른 코딩 에이전트를 사용하는 것입니다.

  1. xj-scanner 저장소를 노트북에 복제합니다.
  2. 코딩 에이전트에서 저장소를 엽니다.
  3. 다음과 같이 요청합니다: Help me hook this up to my Jeep.
  4. 지침을 한 단계씩 따릅니다.

에이전트는 AGENTS.md와 .claude/skills/ 아래의 플레이북을 읽을 수 있습니다. 이 지침에는 소프트웨어 설정, 브레드보드 조립, 멀티미터를 사용한 커넥터 캐비티 식별, 첫 번째 측정 수행 방법이 포함되어 있습니다. 지침이 명확하지 않으면 진행하기 전에 에이전트에게 더 쉬운 말로 설명해 달라고 요청하십시오.

옵션 2: xj-scanner 수동 설치 및 실행

1. Python 환경 만들기

저장소 루트에서 가상 환경을 만들고 스캐너의 종속 항목을 설치합니다:

python3 -m venv .venv && .venv/bin/pip install -r pc/requirements.txt

2. 데모 모드에서 노트북 소프트웨어 테스트하기

Jeep에 연결하기 전에 시뮬레이션 차량을 대상으로 스캐너를 실행합니다:

.venv/bin/python pc/xj_scan.py --cli DEMO

이렇게 하면 Arduino나 엔진 컴퓨터 없이 Python 측이 작동하는지 확인할 수 있습니다. 데모 모드가 실패하면 차량 배선으로 넘어가기 전에 노트북 측 문제를 해결하십시오.

3. Arduino CLI 및 AVR 코어 설치하기

README에는 Homebrew를 사용하는 macOS용 다음 명령이 제공됩니다:

brew install arduino-cli
arduino-cli core install arduino:avr

다른 운영 체제를 사용하는 경우 해당 플랫폼에 맞는 방법으로 arduino-cli를 설치한 다음 arduino:avr 코어를 설치하십시오.

4. Nano 연결 및 식별하기

USB를 통해 Arduino Nano를 노트북에 연결합니다. 직렬 포트를 확인한 다음 업로드 명령의 /dev/cu.usbserial-XXXX를 실제 포트로 바꿉니다.

이 예제에서는 여러 Nano 클론에서 사용하는 구형 부트로더 구성을 선택하는 보드 식별자 arduino:avr:nano:cpu=atmega328old를 사용합니다.

5. 브리지 펌웨어 컴파일 및 업로드하기

arduino-cli compile --upload -p /dev/cu.usbserial-XXXX --fqbn arduino:avr:nano:cpu=atmega328old arduino/xj_bridge

xj_bridge 스케치는 Nano를 노트북 스캐너와 Jeep 엔진 컴퓨터 사이의 통신 브리지로 전환합니다.

6. 배선 확인 및 조립하기

차량 배선을 Nano에서 분리한 상태에서 멀티미터를 사용해 진단 커넥터 캐비티를 식별합니다. 커넥터 측정값, 브레드보드 배치 및 배선 세부 정보는 저장소의 docs/ 디렉터리를 참조하십시오.

테스트한 차량의 세 신호 연결은 다음과 같습니다:

  • Nano D10에서 진단 커넥터 캐비티 4로 연결.
  • Nano D11에서 진단 커넥터 캐비티 3으로 연결.
  • Nano GND에서 진단 커넥터 캐비티 2로 연결.

이 목록만을 근거로 진행하지 마세요. 차량의 각 커넥터 캐비티를 확인하고 모든 전선이 캐비티 6에서 떨어져 있도록 하세요.

7. 오류 코드 및 실시간 데이터 읽기

펌웨어와 확인된 배선이 준비되면 점화 키를 ON으로 돌리고 다음을 실행하세요.

.venv/bin/python pc/xj_scan.py --cli auto

자동 모드에서 스캐너는 오류 코드를 읽은 다음 실시간 데이터를 수집합니다. 로그는 pc/logs/ 아래에 기록됩니다.

저장소 구조 이해하기

  • arduino/: 기본 xj_bridge Nano 스케치와 배선 디버깅용 xj_sniff 스케치를 포함합니다.
  • pc/: 오류 코드, 실시간 데이터, 로깅 및 액추에이터 테스트를 처리하는 xj_scan.py를 포함합니다.
  • tools/: 로그 요약, 모든 파라미터 검색, 엔진 컴퓨터 부품 번호 확인을 위한 유틸리티를 포함합니다.
  • docs/: 커넥터, 배선, 통신 프로토콜, 파라미터, 스케일링 공식 및 문제 해결 절차를 문서화합니다.
  • .claude/skills/: AI 에이전트가 사용자와 함께 따를 수 있는 단계별 플레이북을 포함합니다.

기본 작업 흐름

처음에는 신중하게 다음 순서로 진행해야 합니다.

  1. DEMO 모드를 실행하여 Python과 종속 항목을 검증합니다.
  2. Nano에 xj_bridge를 업로드합니다.
  3. 차량 측 배선을 분리하고 모든 커넥터 캐비티를 측정합니다.
  4. 문서를 참고하여 접지 및 통신 캐비티를 확인합니다.
  5. 브레드보드 회로를 구성하고 모든 연결을 다시 확인합니다.
  6. 엔진을 시동하지 않은 상태에서 키를 ON으로 돌립니다.
  7. --cli auto로 스캐너를 실행합니다.
  8. 보고된 오류 코드를 검토하고 pc/logs/에 로그가 생성되었는지 확인합니다.

고급 팁

통신에 실패하면 디버그 스케치 사용

arduino/xj_sniff 스케치는 배선 진단을 위해 포함되어 있습니다. 브리지가 엔진 컴퓨터와 통신하지 못하면 docs/의 문제 해결 자료와 함께 사용하세요. 전원이 공급되는 동안 배선을 변경하지 마세요.

주행 로그 요약

실시간 데이터를 기록한 후 tools/ 아래의 도우미를 확인하세요. 이 저장소에는 긴 기록을 더 쉽게 검토할 수 있도록 로그를 요약하는 유틸리티가 포함되어 있습니다. 원본 데이터를 변경하지 않고 보존하려면 복사한 로그를 사용하세요.

사용 가능한 파라미터를 신중하게 검색

도우미 도구를 사용하면 프로젝트에서 인식하는 모든 파라미터를 검색할 수 있습니다. 사용하기 전에 프로토콜 및 파라미터 문서를 확인하여 어떤 요청이 전송되는지와 각 원시 값이 어떻게 스케일링되는지 이해하세요.

엔진 컴퓨터 부품 번호 확인

이 프로젝트는 엔진 컴퓨터 56030117에서 검증되었으므로, 다른 차량을 조사할 때는 제공된 부품 번호 도우미를 사용하세요. 다른 SBEC/OBD1 컴퓨터도 유사하게 작동할 수 있지만, README는 지원을 보장하지 않습니다.

액추에이터 테스트 주의

PC 스캐너는 기본 액추에이터 테스트를 지원합니다. 이 테스트는 차량 하드웨어를 작동시킬 수 있으므로, 해당 테스트를 정확히 이해하고 차량이 안전한 위치에 있으며 움직이거나 전원이 공급되는 부품으로 인해 부상이나 손상이 발생하지 않는 경우에만 실행하세요.

상세 스케일링 문서 사용

docs/ 디렉터리에는 사용 가능한 파라미터와 스케일링 공식이 설명되어 있습니다. 원시 판독값을 해석할 때, 특히 연료 트림을 분석하거나 다른 스캔 도구의 값과 비교할 때 참고하세요.

문제 해결 체크리스트

  • 차량 연결을 진단하기 전에 --cli DEMO가 작동하는지 확인합니다.
  • Nano가 예상한 USB 직렬 포트에 표시되는지 확인합니다.
  • 올바른 Nano 부트로더가 선택된 상태로 펌웨어가 업로드되었는지 확인합니다.
  • 전선 색상에 의존하지 말고 진단 커넥터를 측정합니다.
  • 어떤 전선도 캐비티 6에 연결되지 않았는지 확인합니다.
  • 배선 문서와 비교하여 D10, D11 및 GND 브레드보드 경로를 확인합니다.
  • 전기적 구성이 올바른 것으로 보이지만 통신이 계속 실패하면 xj_sniff와 문제 해결 가이드를 사용합니다.
  • 테스트하지 않은 Chrysler 또는 Jeep 컴퓨터는 1994 Cherokee 테스트 차량과 다를 수 있다는 점을 기억합니다.

결론

xj-scanner는 노트북과 Arduino Nano를 사용하여 호환되는 Jeep의 OBD1 엔진 컴퓨터를 저렴하게 살펴볼 수 있는 방법을 제공합니다. 데모 모드로 시작하고, 멀티미터로 모든 커넥터 캐비티를 확인하며, 저장소 문서를 주의 깊게 따르세요. 이 프로젝트는 차량 전자 장치와 통신하는 GPLv3 취미용 소프트웨어이므로 사용에 따른 책임은 사용자에게 있으며, 전기 안전을 최우선으로 하세요.

이 프로젝트는 ChryslerScanner의 프로토콜, 파라미터, 스케일링 및 오류 코드 작업을 기반으로 하며, 연료 트림 스케일링은 분해된 SBEC 코드를 참고했습니다.