VW Touran Conversion: Difference between revisions
Line 245: | Line 245: | ||
There is another 6-pole connector whos counterpart has part number 1J0973833. Four of its pins end up inside the ECU so it is useful for getting "miscellaneous" signals out of it. I put the oil pressure simulation and DC switch on it. | There is another 6-pole connector whos counterpart has part number 1J0973833. Four of its pins end up inside the ECU so it is useful for getting "miscellaneous" signals out of it. I put the oil pressure simulation and DC switch on it. | ||
There is another 10-pole connector underneath the car that has quite a few pins ending up in the ECU. It used to be connected to some kind of exhaust sensor. The mating plug has part number 6X0973815. | |||
I will use it for DC switch, fuel tank fill level simulator, | I will use it for DC switch, fuel tank fill level simulator, and CAN bus (towards Nissan LBC). I'm doing the latter because the current CAN bus layout gets disturbed by EMI. |
Revision as of 19:10, 26 January 2020
I will start loosely collecting infos on the VW Touran from 2004.
Throttle Pedal
The throttle pedal is analog, its signals are put onto the CAN bus by the ECU. I chose to remove the latter so I will have to look into reading the pedal directly. Here is its pin map:
Pin # | Color code | Function |
---|---|---|
1 | green/white | 5V |
2 | yellow/green | 5V |
3 | brown/blue | GND |
4 | white/blue | Throttle 1 0.75V-4.1V |
5 | green/blue | GND |
6 | blue/black | Throttle 2 0.38-2.05V |
ECU connector
The ECU is connected to the vehicle with a 94-way connector. I have traced out a few signals.
Pin # | Color code | Function |
---|---|---|
11 | - | Throttle GND (Pin 5) |
12 | Throttle 2 out (Pin 6) | |
13 | Throttle 5V (Pin 1) | |
33 | Throttle GND (Pin 3) | |
34 | Throttle 1 out (Pin 4) | |
35 | Throttle 5V (Pin 2) | |
31 | Vacuum sensor GND | |
37 | Vacuum sensor 5V and P5.7* | |
53 | P5.5 (I use it for fuel level signal A) | |
54 | P5.2 (I use it for fuel level signal B) | |
76 | P5.1 (I use it for DC switch switched GND) | |
80 | P5.4 (I use it for CANL) | |
81 | P5.3 (I use it for CANH) | |
83 | Vaccum sensor signal | |
86 | Ignition On - provides enough power to run the main board | |
87 | While the ECU was connected, bridging this signal to 12V engaged the main 12V supply of the ECU. This behaviour could not be reproduced without ECU | |
67 | CANL | |
68 | CANH |
I will use a revision 2 mainboard for interfacing those signals.
*Underneeth the car there is a 10-pole connector that used to plug in to some exhaust sensor controller. I call this "P5".
Power steering
The power steering is electric and only draws power when you're actually steering. It still worked after engine and ECU were removed. Winner!
As soon as you produce CAN message 0x280 it expects rpm to be above about 600rpm, otherwise there is no power steering.
CAN bus
The car has various CAN buses but we only care about the motor CAN bus (500kbit/s). Here are some useful signals I found:
COB Id | Len | Function | Notes |
---|---|---|---|
0x1A0 | 1 | Byte 1, Bit 3: Brake pedal switch | Produced by whoever |
0x280 | Bytes 2 and 3: RPM*4 | Produced by you, Controls the rpm gauge. Must be > 600 for power steering to work | |
0x284 | 6 | Byte 0, 1: Counter 0-F in each
Byte 2-5: 0 |
20ms. Can also be 8 bytes long. |
0x288 | Byte 0: sequence 0x27, 0x46, 0x8F, 0xD7
Byte 1: Temp Gauge 4/3 x temp + 48 |
Produced by you, Controls temp gauge. Gain 4/3, offset 48 | |
0x380 | 8 | Byte 0: 0
Byte 1: 0x65 Byte 2: Throttle 0-0xFE Byte 3-6: 0 Byte 7: Throttle delayed or filtered maybe + idle throttle as it's never 0 |
It's not actually that constant but apparently sufficient for DSC |
0x38A | Byte 1, Bit 0: Cruise on/off, Bit 1: Disable button, Bit 2: Set-, Bit 3: Set+ | ||
0x480 | 8 | Byte 0: sequence 0x10, 0x68, 0x94, 0xC0
Byte 1, Bit 2: EPC, Bit 3: engine Bytes 3,4: Consumption signal - incremental. Increasing by 28 per 10 ms results in 10l/h Byte 5: 0 Byte 6, Bit 2: Cruise light, Bit 4: Message "Motorstörung Werkstatt!" Byte 7: XOR of Bytes 0-6 |
Controls various indicator lights and fuel consumption display |
0x488 | 8 | Byte 0: Counter 0-F << 4 + 8
Byte 1-4: 21, 21, 7E, A6 Byte 5-6: 0 Byte 7: Counter 0-F << 4 |
|
0x572 | Byte 0, Bit 3: Key switch in start position | ||
0x580 | 8 | Byte 0: 0x80 + counter 0-F
Byte 1, 2: 0 Byte 3: sequence 0x0f, 0x28, 0x7f, 0x28 Byte 4: sequence 0x1e, 0x10, 0x00, 0x10 Byte 5: sequence 0x70, 0x56, 0xf0, 0x56 Byte 6: sequence 0x0c, 0x48, 0xa7, 0x48 Byte 7: sequence 0x46, 0x90, 0x28, 0x90 |
100ms |
More info here: https://wiki.openstreetmap.org/wiki/VW-CAN
CAN bus tap
I wanted to tap into the CAN bus without cutting wires. The power steering assembly is connected via a 6-pole "VW" connector that has the CAN bus on it. The respective part numbers are 1J0973713 and 3B0973813. So I looped through the 4 signals irrelevant to me and directed the CAN bus towards the inverter. The Nissan wiring loom also has a CAN bus return that I then looped back to the power steering.
Faults
After powering up the engine I got two error messages: STOP low coolant and something about an oil sensor. The first can be solved by filling the reservoir with water. The second is probably down to the missing oil level sensor. I will investigate.
Update on oil level warning: I fitted a 1k2 Ohm resistor from pin 2 to pin 3 (generates 2.5V "oil level") and the warning is gone.
Update 2: no it's not gone, it's a bit more complex. Read https://wak-tt.com/guides/ttc.pdf page 84. Maybe I can tell the dash panel to ignore the sensor.
Update 3: successfully programmed the instrument cluster to ignore the missing sensor. You need a CAN OBD adapter with matching software. Then in adaptation channel 39 change value to 0 (=sensor not present). Found here: http://wiki.ross-tech.com/wiki/index.php/VW_Golf_(1K)_Instrument_Cluster
Also the oil pressure switch needs to be faked. Below about 800rpm no oil pressure must be reported. Above 800rpm it must be by pulling the signal to GND. Otherwise you get a "STOP!" message. There is a few seconds time to gracefully switch over. Oil pressure switch is on plug on the front left.
I have implemented the oil pressure faking in my custom ECU.
Update: The threshold for the "dynamic oil pressure warning" can be adjusted down to 0, apparently. In that case it could just be clamped to GND, I reckon.
Counter part of the shown connector has part number 3C0973837.
DSC light
A bit harder to fake was the messages for the ABS/DSC system. It seems all messages originally produced by the ECU need to be on the bus. That is Ids 0x280, 0x284, 0x288, 0x380, 0x480, 0x488, 0x580 and 0x588. So far it seems their content doesn't have to match exactly. I will update the table above.
More connectors
There is another 6-pole connector whos counterpart has part number 1J0973833. Four of its pins end up inside the ECU so it is useful for getting "miscellaneous" signals out of it. I put the oil pressure simulation and DC switch on it.
There is another 10-pole connector underneath the car that has quite a few pins ending up in the ECU. It used to be connected to some kind of exhaust sensor. The mating plug has part number 6X0973815.
I will use it for DC switch, fuel tank fill level simulator, and CAN bus (towards Nissan LBC). I'm doing the latter because the current CAN bus layout gets disturbed by EMI.