MembersPage/FPhil (2008-09-02 16:37:10)

3.5 years ago (!) when I first bought the VEMS 3.3, I had some project for my Volvo 850.

Since then I had a Maserati biturbo and so I was more involved during my spare time with mechanics than with electronics or software. Hopefully the car is 200km from where I live !


Trigger

This biturbo has an odd fire engine

R(26-08-08): 2 VR, see the ESjaavik's Maserati page (link?). "Bizarre" in a sense that this case is not (yet?)handled by Vems.

so that the distributorless biturbos produced at the end were more easily equiped by Maserati with 2 ECUS, each one dealing 2with an 1/2 engine which is then 3 cylinders even fire.

Recently I aimed to use Vems to measure C0% at idle in order to fine tune the A/F potentiometer set on the Weber injection ECU.

My first issue is that I did not get the good O2 percentage for the free air test !

After you measure connection (including that you have +12V on heater+), you need to calibrate:


Wiring

Document wiring here !!!

email conversation suggests serious miswiring (like fused grounds)

You should start from 0, documenting the whole setup


mcd/mct dump

Verify wbo2 config, and publish mcd / mct dumps.

email conversation suggests possible misconfiguration (although not confirmed)


Wbo2 is working

(01/09/08) What I did.

Following your advices, I have restarted from the begining using initial the Wbo2 configuration, megatune miniterminal and the config and upload .bat files.

Initial config.

wbo2_warmup_ramp=9C

wbo2_warmup_target=FF

wbo2_abs_limit=E4

wbo2_limit_maxt=A0

wbo2_fallback=60

wbo2_retry_t=06

wbo2_edgetime_corr=00

wbo2_edgetime_min=50

wbo2_ri_target=00

wbo2_nernstdc_target=9C

wbo2_pump_pw_zero=63

wbo2_calibration=AE

wbo2_heater_pid_kp=45

wbo2_heater_pid_ki=11

wbo2_heater_pid_kd=1A

wbo2_heater_pid_ilimit=81

wbo2_pump_pid_kp=15

wbo2_pump_pid_ki=20

wbo2_pump_pid_kd=00

wbo2_pump_pid_ilimit=FF

wbo2_ri_confidence_scale=80.

1) pump_zero test : I get 44.1mV -> good

2) 2x100 ohm test : Pin5-Ground : 3.98V -> good

Pin1-Pin5 : 0.241V -> bad

3) nersnt_dc_target : 9C -> A0

edgetime_corr : 00 -> BA

Pin1-Pin5 : 0.241V -> bad

4) ri_target : 00 -> 96

Pin1-Pin5 : 0.233V -> bad

5) nersnt_dc_target : A0 -> C0

Waiting 32mn or so for an 02 value to display as it is said!!

The trick is that this value may be not displaid, one as to mesure a stable dc value at Pin1-Pin5, so I got

Pin1-Pin5 : 0.530V -> bad

and

nersnt_dc_target : C0 -> B0

Pin1-Pin5 : 0.385V -> bad

but Hourrah the set point of the pump control loop can be trimmed!

6) Then it is easy,

pid_illimit = FF (get rid of hard bound),

pid_ki 20 -> FF

as it is asked, there should be a trick in the algorithm since the set point has to be reached whatever the ki value

Pin1-Pin5 : [0.500,0.530]V(instable)

7) Next I lower pid_ki to get a stable value, and I adjust nersnt_dc_target.

I finally got

Pin1-Pin5 : [0.449,0.451](good)

using:

wbo2_warmup_ramp=9C

wbo2_warmup_target=FF

wbo2_abs_limit=E4

wbo2_limit_maxt=A0

wbo2_fallback=60

wbo2_retry_t=06

wbo2_edgetime_corr=BA

wbo2_edgetime_min=50

wbo2_ri_target=96

wbo2_nernstdc_target=9C

wbo2_pump_pw_zero=63

wbo2_calibration=AE

wbo2_heater_pid_kp=45

wbo2_heater_pid_ki=11

wbo2_heater_pid_kd=1A

wbo2_heater_pid_ilimit=81

wbo2_pump_pid_kp=30

wbo2_pump_pid_ki=40

wbo2_pump_pid_kd=00

wbo2_pump_pid_ilimit=FF

wbo2_ri_confidence_scale=80

This is not a fine tuning, since one should adjust the control parameters with respect to the frequency band which is needed (AFR value for each cylinder?, noise?)and I changed the pid_kid value for no reason.

9) finally I calibrate for the sensor using : calibration = BA.

I put the sensor 10 centimeters inside the tail pipe to measure AFR. I obtain, for one pipe an AFR value of about 16 (no O2 value), and an O2 value of about 9 on the other (no AFR value).

Too much air.

The exhaust pipe is new, so the exhauts manifold is cracked (which happens on the Biturbo) or the sensor still catch some air from the end pipe?

Q. How deep inside the pipe should be set the wbo2 sensor to give a true value ?