EGO correction and PW change

This is a forum for discussing the development and testing of alpha MS2/Extra code. Documentation
(Runs on MS2 and Microsquirt)

Moderators: jsmcortina, muythaibxr

Post Reply
ol boy
Super MS/Extra'er
Posts: 1532
Joined: Mon Sep 10, 2007 3:06 am
Location: Tucson, Az

EGO correction and PW change

Post by ol boy »

I noticed today cruising down the freeway that it takes several tenths of an EGO correction before the pulse width changes. Maybe my data rate over my phone is slow and I'm not seeing it change. I was able to hold a steady MAP, TPS and RPM value for several seconds while EGO correction would increase and decrease but the PW would increase and decrease by 3 to 4 us steps. Would reducing my required fuel by half and doubling the VE table give better resolution?

MS2extra3.4.0 code.
Using a NB o2.
2016-03-15_08.45.53.msq

About 60 seconds of logging showing EGO correction and PW change.
2016-03-15_08-26-41.msl
306 SBFord, Torquer II EFI intake, 60 lbs injectors, 8 LS2 coils, VS Racing 7668 turbo, 4R70W, MS3x fw1.4 w/built in trans controller.
mrx79
Experienced MS/Extra'er
Posts: 299
Joined: Wed Oct 29, 2008 8:26 am
Location: Frankfurt / Germany

Re: EGO correction and PW change

Post by mrx79 »

As you saied, you have a pretty steady load during your log.
I usualy use wideband PID control, but i use NB at work a lot (OEMs like it cheap).
With NB you usualy try to get a good swing around lambda 1 (0,5v o2), so see it like pushing the engine 2-3% on the lean side when it is rich and 2-3% rich when it is lean.
So you get a sinus like o2 oscillation around lambda 1, this is simplified how oem NB lambda control works.

So with NB, the goal is not to keep a dead straight lambda 1 like it is possible with a WB PID.

To make it short, i think your pre-control is pretty good for what a NB lambda control can improve, thats the reason why the EGO cor doesn't make much.
Also your PID settings seem to be very conservative. I have not much experience with MS and NB PID control, but i think a simple lambda control works better with NB sensor then a PID, due to the reason that you don't know the exact controller error with a NB sensor anyway, you only know too rich or too lean.

Mayb give simple control a shot with a bit more agressive parameters. But from your pre-control i would say, at least at this point there is not much lambda controller intervention necessary anyway.
Honda CRX B16A1 Turbo | MS3 running | pre1.5.1 beta7 Firmware | 24/1 Dual Wheel | COP ignition | 725cc ID injectors
ol boy
Super MS/Extra'er
Posts: 1532
Joined: Mon Sep 10, 2007 3:06 am
Location: Tucson, Az

Re: EGO correction and PW change

Post by ol boy »

I've noticed with the current PID values, a slight tip in or lift on the throttle will cause EGO correction to jump higher or lower by several percent to catch the rich or lean spot. If I'm more aggressive with the PID loop the EGO correction will cause the PW to swing wildly and cause the engine to run like crap.

My real question is how fine is the internal math at producing a PW down to 1us increments? If the req fuel value is large and the VE values are small does the math produce a courser output of PW? With a small req fuel value and larger VE values does the math produce a finer PW step? Would this then correlate to EGO control and how fine one tenth of correction equates to PW +or-?

I'm running 60lbs injectors on a mild but turbo'd 302 Ford. At freeway speeds PW is in the 1.5 to 1.7 range depending on incline and sorts. I suppose running a MS3 in sequential mode would nearly double the PW and produce a finer adjustment. :roll:

ideas?
306 SBFord, Torquer II EFI intake, 60 lbs injectors, 8 LS2 coils, VS Racing 7668 turbo, 4R70W, MS3x fw1.4 w/built in trans controller.
mrx79
Experienced MS/Extra'er
Posts: 299
Joined: Wed Oct 29, 2008 8:26 am
Location: Frankfurt / Germany

Re: EGO correction and PW change

Post by mrx79 »

Concerning PID Values, have you tried the simple algorithm with the NB controller?
PID is usualy good if you know your exact deviation from target, so you can correct in a proportional manner to the error.
With a NB sensor this information is just not present.

I don't know out of my mind how the code generates the PID loop error based on the O2 signal - if from Voltage, then it's definitly non linear, so the output won't be either or as you described you have to run VERY low PID settings to avoid oscillations.

I would try simple algo and see how it works.
From my working experience i would expect a better control result then with a PID in this case.

Or go wideband + PID if you want acurate and smooth lambda control.

Remember, with a NB you will never get a smooth lambda result, NB almost always creates an oscillating lambda by up to +/-5% around target lambda - also in OEM setups. This is normal and a wanted behaviour with NB lambda control. Just keep it that small that you don't feel it.
Honda CRX B16A1 Turbo | MS3 running | pre1.5.1 beta7 Firmware | 24/1 Dual Wheel | COP ignition | 725cc ID injectors
ol boy
Super MS/Extra'er
Posts: 1532
Joined: Mon Sep 10, 2007 3:06 am
Location: Tucson, Az

Re: EGO correction and PW change

Post by ol boy »

Yes, I've done simple before and it just moves too slow to compensate for any real change in O2 output. Currently I'm seeing EGO correction only move +- 1% or less once it hones in on 0.5 volts. I have no doubt in my mind with the current PID values once 02 output enters the 0.4 to 0.6 volt range, EGO correction nearly stops correcting as I've seen in the logs, moves a few tenths either direction but not several %.

Looking at the log I still have a battery volt noise issue. Need to check the ground from the bat to the chassis.
306 SBFord, Torquer II EFI intake, 60 lbs injectors, 8 LS2 coils, VS Racing 7668 turbo, 4R70W, MS3x fw1.4 w/built in trans controller.
mrx79
Experienced MS/Extra'er
Posts: 299
Joined: Wed Oct 29, 2008 8:26 am
Location: Frankfurt / Germany

Re: EGO correction and PW change

Post by mrx79 »

ol boy wrote:Yes, I've done simple before and it just moves too slow to compensate for any real change in O2 output.
I guess what you need for your purposes is a wideband lambda control :D
Honda CRX B16A1 Turbo | MS3 running | pre1.5.1 beta7 Firmware | 24/1 Dual Wheel | COP ignition | 725cc ID injectors
Post Reply