Tweaking like a Boss

A project log for ECUality1

A light, open-source Engine Control Unit (ECU) using Arduino

Mike ThielvoldtMike Thielvoldt 04/14/2015 at 08:112 Comments

People, we are now

Automatically tweaking fuel levels while driving!

I have added logic for determining the appropriate times to engage 3 different modes of injector pulse adjustment, and appear to be correctly applying those adjustments.
Local v Global changes: A global tweak affects the rate of fuel injection at all RPM's and all loads (air-flows). A local tweak affects the fuel injection rate at a specific RPM and load.
Map: When I refer to a "Map", I am referring to the 2-d table representing injector pulse duration vs engine load (x) and RPM (y).
Tweaker modes
  1. Global-only adjustments based on maximizing RPM
  2. global-only adjustments based on O2 sensor
  3. local and global adjustments based on O2 sensor

Mode 1 takes over when the engine is cold and idling.

Mode 2 takes over when the engine is warm, but has not been warm for long.

Mode 3 takes over when the engine has been warm for a while and the engine has been pulling (as opposed to coasting - a state that turns the injectors off) for a minimum amount of time.

Noticeable power improvement

The seat-feel is much improved over the original ECU. I did not expect this to be the case yet, but the impetus for the project was, in large, a difficult-to-correct hesitation when accelerating using the original ECU. This has already been eliminated. Woot.

Next up:


gthielvoldt wrote 04/24/2015 at 18:59 point

Passed SMOG, way cool!

  Are you sure? yes | no

gthielvoldt wrote 04/14/2015 at 14:43 point

Lots of luck with the SMOG guy. 

  Are you sure? yes | no