Possible uses of our timer resources : ideas soon please!

Official FreeEMS vanilla firmware development, the heart and soul of the system!
User avatar
Fred
Moderator
Posts: 15431
Joined: Tue Jan 15, 2008 2:31 pm
Location: Home sweet home!
Contact:

Re: Possible uses of our timer resources : ideas soon please!

Post by Fred »

I just had a cunning idea!

If we store multiple interrupt vector tables that match various schemes, we can set the IVBR register at init time to point to the one we want to use, ie, centred staged injection, use this table, normal staged injection, use this table, etc, each table eats up :

2 bytes per ISR, 8x15 ISR's
15x16
240 Bytes

Which is wasteful no doubt, but if only say rotary and staged need a separate table, then hooray we could keep all the code in at once instead of messing around with multiple releases.

Just an idea, but it has some merit.

Admin.
DIYEFI.org - where Open Source means Open Source, and Free means Freedom
FreeEMS.org - the open source engine management system
FreeEMS dev diary and its comments thread and my turbo truck!
n00bs, do NOT PM or email tech questions! Use the forum!
The ever growing list of FreeEMS success stories!
User avatar
AbeFM
Post Whore!
Posts: 629
Joined: Sat Feb 16, 2008 12:11 am
Location: Sunny San Diego
Contact:

Re: Possible uses of our timer resources : ideas soon please!

Post by AbeFM »

Ooooo! I like the idea. Whatever it was you did this weekend you should do more of. ;-)

I have a feeling, though, things like staged injectors will just be a big table of 0's for cars without extra injectors.
User avatar
Fred
Moderator
Posts: 15431
Joined: Tue Jan 15, 2008 2:31 pm
Location: Home sweet home!
Contact:

Re: Possible uses of our timer resources : ideas soon please!

Post by Fred »

I have a feeling that It will be a duty cycle or pulse width on the main channel that is the threshold for moving bringing in staged. Additionally, *maybe* you could set something like a low duty/pulsewidth to aim for on the main channel too such that you can get less of it at higher boost or something for your tin arse dual fuel setup. Doing more than that or a simple map vs max duty for primary 2x8 table is just taking config for a special feature that could work very well without it too far. Infact, if control of pulsewidths/duties like that was allowed at all (rather than just intlligent sizing to achieve your percentages, the table would be the way to go.

Consider the no config setup. 2l 4pot stock primaries, HUGE secondaries, on your engine or similar, 250cc, 1000cc (for gas, huge for meth would be double that). You could ring the nuts off it upto 100kPa and the 250 would be enough in both octane 86aki/91ron and flow. Above say 90% duty (fixed in software, or perhaps single figure settable) it comes in with the boost, 5psi gets you 25% toluene, 10psi gets you 40% toluene, 15psi gets you 50% toluene, 30psi gets you 66% toluene, or higher. These are enough, NO, these are excessive quantities of high octane juice for a 10:1 engine. I was pushing 17psi with 33% toluene with no issues AT ALL. I don't under stand why you would want to make the primaries any smaller, the percentages of high oct juice are way too much already, and going to paired 550cc injectors will idle sweet as roses with sequential anyway. Twin 550cc will net you 50% toluene on full boost, thats pretty healthy mix of fuel indeed :-) It also means that you use even less expensive juice and more cheap stuff.

Point being, with any reasonable sized injectors, the percentages are going to be pretty good indeed by default without introducing more config. For everyone else that just wants more flow (VAST majority, barring you and mops) the relative sizing and pulses does not matter, except that (as you pointed out) it is a smooth transition.

Excess config must die. Full control of main core tunables must be exposed maximally. Code must be kept simple and understandable and fast. Anything that gets in the way of those can go jump :-)

I'd quite like to go jump in a lake, but there is nothing that doesn't resemble sewerage or chlorinated pay per dip pool within about 2 hours from here :-(

Admin.
DIYEFI.org - where Open Source means Open Source, and Free means Freedom
FreeEMS.org - the open source engine management system
FreeEMS dev diary and its comments thread and my turbo truck!
n00bs, do NOT PM or email tech questions! Use the forum!
The ever growing list of FreeEMS success stories!
User avatar
AbeFM
Post Whore!
Posts: 629
Joined: Sat Feb 16, 2008 12:11 am
Location: Sunny San Diego
Contact:

Re: Possible uses of our timer resources : ideas soon please!

Post by AbeFM »

"Pay per dip"? Man, foreigners as so.... foreign. With their crazy expressions and fueling misconceptions. :-)

Hmmm, I think I mostly like it. One thing is your set up again sounds like it depends on the injector sizes which seems a bit silly since you could set something like that in software. But two things I like about it - one, it does scale nicely, and two, it leaves the hardware in a state where totally different code could be used to drive it.

In my ideal world, your table is a % fuel two. Then, armed with knowledge of the size of the injectors, it would be easy to find out the relative pulse widths of the two. And here's a couple reasons:

1) As you pointed out, during cold starts, your system could leave you using octane booster when you really just wanted to max out the small injectors for cold idle, where as mine wouldn't switch till you've exceeded a certain duty cycle (90+)
2)

What has me a little worried is that at lower octanes, you would have a 90 ms blast of fuel, and a 5 ms blast of toluene leaving a.. poorly mixed fuel.

Actually, this leaves me wondering. Each drop will burn very poorly. If it's not atomized, I'm not sure how it'll work. This makes me thing you're better off with a mixing valve before the injector. And that's complicated, silly, and possibly outside the scope of this little discussion.

The other thing that bugs me is I totally spaced on what was going to be in number 2. I'm sure it was quite insightful and clever though. Maybe it was just something like it makes it easier to have a table but.... that's the same as number 1.
User avatar
Fred
Moderator
Posts: 15431
Joined: Tue Jan 15, 2008 2:31 pm
Location: Home sweet home!
Contact:

Re: Possible uses of our timer resources : ideas soon please!

Post by Fred »

A 2x8 table would cover the cold start thing IF it's an issue, which it may or may not be. Past that, you are going to size your small ones for NA use or greater anyway, so in fact, you are not going to make them 150cc on 2.0 4pot, and you are not going to make them 700cc because that defeats the whole point of staged arrangements, and anywhere in between some sort of automated control will work very well anyway.

I am STILL very very VERY keen on minimal config and an EMS that just does the "right" thing all of the time without interference. I know this is an unrealistic goal in the overall scheme of things, but it is mostly achievable in my mind. The key thing is identifying what the "right" thing is. When I said "on and off together" you said "sharp transition = bad", and I dropped it. And that is how it should go.

In this case though, I think having to tune two tables is a pain in the arse. what you want is increasingly more octane with more boost, and if you size right (oem + double or tripple or quadruple oem) you get that behaviour by default with a simple setup. Why complicate it?

Also, your fuel will be just as atomised as ever. Your mixture will matter less when its not well mixed anyway, and when it does matter, pulses will be equalish. Of course, if you just run the same fuel, none of that is a concern at all.

Also, if you don't like it, fix/change it for yourself right? this is diYefi.org ;-) I suspect you'll find that you will like it. I also suspect you will find that you don't want to engineer an 8 injector setup with two fuel pumps, surge tanks, filters, main tanks, etc etc either. Also, those most vocal about such things are often never going to use them anyway....

I think 92gsx needs to post his thoughts here.

Can someone provide a cold start and warm up data set of injector duty, pulsewidth, size, and engine size/cyl count for us to look at? From that we could determine exactly what will/won't be required for a staged control setup.

Admin.
DIYEFI.org - where Open Source means Open Source, and Free means Freedom
FreeEMS.org - the open source engine management system
FreeEMS dev diary and its comments thread and my turbo truck!
n00bs, do NOT PM or email tech questions! Use the forum!
The ever growing list of FreeEMS success stories!
User avatar
AbeFM
Post Whore!
Posts: 629
Joined: Sat Feb 16, 2008 12:11 am
Location: Sunny San Diego
Contact:

Re: Possible uses of our timer resources : ideas soon please!

Post by AbeFM »

This somehow seems more complicated to me, not being able to just list a ratio for the injectors. Then you have nice direct, simple control of things. And if I (which I've seen people do) swap out the secondaries twice in one week for different sizes, I change one number and the system still works - the tables that mix them remain entirely valid. And there's no worries about total fuel delivered verses octane, etc.

It just seems that letting one go to a certain open time, then using the other, can only cause problems but won't make anything particularly easier.
But yes, overall I like how things are going. :-) And I want to see what MR. GSX has to say....
User avatar
Fred
Moderator
Posts: 15431
Joined: Tue Jan 15, 2008 2:31 pm
Location: Home sweet home!
Contact:

Re: Possible uses of our timer resources : ideas soon please!

Post by Fred »

I don't know anyone at all that swaps injectors in and out more than once an engine swap or so. I certainly DO NOT think it is reasonable to go out of my way to make an injector swapping mad mans life significantly easier while complicating it for everyone else. Mr injector swapper should totally expect that his tune will be borked when he adjusts a fundamental operational parameter of his engine.

Please remember that random octane on the secondaries is going to be a minority, and then tell me exactly how you would have the tuning interface and data structures and logic and calculations. Ensure that they are clean and simple (all parts of the system, not just your front end).

After I understand where you are coming from (because I currently don't) we can discuss this further. As it stands all I hear is "i don't like your way" not "this way would be better", at least, not in enough detail to consider.

Fill me in :-)
DIYEFI.org - where Open Source means Open Source, and Free means Freedom
FreeEMS.org - the open source engine management system
FreeEMS dev diary and its comments thread and my turbo truck!
n00bs, do NOT PM or email tech questions! Use the forum!
The ever growing list of FreeEMS success stories!
User avatar
ababkin
LQFP112 - Up with the play
Posts: 215
Joined: Tue Jan 15, 2008 5:14 pm

Re: Possible uses of our timer resources : ideas soon please!

Post by ababkin »

one thing that worries me about all this fuel octane increasing/decreasing depending on load/boost is whether or not it will screw up (or will make it too complex) the fueling model that the EMS will use.
Introducing other stuff like methanol or toluene will influence stoich ratio for instance. Accel enrichments, etc, may all be affected by this.
Not saying this is a show-stopper though, just something to consider before delving into it.

I also don't see any problems with atomization as long as the pressure is sufficient in the fuel line (which we won't be changing i hope)

Also, does anyone know if there are any methanol/water safe injectors available yet? I read quite a bit on all kinds of W/M inj forums, and according to people in the know, there are no such injectors available yet (so they use very fast solenoid valves and simple nozzles instead)

I personally would rather have two separate tables for two separate rows of injectors, at least for starters. I have a feeling it'd be easier to tune it this way. The disadvantage is of course it'll take double the space on the flash (which we have buttload of anyway)
Legal disclaimer for all my posts: I'm not responsible for anything, you are responsible for everything. This is an open and free world with no strings attached.
User avatar
Fred
Moderator
Posts: 15431
Joined: Tue Jan 15, 2008 2:31 pm
Location: Home sweet home!
Contact:

Re: Possible uses of our timer resources : ideas soon please!

Post by Fred »

ababkin wrote:one thing that worries me about all this fuel octane increasing/decreasing depending on load/boost is whether or not it will screw up (or will make it too complex) the fueling model that the EMS will use.
I would expect a meth user to fudge his injector sizing figures to achieve the correct AR with that fuel. Toluene on the other hand is the same as gas...
I personally would rather have two separate tables for two separate rows of injectors, at least for starters. I have a feeling it'd be easier to tune it this way. The disadvantage is of course it'll take double the space on the flash (which we have buttload of anyway)
Not too fast batman, most of it is paged, and that could mean that we can't use it for certain things... Particularly, core important things like fuel.

I think tuning the entire map twice would be a MAJOR pain in the arse. If its repeatable and predictable by way of a simple setup, you can just tune your overall VE requirement and the computer will take care of which injector does what. The ratio of flash fuel to normal should be done with injector sizing as with any engine build. You don't just chuck random ones in, you do the math first, same thing applies here IMO.

Good to see that you are reading this though :-)
DIYEFI.org - where Open Source means Open Source, and Free means Freedom
FreeEMS.org - the open source engine management system
FreeEMS dev diary and its comments thread and my turbo truck!
n00bs, do NOT PM or email tech questions! Use the forum!
The ever growing list of FreeEMS success stories!
User avatar
AbeFM
Post Whore!
Posts: 629
Joined: Sat Feb 16, 2008 12:11 am
Location: Sunny San Diego
Contact:

Re: Possible uses of our timer resources : ideas soon please!

Post by AbeFM »

yeah, I might have to sit down and actually think about this - mostly I was thinking it would be pretty straightforward, so why not do it in the most general way. I have been picturing a VE table, like normal, plus a 1D or 2D (though I think 1-D is fine, MAP based) table that says use X% inj1 and (100-X)% inj2.

So, like so:

VE table: 40%

Inj Table: 50%

Inj1 (constant): 250
Inj2 (constant): 550
InjRatio (calculated on start up): 250/550 = 0.4545

Then when fueling, instead of doing this:

Fuel Delivered = 0.4 (from VE table) * airflow (assume 100) = 40 ul
If (SecondaryUsed)
Then
If PW@250 < MaxPrimaryTime
Then PWA = PW@250
PWB = 0
Else PWA = MaxPrimaryTime
PWB_effective = PW@250 - MaxPrimaryTime
PWB = PWB_effective*0.4545(ratio)
Else
PWA = PW@250

Mine is like so:
Fuel Delivered = 0.4 (from VE table) * airflow (assume 100) = 40 ul
InjA = 0.5 (InjTable) / (0.4545(ratio) + 0.5 (InjTable))
(note: InjB = 1-InjA)
PWA = PW@250*InjA
PWB = PW@250*(1-InjA)

And if secondary injectors are 0 there's nothing to change.

I dunno, this doesn't seem well thought out either, but it seems to me, all IF statements aside, that mine has maybe three additions and one division more than yours, but is way more general. It does require one table look up (and associated interpolation, I assume)
Post Reply