Fuel metering control system for internal combustion engine

Abstract: A system for controlling fuel metering for a multi-cylinder internal combustion engine having a feedback loop which has an adaptive controller and an adaptation mechanism coupled to said adaptive controller for estimating controller parameters  and. The adaptive controller calculates a feedback correction coefficient using internal variables that include the controller parameters  and, to correct a basic quantity of fuel injection to bring a detected air/fuel ratio to a desired air/fuel ratio determined earlier from the detected air/fuel ratio by a dead time d'. The dead time d' is properly determined (S20) to be corresponding to a time k at which the air/fuel ratio is detected. Alternatively, the dead time may be determined to be longer than the proper value to eventually improve vehicle drivability, or determined shorter than the proper value to compensate for a insufficient fuel adhesion correction.

Description: This invention relates to a fuel metering control system for an internal combustion engine. The PID control law is ordinarily used for fuel metering control for internal combustion engines. The control error between the desired value and the controlled variable (plant output) is multiplied by a P term (proportional term), an I term (integral term) and a D term (differential or derivative term) to obtain the feedback correction coefficient (feedback gain). In addition, it has recently been proposed to obtain the feedback correction coefficient by use of modern control theory or the like, as taught by Japanese Laid-Open Patent Application Hei 4(1992)-209,940. The feedback control will be conducted based on modern control theory like an adaptive controller such that an air/fuel ratio or the quantity of fuel injection is brought to a desired value, using the amount of fuel injection as the manipulated variable. In conducting such a control, there arises a problem that the response of an air/fuel ratio sensor is not the same between when the air-fuel mixture is stoichiometric and when the air-fuel mixture is lean. This will disadvantageously cause a dead time to vary markedly, when the desired air/fuel ratio is changed sharply in a fuel metering control such as a lean burn control. Here, the dead time indicates a time or period until a change of the desired air/fuel ratio has come out as, a change in the detected air/fuel ratio. Theoretically, incorrectly determined dead time degrades adaptive control. EP-A-0582085 describes a prior art fuel metering control system. The preamble to claim 1 is based on this document. An object of the invention is therefore to provide a fuel metering control system for an internal combustion engine having an adaptive controller, which can properly determine a dead time of the desired value in response to the operating condition of the engine, thereby enhancing control performance and response of the system. The above will, on the other hand, mean that the control performance or response of the system can be lowered by intentionally varying a dead time of the desired value. When the desired air/fuel ratio is switched from a lean value to a stoichiometric value in a lean burn controlled engine, for example, it is preferable, from the viewpoint of the vehicle drivability, to cause the controlled variable to follow the change of the desired value slowly so as to decrease torque shock. A second object of the invention is therefore to provide a fuel metering control system for an internal combustion engine having an adaptive controller, which can intentionally vary a dead time of the desired value used in the adaptive controller calculation, thereby enhancing vehicle drivability. This invention achieves the object by providing a system for controlling fuel metering in a multi-cylinder internal combustion engine, including the feature according to claim 1. These and other objects and advantages of the invention will be more apparent from the following description and drawings, which show the invention by way of example only, and in which: Figure 1 is an overall schematic view showing a fuel metering control system for an internal combustion engine according to the present invention; Figure 2 is a block diagram showing the details of a control unit illustrated in Figure 1; Figure 3 is a flowchart showing the operation of the system according to the invention; Figure 4 is a block diagram showing the configuration of the system; Figure 5 is a subroutine flowchart of Figure 3 showing the calculation of a feedback correction coefficient KFB referred to in Figure 3; Figure 6 is a subroutine flowchart of Figure 3 showing the calculation of a dead time d' referred to in Figure 3; Figure 7 is a timing chart showing the behavior of the detected exhaust air/fuel ratio when the dead time is properly determined; Figure 8 is a timing chart, similar to Figure 7, but showing the behavior of the detected exhaust air/fuel ratio when the dead time is intentionally varied from its proper value; Figure 9 is a flowchart, similar to a portion of the figure 6 flowchart, but showing a second embodiment of the invention; and Figure 10 is a timing chart showing the behavior of the detected exhaust air/fuel ratio when the dead time is intentionally varied in the manner shown in Figure 9. Embodiments of the invention, given by way of example only, will now be explained with reference to the drawings. Figure 1 is an overview of a fuel metering control system for an internal combustion engine according to the invention. Reference numeral 10 in this figure designates an overhead cam (OHC) in-line four-cylinder (multi-cylinder) internal combustion engine. Air drawn into an air intake pipe 12 through an air cleaner 14 mounted on a far end thereof is supplied to each of the first to fourth cylinders through a surge tank 18, an intake manifold 20 and two intake valves (not shown), while the flow thereof is adjusted by a throttle valve 16. A fuel injector (fuel injection means) 22 is installed in the vicinity of the intake valves of each cylinder for injecting fuel into the cylinder. The injected fuel mixes with the intake air to form an air-fuel mixture that is ignited in the associated cylinder by a spark plug (not shown) in the firing order of #1, #3, #4 and #2 cylinder. The resulting combustion of the air-fuel mixture drives a piston (not shown) down. The exhaust gas produced by the combustion is discharged through two exhaust valves (not shown) into an exhaust manifold 24, from where it passes through an exhaust pipe 26 to a catalytic converter (three-way catalyst) 28 where noxious components are removed therefrom before it is discharged to the exterior. Not mechanically linked with the accelerator pedal (not shown), the throttle valve 16 is controlled to a desired degree of opening by a stepping motor M. In addition, the throttle valve 16 is bypassed by a bypass 32 provided at the air intake pipe 12 in the vicinity thereof. The engine 10 is equipped with an exhaust gas recirculation (EGR) mechanism 100 which recirculates a part of the exhaust gas to the intake side via a recirculation pipe 121, and a canister purge mechanism 200 connected between the air intake system and a fuel tank 36. The engine 10 is also equipped with a variable valve timing mechanism 300 (denoted as V/T in Figure 1). As taught by Japanese Laid-open Patent Application No. Hei 2(1990)-275,043, for example, the variable valve timing mechanism 300 switches the opening/closing timing of the intake and/or exhaust valves between two types of timing characteristics: a characteristic for low engine speed designated LoV/T, and a characteristic for high engine speed designated HiV/T in response to engine speed Ne and manifold pressure Pb. Since this is a well-known mechanism, however, it will not be described further here. (Among the different ways of switching between valve timing characteristics is included that of deactivating one of the two intake valves.) The engine 10 of Figure 1 is provided in its ignition distributor (not shown) with a crank angle sensor 40 for detecting the piston crank angle and is further provided with a throttle position sensor 42 for detecting the degree of opening of the throttle valve 16, and a manifold absolute pressure sensor 44 for detecting the pressure Pb of the intake manifold downstream of the throttle valve 16 in terms of absolute value. An atmospheric pressure sensor 46 for detecting atmospheric pressure Pa is provided at an appropriate portion of the engine 10, an intake air temperature sensor 48 for detecting the temperature of the intake air is provided upstream of the throttle valve 16, and a coolant temperature sensor 50 for detecting the temperature of the engine coolant is also provided at an appropriate portion of the engine. The engine 10 is further provided with a valve timing (V/T) sensor 52 (not shown in Figure 1) which detects the valve timing characteristic selected by the variable valve timing mechanism 300 based on oil pressure. Further, an air/fuel sensor 54 constituted as an oxygen detector or oxygen sensor is provided in the exhaust pipe 26 at, or downstream of, a confluence point in the exhaust system, between the exhaust manifold 24 and the catalytic converter 28, where it detects the oxygen concentration in the exhaust gas at the confluence point and produces a corresponding signal (explained later). The outputs of the sensors are sent to the control unit 34. Details of the control unit 34 are shown in the block diagram of Figure 2. The output of the air/fuel ratio sensor 54 is received by a detection circuit 62, where it is subjected to appropriate linearization processing for producing an output characterized in that it varies linearly with the oxygen concentration of the exhaust gas over a broad range extending from the lean side to the rich side. (The air/fuel ratio sensor is denoted as "LAF sensor" in the figure and will be so referred to in the remainder of this specification.) The output of the detection circuit 62 is forwarded through a multiplexer 66 and an A/D converter 68 to a CPU (central processing unit). The CPU has a CPU core 70, a ROM (read-only memory) 72 and a RAM (random access memory) 74, and the output of the detection circuit 62 is A/D-converted once every prescribed crank angle (e.g., 15 degrees) and stored in buffers of the RAM 74. Similarly, the analog outputs of the throttle position sensor 42, etc., are input to the CPU through the multiplexer 66 and the A/D converter 68 and stored in the RAM 74. The output of the crank angle sensor.40 is shaped by a waveform shaper 76 and has its output value counted by a counter 78. The result of the count is input to the CPU. In accordance with commands stored in the ROM 72, the CPU core 70 computes a manipulated variable in the manner described later and drives the fuel injectors 22 of the respective cylinders via a drive circuit 82. Operating via drive circuits 84, 86 and 88, the CPU core 70 also drives a solenoid valve (EACV) 90 (for opening and closing the bypass 32 to regulate the amount of secondary air), a solenoid valve 122 for controlling the aforesaid exhaust gas recirculation, and a solenoid valve 225 for controlling the aforesaid canister purge. Figure 3 is a flowchart showing the operation of the system. The program is activated at a predetermined crank angular position such as every TDC (Top Dead Center) of the engine. In the system, as disclosed in the Figure 4 block diagram, there is provided a controller means for calculating a feedback correction coefficient (shown as "KSTR(k)" in the figure) using a control law expressed in recursion formula, more particularly an adaptive controller of a type of STR (self-tuning regulator, shown as "STR controller" in the figure) to determine the manipulated variable in terms of the amount of fuel supply (shown as "Basic quantity of fuel injection Tim" in the figure), such that the detected exhaust air/fuel ratio (shown as "KACT(k)" in the figure) is brought to a desired air/fuel ratio (shown as "KCMD(k)" in the figure). Here, k means a sample number in the discrete time system. It should be noted that the detected air/fuel ratio and the desired air/fuel ratio are expressed as, in fact, the equivalence ratio, i.e., as Mst/M = 1/lambda (Mst: stoichiometric air/fuel ratio; M: A/F (A: air mass flow rate; F: fuel mass flow rate; lambda: excess air factor), so as to facilitate the calculation. In Figure 3, the program starts at S10 in which the detected engine speed Ne, the manifold pressure Pb, etc., are read and the program proceeds to S12 in which it is checked whether or not the engine is cranking, and if it is not, to S14 in which it is checked whether the supply of fuel is cut off. Fuel cutoff is implemented under a specific engine operating condition, such as when the throttle is fully closed and the engine speed is higher than a prescribed value, at which time the supply of fuel is stopped and fuel injection is controlled in an open-loop manner. When it is found in S14 that fuel cutoff is not implemented, the program proceeds to S16 in which the basic quantity of fuel injection Tim is calculated by retrieval from mapped data using the detected engine speed Ne and manifold pressure Pb as address data. Next, the program proceeds to S18 in which it is checked whether activation of the LAF sensor 54 is complete. This is done by comparing the difference between the output voltage and the center voltage of the LAF sensor 54 with a prescribed value (0.4 V, for example) and determining that the activation has been completed when the difference is smaller than the prescribed value. When S18 finds that the activation has been completed, the program goes to S20 in which the dead time d' is calculated. The dead time d' is, as mentioned before, a time or period before KCMD is reflected in KACT, in other words, the time for the desired value (i.e., KCMD(k-d')) to correspond to the detected value (i.e., KACT(k)). For ease of understanding, the calculation of the dead time will be explained after explaining a feedback correction coefficient. In the embodiment, the control cycle (program loop) is conducted in synchronism with the predetermined crank angular position such as the TDC, the dead time d' is expressed as a time or period determined in terms of the crank angle, more specifically expressed as the number of the TDC intervals. It should of course be noted that if the control cycle is defined with respect to time counter, the dead time d' will be defined with respect to time. In that sense, the dead time d' is used in the specification to mean a time or period defined with respect to the crank angular position. At any rate, the dead time d' should include a time or period defined by the crank angular position, a time counter value or some similar parameters. In the Figure 3 flowchart, the program proceeds to S22 in which the output of the LAF sensor is read, and to S24 in which the air/fuel ratio KACT(k) is determined or detected. The program then goes to S26 in which a feedback correction coefficient KFB is calculated. Figure 5 is a flowchart showing the calculation of the feedback correction coefficient KFB. The program starts at S100 in which it is checked whether the engine operation is in a feedback control region. This is conducted using a separate subroutine not shown in the drawing. Fuel metering is controlled in an open-loop fashion, for example, such as during full-load enrichment or high engine speed, or when the engine operating condition has changed suddenly owing to the operation of the exhaust gas recirculation mechanism. When the result in S100 is YES, the program proceeds to S102 in which it is checked whether the engine operating condition at the preceding (control) cycle, i.e., at the time that the Figure 3 flowchart was activated in the preceding (control) cycle, was in the feedback control region. When the result is affirmative, the program proceeds to S104 in which the feedback correction coefficient is calculated using the adaptive control law. The feedback correction coefficient will hereinafter be referred to as the "adaptive correction coefficient KSTR". Explaining this, the system illustrated in Figure 4 is based on adaptive control technology proposed in an earlier application by the assignee. It comprises an adaptive controller constituted as an STR (self-tuning regulator) controller (controller means) and an adaptation mechanism (adaptation mechanism means) (system parameter estimator) for estimating/identifying the controller parameters (system parameters) (dynamic engine characteristic parameters)  and. The desired value and the controlled variabie (plant output) of the fuel metering feedback control system are input to the STR controller, which receives the coefficient vector (i.e., the controller parameters expressed in a vector)  andestimated/identified by the adaptation mechanism, and generates an output. One identification or adaptation law (algorithm) available for adaptive control is that proposed by I.D. Landau et al. In the adaptation law proposed by I.D. Landau et al., the stability of the adaptation law expressed in a recursion formula is ensured at least using Lyapunov's theory or Popov's hyperstability theory. This method is described in, for example, Computrol (Corona Publishing Co., Ltd.) No. 27, pp. 28-41; Automatic Control Handbook (Ohm Publishing Co., Ltd.) pp. 703-707; "A Survey of Model Reference Adaptive Techniques - Theory and Applications" by I.D. Landau in Automatica, Vol. 10, pp. 353-379, 1974; "Unification of Discrete Time Explicit Model Reference Adaptive Control Designs" by I.D. Landau et al. in Automatica, Vol. 17, No. 4, pp. 593-611, 1981; and "Combining Model Reference Adaptive Controllers and Stochastic Self-tuning Regulators" by I.D. Landau in Automatica , Vol. 18, No. 1, pp. 77-84, 1982. The adaptation or identification algorithm of I. D. Landau et al. is used in the assignee's earlier proposed adaptive control technology. In this adaptation or identification algorithm, when the polynomials of the denominator and numerator of the transfer function B(Z -1 )/A(Z -1 ) of the discrete controlled system are defined in the manner of Eq. 1 and Eq. 2 shown below, then the controller parameters or system (adaptive) parameters  and(k) are made up of parameters as shown in Eq. 3 and are expressed as a vector (transpose vector). And the input zeta (k) which is input to the adaptation mechanism becomes that shown by Eq. 4. Here, there is taken as an example a plant in which m = 1, n = 1 and d = 3, namely, the plant model is given in the form of a linear system with three control cycles of dead time. A(z -1 ) = 1 + a 1 z -1 + ··· + a n z -n B(z -1 ) = b 0 + b 1 z -1 + ··· + b m z -m  T (k) = [ b 0 (k), B R (z -1 ,k), S (z -1 , k)] = [ b 0 (k), r 1 (k),···,r m+d-1 (k),s 0 (k),···,s n-1 (k)] = [b 0 (k),r 1 (k),r 2 (k),r 3 (k),s 0 (k)] ζ T (k) = [u(k), ···,u(k-m-d+1),y(k), ···,y(k-n+1)] = [u(k),u(k-1),u(k-2),u(k-3),y(k)] Here, the factors of the controller parameters  and, i.e., the scalar quantity b and 0 -1 (k) that determines the gain, the control factor B and R (Z -1 ,k) that uses the manipulated variable and S and(Z -1 ,k) that uses the controlled variable, all shown in Eq. 3, are expressed respectively as Eq. 5 to Eq. 7. b 0 -1 (k) = 1/b 0 B R (Z -1 ,k) = r 1 z -1 + r 2 z -2 + ··· + r m+d-1 z -(m+d-1) = r 1 z -1 + r 2 z -2 + r 3 z -3 S (Z -1 ,k) = s 0 + s 1 z -1 + ··· + s n-1 z -(n-1) = s 0 As shown in Eq. 3, the adaptation mechanism estimates or identifies each coefficient of the scalar quantity and control factors, calculates the controller parameters (vector)  and, and supplies the controller parameters  and to the STR controller. More specifically, the adaptation mechanism calculates the controller parameters  and using the manipulated variable u(i) and the controlled variable y (j) of the plant (i,j include past values) such that the control error between the desired value and the controlled variable becomes zero. More precisely, the controller parameters (vector)  and(k) are calculated by Eq. 8 below. In Eq. 8, Γ(k) is a gain matrix (the (m+n+d)th order square matrix) that determines the estimation/identification rate or speed of the controller parameters  and, and e*(k) is a signal indicating the generalized estimation/identification error, i.e., an estimation error signal of the controller parameters. They are represented by recursion formulas such as those of Eqs. 9 and 10.  (k) =  (k-1) + Γ(k-1)ζ(k-d)e*(k) Γ(k) = 1 λ 1 (k) [Γ(k-1) - λ 2 (k)Γ(k-1)ζ(k-d)ζ T (k-d)Γ(k-1) λ 1 (k) + λ 2 (k)ζ T (k-d)Γ(k-1)ζ(k-d) ] e*(k) = D(z -1 )y(k)-  T (k-1)ζ(k-d) 1 + ζ T (k-d)Γ(k-1)ζ(k-d) Various specific algorithms are given depending on the selection of lambda 1(k) and lambda 2(k) in Eq. 9. lambda 1(k) = 1, lambda 2(k) = lambda (0 < lambda < 2) gives the gradually-decreasing gain algorithm (least-squares method when lambda = 1); and lambda 1(k) = lambda 1 (0 < lambda 1 < 1), lambda 2(k) = lambda 2 (0 < lambda 2 < lambda) gives the variable-gain algorithm (weighted least-squares method when lambda 2 = 1). Further, defining lambda 1(k)/lambda 2(k) = σ and representing lambda 3(k) as in Eq. 11, the constant-trace algorithm is obtained by defining lambda 1(k) = lambda 3(k). Moreover, lambda 1(k) = 1, lambda 2(k) = 0 gives the constant-gain algorithm. As is clear from Eq. 9, in this case F(k) = Γ(k-1), resulting in the constant value Γ(k) = Γ. Any of the algorithms are suitable for the time-varying plant such as the fuel metering control system according to the invention. λ 3 (k) = 1 - Γ(k-1)ζ(k-d) 2 σ+ζ T (k-d)Γ(k-1)ζ(k-d) · 1 trΓ(0) In the diagram of Figure 4, the STR controller (adaptive controller) and the adaptation mechanism (system parameter estimator) are placed outside the system for calculating the quantity of fuel injection (fuel injection quantity determining means) and operate to calculate the feedback correction coefficient KSTR(k) so as to adaptively bring the detected value KACT(k) to the desired value KCMD(k-d') (where, as mentioned earlier, d' is the dead time before KCMD is reflected in KACT). In other words, the STR controller receives the coefficient vector  and(k) adaptively estimated/identified by the adaptive mechanism and forms a feedback compensator (feedback control loop) so as to bring it to the desired value KCMD(k-d'). The basic quantity of fuel injection Tim is multiplied by the calculated feedback correction coefficient KSTR(k), and the corrected quantity of fuel injection is supplied to the controlled plant (internal combustion engine) as the output quantity of fuel injection Tout(k). Thus, the feedback correction coefficient KSTR(k) and the detected air/fuel ratio KACT(k) are determined and input to the adaptation mechanism, which calculates/estimates the controller parameters (vector)  and(k) that are in turn input to the STR controller. Based on these values, the STR controller uses the recursion formula to calculate the feedback correction coefficient KSTR(k) so as to bring the detected air/fuel ratio KACT(k) to the desired air/fuel ratio KCMD(k-d'). The feedback correction coefficient KSTR(k) is specifically calculated as shown by Eq. 12: KSTR(k) = KCMD(k-d')-s 0 xy(k)-r 1 xKSTR(k-1)-r 2 xKSTR(k-2)-r 3 xKSTR(k-3) b 0 Returning to Figure 5, the program proceeds to S106 in which the adaptive correction coefficient KSTR, thus obtained, is renamed as the feedback correction coefficient KFB. On the other hand, when S100 finds that the engine operating condition is not in the feedback control region, the program proceeds to S108 in which the adaptive correction coefficient KSTR is fixed at 1.0, and the program goes to S106. Since the quantity of fuel injection is multiplied by the feedback correction coefficient and is corrected, setting the correction coefficient to 1.0 indicates no feedback control should be implemented. When S102 find that the last (control) cycle was not in the feedback control region, since this means that the engine operating condition has just shifted from the open-loop control region to the feedback control region, the program goes to S110 in which the internal variables of the controller parameters  and including their past values are initially set, such that the adaptive correction coefficient KSTR becomes 1.0 or thereabout. Specifically, the aforesaid adaptation mechanism receives zeta(k-d), i.e., a vector which is a set or group of the current and past values of the plant input u(k)(=KSTR(k)) and the plant output y(k)(=KACT(k)) and based on the cause-and-effect relationship of the plant input and output, calculates the controller parameters  and. Here, u(k) is the correction coefficient used for correcting the quantity of fuel injection, as just mentioned. Therefore, in the case of initiating the adaptive control when the engine operating condition has just entered the feedback control region (adaptive control region), unless the past value of the internal variables of the adaptive (STR) controller such as zeta (k-d),  and(k-1) and gain matrix Γ(k-1) are prepared properly, there is the possibility that the adaptive correction coefficient KSTR will be calculated improperly. If the control is conducted using an improperly calculated adaptive correction coefficient, the system may, at worst, oscillate. In view of the above, the system is configured in such a manner that the controller parameters  and(k) are initially set such that the adaptive correction coefficient KSTR becomes 1.0 or thereabout assuming u(k-i)=1 (i≥1), when the feedback control is started or resumed. And at the same time, the system is arranged in such a manner that zeta(k-d) is initially set as shown in Eq. 13. Since the gain matrix Γ(k-1) is a value that determines the estimation/identification rate or speed of the controller parameters, the gain matrix is initially set to a predetermined matrix such as its initial value. More specifically, since the adaptive correction coefficient KSTR is calculated as Eq. 12, the system is configured to determine the values at the previous control cycle (past values)  and(k-1) and zeta (k-d) such that the adaptive correction coefficient KSTR becomes 1.0 or thereabout. For example, assume that the desired air/fuel ratio KCMD(k-d')(expressed in the equivalence ratio) is 1.0, KSTR(k-1) = KSTR(k-2) = KSTR(k-3) = 1.0, and the initial values of the factors of the controller parameters  and(k) are: r 1 = 0.1 r 2 = 0.05 r 3 = 0.05 s 0 = 0.3 b 0 = 0.5 If the detected air/fuel ratio KACT(k)(expressed in the equivalence ratio) = 1.0, the adaptive correction coefficient KSTR is: KSTR =(1 - 0.1 x 1 - 0.05 x 1 - 0.05 x 1 - 0.3 x KACT(k))/0.5 = 1.0 Thus, the adaptive correction coefficient KSTR is 1.0 or thereabout if the detected air/fuel ratio KACT(k) is 1.0 or thereabout. This equals intentionally generating a past situation in which the adaptive correction coefficient KSTR(k-i)(i≥1) was 1.0 or thereabout, in other words, the detected air/fuel ratio KACT(k-j)(j≥1) was brought to a past desired air/fuel ratio KCMD(k-d') corresponding thereto and the control was stable. With the arrangement, it becomes possible to initiate the feedback control with the adaptive correction coefficient KSTR starting from 1.0, when the engine operating condition has just moved from the open-loop control region to the feedback control region. Since the adaptive correction coefficient KSTR is fixed at 1.0 in the open-loop control, the feedback control can be started using the same value, enabling no control hunting to occur, no air/fuel ratio spike to occur and to improve the control stability. Returning to the Figure 3 flowchart, the program then proceeds to S28 in which the basic quantity of fuel injection (the amount of fuel supply) Tim is multiplied by a desired air/fuel ratio correction coefficient KCMDM (a value determined by correcting the desired air/fuel ratio (expressed in equivalence ratio) KCMD by the charging efficiency of the intake air), the feedback correction coefficient KFB and the product of other correction coefficients KTOTAL and is then added by the sum of additive correction terms TTOTAL to determine the output quantity of fuel injection Tout. The program then proceeds to S30 in which the output quantity of fuel injection Tout is applied to the fuel injector 22 as the manipulated variable. Here, KTOTAL is the product of various correction coefficients to be made through multiplication including correction based on the coolant temperature correction. TTOTAL indicates the total value of the various corrections for atmospheric pressure, etc., conducted by addition (but does not include the fuel injector dead time, etc., which is added separately at the time of outputting the output quantity of fuel injection Tout). When the result in S18 is NO, since this means that the control should be conducted in open-loop fashion, the program goes to S32 in which the feedback correction coefficient KFB is set to 1.0, and to S28 in which the output quantity of fuel injection Tout is determined in the manner stated above. If S12 finds that the engine is cranking, the program goes to S34 in which the quantity of fuel injection at cranking Ticr is retrieved, and then to S36 in which Ticr is used to calculate the output quantity of fuel injection Tout based on an equation for engine cranking. If S14 finds that fuel cutoff is in effect, the output quantity of fuel injection Tout is set to 0 in S38. The calculation of the dead time d' will now be explained. Figure 6 is a flowchart showing a subroutine of the calculation. Before entering the explanation of the figure, however, the dead time will firstly be explained more specifically with reference to Figure 7 and on. Figure 7 is a timing chart illustrating the behavior of the detected exhaust air/fuel ratio KACT, in which the dead time d' is determined correctly, i.e., the desired value KCMD(k-d') is determined properly to be equal to its actual or true value such that the adaptive correction coefficient KSTR is calculated correctly in the manner shown in Eq. 12. As illustrated, KACT follows KCMD with a delay time of d'. By thus determining the dead time d' correctly, it is possible to carry out the fuel metering control as desired. The embodiment is configured in its basic aspect such that in its basic aspect the dead time d' is thus determined correctly to be equal to the actual value in response to the desired air/fuel ratio. Figure 8 is a similar timing chart, in which the dead time is intentionally or deliberately varied from the proper value d' to an intentionally varied value d", so as to improve vehicle drivability. Here, the relationship therebetween should be: d' < d" When the dead time is shifted from the proper value d' as shown in Figure 8, it will be easily understood that the control response degrades or becomes worse. This is because the adaptive controller (STR controller) reacts to slowly follow the desired value change with a delay time longer than the actual or correct dead time. With the arrangement, the detected value will eventually be smoothed. Therefore, when the desired air/fuel ratio is varied greatly in a lean burn controlled engine, for example, it becomes possible to decrease torque shock and enhance vehicle drivability by lowering the response of the adaptive controller intentionally. Explaining the Figure 6 flowchart based on the above, the program starts at S200 in which the dead time d' to be used in the calculation of the adaptive correction coefficient KSTR in Eq. 12, is determined in response to the desired air/fuel ratio KCMD(k). Specifically, the dead time d' is determined to be a time which corresponds to the time of detected value KACT(k), more specifically, the time (k-d') of the desired value is determined with respect to KACT(k) such that a target value at the time (k-d') corresponds to the time k at which the value KACT is detected. By this, the control can be conducted as initially desired. The program then goes to S202 in which the difference DKCMD of the desired air/fuel ratio KCMD between its current control cycle value (current program loop) KCMD(k) and its last control cycle value (previous program loop) KCMD(k-1) is calculated to discriminate whether the desired air/fuel ratio changes in the rich direction or in the lean direction, and to S204 in which the difference DKCMD is compared with a reference value DKCMDREF. The reference value should be predetermined to make it possible to discriminate whether or not the desired air/fuel ratio changes in the rich direction by comparing itself with the difference. When the result in S204 is affirmative, the program proceeds to S206 in which a positive value a is added to the proper dead time d', and to S208 in which a counter C is incremented. In the next program loop (control cycle) and on, each time the result in S204 is YES, the program goes to S206 and S208 to increment the counter and when S210 finds that the counter value C exceeds a predetermined value CREF, the program advances to S212 in which the counter value C is reset to zero. As will be apparent from the above, since the coefficient KSTR is consecutively calculated using the dead time d", the behavior of the detected exhaust air/fuel ratio KACT is kept to be smoothed for a period corresponding up to the counter value CREF, as shown in Figure 8. In the embodiment, since the dead time d' is firstly determined correctly in response to the desired value KCMD(K) to be equal to the actual delay time so that the adaptive correction coefficient KSTR is calculated properly, it becomes possible to obtain the detected value KACT, as expected, that is inherently determined by the LAF sensor response, and to conduct the fuel metering control as desired. If only this purpose is to be achieved, S202 and on are not necessary in the Figure 6 flowchart. Moreover, since the embodiment is further configured such that the dead time is intentionally elongated to smooth the detected value KACT, when the desired air/fuel ratio is varied greatly in a lean burn controlled engine from the lean side to the rich side, for example, it becomes possible to smooth the engine output torque so as to decrease torque shock, thereby enhancing vehicle drivability. Figure 9 is a flowchart, similar to a portion of Figure 6, but showing a second embodiment of the invention. In the second embodiment, a positive value b is subtracted from the proper value d' to decrease the dead time in S206a in Figure 9 that corresponds to S206 in Figure 6. Figure 10 shows the behavior of the detected value KACT in the second embodiment. As shown, the detected value overshoots, rather than undershoots, a target value. The configuration of the second embodiment is advantageous when conducting, for example, a fuel adhesion correction. In correcting the quantity of fuel injection by the amount of fuel adhered on the intake manifold floor, a fuel adhesion correction value is usually prepared in advance as mapped data to be retrieved by parameters such as the engine speed and manifold pressure, while assuming the engine coolant temperature is normal. When the map retrieval value is to be used in the engine operating condition in which the coolant temperature is low, it becomes possible to compensate for the fuel adhesion correction amount, if insufficient, with overcorrection by determining the dead time as: d' > d" The above is in contrast with the undershooting characteristics shown in Figure 8 when the dead time is determined as: d' < d" Thus, by selecting either of the characteristics of the first or second embodiments, it becomes possible to make the adaptive controller operate to cancel a spike, if one occurs, of the air/fuel ratio. Furthermore, although not described in detail, there will be a need to vary the dead time when the volume of the exhaust manifold is configured to be variable, or when the valve timing characteristics of the variable valve timing mechanism are switched. The configuration of the first and the second embodiment will be useful in adjusting the dead time in those cases. Although only the correction coefficient obtained by the high response adaptive controller is used as the feedback correction coefficient in the first and second embodiments, it is alternatively possible to prepare another correction coefficient calculated by a low response controller such as a PID controller and to switch them in the feedback control region. Although the air/fuel ratio is used as the desired value in the first and second embodiments, it is alternatively possible to use the quantity of fuel injection itself as the desired value. Although the feedback correction coefficient is determined as a multiplication coefficient in the first and second embodiments, it can instead be determined as an additive value. Although a throttle valve is operated by the stepper motor in the first and second embodiments, it can instead be mechanically linked with the accelerator pedal and be directly operated in response to the accelerator depression. Furthermore, although the aforesaid embodiments are described with respect to examples using STR, MRACS (model reference adaptive control systems) can be used instead.

Claims: A system for controlling fuel metering in a multi-cylinder internal combustion engine (10), including an air/fuel ratio sensor (54) located in an exhaust system (26) of the engine for detecting an air/fuel ratio (KACT) in exhaust gas of the engine; engine operating condition detecting means (40, 44, 34, S10) for detecting engine operating conditions including at least engine speed (Ne) and engine load (Pb) ; basic fuel injection quantity determining means (34, S16) coupled to said engine operating condition detecting means, for determining a basic quantity of fuel injection (Tim) for a cylinder of the engine based on at least the detected engine speed and engine load; a feedback loop means (34, S26, S28, S30) coupled to said fuel injection quantity determining means, to determine an output quantity of fuel injection (Tout) based on the basic quantity of fuel injection; and fuel injection means (34, S32, 22) coupled to said feedback loop means, for injecting fuel into the cylinder of the engine based on the output quantity of fuel injection; characterised in that : said feedback loop means has an adaptive controller and an adaptation mechanism coupled to said adaptive controller for estimating controller parameters (), said adaptive controller calculating a feedback correction coefficient (KSTR) using internal variables that include at least the controller parameters () and a dead time (d') to correct the basic quantity of fuel injection (Tim) to bring a controlled variable (KACT(k); y(k)) obtained based on at least the detected air/fuel ratio (KACT) to a desired air-fuel ratio (KCMD(k); r(k)) at a time determined by the dead time (d') earlier than a time (k) at which the detected air/fuel ratio (KACT) is obtained, wherein the dead time (d') is the time taken for the desired value (KCMD(k-d')) to be reflected in the detected value (KACT(k)); and the system includes: desired air/fuel ratio change determining means (34, S20, S204) for determining whether the desired air/fuel ratio changes; and dead time varying means (S206, S206a) for varying the dead time (d') to a time (d"), when the desired air/fuel ratio is determined to be changed. A system according to claim 1, wherein the time (d") is varied to be greater than the dead time (d') when the desired air/fuel ratio is determined to be changed in a rich direction. A system according to claim 1, wherein the time (d") is varied to be less than the dead time (d') when the desired air/fuel ratio is determined to be changed in a lean direction. A system according to any one of claims 1 to 3, wherein said dead time varying means continues to vary the dead time (d') to the time (d") for a predetermined period. A system according to any one of preceding claims 1 to 4, wherein said feedback loop means (34, S26, S28, S30) sets the internal variables of the adaptive controller such that the feedback correction coefficient (KSTR) is a predetermined value, when the engine operation has shifted from an open-loop control region to the feedback control region. A system according to claim 5, wherein the feedback correction coeffficient (KSTR) is a predetermined value that is multiplied by the basic quantity of fuel injection (Tim). A system according to claim 6, wherein the predetermined value is 1.0 or thereabout. A system according to any one of preceding claims 1 to 7, wherein the internal variables are expressed in a recursion formula.

Inventors: KOMORIYA ISAO, MAKI HIDETAKA, KOMORIYA, ISAO, MAKI, HIDETAKA, KOMORIYA, ISAO, C/O K.K. HONDA GIJYUTSU KENKYUSHO, MAKI, HIDETAKA, C/O K.K. HONDA GIJYUTSU KENKYUSHO
Applicants: HONDA MOTOR CO LTD, HONDA GIKEN KOGYO KABUSHIKI KAISHA
Application year: 1996
Main classification: F02D41
IPC codes: F02D41