WO2011148517A1 - 内燃機関の空燃比制御装置 - Google Patents

内燃機関の空燃比制御装置 Download PDF

Info

Publication number
WO2011148517A1
WO2011148517A1 PCT/JP2010/059486 JP2010059486W WO2011148517A1 WO 2011148517 A1 WO2011148517 A1 WO 2011148517A1 JP 2010059486 W JP2010059486 W JP 2010059486W WO 2011148517 A1 WO2011148517 A1 WO 2011148517A1
Authority
WO
WIPO (PCT)
Prior art keywords
value
fuel ratio
air
target
fuel
Prior art date
Application number
PCT/JP2010/059486
Other languages
English (en)
French (fr)
Inventor
亮 冨松
亮太 尾上
藤原 孝彦
Original Assignee
トヨタ自動車株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by トヨタ自動車株式会社 filed Critical トヨタ自動車株式会社
Priority to US13/700,248 priority Critical patent/US9790873B2/en
Priority to PCT/JP2010/059486 priority patent/WO2011148517A1/ja
Priority to JP2012517083A priority patent/JP5293889B2/ja
Publication of WO2011148517A1 publication Critical patent/WO2011148517A1/ja

Links

Images

Classifications

    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F02COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
    • F02DCONTROLLING COMBUSTION ENGINES
    • F02D41/00Electrical control of supply of combustible mixture or its constituents
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F02COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
    • F02DCONTROLLING COMBUSTION ENGINES
    • F02D41/00Electrical control of supply of combustible mixture or its constituents
    • F02D41/02Circuit arrangements for generating control signals
    • F02D41/14Introducing closed-loop corrections
    • F02D41/1438Introducing closed-loop corrections using means for determining characteristics of the combustion gases; Sensors therefor
    • F02D41/1439Introducing closed-loop corrections using means for determining characteristics of the combustion gases; Sensors therefor characterised by the position of the sensor
    • F02D41/1441Plural sensors
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F02COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
    • F02DCONTROLLING COMBUSTION ENGINES
    • F02D41/00Electrical control of supply of combustible mixture or its constituents
    • F02D41/02Circuit arrangements for generating control signals
    • F02D41/14Introducing closed-loop corrections
    • F02D41/1438Introducing closed-loop corrections using means for determining characteristics of the combustion gases; Sensors therefor
    • F02D41/1477Introducing closed-loop corrections using means for determining characteristics of the combustion gases; Sensors therefor characterised by the regulation circuit or part of it,(e.g. comparator, PI regulator, output)
    • F02D41/1479Using a comparator with variable reference
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F02COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
    • F02DCONTROLLING COMBUSTION ENGINES
    • F02D41/00Electrical control of supply of combustible mixture or its constituents
    • F02D41/02Circuit arrangements for generating control signals
    • F02D41/14Introducing closed-loop corrections
    • F02D41/1438Introducing closed-loop corrections using means for determining characteristics of the combustion gases; Sensors therefor
    • F02D41/1477Introducing closed-loop corrections using means for determining characteristics of the combustion gases; Sensors therefor characterised by the regulation circuit or part of it,(e.g. comparator, PI regulator, output)
    • F02D41/1482Integrator, i.e. variable slope
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F02COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
    • F02DCONTROLLING COMBUSTION ENGINES
    • F02D41/00Electrical control of supply of combustible mixture or its constituents
    • F02D41/02Circuit arrangements for generating control signals
    • F02D41/14Introducing closed-loop corrections
    • F02D41/1438Introducing closed-loop corrections using means for determining characteristics of the combustion gases; Sensors therefor
    • F02D41/1477Introducing closed-loop corrections using means for determining characteristics of the combustion gases; Sensors therefor characterised by the regulation circuit or part of it,(e.g. comparator, PI regulator, output)
    • F02D41/1483Proportional component
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F02COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
    • F02DCONTROLLING COMBUSTION ENGINES
    • F02D41/00Electrical control of supply of combustible mixture or its constituents
    • F02D41/24Electrical control of supply of combustible mixture or its constituents characterised by the use of digital means
    • F02D41/2406Electrical control of supply of combustible mixture or its constituents characterised by the use of digital means using essentially read only memories
    • F02D41/2425Particular ways of programming the data
    • F02D41/2429Methods of calibrating or learning
    • F02D41/2451Methods of calibrating or learning characterised by what is learned or calibrated
    • F02D41/2454Learning of the air-fuel ratio control
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F02COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
    • F02DCONTROLLING COMBUSTION ENGINES
    • F02D41/00Electrical control of supply of combustible mixture or its constituents
    • F02D41/30Controlling fuel injection
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F02COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
    • F02DCONTROLLING COMBUSTION ENGINES
    • F02D41/00Electrical control of supply of combustible mixture or its constituents
    • F02D41/02Circuit arrangements for generating control signals
    • F02D41/14Introducing closed-loop corrections
    • F02D41/1438Introducing closed-loop corrections using means for determining characteristics of the combustion gases; Sensors therefor
    • F02D41/1444Introducing closed-loop corrections using means for determining characteristics of the combustion gases; Sensors therefor characterised by the characteristics of the combustion gases
    • F02D41/1454Introducing closed-loop corrections using means for determining characteristics of the combustion gases; Sensors therefor characterised by the characteristics of the combustion gases the characteristics being an oxygen content or concentration or the air-fuel ratio
    • F02D41/1456Introducing closed-loop corrections using means for determining characteristics of the combustion gases; Sensors therefor characterised by the characteristics of the combustion gases the characteristics being an oxygen content or concentration or the air-fuel ratio with sensor output signal being linear or quasi-linear with the concentration of oxygen

Definitions

  • the present invention relates to an air-fuel ratio control apparatus for an internal combustion engine provided with a catalyst in an exhaust passage.
  • a three-way catalyst exhaust gas purification catalyst unit
  • the three-way catalyst has an “oxygen storage function” for storing oxygen flowing into the three-way catalyst and releasing the stored oxygen.
  • the three-way catalyst is also simply referred to as “catalyst”.
  • One of the conventional air-fuel ratio control devices (hereinafter referred to as “conventional device”) is provided with a downstream air-fuel ratio sensor disposed in the engine exhaust passage and downstream of the catalyst.
  • the conventional apparatus obtains a “basic fuel injection amount for making the air-fuel ratio of the air-fuel mixture supplied to the engine coincide with the stoichiometric air-fuel ratio” based on the air amount sucked into the cylinder, and at least the basic fuel injection amount is downstream. Correction is made based on the output value of the side air-fuel ratio sensor.
  • the exhaust gas flowing into the catalyst is referred to as “catalyst inflow gas”, and the exhaust gas flowing out from the catalyst is referred to as “catalyst outflow gas”.
  • an air-fuel ratio smaller than the stoichiometric air-fuel ratio is called “rich air-fuel ratio”
  • an air-fuel ratio larger than the stoichiometric air-fuel ratio is called “lean air-fuel ratio”.
  • the air-fuel ratio of the air-fuel mixture supplied to the engine is referred to as “engine air-fuel ratio”.
  • the downstream air-fuel ratio sensor used in the conventional apparatus is generally a concentration cell type oxygen concentration sensor.
  • the output value Voxs of the downstream air-fuel ratio sensor is a value near the maximum output value Max when the air-fuel ratio of the catalyst outflow gas is smaller than the stoichiometric air-fuel ratio as shown by the curve C1 in FIG. Become.
  • the output value Voxs of the downstream air-fuel ratio sensor becomes a value near the minimum output value Min when the state in which the air-fuel ratio of the catalyst outflow gas is larger than the stoichiometric air-fuel ratio continues.
  • the output value Voxs of the downstream air-fuel ratio sensor changes from a value near the maximum output value Max to a value near the minimum output value Min when the air-fuel ratio of the catalyst outflow gas changes from the rich air-fuel ratio to the lean air-fuel ratio. It changes rapidly.
  • the output value Voxs of the downstream air-fuel ratio sensor rapidly increases from a value near the minimum output value Min to a value near the maximum output value Max. Change.
  • the output value Voxs becomes a value near the minimum output value Min.
  • the conventional device sets the feedback amount of the air-fuel ratio so that the output value Voxs of the downstream air-fuel ratio sensor matches the “target value VREF set to the value corresponding to the theoretical air-fuel ratio (that is, the median value Vmid)”. Calculation is based on proportional / integral control (PI control).
  • This air-fuel ratio feedback amount is also referred to as a “sub-feedback amount” for convenience.
  • the conventional apparatus feedback-controls the air-fuel ratio of the air-fuel mixture supplied to the engine by correcting the basic fuel injection amount with the sub-feedback amount (see, for example, JP-A-2005-171982).
  • FIG. 28 is a time chart showing a state of air-fuel ratio feedback control by such a conventional apparatus.
  • the conventional apparatus maintains the target value VREF at a constant value (a reference value Vf that is a value in the vicinity of the median value Vmid), and determines whether the air-fuel ratio of the catalyst outflow gas is a rich air-fuel ratio or a lean air-fuel ratio.
  • the conventional apparatus determines the “air-fuel ratio of the engine (required air-fuel ratio) required for efficiently purifying the exhaust gas using the catalyst” based on the “output value Voxs and reference value Vf”.
  • the conventional apparatus when the output value Voxs is larger than the reference value Vf (for example, time t1 to time t2, time t3 to time t4, and time t5 to time t6), It is determined that the air-fuel ratio is a rich air-fuel ratio, and the required air-fuel ratio is determined to be a lean air-fuel ratio (that is, a lean request is generated). When the lean request is generated, the conventional apparatus controls the air / fuel ratio of the engine to the lean air / fuel ratio.
  • Vf for example, time t1 to time t2, time t3 to time t4, and time t5 to time t6
  • the conventional device determines that the air-fuel ratio of the catalyst outflow gas is a lean air-fuel ratio, and requests It is determined that the air-fuel ratio is a rich air-fuel ratio (that is, a rich request is generated).
  • the conventional device controls the air / fuel ratio of the engine to the rich air / fuel ratio.
  • the output value Voxs increases and becomes larger than the reference value Vf.
  • the air-fuel ratio of the engine becomes too large or too small.
  • nitrogen oxides (NOx) or unburned substances (CO, HC, etc.) are not completely purified by the catalyst. It may be discharged outside the organization.
  • NOx emission amount increases before and after time t2, time t4, and time t6.
  • the air-fuel ratio of the catalyst outflow gas is “a rich air-fuel ratio with a large absolute value of the difference from the theoretical air-fuel ratio. Is.
  • the amount of oxygen stored in the catalyst (hereinafter also referred to as “oxygen storage amount OSA”) is substantially “0”. Therefore, the conventional apparatus determines that a lean request has occurred and sets the air / fuel ratio of the engine to the lean air / fuel ratio.
  • the oxygen storage amount OSA increases.
  • the catalyst can efficiently store oxygen. Therefore, immediately after time t1, most of the excess oxygen contained in the catalyst inflow gas is occluded by the catalyst.
  • the output value Voxs of the downstream air-fuel ratio sensor changes with a delay with respect to the change in the oxygen partial pressure of the catalyst outflow gas. This is presumed to be due to the following factors. (1) Since there is a distance between the catalyst and the downstream air-fuel ratio sensor, it takes time until the catalyst outflow gas reaches the element of the downstream air-fuel ratio sensor. (2) Since the downstream air-fuel ratio sensor is generally provided with a protective cover, it takes time until the catalyst outflow gas reaches the element of the downstream air-fuel ratio sensor. (3) Since the element of the downstream air-fuel ratio sensor is covered with “a layer for allowing the oxygen-balanced gas to reach the element (for example, diffusion resistance layer)”, the oxygen partial pressure of the gas reaching the element The change in is delayed. This delay becomes significant when there is oxygen or unburned material accumulated so far around the downstream air-fuel ratio sensor element.
  • the output value Voxs Due to the delay in the change of the output value Voxs, the output value Voxs is larger than the reference value Vf until the time t2, so that the conventional apparatus continues to determine that the lean request is generated until the time t2. Therefore, the air-fuel ratio of the engine continues to be set to a lean air-fuel ratio. As a result, the oxygen storage amount OSA continues to increase and reaches a value near the “maximum oxygen storage amount Cmax that is the maximum value of the catalyst oxygen storage amount OSA” immediately before time t2 or time t2.
  • the catalyst inflow gas contains a large amount of NOx (nitrogen oxide).
  • NOx nitrogen oxide
  • the oxygen storage amount OSA reaches a value close to the maximum oxygen storage amount Cmax, the catalyst cannot sufficiently purify NOx. As a result, a relatively large amount of NOx is discharged downstream of the catalyst in the period near time t2.
  • the rich request is generated even when the oxygen storage amount OSA is close to “0” (for example, immediately before time t1, immediately before time t3, and immediately before time t5). Is determined. As a result, excessive unburned matter flows into the catalyst, and the unburned matter may be discharged downstream of the catalyst without being purified.
  • the air-fuel ratio of the engine may be set to “an air-fuel ratio that is undesirable for the exhaust gas purification action of the catalyst”.
  • the present invention has been made to address the above-described problems. That is, one of the objects of the present invention is to control the air-fuel ratio of the engine so that the air-fuel ratio of the catalyst inflow gas becomes “the air-fuel ratio desirable for the exhaust gas purification action of the catalyst”. It is to provide a control device.
  • One aspect of an air-fuel ratio control apparatus for an internal combustion engine is: A catalyst disposed in an exhaust passage of the internal combustion engine; a downstream air-fuel ratio sensor disposed in the exhaust passage and downstream of the catalyst; and an air-fuel ratio control means.
  • the downstream air-fuel ratio sensor includes an element for detecting the air-fuel ratio.
  • the element shows an output value that changes in accordance with the oxygen partial pressure of a gas reaching the element (hereinafter also referred to as “element-arriving gas”).
  • the downstream air-fuel ratio sensor is preferably a concentration cell type oxygen concentration sensor (O 2 sensor).
  • O 2 sensor concentration cell type oxygen concentration sensor
  • the output value of the downstream air-fuel ratio sensor increases as “the air-fuel ratio of the element-arriving gas” becomes smaller (richer).
  • the downstream air-fuel ratio sensor may be a limiting current type wide-range air-fuel ratio sensor or the like.
  • the downstream air-fuel ratio sensor When the downstream air-fuel ratio sensor is a limit current type wide-range air-fuel ratio sensor, the output value of the downstream air-fuel ratio sensor becomes smaller as the “air-fuel ratio of the element reaching gas” becomes smaller (richer). Further, the downstream air-fuel ratio sensor may be a sensor having a zirconia element or a sensor having a titania element.
  • the air-fuel ratio control means increases the air-fuel ratio of the engine during a lean request generation period in which the air-fuel ratio of the engine needs to be increased to bring the output value of the downstream air-fuel ratio sensor close to a predetermined target value. To do.
  • the air-fuel ratio of the engine may be gradually increased or set to a predetermined (constant or variable) lean air-fuel ratio.
  • the air-fuel ratio control means controls the air-fuel ratio of the engine during a rich request generation period in which the air-fuel ratio of the engine needs to be decreased in order to bring the output value of the downstream air-fuel ratio sensor close to the target value. Decrease.
  • the air-fuel ratio of the engine may be gradually decreased or set to a predetermined (constant or variable) rich air-fuel ratio.
  • feedback control air-fuel ratio feedback control or sub-feedback control
  • the downstream air-fuel ratio sensor is a concentration cell type oxygen concentration sensor
  • the air-fuel ratio of the catalyst outflow gas is a rich air-fuel ratio
  • the air-fuel ratio of the engine is controlled to the lean air-fuel ratio.
  • the downstream air-fuel ratio sensor is a concentration cell type oxygen concentration sensor
  • the output value of the downstream air-fuel ratio sensor is smaller than the target value
  • the air-fuel ratio of the catalyst outflow gas is a lean air-fuel ratio
  • the downstream air-fuel ratio sensor is a limit current type wide-range air-fuel ratio sensor
  • the air-fuel ratio of the catalyst outflow gas is a lean air-fuel ratio. Therefore, the rich request is generated ", and the air-fuel ratio of the engine is controlled to the rich air-fuel ratio.
  • the downstream air-fuel ratio sensor is a limit current type wide-area air-fuel ratio sensor
  • the output value of the downstream air-fuel ratio sensor is smaller than the target value
  • the air-fuel ratio of the catalyst outflow gas is a rich air-fuel ratio. Therefore, the lean request is generated ", so that the air-fuel ratio of the engine is controlled to the lean air-fuel ratio.
  • the air-fuel ratio control means includes target value changing means.
  • the target value changing means includes The target value used in the feedback control is set to a predetermined reference value, and any one of the “region larger than the reference value and the region smaller than the reference value” is one of the regions and the downstream side. It gradually approaches the predetermined value within the region where the output value of the air-fuel ratio sensor exists as time passes.
  • the predetermined reference value is that the oxygen partial pressure of “the gas reaching the element of the downstream air-fuel ratio sensor (element-arriving gas)” is “when the air-fuel ratio of the element-arriving gas is the stoichiometric air-fuel ratio”.
  • the oxygen partial pressure it is a value within a “predetermined range” including “a value indicated by the output value of the downstream air-fuel ratio sensor (hereinafter also referred to as“ theoretical air-fuel ratio equivalent value ”)”.
  • one aspect of the air-fuel ratio control apparatus for an internal combustion engine according to the present invention controls the output value of the downstream air-fuel ratio sensor so as not to be excessive or small (that is, the oxygen storage amount OSA is a value near “0”).
  • the output value of the downstream air-fuel ratio sensor can be brought close to the reference value while avoiding the vicinity of the maximum oxygen storage amount Cmax).
  • one aspect of the air-fuel ratio control apparatus for an internal combustion engine according to the present invention prevents the “excessive oxygen or excessive unburned matter” from flowing into the catalyst in order to efficiently perform the exhaust purification action of the catalyst.
  • the “engine air-fuel ratio” can be controlled. Therefore, one aspect of the air-fuel ratio control apparatus can maintain emissions well.
  • the catalyst is properly purifying the substance to be purified. Therefore, when the output value of the downstream air-fuel ratio sensor fluctuates in the vicinity of the reference value, the target value differs from the reference value (the value between the current downstream air-fuel ratio sensor output value and the reference value). ) Is not necessary.
  • the absolute value of the difference between the output value of the downstream side air-fuel ratio sensor and the reference value is large, it means that a large amount of excess oxygen or excess unburned matter has reached the downstream side air-fuel ratio sensor.
  • FIG. 14 is a flowchart showing a routine executed by the CPU of the air-fuel ratio control apparatus (second control apparatus) according to the second embodiment of the present invention.
  • FIG. 15 is a flowchart showing a routine executed by the CPU of the air-fuel ratio control apparatus (third control apparatus) according to the third embodiment of the present invention.
  • FIG. 16 is a flowchart showing a routine executed by the CPU of the air-fuel ratio control apparatus (fourth control apparatus) according to the fourth embodiment of the present invention.
  • FIG. 17 is a flowchart showing a routine executed by the CPU of the air-fuel ratio control apparatus (fifth control apparatus) according to the fifth embodiment of the present invention.
  • the main body portion 20 includes a cylinder block portion and a cylinder head portion.
  • the main body portion 20 includes a plurality (four) of combustion chambers (first cylinder # 1 to fourth cylinder # 4) 21 including a piston top surface, a cylinder wall surface, and a lower surface of the cylinder head portion.
  • the exhaust system 40 includes an exhaust manifold 41, an exhaust pipe (exhaust pipe) 42, an upstream catalyst 43, and a downstream catalyst 44.
  • the upstream side catalyst (catalyst device (unit) for exhaust purification) 43 supports “noble metal as a catalyst material” and “ceria (Ce02) as an oxygen storage material” on a support including ceramic, and stores oxygen.
  • -It is a three-way catalyst having a release function (oxygen storage function).
  • the upstream catalyst 43 is disposed (intervened) in the exhaust pipe 42. When the upstream catalyst 43 reaches a predetermined activation temperature, it exhibits a “catalytic function for simultaneously purifying unburned substances (HC, CO, H 2, etc.) and nitrogen oxides (NOx)” and “oxygen storage function”. .
  • the upstream catalyst 43 is also referred to as a start catalytic converter (SC) or a first catalyst.
  • the first control device includes a hot-wire air flow meter 51, a throttle position sensor 52, an engine speed sensor 53, a water temperature sensor 54, an upstream air-fuel ratio sensor 55, a downstream air-fuel ratio sensor 56, and an accelerator opening sensor 57. .
  • the throttle position sensor 52 detects the opening degree of the throttle valve 34 and outputs a signal indicating the throttle valve opening degree TA.
  • the downstream air-fuel ratio sensor 56 includes a protective cover that covers the element portion including the solid electrolyte layer, the exhaust gas side electrode layer, the atmosphere side electrode layer, and the diffusion resistance layer.
  • the protective cover is made of metal and includes a plurality of through holes.
  • the exhaust gas that has reached the outside of the protective cover reaches the outside of the element portion through the through hole.
  • the diffusion resistance layer is formed by combining the gas that has reached the outer peripheral portion of the downstream air-fuel ratio sensor 56 with the oxygen-equilibrium gas (the gas after combining the existing unburned material with the existing oxygen, Or a gas containing only excess oxygen).
  • the accelerator opening sensor 57 shown in FIG. 1 detects the operation amount of the accelerator pedal AP operated by the driver, and outputs a signal indicating the operation amount Accp of the accelerator pedal AP.
  • the backup RAM provided in the electric control device 60 is a battery mounted on the vehicle regardless of the position of an ignition key switch (not shown) of the vehicle on which the engine 10 is mounted (any one of an off position, a start position, an on position, etc.). It is supposed to receive power supply from. When receiving power from the battery, the backup RAM stores data according to an instruction from the CPU (data is written) and holds (stores) the data so that the data can be read. The backup RAM cannot retain data when the power supply from the battery is interrupted, for example, when the battery is removed from the vehicle. In other words, the data held so far is lost (destroyed).
  • the interface of the electric control device 60 is connected to the sensors 51 to 57 so as to supply signals from the sensors 51 to 57 to the CPU. Further, the interface sends an instruction signal (drive signal) or the like to the ignition plug 24 of each cylinder, the fuel injection valve 25 of each cylinder, the intake valve control device 26, the throttle valve actuator 34a, etc. in accordance with an instruction from the CPU. It is like that.
  • the electric control device 60 sends an instruction signal to the throttle valve actuator 34a so that the throttle valve opening TA increases as the acquired accelerator pedal operation amount Accp increases.
  • a predetermined range (Vmid ⁇ v2 to Vmid + ⁇ v1) including a value (for example, median value Vmid) indicated by the output value Voxs of the downstream air / fuel ratio sensor when the air / fuel ratio is the oxygen partial pressure when the air / fuel ratio is the theoretical air / fuel ratio. It is a value in.
  • the determination of the air-fuel ratio is performed based on a comparison between the output value Voxs of the downstream air-fuel ratio sensor and the target value VREF, as will be described later.
  • the state of the catalyst 43 is a state where oxygen is excessive (a state where the oxygen storage amount OSA is larger than another predetermined value OSAmax larger than the predetermined value OSAmin). Therefore, when the determination of the air-fuel ratio is lean, in order for the catalyst 43 to purify the “substance to be purified” with high purification efficiency, the air-fuel ratio of the catalyst inflow gas (and hence the air-fuel ratio of the engine) is set to the rich air. It is necessary to set the fuel ratio. Therefore, the first control device determines that the rich request is generated when the determination of the air-fuel ratio is lean. When a rich request is occurring, the engine air / fuel ratio is reduced. In other words, the air-fuel ratio of the engine is controlled to be a “rich air-fuel ratio” that is an air-fuel ratio smaller than the stoichiometric air-fuel ratio.
  • the first control device determines that the air-fuel ratio is “rich” when the output value Voxs is larger than the target value VREF. Accordingly, the first control device determines that a lean request has occurred when the output value Voxs is greater than the target value VREF. The first control device determines that the air-fuel ratio is “lean” when the output value Voxs is smaller than the target value VREF. Therefore, the first control device determines that a rich request has occurred when the output value Voxs is smaller than the target value VREF.
  • the first control device acquires the “maximum value Vmax and minimum value Vmin” of the output value Voxs.
  • the first control device determines whether a lean request is currently generated (that is, whether the air / fuel ratio of the engine is set to a lean air / fuel ratio) or a rich request is generated (that is, the air / fuel ratio of the engine is rich).
  • the target value VREF determination threshold value VREF is determined according to “maximum value Vmax and minimum value Vmin” as shown in Table 1 below.
  • the minimum value Vmin is larger than the reference value Vf.
  • the first control device sets “a value obtained by adding a positive constant value B1 to the minimum value Vmin (Vmin + B1)” as the target value VREF (see FIG. 5C).
  • the value B1 is also referred to as a second change value.
  • the target value VREF set for determining whether or not the fuel ratio has changed to rich is also referred to as “a rich determination target value VREFR or a rich determination threshold value VREFR”.
  • the value A2 is also referred to as a first change value
  • the value B2 is also referred to as a second change value.
  • the value A1 and the value A2 may be equal to each other.
  • the value B1 and the value B2 may be the same value B.
  • the first control device determines that the air-fuel ratio is “lean” and determines that a “rich request” has occurred. Therefore, after time t6, the air-fuel ratio of the engine starts to decrease.
  • the reference value Vf is set as the target value VREF (the target value VREFR for rich determination) (see point P4).
  • the first control apparatus determines that the air-fuel ratio is “rich” and determines that a “lean request” has occurred. Therefore, the air-fuel ratio of the engine starts to increase after time t8.
  • the reference value Vf is set as the target value VREF (lean determination target value VREFL) based on the determination method (see point P5).
  • the first control device determines that the air-fuel ratio is “lean” and determines that a “rich request” has occurred. Therefore, after time t10, the air-fuel ratio of the engine starts to decrease.
  • the first control apparatus gradually brings the target value VREF closer to the reference value Vf, thereby increasing the amplitude of the output value Voxs.
  • the output value Voxs can be brought close to the reference value Vf while keeping the value small.
  • a small amplitude of the output value Voxs means that a large amount of oxygen or unburned matter does not flow out from the catalyst 43.
  • the first control device purifies the output value Voxs to the reference value Vf while purifying the unburned matter and NOx by the catalyst 43. It can be moved to the vicinity.
  • the first control device gradually brings the target value VREF closer to the reference value Vf even when the output value Voxs becomes a value near the minimum output value Min. . Therefore, as in the case shown in FIG. 6, the first control device can bring the output value Voxs closer to the reference value Vf while keeping the amplitude of the output value Voxs small.
  • MapX (a1, a2,...)” Is a “table having arguments a1, a2,...” And represents “a table for obtaining the value X”.
  • the CPU of the first control device repeatedly executes the fuel injection control routine shown in FIG. 8 for each cylinder every time the crank angle of any cylinder reaches a predetermined crank angle before the intake top dead center. It has become.
  • the predetermined crank angle is, for example, BTDC 90 ° CA (90 ° crank angle before intake top dead center).
  • a cylinder whose crank angle coincides with the predetermined crank angle is also referred to as a “fuel injection cylinder”.
  • the CPU calculates the commanded fuel injection amount (final fuel injection amount) Fi and instructs fuel injection by this fuel injection control routine.
  • FC condition a fuel cut condition
  • step 810 makes a “No” determination at step 810 to sequentially perform the processes from step 820 to step 860 described below. Thereafter, the CPU proceeds to step 895 to end the present routine tentatively.
  • Step 820 The CPU determines the target air-fuel ratio abyfr (upstream target air-fuel ratio abyfr) based on the operating state of the engine 10.
  • the target value VREF is set to a stoichiometric air fuel ratio stoichi (for example, 14.6).
  • Step 830 The CPU sets the “intake air amount Ga measured by the air flow meter 51, the engine rotational speed NE acquired based on the signal of the engine rotational speed sensor 53, and the lookup table MapMc (Ga, NE)”. Based on this, “the amount of air taken into the fuel injection cylinder (that is, the in-cylinder intake air amount Mc (k))” is acquired.
  • the in-cylinder intake air amount Mc (k) is stored in the RAM while corresponding to each intake stroke.
  • the in-cylinder intake air amount Mc (k) may be calculated by a well-known air model (a model constructed according to a physical law simulating the behavior of air in the intake passage).
  • Step 840 The CPU obtains the basic fuel injection amount Fb by dividing the in-cylinder intake air amount Mc (k) by the target air-fuel ratio abyfr.
  • the basic fuel injection amount Fb is a feedforward amount of the fuel injection amount necessary to obtain the target air-fuel ratio abyfr (theoretical air-fuel ratio stoich in this example).
  • This step 840 constitutes a feedforward control means for making the air-fuel ratio of the air-fuel mixture supplied to the engine (the air-fuel ratio of the engine) coincide with the target air-fuel ratio abyfr.
  • the main FB learning value KG and the main feedback coefficient FAF are obtained by a routine shown in FIG.
  • the main FB learning value KG is stored in the backup RAM.
  • Steps 820 to 860 constitute command fuel injection amount control means for “controlling the command fuel injection amount Fi so that the air-fuel ratio of the engine matches the target air-fuel ratio abyfr”.
  • step 810 the CPU makes a “Yes” determination at step 810 to directly proceed to step 895 to end the present routine tentatively. In this case, since fuel injection by the process of step 860 is not executed, fuel cut control (fuel supply stop control) is executed.
  • the CPU repeatedly executes the “main feedback control routine” shown in the flowchart of FIG. 9 every elapse of a predetermined time ta. Therefore, when the predetermined timing comes, the CPU starts the process from step 900 and proceeds to step 905 to determine whether or not the “main feedback control condition (upstream air-fuel ratio feedback control condition)” is satisfied.
  • the main feedback control condition is satisfied when all of the following conditions are satisfied.
  • (A1) The upstream air-fuel ratio sensor 55 is activated.
  • (A2) The engine load KL is equal to or less than the threshold KLth.
  • the load KL is a load factor obtained by the following equation (1).
  • an accelerator pedal operation amount Accp may be used.
  • Mc is the in-cylinder intake air amount
  • is the air density (unit is (g / l))
  • L is the exhaust amount of the engine 10 (unit is (l))
  • “4” is the engine.
  • the number of cylinders is 10.
  • KL (Mc / ( ⁇ ⁇ L / 4)) ⁇ 100% (1)
  • the CPU makes a “Yes” determination at step 905 to sequentially perform the processing from step 910 to step 950 described below to obtain the main feedback amount DFi, the main feedback coefficient FAF, and the like.
  • Step 910 The CPU acquires the feedback control output value Vabyfc according to the following equation (2).
  • Vabyfs is an output value of the upstream air-fuel ratio sensor 55
  • Vafsfb is a sub-feedback amount calculated based on the output value Voxs of the downstream air-fuel ratio sensor 56.
  • Step 915 The CPU obtains the feedback control air-fuel ratio abyfsc by applying the feedback control output value Vabyfc to the table Mapyfs shown in FIG. 2 as shown in the following equation (3).
  • abyfsc Mapabyfs (Vabyfc) (3)
  • Step 920 The CPU “in-cylinder fuel supply amount Fc (k ⁇ N)” which is “the amount of fuel actually supplied to the combustion chamber 21 at a time point N cycles before the current time” according to the following equation (4): “ That is, the CPU divides “the in-cylinder intake air amount Mc (k ⁇ N) at a point N cycles before the current point (ie, N ⁇ 720 ° crank angle)” by “the feedback control air-fuel ratio abyfsc”. Thus, the in-cylinder fuel supply amount Fc (k ⁇ N) is obtained.
  • Fc (k ⁇ N) Mc (k ⁇ N) / abyfsc (4)
  • the in-cylinder intake air amount Mc (k ⁇ N) N cycles before the current time is divided by the feedback control air-fuel ratio abyfsc. This is because “a time corresponding to N cycles” is required until “the exhaust gas generated by the combustion of the air-fuel mixture in the combustion chamber 21” reaches the upstream air-fuel ratio sensor 55.
  • Step 935 The CPU obtains the main feedback amount DFi according to the following equation (7).
  • Gp is a preset proportional gain
  • Gi is a preset integral gain.
  • the “value SDFc” in the equation (7) is “an integral value of the in-cylinder fuel supply amount deviation DFc”. That is, the CPU calculates the “main feedback amount DFi” by proportional-integral control for making the feedback control air-fuel ratio abyfsc coincide with the target air-fuel ratio abyfr.
  • This main feedback amount DFi is converted into a main feedback coefficient FAF in step 945 described later.
  • DFi Gp ⁇ DFc + Gi ⁇ SDFc (7)
  • Step 940 The CPU adds the in-cylinder fuel supply amount deviation DFc obtained in the above step 930 to the integral value SDFc of the in-cylinder fuel supply amount deviation DFc at that time, so that a new in-cylinder fuel supply amount deviation DFc is obtained. An integral value SDFc is obtained.
  • Step 945 The CPU calculates the main feedback coefficient FAF by applying the main feedback amount DFi and the basic fuel injection amount Fb (k ⁇ N) to the following equation (8). That is, the main feedback coefficient FAF is obtained by dividing “the value obtained by adding the main feedback amount DFi to the basic fuel injection amount Fb (k ⁇ N) N strokes before the current time” by the “basic fuel injection amount Fb (k ⁇ N)”. It is calculated by doing. As described above, the main feedback amount DFi is obtained by the proportional integral control, and this main feedback amount DFi is converted into the main feedback coefficient FAF.
  • FAF (Fb (k ⁇ N) + DFi) / Fb (k ⁇ N) (8)
  • Step 950 The CPU obtains the weighted average value of the main feedback coefficient FAF as the main feedback coefficient average value FAFAV according to the following equation (9).
  • the main feedback coefficient average value FAFAV is hereinafter also referred to as “correction coefficient average value FAFAV”.
  • the main feedback coefficient average value FAFAV is a value correlated with the average value of the main feedback amount DFi.
  • FAFAVnew is the updated correction coefficient average value FAFAV, and the FAFAVnew is stored as a new correction coefficient average value FAFAV.
  • the value q is a constant larger than 0 and smaller than 1.
  • the main feedback coefficient average value FAFAV may be an average value of the main feedback coefficient FAF in a predetermined period.
  • FAFAVnew q ⁇ FAF + (1-q) ⁇ FAFAV (9)
  • the CPU proceeds to step 955 and subsequent steps, and updates (acquires and calculates) the main FB learning value KG. That is, the CPU obtains the main FB learning value KG for bringing the main feedback coefficient FAF closer to the reference value (basic value) “1” based on the correction coefficient average value FAFAV.
  • step 955 the CPU proceeds to step 955 to determine whether or not the learning condition is satisfied at the present time.
  • the learning condition is satisfied every time a natural number times the time interval (predetermined time ta) at which the routine of FIG. 9 is executed elapses.
  • the CPU makes a “No” determination at step 955 to directly proceed to step 995 to end the present routine tentatively.
  • the main FB learning value KG is not updated.
  • the CPU makes a “Yes” determination at step 955 to proceed to step 960 to determine whether or not the value of the correction coefficient average value FAFAV is equal to or greater than the value (1 + d ⁇ ). judge.
  • the value d ⁇ is a positive predetermined value, for example, 0.02.
  • the CPU proceeds to step 965 to increase the main FB learning value KG by a positive predetermined value ⁇ KG. Thereafter, the CPU proceeds to step 995 to end the present routine tentatively.
  • the main FB learning value KG is stored in the backup RAM.
  • step 970 When the CPU proceeds to step 970 and the value of the correction coefficient average value FAFAV is larger than the value (1-d ⁇ ), the CPU directly proceeds from step 970 to step 995 to end the present routine tentatively. That is, when the correction coefficient average value FAFAV is a value between the value (1 ⁇ d ⁇ ) and the value (1 + d ⁇ ), the main FB learning value KG is not updated.
  • step 905 determines “No” in step 905, and sequentially performs the processing from step 980 to step 992 described below.
  • Step 980 The CPU sets the value of the main feedback amount DFi to “0”.
  • Step 985 The CPU sets the value of the main feedback coefficient FAF to “1”.
  • Step 990 The CPU sets the integral value SDFc of the in-cylinder fuel supply amount deviation to “0”.
  • Step 992 The CPU sets the correction coefficient average value FAFAV to “1”. Thereafter, the CPU proceeds to step 995 to end the present routine tentatively.
  • the value of the main feedback amount DFi is set to “0”, and the value of the main feedback coefficient FAF is set to “1”. Accordingly, the basic fuel injection amount Fb is not corrected by the main feedback coefficient FAF. However, even in such a case, the basic fuel injection amount Fb is corrected by the main FB learning value KG.
  • Sub feedback control> In order to calculate the sub feedback amount Vafsfb, the CPU executes a “sub feedback control routine” shown in FIG. 10 every time a predetermined time elapses.
  • the CPU starts processing from step 1000 in FIG. 10 and proceeds to step 1005 to determine whether or not the sub feedback control condition is satisfied.
  • the sub-feedback control condition is satisfied when all of the following conditions are satisfied.
  • (B1) The main feedback control condition is satisfied.
  • (B2) The downstream air-fuel ratio sensor 56 is activated.
  • the CPU makes a “Yes” determination at step 1005 to execute processing from step 1010 to step 1040 described below, and then proceeds to step 1095 to end the present routine tentatively.
  • Step 1010 The CPU reads the target value VREF (target value of the output value Voxs of the downstream air-fuel ratio sensor).
  • the target value VREF is determined by a routine described later.
  • Step 1015 The CPU obtains an “output deviation amount DVoxs” that is a difference between the “target value VREF” and the “output value Voxs of the downstream air-fuel ratio sensor 56” according to the following equation (10). That is, the CPU obtains the output deviation amount DVoxs by subtracting the output value Voxs from the target value VREF.
  • DVoxs VREF ⁇ Voxs (10)
  • Step 1020 The CPU obtains a sub feedback amount Vafsfb according to the following equation (11).
  • Kp is a preset proportional gain (proportional constant)
  • Ki is a preset integral gain (integral constant)
  • Kd is a preset differential gain (differential constant).
  • SDVoxs is an integral value of the output deviation amount DVoxs
  • DDVoxs is a differential value of the output deviation DVoxs.
  • Vafsfb Kp ⁇ DVoxs + Ki ⁇ SDVoxs + Kd ⁇ DDVoxs (11)
  • Step 1025 The CPU obtains a new output deviation amount integrated value SDVoxs by adding “the output deviation amount DVoxs obtained in step 1015” to “the integrated value SDVoxs of the output deviation amount at that time”.
  • Step 1030 The CPU obtains a new value by subtracting “the output deviation amount (previous output deviation amount DVoxsold) calculated when this routine was executed last time” from “the output deviation amount DVoxs calculated in Step 1015” above. A differential value DDVoxs of the output deviation amount is obtained.
  • Step 1035 The CPU stores “the output deviation amount DVoxs calculated in step 1015” as “the previous output deviation amount DVoxsold”.
  • the CPU calculates the “sub feedback amount Vafsfb” by proportional / integral / differential (PID) control for making the output value Voxs of the downstream air-fuel ratio sensor 56 coincide with the target value VREF.
  • the sub feedback amount Vafsfb is used to calculate the feedback control output value Vabyfc, as shown in the above-described equation (2).
  • Step 1040 The CPU updates the sub FB learning value Vafsfbg according to the following equation (12).
  • the left side Vafsfbg (k + 1) of the equation (12) represents the updated sub FB learning value Vafsfbg.
  • the value ⁇ is an arbitrary value from 0 to less than 1.
  • Vafsfbg (k + 1) ⁇ ⁇ Vafsfbg + (1 ⁇ ) ⁇ Ki ⁇ SDVoxs (12)
  • the sub FB learning value Vafsfbg is a value obtained by applying “filter processing for noise removal” to “integration term Ki ⁇ SDVoxs of the sub feedback amount Vafsfb”.
  • the sub FB learning value Vafsfbg is a value corresponding to the steady component (integral term) of the sub feedback amount Vafsfb.
  • step 1005 when the sub feedback control condition is not satisfied at the time when the CPU executes the process of step 1005, the CPU makes a “No” determination at step 1005 to execute the processes of step 1045 and step 1050 described below. Do in order. Thereafter, the CPU proceeds to step 1095 to end the present routine tentatively.
  • Step 1045 The CPU adopts the sub FB learning value Vafsfbg as the value of the sub feedback amount Vafsfb.
  • Step 1050 The CPU sets the integrated value SDVoxs of the output deviation amount to “0”.
  • the sub feedback amount Vafsfb is obtained so that the output value Voxs matches the target value VREF, and this sub feedback amount Vafsfb is reflected in the commanded fuel injection amount Fi (see step 910 in FIG. 9). .) Accordingly, the command fuel injection amount Fi is feedback-controlled so that the output value Voxs matches the target value VREF.
  • ⁇ Target value VREF determination> The CPU executes a “target value determination routine” shown in FIG. 11 every time a predetermined time elapses in order to determine “the target value VREF used for sub-feedback control”. Therefore, when the predetermined timing comes, the CPU starts the process from step 1100 in FIG. 11 and proceeds to step 1110 to determine whether or not the above-mentioned “sub feedback control condition” is satisfied.
  • the CPU makes a “No” determination at step 1110 to proceed to step 1120 to set the value of the target value convergence control execution flag XVSFB to “0”.
  • the target value convergence control execution flag XVSFB indicates that “target value convergence control (target value change control) for converging the target value VREF to the reference value Vf” is executed when the value is “1”. When the value is “0”, it indicates that “target value convergence control” is not executed.
  • the value of the target value convergence control execution flag XVSFB is the initial routine executed by the CPU when the ignition key switch of the “vehicle not shown in which the engine 10 is mounted” is changed from the off position to the on position. Is set to “0”.
  • step 1130 the CPU proceeds to step 1130 to set the value of the target value determination request flag XVREFreq to “1”, proceeds to step 1195, and once ends this routine.
  • the target value determination request flag XVREFreq indicates that when the value is “1”, it is necessary to newly determine the target value VREF (there is a request for updating the target value VREF).
  • the target value determination request flag XVREFreq indicates that it is not necessary to newly determine the target value VREF when the value is “0”.
  • the value of the target value determination request flag XVREFreq is set to “1” in the above-described initial routine. Thereafter, the CPU proceeds to step 1195 to end the present routine tentatively.
  • step 1110 the CPU makes a “Yes” determination at step 1110 to proceed to step 1040.
  • step 1140 the CPU determines whether the value of the target value determination request flag XVREFreq is “1”.
  • the value of the target value determination request flag XVREFreq is set to “1” in the initial routine described above or in step 1130 described above. Accordingly, the CPU makes a “Yes” determination at step 1140 to proceed to step 1050 to determine the target value VREF according to the above-described ⁇ determination method>.
  • step 1150 the CPU proceeds to step 1150 via step 1200 in FIG. 12, and determines whether the value of the target value convergence control execution flag XVSFB is “0” or not. judge.
  • the value of the target value convergence control execution flag XVSFB is set to “0” in the initial routine described above or step 1120 described above. Accordingly, the CPU makes a “Yes” determination at step 1202 to proceed to step 1204 to determine whether or not the output value Voxs of the downstream air-fuel ratio sensor is larger than the reference value Vf.
  • the CPU makes a “Yes” determination at step 1204 to proceed to step 1206 to set the value of the rich determination flag XR to “1”.
  • the value of the rich determination flag XR is “1”, it indicates that the air-fuel ratio is determined to be “rich”, and accordingly, a lean request is generated. Note that the value of the rich determination flag XR is set to “0” in the above-described initial routine.
  • the CPU makes a “No” determination at step 1204 to proceed to step 1208 to set the value of the rich determination flag XR to “0”.
  • the value of the rich determination flag XR is “0”, it indicates that the air-fuel ratio is determined to be “lean”, and accordingly, a rich request is generated.
  • step 1210 the CPU proceeds to step 1210 to set the value of the target value convergence control execution flag XVSFB to “1” and tentatively set the reference value Vf as the target value VREF. Thereafter, the CPU proceeds to step 1195 in FIG. 11 via step 1295 to end the target value determination routine once.
  • the sub feedback amount Vafsfb is calculated so that the output value Voxs matches the “target value VREF set to the reference value Vf”.
  • step 1110 the CPU makes a “Yes” determination at step 1110 to proceed to step 1140.
  • the target value determination request flag XVREFreq is still “1”. Accordingly, the CPU proceeds from step 1140 to step 1150, and proceeds to step 1202 via step 1200 in FIG.
  • the CPU makes a “Yes” determination at step 1212 to proceed to step 1214.
  • the “maximum value Vmax of the output value Voxs” has been acquired since the rich determination flag XR has been changed to “1”. Determine.
  • the maximum value Vmax is acquired separately by a routine not shown.
  • the CPU also acquires the minimum value Vmin of the output value Voxs.
  • the CPU acquires the output value Voxs of the downstream side air-fuel ratio sensor every elapse of the predetermined time Tb.
  • the CPU subtracts the output value Voxs before the predetermined time Tb (hereinafter referred to as “previous output value Voxszen”) from the newly acquired output value Voxs.
  • Value (Voxs ⁇ Voxszen) ” is acquired as“ differential value dVoxs / dt ”.
  • the CPU When the differential value dVoxs / dt before the predetermined time Tb is equal to or greater than “0” and the newly obtained differential value dVoxs / dt is smaller than “0”, the CPU outputs the output value Voxs before the predetermined time Tb. Is obtained as the maximum value Vmax. Similarly, when the differential value dVoxs / dt before the predetermined time Tb is equal to or smaller than “0” and the newly obtained differential value dVoxs / dt is larger than “0”, the CPU outputs the output value before the predetermined time Tb. Voxs is acquired as a minimum value Vmin.
  • Step 1100, Step 1110, Step 1140, and Step 1150 (actually Step 1200, Step 1202, Step 1212, and Step 1214) in FIG. 11 until the maximum value Vmax is acquired. .
  • the CPU determines “Yes” in step 1214 and proceeds to step 1216, and the acquired maximum value Read Vmax. Next, the CPU determines (sets) the target value VREF according to the rules for “rich determination” shown in Table 1 above.
  • the CPU proceeds to step 1218 to determine whether or not the maximum value Vmax is greater than or equal to the reference value Vf. If the maximum value Vmax is greater than or equal to the reference value Vf, the CPU proceeds to step 1220 to determine whether or not a value (Vmax ⁇ A1) obtained by subtracting “the value A1 as the first threshold value” from the maximum value Vmax is greater than the reference value Vf. Determine whether. When the value (Vmax ⁇ A1) is larger than the reference value Vf, the CPU proceeds to step 1222 to set a value (Vmax ⁇ A1) obtained by subtracting “value A1 as the first change value” from the maximum value Vmax as the target value. Set to VREF.
  • step 1226 the CPU proceeds to step 1226 to set the reference value Vf to the target value VREF. Furthermore, if the maximum value Vmax is smaller than the reference value Vf at the time when the CPU executes the processing of step 1218, the CPU proceeds to step 1228 and subtracts “value B2 as the second change value” from the maximum value Vmax. The value (Vmax ⁇ B2) is set to the target value VREF.
  • the CPU executes processing of any one of steps 1222, 1226, and 1228, and then proceeds to step 1224 to set the value of the target value determination request flag XVREFreq to “0”. Thereafter, the CPU proceeds to step 1195 via step 1295 and step 1150 in FIG. 11, and once ends the target value determination routine.
  • step 1110 the CPU makes a “Yes” determination at step 1110 to proceed to step 1140.
  • the target value determination request flag XVREFreq is set to “0” by the “process of step 1224 in FIG. 12” executed previously. Therefore, the CPU makes a “No” determination at step 1140 to proceed to step 1160 to perform air-fuel ratio determination (and air-fuel ratio request determination).
  • step 1160 the CPU proceeds to step 1310 via step 1300 in FIG. 13 and determines whether or not the value of the rich determination flag XR is “1”.
  • the CPU makes a “Yes” determination at step 1310 to proceed to step 1320 to determine whether or not the output value Voxs of the downstream air-fuel ratio sensor is smaller than the target value VREF. If the output value Voxs of the downstream air-fuel ratio sensor is smaller than the target value VREF, the CPU determines “Yes” in step 1320 (ie, determines that the air-fuel ratio is lean), and the steps described below The processes of 1330 and step 1340 are sequentially performed.
  • Step 1330 The CPU sets the value of the rich determination flag XR to “0”.
  • Step 1340 The CPU sets the value of the target value determination request flag XVREFreq to “1”. Thereafter, the CPU proceeds to step 1195 via step 1395 and step 1160 of FIG. 11 to end the target value determination routine once.
  • step 1320 determines whether the output value Voxs of the downstream air-fuel ratio sensor is greater than or equal to the target value VREF at the time when the CPU executes the process of step 1320. If the output value Voxs of the downstream air-fuel ratio sensor is greater than or equal to the target value VREF at the time when the CPU executes the process of step 1320, the CPU makes a “No” determination at step 1320 to perform step 1395. Proceed directly to. Thereafter, the CPU proceeds to step 1195 via step 1160 in FIG. 11 to end the target value determination routine once.
  • the value of the rich determination flag XR is “1”
  • the value of the rich determination flag XR is changed to “0” only when the output value Voxs becomes smaller than the target value VREF.
  • step 1140 of FIG. the CPU makes a “Yes” determination at step 1140 to proceed to step 1150. Accordingly, the CPU proceeds to step 1202 via step 1200 in FIG. 12, and determines whether or not the value of the target value convergence control execution flag XVSFB is “0”. In this case, the value of the target value convergence control execution flag XVSFB is “1” (see step 1210).
  • step 1202 the value of the rich determination flag XR is set to “0” by the processing of step 1330 of FIG. Therefore, the CPU makes a “No” determination at step 1212 to proceed to step 1230 to determine whether or not the “minimum value Vmin of the output value Voxs” has been acquired since the rich determination flag XR was changed to “0”. judge. As described above, the minimum value Vmin is acquired separately by a routine (not shown).
  • Step 1230 If the minimum value Vmin has not been acquired, the CPU makes a “No” determination at step 1230 to proceed directly to step 1195 via step 1295. Therefore, the CPU repeatedly executes Step 1100, Step 1110, Step 1140, and Step 1150 (actually Step 1200, Step 1202, Step 1212, and Step 1230) in FIG. 11 until the minimum value Vmin is acquired. .
  • the CPU determines “Yes” in step 1230 and proceeds to step 1232, and the acquired minimum value Read Vmin. Next, the CPU determines (sets) the target value VREF in accordance with the “lean determination” rule shown in Table 1 above.
  • the CPU proceeds to step 1234 to determine whether or not the minimum value Vmin is equal to or less than the reference value Vf. If the minimum value Vmin is less than or equal to the reference value Vf, the CPU proceeds to step 1236 to determine whether or not a value (Vmin + A2) obtained by adding “the value A2 as the first threshold value” to the minimum value Vmin is smaller than the reference value Vf. judge. If the value (Vmin + A2) is smaller than the reference value Vf, the CPU proceeds to step 1238 to set a value (Vmin + A2) obtained by adding the “value A2 as the first change value” to the minimum value Vmin as the target value VREF. .
  • step 1242 if the value (Vmin + A2) is greater than or equal to the reference value Vf, the CPU proceeds to step 1242 to set the reference value Vf to the target value VREF. Furthermore, if the minimum value Vmin is larger than the reference value Vf at the time when the CPU executes the process of step 1234, the CPU proceeds to step 1244 to add “value B1 as the second change value” to the minimum value Vmin. The value (Vmin + B1) is set to the target value VREF.
  • the CPU executes processing of any one of step 1238, step 1242, and step 1244, and then proceeds to step 1240 to set the value of the target value determination request flag XVREFreq to “0”. Thereafter, the CPU proceeds to step 1195 via step 1295 and step 1150 in FIG. 11, and once ends the target value determination routine.
  • step 1110 the CPU makes a “Yes” determination at step 1110 to proceed to step 1140.
  • the target value determination request flag XVREFreq is set to “0” by the “process of step 1240 of FIG. 12” executed previously. Accordingly, the CPU makes a “No” determination at step 1140 to proceed to step 1160 to perform air-fuel ratio determination.
  • step 1160 the CPU proceeds to step 1310 via step 1300 in FIG. 13 and determines whether or not the value of the rich determination flag XR is “1”.
  • the CPU makes a “No” determination at step 1310 to proceed to step 1350 to determine whether or not the output value Voxs of the downstream air-fuel ratio sensor is greater than the target value VREF. If the output value Voxs of the downstream air-fuel ratio sensor is larger than the target value VREF, the CPU determines “Yes” in step 1350 (ie, determines that the air-fuel ratio is rich), and the steps described below The processes of 1360 and step 1370 are sequentially performed.
  • Step 1360 The CPU sets the value of the rich determination flag XR to “1”.
  • Step 1370 The CPU sets the value of the target value determination request flag XVREFreq to “1”. Thereafter, the CPU proceeds to step 1195 via step 1395 and step 1160 of FIG. 11 to end the target value determination routine once.
  • step 1350 the CPU makes a “No” determination at step 1350 to step 1395. Proceed directly. Thereafter, the CPU proceeds to step 1195 via step 1160 in FIG. 11 to end the target value determination routine once.
  • the value of the rich determination flag XR is “0”
  • the value of the rich determination flag XR is changed to “1” only when the output value Voxs becomes larger than the target value VREF.
  • step 1140 the CPU makes a “Yes” determination at step 1140 to proceed to step 1150. Accordingly, the CPU proceeds to step 1202, step 1212 and step 1214 via step 1200 in FIG. Thereafter, similar processing is repeatedly performed.
  • the target value convergence control execution flag XVSFB is changed from “0” to “1” in accordance with the establishment of the sub-feedback control condition (see step 1140 in FIG. 11).
  • the CPU sets “minimum after the target value convergence control execution flag XVSFB is changed from“ 0 ”to“ 1 ”in step 1230. Whether or not the value Vmin has been acquired is monitored.
  • the first control device executes target value convergence control for gradually bringing the target value VREF closer to the reference value Vf.
  • the first control device determines whether a lean request is generated or a rich request is generated based on the output value Voxs of the downstream air-fuel ratio sensor and the target value VREF.
  • Fuel ratio control means determination means
  • the lean request is a request for increasing the air-fuel ratio of the engine in order to bring the output value Voxs closer to the target value VREF.
  • the rich request is a request for reducing the air-fuel ratio of the engine so that the output value Voxs approaches the target value VREF.
  • the lean request and the rich request are used to determine the target value VREF, but are not directly used to control the actual air / fuel ratio of the engine.
  • the air-fuel ratio of the engine is controlled by a sub-feedback amount Vafsfb calculated so that the output value Voxs and the target value VREF are matched.
  • the sub feedback amount Vafsfb increases the air / fuel ratio of the engine during the period in which the lean request is generated (that is, the period in which the output value Voxs is larger than the target value VREF) (indicated fuel injection amount). (Fi is decreased).
  • the sub-feedback amount Vafsfb decreases the air-fuel ratio of the engine (indicated fuel injection amount) during the period when the rich request is occurring (that is, the period during which the output value Voxs is smaller than the target value VREF). Fi is increased).
  • the first control device executes feedback control in which the air-fuel ratio of the engine is increased during the period in which the lean request is generated, and the air-fuel ratio in the engine is decreased in the period in which the rich request is generated.
  • Air-fuel ratio control means see the routine of FIG. 10, etc.).
  • the first control device includes extreme value acquisition means for acquiring the maximum value Vmax and the minimum value Vmin (see step 1214, step 1216, step 1230, and step 1232 in FIG. 12).
  • the maximum value Vmax that is equal to or greater than the reference value Vf and the minimum value Vmin that is equal to or less than the reference value Vf are “approaching the reference value Vf from a state in which the output value Voxs of the downstream air-fuel ratio sensor changes in a direction away from the reference value Vf. It can be said that this is the output value Voxs when the state changes to the direction.
  • Such extreme values a maximum value Vmax that is equal to or greater than the reference value Vf and a minimum value Vmin that is equal to or less than the reference value Vf
  • first extreme values are referred to as “first extreme values” for convenience.
  • the maximum value Vmax that is smaller than the reference value Vf and the minimum value Vmin that is larger than the reference value Vf are “separated from the reference value Vf from a state in which the output value Voxs of the downstream air-fuel ratio sensor changes in a direction approaching the reference value Vf. It can be said that this is the output value Voxs when the state changes to the direction.
  • Such extreme values maximum value Vmax smaller than reference value Vf and minimal value Vmin larger than reference value Vf
  • second extreme value are referred to as “second extreme value” for convenience.
  • the first control device includes extreme value acquisition means for acquiring the first extreme value and the second extreme value.
  • the air-fuel ratio control means of the first control device is: When the first extreme value (a maximum value Vmax that is equal to or greater than the reference value Vf or a minimum value Vmin that is equal to or less than the reference value Vf) is acquired by the extreme value acquisition unit, the acquired first extreme value and the reference A first value (Vmax ⁇ A1 or Vmin + A2) that is between the values Vf is set as the target value VREF (Table 1, (A) in FIG. 4, (C) in FIG. 4, ( A), (C) of FIG. 5, Step 1222, FIG. 1238 of FIG. 12, etc.).
  • the target value VREF Table 1, (A) in FIG. 4, (C) in FIG. 4, ( A), (C) of FIG. 5, Step 1222, FIG. 1238 of FIG. 12, etc.
  • the air-fuel ratio control means of the first control device sets the output value Voxs to “first value (Vmax) when a lean request is generated.
  • first value Vmax
  • the air-fuel ratio control means of the first control device sets the output value Voxs to “first value (Vmax) when a lean request is generated.
  • the absolute value of the difference between the output value Voxs and the reference value Vf is smaller than the absolute value of the difference between the “target value VREF set to the first value (Vmax ⁇ A1)” and the reference value Vf. This is the point.
  • the point in time when the absolute value of the difference between the output value Voxs and the reference value Vf becomes smaller than the absolute value of the difference between the “target value VREF set to the first value” and the reference value Vf is the first for convenience. Also called time.
  • the air-fuel ratio control means of the first control device at the time when the output value Voxs becomes larger than the “target value VREF set to the first value (Vmin + A2)” when the rich request is generated. It is determined that a lean request has occurred (see step 1310, step 1350, and step 1360 in FIG. 13). At this time, the absolute value of the difference between the output value Voxs and the reference value Vf is smaller than the absolute value of the difference between the “target value VREF set to the first value (Vmin + A2)” and the reference value Vf. It is a time point (that is, a first time point).
  • the air-fuel ratio control means of the first control device is configured such that “the absolute value of the difference between the output value Voxs and the reference value Vf” is “the target value VREF set to the first value and the reference value Vf”. “The other request”, which is different from the “one of the rich request and the lean request” that has been determined to have occurred up to the first time point at the first time point that is smaller than the “absolute value of the difference” Is determined to have occurred.
  • the air-fuel ratio control means of the first control device is: Thereafter (after it is determined that “the other request” has occurred), the second extreme value (the minimum value Vmin larger than the reference value Vf and the maximum value Vmax smaller than the reference value Vf) is obtained by the extreme value acquisition unit. Is acquired, “the acquired second extreme value” and “the first extreme value acquired by the extreme value acquisition means (the maximum value Vmax larger than the reference value Vf or the reference value Vf”). A second value (Vmin + B1 or Vmax ⁇ B2) that is a value between “small minimum value Vmin)” is set as the target value VREF (Table 1, FIG. 4C, FIG. 5C), 12 step 1228, step 1244, etc.). In other words, the air-fuel ratio control means of the first control device sets the value B1 and the value B1 so that the second value is a value between the latest first extreme value and the latest second extreme value. ing.
  • the air-fuel ratio control means of the first control device sets the output value Voxs to “the second value (Vmin + B1) when the rich request is generated. It is determined that a lean request has occurred when the target value VREF is greater than the target value VREF (see Step 1310, Step 1350, and Step 1360 in FIG. 13). At this time, the absolute value of the difference between the output value Voxs and the reference value Vf is larger than the absolute value of the difference between the “target value VREF set to the second value (Vmin + B1)” and the reference value Vf. It is time. When the absolute value of the difference between the output value Voxs and the reference value Vf becomes larger than the absolute value of the difference between the “target value VREF set to the second value” and the reference value Vf, for convenience, Also called time.
  • the air-fuel ratio control means of the first control device detects when the output value Voxs becomes smaller than the “target value VREF set to the second value (Vmax ⁇ B2)” when the lean request is generated. It is determined that a rich request has occurred (see step 1310 to step 1330 in FIG. 13). At this time, the absolute value of the difference between the output value Voxs and the reference value Vf is larger than the absolute value of the difference between the “target value VREF set to the second value (Vmax ⁇ B2)” and the reference value Vf. This is the point in time (ie, the second point).
  • the air-fuel ratio control means of the first control device is configured such that “the absolute value of the difference between the output value Voxs and the reference value Vf” is “the target value VREF set to the second value and the reference value Vf”. “The other request”, which is different from “Any one of the rich request and the lean request” that has been determined to have occurred up to the second time point at the second time point that is greater than the “absolute value of the difference” Is determined to have occurred.
  • the first control device brings the target value VREF closer to the reference value Vf by repeating such setting of the target value VREF and determination of the air-fuel ratio (determination of whether a rich request or a lean request is occurring). That is, the first control device determines that the maximum value Vmax of the output value Voxs of the downstream side air-fuel ratio sensor is larger than “a value obtained by adding the first threshold value (A1) to the reference value Vf” or the downstream side air-fuel ratio sensor.
  • the target value VREF target value used for sub-feedback control
  • the target value VREF executes target value convergence control.
  • the first control device changes the air-fuel ratio of the engine earlier than the conventional device in which the target value VREF is fixed to the reference value Vf (in other words, in a short cycle) from “lean air-fuel ratio to rich air-fuel ratio. To “or vice versa”.
  • the first control device can bring the output value Voxs closer to the reference value Vf while avoiding an increase in the amplitude of the output value Voxs, so that the emission can be maintained well.
  • the second change value (value B1 or value B2) is set to be smaller than “(sufficiently large) positive predetermined value” or more than the first change value (value A1 or value A2).
  • the first control device sets a value that is the second value (for example, Vmin + B1) between the acquired second extreme value (Vmin) and the first value (Vmax ⁇ A1). Can be set to a value.
  • the first control device sets the second value (for example, Vmax ⁇ B2) to a value between the acquired second extreme value (Vmax) and the first value (Vmin + A2). Can be set.
  • the first control device can quickly converge the target value VREF to the reference value Vf.
  • the first control device obtains after the “second extreme value acquisition time point when the minimum value Vmin (1) as the second extreme value is obtained”.
  • the value A1 and the value B1 are set so that the obtained first extreme value (that is, the maximum value Vmax (2)) is smaller than the maximum value Vmax (1) obtained before the second extreme value acquisition time. It is desirable (see FIG. 6).
  • the first control device starts the “second extreme value acquisition time when the maximum value Vmax (1) as the second extreme value is obtained” and thereafter.
  • the values A2 and B2 are set so that the obtained first extreme value (that is, the minimum value Vmin (2)) is larger than the minimum value Vmin (1) obtained before the second extreme value acquisition time point. It is desirable to do so (see FIG. 7).
  • the air-fuel ratio control means of the first control device reads “the first extreme value (for example, local maximum) acquired by the extreme value acquisition means after the second extreme value acquisition time (for example, time t3 in FIG. 6).
  • Value Vmax (2)) and the reference value Vf is an absolute value (
  • ) is smaller than the first value.
  • it is preferable that the first value (Vmax (1) ⁇ A1) and the second value (Vmin (1) + B1) are set.
  • the air-fuel ratio control means of the first control device may read: “The first extreme value (for example, the minimum value) acquired by the extreme value acquisition means after the second extreme value acquisition time (for example, time t3 in FIG. 7) Value Vmin (2)) ”and the reference value Vf is an absolute value (
  • the target value VREF can be more reliably converged to the reference value Vf.
  • the determination device of the first control device is When the first extreme value is acquired by the extreme value acquisition means, (1) When the absolute value of the difference between the acquired first extreme value and the reference value is larger than the positive first threshold value (value A1 or value A2) (“Yes” in step 1220 in FIG. 12) Or the determination of “Yes” in step 1236), the first value is set as the target value VREF (step 1222 or step 1238), (2) When the absolute value of the difference between the acquired first extreme value and the reference value is less than or equal to the first threshold value (determination of “No” in step 1220 of FIG. 12 or “ Reference value Vf is set as the target value VREF (step 1226 or step 1242).
  • the determination device of the first control device determines that the output value Voxs has been generated up to the third time point at the third time point when the output value Voxs crosses the “target value VREF set to the reference value Vf”. It is determined that the “other request” that is different from the “one of the rich request and the lean request” has occurred (routine in FIG. 13, after time t8 in FIG. 6, and time in FIG. 7). (Refer to t8 and later etc.).
  • the air-fuel ratio control means of the first control device is A value (Vmax (1) ⁇ A1) that is closer to the reference value by a positive first change value (value A1) than the first extreme value (for example, the maximum value Vmax (1)) is set as the first value. Then, a value (Vmin (1) + B1) far from the reference value Vf by the positive second change value (value B1) compared to the second extreme value (minimum value Vmin (1)) is set as the second value.
  • the first change value (value A1) may be equal to or less than the first threshold value (value A1), and the second change value (value B1) is more than the first change value (value A1). Small is desirable.
  • the air-fuel ratio control means of the first control device is A value (Vmin (1) + A2) that is closer to the reference value by a positive first change value (value A2) than the first extreme value (for example, the minimum value Vmin (1)) is set as the first value.
  • a value (Vmax (1) ⁇ B2) far from the reference value Vf by the positive second change value (value B2) compared to the second extreme value (maximum value Vmax (1)) is set as the second value.
  • the first change value (value A2) may be equal to or less than the first threshold value (value A2), and the second change value (value B2) is more than the first change value (value A2). Small is desirable.
  • the second control device sets the first change value (value A1 and value A2) and the second change value (value B1 and value B2) to be “smaller as the temperature (element temperature) of the downstream air-fuel ratio sensor 56 is lower. Only in that it is different from the first control device.
  • the output value Voxs of the downstream air-fuel ratio sensor increases as the temperature of the downstream air-fuel ratio sensor 56 decreases.
  • the minimum value approaches the minimum output value Min.
  • the output value Voxs of the downstream air-fuel ratio sensor changes more rapidly as the temperature Tear of the downstream air-fuel ratio sensor 56 is lower.
  • the CPU of the second control device executes the routine shown in FIG. 14 every time a predetermined time elapses. Accordingly, when the predetermined timing comes, the CPU starts processing from step 1400 in FIG. 14 and proceeds to step 1410 to acquire the temperature Tear of the downstream side air-fuel ratio sensor 56. Specifically, the CPU acquires the impedance (or admittance) of the downstream air-fuel ratio sensor 56, and acquires the temperature Tear based on the impedance. The CPU may obtain the temperature Tear by estimating the temperature of the exhaust gas from the load KL and the engine rotational speed NE, and performing a first-order lag process or the like on the estimated temperature of the exhaust gas.
  • step 1420 the CPU proceeds to step 1420, and applies the acquired temperature Tree to the table MapAB (Trea) shown in step 1420, whereby the first change value (value A1 and value A2) and the second change value are applied.
  • the values (value B1 and value B2) are determined.
  • the first change value and the second change value are determined to be smaller as the temperature Tear is lower.
  • the value A1 and the value A2 are equal, but the value A1 and the value A2 may be different.
  • the value B1 and the value B2 are equal, but the value B1 and the value B2 may be different.
  • the CPU proceeds to step 1495 to end the present routine tentatively.
  • the CPU sets the target value VREF using the “first change value and second change value” thus determined (see the routine of FIG. 12).
  • the output value Voxs of the downstream air-fuel ratio sensor changes more rapidly as the temperature Tear of the downstream air-fuel ratio sensor 56 is lower (the output when the air-fuel ratio of the catalyst outflow gas has passed the stoichiometric air-fuel ratio stoich).
  • the fluctuation range of the value Voxs becomes large). Therefore, the second control device “decreases” the first change value and the second change value as the temperature Tear is lower. Thereby, it can be determined that a rich request has occurred before the output value Voxs becomes excessively small, and it can be determined that a lean request has occurred before the output value Voxs becomes excessively large.
  • the output value Voxs can be maintained in the vicinity of the “target value VREF approaching the reference value Vf with time” while maintaining the amplitude of the output value Voxs small. Therefore, the second control device can maintain the emission satisfactorily regardless of the temperature Tear.
  • the second control device may change only the value A1 and the value A2 according to the temperature Tear, and may maintain the value B1 and the value B2 at constant values. Further, the second control device may set at least one of the value A1, the value A2, the value B1, and the value B2 to a “smaller value” as the temperature Tear is lower. In addition, the second control device may change the values (A1, A2) as the first threshold value according to the temperature Tear as well as the first change value, or may maintain the values at a constant value.
  • the third control device uses the first change value (value A1 and value A2) and the second change value (value B1 and value B2) as the flow rate of the exhaust gas passing through the catalyst 43 (and hence the intake air amount Ga) decreases. It differs from the first control device only in that it is “smaller”.
  • the “change width per unit time of the output value Voxs of the downstream air-fuel ratio sensor” when the air-fuel ratio of the catalyst outflow gas crosses the stoichiometric air-fuel ratio stoich is the flow rate of the exhaust gas passing through the catalyst 43. Is smaller than when the flow rate of the exhaust gas passing through the catalyst 43 is large. This is because when the exhaust gas flow rate is small, compared to when the exhaust gas flow rate is large, it is difficult for oxygen to flow out downstream of the catalyst 43 until the oxygen storage amount OSA reaches a value near the maximum oxygen storage amount Cmax. When the OSA reaches a value near the maximum oxygen storage amount Cmax, it is estimated that oxygen suddenly flows out downstream of the catalyst 43.
  • the CPU of the third control device executes the routine shown in FIG. 15 every time a predetermined time elapses. Therefore, when the predetermined timing comes, the CPU starts processing from step 1500 in FIG. 15 and proceeds to step 1510 to acquire the intake air amount Ga.
  • the intake air amount Ga represents the flow rate of exhaust gas passing through the catalyst 43.
  • the CPU proceeds to step 1520, and applies the acquired intake air amount Ga to the table MapAB (Ga) shown in step 1520, whereby the first change value (value A1 and value A2), 2 change values (value B1 and value B2) are determined.
  • the first change value and the second change value are determined so as to decrease as the intake air amount Ga decreases.
  • the value A1 and the value A2 are equal, but the value A1 and the value A2 may be different.
  • the value B1 and the value B2 are equal, but the value B1 and the value B2 may be different.
  • the CPU proceeds to step 1595 to end the present routine tentatively.
  • the CPU sets the target value VREF using the “first change value and second change value” thus determined (see the routine of FIG. 12).
  • the third control device can maintain the emission satisfactorily regardless of the flow rate of the exhaust gas.
  • the third control device may change only the value A1 and the value A2 according to the intake air amount Ga, and may maintain the value B1 and the value B2 at constant values. Further, the third control device may set at least one of the value A1, the value A2, the value B1, and the value B2 to a smaller value as the intake air amount Ga is smaller. In addition, the third control device may change the values (A1, A2) as the first threshold values according to the intake air amount Ga as well as the first change value, or may maintain them at a constant value. .
  • the fourth control device increases the first change value (value A1 and value A2) as the first extreme value (the maximum value Vmax larger than the reference value Vf and the minimum value Vmin smaller than the reference value Vf) increases. It differs from the first control device only in that it is “smaller”.
  • the CPU of the fourth control apparatus executes a routine shown in FIG. 16 instead of FIG. 12 in addition to the routines shown in FIGS. 8 to 11 and FIG. That is, when the CPU proceeds to step 1150 in FIG. 11, the CPU proceeds to step 1600 in FIG. Further, when the CPU proceeds to step 1695 in FIG. 16, the CPU proceeds to step 1195 via step 1150 in FIG.
  • the routine shown in FIG. 16 differs from the routine shown in FIG. 12 only in that “steps 1610 to 1640” are added to the routine shown in FIG. Therefore, hereinafter, this difference will be mainly described.
  • step 1220 the CPU proceeds to step 1610 to determine whether or not a value obtained by subtracting the value (A1 + a1) from the maximum value Vmax (Vmax ⁇ (A1 + a1)) is greater than the reference value Vf. judge.
  • the value a1 is a positive predetermined value, and the value (A1 + a1) is smaller than the absolute value of the difference between the maximum output value Max and the reference value Vf.
  • step 1610 If the value (Vmax ⁇ (A1 + a1)) is larger than the reference value Vf, the CPU proceeds from step 1610 to step 1620, and sets the value (Vmax ⁇ A1s) as the target value VREF.
  • the value A1s is a predetermined positive value that is smaller than the value A1. Thereafter, the CPU proceeds to step 1224.
  • the CPU proceeds from step 1610 to step 1222, and sets the value (Vmax ⁇ A1) to the target value VREF. Thereafter, the CPU proceeds to step 1224.
  • the CPU sets the target value VREF to the value (Vmax ⁇ A1s) when the absolute value of the difference between the maximum value Vmax and the reference value Vf is larger than the value (A1 + a1), and sets the maximum value Vmax and the reference value Vf.
  • the target value VREF is set to the value (Vmax ⁇ A1) when the absolute value of the difference between the values is greater than the value A1 and equal to or less than the value (A1 + a1).
  • the first value is set to a larger value than when the maximum value Vmax is smaller than the predetermined value (Vf + A1 + a1).
  • step 1236 the CPU proceeds to step 1630 to determine whether or not a value obtained by adding the value (A2 + a2) to the minimum value Vmin (Vmim + (A2 + a2)) is smaller than the reference value Vf. Determine.
  • the value a2 is a positive predetermined value, and the value (A2 + a2) is smaller than the absolute value of the difference between the minimum output value Min and the reference value Vf.
  • step 1630 If the value (Vmim + (A2 + a2)) is smaller than the reference value Vf, the CPU proceeds from step 1630 to step 1640 and sets the value (Vmin + A2s) to the target value VREF.
  • the value A2s is a positive predetermined value that is smaller than the value A2. Thereafter, the CPU proceeds to step 1240.
  • the CPU proceeds from step 1630 to step 1238, and sets the value (Vmin + A2) to the target value VREF. Thereafter, the CPU proceeds to step 1240.
  • the CPU sets the target value VREF to the value (Vmin + A2s) when the absolute value of the difference between the minimum value Vmin and the reference value Vf is larger than the value (A2 + a2), and the difference between the minimum value Vmin and the reference value Vf. Is larger than the value A2 and not more than the value (A2 + a2), the target value VREF is set to the value (Vmin + A2).
  • the first value is set to a smaller value than when the minimum value Vmin is larger than the predetermined value (Vf ⁇ (A2 + a2)).
  • the catalyst outflow gas contains a large amount of oxygen. Therefore, the output value Voxs of the downstream air-fuel ratio sensor shows a value very close to the minimum output value Min.
  • the output value Voxs of the downstream air-fuel ratio sensor does not increase immediately. That is, the change in the output value Voxs with respect to the change in the air-fuel ratio of the catalyst outflow gas is delayed.
  • the catalyst outflow gas contains a large amount of unburned substances.
  • the output value Voxs of the downstream air-fuel ratio sensor is very close to the maximum output value Max.
  • the air-fuel ratio of the catalyst outflow gas becomes the lean air-fuel ratio after the end of the increase control after the fuel cut ends. Even so, the output value Voxs of the downstream air-fuel ratio sensor does not immediately decrease. That is, the change in the output value Voxs with respect to the change in the air-fuel ratio of the catalyst outflow gas is delayed.
  • the downstream air-fuel ratio sensor 56 when a large amount of oxygen or a large amount of unburned matter reaches the downstream air-fuel ratio sensor 56, the downstream air-fuel ratio sensor 56 is in a so-called “primary poisoning state”, and the responsiveness of the sensor decreases. .
  • the fourth control device when the maximum value Vmax becomes extremely large (that is, when the absolute value of the difference between the maximum value Vmax and the reference value Vf is larger than the value (A1 + a1)), the target The value VREF is set to “a value closer to the maximum value Vmax (Vmax ⁇ A1s) ⁇ . Similarly, the fourth control device determines that the minimum value Vmin becomes extremely small (that is, the minimum value Vmin and the reference value Vf When the absolute value of the difference is larger than the value (A2 + a2)), the target value VREF is set to “a value closer to the minimum value Vmin (Vmin + A2s)”.
  • the fourth control device can bring the output value Voxs closer to the reference value Vf while avoiding an increase in the amplitude of the output value Voxs, so that the emission can be maintained satisfactorily.
  • the fourth control device The value of the first change value when the absolute value of the difference between the first extreme value (for example, the maximum value Vmax) and the reference value Vf is greater than a positive second threshold (A1 + a1) is the first extreme value. It is said that the device is configured to set a value (A1s) smaller than the value (A1) of the first change value when the absolute value of the difference between the reference value and the reference value is equal to or less than the second threshold value. be able to.
  • the fourth control device The value of the first change value when the absolute value of the difference between the first extreme value (for example, the minimum value Vmin) and the reference value Vf is greater than the positive second threshold (A2 + a2) is the first extreme value. It is said that the apparatus is configured to set a value (A2s) smaller than the value (A2) of the first change value when the absolute value of the difference between the reference value and the reference value is equal to or less than the second threshold value. be able to.
  • the fourth control device The value of the second change value when the absolute value of the difference between the first extreme value (for example, the maximum value Vmax) and the reference value Vf is larger than the positive second threshold (A1 + a1) is the first extreme value.
  • the absolute value of the difference between the reference value and the reference value may be set to a value (B1s) smaller than the value (B1) of the second change value when the absolute value is equal to or less than the second threshold value.
  • the fourth control device The value of the second change value when the absolute value of the difference between the first extreme value (for example, the minimum value Vmin) and the reference value Vf is larger than the positive second threshold (A2 + a2) is the first extreme value.
  • the absolute value of the difference between the reference value and the reference value may be set to a value (B2s) smaller than the second change value (B2) when the absolute value is equal to or less than the second threshold value.
  • the fourth control device may set at least one of the first change value A1 and the second change value B1 so as to continuously decrease as the maximum value Vmax larger than the reference value Vf increases. Good. Similarly, the fourth control device sets at least one of the first change value A2 and the second change value B2 so that it continuously decreases as the minimum value Vmin smaller than the reference value Vf decreases. Also good.
  • the fifth control device sets the first change value (at least one of the value A1 and the value A2) for a period from when the fuel cut control ends until a predetermined time elapses (period after the fuel cut control ends), fuel cut control. It differs from the first control device only in that it is smaller than the period other than the period after the end.
  • the CPU of the fifth control device is different from the CPU of the fourth control device only in that the routine shown in FIG. 17 instead of FIG. 16 is executed. Therefore, hereinafter, this difference will be mainly described.
  • the routine shown in FIG. 17 differs from the routine shown in FIG. 16 only in that “steps 1610 and 1630” of the routine shown in FIG. 16 are replaced with “steps 1710 and 1720”, respectively.
  • step 1710 the CPU determines whether or not the current time is within the period after the end of the fuel cut control. If the current time is within the period after the end of fuel cut control, the CPU proceeds from step 1710 to step 1620. If the current time is not within the period after the end of fuel cut control, the CPU proceeds from step 1710 to step 1222.
  • step 1720 the CPU determines whether or not the current time is within the period after the end of the fuel cut control. If the current time is within the period after the end of the fuel cut control, the CPU proceeds from step 1720 to step 1640. If the current time is not within the period after the end of fuel cut control, the CPU proceeds from step 1720 to step 1238.
  • the downstream air-fuel ratio sensor 56 is in the above-described primary poisoning state within the period after the end of the fuel cut control. Accordingly, as in the fifth control device, the first change value is decreased within the period after the end of the fuel cut control (the target value VREF is set to the value Vmax-A1s instead of the value Vmax-A1, or the value Vmin + A2 Instead of the value Vmin + A2s). That is, the fifth control device sets the “first change value within the period after the end of the fuel cut control” to a value smaller than the “first change value during the period other than the period during the end of the fuel cut control”.
  • the fifth control device can bring the output value Voxs closer to the reference value Vf while avoiding an increase in the amplitude of the output value Voxs, so that the emission can be maintained well.
  • the fifth control device may set “the second change value within the period after the end of the fuel cut control” to a value smaller than the “second change value during the period other than the end of the fuel cut control”.
  • the “period after the end of fuel cut control” includes a control for setting the air / fuel ratio of the engine to a rich air / fuel ratio over a predetermined period after the end of the fuel cut control (an increase control after the end of the fuel cut) and an increase control after the end of the fuel cut.
  • a period obtained by adding a period until a predetermined time elapses after the end of the process may be included.
  • the fifth control device may replace step 1710 with “a step of determining whether or not the present time is within a period in which a predetermined time has elapsed after the end of the increase control after the fuel cut ends”. Furthermore, the fifth control apparatus may replace step 1720 with “a step of determining whether or not the present time is within a period in which a predetermined time has elapsed after the end of the fuel-cut increase control”. In addition, it is preferable that the fifth control device maintains the values (A1, A2) as the first threshold values at a constant value.
  • the sixth control device sets the first change value (value A1 and value A2) as “more than when the engine is in a predetermined acceleration state and when the engine is not in a predetermined acceleration state (when it is in a steady state). It differs from the first control device only in that it is “small”.
  • the CPU of the sixth control device is different from the CPU of the fourth control device only in that the routine shown in FIG. 18 instead of FIG. 16 is executed. Therefore, hereinafter, this difference will be mainly described.
  • the routine shown in FIG. 18 differs from the routine shown in FIG. 16 only in that “steps 1610 and 1630” in the routine shown in FIG. 16 are replaced with steps 1810 and 1820, respectively.
  • the CPU determines whether or not the current state of the engine 10 is in a predetermined acceleration state. More specifically, the CPU determines that the current time is “a period from when the change amount ⁇ TA of the throttle valve opening TA per unit time becomes equal to or greater than the transient determination threshold ⁇ TAth to the time when a predetermined time elapses (acceleration When the period is “within”, it is determined that the current state of the engine 10 is in a predetermined acceleration state.
  • the parameters for determining whether or not the vehicle is in an acceleration state include the change amount ⁇ TA per unit time of the throttle valve TA, the change amount ⁇ Accp per unit time of the accelerator pedal operation Accp, and the unit time of the intake air amount Ga. Or a change amount ⁇ KL of the load KL per unit time, a change amount ⁇ SPD of the speed of the vehicle equipped with the engine 10 per unit time, or the like.
  • step 1810 the CPU proceeds from step 1810 to step 1620. If the current time is not within the acceleration period, the CPU proceeds from step 1810 to step 1222.
  • step 1820 the CPU determines whether or not the current time is within the acceleration period. If the current time is within the acceleration period, the CPU proceeds from step 1820 to step 1640. If the current time is not within the acceleration period, the CPU proceeds from step 1820 to step 1238.
  • the oxygen storage amount OSA of the catalyst 43 is likely to reach “a value close to the maximum oxygen storage amount Cmax or a value close to“ 0 ””, and in that state, a large amount of “NOx or unburned” There is a high possibility that the “thing” will flow into the catalyst 43.
  • the sixth control device decreases the first change value within the acceleration period (target value VREF is set to value Vmax-A1s instead of value Vmax-A1 or set to value Vmin + A2s instead of value Vmin + A2. To do). That is, the sixth control device sets “the first change value within the acceleration period” to a value smaller than “the first change value during the period other than the acceleration period”.
  • the lean request or rich request can be determined more quickly.
  • the air-fuel ratio of the engine can be switched without delay from “lean air-fuel ratio to rich air-fuel ratio or vice versa”. Therefore, the sixth control device can maintain the emission satisfactorily.
  • the sixth control device may set the “second change value in the acceleration period” to a value smaller than the “second change value in a period other than the acceleration period”.
  • a control device according to a seventh embodiment of the present invention (hereinafter simply referred to as “seventh control device”) will be described.
  • the seventh control device is different from the first control device only in that the learning condition for the main FB learning value KG is different from the learning condition for the first control device. Therefore, hereinafter, this difference will be mainly described.
  • the CPU of the seventh control device executes the routines shown in FIGS. 8 to 13 like the CPU of the first control device. However, the CPU of the seventh control device determines that the learning condition is satisfied when all of the following conditions are satisfied in step 955 of FIG. 9.
  • Condition 1 A time that is a natural number times the time interval (predetermined time ta) at which the routine of FIG. 9 is executed has elapsed.
  • Condition 2 The state in which the target value VREF matches the reference value Vf has elapsed for a predetermined time t or longer.
  • the seventh control device executes “learning control to update the main FB learning value KG” when the target value VREF is set to the reference value Vf, and the target value VREF is set to the reference value Vf. If not, the learning control is not executed (prohibited).
  • the seventh control device updates the main FB learning value KG only when the target value VREF matches the reference value Vf (executes learning control). Therefore, the possibility that the main FB learning value KG becomes an incorrect value can be reduced. As a result, the seventh control apparatus can maintain the emission satisfactorily.
  • the seventh control device updates the correction coefficient average value FAFAV in step 950 of FIG. 9 only when the state in which the target value VREF matches the reference value Vf has elapsed for a predetermined time t or longer.
  • it is configured.
  • the seventh control device and the control device are: An intake air amount (in-cylinder intake air amount Mc (k)) sucked into the engine 10 is acquired (step 830 in FIG. 8), and the acquired intake air amount (in-cylinder intake air amount Mc (k)) A basic fuel injection amount Fb for making the air-fuel ratio of the “air mixture supplied to the engine 10” coincide with the stoichiometric air-fuel ratio (step 840 in FIG.
  • An upstream air-fuel ratio sensor 55 that is disposed upstream of the catalyst 43 in the exhaust passage and outputs an output value corresponding to the air-fuel ratio of the exhaust gas flowing into the catalyst 43;
  • Calculation means steps 905 to 945 in FIG. 9);
  • the basic fuel injection amount is corrected so as to increase the basic fuel injection amount in a period in which it is determined that the lean request is generated, and in the period in which it is determined that the rich request is generated.
  • Sub feedback amount calculating means for calculating a sub feedback amount (Vafsfb) for correcting the basic fuel injection amount so as to decrease the basic fuel injection amount;
  • the basic fuel injection amount Fb is corrected by an air-fuel ratio correction amount (FAF) based on the main feedback amount and the sub feedback amount to calculate the indicated fuel injection amount Fi (step 910 in FIG. 9 and step 850 in FIG. 8).
  • FAF air-fuel ratio correction amount
  • the feedback control is executed by supplying the calculated fuel injection amount Fi to the engine 10 (step 860 in FIG. 8) fuel injection amount control means, Is an air-fuel ratio control device.
  • the air-fuel ratio control means of the seventh control device is Learning control for acquiring a value correlated with the average value of the main feedback amount (for example, FAFAV or a value that increases when FAFAV is large and decreases when FAFAV is small) as an air-fuel ratio learning value (main FB learning value KG).
  • Learning means steps 950 to 975 in FIG. 9 to be executed,
  • the fuel injection amount control means includes The command fuel injection amount is calculated by correcting the basic fuel injection amount Fb based on the air-fuel ratio learning value KG (step 850 in FIG.
  • the learning means of the seventh control device comprises: The learning control is executed when the target value is set to the reference value, and the learning control is not executed when the target value is not set to the reference value ( (See step 955 in FIG. 9 and (Condition 2) described above.)
  • the eighth control device is configured to correct the air-fuel ratio learning value (main FB learning value KG) based on a value correlated with the target value VREF when the target value VREF does not converge to the reference value Vf. Only the seventh control device is different. Therefore, hereinafter, this difference will be mainly described.
  • the CPU of the eighth control device executes the same routine as the CPU of the seventh control device. Further, the CPU of the eighth control device executes the routine shown in FIG. 19 every time a predetermined time elapses.
  • the CPU starts the process from step 1900 in FIG. 19 and proceeds to step 1910 to determine whether or not the main feedback control condition is satisfied. At this time, if the main feedback control condition is not satisfied, the CPU proceeds directly from step 1910 to step 1995 to end the present routine tentatively.
  • the CPU makes a “Yes” determination at step 1910 to proceed to step 1920, where “the target value VREF is the first value. It is determined whether or not a state that matches the reference value Vf for one or more durations (hereinafter also referred to as “target value convergence state”) has not occurred for the second duration t href or more. To do.
  • the CPU makes a “No” determination at step 1920 to Proceeding directly to 1995, this routine is temporarily terminated.
  • the CPU makes a “Yes” determination at step 1920 to proceed to step 1930, where the target value VREF is It is determined whether or not the value (Vmax ⁇ A1) and the value (Vmin + A2) are alternately changed.
  • the CPU makes a “Yes” determination at step 1930 to proceed directly to step 1995.
  • the routine is temporarily terminated.
  • the CPU makes a “No” determination at step 1930 to proceed to step 1940, where the average of the target value VREF It is determined whether or not a value (an average value of the target value VREF from a predetermined point in the past to a current value, a value correlated with the average value of the target value VREF) is larger than the reference value Vf.
  • the CPU makes a “Yes” determination at step 1940 to proceed to step 1950 to decrease the main FB learning value KG by a positive predetermined value dKG1. That is, the main FB learning value KG is corrected to “a value that further reduces the basic fuel injection amount Fb” compared to the main FB learning value KG at that time. Thereafter, the CPU proceeds to step 1995 to end the present routine tentatively.
  • step 1940 If the average value of the target value VREF is smaller than the reference value Vf when the CPU executes the process of step 1940, the CPU makes a “No” determination at step 1940 to proceed to step 1960, where the main FB learning value KG Is increased by a positive predetermined value dKG2. That is, the main FB learning value KG is corrected to “a value that increases the basic fuel injection amount Fb” as compared with the main FB learning value KG at that time. Thereafter, the CPU proceeds to step 1995 to end the present routine tentatively.
  • the center of the air-fuel ratio of the engine is the theoretical sky. It becomes smaller than the fuel ratio stoich. Therefore, the average air-fuel ratio of the catalyst outflow gas also becomes a rich air-fuel ratio.
  • the output value Voxs of the downstream air-fuel ratio sensor oscillates around a value larger than the reference value Vf as shown in FIG. That is, the maximum value Vmax continues to be a value near the maximum output value Max.
  • the target value VREF alternately changes to a value (Vmax ⁇ A1) that is the lean determination target value VREFL and a value Vf that is the rich determination target value VREFR.
  • the target value VREF does not converge to the reference value Vf, and the “target value convergence state” does not occur over the second duration t href.
  • the eighth control device decreases the main FB learning value KG by a positive predetermined value dKG1 as described above.
  • the center of the air-fuel ratio of the engine can be brought close to the stoichiometric air-fuel ratio stoich, and the target value VREF can be converged to the reference value Vf.
  • the center of the air-fuel ratio of the engine is theoretically It becomes larger than the air-fuel ratio stoich. Therefore, the average of the air-fuel ratio of the catalyst outflow gas is also the lean air-fuel ratio.
  • the output value Voxs of the downstream air-fuel ratio sensor oscillates around a value smaller than the reference value Vf as shown in FIG. That is, the minimum value Vmin continues to be a value near the minimum output value Min.
  • the target value VREF alternately changes to a value (Vmin + A2) that is the rich determination target value VREFR and a value Vf that is the lean determination target value VREFL.
  • the target value VREF does not converge to the reference value Vf, and the “target value convergence state” does not occur over the second duration t href.
  • the eighth control device increases the main FB learning value KG by a positive predetermined value dKG2 as described above.
  • the center of the air-fuel ratio of the engine can be brought close to the stoichiometric air-fuel ratio stoich, and the target value VREF can be converged to the reference value Vf.
  • the eighth control device as shown in FIG. 22, the state in which the target value VREF is alternately changed to “value (Vmax ⁇ A1) and value (Vmin + A2)” is a predetermined time (third duration time). ) If the above continues, the main FB learning value KG is not corrected (see the determination of “No” in step 1930 in FIG. 19). That is, the eighth control device, when “the state in which the lean determination target value VREFL is the value (Vmax ⁇ A1) and the rich determination target value VREFR is the value (Vmin + A2)” continues for a predetermined time or longer ( Hereinafter, this case is also referred to as a “target value vibration state.”) The main FB learning value KG is not changed.
  • the first duration is set to a time at which the number of times that the air-fuel ratio request has been changed (from the lean request to the rich request or vice versa) (the number of inversions) is equal to or greater than the first predetermined number of times. can do.
  • the second duration time can be set to a time when the number of inversions is equal to or greater than the second predetermined number.
  • the third duration can be set to a time when the number of inversions is equal to or greater than the third predetermined number.
  • a control device according to a ninth embodiment of the present invention (hereinafter simply referred to as “ninth control device”) will be described.
  • the ninth control device performs the first change compared to the case where the target value vibration state has not occurred. It differs from the eighth control device only in reducing the values (value A1 and value A2). Therefore, hereinafter, this difference will be mainly described.
  • the CPU of the ninth control device executes the same routine as the CPU of the eighth control device. Further, the CPU of the ninth control device executes the routine shown in FIG. 23 every time a predetermined time elapses.
  • the routine shown in FIG. 23 differs from the routine shown in FIG. 16 only in that “steps 1610 and 1630” of the routine shown in FIG. 16 are replaced with steps 2310 and 2320, respectively.
  • step 2310 the CPU determines whether or not the current time is the above-described target value vibration state. If the current time is the target value vibration state, the CPU proceeds from step 2310 to step 1620. If the current time is not the target value vibration state, the CPU proceeds from step 2310 to step 1222.
  • step 2320 the CPU determines whether or not the current time is the target value vibration state. If the current time is the target value vibration state, the CPU proceeds from step 2320 to step 1640. If the current time is not the target value vibration state, the CPU proceeds from step 2320 to step 1238.
  • the ninth control device makes the first change value smaller when the target value vibration state is present than when the target value vibration state is not present (the target value VREF is changed to the value Vmax-A1s instead of the value Vmax-A1). Or set to the value Vmin + A2s instead of the value Vmin + A2.) That is, the ninth control device sets the “first change value when the target value is in the vibration state” to a value smaller than the “first change value when the target value is not in the vibration state”.
  • the ninth control device can switch the air-fuel ratio of the engine at an earlier timing “from the lean air-fuel ratio to the rich air-fuel ratio or vice versa” when in the target value oscillation state.
  • the ninth control apparatus can improve emissions when the target value vibration state occurs.
  • the ninth control device may set the “second change value when the target value is in the vibration state” to a value smaller than the “second change value when the target value is not in the vibration state”.
  • tenth control device a control device according to a tenth embodiment of the present invention (hereinafter simply referred to as “tenth control device”) will be described.
  • the tenth control device is different from the first control device only in that the target value VREF is forced to approach the reference value Vf with time. Therefore, hereinafter, this difference will be mainly described.
  • step 2410 determines whether or not the sub feedback control condition is satisfied. If the sub feedback control condition is not satisfied, the CPU makes a “No” determination at step 2410 to proceed to step 2420 to execute the process described below. Thereafter, the CPU proceeds to step 2495 to end the present routine tentatively.
  • the CPU sets the value of the target value convergence control execution flag XVSFB to “0”.
  • the target value convergence control execution flag XVSFB is set to “0” in the above-described initial routine.
  • the CPU sets the value of the target value decrease flag XD to “0”.
  • the CPU sets the value of the target value increase flag XU to “0”.
  • the CPU sets the reference value Vf as the target value VREF.
  • step 2410 the CPU makes a “Yes” determination at step 2410 to proceed to step 2430, where the target value convergence control execution flag XVSFB is executed. It is determined whether the value of “0” is “0”. If the value of the target value convergence control execution flag XVSFB is not “0”, the CPU makes a “No” determination at step 2430 to directly proceed to step 2495 to end the present routine tentatively.
  • step 2430 If the value of the target value convergence control execution flag XVSFB is “0” at the time when the CPU executes the processing of step 2430, the CPU determines “Yes” in step 2430 and proceeds to step 2440 to perform sub feedback control. It is determined whether or not “maximum value Vmax has been acquired” during a period from when the condition is satisfied to the present time.
  • the CPU makes a “Yes” determination at step 2440 to proceed to step 2450, where the maximum value Vmax and the reference value Vf are It is determined whether or not the absolute value of the difference is greater than a positive first threshold value (in this case, the value A1) (determines whether the maximum value Vmax is greater than the value (Vf + A1)).
  • a positive first threshold value in this case, the value A1
  • step 2450 the CPU makes a “Yes” determination at step 2450 to proceed to step 2460 to execute the processing described below. Thereafter, the routine proceeds to step 2495 to end the present routine tentatively.
  • the CPU sets the value of the target value convergence control execution flag XVSFB to “1”.
  • the CPU sets the value of the target value decrease flag XD to “1”.
  • the CPU sets the value of the target value increase flag XU to “0”.
  • the CPU stores the maximum value Vmax as the initial maximum value Vmax0.
  • the absolute value of the difference between the maximum value Vmax and the reference value Vf is obtained when the maximum value Vmax is not acquired at the time when the CPU executes the process of step 2440 and when the CPU executes the process of step 2450. If it is equal to or less than the positive first threshold value A1, the CPU proceeds to step 2470.
  • step 2470 the CPU determines “whether or not the minimum value Vmin has been acquired” during the period from when the sub-feedback control condition is satisfied to the present time.
  • the CPU makes a “Yes” determination at step 2470 to proceed to step 2480 where the minimum value Vmin and the reference value Vf are It is determined whether or not the absolute value of the difference is greater than a positive first threshold value (in this case, the value A2) (determines whether the minimum value Vmin is smaller than the value (Vf ⁇ A2)). .
  • a positive first threshold value in this case, the value A2
  • step 2480 If the absolute value of the difference between the minimum value Vmin and the reference value Vf is greater than the positive first threshold value A2, the CPU makes a “Yes” determination at step 2480 to proceed to step 2490 to execute the processing described below. Thereafter, the routine proceeds to step 2495 to end the present routine tentatively.
  • the CPU sets the value of the target value convergence control execution flag XVSFB to “1”.
  • the CPU sets the value of the target value decrease flag XD to “0”.
  • the CPU sets the value of the target value increase flag XU to “1”.
  • the CPU stores the minimum value Vmin as the initial minimum value Vmin0.
  • the absolute value of the difference between the minimum value Vmin and the reference value Vf is obtained when the minimum value Vmin is not acquired at the time when the CPU executes the process of step 2470 and when the CPU executes the process of step 2480. If it is equal to or smaller than the positive first threshold value A2, the CPU proceeds to step 2495 to end the present routine tentatively.
  • the CPU is after the sub-feedback control condition is satisfied and the value of the target value convergence control execution flag XVSFB is “0” (that is, the target value convergence control is not executed).
  • the value of the target value decrease flag XD is set to “1”.
  • the CPU has a target value convergence control execution flag XVSFB value of “0” (that is, target value convergence control is not executed), and “ When the “absolute value of the difference between the minimum value Vmin and the reference value Vf” is larger than the first threshold value, the value of the target value increase flag XU is set to “1”.
  • the CPU starts the process from step 2500 in FIG. 25 at a predetermined timing, and determines whether or not the value of the target value decrease flag XD is “1” in step 2510. At this time, if the value of the target value decrease flag XD is not “1”, the CPU makes a “No” determination at step 2510 to directly proceed to step 2595 to end the present routine tentatively.
  • step 2510 the CPU makes a “Yes” determination at step 2510 to proceed to step 2520.
  • step 2520 the CPU determines whether or not “current time is immediately after the value of the target value decrease flag XD has changed from“ 0 ”to“ 1 ””.
  • the present time is immediately after the value of the target value decrease flag XD changes from “0” to “1”. Accordingly, the CPU makes a “Yes” determination at step 2520 to proceed to step 2530, sets the value of the counter N to “1”, and proceeds to step 2540. If the CPU does not execute the process of step 2520 immediately after the value of the target value decrease flag XD changes from “0” to “1”, the CPU makes a “No” determination at step 2520 to perform the step. Proceed directly to 2540.
  • step 2540 the CPU determines whether the air-fuel ratio determination result is reversed. More specifically, when the output value Voxs of the downstream air-fuel ratio sensor is smaller than the target value VREF and the current output value Voxs is larger than the target value VREF before the predetermined time, the CPU determines the air-fuel ratio determination result. Is determined to be reversed. Further, when the output value Voxs of the downstream air-fuel ratio sensor is larger than the target value VREF and the current output value Voxs is smaller than the target value VREF before a predetermined time, the CPU determines that the air-fuel ratio determination result is reversed. To do.
  • step 2540 the CPU makes a “Yes” determination at step 2540 to proceed to step 2550 to increase the value of the counter N by “1”, and then proceeds to step 2560.
  • the CPU makes a “No” determination at step 2540 to directly proceed to step 2560.
  • step 2560 the CPU subtracts “the product of the value N and the positive constant value ⁇ V1” from the initial maximum value Vmax0 acquired in step 2460 of FIG. 24 (Vmax0 ⁇ N ⁇ ⁇ V1). Is set as the target value VREF.
  • the value ⁇ V1 corresponds to the first change value, and is set to a value smaller than the absolute value of the difference between the maximum output value Max and the reference value Vf.
  • step 2570 the CPU determines whether the target value VREF is equal to or less than the reference value Vf. If the target value VREF is less than or equal to the reference value Vf, the CPU proceeds to step 2580 to set the reference value Vf as the target value VREF, and then proceeds to step 2595 to end the present routine tentatively. On the other hand, when the target value VREF is larger than the reference value Vf, the CPU directly proceeds from step 2570 to step 2595 to end the present routine tentatively. In step 2580, the CPU may execute the same processing as step 2420 in FIG.
  • the target value VREF is reversed from the value (Vmax0 ⁇ V1), and the air-fuel ratio determination result is inverted. Every time it is reduced, the value decreases by ⁇ V1, and finally matches the reference value Vf.
  • the CPU starts processing from step 2600 of FIG. 26 at a predetermined timing, and determines whether or not the value of the target value increase flag XU is “1” in step 2610. At this time, if the value of the target value increase flag XU is not “1”, the CPU makes a “No” determination at step 2610 to directly proceed to step 2695 to end the present routine tentatively.
  • step 2610 the CPU makes a “Yes” determination at step 2610 to proceed to step 2620.
  • step 2620 the CPU determines whether or not “current time is immediately after the value of the target value increase flag XU has changed from“ 0 ”to“ 1 ”.
  • the CPU makes a “Yes” determination at step 2620 to proceed to step 2630, sets the value of the counter N to “1”, and proceeds to step 2640. If the CPU does not execute step 2620 immediately after the target value increase flag XU has changed from “0” to “1”, the CPU makes a “No” determination at step 2620 to perform step 2620. Proceed directly to 2640.
  • step 2640 the CPU determines whether the air-fuel ratio determination result is reversed. If the air-fuel ratio determination result is reversed, the CPU makes a “Yes” determination at step 2640 to proceed to step 2650 to increase the value of the counter N by “1”, and then proceeds to step 2660. On the other hand, if the air-fuel ratio determination result is not reversed, the CPU makes a “No” determination at step 2640 to directly proceed to step 2660.
  • step 2660 the CPU adds a value (Vmin0 + N ⁇ ⁇ V2) obtained by adding “the product of the value N and a positive constant value ⁇ V2” to the initial minimum value Vmin0 acquired in step 2490 of FIG. Set as target value VREF.
  • the value ⁇ V2 corresponds to the first change value, and is set to a value smaller than the absolute value of the difference between the minimum output value Min and the reference value Vf.
  • step 2670 the CPU determines whether or not the target value VREF is greater than or equal to the reference value Vf. If the target value VREF is greater than or equal to the reference value Vf, the CPU proceeds to step 2680 to set the reference value Vf as the target value VREF, and then proceeds to step 2695 to end the present routine tentatively. On the other hand, when the target value VREF is smaller than the reference value Vf, the CPU directly proceeds from step 2670 to step 2695 to end the present routine tentatively. Note that the CPU may execute the same processing in step 2680 as in step 2420 in FIG.
  • the target value VREF is changed from the value (Vmin0 + ⁇ V1) every time the air-fuel ratio determination result is inverted. Increases by a value ⁇ V1 and finally matches the reference value Vf.
  • the tenth control device determines that the maximum value Vmax obtained after the start of the sub-feedback control or the like (when the value of the target value convergence control execution flag XVSFB is “0”) is “the first reference value Vf.
  • the threshold value A1 is larger than the value (Vf + A1) ", the target value VREF is gradually decreased from the" value between the maximum value Vmax and the reference value Vf (Vmax0- ⁇ V1) "toward the reference value Vf. . That is, the tenth control device also executes target value convergence control.
  • the initial value of the target value convergence control is a value (Vmax0 ⁇ V1).
  • This value (Vmax0 ⁇ V1) is one of the “region larger than the reference value Vf and the region smaller than the reference value Vf”, and the “output value Voxs of the downstream air-fuel ratio sensor ( The current output value Voxs) is a value in a region (in this example, a region on the side larger than the reference value Vf) ”.
  • the tenth control apparatus determines that the minimum value Vmin obtained after the start of the sub-feedback control (when the value of the target value convergence control execution flag XVSFB is “0”) is greater than the value (Vf ⁇ A2).
  • the target value VREF is gradually increased from the value (Vmin0 + ⁇ V2) between the minimum value Vmin and the reference value Vf toward the reference value Vf. That is, the tenth control device also executes target value convergence control.
  • the initial value of the target value convergence control is a value (Vmin0 + ⁇ V2).
  • This value (Vmin0 + ⁇ V2) is one of the “region larger than the reference value Vf and the region smaller than the reference value Vf”, and the “output value Voxs of the downstream air-fuel ratio sensor (current The output value Voxs) is a value in a region (in this example, a region on the side smaller than the reference value Vf) ”.
  • the value A1 and the value A2 may be the same or different from each other, and the value ⁇ V1 and the value ⁇ V2 may be the same or different from each other.
  • a control device according to an eleventh embodiment of the present invention (hereinafter simply referred to as “eleventh control device”) will be described.
  • the eleventh control device is different from the first control device only in that the sub feedback amount Vafsfb is changed into a rectangular wave shape based on the rich request and the lean request. Therefore, hereinafter, this difference will be mainly described.
  • the CPU of the eleventh control device executes the routines shown in FIGS. 8, 9, 11 to 13, and the routine shown in FIG. 27 instead of FIG.
  • the routines shown in FIGS. 8, 9, and 11 to 13 have been described. Therefore, the routine shown in FIG. 27 will be described.
  • the CPU of the eleventh control device executes the routine shown in FIG. 27 every time a predetermined time elapses.
  • the CPU starts processing from step 2700 in FIG. 27 and proceeds to step 2710 to determine whether or not the sub-feedback control condition is satisfied. At this time, if the sub feedback control condition is not satisfied, the CPU makes a “No” determination at step 2710 to proceed to step 2720 to set the sub feedback amount Vafsfb to “0”. Thereafter, the CPU proceeds to step 2795 to end the present routine tentatively.
  • step 2710 the CPU makes a “Yes” determination at step 2715 to proceed to step 2715, where the rich determination flag XR It is determined whether the value of “1” is “1”. That is, the CPU determines whether a lean request has occurred.
  • the value of the rich determination flag XR is set by the routine shown in FIG.
  • the CPU makes a “Yes” determination at step 2710 to proceed to step 2730.
  • the sub-feedback control is set to a negative constant value ( ⁇ Vsfb).
  • the value Vsfb is a positive constant value. Thereafter, the CPU proceeds to step 2795.
  • the feedback control output value Vabyfc obtained by the above equation (2) is smaller than the output value Vabyfs of the upstream air-fuel ratio sensor 55 by the value Vsfb. Therefore, the feedback control output value Vabyfc is corrected to a value corresponding to the richer air-fuel ratio than the output value Vabyfs of the upstream air-fuel ratio sensor 55. As a result, the commanded fuel injection amount Fi is reduced, so that the air-fuel ratio of the engine and the air-fuel ratio of the catalyst inflow gas become large (lean side air-fuel ratio).
  • step 2715 when the value of the rich determination flag XR is “0” at the time when the CPU executes the process of step 2715 (that is, when it is determined that a rich request has occurred), the CPU proceeds to step 2715. If it is determined as “No”, the process proceeds to step 2740 to set the sub feedback control to a positive constant value (Vsfb). Thereafter, the CPU proceeds to step 2795.
  • the feedback control output value Vabyfc obtained by the above equation (2) is larger than the output value Vabyfs of the upstream air-fuel ratio sensor 55 by the value Vsfb. Therefore, the feedback control output value Vabyfc is corrected to a value corresponding to the leaner air-fuel ratio than the output value Vabyfs of the upstream air-fuel ratio sensor 55. As a result, since the command fuel injection amount Fi is increased, the air-fuel ratio of the engine and the air-fuel ratio of the catalyst inflow gas become small (the air-fuel ratio becomes rich).
  • each air-fuel ratio control apparatus sets the target value VREF to the “reference value” when the deviation of the output value Voxs of the downstream air-fuel ratio sensor from the reference value Vf becomes large.
  • the value gradually approaches the “reference value Vf” from the “value different from the value Vf”.
  • the air-fuel ratio of the engine is quickly switched, so that the air-fuel ratio of the catalyst inflow gas approaches “an appropriate air-fuel ratio for the catalyst 43 to purify the exhaust gas with high purification efficiency”. Therefore, the emission can be maintained well.
  • the downstream air-fuel ratio sensor 56 is a concentration cell type O 2 sensor including a zirconia element, it may be a limit current-type wide-area air-fuel ratio sensor. Further, the downstream air-fuel ratio sensor may be an oxygen concentration sensor using titania as an element.
  • the upstream air-fuel ratio sensor 55 is a limit current type wide-area air-fuel ratio sensor, but may be a concentration cell type O 2 sensor.

Landscapes

  • Engineering & Computer Science (AREA)
  • Chemical & Material Sciences (AREA)
  • Combustion & Propulsion (AREA)
  • Mechanical Engineering (AREA)
  • General Engineering & Computer Science (AREA)
  • Electrical Control Of Air Or Fuel Supplied To Internal-Combustion Engine (AREA)
  • Combined Controls Of Internal Combustion Engines (AREA)

Abstract

本発明の実施形態に係る空燃比制御装置は、触媒の下流に配設された下流側空燃比センサの出力値に基いて、機関に供給される混合気の空燃比(機関の空燃比)を制御する。即ち、出力値Voxsが目標値VREFよりも小さいとき(リッチ要求が発生しているとき)、空燃比制御装置は機関の空燃比をリッチ空燃比に設定する。出力値Voxsが目標値VREFよりも大きいとき(リーン要求が発生しているとき)、空燃比制御装置は機関の空燃比をリーン空燃比に設定する。この空燃比制御装置は、出力値Voxsが基準値Vf(理論空燃比相当値)から大きく乖離すると、目標値VREFを所定の値から基準値Vfへと徐々に近づける(点P1~点P3)。

Description

内燃機関の空燃比制御装置
 本発明は、排気通路に触媒を備えた内燃機関の空燃比制御装置に関する。
 従来から、内燃機関から排出される排ガスを浄化するために同機関の排気通路に三元触媒(排ガス浄化用の触媒ユニット)が配設されている。三元触媒は、周知のように、その三元触媒に流入する酸素を吸蔵し且つその吸蔵した酸素を放出する「酸素吸蔵機能」を有する。以下、三元触媒は単に「触媒」とも称呼される。
 従来の空燃比制御装置の一つ(以下、「従来装置」と称呼する。)は、機関の排気通路であって触媒の下流に配設された下流側空燃比センサを備える。従来装置は、気筒に吸入される空気量に基づいて「機関に供給される混合気の空燃比を理論空燃比に一致させるための基本燃料噴射量」を求め、その基本燃料噴射量を少なくとも下流側空燃比センサの出力値に基づいて補正するようになっている。
 以下、触媒に流入する排ガスを「触媒流入ガス」と称呼し、触媒から流出する排ガスを「触媒流出ガス」と称呼する。更に、理論空燃比よりも小さい空燃比を「リッチ空燃比」と称呼し、理論空燃比よりも大きい空燃比を「リーン空燃比」と称呼する。機関に供給される混合気の空燃比は「機関の空燃比」と称呼する。
 従来装置に使用される下流側空燃比センサは、一般に、濃淡電池型酸素濃度センサである。この下流側空燃比センサの出力値Voxsは、図3の曲線C1に示したように、触媒流出ガスの空燃比が理論空燃比よりも小さい状態が継続した場合、最大出力値Max近傍の値となる。下流側空燃比センサの出力値Voxsは、触媒流出ガスの空燃比が理論空燃比よりも大きい状態が継続した場合、最小出力値Min近傍の値となる。更に、下流側空燃比センサの出力値Voxsは、触媒流出ガスの空燃比がリッチ空燃比からリーン空燃比へと変化する場合、最大出力値Max近傍の値から最小出力値Min近傍の値へと急激に変化する。下流側空燃比センサの出力値Voxsは、触媒流出ガスの空燃比がリーン空燃比からリッチ空燃比へと変化する場合、最小出力値Min近傍の値から最大出力値Max近傍の値へと急激に変化する。
 このように、触媒流出ガスの空燃比がリーン空燃比であって、そのために触媒流出ガスに過剰な酸素が含まれているとき、出力値Voxsは最小出力値Min近傍の値となる。触媒流出ガスの空燃比がリッチ空燃比であって、そのために触媒流出ガスに過剰な酸素が含まれていないとき、出力値Voxsは最大出力値Max近傍の値となる。従って、出力値Voxsが「最大出力値Maxと最小出力値Minとの中央の値Vmid(即ち、中央値Vmid=(Max+Min)/2)」に一致している場合、触媒流出ガスの空燃比は理論空燃比に一致していると考えられている。
 そして、従来装置は、下流側空燃比センサの出力値Voxsが「理論空燃比に相当する値(即ち、中央値Vmid)に設定された目標値VREF」に一致するように空燃比のフィードバック量を比例・積分制御(PI制御)等に基づいて算出する。この空燃比のフィードバック量は、便宜上「サブフィードバック量」とも称呼される。従来装置は、基本燃料噴射量をサブフィードバック量により補正することにより、機関に供給される混合気の空燃比をフィードバック制御する(例えば、特開2005−171982号公報を参照。)。
 図28は、このような従来装置による空燃比のフィードバック制御の様子を示したタイムチャートである。従来装置は、目標値VREFを一定値(中央値Vmid近傍の値である基準値Vf)に維持し、触媒流出ガスの空燃比がリッチ空燃比であるのかリーン空燃比であるのかを判定する。換言すると、従来装置は、「排ガスを触媒により効率良く浄化するために要求される機関の空燃比(要求空燃比)」を「出力値Voxs及び基準値Vf」に基いて決定している。
 より具体的に述べると、従来装置は、出力値Voxsが基準値Vfよりも大きいとき(例えば、時刻t1~時刻t2、時刻t3~時刻t4、及び、時刻t5~時刻t6)、触媒流出ガスの空燃比はリッチ空燃比であると判定し、要求空燃比はリーン空燃比である(即ち、リーン要求が発生している)と判定する。リーン要求が発生しているとき、従来装置は機関の空燃比をリーン空燃比に制御する。
 この結果、触媒流出ガスの空燃比はリーン空燃比になるので、出力値Voxsは減少し、基準値Vfよりも小さくなる。従来装置は、出力値Voxsが基準値Vfよりも小さいとき(例えば、時刻t2~時刻t3、及び、時刻t4~時刻t5)、触媒流出ガスの空燃比がリーン空燃比であると判定し、要求空燃比はリッチ空燃比である(即ち、リッチ要求が発生している)と判定する。リッチ要求が発生しているとき、従来装置は機関の空燃比をリッチ空燃比に制御する。この結果、触媒流出ガスの空燃比はリッチ空燃比になるので、出力値Voxsは増大し、基準値Vfよりも大きくなる。
 ところが、このようなフィードバック制御を実行すると、機関の空燃比が過大又は過小となり、その結果、窒素酸化物(NOx)又は未燃物(CO,HC等)が触媒により完全には浄化されずに機関の外部へと排出されてしまう場合がある。例えば、図28に示した例においては、時刻t2、時刻t4及び時刻t6の前後において、NOxの排出量が増大している。
 この理由は、次のように考えられる。例えば、出力値Voxsが最大出力値Max近傍にまで増大した場合(例えば、時刻t1の直後を参照。)、触媒流出ガスの空燃比は「理論空燃比との差の絶対値が大きいリッチ空燃比」である。この場合、触媒に吸蔵されている酸素の量(以下、「酸素吸蔵量OSA」とも称呼する。)は実質的に「0」である。そこで、従来装置は、リーン要求が発生したと判定して機関の空燃比をリーン空燃比に設定する。
 その結果、触媒流入ガスには過剰な酸素が含まれるので、酸素吸蔵量OSAは増加する。触媒の酸素吸蔵量OSAが比較的小さい場合、触媒は酸素を効率良く吸蔵することができる。従って、時刻t1直後において、触媒流入ガスに含まれる過剰な酸素の殆どは触媒に吸蔵される。
 その後、触媒の酸素吸蔵量OSAが大きくなると、触媒は酸素を効率良く吸蔵することができなくなる。よって、触媒流出ガスに酸素が含まれ始める。この結果、時刻t1からある程度の時間が経過すると下流側空燃比センサの出力値Voxsは最大出力値Maxから最小出力値Minに向けて減少し始める。
 ところが、下流側空燃比センサの出力値Voxsは、触媒流出ガスの酸素分圧の変化に対して遅れて変化する。これは、以下のような要因によると推定される。
(1)触媒と下流側空燃比センサとの間に距離があるため、触媒流出ガスが下流側空燃比センサの素子に到達するまでに時間を要すること。
(2)下流側空燃比センサには一般に保護カバーが備えられているので、触媒流出ガスが下流側空燃比センサの素子に到達するまでに時間を要すること。
(3)下流側空燃比センサの素子が「酸素平衡後のガスを素子に到達させるための層(例えば、拡散抵抗層)」により覆われているため、その素子に到達するガスの酸素分圧の変化が遅れること。この遅れは、下流側空燃比センサの素子の周囲に、それまでに蓄積された酸素又は未燃物が存在するとき、顕著になる。
 この出力値Voxsの変化の遅れに起因して、出力値Voxsは時刻t2に至るまで基準値Vfよりも大きいので、従来装置は時刻t2までリーン要求が発生していると判定し続ける。従って、機関の空燃比はリーン空燃比に設定され続ける。この結果、酸素吸蔵量OSAは増大し続け、時刻t2又は時刻t2の直前に「触媒の酸素吸蔵量OSAの最大値である最大酸素吸蔵量Cmax」の近傍値に到達する。
 このとき、機関の空燃比はリーン空燃比であるから、触媒流入ガスには多量のNOx(窒素酸化物)が含まれている。ところが、酸素吸蔵量OSAが最大酸素吸蔵量Cmaxの近傍値に到達しているから、触媒はNOxを充分に浄化することができない。この結果、時刻t2近傍の期間において、比較的多量のNOxが触媒の下流に排出される。
 同様に、従来装置は、酸素吸蔵量OSAが「0」に近くなった場合(例えば、時刻t1の直前、時刻t3の直前及び時刻t5の直前)であっても、リッチ要求が発生していると判定する。その結果、過剰な未燃物が触媒に流入するので、その未燃物が浄化されずに触媒の下流に排出される場合がある。
 このように、従来装置によれば、機関の空燃比が「触媒の排気浄化作用に対して望ましくない空燃比」に設定される場合がある。
 本発明は、上述した課題に対処するためになされたものである。即ち、本発明の目的の一つは、触媒流入ガスの空燃比が「触媒の排気浄化作用に対して出来るだけ望ましい空燃比」となるように、機関の空燃比を制御することができる空燃比制御装置を提供することにある。
 本発明による内燃機関の空燃比制御装置の一態様は、
 内燃機関の排気通路に配設された触媒と、前記排気通路であって前記触媒の下流に配設される下流側空燃比センサと、空燃比制御手段と、を備える。
 前記下流側空燃比センサは、空燃比を検出するための素子を備える。その素子は、その素子に到達しているガス(以下、「素子到達ガス」とも称呼する。)の酸素分圧に応じて変化する出力値を示す。下流側空燃比センサは、濃淡電池型の酸素濃度センサ(Oセンサ)であることが望ましい。下流側空燃比センサが濃淡電池型の酸素濃度センサである場合、下流側空燃比センサの出力値は「素子到達ガスの空燃比」が小さくなる(よりリッチである)ほど大きくなる。但し、下流側空燃比センサは、限界電流式の広域空燃比センサ等であってもよい。下流側空燃比センサが限界電流式の広域空燃比センサである場合、下流側空燃比センサの出力値は「素子到達ガスの空燃比」がより小さくなる(よりリッチである)ほど小さくなる。更に、下流側空燃比センサは、ジルコニア素子を有するセンサであってもよく、チタニア素子を有するセンサであってもよい。
 前記空燃比制御手段は、前記下流側空燃比センサの出力値を所定の目標値に近づけるために前記機関の空燃比を増大させる必要があるリーン要求の発生期間において、前記機関の空燃比を増大する。この場合、前記機関の空燃比は、徐々に増大されてもよく、所定(一定又は可変)のリーン空燃比に設定されてもよい。
 更に、前記空燃比制御手段は、前記下流側空燃比センサの出力値を前記目標値に近づけるために前記機関の空燃比を減少させる必要があるリッチ要求の発生期間において、前記機関の空燃比を減少する。この場合、前記機関の空燃比は、徐々に減少されてもよく、所定(一定又は可変)のリッチ空燃比に設定されてもよい。
 この空燃比の制御は「フィードバック制御(空燃比フィードバック制御、又は、サブフィードバック制御)」と称呼される。
 例えば、下流側空燃比センサが濃淡電池型の酸素濃度センサである場合、下流側空燃比センサの出力値が前記目標値よりも大きいとき、「触媒流出ガスの空燃比はリッチ空燃比であり、従って、リーン要求が発生している」ので、機関の空燃比はリーン空燃比に制御される。更に、下流側空燃比センサが濃淡電池型の酸素濃度センサである場合、下流側空燃比センサの出力値が前記目標値よりも小さいとき、「触媒流出ガスの空燃比はリーン空燃比であり、従って、リッチ要求が発生している」ので、機関の空燃比はリッチ空燃比に制御される。
 例えば、下流側空燃比センサが限界電流式の広域空燃比センサである場合、下流側空燃比センサの出力値が前記目標値よりも大きいとき、「触媒流出ガスの空燃比はリーン空燃比であり、従って、リッチ要求が発生している」ので、機関の空燃比はリッチ空燃比に制御される。更に、下流側空燃比センサが限界電流式の広域空燃比センサである場合、下流側空燃比センサの出力値が前記目標値よりも小さいとき、「触媒流出ガスの空燃比はリッチ空燃比であり、従って、リーン要求が発生している」ので、機関の空燃比はリーン空燃比に制御される。
 更に、前記空燃比制御手段は目標値変更手段を備える。
 前記目標値変更手段は、
 前記フィードバック制御において用いられる前記目標値を、所定の基準値に、「前記基準値よりも大きい側の領域及び前記基準値よりも小さい側の領域」の何れが一方の領域であって前記下流側空燃比センサの出力値が存在している領域内の所定の値から、時間経過とともに徐々に近づける。
 前記所定の基準値は、「前記下流側空燃比センサの素子に到達しているガス(素子到達ガス)」の酸素分圧が「その素子到達ガスの空燃比が理論空燃比であるとき」の酸素分圧であるときに、「前記下流側空燃比センサの出力値が示す値(以下、「理論空燃比相当値」とも称呼する。)」を含む「所定の範囲」内の値である。
 即ち、理論空燃比相当値が、例えば、Vmidであるとすると、前記所定の範囲は「(Vmid−Δv1)以上であり且つ(Vmid+Δv2)以下」の範囲である(Δv1>0、Δv2>0)。例えば、下流側空燃比センサが濃淡電池型の酸素濃度センサである場合、図3に示したように、前記所定の範囲は、素子到達ガスの空燃比の変化量に対する出力値の変化量が極めて大きい「高感度領域」と呼ばれる範囲である。
 前記目標値変更手段は、目標値を、その目標値の時間的平均値が基準値に近づくように変更させればよい。即ち、目標値は、増減を繰り返しながらも、その時間的平均値が目標値に近づくように変更されればよい。勿論、目標値は、目標値と基準値との差の絶対値が時間経過とともに徐々に小さくなるように(時間に関して単調減少するように)変更されてもよい。
 この目標値変更手段によれば、例えば、図6に示したように、目標値を、点P1から点P2及び点P3を経由して基準値Vfへと変化させることができる。図6の点P1により示される目標値は、「基準値Vfよりも大きい側の領域及び基準値Vfよりも小さい側の領域」の何れか一方の領域であって下流側空燃比センサの出力値が存在している領域(この例においては、基準値Vfよりも大きい側の領域)」内の所定の値である。同様に、この目標値変更手段によれば、例えば、図7に示したように、目標値を、点P1から点P2及び点P3を経由して基準値Vfへと変化させることができる。図7の点P1により示される目標値は、「基準値Vfよりも大きい側の領域及び基準値Vfよりも小さい側の領域」の何れか一方の領域であって下流側空燃比センサの出力値が存在している領域(この例においては、基準値Vfよりも小さい側の領域)」内の所定の値である。
 従って、下流側空燃比センサが目標値を横切るタイミングが、目標値を基準値Vfに固定している場合に比べ、早期に到来する。換言すると、リーン要求からリッチ要求へと(又は、その逆へと)空燃比要求が変化したことを早期に検出することができる(例えば、図28の時刻t2に対する時刻t2’を参照。)。
 この結果、本発明による内燃機関の空燃比制御装置の一態様は、下流側空燃比センサの出力値が過大又は過小にならないように制御しながら(即ち、酸素吸蔵量OSAが「0」近傍値又は最大酸素吸蔵量Cmax近傍値にならないようにしながら)、下流側空燃比センサの出力値を基準値へと接近させることができる。換言すると、本発明による内燃機関の空燃比制御装置の一態様は、触媒の排気浄化作用を効率良く行わせることに対して「過剰な酸素又は過剰な未燃物」が触媒に流入しないように「機関の空燃比」を制御することができる。従って、この空燃比制御装置の一態様は、エミッションを良好に維持することができる。
 前記空燃比制御手段は、例えば、極値取得手段を含むことができる。
 この極値取得手段は、
(1)前記下流側空燃比センサの出力値が前記基準値から離れる方向に変化する状態から前記基準値に近づく方向に変化する状態へと変化したときの同出力値を、第1極値として取得し、且つ、
(2)前記下流側空燃比センサの出力値が前記基準値に近づく方向に変化する状態から前記基準値から離れる方向へと変化する状態へと変化したときの同出力値を、第2極値として取得する。
 ここで、出力値が基準値から離れることと、出力値と基準値との差の絶対値が増大することとは同義である。更に、出力値が基準値に近づくことと、出力値と基準値との差の絶対値が減少することとは同義である。
 この極値取得手段によれば、例えば、下流側空燃比センサの出力値が、基準値よりも大きい状態において「基準値から遠ざかり、その後、基準値へと近づく」ように変化する場合、「基準値へと近づき始めた時点の出力値(即ち、極大値Vmax)」が第1極値として取得される。これに対し、下流側空燃比センサの出力値が、基準値よりも小さい状態において、「基準値から遠ざかり、その後、基準値へと近づく」ように変化する場合、「基準値へと近づき始めた時点の出力値(即ち、極小値Vmin)」が第1極値として取得される。
 更に、この極値取得手段によれば、下流側空燃比センサの出力値が、基準値よりも小さい状態において、「基準値に近づき、その後、基準値から遠ざかる」ように変化する場合、基準値から遠ざかり始めた時点の出力値(即ち、極大値Vmax)が第2極値として取得される。これに対し、下流側空燃比センサの出力値が、基準値よりも大きい状態において、「基準値に近づき、その後、基準値から遠ざかる」ように変化する場合、基準値から遠ざかり始めた時点の出力値(即ち、極小値Vmin)が第2極値として取得される。
 加えて、前記目標値変更手段は、次の機能を実現するように構成され得る。
(1)前記目標値変更手段は、前記極値取得手段により前記第1極値が取得された場合、「その取得された第1極値(k1(1))」と「前記基準値」との間の値(即ち、第1値)を「前記目標値」として設定する。この第1値は、現時点の下流側空燃比センサの出力値と基準値との間の値(現時点の下流側空燃比センサの出力値を含む値)である。
(2)その後、前記目標値変更手段は、前記極値取得手段によって前記第2極値が取得された場合、「その取得された第2極値(k2(1))」と「前記極値取得手段によって取得された前記第1極値(k1(1))」との間の値(即ち、第2値)を「前記目標値」として設定する。
 例えば、説明を簡単にするために、下流側空燃比センサが濃淡電池型の酸素濃度センサであると仮定する。この場合、下流側空燃比センサの出力値が目標値より大きい期間がリーン要求の発生期間(機関の空燃比が増大される期間)であり、下流側空燃比センサの出力値が目標値より小さい期間がリッチ要求の発生期間(機関の空燃比が減少される期間)である。
 リーン要求の発生期間において第1極値(k1(1)、例えば、図6の極大値Vmax(1))が取得されると、目標値は「第1極値(k1(1)=Vmax(1))と基準値(Vf)との間の第1値」に設定される(図6の点P1を参照。)。従って、その後、下流側空燃比センサの出力値が、「第1値に設定された目標値」よりも大きい状態から小さい状態へと変化した時点(第1時点、図6の時刻t2を参照。)にて、空燃比要求はリーン要求からリッチ要求へと変化する。その結果、機関の空燃比は減少させられる。
 前記第1値は「第1極値(k1(1))と基準値(Vf)との間の値」であるから、下流側空燃比センサの出力値は、基準値(Vf)に到達する時点よりも前の時点(第1時点)にて第1値に到達する。従って、機関の空燃比は、触媒に過剰な酸素が流入する前(触媒の酸素吸蔵量OSAが過大になる前)に酸素吸蔵量OSAを減少させる空燃比(リッチ空燃比)へと切り換えられる。
 その後、リッチ要求の発生期間において第2極値(k2(1)、例えば、図6の極小値Vmin(1))が取得される。この場合、目標値は「第2極値(k2(1)=Vmin(1))と第1極値(k1(1)=Vmax(1))との間の第2値」に設定される(図6の点P2を参照。)。下流側空燃比センサの出力値が、「第2値に設定された目標値」よりも小さい状態から大きい状態へと変化した時点(第2時点、図6の時刻t4を参照。)にて、空燃比要求はリッチ要求からリーン要求へと変化する。その結果、機関の空燃比は、触媒に過剰な未燃物が流入する前(触媒の酸素吸蔵量OSAが過小になる前)に酸素吸蔵量OSAを増大させる空燃比(リーン空燃比)へと切り換えられ得る。
 同様に、リッチ要求の発生期間において第1極値(k1(1)、例えば、図7の極小値Vmin(1))が取得されると、目標値は「第1極値(k1(1)=Vmin(1))と基準値(Vf)との間の第1値」に設定される(図7の点P1を参照。)。従って、その後、下流側空燃比センサの出力値が、「第1値に設定された目標値」よりも小さい状態から大きい状態へと変化した時点(第1時点、図7の時刻t2を参照。)にて、空燃比要求はリッチ要求からリーン要求へと変化する。その結果、機関の空燃比は増大させられる。
 前記第1値は「第1極値(k1(1))と基準値(Vf)との間の値」であるから、下流側空燃比センサの出力値は、基準値(Vf)に到達する時点よりも前の時点(第1時点)にて第1値に到達する。従って、機関の空燃比は、触媒に過剰な未燃物が流入する前(触媒の酸素吸蔵量OSAが過小になる前)に酸素吸蔵量OSAを増大させる空燃比(リーン空燃比)へと切り換えられる。
 その後、リーン要求の発生期間において第2極値(k2(1)、例えば、図7の極大値Vmax(1))が取得される。この場合、目標値は「第2極値(k2(1)=Vmax(1))と第1極値(k1(1)=Vmin(1))との間の第2値」に設定される(図7の点P2を参照。)。下流側空燃比センサの出力値が、「第2値に設定された目標値」よりも大きい状態から小さい状態へと変化した時点(第2時点、図7の時刻t4を参照。)にて、空燃比要求はリーン要求からリッチ要求へと変化する。その結果、機関の空燃比は、触媒に過剰な酸素が流入する前(触媒の酸素吸蔵量OSAが過大になる前)に酸素吸蔵量OSAを減少させる空燃比(リッチ空燃比)へと切り換えられる。
 以上、説明したように、前記空燃比制御手段によれば、機関の空燃比の増大から減少への切換え、及び、機関の空燃比の減少から増大への切換えが、従来装置に比較して早期に行われる。しかも、出力値は目標値に近づくように制御され、且つ、目標値は基準値に漸近する。
 この結果、本発明による内燃機関の空燃比制御装置の一態様は、下流側空燃比センサの出力値が過大又は過小にならないように制御しながら、出力値を基準値へと接近させることができる。換言すると、この装置は、触媒の排気浄化作用を効率良く行わせることに対して「過剰な酸素又は過剰な未燃物」が触媒に流入しないように、機関の空燃比を制御することができるので、エミッションを良好に維持することができる。
 更に、前記目標値変更手段は、
 前記第2値を、前記取得された第2極値(k2(1))と前記第1値との間の値に設定するように構成されることが好ましい。
 これによれば、第2値は、「その第2値を目標値として設定する時点の直前に目標値として設定されていた第1値と、第2値を目標値として設定する時点の直前に取得された第2極値(k2(1))と、の間の値」に設定される。この結果、目標値と基準値との差の絶対値を時間の経過とともに減少させる(目標値を基準値に確実に近づける)ことができる。
 更に、前記目標値変更手段は、
 前記第2極値が取得された時点である第2極値取得時点以降において取得される前記第1極値k1(2)と前記基準値との差の絶対値が、前記第2極値取得時点以前において取得された前記第1極値k1(1)と前記基準値との差の絶対値よりも小さくなるように、前記第2値を設定することが好ましい。
 これによれば、第1極値と基準値Vfとの差の絶対値は、第1極値が取得される毎に次第に小さくなる(即ち、|k1(1)−Vf|>|k1(2)−Vf|)。この結果、下流側空燃比センサの出力値を基準値へと確実に近づけることができる。
 この空燃比制御装置の具体的な態様における前記目標値変更手段は、
 前記極値取得手段により前記第1極値(k1(1))が取得された場合に、
 「その取得された第1極値(k1(1))と前記基準値との差の絶対値」が正の第1閾値よりも大きいとき「前記第1値を前記目標値として設定」し、
 「その取得された第1極値(k1(1))と前記基準値との差の絶対値」が前記第1閾値以下であるとき「前記基準値を前記目標値として設定する」ように構成される。
 下流側空燃比センサの出力値が基準値の近傍において変動している場合、触媒は浄化すべき物質を適切に浄化していると考えられる。従って、下流側空燃比センサの出力値が基準値の近傍において変動している場合、目標値を基準値と相違する値(現時点の下流側空燃比センサの出力値と基準値との間の値)に設定する必要性はない。一方、下流側空燃比センサの出力値と基準値との差の絶対値が大きい場合、下流側空燃比センサに過剰な酸素又は過剰な未燃物が大量に到達したことを意味する。この場合、触媒流出ガスの空燃比の変化タイミングに対する下流側空燃比センサの出力値の変化タイミングは、一層遅れる。これは、下流側空燃比センサの周囲に、過去に到達した多量の酸素又は多量の未燃物が残存するからであると推定される。
 これに対し、上記構成によれば、下流側空燃比センサの出力値と基準値との差の絶対値が前記第1閾値よりも大きくなった場合にのみ、目標値が基準値とは相違する値から基準値に向けて変更される。換言すると、下流側空燃比センサの応答性が事実上低下している場合にのみ、目標値が基準値に向けて変更させられる。この結果、「目標値を基準値に向けて変更させることに起因して、却ってエミッションを悪化させること」が回避されるので、エミッションを良好に維持することができる。
 更に、具体的には、前記目標値変更手段は、
 前記第1極値(k1(1))に比べて正の第1変更値(A)だけ前記基準値に近い値(X1)を前記第1値として設定し、且つ、前記第2極値(k2(1))に比べて正の第2変更値(B)だけ前記基準値から遠い値(X2)を前記第2値として設定するように構成され、
 前記第1変更値(A)は前記第1閾値(A)以下であり、且つ、
 前記第2変更値(B)は前記第1変更値(A)よりも小さいことが望ましい。
 なお、図6の例において第1変更値(A)は値A1であり、第2変更値(B)は値B1である。図7の例において第1変更値(A)は値A2であり、第2変更値(B)は値B2である。
 例えば、第1極値(k1(1))が基準値Vfよりも大きいとき第1値(X1)は値(k1(1)−A)であり、第1極値(k1(1))が基準値Vfよりも小さいとき第1値(X1)は値(k1(1)+A)である。
 更に、第2極値(k2(1))が基準値Vfよりも大きいとき第2値(X2)は値(k2(1))+B)であり、第2極値(k2(1))が基準値Vfよりも小さいとき第2値(X2)は値(k2(1)−B)である。
 本発明装置の他の目的、他の特徴及び付随する利点は、以下の図面を参照しつつ記述される本発明装置の各実施形態についての説明から容易に理解されるであろう。
図1は、本発明の第1実施形態に係る内燃機関の空燃比制御装置(第1制御装置)を適用した内燃機関の概略図である。 図2は、図1に示した上流側空燃比センサの出力値と空燃比との関係を示したグラフである。 図3は、図1に示した下流側空燃比センサの出力値と空燃比との関係を示したグラフである。 図4の(A)~(C)は、第1制御装置が採用した「目標値の設定方法及び要求空燃比の決定方法」を説明するための図である。 図5の(A)~(C)は、第1制御装置が採用した「目標値の設定方法及び要求空燃比の決定方法」を説明するための図である。 図6は、第1制御装置による空燃比制御の様子を示したタイムチャートである。 図7は、第1制御装置による空燃比制御の様子を示したタイムチャートである。 図8は、第1制御装置のCPUが実行するルーチンを示したフローチャートである。 図9は、第1制御装置のCPUが実行するルーチンを示したフローチャートである。 図10は、第1制御装置のCPUが実行するルーチンを示したフローチャートである。 図11は、第1制御装置のCPUが実行するルーチンを示したフローチャートである。 図12は、第1制御装置のCPUが実行するルーチンを示したフローチャートである。 図13は、第1制御装置のCPUが実行するルーチンを示したフローチャートである。 図14は、本発明の第2実施形態に係る空燃比制御装置(第2制御装置)のCPUが実行するルーチンを示したフローチャートである。 図15は、本発明の第3実施形態に係る空燃比制御装置(第3制御装置)のCPUが実行するルーチンを示したフローチャートである。 図16は、本発明の第4実施形態に係る空燃比制御装置(第4制御装置)のCPUが実行するルーチンを示したフローチャートである。 図17は、本発明の第5実施形態に係る空燃比制御装置(第5制御装置)のCPUが実行するルーチンを示したフローチャートである。 図18は、本発明の第6実施形態に係る空燃比制御装置(第6制御装置)のCPUが実行するルーチンを示したフローチャートである。 図19は、本発明の第8実施形態に係る空燃比制御装置(第8制御装置)のCPUが実行するルーチンを示したフローチャートである。 図20は、第8制御装置の作動を説明するためのタイムチャートである。 図21は、第8制御装置の作動を説明するためのタイムチャートである。 図22は、本発明の第9実施形態に係る空燃比制御装置(第9制御装置)の作動を説明するためのタイムチャートである。 図23は、第9制御装置のCPUが実行するルーチンを示したフローチャートである。 図24は、本発明の第10実施形態に係る空燃比制御装置(第10制御装置)のCPUが実行するルーチンを示したフローチャートである。 図25は、第10制御装置のCPUが実行するルーチンを示したフローチャートである。 図26は、第10制御装置のCPUが実行するルーチンを示したフローチャートである。 図27は、本発明の第11実施形態に係る空燃比制御装置(第11制御装置)のCPUが実行するルーチンを示したフローチャートである。 図28は、従来の空燃比制御装置の作動を説明するためのタイムチャートである。
 以下、本発明による内燃機関の空燃比制御装置の各実施形態について図面を参照しつつ説明する。
<第1実施形態>
(構成)
 図1は、本発明の第1実施形態に係る空燃比制御装置(以下、「第1制御装置」とも称呼する。)が適用される内燃機関10の概略構成を示している。機関10は、4サイクル・火花点火式・多気筒(本例において4気筒)・ガソリン燃料機関である。機関10は、本体部20、吸気系統30及び排気系統40を備えている。
 本体部20は、シリンダブロック部とシリンダヘッド部とを備えている。本体部20は、ピストン頂面、シリンダ壁面及びシリンダヘッド部の下面からなる複数(4個)の燃焼室(第1気筒#1乃至第4気筒#4)21を備えている。
 シリンダヘッド部には、複数の吸気ポート22と複数の排気ポート23とが形成されている。各吸気ポート22は、各燃焼室(各気筒)21に「空気及び燃料からなる混合気」を供給するように各燃焼室21に接続されている。吸気ポート22は図示しない吸気弁により開閉される。各排気ポート23は、各燃焼室21から排ガス(既燃ガス)を排出するように各燃焼室21に接続されている。排気ポート23は図示しない排気弁により開閉される。
 シリンダヘッド部には複数(4個)の点火プラグ24が固定されている。各点火プラグ24は、その火花発生部が各燃焼室21の中央部であってシリンダヘッド部の下面近傍位置に露呈するように配設されている。各点火プラグ24は、点火信号に応答して火花発生部から点火用火花を発生するようになっている。
 シリンダヘッド部には更に複数(4個)の燃料噴射弁(インジェクタ)25が固定されている。燃料噴射弁25は、各吸気ポート22に一つずつ(即ち、一つの気筒に対して一つ)設けられている。燃料噴射弁25は、噴射指示信号に応答し、「その噴射指示信号に含まれる指示燃料噴射量Fiの燃料」を対応する吸気ポート22内に噴射するようになっている。
 更に、シリンダヘッド部には、吸気弁制御装置26が設けられている。この吸気弁制御装置26は、インテークカムシャフト(図示せず)とインテークカム(図示せず)との相対回転角度(位相角度)を油圧により調整・制御する周知の構成を備えている。吸気弁制御装置26は、指示信号(駆動信号)に基いて作動し、吸気弁の開弁タイミング(吸気弁開弁タイミング)を変更することができるようになっている。
 吸気系統30は、インテークマニホールド31、吸気管32、エアフィルタ33、スロットル弁34及びスロットル弁アクチュエータ34aを備えている。
 インテークマニホールド31は、各吸気ポート22に接続された複数の枝部と、それらの枝部が集合したサージタンク部と、を備えている。吸気管32はサージタンク部に接続されている。インテークマニホールド31、吸気管32及び複数の吸気ポート22は、吸気通路を構成している。エアフィルタ33は吸気管32の端部に設けられている。スロットル弁34はエアフィルタ33とインテークマニホールド31との間の位置において吸気管32に回動可能に取り付けられている。スロットル弁34は、回動することにより吸気管32が形成する吸気通路の開口断面積を変更するようになっている。スロットル弁アクチュエータ34aは、DCモータからなり、指示信号(駆動信号)に応答してスロットル弁34を回動させるようになっている。
 排気系統40は、エキゾーストマニホールド41、エキゾーストパイプ(排気管)42、上流側触媒43及び下流側触媒44を備えている。
 エキゾーストマニホールド41は、各排気ポート23に接続された複数の枝部41aと、それらの枝部41aが集合した集合部(排気集合部)41bと、を含む。エキゾーストパイプ42は、エキゾーストマニホールド41の集合部41bに接続されている。エキゾーストマニホールド41、エキゾーストパイプ42及び複数の排気ポート23は、排ガスが通過する通路を構成している。なお、本明細書において、エキゾーストマニホールド41の集合部41b及びエキゾーストパイプ42により形成される通路を、便宜上、「排気通路」と称呼する。
 上流側触媒(排気浄化用の触媒装置(ユニット))43は、セラミックを含む担持体に「触媒物質である貴金属」及び「酸素吸蔵物質であるセリア(Ce02)」を担持していて、酸素吸蔵・放出機能(酸素吸蔵機能)を有する三元触媒である。上流側触媒43はエキゾーストパイプ42に配設(介装)されている。上流側触媒43は所定の活性温度に到達すると、「未燃物(HC、CO及びH等)と窒素酸化物(NOx)とを同時に浄化する触媒機能」及び「酸素吸蔵機能」を発揮する。上流側触媒43は、スタート・キャタリティック・コンバータ(SC)又は第1触媒とも称呼される。
 下流側触媒44は、上流側触媒43と同様の三元触媒である。下流側触媒44は、上流側触媒43よりも下流においてエキゾーストパイプ42に配設(介装)されている。下流側触媒44は、車両のフロア下方に配設されているため、アンダ・フロア・キャタリティック・コンバータ(UFC)又は第2触媒とも称呼される。なお、本明細書において、単に「触媒」と言うとき、その「触媒」は上流側触媒43を意味する。
 第1制御装置は、熱線式エアフローメータ51、スロットルポジションセンサ52、機関回転速度センサ53、水温センサ54、上流側空燃比センサ55、下流側空燃比センサ56及びアクセル開度センサ57を備えている。
 熱線式エアフローメータ51は、吸気管32内を流れる吸入空気の質量流量を検出し、その質量流量(機関10の単位時間あたりの吸入空気量)Gaを表す信号を出力するようになっている。
 スロットルポジションセンサ52は、スロットル弁34の開度を検出し、スロットル弁開度TAを表す信号を出力するようになっている。
 機関回転速度センサ53は、インテークカムシャフトが5°回転する毎に幅狭のパルスを有するとともにインテークカムシャフトが360°回転する毎に幅広のパルスを有する信号を出力するようになっている。機関回転速度センサ53から出力される信号は後述する電気制御装置60により機関回転速度NEを表す信号に変換されるようになっている。更に、電気制御装置60は、機関回転速度センサ53及び図示しないカムポジションセンサからの信号に基いて、機関10のクランク角度(絶対クランク角)を取得するようになっている。
 水温センサ54は、内燃機関10の冷却水の温度を検出し、冷却水温THWを表す信号を出力するようになっている。
 上流側空燃比センサ55は、エキゾーストマニホールド41の集合部41bと上流側触媒43との間の位置においてエキゾーストマニホールド41及びエキゾーストパイプ42の何れか(即ち、排気通路)に配設されている。上流側空燃比センサ55は、例えば、特開平11−72473号公報、特開2000−65782号公報及び特開2004−69547号公報等に開示された「拡散抵抗層を備える限界電流式広域空燃比センサ」である。
 上流側空燃比センサ55は、図2に示したように、上流側空燃比センサ55の配設位置を流れる排ガスの空燃比に応じた出力値Vabyfsを出力する。上流側空燃比センサ55の配設位置を流れる排ガスは、触媒43に流入するガスであり、「触媒流入ガス」とも称呼される。触媒流入ガスの空燃比は「検出上流側空燃比abyfs」とも称呼される。出力値Vabyfsは触媒流入ガスの空燃比が大きくなるほど(即ち、触媒流入ガスの空燃比がリーン側の空燃比になるほど)増大する。
 電気制御装置60は、図2に示した空燃比変換テーブル(マップ)Mapabyfsを記憶している。電気制御装置60は、出力値Vabyfsを空燃比変換テーブルMapabyfsに適用することにより、実際の上流側空燃比abyfsを検出する(検出上流側空燃比abyfsを取得する)ようになっている。
 再び、図1を参照すると、下流側空燃比センサ56は、上流側触媒43と下流側触媒44との間の位置においてエキゾーストパイプ42(即ち、排気通路)に配設されている。下流側空燃比センサ56は、周知の「濃淡電池型の酸素濃度センサ(Oセンサ)」である。
 下流側空燃比センサ56は、例えば、ジルコニアを含む固体電解質層(酸素分圧に応じた出力値を示す素子)と、固体電解質層の外側に形成された排ガス側電極層と、大気室(固体電解質層の内側)に露呈し且つ固体電解室層を挟んで排ガス側電極層と対向するように固体電解質層の内側に形成された大気側電極層と、排ガス側電極層を覆い且つ排ガスが接触する(排ガス中に晒されるように配置される)拡散抵抗層と、を備える。固体電解質層は試験管状であってもよく、板状であってもよい。更に、下流側空燃比センサ56は、固体電解質層、排ガス側電極層、大気側電極層及び拡散抵抗層を含む素子部を覆う保護カバーを備える。保護カバーは金属からなり、貫通孔を複数備える。保護カバーの外部に到達した排ガスは、その貫通孔を通って素子部の外部に到達する。拡散抵抗層は、下流側空燃比センサ56の外周部に到達したガスを酸素平衡後のガス(存在する未燃物を存在する酸素と結合させた後のガスであって、過剰な未燃物又は過剰な酸素のみを含むガス)に変化させる。
 下流側空燃比センサ56は、下流側空燃比センサ56の配設位置を流れる排ガスの空燃比(下流側空燃比afdown)に応じた出力値Voxsを出力するようになっている。
 下流側空燃比センサ56の出力値Voxsは、図3に示したように、下流側空燃比センサの素子(実際には排ガス側電極層)に到達したガス(素子到達ガス)の空燃比が理論空燃比よりもリッチ側の空燃比であって、下流側空燃比センサ56に到達したガスの酸化平衡(酸素平衡)後のガスの酸素分圧が小さいとき最大出力値Max(例えば、約0.9V又は1.0V)近傍の値となる。即ち、下流側空燃比センサ56は、触媒流出ガスに過剰の酸素が全く含まれていない状態が所定時間以上継続しているときに最大出力値Maxを出力する。
 更に、出力値Voxsは、素子到達ガスの空燃比が理論空燃比よりもリーン側の空燃比であって、下流側空燃比センサ56に到達したガスの酸化平衡後のガスの酸素分圧が大きいとき最小出力値Min(例えば、約0.1V又は0V)近傍の値となる。即ち、下流側空燃比センサ56は、触媒流出ガスに「多量の過剰酸素」が含まれている状態が所定時間以上継続しているときに最小出力値Minを出力する。
 この出力値Voxsは、触媒流出ガスの空燃比が理論空燃比よりもリッチ側の空燃比からリーン側の空燃比へと変化した場合、最大出力値Max近傍値から最小出力値Min近傍値へと急激に減少する。逆に、出力値Voxsは、触媒流出ガスの空燃比が理論空燃比よりもリーン側の空燃比からリッチ側の空燃比へと変化した場合、最小出力値Min近傍値から最大出力値Max近傍値へと急激に増大する。出力値Voxsは、素子到達ガスの酸素分圧が、「素子到達ガスの空燃比が理論空燃比であるときの酸素分圧」であるとき、下流側空燃比センサ56の最大出力値Maxと最小出力値Minとの中央の値Vmid(中央値Vmid=(Max+Min)/2)に実質的に一致する。
 図1に示したアクセル開度センサ57は、運転者によって操作されるアクセルペダルAPの操作量を検出し、アクセルペダルAPの操作量Accpを表す信号を出力するようになっている。
 電気制御装置60は、「CPU、ROM、RAM、バックアップRAM、並びに、ADコンバータを含むインターフェース等」を含む「周知のマイクロコンピュータ」を備える電気回路である。
 電気制御装置60が備えるバックアップRAMは、機関10を搭載した車両の図示しないイグニッション・キー・スイッチの位置(オフ位置、始動位置及びオン位置等の何れか)に関わらず、車両に搭載されたバッテリから電力の供給を受けるようになっている。バックアップRAMは、バッテリから電力の供給を受けている場合、CPUの指示に応じてデータを格納する(データが書き込まれる)とともに、そのデータを読み出し可能となるように保持(記憶)する。バックアップRAMは、バッテリが車両から取り外される等によりバッテリからの電力供給が遮断されると、データを保持することができない。即ち、それまでに保持していたデータが消失(破壊)される。
 電気制御装置60のインターフェースは、前記センサ51~57と接続され、CPUにセンサ51~57からの信号を供給するようになっている。更に、そのインターフェースは、CPUの指示に応じて、各気筒の点火プラグ24、各気筒の燃料噴射弁25、吸気弁制御装置26及びスロットル弁アクチュエータ34a等に指示信号(駆動信号)等を送出するようになっている。なお、電気制御装置60は、取得されたアクセルペダルの操作量Accpが大きくなるほどスロットル弁開度TAが大きくなるように、スロットル弁アクチュエータ34aに指示信号を送出するようになっている。
(第1制御装置による空燃比制御の概要)
 次に、上記第1制御装置による「空燃比のフィードバック制御」の概要について説明する。第1制御装置は、以下に述べる<判定方法>に従って、目標値VREFを決定するとともに空燃比の判定を行い、その空燃比の判定に基いて「リーン要求及びリッチ要求」の何れの空燃比要求が発生しているかを決定する。
 なお、以下に述べる<判定方法>において使用される基準値Vfは、下流側空燃比センサの出力値Voxsの最終的な目標値VREFである。基準値Vfは、中央値Vmid又は中央値Vmid近傍の値に設定されている。即ち、基準値Vfは、空燃比の変化に対して出力値Voxsの変化が最も大きくなる領域内の値(図3の高感度領域内の値)となるように設定されている。換言すると、基準値Vfは、下流側空燃比センサ56の素子(固体電解質層、実際には、排ガス側電極層)に到達しているガス(素子到達ガス)の酸素分圧が、素子到達ガスの空燃比が理論空燃比であるときの酸素分圧であるときに、下流側空燃比センサの出力値Voxsが示す値(例えば、中央値Vmid)を含む所定の範囲(Vmid−Δv2~Vmid+Δv1)内の値である。
 空燃比の判定は、後述するように、下流側空燃比センサの出力値Voxsと目標値VREFとの比較に基いて行われる判定である。
 空燃比の判定がリッチであるとき、触媒43の状態は酸素が不足している状態(酸素吸蔵量OSAが所定値OSAminよりも小さい状態)である。従って、空燃比の判定がリッチであるとき、触媒43が「浄化すべき物質」を高い浄化効率にて浄化するためには、触媒流入ガスの空燃比(従って、機関の空燃比)をリーン空燃比に設定する必要がある。そこで、第1制御装置は、空燃比の判定がリッチであるとき、リーン要求が発生していると判定する。リーン要求が発生しているとき、機関の空燃比は増大させられる。即ち、機関の空燃比は、理論空燃比よりも大きい空燃比である「リーン空燃比」になるように制御される。
 空燃比の判定がリーンであるとき、触媒43の状態は酸素が過剰になっている状態(酸素吸蔵量OSAが前記所定値OSAminよりも大きい別の所定値OSAmaxよりも大きい状態)である。従って、空燃比の判定がリーンであるとき、触媒43が「浄化すべき物質」を高い浄化効率にて浄化するためには、触媒流入ガスの空燃比(従って、機関の空燃比)をリッチ空燃比に設定する必要がある。そこで、第1制御装置は、空燃比の判定がリーンであるとき、リッチ要求が発生していると判定する。リッチ要求が発生しているとき、機関の空燃比は減少させられる。即ち、機関の空燃比は、理論空燃比よりも小さい空燃比である「リッチ空燃比」になるように制御される。
<判定方法>
 第1制御装置は、出力値Voxsが目標値VREFよりも大きいとき、空燃比は「リッチ」であると判定する。従って、第1制御装置は、出力値Voxsが目標値VREFよりも大きいとき、リーン要求が発生していると判定する。
 第1制御装置は、出力値Voxsが目標値VREFよりも小さいとき、空燃比は「リーン」であると判定する。従って、第1制御装置は、出力値Voxsが目標値VREFよりも小さいとき、リッチ要求が発生していると判定する。
 第1制御装置は、出力値Voxsの「極大値Vmax及び極小値Vmin」を取得する。第1制御装置は、現時点においてリーン要求が発生しているか(即ち、機関の空燃比がリーン空燃比に設定されているか)又はリッチ要求が発生しているか(即ち、機関の空燃比がリッチ空燃比に設定されているか)に基いて、下記の表1のように目標値VREF(判定閾値VREF)を「極大値Vmax及び極小値Vmin」に応じて決定する。
Figure JPOXMLDOC01-appb-T000001
 以下、上記表1について説明を加える。
(1)現時点の空燃比が「リッチ」であると判定され、従って、リーン要求が発生している場合(機関の空燃比が増大されている場合)。
 下流側空燃比センサの出力値Voxsが目標値VREFよりも小さい値から大きい値へと変化したとき、空燃比はリッチに変化した(リーン要求が発生した)と判定される。リーン要求が発生していると、機関の空燃比が増大させられるので触媒流入ガスの空燃比は増大させられ、触媒43に多量の酸素が流入する。従って、リーン要求が所定時間継続すると、触媒43の下流に酸素が流出し始める。この結果、下流側空燃比センサの出力値Voxsは、リーン要求が発生している期間において、増大した後に減少し始める。第1制御装置は、この出力値Voxsの極大値Vmaxを取得する。
(1−1)極大値Vmaxが基準値Vfよりも大きい場合。
(1−1a)「極大値Vmaxから正の一定値A1(正の第1閾値)を減じた値(Vmax−A1)」が基準値Vfよりも大きいとき、第1制御装置は「値(Vmax−A1)」を目標値VREFとして設定する(図4の(A)を参照。)。極大値Vmaxから減算される値A1は、第1変更値とも称呼される。
(1−1b)「極大値Vmaxから正の一定値A1(正の第1閾値)を減じた値(Vmax−A1)」が基準値Vfよりも小さいとき、第1制御装置は基準値Vfを目標値VREFとして設定する(図4の(B)を参照。)。
(1−2)極大値Vmaxが基準値Vfよりも小さい場合。
 第1制御装置は「極大値Vmaxから正の一定値B2を減じた値(Vmax−B2)」を目標値VREFとして設定する(図4の(C)を参照。)。値B2は、第2変更値とも称呼される。
 なお、リーン要求が発生している場合にリッチ要求へと空燃比要求が変化したか否かを判定するために設定される目標値VREF(空燃比がリッチであると判定されている場合に空燃比がリーンへと変化したか否かを判定するために設定される目標値VREF)は、「リーン判定用目標値VREFL、又は、リーン判定用閾値VREFL」とも称呼される。
(2)現時点の空燃比が「リーン」であると判定され、従って、リッチ要求が発生している場合(機関の空燃比が減少されている場合)。
 下流側空燃比センサの出力値Voxsが目標値VREFよりも大きい値から小さい値へと変化したとき、空燃比はリーンに変化した(リッチ要求が発生した)と判定される。リッチ要求が発生していると、機関の空燃比が減少させられるので触媒流入ガスの空燃比は減少させられ、触媒43に多量の未燃物が流入する。従って、リッチ要求が所定時間継続すると、触媒43の下流に未燃物が流出し始め、酸素は殆ど流出しなくなる。この結果、下流側空燃比センサの出力値Voxsは、リッチ要求が発生している期間において、減少した後に増大し始める。第1制御装置は、この出力値Voxsの極小値Vminを取得する。
(2−1)極小値Vminが基準値Vfよりも小さい場合。
(2−1a)「極小値Vminに正の一定値A2(正の第1閾値)を加えた値(Vmin+A2)」が基準値Vfよりも小さいとき、第1制御装置は「値(Vmin+A2)」を目標値VREFとして設定する(図5の(A)を参照。)。極小値Vminに加算される値A2は、第1変更値とも称呼される。
(2−1b)「極小値Vminに正の一定値A2(正の第1閾値)を加えた値(Vmin+A2)」が基準値Vfよりも大きいとき、第1制御装置は基準値Vfを目標値VREFとして設定する(図5の(B)を参照。)。
(2−2)極小値Vminが基準値Vfよりも大きい場合。
 第1制御装置は「極小値Vminに正の一定値B1を加えた値(Vmin+B1)」を目標値VREFとして設定する(図5の(C)を参照。)。値B1は、第2変更値とも称呼される。
 なお、リッチ要求が発生している場合にリーン要求へと空燃比要求が変化したか否かを判定するために設定される目標値VREF(空燃比がリーンであると判定されている場合に空燃比がリッチへと変化したか否かを判定するために設定される目標値VREF)は、「リッチ判定用目標値VREFR、又は、リッチ判定用閾値VREFR」とも称呼される。
 上記A1,A2,B1,B2の関係は以下の通りである。
 値A1は値B1よりも正の所定値以上大きい(A1>B1>0、図5の(C)を参照。)。但し、値A1は最大出力値Maxと基準値Vfとの差の絶対値よりも正の所定値e1だけ小さい。前述したように、値A1は第1変更値とも称呼され、値B1は第2変更値とも称呼される。
 値A2は値B2よりも正の所定値以上大きい(A2>B2>0、図4の(C)を参照。)但し、値A2は最小出力値Minと基準値Vfとの差の絶対値よりも正の所定値e2だけ小さい。前述したように、値A2は第1変更値とも称呼され、値B2は第2変更値とも称呼される。
 値A1と値A2とは、互いに等しい値Aであってもよい。
 値B1と値B2とは、互いに等しい値Bであってもよい。
<空燃比制御状況>
 次に、上記判定方法に基く空燃比制御の状況について説明する。図6は、時刻t1以前において触媒43の酸素吸蔵量OSAが小さくなり、その結果、下流側空燃比センサの出力値Voxsが基準値Vfよりも相当に大きくなった場合の「出力値Voxs及び要求空燃比等」の変化を示している。
 より具体的に述べると、図6に示した例においては、時刻t1以前にて空燃比は「リッチ」と判定されており、リーン要求が発生したと判定されている。従って、機関の空燃比は増大させられている。このため、酸素吸蔵量OSAは次第に増大し、時刻t1以降において触媒43から酸素が流出し始める。この結果、出力値Voxsは時刻t1にて極大値Vmax(=Vmax(1))をとった後、減少する。
 第1制御装置は、この極大値Vmax(=Vmax(1))を取得する。極大値Vmax(=Vmax(1))は、最大出力値Maxに近い値である。よって、極大値Vmax(=Vmax(1))から値A1を減じた値(Vmax(1)−A1)は基準値Vfよりも大きい。この結果、上記判定方法に基き、値(Vmax−A1=Vmax(1)−A1)が目標値VREF(リーン判定用目標値VREFL)として設定される(点P1を参照。)。
 その後、時刻t2になると、出力値Voxsは「目標値VREF(=Vmax(1)−A1)」よりも小さくなる。従って、第1制御装置は、空燃比が「リーン」であると判定し、「リッチ要求」が発生したと判定する。よって、時刻t2以降において、機関の空燃比は減少され始める。
 この結果、触媒43には過剰な未燃物が流入する。従って、時刻t2から所定時間が経過すると、触媒43から流出する未燃物の量が増大し始める。よって、出力値Voxsは時刻t3にて極小値Vmin(=Vmin(1))をとった後、増大する。
 第1制御装置は、この極小値Vmin(=Vmin(1))を取得する。図6に示した例において、極小値Vmin(=Vmin(1))は基準値Vfよりも大きい。よって、上記判定方法に基き、「極小値Vmin(=Vmin(1))に値B1を加えた値(Vmin(1)+B1)」が「目標値VREF(リッチ判定用目標値VREFR)」として設定される(点P2を参照。)。
 その後、時刻t4になると、出力値Voxsは「目標値VREF(=Vmin(1)+B1)」よりも大きくなる。従って、第1制御装置は、空燃比が「リッチ」であると判定し、「リーン要求」が発生したと判定する。よって、時刻t4以降において、機関の空燃比は増大され始める。
 この結果、触媒43には過剰な酸素が流入する。従って、時刻t4から所定時間が経過すると、触媒43から流出する酸素の量が増大し始める。よって、出力値Voxsは時刻t5にて極大値Vmax(=Vmax(2))をとった後、減少する。
 第1制御装置は、この極大Vmax(=Vmax(2))を取得する。図6に示した例において、極大値Vmax(=Vmax(2))から値A1を減じた値(Vmax(2)−A1)は基準値Vfよりも大きい。この結果、上記判定方法に基き、値(Vmax−A1=Vmax(2)−A1)が目標値VREF(リーン判定用目標値VREFL)として設定される(点P3を参照。)。
 その後、時刻t6になると、出力値Voxsは「目標値VREF(=Vmax(2)−A1)」よりも小さくなる。従って、第1制御装置は、空燃比が「リーン」であると判定し、「リッチ要求」が発生したと判定する。よって、時刻t6以降において、機関の空燃比は減少され始める。
 この結果、触媒43には過剰な未燃物が流入する。従って、時刻t6から所定時間が経過すると、触媒43から流出する未燃物の量が増大し始める。よって、出力値Voxsは時刻t7にて極小値Vmin(=Vmin(2))をとった後、増大する。
 第1制御装置は、この極小値Vmin(=Vmin(2))を取得する。図6に示した例において、極小値Vmin(=Vmin(2))は基準値Vfよりも小さく、且つ、極小値Vmin(=Vmin(2))に値A2を加えた値(Vmin(2)+A2)」は基準値Vfよりも大きい。この結果、上記判定方法に基き、基準値Vfが目標値VREF(リッチ判定用目標値VREFR)として設定される(点P4を参照。)。
 その後、時刻t8になると、出力値Voxsは「目標値VREF(=Vf)」よりも大きくなる。従って、第1制御装置は、空燃比が「リッチ」であると判定し、「リーン要求」が発生したと判定する。よって、時刻t8以降において、機関の空燃比は増大され始める。
 この結果、触媒43には過剰な酸素が流入する。従って、時刻t8から所定時間が経過すると、触媒43から流出する酸素の量が増大し始める。よって、出力値Voxsは時刻t9にて極大値Vmax(=Vmax(3))をとった後、減少する。
 第1制御装置は、この極大値Vmax(=Vmin(3))を取得する。図6に示した例において、極大値Vmax(=Vmax(3))は基準値Vfよりも大きいが、極大値Vmax(=Vmax(3))から値A1を減じた値(Vmin(3)−A1)」は基準値Vfよりも小さい。この結果、上記判定方法に基き、基準値Vfが目標値VREF(リーン判定用目標値VREFL)として設定される(点P5を参照。)。
 その後、時刻t10になると、出力値Voxsは「目標値VREF(=Vf)」よりも小さくなる。従って、第1制御装置は、空燃比が「リーン」であると判定し、「リッチ要求」が発生したと判定する。よって、時刻t10以降において、機関の空燃比は減少され始める。
 この結果、触媒43には過剰な未燃物が流入する。従って、時刻t10から所定時間が経過すると、触媒43から流出する未燃物の量が増大し始める。よって、出力値Voxsは再び増大し、時刻t11にて「基準値Vfに設定された目標値VREF」よりも大きくなる。以降、時刻t8~時刻t11と同様、基準値Vfが目標値VREFとして設定され続ける。
 このように、第1制御装置は、下流側空燃比センサの出力値Voxsが最大出力値Max近傍の値になった場合、目標値VREFを次第に基準値Vfに近づけることにより、出力値Voxsの振幅を小さく維持しながら、出力値Voxsを基準値Vfに接近させることができる。出力値Voxsの振幅が小さいことは、触媒43から多量の酸素又は未燃物が流出していないことを意味する。換言すると、第1制御装置は、出力値Voxsが最大出力値Max近傍の値になった場合であっても、未燃物及びNOxを触媒43によって浄化しながら、出力値Voxsを基準値Vfの近傍に移行させることができる。
 詳細な説明は省略するが、第1制御装置は、図7に示したように、出力値Voxsが最小出力値Min近傍の値になった場合においても、目標値VREFを次第に基準値Vfに近づける。従って、図6に示した場合と同様、第1制御装置は、出力値Voxsの振幅を小さく維持しながら、出力値Voxsを基準値Vfに接近させることができる。
(実際の作動)
 次に、第1制御装置の実際の作動について説明する。以下、説明の便宜上、「MapX(a1,a2,…)」は、「a1,a2,…を引数とするテーブル」であって「値Xを求めるためのテーブル」を表すものとする。
<燃料噴射制御>
 第1制御装置のCPUは、図8に示した燃料噴射制御ルーチンを、任意の気筒のクランク角度が吸気上死点前の所定クランク角度となる毎に、その気筒に対して繰り返し実行するようになっている。前記所定クランク角度は、例えば、BTDC90°CA(吸気上死点前90°クランク角度)である。クランク角度が前記所定クランク角度に一致した気筒は「燃料噴射気筒」とも称呼される。CPUは、この燃料噴射制御ルーチンにより、指示燃料噴射量(最終燃料噴射量)Fiの計算及び燃料噴射の指示を行う。
 任意の気筒のクランク角度が吸気上死点前の所定クランク角度と一致すると、CPUはステップ800から処理を開始し、ステップ810にてフューエルカット条件(以下、「FC条件」と表記する。)が成立しているか否かを判定する。
 いま、FC条件が成立していないと仮定する。この場合、CPUは、ステップ810にて「No」と判定し、以下に述べるステップ820乃至ステップ860の処理を順に行う。その後、CPUは、ステップ895に進んで本ルーチンを一旦終了する。
 ステップ820:CPUは、目標空燃比abyfr(上流側目標空燃比abyfr)を機関10の運転状態に基づいて決定する。本例において、目標値VREFは理論空燃比stoich(例えば、14.6)に設定される。
 ステップ830:CPUは、「エアフローメータ51により計測された吸入空気量Ga、機関回転速度センサ53の信号に基いて取得された機関回転速度NE、及び、ルックアップテーブルMapMc(Ga,NE)」に基いて「燃料噴射気筒に吸入される空気量(即ち、筒内吸入空気量Mc(k))」を取得する。筒内吸入空気量Mc(k)は、各吸気行程に対応されながらRAM内に記憶される。筒内吸入空気量Mc(k)は、周知の空気モデル(吸気通路における空気の挙動を模した物理法則に従って構築されたモデル)により算出されてもよい。
 ステップ840:CPUは、筒内吸入空気量Mc(k)を目標空燃比abyfrで除することにより基本燃料噴射量Fbを求める。基本燃料噴射量Fbは、目標空燃比abyfr(本例において理論空燃比stoich)を得るために必要な燃料噴射量のフィードフォワード量である。このステップ840は、機関に供給される混合気の空燃比(機関の空燃比)を目標空燃比abyfrに一致させるためのフィードフォワード制御手段を構成している。
 ステップ850:CPUは、基本燃料噴射量Fbを、メインフィードバック学習値(メインFB学習値)KG及びメインフィードバック係数FAFにより補正する。より具体的には、CPUは、基本燃料噴射量Fbに「メインFB学習値KGとメインフィードバック係数FAFとの積」を乗じることにより、指示燃料噴射量Fiを算出する。即ち、Fi=KG・FAF・Fbなる式に基き、指示燃料噴射量Fiが求められる。メインFB学習値KG及びメインフィードバック係数FAFは、後述する図9に示したルーチンにより求められている。メインFB学習値KGはバックアップRAMに格納されている。
 ステップ860:CPUは、「指示燃料噴射量Fiの燃料」を「燃料噴射気筒に対応して設けられている燃料噴射弁25」から噴射させるための噴射指示信号を、その燃料噴射弁25に送出する。
 この結果、機関の空燃比を目標空燃比abyfr(理論空燃比)に一致させるために必要な量の燃料が燃料噴射気筒の燃料噴射弁25から噴射させられる。即ち、ステップ820乃至ステップ860は、「機関の空燃比が目標空燃比abyfrに一致するように指示燃料噴射量Fiを制御する」指示燃料噴射量制御手段を構成している。
 一方、CPUがステップ810の処理を実行する時点において、FC条件が成立していると、CPUはそのステップ810にて「Yes」と判定し、ステップ895に直接進んで本ルーチンを一旦終了する。この場合、ステップ860の処理による燃料噴射が実行されないので、フューエルカット制御(燃料供給停止制御)が実行される。
<メインフィードバック制御>
 CPUは図9にフローチャートにより示した「メインフィードバック制御ルーチン」を所定時間taの経過毎に繰り返し実行している。従って、所定のタイミングになると、CPUはステップ900から処理を開始し、ステップ905に進んで「メインフィードバック制御条件(上流側空燃比フィードバック制御条件)」が成立しているか否かを判定する。
 メインフィードバック制御条件は以下の総ての条件が成立したときに成立する。
(A1)上流側空燃比センサ55が活性化している。
(A2)機関の負荷KLが閾値KLth以下である。
(A3)フューエルカット制御中でない。
 なお、負荷KLは、ここでは下記の(1)式により求められる負荷率である。この負荷KLに代え、アクセルペダル操作量Accpが用いられても良い。(1)式において、Mcは筒内吸入空気量であり、ρは空気密度(単位は(g/l))、Lは機関10の排気量(単位は(l))、「4」は機関10の気筒数である。
 KL=(Mc/(ρ・L/4))・100% …(1)
 いま、メインフィードバック制御条件が成立しているものとして説明を続ける。この場合、CPUはステップ905にて「Yes」と判定して以下に述べるステップ910乃至ステップ950の処理を順に行い、メインフィードバック量DFi及びメインフィードバック係数FAF等を求める。
 ステップ910:CPUは、下記(2)式に従ってフィードバック制御用出力値Vabyfcを取得する。(2)式において、Vabyfsは上流側空燃比センサ55の出力値であり、Vafsfbは下流側空燃比センサ56の出力値Voxsに基づいて算出されるサブフィードバック量である。サブフィードバック量Vafsfbは、後述する図10に示したルーチンにより求められている。
 Vabyfc=Vabyfs+Vafsfb  …(2)
 ステップ915:CPUは、下記(3)式に示したように、上記フィードバック制御用出力値Vabyfcを図2に示したテーブルMapabyfsに適用することにより、フィードバック制御用空燃比abyfscを得る。
 abyfsc=Mapabyfs(Vabyfc)  …(3)
 ステップ920:CPUは、下記(4)式に従って、「現時点よりもNサイクル前の時点において燃焼室21に実際に供給された燃料の量」である「筒内燃料供給量Fc(k−N)」を求める。即ち、CPUは、「現時点よりもNサイクル(即ち、N・720°クランク角)前の時点における筒内吸入空気量Mc(k−N)」を「上記フィードバック制御用空燃比abyfsc」により除すことにより、筒内燃料供給量Fc(k−N)を求める。
 Fc(k−N)=Mc(k−N)/abyfsc  …(4)
 このように、筒内燃料供給量Fc(k−N)を求めるために、現時点からNサイクル前の筒内吸入空気量Mc(k−N)をフィードバック制御用空燃比abyfscで除すのは、「燃焼室21内での混合気の燃焼により生成された排ガス」が上流側空燃比センサ55に到達するまでに「Nサイクルに相当する時間」を要しているからである。
 ステップ925:CPUは、下記(5)式に従って、「現時点よりもNサイクル前の時点において燃焼室21に供給されるべきであった燃料の量」である「目標筒内燃料供給量Fcr(k−N)」を求める。即ち、CPUは、現時点からNサイクル前の筒内吸入空気量Mc(k−N)を目標空燃比abyfrで除すことにより、目標筒内燃料供給量Fcr(k−N)を求める。
 Fcr=Mc(k−N)/abyfr  …(5)
 ステップ930:CPUは、下記(6)式に従って、筒内燃料供給量偏差DFcを取得する。即ち、CPUは、目標筒内燃料供給量Fcr(k−N)から筒内燃料供給量Fc(k−N)を減じることにより、筒内燃料供給量偏差DFcを求める。この筒内燃料供給量偏差DFcは、Nストローク前の時点で筒内に供給された燃料の過不足分を表す量となる。
 DFc=Fcr(k−N)−Fc(k−N)  …(6)
 ステップ935:CPUは、下記(7)式に従って、メインフィードバック量DFiを求める。この(7)式において、Gpは予め設定された比例ゲイン、Giは予め設定された積分ゲインである。更に、(7)式の「値SDFc」は「筒内燃料供給量偏差DFcの積分値」である。つまり、CPUは、フィードバック制御用空燃比abyfscを目標空燃比abyfrに一致させるための比例積分制御により「メインフィードバック量DFi」を算出する。このメインフィードバック量DFiは、後述するステップ945にてメインフィードバック係数FAFに変換される。
 DFi=Gp・DFc+Gi・SDFc  …(7)
 ステップ940:CPUは、その時点における筒内燃料供給量偏差DFcの積分値SDFcに上記ステップ930にて求められた筒内燃料供給量偏差DFcを加えることにより、新たな筒内燃料供給量偏差の積分値SDFcを取得する。
 ステップ945:CPUは、メインフィードバック量DFi及び基本燃料噴射量Fb(k−N)を下記(8)式に適用することによりメインフィードバック係数FAFを算出する。即ち、メインフィードバック係数FAFは、「現時点からNストローク前の基本燃料噴射量Fb(k−N)にメインフィードバック量DFiを加えた値」を「基本燃料噴射量Fb(k−N)」で除すことにより求められる。以上により、メインフィードバック量DFiが比例積分制御により求められ、このメインフィードバック量DFiがメインフィードバック係数FAFへと変換される。
 FAF=(Fb(k−N)+DFi)/Fb(k−N)…(8)
 ステップ950:CPUは、下記(9)式に従ってメインフィードバック係数FAFの加重平均値をメインフィードバック係数平均値FAFAVとして求める。メインフィードバック係数平均値FAFAVは、以下「補正係数平均値FAFAV」とも称呼される。メインフィードバック係数平均値FAFAVは、メインフィードバック量DFiの平均値に相関する値である。
 (9)式においてFAFAVnewは更新後の補正係数平均値FAFAVであり、そのFAFAVnewが新たな補正係数平均値FAFAVとして格納される。(9)式において、値qは0より大きく1より小さい定数である。メインフィードバック係数平均値FAFAVは、所定期間におけるメインフィードバック係数FAFの平均値であってもよい。
FAFAVnew=q・FAF+(1−q)・FAFAV…(9)
 次に、CPUはステップ955以降のステップに進み、メインFB学習値KGを更新(取得、算出)する。即ち、CPUは、メインフィードバック係数FAFを基準値(基本値)「1」に近づけるためのメインFB学習値KGを、補正係数平均値FAFAVに基いて求める。
 より具体的に述べると、CPUはステップ955に進み、現時点において学習条件が成立しているか否かを判定する。学習条件は、例えば、図9のルーチンが実行される時間間隔(所定時間ta)の自然数倍の時間が経過する毎に成立する。
 学習条件が成立していないとき、CPUはステップ955にて「No」と判定し、ステップ995に直接進んで本ルーチンを一旦終了する。この結果、メインFB学習値KGの更新は行われない。
 一方、現時点において学習条件が成立していると、CPUはステップ955にて「Yes」と判定してステップ960に進み、補正係数平均値FAFAVの値が値(1+dα)以上であるか否かを判定する。値dαは正の所定値であり、例えば、0.02である。
 このとき、補正係数平均値FAFAVの値が値(1+dα)以上であると、CPUはステップ965に進んでメインFB学習値KGを正の所定値ΔKGだけ増大させる。その後、CPUはステップ995に進み、本ルーチンを一旦終了する。なお、前述したように、メインFB学習値KGはバックアップRAMに格納される。
 これに対し、CPUがステップ960に進んだ際、補正係数平均値FAFAVの値が値(1+dα)よりも小さいと、CPUはステップ970に進んで補正係数平均値FAFAVの値が値(1−dα)以下であるか否かを判定する。このとき、補正係数平均値FAFAVの値が値(1−dα)以下であると、CPUはステップ975に進んでメインFB学習値KGを正の所定値ΔKGだけ減少させる。その後、CPUはステップ995に進み、本ルーチンを一旦終了する。
 CPUがステップ970に進んだ際、補正係数平均値FAFAVの値が値(1−dα)よりも大きいと、CPUはステップ970からステップ995に直接進んで本ルーチンを一旦終了する。即ち、補正係数平均値FAFAVの値が値(1−dα)と値(1+dα)との間の値であるとき、メインFB学習値KGは更新されない。
 一方、ステップ905の判定時において、メインフィードバック制御条件が不成立であると、CPUはそのステップ905にて「No」と判定し、以下に述べるステップ980乃至ステップ992の処理を順に行う。
 ステップ980:CPUは、メインフィードバック量DFiの値を「0」に設定する。
 ステップ985:CPUは、メインフィードバック係数FAFの値を「1」に設定する。
 ステップ990:CPUは、筒内燃料供給量偏差の積分値SDFcを「0」に設定する。
 ステップ992:CPUは、補正係数平均値FAFAVの値を「1」に設定する。
 その後、CPUは、ステップ995に進んで本ルーチンを一旦終了する。
 このように、メインフィードバック制御条件が不成立であるとき、メインフィードバック量DFiの値は「0」に設定され、メインフィードバック係数FAFの値は「1」に設定される。従って、基本燃料噴射量Fbのメインフィードバック係数FAFによる補正は行われない。但し、このような場合であっても、基本燃料噴射量FbはメインFB学習値KGによって補正される。
<サブフィードバック制御>
 CPUは、サブフィードバック量Vafsfbを算出するために、所定時間が経過する毎に図10に示した「サブフィードバック制御ルーチン」を実行するようになっている。
 従って、所定のタイミングになると、CPUは図10のステップ1000から処理を開始してステップ1005に進み、サブフィードバック制御条件が成立しているか否かを判定する。
 サブフィードバック制御条件は以下の総ての条件が成立したときに成立する。
(B1)メインフィードバック制御条件が成立している。
(B2)下流側空燃比センサ56が活性化している。
 いま、サブフィードバック制御条件が成立していると仮定して説明を続ける。この場合、CPUはステップ1005にて「Yes」と判定し、以下に述べるステップ1010乃至ステップ1040の処理を実行し、その後、ステップ1095に進んで本ルーチンを一旦終了する。
 ステップ1010:CPUは、目標値VREF(下流側空燃比センサの出力値Voxsの目標値)を読み出す。目標値VREFは後述するルーチンにより決定されている。
 ステップ1015:CPUは、下記(10)式に従って、「目標値VREF」と「下流側空燃比センサ56の出力値Voxs」との差である「出力偏差量DVoxs」を取得する。即ち、CPUは、目標値VREFから出力値Voxsを減じることにより、出力偏差量DVoxsを求める。
 DVoxs=VREF−Voxs  …(10)
 ステップ1020:CPUは、下記(11)式に従って、サブフィードバック量Vafsfbを求める。この(11)式において、Kpは予め設定された比例ゲイン(比例定数)、Kiは予め設定された積分ゲイン(積分定数)、Kdは予め設定された微分ゲイン(微分定数)である。また、SDVoxsは出力偏差量DVoxsの積分値、DDVoxsは出力偏差DVoxsの微分値である。
 Vafsfb=Kp・DVoxs+Ki・SDVoxs+Kd・DDVoxs  …(11)
 ステップ1025:CPUは、「その時点における出力偏差量の積分値SDVoxs」に「上記ステップ1015にて求めた出力偏差量DVoxs」を加えることにより、新たな出力偏差量の積分値SDVoxsを求める。
 ステップ1030:CPUは、「上記ステップ1015にて算出した出力偏差量DVoxs」から「本ルーチンを前回実行した際に算出された出力偏差量(前回出力偏差量DVoxsold)」を減じることにより、新たな出力偏差量の微分値DDVoxsを求める。
 ステップ1035:CPUは、「上記ステップ1015にて算出した出力偏差量DVoxs」を「前回出力偏差量DVoxsold」として格納する。
 このように、CPUは、下流側空燃比センサ56の出力値Voxsを目標値VREFに一致させるための比例・積分・微分(PID)制御により「サブフィードバック量Vafsfb」を算出する。このサブフィードバック量Vafsfbは、上述した(2)式に示したように、フィードバック制御用出力値Vabyfcを算出するために使用される。
 ステップ1040;CPUは、下記(12)式に従ってサブFB学習値Vafsfbgを更新する。この(12)式の左辺Vafsfbg(k+1)は更新後のサブFB学習値Vafsfbgを表す。値αは0以上1未満の任意の値である。
 Vafsfbg(k+1)=α・Vafsfbg+(1−α)・Ki・SDVoxs  …(12)
 (12)式から明らかなように、サブFB学習値Vafsfbgは「サブフィードバック量Vafsfbの積分項Ki・SDVoxs」に「ノイズ除去のためのフィルタ処理」を施した値である。換言すると、サブFB学習値Vafsfbgは、サブフィードバック量Vafsfbの定常成分(積分項)に応じた値である。更新されたサブFB学習値Vafsfbg(=Vafsfbg(k+1))はバックアップRAMに格納される。
 更に、CPUがステップ1005の処理を実行する時点において、サブフィードバック制御条件が成立していない場合、CPUはそのステップ1005にて「No」と判定し、以下に述べるステップ1045及びステップ1050の処理を順に行う。その後、CPUは、ステップ1095に進んで本ルーチンを一旦終了する。
 ステップ1045:CPUはサブフィードバック量Vafsfbの値として、サブFB学習値Vafsfbgを採用する。
 ステップ1050:CPUは出力偏差量の積分値SDVoxsの値を「0」に設定する。
 以上、説明したように、出力値Voxsが目標値VREFに一致するようにサブフィードバック量Vafsfbが求められ、このサブフィードバック量Vafsfbは指示燃料噴射量Fiに反映される(図9のステップ910を参照。)。従って、出力値Voxsが目標値VREFに一致するように、指示燃料噴射量Fiがフィードバック制御される。
<目標値VREF決定>
 CPUは、「サブフィードバック制御に用いられる上記目標値VREF」を決定するために、所定時間が経過する毎に図11に示した「目標値決定ルーチン」を実行するようになっている。従って、所定のタイミングになると、CPUは図11のステップ1100から処理を開始してステップ1110に進み、上述した「サブフィードバック制御条件」が成立しているか否かを判定する。
 いま、サブフィードバック制御条件が成立していないと仮定して説明を続ける。この場合、CPUはステップ1110にて「No」と判定してステップ1120に進み、目標値収束制御実行フラグXVSFBの値を「0」に設定する。目標値収束制御実行フラグXVSFBは、その値が「1」であるとき「目標値VREFを基準値Vfへと収束させる目標値収束制御(目標値変更制御)」が実行されていることを示し、その値が「0」であるとき「目標値収束制御」が実行されていないことを示す。なお、目標値収束制御実行フラグXVSFBの値は、「機関10が搭載された図示しない車両」のイグニッション・キー・スイッチがオフ位置からオン位置へと変更された際、CPUにより実行されるイニシャルルーチンにおいて「0」に設定される。
 次いで、CPUはステップ1130に進み、目標値決定要求フラグXVREFreqの値を「1」に設定し、ステップ1195に進んで本ルーチンを一旦終了する。目標値決定要求フラグXVREFreqは、その値が「1」であるとき目標値VREFを新たに決定する必要があること(目標値VREFを更新する要求があること)を示す。目標値決定要求フラグXVREFreqは、その値が「0」であるとき、目標値VREFを新たに決定する必要がないることを示す。目標値決定要求フラグXVREFreqの値は、上述したイニシャルルーチンにおいて「1」に設定されるようになっている。その後、CPUはステップ1195に進み、本ルーチンを一旦終了する。
 サブフィードバック制御条件が不成立の状態から成立した状態へと変化した場合において、CPUがステップ1100に続いてステップ1110に進むと、CPUはそのステップ1110にて「Yes」と判定してステップ1040に進む。CPUは、そのステップ1140にて目標値決定要求フラグXVREFreqの値が「1」であるか否かを判定する。
 この場合、上述したイニシャルルーチン又は前述したステップ1130にて、目標値決定要求フラグXVREFreqの値は「1」に設定されている。従って、CPUはステップ1140にて「Yes」と判定してステップ1050に進み、前述した<判定方法>に従って目標値VREFを決定する。
 より具体的に述べると、CPUはステップ1150に進んだとき、図12のステップ1200を経由してステップ1202へと進み、目標値収束制御実行フラグXVSFBの値が「0」であるか否かを判定する。
 目標値収束制御実行フラグXVSFBの値は、上述したイニシャルルーチン又は前述したステップ1120にて「0」に設定されている。従って、CPUはステップ1202にて「Yes」と判定してステップ1204に進み、下流側空燃比センサの出力値Voxsが基準値Vfよりも大きいか否かを判定する。
 出力値Voxsが基準値Vfよりも大きい場合、CPUはステップ1204にて「Yes」と判定してステップ1206に進み、リッチ判定フラグXRの値を「1」に設定する。リッチ判定フラグXRは、その値が「1」であるとき、空燃比が「リッチ」と判定されていることを示し、従って、リーン要求が発生していることを示す。なお、リッチ判定フラグXRの値は上述したイニシャルルーチンにおいて「0」に設定されるようになっている。
 これに対し、出力値Voxsが基準値Vf以下である場合、CPUはステップ1204にて「No」と判定してステップ1208に進み、リッチ判定フラグXRの値を「0」に設定する。リッチ判定フラグXRは、その値が「0」であるとき、空燃比が「リーン」と判定されていることを示し、従って、リッチ要求が発生していることを示す。
 このように、サブフィードバック制御条件が成立したことに伴ってサブフィードバック制御の実行を開始するとき(サブフィードバック量Vafsfbの更新を開始するとき)、出力値Voxsと基準値Vfとの比較に基いて、リッチ要求及びリーン要求の何れが発生しているか(空燃比がリーンであるのかリッチであるのか)が暫定的に判定される。
 次に、CPUはステップ1210に進み、目標値収束制御実行フラグXVSFBの値を「1」に設定するとともに、基準値Vfを目標値VREFとして暫定的に設定する。その後、CPUはステップ1295を経由して図11のステップ1195に進み、目標値決定ルーチンを一旦終了する。
 この結果、サブフィードバック制御の実行開始直後においては、出力値Voxsが「基準値Vfに設定された目標値VREF」に一致するように、サブフィードバック量Vafsfbが算出される。
 以下、サブフィードバック制御条件が成立し続けていると仮定する。この場合、所定時間が経過し、CPUが図11のステップ1100からステップ1110に進んだとき、CPUはそのステップ1110にて「Yes」と判定してステップ1140に進む。目標値決定要求フラグXVREFreqは依然として「1」である。従って、CPUはステップ1140からステップ1150に進み、図12のステップ1200を経由してステップ1202に進む。
 目標値収束制御実行フラグXVSFBの値は、先に実行された図12のステップ1210にて「1」に設定されている。従って、CPUはステップ1202にて「No」と判定し、ステップ1212へと進む。CPUはステップ1212にてリッチ判定フラグXRの値が「1」であるか否かを判定する。
 以下、リッチ判定フラグXRの値が「1」に設定されていると仮定して説明を続ける。この場合、CPUはステップ1212にて「Yes」と判定してステップ1214に進み、リッチ判定フラグXRが「1」へと変更されてから「出力値Voxsの極大値Vmax」が取得されたか否かを判定する。極大値Vmaxは、図示しないルーチンにより別途取得される。
 なお、後述するように、CPUは出力値Voxsの極小値Vminも取得するようになっている。ここで、極大値Vmax及び極小値Vminの取得方法について簡単に説明する。CPUは、一定時間Tbの経過毎に下流側空燃比センサの出力値Voxsを取得する。CPUは、新たに出力Voxsを取得する毎に、「その新たに取得された出力値Voxsから、一定時間Tb前の出力値Voxs(以下、「前回出力値Voxszen」と称呼する。)を減じた値(Voxs−Voxszen)」を「微分値dVoxs/dt」として取得する。そして、CPUは、一定時間Tb前の微分値dVoxs/dtが「0」以上であり、新たに得られた微分値dVoxs/dtが「0」よりも小さいとき、一定時間Tb前の出力値Voxsを極大値Vmaxとして取得する。同様に、CPUは、一定時間Tb前の微分値dVoxs/dtが「0」以下であり、新たに得られた微分値dVoxs/dtが「0」よりも大きいとき、一定時間Tb前の出力値Voxsを極小値Vminとして取得する。
 リッチ判定フラグXRが「1」へと変更されてから極大値Vmaxが取得されていない場合、CPUはステップ1214にて「No」と判定し、ステップ1295を経由してステップ1195に直接進む。従って、極大値Vmaxが取得されるまで、CPUは図11のステップ1100、ステップ1110、ステップ1140、及び、ステップ1150(実際には、ステップ1200、ステップ1202、ステップ1212及びステップ1214)を繰り返し実行する。
 その後、リッチ判定フラグXRの値が「1」に変更されてから極大値Vmaxが取得されると、CPUはステップ1214にて「Yes」と判定してステップ1216に進み、その取得された極大値Vmaxを読み込む。次いで、CPUは上記表1に示した「リッチ判定時」の規則に従って目標値VREFを決定(設定)する。
 具体的に述べると、CPUはステップ1218に進み、極大値Vmaxが基準値Vf以上であるか否かを判定する。極大値Vmaxが基準値Vf以上であれば、CPUはステップ1220に進み、極大値Vmaxから「第1閾値としての値A1」を減じた値(Vmax−A1)が基準値Vfよりも大きいか否かを判定する。そして、値(Vmax−A1)が基準値Vfよりも大きい場合、CPUはステップ1222に進み、極大値Vmaxから「第1変更値としての値A1」を減じた値(Vmax−A1)を目標値VREFに設定する。これに対し、値(Vmax−A1)が基準値Vf以下である場合、CPUはステップ1226に進み、基準値Vfを目標値VREFに設定する。更に、CPUがステップ1218の処理を実行する時点において、極大値Vmaxが基準値Vfよりも小さければ、CPUはステップ1228に進み、極大値Vmaxから「第2変更値としての値B2」を減じた値(Vmax−B2)を目標値VREFに設定する。
 CPUは、ステップ1222、ステップ1226及びステップ1228の何れかのステップの処理を実行した後、ステップ1224に進んで目標値決定要求フラグXVREFreqの値を「0」に設定する。その後、CPUはステップ1295及び図11のステップ1150を経由してステップ1195に進み、目標値決定ルーチンを一旦終了する。
 その後、所定時間が経過し、CPUが図11のステップ1100からステップ1110に進んだとき、CPUはそのステップ1110にて「Yes」と判定してステップ1140に進む。この場合、目標値決定要求フラグXVREFreqは、先に実行された「図12のステップ1224の処理」により「0」に設定されている。従って、CPUはステップ1140にて「No」と判定してステップ1160に進み、空燃比の判定(及び、空燃比要求の判定)を行う。
 より具体的に述べると、CPUはステップ1160に進んだとき、図13のステップ1300を経由してステップ1310へと進み、リッチ判定フラグXRの値が「1」であるか否かを判定する。
 上述した仮定に従えば、リッチ判定フラグXRの値は依然として「1」である。従って、CPUはステップ1310にて「Yes」と判定してステップ1320に進み、下流側空燃比センサの出力値Voxsが目標値VREFよりも小さいか否かを判定する。そして、下流側空燃比センサの出力値Voxsが目標値VREFよりも小さい場合、CPUはステップ1320にて「Yes」と判定し(即ち、空燃比はリーンであると判定し)、以下に述べるステップ1330及びステップ1340の処理を順に行う。
 ステップ1330:CPUは、リッチ判定フラグXRの値を「0」に設定する。
 ステップ1340:CPUは、目標値決定要求フラグXVREFreqの値を「1」に設定する。
 その後、CPUはステップ1395及び図11のステップ1160を経由してステップ1195に進み、目標値決定ルーチンを一旦終了する。
 これに対し、CPUがステップ1320の処理を実行する時点において、下流側空燃比センサの出力値Voxsが目標値VREF以上であると、CPUはそのステップ1320にて「No」と判定し、ステップ1395に直接進む。その後、CPUは、図11のステップ1160を経由してステップ1195に進んで目標値決定ルーチンを一旦終了する。このように、リッチ判定フラグXRの値が「1」である場合、出力値Voxsが目標値VREFよりも小さくなった場合にのみ、リッチ判定フラグXRの値が「0」に変更される。
 図13のステップ1330にてリッチ判定フラグXRの値が「0」に設定され、ステップ1340にて目標値決定要求フラグXVREFreqの値が「1」に設定された後、CPUが図11のステップ1140に再び進むと、CPUはそのステップ1140にて「Yes」と判定してステップ1150に進む。従って、CPUは、図12のステップ1200を経由してステップ1202へと進み、目標値収束制御実行フラグXVSFBの値が「0」であるか否かを判定する。この場合、目標値収束制御実行フラグXVSFBの値は「1」である(ステップ1210を参照。)。
 従って、CPUはステップ1202からステップ1212へと進む。この場合、リッチ判定フラグXRの値は、先に実行された図13のステップ1330の処理により「0」に設定されている。従って、CPUはステップ1212にて「No」と判定してステップ1230に進み、リッチ判定フラグXRが「0」へと変更されてから「出力値Voxsの極小値Vmin」が取得されたか否かを判定する。極小値Vminは、前述したように、図示しないルーチンにより別途取得される。
 極小値Vminが取得されていない場合、CPUはステップ1230にて「No」と判定し、ステップ1295を経由してステップ1195に直接進む。従って、極小値Vminが取得されるまで、CPUは図11のステップ1100、ステップ1110、ステップ1140、及び、ステップ1150(実際には、ステップ1200、ステップ1202、ステップ1212及びステップ1230)を繰り返し実行する。
 その後、リッチ判定フラグXRの値が「0」に変更されてから極小値Vminが取得されると、CPUはステップ1230にて「Yes」と判定してステップ1232に進み、その取得された極小値Vminを読み込む。次いで、CPUは上記表1に示した「リーン判定時」の規則に従って目標値VREFを決定(設定)する。
 具体的に述べると、CPUはステップ1234に進み、極小値Vminが基準値Vf以下であるか否かを判定する。極小値Vminが基準値Vf以下であれば、CPUはステップ1236に進み、極小値Vminに「第1閾値としての値A2」を加えた値(Vmin+A2)が基準値Vfよりも小さいか否かを判定する。そして、値(Vmin+A2)が基準値Vfよりも小さい場合、CPUはステップ1238に進み、極小値Vminに「第1変更値としての値A2」を加えた値(Vmin+A2)を目標値VREFに設定する。これに対し、値(Vmin+A2)が基準値Vf以上である場合、CPUはステップ1242に進み、基準値Vfを目標値VREFに設定する。更に、CPUがステップ1234の処理を実行する時点において、極小値Vminが基準値Vfよりも大きければ、CPUはステップ1244に進み、極小値Vminに「第2変更値としての値B1」を加えた値(Vmin+B1)を目標値VREFに設定する。
 CPUは、ステップ1238、ステップ1242及びステップ1244の何れかのステップの処理を実行した後、ステップ1240に進んで目標値決定要求フラグXVREFreqの値を「0」に設定する。その後、CPUはステップ1295及び図11のステップ1150を経由してステップ1195に進み、目標値決定ルーチンを一旦終了する。
 その後、所定時間が経過し、CPUが図11のステップ1100からステップ1110に進んだとき、CPUはそのステップ1110にて「Yes」と判定してステップ1140に進む。この場合、目標値決定要求フラグXVREFreqは、先に実行された「図12のステップ1240の処理」により「0」に設定されている。従って、CPUはステップ1140にて「No」と判定してステップ1160に進み、空燃比判定を行う。
 より具体的に述べると、CPUはステップ1160に進んだとき、図13のステップ1300を経由してステップ1310へと進み、リッチ判定フラグXRの値が「1」であるか否かを判定する。
 この場合、リッチ判定フラグXRの値は「0」である。従って、CPUはステップ1310にて「No」と判定してステップ1350に進み、下流側空燃比センサの出力値Voxsが目標値VREFよりも大きいか否かを判定する。そして、下流側空燃比センサの出力値Voxsが目標値VREFよりも大きい場合、CPUはステップ1350にて「Yes」と判定し(即ち、空燃比はリッチであると判定し)、以下に述べるステップ1360及びステップ1370の処理を順に行う。
 ステップ1360:CPUは、リッチ判定フラグXRの値を「1」に設定する。
 ステップ1370:CPUは、目標値決定要求フラグXVREFreqの値を「1」に設定する。
 その後、CPUはステップ1395及び図11のステップ1160を経由してステップ1195に進み、目標値決定ルーチンを一旦終了する。
 これに対し、CPUがステップ1350の処理を実行する時点において、下流側空燃比センサの出力値Voxsが目標値VREF以下であると、CPUはステップ1350にて「No」と判定し、ステップ1395に直接進む。その後、CPUは、図11のステップ1160を経由してステップ1195に進んで目標値決定ルーチンを一旦終了する。このように、リッチ判定フラグXRの値が「0」である場合、出力値Voxsが目標値VREFよりも大きくなった場合にのみ、リッチ判定フラグXRの値が「1」に変更される。
 図13のステップ1360にてリッチ判定フラグXRの値が「1」に設定され、ステップ1370にて目標値決定要求フラグXVREFreqの値が「1」に設定された後、CPUが図11のステップ1140に再び進むと、CPUはそのステップ1140にて「Yes」と判定してステップ1150に進む。従って、CPUは、図12のステップ1200を経由してステップ1202、ステップ1212及びステップ1214へと進む。以降、同様な処理が繰り返し行われる。
 なお、サブフィードバック制御条件が成立したことに伴って目標値収束制御実行フラグXVSFBが「0」から「1」へと変更されてから(図11のステップ1140を参照。)、リッチ判定フラグXRの値が「0」に設定された場合(図12のステップ1208を参照。)、CPUはステップ1230にて「目標値収束制御実行フラグXVSFBが「0」から「1」へと変更されてから極小値Vminが取得されたか否か」を監視する。
 以上、説明したように、第1制御装置は、目標値VREFを次第に基準値Vfへと近づける目標値収束制御を実行する。
 より具体的に述べると、第1制御装置は、リーン要求が発生しているか、リッチ要求が発生しているか、を下流側空燃比センサの出力値Voxsと目標値VREFとに基づいて判定する空燃比制御手段(判定手段)を備える(図13及びリッチ判定フラグXRを参照。)。リーン要求は、出力値Voxsを目標値VREFに近づけるために機関の空燃比を増大させる要求である。リッチ要求は、出力値Voxsを目標値VREFに近づけるために機関の空燃比を減少させる要求である。
 但し、第1制御装置において、リーン要求及びリッチ要求は目標値VREFを決定するために使用されるが、実際の機関の空燃比の制御には直接使用されない。機関の空燃比は、出力値Voxsと目標値VREFとを一致させるように算出されるサブフィードバック量Vafsfbにより制御される。
 サブフィードバック量Vafsfbは、図10に示したように、リーン要求が発生している期間(即ち、出力値Voxsが目標値VREFよりも大きい期間)において機関の空燃比を増大する(指示燃料噴射量Fiを減少する)ように変更される。
 サブフィードバック量Vafsfbは、図10に示したように、リッチ要求が発生している期間(即ち、出力値Voxsが目標値VREFよりも小さい期間)において機関の空燃比を減少する(指示燃料噴射量Fiを増大する)ように制御される。
 即ち、第1制御装置は、前記リーン要求が発生している期間において前記機関の空燃比を増大し、前記リッチ要求が発生している期間において前記機関の空燃比を減少する、フィードバック制御を実行する空燃比制御手段を備える(図10のルーチン等を参照。)。
 加えて、第1制御装置は、極大値Vmax及び極小値Vminを取得する極値取得手段を備える(図12のステップ1214、ステップ1216、ステップ1230及びステップ1232を参照。)。
 基準値Vf以上である極大値Vmax、及び、基準値Vf以下である極小値Vminは、「下流側空燃比センサの出力値Voxsが基準値Vfから離れる方向に変化する状態から基準値Vfに近づく方向に変化する状態へと変化したときの出力値Voxs」であるということができる。このような極値(基準値Vf以上である極大値Vmax、及び、基準値Vf以下である極小値Vmin)は、便宜上「第1極値」と称呼される。
 基準値Vfよりも小さい極大値Vmax、及び、基準値Vfよりも大きい極小値Vminは、「下流側空燃比センサの出力値Voxsが基準値Vfに近づく方向に変化する状態から基準値Vfから離れる方向へと変化する状態へと変化したときの出力値Voxs」であるということができる。このような極値(基準値Vfよりも小さい極大値Vmax、及び、基準値Vfよりも大きい極小値Vmin)は、便宜上「第2極値」と称呼される。
 従って、第1制御装置は、第1極値及び第2極値を取得する極値取得手段を備える。
 更に、第1制御装置の空燃比制御手段は、
 前記極値取得手段により前記第1極値(基準値Vf以上である極大値Vmax、又は、基準値Vf以下である極小値Vmin)が取得された場合、その取得された第1極値と基準値Vfとの間の値である第1値(Vmax−A1、又は、Vmin+A2)を目標値VREFとして設定する(表1、図4の(A)、図4の(C)、図5の(A)、図5の(C)、図12のステップ1222、ステップ1238等を参照。)。
 第1制御装置の空燃比制御手段は、その後(第1値(Vmax−A1)を目標値VREFとして設定した後)、リーン要求が発生している場合において出力値Voxsが「第1値(Vmax−A1)に設定された目標値VREF」よりも小さくなった時点にて、リッチ要求が発生したと判定する(図13のステップ1310乃至ステップ1330を参照。)。この時点は、出力値Voxsと基準値Vfとの差の絶対値が、「第1値(Vmax−A1)に設定された目標値VREF」と基準値Vfとの差の絶対値、よりも小さくなった時点である。出力値Voxsと基準値Vfとの差の絶対値が、「第1値に設定された目標値VREF」と基準値Vfとの差の絶対値、よりも小さくなった時点は、便宜上、第1時点とも称呼される。
 同様に、第1制御装置の空燃比制御手段は、リッチ要求が発生している場合において出力値Voxsが「第1値(Vmin+A2)に設定された目標値VREF」よりも大きくなった時点にて、リーン要求が発生したと判定する(図13のステップ1310、ステップ1350及びステップ1360を参照。)。この時点は、出力値Voxsと基準値Vfとの差の絶対値が、「第1値(Vmin+A2)に設定された目標値VREF」と基準値Vfとの差の絶対値、よりも小さくなった時点(即ち、第1時点)である。
 このように、第1制御装置の空燃比制御手段は、「出力値Voxsと基準値Vfとの差の絶対値」が、「前記第1値に設定された目標値VREFと基準値Vfとの差の絶対値」よりも小さくなった第1時点において、その第1時点まで発生していると判定していた「リッチ要求及びリーン要求のうちの何れか一方」とは異なる「他方の要求」が発生したと判定する。
 更に、第1制御装置の空燃比制御手段は、
 その後(「他方の要求」が発生したと判定した後)、前記極値取得手段によって前記第2極値(基準値Vfよりも大きい極小値Vmin、及び、基準値Vfよりも小さい極大値Vmax)が取得された場合、「その取得された第2極値」と「前記極値取得手段によって取得された前記第1極値(基準値Vfよりも大きい極大値Vmax、又は、基準値Vfよりも小さい極小値Vmin)」との間の値である第2値(Vmin+B1又はVmax−B2)、を目標値VREFとして設定する(表1、図4の(C)、図5の(C)、図12のステップ1228、ステップ1244等を参照。)。換言すると、第1制御装置の空燃比制御手段は、第2値が、最新の第1極値と最新の第2極値との間の値となるように、値B1及び値B1を設定している。
 第1制御装置の空燃比制御手段は、その後(第2値を目標値VREFとして設定した後)、リッチ要求が発生している場合において出力値Voxsが「第2値(Vmin+B1)に設定された目標値VREF」よりも大きくなった時点にて、リーン要求が発生したと判定する(図13のステップ1310、ステップ1350及びステップ1360を参照。)。この時点は、出力値Voxsと基準値Vfとの差の絶対値が、「第2値(Vmin+B1)に設定された目標値VREF」と基準値Vfとの差の絶対値、よりも大きくなった時点である。出力値Voxsと基準値Vfとの差の絶対値が、「第2値に設定された目標値VREF」と基準値Vfとの差の絶対値、よりも大きくなった時点は、便宜上、第2時点とも称呼される。
 同様に、第1制御装置の空燃比制御手段は、リーン要求が発生している場合において出力値Voxsが「第2値(Vmax−B2)に設定された目標値VREF」よりも小さくなった時点にて、リッチ要求が発生したと判定する(図13のステップ1310乃至ステップ1330を参照。)。この時点は、出力値Voxsと基準値Vfとの差の絶対値が、「第2値(Vmax−B2)に設定された目標値VREF」と基準値Vfとの差の絶対値、よりも大きくなった時点(即ち、第2時点)である。
 このように、第1制御装置の空燃比制御手段は、「出力値Voxsと基準値Vfとの差の絶対値」が、「前記第2値に設定された目標値VREFと基準値Vfとの差の絶対値」よりも大きくなった第2時点において、その第2時点まで発生していると判定していた「リッチ要求及びリーン要求のうちの何れか一方」とは異なる「他方の要求」が発生したと判定する。
 第1制御装置は、このような目標値VREFの設定及び空燃比の判定(リッチ要求及びリーン要求の何れが発生しているかの判定)を繰り返すことにより、目標値VREFを基準値Vfに近づける。即ち、第1制御装置は、下流側空燃比センサの出力値Voxsの極大値Vmaxが「基準値Vfに第1閾値(A1)を加えた値」よりも大きい場合、又は、下流側空燃比センサの出力値Voxsの極小値Vminが「基準値Vfから第1閾値(A2)を減じた値」よりも小さい場合、目標値VREF(サブフィードバック制御に用いられる目標値)を、基準値Vfに、所定の初期値から、時間経過とともに徐々に近づける目標値変更手段を備える。即ち、目標値変更手段は、目標値収束制御を実行する。
 この場合、前記所定の初期値(目標値収束制御の初期値)の一つは、値(Vmax−A1=Vmax(1)−A1)である。この値(Vmax−A1=Vmax(1)−A1)は、「基準値Vfよりも大きい側の領域及び基準値Vfよりも小さい側の領域」の何れか一方の領域であって下流側空燃比センサの出力値Voxs(現時点の出力値Voxs)が存在している領域(この例においては、基準値Vfよりも大きい側の領域)」内の値である。更に、前記所定の初期値(目標値収束制御の初期値)の他の一つは、値(Vmin+A2=Vmin(1)+A2)である。この値(Vmin+A2=Vmin(1)+A2)は、「基準値Vfよりも大きい側の領域及び基準値Vfよりも小さい側の領域」の何れか一方の領域であって下流側空燃比センサの出力値Voxs(現時点の出力値Voxs)が存在している領域(この例においては、基準値Vfよりも小さい側の領域)」内の値である。
 従って、第1制御装置は、目標値VREFが基準値Vfに固定される従来の装置に比べ、より早期に(換言すると、短い周期にて)機関の空燃比を「リーン空燃比からリッチ空燃比へと、又は、その逆へと」切り換えることができる。その結果、第1制御装置は、出力値Voxsの振幅が大きくなることを回避しながら、出力値Voxsを基準値Vfに近づけることができるので、エミッションを良好に維持することができる。
 なお、第2変更値(値B1又は値B2)は、第1変更値(値A1又は値A2)に比べ、「(十分に大きな)正の所定値」以上小さくなるように設定することが望ましい。これによれば、第1制御装置は、前記第2値である値(例えば、Vmin+B1)を、前記取得された第2極値(Vmin)と前記第1値(Vmax−A1)との間の値に設定することができる。同様に、第1制御装置は、前記第2値である値(例えば、Vmax−B2)を、前記取得された第2極値(Vmax)と前記第1値(Vmin+A2)との間の値に設定することができる。この結果、第1制御装置は、目標値VREFを迅速に基準値Vfへと収束させることができる。
 更に、第1極値が極大値Vmax(1)である場合、第1制御装置は、「第2極値である極小値Vmin(1)が得られた第2極値取得時点」以降に得られる第1極値(即ち、極大値Vmax(2))が、第2極値取得時点以前に得られていた極大値Vmax(1)よりも小さくなるように、値A1及び値B1を設定することが望ましい(図6を参照。)。
 同様に、第1極値が極小値Vmin(1)である場合、第1制御装置は、「第2極値である極大値Vmax(1)が得られた第2極値取得時点」以降に得られる第1極値(即ち、極小値Vmin(2))が、第2極値取得時点以前に得られていた極小値Vmin(1)よりも大きくなるように、値A2及び値B2を設定することが望ましい(図7を参照。)。
 即ち、第1制御装置の空燃比制御手段は、「前記第2極値取得時点(例えば、図6の時刻t3)以降において前記極値取得手段により取得される前記第1極値(例えば、極大値Vmax(2))」と基準値Vfとの差の絶対値(|Vmax(2)−Vf|)が、「前記第2極値取得時点(図6の時刻t3)の前に前記極値取得手段によって取得された前記第1極値(極大値Vmax(1))」と基準値Vfとの差の絶対値(|Vmax(1)−Vf|)、よりも小さくなるように、前記第1値(Vmax(1)−A1)及び前記第2値(Vmin(1)+B1)を設定するように構成されることが好ましいと言い換えることができる。
 或いは、第1制御装置の空燃比制御手段は、「前記第2極値取得時点(例えば、図7の時刻t3)以降において前記極値取得手段により取得される前記第1極値(例えば、極小値Vmin(2))」と基準値Vfとの差の絶対値(|Vmin(2)−Vf|)が、「前記第2極値取得時点(図7の時刻t3)の前に前記極値取得手段によって取得された前記第1極値(極小値Vmin(1))」と基準値Vfとの差の絶対値(|Vmin(1)−Vf|)、よりも小さくなるように、前記第1値(Vmin(1)+A2)及び前記第2値(Vmax(1)−B2)を設定するように構成されることが好ましいと言い換えることができる。
 これによれば、目標値VREFを基準値Vfへとより確実に収束させることができる。
 更に、第1制御装置の判定装置は、
 前記極値取得手段により前記第1極値が取得された場合、
(1)同取得された第1極値と前記基準値との差の絶対値が正の第1閾値(値A1又は値A2)よりも大きいとき(図12のステップ1220での「Yes」との判定又はステップ1236での「Yes」との判定を参照。)、前記第1値を目標値VREFとして設定し(ステップ1222又はステップ1238)、
(2)同取得された第1極値と前記基準値との差の絶対値が前記第1閾値以下であるとき(図12のステップ1220での「No」との判定又はステップ1236での「No」との判定を参照。)、基準値Vfを目標値VREFとして設定する(ステップ1226又はステップ1242)。なお、この場合、第1制御装置の判定装置は、出力値Voxsが「基準値Vfに設定された目標値VREF」を横切った第3時点において、同第3時点まで発生していると判定していた「前記リッチ要求及び前記リーン要求のうちの何れか一方」とは異なる「他方の要求」が発生したと判定する(図13のルーチン、図6の時刻t8以降、及び、図7の時刻t8以降等を参照。)、ように構成されている。
 更に、第1制御装置の空燃比制御手段は、図5の(C)及び図6に示したように、
 前記第1極値(例えば、極大値Vmax(1))に比べて正の第1変更値(値A1)だけ前記基準値に近い値(Vmax(1)−A1)を前記第1値として設定し、前記第2極値(極小値Vmin(1))に比べて正の第2変更値(値B1)だけ基準値Vfから遠い値(Vmin(1)+B1)を前記第2値として設定するように構成されている。この場合、前記第1変更値(値A1)は前記第1閾値以下(値A1)であればよく、且つ、前記第2変更値(値B1)は前記第1変更値(値A1)よりも小さいことが望ましい。
 同様に、第1制御装置の空燃比制御手段は、図4の(C)及び図7に示したように、
 前記第1極値(例えば、極小値Vmin(1))に比べて正の第1変更値(値A2)だけ前記基準値に近い値(Vmin(1)+A2)を前記第1値として設定し、前記第2極値(極大値Vmax(1))に比べて正の第2変更値(値B2)だけ基準値Vfから遠い値(Vmax(1)−B2)を前記第2値として設定するように構成されている。この場合、前記第1変更値(値A2)は前記第1閾値以下(値A2)であればよく、且つ、前記第2変更値(値B2)は前記第1変更値(値A2)よりも小さいことが望ましい。
<第2実施形態>
 次に、本発明の第2実施形態に係る制御装置(以下、単に「第2制御装置」と称呼する。)について説明する。第2制御装置は、第1変更値(値A1及び値A2)と第2変更値(値B1及び値B2)とを、下流側空燃比センサ56の温度(素子温度)が低いほど「より小さく」する点のみにおいて、第1制御装置と相違している。
 より具体的に述べると、図3の実線C1及び破線C2に示したように、下流側空燃比センサの出力値Voxsは、下流側空燃比センサ56の温度が低いほど、最大値が最大出力値Maxに近づき、最小値が最小出力値Minに近づく。換言すると、下流側空燃比センサの出力値Voxsは、下流側空燃比センサ56の温度Trearが低いほど急激に変化する。
 そこで、第2制御装置のCPUは、図8乃至図13に示したルーチンに加え、図14に示したルーチンを所定時間が経過する毎に実行するようになっている。従って、所定のタイミングになると、CPUは図14のステップ1400から処理を開始してステップ1410に進み、下流側空燃比センサ56の温度Trearを取得する。具体的には、CPUは、下流側空燃比センサ56のインピーダンス(又は、アドミタンス)を取得し、そのインピーダンスに基いて温度Trearを取得する。なお、CPUは、負荷KLと機関回転速度NEとから排ガスの温度を推定し、その排ガスの推定温度に対して一次遅れ処理等を施すことにより、温度Trearを取得してもよい。
 次に、CPUはステップ1420に進み、ステップ1420内に示されたテーブルMapAB(Trear)に、取得した温度Trearを適用することにより、第1変更値(値A1及び値A2)と、第2変更値(値B1及び値B2)と、を決定する。このテーブルMapAB(Trear)によれば、第1変更値及び第2変更値は、温度Trearが低いほど小さくなるように決定される。本例において、値A1と値A2とは等しいが、値A1と値A2とは相違していてもよい。更に、本例において、値B1と値B2とは等しいが、値B1と値B2とは相違していてもよい。その後、CPUはステップ1495に進み、本ルーチンを一旦終了する。そして、CPUはこのように決定された「第1変更値及び第2変更値」を用いて目標値VREFを設定する(図12のルーチンを参照。)。
 前述したように、下流側空燃比センサの出力値Voxsは、下流側空燃比センサ56の温度Trearが低いほど急激に変化する(触媒流出ガスの空燃比が理論空燃比stoichを通過した際の出力値Voxsの変動幅が大きくなる)。従って、第2制御装置は、第1変更値及び第2変更値を、温度Trearが低いほど「より小さくする」。これにより、出力値Voxsが過小になる前にリッチ要求が発生したと判定することができ、出力値Voxsが過大になる前にリーン要求が発生したと判定することができる。その結果、出力値Voxsの振幅を小さく維持しながら、出力値Voxsを「時間経過とともに基準値Vfに近づく目標値VREF」の近傍に維持することができる。従って、第2制御装置は、温度Trearに関わらずエミッションを良好に維持することができる。
 なお、第2制御装置は、値A1及び値A2のみを温度Trearに応じて変化させ、且つ、値B1及び値B2を一定値に維持してもよい。更に、第2制御装置は、値A1、値A2、値B1及び値B2のうちの少なくとも一つ、を温度Trearが低いほど「より小さい値」に設定してもよい。加えて、第2制御装置は、第1閾値としての値(A1,A2)を、第1変更値と同様に温度Trearに応じて変化させてもよく、一定値に維持してもよい。
<第3実施形態>
 次に、本発明の第3実施形態に係る制御装置(以下、単に「第3制御装置」と称呼する。)について説明する。第3制御装置は、第1変更値(値A1及び値A2)及び第2変更値(値B1及び値B2)を、触媒43を通過する排ガスの流量(従って、吸入空気量Ga)が小さいほど「より小さく」する点のみにおいて、第1制御装置と相違している。
 より具体的に述べると、触媒流出ガスの空燃比が理論空燃比stoichを横切る際の「下流側空燃比センサの出力値Voxsの単位時間あたりの変化幅」は、触媒43を通過する排ガスの流量が小さい場合、触媒43を通過する排ガスの流量が大きい場合に比べて大きくなる。これは、排ガスの流量が小さい場合、排ガスの流量が大きい場合に比べ、酸素吸蔵量OSAが最大酸素吸蔵量Cmax近傍値に到達するまで、触媒43の下流に酸素が流出し難く、酸素吸蔵量OSAが最大酸素吸蔵量Cmax近傍値に到達すると酸素が触媒43の下流に急激に流出することによると推定される。同様に、排ガスの流量が小さい場合、排ガスの流量が大きい場合に比べ、酸素吸蔵量OSAが「0」の近傍値に到達するまで、触媒43の下流に未燃物が流出し難く、酸素吸蔵量OSAが「0」の近傍値に到達すると未燃物が触媒43の下流に急激に流出することによると推定される。
 そこで、第3制御装置のCPUは、図8乃至図13に示したルーチンに加え、図15に示したルーチンを所定時間が経過する毎に実行するようになっている。従って、所定のタイミングになると、CPUは図15のステップ1500から処理を開始してステップ1510に進み、吸入空気量Gaを取得する。吸入空気量Gaは、触媒43を通過する排ガスの流量を表す。
 次に、CPUはステップ1520に進み、ステップ1520内に示されたテーブルMapAB(Ga)に、取得した吸入空気量Gaを適用することにより、第1変更値(値A1及び値A2)と、第2変更値(値B1及び値B2)と、を決定する。このテーブルMapAB(Ga)によれば、第1変更値及び第2変更値は、吸入空気量Gaが小さいほど小さくなるように決定される。本例において、値A1と値A2とは等しいが、値A1と値A2とは相違していてもよい。更に、本例において、値B1と値B2とは等しいが、値B1と値B2とは相違していてもよい。その後、CPUはステップ1595に進み、本ルーチンを一旦終了する。そして、CPUはこのように決定された「第1変更値及び第2変更値」を用いて目標値VREFを設定する(図12のルーチンを参照。)。
 これによれば、排ガスの流量が小さいことに起因して下流側空燃比センサの出力値Voxsが急激に変化する場合、第1変更値及び第2変更値が小さい値となる。よって、出力値Voxsが過小になる前にリッチ要求が発生したと判定することができ、出力値Voxsが過大になる前にリーン要求が発生したと判定することができる。その結果、出力値Voxsの振幅を小さく維持しながら、出力値Voxsを「時間経過とともに基準値Vfに近づく目標値VREF」の近傍に維持することができる。従って、第3制御装置は、排ガスの流量に関わらずエミッションを良好に維持することができる。
 なお、第3制御装置は、値A1及び値A2のみを吸入空気量Gaに応じて変化させ、且つ、値B1及び値B2を一定値に維持してもよい。更に、第3制御装置は、値A1、値A2、値B1及び値B2のうちの少なくとも一つ、を吸入空気量Gaが小さいほど小さい値に設定してもよい。加えて、第3制御装置は、第1閾値としての値(A1,A2)を、第1変更値と同様に吸入空気量Gaに応じて変化させてもよく、一定値に維持してもよい。
<第4実施形態>
 次に、本発明の第4実施形態に係る制御装置(以下、単に「第4制御装置」と称呼する。)について説明する。第4制御装置は、第1変更値(値A1及び値A2)を、第1極値(基準値Vfよりも大きい極大値Vmax、及び、基準値Vfよりも小さい極小値Vmin)が大きいほど「より小さく」する点のみにおいて、第1制御装置と相違している。
 第4制御装置のCPUは、図8乃至図11と、図13と、に示したルーチンに加え、図12に代わる図16に示したルーチンを実行するようになっている。即ち、CPUは、図11のステップ1150に進んだとき、図16のステップ1600へと進む。更に、CPUは、図16のステップ1695に進んだとき、図11のステップ1150を経由してステップ1195へと進む。
 図16に示したルーチンは、図12に示したルーチンに「ステップ1610乃至ステップ1640」を追加した点のみにおいて、図12に示したルーチンと相違している。従って、以下、この相違点を中心として説明する。
 CPUは、ステップ1220にて「Yes」と判定した場合、ステップ1610に進み、極大値Vmaxから値(A1+a1)を減じた値(Vmax−(A1+a1))が基準値Vfよりも大きいか否かを判定する。値a1は正の所定値であり、値(A1+a1)は、最大出力値Maxと基準値Vfとの差の絶対値よりも小さい。
 そして、値(Vmax−(A1+a1))が基準値Vfよりも大きい場合、CPUはステップ1610からステップ1620に進み、値(Vmax−A1s)を目標値VREFに設定する。値A1sは、値A1よりも小さい正の所定値である。その後、CPUはステップ1224へと進む。これに対し、値(Vmax−(A1+a1))が基準値Vf以下である場合、CPUはステップ1610からステップ1222に進み、値(Vmax−A1)を目標値VREFに設定する。その後、CPUはステップ1224へと進む。
 即ち、CPUは、極大値Vmaxと基準値Vfとの差の絶対値が値(A1+a1)よりも大きい場合に目標値VREFを値(Vmax−A1s)に設定し、極大値Vmaxと基準値Vfとの差の絶対値が値A1よりも大きく且つ値(A1+a1)以下である場合に目標値VREFを値(Vmax−A1)に設定する。換言すると、極大値Vmaxが所定値(Vf+A1+a1)よりも大きい場合、極大値Vmaxが所定値(Vf+A1+a1)よりも小さい場合に比べ、第1値を大きい値に設定する。
 更に、CPUは、ステップ1236にて「Yes」と判定した場合、ステップ1630に進み、極小値Vminに値(A2+a2)を加えた値(Vmim+(A2+a2))が基準値Vfよりも小さいか否かを判定する。値a2は正の所定値であり、値(A2+a2)は、最小出力値Minと基準値Vfとの差の絶対値よりも小さい。
 そして、値(Vmim+(A2+a2))が基準値Vfよりも小さい場合、CPUはステップ1630からステップ1640に進み、値(Vmin+A2s)を目標値VREFに設定する。値A2sは、値A2よりも小さい正の所定値である。その後、CPUはステップ1240へと進む。これに対し、値(Vmim+(A2+a2))が基準値Vf以上である場合、CPUはステップ1630からステップ1238に進み、値(Vmin+A2)を目標値VREFに設定する。その後、CPUはステップ1240へと進む。
 即ち、CPUは、極小値Vminと基準値Vfとの差の絶対値が値(A2+a2)よりも大きい場合に目標値VREFを値(Vmin+A2s)に設定し、極小値Vminと基準値Vfとの差の絶対値が値A2よりも大きく且つ値(A2+a2)以下である場合に目標値VREFを値(Vmin+A2)に設定する。換言すると、極小値Vminが所定値(Vf−(A2+a2))よりも小さい場合、極小値Vminが所定値(Vf−(A2+a2))よりも大きい場合に比べ、第1値を小さい値に設定する。
 例えば、フューエルカット制御が行われると、触媒流出ガスには多量の酸素が含まれる。そのため、下流側空燃比センサの出力値Voxsは最小出力値Minに極めて近い値を示す。この場合、下流側空燃比センサ56の拡散抵抗層には多量の酸素が残存しているので、フューエルカット制御の終了後に触媒流出ガスの空燃比がリッチ空燃比になった場合であっても、下流側空燃比センサの出力値Voxsは直ちに増大しない。即ち、触媒流出ガスの空燃比の変化に対する出力値Voxsの変化が遅れる。
 更に、フューエルカット制御の終了後に機関の空燃比がリッチ空燃比に制御される場合(フューエルカット終了後増量制御が実行される場合)、触媒流出ガスには多量の未燃物が含まれる。そのため、下流側空燃比センサの出力値Voxsは最大出力値Maxに極めて近い値を示す。この場合、下流側空燃比センサ56の拡散抵抗層には多量の未燃物が残存しているので、フューエルカット終了後増量制御の終了後に触媒流出ガスの空燃比がリーン空燃比になった場合であっても、下流側空燃比センサの出力値Voxsは直ちに減少しない。即ち、触媒流出ガスの空燃比の変化に対する出力値Voxsの変化が遅れる。
 このように、多量の酸素又は多量の未燃物が下流側空燃比センサ56に到達すると、下流側空燃比センサ56は所謂「一次被毒状態」と呼ばれる状態となり、センサの応答性が低下する。
 そこで、第4制御装置は、上述したように、極大値Vmaxが極めて大きくなった場合(即ち、極大値Vmaxと基準値Vfとの差の絶対値が値(A1+a1)よりも大きい場合)、目標値VREFを「極大値Vmaxにより近い値(Vmax−A1s)亅に設定する。同様に、第4制御装置は、極小値Vminが極めて小さくなった場合(即ち、極小値Vminと基準値Vfとの差の絶対値が値(A2+a2)よりも大きい場合)、目標値VREFを「極小値Vminにより近い値(Vmin+A2s)」に設定する。この結果、センサの応答性が低下している場合であっても、リーン要求又はリッチ要求の判定が遅れないようにすることができるので、機関の空燃比を「リーン空燃比からリッチ空燃比へと、又は、その逆へと」遅れなく切り換えることができる。従って、第4制御装置は、出力値Voxsの振幅が大きくなることを回避しながら、出力値Voxsを基準値Vfに近づけることができるので、エミッションを良好に維持することができる。
 このように、第4制御装置は、
 前記第1極値(例えば、極大値Vmax)と基準値Vfとの差の絶対値が正の第2閾値(A1+a1)よりも大きい場合における前記第1変更値の値を、前記第1極値と前記基準値との差の絶対値が前記第2閾値以下である場合における前記第1変更値の値(A1)よりも小さい値(A1s)に設定するように構成された装置であると言うことができる。
 同様に、第4制御装置は、
 前記第1極値(例えば、極小値Vmin)と基準値Vfとの差の絶対値が正の第2閾値(A2+a2)よりも大きい場合における前記第1変更値の値を、前記第1極値と前記基準値との差の絶対値が前記第2閾値以下である場合における前記第1変更値の値(A2)よりも小さい値(A2s)に設定するように構成された装置であると言うことができる。
 なお、第4制御装置は、
 前記第1極値(例えば、極大値Vmax)と基準値Vfとの差の絶対値が正の第2閾値(A1+a1)よりも大きい場合における前記第2変更値の値を、前記第1極値と前記基準値との差の絶対値が前記第2閾値以下である場合における前記第2変更値の値(B1)よりも小さい値(B1s)に設定するように構成されてもよい。
 同様に、第4制御装置は、
 前記第1極値(例えば、極小値Vmin)と基準値Vfとの差の絶対値が正の第2閾値(A2+a2)よりも大きい場合における前記第2変更値の値を、前記第1極値と前記基準値との差の絶対値が前記第2閾値以下である場合における前記第2変更値の値(B2)よりも小さい値(B2s)に設定するように構成されてもよい。
 更に、第4制御装置は、第1変更値A1及び第2変更値B1のうちの少なくとも一つを、基準値Vfよりも大きい極大値Vmaxが大きくなるほど連続的に小さくなるように設定してもよい。同様に、第4制御装置は、第1変更値A2及び第2変更値B2のうちの少なくとも一つを、基準値Vfよりも小さい極小値Vminが小さくなるほど連続的に小さくなるように設定してもよい。
<第5実施形態>
 次に、本発明の第5実施形態に係る制御装置(以下、単に「第5制御装置」と称呼する。)について説明する。第5制御装置は、第1変更値(値A1及び値A2の少なくとも一方)を、フューエルカット制御の終了時点から所定時間が経過する時点までの期間(フューエルカット制御終了後期間)、フューエルカット制御終了後期間以外の期間に比べ、小さくする点のみにおいて、第1制御装置と相違している。
 第5制御装置のCPUは、図16に代わる図17に示したルーチンを実行する点のみにおいて、第4制御装置のCPUと相違している。従って、以下、この相違点を中心として説明する。
 図17に示したルーチンは、図16に示したルーチンの「ステップ1610及び1630」を、「ステップ1710及びステップ1720」にそれぞれ置換した点のみにおいて、図16に示したルーチンと相違している。
 ステップ1710において、CPUは、現時点がフューエルカット制御終了後期間内であるか否かを判定する。そして、現時点がフューエルカット制御終了後期間内である場合、CPUはステップ1710からステップ1620に進む。現時点がフューエルカット制御終了後期間内でない場合、CPUはステップ1710からステップ1222に進む。
 ステップ1720において、CPUは、現時点がフューエルカット制御終了後期間内であるか否かを判定する。そして、現時点がフューエルカット制御終了後期間内である場合、CPUはステップ1720からステップ1640に進む。現時点がフューエルカット制御終了後期間内でない場合、CPUはステップ1720からステップ1238に進む。
 フューエルカット制御終了後期間内において、下流側空燃比センサ56は前述した一次被毒状態にある可能性が高い。従って、第5制御装置のように、フューエルカット制御終了後期間内において第1変更値を小さくする(目標値VREFを、値Vmax−A1に代えて値Vmax−A1sに設定し、或いは、値Vmin+A2に代えて値Vmin+A2sに設定する)。即ち、第5制御装置は、「フューエルカット制御終了後期間内の第1変更値」を「フューエルカット制御終了期間内以外の期間における第1変更値」よりも小さい値に設定する。
 この結果、下流側空燃比センサ56の応答性が低下している場合であっても、リーン要求又はリッチ要求の判定が遅れないようにすることができるので、機関の空燃比を「リーン空燃比からリッチ空燃比へと、又は、その逆へと」遅れなく切り換えることができる。従って、第5制御装置は、出力値Voxsの振幅が大きくなることを回避しながら、出力値Voxsを基準値Vfに近づけることができるので、エミッションを良好に維持することができる。
 なお、第5制御装置は、「フューエルカット制御終了後期間内の第2変更値」を「フューエルカット制御終了期間内以外の期間における第2変更値」よりも小さい値に設定してもよい。
 また、「フューエルカット制御終了後期間」は、フューエルカット制御終了後に機関の空燃比を所定期間に渡りリッチ空燃比に設定する制御(フューエルカット終了後増量制御)と、そのフューエルカット終了後増量制御の終了後から所定時間が経過する時点までの期間と、を加えた期間を含んでいてもよい。
 更に、第5制御装置は、ステップ1710を「現時点が、フューエルカット終了後増量制御の終了後から所定時間が経過する期間内であるか否かを判定するステップ」へと置換してもよい。更に、第5制御装置は、ステップ1720を「現時点が、フューエルカット終了後増量制御の終了後から所定時間が経過する期間内であるか否かを判定するステップ」へと置換してもよい。加えて、第5制御装置は、第1閾値としての値(A1,A2)を、一定値に維持しておくことが好ましい。
<第6実施形態>
 次に、本発明の第6実施形態に係る制御装置(以下、単に「第6制御装置」と称呼する。)について説明する。第6制御装置は、第1変更値(値A1及び値A2)を、機関が所定の加速状態にある場合、機関が所定の加速状態にない場合(定常状態にある場合)に比べ、「より小さく」する点のみにおいて、第1制御装置と相違している。
 第6制御装置のCPUは、図16に代わる図18に示したルーチンを実行する点のみにおいて、第4制御装置のCPUと相違している。従って、以下、この相違点を中心として説明する。
 図18に示したルーチンは、図16に示したルーチンの「ステップ1610及び1630」を、ステップ1810及びステップ1820にそれぞれ置換した点のみにおいて、図16に示したルーチンと相違している。
 ステップ1810において、CPUは、現時点の機関10の状態が所定の加速状態にあるか否かを判定する。より具体的に述べると、CPUは、現時点が、「スロットル弁開度TAの単位時間あたりの変化量ΔTAが過渡判定閾値ΔTAth以上となった時点から、所定時間が経過する時点までの期間(加速期間)内」であるとき、現時点の機関10の状態が所定の加速状態にあると判定する。なお、加速状態にあるか否かを判定するパラメータは、スロットル弁TAの単位時間あたりの変化量ΔTAの他、アクセルペダル操作Accpの単位時間あたりの変化量ΔAccp、吸入空気量Gaの単位時間あたりの変化量ΔGa、負荷KLの単位時間あたりの変化量ΔKL、機関10を搭載した車両の速度の単位時間あたりの変化量ΔSPD等、の何れかであってもよい。
 そして、現時点が加速期間内である場合、CPUはステップ1810からステップ1620に進む。現時点が加速期間内でない場合、CPUはステップ1810からステップ1222に進む。
 ステップ1820において、CPUは、現時点が加速期間内であるか否かを判定する。そして、現時点が加速期間内である場合、CPUはステップ1820からステップ1640に進む。現時点が加速期間内でない場合、CPUはステップ1820からステップ1238に進む。
 加速期間内において、触媒43の酸素吸蔵量OSAは、「最大酸素吸蔵量Cmax近傍値又は「0」の近傍値」に到達する可能性が高く、更に、その状態において多量の「NOx又は未燃物」が触媒43に流入する可能性が高い。
 そこで、第6制御装置は、加速期間内において第1変更値を小さくする(目標値VREFを、値Vmax−A1に代えて値Vmax−A1sに設定するか、値Vmin+A2に代えて値Vmin+A2sに設定する)。即ち、第6制御装置は、「加速期間内の第1変更値」を「加速期間内以外の期間における第1変更値」よりも小さい値に設定する。
 この結果、リーン要求又はリッチ要求の判定をより迅速に行うことができる。換言すると、機関の空燃比を「リーン空燃比からリッチ空燃比へと、又は、その逆へと」遅れなく切り換えることができる。従って、第6制御装置は、エミッションを良好に維持することができる。
 なお、第6制御装置は、「加速期間内の第2変更値」を「加速期間内以外の期間における第2変更値」よりも小さい値に設定してもよい。
<第7実施形態>
 次に、本発明の第7実施形態に係る制御装置(以下、単に「第7制御装置」と称呼する。)について説明する。第7制御装置は、メインFB学習値KGの学習条件を第1制御装置の学習条件と異なる条件とした点においてのみ、第1制御装置と相違している。従って、以下、この相違点を中心として説明する。
 より具体的に述べると、第7制御装置のCPUは、第1制御装置のCPUと同様、図8乃至図13に示したルーチンを実行する。但し、第7制御装置のCPUは、図9のステップ955において、以下の条件の総てが成立したときに学習条件が成立したと判定する。
(条件1)図9のルーチンが実行される時間間隔(所定時間ta)の自然数倍の時間が経過した。
(条件2)目標値VREFが基準値Vfに一致した状態が所定時間t以上経過している。
 即ち、第7制御装置は、目標値VREFが基準値Vfに設定されている場合に「メインFB学習値KGを更新する学習制御」を実行し、且つ、目標値VREFが基準値Vfに設定されていない場合に前記学習制御を実行しない(禁止する)ように構成されている。
 目標値VREFが基準値Vfに向けて変化している状態においては、機関の空燃比の時間的平均値が理論空燃比stoichに一致していない可能性が高い。従って、目標値VREFが基準値Vfに向けて変化している状態においてメインFB学習値KGを更新すると、メインFB学習値KGが不正確な値になる可能性が高い。
 第7制御装置は、目標値VREFが基準値Vfに一致している場合にのみメインFB学習値KGの更新を行う(学習制御を実行する)。従って、メインFB学習値KGが誤った値になる可能性を低減することができる。その結果、第7制御装置は、エミッションを良好に維持することができる。
 なお、第7制御装置は、図9のステップ950における補正係数平均値FAFAVの更新を、目標値VREFが基準値Vfに一致した状態が所定時間t以上経過している場合にのみ実行するように構成されることが好ましい。
 なお、第7制御装置及び本発明の他の実施形態に係る制御装置は、
 機関10に吸入される吸入空気量(筒内吸入空気量Mc(k))を取得するとともに(図8のステップ830)、その取得された吸入空気量(筒内吸入空気量Mc(k))に基づいて「機関10に供給される混合気」の空燃比を理論空燃比に一致させるための基本燃料噴射量Fbを算出する(図8のステップ840)基本燃料噴射量算出手段と、
 前記排気通路であって触媒43よりも上流に配設されるとともに、触媒43に流入する排ガスの空燃比に応じた出力値を出力する上流側空燃比センサ55と、
 上流側空燃比センサ55の出力値Vabyfsにより表される上流側空燃比(abyfs)が理論空燃比に一致するように基本燃料噴射量Fbを補正するメインフィードバック量(DFi)を算出するメインフィードバック量算出手段(図9のステップ905乃至ステップ945)と、
 前記リーン要求が発生していると判定されている期間において前記基本燃料噴射量を増大させるように前記基本燃料噴射量を補正し且つ前記リッチ要求が発生していると判定されている期間において前記基本燃料噴射量を減少させるように前記基本燃料噴射量を補正するサブフィードバック量(Vafsfb)を算出するサブフィードバック量算出手段(図10のステップ1005乃至ステップ1035)と、
 基本燃料噴射量Fbを、前記メインフィードバック量及び前記サブフィードバック量に基く空燃比補正量(FAF)により補正して指示燃料噴射量Fiを算出するとともに(図9のステップ910及び図8のステップ850等)、その算出された指示燃料噴射量Fiの燃料を機関10に供給することにより前記フィードバック制御を実行する(図8のステップ860等)燃料噴射量制御手段と、
 を含む空燃比制御装置である。
 更に、第7制御装置の前記空燃比制御手段は、
 前記メインフィードバック量の平均値に相関する値(例えば、FAFAV、又はFAFAVが大きいとき増大し且つFAFAVが小さいとき減少する値)を空燃比学習値(メインFB学習値KG)として取得する学習制御を実行する学習手段(図9のステップ950乃至ステップ975)を備え、
 前記燃料噴射量制御手段は、
 前記基本燃料噴射量Fbを前記空燃比学習値KGにも基いて補正することにより前記指示燃料噴射量を算出するように構成され(図8のステップ850)、
 第7制御装置の前記学習手段は、
 前記目標値が前記基準値に設定されている場合に前記学習制御を実行し、且つ、前記目標値が前記基準値に設定されていない場合に前記学習制御を実行しないように構成されている(図9のステップ955、及び、上述した(条件2)を参照。)。
<第8実施形態>
 次に、本発明の第8実施形態に係る制御装置(以下、単に「第8制御装置」と称呼する。)について説明する。第8制御装置は、目標値VREFが基準値Vfに収束しない場合、目標値VREFに相関する値に基いて空燃比学習値(メインFB学習値KG)を修正するように構成されている点においてのみ、第7制御装置と相違する。従って、以下、この相違点を中心として説明する。
 より具体的に述べると、第8制御装置のCPUは、第7制御装置のCPUと同様のルーチンを実行する。更に、第8制御装置のCPUは、図19に示したルーチンを所定時間が経過する毎に実行するようになっている。
 従って、所定のタイミングになると、CPUは図19のステップ1900から処理を開始してステップ1910に進み、メインフィードバック制御条件が成立しているか否かを判定する。このとき、メインフィードバック制御条件が成立していなければ、CPUはステップ1910からステップ1995に直接進んで本ルーチンを一旦終了する。
 一方、CPUがステップ1910の処理を実行する時点において、メインフィードバック制御条件が成立していると、CPUはそのステップ1910にて「Yes」と判定してステップ1920に進み、「目標値VREFが第1継続時間以上に渡り基準値Vfに一致している状態(以下、「目標値収束状態」とも称呼する。)」が第2継続時間t href以上に渡って発生していないか否かを判定する。
 「目標値収束状態」が「現時点から第2継続時間t hrefだけ前の時点」から「現時点」までの期間内に発生していれば、CPUはステップ1920にて「No」と判定し、ステップ1995に直接進んで本ルーチンを一旦終了する。これに対し、「目標値収束状態」が第2継続時間t href以上に渡って発生していないとき、CPUはステップ1920にて「Yes」と判定してステップ1930に進み、目標値VREFが、値(Vmax−A1)と値(Vmin+A2)とに交互に変化しているか否かを判定する。
 このとき、目標値VREFが「値(Vmax−A1)と値(Vmin+A2)と」に交互に変化していると、CPUはステップ1930にて「Yes」と判定し、ステップ1995に直接進んで本ルーチンを一旦終了する。
 目標値VREFが「値(Vmax−A1)と値(Vmin+A2)と」に交互に変化していない場合、CPUはステップ1930にて「No」と判定してステップ1940に進み、目標値VREFの平均値(過去の所定時点から現時点までの目標値VREFの平均値、目標値VREFの平均値に相関する値)が基準値Vfよりも大きいか否かを判定する。
 目標値VREFの平均値が基準値Vfよりも大きい場合、CPUはステップ1940にて「Yes」と判定してステップ1950に進み、メインFB学習値KGを正の所定値dKG1だけ減少させる。即ち、メインFB学習値KGは、その時点のメインFB学習値KGに比べて「基本燃料噴射量Fbを、より減少する値」へと修正される。その後、CPUはステップ1995に進み、本ルーチンを一旦終了する。
 CPUがステップ1940の処理を実行する時点において、目標値VREFの平均値が基準値Vfよりも小さい場合、CPUはステップ1940にて「No」と判定してステップ1960に進み、メインFB学習値KGを正の所定値dKG2だけ増大させる。即ち、メインFB学習値KGは、その時点のメインFB学習値KGに比べて「基本燃料噴射量Fbを、より増大する値」へと修正される。その後、CPUはステップ1995に進み、本ルーチンを一旦終了する。
 例えば、メインFB学習値KGの学習が誤ってなされ、メインFB学習値KGが「基本燃料噴射量Fbを過剰に増大するような値」になっている場合、機関の空燃比の中心は理論空燃比stoichよりも小さくなる。従って、触媒流出ガスの空燃比の平均もリッチ空燃比となる。この場合、メインFB学習値KGの適正値からの誤差が大きいと、下流側空燃比センサの出力値Voxsは、図20に示したように、基準値Vfよりも大きい値を中心に振動する。即ち、極大値Vmaxは最大出力値Max近傍の値になり続ける。この結果、目標値VREFは、リーン判定用目標値VREFLである値(Vmax−A1)と、リッチ判定用目標値VREFRである値Vfと、に交互に変化する。換言すると、目標値VREFは基準値Vfに収束せず、「目標値収束状態」が第2継続時間t href以上に渡って発生しない。
 そこで、第8制御装置は、図20に示した状態が生じた場合、上述したように、メインFB学習値KGを正の所定値dKG1だけ減少させる。その結果、機関の空燃比の中心を理論空燃比stoichに接近させることができ、目標値VREFを基準値Vfへと収束させることが可能となる。
 同様に、メインFB学習値KGの学習が誤ってなされ、メインFB学習値KGが「基本燃料噴射量Fbを過剰に減少するような値」になっている場合、機関の空燃比の中心は理論空燃比stoichよりも大きくなる。従って、触媒流出ガスの空燃比の平均もリーン空燃比となる。この場合、メインFB学習値KGの適正値からの誤差が大きいと、下流側空燃比センサの出力値Voxsは、図21に示したように、基準値Vfよりも小さい値を中心に振動する。即ち、極小値Vminは最小出力値Min近傍の値になり続ける。この結果、目標値VREFは、リッチ判定用目標値VREFRである値(Vmin+A2)と、リーン判定用目標値VREFLである値Vfと、に交互に変化する。換言すると、目標値VREFは基準値Vfに収束せず、「目標値収束状態」が第2継続時間t href以上に渡って発生しない。
 そこで、第8制御装置は、図21に示した状態が生じた場合、上述したように、メインFB学習値KGを正の所定値dKG2だけ増大させる。その結果、機関の空燃比の中心を理論空燃比stoichに接近させることができ、目標値VREFを基準値Vfへと収束させることが可能となる。
 但し、第8制御装置は、図22に示したように、目標値VREFが「値(Vmax−A1)と値(Vmin+A2)と」に交互に変化している状態が所定時間(第3継続時間)以上継続している場合、メインFB学習値KGの修正を実行しない(図19のステップ1930での「No」との判定を参照。)。即ち、第8制御装置は、「リーン判定用目標値VREFLが値(Vmax−A1)であり且つリッチ判定用目標値VREFRが値(Vmin+A2)である状態」が所定時間以上継続している場合(以下、この場合を「目標値振動状態」とも称呼する。)、メインFB学習値KGを変更しない。
 なお、第1継続時間は、「リーン要求からリッチ要求へと、又は、その逆へと」空燃比要求が変化したと判定された回数(反転回数)が第1所定回数以上となる時間に設定することができる。同様に、第2継続時間は、反転回数が第2所定回数以上となる時間に設定することができる。第3継続時間は、反転回数が第3所定回数以上となる時間に設定することができる。
<第9実施形態>
 次に、本発明の第9実施形態に係る制御装置(以下、単に「第9制御装置」と称呼する。)について説明する。第9制御装置は、目標値VREFが基準値Vfに収束せず且つ図22に示した目標値振動状態が発生している場合、目標値振動状態が発生していない場合に比べ、第1変更値(値A1及び値A2)を小さくする点のみにおいて、第8制御装置と相違している。従って、以下、この相違点を中心として説明する。
 より具体的に述べると、第9制御装置のCPUは、第8制御装置のCPUと同様のルーチンを実行する。更に、第9制御装置のCPUは、図23に示したルーチンを所定時間が経過する毎に実行するようになっている。
 図23に示したルーチンは、図16に示したルーチンの「ステップ1610及び1630」を、ステップ2310及びステップ2320にそれぞれ置換した点のみにおいて、図16に示したルーチンと相違している。
 ステップ2310において、CPUは、現時点が上述した目標値振動状態であるか否かを判定する。そして、現時点が目標値振動状態である場合、CPUはステップ2310からステップ1620に進む。現時点が目標値振動状態でない場合、CPUはステップ2310からステップ1222に進む。
 ステップ2320において、CPUは、現時点が目標値振動状態であるか否かを判定する。そして、現時点が目標値振動状態である場合、CPUはステップ2320からステップ1640に進む。現時点が目標値振動状態でない場合、CPUはステップ2320からステップ1238に進む。
 即ち、第9制御装置は、目標値振動状態にある場合、目標値振動状態にない場合に比べ、第1変更値を小さくする(目標値VREFを、値Vmax−A1に代えて値Vmax−A1sに設定し、或いは、値Vmin+A2に代えて値Vmin+A2sに設定する)。即ち、第9制御装置は、「目標値振動状態にある場合の第1変更値」を「目標値振動状態にない場合の第1変更値」よりも小さい値に設定する。
 従って、第9制御装置は、目標値振動状態にある場合、機関の空燃比を「リーン空燃比からリッチ空燃比へと、又は、その逆へと」より早いタイミングにて切り換えることができる。その結果、「極大Vmaxが最大出力値Max近傍値となり続けること、及び、極小値Vminが最小出力値Min近傍値になり続けること(即ち、目標値振動状態が継続すること)」を回避することができる。従って、第9制御装置は、目標値振動状態が発生した場合において、エミッションを改善することができる。
 このように、第9制御装置は、
 目標値VREFが「基準値Vfよりも大きい値(例えば、Vmax−A1)」と「基準値Vfよりも小さい値(例えば、Vmin+A2)」とに交互に変化する状態が所定時間以上継続する状態(即ち、目標値振動状態)が発生した場合、第1変更値の値(値A1、値A2)をより小さくするように構成された学習手段を備えている。
 なお、第9制御装置は、「目標値振動状態にある場合の第2変更値」を「目標値振動状態にない場合の第2変更値」よりも小さい値に設定してもよい。
<第10実施形態>
 次に、本発明の第10実施形態に係る制御装置(以下、単に「第10制御装置」と称呼する。)について説明する。第10制御装置は、目標値VREFを時間経過とともに基準値Vfに強制的に接近させる点のみにおいて、第1制御装置と相違している。従って、以下、この相違点を中心として説明する。
 より具体的に述べると、第10制御装置のCPUは、図8乃至図10に示したルーチンと、図24乃至図26に示したルーチンとを実行する。図8乃至図10に示したルーチンは説明済みである。よって、図24乃至図26に示したルーチンについて説明する。第10制御装置のCPUは、図24乃至図26に示したルーチンのそれぞれを所定時間が経過する毎に実行するようになっている。図24乃至図26に示したルーチンは、目標値VREFを基準値Vfに強制的に近づけるためのルーチンである。
 所定のタイミングになると、CPUは図24のステップ2400から処理を開始してステップ2410に進み、サブフィードバック制御条件が成立しているか否かを判定する。CPUは、サブフィードバック制御条件が成立していないと、ステップ2410にて「No」と判定してステップ2420に進み、次に述べる処理を実行する。その後、CPUは、ステップ2495に進んで本ルーチンを一旦終了する。
 CPUは、目標値収束制御実行フラグXVSFBの値を「0」に設定する。なお、目標値収束制御実行フラグXVSFBは上述したイニシャルルーチンにおいて「0」に設定されるようになっている。
 CPUは、目標値減少フラグXDの値を「0」に設定する。
 CPUは、目標値増大フラグXUの値を「0」に設定する。
 CPUは、基準値Vfを目標値VREFとして設定する。
 一方、CPUがステップ2410の処理を実行する時点において、サブフィードバック制御条件が成立していると、CPUはステップ2410にて「Yes」と判定してステップ2430に進み、目標値収束制御実行フラグXVSFBの値が「0」であるか否かを判定する。目標値収束制御実行フラグXVSFBの値が「0」でなければ、CPUはステップ2430にて「No」と判定し、ステップ2495に直接進んで本ルーチンを一旦終了する。
 CPUがステップ2430の処理を実行する時点において、目標値収束制御実行フラグXVSFBの値が「0」であると、CPUはステップ2430にて「Yes」と判定してステップ2440に進み、サブフィードバック制御条件が成立してから現時点までの期間に「極大値Vmaxが取得されたか否か」を判定する。
 サブフィードバック制御条件が成立してから現時点までの期間に極大値Vmaxが取得されている場合、CPUはステップ2440にて「Yes」と判定してステップ2450に進み、極大値Vmaxと基準値Vfとの差の絶対値が正の第1閾値(この場合は、値A1)より大きいか否かを判定する(極大値Vmaxが、値(Vf+A1)よりも大きいか否かを判定する。)。
 そして、極大値Vmaxと基準値Vfとの差の絶対値が正の第1閾値A1より大きい場合、CPUはステップ2450にて「Yes」と判定してステップ2460に進み、次に述べる処理を実行し、その後、ステップ2495に進んで本ルーチンを一旦終了する。
 CPUは、目標値収束制御実行フラグXVSFBの値を「1」に設定する。
 CPUは、目標値減少フラグXDの値を「1」に設定する。
 CPUは、目標値増大フラグXUの値を「0」に設定する。
 CPUは、極大値Vmaxを初期極大値Vmax0として格納する。
 一方、CPUがステップ2440の処理を実行する時点において極大値Vmaxが取得されていない場合、及び、CPUがステップ2450の処理を実行する時点において極大値Vmaxと基準値Vfとの差の絶対値が正の第1閾値A1以下である場合、CPUはステップ2470に進む。
 CPUは、ステップ2470にて、サブフィードバック制御条件が成立してから現時点までの期間に「極小値Vminが取得されたか否か」を判定する。
 サブフィードバック制御条件が成立してから現時点までの期間に極小値Vminが取得されている場合、CPUはステップ2470にて「Yes」と判定してステップ2480に進み、極小値Vminと基準値Vfとの差の絶対値が正の第1閾値(この場合は、値A2)より大きいか否かを判定する(極小値Vminが、値(Vf−A2)よりも小さいか否かを判定する。)。
 そして、極小値Vminと基準値Vfとの差の絶対値が正の第1閾値A2より大きい場合、CPUはステップ2480にて「Yes」と判定してステップ2490に進み、次に述べる処理を実行し、その後、ステップ2495に進んで本ルーチンを一旦終了する。
 CPUは、目標値収束制御実行フラグXVSFBの値を「1」に設定する。
 CPUは、目標値減少フラグXDの値を「0」に設定する。
 CPUは、目標値増大フラグXUの値を「1」に設定する。
 CPUは、極小値Vminを初期極小値Vmin0として格納する。
 一方、CPUがステップ2470の処理を実行する時点において極小値Vminが取得されていない場合、及び、CPUがステップ2480の処理を実行する時点において極小値Vminと基準値Vfとの差の絶対値が正の第1閾値A2以下である場合、CPUはステップ2495に進んで本ルーチンを一旦終了する。
 以上、説明したように、CPUは、サブフィードバック制御条件が成立した後であって、目標値収束制御実行フラグXVSFBの値が「0」であり(即ち、目標値収束制御が実行されておらず)、且つ、「極大値Vmaxと基準値Vfとの差の絶対値」が第1閾値よりも大きいとき、目標値減少フラグXDの値を「1」に設定する。また、CPUは、サブフィードバック制御条件が成立した後であって、目標値収束制御実行フラグXVSFBの値が「0」であり(即ち、目標値収束制御が実行されておらず)、且つ、「極小値Vminと基準値Vfとの差の絶対値」が第1閾値よりも大きいとき、目標値増大フラグXUの値を「1」に設定する。
 ところで、CPUは所定のタイミングにて図25のステップ2500から処理を開始し、ステップ2510にて目標値減少フラグXDの値が「1」であるか否かを判定する。このとき、目標値減少フラグXDの値が「1」でなければ、CPUはステップ2510にて「No」と判定し、ステップ2595に直接進んで本ルーチンを一旦終了する。
 いま、目標値減少フラグXDの値が、図24のステップ2460にて「1」に設定された直後であると仮定する。この場合、CPUは図25のステップ2510に進んだとき、そのステップ2510にて「Yes」と判定してステップ2520に進む。CPUは、そのステップ2520にて、「現時点が、目標値減少フラグXDの値が「0」から「1」に変化した直後であるか否か」を判定する。
 この場合、現時点は、目標値減少フラグXDの値が「0」から「1」に変化した直後である。従って、CPUはステップ2520にて「Yes」と判定してステップ2530に進み、カウンタNの値を「1」に設定し、ステップ2540に進む。なお、CPUがステップ2520の処理を実行する時点が、目標値減少フラグXDの値が「0」から「1」に変化した直後でないとき、CPUはステップ2520にて「No」と判定してステップ2540に直接進む。
 次いで、CPUはステップ2540にて、空燃比判定結果が反転したか否かを判定する。より具体的に述べると、所定時間前において下流側空燃比センサの出力値Voxsが目標値VREFよりも小さく、且つ、現時点の出力値Voxsが目標値VREFよりも大きいとき、CPUは空燃比判定結果が反転したと判定する。更に、所定時間前において下流側空燃比センサの出力値Voxsが目標値VREFよりも大きく、且つ、現時点の出力値Voxsが目標値VREFよりも小さいとき、CPUは空燃比判定結果が反転したと判定する。
 そして、空燃比判定結果が反転していると、CPUはステップ2540にて「Yes」と判定してステップ2550に進んでカウンタNの値を「1」増大し、ステップ2560に進む。一方、空燃比判定結果が反転していなければ、CPUはステップ2540にて「No」と判定してステップ2560に直接進む。
 次いで、CPUはステップ2560にて、図24のステップ2460にて取得した初期極大値Vmax0から「値Nと正の一定値ΔV1との積」を減算して得られる値(Vmax0−N・ΔV1)を、目標値VREFとして設定する。なお、値ΔV1は、第1変更値に相当し、最大出力値Maxと基準値Vfとの差の絶対値よりも小さい値に設定されている。
 次いで、CPUはステップ2570にて目標値VREFが基準値Vf以下であるか否かを判定する。そして、目標値VREFが基準値Vf以下であると、CPUはステップ2580に進んで基準値Vfを目標値VREFとして設定し、その後ステップ2595に進んで本ルーチンを一旦終了する。これに対し、目標値VREFが基準値Vfよりも大きいと、CPUはステップ2570からステップ2595に直接進んで本ルーチンを一旦終了する。なお、CPUは、ステップ2580において、図24のステップ2420と同じ処理を実行してもよい。
 以降、このルーチンが繰り返し実行されることにより、目標値減少フラグXDの値が「0」から「1」に変化した場合、目標値VREFは値(Vmax0−ΔV1)から、空燃比判定結果が反転する毎に値ΔV1ずつ減少し、最終的には基準値Vfに一致する。
 同様に、CPUは所定のタイミングにて図26のステップ2600から処理を開始し、ステップ2610にて目標値増大フラグXUの値が「1」であるか否かを判定する。このとき、目標値増大フラグXUの値が「1」でなければ、CPUはステップ2610にて「No」と判定し、ステップ2695に直接進んで本ルーチンを一旦終了する。
 いま、目標値増大フラグXUの値が、図24のステップ2490にて「1」に設定された直後であると仮定する。この場合、CPUは図26のステップ2610に進んだとき、そのステップ2610にて「Yes」と判定してステップ2620に進む。CPUは、そのステップ2620にて、「現時点が、目標値増大フラグXUの値が「0」から「1」に変化した直後であるか否か」を判定する。
 前述した仮定に従えば、現時点は、目標値増大フラグXUの値が「0」から「1」に変化した直後である。従って、CPUはステップ2620にて「Yes」と判定してステップ2630に進み、カウンタNの値を「1」に設定し、ステップ2640に進む。なお、CPUがステップ2620の処理を実行する時点が、目標値増大フラグXUの値が「0」から「1」に変化した直後でないとき、CPUはステップ2620にて「No」と判定してステップ2640に直接進む。
 次いで、CPUはステップ2640にて、空燃比判定結果が反転したか否かを判定する。そして、空燃比判定結果が反転していると、CPUはステップ2640にて「Yes」と判定してステップ2650に進んでカウンタNの値を「1」増大し、ステップ2660に進む。一方、空燃比判定結果が反転していなければ、CPUはステップ2640にて「No」と判定してステップ2660に直接進む。
 次いで、CPUはステップ2660にて、図24のステップ2490にて取得した初期極小値Vmin0に「値Nと正の一定値ΔV2との積」を加算して得られる値(Vmin0+N・ΔV2)を、目標値VREFとして設定する。なお、値ΔV2は、第1変更値に相当し、最小出力値Minと基準値Vfとの差の絶対値よりも小さい値に設定されている。
 次いで、CPUはステップ2670にて目標値VREFが基準値Vf以上であるか否かを判定する。そして、目標値VREFが基準値Vf以上であると、CPUはステップ2680に進んで基準値Vfを目標値VREFとして設定し、その後ステップ2695に進んで本ルーチンを一旦終了する。これに対し、目標値VREFが基準値Vfよりも小さいと、CPUはステップ2670からステップ2695に直接進んで本ルーチンを一旦終了する。なお、CPUは、ステップ2680において、図24のステップ2420と同じ処理を実行してもよい。
 以降、このルーチンが繰り返し実行されることにより、目標値増大フラグXUの値が「0」から「1」に変化した場合、目標値VREFは値(Vmin0+ΔV1)から、空燃比判定結果が反転する毎に値ΔV1ずつ増大し、最終的には基準値Vfに一致する。
 このように、第10制御装置は、サブフィードバック制御の開始後等(目標値収束制御実行フラグXVSFBの値が「0」である場合)において得られた極大値Vmaxが「基準値Vfに第1閾値A1を加えた値(Vf+A1)」よりも大きいとき、目標値VREFを「その極大値Vmaxと基準値Vfとの間の値(Vmax0−ΔV1)」から基準値Vfに向けて徐々に減少する。即ち、第10制御装置も、目標値収束制御を実行する。この場合、目標値収束制御の初期値は値(Vmax0−ΔV1)である。この値(Vmax0−ΔV1)は、「基準値Vfよりも大きい側の領域及び基準値Vfよりも小さい側の領域」の何れか一方の領域であって「下流側空燃比センサの出力値Voxs(現時点の出力値Voxs)が存在している領域(この例においては、基準値Vfよりも大きい側の領域)」内の値である。
 同様に、第10制御装置は、サブフィードバック制御の開始後等(目標値収束制御実行フラグXVSFBの値が「0」である場合)において得られた極小値Vminが値(Vf−A2)よりも小さいとき、目標値VREFをその極小値Vminと基準値Vfとの間の値(Vmin0+ΔV2)から基準値Vfに向けて徐々に増大する。即ち、第10制御装置も、目標値収束制御を実行する。この場合、目標値収束制御の初期値は値(Vmin0+ΔV2)である。この値(Vmin0+ΔV2)は、「基準値Vfよりも大きい側の領域及び基準値Vfよりも小さい側の領域」の何れか一方の領域であって「下流側空燃比センサの出力値Voxs(現時点の出力値Voxs)が存在している領域(この例においては、基準値Vfよりも小さい側の領域)」内の値である。なお、値A1及び値A2は互いに同じであっても相違していてもよく、値ΔV1及び値ΔV2は互いに同じ値であっても相違していてもよい。
<第11実施形態>
 次に、本発明の第11実施形態に係る制御装置(以下、単に「第11制御装置」と称呼する。)について説明する。第11制御装置は、サブフィードバック量Vafsfbをリッチ要求及びリーン要求に基いて矩形波状に変化させる点のみにおいて、第1制御装置と相違している。従って、以下、この相違点を中心として説明する。
 より具体的に述べると、第11制御装置のCPUは、図8、図9、図11乃至図13に示したルーチンと、図10に代わる図27に示したルーチンとを実行する。図8、図9、図11乃至図13に示したルーチンは説明済みである。よって、図27に示したルーチンについて説明する。第11制御装置のCPUは、図27に示したルーチンを所定時間が経過する毎に実行するようになっている。
 従って、所定のタイミングになると、CPUは図27のステップ2700から処理を開始してステップ2710に進み、サブフィードバック制御条件が成立しているか否かを判定する。このとき、サブフィードバック制御条件が成立していなければ、CPUはステップ2710にて「No」と判定してステップ2720に進み、サブフィードバック量Vafsfbを「0」に設定する。その後、CPUはステップ2795に進み、本ルーチンを一旦終了する。
 これに対し、CPUがステップ2710の処理を実行する時点において、サブフィードバック制御条件が成立していると、CPUはそのステップ2715にて「Yes」と判定してステップ2715に進み、リッチ判定フラグXRの値が「1」であるか否かを判定する。即ち、CPUはリーン要求が発生しているかを判定する。このリッチ判定フラグXRの値は、図13に示したルーチンにより設定されている。
 そして、リッチ判定フラグXRの値が「1」であるとき(即ち、リーン要求が発生していると判定されているとき)、CPUはステップ2710にて「Yes」と判定してステップ2730に進み、サブフィードバック制御を負の一定値(−Vsfb)に設定する。値Vsfbは正の一定値である。その後、CPUはステップ2795に進む。
 この結果、上記(2)式により求められるフィードバック制御用出力値Vabyfcは、上流側空燃比センサ55の出力値Vabyfsよりも値Vsfbだけ小さくなる。従って、フィードバック制御用出力値Vabyfcは、上流側空燃比センサ55の出力値Vabyfsよりもリッチ側の空燃比に相当する値へと修正される。この結果、指示燃料噴射量Fiは減少させられるので、機関の空燃比及び触媒流入ガスの空燃比は大きくなる(リーン側の空燃比になる。)。
 一方、CPUがステップ2715の処理を実行する時点において、リッチ判定フラグXRの値が「0」であるとき(即ち、リッチ要求が発生していると判定されているとき)、CPUはステップ2715にて「No」と判定してステップ2740に進み、サブフィードバック制御を正の一定値(Vsfb)に設定する。その後、CPUはステップ2795に進む。
 この結果、上記(2)式により求められるフィードバック制御用出力値Vabyfcは、上流側空燃比センサ55の出力値Vabyfsよりも値Vsfbだけ大きくなる。従って、フィードバック制御用出力値Vabyfcは、上流側空燃比センサ55の出力値Vabyfsよりもリーン側の空燃比に相当する値へと修正される。この結果、指示燃料噴射量Fiは増大させられるので、機関の空燃比及び触媒流入ガスの空燃比は小さくなる(リッチ側の空燃比になる。)。
 このように、第11制御装置は、リーン要求が発生していると判定されているときにはサブフィードバック量Vafsfbを負の一定値(−Vsfb)に設定し、リッチ要求が発生していると判定されているときにはサブフィードバック量Vafsfbを正の一定値(Vsfb)に設定する。従って、空燃比制御を簡素化することができる。
 以上、説明したように、本発明の実施形態に係る各空燃比制御装置は、下流側空燃比センサの出力値Voxsの基準値Vfからの偏移が大きくなったとき、目標値VREFを「基準値Vfとは相違する値」から「基準値Vf」へと次第に近づける。この結果、機関の空燃比が迅速に切り換わるので、触媒流入ガスの空燃比が「触媒43が高い浄化効率にて排ガスを浄化するために適切な空燃比」に近づく。従って、エミッションを良好に維持することができる。
 本発明は上記実施形態に限定されることはなく、本発明の範囲内において種々の変形例を採用することができる。例えば、下流側空燃比センサ56は、ジルコニア素子を備える濃淡電池型のOセンサであったが、限界電流式の広域空燃比センサであってもよい。更に、下流側空燃比センサはチタニアを素子として用いた酸素濃度センサであってもよい。上流側空燃比センサ55は、限界電流式の広域空燃比センサであったが、濃淡電池型のOセンサであってもよい。

Claims (16)

  1.  内燃機関の排気通路に配設された触媒と、
     前記排気通路であって前記触媒の下流に配設され且つ酸素分圧に応じて変化する出力値を示す素子を備える下流側空燃比センサと、
     前記下流側空燃比センサの出力値を所定の目標値に近づけるために前記機関に供給される混合気の空燃比である機関の空燃比を増大させる必要があるリーン要求の発生期間において前記機関の空燃比を増大し、前記下流側空燃比センサの出力値を前記目標値に近づけるために前記機関の空燃比を減少させる必要があるリッチ要求の発生期間において前記機関の空燃比を減少する、フィードバック制御を実行する空燃比制御手段と、
     を備える内燃機関の空燃比制御装置において、
     前記空燃比制御手段は、
     前記目標値を、前記下流側空燃比センサの素子に到達しているガスの酸素分圧が同ガスの空燃比が理論空燃比であるときの酸素分圧であるときに前記下流側空燃比センサの素子の出力値が示す値を含む所定の範囲内の値である基準値に、前記基準値よりも大きい側の領域及び前記基準値よりも小さい側の領域の何れか一方の領域であって前記下流側空燃比センサの出力値が存在している領域内の所定の値から時間経過とともに徐々に近づける目標値変更手段、
     を備える空燃比制御装置。
  2.  請求項1に記載の空燃比制御装置において、
     前記空燃比制御手段は、
     前記下流側空燃比センサの出力値が前記基準値から離れる方向に変化する状態から前記基準値に近づく方向に変化する状態へと変化したときの同出力値を第1極値として取得し、且つ、前記下流側空燃比センサの出力値が前記基準値に近づく方向に変化する状態から前記基準値から離れる方向へと変化する状態へと変化したときの同出力値を第2極値として取得する極値取得手段を含み、
     前記目標値変更手段は、
     前記極値取得手段により前記第1極値が取得された場合に同取得された第1極値と前記基準値との間の値である第1値を前記目標値として設定し、その後、前記極値取得手段によって前記第2極値が取得された場合に同取得された第2極値と前記極値取得手段によって取得された前記第1極値との間の値である第2値を前記目標値として設定するように構成された空燃比制御装置。
  3.  請求項2に記載の空燃比制御装置において、
     前記目標値変更手段は、
     前記第2値を、前記取得された第2極値と前記第1値との間の値に設定するように構成された空燃比制御装置。
  4.  請求項3に記載の空燃比制御装置において、
     前記目標値変更手段は、
     前記第2極値が取得された時点である第2極値取得時点以降において取得される前記第1極値と前記基準値との差の絶対値が、前記第2極値取得時点以前において取得された前記第1極値と前記基準値との差の絶対値よりも小さくなるように、前記第2値を設定する空燃比制御装置。
  5.  請求項2乃至請求項4の何れか一項に記載の空燃比制御装置において、
     前記目標値変更手段は、
     前記極値取得手段により前記第1極値が取得された場合に同取得された第1極値と前記基準値との差の絶対値が正の第1閾値よりも大きいとき前記第1値を前記目標値として設定し、同取得された第1極値と前記基準値との差の絶対値が前記第1閾値以下であるとき前記基準値を前記目標値として設定するように構成された空燃比制御装置。
  6.  請求項5に記載の空燃比制御装置において、
     前記目標値変更手段は、
     前記第1極値に比べて正の第1変更値だけ前記基準値に近い値を前記第1値として設定し、且つ、前記第2極値に比べて正の第2変更値だけ前記基準値から遠い値を前記第2値として設定するように構成され、
     前記第1変更値は前記第1閾値以下であり、且つ、
     前記第2変更値は前記第1変更値よりも小さい空燃比制御装置。
  7.  請求項6に記載の空燃比制御装置において、
     前記目標値変更手段は、
     前記下流側空燃比センサの温度が低いほど前記第1変更値をより小さくするように構成された空燃比制御装置。
  8.  請求項6に記載の空燃比制御装置において、
     前記目標値変更手段は、
     前記触媒を通過する排ガスの流量が大きいほど前記第1変更値をより小さくするように構成された空燃比制御装置。
  9.  請求項6に記載の空燃比制御装置において、
     前記目標値変更手段は、
     前記第1極値と前記基準値との差の絶対値が正の第2閾値よりも大きい場合における前記第1変更値の値を、前記第1極値と前記基準値との差の絶対値が前記第2閾値以下である場合における前記第1変更値の値よりも小さくするように構成された空燃比制御装置。
  10.  請求項6に記載の空燃比制御装置において、
     前記目標値変更手段は、
     前記機関の運転状態が、前記機関への燃料の供給を停止するフューエルカット状態から前記機関への燃料の供給を行う燃料供給状態へと変化した時点から、所定時間が経過する時点までのフューエルカット終了後期間における前記第1変更値の値を、前記フューエルカット終了後期間以外の期間における前記第1変更値の値よりも小さくするように構成された空燃比制御装置。
  11.  請求項6に記載の空燃比制御装置において、
     前記目標値変更手段は、
     前記機関が所定の加速状態にあるか否かを判定するとともに、前記機関が前記加速状態にあると判定された場合の前記第1変更値の値を、前記機関が前記加速状態にあると判定されていない場合の前記第1変更値の値よりも小さくするように構成された空燃比制御装置。
  12.  請求項6に記載の空燃比制御装置において、
     前記空燃比制御手段は、
     前記機関に吸入される吸入空気量を取得するとともに同取得された吸入空気量に基づいて前記機関に供給される混合気の空燃比を理論空燃比に一致させるための基本燃料噴射量を算出する基本燃料噴射量算出手段と、
     前記排気通路であって前記触媒よりも上流に配設されるとともに前記触媒に流入する排ガスの空燃比に応じた出力値を出力する上流側空燃比センサと、
     前記上流側空燃比センサの出力値により表される上流側空燃比が理論空燃比に一致するように前記基本燃料噴射量を補正するメインフィードバック量を算出するメインフィードバック量算出手段と、
     前記リーン要求が発生していると判定されている期間において前記基本燃料噴射量を増大させるように前記基本燃料噴射量を補正し且つ前記リッチ要求が発生していると判定されている期間において前記基本燃料噴射量を減少させるように前記基本燃料噴射量を補正するサブフィードバック量を算出するサブフィードバック量算出手段と、
     前記基本燃料噴射量を、前記メインフィードバック量及び前記サブフィードバック量に基く空燃比補正量により補正して指示燃料噴射量を算出するとともに、同算出された指示燃料噴射量の燃料を前記機関に供給することにより前記フィードバック制御を実行する燃料噴射量制御手段と、
     を含む空燃比制御装置。
  13.  請求項12に記載の空燃比制御装置において、
     前記空燃比制御手段は、
     前記メインフィードバック量の平均値に相関する値を空燃比学習値として取得する学習制御を実行する学習手段を備え、
     前記燃料噴射量制御手段は、
     前記基本燃料噴射量を前記空燃比学習値にも基いて補正することにより前記指示燃料噴射量を算出するように構成され、
     前記学習手段は、
     前記目標値が前記基準値に設定されている場合に前記学習制御を実行し、且つ、前記目標値が前記基準値に設定されていない場合に前記学習制御を実行しないように構成された空燃比制御装置。
  14.  請求項13に記載の空燃比制御装置において、
     前記下流側空燃比センサは、
     前記触媒から流出する排ガスに含まれる酸素の濃度に応じた電圧を前記下流側空燃比センサの出力値として出力する濃淡電池型の酸素濃度センサであり、
     前記学習手段は、
     前記目標値が第1継続時間以上に渡り前記基準値に一致している状態が第2継続時間以上に渡って発生していない場合、前記目標値の平均値に相関する値が前記基準値よりも大きいとき、前記空燃比学習値を、前記基本燃料噴射量をより減少補正する値へと修正するように構成された空燃比制御装置。
  15.  請求項13に記載の空燃比制御装置において、
     前記下流側空燃比センサは、
     前記触媒から流出する排ガスに含まれる酸素の濃度に応じた電圧を前記下流側空燃比センサの出力値として出力する濃淡電池型の酸素濃度センサであり、
     前記学習手段は、
     前記目標値が第1継続時間以上に渡り前記基準値に一致している状態が第2継続時間以上に渡って発生していない場合、前記目標値の平均値に相関する値が前記基準値よりも小さいとき、前記空燃比学習値を、前記基本燃料噴射量をより増大補正する値へと修正するように構成された空燃比制御装置。
  16.  請求項13に記載の空燃比制御装置において、
     前記下流側空燃比センサは、
     前記触媒から流出する排ガスに含まれる酸素の濃度に応じた電圧を前記下流側空燃比センサの出力値として出力する濃淡電池型の酸素濃度センサであり、
     前記目標値変更手段は、
     前記目標値が、前記基準値よりも大きい値と前記基準値よりも小さい値とに交互に変化する状態が所定時間以上継続する状態である目標値振動状態が発生した場合、前記第1変更値の値を、前記目標値振動状態が発生していない場合の前記第1変更値の値よりも小さくするように構成された空燃比制御装置。
PCT/JP2010/059486 2010-05-28 2010-05-28 内燃機関の空燃比制御装置 WO2011148517A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US13/700,248 US9790873B2 (en) 2010-05-28 2010-05-28 Air-fuel ratio control apparatus for an internal combustion engine
PCT/JP2010/059486 WO2011148517A1 (ja) 2010-05-28 2010-05-28 内燃機関の空燃比制御装置
JP2012517083A JP5293889B2 (ja) 2010-05-28 2010-05-28 内燃機関の空燃比制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2010/059486 WO2011148517A1 (ja) 2010-05-28 2010-05-28 内燃機関の空燃比制御装置

Publications (1)

Publication Number Publication Date
WO2011148517A1 true WO2011148517A1 (ja) 2011-12-01

Family

ID=45003523

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2010/059486 WO2011148517A1 (ja) 2010-05-28 2010-05-28 内燃機関の空燃比制御装置

Country Status (3)

Country Link
US (1) US9790873B2 (ja)
JP (1) JP5293889B2 (ja)
WO (1) WO2011148517A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012039064A1 (ja) * 2010-09-24 2012-03-29 トヨタ自動車株式会社 内燃機関の空燃比制御装置
JP5429230B2 (ja) * 2011-06-22 2014-02-26 トヨタ自動車株式会社 多気筒内燃機関の気筒間空燃比ばらつき異常検出装置
KR101551017B1 (ko) * 2013-12-18 2015-09-07 현대자동차주식회사 차량의 배기가스 정화 시스템
KR102394562B1 (ko) * 2016-12-13 2022-05-04 현대자동차 주식회사 마일드 하이브리드 차량의 람다 센서 가열 방법 및 장치

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05149172A (ja) * 1991-11-26 1993-06-15 Yanmar Diesel Engine Co Ltd 内燃機関の空燃比制御装置
JPH08177576A (ja) * 1994-12-20 1996-07-09 Nissan Motor Co Ltd エンジンの空燃比制御装置
JP2001304018A (ja) * 2000-04-21 2001-10-31 Denso Corp 内燃機関の空燃比制御装置
JP2005171982A (ja) * 2003-11-18 2005-06-30 Toyota Motor Corp 空燃比制御装置
JP2009250163A (ja) * 2008-04-09 2009-10-29 Toyota Motor Corp 可変圧縮比内燃機関の制御装置

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6053635A (ja) * 1983-09-01 1985-03-27 Toyota Motor Corp 空燃比制御方法
WO1985003329A1 (en) * 1984-01-24 1985-08-01 Japan Electronic Control Systems Co., Ltd. Air/fuel mixture ratio learning controller in electronic control fuel injection internal combustion engine
US4854287A (en) * 1986-10-21 1989-08-08 Japan Electronic Control Systems Co., Ltd. Apparatus for learning and controlling air/fuel ratio in internal combustion engine
JPS6441637A (en) * 1987-08-08 1989-02-13 Mitsubishi Electric Corp Air-fuel ratio control device for internal combustion engine
JPH03179147A (ja) * 1989-12-06 1991-08-05 Japan Electron Control Syst Co Ltd 内燃機関の空燃比学習制御装置
US5282360A (en) * 1992-10-30 1994-02-01 Ford Motor Company Post-catalyst feedback control
JPH08158917A (ja) 1994-12-09 1996-06-18 Tokyo Gas Co Ltd 内燃機関の空燃比制御方法及び装置
JP2923849B2 (ja) * 1996-02-21 1999-07-26 本田技研工業株式会社 内燃機関の空燃比制御装置
JP3373724B2 (ja) 1996-04-05 2003-02-04 本田技研工業株式会社 内燃機関の空燃比制御装置
JP3204113B2 (ja) * 1996-08-28 2001-09-04 三菱自動車工業株式会社 排気ガス還流制御装置
JP3913940B2 (ja) 1998-12-17 2007-05-09 本田技研工業株式会社 内燃機関の空燃比制御装置
DE69917195T2 (de) 1998-12-17 2004-09-23 Honda Giken Kogyo K.K. Steuersystem für das Luft/Kraftstoffverhältnis einer Brennkraftmaschine
JP2001098981A (ja) * 1999-09-30 2001-04-10 Toyota Motor Corp 内燃機関の触媒劣化判定装置
US6467254B1 (en) * 2000-01-20 2002-10-22 Ford Global Technologies, Inc. Diagnostic system for detecting catalyst failure using switch ratio
EP1128045B1 (en) * 2000-02-23 2005-12-28 Nissan Motor Co., Ltd. Engine air-fuel ratio controller
US6591183B2 (en) 2000-04-21 2003-07-08 Denso Corporation Control apparatus for internal combustion engine
JP4412086B2 (ja) * 2004-07-12 2010-02-10 日産自動車株式会社 エンジンの空燃比制御装置
US7181331B2 (en) * 2004-09-29 2007-02-20 Nissan Motor Co., Ltd. Engine air-fuel ratio control system
JP4371027B2 (ja) * 2004-09-29 2009-11-25 日産自動車株式会社 エンジンの空燃比制御装置
JP4449818B2 (ja) * 2005-05-16 2010-04-14 トヨタ自動車株式会社 触媒劣化判定装置
JP4156630B2 (ja) 2006-04-18 2008-09-24 三菱電機株式会社 内燃機関の触媒劣化診断装置及び触媒劣化診断方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05149172A (ja) * 1991-11-26 1993-06-15 Yanmar Diesel Engine Co Ltd 内燃機関の空燃比制御装置
JPH08177576A (ja) * 1994-12-20 1996-07-09 Nissan Motor Co Ltd エンジンの空燃比制御装置
JP2001304018A (ja) * 2000-04-21 2001-10-31 Denso Corp 内燃機関の空燃比制御装置
JP2005171982A (ja) * 2003-11-18 2005-06-30 Toyota Motor Corp 空燃比制御装置
JP2009250163A (ja) * 2008-04-09 2009-10-29 Toyota Motor Corp 可変圧縮比内燃機関の制御装置

Also Published As

Publication number Publication date
US20130110380A1 (en) 2013-05-02
JPWO2011148517A1 (ja) 2013-07-25
JP5293889B2 (ja) 2013-09-18
US9790873B2 (en) 2017-10-17

Similar Documents

Publication Publication Date Title
US9726103B2 (en) Fuel injection amount control apparatus for an internal combustion engine
JP5099261B2 (ja) 内燃機関の空燃比制御装置
JP5488307B2 (ja) 空燃比気筒間インバランス判定装置
JP4973807B2 (ja) 内燃機関の空燃比制御装置
WO2010087026A1 (ja) 多気筒内燃機関の監視装置
JP5532130B2 (ja) 内燃機関の燃料噴射量制御装置
JP5041100B2 (ja) 内燃機関の空燃比気筒間インバランス判定装置
JP5499978B2 (ja) 多気筒内燃機関の燃料噴射量制御装置
JP5522392B2 (ja) 内燃機関の燃料噴射量制御装置
JP5170320B2 (ja) 内燃機関の空燃比気筒間インバランス判定装置
JP5447673B2 (ja) 内燃機関の燃料噴射量制御装置
JP5293889B2 (ja) 内燃機関の空燃比制御装置
JP2010180746A (ja) 内燃機関の空燃比気筒間インバランス判定装置
US20130160750A1 (en) Abnormality determination system for internal combustion engine, and abnormality determining method for internal combustion engine
JP4947019B2 (ja) 内燃機関の空燃比制御装置
JP5287959B2 (ja) 内燃機関の制御装置
JP2012017657A (ja) 内燃機関の燃料噴射量制御装置
JP5640662B2 (ja) 内燃機関の燃料噴射量制御装置
JP5459513B2 (ja) 内燃機関の空燃比制御装置
JP2017115802A (ja) 内燃機関の空燃比制御装置
JP2012062775A (ja) 内燃機関の空燃比制御装置
JP2013253548A (ja) 内燃機関の制御装置

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 10852184

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2012517083

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 13700248

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 10852184

Country of ref document: EP

Kind code of ref document: A1