Air fuel ratio control system for an internal combustion engine with an improved open loop mode operation
BACKGROUND OF THE INVENTION 
     1. Field of the Invention 
     The present invention relates to an air/fuel ratio control system for an internal combustion engine, and more particularly a system in which an air/fuel ratio of mixture to be supplied to the engine is controlled basically in response to an output signal level of an oxygen concentration sensor. 
     2. Description of Background Information 
     Air/fuel ratio feedback control systems for an internal combustion engine are known as systems in which oxygen concentration in the exhaust gas of the engine is detected by an oxygen concentration sensor (referred to as O 2  sensor hereinafter) and an air/fuel ratio of mixture to be supplied to the engine is feedback controlled in response to an output signal level of the O 2  sensor for the purification of the exhaust gas and improvements of the fuel economy. 
     In this type of air/fuel ratio control system, a base value of the air/fuel ratio control is set in response to a plurality of engine parameters relating to the engine load, and the base value is corrected cyclically in response to the output signal level of the O 2  sensor for elapse of a predetermined time period. 
     The feedback control of the air/fuel ratio in response to the output signal level of the O 2  sensor is stopped under engine operational conditions such as a low load engine operation. During the stoppage of the feedback control of the air/fuel ratio, the air/fuel ratio of the mixture supplied to the engine is controlled to a rich air/fuel ratio value or a lean air/fuel ratio value. For this purpose, an opening degree of a solenoid valve provided for regulating the air/fuel ratio is controlled in accordance with a control value obtained by a multiplication between the previously set base value and an enrichment coefficient or a leaning coefficient. However, it is difficult to avoid the difference between the target air/fuel ratio and an actual air/fuel ratio of mixture because of various reasons such as the age-induced change in the detection characteristic of sensors for detecting the engine operational parameters, or the deterioration of the O 2  sensor. Therefore, if, for example, the air/fuel ratio is controlled to the lean side to reduce the fuel consumption when the engine load is low, the air/fuel ratio of the mixture may not be precisely controlled to the desired value, causing an adverse effect on the driveability. 
     OBJECTS AND SUMMARY OF THE INVENTION 
     An object of the present invention is to provide an air/fuel ratio control system by which adequate driveability is assured during the stoppage of the feedback control of the air/fuel ratio even though time-induced change or the deterioration has occurred for any of the engine operation sensors. 
     According to the present invention, an air/fuel ratio control system is constructed to set a base value for adjusting the air/fuel ratio in response to a plurality of engine operational parameters relating to the load of the internal combustion engine. The base value is corrected in response to an exhaust gas component concentration so as to provide an output value by which the air/fuel ratio is adjusted. A correction value for correcting an error of the base value is calculated every time for the determination of the output value. The calculated correction value is stored in relation to each value of the plurality of engine parameters. During predetermined operating conditions of the engine, the correction of the base value in response to the exhaust gas component concentration is stopped and the base value is corrected by a correction value responsive to present values of the plurality of the engine operational parameters. The thus obtained corrected value is then used to determine the air/fuel ratio of the mixture supplied to the engine. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     FIG. 1 is a schematic diagram showing a general construction of the air/fuel ratio control system according to the invention; 
     FIG. 2 is a block diagram showing the concrete construction of the control circuit 20 of the system of FIG. 1; 
     FIGS. 3A, 3B, 4A and 4B, when combined respectively, are flowcharts showing the manner of operation of a CPU 29 in the control circuit 20 in a first embodiment of the air/fuel ratio control system according to the present invention; 
     FIGS. 3 and 4 are diagrams showing juxtaposition of FIGS. 3A and 3B, FIGS. 4A and 4B respectively; 
     FIG. 5 is a diagram showing a D BASE  data map which is previously stored in a ROM 30 of the control circuit 20; 
     FIG. 6 is a diagram showing a K ref  data map stored in a RAM 31 of the control circuit; and 
     FIG. 7 is a diagram showing the relationship between the current value to the solenoid valve and the amount of the air intake side secondary air. 
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT 
     Referring to the accompanying drawings, the embodiment of the air/fuel ratio control system of the air intake side secondary air supply control type according to the present invention will be explained hereinafter. 
     In FIG. 1 which illustrates a general construction of the air/fuel ratio control system, an 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. An 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 O 2  sensor 14 which is provided in an exhaust manifold 15 of the engine for generating an output signal whose level varies in proportion to an oxygen concentration in the exhaust gas. Further, a catalytic converter 33 for accelerating the reduction of the noxious components in the exhaust gas is provided in the exhaust manifold 15 at a location on the downstream side of the position of the O 2  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 O 2  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 the level conversion of the output signals of the absolute pressure sensor 10, the engine cooling water temperature sensor 12, the O 2   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, and a ROM 30 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. 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 1  (100 m sec, for instance). In response to this internal interruption signal, the CPU 29 calculates an output value T OUT  indicative of the magnitude of the current to the solenoid 9a of the solenoid valve 9, in the form of data. The output value T OUT  is in turn supplied to the drive circuit 28. 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 OUT . 
     Referring to the flowcharts of FIGS. 3A and 3B, 4A and 4B, the operation of the air/fuel ratio control system of the air intake side secondary air supply type according to the present invention will be explained hereinafter. 
     At a step 51, a base value D BASE  indicative of the base value of the current to the solenoid valve 9 is set in the CPU 29 and supplied to the drive circuit 28, every time an internal interruption signal is generated in the CPU 29. Various values of the base value D BASE  which are determined according to the absolute pressure within the intake manifold P BA  and the engine speed N e  are previously stored in the ROM 30 in the form of a D BASE  data map as shown in FIG. 5, and the CPU 29 at first reads present values of the absolute pressure P BA  and the engine speed N e  and in turn searches a value of the base value D BASE  corresponding to the read values from the D BASE  data map in the ROM 30. After the set of the base value D 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 according to various parameters, i.e., absolute pressure within the intake manifold, engine cooling water temperature, vehicle speed, and engine rotational speed. For instance, when the vehicle speed is low, or when the engine cooling water temperature is low, it indicates that the condition for the feedback control is not satisfied. If it is determined that the condition for the feedback control is not satisfied, whether or not the engine load is low is detected at a step 53. This detection is performed, for example, by means of the absolute pressure P BA . If the absolute pressure P BA  is larger than 200 mmHg and smaller than 400 mmHg, it is determined that the engine is operating under the low load condition. If the engine is not operating under the low load condition, the output value T OUT  is made equal to &#34;0&#34; at a step 54 so that the feedback control is stopped. If, on the other hand, the engine is operating under the low load condition, the output value T OUT  is calculated by using an equation: T OUT  =D BASE  ·K ref  ·K LS , at a step 55. In this equation, K ref  is a correction value for compensating for an error of the base value D BASE  set at the step 51, and K LS  is a leaning coefficient (for example, 1.2). In the RAM 31, as shown in FIG. 6, various values of the correction value K ref  which are determined by the absolute pressure P BA  in the intake manifold and the engine rotational speed Ne, are previously stored in the form of a K ref  data map. Therefore, the CPU 29 searches a value of the correction value K ref  from the K ref  data map using present values of the absolute pressure PBA and the engine rotational speed Ne, for the calculation of the output value T OUT . In addition, the RAM 31 is of the non-volatile type, and the memorized contents are maintained also when the engine 5 is stopped. Initial setting of the values of the K ref  data map is performed before the initial using of this system. 
     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 Δt 1  is detected at a step 56. This predetermined time period Δt 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 O 2  sensor 14 as a change in the oxygen concentration of the exhaust gas. When the predetermined time period Δt 1  has passed 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 ΔT 1  has passed 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 Δt 1  by the time counter A in this way, whether or not the output signal level of the O 2  sensor 14 is greater than the 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 2  &gt;Lref, it means 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 AF  which indicates a result of a previous cycle of detection by the step 58 is equal to &#34;1&#34; is detected at a step 59. If F AF  =1, it means that the air/fuel ratio was detected to be lean in a previous detection cycle. Then, a subtraction value I L  is calculated at a step 60. The subtraction value I L  is obtained by multiplication among a constant K 1 , the engine speed N e , and the absolute pressure P BA , (K 1  ·N e  ·P BA ), and is dependent on the amount of the intake air of the engine 5. After the calculation of the subtraction value I L , a correction value I OUT  which is previously calculated by the execution of operations of the A/F routine is read out from a memory location a 1  in the RAM 31. Subsequently, the subtraction value I L  is subtracted from the correction value I OUT , and a result is in turn written in the memory location a 1  of the RAM 31 as a new correction value I OUT , at a step 61. On the other hand, if F 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 turned lean from the rich state. Therefore, a value &#34;1&#34; is set to a flag F P  indicating the change in the direction of the air/fuel ratio control at a step 62, and a subtraction value P L  is calculated at a step 63. The subtraction value P L  is obtained by a multiplication between the subtraction value I L  and a constant K 3  (K 3  &gt;1). After the calculation of the subtraction value P L  (K 3  ·I L ), the correction value I OUT  which is previously calculated by the execution of operations of the A/F routine is read out from the memory location a 1  in the RAM 31. Subsequently, the subtraction value P L  is subtracted from the correction value I OUT , and a result is in turn written in the memory location a 1  of the RAM 31 as a new correction value I OUT , at a step 64. After the calculation of the correction value I OUT  at the step 61 or the step 64, a value &#34;1&#34; is set for the flag F AF , at a step 65, for indicating that the air/fuel ratio is lean. On the other hand if LO 2  ≦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 AF  is &#34;0&#34; is detected at a step 66. IF F AF  =0, it means that the air/fuel ratio was detected to be rich in the previous detection cycle. Then, a summing value I R  is calculated at a step 67. The summing value I R  is calculated by a multiplication among a constant value K 2   (≠K 1 ), the engine speed N e , and the absolute pressure P BA  (K 2  ·N 3  ·P BA ), and is dependent on the amount of the intake air of the engine 5. After the calculation of the summing value I R , the correction value I OUT  which is previously calculated by the execution of the A/F routine is read out from the memory location a 1  of the RAM 31, and the summing value I R  is added to the read out correction value I OUT . A result of the summation is in turn stored in the memory location a 1  the RAM 31 as a new correction value I OUT  at a step 68. If F 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 turned rich from the lean condition. Then, a summing value P R  is calculated at a step 70. The summing value P R  is obtained by a multiplication between the summing value I R   and a constant K 4  (K 4  &gt;1). After the calculation of the summing value P R  (K 4  ·I R ), the correction value I OUT  which is previously calculated by the execution of operations of the A/F routine is read out from the memory location a 1  in the RAM 31. Subsequently, the summing value P R  is added to the correction value I OUT , and a result is in turn written in the memory location a 1  of the RAM 31 as a new correction value I OUT , at a step 71. After the calculation of the correction value I OUT  at the step 68 or the step 71, a value &#34;0&#34; is set for the flag F AF , at a step 72, for indicating that the air/fuel ratio is rich. After the calculation of the correction value I OUT  at the step 61, 64, 68 or 71 in this way, the correction value I OUT  and the base value D BASE  set at the step 51 are added together, and a result of addition is made as an output value T OUT  at a step 73. After the calculation of the output value T OUT , the output value T OUT  is output to the drive circuit 28 at a step 74. Subsequently, a K ref  calculation subroutine is executed at a step 75. 
     The drive circuit 28 is operative to detect the current flowing through the solenoid value 9a of the solenoid 9 by means of the resistor for detecting the current, and to compare the detected magnitude of the current with the output value T 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 OUT . Therefore, as shown in FIG. 7, 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. 
     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 Δt 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 OUT  calculated by the A/F routine up to the previous cycle is read out. 
     As shown in FIGS. 4A and 4B, in the K ref  calculation subroutine, whether or not the atmospheric pressure P A  is higher than 730 mmHg is detected at a step 81. If P A  &gt;730 mmHg, whether or not the engine speed Ne is higher than 900 r.p.m. and lower than 1700 r.p.m. is detected at steps 82 and 83 respectively. If 1700 r.p.m. &gt;Ne &gt;900 r.p.m., whether or not the absolute value of the intake air P BA  is higher than 160 mmHg and lower than 560 mmHg, is detected at steps 84 and 85 respectively. If 160 mmHg&lt;P BA  &lt;560 mmHg, it is considered that the engine is operating under a steady state, and whether or not this steady state has continued for more than 2 seconds is detected at a step 86. If the engine operation under the steady state has continued for more than 2 seconds, whether or not the flag F P  is equal to 1 is detected at a step 87. If F P  =0, whether or not a flag F KO2P  is equal to &#34;1&#34;is detected at a step 88. The flag F KO2P  is provided for indicating that the operation of the step 88 is executed for the first time in this subroutine, and initially set to &#34;0&#34; upon application of the power current. If F KO2P  =0, the output value T OUT  calculated by the execution of the A/F routine of the present time is maintained as a preceding average value T OUT1 , at a step 89. At the same time, a value &#34;1&#34; is set for the flag F KO2P  at a step 90. If F KO2P  =1, it means that the operation of the step 90 has been executed, and the output value T OUT  calculated by the A/F routine of the present time and the preceding average value T OUT1  are added together, and then divided by 2 so as to produce an average value T OUTX  of the output value T OUT  at a step 91. The average value T OUTX   is maintained as the preceding average value T OUT1  at a step 92. At the same time, a value &#34;1&#34; is set for a flag F TOUT  which indicates that the average value T OUTX    of the output value T OUT  is calculated, at a step 93. 
     On the other hand, if it is detected that F P  =1 at the step 87, it means that the direction of the air/fuel ratio control has changed, and &#34;0&#34; is set for the flag F P  at a step 94. At the same time, whether or not the flag F TOUT  is equal to &#34;1&#34; is detected at a step 95. If F TOUT  =0, it means that the average value T OUTX   is not yet calculated, and the operation of the step 88 is executed. If F TOUT  =1, it means that the average value T OUTX  is already calculated by the operation of the step 91, &#34;0&#34;  is set for the flag F TOUT  at a step 96. At the same time, by using an equation K O2P  =K 5  ·T OUTX  /D BASE , a value K O2P  indicative of the error of the base value D BASE  is calculated at a step 97. In this equation, K 5  is a constant. Then, by using an equation K ref  =K 6  ·K O2P  +K 7 . K refx , a correction value K ref  correcting the error of the base value D BASE  is calculated, and stored in a position in the K ref  data map of the RAM 31, corresponding to the present values of the absolute pressure P BA  in the intake manifold and the engine speed Ne, at a step 98. In this equation, K 6  and K 7  are constants, and K 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 ref , the calculated correction value K ref  is set as the preceding correction value K refx  at a step 99. By repeating the operations of this subroutine, the correction value K ref  in the K ref  data map 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 P  and F TOUT  are initialized to &#34;0&#34; upon application of the power current. When it is detected that F P  =0 at the 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 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 OUTX , the operation of the step 88 will be executed. 
     Above, the present invention has been described by way of an 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 an air/fuel ratio control system for an internal combustion engine of fuel injection type in which a fuel injector or injectors are utilized. In such a case, a base fuel injection time which can be also expressed as D BASE  is corrected by means of the correction value K ref  under operational condition of the engine where the feedback control of the air/fuel ratio is stopped. For instance, when the engine load is low, an output value T OUT  of the fuel injection time is calculated by using the equation T OUT  =D BASE . K ref  ·K LS . When the engine load is high, the output value T OUT  is calculated by using the equation T OUT  =D BASE . K ref  ·K WOT . The leaning coefficient K LS  in this case is, for example, 0.8, and the enrichment coefficient K.sub. WOT is 1.2. 
     Thus, in the air/fuel ratio control system according to the present invention, the error of the base value of the air/fuel ratio adjustment which is set according to a plurality of engine parameters is compensated. Correction values are calculated and each value of the correction values is stored in relation to a plurality of engine parameters. Therefore, when the feed back control of the air/fuel ratio is under a low load condition of the engine or if the base value which is to be used, to make lean or to enrich the air/fuel ratio with the control loop opened deviates from a desired value due to the time-induced change or the deterioration of the sensors, such an error of the base value can be compensated for by using the correction value. Thus, the output value for the air/fuel ratio control can be calculated properly, to assure adequate driveability.