Page 1 of 1

Autotune - how exactly does it work?

Posted: Mon Nov 28, 2005 4:41 pm
by midnightblue
I'm using the Autotune feature in MegaTune to fine tune my MS-II VE maps.

There's a couple of questions I have:

a) When MT calculates a corrected VE value for a particular bin, is it written back to the MS with subsequent corrections applied to the changing VE value. Or is the new VE stored in a temporary table somewhere, building up the new VE table, with the new values written when you click "Burn Table"?

b) Does Autotune make corrections while there is accel/decel enrichment?

c) Are the other enrichment factors reverse-calculted out of new ideal VE value, or is this not needed?

d) In single table mode, with dual widebands, does autotune average egoCorr1 and egoCorr2, or choose one only?

d) In Dual-Table mode, using Dual Widewand EGO correction, can I use autotune on the VEtable2? Will the corrections be calculated correctly using egoCorr2?

Many thanks, Matt.

Re: Autotune - how exactly does it work?

Posted: Mon Nov 28, 2005 4:59 pm
by efahl
midnightblue wrote:a) When MT calculates a corrected VE value for a particular bin, is it written back to the MS with subsequent corrections applied to the changing VE value. Or is the new VE stored in a temporary table somewhere, building up the new VE table, with the new values written when you click "Burn Table"?
Matt,

The VE value inside MS's RAM is modified and your engine feels the effect immediately, but it is not burned to flash until you click "Burn Table."
b) Does Autotune make corrections while there is accel/decel enrichment?
It will if you can keep the tuning point on a vertex long enough and get the lambda correction to deviate from 100% at the same time. Typically, AE and DE happen while the engine RPMs are changing quite rapidly, and they usually turn off EGO correction at the same time, pretty much negating those two conditions.
c) Are the other enrichment factors reverse-calculted out of new ideal VE value, or is this not needed?
I'm not sure I understand what you mean. A-T only watches EGO correction and then tweaks the VE value to eliminate the need for that correction. Since EGO correction usually is not enabled during warmup, AE and all that other stuff, so you only have to consider EGO corrections.
d) In single table mode, with dual widebands, does autotune average egoCorr1 and egoCorr2, or choose one only?
You specify both the correction variable (one) and table to modify (one) in the ini file. Take a look in your custom.ini down near the bottom, you should see the settings for this stuff.
d) In Dual-Table mode, using Dual Widewand EGO correction, can I use autotune on the VEtable2? Will the corrections be calculated correctly using egoCorr2?
Yes, if that's how you have it configured (again, see the ini file settings).

More stuff here if you haven't already seen it:
viewtopic.php?t=11314

Eric

Posted: Mon Nov 28, 2005 5:08 pm
by midnightblue
Thanks Eric, I'll go for a dig through the custom.ini file to sort out the settings.

Matt.

Posted: Tue Nov 29, 2005 1:18 am
by midnightblue
Hi Eric,

I have been looking at the settings, and the default ones don't seem to be optimal for Dual

wideband or dual table users. What do you think about a couple of changes to the

megasquirt-II.ini file?

egoCorrection1 = scalar, S16, 34, "%", 1.000, 0.0
egoCorrection = { egoCorrection1 }, "%" ; Alias for old gauges.
egoCorrection2 = scalar, S16, 36, "%", 1.000, 0.0

becomes

egoCorrection1 = scalar, S16, 34, "%", 1.000, 0.0
egoCorrection = { ( egoCorrection1 + egoCorrection2) / 2 }, "%" ; Alias for old gauges.
egoCorrection2 = scalar, S16, 36, "%", 1.000, 0.0

to take care of the situation where the user has dual widebands in single table mode.

In the custom.ini revise the default settings to

#if MS_I
table = veTableMap ; Should be the map3d_id of a TableEditor entry.
allowAutoTune = on ; Displays the check box on the specified tuning dialog.
corrector = egoCorrection ; Variable used for correction algorithm.
...........
#else ; Actually only good for DualTable, MSnS-Extra and MegaSquirt-II.
table = veTable1Map
allowAutoTune = on
corrector = egoCorrection1
...........
table = veTable2Map
allowAutoTune = on
corrector = egoCorrection2
...........
#endif
to take care of dual table users, I think this covers all the bases.

I also think that expanding the current ego correction gauges from

egoCorrGauge = egoCorrection, "EGO Correction", "%", 50, 150, 90, 99, 101, 110, 0, 0

to include something more helpful like

egoCorrGauge = egoCorrection, "EGO Correction", "%", 50, 150, 90, 99, 101, 110, 0, 0
egoCorrGauge1 = egoCorrection1,"EGO Correction 1", "%", 50, 150, 90, 99, 101, 110, 0, 0
egoCorrGauge2 = egoCorrection2,"EGO Correction 2", "%", 50, 150, 90, 99, 101, 110, 0, 0

What do you think?

Many thanks, Matt.

Posted: Tue Nov 29, 2005 5:22 pm
by efahl
Matt,

Looks good to me... Can you make the changes in a recent custom.ini (look in the carMtCfg directory of the MegaTune install) and send it to me?

That averaging of the two sensor inputs will screw up all the single sensor installs, so we'll need to put a condition around it.

Eric

Posted: Wed Nov 30, 2005 2:57 am
by midnightblue
Hi Eric,

I was under the impression from Al that MS set egoCorrection2=egoCorrection1 when in single sensor modes, as egoCorrection2 is used in the pw2 calculation.

If this is the case then averaging them should work under all conditions.

I'll mail you later with a modified megasquirt-II.ini and custom.ini later on.

Many thanks, Matt.

Posted: Wed Nov 30, 2005 9:55 am
by efahl
Matt,

You are absolutely correct, that averaging should work just fine. I got your files and will merge them back into the base tonight when I get a few minutes.

Thanks,
Eric