Back to MembersPage/Larsa
Firmware improvements, suggestions and requests:
Boost control:
- Introduce one more varable (in boost PID-menu) which specify a pressure below the boost-target where the integral-controller is inactive. This would prevent integral-windup.
Overrun fuelcut -and resume:
- An extra enrichment when entering fuelresume would be needed(like accel enrichment).
- A delay before entering overrun-fuelcut would make the transition smoother when you are in the area of low load(low tps) and high rpm
Secondary trigger / Camsync:
- This suggestion is mainly for how to indroducing SAAB DI ignition system, but this also improves the safety for original hall camrefpos-sensor installs if static/sporadic failure occurs!
- Description of SAAB DI ignition system:
- The ignition sparks on rising edge of dwell instead of falling edge as the usual ignition coils.
- The camsync-signal comes from spark plug ion-current cyl 1+2 or 3+4 (two outputs from the casette). Output goes high when combustion detected, and therefore no signal recived in crancing or engine braking.
- The signals are noisy and needs filtering (see pictures).
[clean sync signal cyl 2+3]
[noisy sync signal cyl 2+3]
- Firmware request: Introduce an option in ignition settings if spark occurs on rising edge(Capacitive SAAB DI) of dwell or falling(Igniton Coil). Then I can at least upgrade from my stone-age firmware r027 and run waste-fire and batch-injection!
- Filter the signal:
- A good signal is around 1,9-2.3ms and signals below this should be ignored.
- How to use the filtered signal:
- Specify where the signal might occur, and sort out bad signals and noise. I’ve seen this alreaady exist in newest firmware (firmware 1.1.81, hall dirac filtering).
- One problem is that the sync-signal dont occur during crank and when no combustion is detected. The solution is to run waste-fire(and batch injection) until a reliable signal occurs. Example fire of second ignition and injection output 360 degrees above in ref tooth table (which would be 1+4 and 2+3 in 4cyl engine). Then wait for x signals before it can counts as an reliable signal and run sequential, and wait for y revs without signal before entering wastefire again.
Accel enrichment:
- Fire off injectors simultaneous during accel enrichment would increase throttle response more, “factory ecu’s” does that. This would require a good injector opening tuning so the cylinders get the same amount of enrichment.
- Didn't find any information if it’s already in use, but use revs instead of time for added amount duration.
- Use engine rev to measure dotrate instead of time, then the Enrichment vs. Rpm table wouldn't be needed.
Coldstarts:
- Introducing a table, Instead of the warmup enrichment curve, with x-axis as number of revolutions since start, and y-axis as engine temp (see picture). This gives better tuneability for engines which requires long time to heat upp and else results in more enrichment added that would be needed.
- Then linear interpolate from cranc enrichment(independet of VE-table) and the first rev-bin(enrichment + VE-table). First bin could be example 3revs
Fan, Waterpump control:
- I've made and installed a circuit in my VEMS which controls a power supply relay from the ignition key or from one P259-output. This circuit makes it possible to maintain the power supply to the ECU even when the ignition is turned off. Cooling fan, water pump (and so on) controlled by VEMS can operate even if ignition is turned off. This could improve coldstarts and be used as a turbotimer as well. The circuit works great but some functions in the firmware would be needed to make it work as thought.
- Functions requested:
- When ignition turns on, VEMS activates the P259 output.
- When the analog output goes high (indicates ignition is off): Cut the fuel to kill the engine (or do it a while after as a turbo-timer). Start a timer and count down to zero, then deactivate the P259 output and cut the power to VEMS.
- Improve coldstarts:
- If the engine stops just a while after a coldstart it doesn't need as much fuel-enrichment as the very first start. (For me running an engine on E85, this becomes a problem because the engine requires very large fuel-amounts the very first cold-start) The timer(described above) could be used as some kind of scaling value for the enrichment, example decide where on the x-axis in the afterstart enrichment table to read from when restarting the engine again.
- Introducing a table in crancing enrichment would then also be necesery and the timer also here decides where on the x-axis to start read from