Converting small engine from carburetor to basic EFI (MAF question)

Hello folks,
so I've got an Tecumseh engine that's just laying around, without any use, and it does fine.

The other day, I got an idea to try converting it to a basic EFI system (with basic I mean that all I need to make it run, nothing too precise, like including throttle position sensor, MAP sensor... just some basic function of making an injector shoot depending on if there is air flowing and if the crank is at the right spot).

Basically, would make it just for a showcase, just to make it work, somehow, as I mentioned above, no serious calculations whatsoever.

Would include:

  • A basic optocoupler/optointerrupter/optical element, placed on top of the engine, just where the magneto coil is located, and would but an additional shaft on the fylwheel where the second magnet is located, so when it spins, and the shaft goes through the sensor, it would send a signal to the Arduino noting that the crankshaft is at a given position (needed for knowing when the valves are opened or closed, later used to know when you need to shoot fuel into the intake).
  • Next off, I'd need a MAF sensor (Mass Air Flow) for detecting when the air is being sucked into the cylinder (needed since just a signal from the optocoupler won't do because the flywheel makes 2 full turns while the fuel is being sucked in just once, shortly said, bad timing).
  • Next just a basic fuel injector, would be placed at the very end of the intake, closest possible to the valve. Would drill a hole through the intake, and hold the injector in place with some high-temperature silicone glue. The arduino would control the firing pulse (likely with a transistor, since most injectors are fed with 12V).

That's the most basic you can go, and that's all I really need, there are more elements for high precision but meh.

Generally, I'd pull the guts out of the old carburetor, and just leave a free flowing empty tube just for the airflow. Since injectors need some preassure, I'll just pressurize a gas tank with an air compressor to get somekind of preassure at least.

So, what's the issue?
The issue in all of this is that I'm dealing with a small engine, and there are NO MAF sensors for such ammount of small airflow, and I don't really need anything precise, just to make sure I can get basic logic (basic as in terms of 1- there is airflow, 0- there isn't airflow (just for now)), but I can't find any that small, since I expect that most would read nothing to 0.00001.
We could also count a too large injector making an extremly unbalanced mixture, so bad that the motor won't even run at all, but that's a smaller issue.

So, does anyone have any solution? Is there a different way of knowing the airflow, something DIY-like (since the MAF sensor is just a wire, and letting current through it heats it up, and the airflow would cool it down, and the difference in temperature results in different current and so on...). Did somebody here try to something like this. Can't really find anything online for such projects.

Thanks in advance!

break down each system.

the air volume is the result of pipe area (diameter) and air speed.
MAF is just air speed, so, a smaller pipe, common MAF and that part is not hard to do.
you might only have a small part a common MAF exposed to the air stream.

electric fuel pump and injectors, should be dooable. I would never pressurize a fuel tank. fuel pumps should be easier to work with.

interesting project.

Consider so-called "Alpha N" where fueling is based upon TPS and RPM. You'll create a basic 3D VE (volumentric efficiency) table with TPS as one axis and RPM as another. The output would be a value representative of the engine's VE at that RPM and throttle.

You know your engine's displacement and so you know what the theoretical "100%" airflow per cycle is. You'd apply the output of your table to that figure to get a really, really rough estimate of actual airflow into the cylinder per cycle.

For example, at idle with the throttle basically closed your VE might be 15%. If your cylinder displacement is 300cc (e.g.), then the actual airflow into the engine is 15% of 300 or 45ccs.

You can then do some calculations of air density to determine the mass of air estimate; you know your desired mixture, the density of gasoline and and fuel flow rate of your injector so can come up with a basic injector pulse width (IPW). Time the injector to fire into the port sometime starting during the power stroke (after the intake valve has closed).

You'll need a fuel pump that can produce ~35-40psi (or whatever your fuel injector requires.) A manifold-pressure referenced pressure regulator would be a good idea too since fuel flow through an injector is based on a 40psi (typ) pressure drop.

You can add some sensors to get a better state estimate: intake air temp, engine temp, manifold pressure etc.

Hi,
Have you googled;

arduino EFI

Tom... :slight_smile:

dave-in-nj:
break down each system.

the air volume is the result of pipe area (diameter) and air speed.
MAF is just air speed, so, a smaller pipe, common MAF and that part is not hard to do.
you might only have a small part a common MAF exposed to the air stream.

electric fuel pump and injectors, should be dooable. I would never pressurize a fuel tank. fuel pumps should be easier to work with.

interesting project.

Thanks for your answer.
So, if it's just air speed, then it wouldn't cause much trouble for a smaller engine?
But my issue remains the size of the MAF from a car, since it's like 3-4 larger in diameter than the original carburetor air intake. I'm afraid of the way I should fit it on the original air intake. There's also a possibility to pull out the main sensor from the plastic casing, and use just that sensor and put it inside the original air intake from the carb.

Blackfin:
Consider so-called "Alpha N" where fueling is based upon TPS and RPM. You'll create a basic 3D VE (volumentric efficiency) table with TPS as one axis and RPM as another. The output would be a value representative of the engine's VE at that RPM and throttle.

You know your engine's displacement and so you know what the theoretical "100%" airflow per cycle is. You'd apply the output of your table to that figure to get a really, really rough estimate of actual airflow into the cylinder per cycle.

For example, at idle with the throttle basically closed your VE might be 15%. If your cylinder displacement is 300cc (e.g.), then the actual airflow into the engine is 15% of 300 or 45ccs.

You can then do some calculations of air density to determine the mass of air estimate; you know your desired mixture, the density of gasoline and and fuel flow rate of your injector so can come up with a basic injector pulse width (IPW). Time the injector to fire into the port sometime starting during the power stroke (after the intake valve has closed).

You'll need a fuel pump that can produce ~35-40psi (or whatever your fuel injector requires.) A manifold-pressure referenced pressure regulator would be a good idea too since fuel flow through an injector is based on a 40psi (typ) pressure drop.

You can add some sensors to get a better state estimate: intake air temp, engine temp, manifold pressure etc.

Thanks for your answer.
That's some really nice additional info, but that's somehow still too much info for just a basic system where all it needs to do is run. But still, later, all that will be useful.

TomGeorge:
Hi,
Have you googled;

arduino EFI

Tom... :slight_smile:

Yes I did, all I can find are some pre-made PCBs with atmel chips on them, also custom made ECUs for a specific bike...
but generally looking, my issue is the MAF sensor.

XGamer223:
Thanks for your answer.
That's some really nice additional info, but that's somehow still too much info for just a basic system where all it needs to do is run. But still, later, all that will be useful.

Depends on what you want to do with it.

Don't under-estimate the innate complexity of the analog computer there now (i.e. the carburetor) and what it's doing to make the thing run acceptably when considering replacing it with a digital setup.

We typically tell people to break up the projects into segments.

Maybe just getting the MAF sensor is one segment?

An interesting project which I have thought of myself, but never started.
Not necessarily an easy project, but doable.

I would consider Blackfin's suggestion in #2 (and #7).

You can do with a few points for RPM and TPS, and interpolate the values between them.
You might have to compensate for air pressure, intake air temperature and engine temperature, or you could use a potmeter for manual correction - like a manual "choke".
Use the existing ignition coil to get RPM.
Start making the RPM circuit and TPS so you can monitor them while the engine is still runing.

Using a MAF sensor is not tivial either. You will still have to calculate airflow based on its readings and the environmental parameters.

I also think you don't have to worry about timing the injection of fuel to the intake stroke.
If there is fuel present in the intake it will be sucked in. Spraying it on a hot intake valve is preferable.

In the "early days" batch firing (google batch fire vs sequential) was common, where all injectors fired at the same time.
On a four cylinder, that could be four injections (on all injectors) pr ignition.

Useful tips can be found here.

Also look at this thread.

Hi,
Have you checked;

https://www.banggood.com/buy/arduino-mass-air-flow-sensor.html

google

arduino maf

Tom... :slight_smile: