The Top DSM Community on the Web

For 1990-1999 Mitsubishi Eclipse, Eagle Talon, Plymouth Laser, and Galant VR-4 Owners. Log in to remove most ads.

Please Support JNZ Tuning
Please Support ExtremePSI

General MegaSquirt - Line of high VE through VE table

This site may earn a commission from merchant
affiliate links, including eBay, Amazon, and others.

This site may earn a commission from merchant affiliate links, including eBay, Amazon, and others.

randman2011

10+ Year Contributor
552
282
Feb 26, 2012
Indianapolis, Indiana
I am running Megasquirt MS3X but as far as I can tell, this is hardware behavior and not part of the tune. I'm losing my mind chasing this so I'm hooping that others running Speed Density might be able to help.


Tuning on 93. I used the stock spark map and all of the table axes have been adjusted to match the factory table spacing. All AFT targets in this region are 14.7:1 stoich. Here's the latest VE table:
You must be logged in to view this image or video.

It doesn't fully show up here because I smoothed the line out in the lower RPMs and have only tuned/logged on the highway since, but if I let the ECU autotune or enable EGO correction I always end up with a thin line of high VE from 500 RPM 80% load out to 3700 RPM 50% load. The values along that line can get as high as 109% VE even though the cells above and below are between 60% and 80%. Simply removing that line and smoothing the table always results in the exact same line reappearing, as shown by the region between 2600 and 3700 RPM above.

Here's a section of a log from that tuning session. RPM stayed between 3100 and 3300 for the duration of the log. All I did was try to get MAP to cross above and below that line a bunch of times to see what the ECU is doing.
You must be logged in to view this image or video.

I started out above the line at 65% load 3150 RPM and reduced throttle to cross the line down to 46% load 3100 RPM before adding throttle and crossing the line again. As MAP drops down to this high VE line, the engine leans out all the way to 17.2 AFR indicating that VE value isn't high enough, but as soon as it crosses this imaginary line it plummets to 11.3 AFR indicating that VE value is too high. So on and so forth as I cross this line across the entire VE table.

I'm logging every single parameter that MS3X has so I can display whatever might be helpful, but checking through inputs like Baro, coolant temp, MAP, manifold temp show perfectly smooth curves with the only step change input being from the wideband. CLT was a constant 175F for this entire log and MAT only varied between 57.7F and 58.5F.

Helmholtz resonances would manifest as vertical lines, not horizontal. What am I missing?

EDIT: zipped tune and log attached since they're not allowed filetypes.
 

Attachments

  • TuneAndLog.zip
    79.7 KB · Views: 20
Last edited:
Okay so. I found the problem, and it goes back to another reason that I hate MegaSquirt. When I had to downgrade firmware because 1.5.x is a dumpster fire that would be amusing if it weren't so sad, the firmware flashing tool changed a setting in my tune.
You must be logged in to view this image or video.

If that table looks alarming to you, good. This allows you to compensate for the nonlinear region of your injectors. The format is a little odd, but it's not difficult to deal with if you have the data sheet for your injectors, which I do. Now, it's not going to be a pretty curve, but it will at least be smoothish. I have no idea where THIS table came from or how the setting even got enabled in the first place, but here's what it looks like with data from Deatschwerks. NOTE: MegaSquirt only lets you have four data points on this curve so I focused on the upper end. I haven't seen pulsewidths below 1.711ms in my logs. If I had more points available, the last one would be (1.2, 0.631) because yes, 90% error.
You must be logged in to view this image or video.

MUCH nicer. The downside is that all of my idle tuning and the bottom left quarter of my VE table are all in the nonlinear region and were tuned last year using that disgusting first table. So here's a before/after comparison after 15 minutes of tuning.
Main VE table:
You must be logged in to view this image or video.


You must be logged in to view this image or video.

Idle VE table, which I may not even need anymore:
You must be logged in to view this image or video.

You must be logged in to view this image or video.

So the car is FINALLY drivable but I have A LOT of cleaning up to do on the above tables because, once again, MegaSquirt is leaned me over a table and royally f***ed me. I've lost count of how many times that has happened across my two MS-"tuned" cars. My wallet may be happy that I no longer need to buy an new ECU but I'm honestly a bit disappointed that I'm going to stick with MegaSquirt on this car. Learn from my MSTAKEs. MS is never the answer.
 
And because I forgot to throw this in the original post, @Ramsey91 's post here inspired me to take one last stab at fixing this bullshit before I drop $1600 replacing my ECU. I started back at the above mentioned log, where I can see that no sensor inputs are nonlinear during the disruption but the injector duty cycle and pulsewidth directly mirror the AFR step change observed. So I pulled up the MegaSquirt fuel algorithm below.
What MegaSquirt® does is take this downloaded REQ_FUEL number and then multiply (or adds) values that scale this number, to come up with the injected pulse width [PW]. Therefore, pulse width is:

PW = REQ_FUEL * VE * MAP * E + accel + Injector_open_time
REQ_FUEL is a constant and can be ignored. VE is nonlinear because of my attempts to tune around this problem, but a linear VE still results in this issue (but much worse) so I can ignore that for now. MAP is linear throughout the log so that's not the source of the problem. Then I get to E and move to the second equation here.
The "E" above is the multiplied result of all enrichments, like warm-up, after-start, barometer and air temperature correction, closed-loop, etc:

E = gamma_Enrich = (Warmup/100) * (O2_Closed Loop/100) * (AirCorr/100) * (BaroCorr/100)
Warmup enrichment is not active during this issue and the log confirms, so that gets ignored. O2_Closed Loop is 0% in logs (it shouldn't have been disabled, but whatever. THat makes the math easy) so cross that off. AirCorr and Baro Corr were both 0% in the log, so the entirety of E is not causing it.
Back to the first equation, accel (enrichment) was not functional during the observed discrepancy, so that just leaves injector_open_time. Which is not a loggable parameter, nor is it an actual variable in the software. So I just pulled up the injector calibration. Nominal flow was correct and wouldn't cause this problem anyway. Deadtime is actually not correct but it's just a curve based on battery voltage which was constant during the log, so that's not it. But then, just below the deadtime table, I found the Injector Short Pulsewidth section, and hence the discovery.

So that's how I spent my Friday. I hope everyone else had fun because I certainly didn't.
 
Support Vendors who Support the DSM Community
Boosted Fabrication ECM Tuning ExtremePSI Fuel Injector Clinic Innovation Products Jacks Transmissions JNZ Tuning Kiggly Racing Morrison Fabrications MyMitsubishiStore.com RixRacing RockAuto RTM Racing STM Tuned

Latest posts

Build Thread Updates

Vendor Updates

Latest Classifieds

Back
Top