The MegaSquirt Project has experienced explosive growth other the years, with hundreds of new MS installations occurring every week - a phenomenal success! MegaSquirt has been successfully used in all aspects of Internal Combustion engine applications including R&D, Industry, Race, and Research. The MS project has transformed itself from a simple R&D project into a full-featured mature engine control system. To reflect this the support structure has also changed to meet the needs of MegaSquirt Users.
Moving forward, the R&D forums for MegaSquirt project are in a read-only mode - no new forum posts are accepted.
However the forums will remain available for view, they still contain a wealth of information on how MegaSquirt works, how it is installed and used. Feel free to search the forums for information, facts, and overview.While the R&D forum traffic has slowed in recent years, this is not at all a reflection of Megasquirt users, which continue to grow year after year. What has changed is that the method of MegaSquirt support today has rapidly moved to Facebook, this is where the vast majority of interaction is happening now. For those not on Facebook the msextra forums is another place for product support. Finally, for product selection assistance, all of the MegaSquirt vendors are there to help you select a system, along with all of the required pieces to make it complete.
Forum rules
Read the manual to see if your question is answered there before posting. If you have questions about MS1/Extra or MS2/Extra or other non-B&G code configuration or tuning, please post them at http://www.msextra.com The full forum rules are here: Forum Rules, be sure to read them all regularly.
cmonref wrote:...This equation reduces to: pw_wasted = pw_seqtl / 2 which sounds right since wasted injects only half of the sequential amount, twice as often...
that explains why changes to topen don't effect pw_wasted. need to remember that you also open/close injector twice as often too. if you used this equation, that would be the equivalent as topen = 0 and would make the transition to sequential too rich (remember, as i shrunk topen from 0.8 to 0.4 it steadily went from lean transition to equalized transition).
cmonref wrote:....One day I'll be having the fun you are, but you will have paid the frustration price of working out the bugs. Many thanks.
OK - remember that Topen and Tclose are constants - these define when the injector pintle opens and close. The open time depends on battery voltage primarily.
The open time is added to the desired PW because it takes a time of Topen for the injector to open. Example: if the desired pulsewidth is 4 milliseconds (i.e. this is how long you want the injector open), you have to add Topen to the pulsewidth - pulsewidth is really how long electrical current is applied to the solenoid winding and is Topen + desired PW.
The injector does not just spring open like a quantum jump when current is applied, since this is an electromechanical valve, and inductance limits the rate of current increase in the windings, it takes time for the injector to open - this is Topen. For example, for a Topen of 0.4ms the pintle may not move for the first 0.3ms- not until there is enough current in the windings to apply a force to move the pintle.
Note that Tclose is the time from when the current is released. So its not part of the commanded pulsewidth directly because it just happens when the current goes away.
Now, during Topen time a small amount of fuel leaks by when the pintle moves. Its not 0.4ms worth of fuel for a 0.4 Topen time. And there is a little fuel leaking by during Tclose.
So Topen + Tclose really mean that there is a proportional leakage fuel because the injector does not instantly slam open and shut. Its a smaller amount than Topen+Tclose. I am not sure what Al is using in the code for this - I think it may be 1/3 of Topen and 1/3 of Tclose for the *real* fuel leaking thru every time the injector is cycled.
Again this is a constant value - every time the injector is cycled you get this additional fuel. But there should be a value where sequential and wasted agree. I think there is something else additionally happening here with the AFR readings. Any unburned HC will freak out a UEGO sensor, it doesn't take much at all. And like Al indicates, the wall wetting means that every injector shot some clings to the wall and with wasted you get twice the shots and twice the chance for the effect to take hold. X-Tau will correct this..
A few days ago Bruce said that he thought the wasted to sequential leanout problem had to do with what happened between intake valve closings, but his quick analysis indicated things should get richer not leaner. Well today I did a more detailed analysis and found that things can go either way depending on how the injector timing is set up. This doesn't negate anything said about the wall wetting or topen - tclose times. It is just something to be added to the mix, but it is really the main factor.
The sequence going on in the processor during the wasted to sequential transition (for a 6-cyl) is as follows:
Injm,n means inject simultaneously into cylinders m and n(wasted); Injn means inject cylinder n (sequential). Cam_sync may arrive earlier than shown, but the transition to sequential always takes place ONLY after the cyl 1 tach arrives (after missing tooth + delay teeth). The sequence is as shown when the Spk_fuel_offset is 0, but can be offset by 0 to 5 cylinders without having to change the wiring, so injection can occur anywhere in the 720 deg engine cycle.
Now take the above sequence and stick in the valve closings, VCn, one and only one of which occurs between each injection. It is possible to have 6 such sequences depending on the engine and when tach pulses arrive in relation to VC and the value of injection start timing. The latter covers one tach cycle and when added to Spk_fuel_offset it allows you to start the injection of a cylinder anywhere in the 720 deg cycle. Below is a sample sequence:
Now look at last VC1 before the transition and the first VC1 after transition (cam_sync). After the first VC1 occurs no more fuel can get into the cylinder until combustion and the valve re-opens. Let's also assume there is enough time so that all of the fuel before the first VC1 gets into cyl 1. Then from after the first VC1 up to the next VC1 we have an Inj1,4 and an Inj1 going into cyl 1. This is approx pw/2 + pw ((assume topen, tclose accounted for in this to keep the math simple) So we have cyl 1 being 50% rich on the first event after transition. If you continue this analysis you will find that the same is true for cylinders 2 and 3, both 50% rich. However, cylinders 4-6 get exactly the pw they need. This what Bruce found.
You can continue the analysis and find 2 more cases where the same is true, but cyl 4-6 can get pw/2 + pw/2 or just pw, but either way they are ok. But cyl1-3 are 50% rich.
But there can also be 3 cases where VC1-3 are ok, (getting either two pw/2 or one pw), but VC4-6 are 50% lLEAN. An example of such a sequence is:
Look at VC1-3. They get excatly 1 pw from the last VCn before transition to the first VCN after.
Look at VC4-6. They get exactly 1 pw/2 rom the last VCn before transition to the first VCN after, so they are 50% LEAN. 50 % is way more than the wall wetting effects.
You may have missed the import of an assumption I made above: "Let's also assume there is enough time so that all of the fuel before the first VC1 gets into cyl 1". This is only true if there is enough time between the injection and the valve closing. If it is not completely true, then the cylinders may be less than 50% lean or rich, and the cylinders that were ok may not be completely ok.
Like everything in engine behavior, things are never simple. To do this perfectly, each cylinder needs to be modeled standalone and fuel actually getting into the engine needs to be modelled, as well as the fuel in suspension and on the walls. And eventually we will get to this, but we are only talking about a one time event on transition- most of the time happening during startup. So the rich part doesn't bother me, but I will try to figure out how best to alleviate the leanness problem, which unfortunately is more difficult to solve..
What I don't know about this will fill the MegaManual and then some, but given this statement:
Cam_sync may arrive earlier than shown, but the transition to sequential always takes place ONLY after the cyl 1 tach arrives (after missing tooth + delay teeth).
how can this sequence occur:
But there can also be 3 cases where VC1-3 are ok, (getting either two pw/2 or one pw), but VC4-6 are 50% LEAN. An example of such a sequence is:
In this sequence, doesn't the transition to sequential occur after cylinder 3 tach event? From the first statement, I would expect the wasted to continue until Inj3,6 VC6 then transition to sequential: inj1 VC1 Inj2 VC2 ...
You are right - the sequences I showed aren't correct . Because of the SparkFuelOffset input you can Inj on any cylinder you want right after cam sync, but you can't change what valve closes and what cylinder is going to spark next. So the sequences I showed have to be re-written so that the VCn stay fixed relative to cam sync and only the Inj timing changes. The first sequence I wrote is correct (for small no. Delay Teeth). The next one should be:
this could be clarified by spending some time on the stim with a scope, but mine was getting lean on transition out of cyls 4-6, which i contrary to Al saying that it will either be lean in 1-3, or rich in 4-6.
i have 2 exhaust manifolds. one on cyls 1-3, and one on cyls 4-6. my o2 bung is just below the collector of cyls 4-6.
not sure if it bakes into this or not, but the way mine is setup, the cam sync comes in between the cyl 2&3 tach pulse. i'll confirm that o2 bung is in 4-6, and also the following, but i'm pretty sure about this. When I set it up, I wasn't sure which cycle cam sync would be, but I checked it on scope before I set it up, and it worked right away by setting it an entire cycle before #1.
delay teeth = 20, offset =-36. cam sync comes in just before tach pulse 3:
Sydney, Australia
Successfully MS2 v3.0 squirted 1971 Holden Monaro HQ
400 Pontiac, ported #16 heads, Tomahawk intake with custom plenum using LS1 78mm throttle body dialed in with a TechEdge 2E0 Wideband Controller.
that could potentially identify which cyls get the lean puff, but it might be more informative to actually simulate the transition on the stim. this all assumes that the work is worth the effort.... in my opinion.... it's not. any transition to sequential is going to occur at startup and missing one fuel pulse with zero load really isn't a concern. in fact, during startup, the missing fuel is more than made up with the extra enrichments from cranking pulse widths being so big, and the ASE...
my o2 sensor gives a signal only after startup, but i suspect you would not be able to identify the transition during startup the same way i can see it when cam sync is plugged in during steady state idle.