AIR/FUEL MIXTURE RATIO CONTROL SYSTEM IN INTERNAL COMBUSTION ENGINE WITH ENGINE OPERATION RANGE DEPENDENT OPTIMUM CORRECTION COEFFICIENT LEARNING FEATURE

Abstract: An air/fuel ratio control system employs an altitude dependent learnt uniform correction coefficient which is applicable for all engine driving range and another engine driving range based correction coefficient learnt with respect to respective engine driving range. The uniform correction coefficient is cyclically updated on engine driving range based correction coefficient. The control system performs FEEDBACK mode air/fuel ratio control with the learnt uniform correction coefficient and the engine driving range based correction coefficient. On the other hand, the control system performs OPEN LOOP mode air/fuel ratio control with the learnt uniform correction coefficient.

Description: The present invention relates to an apparatus for learn-controlling the air/fuel mixture ratio of an internal combustion engine and to a method for learn-controlling the air/fuel mixture ratio. The prior, non-prepublished EP-A-275507 discloses a method and an apparatus for learn-controlling the air/fuel mixture ratio for an internal combustion engine. This prior art method comprises the steps of detecting an engine running condition, determining a basic fuel injection quantity based on the engine running condition, detecting the air/fuel mixture ratio based on a lambda-sensor output, determining a feedback correction coefficient, determining areal learning correction coefficients for respective engine operational areas based on the feedback correction coefficient, determining a global learning correction coefficient based on the areal learning correction coefficients with the respective deviations of the areal learning correction coefficients from a reference value having the same direction, and determining the fuel injection quantity on the basis of the basic fuel injection quantity, the feedback correction coefficient, one of the areal learning correction coefficients and the global learning correction coefficient. US-A-4517948 also discloses a method for learn-controlling the air/fuel mixture ratio for an internal combustion engine wherein the injection amount is calculated on the basis of the measured air flow amount, a function of the actual lambda value and a value learnt and updated only during a feedback control condition, which function comprises an areal coefficient and a global coefficient. Similarily, EP-A-191923 discloses a method for determining the amount of fuel to be injected which is based on a basic fuel injection amount, a feedback controlled amount, an actual lambda value, an areal coefficient and a global learning value, which is cyclically updated. Starting from the above prior art, the present invention is based on the object of providing an apparatus and a method for learn-controlling the air/fuel mixture ratio for an internal combustion engine which allows a more reliable determination of the global learning correction coefficient and a more accurate determination of the fuel injection amount. This object is achieved by an apparatus in accordance with claim 1 and by a method in accordance with claim 16. BRIEF DESCRIPTION OF THE DRAWINGS 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. 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 first learning routine for updating a map storing engine driving range based correction coefficients; Figs. 8(A) and 8(B) are flowchart showing a sequence of a second learning routine for updating uniform correction coefficient and engine driving range based correction coefficient; and Fig. 9 is a timing chart showing operation of the preferred embodiment of the air/fuel ratio control system of the invention. DESCRIPTION OF THE PREFERRED EMBODIMENT 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. 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. 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 . 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 . 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. 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 0 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° or 66° 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° of the crank shaft angular displacement. On other hand, the crank position ϑ pos is generated every given angular displacement, i.e. 1° or 2°, of the crank shaft. 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. 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. 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. 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 . 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. 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 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. 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. 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 . 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 . 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 . 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: Tp = K × Q/N 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. 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 "learnt uniform correction coefficient". Furthermore, address of the memory block 131 storing the learnt uniform correction coefficient K ALT will be hereafter referred to as "K ALT address". At the initial stage before learning, the learnt 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. 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 × n Tp ) addresses. Practically, the x-axis component and y-axis component are divided into 8 ranges respectively. Therefore, 64 (8 × 8) addresses are formed to store the driving range based learnt correction coefficient respectively. It should be noted that each K MAP address in the K MAP initially stores a value "0" before learning process is initiated. 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 . Based on the basic fuel injection amount Tp derived at the step 1006 , the correction coefficient coefficient COEF derived at the step 1008 , the learnt 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: Ti = Tp × COEF × (K LAMBDA + K ALT + K MAP ) + Ts 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 . 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. 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 . 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 . 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. 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 0FF the power transistor 129 . By turning OFF of the power transistor 129 , the fuel injection valve 4 closes to terminate fuel injection. 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 . 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. 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 explaratorily shown by the hutched area of the map illustrated within the process block 1102 of Fig. 5 . 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. 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. 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. 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. 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. 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 . 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 1210 . 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 1212 . Then, the feedback correction coefficient K LAMBDA is modified by adding a proportional constant (P constant). On the other hand, when the lean mixture indicative flag FL LEAN is set as checked at the step 1208 , the rich/lean inversion indicative flag FL INV is reset at a step 1216 . Thereafter, the feedback correction coefficient K LAMBDA is updated by adding a given integral constant (I constant), at a step 1218 . 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 micture indicative flag register 141 in the control unit 100 , is checked at a step 1220 . When the rich mixture indicative flag FL RICH is not set as checked at the step 1220 , 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 1222 . Thereafter, a rich mixture indicative flag FL LEAN is reset and the rich mixture indicative flag FL RICH is set, at a step 1224 . Then, the feedback correction coefficient K LAMBDA is modified by subtracting the constant, at a step 1226 . On the other hand, when the rich mixture indicative flag FL RICH is set as checked at the step 1220 , the rich/lean inversion indicative flag FL INV is reset at a step 1228 . Thereafter, the feedback correction coefficient K LAMBDA is updated by subtracting the I constant, at a step 1230 . After one of the process of the steps 1214 , 1218 , 1226 and 1230 , process goes to the END. It should be noted that, in the shown embodiment, the P component is set at a value far greater than that of I component. Fig. 7 shows a first learning routine for updating the engine driving range based learnt correction coefficient. As set forth above, learning of the correction coefficient is performed only when the control mode is FEEDBACK mode. Therefore, at a step 1302 , 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 1302 , 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 1304 . In practice, check in the step 1304 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 1302 or when the address data as compared at the step 1304 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 a updating counter value C MAP , at a step 1306 . At a step 1308 , an updating indicative flag FL UPDATE to be set in a flag register 140 of the control unit 100 , is reset. 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 1310 . When the inversion indicative flag FL INV is not set as checked at the step 1310 , process goes to the step 1308 to reset the updating indicative flag FL UPDATE . When the inversion indicative flag FL INV is set as checked at the step 1310 , the updating counter C MAP is incremented by 1, at a step 1312 . After this, the updating counter value C MAP is checked at a step 1314 . This updating 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. When the updating counter value C MAP is 1 or 2, process goes to the step 1308 . On the other hand, when the updating counter value C MAP is 3, a first correction coefficient error value ELAMBDA₁ is derived at a step 1316 . 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 1318 . After the process at the step 1308 or 1318 , process goes END. It should be appreciated that, as shown in Fig. 9 , the 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 . On the other hand, when the updating 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 1320 . An average value LAMBDA ave of the first and second correction coefficient error values ELAMBDA₁ and ELAMBDA₂ is then calculated at a step 1322 . At a step 1324 , 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 1322 data of the engine driving range based learnt correction coefficient K MAP as read at the step 1324, is modified, at a step 1326 . Modification of the engine driving range based correction coefficient K MAP is performed by: K MAP ′ = K MAP + M MAP × LAMBDA ave where K MAP ′ is a modified correction coefficient; and M MAP is a constant determining the correction coefficient K MAP modification rate, which is set in a value range of 0 < M MAP < 1. The modified correction coefficient K MAP ′ is temporarily stored in a temporary register 144 . After the step 1326 , the updating indicative flag FL UPDATE is set at a step 1328 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 1330 . By providing the updating 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. Figs. 8(A) and 8(B) show a sequence of a second learning routine for updating the learnt uniform correction coefficient and the engine driving range based correction coefficient and for setting an optimum engine driving range based correction coefficient. At a step 1402 , a counter value n of an updated address counter 145 in the control unit 100 is read out. The updated address counter value n is compared with a reference value n ref , at a step 1404 . When the updated address counter number is smaller than the reference value n ref , as checked at the step 1404 , the updating indicative flag FL UPDATE is checked at a step 1406 . When the updating indicative flag FL UPDATE is not set as checked at the step 1406 , process goes to END. On the other hand, when the updating indicative flag FL UPDATE is set as checked at the step 1406 , the address of the memory block of K MAP which is updated, is checked whether updating of the correction coefficient in the memory address identified by the address is the first occurrence or not. If the updated address is newly updated address, the updated address counter value n is incremented by 1 at a step 1410 . Then, the address data ADD RANGE of the newly updated address and the corresponding engine driving range based correction coefficient data K MAP ′ as modified at the step 1326 and temporarily stored in the temporary register 144 is stored in the corresponding memory block in the K MAP map, at a step 1412 . On the other hand, when the updated address is the address which was already updated in the preceding execution cycle, the corresponding address of the memory block of the K MAP map is updated by the modified correction coefficient data K MAP ′ as stored in the temporary register 144 , at a step 1414 . In the practical operation at the step 1414 , the learnt correction coefficient data which is temporarily stored in the temporary register 144 is written in the corresponding address of memory block in the K MAP map. Therefore, the correction coefficient data in the same engine driving range is accumulated in the corresponding address of the K MAP map. When the updated address counter value n as checked at the step 1404 is greater than or equal to the reference value n ref , a value C area of an updated map area counter 146 in RAM 106 is compared with the updated address counter value n at a step 1416 . When the updated map area counter value C area is smaller than or equal to the updated address counter value n as checked at the step 1416 , distribution of the updated engine driving range based correction coefficient K MAP is checked, at a step 1418 . In order to check distribution of the correction coefficient data in each memory area of the K MAP map, a distribution map which is shown in the block of the step 1418 of Fig. 8(A) , is formed with respect to each of the map addresses of the K MAP map. In the map illustrated, x-axis represents the correction coefficient data value and y-axis represents number of the address area having the same correction coefficient data values. After all of the correction coefficient data of address areas are plotted, the updated map area counter value C area is incremented by 1, at a step 1420 . The process in the steps 1416 through 1420 is repeated until the updated map area counter value C area becomes greater than the updated address counter value n. By formulating the distribution map at the step 1418 , memory area in the K MAP map whose number of plots is maximum can be found. This memory area will be hereafter referred to as "maximum plot area" and the number of plots in the maximum plot area is represented by a value "y ". On the other hand, the engine driving ranges over which the learnt correction coefficients in the K MAP map are distributed will be hereafter referred to as "updating range". Number of engine driving ranges in the updating range is represented by a value "x". Based on "y" and "x" thus derived, y/x which represents a ration of y versus x and thus represents ratio of maximum occurrence of updating for the maximum plot area versus distribution of engine driving range, at a step 1422 . Then, the calculated y/x is compared with a y/x ref When the x/y value is smaller than y/x ref as checked at the step 1424 is smaller than the y/x ref , process goes END. On the other hand, when the y/x value is greater than the y/x ref , the correction coefficient value K MAP in the maximum plot area is set as an optimal engine driving range based correction coefficient SK MAP , at a step 1426 . The optimal engine driving range based correction coefficient SK MAP as derived at the step 1426 , stored in a memory block 147 of RAM 106 . Here, the y/x ref is set as a criterion distinguishing the reliable value and unreliable value of the engine driving range based correction coefficient K MAP in the maximum plot area. Namely, when the y/x value is great it means that the plots are concentrated in relatively narrow range and the number of plots in the maximum plot area is sufficiently great to provide sufficient reliability of the value. On the other hand, when the y/x value is small, it means that the plots are distributed over relatively wide engine driving ranges or the number of plots in the maximum plot area is too small to provide sufficient reliability. Therefore, by providing the judgment block 1424 , the optimal engine driving range based correction coefficient SK MAP is updated only by the sufficiently reliable value. At a step 1428 , the learnt uniform correction coefficient K ALT is read out from the 131 . The read learned uniform correction coefficient K ALT is modified with the optimal engine driving range based correction coefficient SK MAP , at a step 1430 . In the practical operation, modification of the learned uniform correction coefficient K ALT is performed by adding the optimal engine driving range based correction coefficient SK MAP to the learnt uniform correction coefficient K ALT read at the step 1428 . Thereafter, each of the engine driving range based correction coefficients K MAP are modified by subtracting the optimal engine driving range based correction coefficient SK MAP , at a step 1432 . Thereafter, the updated address counter value n in the updated address counter 145 , the updated area counter value C area in the updated area counter 146 and other register values are cleared at a step 1434 and thereafter process goes END. Through the process set forth above, the learnt correction values can be successfully updated for minimizing lag in FEEDBACK mode air/fuel ratio control and for minimizing deviation of air/fuel ratio from a desired value, e.g. stoichiometric value, during OPEN LOOP mode air/fuel ratio control. Furthermore, in the shown embodiment, since the learnt uniform correction value can be updated to a value essentially corresponding to the instantaneous air density, deviation in the OPEN LOOP control value may substantially correspond to the environmental condition even when the engine is driven in transition range so as not to sufficiently update the engine driving range based correction coefficients. Therefore, the invention fulfills all of the objects and advantages sought therefor. It should be appreciated that though the shown embodiment of the air/fuel ratio control system has been directed to a single point injection type fuel injection control system for adjusting the fuel injection amount for adjusting the air/fuel ratio toward the stoichiometric value, it should be possible to apply the same or similar process to a multi-point injection type fuel injection internal combustion engines. Furthermore, in case of the single point injection, the position to dispose the fuel injection valve is not specified to the shown position, i.e. upstream of the throttle chamber but can be any appropriate positions.

Claims: Apparatus for learn-controlling the air/fuel mixture ratio of an internal combustion engine, comprising: a) first means (15, 17, 18, 19, 21) for detecting an engine running condition (α, N, Q) including at least one parameter concerning an intake air quantity (Q); b) second means (1006, 102) for determining a basic fuel injection quantity (Tp) based on the detected engine running condition (α, N, Q); c) third means (20) for detecting the air/fuel mixture ratio based on a component (O₂) of the exhaust gas; d) fourth means (1014, 102) for determining a feedback correction coefficient (K LAMDA ) by comparing the air/fuel mixture ratio with a target air/fuel mixture ratio; e) fifth means (1012, 102) for determining correctable areal learning correction coefficients (K MAP ) for respective operational areas (N, Tp) of the engine based on the feedback correcting coefficients (K LAMDA ) concerning the respective operational areas (N, Tp); f) sixth means (1010, 102) for determining a correctable global learning correction coefficient (K ALT ) for all operational areas (N, Tp) of the engine; g) seventh means (1018, 102) for calculating a fuel injection quantity (Ti) based on the basic fuel injection quantity (Tp), the feedback correction coefficient (K LAMDA ), one of the areal learning correction coefficients (K MAP ) belonging to the actual operational area (N, Tp), and the global learning correction coefficient (K ALT ) and for injecting fuel according to the calculated fuel injection quantity (Ti); h) eighth means (1202-1330, 102) for learning a deviation of the feedback correction coefficient (K LAMDA ) from a reference value (1) for each operational area (N, Tp) of the engine running condition and correcting and rewriting the areal correction coefficient (K MAP ) so as to reduce the deviation; i) ninth means (1402-1426, 102) for deriving a distribution of the areal learning correction coefficients (K MAP ) updated during a predetermined interval and determining an optimal areal learning correction coefficient (SK MAP ) based on the distribution; k) tenth means (1430, 102) for correcting and rewriting (K ALT ←K ALT +SK MAP ) the global correction coefficient (K ALT ) based on the optimal area] learning correction coefficient (SK MAP ) and a previous global correction coefficient (K ALT ); and l) eleventh means (1432, 102) for correcting and rewriting (K MAP ←K MAP +SK MAP ) the areal learning correction coefficients (K MAP ) based on the areal learning correction coefficients (K MAP ) used to derive the optimal areal learning correction coefficient and the optimal areal learning correction coefficient (SK MAP ). Apparatus as claimed in claim 1, wherein said ninth means (1402-1426) establishes a map (1418) of the distribution of the number of engine driving ranges having associated thereto the same areal learning correction coefficients (K MAP ) with regard to the areal learning correction coefficients (K MAP ), wherein said ninth means further derives (1422) a distribution value (y/x) indicative of a narrow or wide distribution, and wherein said ninth means updates (1424, 1426) said global learning correction coefficient (K ALT ) with an updating value (SK MAP ) only if said distribution value (y/x) exeeds a predetermined threshold (y/x REF ). Apparatus as claimed in claim 1 or 2, which further comprises a detector means (1102-1114) detective of engine driving condition satisfying a predetermined feedback control condition for producing a feedback condition indicative signal (FL FEEDBACK ), wherein said seventh means (1018, 102) operates in feedback mode for correcting said basic fuel injection quantity (Tp) with said global learning correction coefficient (K ALT ) and said areal learning correction coefficient (K MAP ) and operates in open loop mode for correcting said basic fuel injection quantity (Tp) with said global learning correction coefficient (K ALT ) when said feedback condition indicative signal is absent. Apparatus as claimed in claim 3, wherein said fourth means (1014, 102) is active in the presence of said feedback condition indicative signal (FL FEEDBACK ) to cyclically derive said correction coefficient (K LAMBDA ), and said fifth means (1012, 102) is active for deriving said areal learning correction coefficients (K MAP ) on the basis of said correction factor (K LAMBDA ) only when said feedback condition indicative signal is present. Apparatus as claimed in claim 4, wherein said fourth means samples upper and lower peak values (ELAMBDA₁,ELAMBDA₂) of said air/fuel mixture ratio detected by said third means (20) deriving said correction coefficient (K LAMBDA ) by averaging (1322) said upper and lower peak values Apparatus as claimed in claim 5, wherein said fourth means operates cyclically and derives (1316-1330) said correction coefficient (K LAMBDA ) when the engine driving range is held at one of the ranges over a predetermined number of cycles. Apparatus as claimed in claim 6, wherein said fourth means incorporates a counter means (1312) counting up the occurrences of the variation of said air/fuel mixture ratio across said threshold value during the period in which the engine driving range (N, Tp) is held at one of the ranges and responsive to the counter value (C MAP ) of said counter means (1312) greater than a given value (4) to derive said correction coefficient (K LAMBDA ). Apparatus as claimed in claim 7, wherein said fourth means is responsive to change of said engine driving range for clearing (1306) said counter value (C MAP ). Apparatus as claimed in claims 1 to 8, wherein said first means (15, 17, 18, 19, 21) monitors an engine speed indicative parameter (N) and an engine load indicative parameter (α, Q) so that said second means (1006, 102) derives said basic fuel injection quantity (Tp) on the basis of said engine speed indicative parameter (N) and said engine load indicative parameter (α, Q), and said fifth means detects said engine driving range on the basis of said engine speed and said basic fuel injection quantity (Tp). Apparatus as claimed in one of the claims 1 to 9, wherein said first means monitors a throttle valve angular positon (α) and derives said engine load indicative parameter on the basis of said throttle valve angular position and said engine speed (N). Apparatus as claimed in one of the claims 1 to 10, wherein said first means monitors an engine speed indicative parameter (N) based on which an engine speed data is derived, and an engine load indicative parameter (α, Q) so that said second means derives said basic fuel injection quantity (Tp) on the basis of said engine speed indicative parameter (N) and said engine load indicative parameter (α, Q), and said fifth means detects said engine driving range on the basis of said engine speed data (N) and said basic fuel injection quantity (Tp). Apparatus as claimed in claim 11, wherein said detector means (1102-1114) derives a reference value in terms of said engine speed data to be compared with said basic fuel metering amount for detecting engine driving condition satisfying said feedback condition when said basic fuel metering amount (Tp) is smaller than a reference value (Tp ref ). Apparatus as claimed in claim 12, which further comprises a timer means (1108) triggered by detection (1102), 1104) of the open loop condition to switch the control mode from the feedback mode control to the open loop mode control for providing a delay (t delay ) in switching the control mode from the feedback mode control to the open loop control. Apparatus as claimed in one of the claims 1 to 13, wherein said correction coefficient (K LAMBDA ) is composed of a proportional component (P) and an integral component (I), wherein said fourth means adjusts said proportional component and wherein said integral component is adjusted on the basis of the value of said air/fuel mixture ratio as detected by said third means (20) for adjusting the air/fuel ratio of the air/fuel mixture at a stoichiometric value. Apparatus as claimed in claim 14, wherein said fourth means adjusts said proportional component only when said value detected by said third means (20) varies across said threshold value and otherwise adjusts said integral component. Method for learn-controlling the air/fuel mixture ratio of an internal combustion engine, comprising the steps of: a) detecting an engine running condition (α, N, Q) including at least one parameter concerning an intake air quantity (Q); b) determining a basic fuel injection quantity (Tp) based on the detected engine running condition (α, N, Q); c) detecting the air/fuel mixture ratio based on a component (O₂) of exhaust gas; d) determining a feedback correction coefficient (K LAMDA ) by comparing air/fuel) mixture ratio with a target air/fuel mixture ratio; e) determining correctable areal learning correction coefficients (K MAP ) for respective operational areas (N, Tp) of the engine based on the feedback correcting coefficient (K LAMDA ) concerning the respective operational areas (N, Tp); f) determining a correctable global learning correction coefficient (K ALT ) for all operational areas (N, Tp) of the engine; g) calculating a fuel injection quantity (Ti) based on the basic fuel injection quantity (Tp), the feedback correction coefficient (K LAMDA ), one of the areal learning correction coefficients (K MAP ) belonging to the actual operational area (N, Tp), and the global learning correction coefficient (K ALT ) and injecting fuel according to the calculated fuel injection quantity (Ti); h) learning (1202-1330) a deviation of the feedback correction coefficient (K LAMDA ) from a reference value (1) for each operational area (N, Tp) of the engine running condition and correcting and rewriting the areal correction coefficient (K MAP ) so as to reduce the deviation; i) deriving (1402-1426) a distribution of the areal learning correction coefficients (K MAP ) updated during a predetermined interval and determining an optimal areal learning correction coefficient (SK MAP ) based on the distribution; k) correcting (1430) and rewriting (K ALT ←K ALT +SK MAP ) the global correction coefficient (K ALT ) based on the optimal areal learning correction coefficient (SK MAP ) and a previous global correction coefficient (K ALT ); and l) correcting (1432) and rewriting (K MAP ←K MAP +SK MAP ) the areal learning correction coefficients (K MAP ) based on the areal learning correction coefficients (K MAP ) used to derive the optimal areal learning correction coefficient and the optimal areal learning correction coefficient (SK MAP ). Method as claimed in claim 16, wherein the method step of deriving (1402-1426) a distribution comprises the steps of : establishing a map (1418) of the distribution of the number of engine driving ranges having associated thereto the same areal learning correction coefficients (K MAP ) with regard to the areal learning correction coefficients (K MAP ), deriving (1422) a distribution value (x/y) indicative of a narrow or wide distribution, and updating (1424, 1426) said global learning correction coefficient (K ALT ) with an updating value (SK MAP ) only if said distribution value (y/x) exceeds a predetermined threshold (y/x REF ).

Inventors: TOMISAWA, NAOKI JAPAN ELECTRONIC CONTROL
Applicants: JAPAN ELECTRONIC CONTROL SYSTEMS CO., LTD.
Application year: 1988
Main classification: F02D41
IPC codes: F02D45, F02D41