/Serious Post

Kinja'd!!! "roflcopter" (roflroflroflcopter)
10/06/2013 at 21:56 • Filed to: None

Kinja'd!!!1 Kinja'd!!! 12
Kinja'd!!!

Project time... Anyone know a decent bit about tuning/engine management/injector calculations? I have more than a few questions about theory and the usual approaches used, including but not limited to the timing and terms used for injectors.


DISCUSSION (12)


Kinja'd!!! vdub_nut: scooter snob > roflcopter
10/06/2013 at 22:26

Kinja'd!!!0

Wish I did, man. I helped a friend of mine tune his DSM a few times, mostly 4th gear WOT pulls in.... uh... an abandoned parking lot, of course. I held the laptop and interpreted some stuff, but each program is totally different.

As far as timing, most programs let you set a base time (degrees before or after TDC) to use as your "zero", and adjust on the tables from there.


Kinja'd!!! roflcopter > vdub_nut: scooter snob
10/06/2013 at 22:35

Kinja'd!!!0

Well... I'm not using any software, or an ECU for that matter, I'm more just wondering on what the injector is physically doing at different times.

Is it using pulse width modulation over the entire intake stroke to dispense the correct amount of fuel, or at 100% duty cycle for a variable amount of time at the beginning of it. I also would like to see some generic pulse width/duty cycle information from different cars.


Kinja'd!!! Axel-Ripper > roflcopter
10/06/2013 at 22:38

Kinja'd!!!0

A bit off the wall, but there's a lot of good engine reference books here: http://www.fsae.com/forums/showthr…

Four-stroke Performance Tuning by A. Graham Bell is quite good. Also of note, the Megasquirt Megamanual is quite informative, even if you aren't doing Megasquirt.


Kinja'd!!! roflcopter > Axel-Ripper
10/06/2013 at 22:40

Kinja'd!!!0

Thanks or the tip, I've been digging through the megasquirt documentation as well as the diyEFI crowds stuff. My problem seems to be finding information beyond just application specific stuff, not the general theory, particularly the software, behind it all.


Kinja'd!!! fink stinger > roflcopter
10/07/2013 at 08:49

Kinja'd!!!0

It's helpful to know where you are in your learning curve and whether or not you are working on a particular project or toward a particular goal (say, for example, you want to run a flathead Ford with late model GM EFI). That you are asking about PWM for an injector tells me you are pretty early on in the process :-) Good, everyone needs to start somewhere.

The beauty of the modern internet is that a simple search for "how a fuel injector works" gives up a littany of articles and pretty helpful videos if that is your kind of thing (I tend to prefer reading). Even a recent one at our local Jalopnik:

http://jalopnik.com/how-electronic…

!!! UNKNOWN CONTENT TYPE !!!

If you were my kid, I would point you in a direction and make you come back to me with the correct answer later. They kind of hate that, but know the drill well. Since you are someone else's kid, I will give you a tip. Injectors are commanded either on or off. The physics of inertia prevent fuel flow from either being on or off. This is why there are all those tables to describe the fuel mass that gets delivered.

I hope that generates a lot more questions than it answers :P


Kinja'd!!! roflcopter > fink stinger
10/07/2013 at 10:27

Kinja'd!!!0

Thank you for the reply, and it is in fact for a particular project, but I'd rather not say exactly what is going on with it because most people end up attacking the project instead of providing information once I do.
What I mean about the PWM stuff is can you spread the total injection time over the entire intake stroke, and use a PWM output to control the actual flow, this seems like it would be better for atomization but I don't know if the injectors would be able to keep up and very low/high duty cycles. As far as the inertia of the fuel goes... What you're saying is that the valve will never instantaneously close, or open, so you end up with fuel needing to accelerate from a stop during opening(delivering slightly less than predicted) and come to a stop fighting the valve on closing(taking slightly longer and delivering slightly more fuel than predicted.
I feel like I've done my reading and understand the concepts, I'm not to the point of trying to figure out what the limits are on the physical side of things, in a real engine.
If that's an incorrect interpretation, then it definitely raises more questions for me.


Kinja'd!!! fink stinger > roflcopter
10/07/2013 at 11:03

Kinja'd!!!0

I like that it's for what sounds like a unique and interesting project because that is what forces real learning. Fuck those people that don't respect the project. Anyone with that attitude never invented or innovated anything in their lives.

It looks like you have a good handle on the physics of how the fuel flows during the opening and closing of the injector. There are quite a few variables that affect the actual amount of fuel delivered (opening time of injector, voltage, curtain area over time, pressure differential, fuel density, temperature, etc). This is why control systems have become vastly more complicated as more has been learned about these phenomena.

The current crop of injectors and controllers don't do PWM. You are right, it would be a Godsend. If it were easily done, the OEMs would have done it long ago with their budgets and teams of Really Smart Engineers. We are getting close to the end of development in the current generation of EFI as all of the OEMs are turning to direct injection.

Feel free to develop a way for injectors to scale down much better than we have. There are some very well developed variations on the current theme, but there are always going to be limits on how far an injector can scale. Paul Yaw is making good injectors and has published a lot of data about them. Take some time to look through his data at http://www.injectordynamics.com/ and you will see all of the physics right there in the graphs.


Kinja'd!!! roflcopter > fink stinger
10/07/2013 at 11:19

Kinja'd!!!0

That's a great site, I think I've browsed around it before. Since you seem interested in it, the project is(for now) an Alpha-N based control unit based off off of an ST32M103F ARM chip. The point of doing this is to come up with a foolproof system that we can run in a car that is only used on track, the reasoning for developing my own is that it is a)infinitely cheaper(if I don't count my time) and b)when things go wrong, I'll know what's going on and hopefully be able to fix it on the spot.

Another piece of information that I can't seem to find a good answer to is when exactly injectors are typically fired... I'm using the entire length of the intake valve being open at redline as my max duration of an injector, because I should need that amount or less of fuel in the rest of the range, but should I justify that amount of time to the beginning of the intake stroke? Slightly before? Should it be longer than that for port injection?(read: can I get enough fuel into the cylinder with a 15lb/hr injector in the 4.5miliseconds that are available during the intake stroke at redline?)

I enjoy reading and understanding the principles behind these things instead of just trusting they work, so far I'd chalk this up to a fun experiment, but I'm getting dangerously close to actually putting the system in the car and seeing if I can get it running. Next big step will be developing a base map for this particular setup to get it to crank/idle/run well enough to get it on the dyno and tune it.


Kinja'd!!! roflcopter > roflcopter
10/07/2013 at 11:48

Kinja'd!!!0

And upon further reading, I think I've answered my own question, but if you would be kind enough to reaffirm my findings...

I will need the pulse to start decently before the opening of the intake valve(most likely immediately after the last closing). This is due to the fact that at normal fuel pressures(30-50psi) there is not enough flow through the injector to allow enough fuel at high rpm within the intake cycle alone. You must start injecting fuel through the other cycles of the engine as well and allow pooling to happen in the port before valve opening. This initially confused me because I thought, how in the hell do they do it in direct injection? But they run hundreds of psi of fuel pressure and the flow rates for those injectors are thus extremely higher.


Kinja'd!!! fink stinger > roflcopter
10/07/2013 at 13:21

Kinja'd!!!0

You don't hear much about Alpha-N systems anymore since there are so many cheap and usable aftermarket systems for popular platforms and most people are satisfied with speed-density. I would imagine it still has it's place, especially for a development tool. Good luck with your project. I hope to hear more about it in the future.

It's possible that your reading has taken you to the fairly obscure past, but in case it hasn't the archives from the DIY-EFI projects might keep you from having to reinvent some of your wheel. I spent a lot of time on those lists back in the days before there were affordable management tools for the GM PCMs of the mid-90's. In searching to make sure the site was still alive, I came across a newer group that might be interesting (full disclosure: I haven't heard of it before right now or read anything there, but the front page looks interesting) at http://www.diyefi.org/

Ah, the age old question of injector timing. A wise man, lets just call him John Meaney, once told me that the only reason to bother with injector timing was for emissions and idle quality. Once the throttles are opened up and the engine is up on the torque curve, the injectors are open most of the time anyway. Driveability in a stock street car and max power in a race car have very different requirements for injector placement, sizing and fueling.

Initial maps are pretty fun. Kind of a chicken and egg problem. Hope you are working with an engine that you don't mind replacing the rings in.


Kinja'd!!! roflcopter > fink stinger
10/07/2013 at 14:33

Kinja'd!!!0

I actually got my idea from the DIY-EFI project... originally I was going to just modify their code into something to suit my needs, but it wasn't going to work out the way I wanted. I then had the idea to do the entire thing closed loop and essentially only have a cam position sensor, throttle position, and a wideband O2. I have code written that should work in that respect, it's all lambda based and uses a diminishing return delta setup for correcting on the fly, but as I thought about it more, I decided one hardcoded table would be even better for what we need. Essentially my idea with this particular car is to experiment with as many different systems as I can, both as a learning experience and to hopefully make it put down a little more power and be more reliable. We've definitely taken the old idea of 'add lightness, then simplify' to the extreme and hopefully it will work out.

The other issue is that I essentially have $0 in the budget for engine management, like literally no money. So aftermarket solutions are out and I just happened to have a few microcontrollers laying around.

From what I've read, Alpha-N setups only have one major drawback, and that is part throttle and idle smoothness and all, since it can't correct for anything on the fly. But in a car that will never be driven on the street, it seems like it will do just fine, and be a lot more simple.

Eliminating failure points in this car is almost more important than making it go fast... if we wanted to go fast we wouldn't have bought a 4cyl Mustang. By having an Alpha-N setup, if it starts going rich/lean and I know the map is good then we can instantly rule out engine management, and there are only 2 sensors in the whole system, both of them pretty hardy.

Do you see a reason to actually do a speed-density setup instead of just running off a table? As long as the flow rates of the engine don't change, which they won't without me retuning it, load will stay the same at the same data points.

Another issue I'm trying to figure out is what resolution I want the lookup table to be at, it seems that most modern ECUs jump in 400rpm or so increments, which is fine except I think they do a lot more on the fly interpolation than I'm looking to do. What do you think the minimum jumps can be before I go lean before hitting the next step? Throttle position as of right now is set in 10% increments, but I think I may drop that down to 5%.


Kinja'd!!! fink stinger > roflcopter
10/07/2013 at 17:40

Kinja'd!!!0

It sounds like you have put a fair amount of mental equity into this already and understand WAY more than your initial query led me to believe. Way to reverse troll :-)

I am in no way an EFI expert, especially when it comes to designing the control algorithms. I have been playing around with the GM and aftermarket systems for the better part of two decades, so I am pretty familiar with how a few generations of them operate. Never personally dealt with Alpha-N systems, but I have a pretty good idea how they work. There is absolutely nothing wrong with it if you understand the limitations going in and are willing to work around them. They don't do changes in density-altitude at all and, like you said, aren't so good with the part throttle. If your racing is pretty much on-off throttle, it will be fine. There have been a lot of motorcycles, off road trucks, boats, etc that run Alpha-N. Kind of the Holly double-pumper of EFI systems.

There is no way I could comment on the table resolution. That is going to be completely dependent on your interpolation algorithm and the ability to predict what the engine wants 'closely enough'. The smaller rpm window you operate in, the less important it becomes as long as it's correct where you need it. If you dyno test, you will probably see things like a hole in the torque curve that you just can't quite correct for if you don't have enough resolution. You only have too much resolution if you run out of address space or cpu cycles trying to process the lookups because the address space is too large.

There must be a reason nobody ever did it in, say, 25 rpm increments and used straight linear interpolation. Seems to me you would have a lot of resolution and very little cpu processing for interpolation. I have never looked at the interpolation algorithms to see if they are doing anything more intensive like cosine or cubic fitting along with those larger steps in data. All I can say is, if it were me, I would try to code in as much resolution as the controller allows. But, I know nothing about the processer and where it will start to bog down, either.