Fuel Injector Duty Cycle Logging

D153, D175, C125, C127, C185 and C187 forum

Fuel Injector Duty Cycle Logging

Postby PEI330Ci on Wed Apr 17, 2024 10:11 am

I've put a C125 dash and LTC on a KX250F motocross bike to help tune a fairly modified engine with Kawasaki's KX FI Tuner.

I would like to log the injector duty cycle of both the upstream and downstream injectors, but have been struggling to setup inputs that give what I'm looking for.

Can someone share how they setup Speed Inputs to log injector duty cycle?

Thanks in advance.
PEI330Ci
 
Posts: 59
Joined: Wed Feb 27, 2013 3:58 am

Re: Fuel Injector Duty Cycle Logging

Postby David Ferguson on Wed Apr 17, 2024 10:40 am

I did something similar on a enduro car to determine fuel consumption.

I configured a SPD input for the channel 'Fuel Cyl1 Pulse Width [ms]". Calibration was set to Pulse Width, with .1ms mapped to .1ms, and 32ms mapped to 32ms. Spd Levels were set as a Hall Effect with a 1.5V threshold voltage

To get duty cycle, you just need to divide this time, by the cycle time at the current engine speed. I would create a 3D table, with Engine Speed on one axis, and Injector Pulse width on the other axis. The output would be injector duty cycle.

Fill the table with the calculation of "InjPulseWidth[ms] / 1000/((EngineSpeed[RPM] / 60) / 2)".

Let's use 10ms at 6000 RPM as an example. First we convert Engine Speed Rev/Min to Rev/Sec by dividing by 60 (6000 / 60 = 100), and from revolutions to cycles (for a 4-stroeke engine) by dividing by 2 (100/2 = 50). Now there are 1000 ms per second, so 1000 (ms/s) / 50 = 20ms cycle period. -- therefore 10ms / 20ms = .5 (ratio) or 50% duty cycle.
David Ferguson
Veracity Racing Data
David Ferguson
Pro User
 
Posts: 1377
Joined: Fri Nov 07, 2008 2:45 am
Location: Paso Robles, California

Re: Fuel Injector Duty Cycle Logging

Postby PEI330Ci on Wed Apr 17, 2024 10:03 pm

Dave,

Thanks for the detailed explanation, and example. It helped tremendously.

I was able to get the pulse width to read no problem.

I was not able to get the 3D table to work, and I think it's because the Table values are limited to only 1 decimal point.

For example: 0.1ms @ 1500 RPM = 0.00125

When I try to enter that value into the table, it defaults to 0.0. I've attached a snapshot of that table to illustrate.
Attachments
3D Table.JPG
3D Table.JPG (37.08 KiB) Viewed 3414 times
PEI330Ci
 
Posts: 59
Joined: Wed Feb 27, 2013 3:58 am

Re: Fuel Injector Duty Cycle Logging

Postby PEI330Ci on Thu Apr 18, 2024 1:27 am

Dave,

I used a maths channel in i2 to generate the IDC, which ultimately is the same thing. :)

I'l share some more feedback once I get more track testing completed.

One thing that I suspected, but have just now confirmed is that the downstream injector, the one closest to the valve, maxes out at 34%, which is approximately the same as the total inlet valve open time across 720 degrees rotation. I'm also logging the pressure sensor, which is just behind the TB, at 500hz, and can see the valve opening and closing through port pressure in fairly good detail at low RPM.
PEI330Ci
 
Posts: 59
Joined: Wed Feb 27, 2013 3:58 am

Re: Fuel Injector Duty Cycle Logging

Postby David Ferguson on Thu Apr 18, 2024 4:05 am

Good Solution.

If you did want the 3d table to work, then make sure the output units are in % and allow the table to interpolate to get the resolution needed. A quick spreadsheet produced this table that you could use:

Injector Duty Table.JPG
Injector Duty Table.JPG (48.34 KiB) Viewed 3403 times


And here is the table for importing into your dash:

Fuel Injector Duty.zip
Zipped file with table inside
(378 Bytes) Downloaded 235 times
David Ferguson
Veracity Racing Data
David Ferguson
Pro User
 
Posts: 1377
Joined: Fri Nov 07, 2008 2:45 am
Location: Paso Robles, California

Re: Fuel Injector Duty Cycle Logging

Postby PEI330Ci on Thu Apr 18, 2024 6:02 am

Dave,

Thank you, that worked like a charm.

More importantly, it reminded me to investigate the calculation more thoroughly in Excel. (It seems so obvious now)

Back on the data side, I've been getting data "artifacts" on the 2nd injector that turns off under light load. When Irescaled the graph, I found an interesting correlation with engine RPM.

2nd Injector Noise.JPG
2nd Injector Noise.JPG (314.3 KiB) Viewed 3399 times


I'm getting the RPM signal using SPD1 which is connected to the lead wire from the ECU to the ignition coil. Would switching the RPM signal to the DIG1 input be beneficial? I am not connecting the C125 sensor ground to the ECU sensor ground to avoid "skewing" the sensor inputs. Would this possibly be allowing the igntion noise to loop through the inactive Injector circuit?
PEI330Ci
 
Posts: 59
Joined: Wed Feb 27, 2013 3:58 am

Re: Fuel Injector Duty Cycle Logging

Postby David Ferguson on Thu Apr 18, 2024 7:50 am

well, something isn't right in the math. You can't really have a duty cycle > 100% (that would be injector open the complete cycle). So the fact that your secondary injector duty cycle is greater than 100 doesn't seem right. Double check the math channel, and verify with the injector pulse width & RPM data you logged.
David Ferguson
Veracity Racing Data
David Ferguson
Pro User
 
Posts: 1377
Joined: Fri Nov 07, 2008 2:45 am
Location: Paso Robles, California

Re: Fuel Injector Duty Cycle Logging

Postby PEI330Ci on Thu Apr 18, 2024 11:30 am

Dave,

I think we have 3 things going on at the same time:

#1 - The 2nd injector is turned off, so the pulse width measurement maxes out @ 32.767ms continuously.

Max Pulse Width.JPG
Max Pulse Width.JPG (290.19 KiB) Viewed 3387 times


#2 - The Duty Cycle calculation has a fixed value in the calculation of 32.767ms, so of course the output WILL vary with RPM.

#3 - I haven't figured out how to filter the non-valid data.
PEI330Ci
 
Posts: 59
Joined: Wed Feb 27, 2013 3:58 am

Re: Fuel Injector Duty Cycle Logging

Postby David Ferguson on Thu Apr 18, 2024 12:06 pm

Well, we either make the 3d "math" table, show values of "zero" or 100 for values > 100%, or you use maths in I2 (choose(IPW > <max cycle time>, valid value calc, invalid()) to make invalid data.
David Ferguson
Veracity Racing Data
David Ferguson
Pro User
 
Posts: 1377
Joined: Fri Nov 07, 2008 2:45 am
Location: Paso Robles, California

Re: Fuel Injector Duty Cycle Logging

Postby PEI330Ci on Thu Apr 18, 2024 12:32 pm

Dave,

I went with option 1, using a value of 0 @ 20ms for all RPM points

0 Table.JPG
0 Table.JPG (62.14 KiB) Viewed 3384 times


I'll follow up with data after the next session.

Thanks for the guidance, I have learned a lot.
PEI330Ci
 
Posts: 59
Joined: Wed Feb 27, 2013 3:58 am


Return to Colour displays

Who is online

Users browsing this forum: Google [Bot] and 2 guests