Quote:
Originally Posted by t vago
The injector is fired by the PGM-FI by switching the ground on and off, right?
|
I'm not sure that's correct. From civic-eg.com, ala suspendedHatch:
"The PGM-FI Main Relay controls the Fuel Injectors, the Fuel Pump, the O2 sensor, the Alternator, and the Vehicle Speed Sensor." Since it controls several other vital components, I would think it's only switching the fuel injector signal wire on and off. Don't quote me on that, though.
Quote:
Originally Posted by t vago
So, the MPGuino sees a low-going voltage signal as the start of a fuel injector pulse.
|
That makes sense. Perhaps as the ground is cut, all of the voltages in the wires drop at that exact moment, but the MPGuino sees a "long pulse" signal being sent to the injectors via the ECM.
Quote:
Originally Posted by t vago
And, your kill switch removes power from the injector circuit, too, right?
|
The kill switch only cuts the ground wire of the PGM-FI, so if that removes all power from the injector circuit, then yes.
Quote:
Originally Posted by t vago
The MPGuino would see the same thing (a low-going voltage signal) when you actuate your kill switch, too. Basically, the MPGuino code you're using is interpreting that as a really long valid fuel injector pulse.
I have seen much the same problem with my re-written MPGuino code. When I first started testing the code, I'd get some really freaky large fuel consumption measurements, whenever my vehicle would enter EOC. Basically, I'd go from a tank average 23 MPG to around 1 MPG, all of a sudden. It was because the fuel injector measurement routines did not really do any sort of sanity checking.
|
That's crazy. Mine doesn't drop THAT much, but it's noticeable at the beginning of a trip.
Quote:
Originally Posted by t vago
I came up with two different rationality checks that are applied on each measured fuel injector pulse. Basically, if the measured pulse width is greater than what could be expected at some arbitrarily low engine speed (say, 400 RPM), then that pulse measurement is simply thrown out. Also, if the fuel injector pulse start is recorded, and a pulse end isn't received by about 0.5 seconds or so, then the pulse measurement itself is abandoned, and the code waits for the fuel injector signal to go high, then go low again. These two checks have eliminated the issue I've seen, and they may well eliminate your problem, too.
|
So, would it be possible for me to modify the code my MPGuino is using? I know you're currently working on modifying the original MPGuino code, but I'm not that great of a programmer. At least, I'm not familiar with Arduino, that is.