[0001] The present invention relates to a method for controlling a mixture ratio of an air/fuel
mixture for an engine in accordance with the prior art portion of claim 1 and to a
air/fuel ratio control system in accordance with the prior art portion of claim 5.
[0002] A method for controlling the mixture ratio of an air/fuel mixture for an engine of
the above-mentioned type and a system for controlling the air/fuel ratio of the above-mentioned
type are known from EP-A-191923 and from the prior, non-prepublished EP-A-0265078.
[0003] In a control method of the above-mentioned type, a lambda-sensor generates a signal
indicative of the deviation of the actual air/fuel mixture from a stoichiometric value.
A correction factor is derived from this sensor signal. Thereinafter, the first correction
coefficient which can be regarded as an altitude dependent correction coefficient
which is commonly applicable for correcting the basic fuel metering amount in all
engine driving ranges is derived from the correction coefficient when a feedback condition
is fulfilled. Furthermore, a number of second correction coefficients which can be
regarded as areal learning correction coefficients are determined for each engine
driving range on the basis of the actual value of the air/fuel ratio dependent correction
factor. The actual fuel metering amount is derived from the basic fuel metering amount
on the basis of said first and second correction coefficients. The accuracy in determining
the actual fuel metering amount is negatively affected by numerous factors such as
errors in the measurement of the throttle angle position and tolerances of various
components of the overall system.
[0004] Starting from the above prior art, the present invention is based on the object of
providing a method for controlling a mixture ratio of an air/fuel mixture for an engine
of the above-mentioned type and an air/fuel ratio control system of the above-mentioned
type having a higher degree of accuracy in determining the fuel metering amount.
[0005] This object is achieved by a method in accordance with claim 1 and by a system in
accordance with claim 5.
BRIEF DESCRIPTION OF THE DRAWINGS
[0006] The present invention will be understood more fully from the detailed description
given herebelow and from the accompanying drawings of the preferred embodiment of
the invention, which, however, should not be taken to limit the invention to the specific
embodiment but are for explanation and understanding only.
[0007] In the drawings:
Fig. 1 is a diagram of the preferred embodiment of a learning air/fuel ratio control system
according to the invention;
Fig. 2 is a block diagram of a control unit employed in the preferred embodiment of the
air/fuel ratio control system of the invention;
Fig. 3 is a flowchart of a routine for deriving and setting a fuel injection pulse width
representative of a fuel injection amount;
Fig. 4 is a block diagram of an input/output unit in the control unit to be employed in
the preferred embodiment of the air/fuel ratio control system of Fig. 2;
Fig. 5 is a flowchart of a routine for discriminating engine operating condition for governing
control operation mode between FEEDBACK control mode and OPEN LOOP control mode;
Fig. 6 is a flowchart of a routine for deriving feedback correction coefficient composed
of a proportional component and an integral component;
Fig. 7 is a flowchart of a learning governing routine for governing learning of KALT and KMAP;
Fig. 8 is a flowchart of a KALT learning routine for updating a map storing an air density dependent uniform correction
coefficients;
Figs. 9 is a flowchart showing a KMAP learning routine for updating an engine driving range based correction coefficients;
Fig. 10 is a timing chart showing operation of the preferred embodiment of the air/fuel ratio
control system of the invention;
Fig. 11 is a flowchart of an automatically modifying routine for KALT for modifying the KALT automatically;
Fig. 12 is a chart showing FEEDBACK control range which is defined in terms of engine speed
N and engine load Tp;
Fig. 13 is a chart showing range to perform learning of KALT which is defined by throttle angular position ϑth, intake air flow rate Q and engine speed N;
Figs. 14 and 15 are flowcharts showing a sequence of KMAP learning routine as modification of the routine of Fig. 8.
DESCRIPTION OF THE PREFERRED EMBODIMENT
[0008] Referring now to the drawings, particularly to
Figs. 1 and 2, the preferred embodiment of an air/fuel ratio control system, according to the invention,
is applied to a fuel injection internal combustion engine which is generally represented
by the reference numeral "
1". The engine
1 has an air induction system including an air cleaner
2, a throttle body
3 and an intake manifold
4. A throttle valve
5 is disposed within the throttle body
3 for adjusting induction rate of an air/fuel mixture.
[0009] In the shown embodiment, a fuel injection valve
6 is disposed within the throttle body
3 and upstream of the throttle valve
5. Therefore, the air/fuel mixture is formed at the position in the induction system
upstream of the throttle valve. The air/fuel mixture flows through the throttle body
3 and introduced into an engine combustion chamber via the intake manifold
4 and an intake port which is open and closed by means of an intake valve.
[0010] The air/fuel mixture introduced into the engine combustion chamber is combustioned
by spark ignition taken place by means of an ignition plug
7 which receives an ignition power from an ignition coil unit
8 via a distributor
9.
[0011] The engine
1 also has an exhaust system including an exhaust manifold
10, an exhaust duct
11, a catalytic converter unit
12 and a muffler
13.
[0012] In order to monitor the angular position of the throttle valve
5, a throttle angle sensor
15 is associated with the throttle valve
5 to produce a throttle angle indicative signal ϑ
th having a value indicative of the monitored throttle angle. In practice, the throttle
angle sensor
15 comprises a potentiometer producing analog form throttle angle indicative signal
having a voltage variable depending upon the throttle valve angular position. Also,
an an engine idling condition detector switch
16 is associated with the throttle valve
5 for detecting fully closed or approximately fully closed position of the throttle
valve. The engine idling condition detector switch
16 outputs an engine idling condition indicative signal IDL which is held LOW level
while the throttle valve
5 is not in fully closed or approximately fully closed position and is held HIGH level
while the throttle valve is maintained at fully closed or approximately fully closed
position.
[0013] A crank angle sensor
17 is coupled with the distributor
9 for monitoring a crank shaft angular position. For this, the crank angle sensor
17 has a rotary disc which is so designed as to rotate synchroneously with rotation
of a rotor of the distributor. The crank angle sensor
17 produces a crank reference signal ϑ
ref at each of predetermined angular position and a crank position signal ϑ
pos at every time of predetermined angle of angular displacement of the crank shaft.
In practice, the crank reference signal is generated every time the crank shaft is
rotated at an angular position corresponding on 70
o or 66
o before top-dead-center (BTDC) in compression stroke of one of engine cylinder. Therefore,
in case of the 6-cylinder engine, the crank reference signal ϑ
ref is produced at every 120
o of the crank shaft angular displacement. On other hand, the crank position ϑ
pos is generated every given angular displacement, i.e. 1
o or 2
o, of the crank shaft.
[0014] An engine coolant temperature sensor
18 is disposed within an engine cooling chamber to monitor a temperature of an engine
coolant filled in the cooling chamber. The engine coolant temperature sensor
18 is designed for monitoring the temperature of the engine coolant to produce an engine
coolant temperature indicative signal Tw. In practice, the engine coolant temperature
sensor
18 produces an analog form signal having a voltage variable depending upon the engine
coolant temperature condition. A vehicle speed sensor
19 monitors a vehicle speed for producing a vehicle speed indicative signal Vs. Furthermore,
the shown embodiment of the air/fuel ratio control system includes an oxygen sensor
20 disposed in the exhaust manifold
10. The oxygen sensor
20 monitors oxygen concentration contained in the exhaust gas to produce an oxygen concentration
indicative signal V
ox indicative of the monitored oxygen concentration. The oxygen concentration indicative
signal V
ox is a voltage signal variable of the voltage depending upon the oxygen concentration.
In practice, the voltage of the oxygen concentration indicative signal varies across
a zero voltage depending on rich and lean of the air/fuel ratio relative to a stoichiometric
value.
[0015] In addition, the preferred embodiment of the air/fuel ratio control system, according
to the invention, has a control unit
100 which comprises a microprocessor. The control unit
100 is connected to a vehicular battery
21 to receive power supply therefrom. An ignition switch
22 is interposed between the control unit
100 and the vehicular battery
21 to establish and block power supply.
[0016] As shown in
Fig. 2, the control unit
100 comprises CPU
102, RAM
104, ROM
106 and an input/output unit
108. The input/output unit
108 has an analog-to-digital converter
110 for converting analog inputs, such as the throttle angle indicative signal ϑ
th, the engine coolant temperature indicative signal Tw and so forth, into digital signals.
[0017] The control unit
100 receives the throttle angle indicative signal ϑ
th, the engine idling position indicative signal IDL, the crank reference signal ϑ
ref, the crank position signal ϑ
pos, the engine coolant temperature indicative signal Tw, the vehicle speed indicative
signal Vs and oxygen concentration indicative signal V
ox. The control unit
100 derives an engine revolution speed data N on the basis of a period of the crank reference
signal ϑ
pos. Namely, the period of the crank reference signal ϑ
ref is inversely proportional to the engine speed, the engine speed data N can be derived
from reciprocal of the period of the crank reference signal ϑ
re. Also, the control unit
100 projects an intake air flow amount indicative data Q on the basis of the throttle
angle position indicative signal value ϑ
th.
[0018] Although the shown embodiment projects the intake air flow rate indicative data Q
based on the throttle angle position indicative signal, it is, of course, possible
to obtain the air flow rate indicative data Q directly by a known air flow meter.
In the alternative, the intake air flow rate indicative data may also be obtained
from intake vaccum pressure which may be monitored by a vaccum sensor to be disposed
within the induction system.
[0019] Generally, the control unit
100 derives a basic fuel injection amount or a basic fuel injection pulse width Tp on
the basis of the engine speed data N and the intake air flow rate indicative data
Q which serves to represents an engine load. The basic fuel injection amount Tp is
corrected by a correction factors derived on the basis of the engine coolant temperature
Tw, the rich/lean mixture ratio indicative oxygen concentration indicative signal
V
ox of the oxygen sensor
20, a battery voltage and so forth, and an enrichment factor, such as engine start up
enrichment factor, acceleration enrichment factor. The fuel injection amount modified
with the correction factors and enrichment factors set forth above, is further corrected
by a air/fuel ratio dependent correction coefficient derived on the basis of the oxygen
concentration indicative signal V
ox for adjusting the air/fuel ratio toward the stoichiometric value.
[0020] The practical operation to be performed in the control unit
100 of the preferred embodiment of the air/fuel ratio control system according to the
invention, will be discussed herebelow with reference to
Figs. 3 to
9. In the following discussion, components of the control unit
100 which are not discussed in the preceding disclosure will be discussed with the functions
thereof.
[0021] Fig. 3 shows a flowchart of a fuel injection pulse setting routine for setting a fuel injection
pulse width Ti in the input/output unit
108 of the control unit
100. The fuel injection pulse width Ti setting routine may be triggered at every given
timing for updating fuel injection pulse width data Ti in the input/output unit
108.
[0022] At a step
1002, the throttle angle indicative signal value ϑ
th and the engine speed data N are read out. With the throttle angle indicative signal
value ϑ
th and the engine speed data N as read at the step
1002, search is performed against an intake air flow rate map stored in a memory block
130 of ROM
104 to project an intake air flow rate indicative data Q, which map will be hereafter
referred to as "Q map", at a step
1004.
[0023] In practice, the Q map contains various intake flow rate indicative data Q, each
of which data is accessible in terms of the throttle angle indicative signal value
ϑ
th and the engine speed data N. Each of the intake air flow rate indicative data Q is
determined through experimentation. Relationship between the throttle angle indicative
data ϑ
th, the engine speed data N and the intake air flow rate Q is as shown in the block
representing the step
1004.
[0024] Based on the engine speed data N as read at the step
1002 and the intake air flow rate indicative data Q as projected at the step
1004, the basic fuel injection amount Tp is derived at a step
1006. Practically, the basic fuel injection amount Tp can be calculated by the following
equation:
where K is constant
At a step
1008, correction coefficients COEF is set. In practice, the correction coefficient COEF
to be set here is constituted by an engine coolant temperature dependent component
which will be hereafter referred to as "Tw correction coefficient", an engine start-up
acceleration enrichment component which will be hereafter referred to as "start-up
enrichment correction coefficient", an acceleration enrichment component which will
be hereafter referred to as "acceleration enrichment correction coefficient" and so
forth. The Tw correction coefficient may be derived on the basis of the engine coolant
temperature indicative signal Tw. The start-up enrichment correction coefficient may
be derived in response to the ignition switch operated to a cranking position. In
addition, the acceleration enrichment correction coefficient can be derived in response
to an acceleration demand which may be detected from variation of the throttle angle
indicative signal values. Manner of derivation of these correction coefficients are
per se well known and unnecessary to be discussed in detail. For example, manner of derivation
of the acceleration enrichment coefficient has been disclosed in the co-pending United
States Patent Application Serial No.
115,371, filed on November 2, 1987, assigned to the common assignee to the present invention,
for example. The disclosure of the above-identified co-pending U. S. Patent Application
is herein incorporated by reference for the sake of disclosure.
[0025] At a step
1010, a correction coefficient K
ALT is read out. The correction coefficient K
ALT is stored in a given address of memory block
131 in RAM
106 and continuously updated through learning process. This correction coefficient will
be applicable for air/fuel ratio control for maintaining the air/fuel ratio of the
air/fuel mixture at a stoichiometric value at any engine driving range. Therefore,
the correction coefficient K
ALT will be hereafter referred to as "air density dependent uniform correction coefficient".
Furthermore, address of the memory block
131 storing the air density dependent uniform correction coefficient K
ALT will be hereafter referred to as "K
ALT address". At the initial stage before learning, the air density dependent uniform
correction coefficient K
ALT is set at a value "0". After the process at the step
1010, a correction coefficient K
MAP is determined by map search in terms of the engine speed indicative data N and the
basic fuel injection amount Tp, at a step
1012. In the process of map search, the engine speed indicative data N and the basic fuel
injection amount Tp are used as parameters identifying the engine driving range.
[0026] A map containing a plurality of mutually distinct correction coefficients K
MAP is stored in a memory block
132 RAM
106. This map will be hereafter referred to as "K
MAP map". The K
MAP map storing memory block
132 is constituted by a plurality of memory addresses each storing individual correction
coefficient K
MAP. Each memory block storing individual correction coefficient K
MAP is identified by known address which will be hereafter referred to as "K
MAP address". The K
MAP address to be accessed is identified in terms of the engine speed indicative data
N and the basic fuel injection amount Tp. The correction coefficient K
MAP stored in each K
MAP address is determined in relation to the engine driving range defined by the engine
speed data N and the fuel injection amount Tp and continuously updated through learning
process. Therefore, this correction coefficient K
MAP will be hereafter referred to as "driving range based learnt correction coefficient".
Imaginally, the K
MAP map is formed by setting the engine speed data N in x-axis and the basic fuel injection
amount Tp in y-axis. The x-axis component is divided into a given number n
N of engine speed ranges. Similarly, the y-axis component is divided into a given number
n
Tp of basic fuel injection ranges. Therefore, the K
MAP map is provided (n
N x n
Tp) addresses. Practically, the x-axis component and y-axis component are divided into
8 ranges respectively. Therefore, 64 (8 x 8) addresses are formed to store the driving
range based learnt correction coefficient respectively.
[0027] It should be noted that each K
MAP address in the K
MAP initially stores a value "0" before learning process is initiated.
[0028] At a step
1014, a feedback correction coefficient K
LAMBDA is read out. Process of derivation of the feedback correction coefficient K
LAMBDA will be discussed later with reference to
Fig. 6. At a step
1016, a battery voltage dependent correction value Ts is set in relation to a voltage
of the vehicular battery
21.
[0029] Based on the basic fuel injection amount Tp derived at the step
1006, the correction coefficient coefficient COEF derived at the step
1008, the air density dependent uniform correction coefficient K
ALT read at the step
1010, the driving range based learnt correction coefficient K
MAP derived at the step
1012, the feedback correction coefficient K
LAMBDA read at the step
1014 and the battery voltage dependent correction value Ts set at the step
1016, a fuel injection amount Ti is calculated at a step
1018 according to the following equation:
A fuel injection pulse width data corresponding to the fuel injection amount Ti derived
at the step
1018, which will be hereafter referred to as "Ti data", is set in the input/out unit
108.
[0030] Fig. 4 shows one example of construction of part of the input/output unit
108 which is used for controlling fuel injection timing and fuel injection amount according
to the set Ti data.
[0031] Fig. 4 shows detailed construction of the relevant section of the input/output unit
108. The input/output unit
108 has a fuel injection start timing control section
124. The fuel injection start timing control section
124 has an angle (ANG) register
121, to which a fuel injection start timing derived by CPU during process of fuel injection
control data, e.g. the air flow rate, throttle angle position, the engine speed and
so forth. The fuel injection start timing control section
124 also has a crank position signal counter
122. The crank position signal counter
122 is designed to count up the crank position signals ϑ
pos and to be reset in response to the crank reference signal ϑ
ref. A comparator
123 is also provided in the fuel injection start timing control section
124. The comparator
123 compares the fuel injection start timing indicative value set in the ANG register
121 and the crank position signal counter value in the counter
122. The comparator
123 outputs HIGH level comparator signal when the crank position signal counter value
becomes the same as that of the fuel injection start timing indicative value. The
HIGH level comparator signal of the comparator
123 is fed to a fuel injection pulse output section
127.
[0032] The fuel injection pulse output section
130 has a fuel injection pulse generator
127a. The fuel injection pulse generator
127a comprises a fuel injection (EGI) register
125, a clock counter
126, a comparator
128 and a power transistor
129. A fuel injection pulse width data which is determined through data processing during
execution of fuel injection control program to be discussed later, is set in the EGI
register
125.
[0033] The output of the comparator
123 is connected to the clock counter
126. The clock counter
126 is responsive to the leading edge of HIGH level output of the comparator to be reset.
On the other hand, the clock counter
126 is connected to a clock generator
112 in the control unit
100 to receive therefrom a clock pulse. The clock counter
126 counts up the clock pulse as triggered by the HIGH level gate signal. At the same
time, the comparator
128 is triggered in response to resetting of the clock counter
126 to output HIGH level comparator signal to the base electrode of the power transistor
129. The power transistor
129 is thus turned ON to open the fuel injection valve
6 to perform furl injection.
[0034] When the counter value of the clock counter
126 reaches the fuel injection pulse width value set in the EGI register
125, the comparator signal of the comparator
128 turns into LOW level to turn OFF the power transistor
129. By turning OFF of the power transistor
129, the fuel injection valve
4 closes to terminate fuel injection.
[0035] The ANG register
121 in the fuel injection start timing control section
124 updates the set fuel injection start timing data at every occurrence of the crank
reference signal ϑ
ref.
[0036] With this arrangement, fuel injection starts at the timing set in the ANG register
121 and is maintained for a period as set in the EGI register
125. By this, the fuel injection amount can be controlled by adjusting the fuel injection
pulse width.
[0037] Fig. 5 shows a routine governing control mode to switch the mode between FEEDBACK control
mode and OPEN LOOP control mode based on the engine driving condition. Basically,
FEEDBACK control of air/fuel ratio is taken place while the engine is driven under
load load and at low speed and OPEN LOOP control is performed otherwise. In order
to selectively perform FEEDBACK control and OPEN LOOP control, the basic fuel injection
amount Tp is taken as a parameter for detecting the engine driving condition. For
distinguishing the engine driving condition, a map containing FEEDBACK condition indicative
criteria Tp
ref is set in a memory block
133 of ROM
104. The map is designed to be searched in terms of the engine speed N, at a step
1102. The FEEDBACK condition indicative criteria set in the map are experimentarily obtained
and define the engine driving range to perform FEEDBACK control, which engine driving
range is explanatorily shown by the hatched area of the map illustrated within the
process block
1102 of
Fig. 5.
[0038] At a step
1104, the basic fuel injection amount Tp derived in the process of the step
1006 is then compared with the FEEDBACK condition indicative criterion Tp
ref, at a step
1104. When the basic fuel injection amount Tp is smaller than or equal to the FEEDBACK
condition indicative criterion Tp
ref as checked at the step
1104, a delay timer
134 in the control unit
100 and connected to a clock generator
135, is reset to clear a delay timer value t
DELAY, at a step
1106. On the other hand, when the basic fuel injection amount Tp is greater than the FEEDBACK
condition indicative criterion Tp
ref as checked at the step
1104, the delay timer value t
DELAY is read and compared with a timer reference value t
ref, at a step
1108. If the delay timer value t
DELAY is smaller than or equal to the timer reference value t
ref, the engine speed data N is read and compared with an engine speed reference N
ref, at a step
1110. The engine speed reference N
ref represents the engine speed criterion between high engine speed range and low engine
speed range. Practically, the engine speed reference N
ref is set at a value corresponding to a high/low engine speed criteria, e.g. 3800 r.p.m.
When the engine speed indicative data N is smaller than the engine speed reference
N
ref, or after the step
1106, a FEEDBACK condition indicative flag FL
FEEDBACK which is to be set in a flag register
136 in the control unit
100, is set at a step
1112. When the delay timer value t
DELAY is greater than The timer reference value t
ref, a FEEDBACK condition indicative flag FL
FEEDBACK is reset, at a step
1114. After one of the step
1112 and
1114, process goes END and is returned to a background job which governs execution of
various routines.
[0039] By providing the delay timer to switch mode of control between FEEDBACK control and
OPEN LOOP control, hunting in selection of the control mode can be successfully prevented.
Furthermore, by providing the delay timer for delaying switching timing of control
mode from FEEDBACK control to OPEN LOOP mode, FEEDBACK control can be maintained for
the period of time corresponding to the period defined by the timer reference value.
This expands period to perform FEEDBACK control and to perform learning.
[0040] For example, during hill or mountain climbing, FEEDBACK control can be maintained
for the given period corresponding to the set delay time to learning of correction
coefficient for adapting the air/fuel ratio to the air density even though the engine
driving condition is in transition state.
[0041] Fig. 6 shows a routine for deriving the feedback correction coefficient K
LAMBDA. The feedback correction coefficient K
LAMBDA is composed of a proportional (P) component and an integral (I) component. The shown
routine is triggered every given timing, i. e. every 10 ms., in order to regularly
update the feedback control coefficient K
LAMBDA. The feedback control coefficient K
LAMBDA is stored in a memory block
137 and cyclically updated during a period in which FEEDBACK control is performed.
[0042] At a step
1202, the FEEDBACK condition indicative flag FL
FEEDBACK is checked. When the FEEDBACK condition indicative flag FL
FEEDBACK is not set as checked at the step
1202, which indicates that the on-going control mode is OPEN LOOP. Therefore, process
directly goes END. At this occasion, since the feedback correction coefficient K
LAMBDA is not updated, the content in the memory block
137 storing the feedback correction coefficient is held in unchanged.
[0043] When the FEEDBACK condition indicative flag FL
FEEDBACK is set as checked at a step
1202, the oxygen concentration indicative signal V
ox from the oxygen sensor
20 is read out at a step
1204. The oxygen concentration indicative signal value V
ox is then compared with a predetermined rich/lean criterion V
ref which corresponding to the air/fuel ratio of stoichiometric value, at a step
1206. In practice, in the process, judgment is made that the air/fuel mixture is lean
when the oxygen concentration indicative signal value V
ox is smaller than the rich/lean criterion V
ref, a lean mixture indicative flag FL
LEAN which is set in a lean mixture indicative flag register
138 in the control unit
100, is checked at a step
1208.
[0044] On the other hand, when the lean mixture indicative flag FL
LEAN is set as checked at the step
1208, a counter value C of a faulty sensor detecting timer
148 in the control unit
100 is incremented by one (1), at a step
1210. The counter value C will be hereafter referred to as "faulty timer value". The,
the faulty timer value C is compared with a preset faulty timer criterion C₀ which
represents acceptable maximum period of time to maintain lean mixture indicative O₂
sensor signal while the oxygen sensor
20 operates in normal state, at a step
1212. When the faulty timer value C is smaller than the faulty timer criterion C₀, the
rich/lean inversion indicative flag FL
INV is reset at a step
1214. Thereafter, the feedback correction coefficient K
LAMBDA is updated by adding a given integral constant (I constant), at a step
1216. On the other hand, when the faulty timer value C as checked at the step
1212 is greater than or equal to the faulty timer criterion C₀, a faulty sensor indicative
flag FL
ABNORMAL is set in a flag register
156 at a step
1218. After setting the faulty sensor indicative flag FL
ABNORMAL process goes END.
[0045] On the other hand, when the lean mixture indicative flag FL
LEAN is not set as checked at the step
1208, fact of which represents that the air/fuel mixture ratio is adjusted changed from
rich to lean, an rich/lean inversion indicative flag FL
INV which is set in a flag register
139 in the control unit
100, is set at a step
1220. Thereafter, a rich mixture indicative flag FL
RICH which is set in a flag register
139, is reset and the lean mixture indicative flag FL
LEAN is set, at a step
1222. Thereafter, the faulty timer value C in the faulty sensor detecting timer
148 is reset and the faulty sensor indicative flag FL
ABNORMAL is reset, at a step
1224. Then, the feedback correction coefficient K
LAMBDA is modified by adding a proportional constant (P constant), at a step
1226.
[0046] On the other hand, when the oxygen concentration indicative signal value V
ox is greater than the rich/lean criterion V
ref as checked at the step
1206, a rich mixture indicative flag FL
RICH which is set in a rich mixture indicative flag register
141 in the control unit
100, is checked at a step
1228.
[0047] When the rich mixture indicative flag FL
RICH is set as checked at the step
1228, the counter value C of the faulty sensor detecting timer
148 in the control unit
100 is incremented by one (1), at a step
1230. The, the faulty timer value C is compared with the preset faulty timer criterion
C₀, at a step
1232. When the faulty timer value C is smaller than the faulty timer criterion C₀, the
rich/lean inversion indicative flag FL
INV is reset at a step
1234. Thereafter, the feedback correction coefficient K
LAMBDA is updated by subtracting the I constant, at a step
1236.
[0048] On the other hand, when the faulty timer value C as checked at the step
1232 is greater than or equal to the faulty timer criterion C₀, a faulty sensor indicative
flag FL
ABNORMAL is set at a step
1238. After setting the faulty sensor indicative flag FL
ABNORMAL process goes END.
[0049] When the rich mixture indicative flag FL
RICH is not set as checked at the step
1228, fact of which represents that the air/fuel mixture ratio is just changed from lean
to rich, an rich/lean inversion indicative flag FL
INV which is set in a flag register
139 in the control unit
100, is set at a step
1240. Thereafter, a rich mixture indicative flag FL
LEAN is reset and the rich mixture indicative flag FL
RICH is set, at a step
1242. Thereafter, the faulty timer value C in the faulty sensor detecting timer
148 is reset and the faulty sensor indicative flag FL
ABNORMAL is reset, at a step
1244 Then, the feedback correction coefficient K
LAMBDA is modified by subtracting the P constant, at a step
1246.
[0050] After one of the process of the steps
1216,
1218, 1226, 1236, 1238 and
1246, process goes to the END.
[0051] It should be noted that, in the shown embodiment, the P component is set at a value
far greater than that of I component.
[0052] Fig. 7 shows a learning governing routine for selectively updating air density dependent
uniform correction coefficient K
ALT and the driving range based learnt correction coefficient K
MAP. Since learning of the correction coefficients K
ALT and K
MAP can be performed only when the FEEDBACK control is performed. The FEEDBACK condition
indicative flag FL
FEEDBACK is checked at a step
1302. When the FEEDBACK condition indicative flag FL
FEEDBACK is not set as checked at the step
1302, a K
ALT learning cycle counter value C
ALT in a K
ALT counter
149 in RAM
106 and a K
MAP learning cycle counter value C
MAP in a K
MAP counter
142 are cleared at a step
1304 and thereafter process goes END.
[0053] On the other hand, when the FEEDBACK condition indicative flag FL
FEEDBACK as checked at the step
1302 is set, a throttle angle reference value ϑth
ref is derived on the basis of the engine speed data N, at a step
1306. The throttle angle reference value ϑth
ref is set in a form of a table data to be read in terms of the engine speed N. Each
value of the throttle angle reference value ϑth
ref is representative of high engine load condition criteria at respective engine speed
range, above which the intake air flow rate Q is held unchanged. Namely, when the
throttle angle position ϑ
th is greater than or equal to the throttle angle reference value ϑth
ref, the air flow rate is held substantially unchanged. In such engine driving condition,
air density dependent uniform correction coefficient K
ALT is to be updated. The throttle angle reference value ϑth
ref will be hereafter referred to as "Q flat range threshold".
[0054] At a step
1308, the throttle angle indicative signal value ϑ
th is compared with the Q flat range threshold ϑth
ref derived at the step
1306. If the throttle angle indicative signal value ϑ
th is greater than or equal to the Q flat range threshold ϑth
ref, another throttle angle reference value ϑth
inhibit is derived in terms of the engine speed data N at a step
1310. In the practice, the throttle angle reference value ϑth
inhibit represents substantially high engine load range where flow velocity of the intake
is lowered to make distribution of the air/fuel mixture worse. This may cause substantial
fluctuation of the air/fuel ratio to cause significant variation of the oxygen concentration
indicative signal value V
ox. Therefore, when the throttle angle indicative signal value ϑ
th is greater than or equal to this throttle angle reference value ϑth
inhibit, updating of the air density dependent uniform correction coefficient K
ALT is better not to be performed. This throttle angle reference value ϑth
inhibit as derived at the step
1310, will be hereafter referred to as "learning inhibiting threshold".
[0055] At a step
1312, the throttle angle indicative signal value ϑ
th is compared with the learning inhibiting threshold ϑth
inhibit. When the the throttle angle indicative signal value ϑ
th is smaller than or equal to the learning inhibiting threshold ϑth
inhibit, check is performed whether a timer value t
ACC of a timer
150 in the control unit
100 is greater than or equal to a timer reference value t
enable, at a step
1314. The timer reference value t
enable represents possible maximum period required after recovery of stability after rapid
acceleration. Namely, during rapid acceleration, part of the fuel injection through
the fuel injection valve
6 flows on the inner periphery of the induction passage to influence of stability of
the air/fuel ratio. This peripheral flow of the fuel may be maintained even after
termination of the engine acceleration. Therefore, in order to avoid influence of
unstability of the air/fuel radio during the engine acceleration period and subsequent
period required for stabilization, it is better not to perform learning of the air
density dependent uniform correction coefficient K
ALT.
[0056] When the timer value t
ACC is greater than or equal to the timer reference value t
enable as compared at, the K
MAP learning cycle counter value C
MAP is cleared at the step
1316. Then, at a step
1318, K
ALT learning sub-routine of
Fig. 8 is triggered.
[0057] On the other hand, when the throttle angle indicative signal value ϑ
th is smaller than the Q flat range threshold ϑth
ref as checked at the step
1308, when the throttle angle indicative signal value ϑ
th is greater than the learning inhibiting threshold ϑth
inhibit or when the timer value t
ACC is smaller than the timer reference value t
enable, the K
ALT learning cycle counter value C
ALT is cleared at a step
1320 and then a K
MAP learning sub-routine of
Fig. 9 id triggered at a step
1322.
[0058] Fig. 8 shows the K
ALT learning sub-routine to be triggered at the step
1318 of the learning governing routine of
Fig. 7. Here, as will be seen from
Fig. 13, K
ALT learning is performed in the hatched area which is defined by the throttle angular
position ϑ
th' the intake air flow rate Q and the engine speed. In the shown embodiment, the air
density dependent uniform correction coefficient K
ALT is updated every occurrence of inversion of polarity of the oxygen concentration
indicative signal V
ox. Therefore, immediately after execution of the sub-routine of
Fig. 8, the rich/lean inversion indicative flag FL
INV which is set and reset through the steps
1214,
1220,
1234 and
1244 of the routine of
Fig. 6, is checked, at a step
1402, so as to detect whether inversion of the rich/lean of the air/fuel mixture occurs
or not. When the rich/lean inversion indicative flag FL
INV is not set as checked at the step
1402, an updating indicative flag FL
UPDATE to be set in a flag register
155 of the control unit
100, is reset, at a step
1404. Thereafter, the process directly goes END and returns to the background job. On
the other hand, when the rich/lean inversion indicative flag FL
INV is set as checked at the step
1402, the K
ALT learning cycle counter value C
ALT is incremented by one (1) at a step
1406. Then, the K
ALT learning cycle counter value C
ALT is checked at a step
1408. When the K
ALT learning cycle counter value C
ALT is 1 or 2 as checked at the step
1408, process goes to the step
1404 to reset the updating indicative flag FL
UPDATE. Thereafter, process goes END. This is required for obtaining reliable air density
dependent uniform correction coefficient K
ALT by deriving the coefficient based on a greater number of the feedback correction
coefficient K
LAMBDA.
[0059] When the K
ALT learning cycle counter value C
ALT is 3, a first correction coefficient error value ELAMBDA₁ is derived at a step
1410. The first correction coefficient error value ELAMBDA₁ represents a difference between
the feedback correction coefficient K
LAMBDA and a coefficient reference value LAMBDA
ref, e.g. 1, and is temporarily stored in a memory block
143 of RAM
106. After this the updating flag FL
UPDATE is reset at a step
1412. Thereafter, process goes END.
[0060] It should be appreciated that, as shown in
Fig. 10, first and second correction coefficient error value ELAMBDA₁ and ELAMBDA₂ represents
upper and lower peaks of difference of the feedback correction coefficient K
LAMBDA and the reference value, which peak values appear at zero-crossing of the the oxygen
concentration indicative signal value V
ox.
[0061] On the other hand, when the K
ALT learning cycle counter value C
ALT is greater than or equal to 4, the second correction coefficient error value ELAMBDA₂
is derived on the basis of the instantaneous feedback correction coefficient K
LAMBDA and the coefficient reference value LAMBDA
ref, at a step
1412. An average value LAMBDA
ave of the first and second correction coefficient error values ELAMBDA₁ and ELAMBDA₂
is then calculated at a step
1416.
[0062] At a step
1418, the relevant air density dependent uniform correction coefficient K
ALT is read in terms of the engine speed data N and the basic fuel injection value Tp.
Based on the average value LAMBDA
ave derived at the step
1416, read relevant air density dependent uniform correction coefficient K
ALT as read at the step
1418, is modified, at a step
1420. Modification of the engine driving range based correction coefficient K
ALT is performed by:
where K
ALT' is a modified correction coefficient; and
M
ALT is a constant determining the correction coefficient K
ALT modification rate, which is set in a value range of 0 < M
ALT < 1.
[0063] The modified correction coefficient K
ALT' is temporarily stored in a temporary register
144. After the step
1420, the updating indicative flag FL
UPDATE is set at a step
1422 and the second correction coefficient error value ELAMBDA₂ is set in the memory block
143 as the first correction coefficient error value ELAMBDA₁ for next cycle of execution,
at a step
1424. Then, K
ALT learning counter value L
KALT in a K
ALT learning counter
151 in RAM
106 is incremented by 1, at a step
1426. After the step
1426, process goes END.
[0064] By providing the updating counter C
ALT, updating of the correction coefficient K
ALT in the K
ALT map is performed only when the learning routine is repeated four cycles or more under
substantially the same engine driving condition in the same engine driving range.
[0065] Fig. 9 shows a process for learning the engine driving range based learnt correction coefficient
K
MAP. As set forth above, learning of the correction coefficient is performed only when
the control mode is FEEDBACK mode. Therefore, at a step
1502, check is performed whether the FEEDBACK condition indicative flag FL
FEEDBACK is set or not. If the FEEDBACK condition indicative flag FL
FEEDBACK is set as checked at the step
1502, check is performed whether the engine speed data N and the basic fuel injection
amount Tp identifies the same engine driving range as that identified in the former
execution cycle, at a step
1504. In practice, check in the step
1504 is performed by comparing the address data identifying corresponding memory block
in the K
MAP map. The address data identified by the engine speed data N and the basic fuel injection
amount Tp is temporarily stored in a memory block
141 of RAM
106. When FEEDBACK condition indicative flag FL
FEEDBACK is not set as checked at the step
1502 or when the address data as compared at the step
1504 do no match with the address data stored in the memory block
141 which means that the engine speed data N and the basic fuel injection amount Tp identifies
different engine driving range than that identified in the former execution cycle,
an updating counter
142 in the control unit
100 is reset to clear the K
MAP learning cycle counter value C
MAP, at a step
1506. At a step
1508, the updating indicative flag FL
UPDATE is reset.
[0066] On the other hand, when the address data compared the address data stored in the
memory block
142 matches with the latter, the inversion indicative flag FL
INV is checked at a step
1510. When the inversion indicative flag FL
INV is not set as checked at the step
1510, process goes to the step
1508 to reset the updating indicative flag FL
UPDATE.
[0067] When the inversion indicative flag FL
INV is set as checked at the step
1510, the K
MAP learning cycle counter C
MAP is incremented by 1, at a step
1512. After this, the K
MAP learning cycle counter value C
MAP is checked at a step
1514. This K
MAP learning cycle counter C
MAP serves to count up occurrence of updating of updating of the feedback correction
coefficient K
LAMBDA while the engine driving range is held in the one range.
[0068] When the K
MAP learning cycle counter value C
MAP is 1 or 2, process goes to the step
1508. On the other hand, when the K
MAP learning cycle counter value C
MAP is 3, a first correction coefficient error value ELAMBDA₁ is derived at a step
1516. The first correction coefficient error value ELAMBDA represents a difference between
the feedback correction coefficient K
LAMBDA and a coefficient reference value LAMBDA
ref, e.g. 1, and is temporarily stored in a memory block
143 of RAM
106. After this the updating flag FL
UPDATE is reset at a step
1518.
[0069] After the process at the step
1508 or
1518, process goes END.
[0070] On the other hand, when the K
MAP learning cycle counter value C
MAP is greater than or equal to 4, a second correction coefficient error value ELAMBDA₂
is derived on the basis of the instantaneous feedback correction coefficient K
LAMBDA and the coefficient reference value LAMBDA
ref, at a step
1520. An average value LAMBDA
ave of the first and second correction coefficient error values ELAMBDA₁ and ELAMBDA₂
is then calculated at a step
1522.
[0071] At a step
1524, the engine driving range based learnt correction coefficient K
MAP is read in terms of the engine speed data N and the basic fuel injection value Tp.
At a step
1526, the K
ALT learning counter value L
KALT is read out from the K
ALT learning counter
151 and compared with a K
ALT learning threshold value LKALT
ref. When the K
ALT learning counter value L
KALT is greater than or equal to the K
ALT learning threshold LKALT
ref, a K
MAP modification rate indicative constant M
MAP is set at a given first value, at a step
1528. On the other hand, when the K
ALT learning counter value L
KALT is smaller than the K
ALT learning threshold LKALT
ref, a K
MAP modification rate indicative constant M
MAP is set at a given second value which is smaller than the first value at a step
1530.
[0072] Based on the average value LAMBDA
ave derived at the step
1522 and the K
MAP modification rate indicative constant M
MAP as derived at the step
1528 or
1530, data of the engine driving range based learnt correction coefficient K
MAP as read at the step
1524, is modified, at a step
1532. Modification of the engine driving range based correction coefficient K
MAP is performed by:
where K
MAP' is a modified correction coefficient.
[0073] The modified correction coefficient K
MAP' is temporarily stored in a temporary register
144. After the step
1532, the updating indicative flag FL
UPDATE is set at a step
1534 and the second correction coefficient error value ELAMBDA₂ is set in the memory block
143 as the first correction coefficient error value ELAMBDA₁ for next cycle of execution,
at a step
1536.
[0074] By providing the K
MAP learning cycle counter C
MAP, updating of the correction coefficient K
MAP in the K
MAP map is performed only when the learning routine is repeated four cycles or more under
substantially the same engine driving condition in the same engine driving range.
[0075] Fig. 11 shows a routine for automatically modifying the learnt uniform correction coefficient
K
ALT during engine driving at substantially high engine speed and high engine load condition.
Such automatic modification of the air density dependent uniform correction coefficient
K
ALT becomes necessary when the engine is held at high speed and high load condition where
FEEDBACK control is held inactive for a long period of time. Such engine driving condition
tends to appear during hill or mountain climbing, for example.
[0076] Immediately after starting execution, the faulty sensor indicative flag FL
ABNORMAL is checked at a step
1602. When the faulty sensor indicative flag FL
ABNORMAL is set as checked at the step
1602, a FEEDBACK OFF timer value TIM of a FEEDBACK OFF timer
152 is cleared at a step
1604. Thereafter, process goes END.
[0077] On the other hand, when the faulty sensor indicative flag FL
ABNORMAL is not set as checked at the step
1602, the engine speed data N and the engine load data Tp are checked so as to check whether
the engine is driven in high speed and high load condition, at a step
1606. In the practice, distinction of the engine driving condition is performed with respect
to the air/fuel ratio FEEDBACK control criteria set with respect to the engine speed
N and the engine load indicative basic fuel injection amount value Tp, as shown i
n Fig. 12. As will be seen from
Fig. 12, when the engine driving condition as defined by the engine speed data N and the
engine load Tp is out of the hatched region where air/fuel ratio FEEDBACK control
is to be performed, judgement is to be made that the engine is in high speed and high
load range. In the chart of
Fig. 12, the high speed and high load range is set to include part of the engine medium speed
and medium load range which is possible to perform air/fuel ratio FEEDBACK control
and thus is possible to perform K
ALT learning during driving in high altitude area.
[0078] When the engine driving condition as checked at the step
1606 is not the high speed and high load range, process goes to the step
1604 and subsequently goes END. On the other hand, when the engine driving condition is
within high speed and high load range, the FEEDBACK OFF timer value TIM is incremented
by one (1), at a step
1608. Then, the FEEDBACK OFF timer value TIM is compared with a predetermined FEEDBACK
OFF timer threshold TIM
ref at a step
1610. If the FEEDBACK OFF timer value TIM is smaller than the FEEDBACK OFF timer threshold
TIM
ref as checked at the step
1610, process goes END. On the other hand, when the FEEDBACK OFF timer value TIM is greater
than or equal to the FEEDBACK OFF timer threshold TIM
ref, a given value KALT
modi is subtracted from the air density dependent uniform cirrection coefficient K
ALT, at a step
1612 for modification. After modifying the air density dependent uniform correction coefficient
at the step
1612, the FEEDBACK OFF timer value TIM is cleared at a step
1614. Then, process goes END.
[0079] As will be appreciated herefrom, according to the shown process to be performed by
the preferred embodiment of the air/fuel ratio control system, according to the invention,
air density dependent uniform correction coefficient can be learnt even at high speed
and high load engine driving condition so as to follow the air/fuel mixture ratio
control to the air density at any environmental condition.
[0080] Figs. 14 and
15 shows a modification of the K
MAP learning routine, which modification is intended to divide correction coefficient
error value ELAMBDA to be used in derivation of the engine driving range based learnt
correction coefficient K
MAP into first altitude dependent component and second component depending on other factors
in order to introduce fuzzy inference factor in air/fuel ratio control.
[0081] In
Figs. 14 and
15, there is shown a sequence of routine for learning the engine driving range based
learnt correction coefficient K
MAP. As set forth above, learning of the correction coefficient is performed only when
the control mode is FEEDBACK mode. Therefore, at a step
1702, check is performed whether the FEEDBACK condition indicative flag FL
FEEDBACK is set or not. If the FEEDBACK condition indicative flag FL
FEEDBACK is set as checked at the step
1702, check is performed whether the engine speed data N and the basic fuel injection
amount Tp identifies the same engine driving range as that identified in the former
execution cycle, at a step
1704. In practice, check in the step
1704 is performed by comparing the address data identifying corresponding memory block
in the K
MAP map. The address data identified by the engine speed data N and the basic fuel injection
amount Tp is temporarily stored in a memory block
141 of RAM
106. When FEEDBACK condition indicative flag FL
FEEDBACK is not set as checked at the step
1702 or when the address data as compared at the step
1704 do no match with the address data stored in the memory block
141 which means that the engine speed data N and the basic fuel injection amount Tp identifies
different engine driving range than that identified in the former execution cycle,
an updating counter
142 in the control unit
100 is reset to clear the K
MAP learning cycle counter value C
MAP, at a step
1706. At a step
1708, the updating indicative flag FL
UPDATE is reset.
[0082] On the other hand, when the address data compared the address data stored in the
memory block
142 matches with the latter, the inversion indicative flag FL
INV is checked at a step
1710. When the inversion indicative flag FL
INV is not set as checked at the step
1710, process goes to the step
1708 to reset the updating indicative flag FL
UPDATE.
[0083] When the inversion indicative flag FL
INV is set as checked at the step
1710, the K
MAP learning cycle counter C
MAP is incremented by 1, at a step
1712. After this, the K
MAP learning cycle counter value C
MAP is checked at a step
1714. This K
MAP learning cycle counter C
MAP serves to count up occurrence of updating of updating of the feedback correction
coefficient K
LAMBDA while the engine driving range is held in the one range.
[0084] When the K
MAP learning cycle counter value C
MAP is 1 or 2, process goes to the step
1708. On the other hand, when the K
MAP learning cycle counter value C
MAP is 3, a first correction coefficient error value ELAMBDA₁ is derived at a step
1716. The first correction coefficient error value ELAMBDA represents a difference between
the feedback correction coefficient K
LAMBDA and a coefficient reference value LAMBDA
ref, e.g. 1, and is temporarily stored in a memory block
143 of RAM
106. After this the updating flag FL
UPDATE is reset at a step
1718.
[0085] After the process at the step
1708 or
1718, process goes END.
[0086] On the other hand, when the K
MAP learning cycle counter value C
MAP is greater than or equal to 4, a second correction coefficient error value ELAMBDA₂
is derived on the basis of the instantaneous feedback correction coefficient K
LAMBDA and the coefficient reference value LAMBDA
ref, at a step
1720. An average value LAMBDA
ave of the first and second correction coefficient error values ELAMBDA₁ and ELAMBDA₂
is then calculated at a step
1722.
[0087] The average value LAMBDA
ave may includes the first altitude dependent component and the second component depending
upon other factors. Therefore, in the shown process, a ratio k of the first component
versus the second component is derived through steps
1724 through
1734 which will be discussed later.
[0088] At the step
1724, a throttle angle dependent first component ratio indicative value k₁ is derived
in terms of the throttle angle indicative signal value ϑ
th utilizing a k₁ map
153 set in ROM
104. This k₁ table
153 contains experimentarily obtained values, which becomes greater at greater throttle
open angle range, as shown in the block of the step
1724 in
Fig. 15. This k₁ value corresponds to membership coefficient in
fuzzy inference. Since the influence to the air/fuel ratio fluctuation of error in fuel
injection amount, error in measurement of the throttle angle position, tolerance of
various components and so forth is relatively great in engine low load condition,
the k₁ ratio representing ratio of the first altitude dependent component versus the
second component depending on the other factor is held small. Since the influence
of the second component to the air/fuel ratio fluctuation becomes smaller in the engine
high load range, the influence of the altitude become greater as shown.
[0089] Though the shown embodiment employs the throttle angle position as a factor representing
the engine load condition, it may possible to take other equivalent factor, such as
basic fuel injection amount Tp, the intake air flow rate Q. Furthermore, the k₁ value
may also be derived in terms of a combination of the engine speed and the engine load.
[0090] At a step
1726, number of K
MAP table areas which is recently updated is checked for a given number of most recently
updated areas. In the process of the step
1726, polarities of differences between previously set values and the updated values in
respective of the K
MAP table areas to be checked, are detected. Namely, when the engine driving range based
learnt correction coefficient K
MAP is increased in updating, the polarity of the difference becomes positive, and, on
the other hand, when the the engine driving range based learnt correction coefficient
K
MAP is decreased in updating, the polarity of the difference becomes negative. The area
in which the positive difference is detected will be hereafter referred to as "positive
difference area" and the area in which the negative difference is detected will be
hereafter referred to as "negative difference area". In operation of the step
1726, numbers of the positive difference areas and the negative difference areas are counted.
One of the greater number of the positive difference area number and the negative
difference area number is taken as a same difference polarity area number A₁. Based
on the same difference polarity area number A₁ as derived at the step
1726, a second component ratio indicative value k₂ is derived by utilizing a k₂ map
154 in ROM
104, at a step
1728. As will be seen in the block
1728 of
Fig. 15, the second component ratio indicative value k₂ increases according to increasing
of the same difference polarity area number A₁. Namely, during up-hill driving or
down-hill driving, updating area tends to incline to one of the the positive difference
areas and the negative difference area. For instance, during up-hill driving where
altitude is gradually increased and air density is gradually decreased, number of
the negative difference areas becomes substantially greater than that of the positive
difference areas. On the other hand, during downhill driving, the number of positive
difference areas is increased to be substantially greater than the negative difference
area.
[0091] At a step
1730, number of K
MAP areas having the same polarity with respect to a reference value (0). Namely, number
of the positive polarity areas and number of the negative polarity areas are compared.
Greater number of one of the positive polarity areas and the negative polarity areas
will be taken as same polarity area number A₂. Based on this same polarity area number
A₂, a third component ratio indicative value k₃ is determined at a step
1732, by utilizing k₃ map
154 set in ROM
104. At the high altitude region, the air/fuel ratio tends to be richer due to lower
air density to cause increasing of lean-side correction coefficient. Therefore, in
such high altitude region, negative polarity area tends to be increased. In the alternative,
at low altitude region, the air/fuel ratio tends to become leaner due to higher air
density to require richer-side air/fuel ratio control. Therefore, in this region,
positive polarity area is increased. In this view, the k₃ map is designed to increase
the value according to increasing of the same polarity area number A₂.
[0092] After the step
1732, an average component ratio value which serves as a fuzzy control coefficient k,
is derived by obtaining average value of the first, second and third component ratio
indicative values k₁, k₂ and k₃, at a step
1734.
[0093] At a step
1736, the air density dependent uniform correction coefficient K
ALT is read. Based on the average value LAMBDA
ave derived at the step
1722 and the fuzzy control coefficient k as derived at the step
1734, data of the air density dependent uniform correction coefficient K
ALT as read at the step
1736, is modified, at a step
1738. Modification of the air density dependent uniform correction coefficient K
ALT is performed by:
where K
ALT' is a modified correction coefficient.
[0094] The modified correction coefficient K
ALT' is temporarily stored in a temporary register
144.
[0095] At a step
1740, the engine driving range based learnt correction coefficient K
MAP is read in terms of the engine speed data N and the basic fuel injection value Tp.
Based on the average value LAMBDA
ave derived at the step
1722 and the fuzzy control coefficient k as derived at the step
1734, data of the engine driving range based learnt correction coefficient K
MAP as read at the step
1740, is modified, at a step
1742. Modification of the engine driving range based correction coefficient K
MAP is performed by:
where K
MAP' is a modified correction coefficient.
[0096] The modified correction coefficient K
MAP' is temporarily stored in a temporary register
144. After the step
1742, the updating indicative flag FL
UPDATE is set at a step
1744 and the second correction coefficient error value ELAMBDA₂ is set in the memory block
143 as the first correction coefficient error value ELAMBDA₁ for next cycle of execution,
at a step
1746.
[0097] By the modifies process shown in
Figs. 14 and
15, fuzzy control feature can be introduced in learning of the air density dependent
uniform correction coefficient K
ALT.
[0098] It should be appreciated that, though the shown embodiment takes three component
ratio indicative values k₁, k₂ and k₃, fuzzy control feature may be introduced in
derivation of the air density dependent uniform correction coefficient K
ALT by utilizing two of three values.