For anything you'd like to see added to Speeduino
By newaza
#63855
Would it be possible to add the option to offer deatime correction only option to the fuel temperature correction table when using flex fuel?
Something similar to how the battery voltage correction offers the ability to choose from correcting either the whole pulse width or deadtime only, but also applied to the fuel temperature correction table. That addition would be helpful for people running very large injectors (1500cc and up) on small engines in hot climates with high ethanol content fuel.
#63858
I'm sure its possible. The harder question is who wants to implement it. I'd suggest starting a conversation on discord about the problem to solve.
IMO, lots of us would benefit, I know injector heat soak was a problem for me.
User avatar
By PSIG
#63859
If I understand your suggestion, you want to enable a false dead-time value in order to "trim" fuel from high-flow injectors at very small pulsewidths, as a form of correction for either very short or non-linear flow (under certain conditions)?

If so, my first reaction is to instead use traditional methods to avoid operation in the area, rather than a function that alters valid values to the ECM. For examples, rising-rate fuel pressure regulator (RRFPR) to reduce low-load fuel pressure, extending the pulsewidth required and enhancing control resolution; or various electronic pressure controls to similar effect; or staged injectors with obvious benefits, and other options.

Please correct my interpretation of your situation if necessary.
#63860
(If I understand your suggestion, you want to enable a false dead-time value in order to "trim" fuel from high-flow injectors at very small pulsewidths, as a form of correction for either very short or non-linear flow (under certain conditions)?

If so, my first reaction is to instead use traditional methods to avoid operation in the area, rather than a function that alters valid values to the ECM. For examples, rising-rate fuel pressure regulator (RRFPR) to reduce low-load fuel pressure, extending the pulsewidth required and enhancing control resolution; or various electronic pressure controls to similar effect; or staged injectors with obvious benefits, and other options.

Please correct my interpretation of your situation if necessary.)

You are basically correct. Trimming inj. deadtimes based off fuel temps would be helpful for me. I just tested with a flex fuel sensor right after fuel rail (return system) and tested with fuel temp correction. That does seem to allow for correcting starting, idle and driveability issues as fuel temps increase. However since fuel temp correction adjust the entire pulse width it becomes too rich at high load.
Already do as much as possible to avoid operation in that area. Just so you know this is used on a miata being set up for drag racing. The car currently has sep1500cc injectors and a 1.8l engine with a gtx3576 sized turbo running in the mid 30s ps and using much modified jatco automatici. So far the car has run a best 1/8th mile of 6.50s at just under 110mph. I am going through the car soon for much more performance and may be adding even larger injectors to run e98 or possibly even m1 methanol when at the track.
#63861
Also just to add... on my injectors, and I assume many other larger injectors, there can be changes in the injector coil resistance as temps increase. According to Andre at HPA the bosch 1600s are bad about this too. Im of the opinion the that resistance change along with maybe a decrease in fuel density would make this fuel temp based deadtime adjustment helpful for some.
User avatar
By PSIG
#63864
OK, so while the ECM already uses temperatures to alter fueling, it sounds like you have a different set of temperatures for your fuel? I would assume this is hot placement or large hot pumps, etc? You can approach the issue however you like, but I maintain "tricking" the ECM or adding yet another function to cover a specific and unusual issue is less productive. I would again approach it by solving the cause of the issue directly (fuel cooling, pressure ratios, etc), so standard functions will properly cover the conditions. That's me. Do your thing!
#63868
(OK, so while the ECM already uses temperatures to alter fueling, it sounds like you have a different set of temperatures for your fuel? I would assume this is hot placement or large hot pumps, etc? You can approach the issue however you like, but I maintain "tricking" the ECM or adding yet another function to cover a specific and unusual issue is less productive. I would again approach it by solving the cause of the issue directly (fuel cooling, pressure ratios, etc), so standard functions will properly cover the conditions. That's me. Do your thing!)

thanks for reply.

Yes I use iat fueling correction. Yes I also now monitor fuel temperature immediately after fuel rail. Yes it has a high amperage in tank fuel pump (walbro 525) which adds heat to the fuel. Since its a return system it is continually heating the fuel until it reaches an equilibrium between the fuel pump added heat and whatever cooling is available going through any external hard lines. I've seen fuel temps near 150f on longer drives in hot weather with low fuel supply in tank. Im not sure if what i'm asking would be considered tricking the ecu since many oem systems incorporate fuel temperature sensors. I'm already using a referenced regulator and haven't ruled adding a cooler for the fuel if I decide to keep the car street driveable and not make it a dedicated drag car.
User avatar
By PSIG
#63870
Thanks for that, and it now appears you may not (?) be operating in a non-linear flow area of your injectors, and only affected by heat. That's simpler, and there could be adjustments added for those effects, but again we would want to solve the heating issue if possible before asking the ECM to insert another variable that most do not need. We can discuss multiple options to address this if you wish to reduce the effects of the heat in the fuel system - new feature or not.

On the other hand and moving forward, a temperature effects table will be useful to those running dead-head (non-return) fuel systems that do monitor more extreme fuel temperatures. I have not heard anyone requesting it (yet), but I think it should be assumed it is a factor that will need to be addressed. As odd as it may seem, an overheating return system may be as good a test mule as a dead-head system, adjusting fuel flow based on fuel temperature only. Would that be sufficient?

While I don't know if there is room for this feature in Mega systems, or high enough on the priority list; I also assume it is feasible in some of the 32-bit systems. As @jonbill suggested, a query on Slack in the Dev channel may help to sort the most appropriate solution for your circumstances, and how it could be approached in code. Best of luck to you!

[EDIT] BTW, "tricking" the ECM would be using something like injector latency (dead-time) to adjust fuel flow, when the latency hasn't actually changed. If I read you correctly, your primary factor is fuel heat, not change in latency.
#63872
newaza wrote: Thu Jul 06, 2023 1:52 pm Also just to add... on my injectors, and I assume many other larger injectors, there can be changes in the injector coil resistance as temps increase. According to Andre at HPA the bosch 1600s are bad about this too. Im of the opinion the that resistance change along with maybe a decrease in fuel density would make this fuel temp based deadtime adjustment helpful for some.
The injectors are usually mounted on the manifold close to the head so the resistance is fairly stable once the engine is warmed up. if the injector is subject to big temperature fluctuations then peak-hold drivers can offer an improvement, by controlling the current they maintain a more constant energy in the coil.
#63877
Thanks fellows for the replys and insights.

speeduino has a fuel temperature adjustment table already. I've been doing some testing with it and it does make a huge difference in injector heat related issues for low load, idle and restart. At least for my setup anyways. However the main problem with it for me personally is it corrects the whole pw, which when I adjust fuel temperature correction to correct the low load stuff it is becomes too rich at high load, hence the thought of changing that correction from the whole pulse width to open time (deadtime) only, just as it offers in the battery voltage correction in the injector characteristics section.

Although I know absolutely nothing about coding I had a look at the code to start trying to wrap my brain around it.
below is from the corrections.ini section
594 fuelTempValue = table2D_getValue(&fuelTempTable, currentStatus.fuelTemp + CALIBRATION_TEMPERATURE_OFFSET);
Would changing that "offset" to "opentime" have the desired effect? Keep in mind I know nothing about what i'm doing in the code LOL.....

At any rate I have copied and pasted below someone from another forum who explains in a much more eloquent fashion what I am thinking. Hope he sheds some better light on the subject.


((I was listening to the HPA podcast with Paul Yaw from Injector Dynamics today at work and it significantly improved my understanding of how fuel injectors work, peak and hold injectors, etc., but it reminded me of this issue. A lot of people on here always point at the IAT sensor for the hot restart issues, or fuel vaporizing due to heat, or whatever else they can come up with. But today I did a little more research and I've got a good hypothesis as to what causes the heat related fueling issues. So hear me out and feel free to critique or add something in.

The issue: Hot restarts, Lean cruise and Idle with warmer weather/Rich cruise and idle in cold weather.

Info about my car: Stock return-less fuel system ('99 NB) with a Walbro 255lph pump and Flowforce 960cc injectors (formerly FF 640cc injectors).

The hypothesis: High injector temperatures cause the deadtime to increase. The heat can either come from variations in weather or even worse, the hot engine's head while at idle or not running.

Why do I think this?:
I began on this thread (HPA Forums - Dont know if linking to other forums is allowed, can remove if not), in which the OP was explaining a fueling variation of 10-15% or more. He has verified Injector deadtimes, MAT correction, Coolant temp, fuel pressure, and his MAP is stable. He is also running 1150cc Injectors. Same issue as us miata folk are reporting. To which a VIP member by the name of "Slides" chimed in saying that injector temperature sensitivity is a known issue. He also states that some 1600cc injector regularly gives people issues. (Take note of how this is common on larger injectors, could just be due some sort of sample bias on my part, but it'll feed into my hypothesis later. Another user says he has the same issue up to 20% change most notably at low puslewidth... see where I'm going with this?
From here I started to do some googling. I found some papers on diesel direct injectors, but not much on gasoline injectors. Anyways, here is what I found:
This SAE paper regarding diesel common rail injectors says in the summary that the results showed a "strong effect of thermal conditions on the injector hydraulics. The injected volume can be varies up to 30% compared to the reference operating condition (Tfuel = 40 deg C, Tbody = 90 deg C) The injection rate analysis evidenced that the injector closure timing can be seriously affected by the system thermal state, while the nozzle steady flow is typically less influenced by the fuel and injector body temperature in the examined range". So what they're saying is the injector closing time is a lot faster when it is hot resulting in less fuel.
This journal's abstract says that "with the increase of fuel temperature, the injection quantity and maximum injection rate decreased, the time of start injection was delayed, and the peak fuel pressure value decreased." This is very similar to the diesel injectors mentions before, except here the start of injection was delayed. This can be interpreted as the deadtime of the injector being increased when hot, and decreasing when cold (to me at least).
This patent's description says that the "use of the high resistance coil require that the holding current, for holding the injector open, generates significiant heat in the coil. The generated heat raises the temperature of the injector coil, thereby changing its resistance and hence its operating time and the fuel flow characteristics of the injector." which again sounds like heat is effecting the deadtime of the injector, so I did a quick google search regarding how temperatures effect DC solenoids (which seem to me to be similar in theory).
That google search got me to this page which states that "As a solenoid heats up, its pull force decreases. The coil resistance increases and flowing current decreases as the temperature rise of the solenoid and its ambient temperature rise when energized, resulting in the magnetomotive force to be smaller." which again makes it sound like a hotter injector has less opening force leading to increased deadtimes.
So, yeah. It really sounds like all of our hot restart issues, lean conditions on hot days, or rich conditions on cold days can be explained by my current hypothesis. Which brings me to the question "Why have I not seen or heard of any sort of aftermarket solution to correct the injector deadtimes using fuel temperature?". Fuel temperature sensors exist, but they're often explained as being used to compensate for the .1% density change per degree C. This isn't a big enough percentage to cause our issues though. Could this just be a misunderstood use of the sensor, and that OEMs are actually correlating this to injector temperatures? I do think using this as a basis for compensation could be beneficial, however it wouldn't account for the heat generated by the injector ports being on the side of the engine's head. From a quick google I'm seeing that a cylinder head can reach as high as 200 deg C, which would definitely exacerbate this issue since the injectors are sealed to the head.

Last thing, I often see people speculating about how Mazda dealt with hot restarts and the lean condition that we are experiencing. I have an explanation for that too: They didn't need to. The stock injectors' minimum pulse width is likely much higher due to their size, so an increase of, say, .2ms of deadtime is negligible. 0.2ms of a 3ms pulse is 6% on small injectors but a .2ms deadtime increase on a 1.7ms pulse is 11% with bigger injectors (not actual number, just something I've pulled out of my ass). It just happens that this is also about how far off our fueling is when experiencing this phenomenon.

So, thoughts, comments, or questions? Anyone with actual programming experience want to look into this further? I'm thinking about trying to reach out to Paul Yaw from Injector Dynamics to see if he has any input on my hypothesis. Also considering crossposting to MSExtra forums in hopes of reaching somebody in development of the MS firmware, but I realize this is not very likely to be included in a future firmware release.))
Injected 2 stroke Bultaco

Alternator testing. Its a 3 phase circa 200w alter[…]

BMW E23 M30B28

Okay, I managed to start the engine. The &quot[…]

NO2C crank signal issues

Once again PSIG, thank you. Note this is set up fo[…]

I've managed to dig up a few obscure wiring diag[…]

Still can't find what you're looking for?