View Single Post
  #99  
Old 10-06-2019, 05:13 PM
Dispatch20 Dispatch20 is offline
Registered User
 
Join Date: Apr 2019
Location: New York
Posts: 14
Re: OBDII Mt conversion???

Update: I previously had issues getting the CEL to go on for code 1702. I think the key is going on highway speeds for 10 minutes or more. Now that I can get the CEL to throw, I can test whether or not I can trick the ECM into thinking the TCM is in good shape.

Anyways, I put together a setup that can drive whatever signal it needs into the ECM.

I think the total cost should be below $50 to reproduce this:
Arduino Uno R3 clone - $12 (requires 5V-12 power, so you can't use the 14.4V from the car)
USB Type B 1.5" cable - $8
12V DC to 5V DC regulator - $12 (for powering Arduino via USB port)
Fuse Tap - $5

Here is what the TCM emulator setup looks like all connected together and ready for install:


And I loaded the following code I wrote on the Arduino:
Code:
/*
  OBDII SVX TCU Emulator

  Transmits a sequence of serial bits to the ECU to prevent a check engine light
  when the TCU is absent (e.g. manual transmission swap)

*/

// Use Pin 2 of Uno board to transmit the serial stream.
int TCU_Output = 2;

// the setup routine runs once when you press reset:
void setup() {
  // Output pin for ECM input data stream
  pinMode(TCU_Output, OUTPUT);
}

void loop() {

  // The TCU outputs 75 bits at 10ms for a 750ms cycle time
  // This sequence is what the TCU outputs when in Drive or Reverse
  char data_drive[75] = "111111111100001100100100100100100100100100100100100100100100100100100100101";
  // This sequence is what the TCU outputs when in Park or Neutral.  May not need to use this.
  char data_park[75] = "111111111100001100100100100100100100100100100100100100100100100100100101100";
  
  // Print out the entire sequence
  for(int i = 0; i < 75; i++) {
    if(data_drive[i] == '1'){
      digitalWrite(TCU_Output, HIGH);  
    } else {
      digitalWrite(TCU_Output, LOW);    
    }
    
    delay(10); // 10ms bit rate.  
  }

}
Here is what the fuse tap looks like. The 15A blue fuse is for the radio, and the gray fuse is a 2A one I am using for the 5V Regulator and Arduino.


Here is the fuse tap inserted into the Radio fuse. This is one of the few fuses that has no power when the key is in the OFF position. You wouldn't want the Arduino powered up when the car is OFF! Also, you need to be careful with fuse taps. If you install it backwards it bypasses the fuse! Use a voltmeter to find the "hot" side of the fuse. You can see the orientation and location of the fusetap that I chose below. Also, note the metal nut at the very bottom of the picture; that is what I used to ground the regulator and Arduino.

Note: I had to Dremel the fuse tap skinnier so that it would fit into the fuse panel. I must have had the wrong size/shape fuse tap.

The fuse panel cover does fit over the installed fuse tap as long as I dremeled out a small portion near the latch.
Attached Images
File Type: jpg 20191006_141223.jpg (316.2 KB, 1009 views)
File Type: jpg 20191006_141228.jpg (82.8 KB, 961 views)
File Type: jpg 20191006_143028.jpg (363.9 KB, 977 views)
File Type: jpg 20191006_143045.jpg (322.7 KB, 1033 views)
File Type: jpg 20191006_143102.jpg (325.8 KB, 377 views)

Last edited by Dispatch20; 10-12-2019 at 07:53 PM.
Reply With Quote