47RE transmission controller

Not sure if anyone has done it already, but I'm looking to use a Arduino to control a 47RE transmission. I know I can get a output speed based on the VSS the transmission has. I can also adapt a TPS to the engine I have.

I know the transmission works in this fashion for the solenoids:

1st gear = 0 volts
3rd gear = 12 volts
4th gear = ground
TCC lockup = ground

The 2nd gear shift is where things get interesting. There's a governor pressure sender in the transmission. 2nd gear would be selected I'm guessing based off VSS output and the fact knowing it's in 1st gear with no voltage. Governor pressure for 2nd gear would be done via PWM to the solenoid.

Outside of that, I'm a noob with the Arduino, I did however play with the basic stamps back in the day. (Forgotten more than I remember though) Anyone have any advice to offer?

So many magic letters and digits, which I can't interpret :frowning:
How many solenoids and other outputs?
Links to specs would be helpful.

Attached is the factory wiring for this transmission. I’ve found out a little more about the process. The transmission moves through the gears based on governor pressure. There’s only the single solenoid for the governor. But two more solenoids for 4th gear and the TCC lockup.

The 4th gear and TCC solenoids are on/off. So I’d just use a relay to engage them. The governor though, that’s going to need to use PWM.

This is a somewhat old post but I am also interested in this. I am a Certified Chrysler master Tech so I can help with the transmission.

Inside the transmission there are a few components:

Governor pressure sensor

Governor pressure solenoid

Temperature thermister (built into pressure sensor)

Torque converter lockup solenoid

Overdrive (4th) solenoid

Output shaft speed sensor (in tailshaft)

Governor pressure is what controls first through third gears. Solenoid in the off state is full pressure, and on is minimum pressure. While driving this pressure is constantly varied using PWM from the PCM based on engine speed and output shaft rpm.

There is 2 mechanical inputs to the transmission, one is the lever that you move to select PRND21 the other is connected to the throttle which is called the throttle valve cable. The throttle valve cable controls throttle pressure inside the transmission.

Throttle pressure is what determines when the transmission shifts. Any time governor pressure rises above throttle pressure, that triggers an upshift. And if you raise throttle pressure above governor pressure (WOT) that triggers a downshift (kickdown)

Before the times of electronic control governor pressure was determined by the governor mounted to the output shaft, as the shaft spun weights were thrown out against springs causing ports to be closed off and pressure to rise. The base standard for governor pressure was 1 psi for every 1 MPH. Chrysler found out if they could squeak a little economy out of their trucks if they used they took control of upshifts on light throttle, since they already had the transmission design they just added the electronic governor control to it.

For our needs a simple PID pressure control of the governor pressure will work just fine, no need for fancy load and throttle based lookup tables.

First we would need to get the Arduino to read the output shaft speed sensor, this is a variable reluctance sensor. This sensor outputs an A/C sine wave so some signal conditioning is required.

The next step is to have the Arduino read the governor pressure sensor, this is a 3 wire voltage dividing pressure transducer with a 5v reference. The input conditioning is already set but we will need to determine the voltage to pressure relationship. This may be available in service manuals

We also need the Arduino to control the governor pressure solenoid. This is a pretty beefy 12v solenoid so we will need a mosfet and some kind of flyback prevention to keep the load off the arduino.

Optional would be to add the circuits necessary to read the thermistor internal to the governor pressure sensor.

On the software side of things I am not sure, I only recently got into programming the Arduino so it's a little fuzzy. But we would need to read the output speed then store that value, then I am not sure if Arduino can do a 2d lookup table to determine the required governor pressure. After the desired governor pressure is determined we would need to use the pressure sensor and solenoid along with PID control to maintain that pressure.

Optional would be to have a display show current Temp and Gov pressure. Could also make a graphical interface to change the 2D lookup table to tune shift points.