PLUS+1 Software > General controls

Automatic Transmission Programming


Hi Guys,

I am exploring the possibility of making one of our vehicle's 3 speed transmission fully automatic, as the gear selection is currently selected via coils. I have calculated and compiled all the turbine speeds, vehicle speeds and so forth, and have the shift points where the best gear change would be possible. These are presented in a certain turbine speed range, IE 1450-1600 rpm, but this differs per gear selection, as well as whether you are down shifting or up shifting.

Essentially I need a write the logic that will tell the software whether the vehicle is shifting from 1st to 2nd, 2nd to 1st, and so forth.

Has anyone done anything similar to this that could perhaps point me in the right direction?


My colleague on our electronic controls team programmed just a high/low automatic shifting function, and I was involved in testing. 

One tip I'll give is that in between the states of high and low he also did transitional states.  So there's a state for low gear, for when shifting from low to high, high gear, and a state for shifting from high to low.  The purpose of the transition states is that they ignore changes in the vehicle speed that take place while shifting because, of course, when you go to shift from low to high the vehicle speed might drop slightly while shifting.

Another tip, which might be pretty obvious, is when you shift you need to change your propel signal to maintain the same speed probably.  If the gear ratio is double for when you're in high gear then you probably need to cut your propel signal in half when you shift up.

Another one was the fact that a lot of drivers won't maintain a steady foot on the pedal during shifting which can be troublesome, so for the transition states I mentioned above I think we ignored operator pedal input for just the very shifting transition states.  Of course doing this is a pretty big deal, but the duration of those transition states is based on a timer set at like 100-200ms.

I haven't done much of this otherwise, but this worked for us.

"Essentially I need a write the logic that will tell the software whether the vehicle is shifting from 1st to 2nd, 2nd to 1st, and so forth."

I suggest using statemachine.

Thanks Guys.

I had a similar thought on somehow using transitional state for each shift, which works perfect for going from 1st to 2nd and 3rd to 2nd, but the problem comes in with 2nd gear because there's a state where it goes to 3rd, as well as a state where it goes back to first and I don't know how to write the logic that will tell the rest of the system that it requires a down shift or up shift, as the turbine speeds from the transmission are different for up shifts and down shifts.

I will do some more head scratching and post if I manage to figure something out.

After some trial and error, I managed to get the system working great. I actually have the code to a point where I can make the vehicle fully automatic if I wanted, which was surprising considering my level of skill with Plus+1. Once I figured out exactly what needed to happen, it came together quite quick.

Now I just need to fine tune the torque converter parameters, build in some safety's, add a few adjustable parameters to access from the service tool, and hopefully everything works.

Thanks for all the help.


[0] Message Index

Go to full version