User:1sfoerster/enes100/fall2013/p1ECO

Problem Statement (Finish description)
 File:ECU Wiring Diagram.JPG|ECU Wiring Diagram. 54 physical wires, 45 documented wires. 9 undocumented from the diagram. Highlighted the ones we found that we need to connect to the OBD connecter. 
 * Get ECU outside the car powered on and talking to an ODB code reading device
 * |OBD Auto Scanner to ECU Diagnostic
 * Make list of open source ECU's and open source car simulation mechanisms, cost, features, incompatibilities. Determine how standardized the ECU Market is.
 * A list of open source ECU's of the /ECU Market/.
 * Document wiring harness of an ECU by figuring out the resistance between every possible combination of two wires in the same cable bundle.

Conceive
Market/Customer Needs ECU's are computers in our cars/trucks/wheel chairs/ golf carts/ etc. They can be worth thousands of dollars but are thrown away because they are proprietary. Existing standards need to be promoted, and more open standards pushed for so that cars become easier to work on at home.

Initial target goals Get a simple CPU working outside the car, in a lab where it can be explored.

Project cost and schedule Find junk car, take ECU out of it and get it to work with a OBD code reader.

Alternatives ........
 * Read the ECU through a OBD Auto Scanner.
 * Read the ECU through a OBD - USB Cable via the computer.
 * Be able to configure the ECU schematics.
 * Use a CAN BUS arduino shield which simulates a car's functions and components with out them actually being there.

Design

 * Reverse Engineering:
 * Training video and tutorials found
 * ECU tuning with computer software
 * ECU reflash for improving motorcycle performance
 * How tuning ECU for ignition timing increases horsepower
 * Service Manuals found
 * ECU Wiring Diagram for a 1996 Isuzu Hombre.
 * The break down into assemblies and modules

Removal of ECU

 * We removed the ECU, striped all the wires, unplugged all the sensors in about two hours.
 * The pictures below describe the removal process visually:

 File:ECU hooked up.JPG|ECU hooked up File:Auto Scanner OBD Connecter.JPG|Auto Scanner OBD Connecter File:ECU in car.JPG|ECU in car File:Tearing out the wires.JPG|Tearing out the wires File:Auto Scanner Reader.JPG|Auto Scanner Reader File:ECU Wires.JPG|ECU Wires File:ECU Plugs.JPG|ECU Plugs 

Before we took the ECU out of the truck, the OBD Auto Scanner was connected to the ECU and it did not ready any codes indicating there were no major problems with the truck. However the ECU did talk/communicate with the ODB Auto Scanner.

Identifying Wires
The first step was to remove the unnecessary parts from the mass of wires. There are three ports on the ECU that are color coded with bundles of wires (green, blue, and white). The wire bundles are intertwined with one another and an external A/C plug, which isn't needed, so we unplugged the wires connecting to it and sorted all those wires back into the three bundles.

Opening Up the ECU
To get a better look at the ECU, we opened the shell to inspect the PCBs.

We identified which of the ECU plugs were A, B, and C according to a diagram and determined the functions of some of the wires and plug pins:
 * Plug A is black, and has 20 active pins (out of 32)
 * Plug B is white, and has 18 active pins (out of 32)
 * Plug C is blue, and has 16 active pins (out of 32)

ODB Connector Details
The OBD Connector end has 6 wires coming out of it. 1 Orange, 1 Purple, 1 lite brown,1 lite brown/white, 1 solid black and 1 black w/white stripe. Out of the ECU plugs we had 4 solid black, 2 black w/white strip, 1 orange, 1 purple, 3 lite browns. Only one orange and one purple came out of the ECU plugs. The orange wire seems to be connected to many components on the ECU circuit boards. There were four black wires out of the ECU and two out of the ODB connector. The black wires were all connected to ground in the ECU. We are going to connect these wires out of the ECU (A13, A14, A16, A30, B1, B3, B10, B12, B14, B23, and C17) to the ODB harness. Wires A14, B1, B23, and C17 can not be found in the schematic. Three of these are black, one is brown.

We went over the diagram to find out if any other wires exist coming out of the ECU that are not in the wiring schematic. There are 54 wires in the bundles, and 49 shown on the diagram. But 4 are on the diagram twice (B3, B17, C31, and C32) resulting in 9 unaccounted for wires: (A5, A14, A23, B1, B23, B30, B32, C2, and C17).

Figuring Out ECU Ground and Power
We used a multimeter to locate 9 (A17, A25, B23, B1, B12, B14, C17, C7, C9) wires that were connected to the ECU chassis. An Ohm meter returned about 3 ohms of resistance for each. The wires connected to these pins were not all black.

Pins (B18, B19, B31, C27, C29, C31, C32) were between 500 and 2k ohms indicating they are involved with the ECU circuitry.

The schematic indicates that orange and pink wires carry 12 volts. An orange wire connects the ECU to the OBD connector.

Testing
Connecting power to the orange wire into the ODB connector and ground to the black causes a blue LED to turn on inside the OBD connector and causes the Code reader to power on. The code reader was previous loaded with details about how to communicate with a 1996 Izzuz pickup. Selecting this entry causes the Code Reader to go into Working mode where it asks for the ignition key to be turned on. Then it displays an error indicating it can not communicate with the ECU.

Using a device designed to turn a computer into Code Reader resulted in the computer attempting to register a USB device, but failing to install a driver. However it Putty recognized the USB port and attempted to listen for data from the ECU. Sending data to the ECU failed, and nothing was ever sent by the ECU to the computer.

CAN BUS Protocol
After reading through wikipedia pages on ODB standards, it was clear that communication between the ODB and the ECU is not serial. Although the ODB connector may change it into serial in order to communicate the information with a computer. It is more likely that a protocol called "Can Bus" is used to communicate between the ODB connector and ECU. The next step was to buy a Can Bus shield for an arduino, and practice communicating through the CAN Bus between arduino's. Then attempt to communicate with the ODB connector and/or ECU.

Ignition Switch
Normal operation of any ODB Code reader is to connect the Code reader while the car is off, prepare the Code Reader, turn the car on, wait 10 seconds and then begin querying the ECU with the Code Reader. One of the wires from the ECU or ODB connector needs to be grounded or connected to 12 volts to simulate ignition being turned on. A systematic/educated guess system needs to be established so that all possibilities are tried.


 * |OBD Auto Scanner to ECU Diagnostic

Connect similar wires
Just one black wire to the ECU and one black wire to the ODB connector were attached to ground. We need to test connecting all the black wires to ground.

Should try connecting all the pink wires to 12 volts. This may power on the ECU.