Page 1 of 8

[FW MOD] ms2extra 3.2.1 beta gslender v2

Posted: Sat Dec 17, 2011 7:59 pm
by gslender
UPDATE : This firmware has been updated to v2.2b - see this thread >> http://msextra.com/forums/viewtopic.php?f=91&t=43545

G'day...

This modified firmware is based on MS2/Extra 3.2.1 beta, and adds several enhancements designed to improve idle stability during load events, such as AC and other engine loads. See post http://www.msextra.com/forums/viewtopic ... 91&t=43285 for the prior 1.1 release.

This v2 update is a major release to the mods I've previously added and includes significant changes from previous release.
The changes and new features include:
  • New Memory Page - now ms2 has lots more space for more future mods.
  • New MS3 Initial Value Tables (ivt) - in addition to last-known-good (lkg) for idle duty (replaces MAT correction).
  • New MS3 PWM voltage correction tables (replaces Volt correction).
  • Extra bin and same page (burb fix) for load/rpm idle advanced settings.
  • Latest MS3 Bug fixes in AC idle handing
  • Change to RPM input smoothing from IAC output smoothing (smoother still)
Docs to follow..

Firmware >>
ms2extra_3.2.1_beta_gslender_v2_release.zip
Source >>
ms2extra_3.2.1_beta_gslender_v2_source.zip

Re: [FW MOD] ms2extra 3.2.1 beta gslender v2 beta5

Posted: Sat Dec 17, 2011 8:57 pm
by Greg G
I've been playing around with this for a few days. Idle is very smooth. The change to RPM input smoothing from idle valve output smoothing is something that helps quiet PID down near target. The initial value tables for idle duty does allow for a more consistent return to idle target on throttle release. But be aware this table needs to be populated with the correct values.

The battery correction table is spot on! Much better that the previous duty adder, because I can now shape the curve (mild on initial engagement (can simulate adder for headlights), and stronger for bigger voltage droops (transitional electrical loads like fan activation). Like so:
Image
The bottom bin sets the floor above which no correction is made. The next bin is where I incorporate the "headlight idle up"--thats the amount of drop when my headights are on. The rest of the bins ramp up aggressively to counter any transient electrical loads (fans).

RPM based idle advance adder- I cannot rave about this enough. Smoooooooth.

Based on this:
Image

I set it up like this:
Image

That plus the AC idle up, gets me this:
Image

Look at the yellow RPM trace glued to the blue target rpm trace! Note the fuschia spark advance oscillating to keep the RPM flat despite various loads being applied. The idle valve only responds to big loads.

Thanks to gslender for working so hard on this! The extra memory page is a huge thing! And thanks to the devs for their help. :yeah!:

Re: [FW MOD] ms2extra 3.2.1 beta gslender v2 beta5

Posted: Sat Dec 17, 2011 10:49 pm
by Ligerzero
Outstanding! Keep up the good work. I will be flashing this tomorrow and reporting back.

Re: [FW MOD] ms2extra 3.2.1 beta gslender v2 beta5

Posted: Sat Dec 17, 2011 11:44 pm
by muythaibxr
Glad to see our ideas coming together. Also glad to see my suggestions working. I'm going to spend a few hours coding tomorrow as well to see about improving this and a few other features further.

Ken

Re: [FW MOD] ms2extra 3.2.1 beta gslender v2 beta5

Posted: Sun Dec 18, 2011 2:28 am
by gslender
muythaibxr wrote:I'm going to spend a few hours coding tomorrow as well to see about improving this and a few other features further.
Cool. There's two things I've been thinking about how to improve...

1) add a floating base voltage learnt from the past X number of avg voltages taken during a sample. This would allow the voltage compensation table to be automatically rebaselined as load is added or removed.

2) add a cold starting/warmup version of the idle advance rpm tables - either rebaseline the input rpm used by the table so it can be used during warmup, or change to a with a 3d table that can be used during lower clt temps.

Let me know if you don't progress on these as I'll probably give 2) a go with the 3d table, maybe only 3 or 4 clt columns would be needed.

G

Re: [FW MOD] ms2extra 3.2.1 beta gslender v2 beta5

Posted: Sun Dec 18, 2011 8:02 am
by GintsK
Thanks for doing this!

I have a problem:
TsGslender.png
TS 1.004

What could be a problem?

Gints

Re: [FW MOD] ms2extra 3.2.1 beta gslender v2 beta5

Posted: Sun Dec 18, 2011 8:24 am
by muythaibxr
Assuming that line is working for everyone else, you may need to update TS.

Ken

Re: [FW MOD] ms2extra 3.2.1 beta gslender v2 beta5

Posted: Sun Dec 18, 2011 8:30 am
by muythaibxr
For #2 you could just make the curve target-based. So as the target changes it automatically 'rebaselines.' This is what I will be doing in MS3 under the name CL idle timing assistance (since it is going to be based on the CL idle targets).

I am not sure i really see the point of #1. What observed problem are you trying to solve?

Ken

Re: [FW MOD] ms2extra 3.2.1 beta gslender v2 beta5

Posted: Sun Dec 18, 2011 9:55 am
by GintsK
muythaibxr wrote:Assuming that line is working for everyone else, you may need to update TS.

Ken
Thanks! latest beta works!

Gslender, I think RPM based advance assist for idle should be not versus fixed rpms but versus rpm deviation from target. Otherwise cold engine falls in unwanted retard.

Gints

Re: [FW MOD] ms2extra 3.2.1 beta gslender v2 beta5

Posted: Sun Dec 18, 2011 10:00 am
by jsmcortina
GintsK wrote:Thanks for doing this!
I have a problem:
TsGslender.png
TS 1.004
What could be a problem?
That's a cut/paste from the ms3 ini file and won't work as-is on MS2/Extra. The {rpmhigh} needs changing to a fixed number, such as 9000.

James

Re: [FW MOD] ms2extra 3.2.1 beta gslender v2 beta5

Posted: Sun Dec 18, 2011 12:57 pm
by GintsK
I have some corruption problem with this table - could it be because of {rpmhigh}?
Changing of one value in table leads to changing whole shape and values in table.

Re: [FW MOD] ms2extra 3.2.1 beta gslender v2 beta5

Posted: Sun Dec 18, 2011 1:38 pm
by gslender
jsmcortina wrote:That's a cut/paste from the ms3 ini file and won't work as-is on MS2/Extra. The {rpmhigh} needs changing to a fixed number, such as 9000.

James
James, can you elaborate further....why won't that work on ms2 ? With latest TS it produce no error?

G

Re: [FW MOD] ms2extra 3.2.1 beta gslender v2 beta5

Posted: Sun Dec 18, 2011 1:41 pm
by jsmcortina
gslender wrote:
jsmcortina wrote:That's a cut/paste from the ms3 ini file and won't work as-is on MS2/Extra. The {rpmhigh} needs changing to a fixed number, such as 9000.
James
James, can you elaborate further....why won't that work on ms2 ? With latest TS it produce no error?
It won't work on MS2 because there aren't any parameters defined to set the {rpmhigh} variable. They only work in the latest beta TS. So for MS2 I would suggest just changing that to 9000 (only takes 5 seconds right?) and use release TS 1.004.

James

Re: [FW MOD] ms2extra 3.2.1 beta gslender v2 beta5

Posted: Sun Dec 18, 2011 1:43 pm
by gslender
GintsK wrote:
Gslender, I think RPM based advance assist for idle should be not versus fixed rpms but versus rpm deviation from target. Otherwise cold engine falls in unwanted retard.

Gints
I agree and only simply add rpm as a more effective way to control idle. Obviously completely replacing or redoing idle advance would consider rpmDOT from target or similar.

Re: [FW MOD] ms2extra 3.2.1 beta gslender v2 beta5

Posted: Sun Dec 18, 2011 1:51 pm
by gslender
jsmcortina wrote: It won't work on MS2 because there aren't any parameters defined to set the {rpmhigh} variable. They only work in the latest beta TS. So for MS2 I would suggest just changing that to 9000 (only takes 5 seconds right?) and use release TS 1.004.

James
Ahhh, yup. Well, I've not tested any of this with TS 1.004 so this might not be the only stuff that doesn't work.

As I've brought stuff down from ms3, and it targets the very latest beta TS, and there is no docs to explain all this, I'm just assuming anything in those TS versions is correct to take forward.

I'll fix this for the next release. Thanks
G

Re: [FW MOD] ms2extra 3.2.1 beta gslender v2 beta5

Posted: Sun Dec 18, 2011 1:55 pm
by gslender
GintsK wrote:I have some corruption problem with this table - could it be because of {rpmhigh}?
Changing of one value in table leads to changing whole shape and values in table.
Can you elaborate a little on the issue?

I did move a lot of things into my new memory page and may have stuffed up the array value positions (Devs will know what I'm rambling on about) as its a manual counting up and checking process.

G

Re: [FW MOD] ms2extra 3.2.1 beta gslender v2 beta5

Posted: Sun Dec 18, 2011 2:09 pm
by gslender
gslender wrote:
GintsK wrote:I have some corruption problem with this table - could it be because of {rpmhigh}?
Changing of one value in table leads to changing whole shape and values in table.
Can you elaborate a little on the issue?

I did move a lot of things into my new memory page and may have stuffed up the array value positions (Devs will know what I'm rambling on about) as its a manual counting up and checking process.

G
Don't bother - found a bug in the TS ini file that is causing this probem - sorry. :oops:

You only need to use this new ini file (which I've also replace the one in the zip on the first post).
megasquirt-ii.ms2extra.ini
g

Re: [FW MOD] ms2extra 3.2.1 beta gslender v2 beta5

Posted: Sun Dec 18, 2011 2:43 pm
by GintsK
Seems solved!

Gslender, regading this table. What do you think if x axis would be MAT, y - CLT instead of RPMs?
Rpms are unattached value to DC. With same DC we can get full variety of rpms. Depending on some circumstances as oil temperature, electrical load etc.

So tuner then have to construct DC table what in usual operation gives rpms little above target. Just with keeping rpm target in mind, not in table.

In addition CLT vs MAT table would be usable for those users eho do not want bothers with PID settings. Open loop.

Or another sense for RPMs being there?

Gints

Re: [FW MOD] ms2extra 3.2.1 beta gslender v2 beta5

Posted: Sun Dec 18, 2011 3:22 pm
by Greg G
muythaibxr wrote:
I am not sure i really see the point of #1. What observed problem are you trying to solve?

Ken
That would be me. I notice that the average voltage changes by a few tenths when the engine is hot (compared to average voltage when cold). So if I set the floor too aggressively, I would get a bit of unwanted duty correction during steady state idle. If I back off, then it would have less than perfect response (well we got this far, why not go for perfect :) )

Greg

Re: [FW MOD] ms2extra 3.2.1 beta gslender v2 beta5

Posted: Sun Dec 18, 2011 3:33 pm
by Greg G
GintsK wrote:Seems solved!

Gslender, regading this table. What do you think if x axis would be MAT, y - CLT instead of RPMs?
Rpms are unattached value to DC. With same DC we can get full variety of rpms. Depending on some circumstances as oil temperature, electrical load etc.

So tuner then have to construct DC table what in usual operation gives rpms little above target. Just with keeping rpm target in mind, not in table.

In addition CLT vs MAT table would be usable for those users eho do not want bothers with PID settings. Open loop.

Or another sense for RPMs being there?

Gints
I think that the CLT correction is already factored in via the CLT vs target rpm table. And the mat vs rpm vs duty 3d table accounts for the effects of intake temperature.

Doing it your way- you mean we would eliminate the clt vs target rpm table, and just have a fixed target? Then the clt vs mat vs duty table would just adjust accordingly? Could you elaborate? I would imagine it would not be as straightforward to collect data to populate the table, compared to the present setup.

Greg