This is going on a previously carbureted engine (which was VERY poorly jetted, so anything will be an improvement)
I have already built the injection manifold (2 injectors in a throttle body injection setup), so it's non-sequential injection. Although I might try to set it up such that the injectors alternate, to better atomize the fuel.
There will be a total of 4 sensors:
- TPS (Throttle position sensor, or a 3-wire potentiometer)
- O2 sensor (my understanding is that it generates its own current, the one I chose is 1-wire and grounded through the body I assume)
- Temperature sensor (not necessary, but makes starting the car much more simple.)
- MAP sensor (Manifold Absolute Pressure, not necessary, but would help overall efficiency)
And a total of 2 outputs (possibly just one), the relays for the fuel injectors.
In a bare bones mode, you only need two inputs. The O2 sensor tells the unit what the air/fuel ratio is, and the processor can adjust the richness accordingly by varying the pulses of the injectors. The TPS tells the processor when you're stepping on the gas pedal so that it can give a little more fuel in prediction of the higher demand by the engine, and in the event of an O2 sensor malfunction gives the processor something to let you limp to your destination on.
On startup, the engine is cold and needs more fuel than air. In the past this has been accomplished using a manual choke or an electric choke. Since the position of the flap in the throttle body is dictated by the position of the pedal, an override needs to be done on the O2 sensor input so that the engine runs "rich" until the temperature gets above a certain level.
Tuning will be done once I have the basic layout completed.
The Arduino would be connected to the injector relay via a step-up SSR (like this one: http://www.ebay.com/itm/4A-200V-DC-Output-SIP-Soldering-Pin-Solid-State-Relay-/250949450397?pt=LH_DefaultDomain_0&hash=item3a6dc0ba9d#ht_1555wt_1181 )
I'm using an Arduino Duemilanove (ATmega328), I understand that I'll probably have to have the laptop running for the Arduino to be able to process all the information, and I'm open to creative ideas. ]
Let me know what you folks think.