(adsbygoogle = window.adsbygoogle || []).push({}); O_o :: 'hardware' 태그의 글 목록

'hardware'에 해당되는 글 1건

  1. 2008.10.08 USB OBD2 AllPro adapter

USB OBD2 AllPro adapter

|

USB OBD2 AllPro adapter

Project Overview

This project is an extension of my USB OBD2 adapter with the support of all OBD2 protocols including CAN. It is compatible with ELM327.

Hardware

Here is the issue - you need both CAN and USB in one chip. Microchip got a bunch of PIC18 processors with CAN functionality, for instance PIC18F2480 or PIC18F2580. But you are out of luck if trying to find the device supporting both CAN and USB. In this case Microchip has another solution - use the standalone CAN controller MCP2515 and interfacing with the main controller thru SPI bus. That is how AllPro adapter supporting CAN protocol. The schematic is shown in Figure 5. As with the previous version of adapter the ISO9141/14230 interface is implemented on MC33290, the J1850 VPW bus is controlled by MC33390 transceiver and the pair of P-channel and N-channel MOSFETs (Q1, Q2) is driving PWM bus and PIC18F2455 internal comparator together with resistors R4, R5 producing the differential PWM input. The sircuit is powered from USB bus. Transistor Q3 is for legacy L-line initialization in ISO9141 protocol.  I do not think that any car sold in US was ever using it but the specs says it might :) The firmware is available for download as well.

 

The OBD2 Cable for AllPro adapter

The adapter uses 9 pin D type female connector to link up to vehicle’s OBD2 J1962 connector. The pinout was chosen to match many of the commercially available cables. The pin connections required of the cable are as follows:

J1962 Pin Description DB9F Pin
2 J1850 Bus + 7
5 Signal Ground 1
6 CAN High 3
7 K Line 4
10 J1850 Bus - 6
14 CAN Low 5
15 L Line 8
16 Vehicle Battery Positive 9

 

You can build the cable yourself as Mouser Electronics started selling J1962 OBD2 connectors made by Delphi.

Note, that it is just connector block, no shell provided and you have to ordered the connector pins separately, see the parts reference table below.

Description

Mouser #

J1962 connector 829-12110252
J1962 connector male pins

829-12047581

DB9 female connector

156-1309-E

DB9 connector shell

156-2009-E

Connecting and Testing

There is no driver required for Microsoft Windows XP/2000/Vista as the adapter using the standard Communication Device Class (CDC) driver usbser.sys included in the distribution. However, Windows doesn’t have a standard INF file for the CDC driver. You can download the info file here. Plug the adapter to a spare USB port on your PC. Windows Found New Hardware Wizard will launch. Skip the Windows Update screen and go to install screen. Select "Install from a list or specific location (Advanced)" as shown below and then click "Next". Select the OBD Adapter INF file and configure the driver.

Open the Device Manager and select "Ports (COM and LPT)", the device appears as a
"Communication Port". Go to  "Port Settings" tab and "Advanced" button. Select the port number you want to use.


Microsoft has a tool for examining the USB connections. USBView.exe is a freeware utility available for download, shows the USB connections tree and displays the details of USB devices connected to it, see the result below:

 

The Software

Here is the list the software I have tested so far with adapter:

Note that the free versions of ScanMaster and EeasyObdII are not supporting CAN protocol, apparently the authors are reluctant to keep them up-to-date.  Here are the screenshots of ScanMaster-ELM:

 

 

 

Adapter PCB

The layout in Gerber format available for download here. The board was designed to fit SERPAC A20 enclosure available from Mouser as 635-A-20-A part or from DigiKey as SRA20A-ND. You can use freeware GerbMagic to view the gerbers.

 

Adapter Kit

I can sell the Adapter blank PCB for $6 plush S/H or a kit that included the board, preprogrammed PIC chip and all the components required for $45 + S/H. The kit doesn't include the OBD2 cable. The assembled adapters available as well...

 

Parts List

I have compiled the parts list for the most of popular electronic components vendors. PIC18F2455, MCP2515 and MCP2551 are available from Microchip Direct. MC33290 and MC33390 available from from Freescale as part of free sample program as MCZ33290 and MCZ33390 modifications.

 

Part

Description

Jameco #

Mouser #

DigiKey #

J1

USB type B connector

841053

806-KUSBX-BS1N-W

609-1039-ND

J2

DB-9M connector

104943

152-3309

A35113-ND

Q1,Q3

2N7000 transistor

783594

512-2N7000

2N7000FS-ND

Q2 BS250 transistor 256057 TP0610KL-TR1-E3 BS250KL-TR1-E3CT-ND
IC1 PIC18F2455 579-PIC18F2455-I/SP PIC18F2455-I/SP
IC2 MCZ33290 MCZ33290EFR2CT
IC3 MCZ33390 MCZ33390EF-ND
IC4 MCP2551/PCA82C250 699780 579-MCP2551-I/P MCP2551-I/P-ND
IC5 MCP2515 579-MCP2515-I/P MCP2515-I/P-ND
X1 Crystal, 16.000Mhz 325139 815-ABL-16-B2 X077-ND
X2 Crystal, 20.000Mhz 325067 815-ABL-20-B2 X062-ND
D1 Blue 5mm LED 78-TLHB5400 67-1751-ND
D2 Yellow 5mm LED 78-TLHY5400 516-1331-ND
D3 Red 5mm LED 78-TLHR5400 516-1328-ND
D4,D5 1N4148 diode 36038 512-1N4148 1N4148DICT-ND
R1,R4,R5,R8 10K Ohm 691104 291-10K-RC 10KQBK-ND
R2,R3 330 Ohm 690742 291-330-RC 330QBK-ND
R6,R7 22K Ohm 691180 291-22K-RC 22KQBK-ND
R9,R10 510 Ohm 690793 291-510-RC 510QBK-ND
R11,R12 100 Ohm 690620 291-100-RC 100QBK-ND
C1,C2,C4,C5 15pF 140-50N2-150J-RC 490-3691-ND
C3,C8,C9 0.1uF 25523 581-BQ014D0104K 478-3383-ND
C6 0.47uF 25558 581-BQ074D0474K 478-3415-ND
C10,C11 560pF 332419 80-C315C561K2R BC1022CT-ND
C7 10uF 16V 198838 647-UVR1V100MDD1TA 493-1036-ND
28 pin socket for IC1 526248 571-3902619 3M5480-ND

Assembling Kit Notes

See assembling notes here

Schematic without MC33290 and MC33390

This is another proof on concept. Some folks are having problem obtaining MC33290 and 33390 chips. In this case you can bring into play the schematic shown in Figure 6. It is using SN75452 and 75453 drivers instead. Note, that it is not the better solution but rather workaround and using Freescale’s dedicated bus drivers is preferable.

And
prev | 1 | next