JP5494317B2 - 多気筒内燃機関の異常判定装置 - Google Patents

多気筒内燃機関の異常判定装置 Download PDF

Info

Publication number
JP5494317B2
JP5494317B2 JP2010162752A JP2010162752A JP5494317B2 JP 5494317 B2 JP5494317 B2 JP 5494317B2 JP 2010162752 A JP2010162752 A JP 2010162752A JP 2010162752 A JP2010162752 A JP 2010162752A JP 5494317 B2 JP5494317 B2 JP 5494317B2
Authority
JP
Japan
Prior art keywords
value
fuel
air
amount
purge
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Fee Related
Application number
JP2010162752A
Other languages
English (en)
Other versions
JP2012026282A (ja
Inventor
寛史 宮本
靖志 岩▲崎▼
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toyota Motor Corp
Original Assignee
Toyota Motor Corp
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 Toyota Motor Corp filed Critical Toyota Motor Corp
Priority to JP2010162752A priority Critical patent/JP5494317B2/ja
Priority to US13/185,015 priority patent/US8700290B2/en
Publication of JP2012026282A publication Critical patent/JP2012026282A/ja
Application granted granted Critical
Publication of JP5494317B2 publication Critical patent/JP5494317B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • 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/1493Details
    • F02D41/1495Detection of abnormalities in the air/fuel ratio feedback system
    • 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/0025Controlling engines characterised by use of non-liquid fuels, pluralities of fuels, or non-fuel substances added to the combustible mixtures
    • F02D41/003Adding fuel vapours, e.g. drawn from engine fuel reservoir
    • F02D41/0032Controlling the purging of the canister as a function of the engine operating conditions
    • F02D41/0035Controlling the purging of the canister as a function of the engine operating conditions to achieve a special effect, e.g. to warm up the catalyst
    • F02D41/0037Controlling the purging of the canister as a function of the engine operating conditions to achieve a special effect, e.g. to warm up the catalyst for diagnosing the engine
    • 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/008Controlling each cylinder individually
    • F02D41/0085Balancing of cylinder outputs, e.g. speed, torque or air-fuel ratio
    • 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
    • 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/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/2441Methods of calibrating or learning characterised by the learning conditions
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Chemical & Material Sciences (AREA)
  • Combustion & Propulsion (AREA)
  • Mechanical Engineering (AREA)
  • General Engineering & Computer Science (AREA)
  • Chemical Kinetics & Catalysis (AREA)
  • Supplying Secondary Fuel Or The Like To Fuel, Air Or Fuel-Air Mixtures (AREA)
  • Combined Controls Of Internal Combustion Engines (AREA)
  • Electrical Control Of Air Or Fuel Supplied To Internal-Combustion Engine (AREA)

Description

本発明は、燃料タンク内に発生した蒸発燃料を機関の吸気通路に導入する蒸発燃料パージ手段を備える多気筒内燃機関に適用され、「複数の気筒のそれぞれに供給される吸入空気の量の同複数の気筒間における不均一性の程度(ばらつき)が許容値以上である」という吸入空気量異常状態が発生しているか否かを判定することができる異常判定装置に関する。
広く採用されている電子燃料噴射式内燃機関は、各気筒又は各気筒に連通した吸気ポートに少なくとも一つの燃料噴射弁を備えている。従って、ある特定の気筒の燃料噴射弁の特性が「指示された燃料噴射量(指示燃料噴射量)よりも過小な量の燃料を噴射する特性」となると、その特定の気筒に供給される混合気の空燃比のみが大きくリーン側に変化する。この結果、気筒間における空燃比の不均一性が大きくなる。換言すると、各気筒に供給される混合気の空燃比である気筒別空燃比の間に不均衡が生じている状態(即ち、空燃比気筒間インバランス状態)が発生する。空燃比気筒間インバランス状態は、特定の気筒の燃料噴射弁の特性が「指示燃料噴射量よりも過大な量の燃料を噴射する特性」となった場合等においても発生する。
なお、本明細書において、供給される混合気の空燃比が正常な値(一般に、略理論空燃比)である気筒は「非インバランス気筒」又は「正常気筒」と称呼される。非インバランス気筒に供給される混合気の空燃比は「非インバランス気筒の空燃比」又は「正常気筒の空燃比」とも称呼される。一方、非インバランス気筒に供給される混合気の空燃比から乖離した空燃比の混合気が供給される気筒は「インバランス気筒」とも称呼される。インバランス気筒に供給される混合気の空燃比は「インバランス気筒の空燃比」とも称呼される。
空燃比気筒間インバランス状態が発生すると、インバランス気筒からの排ガスと非インバランス気筒からの排ガスとが交互に排気通路に排出される。従って、排ガスの空燃比が比較的大きく変動するから、複数の気筒からの排ガスが集合する排気集合部に配設された空燃比センサの出力値も大きく変動する。そこで、従来の異常判定装置の一つは、空燃比センサの出力値の軌跡長を取得し、その軌跡長と「機関回転速度に応じて変化する参照値」とを比較し、その比較結果に基づいて空燃比気筒間インバランス状態が発生したか否かを判定するようになっている(例えば、特許文献1を参照。)
上記空燃比センサの出力値の軌跡長のように、空燃比センサの出力値に基いて求められるパラメータであって、「気筒別空燃比の不均一性の程度が大きいほど大きくなる排気空燃比の変動の大きさ」を反映したパラメータは、空燃比不均衡指標値又はインバランス判定用パラメータとも称呼される。
米国特許第7,152,594号明細書
ところで、空燃比気筒間インバランス状態は、特定気筒の燃料噴射弁の特性が異常となることにより各気筒に供給される燃料噴射量(気筒別燃料噴射量)の気筒間における不均一性が大きくなった場合(燃料噴射量の気筒間ばらつきが発生した場合)のみならず、各気筒に供給される空気量(気筒別吸入空気量)の気筒間における不均一性が大きくなった場合(吸入空気量の気筒間ばらつきが発生した場合)にも発生する。吸入空気量の気筒間ばらつきが発生した場合にも排ガスの空燃比が比較的大きく変動するから、空燃比不均衡指標値は大きくなる。
従って、空燃比不均衡指標値が大きくなった場合、その原因が「燃料噴射量の気筒間ばらつきが発生したから」であるのか、或いは、吸気系部品等が異常となったために「吸入空気量の気筒間ばらつきが発生したから」であるのか、を識別することができない。この点について、図1を参照しながら詳述する。
図1の(A1)、(A2)及び(A3)は、「特定気筒(図1においては第4気筒)に吸入される吸入空気の量」が「残りの気筒(第1〜第3気筒)のそれぞれに吸入される吸入空気の量」の2倍になった場合における、各気筒の「吸入空気量、燃料噴射量、及び、空燃比」をそれぞれ示している。
図1の(B1)、(B2)及び(B3)は、「特定気筒(図1においては第4気筒)の燃焼噴射弁から噴射される燃料の量」が「残りの気筒(第1〜第3気筒)のそれぞれの燃料噴射弁から噴射される燃料の量」の1/2倍(半分)になった場合における、各気筒の「吸入空気量、燃料噴射量、及び、空燃比」をそれぞれ示している。
なお、図1の(A1)及び(B1)は、第1気筒の吸入空気量を「1」とした場合の他の気筒のそれぞれの吸入空気量を示す。図1の(A2)及び(B2)は、第1気筒の燃料噴射量を「1」とした場合の他の気筒のそれぞれの燃料噴射量を示す。更に、図1の(A3)及び(B3)は、第1気筒の空燃比を「1」とした場合の他の気筒のそれぞれの空燃比を示す。
図1の(A1)、(A2)及び(A3)に示したように、第4気筒の吸入空気量が他の気筒のそれぞれの吸入空気量の2倍となるような「吸入空気量の気筒間ばらつき」が発生した場合、第4気筒の空燃比は他の気筒の空燃比の2倍になる。図1の(B1)、(B2)及び(B3)に示したように、第4気筒に対する燃料噴射量が他の気筒のそれぞれに対する燃料噴射量の半分となるような「燃料噴射量のばらつき」が発生した場合、第4気筒の空燃比は他の気筒の空燃比の2倍になる。この結果、何れの場合においても、空燃比不均衡指標値は実質的に同じ値になる。
しかしながら、従来の異常判定装置は、「吸入空気量の気筒間ばらつき異常」と「燃料噴射量の気筒間ばらつき異常」とを区別していないので、例えば、実際には「吸入空気量の気筒間ばらつき異常」が発生しているにも拘わらず、「燃料噴射量の気筒間ばらつき異常」が発生していると判定していた。従って、本発明の目的の一つは、「吸入空気量の気筒間ばらつき異常が発生したか否か」を判定することが可能な「多気筒内燃機関の異常判定装置」を提供することにある。
本発明者は、「燃料タンク内に発生した蒸発燃料を多量にパージしている場合(即ち、燃料タンク内に発生した蒸発燃料を多量に吸気通路に導入することにより機関に供給している場合)における空燃比不均衡指標値と、燃料タンク内に発生した蒸発燃料を多量にパージしていない場合における空燃比不均衡指標値と、の両者を取得するとともに、これらの値が互いに近い値であって、且つ、それらの少なくとも一方が閾値以上である場合には、吸入空気量の気筒間ばらつき異常が発生したと判定することができる。」との知見を得た。この知見について、図2及び図3を参照しながら、より具体的に説明する。
図2は、燃料噴射量の気筒間ばらつき異常は発生しておらず、且つ、吸入空気量の気筒間ばらつき異常が発生した場合の各値を示している。
図2の(A1)、(A2)及び(A3)は、「第4気筒(インバランス気筒)に吸入される吸入空気の量」が「第1〜第3気筒(正常気筒)のそれぞれに吸入される吸入空気の量」の2倍になった場合であって、且つ、蒸発燃料比(又はパージ率)が小さい(この例では「0%」である。)場合における、各気筒の「実際の吸入空気量、実際の燃料噴射量、及び、実際の空燃比」をそれぞれ示している。但し、これらの図において、正常気筒の一つである第1気筒の「実際の吸入空気量、実際の燃料噴射量、及び、実際の空燃比」をそれぞれ「1」としている。この場合、図2の(A3)に示したように、第4気筒(インバランス気筒)の空燃比は正常気筒(第1〜第3気筒)の空燃比の2倍になる。
なお、蒸発燃料比は、総燃料供給量TF(=燃料噴射弁の燃料噴射により機関に供給される燃料量(AInj)と蒸発燃料のパージにより機関に供給される燃料量(APrg)との和(AInj+APrg))に対する、蒸発燃料のパージにより機関に供給される燃料量(APrg)の比である。即ち、蒸発燃料比γは、AInj/(AInj+APrg)である。以下、蒸発燃料のパージにより機関に供給される燃料量を「パージ量」とも称呼する。
これに対し、図2の(B1)、(B2)及び(B3)は、「第4気筒(インバランス気筒)に吸入される吸入空気の量」が「第1〜第3気筒(正常気筒)のそれぞれに吸入される吸入空気の量」の2倍になった場合であって、且つ、蒸発燃料比(又はパージ率)が大きい(この例では「約50%」である。)場合における、各気筒の「実際の吸入空気量、実際の燃料噴射量、及び、実際の空燃比」をそれぞれ示している。但し、これらの図において、正常気筒の一つである第1気筒の「実際の吸入空気量、実際の燃料噴射量、及び、実際の空燃比」をそれぞれ「1」としている。
ところで、燃料噴射弁に与えられる指示燃料噴射量は、空燃比センサにより検出される排ガスの空燃比が目標空燃比(例えば、理論空燃比)に一致するように、複数の気筒に対して共通のフィードバック量によりフィードバック制御される。従って、蒸発燃料比が50%であるときの各燃料噴射弁への指示燃料噴射量は、蒸発燃料比が0%であるときの各燃料噴射弁への指示燃料噴射量の1/2になる。この場合、各燃料噴射弁は正常であるので、図2の(B2)に示したように、実際の燃料噴射量は「図2の(A2)に示した実際の燃料噴射量の1/2」になる。その結果、各気筒に供給される燃料量は互いに等しい。従って、この場合においても、図2の(B3)に示したように、第4気筒(インバランス気筒)の空燃比は正常気筒(第1〜第3気筒)の空燃比の2倍になる。
このように、吸入空気量の気筒間ばらつき異常が発生した場合、蒸発燃料比が大きい場合と小さい場合とにおいて、気筒別空燃比の不均一性の程度は実質的に同じになる。従って、空燃比不均衡指標値も実質的に同じ値になる。
図3は、燃料噴射量の気筒間ばらつき異常が発生し、且つ、吸入空気量の気筒間ばらつき異常は発生していない場合の各値を示している。
図3の(A1)、(A2)及び(A3)は、「第4気筒(インバランス気筒)の燃焼噴射弁から噴射される燃料量」が「第1〜第3気筒(正常気筒)のそれぞれの燃料噴射弁から噴射される燃料量」の1/2倍になった場合であって、且つ、蒸発燃料比(又はパージ率)が小さい(この例では「0%」である。)場合における、各気筒の「実際の吸入空気量、実際の燃料噴射量、及び、実際の空燃比」をそれぞれ示している。但し、これらの図において、正常気筒の一つである第1気筒の「実際の吸入空気量、実際の燃料噴射量、及び、実際の空燃比」をそれぞれ「1」としている。この場合、図3の(A3)に示したように、第4気筒(インバランス気筒)の空燃比は正常気筒(第1〜第3気筒)の空燃比の2倍になる。
これに対し、図3の(B1)、(B2)及び(B3)は、「第4気筒(インバランス気筒)の燃焼噴射弁から噴射される燃料量」が「第1〜第3気筒(正常気筒)のそれぞれの燃料噴射弁から噴射される燃料量」の1/2倍になった場合であって、且つ、蒸発燃料比(又はパージ率)が大きい(この例では「約50%」である。)場合における、各気筒の「実際の吸入空気量、実際の燃料噴射量、及び、実際の空燃比」をそれぞれ示している。但し、これらの図において、正常気筒の一つである第1気筒の「実際の吸入空気量、実際の燃料噴射量、及び、実際の空燃比」をそれぞれ「1」としている。
この例において、第4気筒の燃料噴射弁は指示燃料噴射量の50%(1/2)の量の燃料量を噴射し、他の気筒の燃料噴射弁は指示燃料噴射量の100%の量の燃料量を噴射する。従って、第1気筒に供給される燃料の総量「1」の半分「0.5」が蒸発燃料であり且つ残りの半分「0.5」が第1気筒に対する燃料噴射弁から噴射された燃料であるとき、第4気筒に供給される蒸発燃料の量は「0.5」であり且つ第4気筒に対する燃料噴射弁から第4気筒に供給される燃料噴射量は0.25(=0.5・50%)となる。即ち、この場合、第1気筒に供給される燃料の総量を「1」としたとき、第4気筒に供給される燃料の総量は「0.75」となる。この結果、図2の(B3)に示したように、第4気筒(インバランス気筒)の空燃比は正常気筒(第1〜第3気筒)の空燃比の約1.33(=1/0.75)倍になる。
このように、燃料噴射量の気筒間ばらつき異常が発生した場合、蒸発燃料比が大きい場合と小さい場合とにおいて、気筒別空燃比の不均一性の程度は大きく相違する。従って、空燃比不均衡指標値も大きく相違した値になる。
以上の説明から理解されるように、空燃比不均衡指標値が大きくなった場合であっても、蒸発燃料比が大きい場合の空燃比不均衡指標値と蒸発燃料比が小さい場合の空燃比不均衡指標値との差の大きさが小さい場合、燃料噴射量の気筒間ばらつき異常が発生しているのではなく、吸入空気量の気筒間ばらつき異常が発生していると判定することができる。
本発明による多気筒内燃機関の異常判定装置(以下、「本判定装置」とも称呼する。)は、上述した知見に基いて構成された装置である。
より具体的に述べると、本判定装置は、
それぞれが前記機関の複数の気筒のそれぞれの燃焼室に供給される混合気に含まれる燃料を噴射するように構成された複数の燃料噴射弁と、
前記燃料噴射弁に供給される燃料を貯蔵する燃料タンク内に発生した蒸発燃料を前記機関の吸気通路に導入する蒸発燃料パージ手段と、
前記機関の運転状態(例えば、機関の負荷及び機関回転速度等)に応じて前記吸気通路に導入される蒸発燃料の量であるパージ量を制御する蒸発燃料パージ量制御手段と、
を備える。
更に、本判定装置は、
前記複数の気筒の排ガスが集合する前記機関の排気通路の排気集合部よりも下流側の部位に配設されるとともに、「その配設された部位を通過する排ガスの空燃比」に応じた出力値を発生する空燃比センサと、
前記空燃比センサの出力値により表される空燃比が所定の目標空燃比に一致するように前記燃料噴射弁から噴射される燃料の量をフィードバック補正することにより「前記複数の燃料噴射弁のそれぞれから噴射される燃料の量の指示値」である指示燃料噴射量を決定する指示燃料噴射量決定手段と、
前記指示燃料噴射量に応じた量の燃料が前記複数の燃料噴射弁のそれぞれから噴射されるように前記複数の燃料噴射弁に噴射指示信号を送出する噴射指示信号送出手段と、
前記複数の気筒のそれぞれに供給される混合気の空燃比である気筒別空燃比の同複数の気筒の間における不均一性の程度が大きくなるほど大きくなる空燃比不均衡指標値を前記空燃比センサの出力値に基いて取得する指標値取得手段と、
前記空燃比不均衡指標値に基いて異常判定を行う異常判定手段と、
を備える。
前記空燃比不均衡指標値は、後述するように、種々の手法に基いて算出され得る。
加えて、前記指標値取得手段は、前記機関に供給される燃料の総量に対する前記機関に供給される蒸発燃料の量の比である蒸発燃料比が第1所定値以上である期間において前記指標値取得手段によって取得される前記空燃比不均衡指標値をパージ量大時パラメータとして取得する。更に、前記指標値取得手段は、前記蒸発燃料比が「前記第1所定値以下の第2所定値」未満である期間において前記指標値取得手段によって取得される前記空燃比不均衡指標値をパージ量小時パラメータとして取得するように構成されている。
前記異常判定手段は、
前記パージ量小時パラメータと前記パージ量大時パラメータとの差の大きさが第1異常判定用閾値未満であり、且つ、前記パージ量小時パラメータが第2異常判定用閾値以上であるとき又は前記パージ量大時パラメータが第3異常判定用閾値以上であるとき、「前記複数の気筒のそれぞれに供給される吸入空気の量の同複数の気筒間における不均一性の程度が許容値以上である」という「吸入空気量異常状態が発生している」と判定するように構成される。
前述したように、吸入空気量の気筒間ばらつき異常が発生した場合、前記パージ量小時パラメータと前記パージ量大時パラメータとの差の大きさは所定値(即ち、第1異常判定用閾値)未満であり、且つ、前記パージ量小時パラメータ及び前記パージ量大時パラメータの少なくも一方が、それぞれに対応する所定値以上となる。これに対し、燃料噴射量の気筒間ばらつき異常が発生した場合、、前記パージ量小時パラメータと前記パージ量大時パラメータとの差の大きさは所定値(即ち、第1異常判定用閾値)以上となる。
従って、本判定装置によれば、吸入空気量の気筒間ばらつき異常が発生したことを確実に判定することができる。
本判定装置の一つの態様において、
前記異常判定手段は、前記パージ量小時パラメータと前記パージ量大時パラメータとの差の大きさが前記第1異常判定用閾値以上である場合に前記燃料噴射弁が異常である(燃料噴射量の気筒間ばらつき異常が発生した)と判定するように構成される。
この場合、前記蒸発燃料パージ量制御手段は、
前記機関の運転状態に基づいてパージ禁止要求が発生した場合に前記パージ量を0に制御するとともに、前記異常判定手段により前記燃料噴射弁が異常であると判定された場合には前記パージ禁止要求が発生したときであっても前記パージ量を0以外の所定値に制御することを許容するように構成される。
機関の運転状態によっては、蒸発燃料を前記機関の吸気通路に導入することを禁止する要求が発せられる。一方、蒸発燃料を前記機関の吸気通路に導入する場合、その分に見合った分だけ燃料噴射量は減少補正(フィードバック補正)される。即ち、指示燃料噴射量は小さくなる。従って、燃料噴射量の気筒間ばらつき異常が発生したと判定された場合には、蒸発燃料を前記機関の吸気通路に導入することを禁止する要求が発生した場合であっても、蒸発燃料を前記機関の吸気通路に導入すること(前記パージ量を0以外の所定値に制御すること)を許容することにより、燃料噴射量の気筒間ばらつきの影響を小さくする機会を増大することができる。その結果、エミッションの悪化を抑制することができる。
本判定装置の他の態様において、前記蒸発燃料パージ量制御手段は、
前記パージ量大時パラメータが既に取得され且つ前記パージ量小時パラメータが未だ取得されていない場合、前記パージ量大時パラメータ及び前記パージ量小時パラメータの何れもが未だ取得されていない場合に比べ、前記蒸発燃料比が前記第2所定値未満となる機会が増大するように、前記パージ量を制御する。
これによれば、前記パージ量大時パラメータが既に取得され且つ前記パージ量小時パラメータが未だ取得されていない場合において、パージ量小時パラメータを算出する機会を増大させることができる。その結果、パージ量大時パラメータ及びパージ量小時パラメータの両者を早期に取得することができるので、前記異常判定を早期に実施することが可能となる。
同様に、本判定装置の他の態様において、前記蒸発燃料パージ量制御手段は、
前記パージ量小時パラメータが既に取得され且つ前記パージ量大時パラメータが未だ取得されていない場合、前記パージ量大時パラメータ及び前記パージ量小時パラメータの何れもが未だ取得されていない場合に比べ、前記蒸発燃料比が前記第1所定値以上となる機会が増大するように、前記パージ量を制御する。
これによれば、前記パージ量小時パラメータが既に取得され且つ前記パージ量大時パラメータが未だ取得されていない場合において、パージ量大時パラメータを算出する機会を増大させることができる。その結果、パージ量大時パラメータ及びパージ量小時パラメータの両者を早期に取得することができるので、前記異常判定を早期に実施することが可能となる。
本発明装置の他の目的、他の特徴及び付随する利点は、以下の図面を参照しつつ記述される本発明の各実施形態についての説明から容易に理解されるであろう。
図1は、吸入空気量の気筒間ばらつき異常が発生した場合と、燃料噴射量の気筒間ばらつき異常が発生した場合と、における、吸入空気量、燃料噴射量及び空燃比を示したグラフである。 図2は、吸入空気量の気筒間ばらつき異常が発生した場合において、蒸発燃料比が小さい場合と、蒸発燃料比が大きい場合と、における、吸入空気量、燃料噴射量及び空燃比を示したグラフである。 図3は、燃料噴射量の気筒間ばらつき異常が発生した場合において、蒸発燃料比が小さい場合と、蒸発燃料比が大きい場合と、における、吸入空気量、燃料噴射量及び空燃比を示したグラフである。 図4は、本発明の各実施形態に係る異常判定装置が適用される内燃機関の概略平面図である。 図5の(A)〜(C)は、図4に示した上流側空燃比センサ(空燃比センサ)が備える空燃比検出素子の概略断面図である。 図6は、排ガスの空燃比と空燃比センサの限界電流値との関係を示したグラフである。 図7は、排ガスの空燃比と空燃比センサの出力値との関係を示したグラフである。 図8は、排ガスの空燃比と図4に示した下流側空燃比センサの出力値との関係を示したグラフである。 図9は、燃料噴射量の気筒間ばらつき異常が発生したのか、吸入空気量の気筒間ばらつき異常が発生したのか、を示す領域を示した領域図である。 図10は、本発明の第1実施形態に係る異常判定装置(第1判定装置)のCPUが実行するルーチンを示したフローチャートである。 図11は、第1判定装置のCPUが実行するルーチンを示したフローチャートである。 図12は、第1判定装置のCPUが実行するルーチンを示したフローチャートである。 図13は、第1判定装置のCPUが実行するルーチンを示したフローチャートである。 図14は、第1判定装置のCPUが実行するルーチンを示したフローチャートである。 図15は、第1判定装置のCPUが実行するルーチンを示したフローチャートである。 図16は、気筒別空燃比の不均一性の程度が大きい場合(空燃比気筒間インバランス状態が発生した場合)と、気筒別空燃比の不均一性の程度が小さい場合(空燃比気筒間インバランス状態が発生していない場合)と、のそれぞれの場合における、空燃比不均衡指標値に関連する各値の挙動を示したタイムチャートである。 図17は、実際のインバランス割合と、上流側空燃比センサの微分値に相関する空燃比不均衡指標値と、の関係を示したグラフである。 図18は、第1判定装置のCPUが実行するルーチンを示したフローチャートである。 図19は、第1判定装置のCPUが実行するルーチンを示したフローチャートである。 図20は、第1判定装置のCPUが実行するルーチンを示したフローチャートである。 図21は、本発明の第2実施形態に係る異常判定装置(第2判定装置)のCPUが実行するルーチンを示したフローチャートである。 図22は、第2判定装置のCPUが実行するルーチンを示したフローチャートである。 図23は、第2判定装置のCPUが実行するルーチンを示したフローチャートである。 図24は、本発明の第3実施形態に係る異常判定装置(第3判定装置)の効果を説明するための図である。 図25は、第3判定装置のCPUが実行するルーチンを示したフローチャートである。
以下、本発明の各実施形態に係る多気筒内燃機関の異常判定装置(以下、単に「判定装置」とも称呼する。)について図面を参照しながら説明する。この判定装置は、内燃機関に供給される混合気の空燃比(機関の空燃比)を制御する空燃比制御装置の一部であり、更に、燃料噴射量を制御する燃料噴射量制御装置及び蒸発燃料パージ量制御装置の一部でもある。
<第1実施形態>
(構成)
図4は、第1実施形態に係る判定装置(以下、「第1判定装置」とも称呼する。)を、4サイクル・火花点火式・多気筒(直列4気筒)・内燃機関10に適用したシステムの概略構成を示している。
内燃機関10は、機関本体部20と、吸気系統30と、排気系統40と、蒸発燃料供給系統50と、を含む。
機関本体部20は、シリンダブロック部及びシリンダヘッド部を含む。機関本体部20は、複数の気筒(燃焼室)21を備えている。各気筒は、図示しない「吸気ポート及び排気ポート」と連通している。吸気ポートと燃焼室21との連通部は図示しない吸気弁により開閉される。排気ポートと燃焼室21との連通部は図示しない排気弁により開閉される。各燃焼室21には図示しない点火プラグが配設されている。
吸気系統30は、インテークマニホールド31、吸気管32、複数の燃料噴射弁33、及び、スロットル弁34を備えている。
インテークマニホールド31は、複数の枝部31aとサージタンク31bとを備えている。複数の枝部31aのそれぞれの一端は、複数の吸気ポートのそれぞれに接続されている。複数の枝部31aの他端はサージタンク31bに接続されている。
吸気管32の一端はサージタンク31bに接続されている。吸気管32の他端には図示しないエアフィルタが配設されている。
燃料噴射弁33は、一つの気筒(燃焼室)21に対して一つずつ配設されている。燃料噴射弁33は吸気ポートに設けられている。即ち、複数の気筒のそれぞれは、他の気筒とは独立して燃料供給を行う燃料噴射弁33を備えている。燃料噴射弁33は、噴射指示信号に応答し、正常である場合に「その噴射指示信号に含まれる指示燃料噴射量の燃料」を吸気ポート(従って、燃料噴射弁33に対応する気筒21)内に噴射するようになっている。
より具体的に述べると、燃料噴射弁33は、指示燃料噴射量に応じた時間だけ開弁する。燃料噴射弁33には、後述する燃料タンク51に接続された燃料供給管57を介して燃料が供給されている。燃料噴射弁33に供給されている燃料の圧力は、その燃料の圧力と吸気ポート内の圧力との差圧が一定になるように図示しないプレッシャレギュレータにより制御されている。従って、燃料噴射弁33が正常であれば、燃料噴射弁33は指示燃料噴射量と等量の燃料を噴射する。しかしながら、燃料噴射弁33に異常が発生すると、燃料噴射弁33は指示燃料噴射量とは相違する量の燃料を噴射するようになる。これにより、気筒別空燃比の気筒間における不均一性が発生する。
スロットル弁34は、吸気管32内に回動可能に配設されている。スロットル弁34は、吸気通路の開口断面積を可変とするようになっている。スロットル弁34は、図示しないスロットル弁アクチュエータにより吸気管32内で回転駆動されるようになっている。
排気系統40は、エキゾーストマニホールド41、エキゾーストパイプ42、エキゾーストパイプ42に配設された上流側触媒43、及び、上流側触媒43よりも下流においてエキゾーストパイプ42に配設された「図示しない下流側触媒」を備えている。
エキゾーストマニホールド41は、複数の枝部41aと集合部41bとを備えている。複数の枝部41aのそれぞれの一端は、複数の排気ポートのそれぞれに接続されている。複数の枝部41aのそれぞれの他端は集合部41bに集合している。この集合部41bは、複数(2以上であり、本例では4つ)の気筒から排出された排ガスが集合する部分であるから、排気集合部HKとも称呼される。
エキゾーストパイプ42は集合部41bに接続されている。排気ポート、エキゾーストマニホールド41及びエキゾーストパイプ42は、排気通路を構成している。
上流側触媒43及び下流側触媒のそれぞれは、所謂、白金、ロジウム及びパラジウム等の貴金属(触媒物質)からなる活性成分を担持する三元触媒装置(排気浄化用の触媒)である。各触媒は、各触媒に流入するガスの空燃比が「三元触媒のウインドウ内の空燃比(例えば、理論空燃比)」であるとき、HC,CO,Hなどの未燃成分を酸化するとともに窒素酸化物(NOx)を還元する機能を有する。この機能は触媒機能とも称呼される。更に、各触媒は、酸素を吸蔵(貯蔵)する酸素吸蔵機能を有する。各触媒は、酸素吸蔵機能により空燃比が理論空燃比から偏移したとしても未燃成分及び窒素酸化物を浄化することができる。つまり、酸素吸蔵機能により、ウインドウの幅が拡大する。酸素吸蔵機能は、触媒に担持されているセリア(CeO)等の酸素吸蔵材によってもたらされる。
蒸発燃料供給系統50は、燃料タンク51、キャニスタ52、ベーパ捕集管53、パージ流路管54、パージ制御弁55、及び、燃料ポンプ56を備えている。
燃料タンク51は、燃料噴射弁33から機関10に供給される燃料を貯留する。
キャニスタ52は、燃料タンク51内にて発生した蒸発燃料(蒸発燃料ガス)を吸蔵する「周知のチャコールキャニスタ」である。キャニスタ52は、タンクポート52aと、パージポート52bと、大気に曝されている大気ポート52cと、が形成された筐体を備える。キャニスタ52は、その筐体内に、蒸発燃料を吸着するための吸着剤52dを収納している。
ベーパ捕集管53の一端は燃料タンク51の上部に接続され、ベーパ捕集管53の他端はタンクポート52aに接続されている。ベーパ捕集管53は、燃料タンク51内に発生した蒸発燃料を燃料タンク51からキャニスタ52へと導入するための管である。
パージ流路管54の一端はパージポート52bに接続され、パージ流路管54の他端はサージタンク31b(即ち、スロットル弁34よりも下流の吸気通路)に接続されている。パージ流路管54は、キャニスタ52の吸着剤52dから脱離した蒸発燃料をサージタンク31bへと導入するための管である。ベーパ捕集管53及びパージ流路管54はパージ通路(パージ通路部)を構成している。
パージ制御弁55はパージ流路管54に介装されている。パージ制御弁55は、指示信号であるデューティ比DPGを表す駆動信号により開度(開弁期間)が調節されることにより、パージ流路管54の通路断面積を変更するようになっている。パージ制御弁55は、デューティ比DPGが「0」であるときにパージ流路管54を完全に閉じるようになっている。
燃料ポンプ56は、燃料タンク51に貯留されている燃料を燃料供給管57を通して燃料噴射弁33に供給するようになっている。
このように構成された蒸発燃料供給系統50において、パージ制御弁55が完全に閉じられている場合、燃料タンク51内で発生した蒸発燃料はキャニスタ52に吸蔵される。パージ制御弁55が開かれている場合、キャニスタ52に吸蔵された蒸発燃料はパージ流路管54を通してサージタンク31b(スロットル弁34よりも下流の吸気通路)に放出され、燃焼室21(機関10)へ供給される。即ち、パージ制御弁55が開かれているとき、蒸発燃料ガスパージ(「蒸発燃料パージ」又は「エバポパージ」とも称呼される。)が行われる。
このシステムは、熱線式エアフローメータ61、スロットルポジションセンサ62、水温センサ63、クランクポジションセンサ64、インテークカムポジションセンサ65、上流側空燃比センサ66、下流側空燃比センサ67、及び、アクセル開度センサ68を備えている。なお、本明細書において、上流側空燃比センサ66は単に「空燃比センサ」とも称呼される。
エアフローメータ61は、吸気管32内を流れる吸入空気の質量流量(吸入空気流量)Gaに応じた信号を出力するようになっている。即ち、吸入空気量Gaは、単位時間あたりに機関10に吸入される吸入空気量を表す。
スロットルポジションセンサ62は、スロットル弁34の開度(スロットル弁開度)を検出し、スロットル弁開度TAを表す信号を出力するようになっている。
水温センサ63は、内燃機関10の冷却水の温度を検出し、冷却水温THWを表す信号を出力するようになっている。冷却水温THWは、機関10の暖機状態(機関10の温度)を表すパラメータである。
クランクポジションセンサ64は、クランク軸が10°回転する毎に幅狭のパルスを有するとともに同クランク軸が360°回転する毎に幅広のパルスを有する信号を出力するようになっている。この信号は、後述する電気制御装置70によって機関回転速度NEに変換される。
インテークカムポジションセンサ65は、インテークカムシャフトが所定角度から90度、次いで90度、更に180度回転する毎に一つのパルスを出力するようになっている。後述する電気制御装置70は、クランクポジションセンサ64及びインテークカムポジションセンサ65からの信号に基づいて、基準気筒(例えば第1気筒)の圧縮上死点を基準とした絶対クランク角度CAを取得するようになっている。この絶対クランク角度CAは、基準気筒の圧縮上死点において「0°クランク角度」に設定され、クランク軸の回転角度に応じて720°クランク角度まで増大し、その時点にて再び0°クランク角度に設定される。
上流側空燃比センサ66は、エキゾーストマニホールド41の集合部41b(排気集合部HK)と上流側触媒43との間の位置において「エキゾーストマニホールド41及びエキゾーストパイプ42の何れか」に配設されている。
上流側空燃比センサ66は、例えば、特開平11−72473号公報、特開2000−65782号公報及び特開2004−69547号公報等に開示された「拡散抵抗層を備える限界電流式広域空燃比センサ」である。
上流側空燃比センサ66は、図5に示したように、空燃比検出部66aを有している。空燃比検出部66aは、図示しない「金属からなる中空円筒体の保護カバー」の内部に収容されている。保護カバーの側面及び下面には貫通孔が設けられている。排ガスは、側面の貫通孔を通して保護カバー内に流入し、空燃比検出部66aに到達し、その後、下面の貫通孔を通して保護カバー外に流出する。
即ち、保護カバーに到達した排ガスは、保護カバーの下面の貫通孔近傍を流れる排ガスの流れにより、保護カバーの内部へと吸い込まれる。このため、保護カバーの内部における排ガスの流速は、保護カバーの下面の貫通孔近傍を流れる排ガスの流速(従って、単位時間あたりの吸入空気量である吸入空気量Ga)に応じて変化する。従って、上流側空燃比センサ66の「排気通路を流れる排ガスの空燃比」に対する出力応答性(応答性)は、吸入空気量Gaが大きいほど高くなるが、機関回転速度NEには殆ど依存しない。
図5の(A)〜(C)に示したように、空燃比検出部66aは、固体電解質層661と、排ガス側電極層662と、大気側電極層(基準ガス側電極層)663と、拡散抵抗層664と、第一壁部665と、触媒部666と、第二壁部667と、ヒータ668と、を含んでいる。
固体電解質層661は酸素イオン導電性酸化物焼結体である。本例において、固体電解質層661は、ZrO(ジルコニア)にCaOを安定剤として固溶させた「安定化ジルコニア素子」である。固体電解質層661は、その温度が活性温度以上であるとき、周知の「酸素電池特性」及び「酸素ポンプ特性」を発揮する。
排ガス側電極層662は、白金(Pt)等の触媒活性の高い貴金属からなる。排ガス側電極層662は、固体電解質層661の一つの面上に形成されている。排ガス側電極層662は、化学メッキ等により浸透性を十分に有するように(即ち、多孔質状に)形成されている。
大気側電極層663は、白金(Pt)等の触媒活性の高い貴金属からなる。大気側電極層663は、固体電解質層661の他の面上であって、固体電解質層661を挟んで排ガス側電極層662に対向するように形成されている。大気側電極層663は、化学メッキ等により浸透性を十分に有するように(即ち、多孔質状に)形成されている。大気側電極層663は、基準ガス側電極層とも称呼される。
拡散抵抗層(拡散律速層)664は、多孔質セラミック(耐熱性無機物質)からなる多孔質層である。拡散抵抗層664は、排ガス側電極層662の外側表面を覆うように、例えば、プラズマ溶射法等により形成されている。
第一壁部665は、緻密であってガスを透過させないアルミナセラミックスからなる。第一壁部665は拡散抵抗層664の角部(一部)を除いて拡散抵抗層664を覆うように形成されている。即ち、第一壁部665は拡散抵抗層664の一部を外部に露呈させる貫通部を備えている。
触媒部666は、第一壁部665の貫通部を閉じるように貫通部に形成されている。触媒部666は、上流側触媒43と同様、酸化還元反応を促進する触媒物質及び酸素吸蔵機能を発揮する酸素吸蔵材を担持している。触媒部666は多孔質体である。従って、図5の(B)及び図5の(C)に白抜きの矢印により示したように、排ガス(前述した保護カバーの内部に流入した排ガス)は、触媒部666を通過して拡散抵抗層664に到達し、その排ガスは更に拡散抵抗層664を通過して(即ち、拡散して)排ガス側電極層662に到達する。
第二壁部667は、緻密であってガスを透過させないアルミナセラミックスからなる。第二壁部667は大気側電極層663を収容する空間である「大気室66A」を形成するように構成されている。大気室66Aには大気が導入されている。
上流側空燃比センサ66には電源669が接続されている。電源669は、大気側電極層663側が高電位となり、排ガス側電極層662が低電位となるように、電圧V(=Vp)を印加する。
ヒータ668は第二壁部667に埋設されている。ヒータ668は後述する電気制御装置70によって通電されたときに発熱し、固体電解質層661、排ガス側電極層662及び大気側電極層663を加熱し、それらの温度を調整するようになっている。
このような構造を有する上流側空燃比センサ66は、図5の(B)に示したように、排ガスの空燃比が理論空燃比よりもリーン側の空燃比であるとき、拡散抵抗層664を通って排ガス側電極層662に到達した酸素をイオン化して大気側電極層663へと通過させる。この結果、電源669の正極から負極へと電流Iが流れる。この電流Iの大きさは、図6に示したように、電圧Vを所定電圧Vpに設定すると、排ガス側電極層662に到達した酸素の量(酸素分圧、酸素濃度、従って、排ガスの空燃比)に比例した一定値となる。上流側空燃比センサ66は、この電流(即ち、限界電流Ip)を電圧に変換した値を出力値Vabyfsとして出力する。
これに対し、図5の(C)に示したように、排ガスの空燃比が理論空燃比よりもリッチ側の空燃比であるとき、上流側空燃比センサ66は、大気室66Aに存在する酸素をイオン化して排ガス側電極層662へと導き、拡散抵抗層664を通って排ガス側電極層662に到達する未燃物(HC,CO及びH等)を酸化する。この結果、電源669の負極から正極へと電流Iが流れる。この電流Iの大きさも、図6に示したように、電圧Vを所定電圧Vpに設定すると、排ガス側電極層662に到達した未燃物の量(未燃物の分圧、未燃物の濃度、即ち、排ガスの空燃比)に比例した一定値となる。上流側空燃比センサ66は、この電流(即ち、限界電流Ip)を電圧に変換した値を出力値Vabyfsとして出力する。
即ち、空燃比検出部66aは、図7に示したように、上流側空燃比センサ66の配設位置を流れ、且つ、保護カバーの貫通孔を通って空燃比検出部66aに到達しているガスの空燃比に応じた出力値Vabyfsを「空燃比センサ出力」として出力する。換言すると、上流側空燃比センサ66は、空燃比検出部66aの拡散抵抗層664を通過して排ガス側電極層662に到達したガスの「酸素分圧(酸素濃度、酸素量)及び未燃物の分圧(未燃物の濃度、未燃物量)」に応じて変化する出力値Vabyfsを出力する。出力値Vabyfsは、空燃比検出部66aに到達しているガスの空燃比が理論空燃比であるとき、理論空燃比相当値Vstoichに一致する。
以上から明らかなように、上流側空燃比センサ66は、排気通路であって排気集合部HKと三元触媒(上流側触媒43)との間の位置に配設されるとともに、空燃比検出素子(固体電解質層)661と、前記空燃比検出素子を挟んで対向するように配設された排ガス側電極層662及び基準ガス側電極層(大気側電極層)663と、前記排ガス側電極層662を覆う多孔質層(拡散抵抗層)664と、を有する空燃比センサ66である。更に、上流側空燃比センサ66は、「上流側空燃比センサ66が配設された位置を通過する排ガス」のうち「前記多孔質層(拡散抵抗層)664を通って前記排ガス側電極層662に到達した排ガス」に含まれる「酸素の量及び未燃物の量」に応じた出力値Vabyfsを出力する。
なお、排ガスに含まれる水素を含む未燃物は、触媒部666においてある程度まで浄化される。しかし、排ガスに多量の未燃物が含まれる場合、その未燃物を触媒部666において完全に浄化することはできない。その結果、拡散抵抗層664の外表面には、「酸素、及び、その酸素に対して過剰な未燃物」が到達する場合が生じる。更に、水素は他の未燃物よりも分子径が小さいので、水素は他の未燃物と比較して拡散抵抗層664を優先的に拡散する。気筒別空燃比の不均一性の程度が大きくなると、その空燃比が大きくリッチ側の空燃比となった気筒から多量の未燃物が排出される。従って、機関の空燃比の平均がある値であったとしても、気筒別空燃比の不均一性の程度が大きいほど多量の水素が拡散抵抗層664の外表面に到達する。その結果、気筒別空燃比の不均一性の程度が大きくなるほど、出力値Vabyfsはよりリッチ側の値へと偏移する。
再び、図4を参照すると、下流側空燃比センサ67は、エキゾーストパイプ42内に配設されている。下流側空燃比センサ67の配設位置は、上流側触媒43よりも下流側であり、且つ、下流側触媒よりも上流側(即ち、上流側触媒43と下流側触媒との間の排気通路)である。下流側空燃比センサ67は、周知の起電力式の酸素濃度センサ(安定化ジルコニア等の固体電解質を用いた周知の濃淡電池型の酸素濃度センサ)である。下流側空燃比センサ67は、排気通路であって下流側空燃比センサ67が配設されている部位を通過するガスである被検出ガスの空燃比に応じた出力値Voxsを発生するようになっている。換言すると、出力値Voxsは、上流側触媒43から流出し且つ下流側触媒に流入するガスの空燃比に応じた値である。
この出力値Voxsは、図8に示したように、被検出ガスの空燃比が理論空燃比よりもリッチのとき最大出力値max(例えば、約0.9V〜1.0V)となる。出力値Voxsは、被検出ガスの空燃比が理論空燃比よりもリーンのとき最小出力値min(例えば、約0.1V〜0V)となる。更に、出力値Voxsは、被検出ガスの空燃比が理論空燃比であるとき最大出力値maxと最小出力値minの略中間の電圧Vst(中間電圧Vst、例えば、約0.5V)となる。出力値Voxsは、被検出ガスの空燃比が理論空燃比よりもリッチな空燃比からリーンな空燃比へと変化する際に最大出力値maxから最小出力値minへと急変する。同様に、出力値Voxsは、被検出ガスの空燃比が理論空燃比よりもリーンな空燃比からリッチな空燃比へと変化する際に最小出力値minから最大出力値maxへと急変する。
なお、下流側空燃比センサ67も、固体電解質層と、固体電解質層を挟んで対向するように固体電解質層の両面に配設された「排ガス側電極層及び大気側(基準ガス側)電極層」とを備える。更に、排ガス側電極層は多孔質層(保護層)により覆われている。従って、被検出ガスは、多孔質層を通過する際に酸素平衡後ガス(酸素及び未燃物が化合した後のガス)へと変化し、排ガス側電極層に到達する。水素は、他の未燃物よりも、その多孔質層を容易に通過する。但し、上流側触媒43により、「気筒別空燃比の不均一性が生じた際に発生する過剰な水素」は特別な場合を除き浄化される。従って、下流側空燃比センサ67の出力値Voxsは、特別な場合を除き、気筒別空燃比の不均一性の程度によって変化しない。
図4に示したアクセル開度センサ68は、運転者によって操作されるアクセルペダルAPの操作量Accp(アクセルペダル操作量、アクセルペダルAPの開度)を表す信号を出力するようになっている。アクセルペダル操作量Accpは、アクセルペダルAPの操作量が大きくなるとともに大きくなる。
電気制御装置70は、「CPU、CPUが実行するプログラム、テーブル(マップ、関数)及び定数等を予め記憶したROM、CPUが必要に応じてデータを一時的に格納するRAM、バックアップRAM、並びに、ADコンバータを含むインターフェース等」からなる周知のマイクロコンピュータである。
バックアップRAMは、機関10を搭載した車両の図示しないイグニッション・キー・スイッチの位置(オフ位置、始動位置及びオン位置等の何れか)に関わらず、車両に搭載されたバッテリから電力の供給を受けるようになっている。バックアップRAMは、バッテリから電力の供給を受けている場合、CPUの指示に応じてデータを格納する(データが書き込まれる)とともに、そのデータを読み出し可能となるように保持(記憶)する。従って、バックアップRAMは、機関10の運転停止中においてもデータを保持することができる。
バックアップRAMは、バッテリが車両から取り外される等によりバッテリからの電力供給が遮断されると、データを保持することができない。そこで、CPUは、バックアップRAMへの電力供給が再開されたとき、バックアップRAMに保持されるべきデータを初期化(デフォルト値に設定)するようになっている。なお、バックアップRAMは、EEPROM等の読み書き可能な不揮発性メモリであってもよい。
電気制御装置70は、上述したセンサ等と接続され、CPUにそれらのセンサからの信号を供給するようになっている。更に、電気制御装置70は、CPUの指示に応じて、各気筒に対応して設けられた点火プラグ(実際にはイグナイタ)、各気筒に対応して設けられた燃料噴射弁33、パージ制御弁55、及び、スロットル弁アクチュエータ等に駆動信号(指示信号)を送出するようになっている。
なお、電気制御装置70は、取得されたアクセルペダルの操作量Accpが大きくなるほどスロットル弁開度TAが大きくなるように、スロットル弁アクチュエータに指示信号を送出するようになっている。即ち、電気制御装置70は、運転者により変更される機関10の加速操作量(アクセルペダル操作量Accp)に応じて「機関10の吸気通路に配設されたスロットル弁34」の開度を変更するスロットル弁駆動手段を備えている。
(第1判定装置の作動の概要)
第1判定装置は、上述した知見に基づき、吸入空気量の気筒間ばらつき異常が発生したか、燃料噴射量の気筒間ばらつき異常が発生したか、或いは、それらの何れもが発生していないかを、空燃比不均衡指標値に基いて判定する。
より具体的に述べると、第1判定装置は、蒸発燃料比(機関10への総燃料供給量に対する機関10に供給される蒸発燃料の量の比)が第1所定値以上である期間において、空燃比不均衡指標値を取得する。この場合に取得される空燃比不均衡指標値は、パージ量大時パラメータPonとも称呼される。更に、第1判定装置は、蒸発燃料比が「第1所定値以下の第2所定値」未満である期間において、空燃比不均衡指標値を取得する。この場合に取得される空燃比不均衡指標値は、パージ量小時パラメータPoffとも称呼される。
空燃比不均衡指標値は、複数の気筒のそれぞれに供給される混合気の空燃比である気筒別空燃比の同複数の気筒の間における不均一性の程度が大きくなるほど大きくなるパラメータであり、後述するように種々の手法により取得される。第1判定装置は、空燃比不均衡指標値(即ち、パージ量大時パラメータPon及びパージ量小時パラメータPoff)として、上流側空燃比センサ66の出力値Vabyfsの微分値d(Vabyfs)/dtに相関する値を取得する。気筒別空燃比の不均一性の程度が大きくなると、排ガスの空燃比の変動が大きくなる。従って、出力値Vabyfsは大きく変動するから、微分値d(Vabyfs)/dtも大きくなる。よって、微分値d(Vabyfs)/dtに相関する空燃比不均衡指標値は、気筒別空燃比の不均一性の程度が大きくなるほど大きくなる。
そして、第1判定装置は、以下に述べる条件1及び条件2の何れかが成立したとき、吸入空気量の気筒間ばらつき異常が発生したと判定する。
(条件1)パージ量小時パラメータPoffとパージ量大時パラメータPonとの差の大きさ(|Poff−Pon|)が、第1異常判定用閾値ΔPth(=2・ΔPinj)未満であり、且つ、パージ量小時パラメータPoffが第2異常判定用閾値(パージ量小時閾値)Poffth以上であるとき。
(条件2)パージ量小時パラメータPoffとパージ量大時パラメータPonとの差の大きさ(|Poff−Pon|)が、第1異常判定用閾値ΔPth(=2・ΔPinj)未満であり、且つ、パージ量大時パラメータPonが第3異常判定用閾値(パージ量大時閾値)Ponth以上であるとき。
即ち、第1判定装置は、パージ量大時パラメータPon及びパージ量小時パラメータPoffが図9に示した領域A(直線L2,L3,L4及びL5により囲まれた領域)にある場合、吸入空気量の気筒間ばらつき異常が発生したと判定する。
これに対し、第1判定装置は、以下に述べる条件3が成立したとき、燃料噴射量の気筒間ばらつき異常が発生したと判定する。
(条件3)パージ量小時パラメータPoffとパージ量大時パラメータPonとの差の大きさ(|Poff−Pon|)が、第1異常判定用閾値ΔPth(=2・ΔPinj)以上であるとき。
即ち、第1判定装置は、パージ量大時パラメータPon及びパージ量小時パラメータPoffが、図9に示した領域B(直線L2とY軸とにより囲まれた領域)にある場合、又は図9に示した領域C(直線L3とX軸とに囲まれた領域)にある場合、燃料噴射量の気筒間ばらつき異常が発生したと判定する。
更に、第1判定装置は、上記条件1乃至条件3の何れもが成立していないとき、機関10は正常である(吸入空気量の気筒間ばらつき異常及び燃料噴射量の気筒間ばらつき異常の何れもが発生していない)と判定する。
(実際の作動)
次に、第1判定装置の実際の作動について説明する。
<燃料噴射量制御>
第1判定装置のCPUは、図10に示した燃料噴射量制御ルーチンを、任意の気筒のクランク角がその気筒の吸気上死点前の所定クランク角度(例えば、BTDC90°CA)となる毎に、その気筒(以下、「燃料噴射気筒」とも称呼する。)に対して繰り返し実行するようになっている。
従って、所定のタイミングになると、CPUはステップ1000から処理を開始し、以下に述べるステップ1010乃至ステップ1060の処理を順に行い、ステップ1095に進んで本ルーチンを一旦終了する。
ステップ1010:CPUは「エアフローメータ61により計測された吸入空気量Ga、及び、機関回転速度NE」をルックアップテーブルMapMcに適用することにより現時点において燃料噴射気筒に吸入される吸入空気量(筒内吸入空気量)Mc(k)を求める。
ステップ1020:CPUは、メインFB学習値KGをバックアップRAMから読み出す。メインFB学習値KGは、後述する図12に示したメインフィードバック学習ルーチンにより別途求められ、バックアップRAM内に格納されている。
ステップ1030:CPUは、下記(1)式に示したように、筒内吸入空気量Mc(k)を現時点における上流側目標空燃比abyfr(目標空燃比abyfr)によって除すことにより基本燃料噴射量Fb(k)を求める。

Fb(k)=Mc(k)/abyfr …(1)
上流側目標空燃比abyfrは、機関暖機中、フューエルカット復帰後増量中及び触媒過熱防止増量中等の特殊な場合を除き、理論空燃比stoichに設定される。なお、本例において、上流側目標空燃比abyfrは常に理論空燃比stoichに設定されている。基本燃料噴射量Fb(k)は、各吸気行程に対応されながらRAM内に記憶される。
ステップ1040:CPUはパージ補正係数FPGを下記の(2)式に従って求める。(2)式において、PGTは目標パージ率である。目標パージ率PGTは、後述する図13のステップ1330において機関10の運転状態に基いて求められている。FGPGは蒸発燃料ガス濃度学習値である。蒸発燃料ガス濃度学習値FGPGは、後述する図14に示したルーチンにより求められている。

FPG=1+PGT(FGPG−1) …(2)
ステップ1050:CPUは、基本燃料噴射量Fb(k)を下記(3)式に従って補正することにより、最終的な燃料噴射量の指令値である指示燃料噴射量Fiを求める。(3)式の右辺における各値は以下の通りである。これらの値は後述するルーチンにより別途求められている。

KG:メインフィードバック係数の学習値(メインFB学習値KG)。
FPG:パージ補正係数。
FAF:メインフィードバック制御により更新(算出)されるメインフィードバック係数。

Fi=FPG・{KG・FAF・Fb(k)} …(3)
ステップ1060:CPUは、指示燃料噴射量Fiの燃料が燃料噴射気筒に対応して設けられている燃料噴射弁33から噴射されるように、その燃料噴射弁33に指示信号を送出する。
以上により、基本燃料噴射量Fb(k)がメインフィードバック値DFi(実際にはメインフィードバック係数FAF)等により補正されることにより指示燃料噴射量Fiが算出される。そして、燃料噴射気筒に対して設けられた燃料噴射弁33の特性が正常である限り、指示燃料噴射量Fiの燃料が燃料噴射気筒に対して噴射される。
<メインフィードバック制御>
CPUは図11にフローチャートにより示したメインフィードバック制御ルーチンを所定時間の経過毎に繰り返し実行している。従って、所定のタイミングになると、CPUはステップ1100から処理を開始し、ステップ1105に進んでメインフィードバック制御条件(上流側空燃比フィードバック制御条件)が成立しているか否かを判定する。メインフィードバック制御条件は、例えば、フューエルカット中でなく、機関の冷却水温THWが第1所定温度以上であり、負荷KLが所定値以下であり、且つ、上流側空燃比センサ66が活性化しているときに成立する。
なお、負荷KLは、本例において負荷率(充填率)KLであり、下記の(4)式に基いて算出される。この(4)式において、ρは空気密度(単位は(g/l))、Lは機関10の排気量(単位は(l))、4は機関10の気筒数である。但し、負荷KLは、筒内吸入空気量Mc、スロットル弁開度TA及びアクセルペダル操作量Accp等であってもよい。

KL={Mc(k)/(ρ・L/4)}・100(%) …(4)
いま、メインフィードバック制御条件が成立しているものとして説明を続ける。この場合、CPUはステップ1105にて「Yes」と判定して以下に述べるステップ1110乃至ステップ1150の処理を順に行い、ステップ1195に進んで本ルーチンを一旦終了する。
ステップ1110:CPUは、下記(5)式に従ってフィードバック制御用出力値Vabyfcを取得する。(5)式において、Vabyfsは上流側空燃比センサ66の出力値、Vafsfbは下流側空燃比センサ67の出力値Voxsに基いて算出されるサブフィードバック量、Vafsfbgはサブフィードバック量の学習値である。サブフィードバック量Vafsfb及びサブフィードバック量の学習値Vafsfbgの算出方法は後述される。

Vabyfc=Vabyfs+Vafsfb+Vafsfbg …(5)
ステップ1115:CPUは、下記(6)式に従ってフィードバック制御用空燃比abyfscを取得する。即ち、CPUは、フィードバック制御用出力値Vabyfcを図7に示したテーブルMapabyfsに適用することによりフィードバック制御用空燃比abyfscを得る。

abyfsc=Mapabyfs(Vabyfc) …(6)
ステップ1120:CPUは、下記(7)式に示したように、現時点よりもNサイクル(即ち、N・720°クランク角)前の時点における筒内吸入空気量Mc(k−N)を、上記フィードバック制御用空燃比abyfscで除すことにより、現時点よりもNサイクル前の時点において燃焼室21に実際に供給された燃料の量である「筒内燃料供給量Fc(k−N)」を求める。

Fc(k−N)=Mc(k−N)/abyfsc …(7)
このように、現時点からNサイクル前の筒内燃料供給量Fc(k−N)を求めるために、現時点からNストローク前の筒内吸入空気量Mc(k−N)をフィードバック制御用空燃比abyfscで除すのは、燃焼室21内で燃焼された混合気が上流側空燃比センサ66に到達するまでにNストロークに相当する時間を要するからである。但し、実際には、上流側空燃比センサ66には各気筒から排出された排ガスがある程度混合された後に到達する。
ステップ1125:CPUは、下記(8)式に示したように、「現時点からNストローク前の筒内吸入空気量Mc(k−N)」を「現時点からNストローク前の上流側目標空燃比abyfr(k−N)」で除すことにより「現時点からNストローク前の目標筒内燃料供給量Fcr(k−N)」を求める。なお、上述したように、本例において上流側目標空燃比abyfrは一定であるので、(8)式においては単にabyfrと表記されている。

Fcr(k−N)=Mc(k−N)/abyfr …(8)
ステップ1130:CPUは、下記(9)式に示したように、目標筒内燃料供給量Fcr(k−N)から筒内燃料供給量Fc(k−N)を減じた値を筒内燃料供給量偏差DFcとして設定する。この筒内燃料供給量偏差DFcは、Nストローク前の時点で機関10に供給された燃料の過不足分を表す量となる。

DFc=Fcr(k−N)−Fc(k−N) …(9)
ステップ1135:CPUは、下記(10)式に基いてメインフィードバック値DFiを求める。この(10)式において、Gpは予め設定された比例ゲイン、Giは予め設定された積分ゲインである。(10)式の値SDFcは筒内燃料供給量偏差DFcの積分値であり、次のステップ1140にて求められる。つまり、第1制御装置は、フィードバック制御用空燃比abyfscを上流側目標空燃比abyfrに一致させる比例・積分制御(PI制御)によりメインフィードバック値DFiを算出する。

DFi=Gp・DFc+Gi・SDFc …(10)
ステップ1140:CPUは、その時点における筒内燃料供給量偏差DFcの積分値SDFcに上記ステップ1130にて求められた筒内燃料供給量偏差DFcを加えることにより、新たな筒内燃料供給量偏差の積分値SDFcを取得する。
ステップ1145:CPUは、メインフィードバック値DFi及び基本燃料噴射量Fb(k−N)を下記(11)式に適用することによりメインフィードバック係数FAFを算出する。即ち、メインフィードバック係数FAFは、「現時点からNストローク前の基本燃料噴射量Fb(k−N)にメインフィードバック値DFiを加えた値」を「基本燃料噴射量Fb(k−N)」で除すことにより求められる。

FAF=(Fb(k−N)+DFi)/Fb(k−N) …(11)
ステップ1150:CPUは、下記(12)式に従ってメインフィードバック係数FAFの加重平均値をメインフィードバック係数平均FAFAV(以下、「補正係数平均FAFAV」とも称呼する。)として求める。(12)式においてFAFAVnewは更新後の補正係数平均FAFAVであり、そのFAFAVnewが新たな補正係数平均FAFAVとして格納される。また、(12)式において、値qは0より大きく1より小さい定数である。この補正係数平均FAFAVは、後述するように、「メインFB学習値KG及び蒸発燃料ガス濃度学習値FGPG」を求める際に用いられる。

FAFAVnew=q・FAF+(1−q)・FAFAV …(12)
以上により、メインフィードバック値DFiが比例積分制御により求められ、このメインフィードバック値DFiがメインフィードバック係数FAFへと変換される。メインフィードバック係数FAFは、上述した図10のステップ1050において指示燃料噴射量Fiに反映される。この結果、燃料供給量の過不足が補償されるので、機関の空燃比(従って、上流側触媒43に流入するガスの空燃比)の平均値が上流側目標空燃比abyfrと略一致させられる。
一方、ステップ1105の判定時において、メインフィードバック制御条件が不成立であると、CPUはそのステップ1105にて「No」と判定してステップ1155に進み、メインフィードバック値DFiの値を「0」に設定する。次いで、CPUは、ステップ1160にて筒内燃料供給量偏差の積分値SDFcを「0」に設定し、ステップ1165にてメインフィードバック係数FAFの値を「1」に設定し、ステップ1170にて補正係数平均FAFAVの値を「1」に設定する。
その後、CPUは、ステップ1195に進んで本ルーチンを一旦終了する。このように、メインフィードバック制御条件が不成立であるとき、メインフィードバック値DFiの値は「0」に設定され、メインフィードバック係数FAFの値は「1」に設定される。従って、基本燃料噴射量Fb(k)のメインフィードバック係数FAFによる補正は行わない。但し、このような場合であっても、基本燃料噴射量Fb(k)はメインFB学習値KGによって補正される。
<メインフィードバック学習(ベース空燃比学習)>
第1制御装置はパージ制御弁55を完全に閉じた状態に維持する指示信号が同パージ制御弁に送出されている「パージ制御弁閉弁指示期間(デューティ比DPGが「0」である期間)」において、メインフィードバック係数FAFを基本値「1」に近づけるように、補正係数平均FAFAVに基いてメインFB学習値KGを更新する。
このメインFB学習値KGの更新を行うために、CPUは図12に示したメインフィードバック学習ルーチンを所定時間が経過する毎に実行するようになっている。従って、CPUは所定のタイミングになるとステップ1200から処理を開始し、ステップ1205に進んでメインフィードバック制御が実行中であるか否か(即ち、メインフィードバック条件が成立しているか否か)を判定する。
このとき、メインフィードバック制御が実行されていなければ、CPUはそのステップ1205にて「No」と判定し、ステップ1295に直接進んで本ルーチンを一旦終了する。この結果、メインFB学習値KGの更新は行われない。
一方、メインフィードバック制御が実行中であるとき、CPUはステップ1210に進んで「蒸発燃料ガスパージが行われていないか否か(具体的には、後述する図13のルーチンにより求められる目標パージ率PGTが「0」であるか否か)」を判定する。このとき、蒸発燃料ガスパージが行われていると、CPUはそのステップ1210にて「No」と判定し、ステップ1295に直接進んで本ルーチンを一旦終了する。この結果、メインFB学習値KGの更新は行われない。
他方、CPUがステップ1210の処理を実行する時点において蒸発燃料ガスパージが行われていなければ、CPUはそのステップ1210にて「Yes」と判定してステップ1215に進み、補正係数平均FAFAVの値が値1+α(αは0より大きく1より小さい微小な所定値であり、例えば、0.02)以上であるか否かを判定する。このとき、補正係数平均FAFAVの値が値1+α以上であると、CPUはステップ1220に進んでメインFB学習値KGを正の所定値Xだけ増大させる。その後、CPUはステップ1235に進む。
これに対し、CPUがステップ1215の処理を実行する時点において補正係数平均FAFAVの値が値1+αよりも小さいと、CPUはステップ1225に進んで補正係数平均FAFAVの値が値1−α以下であるか否かを判定する。このとき、補正係数平均FAFAVの値が値1−α以下であると、CPUはステップ1230に進んでメインFB学習値KGを正の所定値Xだけ減少させる。その後、CPUはステップ1235に進む。
更に、CPUはステップ1235に進んだとき、そのステップ1235にてメインフィードバック学習完了フラグ(メインFB学習完了フラグ)XKGの値を「0」に設定する。メインFB学習完了フラグXKGは、その値が「1」であるときにメインフィードバック学習が完了しており、その値が「0」であるときにメインフィードバック学習が完了していないことを示す。
次いで、CPUはステップ1240に進み、メイン学習カウンタCKGの値を「0」に設定する。なお、メイン学習カウンタCKGの値は、機関10が搭載された車両の図示しないイグニッション・キー・スイッチがオフ位置からオン位置へと変更された際に実行されるイニシャルルーチンにても「0」に設定されるようになっている。その後、CPUはステップ1295に進み、本ルーチンを一旦終了する。
加えて、CPUがステップ1225の処理を実行する時点において、補正係数平均FAFAVの値が値1−αよりも大きいと(即ち、補正係数平均FAFAVの値が値1−αと値1+αの間の値であると)、CPUはステップ1245に進んでメイン学習カウンタCKGの値を「1」だけ増大する。
次に、CPUはステップ1250に進み、メイン学習カウンタCKGの値が所定のメイン学習カウンタ閾値CKGth以上であるか否かを判定する。そして、メイン学習カウンタCKGの値が所定のメイン学習カウンタ閾値CKGth以上であれば、CPUはステップ1255に進んでメインFB学習完了フラグXKGの値を「1」に設定する。
即ち、機関10の始動後において補正係数平均FAFAVの値が値1−αと値1+αの間の値である回数がメイン学習カウンタ閾値CKGth以上となると、メインFB学習値KGの学習は完了したと見做される。その後、CPUはステップ1295に進んで、本ルーチンを一旦終了する。
これに対し、CPUがステップ1250の処理を実行する時点において、メイン学習カウンタCKGの値が所定のメイン学習カウンタ閾値CKGthよりも小さければ、CPUはそのステップ1250からステップ1295に直接進んで本ルーチンを一旦終了する。
以上により、メインフィードバック制御中であって蒸発燃料ガスパージが行われていない間にメインFB学習値KGが更新される。
<パージ制御弁駆動>
一方、CPUは図13に示したパージ制御弁駆動ルーチンを所定時間の経過毎に実行するようになっている。従って、所定のタイミングになるとCPUはステップ1300から処理を開始し、ステップ1310に進んでパージ条件が成立しているか否かを判定する。このパージ条件は、例えば、メインフィードバック制御が実行中であり、且つ、機関10が定常運転されているとき(例えば、機関の負荷を表すスロットル弁開度TAの単位時間あたりの変化量が所定値以下のとき)に成立する。
いま、パージ条件が成立していると仮定する。この場合、CPUは図13のステップ1310にて「Yes」と判定してステップ1320に進み、メインFB学習完了フラグXKGの値が「1」であるか否か(即ち、メインフィードバック学習が完了しているか否か)を判定する。このとき、メインFB学習完了フラグXKGの値が「1」であると、CPUはステップ1320にて「Yes」と判定し、以下に述べるステップ1330乃至ステップ1370の処理を順に行い、ステップ1395に進んで本ルーチンを一旦終了する。
ステップ1330:CPUは、目標パージ率PGTを機関10の運転状態(例えば、機関の負荷KL及び機関回転速度NE)に基いて設定する。また、目標パージ率PGTは、補正係数平均FAFAVの値が値1+αと値1−αの間にある場合、所定量ずつ増大されてもよい。
ステップ1340:CPUは、下記(13)式に従って目標パージ率PGT及び吸入空気量(流量)Gaから「蒸発燃料ガスの流量であるパージ流量(蒸発燃料ガスパージ量)KP」を算出する。換言すると、パージ率は、吸入空気量Gaに対するパージ流量KPの比(パージ率=KP/Ga)である。なお、パージ率は、「吸入空気量Gaと蒸発燃料ガスパージ量KPとの和(Ga+KP)」に対する蒸発燃料ガスパージ量KPの比(パージ率=(KP/(Ga+KP))として表されてもよい。

KP=Ga・PGT …(13)
ステップ1350:CPUは、下記(14)式に示したように、機関回転速度NE及び負荷KLをマップMapPGRMXに適用することにより、全開パージ率PGRMXを求める。この全開パージ率PGRMXは、パージ制御弁55を全開にしたときのパージ率である。マップMapPGRMXは実験又はシミュレーションの結果に基づき予め取得され、ROM内に格納されている。マップMapPGRMXによれば、全開パージ率PGRMXは機関回転速度NEが大きくなるほど、又は、負荷KLが大きくなるほど、小さくなる。

PGRMX=MapPGRMX(NE,KL) …(14)
ステップ1360:CPUは、下記(15)式に従って全開パージ率PGRMX及び目標パージ率PGTを用いてデューティ比DPGを算出する。

DPG=(PGT/PGRMX)・100 …(15)
ステップ1370:CPUは、パージ制御弁55をデューティ比DPGに基いて開閉制御する。
これに対し、CPUは、パージ条件が成立していていない場合にはステップ1310にて「No」と判定してステップ1380に進み、パージ流量KPを「0」に設定する。次いで、CPUは、ステップ1390にてデューティ比DPGを「0」に設定した後、ステップ1370へと進む。この場合、デューティ比DPGは「0」に設定されているからパージ制御弁55は完全に閉じられた状態となる。その後、CPUはステップ1395に進んで本ルーチンを一旦終了する。
更に、CPUがステップ1320の処理を実行する時点において、メインFB学習完了フラグXKGの値が「0」である場合、CPUはそのステップ1320にて「No」と判定し、ステップ1380、ステップ1390及びステップ1370の処理を実行する。この場合においても、デューティ比DPGは「0」に設定されているからパージ制御弁55は完全に閉じられた状態となる。その後、CPUはステップ1395に進んで本ルーチンを一旦終了する。
<蒸発燃料ガス濃度学習>
更に、CPUは、所定時間が経過する毎に図14に示した蒸発燃料ガス濃度学習ルーチンを実行するようになっている。この蒸発燃料ガス濃度学習ルーチンの実行によって、蒸発燃料ガス濃度学習値FGPGの更新が行われる。
CPUは所定のタイミングになるとステップ1400から処理を開始してステップ1405に進み、メインフィードバック制御が実行中であるか否かを判定する。このとき、メインフィードバック制御が実行されていなければ、CPUはそのステップ1405にて「No」と判定し、ステップ1495に直接進んで本ルーチンを一旦終了する。この結果、蒸発燃料ガス濃度学習値FGPGの更新は行われない。
一方、メインフィードバック制御が実行中であるとき、CPUはステップ1410に進んで「蒸発燃料ガスパージが行われているか否か(具体的には、図13のルーチンにより求められるデューティ比DPGが「0」か否か)」を判定する。このとき、蒸発燃料ガスパージが行われていないと、CPUはそのステップ1410にて「No」と判定し、ステップ1495に直接進んで本ルーチンを一旦終了する。この結果、蒸発燃料ガス濃度学習値FGPGの更新は行われない。
他方、CPUがステップ1410に進んだ際に蒸発燃料ガスパージが行われていると、CPUはステップ1410にて「Yes」と判定してステップ1415に進み、補正係数平均FAFAVから「1」を減じた値の絶対値|FAFAV−1|が所定値β以上であるか否かを判定する。ここで、βは0より大きく1より小さい微小な所定値であり、例えば、0.02である。
このとき、絶対値|FAFAV−1|がβ以上であると、CPUはステップ1415にて「Yes」と判定してステップ1420に進み、下記(16)式に従って更新値tFGを求める。(16)式における目標パージ率PGTは、図13のステップ1330にて設定されている。(16)式から明らかなように、更新値tFGは目標パージ率1%当たりの「偏差εa(FAFAVの1からの差=FAFAV−1)」である。その後、CPUはステップ1430に進む。

tFG=(FAFAV−1)/PGT …(16)
蒸発燃料ガスに含まれる蒸発燃料ガスの濃度が高いほど、上流側空燃比abyfsは理論空燃比よりもより小さい空燃比(理論空燃比よりもリッチ側の空燃比)となる。従って、メインフィードバック係数FAFはより小さい値になるので、補正係数平均FAFAVも「1」より小さい値となる。その結果、FAFAV−1は負の値となるので、更新値tFGは負の値となる。更に、更新値tFGの絶対値は、FAFAVが小さいほど(「1」から乖離するほど)大きな値となる。つまり、蒸発燃料ガスの濃度が高いほど、更新値tFGはその絶対値の大きい負の値となる。
これに対し、絶対値|FAFAV−1|が値β以下である場合、CPUはステップ1415にて「No」と判定してステップ1425に進み、更新値tFGを「0」に設定する。その後、CPUはステップ1430に進む。
CPUは、ステップ1430において、下記(17)式に従って蒸発燃料ガス濃度学習値FGPGを更新し、ステップ1495に進んで本ルーチンを一旦終了する。(17)式においてFGPGnewは更新後の蒸発燃料ガス濃度学習値FGPGである。この結果、蒸発燃料ガス濃度学習値FGPGは、蒸発燃料ガスの濃度が高いほど小さい値になる。なお、蒸発燃料ガス濃度学習値FGPGの初期値は「1」に設定されている。

FGPGnew=FGPG+tFG …(17)
<サブフィードバック量及びサブFB学習値算出>
CPUは、サブフィードバック量Vafsfb及びサブフィードバック量Vafsfbの学習値Vafsfbgを算出するために、図15に示したルーチンを所定時間の経過毎に実行している。
従って、所定のタイミングになると、CPUはステップ1500から処理を開始し、ステップ1505に進んでサブフィードバック制御条件が成立しているか否かを判定する。サブフィードバック制御条件は、例えば、前述した図11のステップ1105にて判定されるメインフィードバック制御条件が成立し、上流側目標空燃比abyfrが理論空燃比に設定され、機関の冷却水温THWが前記第1所定温度よりも高い第2所定温度以上であり、且つ、下流側空燃比センサ67が活性化しているときに成立する。
いま、サブフィードバック制御条件が成立していると仮定して説明を続ける。この場合、CPUはステップ1505にて「Yes」と判定し、以下に述べるステップ1510乃至ステップ1555の処理を順に行い、ステップ1595に進んで本ルーチンを一旦終了する。
ステップ1510:CPUは、下記(18)式に示したように、下流側目標値Voxsrefから現時点の下流側空燃比センサ67の出力値Voxsを減じることにより出力偏差量DVoxsを求める。(18)式における下流側目標値Voxsrefは、上流側触媒43の浄化効率が良好となるように定められる。下流側目標値Voxsrefは、本例において理論空燃比に相当する値(理論空燃比相当値)Vstに設定される。

DVoxs=Voxsref−Voxs …(18)
ステップ1515:CPUは、下記(19)式に基いてサブフィードバック量Vafsfbを求める。(19)式において、Kpは比例ゲイン(比例定数)、Kiは積分ゲイン(積分定数)、Kdは微分ゲイン(微分定数)である。また、SDVoxsは、出力偏差量DVoxsの積分値(時間積分値)、DDVoxsは出力偏差量DVoxsの微分値(時間微分値)である。

Vafsfb=Kp・DVoxs+Ki・SDVoxs+kd・DDVoxs …(19)
ステップ1520:CPUは、その時点における出力偏差量の積分値SDVoxsに上記ステップ1510にて求めた出力偏差量DVoxsを加えて、新たな出力偏差量の積分値SDVoxsを取得する。
ステップ1525:CPUは、「上記ステップ1510にて算出した出力偏差量DVoxs」から「本ルーチンを前回実行した際に算出された出力偏差量である前回出力偏差量DVoxsold」を減じることにより、新たな出力偏差量の微分値DDVoxsを求める。
ステップ1530:CPUは、「上記ステップ1510にて算出した出力偏差量DVoxs」を「前回出力偏差量DVoxsold」として格納する。
このように、CPUは、下流側空燃比センサ67の出力値Voxsを下流側目標値Voxsrefに一致させる比例・積分・微分制御(PID制御)によりサブフィードバック量Vafsfbを算出する。このサブフィードバック量Vafsfbは、上述したように、フィードバック制御用出力値Vabyfcを算出するために使用される。
ステップ1535:CPUは、その時点のサブFB学習値Vafsfbgを更新前学習値Vafsfbg0として格納する。
ステップ1540:CPUは、下記(20)式に基いてサブフィードバック量Vafsfbの学習値Vafsfbgを更新する。(20)式の左辺Vafsfbgnewは更新後の学習値Vafsfbgを表す。つまり、サブFB学習値Vafsfbgは、「サブフィードバック量Vafsfbの定常成分」を取り込むように更新される。(20)式の値pは、0より大きく1より小さい所定値である。更新されたサブFB学習値Vafsfbg(=Vafsfbgnew)はバックアップRAMに格納される。

Vafsfbgnew=(1−p)・Vafsfbg+p・Ki・SDVoxs …(20)
なお、学習値Vafsfbgは下記の(21)式に示したように更新されてもよい。

Vafsfbgnew=(1−p)・Vafsfbg+p・Vafsfb …(21)
ステップ1545:CPUは、下記(22)式に従ってサブFB学習値Vafsfbgの変更量(更新量)ΔGを算出する。

ΔG=Vafsfbg−Vafsfbg0 …(22)
ステップ1550:CPUは、下記(23)式に従ってサブフィードバック量Vafsfbを変更量ΔGにより補正する。

Vafsfbnew=Vafsfb−ΔG …(23)
ステップ1555:CPUは、下記(24)式に従って積分項Ki・SDVoxsを変更量ΔGに基いて補正する。なお、ステップ1555を省略してもよい。また、ステップ1545乃至ステップ1555を省略してもよい。

SDVoxsnew=SDVoxs−ΔG/Ki …(24)
以上の処理により、所定時間の経過毎にサブフィードバック量VafsfbとサブFB学習値Vafsfbgとが更新される。なお、サブFB学習値Vafsfbgは、サブフィードバック量Vafsfbが更新される時間間隔よりも長い時間間隔毎に更新されてもよい。
一方、サブフィードバック制御条件が成立していない場合、CPUは図15のステップ1505にて「No」と判定し、以下に述べるステップ1560及びステップ1565の処理を順に行い、ステップ1595に進んで本ルーチンを一旦終了する。
ステップ1560:CPUはサブフィードバック量Vafsfbの値を「0」に設定する。
ステップ1565:CPUは出力偏差量の積分値SDVoxsの値を「0」に設定する。
これにより、フィードバック制御用出力値Vabyfcは、上流側空燃比センサ66の出力値VabyfsとサブFB学習値Vafsfbgとの和となる。即ち、この場合、「サブフィードバック量Vafsfbの更新」及び「サブフィードバック量Vafsfbの指示燃料噴射量Fiへの反映」は停止される。但し、少なくとも、サブフィードバック量Vafsfbの積分項(定常成分)に対応するサブFB学習値Vafsfbgは指示燃料噴射量Fiに反映される。
<空燃比不均衡指標値(インバランス判定用パラメータ)>
ところで、前述したように、吸入空気量の気筒間ばらつき異常及び燃料噴射量の気筒間ばらつき異常が発生したことを判定する際、CPUは空燃比不均衡指標値(パージ量小時パラメータPoff及びパージ量大時パラメータPon)を求める。本例において、空燃比不均衡指標値は、上流側空燃比センサ66の出力値Vabyfsの微分値d(Vabyfs)/dtの平均値に応じた値である。以下、この空燃比不均衡指標値(微分値d(Vabyfs)/dtの平均値に応じた値)が、気筒別空燃比の不均一性の程度の程度が大きくなるほど大きくなるパラメータであることについてより詳細に説明する。
上流側空燃比センサ66には、各気筒からの排ガスが点火順(故に、排気順)に到達する。気筒別空燃比の不均一性が生じていない場合(気筒別空燃比差がない場合)、各気筒から排出され且つ上流側空燃比センサ66に到達する排ガスの空燃比は互いに略同一である。従って、気筒別空燃比差がない場合の「上流側空燃比センサ66の出力値Vabyfs(従って、検出空燃比abyfs)」は、例えば、図16の(B)において破線C1により示したように変化する。即ち、気筒間における空燃比の不均一性がない場合、出力値Vabyfsの波形は略平坦である。このため、図16の(C)において破線C3により示したように、気筒別空燃比の不均一性がない場合、「出力値Vabyfsの傾きである微分値d(Vabyfs)/dt」の絶対値は小さい。
一方、「特定気筒(例えば、第1気筒)」の空燃比が他の気筒の空燃比に対して大きく相違したと仮定する。即ち、その特定気筒の排ガスの空燃比(インバランス気筒の空燃比)と、その特定気筒以外の気筒の排ガスの空燃比(非インバランス気筒の空燃比)と、が大きく相違すると仮定する。
この場合、出力値Vabyfsは、例えば図16の(B)の実線C2により示したように、単位燃焼サイクル期間毎に大きく変動する。このため、図16の(C)において実線C4により示したように、気筒別空燃比の不均一性の程度が大きい場合(空燃比気筒間インバランス状態が発生している場合)、微分値d(Vabyfs)/dtの絶対値は大きくなる。
なお、単位燃焼サイクル期間は、一つの上流側空燃比センサ66に到達する排ガスを排出している気筒の総てにおいて、各一回の燃焼行程が終了するのに要するクランク角度が経過する期間である。本例の機関10は、直列4気筒・4サイクル・エンジンであり、且つ、一つの上流側空燃比センサ66には第1〜第4気筒からの排ガスが到達する。よって、単位燃焼サイクル期間は720°クランク角度が経過する期間である。
しかも、微分値d(Vabyfs)/dtの絶対値|d(Vabyfs)/dt|は、インバランス気筒の空燃比が非インバランス気筒の空燃比から乖離するほど大きく変動する。例えば、インバランス気筒の空燃比と非インバランス気筒の空燃比との差の大きさが第1の値であるときの出力値Vabyfs(又は検出空燃比abyfs)が図16(B)の実線C2のように変化するとすれば、インバランス気筒の空燃比と非インバランス気筒の空燃比との差の大きさが「第1の値の値よりも大きい第2の値」であるときの出力値Vabyfs(又は検出空燃比abyfs)は図16(B)の一点鎖線C2aのように変化する。
従って、図17に示したように、微分値d(Vabyfs)/dtの絶対値|d(Vabyfs)/dt|の「複数の単位燃焼サイクル期間」における平均値AveΔAFに相関する値(空燃比不均衡指標値RIMB)は、実際のインバランス割合が大きくなるほど(即ち、インバランス気筒の空燃比が非インバランス気筒の空燃比から乖離するほど)大きくなる。即ち、空燃比不均衡指標値RIMBは、気筒別空燃比の不均一性の程度が大きくなるほど大きくなる。
なお、図17の横軸はインバランス割合である。インバランス割合は、非インバランス気筒に供給される燃料量を「1」とし、インバランス気筒に供給される燃料量を「1+α」としたとき、「α」となる値である。インバランス割合は、通常、α・100%の形で表記される。
CPUは、蒸発燃料比が第1所定値以上である場合の空燃比不均衡指標値RIMBをパージ量大時パラメータPonとして求めるとともに、蒸発燃料比が「前記第1所定値以下の第2所定値未満」である場合の空燃比不均衡指標値RIMBをパージ量小時パラメータPoffとして求める。
<<パージ量大時パラメータPonの取得>>
CPUは、4ms(4ミリ秒=所定の一定サンプリング時間ts)が経過する毎に、図18にフローチャートにより示したルーチンを実行するようになっている。
従って、所定のタイミングになると、CPUはステップ1800から処理を開始してステップ1805に進み、パラメータ取得許可フラグXkyokaの値が「1」であるか否かを判定する。
このパラメータ取得許可フラグXkyokaは、上述したイニシャルルーチンにおいて「0」に設定されるようになっている。更に、パラメータ取得許可フラグXkyokaは、図示しないルーチンを実行することにより、基準気筒(本例では第1気筒)が圧縮上死点に達した時点において、パラメータ取得条件が成立しているとき「1」に設定される。パラメータ取得許可フラグXkyokaは、パラメータ取得条件が不成立であるとき直ちに「0」に設定される。
パラメータ取得条件は、以下の総ての条件(条件C1乃至条件C5)が成立したときに成立する。従って、パラメータ取得条件は、以下の総ての条件(条件C1乃至条件C5)のうちの少なくとも一つが不成立であるとき、成立しない。勿論、パラメータ取得条件を構成する条件は、以下の条件C1乃至条件C5に限定されることはない。
(条件C1)エアフローメータ61により取得される吸入空気量Gaが、所定範囲内である。即ち、吸入空気量Gaが、低側閾値空気流量GaLoth以上であり且つ高側閾値空気流量GaHith以下である。この条件C1により、出力値Vabyfsの応答性が吸入空気量Gaの影響を受けて変化することに起因する「空燃比不均衡指標値RIMBの精度の悪化」を回避することができる。
(条件C2)機関回転速度NEが所定範囲内である。即ち、機関回転速度NEが、低側閾値機関回転速度NELoth以上であり且つ高側閾値機関回転速度NEHith以下である。
(条件C3)冷却水温THWが閾値冷却水温THWth以上である。
(条件C4)メインフィードバック制御条件が成立している。
(条件C5)フューエルカット制御中でない。
ところで、上記(3)式及び図10のステップ1040に示したように、指示燃料噴射量Fiは、Fi=FPG・{KG・FAF・Fb(k)}という式に従って求められる。ここで、例えば、目標パージ率PGTが「0」である場合、図10のステップ1040にて算出されるパージ補正係数FPGが「1」になることからも理解されるように、値{KG・FAF・Fb(k)}は、蒸発燃料パージが全く行われていない場合において目標空燃比abyfr(例えば、理論空燃比stoich)を得るために必要な燃料量である。
従って、値(1−FPG)・{KG・FAF・Fb(k)}に相当する量の燃料が蒸発燃料としてもたらされていることを意味する。よって、「機関10に供給される総燃料量{KG・FAF・Fb(k)}」に対する「蒸発燃料の量(1−FPG){KG・FAF・Fb(k)}」の比は値(1−FPG)である。この比(1−FPG)は蒸発燃料比γとも称呼される。
そこで、CPUは、パラメータ取得許可フラグXkyokaの値が「1」である場合、ステップ1805にて「Yes」と判定してステップ1810に進み、値(1−FPG)が閾値Pth以上であるか否かを判定する。閾値Pthは、便宜上、第1所定値とも称呼される。閾値Pthは、蒸発燃料が十分に機関10に供給されていると見做される値(例えば、0.5=50%)に設定されている。従って、CPUはステップ1810にて、蒸発燃料比が第1所定値以上であるか否かを判定する。
なお、CPUは、ステップ1805にて、値(1−FPG)が閾値Pth以上であり且つ閾値(Pth+A)未満であるか否かを判定してもよい。値Aは正の値である。値Aは、蒸発燃料比が第1所定値の近傍値であることを保証するように小さいな値に定められてる。従って、この場合、CPUは、蒸発燃料比が十分に大きい所定値(Pth)に実質的に一致しているか否かを判定する。
いま、値(1−FPG)が閾値Pth以上であると仮定する。この場合、CPUはステップ1810にて「Yes」と判定し、以下に述べるステップ1815乃至ステップ1825の処理を順に行ってステップ1830に進む。
ステップ1815:CPUは、本ルーチンを前回実行したときに読み込んだ出力値Vabyfsを前回の出力値Vabyfsとして記憶する。即ち、前回の出力値Vabyfsoldは、現時点から4ms(サンプリング時間ts)前の時点における出力値Vabyfsである。なお、出力値Vabyfsの初期値は上述したイニシャルルーチンにおいて理論空燃比に相当する値に設定されている。
ステップ1820:CPUは、その時点の上流側空燃比センサ66の出力値Vabyfsを読み込む。
ステップ1825:CPUは、蒸発燃料比が第1所定値よりも大きいとき(本例において、蒸発燃料比=50%)の微分値d(abyfs)/dtであるΔAFon、その微分値ΔAFonの絶対値の積算値SAFDon及び積算回数カウンタCnonの値を更新する。以下、これらの更新方法について具体的に説明する。
(A)微分値ΔAFonの更新。
CPUは、微分値ΔAFonを、今回の出力値Vabyfsから前回の出力値Vabyfsoldを減じることによって取得する。即ち、今回の出力値VabyfsをVabyfs(n)、前回の出力値VabyfsをVabyfs(n−1)と表記すると、CPUはステップ1825にて「今回の微分値ΔAFon(n)」を下記の(25)式に従って求める。本ルーチンは極めて短い時間間隔(4ms)毎に実行されるので、値ΔAFon(n)は微分値d(Vabyfs)/dtと見做すことができる。

ΔAFon(n)=Vabyfs(n)−Vabyfs(n−1) …(25)
(B)微分値ΔAFonの絶対値|ΔAFon|の積算値SAFDonの更新。
CPUは今回の積算値SAFDon(n)を下記の(26)式に従って求める。即ち、CPUは、ステップ1825に進んだ時点における前回の積算値SAFDon(n−1)に上記算出した今回の微分値ΔAFon(n)の絶対値|ΔAFon(n)|を加えることにより、積算値SAFDonを更新する。

SAFDon(n)=SAFDon(n−1)+|ΔAFon(n)| …(26)
積算値SAFDonに「今回の微分値の絶対値|ΔAFon(n)|」を積算する理由は、図16の(B)及び(C)からも理解されるように、微分値ΔAFon(n)は正の値にも負の値にもなるからである。なお、積算値SAFDonも、上述したイニシャルルーチンにおいて「0」に設定されるようになっている。
(C)微分値ΔAFonの絶対値の、積算値SAFDonへの積算回数を示すカウンタCnonの更新。
CPUは、下記の(27)式に従って、カウンタCnonの値を「1」だけ増大する。Cnon(n)は更新後のカウンタCnonであり、Cnon(n−1)は更新前のカウンタCnonである。このカウンタCnonの値は上述したイニシャルルーチンにおいて「0」に設定されるとともに、後述するステップ1855にても「0」に設定される。従って、カウンタCnonの値は、積算値SAFDonに積算された微分値ΔAFonの絶対値|ΔAFon|のデータ数を示す。

Cnon(n)=Cnon(n−1)+1 …(27)
次に、CPUはステップ1830に進み、第1気筒の圧縮上死点を基準としたクランク角CA(絶対クランク角CA)が720°クランク角になっているか否かを判定する。このとき、絶対クランク角CAが720°クランク角未満であると、CPUはステップ1830にて「No」と判定してステップ1895に直接進み、本ルーチンを一旦終了する。
なお、ステップ1830は、微分値ΔAFonの絶対値|ΔAFon|の平均値を求めるための最小単位の期間(単位燃焼サイクル期間)を定めるステップであり、ここでは720°クランク角がその最小期間に相当する。もちろん、この最小期間を定めるクランク角は720°クランク角よりも短くてもよい。但し、最小期間は、サンプリング時間tsの複数倍の長さ以上の期間であることが望ましい。
一方、CPUがステップ1830の処理を行う時点において、絶対クランク角CAが720°クランク角になっていると、CPUはそのステップ1830にて「Yes」と判定してステップ1835に進む。CPUは、そのステップ1835にて、
(D)微分値ΔAFonの絶対値|ΔAFon|の平均値AveΔAFonの算出、
(E)平均値AveΔAFonの積算値Saveonの算出、及び、
(F)積算回数カウンタCsonのインクリメント、
を行う。以下、これらの更新方法について具体的に説明する。
(D)微分値ΔAFonの絶対値|ΔAFon|の平均値AveΔAFon算出。
CPUは、積算値SAFDonをカウンタCnonの値により除することにより、直前の単位燃焼サイクル期間における絶対値|ΔAFon|の平均値AveΔAFon(=SAFDon/Cnon)を算出する。この後、CPUは積算値SAFDon及びカウンタCnonの値を「0」に設定する。
(E)平均値AveΔAFonの積算値Saveonの算出。
CPUは今回の積算値Saveon(n)を下記の(28)式に従って求める。即ち、CPUは、ステップ1835に進んだ時点における前回の積算値Saveon(n−1)に上記算出した今回の平均値AveΔAFonを加えることにより、積算値Saveonを更新する。この積算値Saveonの値は上述したイニシャルルーチンにおいて「0」に設定される。

Saveon(n)=Saveon(n−1)+AveΔAFon …(28)
(F)積算回数カウンタCsonのインクリメント。
CPUは、下記の(29)式に従って、カウンタCsonの値を「1」だけ増大する。Cson(n)は更新後のカウンタCsonであり、Cson(n−1)は更新前のカウンタCsonである。このカウンタCsonの値は上述したイニシャルルーチンにおいて「0」に設定される。従って、カウンタCsonの値は、積算値Saveonに積算された平均値AveΔAFonのデータ数を示す。

Cson(n)=Cson(n−1)+1 …(29)
次に、CPUはステップ1840に進み、カウンタCsonの値が閾値Csonth以上であるか否かを判定する。このとき、カウンタCsonの値が閾値Csonth未満であると、CPUはそのステップ1840にて「No」と判定し、ステップ1895に直接進んで本ルーチンを一旦終了する。なお、閾値Csonthは自然数であり、2以上であることが望ましい。
一方、CPUがステップ1840の処理を行う時点において、カウンタCsonの値が閾値Csonth以上であると、CPUはそのステップ1840にて「Yes」と判定してステップ1845に進み、パージ量大時パラメータPonを算出する。
より具体的に述べると、CPUは下記(30)式に従って積算値SaveonをカウンタCsonの値(=Csonth)によって除することにより、パージ量大時パラメータPonを算出する。このパージ量大時パラメータPonは、蒸発燃料比が第1所定値以上である期間において、微分値ΔAFonの絶対値|ΔAFon|の一つの単位燃焼サイクル期間における平均値を、複数(Csonth回分)の単位燃焼サイクル期間について平均した値である。従って、パージ量大時パラメータPonは、気筒別空燃比の不均一性の程度が大きいほど大きくなるインバランス判定用パラメータである。

Pon=Saveon/Csonth …(30)
次いで、CPUはステップ1850に進み、パージ量大時パラメータ算出完了フラグXPonの値を「1」に設定する。その後、CPUはステップ1895に進んで、本ルーチンを一旦終了する。なお、パージ量大時パラメータ算出完了フラグXPonの値は、上述したイニシャルルーチンにおいて「0」に設定されるようになっている。従って、パージ量大時パラメータ算出完了フラグXPonは、その値が「1」であるとき「今回の機関10の運転開始後においてパージ量大時パラメータPonが取得されたこと」を示し、その値が「0」であるとき「今回の機関10の運転開始後においてパージ量大時パラメータPonが未だ取得されていないこと」を示す。
一方、CPUがステップ1805に進んだ際にパラメータ取得許可フラグXkyokaの値が「1」でない場合、及び、CPUがステップ1810に進んだ際に値(1−FPG)が閾値Pth以上でない場合、CPUはステップ1855に進む。そして、CPUはステップ1855にて各値(例えば、ΔAFon,SAFDon,Cnon等)を「0」に設定(クリア)し、その後、ステップ1895に直接進んで本ルーチンを一旦終了する。以上のようにして、パージ量大時パラメータPonが取得される。
<<パージ量小時パラメータPoffの取得>>
CPUは、4msが経過する毎に、図19にフローチャートにより示したルーチンを実行するようになっている。CPUは、このルーチンにより、パージ量小時パラメータPoffをパージ量大時パラメータPonと同じ手法に基いて算出する。
従って、所定のタイミングになると、CPUはステップ1900から処理を開始してステップ1905に進み、前述したパラメータ取得許可フラグXkyokaの値が「1」であるか否かを判定する。
いま、パラメータ取得許可フラグXkyokaの値が「1」であると仮定する。この場合、CPUは、ステップ1905にて「Yes」と判定してステップ1910に進み、値(1−FPG)が閾値(Pth−B)未満であるか否かを判定する。値Bは正の値である。閾値(Pth−B)は、第2所定値とも称呼され、第1所定値(Pth)よりも小さい値である。閾値(Pth−B)は、蒸発燃料が機関10に実質的に供給されていないと見做される値(例えば、0%)に設定されている。
いま、値(1−FPG)が閾値(Pth−B)未満であると仮定する。この場合、CPUはステップ1910にて「Yes」と判定し、以下に述べるステップ1915乃至ステップ1925の処理を順に行ってステップ1930に進む。
ステップ1915:CPUは、本ルーチンを前回実行したときに読み込んだ出力値Vabyfsを前回の出力値Vabyfsとして記憶する。
ステップ1920:CPUは、その時点の上流側空燃比センサ66の出力値Vabyfsを読み込む。
ステップ1925:CPUは、蒸発燃料比が第2所定値よりも小さいとき(本例において、蒸発燃料比=0%)の微分値d(abyfs)/dtであるΔAFoff、その微分値ΔAFoffの絶対値の積算値SAFDoff及び積算回数カウンタCnoffの値を更新する。これらの更新方法は、ステップ1825における処理と同様である。以下、これらの処理について簡単に説明する。
(G)微分値ΔAFoffの更新。
CPUは、今回の微分値ΔAFoff(n)を下記の(31)式に従って求める。

ΔAFoff(n)=Vabyfs(n)−Vabyfs(n−1) …(31)
(H)微分値ΔAFoffの絶対値|ΔAFoff|の積算値SAFDoffの更新。
CPUは今回の積算値SAFDoff(n)を下記の(32)式に従って求める。積算値SAFDoff(n−1)は、ステップ1925に進んだ時点における前回の積算値SAFDoffである。

SAFDoff(n)=SAFDoff(n−1)+|ΔAFoff(n)| …(32)
(I)微分値ΔAFoffの絶対値の、積算値SAFDoffへの積算回数カウンタCnoffの更新。
CPUは、下記の(33)式に従って、カウンタCnoffの値を「1」だけ増大する。Cnoff(n)は更新後のカウンタCnoffであり、Cnoff(n−1)は更新前のカウンタCnoffである。このカウンタCnoffの値は上述したイニシャルルーチンにおいて「0」に設定されるとともに、後述するステップ1955にても「0」に設定される。従って、カウンタCnoffの値は、積算値SAFDoffに積算された微分値ΔAFoffの絶対値|ΔAFoff|のデータ数を示す。

Cnoff(n)=Cnoff(n−1)+1 …(33)
次に、CPUはステップ1930に進み、第1気筒の圧縮上死点を基準としたクランク角CA(絶対クランク角CA)が720°クランク角になっているか否かを判定する。このとき、絶対クランク角CAが720°クランク角未満であると、CPUはステップ1930にて「No」と判定してステップ1995に直接進み、本ルーチンを一旦終了する。このステップの意義は、ステップ1830の意義と同じである。
一方、CPUがステップ1930の処理を行う時点において、絶対クランク角CAが720°クランク角になっていると、CPUはそのステップ1930にて「Yes」と判定してステップ1935に進む。CPUは、そのステップ1935にて、
(J)微分値ΔAFoffの絶対値|ΔAFoff|の平均値AveΔAFoffの算出、
(K)平均値AveΔAFoffの積算値Saveoffの算出、及び、
(L)積算回数カウンタCsoffのインクリメント、
を行う。これらの更新方法は、ステップ1845における処理と同様である。以下、これらの処理について簡単に説明する。
(J)微分値ΔAFoffの絶対値|ΔAFoff|の平均値AveΔAFoff算出。
CPUは、積算値SAFDoffをカウンタCnoffの値により除することにより、直前の単位燃焼サイクル期間における絶対値|ΔAFoff|の平均値AveΔAFoff(=SAFDoff/Cnoff)を算出する。この後、CPUは積算値SAFDoff及びカウンタCnoffの値を「0」に設定する。
(K)平均値AveΔAFoffの積算値Saveoffの算出。
CPUは今回の積算値Saveoff(n)を下記の(34)式に従って求める。積算値Saveoff(n−1)は、ステップ1935に進んだ時点における前回の積算値Saveoffである。この積算値Saveoffの値は上述したイニシャルルーチンにおいて「0」に設定される。

Saveoff(n)=Saveoff(n−1)+AveΔAFoff …(34)
(L)積算回数カウンタCsoffのインクリメント。
CPUは、下記の(35)式に従って、カウンタCsoffの値を「1」だけ増大する。Csoff(n)は更新後のカウンタCsoffであり、Csoff(n−1)は更新前のカウンタCsoffである。このカウンタCsoffの値は上述したイニシャルルーチンにおいて「0」に設定される。従って、カウンタCsoffの値は、積算値Saveoffに積算された平均値AveΔAFoffのデータ数を示す。

Csoff(n)=Csoff(n−1)+1 …(35)
次に、CPUはステップ1940に進み、カウンタCsoffの値が閾値Csoffth以上であるか否かを判定する。このとき、カウンタCsoffの値が閾値Csoffth未満であると、CPUはそのステップ1940にて「No」と判定し、ステップ1995に直接進んで本ルーチンを一旦終了する。なお、閾値Csoffthは自然数であり、閾値Csonthと同じ値であることが望ましい。
一方、CPUがステップ1940の処理を行う時点において、カウンタCsoffの値が閾値Csoffth以上であると、CPUはそのステップ1940にて「Yes」と判定してステップ1945に進み、パージ量小時パラメータPoffを算出する。
より具体的に述べると、CPUは下記(36)式に従って積算値SaveoffをカウンタCsoffの値(=Csoffth)によって除することにより、パージ量小時パラメータPoffを算出する。このパージ量小時パラメータPoffは、蒸発燃料比が「第1所定値以下の第2所定値」未満である期間において、微分値ΔAFoffの絶対値|ΔAFoff|の一つの単位燃焼サイクル期間における平均値を、複数(Csoffth回分)の単位燃焼サイクル期間について平均した値である。従って、パージ量小時パラメータPoffは、気筒別空燃比の不均一性の程度が大きいほど大きくなるインバランス判定用パラメータである。

Poff=Saveoff/Csoffth …(36)
次いで、CPUはステップ1950に進み、パージ量小時パラメータ算出完了フラグXPoffの値を「1」に設定する。その後、CPUはステップ1995に進んで、本ルーチンを一旦終了する。なお、パージ量小時パラメータ算出完了フラグXPoffの値は、上述したイニシャルルーチンにおいて「0」に設定されるようになっている。従って、パージ量小時パラメータ算出完了フラグXPoffは、その値が「1」であるとき「今回の機関10の運転開始後においてパージ量小時パラメータPoffが取得されたこと」を示し、その値が「0」であるとき「今回の機関10の運転開始後においてパージ量小時パラメータPoffが未だ取得されていないこと」を示す。
一方、CPUがステップ1905に進んだ際にパラメータ取得許可フラグXkyokaの値が「1」でない場合、及び、CPUがステップ1910に進んだ際に「値(1−FPG)が閾値Pth−B未満」でない場合、CPUはステップ1955に進む。そして、CPUはステップ1955にて各値(例えば、ΔAFoff,SAFDoff,Cnoff等)を「0」に設定(クリア)し、その後、ステップ1995に直接進んで本ルーチンを一旦終了する。以上のようにして、パージ量小時パラメータPoffが取得される。
<異常判定>
次に、「異常判定」を行うための処理について説明する。CPUは、所定時間が経過する毎に、図20にフローチャートにより示したルーチンを実行するようになっている。
従って、所定のタイミングになると、CPUは図20のステップ2000から処理を開始してステップ2005に進み、異常判定完了フラグXFINの値が「1」であるか否かを判定する。この異常判定完了フラグXFINの値は、上述したイニシャルルーチンにおいて「0」に設定され、異常判定が終了したときに後述するステップ2040にて「1」に設定される。
いま、異常判定完了フラグXFINの値が「0」であると仮定する。この場合、CPUはステップ2005にて「No」と判定してステップ2010に進み、パージ量大時パラメータ算出完了フラグXPonの値が「1」であるか否かを判定する。このとき、フラグXPonの値が「1」でなければ(即ち、パージ量大時パラメータPonが未だ取得されていなければ)、CPUはステップ2010にて「No」と判定し、ステップ2095に直接進んで本ルーチンを一旦終了する。
一方、パージ量大時パラメータ算出完了フラグXPonの値が「1」であると、CPUはステップ2010にて「Yes」と判定してステップ2015に進み、パージ量小時パラメータ算出完了フラグXPoffの値が「1」であるか否かを判定する。このとき、フラグXPoffの値が「1」でなければ(即ち、パージ量小時パラメータPoffが未だ取得されていなければ)、CPUはステップ2015にて「No」と判定し、ステップ2095に直接進んで本ルーチンを一旦終了する。
これに対し、パージ量小時パラメータ算出完了フラグXPoffの値が「1」であると、CPUはステップ2015にて「Yes」と判定してステップ2020に進む。即ち、CPUは、パージ量大時パラメータPon及びパージ量小時パラメータPoffの双方が、今回の機関10の始動後において取得された場合、ステップ2020に進む。
CPUは、ステップ2020に進んだとき、下記の(37)式に従って、パージ量大時パラメータPonからパージ量小時パラメータPoffを減じることにより、パラメータ差相関値DPimbを算出する。

DPimb=Pon −
Poff …(37)
次に、CPUはステップ2025に進み、パラメータ差相関値DPimbの大きさ(|DPimb|)が第1異常判定用閾値Dpinjth以上であるか否かを判定する。そして、パラメータ差相関値DPimbの大きさ(|DPimb|)が第1異常判定用閾値Dpinjth以上であるとき、CPUは「燃料噴射量の気筒間ばらつき異常が発生した」と判定してステップ2030に進み、燃料噴射量ばらつき異常発生フラグXINJIMBの値を「1」に設定する。即ち、CPUは燃料噴射量の気筒間ばらつき異常が発生した旨を記録する。なお、燃料噴射量ばらつき異常発生フラグXINJIMBの値はバックアップRAMに格納される。この燃料噴射量ばらつき異常発生フラグXINJIMBの値は上述したイニシャルルーチンにおいて「0」に設定されるようになっている。
次に、CPUはステップ2035に進み、吸入空気量ばらつき異常発生フラグXAIRIMBの値を「2」に設定する。即ち、CPUは、吸入空気量の気筒間ばらつき異常は発生していない旨を記録する。なお、吸入空気量ばらつき異常発生フラグXAIRIMBの値はバックアップRAMに格納される。この吸入空気量ばらつき異常発生フラグXAIRIMBの値も上述したイニシャルルーチンにおいて「0」に設定されるようになっている。
その後、CPUはステップ2040に進んで判定完了フラグXFINの値を「1」に設定し、その後、ステップ2095に進んで本ルーチンを一旦終了する。これにより、CPUが本ルーチンを所定時間後に再び開始すると、CPUはステップ2005にて「Yes」と判定し、ステップ2095に直接進んで本ルーチンを一旦終了する。
これに対し、CPUがステップ2025の処理を実行する時点において、パラメータ差相関値DPimbが第1異常判定用閾値Dpinjth未満であると、CPUは燃料噴射量の気筒間ばらつき異常は発生していないと判定してステップ2045に進む。
CPUはステップ2045にて、パージ量小時パラメータPoffが第2異常判定用閾値Poffth以上であるか、又は、パージ量大時パラメータPonが第3異常判定用閾値Ponth以上であるか、を判定する。
このとき、パージ量小時パラメータPoffが第2異常判定用閾値Poffth以上である場合、及び、パージ量大時パラメータPonが第3異常判定用閾値Ponth以上である場合、の何れかが成立していると、CPUは「吸入空気量の気筒間ばらつき異常が発生した」と判定して、以下に述べるステップ2050及びステップ2055の処理を順に行い、ステップ2040に進む。
ステップ2050:CPUは、燃料噴射量ばらつき異常発生フラグXINJIMBの値を「2」に設定する。即ち、CPUは、燃料噴射量の気筒間ばらつき異常は発生していない旨を記録する。
ステップ2055:CPUは、吸入空気量ばらつき異常発生フラグXAIRIMBの値を「1」に設定する。即ち、CPUは、吸入空気量の気筒間ばらつき異常が発生した旨を記録する。
これに対し、CPUがステップ2045の処理を実行する時点において、パージ量小時パラメータPoffが第2異常判定用閾値Poffth未満であり且つパージ量大時パラメータPonが第3異常判定用閾値Ponth未満である場合、CPUは、燃料噴射量の気筒間ばらつき異常及び吸入空気量の気筒間ばらつき異常の何れもが発生していないと判定する。即ち、この場合、CPUはステップ2045にて「No」と判定して以下に述べるステップ2060及びステップ2065の処理を順に行い、ステップ2040に進む。
ステップ2060:CPUは、燃料噴射量ばらつき異常発生フラグXINJIMBの値を「2」に設定する。即ち、CPUは、燃料噴射量の気筒間ばらつき異常は発生していない旨を記録する。
ステップ2065:CPUは、吸入空気量ばらつき異常発生フラグXAIRIMBの値を「2」に設定する。即ち、CPUは、吸入空気量の気筒間ばらつき異常は発生していない旨を記録する。
以上、説明したように、第1判定装置は、
燃料タンク51内に発生した蒸発燃料を機関10の吸気通路に導入する蒸発燃料パージ手段(パージ制御弁55等)と、
機関10の運転状態に応じて前記吸気通路に導入される蒸発燃料の量であるパージ量を制御する蒸発燃料パージ量制御手段(図13のルーチン)と、
空燃比センサ(上流側空燃比センサ66)の出力値Vabyfsにより表される空燃比(出力値Vabyfsそのものであってもよい)が所定の目標空燃比abyfr(目標空燃比abyfrに対応する値)に一致するように、燃料噴射弁33から噴射される燃料の量をフィードバック補正することにより指示燃料噴射量Fiを決定する指示燃料噴射量決定手段(図10乃至図12のルーチン、図14及び図15のルーチン)と、
指示燃料噴射量Fiに応じた量の燃料が複数の燃料噴射弁33のそれぞれから噴射されるように前記複数の燃料噴射弁33に噴射指示信号を送出する噴射指示信号送出手段(図10のステップ1060)と、
を備える。
更に、1判定装置は、
「複数の気筒のそれぞれに供給される混合気の空燃比(気筒別空燃比)の、同複数の気筒の間における不均一性の程度が大きくなるほど大きくなる空燃比不均衡指標値(パージ量大時パラメータPon及びパージ量小時パラメータPoff)を上流側空燃比センサ66の出力値Vabyfsに基いて取得する指標値取得手段(図18及び図19のルーチン)を備える。
この指標値取得手段は、「機関10に供給される燃料の総量」に対する「機関10に供給される蒸発燃料の量」の比(蒸発燃料比)が第1所定値以上である期間において前記指標値取得手段によって取得される前記空燃比不均衡指標値をパージ量大時パラメータPonとして取得する(図18のルーチン)とともに、蒸発燃料比が「前記第1所定値以下の第2所定値未満」である期間において前記指標値取得手段によって取得される前記空燃比不均衡指標値をパージ量小時パラメータPoffとして取得する(図19のルーチン)。
加えて、1判定装置は、パージ量大時パラメータPonとパージ量小時パラメータPoffとの差の大きさ(|パラメータ差相関値DPimb|)が第1異常判定用閾値(燃料噴射弁異常判定値Dpinjth)未満であり(図20のステップ2020及びステップ2025)、且つ、パージ量小時パラメータPoffが第2異常判定用閾値(Poffth)以上であるとき又はパージ量大時パラメータPonが第3異常判定用閾値(Ponth)以上であるとき(図20のステップ2045)、複数の気筒のそれぞれに供給される吸入空気の量の同複数の気筒間における不均一性の程度が許容値以上であるという吸入空気量異常状態が発生していると判定する異常判定手段(図20のステップ2055)を備える。
更に、この異常判定手段は、前記差の大きさ(|パラメータ差相関値DPimb|)が前記第1異常判定用閾値(Dpinjth)以上である場合に燃料噴射弁33が異常である(燃料噴射量の気筒間ばらつき異常が発生した)と判定するように構成されている(図20のステップ2025及びステップ2030)。
従って、第1判定装置によれば、吸入空気量の気筒間ばらつき異常が発生したことを、燃料噴射量の気筒間ばらつき異常が発生したことと区別しながら、確実に検出することができる。
<第2実施形態>
次に、本発明の第2実施形態に係る判定装置(以下、単に「第2判定装置」と称呼する。)について説明する。第2判定装置は、パージ量大時パラメータPon及びパージ量小時パラメータPoffのうち何れかが先に既に取得された場合、未だ取得されていないパージが迅速に取得されるように蒸発燃料のパージ量を変更する(蒸発燃料パージ制御を変更する。)点のみにおいて、第1判定装置と相違している。従って、以下、この相違点を中心として説明する。
第2判定装置のCPUは、次のように蒸発燃料パージ制御を変更する。
(場合1)CPUは、パージ量大時パラメータPonが既に取得されていて且つパージ量小時パラメータPoffが未だ取得されていない場合、蒸発燃料パージを禁止する(或いは、蒸発燃料のパージ量(吸気通路に導入される蒸発燃料の量)を小さい値に制限する。)。
(場合2)CPUは、パージ量小時パラメータPoffが既に取得されていて且つパージ量大時パラメータPonが未だ取得されていない場合、他の制御から「蒸発燃料パージを禁止する要求」があったとしても、その要求を無視する(或いは、蒸発燃料のパージ量(吸気通路に導入される蒸発燃料の量)を大きい値に設定する。)。
第2判定装置のCPUは、第1判定装置と同様、図10乃至図12と、図14及び図15と、図18乃至図20と、に示したルーチンを実行する。更に、第2判定装置のCPUは、図21乃至図23にフローチャートにより示したルーチンを実行する。以下、図21乃至図23に示したルーチンを参照しながら、第2判定装置の作動について説明する。
図21に示したルーチンは、図13に示したルーチンのステップ1310を、ステップ2110に置換した点のみにおいて、図13に示したルーチンと相違している。即ち、CPUはステップ2110に進むと、パージ実行許容フラグXPRGexeの値が「1」であるか否かを判定する。
パージ実行許容フラグXPRGexeの値は、後述する図23に示したルーチンのステップ2330にて「0」に設定され、ステップ2360にて「1」に設定される。CPUは、パージ実行許容フラグXPRGexeの値が「1」であるとき、ステップ2110にて「Yes」と判定してステップ1320以降に進む。これに対し、パージ実行許容フラグXPRGexeの値が「0」であるとき、CPUはステップ2110にて「No」と判定してステップ1380以降に進む。従って、この場合、蒸発燃料パージは実行されない。
CPUは、所定時間が経過する毎に図22に示した「フラグ操作ルーチン」を実行するとともに、そのフラグ操作ルーチンに続いて図23に示した「パージ実行許容フラグ設定ルーチン」を実行するようになっている。なお、CPUは、これらのルーチンにおいて用いられる「パージ禁止要求フラグXPinh及び他制御からのパージ禁止要求を無効化するフラグXPTinhclr」の値を、上述したイニシャルルーチンにおいて「0」に設定するようになっている。なお、他制御からのパージ禁止要求とは、例えば、目標空燃比abyfrを理論空燃比よりもリッチ側又はリーン側に設定する要求が発生したときに発生する。
(仮定1)
いま、パージ量大時パラメータPon及びパージ量小時パラメータPoffの何れもが今回の機関10の始動後において取得されていないと仮定する。この場合、パージ量大時パラメータ算出完了フラグXPonの値及びパージ量小時パラメータ算出完了フラグXPoffの値は、何れも「0」である。更に、異常判定完了フラグXFINの値も「0」である。
所定のタイミングになると、CPUは図22のステップ2200から処理を開始してステップ2205に進み、異常判定完了フラグXFINの値が「1」であるか否かを判定する。上述の仮定1に従えば、異常判定完了フラグXFINの値は「0」である。従って、CPUはステップ2205にて「No」と判定してステップ2210に進み、フラグXPonの値が「1」であり且つフラグXPoffの値が「1」であるか否かを判定する。
上述の仮定1に従えば、フラグXPonの値及びフラグXPoffの値は何れも「0」である。従って、CPUはステップ2210にて「No」と判定してステップ2215に進み、フラグXPonの値が「1」であり且つフラグXPoffの値が「0」であるか否かを判定する。
上述の仮定1に従えば、フラグXPonの値及びフラグXPoffの値は何れも「0」である。従って、CPUはステップ2215にて「No」と判定してステップ2220に進み、フラグXPonの値が「0」であり且つフラグXPoffの値が「1」であるか否かを判定する。
上述の仮定1に従えば、フラグXPonの値及びフラグXPoffの値は何れも「0」である。従って、CPUはステップ2220にて「No」と判定してステップ2225に進み、パージ禁止要求フラグXPinhの値を「0」に設定する。次いで、CPUはステップ2230に進み、他制御からのパージ禁止要求を無効化するフラグXPTinhclrの値を「0」に設定する。その後、CPUはステップ2295に進んで本ルーチンを一旦終了する。
次いで、CPUは図23のステップ2300から処理を開始してステップ2310に進み、前述したパージ条件が成立しているか否かを判定する。このとき、パージ条件が成立していなければ、CPUはステップ2330に直接進んでパージ実行許容フラグXPRGexeの値を「0」に設定する。この結果、図21のステップ2110にて「No」との判定がなされるので、蒸発燃料パージは実行されない(蒸発燃料パージが禁止される)。
これに対し、パージ条件が成立していると、CPUはステップ2310にて「Yes」と判定してステップ2320に進み、パージ禁止要求フラグXPinhの値が「1」であるか否かを判定する。前述したように、現時点におけるパージ禁止要求フラグXPinhの値は「0」である。従って、CPUはステップ2320にて「No」と判定してステップ2340に進み、他制御からのパージ禁止要求が発生しているか否かを判定する。
このとき、他制御からのパージ禁止要求が発生していなければ、CPUはステップ2340にて「No」と判定してステップ2360に進み、パージ実行許容フラグXPRGexeの値を「1」に設定する。この結果、図21のステップ2110にて「Yes」との判定がなされるので、蒸発燃料パージが実行され得る状態になる。
更に、CPUがステップ2340の処理を実行する時点において、他制御からのパージ禁止要求が発生していると、CPUはそのステップ2340にて「Yes」と判定してステップ2350に進み、他制御からのパージ禁止要求を無効化するフラグXPTinhclrの値が「0」であるか否かを判定する。前述したように、現時点におけるフラグXPTinhclrの値は「0」である。従って、CPUはステップ2350にて「Yes」と判定してステップ2330に進み、パージ実行許容フラグXPRGexeの値を「0」に設定する。この結果、図21のステップ2110にて「No」との判定がなされるので、蒸発燃料パージは実行されない(蒸発燃料パージが禁止される)。
即ち、フラグXPoff及びフラグXPonの値が共に「0」である場合、パージ禁止要求フラグXPinh及び他制御からのパージ禁止要求を無効化するフラグXPTinhclrの値は共に「0」に設定され、その結果、パージ実行許容フラグXPRGexeの値は、パージ条件が成立していて且つ他制御からのパージ禁止要求が発生していない場合に「1」に設定され、パージ条件が成立していて且つ他制御からのパージ禁止要求が発生している場合及びパージ条件が成立していない場合に「0」に設定される。
(仮定2)
次に、パージ量大時パラメータPonは取得されていないが、パージ量小時パラメータPoffが取得されたと仮定する。この場合、パージ量大時パラメータ算出完了フラグXPonの値は「0」に設定され、パージ量小時パラメータ算出完了フラグXPoffの値は「1」に設定される。異常判定完了フラグXFINの値は「0」である。
上述の仮定2に従えば、CPUは図22のステップ2205、ステップ2210及びステップ2215の各ステップにおいて「No」と判定し、ステップ2220にて「Yes」と判定する。そして、CPUは以下に述べるステップ2235及びステップ2240の処理を順に行い、ステップ2295に進む。
ステップ2235:CPUは、パージ禁止要求フラグXPinhの値を「0」に設定する。
ステップ2240:CPUは、他制御からのパージ禁止要求を無効化するフラグXPTinhclrの値を「1」に設定する。
次いで、CPUは図23のステップ2300から処理を開始してステップ2310に進み、前述したパージ条件が成立しているか否かを判定する。このとき、パージ条件が成立していなければ、CPUはステップ2330に直接進んでパージ実行許容フラグXPRGexeの値を「0」に設定する。この結果、図21のステップ2110にて「No」との判定がなされるので、蒸発燃料パージは実行されない(蒸発燃料パージが禁止される)。
これに対し、パージ条件が成立していると、CPUはステップ2310にて「Yes」と判定してステップ2320に進む。前述したように、現時点におけるパージ禁止要求フラグXPinhの値は「0」である。従って、CPUはステップ2320にて「No」と判定してステップ2340に進む。
このとき、他制御からのパージ禁止要求が発生していなければ、CPUはステップ2340にて「No」と判定してステップ2360に進み、パージ実行許容フラグXPRGexeの値を「1」に設定する。この結果、図21のステップ2110にて「Yes」との判定がなされるので、蒸発燃料パージが実行され得る状態になる。
更に、CPUがステップ2340の処理を実行する時点において、他制御からのパージ禁止要求が発生していると、CPUはそのステップ2340にて「Yes」と判定してステップ2350に進む。前述したように、現時点における「他制御からのパージ禁止要求を無効化するフラグXPTinhclr」の値は「1」である。従って、CPUはステップ2350にて「No」と判定してステップ2360に進み、パージ実行許容フラグXPRGexeの値を「1」に設定する。この結果、図21のステップ2110にて「Yes」との判定がなされるので、蒸発燃料パージが実行され得る状態になる。
即ち、フラグXPoffの値が「1」であり且つフラグXPonの値が「0」である場合、パージ禁止要求フラグXPinhの値は「0」に設定されるとともに他制御からのパージ禁止要求を無効化するフラグXPTinhclrの値は「1」に設定される。その結果、パージ実行許容フラグXPRGexeの値は、パージ条件が不成立であるときに「0」に設定され、パージ条件が成立している場合には他制御からのパージ禁止要求が発生しているか否かに拘わらず(即ち、他制御からのパージ禁止要求が発生していても)「1」に設定される。
(仮定3)
次に、パージ量大時パラメータPonは取得されているが、パージ量小時パラメータPoffが取得されていない仮定する。この場合、パージ量大時パラメータ算出完了フラグXPonの値は「1」に設定され、パージ量小時パラメータ算出完了フラグXPoffの値は「0」に設定される。異常判定完了フラグXFINの値は「0」である。
上述の仮定3に従えば、CPUは図22のステップ2205及びステップ2210の各ステップにおいて「No」と判定し、ステップ2215にて「Yes」と判定する。そして、CPUは以下に述べるステップ2245及びステップ2250の処理を順に行い、ステップ2295に進む。
ステップ2245:CPUは、パージ禁止要求フラグXPinhの値を「1」に設定する。
ステップ2250:CPUは、他制御からのパージ禁止要求を無効化するフラグXPTinhclrの値を「0」に設定する。
次いで、CPUは図23のステップ2300から処理を開始してステップ2310に進み、前述したパージ条件が成立しているか否かを判定する。このとき、パージ条件が成立していなければ、CPUはステップ2330に直接進んでパージ実行許容フラグXPRGexeの値を「0」に設定する。この結果、図21のステップ2110にて「No」との判定がなされるので、蒸発燃料パージは実行されない(蒸発燃料パージが禁止される)。
これに対し、パージ条件が成立していると、CPUはステップ2310にて「Yes」と判定してステップ2320に進む。前述したように、現時点におけるパージ禁止要求フラグXPinhの値は「1」である。従って、CPUはステップ2320にて「Yes」と判定してステップ2330に進む。この結果、パージ実行許容フラグXPRGexeの値が「0」に設定されるので、パージ条件が成立していても蒸発燃料パージは実行されない。
このように、パージ量大時パラメータPonは取得されているが、パージ量小時パラメータPoffが取得されていない場合、蒸発燃料パージは禁止される。
(仮定4)
次に、パージ量大時パラメータPon及びパージ量小時パラメータPoffの両者が取得されているものの、異常判定は未だ実施されていないと仮定する。この場合、パージ量大時パラメータ算出完了フラグXPonの値は「1」に設定され、パージ量小時パラメータ算出完了フラグXPoffの値は「1」に設定される。異常判定完了フラグXFINの値は「0」である。
上述の仮定4に従えば、CPUは図22のステップ2205にて「No」と判定し、ステップ2210にて「Yes」と判定し、以下に述べるステップ2255及びステップ2260の処理を順に行い、その後、ステップ2295に進む。
ステップ2255:CPUは、パージ禁止要求フラグXPinhの値を「0」に設定する。
ステップ2260:CPUは、他制御からのパージ禁止要求を無効化するフラグXPTinhclrの値を「0」に設定する。
次いで、CPUは図23のステップ2300から処理を開始してステップ2310に進み、前述したパージ条件が成立しているか否かを判定する。このとき、パージ条件が成立していなければ、CPUはステップ2330に直接進んでパージ実行許容フラグXPRGexeの値を「0」に設定する。この結果、図21のステップ2110にて「No」との判定がなされるので、蒸発燃料パージは実行されない(蒸発燃料パージが禁止される)。
これに対し、パージ条件が成立していると、CPUはステップ2310にて「Yes」と判定してステップ2320に進む。前述したように、現時点におけるパージ禁止要求フラグXPinhの値は「0」である。従って、CPUはステップ2320にて「No」と判定してステップ2340に進む。
このとき、他制御からのパージ禁止要求が発生していなければ、CPUはステップ2340にて「No」と判定してステップ2360に進み、パージ実行許容フラグXPRGexeの値を「1」に設定する。この結果、図21のステップ2110にて「Yes」との判定がなされるので、蒸発燃料パージが実行され得る状態になる。
更に、CPUがステップ2340の処理を実行する時点において、他制御からのパージ禁止要求が発生していると、CPUはそのステップ2340にて「Yes」と判定してステップ2350に進む。前述したように、現時点における「他制御からのパージ禁止要求を無効化するフラグXPTinhclr」の値は「0」である。従って、CPUはステップ2350にて「Yes」と判定してステップ2330に進み、パージ実行許容フラグXPRGexeの値を「0」に設定する。この結果、図21のステップ2110にて「No」との判定がなされるので、蒸発燃料パージは実行されない(蒸発燃料パージが禁止される)。
(仮定5)
次に、パージ量大時パラメータPon及びパージ量小時パラメータPoffの両者が取得されたことにより、異常判定が実施されたと仮定する。この場合、異常判定完了フラグXFINの値は「1」に設定される。
この場合、CPUは図22のステップ2205にて「Yes」と判定し、ステップ2255及びステップ2260の処理を実行する。従って、CPUは、パージ量大時パラメータPon及びパージ量小時パラメータPoffの両者が取得されている場合と同様な作動を行う。
即ち、パージ量大時パラメータPon及びパージ量小時パラメータPoffの両者が取得されている場合、及び、異常判定が実施された場合、には、パージ量大時パラメータPon及びパージ量小時パラメータPoffの何れもが取得されていない場合と同様にパージ制御が実行される。
以上、説明したように、第2判定装置は、
パージ量大時パラメータPonが既に取得され且つパージ量小時パラメータPoffが未だ取得されていない場合(上記仮定3を参照。)に蒸発燃料パージを禁止することにより、パージ量大時パラメータPon及びパージ量小時パラメータPoffの何れもが未だ取得されていない場合(上記仮定1を参照。)に比べ、蒸発燃料比が第2所定値(Pth−B)未満となる機会が増大するようにパージ量を制御する蒸発燃料パージ量制御手段(図22のステップ2215、ステップ2245及びステップ2250、図23のステップ2320及びステップ2330、図21のステップ2110を参照。)を備える。
従って、パージ量小時パラメータPoffを算出する機会を増大させることができる。その結果、パージ量大時パラメータPon及びパージ量小時パラメータPoffの両者を早期に取得することができるので、異常判定を早期に実施することが可能となる。
更に、第2判定装置の蒸発燃料パージ量制御手段は、
パージ量小時パラメータPoffが既に取得され且つパージ量大時パラメータPonが未だ取得されていない場合(上記仮定2を参照。)、他制御からのパージ禁止要求が発生していてもそのパージ禁止要求を無効化(無視)することにより、パージ量大時パラメータPon及びパージ量小時パラメータPoffの何れもが未だ取得されていない場合(上記仮定1を参照。)に比べ、蒸発燃料比が第1所定値(Pth)以上となる機会が増大するようにパージ量を制御する(図22のステップ2220、ステップ2235及びステップ2240、図23のステップ2320、ステップ2340、ステップ2350及びステップ2360、図21のステップ2110を参照。)。
従って、パージ量大時パラメータPonを算出する機会を増大させることができる。その結果、パージ量大時パラメータPon及びパージ量小時パラメータPoffの両者を早期に取得することができるので、異常判定を早期に実施することが可能となる。
なお、第2判定装置は、例えば、次の変形例のように構成されてもよい。即ち、第2判定装置の変形例は、パージ量大時パラメータPon及びパージ量小時パラメータPoffの両者が何れも取得されていないとき、負荷KL及び機関回転速度NEが「所定領域(第1領域)」内にあるときに蒸発燃料比が第1所定値(Pth)以上となるようにパージ量を制御し(例えば、目標パージ率PGTを極めて大きい第1所定値に設定し)、負荷KL及び機関回転速度NEが「所定領域(第1領域)」内にないときに蒸発燃料比が第2所定値(Pth−B)未満となるようにパージ量を制御する(例えば、目標パージ率PGTを第1所定値よりも小さい第2所定値(例えば「0」)に設定する。)。
第2判定装置の変形例は、パージ量大時パラメータPonが既に取得され且つパージ量小時パラメータPoffが未だ取得されていない場合、負荷KL及び機関回転速度NEが「第1領域よりも狭い領域(第2領域)」内にあるときに蒸発燃料比が第1所定値(Pth)以上となるようにパージ量を制御し、負荷KL及び機関回転速度NEが「第2領域」内にないときに蒸発燃料比が第2所定値(Pth−B)未満となるようにパージ量を制御する。
更に、第2判定装置の変形例は、パージ量小時パラメータPoffが既に取得され且つパージ量大時パラメータPonが未だ取得されていない場合、負荷KL及び機関回転速度NEが「第1領域よりも広い領域(第3領域)」内にあるときに蒸発燃料比が第1所定値(Pth)以上となるようにパージ量を制御し、負荷KL及び機関回転速度NEが「第3領域」内にないときに蒸発燃料比が第2所定値(Pth−B)未満となるようにパージ量を制御する。
この変形例によっても、未だ取得されていない方のパラメータを取得する機会を増大することができる。
<第3実施形態>
次に、本発明の第3実施形態に係る判定装置(以下、単に「第3判定装置」と称呼する。)について説明する。
図3の(B1)、(B2)及び(B3)と、図3の(A1)、(A2)及び(A3)と、の比較から理解されるように、燃料噴射量の気筒間ばらつき異常が発生している場合、蒸発燃料パージを実行した方が、気筒別空燃比の不均一性の程度は小さくなる。従って、燃料噴射量の気筒間ばらつき異常が発生したと判定された場合、蒸発燃料パージを実行することにより、エミッションの排出量(特に、インバランス気筒の燃料噴射弁が指示燃料噴射量Fiに比べて小さい量の燃料を噴射する特性になった場合にはNOxの排出量)を図24の点P1の排出量から点P2の排出量へと減少することが可能となる。
そこで、第3判定装置は、異常判定を実施した結果、燃料噴射量の気筒間ばらつき異常が発生したと判定された場合(フラグXINJIMB=1)、パージ条件が成立している限り、他制御からのパージ禁止要求が発生していても、そのパージ禁止要求を無視して蒸発燃料パージを実行する。その他の点は、第1制御装置と同様である。
(実際の作動)
第3制御装置のCPUは、第1制御装置のCPUが実行するルーチンに加え、図25に示した「パージ実行許容フラグ設定ルーチン」を所定時間が経過する毎に実行する。更に、第3制御装置のCPUは、図13に代えて図21に示したルーチンを実行する。従って、所定のタイミングになると、CPUは図25のステップ2500から処理を開始してステップ2505に進み、異常判定完了フラグXFINの値が「1」であるか否かを判定する。
ここで、今回の機関10の始動後において異常判定は実行されていないと仮定する。この場合、異常判定完了フラグXFINの値は「0」に設定されている。従って、CPUはステップ2505にて「No」と判定してステップ2510に進み、パージ条件が成立しているか否かを判定する。
このとき、パージ条件が成立していると、CPUはステップ2510にて「Yes」と判定してステップ2515に進み、他制御からのパージ禁止要求が発生していないか否かを判定する。そして、他制御からのパージ禁止要求が発生していなければ、CPUはステップ2515にて「Yes」と判定してステップ2520に進み、パージ実行許容フラグXPRGexeの値を「1」に設定する。この結果、蒸発燃料パージの実行が許容される。
一方、CPUがステップ2515の処理を実行する時点において、他制御からのパージ禁止要求が発生していると、CPUはステップ2515にて「No」と判定してステップ2525に進み、パージ実行許容フラグXPRGexeの値を「0」に設定する。この結果、蒸発燃料パージの実行は禁止される。
加えて、CPUがステップ2510の処理を実行する時点において、パージ条件が成立していなければ、CPUはステップ2525に進んでパージ実行許容フラグXPRGexeの値を「0」に設定する。この結果、蒸発燃料パージの実行は禁止される。
次に、異常判定が実行されたと仮定する。この場合、異常判定完了フラグXFINの値は「1」に設定される。従って、CPUはステップ2505に進んだとき、そのステップ2505にて「Yes」と判定してステップ2530に進み、パージ条件が成立しているか否かを判定する。
このとき、パージ条件が成立していると、CPUはステップ2530にて「Yes」と判定してステップ2535に進み、他制御からのパージ禁止要求が発生していないか否かを判定する。そして、他制御からのパージ禁止要求が発生していなければ、CPUはステップ2540に進んでパージ実行許容フラグXPRGexeの値を「1」に設定する。この結果、蒸発燃料パージの実行が許容される。
一方、CPUがステップ2535の処理を実行する時点において、他制御からのパージ禁止要求が発生していると、CPUはそのステップ2535にて「No」と判定してステップ2545に進み、燃料噴射量ばらつき異常発生フラグXINJIMBの値が「1」であるか否かを判定する。
このとき、燃料噴射量ばらつき異常発生フラグXINJIMBの値が「1」に設定されていると、CPUはステップ2545にて「Yes」と判定してステップ2540に進み、パージ実行許容フラグXPRGexeの値を「1」に設定する。即ち、燃料噴射量の気筒間ばらつき異常が発生したと判定されている場合、パージ条件が成立していれば、他制御からのパージ禁止要求が発生していたとしても、蒸発燃料パージの実行が許容される。この結果、エミッションが良好になる。
これに対し、CPUがステップ2545の処理を実行する時点において、燃料噴射量ばらつき異常発生フラグXINJIMBの値が「1」に設定されていなければ、CPUはそのステップ2545にて「No」と判定してステップ2550に進み、パージ実行許容フラグXPRGexeの値を「0」に設定する。この結果、蒸発燃料パージの実行は禁止される。
更に、CPUがステップ2530の処理を実行する時点において、パージ条件が成立していなければ、CPUはステップ2530にて「No」と判定してステップ2550に進み、パージ実行許容フラグXPRGexeの値を「0」に設定する。この結果、蒸発燃料パージの実行は禁止される。
以上、説明したように、第3判定装置は、
機関10の運転状態に基づいてパージ禁止要求(他制御からのパージ禁止要求)が発生した場合にパージ量を0に制御するとともに(図25のステップ2515及びステップ2525)、異常判定手段により「燃料噴射弁33が異常であると判定された場合(フラグXINJIMB=1)」にはパージ禁止要求が発生したときであってもパージ量を0以外の所定値に制御することを許容する(パージ実行許容フラグXPRGexeの値を「1」に設定する)ように構成された蒸発燃料パージ量制御手段を備える(図25のステップ2535、ステップ2545及びステップ2540)。
燃料噴射弁33は、異常となったとき、指示燃料噴射量Fiの所定割合(例えば、X)の燃料を噴射する。従って、インバランス気筒の燃料噴射弁33はX・Fiの量の燃料を噴射し、非インバランス気筒の燃料噴射弁33はFiの燃料を噴射する。よって、燃料噴射量の差は、(1−X)・Fiである。よって、指示燃料噴射量Fiの大きさを小さくすることにより、燃料噴射量の気筒間ばらつきの空燃比に及ぼす影響を小さくすることができる。指示燃料噴射量Fiはパージ量により補正されるので、指示燃料噴射量Fiの大きさを小さくするには、パージ量を大きくすればよい。
従って、第3判定装置は、燃料噴射量の気筒間ばらつき異常が発生したときに、気筒別空燃比の不均一性の程度を小さくすることができるので、エミッションの悪化を抑制することができる。
以上、説明したように、本発明の実施形態に係る判定装置は、吸入空気量の気筒間ばらつき異常が発生したか否かを精度良く判定することができる。なお、本発明は上記実施形態に限定されることはなく、本発明の範囲内において種々の変形例を採用することができる。例えば、パージ量大時パラメータPon及びパージ量小時パラメータPoff(即ち、空燃比不均衡指標値)は、以下に述べるような種々の方法により取得することができる。
(A−1)
判定装置は、上流側空燃比センサ66の出力値Vabyfsにより表される検出空燃比abyfs(出力値Vabyfsを図7に示したテーブルMapabyfsに適用することにより得られる空燃比)の時間についての微分値d(abyfs)/dtを取得するとともに、その取得した微分値d(abyfs)/dt値に相関する値を空燃比不均衡指標値として取得するように構成され得る。
取得した微分値d(abyfs)/dt値に相関する値の一例は、単位燃焼サイクル又は単位燃焼サイクルの自然数倍の期間において複数個取得された微分値d(abyfs)/dtの絶対値の平均値である。取得した微分値d(abyfs)/dtに相関する値の他の一例は、単位燃焼サイクルにおいて複数個取得された微分値d(abyfs)/dtの絶対値の最大値を、複数の単位燃焼サイクルについて平均化した値である。
(A−2)
判定装置は、上流側空燃比センサ66の出力値Vabyfsの時間についての二階微分値d2(Vabyfs)/dt2を取得するとともに、その取得した二階微分値d2(Vabyfs)/dt2に相関する値を空燃比不均衡指標値として取得するように構成され得る。二階微分値d2(Vabyfs)/dt2は、気筒別空燃比差が小さい場合には図16の(D)の破線C5に示したように相対的に小さい値となり、気筒別空燃比差が大きい場合には図16の(D)の実線C6に示したように相対的に大きい値となる。
なお、二階微分値d2(Vabyfs)/dt2は、現時点の出力値Vabyfsから一定のサンプリング時間前の出力値Vabyfsを減じることにより、一定のサンプリング時間毎の微分値d(Vabyfs)/dtを求め、新たに求められた微分値d(Vabyfs)/dtから一定のサンプリング時間前の微分値d(Vabyfs)/dtを減じることにより求めることができる。
取得した二階微分値d2(Vabyfs)/dt2値に相関する値の一例は、単位燃焼サイクル又は単位燃焼サイクルの自然数倍の期間において複数個取得された二階微分値d2(Vabyfs)/dt2の絶対値の平均値である。取得した二階微分値d2(Vabyfs)/dt2値に相関する値の他の一例は、単位燃焼サイクルにおいて複数個取得された二階微分値d2(Vabyfs)/dt2値の絶対値の最大値を、複数の単位燃焼サイクルについて平均化した値である。
(A−3)
判定装置は、検出空燃比abyfsの時間についての二階微分値d2(abyfs)/dt2を取得するとともに、その取得した二階微分値d2(abyfs)/dt2に相関する値を空燃比不均衡指標値として取得するように構成され得る。出力値Vabyfsと検出空燃比abyfsとは実質的に比例関係にあるので(図7を参照。)、二階微分値d2(abyfs)/dt2は二階微分値d2(Vabyfs)/dt2と同様の傾向を示す。
取得した二階微分値d2(abyfs)/dt2値に相関する値の一例は、単位燃焼サイクル又は単位燃焼サイクルの自然数倍の期間において複数個取得された二階微分値d2(abyfs)/dt2の絶対値の平均値である。取得した二階微分値d2(abyfs)/dt2に相関する値の他の一例は、単位燃焼サイクルにおいて複数個取得された二階微分値d2(abyfs)/dt2の絶対値の最大値を、複数の単位燃焼サイクルについて平均化した値である。
なお、「微分値d(Vabyfs)/dt、微分値d(abyfs)/dt、二階微分値d2(Vabyfs)/dt2、及び、二階微分値d2(abyfs)/dt2」のそれぞれに相関する値は、吸入空気量Gaの影響を受けるものの、機関回転速度NEの影響を受け難い。これは、上流側空燃比センサ66の保護カバーの内部における排ガスの流速が、保護カバーの流出孔近傍を流れる排ガスEXの流速(従って、単位時間あたりの吸入空気量である吸入空気量Ga)に応じて変化するからである。従って、これらの値に基いて得られる空燃比不均衡指標値は、機関回転速度NEの影響を受けることなく気筒別空燃比差を精度よく表す。
(A−4)
判定装置は、上流側空燃比センサ66の出力値Vabyfsの所定期間(例えば、単位燃焼サイクル期間の自然数倍の期間)における最大値と最小値との差ΔXに相関する値、又は、上流側空燃比センサ66の出力値Vabyfsにより表される検出空燃比abyfsの所定期間における最大値と最小値との差ΔYに相関する値を、空燃比不均衡指標値として取得するように構成され得る。
図16の(B)に示した実線C2及び破線C1から明らかなように、この差ΔY(ΔYの絶対値)は、気筒別空燃比差が大きいほど大きくなる。従って、差ΔX(ΔXの絶対値)は、気筒別空燃比差が大きいほど大きくなる。差ΔX(又は差ΔY)に相関する値の一例は、単位燃焼サイクル又は単位燃焼サイクルの自然数倍の期間において複数個取得された差ΔX(又はΔY)の絶対値の平均値である。
(A−5)
判定装置は、空燃比不均衡指標値して、上流側空燃比センサ66の出力値Vabyfsの所定期間おける軌跡長に相関する値、又は、上流側空燃比センサ66の出力値Vabyfsにより表される検出空燃比abyfsの前記所定期間における軌跡長に相関する値を取得するように構成され得る。これらの軌跡長は、図16の(B)からも明らかなように、気筒別空燃比差が大きいほど大きくなる。軌跡長に相関する値は、例えば、単位燃焼サイクル又は単位燃焼サイクルの自然数倍の期間において複数個取得された軌跡長の絶対値の平均値である。
なお、例えば、検出空燃比abyfsの軌跡長は、一定サンプリング時間tsが経過する毎に出力値Vabyfsを取得するとともに、その出力値Vabyfsを検出空燃比abyfsへと変換し、その検出空燃比abyfsと、一定サンプリング時間ts前に取得した検出空燃比abyfsと、の差の絶対値を積算することによって求めることができる。
なお、判定装置は、サブFB学習値KSFBgが大きくなるほど大きくなる値を空燃比不均衡指標値として取得してもよい。
加えて、上記各判定装置は、V型エンジンにも適用することができる。その場合、V型エンジンは右バンクに属する2以上の気筒の排気集合部よりも下流に右バンク上流側触媒を備える。更に、そのV型エンジンは、左バンクに属する2以上の気筒の排気集合部よりも下流に左バンク上流側触媒を備える。
加えて、そのV型エンジンは、右バンク上流側触媒の上流及び下流に右バンク用の上流側空燃比センサ及び下流側空燃比センサをそれぞれ備え、左バンク上流側触媒の上流及び下流に左バンク用の上流側空燃比センサ及び下流側空燃比センサをそれぞれ備えることができる。各上流側空燃比センサは、上記上流側空燃比センサ66と同様、各バンクの排気集合部と各バンクの上流側触媒との間に配設される。この場合、右バンク用のメインフィードバック制御及びサブフィードバック制御が実行され、それとは独立して左バンク用のメインフィードバック制御及びサブフィードバック制御が実行される。
この場合、判定装置は、右バンク用の上流側空燃比センサの出力値に基いて「右バンク用の空燃比不均衡指標値(パージ量大時パラメータPon及びパージ量小時パラメータPoff)」を求め、右バンクに属する気筒についてそれらのパラメータに基いて上記異常判定を実施すればよい。同様に、判定装置は、左バンク用の上流側空燃比センサの出力値に基いて「左バンク用の空燃比不均衡指標値(パージ量大時パラメータPon及びパージ量小時パラメータPoff)」を求め、左バンクに属する気筒についてそれらのパラメータに基いて上記異常判定を実施すればよい。
更に、上流側空燃比センサ66は、下流側空燃比センサ67と同様、濃淡電池型(起電力式)の酸素濃度センサであってもよい。加えて、各判定装置は、図20のステップ2025において「パージ量大時パラメータPonとパージ量小時パラメータPoffとの比、又は、その比の逆数」を用いて、パージ量大時パラメータPonとパージ量小時パラメータPoffとの差が所定の第1異常判定用閾値Dpinjth以上であるか否かを判定するように構成されてもよい。
10…内燃機関、21…燃焼室(気筒)、31…インテークマニホールド、31a…枝部、31b…サージタンク、32…吸気管、33…燃料噴射弁、34…スロットル弁、41…エキゾーストマニホールド、41b…集合部(排気集合部)、42…エキゾーストパイプ、43…上流側触媒、51…燃料タンク、52…キャニスタ、53…ベーパ捕集管、54…パージ流路管、55…パージ制御弁、57…燃料供給管、66…上流側空燃比センサ、70…電気制御装置。

Claims (5)

  1. 多気筒内燃機関の異常判定装置であって、
    それぞれが前記機関の複数の気筒のそれぞれの燃焼室に供給される混合気に含まれる燃料を噴射するように構成された複数の燃料噴射弁と、
    前記燃料噴射弁に供給される燃料を貯蔵する燃料タンク内に発生した蒸発燃料を前記機関の吸気通路に導入する蒸発燃料パージ手段と、
    前記機関の運転状態に応じて前記吸気通路に導入される蒸発燃料の量であるパージ量を制御する蒸発燃料パージ量制御手段と、
    前記複数の気筒の排ガスが集合する前記機関の排気通路の排気集合部よりも下流側の部位に配設されるとともにその配設された部位を通過する排ガスの空燃比に応じた出力値を発生する空燃比センサと、
    前記空燃比センサの出力値により表される空燃比が所定の目標空燃比に一致するように前記燃料噴射弁から噴射される燃料の量をフィードバック補正することにより前記複数の燃料噴射弁のそれぞれから噴射される燃料の量の指示値である指示燃料噴射量を決定する指示燃料噴射量決定手段と、
    前記指示燃料噴射量に応じた量の燃料が前記複数の燃料噴射弁のそれぞれから噴射されるように前記複数の燃料噴射弁に噴射指示信号を送出する噴射指示信号送出手段と、
    前記複数の気筒のそれぞれに供給される混合気の空燃比である気筒別空燃比の同複数の気筒の間における不均一性の程度が大きくなるほど大きくなる空燃比不均衡指標値を前記空燃比センサの出力値に基いて取得する指標値取得手段と、
    前記空燃比不均衡指標値に基いて異常判定を行う異常判定手段と、
    を備え、
    前記指標値取得手段は、
    前記機関に供給される燃料の総量に対する前記機関に供給される蒸発燃料の量の比である蒸発燃料比が第1所定値以上である期間において前記指標値取得手段によって取得される前記空燃比不均衡指標値をパージ量大時パラメータとして取得するとともに、前記蒸発燃料比が前記第1所定値以下の第2所定値未満である期間において前記指標値取得手段によって取得される前記空燃比不均衡指標値をパージ量小時パラメータとして取得するように構成され、
    前記異常判定手段は、
    前記パージ量小時パラメータと前記パージ量大時パラメータとの差の大きさが第1異常判定用閾値未満であり、且つ、前記パージ量小時パラメータが第2異常判定用閾値以上であるとき又は前記パージ量大時パラメータが第3異常判定用閾値以上であるとき、前記複数の気筒のそれぞれに供給される吸入空気の量の同複数の気筒間における不均一性の程度が許容値以上であるという吸入空気量異常状態が発生していると判定するように構成された異常判定装置。
  2. 請求項1に記載の異常判定装置において、
    前記異常判定手段は、
    前記パージ量小時パラメータと前記パージ量大時パラメータとの差の大きさが前記第1異常判定用閾値以上である場合に前記燃料噴射弁が異常であると判定するように構成された異常判定装置。
  3. 請求項2に記載の異常判定装置において、
    前記蒸発燃料パージ量制御手段は、
    前記機関の運転状態に基づいてパージ禁止要求が発生した場合に前記パージ量を0に制御するとともに、前記異常判定手段により前記燃料噴射弁が異常であると判定された場合には前記パージ禁止要求が発生したときであっても前記パージ量を0以外の所定値に制御することを許容するように構成された異常判定装置。
  4. 請求項1乃至請求項3の何れか一項に記載の異常判定装置において、
    前記蒸発燃料パージ量制御手段は、
    前記パージ量大時パラメータが既に取得され且つ前記パージ量小時パラメータが未だ取得されていない場合、前記パージ量大時パラメータ及び前記パージ量小時パラメータの何れもが未だ取得されていない場合に比べ、前記蒸発燃料比が前記第2所定値未満となる機会が増大するように、前記パージ量を制御する異常判定装置。
  5. 請求項1乃至請求項4の何れか一項に記載の異常判定装置において、
    前記蒸発燃料パージ量制御手段は、
    前記パージ量小時パラメータが既に取得され且つ前記パージ量大時パラメータが未だ取得されていない場合、前記パージ量大時パラメータ及び前記パージ量小時パラメータの何れもが未だ取得されていない場合に比べ、前記蒸発燃料比が前記第1所定値以上となる機会が増大するように、前記パージ量を制御する異常判定装置。
JP2010162752A 2010-07-20 2010-07-20 多気筒内燃機関の異常判定装置 Expired - Fee Related JP5494317B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2010162752A JP5494317B2 (ja) 2010-07-20 2010-07-20 多気筒内燃機関の異常判定装置
US13/185,015 US8700290B2 (en) 2010-07-20 2011-07-18 Abnormality determination system for multi-cylinder internal combustion engine

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010162752A JP5494317B2 (ja) 2010-07-20 2010-07-20 多気筒内燃機関の異常判定装置

Publications (2)

Publication Number Publication Date
JP2012026282A JP2012026282A (ja) 2012-02-09
JP5494317B2 true JP5494317B2 (ja) 2014-05-14

Family

ID=45494276

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010162752A Expired - Fee Related JP5494317B2 (ja) 2010-07-20 2010-07-20 多気筒内燃機関の異常判定装置

Country Status (2)

Country Link
US (1) US8700290B2 (ja)
JP (1) JP5494317B2 (ja)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5499978B2 (ja) * 2010-07-30 2014-05-21 トヨタ自動車株式会社 多気筒内燃機関の燃料噴射量制御装置
JP5278466B2 (ja) * 2011-02-16 2013-09-04 トヨタ自動車株式会社 気筒間空燃比ばらつき異常検出装置
JP5187409B2 (ja) * 2011-04-28 2013-04-24 トヨタ自動車株式会社 空燃比ばらつき異常検出装置
US9518523B2 (en) * 2011-05-16 2016-12-13 Toyota Jidosha Kabushiki Kaisha Air-fuel ratio imbalance detection device for internal combustion engine
JP5273202B2 (ja) * 2011-05-23 2013-08-28 トヨタ自動車株式会社 空燃比ばらつき異常検出装置
JP5304862B2 (ja) * 2011-09-21 2013-10-02 トヨタ自動車株式会社 内燃機関の空燃比気筒間インバランス判定装置
JP5884702B2 (ja) * 2012-02-01 2016-03-15 株式会社デンソー 内燃機関の排出ガス浄化装置
AT513359B1 (de) * 2012-08-17 2014-07-15 Ge Jenbacher Gmbh & Co Og Verfahren zum Betreiben einer Brennkraftmaschine
AU2013376227B2 (en) 2013-01-29 2016-05-12 Toyota Jidosha Kabushiki Kaisha Control device for internal combustion engine
US10473049B2 (en) * 2013-01-29 2019-11-12 Toyota Jidosha Kabushiki Kaisha Control system of internal combustion engine
JP5796592B2 (ja) * 2013-03-22 2015-10-21 トヨタ自動車株式会社 気筒間空燃比ばらつき異常検出装置
US10371689B2 (en) * 2016-09-09 2019-08-06 Lawrence Livermore National Security, Llc Ultra-compact system for characterization of physical, chemical and ignition properties of fuels
KR20210009618A (ko) * 2019-07-17 2021-01-27 현대자동차주식회사 차량의 퍼지 제어 장치 및 방법
US11220965B2 (en) * 2019-08-13 2022-01-11 Ford Global Technologies, Llc Method and system for balancing cylinder air-fuel ratio
US11480115B1 (en) * 2021-10-05 2022-10-25 Caterpillar Inc. Operating strategy mitigating undesired combustion in dual fuel engine

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH073403B2 (ja) * 1986-03-27 1995-01-18 本田技研工業株式会社 酸素濃度センサの異常検出方法
JP3136793B2 (ja) * 1992-09-09 2001-02-19 日産自動車株式会社 エンジンの蒸発燃料処理装置
US5964208A (en) * 1995-03-31 1999-10-12 Denso Corporation Abnormality diagnosing system for air/fuel ratio feedback control system
JP3674292B2 (ja) 1997-06-19 2005-07-20 株式会社デンソー 空燃比検出装置
JP3855483B2 (ja) 1998-08-25 2006-12-13 株式会社デンソー 積層型空燃比センサ素子
US6736121B2 (en) * 2002-06-04 2004-05-18 Ford Global Technologies, Llc Method for air-fuel ratio sensor diagnosis
JP2004069547A (ja) 2002-08-07 2004-03-04 Toyota Motor Corp 空燃比センサの制御装置
US7152594B2 (en) 2005-05-23 2006-12-26 Gm Global Technology Operations, Inc. Air/fuel imbalance detection system and method
JP2007113513A (ja) * 2005-10-21 2007-05-10 Toyota Motor Corp 多気筒型内燃機関の制御装置
US7597091B2 (en) * 2005-12-08 2009-10-06 Toyota Jidosha Kabushiki Kaisha Air-fuel ratio control apparatus and method for an internal combustion engine
JP4871307B2 (ja) * 2008-01-29 2012-02-08 日立オートモティブシステムズ株式会社 エンジンの燃料制御装置
JP2009228498A (ja) * 2008-03-21 2009-10-08 Toyota Motor Corp 内燃機関の空燃比制御装置
JP4533941B2 (ja) * 2008-04-18 2010-09-01 三菱電機株式会社 内燃機関の制御装置
JP5088421B2 (ja) * 2009-02-03 2012-12-05 トヨタ自動車株式会社 内燃機関の空燃比気筒間インバランス判定装置
WO2011033688A1 (ja) * 2009-09-18 2011-03-24 トヨタ自動車株式会社 内燃機関の空燃比気筒間インバランス判定装置
JP5196003B2 (ja) * 2009-11-05 2013-05-15 トヨタ自動車株式会社 内燃機関の空燃比気筒間インバランス判定装置

Also Published As

Publication number Publication date
US8700290B2 (en) 2014-04-15
US20120022772A1 (en) 2012-01-26
JP2012026282A (ja) 2012-02-09

Similar Documents

Publication Publication Date Title
JP5494317B2 (ja) 多気筒内燃機関の異常判定装置
JP5088421B2 (ja) 内燃機関の空燃比気筒間インバランス判定装置
JP5041078B2 (ja) 多気筒内燃機関の空燃比制御装置
US9726103B2 (en) Fuel injection amount control apparatus for an internal combustion engine
JP5488307B2 (ja) 空燃比気筒間インバランス判定装置
JP5282824B2 (ja) 内燃機関の空燃比気筒間インバランス判定装置
JP5510158B2 (ja) 内燃機関の燃料噴射量制御装置
JP5532130B2 (ja) 内燃機関の燃料噴射量制御装置
JP5041100B2 (ja) 内燃機関の空燃比気筒間インバランス判定装置
US9115661B2 (en) Fuel injection amount control system and fuel injection amount control device for multi-cylinder internal combustion engine
US8833348B2 (en) Fuel injection amount control system and fuel injection amount control device for multi-cylinder internal combustion engine
JP5447673B2 (ja) 内燃機関の燃料噴射量制御装置
JP5170320B2 (ja) 内燃機関の空燃比気筒間インバランス判定装置
JP2010174809A (ja) 多気筒内燃機関の制御装置
JP2012017657A (ja) 内燃機関の燃料噴射量制御装置
JP5640662B2 (ja) 内燃機関の燃料噴射量制御装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130514

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140204

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140217

LAPS Cancellation because of no payment of annual fees