Transmission Temp sensor query

A forum for discussing applications and implementations of the MegaShift transmission controller code for the GPIO from B&G. This can control up to 8-speeds and 6 shift solenoids (plus a 16x9 table for controlling a PWM line pressure valve). It has manual and fully automatic modes (16x9 load x speed table), with under and over rev-limit protection, and full data logging of all inputs and outputs (among many other abilities). A TransStim to test your completed board is also available.
Addicted
Posts: 188
Joined: Mon Oct 14, 2013 7:14 am
Location: Winchester, England

Transmission Temp sensor query

Post by Addicted »

I've found that the temp sensor in my transmission isn't the normal setup of a thermister connected to ground giving a variable resistance, in effect it is reversed, it is supplied with 12v (shares its supply with the shift solenoids) and then its 'earth' comes back to the TCU.. giving a variable voltage..

Anyone suggest a way in which I can connect this to the megashift?

The manual kindly gives three points of resistance with the TCU disconnected and ignition off:
20C (68F) 0.247meg
60C (140F) 48.8K
120C (216F) 7.4k

I'm thinking that I should change the circuit from a resistance sensing to a voltage sensing by removing the pullup resistor and fitting a 470ohm resistor in Rb.. that should convert the 0-12v input to 0-5v... knowing the resistances I should be able to calculate the voltage seen by the processor.. which I'm assuming will be 0-255 adc.. shouldn't I then be able to fool the thermistor calibration?

So 12v through the voltage devider will give me 3.837v which would be 196 adc, 6v through the voltage devider will give me 1.918v which would be 97 adc etc etc...

Am I way off with this?
Bernard Fife
Posts: 1696
Joined: Fri Apr 04, 2008 1:28 pm

Re: Transmission Temp sensor query

Post by Bernard Fife »

Addicted,

It seems odd that they would specify resistances if in fact they signal was voltage. However, a 12V voltage based signal is not difficult to work with. You basically have to build the GPI3 circuit as a 'voltage sensing circuit' as described here: http://www.msgpio.com/manuals/gpi.htm#volts (and you might want to check out this too: http://www.msgpio.com/manuals/mshift/adccalc.html it has an ADC calculator).

The main reason that OEMs don't typically use the 12V supply to a sensor is that 12V nominal can actually be anywhere from 11.5 to 14.5 even in a perfectly functioning electrical system, and this can a direct impact on the accuracy of the sensor. This can be worked around by also measuring the supply voltage and a number of correction calculations, but it is a complication that can be avoided (and usually is) by supplying a regulated 5V (or sometimes 8V).

Lance.
"Never wrestle with pigs. You both get dirty and the pig likes it." - George Bernard Shaw
Addicted
Posts: 188
Joined: Mon Oct 14, 2013 7:14 am
Location: Winchester, England

Re: Transmission Temp sensor query

Post by Addicted »

Thanks Lance, you've confirmed my thoughts, it was the INI side of things I needed help with.

The Audi 097 solenoid pack is a flexi circuit that includes the temp sensor. There are simply no grounds, 10 wires, 2 power, 7 solenoids, 1 temp.
The 12v is fed from the TCU, maybe its a regulated 12v?
ForumAdminTeam
Site Admin
Posts: 7
Joined: Fri Apr 04, 2008 10:28 am

Re: Transmission Temp sensor query

Post by ForumAdminTeam »

The 12v is fed from the TCU, maybe its a regulated 12v?
Addicted,

It's not impossible, but less likely. A steady 12V from a nominal 12V source is more difficult because typically you need a voltage difference to regulate (the difference is known as the "dropout"). And sometimes you would have to boost the voltage (from say 11.5V to 12.0V). There are components that can do this, of course, but they add complexity with no real gain in utility (the OEM may think otherwise, though).

Are you sure the temp connection isn't for the Vref voltage through the bias resistor, with the round being internal (rather than connected to a 12V supply)?

A DMM would show you pretty quickly on the trans connector (harness disconnected):
- if it is grounded internally it should show the resistances you mentioned between the temp sensor pin and ground (likely the trans case).
-if it is connected to the 12V source, a resistance measurement between the 12V pin and the temp sensor pin will show the resistances you mention.

In any case, either can be made to work, it just may require more research if the trans wiring isn't 'conventional'.

Lance.
Addicted
Posts: 188
Joined: Mon Oct 14, 2013 7:14 am
Location: Winchester, England

Re: Transmission Temp sensor query

Post by Addicted »

It looks like the temp sensor is a descrete device built into the flexi circuit. Without dropping off the oil pan its difficult to see. All I do know is that the sensor is not available on its own, only as part of the flexi circuit.

I have a couple of different wiring schematics for the solenoid pack, they vary slightly in the amount of resistors etc but they all share one characteristic in that there are no earth connections..

Just got to get my head around setting the ADC count in the INI file..

Also, the link you gave above ^^ http://www.msgpio.com/manuals/gpi.htm#volts appears to contradict itself..
If you are sensing a signal with a nominal 12V amplitude, then you need to make a voltage divider from Ra and Rb. To do this, you can create a voltage divider by using Ra = 2 × Rb (Ra = 1K Ohms and Rb = 470 Ohms works
but below it the equation:
Vout = Vsignal * [(Ra)/(Ra + Rb)]
Means that if Ra is 1k then Rb needs to 2K..

What am I missing?
Bernard Fife
Posts: 1696
Joined: Fri Apr 04, 2008 1:28 pm

Re: Transmission Temp sensor query

Post by Bernard Fife »

Addicted,

That is a mistake in the doc (which I will fix immediately).

The correct calculations are:

Vsup = I * (Ra + Rb), where I is the current flow

or I = Vsup/(Ra + Rb)

since the current flow is the same in each resistor, Ohm's law gives the voltage drop in each resistor:

Vb = I * Rb

or Vb = Vsup/(Ra + Rb) * Rb = Vsup * Rb/(Ra+Rb)

and Vb is the voltage drop across Rb, but since Rb is connected to ground at one end, Vb is also the signal voltage.

so:

Vsig = Vsup * Rb/(Ra+Rb)

(This was incorrectly stated as Vsig = Vsup * Ra/(Ra+Rb) ) in the doc.)

Lance.
"Never wrestle with pigs. You both get dirty and the pig likes it." - George Bernard Shaw
Addicted
Posts: 188
Joined: Mon Oct 14, 2013 7:14 am
Location: Winchester, England

Re: Transmission Temp sensor query

Post by Addicted »

Hi Lance,

So should my thermistor in the trans be, in effect, Ra?

Therefore @ 120C Ra is 7400ohms, if peak voltage could be 15v, then Rb would be 7400/2 = 3700 (pick a prefered resistor value of 3K3)

It means the 3 point values from the manual in the first post:

20C - Ra = 247000, Rb = 3300, Vin = 15, Vout would be 0.198v, ADC 40
60C - Ra = 48800, Rb = 3300, Vin =15, Vout would be 0.95v, ADC 194
120C - Ra = 7400, Rb = 3300, Vin =15, Vout would be 4.63v, ADC 947

Where I'm struggling is calculating the multiplier and constant:

clt = scalar, S16, 18, "ºC", 0.055556, -320.0

I've read and reread http://www.msgpio.com/manuals/mshift/adccalc.html and just can't get my head around it..

Ignoring the voltage input and going straight to the voltage section, also ignoring that it refers to pressure.. if I input Pressure 1 as 20 (degrees C) and Pressure 2 as 120 (degrees C), Voltage signal 1 as 0.198v and Voltage signal 2 as 4.63v I get a Multiplier of 0.11 and a constant of 15.48... is that right?
Bernard Fife
Posts: 1696
Joined: Fri Apr 04, 2008 1:28 pm

Re: Transmission Temp sensor query

Post by Bernard Fife »

Addicted,

You don't need to mess with the INI. You should use the temperature input pin, and the temperature calibration function built in to TS.

If your sensor really does have a 12V supply (as discussed above), then ignore the fact that it is a resistance, and treat is as a voltage source. This will provide a temperature dependent voltage that will be reflected in the ADC count. Neither Ra nor Rb represent the thermistor, they are a voltage divider circuit only (they are there to cut the signal from as much as 15V to under 5V).

You can't directly use the INI to set up the temperature from a thermistor because the thermistor's response is non-linear, so the ADC count has to be fed through a 'look-up table' to get the temperature from the voltage. You need to adjust the table so that the temperature matches the input voltage (as modified by the voltage divider circuit we have been discussing). Luckily, that is exactly what the TS thermistor calibration process does.

What you put in to the TS calibration routine depends on what voltages the sensor circuit delivers (if it works as you say, and isn't grounded internally as discussed above). Since I don't know what those voltages are, I couldn't really help you with the TS setup values at this point. You can either measure some voltage/temperature points, or fit the curve by trial and error, I suppose.

Lance.
"Never wrestle with pigs. You both get dirty and the pig likes it." - George Bernard Shaw
Addicted
Posts: 188
Joined: Mon Oct 14, 2013 7:14 am
Location: Winchester, England

Re: Transmission Temp sensor query

Post by Addicted »

Not sure we are the same wavelength here Lance..

I'll ignore the INI now.

Why can't the thermister be Ra?

If I build a voltge divider circuit using Ra = 1000ohm, Rb = 470ohm and apply 12v then voltage at the processor will be 3.837v (agreed?)

If I now connect my thermister to that voltage divider cicuit to calculate voltage at the processor the resistance of the thermister would be added to Ra in the eqaution as they are in effect two resistors in series..
As far as I can see this renders the 1k resistor fitted at Ra pointless as you may as well use the thermister as Ra..

Ignore the Vin being 9v in this image.. its just from a google search, but shows what I mean..
Image

So if the temp was 20 degrees C then Ra would be 247000 ohms, with a 3K3 resistor in Rb and 12v at Vin then the voltage at the processor would be 0.158v

I derived the 3K3 for Rb by looking at the worst case, 120 degrees C would mean Ra would be only 7400 ohms, take Vin at worst case as 15v the voltage at the processor would therefore be 4.63v..
Hence:
20C - Ra = 247000, Rb = 3300, Vin = 15, Vout would be 0.198v, ADC 40
60C - Ra = 48800, Rb = 3300, Vin =15, Vout would be 0.95v, ADC 194
120C - Ra = 7400, Rb = 3300, Vin =15, Vout would be 4.63v, ADC 947



?
Bernard Fife
Posts: 1696
Joined: Fri Apr 04, 2008 1:28 pm

Re: Transmission Temp sensor query

Post by Bernard Fife »

Why can't the thermister be Ra?
Addicted,

It could, but that's not the way I would do it. If the thermistor resistance gets lower than expected (high temps) the signal voltage can rise to nearly the supply voltage, and this would fry the ADC pin if it was much above 5V.

Lance.
"Never wrestle with pigs. You both get dirty and the pig likes it." - George Bernard Shaw
Post Reply