DI and Diesel injector circuits (for DI use only)

From DIY contraptions to sophisticated FreeEMS-specific designs! Plus general hardware development!
User avatar
Fred
Moderator
Posts: 15431
Joined: Tue Jan 15, 2008 2:31 pm
Location: Home sweet home!
Contact:

Re: DI and Diesel injector circuits (for DI use only)

Post by Fred »

To Jared's post and the link: Re the control side of it, you're looking at about 1500 steps from zero fuel to full fuel flow with our arch. Just to put that in perspective, that's worse than ms1 controlling a conventional engine. Whereas FreeEMS on it's intended application is many times better than ms1. It's in the order of 20 - 50 times more accuracy required for the same quality results. Then there are the architectural issues of what is required to drive the injectors properly. In summary, lots of work, little gain. I have my feet on the ground. On the ground people are modifying street vehicles and, increasingly, they're modifying older stuff, because it's easier, the engines are built better, it's easier to be legal, older cars carry less fat, etc etc. With figures in front of me now, I'll say that DI is also out of scope. That's not to say someone else won't tackle the challenge using my code as a base, but it won't be me.

To Jon's post: Increasing fuel pressure typically gets you minimal gains and large down sides. This is probably even more true at the massive pressures that these systems run. True, diesels don't have to use more than one pulse, but they do use it in their OEM setups, often. No idea about the availability of chips for DI.
DIYEFI.org - where Open Source means Open Source, and Free means Freedom
FreeEMS.org - the open source engine management system
FreeEMS dev diary and its comments thread and my turbo truck!
n00bs, do NOT PM or email tech questions! Use the forum!
The ever growing list of FreeEMS success stories!
jonr
QFP80 - Contributor
Posts: 46
Joined: Mon Aug 29, 2011 12:59 pm

Re: DI and Diesel injector circuits (for DI use only)

Post by jonr »

Sounds like you want to focus on the level of an early 80's engine controller (I know since I was there programming them). Probably a good first step, but I would always be looking towards the future and take opportunistic advantage of any easy steps towards getting there.

If you say "DI is something we plan to support eventually but we need to get simpler things working first", then I completely agree. If you say "DI is out of scope, it won't work, timing is too tight and I won't lift a finger to support it", then, well, probably best that I not comment.

Maybe I need to ask a more direct question - if I contribute code that doesn't interest you (ie, is "out of scope" as you see it), are you willing to make it part of the mainline code and support the minor modifications elsewhere in the code that such things usually require?

IMO, DI, diesel, HCI, CNG, DI water, etc are where the most interesting things are happening.
Open5xxxECU.org
jonr
QFP80 - Contributor
Posts: 46
Joined: Mon Aug 29, 2011 12:59 pm

Re: DI and Diesel injector circuits (for DI use only)

Post by jonr »

Based on the Taiwanese paper, min pulse width is 1200 usec, suggesting 12 usec timing for 1% accuracy. That's easy to do with almost any CPU. Multiple pulses and PWM to control current might require 1 usec. Still doable for a reasonable cpu and code although you might not get anything else done.

As jharvey pointed out, just using 70V for the entire pulse might be fine using PWM. DMA is worth exploring.

How fast can something like this switch?:

http://www.fairchildsemi.com/ds/IS/ISL9V3040P3.pdf
Open5xxxECU.org
User avatar
jharvey
1N4001 - Signed up
Posts: 1607
Joined: Tue Jun 10, 2008 5:17 pm

Re: DI and Diesel injector circuits (for DI use only)

Post by jharvey »

I couldn't help but think of this a bit. So I did up a simulation. Click below picture for a larger version.
Image
Basically, I put in an inductor and a second OVP MOSFET shown as a switch. This BOOST part of the circuit can boost the injectors voltage before it fires. This could be handy for DI applications. The hold current is done via low side MOSFET like we normally do it.

Two equations of interest the first is calculating the energy required for the initial rush. According to the above paper, I is 12.4amps and 150uH. So we get E=.5LI^2=.5(150uH)(12.4^2)=.011532j. To keep things simple, I use an inductor that matches the injector. However a larger one could be used, and the inrush potential could be tuned via PWM the boost MOSFET. For simulation, I kept it simple, and used the same uH and amps. The cap has to store the same energy and be usable at 70V. So with some algebra from E=.5CV^2, I get 2(.011532)/70^2=4.7uF.

So when you remove the above boost signal, the boost coil puts the proper energy into the cap, which is shortly after used to fire the injector, creating a very rapid initial ramp. The typical current decay in the injector is PWM or what ever vai low side MOSFET.

I checked in the simulation, for folks to check out. It's found here. https://github.com/jharvey/Cinch_enclos ... simulation

It was done with QUCS.
Last edited by jharvey on Sun Sep 11, 2011 1:29 am, edited 4 times in total.
User avatar
Fred
Moderator
Posts: 15431
Joined: Tue Jan 15, 2008 2:31 pm
Location: Home sweet home!
Contact:

Re: DI and Diesel injector circuits (for DI use only)

Post by Fred »

jonr wrote:Sounds like you want to focus on the level of an early 80's engine controller (I know since I was there programming them).
Absolutely not! Late 90's for sure! Best rock and roll, best engines, best cars, best everything :-) More seriously, I want to deliver quality in a programmable solution with a customisable twist. Open source and clean code = customisable. Clean code and good process = quality. I want a single chip solution and I want to be pragmatic for the target audience, modified port injection engines, especially ones that rev higher than 7500 and have boost. If you open the garage door on anyone doing anything with a welder and a car and an engine, you'll find port injected stuff. Some people are still using carbs. No one is doing DI stuff yet. There are lots of reasons for that. The modern engines for DI are worse for a performance enthusiats purposes in many ways. Not to mention the coking problems that they have due to not having fuel cleaning the manifold all the time :-/
Probably a good first step, but I would always be looking towards the future and take opportunistic advantage of any easy steps towards getting there.
Of course!
If you say "DI is something we plan to support eventually but we need to get simpler things working first", then I completely agree. If you say "DI is out of scope, it won't work, timing is too tight and I won't lift a finger to support it", then, well, probably best that I not comment.
How about if I say "DI is not something that I plan to support" which is very different from "DI is something that I plan to not support". I say the former. I will not be doing any work on anything that does not benefit the majority of the forseeable and current user bases until everyone running it or trying to is happy. Once all the core work is done, sure, anything is possible.
Maybe I need to ask a more direct question - if I contribute code that doesn't interest you (ie, is "out of scope" as you see it), are you willing to make it part of the mainline code and support the minor modifications elsewhere in the code that such things usually require?
If such code causes core features to be compromised in any way, no, absolutely not. If integration of such code impacts my ability to deliver value to those who really need it such as accuracy, stability and features for existing and soon-to-be users, no, absolutely not. If such code is not directly applicable to virtually any engine setup (and is not a decoder), no, absolutely not. That last one will relax with time, as will the middle one, the first one never will. My intent is to create a framework with SOLID core functionality and easy to add feature code such that anyone can rock up and add "flux gate capacitor idle control" code without excess hassle. If this serves as a good base for others to make interesting weird niche stuff out of, great.
IMO, DI, diesel, HCI, CNG, DI water, etc are where the most interesting things are happening.
I build stereo equipment sometimes too. I do this because I can get a better audio experience at a reasonable cost that way, than what I could buying something. It's fun designing boards and assembling enclosures and so on, true. The real fun, though, listening to music so clearly. Point being, I wouldnt be screwing around with EMS stuff if it wasn't a requirement of an excellent driving experience. If I want to lap the Nurburgring in 7:30, I'll need a lot of power and great chassis. To get a lot of power I'll need to mod an engine. To run a modded engine I'll need an EMS. I can't buy anything that I'd be happy with, and MS code is absolutely disgusting, so here I am writing my own such that I can have faith in what I'm driving and so others can share in that. The fun here is driving, for me, at the least.
jonr wrote:Based on the Taiwanese paper, min pulse width is 1200 usec, suggesting 12 usec timing for 1% accuracy.
False, re read it. And, again, you're not fussy enough! 1% might have been OK in the early 80's though ;-)

Jared, never amend commits that you've already pushed! That is extremely poor form for anyone following you. You can push your amended stuff up with --force, but do NOT do that in future. Amend is ONLY for stuff you are yet to push. Once pushed, it's public. That's how it works.

Fred.
DIYEFI.org - where Open Source means Open Source, and Free means Freedom
FreeEMS.org - the open source engine management system
FreeEMS dev diary and its comments thread and my turbo truck!
n00bs, do NOT PM or email tech questions! Use the forum!
The ever growing list of FreeEMS success stories!
User avatar
jharvey
1N4001 - Signed up
Posts: 1607
Joined: Tue Jun 10, 2008 5:17 pm

Re: DI and Diesel injector circuits (for DI use only)

Post by jharvey »

Thanks for the help with gitting git straightened out. I didn't know that git push, then git amend was a bouncing Betty. I'll avoid that in the future.
User avatar
Fred
Moderator
Posts: 15431
Joined: Tue Jan 15, 2008 2:31 pm
Location: Home sweet home!
Contact:

Re: DI and Diesel injector circuits (for DI use only)

Post by Fred »

It's acceptable if you made a major fuckup and want to never see it again. It comes at the cost of everyeone who pulled your push being screwed and having to fix their stuff, if it's 1 ok, if its 10, maybe, if its 10000, NOT cool. :-) Still, not cool anyway, really. Amend for unpushed stuff only as a general rule. And you're welcome.
DIYEFI.org - where Open Source means Open Source, and Free means Freedom
FreeEMS.org - the open source engine management system
FreeEMS dev diary and its comments thread and my turbo truck!
n00bs, do NOT PM or email tech questions! Use the forum!
The ever growing list of FreeEMS success stories!
User avatar
jharvey
1N4001 - Signed up
Posts: 1607
Joined: Tue Jun 10, 2008 5:17 pm

Re: DI and Diesel injector circuits (for DI use only)

Post by jharvey »

Fred I know your not very interested in the DI thing, but what do you think about the simulation? Basically you get to see Boost thing labeled Top1 smacks a charge into the cap C1 generating a 70v charge, and that charge is held there via D1 and shown as Top2. Then a bit later, you can fire the injector via normal low side current limiting, Note inj_low reaches the 70v potential so your low side drive would need to handle the 70V potential. The two currents on the right, show a DC current draw of about 10 amps. However those can be spikes, if one PWM's or runs the switch in a linear region. I simply used a switch for simplicity in the simulation, those switches would really be OVP MOSFET's.

This design was for a 70v DI injector, but I don't see why it couldn't help with a normal injector, just smack it with something like 18v instead of 70v and you'd get a slightly faster on time.
lumpensack2003
QFP80 - Contributor
Posts: 38
Joined: Sun Oct 26, 2008 11:32 pm

Re: DI and Diesel injector circuits (for DI use only)

Post by lumpensack2003 »

Jared,

I like your investigations!
By adapting DI driving method for sure one could open a normal injector faster - which is always good.
What comes to mind is durability: if you hit that injector open so hard, wouldn't it wear mechanically?

GJ
Post Reply