History of MembersPage/Larsa/Firmware
Older Newer
2010-11-15 18:10:28 . . . . 217198152198-host.zednet.nu [more firmware suggestions and requests]
2010-11-13 01:27:05 . . . . s210h246o4tcm19.dyn.tyfon.se [Firmware requests and ideas for improvements]
2010-05-19 22:53:17 . . . . 217198152112-host.zednet.nu [more text]
2010-05-19 13:47:15 . . . . 217198152112-host.zednet.nu [add text]


Changes by last author:

Added:
-----

Firmware improvements, suggestions and requests:

Changed:
Ideas for improvements:
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.

Changed:
I've made and installed a circuit in my car which could hold the power supply to the ECU even when the ignition is turned off. It's possible by holding the relay from one P259-output. The circuit works great but some functions in the firmware would be needed to make it work as thought.
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).

Changed:
power%20supply%20relay.JPG
[clean sync signal cyl 2+3]

sync%20signal%20%40jord.jpg

Changed:
This circiut makes it possible to:
[noisy sync signal cyl 2+3]

sync%20signal%20%401000rpm.jpg

Changed:
* Improve coldstarts

* Cooling fan, water pump (and so on) controlled by VEMS can operate even if ignition is turned off

* 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!
Changed:
Functions requested:

* When ignition turns on, VEMS activates the P259 output.

* When the analog output goes high (ignition is off):

** Cut the fuel to kill the engine (or do it a while after as a turbo-timer)

** Start a timer which counts down to zero, then deactivate the P259 output and cut the power to VEMS.

* Filter the signal:

** A good signal is around 1,9-2.3ms and signals below this should be ignored.

Changed:
Idea how to 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 which runs on E85, this becomes a problem because the engine requires very large fuel-amounts the first cold-start) The timer(described above) could be used as some kind of scaling value for the enrichment..

* 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.

Changed:
*For example the afterstart enrichment could be a 8x8(or something more suitable) table with temperature on y-axis and engine-revs on x-axis and let the timer decide where on the x-axis to read from when restarting the engine. The crancing enrichment would need to be scaled too at somehow..
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.

Added:
* Didn't find any information if it’s already in use, but use revs instead of time for added amount duration.
Changed:
-----

Saab DI-Ignition

* Use engine rev to measure dotrate instead of time, then the Enrichment vs. Rpm table wouldn't be needed.
Changed:
I did some changes in the old open-source code(r027) to drive a saab with DI-ignition system, and it worked good! The changes and problem I solved was following (summary):
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.

Changed:
* The DI-casette fires the spark on the rising edge of the dwell, instead of falling edge like usual ignition-coils does.

** Function requested: An option in ignition settings which decides if the sparks should fire on rising edge(saab DI) or falling(usual ignition coil). Then I can upgrade from stone-age firmware r027 to the newer and at least run with waste-fire.

* Then linear interpolate from cranc enrichment(independet of VE-table) and the first rev-bin(enrichment + VE-table). First bin could be example 3revs
Changed:
* The sync signal which uses the ion-current from the sparkplug (cyl 1+4) or (cyl 2+3) to sync, is quite noisy and needed some filtering(software). A reliable signal is more than 1,9 to 2,3millioseconds long.

** Note: I've seen that the newest firmware have a similar option for the secondary trigger settings. A firmware request would be to wait for x similar positioned(at the same position in ref-tooth table for example) signal to entering seauential ignition and require y lost signals to exit sequential and only run waste-fire.

afterstart.JPG
Deleted:
* When no combustion occurs during start, engin braking (or just a noisy signal in low loads) no sync-signal is detected. Then it runs waste-fire. As soon as it detects a good sync-signal it goes to sequential again!

** Note: Maybe it would be nice to include this in ordinary cam position-sensor installs too, if the sensor fails.

Changed:
[clean sync signal cyl 2+3]

sync%20signal%20%40jord.jpg

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.

Changed:
[noisy sync signal cyl 2+3]

sync%20signal%20%401000rpm.jpg

power%20supply%20relay.JPG

* 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