The Subaru SVX World Network   SVX Network Forums
Live Chat!
SVX or Subaru Links
Old Lockers
Photo Post
How-To Documents
Message Archive
SVX Shop Search
IRC users:

Go Back   The Subaru SVX World Network > SVX Main Forums > MOD Mania > Transmission and Drivetrain

Reply
 
Thread Tools Display Modes
  #91  
Old 08-19-2013, 06:14 PM
SoobCrazy SoobCrazy is offline
SVX n00b
 
Join Date: Jun 2010
Location: Western Washington
Posts: 292
Registered SVX
Re: OBDII Mt conversion???

Huskymaniac, I am working (slowly, due to fundage) on swapping a 5MT into my '96 and would be more than happy to try out your chip! Take your time with pulling those waveforms (within reason, 2013 would be nice, lol ).

Let me know what you find in the meantime and if I can help in any way, shape or form!
Reply With Quote
  #92  
Old 08-19-2013, 08:53 PM
Huskymaniac's Avatar
Huskymaniac Huskymaniac is offline
Uses the ignore feature
 
Join Date: Jul 2010
Location: Corning, NY
Posts: 1,872
Registered SVX
Re: OBDII Mt conversion???

Quote:
Originally Posted by SoobCrazy View Post
Huskymaniac, I am working (slowly, due to fundage) on swapping a 5MT into my '96 and would be more than happy to try out your chip! Take your time with pulling those waveforms (within reason, 2013 would be nice, lol ).

Let me know what you find in the meantime and if I can help in any way, shape or form!
I think I could whip something up quickly so let me know when you are ready for it. I may find time to monitor the waveform under more conditions but I REALLY hate hanging upside down and combing though those wires.
__________________
Tony

1996 Polo Green Subaru SVX LSi, 168,XXX miles, Redline D4 ATF, Redline 75W90 gear oil, K&N HP-4001 Oil Filter, Mobil 1 5W50 FS (3qt) and 5W30 High Mileage (4qt) Oil Blend, Motul RBF600 Brake Fluid, AC Delco A975C Air Filter, NGK BKR6EIX-11 plugs, Centric Rotors, Power Stop Evolution Carbon Fiber Ceramic Brake Pads
2005 Gray Acura RL, 165,XXX miles, Redline D4 ATF with Lubegard Platinum Protectant, Mobil 1 5W20 High Mileage Extended Performance Oil
2009 Red Toyota Venza, 123,XXX, Mobil 1 5W30 High Mileage Oil
1992 Red Ferrari 348 ts, 82,XXX, Redline everything
Reply With Quote
  #93  
Old 07-14-2019, 06:03 PM
Dispatch20 Dispatch20 is offline
Registered User
 
Join Date: Apr 2019
Location: New York
Posts: 14
Re: OBDII Mt conversion???

Quote:
Originally Posted by Huskymaniac View Post
I think I could whip something up quickly so let me know when you are ready for it. I may find time to monitor the waveform under more conditions but I REALLY hate hanging upside down and combing though those wires.
Bumping this topic from 5 years ago, as I'd like to add information relevant to the discussion. I've posted this on the SVX Facebook group but wanted to share it here, as well.

The OBDII TCU->ECM link is pretty simple, and not nearly as complex as others in this thread have speculated. Here are the basic facts:
  • The link is unidirectional from the TCU -> ECM. It appears to be a TTL-style push-pull signal (i.e. no pullup).
  • It is a single 5V digital signal that runs from the TCU to pin 80 of the ECM connector
  • It is a serial port stream but NOT a UART-style (e.g. COM port with standard baud rate and start/stop characters)
  • The bit rate is 10ms (very slow!) and repeats every 750ms. This means there are 75 characters (bits) in the repeating stream of data

I've observed 2 states with the use of a Digital oscilloscope as well as an Arduino computer setup to log the data stream. As noted above, there are 75 bits (10ms per bit) and they repeat indefinitely. The stream begins the second the key is in the ON position and continues after the ignition is started.

Here is a snapshot of the stream (a few traces of the signal are overlapped; I apologize!):


Park/Neutral sequence:
Code:
111111111100001100100100100100100100100100100100100100100100100100100101100
Reverse/Drive/2/3 sequence:
Code:
111111111100001100100100100100100100100100100100100100100100100100100100101
Notice the small variation in the code above for being in Park vs Drive. Also notice that the pattern in both cases starts with 10 '1's followed by a '0'. We can use this to our advantage in data logging.

YouTube video of digital oscilloscope is here: https://www.youtube.com/watch?v=1zMiSCoyKzw

I've driven the car while logging the TCU datastream and observed that no change in pattern occurs during shifting, throttle, or steering changes. The same pattern occurs in 1st, 2nd, 3rd, and 4th gears.

Given the simplicity of this, it seems feasible to do a 5MT swap and emulate this OBD2 TCM serial port link. It doesn't seem like the ECM needs it for much. So how would this be done? I used an Arduino Uno to record the TCU stream with the OBD2 automatic tranny in operation. I can use the same Arduino to transmit the patterns noted above into the ECM. This should prevent the CEL light for code for 5MT swaps.
Attached Images
File Type: jpg tcu_Stream.jpg (316.9 KB, 1058 views)

Last edited by Dispatch20; 07-14-2019 at 06:59 PM.
Reply With Quote
  #94  
Old 07-14-2019, 06:12 PM
Dispatch20 Dispatch20 is offline
Registered User
 
Join Date: Apr 2019
Location: New York
Posts: 14
Re: OBDII Mt conversion???

In case you're curious and have some programming background, here is my Arduino C software for data logging the TCU data stream. To print out a nicely formatted line of data, I took advantage of the 10 repeating 1's followed by a '0' to synchronize my data capture. The hardware used is an Arduino Uno chinese clone that was $13 on Amazon.

I had to make a couple probe wires to stick in Pin 80 of the ECM and then into the Arduino digital connector pin #2.

Here is information on the ECM connector and a picture of my wire going into it. It's pretty easy to see and find but you need to be pretty flexible to stick your head under the dash.



You also need to create a common ground between the Arduino and the vehicle. I used some alligator clips on the cigarette lighter ground and then to a ground post on the Arduino. If you don't ground the car to the board nothing will work!

Here is a quick video of my prototype setup with the TCU wire, Arduino, and hacked together grounds: https://www.youtube.com/watch?v=F9ddmpcpLQs



Anyways, here is the Arduino software. And you can (hopefully) get the latest copy here: https://create.arduino.cc/editor/Dis...1e9984/preview

Code:
/*
  OBDII SVX TCU Logger

  Reads the 5V serial data stream output from Pin 80 of the OBDII TCU
  
  The purpose is to record the TCU output stream and allow another piece of 
  software to recreate the stream when the TCU is absent.  The primary use
  is to allow a manual transmission swap without throwing a check engine light
  for P1702.

*/

// Use Pin 2 of Uno board to receive the TCU output stream.
int TCU_Output = 2;

// the setup routine runs once when you press reset:
void setup() {
  // initialize serial communication at 9600 bits per second:
  Serial.begin(9600);
  // make the pushbutton's pin an input:
  pinMode(TCU_Output, INPUT_PULLUP);
}

void loop() {
  
  int TCU_Val, Sync_Val = 0;
  
  // Sync up to data stream
  // O-scope showed a consistent 100ms of '1' followed by a '0' and the rest of the 750ms repeating sequence */
   while(Sync_Val < 96) {
    TCU_Val = digitalRead(TCU_Output);
    
    if(TCU_Val == HIGH) {
      Sync_Val++; 
    } else {
      Sync_Val = 0;
      Serial.println("Not Sync'd"); // This should only happen on startup if the Arduino starts logging after the car is turned on
    } 
    delay(1); // 10x oversample for sync (e.g. 1ms sample rate on data that changes at 10ms)
  
  
    // About 95 milliseconds have elapsed which gets us close to 100ms.  
    // The next 0 value after this will indicate the start of sequence.
    if(Sync_Val == 95) { 
      Serial.println("Sync'd!!!!");
      Sync_Val++;  // Value of 96 will exit while loop
    } 
  }
  
  // Stall waiting for TCU to push a zero after the 100ms '1' sync sequence
  // This should only be a few cycles (and you can let it print to serial to prove this)
  while(digitalRead(TCU_Output) != LOW) {
    //Serial.println("Stalled waiting for 0 after sync");
  }
  
  // Once the zero is lowered, we will expect a new bit every 10 ms
  // So lets delay 5ms and sample at the middle of the data valid time (e.g. data is 10ms long, sample at midpoint)
  delay(5);
  
  // read and print out all 64 bits remaining (750ms - 100ms sync '1' - 10ms sync '0' = 640ms/10ms = 64 bits)
  for(int i = 0; i < 65; i++) {
    TCU_Val = digitalRead(TCU_Output);  
    if(TCU_Val == HIGH) {
      Serial.print('1');
    } else {
      Serial.print('0');
    }
    
    delay(10); // 10ms bit rate.  
  }
  // Print a newline then loop back to sync
  Serial.println();

}
Attached Images
File Type: jpg ecm_wire.jpg (302.3 KB, 1383 views)
File Type: jpg Picture.jpg (56.9 KB, 1368 views)

Last edited by Dispatch20; 07-14-2019 at 07:04 PM.
Reply With Quote
  #95  
Old 07-14-2019, 07:25 PM
irox irox is offline
Registered User
 
Join Date: Jun 2016
Location: CA
Posts: 323
Re: OBDII Mt conversion???

Nice! Thanks for sharing. I was thinking about trying to do something similar (arduino to fake the TCU for a MT swap). Ultimately I didn't get an OBDII car, so won't have them problem. But still great to you do (and share!) this, nice to know I was thinking along the right lines.

Cheers!
Ian.
Reply With Quote
  #96  
Old 07-15-2019, 10:16 AM
SoCoNoHa's Avatar
SoCoNoHa SoCoNoHa is offline
H6 Fanatic
 
Join Date: Nov 2016
Location: Southern NH
Posts: 99
Registered SVX
Re: OBDII Mt conversion???

Keep the TCU connected, and wire in some 10 watt 1.5k resistors as dummy loads for the solenoids, and a 330ohm resistor for the temp sensor. That's enough to get the TCU for an EZ30 to play nice, bet it works for the SVX as well.
__________________
1992 SVX LS-L : King of the Stable
LGT 5MT, ABS Delete, Short Ram Intake, Custom Exhaust, Drilled/Slotted Rotors

1993 Legacy sedan : winter beater, supposedly.
1994 Legacy wagon : future drift car?
1995 Impreza coupe : EZ30++, daily racecar.
1997 Legacy GT : date night rocket?
2003 WRX : future winter beater
Reply With Quote
  #97  
Old 07-15-2019, 12:17 PM
Dispatch20 Dispatch20 is offline
Registered User
 
Join Date: Apr 2019
Location: New York
Posts: 14
Re: OBDII Mt conversion???

Quote:
Originally Posted by SoCoNoHa View Post
Keep the TCU connected, and wire in some 10 watt 1.5k resistors as dummy loads for the solenoids, and a 330ohm resistor for the temp sensor. That's enough to get the TCU for an EZ30 to play nice, bet it works for the SVX as well.
I bet that would work, too. Does anyone have the obd2 wiring diagram for the TCU?
Reply With Quote
  #98  
Old 07-21-2019, 03:45 PM
Dispatch20 Dispatch20 is offline
Registered User
 
Join Date: Apr 2019
Location: New York
Posts: 14
Re: OBDII Mt conversion???

FYI - Here is the OBD2 ECU and TCU pinouts:http://www.alcyone.org.uk/ssm/obd2pinout.pdf

Anyways, I am trying to make the P1702 check engine light come on to see how and when it happens. I cut the signal from the ECU Pin 80 (AT diagnosis data waveform), and it didn't throw a check engine light. I drove around the block a couple of times and let the car warm up, and no CEL. I drove it around again today with it cut and still nothing. I actually went and disconnected the entire TCU harness (3 connectors worth) and drove the car around again. It drove fine around the block and still had no CEL.

Any ideas why the CEL isn't turning on for this? My OBD2 scanner had no current or pending codes. People clearly get the P1702 when they do 5MT swaps, so I wonder if it is a combination of factors that cause it to be thrown? And not just the one wire serial stream?

My plan was to
  1. Cut the TCU<->ECU diagnosis signal and get CEL
  2. Clear CEL code
  3. Use Ardunio to transmit in the 750ms pattern I recorded during regular operation.
  4. Hope that CEL does not go on with Arduino running
  5. Do 5MT and use Arduino to keep the CEL off

Here is the cut wire with spade terminals for easy reconnection, and connection to an Arduino for logging the TCU, or emulating a TCU signal into the ECU:
Attached Images
File Type: jpg 20190719_193024.jpg (104.6 KB, 1043 views)
Reply With Quote
  #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, 1020 views)
File Type: jpg 20191006_141228.jpg (82.8 KB, 970 views)
File Type: jpg 20191006_143028.jpg (363.9 KB, 987 views)
File Type: jpg 20191006_143045.jpg (322.7 KB, 1042 views)
File Type: jpg 20191006_143102.jpg (325.8 KB, 383 views)

Last edited by Dispatch20; 10-12-2019 at 07:53 PM.
Reply With Quote
  #100  
Old 10-06-2019, 05:22 PM
Dispatch20 Dispatch20 is offline
Registered User
 
Join Date: Apr 2019
Location: New York
Posts: 14
Re: OBDII Mt conversion???

So I installed the setup. I ran a wire (purple) from the Arduino up to the ECM, and powered it all up (black wire to fuse tap in fuse panel):


I proceeded to take the car on a long cruise, and unfortunately I read out a "PENDING 1702" code, so something isn't correct yet. That's to be expected given this is such an experiment.

I must be missing something (or a few things). I'll need to do a full highway drive with the Arduino logging the TCM signal, and comparing that to what the Arduino is outputting.

I'll post back again when I learn any more about this. I realize this isn't a hot topic, but hopefully people find this interesting!
Attached Images
File Type: jpg 20191006_144237.jpg (442.5 KB, 998 views)

Last edited by Dispatch20; 10-12-2019 at 07:52 PM.
Reply With Quote
  #101  
Old 10-06-2019, 05:35 PM
Blacky Blacky is offline
51 Club
 
Join Date: Aug 2008
Location: LSM, Quebec
Posts: 2,538
Registered SVX
Re: OBDII Mt conversion???

It is interesting indeed. Don't be discouraged by the lack of activity on this site. It has gotten that way in the last couple of years.
__________________
1997 Bordeaux Pearl, 2010 Mercedes Benz GLK350, 2018 BMW 640i GT Xdrive, 2012 Moto Guzzi Norge GT 8V,
Reply With Quote
  #102  
Old 10-06-2019, 06:53 PM
Sean486's Avatar
Sean486 Sean486 is offline
Happy SVX
Subaru Silver Contributor
 
Join Date: Jul 2005
Location: Mechanicsburg, PA
Posts: 3,407
Registered SVX
Re: OBDII Mt conversion???

I think there are lots of people that would love to see this figured out.
__________________
1992 LSL ebony pearl 170k - Thank you Ron Mummert
Reading Box of Wine Car
-----------------------------------
1992 SVX LSL 5-Speed Sold at 180K 2019
1995 SVX Lsi Polo Sold at 118K 2007
Reply With Quote
  #103  
Old 10-08-2019, 12:48 PM
theflystyle's Avatar
theflystyle theflystyle is offline
Registered User
Subaru Bronze Contributor
 
Join Date: Jul 2008
Location: Fulton, MD
Posts: 781
Registered SVX
Re: OBDII Mt conversion???

Im not able to provide any useful commentary but I wanted to let you know this is a very interesting thread
__________________
1994 SVX LSi
JDM Tailbar and Grill, Clear Corners, 15min-mod, Nevin Blue RSB, G-FORCE SPORT COMP-2 Tires, Phenolic Spacers (Manifold & Throttle Body), SS Brake Lines, Maniac Electric Motors 160A Alternator
2008 Legacy 3.0R
Reply With Quote
  #104  
Old 10-11-2019, 07:37 PM
92 SVX 92 SVX is offline
Registered User
 
Join Date: Feb 2010
Location: Jax Florida
Posts: 1,469
Registered SVX
Re: OBDII Mt conversion???

I can tell you if there was a like button I and many others would have mashed it...

speaking of likes have you posted your findings on svx nation on facebook? I know currently that is the hotspot for svx activity.
Reply With Quote
  #105  
Old 10-12-2019, 02:45 PM
wdb wdb is offline
dances with roads
 
Join Date: Feb 2010
Location: Pennsylvania
Posts: 630
Registered SVX
Re: OBDII Mt conversion???

Another "Like" button presser here. Keep us updated!
__________________
1995 Caterham 7 Twincam
2002 Porsche 911 targa -- now with FSI 4.0L power!
2007 BMW 328i Cabriolet
2012 Tacoma 4wd v6 Access Cab
2013 Mercedes E350 4Matic Wagon
2005 STi - totaled after 10 great years
1994 SVX LSi 5spd - sold but not forgotten
2000 Legacy GT 5spd sedan - gone after 150K miles of bliss
Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -6. The time now is 02:29 AM.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
© 2001-2015 SVX World Network
(208)-906-1122