Originally Posted By: Art_Vandelay
Originally Posted By: OVERK1LL
Normally, the duration of the high idle is dependant upon ambient temperature. When it is colder outside, it will hold the idle longer until it is comfortable with the engine's behaviour to bring it down to regular idle. I get longer warm-up periods in the winter than I do in the spring/summer. Sometimes up to about 45 seconds if it is very cold.
I'm glad to hear your car goes through a warm-up period up to 45 seconds when it's very cold. In mine when it's very cold, say below 20F, a 20 weight has never caused me to even come close to a 45 second warm-up period. If I had to guess it couldn't be more than 15 seconds. On the other hand when the GC was in there(almost a 40 weight)at 20F it was easily at least a 45 second warm-up or perhaps longer. I didn't time it so I can't be exact. The difference was dramatic nevertheless.
I have a feeling that your Mobil 1 0w-40 outflows the GC. It definitely outflows the TDT. Do you think it possible that your 45 second warm-up cycle might have been shorter with a 20 weight? If so, then we do sort of have consistent experience here. Just that my car may be more extreme about it than yours.
When you say that the warm-up period is ambient temperature dependent, do you happen to know how the engine management makes that observation? Is it actually measuring temperature or is is measuring flow/resistance/drag etc in some way?
Thanks by the way. This really helps me.
I ran 5w20 the first winter we had it and noticed the exact same behaviour as with the 5w40. The 0w40 had the "best" winter start feeling. Though that was immediately after running 5w40, so it could have really felt the same as the 5w20. I'm not sure. I do know that the 0w40 has a lower pour point (-54C) than the 5w20 however.
The engine uses the ACT (Air Charge Temperature sensor) as well as the ECT (Engine Coolant Temperature sensor) in conjunction with readings from the MAF (which reads barometric pressure as well) to determine how long it will extend the high idle for. The high idle in conjunction with cold start enrichment is what "normalizes" the engine on a cold start. This process obviously takes longer, the colder it gets.
I have observed this with all my SEFI Ford vehicles including my F-250. The summer/spring/fall warm-up cycle is much shorter in duration than what happens in the winter. And in the winter, it varies in length depending on how cold it is.
Originally Posted By: GUFB
CRANK/UNDERSPEED/RUN MODE SELECTION - GUF0
PEDD-PTOPE, FoMoCo, PROPRIETARY & CONFIDENTIAL
OVERVIEW
The EEC IV strategy operation is divided into three distinct strategy
segments. They are:
1) CRANK
2) UNDERSPEED
3) RUN
The CRANK mode is entered after a power-up initialization or after an engine
stall. CRANK employs a special strategy to aid engine starting. When the
CRANK logic first becomes false, the UNDERSPEED mode is entered. The
UNDERSPEED mode employs a special spark and fuel strategy in place of the
normal engine control strategy (RUN). After start, the RUN mode is entered
and the normal engine control strategy is executed. If the engine stumbles
during RUN mode, the UNDERSPEED mode can again be entered to help recover
from the stumble and prevent a stall.
The specific strategies are:
CRANK STRATEGY
Fuel Fire all injector ports simultaneously
every CRKPIP PIPS. See the Fuel strategy.
Spark Advance 10 degrees BTDC (on PIP signal)
Thermactor Air bypass
EGR disabled
Purge disabled
ISC FN884(TCSTRT)
Data Output Link execute strategy
A/C Clutch disabled
S.I.L. disabled
Thermactor Pump Clutch disabled
Fuel Fire all injector ports in the
same manner as in the RUN mode.
The multiplier FN387 is included
in the pulsewidth equation.
See the Fuel strategy.
Spark Advance 10 degrees BTDC (on PIP signal)
Other outputs are the same as the RUN mode.
RUN STRATEGY
The normal engine control strategy is described in the remainder of this
book.
DEFINITIONS
INPUTS
Registers:
- ECTCNT = Number of times ECT sensor input was read.
- N = Engine RPM.
- PIPCNT = Number of PIPs which have occurred.
- STALLN = Stall RPM: If the first RPM calculated is greater than this
value, assume there was a reinit, RPM.
- TSLPIP = Time since last PIP.
Bit Flags:
- CRKFLG = Engine Mode Flag. (1 = Crank Mode; 0 NOT= Crank Mode)
Calibration Constants:
- CRKPIP = Number of PIPs between injector outputs during Crank.
- FN387 = Fuelpw Multiplier versus ECT - Input = ECT, Output = Multiplier.
- FN884(TCSTRT) = ISC Duty Cycle in Crank, deg.
- NCNT = Minimum number of PIP necessary to exit CRANK Mode.
- NRUN = Minimum Engine Speed to exit CRANK Mode.
- NSTALL = Engine Stall speed to re-enter CRANK Mode.
- UNRPM = Underspeed Engine Speed, RPM.
- UNRPMH = Hysteresis term for UNDERSPEED Mode.
OUTPUTS
Registers:
- N = See inputs above.
Bit Flags:
- CRKFLG = See inputs above.
- FIRST_PIP = Indicates that first PIP has been received.
- UNDSP = Run/Underspeed Flag. (1 = Underspeed (or CRANK), 0 = Run)
FUEL CONTROL STRATEGY - OVERVIEW - GUE0
PEDD-PTOPE, FoMoCo, PROPRIETARY & CONFIDENTIAL
EFI BASE FUEL STRATEGY
FUEL CONTROL STRATEGY is divided into 2 mutually exclusive modes:
OPEN LOOP
CLOSED LOOP
OPEN LOOP MODE
During open loop operation, the computer calculates the injector fuel
pulsewidths required to provide a pre-determined A/F ratio or lambda value.
The desired lambda values (LAMBSE1, LAMBSE2) can vary with engine operating
conditions and are calibration-dependent. During open loop, LAMBSE1 equals
LAMBSE2.
DEFINITIONS
INPUTS
Registers:
- ATMR1 = Time since start (time since exiting crank
mode), sec.
- ATMR2 = Time since ECT became greater than
TEMPFB, sec.
- CTNTMR = Closed throttle neutral timer.
- EGOSSS = EGO switches since start.
- HLTMR = High Load Timer, sec.
- LOAD = Universal Load parameter, unitless.
= Aircharge normalized to Sea Level.
- NACTMR = Time not at Closed throttle, sec.
- PERLOAD = Percent of Peak LOAD at any altitude, unitless.
- PPCTR = PIP counter for Fuel Ramp, unitless.
- TCSTRT = Temperature of ECT at Cold Startup, deg F.
Bit Flags:
- CHKAIR = Thermactor Status flag.
- HSPFLG = High Speed Mode Flag; 1 = High speed alternate
Fuel/Spark.
- MFAFLG = Managed Fuel/Air State flag.
- NDSFLG = Flag = 0 if transmission in neutral; = 1 if in gear.
- WMEGOL = WRMEGO was 1 at least once.
- WRMEGO = EGO sensor should be warm flag.
Calibration Constants:
- CTHIGH = Hot Start Minimum Engine coolant Temperature,
Deg F.
- CTLOW = Cold Start Maximum ECT, deg F.
- EGOCL1 = Number of EGO switches since start required
to set WRMEGO = 1.
- FN320A(ECT) = Upper PERLOAD Limit for Closed Loop fuel control,
unitless.
DEFINITIONS
INPUTS
Registers:
- APT = At Part Throttle. -1 = Closed throttle; 0 = Part
throttle; 1 = Wide Open throttle.
- ATMR1 = Time since start (time since exiting crank mode), sec.
- LAMBSE2 = Desired open loop (or closed loop) equivalence ratio
for EGO-2 injectors. LAMBSE2 appears in the
fuel pulsewidth equation for EGO-2.
- LAMMUL = Multiplier which is used to prevent cold-engine
stalls following transmission engagement.
- MFAMUL = MFA table ramp-in Multiplier, unitless.
- MULTMR = Time since incrementing LAMMUL, sec.
- PERLOAD = Percent of peak LOAD at any altitude.
- TCSTRT = Temperature of ECT at Cold Start, deg F.
Bit Flags:
- DNDSUP = Drive Neutral select.
- HSPFLG = High speed mode flag; 1 = High Speed alternate fuel/spark.
- IDLFLG = Flag indicating transmission in Drive and at Idle.
- LDFLG = "Lugging" mode open loop flag.
- MFAFLG = Managed Fuel/Air State flag.
- NDSFLG = Flag = 0 if transmission in Neutral; = 1 if in
gear.
- NEUFLG = N/D transition occurred.
- NFLG = Neutral Idle Flag.
- OLFLG = Flag indicating Open loop if set = 1; Closed
loop if set = 0.
- WMEGOL = Flag set if WRMEGO set.
- WRMEGO = If set, EGO sensor should be warm and flag set to
1 if EGO sensor is switching; and reset to 0 if it
has cooled down. Its state is controlled by the
WRMEGO logic.
Calibration Constants:
- CTHIN = Maximum TCSTRT value to use NUMPR.
- CTLOW = Cold Start Maximum ECT, deg F.
- FN022B = Temperature normalizing function; used for table
lookup.
Input = FRCBFT *ACT + (1-FRCBFT) * ECT
--OR--
Input = FRCSFT * ACT + (1-FRCSFT) * ECT
- FN035(N) = Maximum LOAD at sea level (29.4 dry barometer,
100 deg. f) Input = N (RPM).
- FN072A = PERLOAD normalizing function; used for table lookup.
Input = PERLOAD and Output = Normalized perload.
- FN082 = Load normalizing function; generates table entry
point. Input = LOAD and Output = Normalized Load.
- FN083 = RPM normalizing function; generates table entry
point. Input = N and Output = Normalized N.
- FN300 = Multiplier as a function of ACT, modifies FN1305.
- FN301 = Closed Throttle Open Loop Fuel Multiplier as a
function of RPM.
- FN301N = Neutral Open Loop Fuel Multiplier as a
function of engine speed N.
- FN303 = WOT Fuel Multiplier as a function of engine speed N.
- FN308 = Sea level fuel multiplier, RPM.
- FN309 = Altitude lugging fuel multiplier, RPM.
- FN311 = MFA altitude multiplier, unitless.
- FN371 = Initial LAMMUL as a function of ECT. This is a Fuel
Multiplier to provide fuel compensation during Drive
Engagement.
- FN393F = Time between Lammul decrements - forward gear.
- FN396A = High Speed Fuel enrichment, mph.
- FN1306 = Startup Open Loop Fuel table = a 10 x 8 table of
lambda values as a function of [FRCSFT*ACT + (1
- FRCSFT)*ECT] and ATMR1. TABSFT is the Synonym
for this Table.
- FN022B = Temperature normalizing function (X-input).
FN018 = Time (ATMR1) normalizing function (Y-input).
- FN1307 = Base Open Loop Fuel table = a 10 x 8 table of lambda
values as a function of [FRCBFT*ACT + (1 - FRCBFT)*ECT]
and PERLOAD. TABBFT is the Synonym for this Table.
- FN022B = Temperature normalizing function (X-input).
FN072A = PERLOAD normalizing function (Y-input).
- FN1328 = Manage Fuel Air Fuel Table, 10 x 8 table of multipliers
as a function of engine speed N and LOAD.
- X-input = Normalizing function for N - FN070
Y-input = Normalizing function for PERLOAD - FN072A
- FRCBFT = Act fraction for FN1305 lookup.
- FRCSFT = ACT fraction for FN1306 lookup.
- LDEL = Minimum ECT to enable Lugging Open Loop, deg.F.
- LDEM = Maximum ECT to enable Lugging Open Loop, deg.F.
- LDLTM = Minimum time in Lugging Mode (High MAP low RPM)
before entering Lugging Open Loop, seconds.
- LDTM = Minimum time delay after start up to enable Lugging
Open Loop, seconds.
- LDMH = Minimum PERLOAD to enable Lugging Open Loop (near W.O.T.).
- LDMHH = Hysteresis for LDMH.
- MFARMP = MFAMUL Ramp increment, unitless.
- MFASW = Calibratible switch which, if set, indicates
Managed Fuel Air logic is being used.
- NUMPR = Open Loop Fuel multiplier.
- OLMCL = Open Loop Fuel Calibration multiplier.
- OLMTD1 = NUMPR Open Loop fuel multiplier time delay,
sec.
- PRLDSW = Switch which determines the formula for computing PERLOAD.
1 -> PERLOAD = LOAD
0 -> PERLOAD = LOAD/PEAK_LOAD
- TRLOAD = Transmission Load switch.
0 = Manual Transmission, no clutch or gerar switches,
forced neutral state (NDSFLG = 0).
1 = Manual Transmission, no clutch or gear switch.
2 = Manual Transmission, one clutch or gear switch.
3 = Manual Transmission, both clutch and gear switches.
4 = Auto Transmission, non-electronic, neutral drive switch.
5 = Auto Transmission, non-electronic, neutral pressure switch,
(AXOD).
6 = Auto Transmission, electronic, PRNDL sensor - park, reverse,
neutral, overdrive, manual 1, manual 2.
------------------------
- TCSTRT = Temperature of ECT at cold start, deg. F
- VECT3 = Minimum coolant temperature (engine on), deg. F
- VECT5 = Starting coolant temperature for warm_up counter, deg. F
FUEL STRATEGY - ADAPTIVE FUEL - GUE0
PEDD-PTOPE, FoMoCo, PROPRIETARY & CONFIDENTIAL
WARM_UP COUNTER LOGIC
WARM_UP = 0 -----------|
|
TCSTRT < VECT5 --------|
|AND ---| Set WARM_UP = 1
ECT > VECT3 -----------| | Set KWUCTR = KWUCTR + 1
| | Clip KWUCTR to 255
RUN MODE --------------|
Note: The above logic is actually done in Continuous Self Test.
KWUCTR < KWUCNT ---------------| "A" = FAEGCT
(First few warm_up cycles) | (Use fast learning rate)
|
| --- ELSE ---
|
KWUCTR >OR= KWUCNT ------------| "A" = ADEGCT
| (Use normal learning rate)
INPUTS/OUTPUTS
KWUCTR = KAM warm_up counter. Stores number of warm_ups in KAM. Reset to
zero if KAM is corrupted. (battery disconnect, etc.)
CALIBRATION CONSTANTS
FAEGCT = Fast Adaptive EGO count. Number of EGO switches required to permit
adaptive learning when KWUCTR < KWUCNT. Should be set to 0 to permit fast
adaptive learning for the first few warm_up cycles.
KWUCNT = Maximum mumber of warm_up cycles to use fast adaptive EGO count. It
should be set to approx. 3 to 5 warm_ups.
That's a SMALL excerpt from the EEC-IV strategy bible.
The last part details a cold start. As you can see it is very temperature dependant.