Gary - K7GLD said:
Possibly a programming issue, rather than just a sensor one? Is it possible the the pre-start ECM program related to grid heaters is different, or uses different table values than the one that functions AFTER the engine starts, even though the same sensors are at work?
Yeah maybe, not sure.....
Here is what I notice:
OAT = 40
IAT = 40
WCT = 40
WTS and cycling after start
OAT = 40
IAT = 100 (5. 6k resistor)
WCT = 40
No WTS and cycling after start (runs very rough, but starts)
OAT = 40
IAT = 100 (5. 6k resistor or plugged in)
WCT = 100 (plugged in)
No WTS and cycling after start
OAT = 75
IAT = 100 (5. 6k resistor)
WCT = 75
No WTS and no cycling after start
I know that going over about 20 mph will discontinue grid heater cycling. I have never waited to see if any temperature / time the grid heater will stop cycling on their own.
I am thinking for grid heater cycling, possibly something like:
OAT = 50 then set
WCT = 180 then reset (never been tested by me)
Speed = 20 then reset
As for the timing advance, something like:
OAT = 50 then set
WCT @ RPM = timing advance per F(x) curve (function curve)
WCT = 180 then reset
Other examples:
IAT@ RPM = timing per F(x) curve
TPS @ RPM = timing per F(x) curve
Boost @ RPM = timing per F(x) curve
Fueling, the same:
TPS @ RPM = fueling per F(x) curve
Etc... .
When I say F(x) curve, for me it is basically an X-Y curve. The ones I have seen have essentially been in a table. The X-Y data points entered in the logic form a curve. You could see, for example, [0,0,10,30,12,42,20,60,20,60] in the table. Typically the tables I have seen will contain around 5 X-Y points.
Plot this on a piece of graph paper for each point:
x = 0, y = 0
x = 10, y = 30
x = 12, y = 42
x = 20, y = 60
x = 20, y = 60
Draw a line between all the points, that is the function or F(x) curve. For any input (process) value of x what ever point that correspondes to y on the line would be the output value of the F(x) curve.
For example:
x = 8 then y = 27
x = 15 then y = 28
x = 22 then y = 60
x = 33 then y = 60
Where, for example, x could be a process value of a beer glasses beer level and y could be output value of how many sips until the glass is empty. In this case, the curve describes the shape of the glass. Notice the glass will not hold more than 20. Bogus I know, but an example.
I can only immage that in the ECM each process would have its own F(x) curve determining a multiplication factor. The total timing would be calculated using a mathamatical algorithm including all the multiplication factors.
How it would work would be like this, example only:
Timing = 100 (base)
IAT = 57 through F(x) = . 925
Timing = (100) * (. 925) = 92. 5
WCT = 115 through F(x) = . 987
Timing = (92. 5) * (. 987) = 91. 3
RPM = 1300 through F(x) = 1. 047
Timing = (91. 3) * (1. 047) = 95. 59
Example, engine is warmed up:
Timing = 100 (base)
IAT = 57 through F(x) = . 925
Timing = (100) * (. 925) = 92. 5
WCT = 180 through F(x) = 1. 000
Timing = (92. 5) * (1. 000) = 92. 5
RPM = 1300 through F(x) = 1. 047
Timing = (92. 5) * (1. 047) = 96. 85
Sorry for the book;
Jim