TCC behaviour

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.
Bernard Fife
Posts: 1696
Joined: Fri Apr 04, 2008 1:28 pm

Re: TCC behaviour

Post by Bernard Fife »

Guillaume,

Okay, thanks for testing that, it was worth a shot. I'll have a much closer look , and post something here when I have a likely solution.

Lance.
"Never wrestle with pigs. You both get dirty and the pig likes it." - George Bernard Shaw
Bernard Fife
Posts: 1696
Joined: Fri Apr 04, 2008 1:28 pm

Re: TCC behaviour

Post by Bernard Fife »

Guillaume,

Here's a better effort:
Monitor_4127b.abs.s19
(71.1 KiB) Downloaded 771 times
The INI has a new gauge for the TCC hysteresis counter ("TCC Hyst") so you can see what the code is 'thinking'.
GPIO_MShift_4127.ini
Adds TCC hysteresis gauge
(215.25 KiB) Downloaded 769 times
The new code appears to work as designed on my bench.

This code:
- starts a counter every time the TCC unlock function is called,
- does not let the TCC lock until that counter has counted down to zero.

That means the TCC will not be applied until after the conditions to lock it have been sustained for a while. If those conditions are then not met, the TCC unlocks immediately, the counter is reset, and the TCC will not lock again until the counter expires. This means the TCC can lock and then unlock quickly in some circumstances, but then it will not lock again for a while (the default is 7.5 seconds).

There were a couple of problems causing the problems you noted, one was that the TCC PWM was updated in the clock interrupt, but this didn't take the TCC hysteresis into account (it does now), and the TCC hysteresis counter was not initialized properly (so the first on/off cycle could happen rapidly).

I remembered why we don't have speed hysteresis on the TCC. Suppose you have the cruise control on, but hit a hill. The throttle increases (to maintain a constant cruise speed), and the TCC might reach conditions should unlock, despite the constant speed. In fact, there's exactly that circumstance on my daily drive, so it can't be too uncommon. If we had speed hysteresis, the TCC wouldn't unlock then at all, which isn't good.

Lance.
"Never wrestle with pigs. You both get dirty and the pig likes it." - George Bernard Shaw
ashford
Posts: 89
Joined: Mon Oct 24, 2011 3:41 pm

Re: TCC behaviour

Post by ashford »

Lance wrote:Guillaume,

I remembered why we don't have speed hysteresis on the TCC. Suppose you have the cruise control on, but hit a hill. The throttle increases (to maintain a constant cruise speed), and the TCC might reach conditions should unlock, despite the constant speed. In fact, there's exactly that circumstance on my daily drive, so it can't be too uncommon. If we had speed hysteresis, the TCC wouldn't unlock then at all, which isn't good.

Lance.
i had an idea for this a while ago without an actual hysteris. have the normal min speed to activate tcc then a speed setting to deactivate tcc a few mph lower than activating. i found it quite annoying whenever the speed limit was the same as tcc min speed, so i modified the ini toallow small numbers and set it to 20 mph and minimum gear to 3 and worked around it but the torque converter is always locked as soon at it gets into 3rd and below kpa limit.
gui67
Posts: 134
Joined: Tue Oct 05, 2010 11:58 am
Location: Strasbourg, France

Re: TCC behaviour

Post by gui67 »

Hello Lance,
I tried the new code yesterday evening.
The TCC now works again, no more temperature problem or quick on-off.

However, by looking at the logs, it seems that sometimes, it goes on despite a high load. Max load is set at 95kPa.
I have one example on a log where the TCC counter counts down to 0 and locks the converter while the boost is at 115kPa.
and a second example where boost increases above 95kPa during the countdown, without resetting the counter.

But on some other times, the converter unlocks during boost or the counter is reset. It might be due to communication between MS3 and MSGPIO? If the GPIO does not get the MAP information often enough or something like that.
Would logs help you?
Guillaume
gui67
Posts: 134
Joined: Tue Oct 05, 2010 11:58 am
Location: Strasbourg, France

Re: TCC behaviour

Post by gui67 »

Lance,
you can see at 504s what I said: the boost increases and the TCC stays on.
(I now realize that it only stayed less then 1 second.)
I first thought it was a longer time.
gui67
Posts: 134
Joined: Tue Oct 05, 2010 11:58 am
Location: Strasbourg, France

Re: TCC behaviour

Post by gui67 »

In this one, you can see that the counter counts despite the fact that boost is higher then 95kPa.
TCCboost.png
Bernard Fife
Posts: 1696
Joined: Fri Apr 04, 2008 1:28 pm

Re: TCC behaviour

Post by Bernard Fife »

Guillaume,

Yes, the counter counts down regardless of the level of MAP, *unless* the TCC is called to be unlocked, in which case the counter is reset to the user value to start counting down again. In your case, the trans is shifting, and the TCC MAP isn't checked while shifting. So the counter counts down during the shift and is reset, then starts counting down again after the shift because the MAP level is much lower. It counts down to 1.9 before the MAP exceeds 100 kPa, then it is reset. That's the expected behavior.

The important thing is that the TCC is never engaged when the MAP is > 100 kPa (except during a shift; or if full-time TCC parameters are met, or the temperature is high, etc., etc.).

Lance.
"Never wrestle with pigs. You both get dirty and the pig likes it." - George Bernard Shaw
Bernard Fife
Posts: 1696
Joined: Fri Apr 04, 2008 1:28 pm

Re: TCC behaviour

Post by Bernard Fife »

Guillaume,

Also, while the TCC always unlocks on downshifts, upshift TCC behavior is user configurable. See: http://www.msgpio.com/manuals/mshift/V41tune.html#nu

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