MEGAsquirt A place to collectively sort out this megasquirt gizmo

Help me pass emissions

Thread Tools
 
Search this Thread
 
Old 01-16-2016, 01:52 PM
  #1  
Junior Member
Thread Starter
 
Ziggo's Avatar
 
Join Date: Mar 2010
Location: Melissa, TX
Posts: 172
Total Cats: 20
Default Help me pass emissions

I am having a hell of a time passing Texas emissions. Will be exempt in 2 years but for now I am getting sniffered, which I wasn't aware would be required.

1993 W\VVT swap using a Reverant MS3.

Initially I had no CAT, things went poorly. I had purchased a CAT from rock auto during the rebuild, but it disengrated within 100 miles. With no CAT I failed everything but the "high speed" HC.

Test Requirements:
15 mph (~2000rpm)
HC: 166PPM
CO: .93%
NOx: 1304ppm

25mph(~2300rpm)
HC: 160ppm
CO: .90%
NOx: 1179ppm

Results will be in % of spec -

No CAT 15mph
HC:95%
CO:198%
NOx: 108%
O2: .3%

No CAT 25mph
HC: 101%
CO: 257%
NOx: 101%
O2: .2%

So no CAT,failures all over, no way to tune around it. I installed a magnaflow direct fit cat, did a small amount of driving and took it back.

W\CAT 15mph
HC: 96%
CO: 159%
NOx: 17%
O2: .1%

W\CAT 25mph
HC:96%
CO:197%
NOx: 25%
O2: 0%

So the CAT is working, it knocked down the NOx significantly, and made some difference on the CO, though almost none on the HC. Looking at the numbers, and noticing that there was next to no O2 left for the CAT to work with so I figured that it was running rich for some reason, not fully warmed up, EGO correction not enabled in the right area or out of range, etc. I drove the car for awhile trying to duplicate the RPM they were testing at, at a wide range of MAP pressures, using VE auto tune to correct the map. I also verified that the AFR table was targeting stoich, and I changed the WUE to cut off at 160ºF from 175ºF. The car generally runs between 175 and 180.

After these changes, retested and also convinced them to let me datalog the test.

15mph:
HC:82%
CO:165%
NOx:36%
O2:.1%

25mph:
HC: 84%
CO: 193%
NOx: 62%
O2: .1%

So the changed I made brought down HC, but CO was mostly unaffected. Increased NOx too, O2 still very low. All consistent with a car that is running leaner than before, but still rich. Then I looked at the datalog. My EGO correction is pulling almost 10% fuel, but wideband shows the car running very close to stoich.

So now what? Can the Innovate LC wideband be off in calibration enough to cause this? Just skew targets lean? Some other hardware issue? Send injectors out for cleaning? new spark plugs? I'm kinda stumped with the O2 still low I think the CAT would work better running leaner. Log of two speed test attached.
Attached Files
File Type: msl
ziggo-93-vvt-swap_emissions.msl (4.56 MB, 185 views)
Ziggo is offline  
Old 01-16-2016, 05:58 PM
  #2  
Newb
 
RichieVee's Avatar
 
Join Date: Sep 2015
Posts: 20
Total Cats: -21
Default

I think the best way to approach this would be to run ignition timing swings at different cam positions while targeting lambda 1 and measure the exhaust emissions.
Then set the ignition and cam to the best position and swing injection timing and see what that does to the emissions as you may be able to put some timing back in or set the cam phase for improved fuel economy with an improved injection timing.

Also fuel in the oil will increase your HC. If the oil is old take the car for a hard drive pre emissions test to boil off all the fuel in the oil, or just change it.
RichieVee is offline  
Reply
Leave a poscat -1 Leave a negcat
Old 01-16-2016, 06:33 PM
  #3  
Elite Member
iTrader: (16)
 
patsmx5's Avatar
 
Join Date: Aug 2007
Location: Houston, TX
Posts: 9,297
Total Cats: 477
Default

Did you look at the log you posted? Your AFRs are all over the place during the test. No wonder you failed. Probably EGO is setup wrong so it's making large adjustments overshooting/undershotting the target AFR by a lot. That's why you failed, you're not running Stoich during the test, you're running 14-16 variable and you won't pass doing that.

I'd also put the VVT fully retarded, that will reduce overlap/emissions.
patsmx5 is offline  
Old 01-16-2016, 07:14 PM
  #4  
Cpt. Slow
iTrader: (25)
 
curly's Avatar
 
Join Date: Oct 2005
Location: Oregon City, OR
Posts: 14,192
Total Cats: 1,135
Default

What's timing at idle? Emissions likes stock, or 10 degrees. Turn on EGO control for 14.7-15afr. Should be operating 1-2 times per second. Any more and it'll just be all over the place. You'll know it's working of your afrs are rock steady at idle for 160-190 degrees. Then run it a lot, let it sit (heatsoak) and turn it back on. Should be rock steady again. If not something's wrong. Base fuel table, EGO settings, etc.
curly is online now  
Old 01-16-2016, 09:18 PM
  #5  
Boost Czar
iTrader: (62)
 
Braineack's Avatar
 
Join Date: May 2005
Location: Chantilly, VA
Posts: 79,494
Total Cats: 4,080
Default

l2t.
Braineack is offline  
Reply
Leave a poscat -2 Leave a negcat
Old 01-16-2016, 10:06 PM
  #6  
Junior Member
Thread Starter
 
Ziggo's Avatar
 
Join Date: Mar 2010
Location: Melissa, TX
Posts: 172
Total Cats: 20
Default

Originally Posted by RichieVee
I think the best way to approach this would be to run ignition timing swings at different cam positions while targeting lambda 1 and measure the exhaust emissions.
Then set the ignition and cam to the best position and swing injection timing and see what that does to the emissions as you may be able to put some timing back in or set the cam phase for improved fuel economy with an improved injection timing.

Also fuel in the oil will increase your HC. If the oil is old take the car for a hard drive pre emissions test to boil off all the fuel in the oil, or just change it.
Excellent point on the oil. I don't have access to tune on the dyno/sniffer though so I just have to take my best shot at it, then retest. Two tests costs me $30

Originally Posted by patsmx5
Did you look at the log you posted? Your AFRs are all over the place during the test. No wonder you failed. Probably EGO is setup wrong so it's making large adjustments overshooting/undershotting the target AFR by a lot. That's why you failed, you're not running Stoich during the test, you're running 14-16 variable and you won't pass doing that.

I'd also put the VVT fully retarded, that will reduce overlap/emissions.
I just assumed that the dithering back and forth across stoich was intended. I know that this is how a narrowband car operates, though I don't know the magnitude of the oscillation they use. During the measurement the average AFR is 14.7, Min is 14 and max is 15.5. When you said EGO is setup wrong you mean the control loop I assume?

Originally Posted by curly
What's timing at idle? Emissions likes stock, or 10 degrees. Turn on EGO control for 14.7-15afr. Should be operating 1-2 times per second. Any more and it'll just be all over the place. You'll know it's working of your afrs are rock steady at idle for 160-190 degrees. Then run it a lot, let it sit (heatsoak) and turn it back on. Should be rock steady again. If not something's wrong. Base fuel table, EGO settings, etc.
Timing at idle is 14º nominal, I do have Idle advance enabled and set to bump up if idle falls 50rpm below target. I am not emissions tested at idle though. So to get this straight, you are suggesting I set the EGO to only correct above 14.7 and below 15.0? Seems like I should use a larger range. The other change would be to significantly increase the number of ignition events per step. It was set to 16 by default, to have 1-2 seconds between changes this would need to be much much higher.



I think I may have found a big screw up though. I don't remember doing the "Calibrate AFR table" step previously. I just assumed that wideband=wideband as far as voltage vs AFR, so when I set it to "wideband" I thought I was done.
Attached Thumbnails Help me pass emissions-zig_ego-settings.png  
Ziggo is offline  
Old 01-17-2016, 01:51 AM
  #7  
Cpt. Slow
iTrader: (25)
 
curly's Avatar
 
Join Date: Oct 2005
Location: Oregon City, OR
Posts: 14,192
Total Cats: 1,135
Default

Don't use the table, just use a 10, 15, or 20% authority.

And set ignition events to 30 or 60. Right now it's correcting about 4 times a second. Seems a little fast, might produce some oscillation.
curly is online now  
Old 01-17-2016, 02:19 AM
  #8  
Elite Member
iTrader: (16)
 
patsmx5's Avatar
 
Join Date: Aug 2007
Location: Houston, TX
Posts: 9,297
Total Cats: 477
Default

The OEM will be between 14.6X to 14.7X AFR, mostly at 14.7 but it will overshoot and undershoot that target about every 4 seconds. It stays VERY close to 14.70 AFR, not bouncing around like yours is. You gotta fix that, you'll never pass an emmissions test with your AFRs moving around like yours are.

For my EGO correction, I do every 8 events, PID, the P, I, D terms are 0, 200, 0. Try those, they're probably better than what you're running. My AFRs stay between 14.6 and 14.8 in cruise with those settings. Also, I run no smoothing on my AFR input.
patsmx5 is offline  
Old 01-17-2016, 02:44 AM
  #9  
Elite Member
iTrader: (16)
 
patsmx5's Avatar
 
Join Date: Aug 2007
Location: Houston, TX
Posts: 9,297
Total Cats: 477
Default

Originally Posted by Ziggo
Excellent point on the oil. I don't have access to tune on the dyno/sniffer though so I just have to take my best shot at it, then retest. Two tests costs me $30



I just assumed that the dithering back and forth across stoich was intended. I know that this is how a narrowband car operates, though I don't know the magnitude of the oscillation they use. During the measurement the average AFR is 14.7, Min is 14 and max is 15.5. When you said EGO is setup wrong you mean the control loop I assume?



Timing at idle is 14º nominal, I do have Idle advance enabled and set to bump up if idle falls 50rpm below target. I am not emissions tested at idle though. So to get this straight, you are suggesting I set the EGO to only correct above 14.7 and below 15.0? Seems like I should use a larger range. The other change would be to significantly increase the number of ignition events per step. It was set to 16 by default, to have 1-2 seconds between changes this would need to be much much higher.



I think I may have found a big screw up though. I don't remember doing the "Calibrate AFR table" step previously. I just assumed that wideband=wideband as far as voltage vs AFR, so when I set it to "wideband" I thought I was done.
Your PID settings are the problem, that's WAYYY too much Proportional vs Integral on your PID settings. Try the ones I posted. I tried a lot and 0-200-0 gave the best results with 8 events setting. Basically give up proportional gain but speed up the cycle to make up for it. Any less than 8 and my setup oscillates more than .1 AFR (.2-.3 with 4 events for example, way worse with any P in the settings).

This is what I get with my settings. 14.6-14.8 at idle, you can see EGO making tiny adjustments up/down in the log and AFR moving but overall a flat line.

Name:  idle_zpsbe6x395c.png
Views: 440
Size:  104.2 KB
patsmx5 is offline  
Old 01-17-2016, 03:57 PM
  #10  
Junior Member
Thread Starter
 
Ziggo's Avatar
 
Join Date: Mar 2010
Location: Melissa, TX
Posts: 172
Total Cats: 20
Default

I played a with the PID settings quite a bit, anything over ~0,75,0 causes oscillations and I found the best settings at 1,30,0 I tried 0,30,0 as well and found no change in oscillation but it was slower to respond to changes. Still seeing the oscillation in AFR no matter what settings I used. I am starting to think I really do have a HW issue somewhere that is causing the AFR readings to bounce around, or there is a electrical interference issue...



The large jumps in AFR remain no matter what I do, and they do not seem to be tied to changes in the EGO correction or PW. They are present even with EGO control turned off. Crappy spark or sticky fuel injector maybe?
Attached Thumbnails Help me pass emissions-graph.png  
Ziggo is offline  
Old 01-19-2016, 10:24 PM
  #11  
Junior Member
Thread Starter
 
Ziggo's Avatar
 
Join Date: Mar 2010
Location: Melissa, TX
Posts: 172
Total Cats: 20
Default

Welp. 99% sure its an electrical issue. I am pretty sure I wired up the ground correctly per instructions, and have pictures to prove it, but when I logged the LC2 and the MS3 at the same time they showed a ~.5 delta in readings for the AFR. The MS3 was doing its dance around 14.7 and the LC2 was reporting 14.2 over the serial connection. I offset the AFR calibration table to correct the bias, which means the MS3 was logging ~.17 higher than the LC2 should be outputting.

For the Reverant ECU the OBD2 stuff was all on the DB37 connector. I recall wiring up the ground for the LC2 to pin 2, which was designated as the "ground/heater ground" for LC-1 Widebands" maybe I need to tie it to pin 3 instead which is the "analog sensor ground"?

As I see it these are the possibilities
LC2 analog output is noisy/biased
MS3 ground reference being used is biased/noisy
MS3 wideband input is supposed to have filtering capacitor or similar on the analog input that isn't present and the bias is the result of my shitty soldering
Ziggo is offline  
Old 01-19-2016, 11:14 PM
  #12  
Junior Member
Thread Starter
 
Ziggo's Avatar
 
Join Date: Mar 2010
Location: Melissa, TX
Posts: 172
Total Cats: 20
Default

10 seconds of data from the LC2 vs from the MS3. They are not from the same 10 seconds, just typical of the logs. Note the Scale difference the AFR.

MS3:


LC2:
Attached Thumbnails Help me pass emissions-ms3_afr_typ.png   Help me pass emissions-lc2_afr_typ.png  
Ziggo is offline  
Old 01-20-2016, 02:30 AM
  #13  
Elite Member
iTrader: (10)
 
Reverant's Avatar
 
Join Date: Jun 2006
Location: Athens, Greece
Posts: 5,977
Total Cats: 356
Default

Pin 2 is the correct ground to use with either the LC-2/MTX-L or say, the AEM UEGO.

Obviously, the MS3 does have hardware filtering for the analog wideband input. You may want to decrease the lamda averaging lag factor though. I set it to 100 as this results in the fastest response and accuracy, but if your wideband is noisy, the above can happen.

Btw the log posted above over the analog input is not helping, as it autoscales to 14.2-15.4 AFRs and makes the issue appear much larger than it is.

However, I can see an issue over the serial port data you posted as well. The data shown does not reflect my experience with the LC-2 - it's output is heavily filtered and does not swing so much back and forth. So if that's the data from the serial port, I would expect the analog to look much worse.
Reverant is offline  
Old 01-20-2016, 10:56 AM
  #14  
Senior Member
iTrader: (1)
 
stefanst's Avatar
 
Join Date: Sep 2011
Location: Lambertville, NJ
Posts: 1,215
Total Cats: 74
Default

Originally Posted by Reverant
...
However, I can see an issue over the serial port data you posted as well. The data shown does not reflect my experience with the LC-2 - it's output is heavily filtered and does not swing so much back and forth. So if that's the data from the serial port, I would expect the analog to look much worse.
One thought on that: Those heavy swings could be caused by EGO over-correcting, caused by the noisy input and could therefore be accurate.
stefanst is offline  
Old 01-20-2016, 11:00 AM
  #15  
Boost Czar
iTrader: (62)
 
Braineack's Avatar
 
Join Date: May 2005
Location: Chantilly, VA
Posts: 79,494
Total Cats: 4,080
Default

would have to see the EGO log to find out.

just leave EGO on simple algorithm for now. that's all you need.

disable the authority table.

and just set it to be active above 1500rpm.



now work on autotuning fuel so you dont really need ego. it should take like 10 minutes of driving at 15mph and 25mph (or whatever your test is) to nail down a perfect 14.7:1 afr for sniff session.
Braineack is offline  
Old 01-20-2016, 12:49 PM
  #16  
Junior Member
Thread Starter
 
Ziggo's Avatar
 
Join Date: Mar 2010
Location: Melissa, TX
Posts: 172
Total Cats: 20
Default

Originally Posted by stefanst
One thought on that: Those heavy swings could be caused by EGO over-correcting, caused by the noisy input and could therefore be accurate.
This is my thinking. That "heavy" swing looks much more like my EGO correction, and note the scale. It's running from 14.5 to 14.8, those other jumps on the MS3 log are .5 AFR. I tried to figure out how to overlay both in MLV and couldn't figure it out, nor how to manually set the scale for the Y axis.

I'm going to pull the passenger kick plate this weekend and measure the resistance across the crimps for the three wires between the LC2 and the MS3. The bias between the two really points to there being a voltage reference issue with the ground being the mostly likely culprit since the MS3 is logging a higher voltage than the LC2 should be outputting. I can also scope the ground, 12v, and 0-5v signals.

Tonight I can rescale the LC2 output to report 0-5V over 10.7-18.7 AFR instead of 6.8-22.8. If the AFR jumps in the MS3 log drop by half in magnitude it will confirm that its entirely electrical.

I don't really want to increase the filtering, either in the HW or SW. Those jumps are .3 to .5 seconds to filter enough to kill them it would really impact the responsiveness of the control loop. Knowing there is an offset between the LC2 and MS3 I could probably fudge my way through the emissions test, but I would rather just get this fixed right first. The bias does make my emissions results make sense though.
Ziggo is offline  
Old 01-20-2016, 02:35 PM
  #17  
Former Vendor
iTrader: (1)
 
Lincoln Logs's Avatar
 
Join Date: May 2010
Location: San Diego
Posts: 530
Total Cats: 64
Default

Originally Posted by Braineack
now work on autotuning fuel so you dont really need ego. it should take like 10 minutes of driving at 15mph and 25mph (or whatever your test is) to nail down a perfect 14.7:1 afr for sniff session.
I agree with this big time, once you verify you don't have a grounding issue spend some more time dialing in the fuel maps and you wont need EGO for your purposes.
Lincoln Logs is offline  
Old 01-20-2016, 02:57 PM
  #18  
Elite Member
iTrader: (16)
 
patsmx5's Avatar
 
Join Date: Aug 2007
Location: Houston, TX
Posts: 9,297
Total Cats: 477
Default

Originally Posted by Ziggo
10 seconds of data from the LC2 vs from the MS3. They are not from the same 10 seconds, just typical of the logs. Note the Scale difference the AFR.

MS3:
The noise in this pic isn't caused by EGO, that's some electrical something causing your ground to shift, making it jump up/down sharply. EGO wouldn't make it jump THAT sharp, that fast, that consistently.

If I were you, I'd grab the manual for the wideband you are running and start from step one. Free air calibrate it if needed, rewire anything that is not wired exactly as outlined in the manual, setup your Outputs on teh controller how you want them, and put the same calibrations in TS so they match up. Just do it all once, do it right, and be done with all those problems.
patsmx5 is offline  
Old 01-20-2016, 03:18 PM
  #19  
Senior Member
iTrader: (1)
 
stefanst's Avatar
 
Join Date: Sep 2011
Location: Lambertville, NJ
Posts: 1,215
Total Cats: 74
Default

Originally Posted by patsmx5
The noise in this pic isn't caused by EGO, that's some electrical something causing your ground to shift, making it jump up/down sharply. EGO wouldn't make it jump THAT sharp, that fast, that consistently. ...
I believe we were talking about the variations that Rev alluded to, which was in the "LC-2" graph, showing the serial data.
stefanst is offline  
Old 01-23-2016, 11:56 AM
  #20  
Junior Member
Thread Starter
 
Ziggo's Avatar
 
Join Date: Mar 2010
Location: Melissa, TX
Posts: 172
Total Cats: 20
Default

Well I fucked up....


While testing the grounds my probe slipped on pin 2 and connected pin2 and pin 1, shorting the 12v to ground and blowing the fuse. Good things its fused! Need to be more careful, just need to order a new fuse, could have been much worse.

I did find an odd oscillation on the ground for the wideband with the key on and the engine off, but it appears that the ground for the LC2 is good, it follows the oscillation great and there is a very small voltage bias on the ground, not enough to explain the observed in AFR, and the oscillation is much to fast to be what I was observing. It is interesting that the oscillation is not present on the "analog device ground" pin 3. The oscillation is ~.05V, which if not followed by the signal (which I cant test cause I blew the fuse) will result in an oscillation of .15AFR at my current scaling. The frequency is high, so a little bit of smoothing should take it right out.



Attached Thumbnails Help me pass emissions-pin2ecu-lc2gnd.png   Help me pass emissions-pin3vpin2.png  
Ziggo is offline  


Quick Reply: Help me pass emissions



All times are GMT -4. The time now is 04:53 PM.