Control method of controlling an air/fuel ratio control system in an internal combustion engine

In a method for determining a control parameter of an air/fuel ratio control system of an internal combustion engine by means of an oxygen concentration sensor disposed in an exhaust system of the engine, the control parameter of the air/fuel ratio is determined independently of the output signal of the oxygen concentration sensor when a light load operation of the engine continued for more than a predetermined time period is detected.

BACKGROUND OF THE INVENTION 
1. Field of the Invention 
The present invention relates to a method of controlling the air/fuel ratio 
control system in an internal combustion engine. 
2. Description Of Background Information 
Various air/fuel ratio control systems for internal combustion engines are 
known from, for example, Japanese Patent Publication No. 55-3533, which 
systems regulate the air/fuel ratio of the mixture to be supplied to the 
engine toward a target air/fuel ratio by selecting values of control 
parameters for the air/fuel ratio control systems in response to the 
output signal of an oxygen concentration sensor disposed at the exhaust 
system of the engine thereby to regulate the volume of air or fuel to be 
supplied to the engine for the purification of the exhaust gases, the 
improvement of the fuel economy, etc. The air/fuel ratio control parameter 
may be, for example, a valve-open period in an intake side secondary air 
supply system, and fuel injection period in a fuel injection system. 
It is, in this instance, to be noted that the oxygen concentration sensor 
used in the air/fuel ratio control systems does not become sufficiently 
active to produce desired output signals until the temperature of the 
sensor per se rises up to a certain level. It is therefore difficult to 
obtain accurate operation of the air/fuel control system during low 
temperature operation of the oxygen concentration sensor. It is, on the 
other hand, natural that the temperature of the oxygen concentration 
sensor is dependent upon the temperature of the exhaust gases since the 
oxygen concentration sensor is disposed within the exhaust gas flow. The 
temperature of the oxygen concentration sensor lowers during a low load 
operational condition, such as an idle condition, of the engine rather 
than high or medium load operational conditions since the temperature of 
the exhaust gases lowers during a light load operational condition. There 
is therefore a possibility that the oxygen concentration sensor will 
become inactive due to reduction of the temperature thereof below a 
certain level at a light load operational condition of the engine. During 
such an inactive condition of the oxygen concentration sensor, the sensor 
may produce an output signal representing a lean condition even though the 
actual air/fuel ratio is richer than the target air/fuel ratio, whereby 
the air/fuel ratio is regulated toward the rich side to cause an increase 
of unburned contents such as carbon monoxide and hydrocarbons in the 
exhaust gases. 
OBJECTS AND SUMMARY OF THE INVENTION 
Accordingly, an object of the subject invention is to provide an improved 
method of controlling the air/fuel ratio of the mixture to be supplied to 
an internal combustion engine in response to an oxygen concentration 
signal produced by an oxygen concentration sensor provided at an exhaust 
system of the engine, while avoiding incorrect operation during an 
inactive state of the oxygen concentration sensor. 
According to the present invention, a control method of an air/fuel ratio 
control system in an internal combustion engine selects, as an air/fuel 
ratio control value, a value by which the air/fuel ratio of the mixture 
can be controlled around a target air/fuel ratio irrespectively of the 
output signal of an oxygen concentration sensor during a time period in 
which a light load operation of the internal combustion engine is detected 
after a continuation of the light load operation for more than a 
predetermined time period.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT 
Referring to the accompanying drawings, the embodiment of the control 
method of the present invention will be explained hereinafter. 
FIG. 1 illustrates a general construction of an air intake side secondary 
air supply system of an internal combustion engine in which the control 
method for controlling the air/fuel ratio according to the present 
invention is applied. As shown, intake air taken at an air inlet port 1 is 
supplied to an internal combustion engine 5 through an air cleaner 2, a 
carburetor 3, and an intake manifold 4. The carburetor 3 is provided with 
a throttle valve 6 and a venturi 7 on the upstream side of the throttle 
valve 6. 
The inside of the air cleaner 2, near an air outlet port, communicates with 
the intake manifold 4 via an air intake side secondary air supply passage 
8. The air intake side secondary air supply passage 8 is provided with a 
linear type solenoid valve 9. The opening degree of the solenoid valve 9 
is varied according to the magnitude of a drive current supplied to a 
solenoid 9a thereof. 
The system also includes an absolute pressure sensor 10 which is provided 
in the intake manifold 4 for producing an output signal whose level 
corresponds to an absolute pressure within the intake manifold 4, a crank 
angle sensor 11 which produces pulse signals in response to the revolution 
of an engine crankshaft (not shown), an engine cooling water temperature 
sensor 12 which produces an output signal whose level corresponds to the 
temperature of engine cooling water, and an oxygen concentration sensor 14 
which is provided in an exhaust manifold 15 of the engine for generating 
an output signal whose level varies in proportion to the oxygen 
concentration in the exhaust gas. Further, a catalytic converter 33 for 
accelerating the reduction of the unburned components in the exhaust gas 
is provided in the exhaust manifold 15 at a location on the downstream 
side of the oxygen concentration sensor 14. The linear type solenoid valve 
9, the absolute pressure sensor 10, the crank angle sensor 11, the engine 
cooling water temperature sensor 12, and the oxygen concentration sensor 
14 are electrically connected to a control circuit 20. Further, a vehicle 
speed sensor 16 which produces an output signal whose level is 
proportional to the speed of the vehicle and an atmospheric pressure 
sensor 17 are electrically connected to the control circuit 20. 
FIG. 2 shows the construction of the control circuit 20. As shown, the 
control circuit 20 includes a level converting circuit 21 which performs 
level conversion of the output signals of the absolute pressure sensor 10, 
the engine cooling water temperature sensor 12, the oxygen concentration 
sensor 14, the vehicle speed sensor 16, and the atmospheric pressure 
sensor 17. Output signals provided from the level converting circuit 21 
are in turn supplied to a multiplexer 22 which selectively outputs one of 
the output signals from each sensor passed through the level converting 
circuit 21. The output signal provided by the multiplexer 22 is then 
supplied to an A/D converter 23 in which the input signal is converted 
into a digital signal. The control circuit 20 further includes a waveform 
shaping circuit 24 which performs a waveform shaping of the output signal 
of the crank angle sensor 11, to provide TDC signals in the form of pulse 
signals. The TDC signals from the waveform shaping circuit 24 are in turn 
supplied to a counter 25 which counts intervals of the TDC signals. The 
control circuit 20 includes a drive circuit 28 for driving the solenoid 
valve 9 in an opening direction, a CPU (central processing unit) 29 which 
performs digital operations according to various programs, a ROM 33 in 
which various operating programs and data are previously stored, and a RAM 
31. The solenoid 9a of the solenoid valve 9 is connected in series with a 
drive transistor and a current detection resistor, both not shown, of the 
drive circuit 28. A power voltage is applied across the terminals of the 
above mentioned series circuit. The multiplexer 22, the A/D converter 23, 
the counter 25, the drive circuit 28, the CPU 29, the ROM 30, and the RAM 
31 are mutually connected via an input/output bus 32. 
In the thus constructed control circuit 20, information of the absolute 
pressure in the intake manifold 4, the engine cooling water temperature, 
the oxygen concentration in the exhaust gas, and the vehicle speed, is 
selectively supplied from the A/D converter 23 to the CPU 29 via the 
input/output bus 32. Also information indicative of the engine speed from 
the counter 25 is supplied to the CPU 29 via the input/output bus 32. The 
CPU 29 is constructed to generate an internal interruption signal every 
one cycle of a predetermined period T.sub.1 (5m sec, for instance). In 
response to this internal interruption signal, the CPU 29 calculates an 
output value T.sub.OUT indicative of the magnitude of the current to the 
solenoid 9a of the solenoid valve 9, in the form of data. The calculated 
output value T.sub.OUT is in turn supplied to the drive circuit 28 as the 
air/fuel ratio control parameter. The drive circuit 28 performs a closed 
loop control of the magnitude of the current flowing through the solenoid 
9a so that it is controlled to a value corresponding to the output value 
T.sub.OUT. 
Referring to the flowcharts of FIGS. 3A and 3B, 4 and 5, the operation of 
the air intake side secondary air supply system which performs the control 
method according to the present invention will be explained hereinafter. 
As shown in FIG. 3A, in the CPU 29, a base value D.sub.BASE indicative of 
the base value of the current to the solenoid valve 9 is set every time 
the internal interruption signal is generated, at a step 51. Various 
values of the base value D.sub.BASE which are determined according to the 
absolute pressure within the intake manifold P.sub.BA and the engine 
rotational speed N.sub.e are previously stored in the ROM 30 in the form 
of a D.sub.BASE data map as shown in FIG. 6, and the CPU 29 at first reads 
present values of the absolute pressure P.sub.BA and the engine rotational 
speed N.sub.e and in turn searches a value of the base value D.sub.BASE 
corresponding to the read values from the D.sub.BASE date map in the ROM 
30. After the setting of the base value D.sub.BASE, whether or not the 
operating state of the vehicle satisfies a condition for the feedback 
(F/B) control is detected at a step 52. This detection is performed on the 
basis of various parameters, i.e., absolute pressure P.sub.BA within the 
intake manifold, engine cooling water temperature T.sub.W, vehicle speed 
V, and engine rotational speed N.sub.e. For instance, when the vehicle 
speed is low, or when the engine cooling water temperature is low, it is 
determined that the condition for the feedback control is not satisfied. 
If it is determined that the condition for the feedback control is not 
satisfied, the output value T.sub.OUT is made equal to "0" at a step 53 so 
that the feedback control is stopped. 
On the other hand, if it is determined that the condition for the feedback 
control is satisfied, whether or not a count period of a time counter A 
incorporated in the CPU 29 (not shown) has reached a predetermined time 
period .DELTA.t.sub.1 is detected at a step 56. This predetermined time 
period .DELTA.t.sub.1 corresponds to a delay time from a time of the 
supply of the air intake side secondary air to a time in which a result of 
the supply of the air intake side secondary air is detected by the oxygen 
concentration sensor 14 as a change in the oxygen concentration of the 
exhaust gas. When the predetermined time period .DELTA.t.sub.1 has lapsed 
after the time counter A is reset to start the counting of time, the 
counter is reset again, at a step 57, to start the counting of time from a 
predetermined initial value. In other words, a detection as to whether or 
not the predetermined time period .DELTA.t.sub.1 has lapsed after the 
start of the counting of time from the initial value by the time counter 
A, i.e. the execution of the step 57, is performed at the step 56. 
After the start of the counting of the predetermined time period 
.DELTA.t.sub.1 by the time counter A in this way, whether or not the 
output signal level LO.sub.2 of the oxygen concentration sensor 14 is 
greater than a reference value Lref which corresponds to a target air/fuel 
ratio is detected at a step 58. In other words, whether or not the 
air/fuel ratio of mixture is leaner than the target air/fuel ratio is 
detected at the step 58. If LO.sub.2 &gt; Lref, indicating that the air/fuel 
ratio of the mixture is leaner than the target air/fuel ratio, whether or 
not an air/fuel ratio flag F.sub.AF which indicates a result of a previous 
cycle of detection by the step 58 is equal to "1" is detected at a step 
59. If F.sub.AF =1, it means that the air/fuel ratio was detected to be 
lean in a previous detection cycle. Then, a subtractive value I.sub.L is 
calculated at a step 60. The subtractive value I.sub.L is obtained by 
multiplication of a constant K.sub.1, the engine rotational speed N.sub. 
e, and the absolute pressure P.sub.BA, (K.sub.1 .multidot.N.sub.e 
.multidot.P.sub.BA), and is dependent on the amount of the intake air of 
the engine 5. After the calculation of the subtractive value I.sub.L, a 
correction value I.sub.OUT which is previously calculated by the execution 
of operations of the A/F routine is read out from a memory location 
a.sub.1 in the RAM 31. Subsequently, the subtractive value I.sub.L is 
subtracted from the correction value I.sub.OUT, and the result is in turn 
written in the memory location a.sub.1 of the RAM 31 as a new correction 
value I.sub.OUT, at a step 61. 
On the other hand, if F.sub.AF =0, it means that the air/fuel ratio was 
detected to be rich in the previous detection cycle and the air/fuel ratio 
has changed from rich to lean. Therefore, a value "1" is set to a flag 
F.sub.P indicating the change in the direction of the air/fuel ratio 
control at a step 62, and a subtractive value P.sub.L is calculated at a 
step 63. The subtractive value P.sub.L is obtained by a multiplication 
between the subtractive value I.sub.L and a constant K.sub.3 (K.sub.3 &gt;1). 
After the calculation of the subtractive value P.sub.L (K.sub.3 
.multidot.I.sub.L), the correction value I.sub.OUT which is previously 
calculated by the execution of operations of the A/F routine is read out 
from the memory location a.sub.1 in the RAM 31. Subsequently, the 
subtractive value P.sub.L is subtracted from the correction value 
I.sub.OUT, and the result is in turn written in the memory location 
a.sub.1 of the RAM 31 as a new correction value I.sub.OUT , at a step 64. 
After the calculation of the correction value I.sub.OUT at the step 61 or 
the step 64, a value "1" is set for the flag F.sub.AF, at a step 65, for 
indicating that the air/fuel ratio is lean. On the other hand if LO.sub.2 
.ltoreq. Lref at the step 58, it means that the air/fuel ratio is richer 
than the target air/fuel ratio. Then, whether or not the air/fuel ratio 
flag F.sub.AF is "0" is detected at a step 66. IF F.sub.AF =0, it means 
that the air/fuel ratio was detected to be rich in the previous detection 
cycle. Then, an additive value I.sub.R is calculated at a step 67. The 
additive value I.sub.R is calculated by a multiplication of a constant 
value K.sub.2 (.noteq.K.sub.1), the engine rotational speed N.sub.e, and 
the absolute pressure P.sub.BA, (K.sub.2 .multidot.N.sub.e 
.multidot.P.sub.BA), and is dependent on the amount of the intake air of 
the engine 5. After the calculation of the additive value I.sub. R, the 
correction value I.sub.OUT which is previously calculated by the execution 
of the A/F routine is read out from the memory location a.sub.1 of the RAM 
31, and the additive value I.sub.R is added to the read out correction 
value I.sub.OUT. The result of the summation is in turn stored in the 
memory location a.sub.1 of the RAM 31 as a new correction value I.sub.OUT 
at a step 68. 
If F.sub.AF =1 at the step 66, it means that the air/fuel ratio was 
detected to be lean in the previous detection cycle, and the air/fuel 
ratio has changed from lean to rich. Therefore, the value "1" is set for 
the flag F.sub.P at a step 69, and a additive value P.sub.R is calculated 
at a step 70. The additive value P.sub.R is obtained by a multiplication 
between the additive value I.sub.R and a constant K.sub.4 (K.sub.4 &gt;1). 
After the calculation of the additive value P.sub.R (K.sub.4 
.multidot.I.sub.R), the correction value I.sub.OUT which is previously 
calculated by the execution of operations of the A/F routine is read out 
from the memory location a.sub.1 in the RAM 31. Subsequently, the additive 
value P.sub.R is added to the correction value I.sub.OUT, and the result 
is in turn written in the memory location a.sub.1 of the RAM 31 as a new 
correction value I.sub.OUT, at a step 71. After the calculation of the 
correction value I.sub.OUT at the step 68 or the step 71, a value "0" is 
set for the flag F.sub.AF, at a step 72, for indicating that the air/fuel 
ratio is rich. After the calculation of the correction value I.sub.OUT at 
the step 61, 64, 68 or 71 in this way, the correction value I.sub.OUT and 
the base value D.sub.BASE set at the step 51 are added together, and the 
result of this addition is made as the output value T.sub.OUT at a step 
73. After the calculation of the output value T.sub.OUT, the output value 
T.sub.OUT is output to the drive circuit 28 at a step 74. Subsequently, a 
K.sub.ref calculation subroutine is executed at a step 75. 
Additionally, after the reset of the time counter A and the start of the 
counting from the initial value at the step 57, if it is detected that the 
predetermined time period .DELTA.t.sub.1 has not yet passed, at the step 
56, the operation of the step 73 is immediately executed. In this case, 
the correction value I.sub.OUT calculated by the A/F routine up to the 
previous cycle is read out. 
Then, in a T.sub.OUT generating subroutine shown in FIG. 4, whether or not 
the engine rotational speed N.sub.e is lower than 1050 rpm and whether or 
not the absolute pressure P.sub.BA in the intake manifold is smaller than 
300 mmHg are respectively detected at steps 81 and 82. If N.sub.e 
.gtoreq.1050 rpm, or P.sub.BA .gtoreq.300 mmHg, it is determined that the 
engine operation is not under the light load condition. In this state, a 
step 83 sets a time period of 20 seconds in a time counter B incorporated 
in the CPU 29, so that the down counting is started. Then the output value 
T.sub.OUT calculated at the step 73 is supplied to the drive circuit 28 at 
a step 84. If N.sub.e &lt;1050 rpm and P.sub.BA &lt;300 mmHg, it is determined 
that the engine is operating under the light load condition. Then whether 
or not the count value of the time counter B has reached 0 is detected at 
a step 85. If T.sub.B .noteq.0, the output value T.sub.OUT calculated at 
the step 73 is supplied to the drive circuit 28 by the execution of the 
operation of the step 84. If T.sub.B =0, it means that a time period more 
than 20 seconds has lapsed after the start of the engine operation under 
the light load, and the output value T.sub.OUT is calculated by using an 
equation: T.sub.OUT =D.sub.BASE .multidot.K.sub.ref .multidot.C.sub.R, at 
a step 86. In this equation, K.sub.ref is a correction value for 
compensating for an error of the base value D.sub.BASE set at the step 51 
because of such reasons as the deterioration of the oxygen concentration 
sensor and the deviation of the base air/fuel ratio of the carburetor, and 
C.sub.R is a coefficient for correcting the output value T.sub.OUT for 
obtaining an air/fuel ratio around the value of 14.5 when the output value 
T.sub.OUT has a value corresponding to the stoichiometric air/fuel ratio 
(14.7). After the calculation of the output value T.sub.OUT in this way, 
the calculated output value T.sub.OUT is supplied to the drive circuit 28 
at the step 84. 
In the RAM 31, as shown in FIG. 7, various values of the correction value 
K.sub.ref which are determined by the absolute pressure P.sub.BA in the 
intake manifold and the engine rotational speed N.sub.e, are previously 
stored in the form of a K.sub.ref data map. Therefore, the CPU 29 searches 
a value of the correction value K.sub.ref from the K.sub.ref data map 
using present values of the absolute pressure P.sub.BA and the engine 
rotational speed N.sub.e, for the calculation of the output value 
T.sub.OUT. The RAM 31 is of the non-volatile type, and the memorized 
contents are maintained even when the engine 5 is stopped. The values of 
the K.sub.ref data map are initialized to 1 before the first use of this 
system. 
The drive circuit 28 is operative to detect the current flowing through the 
solenoid 9a of the solenoid valve 9 by means of the resistor for detecting 
the current, and to compare the detected magnitude of the current with the 
output value T.sub.OUT. In response to a result of the comparison, the 
drive transistor is on-off controlled to supply the drive current of the 
solenoid 9a. In this way, the current flowing through the solenoid 9a 
becomes equal to a value represented by the output value T.sub.OUT. 
Therefore, the air intake side secondary air whose amount is proportional 
to the magnitude of the current flowing through the solenoid 9a of the 
solenoid valve 9 is supplied into the intake manifold 4. 
As shown in FIG. 5, in a K.sub.ref calculation subroutine, whether or not 
the flag F.sub.P is equal to 1 is detected at a step 87. If F.sub.P =0, 
whether or not a flag F.sub.K02P is equal to "1" is detected at a step 88. 
The flag F.sub.KO2P is provided for indicating that the operation of the 
step 88 is executed for the first time in this subroutine, and it is 
initially set to "0" upon application of the power current If F.sub.K02P 
=0, the output value T.sub.OUT calculated by the maintained as a preceding 
average value T.sub.OUT1, at a step 89. At the same time, a value "1" is 
set for the flag F.sub.K02P at a step 90. If F.sub.K02P =1, it means that 
the operation of the step 90 has been executed, and the output value 
T.sub.OUT calculated by the A/F routine of the present time and the 
preceding average value T.sub.OUT1 are added together, and then divided by 
2 so as to produce an average value T.sub.OUTX of the L output value 
T.sub.OUT at a step 91. The average value T.sub.OUTX is maintained as the 
preceding average value T.sub.OUT1 at a step 92. At the same time, a value 
"1" is set for a flag F.sub.TOUT which indicates that the average value 
T.sub.OUTX of the output value T.sub.OUT is calculated, at a step 93. 
On the other hand, if it is detected that F.sub.P =1 at the step 87, it 
means that the direction of the air/fuel ratio control has changed, and 
"0" is set for the flag F.sub.P at a step 94. At the same time, whether or 
not the flag F.sub.TOUT is equal to "1" is detected at a step 95. If 
F.sub.TOUT =0, it means that the average value T.sub.OUTX is not yet 
calculated, and the operation of the step 88 is executed. If F.sub.TOUT 
=1, it means that the average value T.sub.OUTX is already calculated by 
the operation of the step 91, "0" is set for the flag F.sub.TOUT at a step 
96. At the same time, by using an equation K.sub.O2P =K.sub.5 
.multidot.T.sub.OUTX /D.sub.BASE, a value K.sub.O2P indicative of the 
error of the base value D.sub.BASE is calculated at a step 97. In this 
equation, K.sub.5 is a constant. Then, by using an equation K.sub.ref 
=K.sub.6 .multidot.K.sub.O2P +K.sub.7 .multidot.K.sub.refx, a correction 
value K.sub.ref for correcting the error of the base value D.sub.BASE is 
calculated, and stored in a position in the K.sub.ref data map of the RAM 
31, corresponding to the present values of the absolute pressure P.sub.BA 
in the intake manifold and the engine speed N.sub.e, at a step 98. In this 
equation, K.sub.6 and K.sub.7 are constants, and K.sub.refx is a 
correction value obtained by the execution of the operation of the step 98 
in the previous cycle. After the calculation of the correction value 
K.sub. ref, the calculated correction value K.sub.ref is set as the 
preceding correction value K.sub.refx a step 99. By repeating the 
operations of this subroutine, the correction value K.sub.ref in the 
K.sub.ref is altered to a new value in response to the time-induced change 
or the deterioration of the sensors. 
In the above explained embodiment, the flags F.sub.P and F.sub.TOUT are 
initialized to "0" upon application of the power current. When it is 
detected that F.sub.P =0 step 87, i.e. at the time of execution of this 
subroutine subsequent to the operation of the step 94 after the change in 
the direction of the air/fuel ratio control, or when it is detected that 
F.sub.TOUT =0 at the step 95, i.e. the execution of this subroutine 
subsequent to the operation of the step 95 after the calculation of the 
average value T.sub.OUTX, the operation of the step 88 will be executed 
The present invention has been described above by way of the example in 
which the air/fuel ratio control is performed by adjusting the amount of 
the air intake side secondary air. However, it is to be noted that the 
present invention is applicable to the control of fuel injection time in 
an air/fuel ratio control system for an internal combustion engine of the 
fuel injection type in which a fuel injector or injectors are utilized. 
Thus, in the control method of an air/fuel ratio control system according 
to the present invention, the value of the air/fuel ratio control 
parameter is determined irrespectively of the output signal of the oxygen 
concentration sensor, to include a component which varies with time so 
that the air/fuel ratio is controlled at a value near a target value which 
is determined in consideration of errors due to reasons such as the 
deterioration of the oxygen concentration sensor and the deviation of the 
base air/fuel ratio of the carburetor, when it is detested that the 
operation of the engine under a light load condition has continued for 
more than a predetermined time period. This is because the oxygen 
concentration sensor may become inactive when the engine operation under 
the light load condition has continued for more than the predetermined 
time period. In this way, enrichment of the air/fuel ratio is prevented 
even when the engine operation under the light load condition has 
continued for more than the predetermined time period, so that the 
increase of unburned contents in the exhaust gas is prevented.