Make a test circuit (cheap 2 resistors used instead of the LSU4 sensor) for initial WBO2 PID tuning:
- Rppn=100 Ohm between pump+ and nernst
- Rnpm=100 Ohm between nernst and pump-
That's all. This way the current "pump" (current generator) is tested, which is an important part of the WBO2 circuit.
You can measure the resulting nernst voltage (with DVM, DC voltage mode): Over Rnpm, Urnpm=appr. 450 mV (400..490mV) should be measured.
In fact you can disturb the circuit by changing the resistors to some degree, or connect a resistor (like 1..10k) between nernst and GND (or between nernst and 5V). The (faked) lambda reading will change, but the Urnpm=appr. 450 mV should hold.
Reading is slightly off, say pump- is 3.98V (relative to GND) and Unernst=4.3V (relative to GND) instead of 4.43V. How can it be tuned?
- wbo2_pump_pid_kd=00 (I doubt that any other value makes sense)
- wbo2_pump_pid_kp=20..40 ... too high value will result in significant oscillation.
- nernst_dc_target adjusts above mentioned Urnpm (target-value). If other factors are OK, the target nernst DC voltage (ideally Upump- + 450mV) can be directly set with this. Adjust until OK.
- Make sure the multiple wbo2_pump_pid_ki * wbo2_pump_pid_ilimit is high enough. If this is too low, pump+ will be limited: as a result, nernst_dc_target can not always be reached.
- I revised a theoretical reasonable maximum for the multiple : wbo2_pump_pid_ki * wbo2_pump_pid_ilimit (sg. like 0x80 * 0x0A) but that might be off a few bits (dunno where I got it wrong):
- in practice this multiple was not enough to raise pump command sufficiently (from 0x63 to FF) so I had to use higher, appr. 0x80 * 0x40 values.
- While the multiple value is the most important, for same multiple value, the PID integral term operation will be faster for lower pump_pid_ilimit (and necessarily higher wbo2_pump_pid_ki, so the multiple remains same)
Don't connect real sensor until PID (and nernst_dc_target) is tuned with that so nernst is stable and fine (450mV above pump- ).
[[Detailed.Sensor.Wide.Install]]
Go back to: