When you click on links to various merchants on this site and make a purchase, this can result in this site earning a commission. Affiliate programs and affiliations include, but are not limited to, the eBay Partner Network.
When using the paddle shifters, how much delay (if any) is there between pulling the paddle and the transmission starting to shift? That's always bugged me with the paddle-shifted ATs that I've tried, but I've always wondered if a DIY controller could get the delay down to where the transmission felt more responsive than a manual.
Thanks.
Don't know about commercial units, but in mine, the main loop is under one millisecond, so paddle shifting would be add less than that.
The real delay with any shifting is in the transmission. It takes time to fill the pistons with enough fluid to make them engage. Some gears might take longer than others.
It takes time to fill the pistons with enough fluid to make them engage.
That's the part that I was missing. Thanks for the insight. I suspected that the delay was more mechanical than electrical, but the workings of automatics have always been a mystery to me.
That's the part that I was missing. Thanks for the insight. I suspected that the delay was more mechanical than electrical, but the workings of automatics have always been a mystery to me.
Actually the hydraulics in automatics has many equivalences to electronics. The line pressure is the equivalent of voltage... The orafice sizes and passageways are equivalent to resistance. The volume of fluid moving is the equivalent of current.
So if you increase the line pressure and port and open up the passageways, things happen faster.
But it's a tradeoff between comfortable shifts and feeling you got kicked in the rear by a mule.
Now you have me wondering if one could modify the hydraulics (valve body?) to make mule kicks possible, and then use the electronics to keep shifts comfortable when just cruising. But make them immediate and harsh when triggered by paddles or with "drag mode" selected.
Now you have me wondering if one could modify the hydraulics (valve body?) to make mule kicks possible, and then use the electronics to keep shifts comfortable when just cruising. But make them immediate and harsh when triggered by paddles or with "drag mode" selected.
One of the biggest factors in shift firmness is line pressure. In my trans, line pressure is set based on the boost, so if I'm just cruising around, I'll be in vacuum and the minimum line pressure will soften the shifts.
It's all based on tables. For example my line pressure tables are higher in sport mode than they are in cruise mode, so shifts will be firmer. Also sport mode shifts later than cruise. No reason why it can't be raised for paddle shitfing . I don't raise them for paddle shifting, but I have the option if I want it.
In the 4l80e, max line pressure is when the solenoid is off, the valve and springs set max line pressure. The higher the duty cycle you pulse the solenoid, the lower the pressure, but if you give it too much duty cycle, the solenoid may overheat. My minimum pressure is at 60% duty at this time.
The car is on the road now and the transmission controller is working well so far.
I've only driven it in cruise mode so far and up shifts are firm, but very pleasant. The transmission is a 4L80E which I modified with dual feed, 2nd and 3rd accumulator delete, forged input shaft and drum, enlarged feed holes for 2nd and 3rd, extra clutches, and a bunch of other mods.
The only thing I'm going to change for now is to unlock the converter earlier when I apply the brake or reduce the throttle by some percentage. That's a software only change.
No plans to sell. This is a hobby for me. I'm not going to open source it because of the liability and the amount of CANBUS integration between the engine management and the rest of the car. It's a combination transmission controller and a body module and display driver. I won't open source the whole thing because it's 14000 lines of code. It's not likely anyone can use the entire thing as it is. I am however happy to share piece parts with anyone who is interested, as I've done above.
BTW, about half the code is related to the display and the variables stored in NVRAM. This would normally be a nightmare if there needed to be a change in either the display or stuff needed to be saved when the power is turned off. There would have to be a ton of changes to the code with each change in either of these. To avoid this maintenance nightmare, I've created an Excel spreadsheet that has tables with the characteristics of the stuff for the display and the NVRAM and alarms. So or example, if I needed to add a new screen or field in the display, I change it in Excel spreadsheet and let the Excel macros I've written generate about 7000 lines of "C" code.
The car has been on the road for a little over a month now. I haven't really pushed it yet but the DIY controller is working great. I pretty much nailed the shift point tables. The only thing I'm going to change is to unlock the converter when the throttle is released instead of waiting for the tables to unlock it.
Would you mind sharing some code for this with me? I'm wanting to build a controller for a 4l80e, but mine will be much simpler. It's going in a mechanical diesel powered truck. So no canbus. Basically I'd like something I can setup to look at TPS, RPM, and MPH to shift based off that. (Plus there's other inputs like brake or WOT)
Would you mind sharing some code for this with me? I'm wanting to build a controller for a 4l80e, but mine will be much simpler. It's going in a mechanical diesel powered truck. So no canbus. Basically I'd like something I can setup to look at TPS, RPM, and MPH to shift based off that. (Plus there's other inputs like brake or WOT)
I wouldn't mind sharing parts of my code. I've gotten over 1000 miles on my controller so far with no issues. Shifts great.
Off the top of my head, TPS (or map), RPM, and MPH are pretty much all you'll need for basic setup.
The RPM and MPH signals will need to be converted first in order to be read by the processor. What have you gotten done so far?
So this thread was basically created to make us jealous and show what cool controller you built, and we cant have one. Thx. Its really a shame to not at least offer a kit or something, I could probably assemble it, but code is like Chinese to me. I feel like I smart until I attempt to understand code. lol
I wouldn't mind sharing parts of my code. I've gotten over 1000 miles on my controller so far with no issues. Shifts great.
Off the top of my head, TPS (or map), RPM, and MPH are pretty much all you'll need for basic setup.
The RPM and MPH signals will need to be converted first in order to be read by the processor. What have you gotten done so far?
Nothing yet to be honest. Just kinda thinking through this in my head. I'm going to tinker a bit tomorrow I hope with a arduino at my office. I've kinda got a few things in mind for how it would all work. I know the game plan for TPS and RPM. What I don't know is MPH from a VSS since my truck is old and a cable drive. I do see that dakota digital sells a inline option that plugs between the transmission cable and t-case to provide a signal, so I guess that would cover that. I was thinking at first about just relays to control the A,B, and TC solenoids, but I think a IRF540 would be a better route and silent inside the cab. I would like to have just a simple monochrome LCD display to have a gear indicator, RPM, trans temp, and mode. I'd also like to add probably 4 buttons. 2 to allow cycling through menus and selecting. Then two to work as paddle shifters. Truth be told, the main reason I'm trying to pursue the arduino controller is to keep this swap affordable. I've started a simple sketch that allows me to walk through the solenoid pattern, so it'd be a really "dumb" controller. But at least allow me to drive the truck as a "paddle shift". (Dangerously I understand as there currently is no provision to ensure I don't downshift to 1st while at high speed)
I've built a few projects out of ardiunos so far, but very little coding of my own. Just tweaking existing code or incorporating other code examples together. The electronic side of it is simple though for this project. Today I've been trying to read up on the innerworkings of the 4l80e and what it expects. Found a lot of great data in this PDF. http://extremeautomatics.com/assets/...0Reference.pdf (I'm sure this is nothing new for you, but maybe someone reading your thread might find it useful)
Nothing yet to be honest. Just kinda thinking through this in my head. I'm going to tinker a bit tomorrow I hope with a arduino at my office. I've kinda got a few things in mind for how it would all work. I know the game plan for TPS and RPM. What I don't know is MPH from a VSS since my truck is old and a cable drive. I do see that dakota digital sells a inline option that plugs between the transmission cable and t-case to provide a signal, so I guess that would cover that. I was thinking at first about just relays to control the A,B, and TC solenoids, but I think a IRF540 would be a better route and silent inside the cab. I would like to have just a simple monochrome LCD display to have a gear indicator, RPM, trans temp, and mode. I'd also like to add probably 4 buttons. 2 to allow cycling through menus and selecting. Then two to work as paddle shifters. Truth be told, the main reason I'm trying to pursue the arduino controller is to keep this swap affordable. I've started a simple sketch that allows me to walk through the solenoid pattern, so it'd be a really "dumb" controller. But at least allow me to drive the truck as a "paddle shift". (Dangerously I understand as there currently is no provision to ensure I don't downshift to 1st while at high speed)
I've built a few projects out of Arduinos so far, but very little coding of my own. Just tweaking existing code or incorporating other code examples together. The electronic side of it is simple though for this project. Today I've been trying to read up on the innerworkings of the 4l80e and what it expects. Found a lot of great data in this PDF. http://extremeautomatics.com/assets/...0Reference.pdf (I'm sure this is nothing new for you, but maybe someone reading your thread might find it useful)
I got alot of info on how to control the trans from the megasquirt trans controller page. in addition to the two shift solenoids, you need to PWM the line pressure solenoid or you have full one pressure all the time. You may be able to get away with just turning the lockup on and off, put it's better to PWM it as well. All it takes is 4 Mosfets and you've got all the trans controls covered.
Relays are not a good choice. Mosfets are better and actually easier to drive. They don't even need heatsinks.
My code has protections for downshifting. That part is pretty simple... if the RPM is over a certain value, don't allow downshifting.
Deciding when to upshift and downshift in normal operation isn't quite as simple. I'm happy to share that.
Some of the 4L80Es don't have the VSS reluctor ring, but it can be added if it doesn't. As I mentioned before your'e going to need something to convert the vss signal from the VR sensor to a square wave. My previous version of the controller used a chip that does that conversion for up to two sensors. Maybe you can find a module somewhere or if you can't, I can look up my old stuff and see what the chip was. It would have been alot easier of GM had used hall sensors instead of VR sensors.
So this thread was basically created to make us jealous and show what cool controller you built, and we cant have one. Thx. Its really a shame to not at least offer a kit or something, I could probably assemble it, but code is like Chinese to me. I feel like I smart until I attempt to understand code. lol
so hey, nice job and thanks for the tease.
LOL, yeah I guess it's somewhat of a tease, but so if every other amazing 1000+HP build or welding **** that I can't do.
It's not possible to make what I have into a kit because it's too integrated with the AEM. And I don't want to be in business again. It's a hobby for me.
I am however willing to help anyone with parts of my code and circuit design, that wants to make to effort to learn and build their own version. Or just answer questions.
Code isn't that difficult to understand if it's written well. It's like learning how to walk. Before you know how to walk it seems impossible. Then you crawl, then you stand up with the help of some prop, then you take one step, then you start to walk. After a while it's not that hard. The thing that scares people is when they look at the entire program. It's less daunting when you look at a tiny piece and try to understand it. Then each piece you understand makes the next piece easier. Check out to complete set of instructions and code I put out for PWM fan controller. PWM Fan Controller
It's an easy intro to programming. The actual code in a trans controller isn't that much more difficult. But a descent trans controller will require,many subroutines and application of some concepts like slopes and other math stuff.
In some of the PMs I get from folks doing their own controller, most are switching the A and B solenoid to shift, but, are ignoring adjusting the line pressure. I learned a bunch about the operation of the line pressure solenoid from the megasquirt trans controller documentation and I'll pass some of this on.
line pressure control solenoid (aka. "force motor") is pulsed at 614Hz
Duty cycle on the Pressure Control solenoid is inversely proportional to the
throttle angle (as throttle angle increases, duty is decreased)
At idle (minimum throttle), the duty is at max (60%). At WOT (wide open throttle),
the duty is at min (0% or off).
All solenoids share common 12V line on pin E (except Pressure Control solenoid,
which has its own +12 Volt supply on pin C) and are switched on and off with ground.
So if you ignore the line pressure solenoid, you will have the maximum pressure. Not good.
To figure out what the duty cycle needs to be to the solenoid, crack open the high school algebra book and re-learn the point slope method (y = mx + b).
Keep in mind that an arduino Mega has a granularity of 256 possible PWM duty cycles that range from 0 to 255, so 255 is 100% duty. To have the arduino generate a PWM, you use the analog write command.
Code:
/* ++++++++++++++++++++++++++++++++++++++++++++++++++++*/
void adjust_line_pressure() {
if (!engineRunningStatus) {
if (prevLinePressDuty != 0) {
prevLinePressDuty = 0;
analogWrite(linePressControlPin, prevLinePressDuty); // line pressure,
}
return;
}
linePressDuty = solve_for_x_int(currBoostFL, boostForMinLinePressFL, slopeLinePressDutyFL, lowestLinePressDuty);
int duty = constrain_int(linePressDuty, 0, lowestLinePressDuty); // 153 is 60% duty for 8 bits
if (duty != prevLinePressDuty) {
prevLinePressDuty = duty;
analogWrite(linePressControlPin, prevLinePressDuty); // line pressure,
}
} // end adjust_line_pressure()
/* ++++++++++++++++++++++++++++++++++++++++++++++++++++*/
int solve_for_x_int(float yVal, float lowBits, float slopeVal, float lowVal) {
// returns the x component given a Y, b and a line
int solveRes = (int) ((yVal - lowBits ) / slopeVal + lowVal) ;
return solveRes;
} // end solve_for_x_int
I just added a new feature in the transmission controller. A drag racing two step. Only it's not on a chip like everyone is used to.
In addition to controlling the 4l80e, the transmission controller can also close the throttle plate (throttle by wire). It's similar to how cruise cruise control operates the throttle plate in a regular car. Any RPM or boost launch control target, can be set from the touch screen.
The two step is triggered when the brake is pressed hard and the pressure reaches a preset high pressure. The gas pedal gets floored, but the engine RPM (optionally boost) is now controlled by the transmission controller by reducing the throttle opening and maintaining the desired RPM. Once the brake pressure drops to a preset pressure, the two step is released, the throttle plate goes back to normal and the car automatically launches. Then the throttle plate is again closed as needed for boost control by gear. My 6.0 turbo setup does not have a wastegate.
I just added a new feature in the transmission controller. A drag racing two step. Only it's not on a chip like everyone is used to.
In addition to controlling the 4l80e, the transmission controller can also close the throttle plate (throttle by wire). It's similar to how cruise cruise control operates the throttle plate in a regular car. Any RPM or boost launch control target, can be set from the touch screen.
The two step is triggered when the brake is pressed hard and the pressure reaches a preset high pressure. The gas pedal gets floored, but the engine RPM (optionally boost) is now controlled by the transmission controller by reducing the throttle opening and maintaining the desired RPM. Once the brake pressure drops to a preset pressure, the two step is released, the throttle plate goes back to normal and the car automatically launches. Then the throttle plate is again closed as needed for boost control by gear. My 6.0 turbo setup does not have a wastegate.
Iv been wanting to start a project for a 8-speed auto, would like to look at your code for the 4L80. iv been checking out this thread and admiring your work for a long time.
You've been a inspiration to quite a few i bet. THANKS,