Pages: [1] 2 3   Go Down
Author Topic: Fuel injection  (Read 7937 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 19
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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:

1. TPS (Throttle position sensor, or a 3-wire potentiometer)
2. 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)
3. Temperature sensor (not necessary, but makes starting the car much more simple.)
4. 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.  smiley-twist

Let me know what you folks think.
Logged

Ft. Worth, Texas
Offline Offline
God Member
*****
Karma: 0
Posts: 591
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

IF you can get the timings right, you can get real good on the setup.

You can use a simple if statement to say "If (ICT < 180F) then richen by 5%". You can also add a starter-sense wire (MSD's do this for start-retard on timing, since racecars run up to 38 degrees of timing) that will do a 200% fuel map while the starter is spinning.

The hardest part is setting the pulse width. This very idea is what got me intrigued in Arduinos. I'm going to take 8 LED's with a 8000RPM fan to mock everything up, using the fan as the crankshaft, and each LED is an injector.

What I came up with, is that a good baseline is to have the injector open for 25% of the time that the intake valve is open, based on the camshaft intake lobe centerline.

Our race engine (http://magnethead794.com/coppermine/displayimage.php?pid=2840&fullsize=1) has IVO at 43 degrees BTDC and IVC at 79 degrees ABDC, centerlined at 108 degrees, with a 302 degree duration (43 + 79 + 180 = 302). To have the injector open for 25% at the centerline, You'd have to calculate how long (TIME) 12.5% was, and apply that on either side of centerline (108 degrees). 108 degrees / 360 degrees = 0.30 of a rotation.

Since all the measurements are made relative to the crank, it simplifies things.

2000 RPM = 33.33 RPS = 0.030 seconds per rev = 0.009 seconds = 144,000 cycles to centerline @ 16Mhz
4000 RPM = 66.66 RPS = 0.015 seconds per rev = 0.0045 seconds = 72,000 cycles  to centerline @ 16Mhz
6000 RPM = 100.0 RPS = 0.010 seconds per rev = 0.003 seconds = 48,000 cycles to centerline @ 16Mhz
8000 RPM = 133.33 RPS = 0.0075 seconds per rev = 0.00225 seconds = 36,000 cycles to centerline @ 16Mhz
10,000 RPM = 166.66 RPS = 0.006 seconds per rev = 0.0018 seconds = 28,800 cycles to centerline @ 16Mhz

Okay, so we know how long it is from Top Dead until we hit the intake lobe centerline. We can write a program to find that:

RPS = RPM/60 (Rotation per second = RPM over 60 seconds)
SPR = 1/RPS (Sec per Rev = 1 over rotation per second)
TATDC = SPR * (ICL/360) (time after top dead center = sec per rev times the percentage of the intake centerline to a 360 degree circle)

Convert that time to milliseconds, and we have something the CPU can play with.

Next, we need to find how long the intake valve is open. We know it's open for 302 degrees of the crankshaft, so...

IVOT = SPR * (IVD/360) (Intake Valve Open Time = Sec per Rev times the percentage of the intake duration to a 360 degree circle)

Again, convert to milliseconds, and it's something the CPU can understand.

Multiply that by an arbitrary value, say 12.5%. This will be ONE HALF of our injector pulse width.

PW = IVOT * 0.125

Are you still with me? Let's connect it all together.


Start at top dead center. Let's say you have a 1-pulse-per-revolution crank sensor that we're going to be operating off of.

Top Dead Center piston 1
(wait until time = TATDC - PW)
Open injector 1 (start spraying)
(wait until time = TATDC + PW)
Close injector 1 (stop spraying)

{fire next cylinder, #8}

{fire next cylinder, #4}

{fire next cylinder, #3}

Top Dead Center piston 1 again....but we're on a 4 cycle motor

Top Dead Center piston 6
(wait until time = TATDC - PW)
Open injector 6 (start spraying)
(wait until time = TATDC + PW)
Close injector 6 (stop spraying)

{fire next cylinder, #5}

{fire next cylinder, #7}

{fire next cylinder, #2}


and repeat.

Set the crank trigger as an interrupt, so that any miniscule time offsets can be corrected with every revolution.

You'll also have to calculate how long the delay is between closing one injector and opening the next on the firing order.

The 25% pulse width can be operated on by your IAT, CT, ect sensor readings as necessary.
« Last Edit: December 22, 2011, 03:49:19 am by magnethead794 » Logged

KF5RVR

Seattle, WA USA
Offline Offline
Brattain Member
*****
Karma: 601
Posts: 48543
Seattle, WA USA
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
On startup, the engine is cold and needs more fuel than air.
I find this a little hard to believe. More fuel than air? Starts better flooded, does it?
Logged

England
Offline Offline
Newbie
*
Karma: 0
Posts: 46
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
On startup, the engine is cold and needs more fuel than air.
I find this a little hard to believe. More fuel than air? Starts better flooded, does it?

Better believe it. The fuel injected quantity has more than 2 states, none and flooded. More than normal can be less than flooded, pretty sure this is the idea behind the accelerator system in general.
Logged

Seattle, WA USA
Offline Offline
Brattain Member
*****
Karma: 601
Posts: 48543
Seattle, WA USA
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
More than normal can be less than flooded, pretty sure this is the idea behind the accelerator system in general.
Sure, but the ratio of fuel to air never even approaches 1, let alone exceeds it.
Logged

England
Offline Offline
Newbie
*
Karma: 0
Posts: 46
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
More than normal can be less than flooded, pretty sure this is the idea behind the accelerator system in general.
Sure, but the ratio of fuel to air never even approaches 1, let alone exceeds it.
See your point. It needs more fuel and less air on startup, you're obviously a better pedant than me.
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 30
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ok, I'm going to make this simple...  The LAST thing you want driving the fuel injectors is a relay.  I'm assuming you're going to put it on the power side, and without a clamping diode across the relay, you're going to create some NASTY voltage spikes (relay coil is essentially the same as an ignition coil...  think about it).  Most ECU's are on the GROUND side of the driven outputs, and use simple switching transistors (I'd have to look up what the MSII uses for driver transistors) as most of the voltage is gone after the output coil(s).

And, in bare bones mode, considering most older electronic engine controls used a carburetor, you still need a manifold pressure and coolant/air temperature sensors, to smooth out the fuel/air mixture across the entire operating temperature range of the engine.  Considering that the O2S is useless until it reaches 600*F (around 160*F indicated by the coolant temperature sensor), this is even more important.  Unless you want to wire in a heated oxygen sensor and build a timer circuit to control the heater's relay coil...
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 19
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
On startup, the engine is cold and needs more fuel than air.
I find this a little hard to believe. More fuel than air? Starts better flooded, does it?

Never started a small engine before? You essentially have 3 main components in the tiny carburetor of a weedeater that are also on larger carburetors:

Venturi flap (regulates air intake)
Fuel inlet
Choke flap

The venturi flap regulates how much air can enter the engine, and the fuel inlet (often using a needle valve) regulates how much fuel enters. Both are actuated by the throttle cable. The choke flap (in this case, a manual choke) allows you to manually suppress the amount of air entering the engine, while keeping the amount of fuel the same. Hence making the mixture more "rich".

If you leave it choked and try to run it for any length of time, it'll begin to run horribly. As the temperature of the engine levels out, the air/fuel ratio gets closer to being stoichiometrically equalized. Thus you choke for starting, and turn choke off as soon as you can.

But let's stay on topic.  smiley-wink
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 19
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

magnethead794, I've got to say that was one amazing reply. Hahaha.

Unfortunately all that was wasted on me, however, due to my using throttle-body injection. Sequential injection was a little much for my application.

It sounds as though you've done a lot of research on the topic! I'd love to have more of your input.
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 19
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ok, I'm going to make this simple...  The LAST thing you want driving the fuel injectors is a relay.  I'm assuming you're going to put it on the power side, and without a clamping diode across the relay, you're going to create some NASTY voltage spikes (relay coil is essentially the same as an ignition coil...  think about it).  Most ECU's are on the GROUND side of the driven outputs, and use simple switching transistors (I'd have to look up what the MSII uses for driver transistors) as most of the voltage is gone after the output coil(s).

And, in bare bones mode, considering most older electronic engine controls used a carburetor, you still need a manifold pressure and coolant/air temperature sensors, to smooth out the fuel/air mixture across the entire operating temperature range of the engine.  Considering that the O2S is useless until it reaches 600*F (around 160*F indicated by the coolant temperature sensor), this is even more important.  Unless you want to wire in a heated oxygen sensor and build a timer circuit to control the heater's relay coil...

I really appreciate your simplicity. smiley That makes things easier for me, considering I'm electronically daft.

I did much consideration on the part of the relay, and chose it because the majority of vehicles in the past have utilized fuel injection relays also. Although this may not be the optimal path to take, it apparently works... If I am mistaken, please correct me. I'd rather this work. smiley-grin One of my main concerns with the relay concerns the life of it. If the SSR I posted earlier could take the load of the injectors, I would be more than happy to forego the use of mechanical relays. I have yet to find reliable information on the draw of the injectors, though I highly doubt it exceeds 200V, 4A DC.

By "bare bones mode", I essentially mean "carburetor mode". Non computer-controlled carburetors do little more than match the fuel output to the air output by a linkage and specific "jets". So, really the only things needed to limp somewhere is an input from the TPS and a curve in the controller that tells it how many pulses, for how long, for a given input from the TPS (potentiometer). The addition of the O2 sensor further allows it to monitor the A/F ratio to make minute adjustments and increase efficiency. Temperature sensor adds the ability to start it in cold weather, and MAP sensor, to my understanding, allows it to change the A/F ratio to better accommodate heavy loads (when manifold vacuum would be low, such as when driving up a steep hill).

Perhaps EFI is the wrong term to use, as it implies a very very complex system of sensors, outputs and logarithms. Consider this to be a glorified, computer-controlled PWM carburetor. smiley

If it is something within my abilities, I would be more than happy to wire in a heated oxygen sensor. These would be more readily available anyway. Nonetheless, I am quite used to letting my car "warm up", so I could just sit there until the O2 sensor reaches an appropriate temperature and the "choke" over-ride turns off. Your input on the O2 sensor is very good! I've read many articles and did not run across the straightforward information you provided. Perhaps you can also shed more light on the mysteries of the MAP sensor for me? smiley
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 19
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Also, here's a picture of the throttle-body injection unit I cobbled together that bolts in place of the stock carburetor.




Yes, the welds are not optimal... However, they are well-sealed. I was using a remote-air unit while welding galvanized steel (I'd ground most of it off while wearing a respirator, but there was still enough left to mess with my welds).

The tubes have slots cut in the sides, so that air will essentially have to flow in a figure-8 pattern on its way down the tubes. Should atomize the fuel well.  smiley-mr-green
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 4
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 19
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Awww, that's cute.

But again, let's stay on topic.
Logged

Seattle, WA USA
Offline Offline
Brattain Member
*****
Karma: 601
Posts: 48543
Seattle, WA USA
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
The venturi flap regulates how much air can enter the engine, and the fuel inlet (often using a needle valve) regulates how much fuel enters.
And the ratio of fuel inlet to air inlet should tell you something about the ratio of fuel to air. Never, no matter how much choke is applied, does the amount of fuel entering the combustion chamber exceed the amount of air.

If you can't get simple facts straight, I worry about your ability to construct something that does not end up looking like that Caddy,
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 19
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
The venturi flap regulates how much air can enter the engine, and the fuel inlet (often using a needle valve) regulates how much fuel enters.
And the ratio of fuel inlet to air inlet should tell you something about the ratio of fuel to air. Never, no matter how much choke is applied, does the amount of fuel entering the combustion chamber exceed the amount of air.

If you can't get simple facts straight, I worry about your ability to construct something that does not end up looking like that Caddy,

Well now, we have a royal smarta** here, don't we?

I've done full restorations on 3 vehicles, (1981 Chevy El Camino, 350ci carbureted, frame off restoration; 1966 VW bus built using the chassis from a '72, full engine rebuild by ME; and a 1979 Dodge Omni, which is what this blamed contraption is going on)
I've restored and customized a 1977 Honda CB 550 as a cafe racer, building all the parts myself. Soon to be FI also.
I have an AS in Mechanical Engineering with a concentration in manufacturing, a manual machine certificate, and I'm working on my welder's certification.
I have more hours in practical mechanical experience than you have sitting in front of a computer trolling people's stuff.

So tell me, ONE more time, that I need to get the simple facts straight. I've already seen some useful information in this thread, each person posting just ONE time. You've posted 3 different times, every time nothing useful coming from your fingers. That gives you a success ratio of 0:3. I highly suggest you don't increase said ratio.

Snide comments and blowing smoke aren't going to help anyone.
Logged

Pages: [1] 2 3   Go Up
Jump to: