Pages: [1] 2
Author Topic: clutch switch routines  (Read 16989 times)
robin
Full Member
***

Karma: +20/-1
Offline Offline

Posts: 139


« on: September 14, 2009, 11:56:04 AM »

OK, so a few of us have been messing around with a rudimentary "launch control" in the ME7 2.7T ECU.

What it will do, is hold the revs at a certain point, but to be a true "launch control", ideally it would retard timing and cut ignition at two or three points per crank revolution.

With the way ignition timing is referenced in the ECU, it would create a hole in the map at that load point(s) if you simply tried to get Motronic to request ATDC timing right there. We need another timing map to switch to while the clutch is depressed. Plenty of room for it in the ECU, it's a matter of telling it to look there.

I'd like to see this active no matter when the clutch is down, as it would help greatly to keep the turbos spooled between shifts and allow flat shifting. Unclear as to how it would affect heel-toe...

What I lack is the the ability to disassemble the routines and modify the code. What I have is an audi that I don't mind abusing.

Lets work on this.
« Last Edit: September 14, 2009, 12:14:40 PM by robin » Logged
Tony@NefMoto
Administrator
Hero Member
*****

Karma: +121/-4
Offline Offline

Posts: 1389


2001.5 Audi S4 Stage 3


« Reply #1 on: September 14, 2009, 01:24:47 PM »


I have spent most of my time disassembling the 2.7T ecu code, but not much timing playing with maps and tuning. I haven't yet modified any code in the ecu, but I do have the knowledge and ability to do so. Once the flashing and logging software I have written is more stable, I was planning on starting work on map switching and realtime map tuning. Working on supporting separate launch control maps would be a good project to do before I do full map switching support.

If you can tell me what maps you have been playing with so far for launch control, that would be a good starting point to make sure we are on the same page. On the "other" Audi forum I believe you mentioned you had tried this:

Set NMAX to your desired launch rpm
Set NMAXOG to your desired raised redline
Drop TMOTNMX to -48C
Set VNMX to your desired minimum vehicle speed for raised redline
Make sure TNMXH is set to 0

What were the problems you ran into doing it this way?

Do you just want a new ignition timing map to be referenced when the clutch is in, or would you want it to be different depending on the gear?

What about an ignition timing offset that is added/subtracted from the base ignition timing? This would be easy to do per gear for instance.

For flat shifting, would you want a map that dictates the RPM limit per gear while the clutch  is in?

So far I assume you only want to change the RPM limiter and the ignition timing depending on the current gear, and if the clutch is in.


Logged

Remember you have to log in if you want to see the file attachments!
Info or questions, please add to the wiki: http://www.nefariousmotorsports.com/wiki
Follow NefMoto developments on Twitter: http://twitter.com/nefmoto
tjwasiak
Sr. Member
****

Karma: +23/-0
Offline Offline

Posts: 396


« Reply #2 on: September 14, 2009, 06:08:57 PM »

What it will do, is hold the revs at a certain point, but to be a true "launch control", ideally it would retard timing and cut ignition at two or three points per crank revolution.

With the way ignition timing is referenced in the ECU, it would create a hole in the map at that load point(s) if you simply tried to get Motronic to request ATDC timing right there. We need another timing map to switch to while the clutch is depressed. Plenty of room for it in the ECU, it's a matter of telling it to look there.

I am afraid it can not be done that easy. Remember that ME7 is really complex ECU. I am aware of the fact that even more complicated things were achieved on those ECUs, but I am afraid we will need more coders skilled in assembler to work it out.
Logged
robin
Full Member
***

Karma: +20/-1
Offline Offline

Posts: 139


« Reply #3 on: September 14, 2009, 09:26:25 PM »


If you can tell me what maps you have been playing with so far for launch control, that would be a good starting point to make sure we are on the same page. On the "other" Audi forum I believe you mentioned you had tried this:

Yes.

Quote

What were the problems you ran into doing it this way?


Mainly the car will sit there on the limiter, at say 4000rpm, controlling the launch point. But what you don't get is any boost built because the ignition timing isn't retarded significantly and the spark being cut. A little bit of both and we'd have an antilag that would build some boost pressure so you could get out of the hole properly. I think we need to define some terms here too.

wheel speed threshold for alternate limiter = managing wheelspin and being able to get out of the hole consistently
antilag = keeping the turbine speed high by burning exhaust in the manifold rather than the cylinders

A little bit of both and you get a two-step launch control.

Quote

What about an ignition timing offset that is added/subtracted from the base ignition timing? This would be easy to do per gear for instance.

That is exactly what I think we need. It needs to happen on decreasing loads and overrun, and only when the car is being driven hard.

Check these links:

http://www.lancerregister.com/showthread.php?s=&threadid=147683&highlight=ecutek+anti+lag

http://tinywrex.x10hosting.com/online/index.php

http://www.rallycars.com/Cars/bangbang.html

The ecutek code can adjust how aggressive the antilag is. I'm assuming it does that by regulating the amount of air injested by the SAI (we don't have one, maybe retrofit something from a tiptronic car, or try and increase overlap and open the throttle slightly?), the amount of timing retard, and amount of injector on time requested. I'm assuming it writes in new maps for all three.

Then you simply pick the proper speed limit delta to get it working right. You want it to control wheelspin, not just create tire smoke. So if the car launches and hits the limiter immediately, increase the km/hr threshold. If the car launches and blows the tires away, decrease it.

read vehicle speed
if vehicle speed > speed threshold then

    no adjustment to real RPM

else

    adjust real RPM by RPM delta

pass control to rev limiter check (fuel cut)

Effectively rev limit = rev limit - LC RPM delta, the higher the LC RPM delta value the lower the actual rev limit becomes, the lower the LC RPM delta value the higher the rev limit becomes.

If you really wanted to get crazy, how about a PID loop to control the hysteresis of wheel speed. Maybe use the known wheel speed against rpm and gear to target an optimal slip angle? Heheh now I'm just dreaming...

« Last Edit: September 14, 2009, 09:31:10 PM by robin » Logged
tjwasiak
Sr. Member
****

Karma: +23/-0
Offline Offline

Posts: 396


« Reply #4 on: September 15, 2009, 05:10:45 AM »

Mainly the car will sit there on the limiter, at say 4000rpm, controlling the launch point. But what you don't get is any boost built because the ignition timing isn't retarded significantly and the spark being cut. A little bit of both and we'd have an antilag that would build some boost pressure so you could get out of the hole properly. I think we need to define some terms here too.
So you get a proper launch control system that way.

Maybe I am wrong but I have an idea how to make anti-lag system in an easy way.
Would you mind taking logs to check your load, lambda (requested and actual) and boost (also requested vs actual) when sitting at said alternative limiter? I think load values will be small enough to introduce ignition retard, "sick" lambda value (~0.50) and make it demand higher boost at that point without having bad effects while driving => I do not think you will ever get such low load situatuion while driving (even cruising), IMO it could happen only while engine braking. There comes one and only problem - your engine braking effect will be largely affected.

Quote
Quote
What about an ignition timing offset that is added/subtracted from the base ignition timing? This would be easy to do per gear for instance.

That is exactly what I think we need. It needs to happen on decreasing loads and overrun, and only when the car is being driven hard.

I am aware of the fact ME7 can estimate actual gear engaged basing on vehicle speed and RPM, but I still it could be hard to add gear dependant timing maps, which could help spool turbo sooner on lower gears while protecting from excesive wheel spin.

I just can't get any idea when should the system activate automatically. I think it is not good idea. Better adapt a kind of switch to activate this. It can be done with ME7 for sure - i.e. Volvo S60R has a kind of switchable characteristic via Advanced Button - advanced ignition and more sensitive throttle response.
Logged
Tony@NefMoto
Administrator
Hero Member
*****

Karma: +121/-4
Offline Offline

Posts: 1389


2001.5 Audi S4 Stage 3


« Reply #5 on: September 15, 2009, 11:07:27 AM »

Maybe I am wrong but I have an idea how to make anti-lag system in an easy way.
Would you mind taking logs to check your load, lambda (requested and actual) and boost (also requested vs actual) when sitting at said alternative limiter? I think load values will be small enough to introduce ignition retard, "sick" lambda value (~0.50) and make it demand higher boost at that point without having bad effects while driving => I do not think you will ever get such low load situatuion while driving (even cruising), IMO it could happen only while engine braking. There comes one and only problem - your engine braking effect will be largely affected.

The ME7 determines desired boost from desired load, so if you have low desired load you are going to have low desired boost.
Logged

Remember you have to log in if you want to see the file attachments!
Info or questions, please add to the wiki: http://www.nefariousmotorsports.com/wiki
Follow NefMoto developments on Twitter: http://twitter.com/nefmoto
Tony@NefMoto
Administrator
Hero Member
*****

Karma: +121/-4
Offline Offline

Posts: 1389


2001.5 Audi S4 Stage 3


« Reply #6 on: September 15, 2009, 11:25:51 AM »

So what I am hearing is the request for two features, launch control, and flat shifting.

Flat shifting would be a different RPM limit depending on the gear when the clutch is in.

Launch control would be a different RPM limit when the car is under a certain wheel speed and the clutch is in.

But from the sounds of it you can achieve this by tuning the existing ME7 maps, aside from requiring the clutch to be in?

In which case what you are really asking for is new support for anti-lag?
Logged

Remember you have to log in if you want to see the file attachments!
Info or questions, please add to the wiki: http://www.nefariousmotorsports.com/wiki
Follow NefMoto developments on Twitter: http://twitter.com/nefmoto
robin
Full Member
***

Karma: +20/-1
Offline Offline

Posts: 139


« Reply #7 on: September 15, 2009, 11:28:24 AM »

Flat shifting really doesn't concern me as much as having some more decel fuel and a real hard limit between gears so the throttle isn't closing.

I want to:

a) build boost off the line (two step)

b) change how it fuels on decel? could probably play with this in existing maps (haven't gotten that far yet) I know Lemmiwinks would change decel load fueling, hmm. basically a mild antilag.
« Last Edit: September 15, 2009, 11:36:19 AM by robin » Logged
tjwasiak
Sr. Member
****

Karma: +23/-0
Offline Offline

Posts: 396


« Reply #8 on: September 15, 2009, 05:22:51 PM »

(...)
Flat shifting would be a different RPM limit depending on the gear when the clutch is in.
Launch control would be a different RPM limit when the car is under a certain wheel speed and the clutch is in.
I would say it could be done simpler - just make one additional clutch controlled RPM limiter which will serve for them both (just have to find a proper RPM limit for it)...

Quote
But from the sounds of it you can achieve this by tuning the existing ME7 maps, aside from requiring the clutch to be in?
Could you explain me a way to get flat shifting function using existing maps? I am still flat shifting without proper support but it makes my trannies life hard Sad You should not do that shifting into 2nd gear especially having VAG 6speed gearbox in Golf based cars... Other gears are happier with that Wink

Regarding my previous suggestion about making it demand more boost - I know how desired boost is determined in ME7, but I think it could be doable by tweaking the ECU calibration maps. I know it is not a good way to tune, but for such isolated case (you only have to check the load values when hitting the lowered RPM limiter because my car will not be driveable for a quite long time Sad ) it won't hurt IMO.
Logged
Tony@NefMoto
Administrator
Hero Member
*****

Karma: +121/-4
Offline Offline

Posts: 1389


2001.5 Audi S4 Stage 3


« Reply #9 on: September 16, 2009, 12:59:38 PM »

(...)
Flat shifting would be a different RPM limit depending on the gear when the clutch is in.
Launch control would be a different RPM limit when the car is under a certain wheel speed and the clutch is in.
I would say it could be done simpler - just make one additional clutch controlled RPM limiter which will serve for them both (just have to find a proper RPM limit for it)...

It wouldn't be very hard to do separate RPM limits per gear when the clutch is in.

(...)But from the sounds of it you can achieve this by tuning the existing ME7 maps, aside from requiring the clutch to be in?
Could you explain me a way to get flat shifting function using existing maps? I am still flat shifting without proper support but it makes my trannies life hard Sad You should not do that shifting into 2nd gear especially having VAG 6speed gearbox in Golf based cars... Other gears are happier with that Wink

There is a map that defines gear specific RPM limits, and another map that defines gear specific load limits. There are currently no maps for load limits or RPM limits for when the clutch is in that I am aware of at the moment.

Regarding my previous suggestion about making it demand more boost - I know how desired boost is determined in ME7, but I think it could be doable by tweaking the ECU calibration maps. I know it is not a good way to tune, but for such isolated case (you only have to check the load values when hitting the lowered RPM limiter because my car will not be driveable for a quite long time Sad ) it won't hurt IMO.

If you trick the ME7 into requesting more boost when the car is at a low RPM, how would you actually generate the boost?
Logged

Remember you have to log in if you want to see the file attachments!
Info or questions, please add to the wiki: http://www.nefariousmotorsports.com/wiki
Follow NefMoto developments on Twitter: http://twitter.com/nefmoto
Tony@NefMoto
Administrator
Hero Member
*****

Karma: +121/-4
Offline Offline

Posts: 1389


2001.5 Audi S4 Stage 3


« Reply #10 on: September 16, 2009, 01:20:18 PM »

Here is an interesting description of an Anti Lag System used in VEMS.
http://www.vems.hu/wiki/index.php?page=MembersPage%2FGaborRacz%2FNewAlsLaunchAndOthers

Here are the values that control how it works:

Ignition Retard:
Min throttle valve angle for ignition retard when ALS active
Max throttle valve angle for ignition retard when ALS active
Additional ignition retard relative to base ignition timing when ALS active

Spark Cut:
Min throttle valve angle for spark cut when ALS active
Max throttle valve angle for spark cut when ALS active
Max percentage of ignition events cut when ALS active

Fuel:
Fuel enrichment relative to base lambda when ALS active

ALS Control:
Min RPM for ALS to be active, below which ALS deactivates
Max time for ALS to be active, after which ALS deactivates
Max EGT for ALS to be active, above which ALS deactivates
Min throttle valve angle for ALS to be active, above which ALS activates

With this system you could have ALS activate at 85% throttle valve angle, and then use fuel enrichment, spark cut, ignition retard from say 50% to 25% throttle valve angle.

Does this make sense? Any comments?

For launch control and flat shifting you would have a per gear RPM or load limit when the clutch is depressed. The above ALS system should work during launch control, since hitting the RPM limit should cause the throttle valve to start closing. The above ALS system would not activate during flat shifting, unless the RPM or load limit when the clutch was in was low enough to cause the throttle valve to close enough to activate ALS.

It is possible that on the ME7, pedal position may work better than throttle valve angle for activating and deactivating ALS. This is because the load based system in the ME7 instead of the the pedal position controls the throttle valve angle.


Logged

Remember you have to log in if you want to see the file attachments!
Info or questions, please add to the wiki: http://www.nefariousmotorsports.com/wiki
Follow NefMoto developments on Twitter: http://twitter.com/nefmoto
robin
Full Member
***

Karma: +20/-1
Offline Offline

Posts: 139


« Reply #11 on: September 17, 2009, 01:16:29 PM »

OK that's a great read. That's pretty much exactly how I'd like to implement it here, although based on pedal position for sure. That way it stays "driver desired" and not a function of Motronic's throttle control.

Although again, the ideal launch control would keep the throttle wide open and limit revs with spark and fuel cut... one of the problems now is since the throttle is closing to keep revs around 4000, when I launch the car it hesitates for a second as it goes from ~40-50% throttle to 100% once the feedback loop realizes it can allow it open.
Logged
Tony@NefMoto
Administrator
Hero Member
*****

Karma: +121/-4
Offline Offline

Posts: 1389


2001.5 Audi S4 Stage 3


« Reply #12 on: September 17, 2009, 02:11:59 PM »

OK that's a great read. That's pretty much exactly how I'd like to implement it here, although based on pedal position for sure. That way it stays "driver desired" and not a function of Motronic's throttle control.

Although again, the ideal launch control would keep the throttle wide open and limit revs with spark and fuel cut... one of the problems now is since the throttle is closing to keep revs around 4000, when I launch the car it hesitates for a second as it goes from ~40-50% throttle to 100% once the feedback loop realizes it can allow it open.

If you use the pedal position to control ALS, then ALS would not activate during flat shifting or launch control, since you never lift your foot. I suppose it would be possible for ALS to activate when the clutch pedal is depressed in addition to the throttle pedal position activation. i.e. if you exceed the throttle pedal position to enable ALS, and the clutch is in, then activate ALS.

Keeping the throttle body wide open and controlling engine speed via spark and fuel cut would require significant changes in the ME7 I believe. I would need to look more closely at the engine speed control code, but I am pretty sure it does it by controlling the throttle body valve angle.
Logged

Remember you have to log in if you want to see the file attachments!
Info or questions, please add to the wiki: http://www.nefariousmotorsports.com/wiki
Follow NefMoto developments on Twitter: http://twitter.com/nefmoto
robin
Full Member
***

Karma: +20/-1
Offline Offline

Posts: 139


« Reply #13 on: September 17, 2009, 07:52:44 PM »

There are PID maps for the NMAX engine speed group that I'll get for you in the morning... I've started to play around with these, but I know it's possible to get a true hard limit in the stock routines.

I've reduced the throttle closing from 40% to 60%, but I still have to find the right map to get what I really want. IE, like my old volvo had. WOT (cause it was a cable) with the fuel simply cutting every oher rotation. bambambambambambam.

More tomorrow when I can sit in my driveway on the limiter for a half hour.
Logged
Jason
Sr. Member
****

Karma: +36/-0
Offline Offline

Posts: 498


Breaks everything!


« Reply #14 on: September 18, 2009, 02:19:26 PM »

For true flat shifting I think 2 things need to be accomplished:

1) match revs based on vehicle speed and next logical gear
2) antilag to keep the turbos spooled (throttle wide open with ignition retard)
3) disable the "antilag" when the brake switch is closed to allow match-rev downshifting under braking.  (I only say this because I have observed that under heavy braking I tend to WOT blip when downshifting and could potentially see a limiter as an issue given how fast my combination revs)

If this could be accomplished the shifts would be amazingly precise and maximum torque/boost would be available when the clutch is reengaged.  

edit:  this is a cheap interim solution:
http://www.npcompleteperformance.com/wotbox
Logged
Pages: [1] 2
  Print  
 
Jump to:  

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines Page created in 0.029 seconds with 17 queries. (Pretty URLs adds 0s, 0q)