Method and apparatus for controlling air-fuel ration in internal combustion engine
BACKGROUND OF THE INVENTION 
     (1) Field of the Invention 
     The present invention relates to a method and apparatus for feedback control of the air-fuel ratio in an internal combustion engine. 
     (2) Description of the Related Art 
     As measures taken against exhaust gas pollution and fuel consumption, a lean burn system has recently been developed. According to this lean burn system, a lean mixture sensor is provided for generating an analog current in proportion to the air-fuel mixture on the lean side in an exhaust pipe of an engine. Thus, the feedback of the air-fuel ratio of the engine can be controlled by using the analog output of the lean mixture sensor, thereby attaining any air-fuel ratio on the lean side. 
     That is, the above-mentioned air-fuel feedback control makes use of the characteristic strong relationship between the output current of a lean mixtue sensor to the concentration of the oxygen in the exhaust gas in the case of a lean air-fuel ratio, as compared with the stoichiometric air-fuel ratio. 
     However, the output current of the lean mixture sensor varies in accordance with the atmospheric pressure around the lean mixture sensor. For instance, at a high altitude, the atmospheric pressure is reduced. Accordingly, the output current of the lean mixture sensor is reduced, since this output current is approximately proportional to the oxygen concentration. As a result, the air-fuel ratio is sensed as on the richer side, whereby the air-fuel ratio feedback control controls the air-fuel ratio to be leaner. The actual air-fuel ratio thus becomes leaner with respect to the aimed lean air-fuel ratio, possibly causing misfiring or surging of the engine. 
     SUMMARY OF THE INVENTION 
     It is an object of the present invention to provide a method and apparatus for controlling the air-fuel ratio in an internal combustion engine which can avoid misfiring or surging even at high attitudes. 
     According to the present invention, in an internal combustion engine wherein feedback control of the air-fuel ratio is carried out in accordance with the concentration of a specific composition in the exhaust gas, so that the air-fuel ratio is close to an aimed air-fuel ratio, the atmospheric pressure is detected, and the aimed air-fuel ratio is varied in accordance with the detected atmospheric pressure. That is, when the detected atmospheric pressure becomes low at a high altitude, the aimed air-fuel ratio is decreased. As a result, the controlled air-fuel ratio at a high altitude is kept from shifting to the leaner side, thus avoiding misfiring or surging. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     The present invention will be more clearly understood from the description as set forth below with reference to the accompanying drawings, wherein: 
     FIG. 1 is a schematic diagram of an internal combustion engine according to the present invention; 
     FIG. 2 is a graph showing the output characteristics of the lean mixture sensor of FIG. 1; 
     FIGS. 3 through 8 are flow charts showing the operation of the control circuit of FIG. 1; and 
     FIG. 9 is a graph showing the effect according to the present invention. 
    
    
     DESCRIPTION OF THE PREFERRED EMBODIMENTS 
     In FIG. 1, which illustrates an internal combustion engine according to the present invention, reference numeral 1 designates a four-cycle spark ignition engine disposed in an automotive vehicle. Provided in an air-intake passage 2 of the engine 1 is a surge tank 3 in which a pressure sensor 4 is provided. The pressure sensor 4 is used for detecting the absolute pressure within the air-intake passage 2 and transmits its output signal to a multiplexer-incorporating analog-to-digital (A/D) converter 101 of a control circuit 10. 
     Provided in a throttle valve 5 of the air-intake passage 2 is a throttle switch 6, which is turned on when the opening of the throttle valve 5 is larger than a predetermined angle such as 25°. Note that, when the opening of the throttle valve 5 reaches the predetermined value, the pressure within the surge tank 3 is approximately the same as the atmospheric pressure. The output LS of the throttle switch 5 is supplied to an input/output (I/O) interface 103 of the control circuit 10. 
     Disposed in a distributor 7 are crank angle sensors 8 and 9 for detecting the angle of the crankshaft (not shown) of the engine 1. In this case, the crank angle sensor 8 generates a pulse signal at every 720° crank angle (CA) while the crank angle sensor 9 generates a pulse signal at every 30°CA. The pulse signals of the crank angle sensors 8 and 9 are supplied to the I/O interface 103 of the control circuit 10. In addition, the pulse signal of the crank angle sensor 9 is then supplied to an interruption terminal of a central processing unit (CPU) 105. 
     Additionally provided in the air-intake passage 2 is a fuel injector 11 for supplying pressurized fuel from the fuel system (not shown) to the air-intake port of the cylinder of the engine 1. In this case, other fuel injectors are also provided for other cylinders, though not shown in FIG. 1. 
     Provided in an exhaust gas passage 12 of the engine 1 is a lean mixture sensor 13 for detecting the concentration of oxygen composition in the exhaust gas. The lean mixture sensor 13 generates a limit current signal LNSR as shown in FIG. 2 and transmits it a via a current-to-voltage converter circuit 102 of the control circuit 10 to the A/D converter 101 thereof. 
     The control circuit 10, which may be constructed by a microcomputer, includes a driver circuit 104 for driving the fuel injector 11, a timer counter 106, a read-only memory (ROM) 107 for storing a main routine, interrupt routines such as a fuel injection routine, an ignition timing routine, tables (maps), constants, etc., a random access memory 108 (RAM) for storing temporary data, a clock generator 109 for generating various clock signals, and the like, in addition to the A/D converter 101, the current-to-voltage converter circuit 102, the I/O interface 103, and the CPU 105. 
     The timer counter 106 may include a free-running counter, a compare register, a comparator for comparing the content of the free-run counter with that of the compare register, flag registers for compare interruption, injection control, and the like. Of course, the timer counter 106 also may include a plurality of compare registers and a plurality of comparators. In this case, the timer counter 106 is used for controlling the injection start and end operation. 
     Interruptions occur at the CPU 105, when the A/D converter 101 completes an A/D conversion and generates an interrupt signal; when the crank angle sensor 9 generates a pulse signal; when the timer counter 106 generates a compare interrupt signal; and when the clock generator 109 generates a special clock signal. 
     The pressure data PM of the pressure sensor 4 and the limit current data LNSR of the lean mixture sensor 13 are fetched by an A/D conversion routine executed at every predetermined time period and are then stored in the RAM 108. That is, the data PM and LNSR in the RAM 108 are renewed at every predetermined time period. The engine rotational speed N e  is calculated by an interrupt routine executed at 30°CA, i.e., at every pulse signal of the crank angle sensor 9, and is then stored in the RAM 108. 
     In FIG. 2, which shows the output characteristics of the lean mixture sensor 13 of FIG. 1, it is assumed that a definite voltage is applied to the lean mixture sensor 13. As shown in FIG. 2, as the oxygen concentration in the exhaust gas increases, that is, as the air-fuel ratio A/F increases, the limit current LNSR also increases. 
     The operation of the control circuit 10 of FIG. 1 will be explained with reference to FIGS. 3 through 8. 
     FIG. 3 is a routine for calculating the atmospheric pressure PM 0  executed at every predetermined time period. In this routine, the atmospheric pressure PM 0  is calculated by using the intake air pressure PM. That is, at step 301, it is determined whether or not the engine is in a steady state. The determination of such a steady state is carried out by determining: 
     (i) whether or not the variation ΔPM of the intake air pressure is within a predetermined range or 
     (ii) whether or not the value |PM-PMAV| (where PMAV is a blunt mean value of PM) is smaller than a predetermined value. 
     At step 302, the engine speed date N e  is read out of the RAM 108, and it is determined whether or not N e  &lt;N 0  is satisfied. In this case, the value N 0  is, for example, 3000 rpm. 
     Only when both of the determinations at steps 301 and 302 are affirmative, does the control proceed to step 303. Otherwise, the control jumps to step 308. 
     At step 303, an intake air pressure correction amount PMADD is calculated from a one-dimensional map stored in the ROM 107 by using the parameter N e . Note that this one-dimensional map is shown in the block of step 303. 
     At step 304, it is determined whether or not the ouput LS of the throttle switch 6 is &#34;1&#34;, i.e., the opening of the throttle valve 6 is larger than 25°. 
     If LS=&#34;1&#34;, then the control proceeds to step 305, which determines whether or not PM 0  &gt;PM+PMADD is satisfied. If satisfied, the control proceeds to step 307, which replaces the atmospheric pressure data PM 0  with the value PM+PMADD. That is, as the vehicle moves from a low altitude to a high altitude, the atmospheric pressure data PM 0  is reduced. If PM 0  ≦PM+PMADD at step 305, the control jumps to step 308. 
     On the other hand, if LS=&#34;0&#34;, then the control proceeds to step 306, which determines whether or not PM 0  ≦PM+PMADD is satisfied. If satisfied, the control proceeds to step 307 which replaces the atmospheric pressure data PM 0  with the value PM+PMADD. That is, as the vehicle moves from a high altitude to a low altitude, the atmospheric pressure data PM 0  is increased. If PM 0  ≧PM+PMADD at step 306, the control jumps to step 308. 
     Thus, the atmospheric pressure PM 0  is obtained by using the intake air pressure PM. However, note that the atmospheric pressure PM 0  is obtained by using the data Q/N e , where Q is the intake air amount, instead of the intake air pressure PM. 
     FIG. 4 is a routine for calculating a lean air-fuel ratio correction coefficient KLEAN executed at every predetermined time period. Note that the coefficient KLEAN satisfies the condition: KLEAN≦1.0. 
     At step 401, KLEANPM is calculated from a one-dimensional map stored in the ROM 107 by using the parameter PM as shown in the block of step 401. Also, at step 402, KLEANNE is calculated from a one-dimensional map stored in the ROM 107 by using the parameter N e  as shown in the block of step 402. Then at step 403, 
     
         KLEAN←KLEANPM·KLEANNE. 
    
     Thus, the finally obtained lean air-fuel ratio correction coefficient KLEAN is stored in the RAM 108 at step 404. The routine of FIG. 4 is completed by step 405. 
     FIG. 5 is a routine for calculating an air-fuel ratio feedback correction coefficient FAF executed at every predetermined time period. 
     At step 501, it is determined whether or not all the feedback control (closed-loop control) conditions are satisfied. The feedback control conditions are as follows: 
     (i) the engine is not in a starting state; 
     (ii) the coolant temperature THW is higher than a definite value; and 
     (iii) the power fuel increment FPOWER is 0. 
     Of course, other feedback control conditions are introduced as occasion demands. However, an explanation of such other feedback control conditions is omitted. 
     If one or more of the feedback control conditions is not satisfied, the control proceeds to step 514, in which the coefficient FAF is caused to be 1.0 (FAF=1.0), thereby carrying out an open-loop control operation. Contrary to this, if all the feedback control conditions are satisfied, the control proceeds to step 502. 
     At step 502, a comparison reference value IR is calculated from a one-dimensional map stored in the ROM 107 by using the parameter KLEAN obtained by the routine of FIG. 4. Note that this one-dimensional map is shown in the block of step 502. That is, the comparison reference value IR is variable in accordance with the coefficient KLEAN, thereby changing the aimed air-fuel ratio of the feedback control in accordance with the coefficient KLEAN. 
     At step 503, a correction amount K is calculated from a one-dimensional map stored in the ROM 107 by using the parameter PM 0  obtained by the routine of FIG. 3. Note that this one-dimensional map is shown in the block of step 503. That is, the correction amount K is used for correcting the comparison reference value IR. Accordingly, K=1 in the case of a low altitude (760 mmHg). 
     At step 504, the comparison reference value IR is corrected by the correction amount K. That is, 
     
         IR←IR×K. 
    
     At step 505, the output LNSR of the lean mixture sensor 7 stored in the RAM 108 is compared with the comparison reference value IR, thereby determining whether the current air-fuel ratio is on the rich side or on the lean side with respect to the aimed air-fuel ratio. If LNSR≦IR, so that the current air-fuel ratio is on the rich side, the control proceeds to step 506, which determines whether or not a skip flag CAF is &#34;1&#34;. 
     Note that the value &#34;1&#34; of the skip flag CAF is used for a skip operation when a first change from the rich side to the lean side occurs in the controlled air-fuel ratio, while the value &#34;0&#34; is used for a skip operation when a first change from the lean side to the rich side occurs in the controlled air-fuel ratio. 
     As a result, if the skip flag CAF is &#34;1&#34;, the control proceeds to step 507, which decreases the coefficient FAF by a relatively large amount SKP 1 . Then, at step 508, the skip flag CAF is cleared, i.e., CAF←&#34;0&#34;. Thus, when the control at step 506 is further carried out, the control proceeds to step 509, which decreases the coefficient FAF by a relatively small amount K 1 . Here, SKP 1  is a constant for a skip operation which remarkably increses the coefficient FAF when a first change from the lean side (LNSR&gt;IR) to the rich side (LNSR≦IR) occurs in the controlled air-fuel ratio, while KI 1  is a constant for an integration operation which gradually decreases the coefficient FAF when the controlled air-fuel ratio is on the rich side. 
     On the other hand, at step 505, if LNSR&gt;IR so that the current air-fuel ratio is on the lean side, the control proceeds to step 510, which determines whether or not the skip flag CAF is &#34;0&#34;. As a result, if the skip flag CAF is &#34;0&#34;, the control proceeds to step 511, which increases the coefficient FAF by a relatively large amount SKP 2 . Then, at step 512, the skip flag CAF is set, i.e., CAF←&#34;1&#34;. Thus, when the control at step 510 is further carried out, the control proceeds to step 513, which increases the coefficient FAF by a relatively small amount KI 2 . Here, SKP 2  is a constant for a skip operation which remarkably increases the coefficient FAF when a first change from the rich side (LNSR≦IR) to the lean side (LNSR&gt;IR) occurs in the controlled air-fuel ratio, while KI 2  is a constant for an integration operation which gradually increases the coefficient FAF when the controlled air-fuel ratio is on the lean side. 
     The air-fuel ratio feedback correction coefficient FAF obtained at step 507, 509, 511, 513, or 514 is stored in the RAM 108, and the routine of FIG. 5 is completed by step 515. 
     FIG. 6 is a routine for calculating a fuel injection time period TAU executed at every predetermined crank angle. For example, this routine is executed at every 360°CA in a simultaneous fuel injection system for simultaneously injecting all the injectors and is executed at every 180°CA in a sequential fuel injection system applied to a four-cylinder engine for sequentially injecting the injectors thereof. 
     At step 601, a base fuel injection time period TAUP is calculated from a two-dimensional map stored in the ROM 107 by using the parameters PM and N e . Then, at step 602, a fuel injection time period TAU is calculated by 
     
         TAU←TAUP·FAF·(1+KLEAN+α)·β+.gamma. 
    
     where α, β, and γ are correction factors determined by other parameters such as the signal of the intake air temperature sensor, the voltage of the battery (both not shown), and the like. Then the calculated fuel injection time period TAU is stored in the RAM 108, and the routine of FIG. 6 is completed by step 603. 
     FIG. 7 is a routine for controlling the fuel injection in accordance with the fuel injection time period TAU calculated by the routine of FIG. 6, executed at every predetermined crank angle. Also, this routine is executed at every 360°CA in a simultaneous fuel injection system and is executed at every 180°CA in an sequential fuel injection system applied to a four-cylinder engine. 
     At step 701, the fuel injection time period TAU stored in the RAM 108 is read out and is transmitted to the D register (not shown) included in the CPU 105. At step 702, an invalid fuel injection time period TAUV which is also stored in the RAM 108 is added to the content of the D register. In addition, at step 703, the current time CNT of the free-run counter of the timer counter 106 is read out and is added to the content of the D register, thereby obtaining an injection end time t e  in the D register. Therefore, at step 704, the content of the D register is stored as the injection end time t e  in the RAM 108. 
     Again at step 705, the current time CNT of the free-run counter is read out and is set in the D register. Then, at step 706, a small time period t 0 , which is definite or determined by the predetermined parameters, is added on the content of the D register. At step 707, the content of the D register is set in the compare register of the timer counter 106, and at step 708, a fuel injection execution flag and a compare I interrupt permission flag are set in the registers of the timer counter 106. The routine of FIG. 7 is completed by step 709. 
     Thus, when the current time CNT of the free-run counter reaches the compare register, an injection-on signal due to the presence of the fuel injection execution flag is transmitted from the timer counter 106 via the I/O interface 103 to the driver circuit 104, thereby initiating fuel injection by the fuel injector 7. Simultaneously, a compare interrupt signal due to the presence of the compare interrupt permission flag is transmitted from the timer counter 106 to the CPU 105, thereby initiating a compare interrupt routine as illustrated in FIG. 8. 
     The completion of the fuel injection will be explained with reference to FIG. 8. At step 801, the injection end time t e  stored in the RAM 108 is read out and is transmitted to the D register. At step 802, the content of the D register is set in the compare register of the timer counter 106 and at step 803, the fuel injection execution flag and the compare interrupt permission flag are reset. The routine of FIG. 8 is completed by step 804. 
     Thus, when the current time CNT of the free-run counter reaches the compare register, an injection-off signal due to the absence of the fuel injection execution flag is transmitted from the timer counter 106 via the I/O interface 103 to the drive circuit 104, thereby ending the fuel injection by the fuel injector 5. In this case, however, no compare interrupt signal is generated due to the absence of the compare interrupt permission flag. 
     Thus, fuel injection of the fuel injector 5 is carried out for the time period TAU. 
     FIG. 9 is a graph showing the effect according to the present invention. That is, according to the present invention, the controlled air-fuel ratio is consistent with the aimed air-fuel ratio irrespective of the actual atmospheric pressure as indicated by A. However, in the prior art, as the actual atmospheric pressure is reduced, the controlled air-fuel ratio is shifted from the aimed air-fuel ratio, which may incur misfiring or surging.