JP5246456B2 - 内燃機関システム制御装置 - Google Patents
内燃機関システム制御装置 Download PDFInfo
- Publication number
- JP5246456B2 JP5246456B2 JP2011538207A JP2011538207A JP5246456B2 JP 5246456 B2 JP5246456 B2 JP 5246456B2 JP 2011538207 A JP2011538207 A JP 2011538207A JP 2011538207 A JP2011538207 A JP 2011538207A JP 5246456 B2 JP5246456 B2 JP 5246456B2
- Authority
- JP
- Japan
- Prior art keywords
- air
- fuel ratio
- state
- value
- sub
- 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
Links
- 238000002485 combustion reaction Methods 0.000 title claims description 50
- 239000000446 fuel Substances 0.000 claims description 472
- 238000011144 upstream manufacturing Methods 0.000 claims description 117
- 230000005856 abnormality Effects 0.000 claims description 102
- 239000003054 catalyst Substances 0.000 claims description 63
- 238000002347 injection Methods 0.000 claims description 51
- 239000007924 injection Substances 0.000 claims description 51
- 238000012545 processing Methods 0.000 claims description 31
- 230000008859 change Effects 0.000 claims description 25
- 230000007704 transition Effects 0.000 claims description 15
- 238000000746 purification Methods 0.000 claims description 8
- 239000007789 gas Substances 0.000 description 87
- 239000001301 oxygen Substances 0.000 description 65
- 229910052760 oxygen Inorganic materials 0.000 description 65
- QVGXLLKOCUKJST-UHFFFAOYSA-N atomic oxygen Chemical group [O] QVGXLLKOCUKJST-UHFFFAOYSA-N 0.000 description 56
- 238000000034 method Methods 0.000 description 50
- 230000008569 process Effects 0.000 description 46
- 229910052739 hydrogen Inorganic materials 0.000 description 42
- 239000001257 hydrogen Substances 0.000 description 37
- 239000000203 mixture Substances 0.000 description 31
- 238000009792 diffusion process Methods 0.000 description 29
- 230000010354 integration Effects 0.000 description 29
- 239000007784 solid electrolyte Substances 0.000 description 25
- 150000002431 hydrogen Chemical class 0.000 description 22
- UFHFLCQGNIYNRP-UHFFFAOYSA-N Hydrogen Chemical compound [H][H] UFHFLCQGNIYNRP-UHFFFAOYSA-N 0.000 description 15
- 229910002091 carbon monoxide Inorganic materials 0.000 description 9
- -1 oxygen ion Chemical class 0.000 description 9
- 101150024075 Mapk1 gene Proteins 0.000 description 8
- 238000004364 calculation method Methods 0.000 description 8
- 238000006243 chemical reaction Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 238000012986 modification Methods 0.000 description 7
- 230000004048 modification Effects 0.000 description 7
- 239000000126 substance Substances 0.000 description 7
- MWUXSHHQAYIFBG-UHFFFAOYSA-N Nitric oxide Chemical compound O=[N] MWUXSHHQAYIFBG-UHFFFAOYSA-N 0.000 description 6
- 239000000463 material Substances 0.000 description 6
- 238000012937 correction Methods 0.000 description 5
- 238000001514 detection method Methods 0.000 description 5
- 238000005192 partition Methods 0.000 description 5
- 230000002159 abnormal effect Effects 0.000 description 4
- 230000007812 deficiency Effects 0.000 description 4
- 238000001914 filtration Methods 0.000 description 4
- 229930195733 hydrocarbon Natural products 0.000 description 4
- 150000002430 hydrocarbons Chemical class 0.000 description 4
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 4
- 239000004215 Carbon black (E152) Substances 0.000 description 3
- UGFAIRIUMAVXCW-UHFFFAOYSA-N Carbon monoxide Chemical compound [O+]#[C-] UGFAIRIUMAVXCW-UHFFFAOYSA-N 0.000 description 3
- 230000006399 behavior Effects 0.000 description 3
- 230000007423 decrease Effects 0.000 description 3
- 230000001590 oxidative effect Effects 0.000 description 3
- BASFCYQUMIYNBI-UHFFFAOYSA-N platinum Chemical compound [Pt] BASFCYQUMIYNBI-UHFFFAOYSA-N 0.000 description 3
- CURLTUGMZLYLDI-UHFFFAOYSA-N Carbon dioxide Chemical compound O=C=O CURLTUGMZLYLDI-UHFFFAOYSA-N 0.000 description 2
- MCMNRKCIXSYSNV-UHFFFAOYSA-N Zirconium dioxide Chemical compound O=[Zr]=O MCMNRKCIXSYSNV-UHFFFAOYSA-N 0.000 description 2
- 230000009471 action Effects 0.000 description 2
- 230000004913 activation Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 230000003197 catalytic effect Effects 0.000 description 2
- 239000000567 combustion gas Substances 0.000 description 2
- 239000000498 cooling water Substances 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 239000013067 intermediate product Substances 0.000 description 2
- 230000003647 oxidation Effects 0.000 description 2
- 238000007254 oxidation reaction Methods 0.000 description 2
- 239000000047 product Substances 0.000 description 2
- 238000012887 quadratic function Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000035945 sensitivity Effects 0.000 description 2
- PNEYBMLMFCGWSK-UHFFFAOYSA-N Alumina Chemical compound [O-2].[O-2].[O-2].[Al+3].[Al+3] PNEYBMLMFCGWSK-UHFFFAOYSA-N 0.000 description 1
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- 206010021143 Hypoxia Diseases 0.000 description 1
- NINIDFKCEFEMDL-UHFFFAOYSA-N Sulfur Chemical compound [S] NINIDFKCEFEMDL-UHFFFAOYSA-N 0.000 description 1
- 229910052799 carbon Inorganic materials 0.000 description 1
- 229910002092 carbon dioxide Inorganic materials 0.000 description 1
- 239000001569 carbon dioxide Substances 0.000 description 1
- 239000000919 ceramic Substances 0.000 description 1
- 150000001875 compounds Chemical class 0.000 description 1
- 238000007599 discharging Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 150000002500 ions Chemical class 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 229910000510 noble metal Inorganic materials 0.000 description 1
- 238000013021 overheating Methods 0.000 description 1
- 230000035699 permeability Effects 0.000 description 1
- 238000005293 physical law Methods 0.000 description 1
- 238000007750 plasma spraying Methods 0.000 description 1
- 238000007747 plating Methods 0.000 description 1
- 229910052697 platinum Inorganic materials 0.000 description 1
- 150000003384 small molecules Chemical class 0.000 description 1
- 229910002076 stabilized zirconia Inorganic materials 0.000 description 1
- 239000003381 stabilizer Substances 0.000 description 1
- 229910052717 sulfur Inorganic materials 0.000 description 1
- 239000011593 sulfur Substances 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Classifications
-
- F—MECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
- F02—COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
- F02D—CONTROLLING COMBUSTION ENGINES
- F02D41/00—Electrical control of supply of combustible mixture or its constituents
- F02D41/02—Circuit arrangements for generating control signals
- F02D41/14—Introducing closed-loop corrections
- F02D41/1438—Introducing closed-loop corrections using means for determining characteristics of the combustion gases; Sensors therefor
- F02D41/1444—Introducing closed-loop corrections using means for determining characteristics of the combustion gases; Sensors therefor characterised by the characteristics of the combustion gases
- F02D41/1454—Introducing 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
-
- F—MECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
- F02—COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
- F02D—CONTROLLING COMBUSTION ENGINES
- F02D41/00—Electrical control of supply of combustible mixture or its constituents
- F02D41/22—Safety or indicating devices for abnormal conditions
- F02D41/221—Safety or indicating devices for abnormal conditions relating to the failure of actuators or electrically driven elements
-
- F—MECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
- F02—COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
- F02D—CONTROLLING COMBUSTION ENGINES
- F02D41/00—Electrical control of supply of combustible mixture or its constituents
- F02D41/24—Electrical control of supply of combustible mixture or its constituents characterised by the use of digital means
- F02D41/2406—Electrical control of supply of combustible mixture or its constituents characterised by the use of digital means using essentially read only memories
- F02D41/2425—Particular ways of programming the data
- F02D41/2429—Methods of calibrating or learning
- F02D41/2451—Methods of calibrating or learning characterised by what is learned or calibrated
- F02D41/2454—Learning of the air-fuel ratio control
-
- F—MECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
- F02—COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
- F02D—CONTROLLING COMBUSTION ENGINES
- F02D41/00—Electrical control of supply of combustible mixture or its constituents
- F02D41/22—Safety or indicating devices for abnormal conditions
- F02D2041/224—Diagnosis of the fuel system
-
- F—MECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
- F02—COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
- F02D—CONTROLLING COMBUSTION ENGINES
- F02D41/00—Electrical control of supply of combustible mixture or its constituents
- F02D41/02—Circuit arrangements for generating control signals
- F02D41/14—Introducing closed-loop corrections
- F02D41/1438—Introducing closed-loop corrections using means for determining characteristics of the combustion gases; Sensors therefor
- F02D41/1439—Introducing closed-loop corrections using means for determining characteristics of the combustion gases; Sensors therefor characterised by the position of the sensor
- F02D41/1441—Plural sensors
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02T—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
- Y02T10/00—Road transport of goods or passengers
- Y02T10/10—Internal combustion engine [ICE] based vehicles
- Y02T10/40—Engine management systems
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)
Description
この種の装置においては、A/Fセンサからの出力信号に基づいて、排気浄化触媒(以下、単に「触媒」と称する。)に流入する排ガスの空燃比が目標空燃比になるように、燃料噴射量がフィードバック制御される(以下、この制御を「メインフィードバック制御」と称する。)。また、このメインフィードバック制御と併せて、O2センサからの出力信号を燃料噴射量にフィードバックする制御も行われる(以下、この制御を「サブフィードバック制御」と称する。)。
具体的には、メインフィードバック制御においては、A/Fセンサからの出力に対応する排気の空燃比と目標空燃比との偏差に応じて、フィードバック補正量が算出される。一方、サブフィードバック制御においては、O2センサからの出力信号に基づいてサブフィードバック量(サブフィードバック補正量)が算出される。そして、このサブフィードバック量をメインフィードバック制御にフィードバックすることで、A/Fセンサからの出力に対応する排気の空燃比と目標空燃比との偏差が補正される。
また、サブフィードバック制御では、サブフィードバック量に含まれる定常的な成分が、サブフィードバック学習値として取得される。このサブフィードバック学習値は、A/Fセンサからの出力信号に含まれる恒常的な誤差に対応したものである。よって、サブフィードバック学習値がメインフィードバック制御にフィードバックされることで、上述の恒常的な誤差が補償される。これにより、サブフィードバック制御による空燃比補正の開始後、すみやかに、実空燃比を目標空燃比に近づけることが可能になる。
なお、上述のサブフィードバック学習値は、複数気筒間の実空燃比の偏差が過大になったか否かの判定や、失火判定にも用いられる(例えば、特開2009−30455号公報等参照。これらの異常判定の詳細については本発明の実施形態の説明の際に併せて説明する。)。
このように、サブフィードバック学習値は、この種の装置における様々な用途において、非常に有用かつ重要である。そこで、サブフィードバック学習値が迅速かつ精度よく収束するように、従来、種々の構成が提案されている(例えば、特開2009−162139号公報、特開2009−180145号公報、等参照。)。
(構成)
本発明の適用対象である内燃機関システムは、多気筒内燃機関と、複数の燃料噴射弁と、触媒と、下流側空燃比センサと、上流側空燃比センサと、を備えている。
複数の前記燃料噴射弁は、複数の気筒の各々に対応して設けられている。
前記触媒は、複数の前記気筒からの排気が集合する排気集合部よりも排気流動方向における下流側にて、排気通路に介装(配設)されている。
前記下流側空燃比センサは、前記触媒よりも前記排気流動方向における下流側の部位にて、前記排気通路に介装されていて、当該部位における排気の空燃比に対応する出力を発生するようになっている。
前記上流側空燃比センサは、前記触媒及び前記下流側空燃比センサよりも前記排気流動方向における上流側の部位にて、前記排気通路に介装されていて、当該部位における排気の空燃比に対応する出力を発生するようになっている。
本発明の内燃機関システム制御装置(以下「制御装置」と称する)は、前記内燃機関システムを制御するように構成されている。具体的には、この制御装置は、サブフィードバック学習手段と、状態判定手段と、学習更新速度設定手段と、を備えている。
前記サブフィードバック学習手段は、サブフィードバック量の定常成分に対応した量である、サブフィードバック学習値を、取得するようになっている。前記サブフィードバック量は、前記下流側空燃比センサの出力に対応する排気の空燃比を理論空燃比に一致させるように前記燃料噴射弁による燃料噴射量をフィードバック制御するための制御量である。
前記状態判定手段は、前記サブフィードバック学習値の変動状態が、
(a)安定している安定状態、
(b)大きく変動している不安定状態、
(c)両者の中間状態(準安定状態とも称し得る)、
の少なくとも3つのうちの、いずれであるかを判定するようになっている。
前記学習更新速度設定手段は、前記サブフィードバック学習手段による前記サブフィードバック学習値の更新速度を、前記状態判定手段による判定結果に応じて設定するようになっている。この学習更新速度設定手段は、前記不安定状態の方が前記中間状態よりも大きく、且つ前記中間状態の方が前記安定状態よりも大きくなるように、前記更新速度を設定するものである。
本発明の一つの特徴は、前記学習更新速度設定手段が、(典型的には前記状態判定手段による判定結果が切り替わった際に)前記更新速度を徐変することで、前記サブフィードバック学習値のハンチングの発生を抑制するように構成されたことにある。
本発明の他の特徴は、前記学習更新速度設定手段が、前記状態判定手段により判定された前記サブフィードバック学習値の変動状態の推移パターンが所定パターンに合致する場合に、前記更新速度の変更を許可するように構成されたことにある。この場合、前記状態判定手段は、前記安定状態と前記中間状態との間、又は、前記中間状態と前記不安定状態との間で推移するように、前記サブフィードバック学習値の変動状態を判定するものであってもよい。
本発明のさらに他の特徴は、前記状態判定手段が、ローパスフィルタを備えていて、下記の如く動作するように構成されたことにある。なお、かかる構成において、前記状態判定手段は、前記変動状態の判定結果に応じて、前記ローパスフィルタのパラメータを変更するようになっていてもよい。
前記サブフィードバック学習値をローパスフィルタによって処理することで得られた判定基準値から所定の第一判定幅までの範囲内に前記サブフィードバック学習値が入る場合に、前記不安定状態から前記中間状態へ前記変動状態の判定結果を一段階推移させる。一方、前記判定基準値から前記第一判定幅よりも小さい所定の第二判定幅までの範囲内に前記サブフィードバック学習値が入らない場合に、前記中間状態から前記不安定状態へ前記変動状態の判定結果を一段階推移させる。
さらに、前記判定基準値から所定の第三判定幅までの範囲内に前記サブフィードバック学習値が入る場合に、前記中間状態から前記安定状態へ前記変動状態の判定結果を一段階推移させる。なお、前記第三判定幅は、前記第二判定幅以下に設定され得る。一方、前記判定基準値から前記第三判定幅よりも小さい所定の第四判定幅までの範囲内に前記サブフィードバック学習値が入らない場合に、前記安定状態から前記中間状態へ前記変動状態の判定結果を一段階推移させる。
本発明の制御装置は、異常判定手段をさらに備え得る。この異常判定手段は、前記サブフィードバック学習値に基づいて、前記内燃機関システムにおける異常の発生の有無を判定するようになっている。例えば、この異常判定手段は、インバランス異常判定を行うようになっている。このインバランス異常判定は、インバランス異常が発生したか否か、すなわち、複数の前記気筒の間の空燃比の偏差が過大になったか否か、の判定である。
(作用・効果)
かかる構成を備えた本発明の制御装置においては、前記サブフィードバック量の定常成分に対応して、前記サブフィードバック学習値が、前記サブフィードバック学習手段によって取得(更新)される。このとき、前記サブフィードバック学習値の更新速度は、前記状態判定手段による判定結果に応じて、前記学習更新速度設定手段によって設定されたものである。
すなわち、前記状態判定手段は、前記サブフィードバック学習値の変動状態が、前記安定状態、前記不安定状態、前記中間状態、の少なくとも3つのうちの、いずれであるかを判定する。具体的には、例えば、前記状態判定手段は、前記サブフィードバック学習手段による前記サブフィードバック学習値の取得(更新)状態に応じて、前記安定状態、前記不安定状態、前記中間状態、の間で、前記変動状態の判定結果(設定状態)を推移させる。
そして、前記学習更新速度設定手段は、前記サブフィードバック学習手段による前記サブフィードバック学習値の更新速度を、前記状態判定手段による判定結果(設定状態)に応じて設定する。具体的には、例えば、前記学習更新速度設定手段は、前記状態判定手段による判定結果が切り替わった際に、前記更新速度を徐変する。あるいは、例えば、前記学習更新速度設定手段は、前記変動状態の推移パターンが前記所定パターンに合致する場合に、前記更新速度の変更を許可する。
このように、本発明の制御装置においては、前記サブフィードバック学習手段による前記サブフィードバック学習値の更新速度が、前記サブフィードバック学習値の変動状態に応じて、適切に設定される。したがって、本発明によれば、前記サブフィードバック学習値のハンチングが可及的に抑制され、前記サブフィードバック学習値がより迅速に収束する。
図2は、図1に示されている上流側空燃比センサの概略構成を示す断面図である。
図3は、図2に示されている上流側空燃比センサの、排ガスの空燃比が理論空燃比よりもリーン側である場合の動作を説明するための図である。
図4は、図2に示されている上流側空燃比センサにおける、限界電流値と排ガスの空燃比との関係を示したグラフである。
図5は、図2に示されている上流側空燃比センサの、排ガスの空燃比が理論空燃比よりもリッチ側である場合の動作を説明するための図である。
図6は、図2に示されている上流側空燃比センサにおける、出力値と排ガスの空燃比との関係を示したグラフである。
図7は、図1に示されている下流側空燃比センサにおける、出力値と排ガスの空燃比との関係を示したグラフである。
図8は、気筒に供給された混合気の空燃比と、その気筒から排出される未燃成分と、の関係を示したグラフである。
図9は、インバランス割合とサブフィードバック量の学習値との関係を示したグラフである。
図10は、図1に示されている電気制御装置のCPUが実行する燃料噴射制御ルーチンの一具体例を示したフローチャートである。
図11は、図1に示されている電気制御装置のCPUがメインフィードバック量を算出するために実行するルーチンの、一具体例を示したフローチャートである。
図12は、図1に示されている電気制御装置のCPUがサブフィードバック量及びサブフィードバック学習値を算出するために実行するルーチンの、一具体例を示したフローチャートである。
図13は、図1に示されている電気制御装置のCPUが図12のルーチンを実行する際に参照するルックアップテーブルの一例を示した図である。
図14は、図1に示されている電気制御装置のCPUが調整値及び更新禁止回数(これらはサブフィードバック学習値の更新速度すなわち学習速度を規定する値である)を設定するために実行するルーチンの、一具体例を示したフローチャートである。
図15は、図1に示されている電気制御装置のCPUが図14のルーチンを実行する際に参照するルックアップテーブルの、一例を示した図である。
図16は、図1に示されている電気制御装置のCPUが図14のルーチンを実行する際に参照するルックアップテーブルの、一例を示した図である。
図17は、図1に示されている電気制御装置のCPUがサブフィードバック学習の進行程度すなわちサブフィードバック学習値の変動状態を表すstatus(ステータス)を判定及び変更するために実行するルーチンの、一具体例を示したフローチャートである。
図18は、図1に示されている電気制御装置のCPUが学習更新回数を示すカウンタ(インバランス異常判定を実行するか否かを決定する際に参照される)の更新のために実行するルーチンの、一具体例を示したフローチャートである。
図19は、図1に示されている電気制御装置のCPUがインバランス異常判定を行うために実行するルーチンの、一具体例を示したフローチャートである。
図20は、図1に示されている電気制御装置のCPUがstatusを判定及び変更するために実行するルーチンの、他の具体例を示したフローチャートである。
図21は、図1に示されている電気制御装置のCPUが調整値及び更新禁止回数を設定するために実行するルーチンの、他の具体例を示したフローチャートである。
(1.内燃機関システムの概略構成)
図1は、本発明の一実施形態が適用された内燃機関システム1の全体構成を示す概略図である。内燃機関システム1は、4サイクル・火花点火式の多気筒内燃機関2(以下、単に「機関2」と称する。)と、吸気系統3と、排気系統4と、を備えている。以下、内燃機関システム1の各部の構成について説明する。
(1−1.多気筒内燃機関)
機関2の本体20には、複数の気筒21が設けられている。具体的には、本例においては、4つの気筒21(第1気筒#1〜第4気筒#4)が、直列に配置されている。また、本体20には、気筒21の数に対応して、複数の吸気ポート22及び複数の排気ポート23が形成されている。
吸気ポート22は、気筒(燃焼室)21に燃料混合気(空気と燃料との混合気体:以下、単に「混合気」と称する。)を供給するための通路である。排気ポート23は、気筒(燃焼室)21から既燃ガスを排出するための通路である(排ガスは排気ポート23を介して気筒21から排出されたガスである)。機関2の本体20は、吸気ポート22を図示しない吸気弁により開閉するとともに、排気ポート23を図示しない排気弁により開閉するように構成されている(かかる構成は周知であるので、その詳細な説明は省略する。)。
本体20には、気筒21の数に対応して、複数(本例においては4個)の点火プラグ24が装着されている。点火プラグ24は、点火信号に応答して、火花発生部から点火用火花を発生するようになっている。各点火プラグ24は、上述の火花発生部が各気筒(燃焼室)21の頂部であって半径方向における中央部に露呈されるように配設されている。
また、本体20には、気筒21の数に対応して、複数(本例においては4個)のインジェクタ(燃料噴射弁)25が固定されている。インジェクタ25は、各吸気ポート22に一つずつ(すなわち、一つの気筒21に対して一つ)設けられている。インジェクタ25は、噴射指示信号に応答し、正常である場合に、その噴射指示信号に含まれる指示噴射量の燃料を、対応する吸気ポート22内に噴射するようになっている。このように、機関2は、複数の気筒21のそれぞれに対して、他の気筒21とは独立して燃料供給が行われるように構成されている。
さらに、機関2の本体20には、吸気弁制御装置26が設けられている。吸気弁制御装置26は、インテークカムシャフト(図示せず)とインテークカム(図示せず)との相対回転角度(位相角度)を油圧により調整及び制御する周知の構成を備えている。この吸気弁制御装置26は、指示信号(駆動信号)に基づいて作動することで、図示しない吸気弁の開弁タイミング(吸気弁開弁タイミング)を変更することができるようになっている。
(1−2.吸排気系統)
吸気系統3は、吸気マニホールド31、吸気管32、エアフィルタ33、スロットル弁34、及びスロットル弁アクチュエータ35を備えている。
吸気マニホールド(intake manifold)31は、各吸気ポート22に接続された複数の枝部と、それらの枝部が集合したサージタンク部と、を備えている。吸気管(intake pipe)32は、サージタンク部に接続されている。吸気マニホールド31、吸気管32、及び複数の吸気ポート22によって、吸気通路が構成されている。エアフィルタ33は、吸気管32の、吸気流動方向における上流側の端部に設けられている。
スロットル弁34は、エアフィルタ33と吸気マニホールド31との間の位置で、吸気管32内にて回動可能に取り付けられている。スロットル弁34は、回動することにより、吸気管32が形成する吸気通路の開口断面積を変更するようになっている。スロットル弁アクチュエータ35は、DCモータからなり、指示信号(駆動信号)に応答してスロットル弁34を回動させるようになっている。
排気系統4は、排気マニホールド41、排気管42、上流側触媒43、及び下流側触媒44を備えている。
排気マニホールド(exhaust manifold)41は、各排気ポート23に接続された複数の枝部41aと、それらの枝部41aが集合した集合部(排気集合部)41bと、からなっている。排気管(exhaust pipe)42は、排気マニホールド41の集合部41bに接続されている。排気マニホールド41、排気管42、及び複数の排気ポート23によって、排気通路(排ガスが通過する通路)が構成されている。
上流側触媒43は、酸素を吸蔵及び放出する機能(以下、「酸素吸蔵機能」と称する。)を有する、いわゆる三元触媒であって、排気管42に介装(配設)されている。すなわち、上流側触媒43は、集合部41bよりも排気流動方向における下流側にて、排気通路に介装されている。この上流側触媒43は、所定の活性温度に到達すると、酸素吸蔵機能により、未燃物(HC、CO及びH2等)と窒素酸化物(NOx)とを同時に浄化する触媒作用を発揮するようになっている。なお、かかる触媒作用は、インバランス異常(複数の気筒21の間の空燃比の偏差が過大になる異常)を検出するための、水素H2を酸化することにより浄化する作用、と表現することもできる。
下流側触媒44は、上流側触媒43と同様のいわゆる三元触媒であって、上流側触媒43よりも排気通流方向における下流側にて、排気管42に配設(介装)されている。
(1−3.各種センサ)
本実施形態における内燃機関システム1には、熱線式エアフローメータ51、スロットルポジションセンサ52、機関回転速度センサ53、水温センサ54、上流側空燃比センサ55、下流側空燃比センサ56、及びアクセル開度センサ57が設けられている。
熱線式エアフローメータ51は、エアフィルタ33とスロットル弁34との間の位置にて、吸気管32に介装されている。熱線式エアフローメータ51は、吸気管32内を流れる吸入空気の質量流量に応じた信号、すなわち、機関2の単位時間あたりの吸入空気量Gaを表す信号を出力するようになっている。
スロットルポジションセンサ52は、吸気管32における、スロットル弁34に対応する位置に装着されている。スロットルポジションセンサ52は、スロットル弁34の開度に応じた信号、すなわち、スロットル弁開度TAを表す信号を出力するようになっている。
機関回転速度センサ53は、機関2の本体20における、図示しないインテークカムシャフトに対応する位置に装着されている。機関回転速度センサ53は、インテークカムシャフトが5°回転する毎に幅狭のパルスを有するとともにインテークカムシャフトが360°回転する毎に幅広のパルスを有する信号(機関回転速度NE及び絶対クランク角の取得の基礎となる信号)を出力するようになっている。
水温センサ54は、機関2の本体20に装着されている。水温センサ54は、内燃機関2の冷却水の温度に応じた信号、すなわち、冷却水温THWを表す信号を出力するようになっている。
上流側空燃比センサ55は、周知のいわゆる限界電流式広域空燃比センサであって、排気マニホールド41の集合部41bと上流側触媒43との間の位置において、排気通路(排気マニホールド41又は排気管42)に配設されている。上流側空燃比センサ55は、その配設位置を流れる排ガスの空燃比(上流側空燃比abyfs)に応じた出力値Vabyfsを発生するようになっている。上流側空燃比センサ55の内部構造の詳細については後述する。
下流側空燃比センサ56は、周知のいわゆる濃淡電池型酸素濃度センサ(O2センサ)であって、上流側触媒43と下流側触媒44との間の位置において、排気通路(排気管42)に配設されている。下流側空燃比センサ56は、その配設位置を流れる排ガスの空燃比(下流側空燃比afdown)に応じた出力値Voxsを発生するようになっている。
アクセル開度センサ57は、運転者によって操作されるアクセルペダルAPの操作量を検出し、アクセルペダルAPの操作量Accpを表す信号を出力するようになっている。
(2.制御装置の概略構成)
本発明の一実施形態である電気制御装置60は、内燃機関システム1の動作を制御する装置であり、さらに詳しくは、機関2の空燃比を制御する空燃比制御装置である。この空燃比制御装置は、また、インバランス異常判定装置でもある。さらに、この空燃比制御装置は、燃料噴射量を制御する燃料噴射量制御装置でもある。
電気制御装置60は、本発明の各手段(サブフィードバック学習手段、状態判定手段、学習更新速度設定手段、及び異常判定手段)を構成するものであって、具体的には、CPU、ROM、RAM、バックアップRAM、インターフェース(ADコンバータを含む)、等からなる、周知のマイクロコンピュータである。この電気制御装置60は、インターフェースを介して、内燃機関システム1における、点火プラグ24やインジェクタ25等の動作部及び上述の各種センサと、電気的に接続されている。
すなわち、電気制御装置60は、インターフェースを介して上述の各種センサからの出力信号を受け取るとともに、当該信号に応じたCPUの演算結果に基づいて、上述の各動作部の動作を制御するための指示信号(駆動信号)を各動作部にインターフェースを介して送出するようになっている。
具体的には、例えば、電気制御装置60は、機関回転速度センサ53及び図示しないクランク角センサからの信号に基づいて、機関2のクランク角度(絶対クランク角)を取得するようになっている。また、電気制御装置60は、機関回転速度センサ53から出力される信号を、機関回転速度NEを表す信号に変換するようになっている。さらに、電気制御装置60は、取得されたアクセルペダルAPの操作量Accpが大きくなる程スロットル弁開度TAが大きくなるように、スロットル弁アクチュエータ35に指示信号を送出するようになっている。
(3.空燃比センサの構成の詳細)
図2は、図1に示されている上流側空燃比センサ55の概略構成を示す断面図である。上流側空燃比センサ55は、図2に示されているように、固体電解質層55aと、排ガス側電極層55bと、大気側電極層55cと、拡散抵抗層55dと、隔壁部55eと、ヒータ55fと、を備えている。
固体電解質層55aは、酸素イオン導電性を有する酸化物焼結体であって、本例においては、ZrO2(ジルコニア)にCaOを安定剤として固溶させた、いわゆる安定化ジルコニア素子である。この固体電解質層55aは、その温度が活性温度以上であるとき、周知の酸素電池特性及び酸素ポンプ特性を発揮するようになっている。酸素電池特性とは、酸素濃度の高い側から低い側へ酸素イオンを通過させることで起電力を発生する特性をいう。酸素ポンプ特性とは、固体電解質層55aの両端に電位差が与えられたとき、陰極(低電位側電極)から陽極(高電位側電極)へと、それらの電極間の電位差に応じた量の酸素イオンを移動させる特性をいう。これらの特性は、後述するように、上流側空燃比センサ55が排ガスの空燃比に応じた出力値を出力する際に発揮されるべき特性である。
排ガス側電極層55bは、固体電解質層55aの「一つの面」上に設けられている。大気側電極層55cは、固体電解質層55aの他の面上であって、固体電解質層55aを挟んで排ガス側電極層55bと対向するように設けられている。排ガス側電極層55b及び大気側電極層55cは、白金(Pt)等の触媒活性の高い貴金属からなり、ガス浸透性を十分に有するように、化学メッキ等により多孔質状に形成されている。
拡散抵抗層(拡散律速層)55dは、固体電解質層55aにおける前記「一つの面」及びその上に設けられた排ガス側電極層55bを覆うように設けられている。拡散抵抗層55dは、多孔質セラミック(耐熱性無機物質)からなり、プラズマ溶射法等により形成されている。
拡散抵抗層55dにおける、水素H2の拡散速度は、相対的に分子径の大きい炭化水素HC及び一酸化炭素CO等よりも大きい。このため、水素H2は、拡散抵抗層55dの存在により、炭化水素HC及び一酸化炭素CO等よりも、排ガス側電極層55bに速やかに到達する。よって、上流側空燃比センサ55は、拡散抵抗層55dの外表面(排ガス側電極層55bと対向する表面とは反対側の表面)が排ガスに晒される(機関2から排出された排ガスに接する)ように配置されている。
隔壁部55eは、緻密でガスを透過させないアルミナセラミックスからなり、側断面視にて略U字状に形成されている。隔壁部55eは、その開口端が固体電解質層55aによって塞がれることで、隔壁部55eと固体電解質層55aとの間に大気室55g(大気側電極層55cを収容する空間)を形成するように、固体電解質層55aと接合されている。この大気室55gには、大気が導入されている。
ヒータ55fは、隔壁部55eに埋設されている。ヒータ55fは、通電時に発熱することで固体電解質層55aを加熱するようになっている。
(4.空燃比センサの動作説明)
以下、図1及び図2に示されている、上流側空燃比センサ55及び下流側空燃比センサ56の動作について説明する。
図3に示されているように、上流側空燃比センサ55には、大気側電極層55c側が高電位となり排ガス側電極層55bが低電位となるような電圧Vが、電源55hにより印加される。
排ガスの空燃比が理論空燃比よりもリーン側である場合、上述した酸素ポンプ特性によって空燃比が検出される。すなわち、この場合、排ガス中に多量に含まれる酸素分子が拡散抵抗層55dを通って排ガス側電極層55bに到達する。この酸素分子は、排ガス側電極層55bにて電子を受け取ることで酸素イオンになる。この酸素イオンは、固体電解質層55aを通過し、大気側電極層55cにて電子を放出することで酸素分子になる。この結果、電源55hの正極から、大気側電極層55c、固体電解質層55a、及び排ガス側電極層55bを介して、電源55hの負極へと、電流Iが流れる。
電圧Vの大きさを所定値Vp以上に設定したとき、電流Iの大きさは、拡散抵抗層55dの外側表面に到達した排ガスに含まれる酸素分子のうちの、拡散抵抗層55dを通って排ガス側電極層55bへと拡散によって到達する量に応じて変化する。すなわち、電流Iの大きさは、排ガス側電極層55bにおける酸素濃度(酸素分圧)に応じて変化する。ここで、排ガス側電極層55bにおける酸素濃度は、拡散抵抗層55dの外側表面に到達した排ガスの酸素濃度に応じて変化する。この電流Iは、図4に示されているように、電圧Vを所定値Vp以上に設定しても変化しないから、「限界電流Ip」と称される。空燃比センサ55は、この限界電流Ip値に基づいて、空燃比に応じた値を出力する。
一方、排ガスの空燃比が理論空燃比よりもリッチ側である場合、図5に示されているように、上述した酸素電池特性によって空燃比が検出される。すなわち、この場合、排ガス中に多量に含まれる未燃物(HC,CO及びH2等)が拡散抵抗層55dを通って排ガス側電極層55bに到達する。すると、大気側電極層55cにおける酸素濃度と排ガス側電極層55bにおける酸素濃度との差(酸素分圧差)が大きくなるので、固体電解質層55aは酸素電池として機能する(印加電圧Vは、この酸素電池の起電力よりも小さくなるように設定される。)。
したがって、大気室55gに存在する酸素分子は、大気側電極層55cにて電子を受け取ることで酸素イオンとなる。この酸素イオンは、固体電解質層55aを通過して排ガス側電極層55bへと移動し、排ガス側電極層55bにて未燃物を酸化する際に電子を放出する。この結果、電源55hの負極から、排ガス側電極層55b、固体電解質層55a、及び大気側電極層55cを介して、電源55hの正極へと、電流Iが流れる。
この電流Iの大きさは、大気側電極層55cから固体電解質層55aを通って排ガス側電極層55bに到達する酸素イオンの量により定まる。上述した通り、この酸素イオンは、排ガス側電極層55bにて未燃物を酸化するために使用される。したがって、拡散により拡散抵抗層55dを通過して排ガス側電極層55bに到達する未燃物の量が多い程、固体電解質層55aを通過する酸素イオンの量は多くなる。換言すれば、空燃比が小さい程(理論空燃比よりもリッチ側であって未燃物の量が多い程)、電流Iの大きさは大きくなる。但し、拡散抵抗層55dの存在により、排ガス側電極層55bに到達する未燃物の量は制限される。よって、電流Iは空燃比に応じた一定値Ipとなる。上流側空燃比センサ55は、この限界電流Ip値に基づいて、空燃比に応じた値を出力する。
このような検出原理に基づく上流側空燃比センサ55は、図6に示されているように、上流側空燃比センサ55の配設位置を流れる排ガスの空燃比(上流側空燃比abyfs)に応じた出力値Vabyfsを出力する。出力値Vabyfsは、限界電流Ipを電圧に変換することにより得られる。この出力値Vabyfsは、被検出ガスの空燃比が大きくなる程(リーン側となる程)増大する。
電気制御装置60は、図6に示されている空燃比変換テーブル(マップ)Mapabyfsを記憶(格納)していて、出力値Vabyfsを空燃比変換テーブルMapabyfsに適用することにより、実際の上流側空燃比abyfsを検出する。この空燃比変換テーブルMapabyfsは、水素の選択的拡散も考慮して作成されている。換言すれば、各気筒21の空燃比を互いに等しい空燃比xに設定することにより、上流側空燃比センサ55に到達する排ガスの空燃比を値xに設定した場合の、上流側空燃比センサ55の実際の出力値Vabyfsに基づいて、空燃比変換テーブルMapabyfsが作成されている。
下流側空燃比センサ56の出力値Voxsは、図7に示されているように、上流側触媒43を通過した排ガスである被検出ガスの空燃比が理論空燃比よりもリッチのときに最大出力値max(例えば、約0.9V)となり、この被検出ガスの空燃比が理論空燃比よりもリーンのときに最小出力値min(例えば、約0.1V)となり、被検出ガスの空燃比が理論空燃比であるときに最大出力値maxと最小出力値minの略中間の電圧Vst(中間電圧Vst、例えば、約0.5V)となる。また、この出力値Voxsは、被検出ガスの空燃比が理論空燃比よりもリッチな空燃比からリーンな空燃比へと変化する際に最大出力値maxから最小出力値minへと急変するとともに、被検出ガスの空燃比が理論空燃比よりもリーンな空燃比からリッチな空燃比へと変化する際に最小出力値minから最大出力値maxへと急変する。
(5.インバランス異常判定の原理)
次に、本実施形態の電気制御装置60による、インバランス異常判定の原理について説明する。この「インバランス異常」とは、複数の気筒21間における空燃比の不均一性(以下、単に「空燃比インバランス」という。)が、警告必要値以上となったこと(すなわちエミッション上許容できない程度となったこと)をいうものとする。
機関2の燃料は、炭素と水素との化合物である。したがって、燃料が燃焼して水H2Oと二酸化炭素CO2へと変化する過程において、炭化水素HCや一酸化炭素COや水素H2等の中間生成物(未燃物)が生成される。
燃焼に供される混合気の空燃比が理論空燃比よりも小さくなる程(すなわちリッチ側になる程)、燃料が完全燃焼するために必要な酸素の量と、実際の酸素の量との差が増大する。換言すれば、空燃比がリッチ側になる程、燃焼途中における酸素の不足量が増大し、酸素濃度が低下する。よって、空燃比がリッチ側になる程、上述の中間生成物(未燃物)が酸素と出合って結合する(酸化される)確率が、急激に小さくなる。この結果、図8に示されているように、気筒21から排出される未燃物(HC、CO及びH2)の量は、気筒21に供給される混合気の空燃比がリッチ側になる程、急激に(二次関数的に)増大する。なお、図8の点P1、点P2、及び点P3は、ある気筒21に供給される燃料の量が、その気筒21の空燃比が理論空燃比に一致する場合の燃料の量に対して、それぞれ10%(=AF1)、30%(=AF2)及び40%(=AF3)だけ過剰となった点を示すものである。
気筒21から排出される未燃物のうち、水素H2は、炭化水素HC及び一酸化炭素CO等に比べて小さい分子である。このため、水素H2は、他の未燃物(HC,CO)に比較して、上流側空燃比センサ55の拡散抵抗層55dを迅速に拡散する。よって、HC,CO及びH2からなる未燃物が多量に発生すると、拡散抵抗層55dにおいて、水素H2の選択的拡散(優先的な拡散)が顕著に発生する。すなわち、水素H2は、空燃比検出素子の表面(固体電解質層55aの表面に形成された排ガス側電極層55b)に、他の未燃物(HC,CO)よりも多量に到達するようになる。この結果、水素H2の濃度と他の未燃物(HC,CO)の濃度とのバランスが崩れる。換言すれば、上流側空燃比センサ55の空燃比検出素子(排ガス側電極層55b)に到達した排ガスに含まれる全未燃成分に対する水素H2の割合が、機関2から排出された排ガスに含まれる全未燃成分に対する水素H2の割合よりも、大きくなる。
ところで、上述したように、本発明の一実施形態である電気制御装置60は、空燃比制御装置である。この空燃比制御装置は、上流側空燃比センサ55の出力値Vabyfsにより表される上流側空燃比abyfs(出力値Vabyfsに相当する空燃比)を、上流側目標空燃比abyfr」に一致させるように、空燃比のフィードバック制御(メインフィードバック制御)を行う。一般に、上流側目標空燃比abyfrは、理論空燃比stoichに設定される。
さらに、空燃比制御装置は、下流側空燃比センサ56の出力値Voxs(あるいは下流側空燃比センサの出力値Voxsにより表される下流側空燃比afdown)を、下流側目標値Voxsref(あるいは下流側目標値Voxsrefにより表される下流側目標空燃比)に一致させるように、空燃比のサブフィードバック制御を行う。一般に、下流側目標値Voxsrefは、理論空燃比に相当する値(0.5V)に設定される。
ここで、まず、空燃比インバランスは発生していないものの、各気筒21の空燃比が一律にリッチ側に偏移した場合を想定する。具体的には、例えば、各気筒21の空燃比が、図8におけるAF2であったと仮定する。なお、このような状態は、例えば、燃料噴射量を算出する際の基本量となる、機関2の吸入空気量の測定値又は推定値が、真の吸入空気量よりも大きくなったときに発生する。
ある気筒21の空燃比がAF2である場合、当該気筒21の空燃比がAF2よりも理論空燃比に近い空燃比AF1であるときに比べ、より多くの未燃物(水素H2)が排ガスに含まれる(点P1及び点P2参照)。したがって、上流側空燃比センサ55の拡散抵抗層55dにおいて、上述のような、水素H2の選択的拡散が発生する。
しかしながら、この場合、各気筒21が一回の燃焼行程を終了する間(クランク角720度に相当する期間)に機関2に供給される混合気の、空燃比の真の平均値もまた、AF2である。さらに、上述したように、図6に示されている空燃比変換テーブルMapabyfsは、水素H2の選択的拡散を考慮して作成されている。したがって、上流側空燃比センサ55の実際の出力値Vabyfsにより表される上流側空燃比abyfs(実際の出力値Vabyfsを空燃比変換テーブルMapabyfsに適用することにより得られる上流側空燃比abyfs)は、上述の、空燃比の真の平均値AF2に一致する。
それゆえ、メインフィードバック制御により、機関2全体に供給される混合気の空燃比は、上流側目標空燃比abyfrである理論空燃比に一致するように修正される。このとき、上述のように、空燃比インバランスは発生していないから、各気筒21の空燃比も理論空燃比に略一致する。したがって、サブフィードバック量(及び後述するサブフィードバック量の学習値)は、空燃比の補正を大きく行うような値とはならない。すなわち、空燃比インバランスが発生していない場合、サブフィードバック量(及び後述するサブフィードバック量の学習値)は、空燃比の補正を大きく行うような値とはならない。
次に、空燃比インバランスが発生した場合の各値の挙動について、上述したような、空燃比インバランスが発生していない場合の各値の挙動と比較しながら説明する。
ここで、機関2の各気筒21に吸入される空気量(重量)がA0であり、各気筒21に供給される燃料量(重量)がF0であるとき、空燃比A0/F0が理論空燃比(例えば、14.5)であると仮定する。
まず、空燃比インバランスは発生していないものの、吸入空気量の推定誤差等に起因して、各気筒21に対して供給(噴射)される燃料量が均等に10%だけ過剰となったと仮定する。すなわち、各気筒21に、1.1・F0の燃料が供給されたと仮定する。
このとき、4気筒の機関2に供給される空気量の総量(各気筒21がそれぞれ一回の燃焼行程を終了する間に機関2全体に供給される空気量)は、4・A0である。また、機関2に供給される燃料量の総量(各気筒21がそれぞれ一回の燃焼行程を終了する間に機関2全体に供給される燃料の量)は、4.4・F0(=1.1・F0+1.1・F0+1.1・F0+1.1・F0)である。よって、機関2全体に供給される混合気の空燃比の真の平均値は、4・A0/(4.4・F0)=A0/(1.1・F0)となる。このとき、上流側空燃比センサ55の出力値は、空燃比A0/(1.1・F0)に応じた出力値となる。
すると、各気筒21に供給される燃料の量がメインフィードバック制御により10%ずつ減量される(各気筒21にF0の燃料が供給されるようになる)。よって、機関2全体に供給される混合気の空燃比は、理論空燃比A0/F0に一致させられる。
これに対し、特定の気筒21の空燃比のみが大きくリッチ側にずれることで空燃比インバランスが発生した場合を想定する。このような状態は、例えば、特定の気筒21に対応して備えられているインジェクタ25の噴射特性が、指示された燃料噴射量よりも相当に多い量の燃料を噴射する特性になった場合に生じる。このようなインジェクタ25の異常は、燃料噴射弁のリッチずれ異常、とも称される。
具体的には、ある一つの気筒21(以下、「特定気筒」と称する。)に対して供給される燃料の量が40%だけ過剰な量(すなわち1.4・F0)であり、残りの3つの気筒21に対して供給される燃料の量は、それらの気筒21の空燃比が理論空燃比と一致するような燃料の量(すなわちF0)である、と仮定する。この場合、特定気筒の空燃比は、図8に示されているAF3であり、残りの気筒21の空燃比は、理論空燃比である。
このとき、4気筒の機関2に供給される空気量の総量は、4・A0である。一方、機関2に供給される燃料の総量は、4.4・F0(=1.4・F0+F0+F0+F0)である。よって、機関2全体に供給される混合気の空燃比の真の平均値は、4・A0/(4.4・F0)=A0/(1.1・F0)となる。すなわち、この場合の機関2全体に供給される混合気の空燃比の真の平均値は、上述した、各気筒21に対して供給される燃料の量が均等に10%だけ過剰である場合と同じ値となる。
しかしながら、上述したように、排ガス中の未燃物(HC、CO及びH2)の量は、気筒21に供給される混合気の空燃比がリッチ側になる程急激に増大する。
このため、特定気筒に対して供給される燃料の量のみが40%だけ過剰な量となった場合に、排ガスに含まれる水素H2の総量SH1は、図8によれば、SH1=H3+H0+H0+H0=H3+3・H0となる。これに対し、各気筒21に対して供給される燃料の量が均等に10%だけ過剰となった場合に、排ガスに含まれる水素H2の総量SH2は、図8によれば、SH2=H1+H1+H1+H1=4・H1となる。ここで、量H1は量H0よりも僅かに大きいが、量H1及び量H0は共に極めて微量である。すなわち、量H1及び量H0とは、量H3と比べた場合、互いに略等しいと言える。したがって、水素総量SH1は、水素総量SH2よりも極めて大きくなる(SH1>>SH2)。
このように、機関2全体に供給される混合気の空燃比の真の平均値が同一であっても、空燃比インバランスが発生した場合に排ガスに含まれる水素の総量SH1は、空燃比インバランスが発生していない場合に排ガスに含まれる水素の総量SH2よりも、顕著に大きくなる。
したがって、特定気筒に対して供給される燃料の量のみが40%だけ過剰な量となった場合、上述した拡散抵抗層55dにおける水素H2の選択的拡散に起因して、上流側空燃比センサの出力値Vabyfsにより表される空燃比は、機関2全体に供給される混合気の空燃比の真の平均値(A0/(1.1・F0))よりも、小(リッチ側)となる。つまり、排ガスの空燃比の平均値が同じであっても、空燃比インバランスが発生している場合には、空燃比インバランスが発生していない場合よりも、上流側空燃比センサ55の排ガス側電極層55bにおける水素H2の濃度が高くなるために、上流側空燃比センサ55の出力値Vabyfsは空燃比の真の平均値よりもリッチ側を示す値となるのである。この結果、メインフィードバック制御により、機関2全体に供給される混合気の空燃比の真の平均値は、理論空燃比よりもリーン側に制御されてしまう。
一方、下流側空燃比センサ56には、上流側触媒43を通過した排ガスが到達する。排ガスに含まれる水素H2は、他の未燃物(HC,CO)とともに、上流側触媒43において酸化(浄化)される。したがって、下流側空燃比センサ56の出力値Voxsは、機関2全体に供給される混合気の真の空燃比に応じた値となる。したがって、サブフィードバック制御にて算出される空燃比の制御量(サブフィードバック量等)は、上述のメインフィードバック制御による空燃比のリーン側への過補正を補う値となる。このようなサブフィードバック量等により、機関2の空燃比の真の平均値は、理論空燃比に一致させられる。
このように、サブフィードバック制御にて算出される空燃比の制御量(サブフィードバック量)は、インジェクタ25のリッチずれ異常による空燃比インバランスに起因する、空燃比のリーン側への過補正を、補償するような値となる。また、このリーン側への過補正の程度は、リッチずれ異常を起こしたインジェクタ25が、指示された噴射量に比較してより多くの量の燃料を噴射するようになる程(すなわち特定気筒の空燃比がリッチ側になる程)増大する。
したがって、サブフィードバック量が正の値であってその大きさが大きい程機関の空燃比がよりリッチ側へと補正されるシステムにおいては、サブフィードバック量に応じて変化する値(実際には、例えば、サブフィードバック量の定常成分に対応した量であるサブフィードバック学習値)は、空燃比インバランスの程度を示す値となる。
かかる知見に基づき、本実施形態の装置は、サブフィードバック量に応じて変化する値(本例においてはサブフィードバック量の学習値である「サブFB学習値」)を、インバランス判定用パラメータとして取得する。このインバランス判定用パラメータは、上流側触媒43を通過する前の排ガスに含まれる水素の量と上流側触媒43を通過した後の排ガスに含まれる水素の量との差が大きい程、大きくなるような値となる。そして、本実施形態の装置は、このインバランス判定用パラメータが異常判定閾値以上となった場合に、インバランス異常が発生したと判定する。
図9の実線は、空燃比インバランスが発生して、ある一つの気筒21の空燃比が理論空燃比からリッチ側及びリーン側に乖離した場合における、サブFB学習値を示している。図9に示されているグラフの横軸は、「インバランス割合」である。インバランス割合とは、理論空燃比Xに対する、理論空燃比Xとリッチずれした気筒21の空燃比afとの差Y(=X−af)の比(Y/X)のことである。上述したように、インバランス割合が大きくなる程、水素H2の選択的拡散の影響が急激に大きくなる。したがって、図9の実線により示されるように、サブFB学習値(したがってインバランス判定用パラメータ)は、インバランス割合が大きくなるのに従って、二次関数的に増大する。
なお、図9の実線により示されるように、インバランス割合が負の値である場合においても、そのインバランス割合の絶対値が増大する程、サブFB学習値は増大する。すなわち、例えば、一つの特定気筒の空燃比のみが大きくリーン側にずれるような空燃比インバランスが発生した場合にも、インバランス判定用パラメータとしてのサブFB学習値(あるいはサブFB学習値に応じた値)は増大する。このような状況は、例えば、特定気筒に対して備えられているインジェクタ25の噴射特性が、指示された燃料噴射量よりも相当に少ない量の燃料を噴射する特性になった場合に生じる。このようなインジェクタ25の異常は、燃料噴射弁のリーンずれ異常とも称される。
したがって、本実施形態の装置は、特定気筒の空燃比がリッチ側にずれた場合のみならず、リーン側にずれた場合においても、インバランス判定用パラメータが異常判定閾値Ath以上となったときに、インバランス異常が発生したと判定する。
なお、図9の破線は、各気筒21の空燃比を理論空燃比からリッチ側に一律に乖離させ且つメインフィードバック制御を中止した場合における、サブFB学習値を示している。この図9の破線における横軸方向のスケールは、空燃比インバランスが生じた場合の機関2の空燃比のズレと対応するように調整されている。すなわち、例えば、第1気筒のみが20%だけリッチ側にずれるような空燃比インバランスが生じた場合、インバランス割合は20%である。一方、各気筒21の空燃比が一律に5%(20%/4気筒)だけずれた場合、実際にはインバランス割合は0%であるが、図9においては、インバランス割合は20%に相当するものとして扱われる。図9の実線と破線との比較から、サブFB学習値が異常判定閾値Ath以上となったとき、インバランス異常が発生したと判定することができることが理解される。なお、実際には、メインフィードバック制御が実行されるので、空燃比インバランスが発生していない場合、サブFB学習値は図9の破線に示した程には増大しない。
(6.具体的な動作例の説明)
次に、本実施形態の装置の実際の動作例について説明する。以下、説明の便宜上、「MapX(a1,a2,…)」は、a1,a2,…を引数とする値Xを求めるためのテーブルを表すものとする。また、引数の値がセンサの検出値である場合、現在値が使用される。さらに、「statusN」は、statusが「N」(N=0,1,2)に設定された状態を表すものとする。statusは、後述するサブFB学習値Vafsfbg(時間積分値SDVoxs)の学習進行程度、すなわち、サブFB学習値Vafsfbgの変動状態の程度を表す。
(6−1.燃料噴射量制御)
電気制御装置60に備えられたCPU(以下、単に「CPU」という。)は、図10に示されている、燃料噴射量Fiの計算及び燃料噴射指示を行うルーチン1000を、所定のタイミングになる毎に繰り返し実行する。この「所定のタイミング」とは、本例においては、所定の気筒21(以下、「燃料噴射気筒」とも称する。)のクランク角が、吸気上死点前の所定クランク角度(例えば、BTDC90°CA)となる毎のことをいうものとする。したがって、所定のタイミングになると、CPUは、ステップ1010ないしステップ1040の処理を順次実行した後、本ルーチンを一旦終了する。
ステップ1010:機関回転速度NEと、エアフローメータ51によって計測された吸入空気量Gaとを、テーブルMapMc(Ga,NE)に適用することで、筒内吸入空気量Mc(k)が取得される。この筒内吸入空気量Mc(k)は、燃料噴射気筒に吸入される空気量に対応する量である。取得された筒内吸入空気量Mc(k)は、各吸気行程に対応されながらRAM73内に記憶される。
ステップ1020:筒内吸入空気量Mc(k)を上流側目標空燃比abyfrで除することで、基本燃料噴射量Fbaseが求められる。上流側目標空燃比abyfrは、後述するような特殊な場合を除き、理論空燃比stoichに設定されている。
ステップ1030:基本燃料噴射量Fbaseをメインフィードバック量DFiにより補正する(より具体的には基本燃料噴射量Fbaseにメインフィードバック量DFiを加える)ことで、最終燃料噴射量Fiが算出される。メインフィードバック量DFiについては後述する。
ステップ1040:上述のステップ1030にて算出された最終燃料噴射量Fiに対応する指示信号が、燃料噴射気筒に対応して設けられているインジェクタ25に対して送出される。この指示信号は、最終燃料噴射量(指示噴射量)Fiの燃料が、燃料噴射気筒に対応して設けられているインジェクタ25から噴射されるように生成されている。
このように、各インジェクタ25から噴射される燃料の量は、全ての気筒21に対して共通するメインフィードバック量DFiによって、一律に増減される。
なお、CPUは、フューエルカット運転(以下、「FC制御」とも称する。)も実行する。FC制御は、燃料噴射を停止する制御である。FC制御は、以下のフューエルカット開始条件が成立したときに開始され、以下のフューエルカット復帰(終了)条件が成立したときに終了する。そして、フューエルカット開始条件が成立した時点からフューエルカット復帰条件が成立する時点までの間、燃料噴射が停止される。すなわち、図10のステップ1030の最終燃料噴射量Fiの値が「0」に設定される。
・フューエルカット開始条件
スロットル弁開度TAが「0」(又はアクセルペダル操作量Accpが「0」)であり、且つ、機関回転速度NEがフューエルカット開始回転速度NEFCth以上であるとき。
・フューエルカット復帰条件
フューエルカット運転中であって且つスロットル弁開度TA(又はアクセルペダル操作量Accp)が「0」よりも大きくなったとき、又は、
フューエルカット運転中であって且つ機関回転速度NEがフューエルカット復帰回転速度NERTth以下となったとき(NERTthはフューエルカット開始回転速度NEFCthよりも小さい)。
(6−2.メインフィードバック量の算出)
CPUは、図11に示されているメインフィードバック量算出ルーチン1100を、所定時間の経過毎に繰り返し実行する。したがって、所定のタイミングになると、CPUは、ステップ1105から処理を開始し、各ステップの処理を順次実行する。
ステップ1105においては、メインフィードバック制御条件(上流側空燃比フィードバック制御条件)が成立しているか否かが判定される。
メインフィードバック制御条件は、例えば、以下の総ての条件が成立したときに成立する。
(A1)上流側空燃比センサ55が活性化している。
(A2)機関の負荷(負荷率)KLが閾値KLth以下である。
(A3)フューエルカット中でない。
負荷率KLは、ここでは、下記の(1)式により求められる。(1)式において、Mc(k)は筒内吸入空気量、ρは空気密度(単位は(g/l))、Lは機関2の排気量(単位は(l))、「4」は機関2における気筒21の数である。
KL=(Mc(k)/(ρ・L/4))・100% …(1)
いま、メインフィードバック制御条件が成立しているものとして説明を続けると(ステップ1105=Yes)、処理がステップ1105から以下のステップ1110ないしステップ1140に進行し、ステップ1140が終了すると本ルーチンが一旦終了する。
ステップ1110:フィードバック制御用出力値Vabyfcが、下記(2)式に従って取得される。(2)式において、Vabyfsは上流側空燃比センサ55の出力値であり、Vafsfbは下流側空燃比センサ56の出力値Voxsに基づいて算出されるサブフィードバック量である。これらの値は、いずれも、現時点において得られている値である。サブフィードバック量Vafsfbの算出方法については、後述する。
Vabyfc=Vabyfs+Vafsfb …(2)
ステップ1115:下記(3)式の通り、上述のフィードバック制御用出力値Vabyfcを図6に示されている空燃比変換テーブルMapabyfsに適用することにより、フィードバック制御用空燃比abyfscが得られる。
abyfsc=Mapabyfs(Vabyfc) …(3)
ステップ1120:下記(4)式に従って、筒内燃料供給量Fc(k−N)が求められる。この筒内燃料供給量Fc(k−N)は、現時点よりもNサイクル前の時点において、燃焼室(気筒)21に実際に供給された燃料の量である。すなわち、現時点よりも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ストロークに相当する時間を要している(但し、実際には、上流側空燃比センサ55には、各気筒21から排出された排ガスがある程度混合された後に到達する。)。
ステップ1125:目標筒内燃料供給量Fcr(k−N)が、下記(5)式に従って求められる。この目標筒内燃料供給量Fcr(k−N)は、現時点よりもNサイクル前の時点において、燃焼室(気筒)21に供給されるべきであった燃料の量である。
すなわち、現時点からNストローク前の筒内吸入空気量Mc(k−N)を上流側目標空燃比abyfrで除すことにより、目標筒内燃料供給量Fcr(k−N)が求められる。
Fcr=Mc(k−N)/abyfr …(5)
上述したように、上流側目標空燃比abyfrは、通常運転時において、理論空燃比stoichに設定される。一方、硫黄等に起因する排気臭の発生を防止することを目的として、所定のリーン設定条件が成立したとき、上流側目標空燃比abyfrは、理論空燃比よりもリーン側の空燃比に設定される。また、以下の条件うちのいずれか1つが成立したとき、上流側目標空燃比abyfrは、理論空燃比よりもリッチ側の空燃比に設定されることもある。
・現時点がFC制御の終了後の所定期間内である場合。
・上流側触媒43の過熱を防止すべき運転状態(高負荷運転状態)である場合。
ステップ1130:下記(6)式に従って、筒内燃料供給量偏差DFcが取得される。すなわち、目標筒内燃料供給量Fcr(k−N)から、筒内燃料供給量Fc(k−N)を減じることにより、筒内燃料供給量偏差DFcが求められる。この筒内燃料供給量偏差DFcは、Nストローク前の時点で筒内に供給された燃料の過不足分を表す量となる。
DFc=Fcr(k−N)−Fc(k−N) …(6)
ステップ1135:下記(7)式に従って、メインフィードバック量DFiが求められる。この(7)式において、Gpは予め設定された比例ゲイン、Giは予め設定された積分ゲインである。さらに、(7)式の値SDFcは、筒内燃料供給量偏差DFcの積分値(時間積分値)である。すなわち、フィードバック制御用空燃比abyfscを上流側目標空燃比abyfrに一致させるための比例積分制御により、メインフィードバック量DFiが算出される。
DFi=Gp・DFc+Gi・SDFc …(7)
ステップ1140:その時点における筒内燃料供給量偏差DFcの積分値SDFcに、ステップ1130にて求められた筒内燃料供給量偏差DFcを加えることにより、新たな筒内燃料供給量偏差の積分値SDFcが取得される。
以上により、メインフィードバック量DFiが比例積分制御により求められ、このメインフィードバック量DFiが上述した図10のステップ1030の処理により最終燃料噴射量Fiに反映される。
ところで、上記(2)式の右辺のサブフィードバック量Vafsfbは、上流側空燃比センサ55の出力値Vabyfsに比較して小さい値となり、且つ、小さい値となるように制限されている。したがって、サブフィードバック量Vafsfbは、Voxs(下流側空燃比センサ56の出力値)を下流側目標値Voxsref(理論空燃比に相当する値)に一致させるための、補助的な補正量と考えることができる。この結果、フィードバック制御用空燃比abyfscは、上流側空燃比センサ55の出力値Vabyfsに実質的に基づく値であると言うことができる。すなわち、メインフィードバック量DFiは、上流側空燃比センサ55の出力値Vabyfsにより表される機関の空燃比を、上流側目標空燃比abyfr(理論空燃比)に一致させるための、補正量であると言うことができる。
一方、ステップ1105の判定時においてメインフィードバック制御条件が不成立であると(ステップ1105=No)、処理がステップ1105からステップ1145に進み、メインフィードバック量DFiの値が「0」に設定される。次いで、ステップ1150にて筒内燃料供給量偏差の積分値SDFcに「0」が格納され、本ルーチンが一旦終了する。このように、メインフィードバック制御条件が不成立であるとき、メインフィードバック量DFiが「0」に設定されるため、基本燃料噴射量Fbaseのメインフィードバック量DFiによる補正は行われない。
(6−3.サブフィードバック量及びサブFB学習値の算出)
CPUは、サブフィードバック量Vafsfb、及び、サブフィードバック量Vafsfbの学習値(サブFB学習値Vafsfbg)を算出するために、図12に示されているルーチン1200を、所定時間の経過毎に繰り返し実行する。したがって、所定のタイミングになると、CPUは、ステップ1205から処理を開始し、各ステップの処理を順次実行する。
ステップ1205においては、サブフィードバック制御条件が成立しているか否かが判定される。サブフィードバック制御条件は、以下の総ての条件が成立したときに成立する。なお、本例において、サブフィードバック制御条件とサブフィードバック量の学習条件とは同じである。
(B1)メインフィードバック制御条件が成立している。
(B2)下流側空燃比センサ56が活性化している。
(B3)上流側目標空燃比abyfrが理論空燃比stoichに設定されている。
(B4)フューエルカット(FC)制御終了直後から所定の更新禁止回数Lに対応した時間が経過している。更新禁止回数Lについては後述する。
いま、サブフィードバック制御条件が成立していると仮定して説明を続けると(ステップ1205=Yes)、処理が以下のステップ1210ないしステップ1235に進行し、ステップ1235の終了後に本ルーチンが一旦終了する。
ステップ1210:下記(8)式に従って、下流側空燃比センサ56の出力値Voxsと下流側目標値Voxsrefとの差である出力偏差量DVoxsが取得される。すなわち、下流側目標値Voxsrefから現時点の下流側空燃比センサ56の出力値Voxsを減じることにより、出力偏差量DVoxsが求められる。下流側目標値Voxsrefは、理論空燃比に相当する値Vst(0.5V)に設定されている。
DVoxs=Voxsref−Voxs …(8)
ステップ1215:後述の(10)式において使用される時間積分値SDVoxs(出力偏差量の積分値SDVoxs)が、下記(9)式に基づいて更新される。すなわち、CPUは、後述するようにバックアップRAMにサブFB学習値Vafsfbgとして格納されている、その時点における時間積分値SDVoxsに、ステップ1210にて求められた出力偏差量DVoxsと値Kとの積値K・DVoxsを加えることにより、新たな時間積分値SDVoxsを求める。
SDVoxs=SDVoxs+K・DVoxs …(9)
上記(9)式において、KはサブFB学習値Vafsfbgの更新速度を規定する調整値であり、後述する通り、サブFB学習値Vafsfbgの変動状態(後述するstatus)に応じて設定及び変更される値である。すなわち、時間積分値SDVoxsの1回あたりの更新量は、出力偏差量DVoxsに調整値Kを乗じた値K・DVoxsである。この調整値Kが設定及び変更されることにより、時間積分値SDVoxsの1回あたりの更新量K・DVoxsが設定及び変更される。
ステップ1220:ステップ1215にて求められた時間積分値SDVoxsが、サブFB学習値Vafsfbgとして、バックアップRAMに格納される。すなわち、ステップ1215及びステップ1220において、サブフィードバック量Vafsfbの学習が行われる。
ステップ1223:ステップ1220にて求められたサブFB学習値Vafsfbgを時定数τのローパスフィルタによって処理した値Vafsfbg0が取得される。本例においては、ローパスフィルタの時定数τは、図13に示されているルックアップテーブル(マップ)と調整値Kとに基づいて決定される。図13に示されているように、ローパスフィルタの時定数τは、サブFB学習値Vafsfbgの更新速度を規定する調整値Kに応じた値となっている。すなわち、本例においては、ローパスフィルタの時定数τが、学習速度(サブFB学習値Vafsfbgの更新速度)に応じて切り換えられる。具体的には、図13に示されているように、学習速度が大きい程、時定数τが大きくされる。
ステップ1225:ステップ1210にて算出された出力偏差量DVoxsから、前回出力偏差量DVoxsold(本ルーチンの前回実行時に算出された出力偏差量)を減じることにより、新たな出力偏差量の微分値(時間微分値)DDVoxsが求められる。
ステップ1230:下記(10)式に従って、サブフィードバック量Vafsfbが求められる。この(10)式において、Kpは予め設定された比例ゲイン(比例定数)、Kiは予め設定された積分ゲイン(積分定数)、Kdは予め設定された微分ゲイン(微分定数)である。また、Kp・DVoxsは比例項、Ki・SDVoxsは積分項、Kd・DDVoxsは微分項に対応する。このとき、バックアップRAMに記憶されている時間積分値SDVoxsの最新値(すなわちサブFB学習値Vafsfbg)が、積分項Ki・SDVoxsを得るために利用される。
Vafsfb=Kp・DVoxs+Ki・SDVoxs+Kd・DDVoxs …(10)
ステップ1235:ステップ1210にて算出された出力偏差量DVoxsが、前回出力偏差量DVoxsoldとして格納される。
時間積分値SDVoxsは、サブフィードバック制御(すなわちサブフィードバック量Vafsfbの更新)が十分に長い期間にわたって安定して実行されたとき、収束する。このときの収束値をSDVoxs1とすると、この収束値SDVoxs1は、サブフィードバック量の定常成分に応じた値であり、例えば、エアフローメータ51の空気量測定誤差、及び、上流側空燃比センサ55の空燃比検出誤差等を反映した値となる。
このように、下流側空燃比センサ56の出力値Voxsを下流側目標値Voxsrefに一致させるための比例・積分・微分(PID)制御により、サブフィードバック量Vafsfbが算出される。このサブフィードバック量Vafsfbは、上記(2)式の通り、フィードバック制御用出力値Vabyfcを算出するために使用される。
以上の処理により、所定時間の経過毎に、サブフィードバック量VafsfbとサブFB学習値Vafsfbgとが更新される。
一方、サブフィードバック制御条件が成立していない場合(ステップ1205=No)、処理がステップ1240に進行し、サブフィードバック量Vafsfbの値が、バックアップRAMに格納してあるサブFB学習値Vafsfbgと積分ゲインKiとの積(Ki・Vafsfbg=ki・SDVoxs)に設定され、本ルーチンが一旦終了する。
以上のようにして、メインフィードバック制御及びサブフィードバック制御が実行される。
(6−4.statusの説明)
次に、サブフィードバック学習の進行程度、すなわち、サブFB学習値Vafsfbgの変動状態を表す、status(ステータス)について説明する。
statusN(N=0、1、2)は、以下のように定義される。なお、上述の収束値SDVoxs1に対するサブFB学習値Vafsfbgの収束状態を、以下、単に「サブFB学習値Vafsfbgの収束状態」と称する。
・status0(statusが「0」):サブFB学習値Vafsfbgの収束状態が良好でない。このstatus0は、サブFB学習値Vafsfbgが大きく変動する「不安定状態」、すなわち、サブFB学習値Vafsfbgが収束値SDVoxs1から乖離し、且つ、サブFB学習値Vafsfbgの変化速度が大きい状態を意味する。
・status2(statusが「2」):サブFB学習値Vafsfbgの収束状態が良好である。このstatus2は、「安定状態」、すなわち、収束値SDVoxs1の近傍にてサブFB学習値Vafsfbgが安定している状態を意味する。
・status1(statusが「1」):サブFB学習値Vafsfbgの収束状態が、「中間状態」、すなわち、上述の「安定状態」と「不安定状態」との間にある。
(6−5.調整値K及び更新禁止回数Lの設定)
続いて、調整値K及び更新禁止回数L(これらはサブFB学習値Vafsfbgの更新速度すなわち学習速度を規定する値である)を設定する際の動作について説明する。更新禁止回数Lは、FC制御が終了した時点から、図12のステップ1215における時間積分値SDVoxsの更新が禁止される回数である。この更新禁止回数Lは、FC後リッチ制御の実行期間に対応する燃料噴射回数よりも大きい値に設定される。ここで、「FC後リッチ制御」とは、FC制御を終了した時点から所定時間にわたり上流側目標空燃比abyfrを理論空燃比stoichよりも小さい値(リッチ側)に設定する制御である。
CPUは、調整値K及び更新禁止回数Lを設定するために、図14に示されているルーチン1400を、機関2の始動時点以降、所定時間が経過する毎にあるいは吸気行程を迎える気筒21について燃料噴射開始時点が到来する毎に、繰り返し実行する。
したがって、CPUは、機関2の始動時点以降の所定のタイミングになると、図14のステップ1410から処理を開始する。まず、ステップ1410においては、statusが更新されたか否かが判定される。
statusが更新された場合(ステップ1410=Yes)、処理がステップ1420に進行し、調整値KがテーブルMapK(Cmax,status)に基づいて決定される。なお、statusが更新されていない場合(ステップ1410=No)、ステップ1420の処理がスキップされる。
図15は、上流側触媒43の最大酸素吸蔵量Cmax及びstatusと、調整値Kとの関係を規定したテーブルMapK(Cmax,status)を示している。図15に示されているテーブルMapK(Cmax,status)によれば、各statusにおける調整値Kは、最大酸素吸蔵量Cmaxが大きい程、より小さい値となる。
また、このテーブルMapK(Cmax,status)によれば、最大酸素吸蔵量Cmaxが一定の場合、status0での調整値Kがstatus1のものよりも大きく、且つ、status1での調整値Kがstatus2のものよりも大きくなるように、調整値Kが決定される。このように、最大酸素吸蔵量Cmaxが一定の場合、調整値Kとstatusの値との「1対1」の関係が成立する。
この調整値Kは、上述したように、図12のステップ1215にて時間積分値SDVoxsを更新する際に使用される。したがって、statusが「0」である場合は、statusが「1」又は「2」である場合よりも、時間積分値SDVoxsの更新速度が大きくなる。すなわち、statusが「0」である場合は、statusが「1」又は「2」である場合よりも、サブFB学習値Vafsfbgの更新速度すなわち学習速度が大きくなる(図12のステップ1215及びステップ1220参照)。同様に、statusが「1」である場合は、statusが「2」である場合よりも、時間積分値SDVoxsの更新速度すなわちサブFB学習値Vafsfbgの更新速度が大きくなる。
上流側触媒43の最大酸素吸蔵量Cmaxは、いわゆるアクティブ空燃比制御によって、別途取得されている。アクティブ空燃比制御は、例えば、特開平5−133264号公報等に記載された周知の制御である。したがって、本明細書においては、その詳細な説明は省略されている。なお、本例においては、最大酸素吸蔵量Cmaxは、取得される毎にバックアップRAMに記憶及び更新され、各種パラメータ(調整値K及び更新禁止回数L等)の算出に用いられる際にバックアップRAMから読み出される。
次に、ステップ1450にて、FC制御が終了した直後であるか否かが判定される。FC制御が終了した直後である場合(ステップ1450=Yes)、処理がステップ1460に進行し、更新禁止回数LがテーブルMapL(Cmax,status)に基づいて決定された後、本ルーチンが一旦終了する。FC制御が終了した直後ではない場合(ステップ1450=No)、ステップ1460の処理がスキップされ、本ルーチンが一旦終了する。
図16は、上流側触媒43の最大酸素吸蔵量Cmax及びstatusと、更新禁止回数Lとの関係を規定したテーブルMapL(Cmax,status)を示している。図16に示されているテーブルMapL(Cmax,status)によれば、各statusにおける更新禁止回数Lは、最大酸素吸蔵量Cmaxが大きい程大きい値となるように決定される。さらに、このテーブルMapL(Cmax,status)によれば、最大酸素吸蔵量Cmaxが一定の場合、status0での更新禁止回数Lがstatus1のものよりも小さく、且つ、status1での更新禁止回数Lがstatus2のものよりも小さくなるように、更新禁止回数Lが設定される。
(6−6.ステータス判定)
CPUは、statusを判定及び変更するために、図17に示されているステータス判定ルーチン1700を、所定時間の経過毎に繰り返し実行する。
したがって、所定のタイミングになると、CPUは、ステップ1710から処理を開始し、各ステップの処理を順次実行する。
ステップ1710においては、サブFB学習条件が成立しているか否かが判定される。サブFB学習条件が成立していない場合(ステップ1710=No)、処理がステップ1715に進行して、カウンタCLが「0」に設定され、本ルーチンが一旦終了する。なお、カウンタCLは、機関2が搭載された車両の図示しないイグニッション・キー・スイッチがオフ位置からオン位置に切り換えられた際に実行される図示しないイニシャルルーチンにより「0」に設定されるようになっている。
以下、サブFB学習条件が成立しているものとして説明を続けると(ステップ1710=Yes)、次に、処理がステップ1720に進行し、現時点が、サブFB学習値Vafsfbgが更新された直後の時点であるか否か(図12のステップ1215及びステップ1220の処理を行った直後であるか否か)が判定される。現時点が、サブFB学習値Vafsfbgが更新された直後の時点でない場合(ステップ1720=No)、ステップ1725以下の処理がスキップされ、本ルーチンが一旦終了する。
これに対し、現時点が、サブFB学習値Vafsfbgが更新された直後の時点である場合(ステップ1720=Yes)、処理がステップ1725に進行し、判定幅ΔVafsfbgが、statusと、これをパラメータとするマップ(MapΔV)と、に基づいて設定される。ここで、判定幅ΔVafsfbgは、statusが安定方向にある程小さく設定される。換言すれば、ΔVafsfbgは、status0よりもstatus1の方が狭く、且つstatus1よりもstatus2の方が狭くなるように設定される。そして、ステップ1730にて、サブFB学習値Vafsfbgが、判定基準値Vafsfbgrから判定幅ΔVafsfbgまでの範囲内(判定基準値Vafsfbgrを中心とした2・ΔVafsfbgの範囲内)にあるか否かが判定される。この判定基準値Vafsfbgrは、後述するように、前回のステータス判定ルーチン1700の実行によりstatusの変更が行われた際に、サブFB学習値Vafsfbgをローパスフィルタ処理することで得られた値Vafsfbg0に基づいて設定されたものである。
サブFB学習値Vafsfbgが判定基準値Vafsfbgrから判定幅ΔVafsfbgまでの範囲内にある場合(ステップ1730=Yes)、処理がステップ1740に進行して、カウンタCLが「1」だけ増大する。続いて、ステップ1745にて、更新回数閾値CLthが、statusと、これをパラメータとするマップと、に基づいて設定される。そして、続くステップ1750にて、カウンタCLが上述の更新回数閾値CLth以上であるか否かが判定される。
サブFB学習値Vafsfbgが、所定時間(具体的にはカウンタCLがクリアされずに更新回数閾値CLth以上に達するまで)連続して、判定基準値Vafsfbgrから判定幅ΔVafsfbgまでの範囲内にある場合、サブFB学習値Vafsfbgが収束傾向にあるということができる。よって、この場合、ステップ1750の判定が「Yes」となり、処理がステップ1755に進行してカウンタCLがリセットされ、続くステップ1760にて、現在のstatusが「2」であるか否かが判定される。現在のstatusが「2」でない場合(すなわち現在のstatusが「0」又は「1」である場合:ステップ1760=No)、処理がステップ1770に進行して、1段階だけ安定方向にstatusが変更される。このとき、変更前のstatusの値が、前回判定値status_oldとしてバックアップRAMに格納される。次に、ステップ1775にて、新たな判定基準値Vafsfbgrが、サブFB学習値Vafsfbgをローパスフィルタ処理することで得られた値Vafsfbg0に基づいて設定された後、本ルーチンが一旦終了する。
カウンタCLが更新回数閾値CLth未満である場合(ステップ1750=No)、ステップ1755ないし1775の処理がスキップされ、本ルーチンが一旦終了する。また、カウンタCLが更新回数閾値CLth以上であっても(ステップ1750=Yes)、現在のstatusが「2」である場合(ステップ1760=Yes)、これ以上statusを安定方向に変更することができないため、ステップ1770及び1775の処理がスキップされ、本ルーチンが一旦終了する。
サブFB学習値Vafsfbgが判定基準値Vafsfbgrから判定幅ΔVafsfbgまでの範囲内に入らない場合(ステップ1730=No)、サブFB学習値Vafsfbgが不安定化したことになる。よって、この場合、処理がステップ1730からステップ1780に進行してカウンタCLがリセットされ、続くステップ1785にて、現在のstatusが「0」であるか否かが判定される。現在のstatusが「0」でない場合(ステップ1785=No)、すなわち、現在のstatusが「2」又は「1」である場合、処理がステップ1790に進行して、statusが1段階だけ不安定方向に変更される。このとき、変更前のstatusの値が、前回判定値status_oldとしてバックアップRAMに格納される。その後、処理がステップ1775に進行し、新たな判定基準値Vafsfbgrが、サブFB学習値Vafsfbgをローパスフィルタ処理することで得られた値Vafsfbg0に基づいて設定された後、本ルーチンが一旦終了する。なお、現在のstatusが「0」である場合(ステップ1785=Yes)、これ以上statusを不安定方向に変更することができないため、ステップ1790及び1775の処理がスキップされ、本ルーチンが一旦終了する。
以上説明したstatusの判定及び変更動作を概説すると、以下の通りとなる。
サブFB学習値Vafsfbgをローパスフィルタによって処理することで得られた判定基準値Vafsfbgrから、status0における所定の判定幅ΔVafsfbg(第一判定幅ΔVafsfbg1)までの範囲内に、サブFB学習値Vafsfbgが入る場合に、「0」から「1」にstatusが変更される(一段階推移する)。一方、判定基準値Vafsfbgrからstatus1における所定の判定幅ΔVafsfbg(第二判定幅ΔVafsfbg2:ΔVafsfbg1よりも小さい値)までの範囲内にサブFB学習値Vafsfbgが入らない場合に、逆にstatusが「1」から「0」に変更される。
また、判定基準値Vafsfbgrからstatus1における所定の判定幅ΔVafsfbg(第三判定幅ΔVafsfbg3:本例においてはΔVafsfbg2と同じ値)までの範囲内にサブFB学習値Vafsfbgが入る場合に、statusが「1」から「2」に変更される。一方、判定基準値Vafsfbgrからstatus2における所定の判定幅ΔVafsfbg(第四判定幅ΔVafsfbg4:ΔVafsfbg3よりも小さい値)までの範囲内にサブFB学習値Vafsfbgが入らない場合に、逆にstatusが「2」から「1」に変更される。
statusが「0」であるとき、調整値Kが大きい値に設定される。これにより、時間積分値SDVoxsの1回あたりの更新量K・DVoxs(の絶対値)が大きい値に設定される。すなわち、大きな調整値Kを用いることで、サブフィードバック量Vafsfb及び時間積分値SDVoxs(すなわちサブFB学習値Vafsfbg)の更新が迅速に行われる。さらに、FC制御の終了直後毎に、更新禁止回数Lが小さい値に設定される。これにより、FC制御が実行される場合、そのFC制御から復帰した後、時間積分値SDVoxsが更新禁止回数Lに応じた相対的に短い期間にわたって一定値に維持される。すなわち、小さな更新禁止回数Lを用いることで、サブFB学習値Vafsfbgの更新頻度(学習頻度)が高くなる。
statusが「0」から「1」に変更されると、調整値Kが大きい値から中程度の値に設定(変更)される。このため、時間積分値SDVoxsの1回あたりの更新量K・DVoxs(の絶対値)も中程度の値に設定される。また、FC制御の終了直後毎に、更新禁止回数Lが中程度の値に設定される。したがって、statusが「0」から「1」に変更されると、サブFB学習値Vafsfbg(時間積分値SDVoxs)は、収束値SDVoxs1に比較的近い値から中程度の変化速度をもって収束値SDVoxs1にさらに接近及び収束していく。
statusが「1」から「2」に変更されると、調整値Kが中程度の値から小さい値に設定(変更)される。このため、時間積分値SDVoxsの1回あたりの更新量K・DVoxs(の絶対値)も小さい値に設定される。また、FC制御の終了直後毎に、更新禁止回数Lが大きい値に設定される。したがって、statusが「1」から「2」に変更されると、サブFB学習値Vafsfbg(時間積分値SDVoxs)の変化速度はstatusが「1」の場合よりも小さくなる。また、この段階においては、サブFB学習値Vafsfbg(時間積分値SDVoxs)は収束値SDVoxs1に十分に近づいている。したがって、サブFB学習値Vafsfbg(時間積分値SDVoxs)は、空燃比を乱す状況(外乱)が発生しても、収束値SDVoxs1近傍の値に安定して維持される。
以上説明したように、statusは、所定期間(カウンタCLが0から更新回数閾値CLthに到達するまでの期間、換言すれば、サブFB学習値Vafsfbgが所定回数だけ更新される期間)におけるサブFB学習値Vafsfbgの変動幅に基づいて、判定、変更、あるいは設定される。そして、statusの判定(設定)結果に応じて、サブFB学習値Vafsfbgの更新速度(学習速度)が変更あるいは設定される。このとき、status0の方がstatus1よりも大きく、且つstatus1の方がstatus2よりも大きくなるように、サブFB学習値Vafsfbgの更新速度が設定される。
ここで、本実施形態においては、上述したように、サブFB学習値Vafsfbgをローパスフィルタ処理した値Vafsfbg0に基づいて取得された判定基準値Vafsfbgr、及び、status0の方がstatus1よりも大きく且つstatus1の方がstatus2よりも大きくなるような判定幅ΔVafsfbgに基づいて、statusの判定が行われる。このとき、ローパスフィルタの時定数τは、statusに基づいて設定される調整値K(サブFB学習値Vafsfbgの更新速度)に対応して変更される。すなわち、学習速度が大きい程、時定数τは大きくされる。そして、かかるstatusの判定結果に基づいて、3段階のstatusの設定状態の推移(変更)が、「0」から「1」、「1」から「2」、「2」から「1」、あるいは「1」から「0」というように、一段階ずつ行われる。さらに、かかるstatusの段階的な推移に対応して、サブFB学習値Vafsfbgの更新速度(学習速度)が、段階的に切り替えられる。
このように、本実施形態においては、サブFB学習値Vafsfbgの更新速度が、サブFB学習値Vafsfbgの変動状態に応じて、適切に設定される。具体的には、statusの判定結果が切り替わった際にサブFB学習値Vafsfbgの更新速度が徐変されることで、サブFB学習値Vafsfbgのハンチングの発生が抑制される。これにより、statusの設定状態(すなわちサブFB学習値Vafsfbgの更新速度の設定状態)の変更の不用意な繰り返しが可及的に抑制される。したがって、本実施形態によれば、サブFB学習値Vafsfbgがより迅速に収束する。
なお、このstatusは、以下に詳述するように、異常判定(インバランス異常判定)を実行するか否かを決定する際にも参照される。
(6−7.学習更新回数のカウント)
次に、後述するインバランス異常判定を実行するか否かを決定する際に参照される学習更新回数を示すカウンタCKの更新方法について説明する。なお、カウンタCKは、上述したイニシャルルーチンにおいて「0」に設定されるようになっている。
CPUは、このカウンタCKを更新するために、図18に示されている学習更新回数カウントルーチン1800を、所定時間の経過毎に繰り返し実行する。したがって、所定のタイミングになると、CPUはステップ1810から処理を開始し、各ステップの処理を順次実行する。
ステップ1810においては、機関2が始動直後であるか否かが判定される。始動直後であれば(ステップ1810=Yes)、処理がステップ1820に進行してカウンタCKが「0」に設定され、本ルーチンが一旦終了する。一方、機関2の始動直後でなければ(ステップ1810=No)、処理がステップ1830に進行し、現時点がサブFB学習値Vafsfbgの更新直後の時点であるか否かが判定される。
現時点がサブFB学習値Vafsfbgの更新直後の時点でなければ(ステップ1830=No)、ステップ1840の処理がスキップされ、本ルーチンが一旦終了する。一方、現時点がサブFB学習値Vafsfbgの更新直後の時点であると(ステップ1830=Yes)、処理がステップ1840に進行し、カウンタCLが「1」だけ増大され、本ルーチンが一旦終了する。このように、カウンタCKは、機関2の今回の始動後からの、サブFB学習値Vafsfbgの更新回数を示す値になる。
(6−8.インバランス異常判定)
次に、機関2の異常状態としての、過度の空燃比インバランスが発生したか否かを判定するための処理について説明する。
CPUは、図19に示されているインバランス異常判定ルーチン1900を、所定時間の経過毎に繰り返し実行する。
このルーチンによれば、後述する「異常判定中止条件」が不成立であり、且つ後述する「異常判定許可条件」が成立したときに得られている、サブFB学習値Vafsfbgの複数の値の平均が、「サブFB学習値平均値Avesfbg」として求められる(後述するステップ1940参照)。このサブFB学習値平均値Avesfbgは、異常判定用パラメータ(インバランス判定用パラメータ)として採用され、サブFB学習値平均値Avesfbgが異常判定閾値Ath以上であるとき、異常状態が発生した(すなわちインバランス異常が発生した)と判定される。
所定のタイミングになると、CPUは、ステップ1905から処理を開始し、各ステップの処理を順次実行する。
まず、ステップ1905においては、異常判定中止条件が成立しているか否かが判定される。この「異常判定中止条件」は、異常判定の禁止条件であって、これが成立しない場合に「異常判定実施前提条件」が成立する。この異常判定中止条件は、以下の(C1)〜(C6)に記載した条件のうちの少なくとも一つが成立したときに成立する。
(C1)メインフィードバック制御条件が成立していない。
(C2)サブフィードバック制御条件が成立していない。
(C3)サブフィードバック量の学習条件が成立していない。
(C4)上流側触媒43の酸素吸蔵量が第1閾値酸素吸蔵量以下である。
(C5)上流側触媒43が活性化していないと推定されている。
(C6)機関2から排出される排ガスの流量が閾値排ガス流量以上である。すなわち、エアフローメータ51により計測された吸入空気量Ga又は機関の負荷KLが閾値以上である。
上記条件(C4)を設ける理由は次の通りである。
上流側触媒43の酸素吸蔵量が第1閾値酸素吸蔵量以下であると、水素が上流側触媒43において十分に浄化されなくなるために、水素が上流側触媒43の下流に流出する可能性がある。この結果、下流側空燃比センサ56の出力値Voxsが水素の選択的拡散の影響を受ける可能性がある。あるいは、上流側触媒43の下流のガスの空燃比が、機関2全体に供給される混合気の空燃比の真の平均値に一致しなくなる。したがって、下流側空燃比センサ56の出力値Voxsは、「上流側空燃比センサ55の出力値Vabyfsを用いた空燃比フィードバック制御により過剰に補正された空燃比の真の平均値」に応じた値を示さない可能性が高い。このため、このような状態において空燃比インバランス異常判定を実行すると、判定を誤る可能性が高い。
なお、上流側触媒43の酸素吸蔵量は周知の手法により別途取得される。例えば、上流側触媒43の酸素吸蔵量OSAは、上流側触媒43に流入する過剰な酸素の量に対応する量を順次加算するとともに、上流側触媒43に流入する過剰な未燃成分の量に対応する量を順次減算することにより求められる。すなわち、上流側空燃比abyfsと理論空燃比stoichとの差に基づいて酸素の過不足量ΔO2(ΔO2=k・mfr・(abyfs−stoich))を所定時間の経過毎に求め(kは大気中の酸素の比率であり0.23、mfrはその所定時間に供給された燃料量)、その過不足量ΔO2を積算することにより酸素吸蔵量OSAが求められる(特開2007−239700号公報、特開2003−336535号公報、及び、特開2004−036475号公報、等を参照。)。
上記の条件(C6)を設ける理由は次の通りである。
機関2から排出される排ガスの流量が閾値排ガス流量以上であると、上流側触媒43に流入する水素の量が上流側触媒43の水素酸化能力を超えることで、水素が上流側触媒43の下流に流出する場合がある。したがって、下流側空燃比センサ56の出力値Voxsが水素の選択的拡散の影響を受ける可能性が高い。あるいは、触媒の下流のガスの空燃比が、機関2全体に供給される混合気の空燃比の真の平均値に一致しなくなる。その結果、空燃比インバランスが発生している場合であっても、下流側空燃比センサ56の出力値Voxsが、「上流側空燃比センサ55の出力値Vabyfsを用いた空燃比フィードバック制御によって過剰に補正された真の空燃比」に応じた値を示さない可能性が高い。したがって、このような状態において空燃比インバランス異常判定を実行すると、その判定を誤る可能性が高い。
さらに、この異常判定中止条件は、以下の(D1)〜(D3)に記載した条件のうちの少なくとも一つが成立したときに成立する。これらの条件が加えられる理由については後述する。
(D1)機関2の今回の始動後からの「サブFB学習値Vafsfbgの更新回数」が「学習更新回数閾値」よりも小さい。すなわち、カウンタCKが学習更新回数閾値CKthよりも小さい。
(D2)今回のstatus判定時におけるstatusの値であるstatus_now(statusの最新値)が「0」である。すなわち、サブFB学習値Vafsfbgの収束状態が良好でない(不安定状態にある)。
(D3)前回のstatus判定時におけるstatusの値であるstatus_oldが「2」で、且つ、今回のstatus判定時におけるstatus(最新のstatus)の値であるstatus_nowが「1」である。すなわち、サブFB学習値Vafsfbgの収束状態が、安定状態から中間状態へと変化した。
ここで、上述した異常判定中止条件が不成立である(上記条件(C1)〜(C6)及び条件(D1)〜(D3)の総てが不成立である)と仮定する。換言すれば、異常判定の前提条件が成立していると仮定する。
この場合、ステップ1905の判定結果が「No」となり、処理がステップ1910に進行して、異常判定許可条件が成立しているか否かが判定される。この異常判定許可条件は、下記(E1)及び(E2)の条件が成立したときに成立する。これらの条件が加えられる理由については後述する。
(E1)機関2の今回の始動後からの「サブFB学習値Vafsfbgの更新回数」が、「学習更新回数閾値」以上である。すなわち、カウンタCKが学習更新回数閾値CKth以上である。
(E2)今回のstatus判定時におけるstatus(最新のstatus)であるstatus_nowが「2」である。すなわち、サブFB学習値Vafsfbgの収束状態が良好である(安定状態にある)。
異常判定許可条件が成立しているとき(ステップ1910=Yes)、処理がステップ1915以降に進行する。かかるステップ1915以降の処理は、異常判定(空燃比インバランス異常判定)のための処理である。
ステップ1915:現時点が、サブFB学習値Vafsfbgが更新された直後の時点(サブFB学習値更新直後時点)であるか否かが判定される。現時点がサブFB学習値更新直後の時点であれば(ステップ1915=Yes)、処理がステップ1920に進行する。現時点がサブFB学習値更新直後の時点でなければ(ステップ1915=No)、ステップ1920以下がスキップされ、本ルーチンが一旦終了する。
ステップ1920:学習値積算カウンタCexeの値が「1」だけ増大される。
ステップ1925:図12のステップ1220にてバックアップRAMに格納されたサブFB学習値Vafsfbgが読み込まれる。
ステップ1930:サブFB学習値Vafsfbgの積算値SVafsfbgが更新される。すなわち、その時点の積算値SVafsfbgに、ステップ1925にて読み込まれたサブFB学習値Vafsfbgを加えることにより、新たな積算値SVafsfbgが得られる。
なお、この積算値SVafsfbgは、上述したイニシャルルーチンにより「0」に設定されるようになっている。また、積算値SVafsfbgは、後述するステップ1960の処理によっても、「0」に設定される。このステップ1960は、異常判定(インバランス異常判定:ステップ1945〜ステップ1955)が実行されたときに実行される。よって、積算値SVafsfbgは、機関2の始動後又は直前の異常判定実行後に、異常判定中止条件が成立しておらず(ステップ1905参照)、且つ、異常判定許可条件が成立している(ステップ1910参照)状態において更新される、サブFB学習値Vafsfbgの積算値となる。
ステップ1935:学習値積算カウンタCexeの値がカウンタ閾値Cth以上であるか否かが判定される。学習値積算カウンタCexeの値がカウンタ閾値Cthよりも小さいと(ステップ1935=No)、ステップ1940以下がスキップされ、本ルーチンが一旦終了する。これに対し、学習値積算カウンタCexeの値がカウンタ閾値Cth以上であると(ステップ1935=Yes)、処理がステップ1940以降に進行する。
ステップ1940:サブFB学習値Vafsfbgの積算値SVafsfbgを、学習値積算カウンタCexeで除することにより、サブFB学習値平均値Avesfbg(すなわち学習値Vafsfbgの時間的平均値)が求められる。上述したように、このサブFB学習値平均値Avesfbgは、上流側触媒43を通過する前の排ガスに含まれる水素の量と上流側触媒43を通過した後の排ガスに含まれる水素の量との差が大きい程大きくなるインバランス判定用パラメータ(異常判定用パラメータ)である。換言すれば、異常判定用パラメータは、学習値Vafsfbgに応じて変化する値(学習値Vafsfbgが大きい程大きくなる値)であって、学習値Vafsfbgに基づいて算出される。
ステップ1945:サブFB学習値平均値Avesfbgが異常判定閾値Ath以上であるか否かが判定される。上述の通り、気筒21間における空燃比の不均一性が過大となってインバランス異常が生じている場合、サブフィードバック量Vafsfbは機関2に供給される混合気の空燃比を大きくリッチ側に補正する値になろうとする。これに伴って、サブFB学習値Vafsfbgの平均値であるサブFB学習値平均値Avesfbgも、機関2に供給される混合気の空燃比を大きくリッチ側に補正する値(閾値Ath以上の値)となる。
したがって、サブFB学習値平均値Avesfbgが異常判定閾値Ath以上である場合(ステップ1945=Yes)、処理がステップ1950に進行し、異常発生フラグXerrがセットされる。すなわち、異常発生フラグXerrの値が「1」に設定される。ここで、異常発生フラグXerrの値が「1」であることは、インバランス異常が生じていることを示す。この異常発生フラグXerrの値は、バックアップRAMに格納される。さらに、異常発生フラグXerrの値が「1」に設定されたとき、CPUにより、図示しない警告ランプが点灯させられる。
これに対し、サブFB学習値平均値Avesfbgが異常判定閾値Athよりも小さい場合(ステップ1945=No)、処理がステップ1955に進行し、インバランス異常が生じていないことを示すように、異常発生フラグXerrがリセットされる。すなわち、異常発生フラグXerrの値が「0」に設定される。
ステップ1960:ステップ1950又はステップ1955の処理の後、学習値積算カウンタCexeの値が「0」に設定される(リセットされる)。また、サブFB学習値の積算値SVafsfbgが「0」に設定される(リセットされる)。
なお、異常判定中止条件が成立しているとき(ステップ1905=Yes)、処理がステップ1905からステップ1960に直接進行する。これにより、異常判定中止条件が成立したとき、その時点までに積算されてきたサブFB学習値の積算値SVafsfbgは破棄される。
また、ステップ1910にて、異常判定許可条件が成立していなければ(ステップ1910=No)、ステップ1915以降の処理がスキップされ、本ルーチンが一旦終了する。この場合、それまでに算出されてきたサブFB学習値の積算値SVafsfbgは破棄されない。換言すれば、異常判定許可条件が成立しているときのサブFB学習値Vafsfbgのみが、インバランス判定用パラメータ(異常判定用パラメータ)に反映される。
ここで、上記の(D1)〜(D3)並びに(E1)及び(E2)の条件が加えられた理由について述べる。
(6−8−1.条件(D1)及び条件(E1)が設けられた理由)
バッテリが車両から取り外される等によりバックアップRAMのデータが消失された場合、機関2の始動時から、学習値Vafsfbgの収束状態が異常判定が許可される状態(例えばstatus2)に変化するまでには、相当の時間を要する。一方、機関2の始動後からの学習値Vafsfbgの更新回数(カウンタCK)が所定の学習更新回数閾値(CKth)に到達した時点以降であれば、学習値Vafsfbgの収束状態は安定状態へと近づいている。
これに対し、バックアップRAMのデータが消失されていない場合、機関2の前回の運転終了時おける、学習値Vafsfbgの収束状態が、例えば安定状態(すなわちstatus2)であると、今回の運転開始時から比較的短時間内に異常判定が実行される。しかしながら、今回の運転においては、機関2の状態が変化している可能性がある。よって、少なくとも、機関2の始動後からの学習値Vafsfbgの更新回数(カウンタCK)が所定の学習更新回数閾値(CKth)に到達した時点以降に、異常判定(インバランス異常判定)を行うことが望ましい。
かかる観点から、条件(D1)及び条件(E1)が設けられている。すなわち、CPUは、機関2の始動後からの学習値Vafsfbgの更新回数を取得するとともに(カウンタCK参照)、その取得された学習値Vafsfbgの更新回数(カウンタCK)が所定の学習更新回数閾値(CKth)よりも小さい期間において異常判定の実行を中止する(条件D1及びステップ1905参照)。
さらに、CPUは、機関2の始動後からの学習値Vafsfbgの更新回数を取得するとともに(カウンタCK参照)、その取得された学習値Vafsfbgの更新回数(カウンタCK)が所定の学習更新回数閾値(CKth)以上であることを条件に、異常判定の実行を許可する(条件E1及びステップ1915参照)。
これによれば、バックアップRAMのデータが消失したか否かに関わらず、収束状態が良好となった学習値Vafsfbgに基づいて、異常判定用パラメータ(インバランス判定用パラメータ)が取得され得る。さらに、バックアップRAMのデータが消失していない場合と、バックアップRAMのデータが消失した場合とで、機関2の始動から異常判定(インバランス異常判定)実行までの期間(時間)を、略等しくすることができる。
(6−8−2.条件(D2)が設けられた理由)
status_nowが「0」である(条件(D2)及びステップ1905参照)ということは、現時点における学習値Vafsfbgの収束状態が良好でないことを意味する。すなわち、条件D2が成立する場合、学習値Vafsfbgがその収束値から乖離していて且つ学習値Vafsfbgの変化速度が大きいという可能性が高い。したがって、条件(D2)が成立したときに、異常判定が中止される。これにより、収束値近傍の値になっていない可能性が高い学習値Vafsfbgに基づいて異常判定用パラメータ(インバランス判定用パラメータ)が算出されることを、回避することができる。したがって、誤った異常判定が発生することを回避することができる。
(6−8−3.条件(D3)が設けられた理由)
status_oldが「2」であり且つstatus_nowが「1」である(条件(D3)及びステップ1905参照)ということは、学習値Vafsfbgの収束状態が安定状態にあると判定されている状態から、学習値Vafsfbgの収束状態が中間状態にあると判定されている状態へと変化したことを意味する。
このような状況においては、何らかの理由(例えば、収束値が急激に変化した、あるいは、大きな空燃比の変動を一時的にもたらす外乱が発生した、等の理由)により、学習値Vafsfbgの収束状態が、安定状態から不安定状態に向けて変化していると考えられる。換言すれば、このような状態の学習値Vafsfbgは、収束値近傍の値になっていない可能性が高い。したがって、条件(D3)が成立したときに、異常判定が中止される。これにより、収束値近傍の値になっていない可能性が高い学習値Vafsfbgに基づいて異常判定用パラメータ(インバランス判定用パラメータ)が算出されることを、回避することができる。したがって、誤った異常判定が発生することを回避することができる。
(6−8−4.条件(E2)が設けられた理由)
status_nowが「2」である(条件E2及びステップ1910参照)ということは、現時点における学習値Vafsfbgの収束状態が良好であり、学習値Vafsfbgが収束値近傍にて安定している、ということを意味する。したがって、条件(E2)が(上記条件(E1)と共に)成立したときに、異常判定が許可される。これにより、収束値近傍の値になっている可能性が高い学習値Vafsfbgに基づいて、異常判定用パラメータすなわちインバランス判定用パラメータを算出することができる。その結果、精度良く異常判定を行うことができる。
(7.他の具体例)
次に、図17に示されているルーチンの一部を変容した例を、図20を用いて説明する。図20のフローチャートの前半部分(ステップ2030以前)は、図17のフローチャートにおけるステップ1710ないし1730と共通であるので、図示が省略されているものとする。以下、ステップ2030以降の処理について、図20を参照しつつ説明する。
サブFB学習値Vafsfbgが判定基準値Vafsfbgrから判定幅ΔVafsfbgまでの範囲内にある場合(ステップ2030=Yes)、処理がステップ2040に進行して、カウンタCLが「1」だけ増大する。続いて、ステップ2045にて、更新回数閾値CLthが、statusと、これをパラメータとするマップと、に基づいて設定される。そして、続くステップ2050にて、カウンタCLが上述の更新回数閾値CLth以上であるか否かが判定される。
サブFB学習値Vafsfbgが、所定時間連続して判定基準値Vafsfbgrから判定幅ΔVafsfbgまでの範囲内にある場合、サブFB学習値Vafsfbgが収束傾向にあるということができる。よって、この場合、ステップ2050の判定が「Yes」となり、処理がステップ2055に進行してカウンタCLがリセットされ、続くステップ2060にて、現在のstatusが「2」であるか否かが判定される。
現在のstatusが「2」でない場合(現在のstatusが「0」又は「1」である場合:ステップ2060=No)、処理がステップ2067に進行して、statusの推移パターンが所定パターンに合致するか否かが判定される。かかる判定が行われる理由は、以下の通りである。
3段階のstatus(0,1,2)間の推移パターンとしては形式上は多数存在し得るが、実際には、以下に示すもの以外は、誤判定の可能性が高い。
・0−1−2:上述のように、バッテリ交換等により学習結果が一旦クリアされた後、学習が最初から行われる場合。
・2−1−0:インバランス異常等の発生により、サブFB学習値Vafsfbgの収束状態が、安定状態から中間状態を経て不安定状態に推移していく場合。
・2−1−2:サブFB学習値Vafsfbgの収束状態が安定状態である場合において、何らかの要因により、サブFB学習値Vafsfbgに小さな学習ズレが発生したとき。
そこで、ステップ2067においては、バックアップRAMに格納された前回判定値status_oldと、現在のstatusの値と、今回判定された値status_nextとが、上述の3つのパターンに合致するか否かが判定される。
statusの推移パターンが所定パターンに合致しない場合(ステップ2067=No)、処理がステップ2068に進行し、今回判定された値status_nextが前回値と同じであるか、すなわち、statusの判定結果が2回連続して同じであるか否かが判定される。
今回判定された値status_nextが前回値と同じではない場合(ステップ2068=No)、バックアップRAMに格納されたstatus_nextの前回値が今回値によって書き換えられた後、本ルーチンが一旦終了する。すなわち、statusの設定状態(サブFB学習値Vafsfbgの更新速度)の切り替えが一旦待機される。
一方、今回判定された値status_nextが前回値と同じである場合(ステップ2068=Yes)、処理がステップ2070及び2075に進行して、上述のステップ1770及び1775(図17参照)と同様に処理され、本ルーチンが一旦終了する。すなわち、この場合、statusが1段階だけ安定方向に変更される。
同様に、サブFB学習値Vafsfbgが判定基準値Vafsfbgrから判定幅ΔVafsfbgまでの範囲内に入らない場合であって(ステップ2030=No)、現在のstatusが「2」又は「1」であるとき(ステップ2085=No)、処理がステップ2087に進行し、上述のステップ2067と同様に、statusの推移パターンが所定パターンに合致するか否かが判定される。
statusの推移パターンが所定パターンに合致しない場合(ステップ2087=No)、処理がステップ2088に進行し、今回判定された値status_nextが前回値と同じであるか、すなわち、statusの判定結果が2回連続して同じであるか否かが判定される。
今回判定された値status_nextが前回値と同じではない場合(ステップ2088=No)、バックアップRAMに格納されたstatus_nextの前回値が今回値によって書き換えられた後、本ルーチンが一旦終了する。すなわち、statusの設定状態(サブFB学習値Vafsfbgの更新速度)の切り替えが一旦待機される。
一方、今回判定された値status_nextが前回値と同じである場合(ステップ2088=Yes)、処理がステップ2090及び2075に進行して、上述のステップ1790及び1775(図17参照)と同様に処理され、本ルーチンが一旦終了する。すなわち、この場合、statusが1段階だけ不安定方向に変更される。
以上詳述したように、本具体例においては、statusの推移パターンが上述の所定パターンに合致する場合に、サブFB学習値Vafsfbgの変更が許可される。一方、statusの推移パターンが上述の所定パターンに合致しない場合、statusの設定状態(サブFB学習値Vafsfbgの更新速度)の切り替えが一旦待機され、同一結果が2度続いた場合に切り替えが許可される。
これにより、statusの設定状態(すなわちサブFB学習値Vafsfbgの更新速度の設定状態)の変更の不用意な繰り返しが可及的に抑制される。したがって、本具体例によれば、サブFB学習値Vafsfbgのハンチングが可及的に抑制され、サブFB学習値Vafsfbgがより迅速に収束する。
(8.さらに他の具体例)
次に、図14に示されているルーチンの一部を変容した例を、図21を用いて説明する。CPUは、調整値K及び更新禁止回数Lを設定するために、図21に示されているルーチン2100を、機関2の始動時点以降、所定時間が経過する毎にあるいは吸気行程を迎える気筒21について燃料噴射開始時点が到来する毎に、繰り返し実行する。
したがって、機関2の始動時点以降の所定のタイミングになると、CPUは図21のステップ2110から処理を開始する。なお、図21に示されているルーチン2100におけるステップ2110、2120、2150、及び2160の処理は、図14におけるステップ1410、1420、1450、及び1460と、それぞれ同一である。よって、以下、図14に示されているルーチン1400との相違点を中心に説明する。
statusが更新された場合(ステップ2110=Yes)、処理が2115に進行し、現在の時点がstatusの最新更新時点の直後(当該最新更新時点から所定期間経過前)であるか否かが判定される。
現在の時点がstatusの更新直後でない場合(ステップ2115=No)、処理がステップ2120及び2150に進行する。ステップ2120においては、上述のステップ1420と同様に、調整値Kが、テーブルMapK(Cmax,status)と上流側触媒43の最大酸素吸蔵量Cmax及び現在のstatusの値とに基づいて決定される。
これに対し、現在の時点がstatusの更新直後である場合(ステップ2115=Yes)、処理がステップ2130ないし2140に進行する。ステップ2130においては、値K1が、テーブルMapK(Cmax,status)と上流側触媒43の最大酸素吸蔵量Cmax及び現在のstatusの値とに基づいて取得される。次に、ステップ2135において、値K2が、テーブルMapK(Cmax,status)と上流側触媒43の最大酸素吸蔵量Cmax及びstatusの前回値status_oldとに基づいて取得される。そして、ステップ2140にて、調整値Kが、値K1と値K2との間の値に決定される。具体的には、調整値Kが、値K1と値K2との平均値に決定される。その後、処理がステップ2150に進行する。
すなわち、本具体例においては、statusの判定(設定)結果が切り替わった直後の時点にて、調整値Kが、切り替えられるべき値K1と判定前の値K2との間の値に決定される(ステップ2110,2115,2130,2135,2140)。これにより、調整値Kの急変が抑制される。その後、調整値Kが、通常通り、テーブルMapK(Cmax,status)と上流側触媒43の最大酸素吸蔵量Cmax及び現在のstatusの値とに基づいて決定される。
以上のように、本具体例においては、statusの判定(設定)結果が切り替わった直後の時点にて、調整値Kが、切り替え判定前後の値の中間値に設定される。これにより、statusの判定(設定)結果が切り替わった際の、サブFB学習値Vafsfbgの更新速度の徐変が、容易且つ確実に行われる。
(9.変形例の例示列挙)
なお、上述の実施形態は、出願人が本願の出願時点において最良と考えた本発明の代表的な実施形態を単に例示したものにすぎない。よって、本発明は、もとより上述の実施形態に何ら限定されるものではない。したがって、本発明の本質的部分を変更しない範囲内において、上述の実施形態に対して種々の変形が施され得ることは、当然である。
以下、代表的な変形例について幾つか例示する。もっとも、言うまでもなく、変形例とて、以下に列挙されたものに限定されるものではない。また、複数の変形例の全部又は一部が、技術的に矛盾しない範囲内において、適宜、互いに複合的に適用され得る。本発明(特に、本発明の課題を解決するための手段を構成する各構成要素における、作用的ないし機能的に表現されているもの)は、上述の実施形態や下記変形例の記載に基づいて、不当に限定解釈されてはならない。
上流側触媒43は、水素H2を酸化することで浄化する機能を備えていれば、他の種類の触媒(例えば、酸化触媒)であってもよい。
下流側空燃比センサ56は、例えば、図2に示されている上流側空燃比センサ55と同様な構成(但し電源55hを除く)を備えていてもよい。あるいは、下流側空燃比センサ56は、試験管状の固体電解質層と、固体電解質層の外側に形成された排ガス側電極層と、大気室(固体電解質層の内側)に露呈し且つ固体電解室層を挟んで排ガス側電極層と対向するように固体電解質層に形成された大気側電極層と、排ガス側電極層を覆い且つ排ガスが接触する(排ガス中に晒されるように配置される)拡散抵抗層と、を備えるものであってもよい。
バックアップRAMに代えて、EEPROM等の不揮発性メモリが用いられ得る。
ステップ1010における筒内吸入空気量Mc(k)の取得は、周知の空気モデル(吸気通路における空気の挙動を模した物理法則に従って構築された計算モデル)による算出によって行われてもよい。
ステップ1105等における負荷率KLに代えて、機関の負荷としてアクセルペダル操作量Accp及びスロットル弁開度TA等が用いられても良い。
ステップ1205において、上述のサブフィードバック制御条件に、他の条件(負荷KLが所定範囲内である等の条件)が付加されてもよい。
ステップ1725において、判定幅ΔVafsfbgは、ある特定のstatusから安定方向にstatusを変更する場合と、同一statusから不安定方向にstatusを変更する場合とで、異なっていてもよい。すなわち、上述の例において、status1からstatus0に変更するか否かを判定するための判定幅ΔVafsfbgと、status1からstatus2に変更するか否かを判定するための判定幅ΔVafsfbgとが、異なっていても(前者の方が後者よりも大きくなっていても)よい。具体的には、この場合、status1からstatus2へ変更するための第三判定幅ΔVafsfbg3は、status1からstatus0へ変更するための第二判定幅ΔVafsfbg2よりも小さい値に設定される。
例えば、ステップ1785やステップ2085において、判定が「Yes」である場合、調整値Kをより大きくしたり、更新禁止回数Lをより小さくしたりする処理が行われてもよい。これにより、サブFB学習値Vafsfbgのハンチングの発生が抑制されるような、サブFB学習値Vafsfbgの更新速度の徐変が、より細やかに行われ得る。
statusは、4段階以上あってもよい。
本発明は、インバランス異常判定に好適に適用されるが、これに代えて、失火発生判定にも適用され得る。具体的には、例えば、サブFB学習値Vafsfbg(時間積分値SDVoxs)が所定値以下(サブFB学習値Vafsfbgの絶対値が所定値以上である負の値になったか否か)に基づいて、失火率が許容率以上になる異常状態が発生することが判定され得る。このような判定が可能であることは、以下の理由による。
失火が発生する場合、燃料と空気の混合気が、気筒21内から上流側空燃比センサ55を経て上流側触媒43へ流入する。そして、上流側触媒43に流入した混合気は、大部分が上流側触媒43にて燃焼(酸化)処理されて、燃焼ガスとして上流側触媒43から流出する。したがって、失火が発生する場合には、混合気そのものが上流側空燃比センサ55に到達する一方で、その混合気の燃焼ガスが下流側空燃比センサ56に到達するという事態が発生し得る。
一般に、理論空燃比(又は理論空燃比近傍の空燃比)の混合気が空燃比センサの検出部に接触すると、空燃比センサはリーンを示す値を出力する場合が多い。これは、混合気中の酸素に対する空燃比センサの感度が、混合気中の他の成分に対する感度よりも大きいことに基づくと考えられる。
したがって、失火が発生する毎に、(混合気の空燃比が理論空燃比近傍の空燃比であっても)上流側空燃比センサ55がリーンを示す値を出力することに応じて、機関2に供給される混合気の空燃比がリッチ方向にフィードバック制御される。この空燃比のリッチ方向への平均的な偏移を補償するために、下流側空燃比センサ56がリッチを示す値を出力し、それによりサブフィードバック量Vafsfbの積分項がリーン方向へ偏移した収束値に向かって収束していく。したがって、サブフィードバック量Vafsfbに基づけば、失火率が許容率以上となったことを判定することができる。
上述の実施形態においては、サブFB学習値の平均値Avesfbgがインバランス判定用パラメータとして用いられていた。もっとも、これに代えて、異常判定許可条件が成立したときの、サブFB学習値Vafsfbgそのものが、インバランス判定用パラメータとして用いられ得る。
また、例えば、特開2007−77869号公報、特開2007−146661号公報、及び特開2007−162565号公報等に開示されているように、上流側空燃比センサ55の出力値Vabyfsに基づいて得られる上流側空燃比abyfsと上流側目標空燃比abyfrとの差をハイパスフィルタ処理してメインフィードバック量KFmainを算出するとともに、下流側空燃比センサ56の出力値Voxsと下流側目標値Voxsrefとの偏差に対してローパスフィルタ処理を施した値を比例積分処理することにより、サブフィードバック量Fisubが求められ得る。この場合、下記(11)式に示したように、これらのフィードバック量を互いに独立させた形態で基本燃料噴射量Fbaseの補正に用いることで、最終燃料噴射量Fiが求められ得る。
Fi=KFmain・Fbase+Fisub …(11)
さらに、下記(12)式又は下記(13)式に従ってサブFB学習値Vafsfbgが更新され得る。(12)式及び(13)式の左辺Vafsfbg(k+1)は、更新後のサブFB学習値Vafsfbgを表す。値pは0以上1未満の任意の値である。
Vafsfbg(k+1)=p・Vafsfbg+(1−p)・Ki・SDVoxs …(11)
Vafsfbg(k+1)=p・Vafsfbg+(1−p)・Vafsfb …(12)
この場合、学習値Vafsfbgの更新速度は、値pが小さくなる程大きくなる。よって、status0のときに値pを値p1に設定し、status1のときに値pを値p1よりも大きな値p2に設定し、status2のときに値pを値p2よりも大きな値p3に設定することにより、学習値Vafsfbgの更新速度を第1ないし第3の更新速度に設定することができる。
その他、特段に言及されていない変形例についても、本発明の本質的部分を変更しない範囲内において、本発明の範囲内に含まれることは当然である。また、本発明の課題を解決するための手段を構成する各要素における、作用的ないし機能的に表現されている要素は、上述の実施形態や変形例にて開示されている具体的構造の他、当該作用及び機能を実現可能ないかなる構造をも含む。さらに、本明細書にて引用した先行出願や公報の開示内容(明細書及び図面を含む)は、本明細書の一部を構成するものとして援用され得る。
Claims (6)
- 複数気筒を有する内燃機関と、
複数の前記気筒の各々に対応して設けられた、複数の燃料噴射弁と、
複数の前記気筒からの排気が集合する排気集合部よりも排気流動方向における下流側にて、排気通路に介装された、排気浄化触媒と、
前記排気浄化触媒よりも前記排気流動方向における下流側の部位にて、前記排気通路に介装されていて、当該部位における排気の空燃比に対応する出力を発生する、下流側空燃比センサと、
前記排気浄化触媒及び前記下流側空燃比センサよりも前記排気流動方向における上流側の部位にて、前記排気通路に介装されていて、当該部位における排気の空燃比に対応する出力を発生する、上流側空燃比センサと、
を備えた内燃機関システムを制御する、内燃機関システム制御装置であって、
前記下流側空燃比センサの出力に対応する排気の空燃比を理論空燃比に一致させるように前記燃料噴射弁による燃料噴射量をフィードバック制御するための制御量であるサブフィードバック量の、定常成分に対応した量である、サブフィードバック学習値を取得する、サブフィードバック学習手段と、
前記サブフィードバック学習値の変動状態が、
(a)安定している安定状態、
(b)大きく変動している不安定状態、
(c)両者の中間状態、
の少なくとも3つのうちのいずれであるかを繰り返し判定する、状態判定手段と、
前記サブフィードバック学習手段による前記サブフィードバック学習値の更新速度が、前記不安定状態の方が前記中間状態よりも大きく、且つ前記中間状態の方が前記安定状態よりも大きくなるように、前記状態判定手段による判定結果に応じて前記更新速度を設定する、学習更新速度設定手段と、
を備え、
前記状態判定手段は、
前記安定状態と前記中間状態との間、又は、前記中間状態と前記不安定状態との間で推移するように前記変動状態を判定し、且つ、
前回の変動状態判定時における前回の変動状態(status_old)と、今回の変動状態判定時における現在の変動状態(status_now)と、今回の変動状態判定により判定された変動状態(status_next)と、により表される推移パターンが所定のパターンに合致する場合に前記変動状態の変更を行うように構成された内燃機関システム制御装置。 - 請求項1に記載の、内燃機関システム制御装置であって、
前記状態判定手段は、
前記推移パターンが、前記所定のパターンに合致しない場合には前記変動状態の変更を行なわず、前記所定のパターンに合致しない場合であっても前記今回の変動状態判定により判定された変動状態(status_next)が、前回の前記変動状態判定により判定された変動状態と同じである場合には前記変動状態の変更を許可するように構成された内燃機関システム制御装置。 - 請求項1又は請求項2に記載の、内燃機関システム制御装置であって、
前記状態判定手段は、
前記サブフィードバック学習値をローパスフィルタによって処理することで得られた判定基準値から所定の第一判定幅までの範囲内に前記サブフィードバック学習値が入る場合に前記不安定状態から前記中間状態へ前記変動状態の前記判定結果を一段階推移させる一方、前記判定基準値から前記第一判定幅よりも小さい所定の第二判定幅までの範囲内に前記サブフィードバック学習値が入らない場合に前記中間状態から前記不安定状態へ前記変動状態の前記判定結果を一段階推移させ、
前記判定基準値から所定の第三判定幅までの範囲内に前記サブフィードバック学習値が入る場合に前記中間状態から前記安定状態へ前記変動状態の前記判定結果を一段階推移させる一方、前記判定基準値から前記第三判定幅よりも小さい所定の第四判定幅までの範囲内に前記サブフィードバック学習値が入らない場合に前記安定状態から前記中間状態へ前記変動状態の前記判定結果を一段階推移させることを特徴とする、内燃機関システム制御装置。 - 請求項3に記載の、内燃機関システム制御装置であって、
前記状態判定手段は、前記変動状態の前記判定結果に応じて、前記ローパスフィルタのパラメータを変更することを特徴とする、内燃機関システム制御装置。 - 複数気筒を有する内燃機関と、
複数の前記気筒の各々に対応して設けられた、複数の燃料噴射弁と、
複数の前記気筒からの排気が集合する排気集合部よりも排気流動方向における下流側にて、排気通路に介装された、排気浄化触媒と、
前記排気浄化触媒よりも前記排気流動方向における下流側の部位にて、前記排気通路に介装されていて、当該部位における排気の空燃比に対応する出力を発生する、下流側空燃比センサと、
前記排気浄化触媒及び前記下流側空燃比センサよりも前記排気流動方向における上流側の部位にて、前記排気通路に介装されていて、当該部位における排気の空燃比に対応する出力を発生する、上流側空燃比センサと、
を備えた内燃機関システムを制御する、内燃機関システム制御装置であって、
前記下流側空燃比センサの出力に対応する排気の空燃比を理論空燃比に一致させるように前記燃料噴射弁による燃料噴射量をフィードバック制御するための制御量であるサブフィードバック量の、定常成分に対応した量である、サブフィードバック学習値を取得する、サブフィードバック学習手段と、
前記サブフィードバック学習値の変動状態が、
(a)安定している安定状態、
(b)大きく変動している不安定状態、
(c)両者の中間状態、
の少なくとも3つのうちのいずれであるかを繰り返し判定する、状態判定手段と、
前記サブフィードバック学習手段による前記サブフィードバック学習値の更新速度が、前記不安定状態の方が前記中間状態よりも大きく、且つ前記中間状態の方が前記安定状態よりも大きくなるように、前記状態判定手段による判定結果に応じて前記更新速度を設定する、学習更新速度設定手段と、
を備え、
前記学習更新速度設定手段は、前回の変動状態判定時における前回の変動状態(status_old)と、今回の変動状態判定時における現在の変動状態(status_now)と、今回の変動状態判定により判定された変動状態(status_next)と、により表される推移パターンが所定のパターンに合致する場合に前記更新速度の変更を行なうように構成された、内燃機関システム制御装置。 - 請求項1乃至請求項5の何れか一項に記載の、内燃機関システム制御装置において、
前記サブフィードバック学習値に基づいて、複数の前記気筒の間の空燃比の偏差が過大になったか否かの判定であるインバランス異常判定を行う、異常判定手段をさらに備え、
前記異常判定手段は、現時点における前記変動状態が前記安定状態である場合に前記インバランス異常判定を行うように構成された、内燃機関システム制御装置。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2009/068940 WO2011052096A1 (ja) | 2009-10-29 | 2009-10-29 | 内燃機関システム制御装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2011052096A1 JPWO2011052096A1 (ja) | 2013-03-14 |
JP5246456B2 true JP5246456B2 (ja) | 2013-07-24 |
Family
ID=43921537
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011538207A Expired - Fee Related JP5246456B2 (ja) | 2009-10-29 | 2009-10-29 | 内燃機関システム制御装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US8554447B2 (ja) |
JP (1) | JP5246456B2 (ja) |
WO (1) | WO2011052096A1 (ja) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9695731B2 (en) | 2011-06-24 | 2017-07-04 | Ford Global Technologies, Llc | System and methods for controlling air fuel ratio |
JP5348190B2 (ja) * | 2011-06-29 | 2013-11-20 | トヨタ自動車株式会社 | 内燃機関の制御装置 |
JP2013060927A (ja) * | 2011-09-15 | 2013-04-04 | Toyota Motor Corp | 内燃機関の制御装置 |
JP5733413B2 (ja) * | 2011-10-11 | 2015-06-10 | トヨタ自動車株式会社 | 内燃機関の制御装置 |
JP5811185B2 (ja) * | 2011-11-17 | 2015-11-11 | トヨタ自動車株式会社 | 内燃機関の制御装置 |
JP5783015B2 (ja) * | 2011-11-30 | 2015-09-24 | スズキ株式会社 | 船外機用内燃機関の空燃比制御装置、空燃比制御方法およびプログラム |
US9567934B2 (en) * | 2013-06-19 | 2017-02-14 | Enviro Fuel Technology, Lp | Controllers and methods for a fuel injected internal combustion engine |
US9644561B2 (en) * | 2013-08-27 | 2017-05-09 | Ford Global Technologies, Llc | System and method to restore catalyst storage level after engine feed-gas fuel disturbance |
JP6213085B2 (ja) * | 2013-09-17 | 2017-10-18 | 株式会社デンソー | 内燃機関の気筒別空燃比制御装置 |
US9903297B2 (en) * | 2014-01-10 | 2018-02-27 | Toyota Jidosha Kabushiki Kaisha | Control system of internal combustion engine |
JP6344016B2 (ja) * | 2014-03-31 | 2018-06-20 | 株式会社デンソー | 温度測定装置 |
JP6507824B2 (ja) * | 2015-04-27 | 2019-05-08 | 三菱自動車工業株式会社 | エンジンの制御装置 |
US9657663B2 (en) * | 2015-09-24 | 2017-05-23 | Ford Global Technologies, Llc | Systems and methods for an air-fuel ratio imbalance monitor |
DE102018216980A1 (de) * | 2018-10-04 | 2020-04-09 | Robert Bosch Gmbh | Verfahren zur Regelung einer Füllung eines Speichers eines Katalysators für eine Abgaskomponente in Abhängigkeit von einer Alterung des Katalysators |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09112310A (ja) * | 1995-10-13 | 1997-04-28 | Nissan Motor Co Ltd | 内燃機関の空燃比制御装置 |
JP2004316523A (ja) * | 2003-04-15 | 2004-11-11 | Toyota Motor Corp | 内燃機関の空燃比制御装置 |
JP2009074388A (ja) * | 2007-09-19 | 2009-04-09 | Toyota Motor Corp | 多気筒内燃機関の気筒間空燃比ばらつき異常検出装置 |
JP2009209861A (ja) * | 2008-03-05 | 2009-09-17 | Toyota Motor Corp | 内燃機関の排気系診断装置 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63219847A (ja) * | 1987-03-07 | 1988-09-13 | Toyota Motor Corp | 内燃機関の空燃比制御装置 |
JP2900890B2 (ja) * | 1996-08-09 | 1999-06-02 | トヨタ自動車株式会社 | 内燃機関の触媒劣化判別装置 |
US6382198B1 (en) * | 2000-02-04 | 2002-05-07 | Delphi Technologies, Inc. | Individual cylinder air/fuel ratio control based on a single exhaust gas sensor |
JP4036088B2 (ja) | 2002-12-05 | 2008-01-23 | トヨタ自動車株式会社 | 内燃機関の排気浄化装置及び排気浄化方法 |
JP2004204716A (ja) * | 2002-12-24 | 2004-07-22 | Denso Corp | 空燃比サブフィードバック制御異常検出装置 |
US6837231B1 (en) * | 2003-07-11 | 2005-01-04 | General Motors Corporation | Cylinder bank work output balancing based on exhaust gas A/F ratio |
JP2005113729A (ja) * | 2003-10-06 | 2005-04-28 | Toyota Motor Corp | 内燃機関の空燃比制御装置 |
JP2006104978A (ja) * | 2004-10-01 | 2006-04-20 | Toyota Motor Corp | 内燃機関の空燃比制御装置 |
US7027910B1 (en) * | 2005-01-13 | 2006-04-11 | General Motors Corporation | Individual cylinder controller for four-cylinder engine |
JP4438681B2 (ja) * | 2005-04-27 | 2010-03-24 | トヨタ自動車株式会社 | 内燃機関の空燃比制御装置 |
JP2009030455A (ja) | 2007-07-24 | 2009-02-12 | Toyota Motor Corp | 多気筒内燃機関の気筒間空燃比ばらつき異常を検出するための装置及び方法 |
JP2007162565A (ja) * | 2005-12-14 | 2007-06-28 | Toyota Motor Corp | 内燃機関の空燃比制御装置 |
US8744729B2 (en) | 2007-07-24 | 2014-06-03 | Toyota Jidosha Kabushiki Kaisha | Apparatus and method for detecting abnormal air-fuel ratio variation among cylinders of multi-cylinder internal combustion engine |
JP4957559B2 (ja) | 2008-01-08 | 2012-06-20 | トヨタ自動車株式会社 | 内燃機関の空燃比制御装置 |
JP4807359B2 (ja) | 2008-01-30 | 2011-11-02 | トヨタ自動車株式会社 | 内燃機関の空燃比制御装置 |
WO2010087026A1 (ja) | 2009-01-28 | 2010-08-05 | トヨタ自動車株式会社 | 多気筒内燃機関の監視装置 |
-
2009
- 2009-10-29 WO PCT/JP2009/068940 patent/WO2011052096A1/ja active Application Filing
- 2009-10-29 JP JP2011538207A patent/JP5246456B2/ja not_active Expired - Fee Related
-
2012
- 2012-04-30 US US13/459,967 patent/US8554447B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09112310A (ja) * | 1995-10-13 | 1997-04-28 | Nissan Motor Co Ltd | 内燃機関の空燃比制御装置 |
JP2004316523A (ja) * | 2003-04-15 | 2004-11-11 | Toyota Motor Corp | 内燃機関の空燃比制御装置 |
JP2009074388A (ja) * | 2007-09-19 | 2009-04-09 | Toyota Motor Corp | 多気筒内燃機関の気筒間空燃比ばらつき異常検出装置 |
JP2009209861A (ja) * | 2008-03-05 | 2009-09-17 | Toyota Motor Corp | 内燃機関の排気系診断装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2011052096A1 (ja) | 2011-05-05 |
US8554447B2 (en) | 2013-10-08 |
JPWO2011052096A1 (ja) | 2013-03-14 |
US20120290192A1 (en) | 2012-11-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5246456B2 (ja) | 内燃機関システム制御装置 | |
JP5045820B2 (ja) | 多気筒内燃機関の監視装置 | |
JP5045814B2 (ja) | 多気筒内燃機関の空燃比気筒間インバランス判定装置 | |
JP5088421B2 (ja) | 内燃機関の空燃比気筒間インバランス判定装置 | |
JP5041078B2 (ja) | 多気筒内燃機関の空燃比制御装置 | |
US9726103B2 (en) | Fuel injection amount control apparatus for an internal combustion engine | |
JP5488307B2 (ja) | 空燃比気筒間インバランス判定装置 | |
JP5494317B2 (ja) | 多気筒内燃機関の異常判定装置 | |
JP5532130B2 (ja) | 内燃機関の燃料噴射量制御装置 | |
JP5206877B2 (ja) | 内燃機関の空燃比気筒間インバランス判定装置 | |
JP5510158B2 (ja) | 内燃機関の燃料噴射量制御装置 | |
JP5499978B2 (ja) | 多気筒内燃機関の燃料噴射量制御装置 | |
JP5522392B2 (ja) | 内燃機関の燃料噴射量制御装置 | |
JP5447673B2 (ja) | 内燃機関の燃料噴射量制御装置 | |
JP2010180746A (ja) | 内燃機関の空燃比気筒間インバランス判定装置 | |
JP2010174809A (ja) | 多気筒内燃機関の制御装置 | |
JP5640662B2 (ja) | 内燃機関の燃料噴射量制御装置 | |
JP2012017657A (ja) | 内燃機関の燃料噴射量制御装置 | |
JP5360289B2 (ja) | 内燃機関の空燃比気筒間インバランス判定装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A529 | Written submission of copy of amendment under article 34 pct |
Free format text: JAPANESE INTERMEDIATE CODE: A5211 Effective date: 20120110 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20120110 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20121106 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20121228 |
|
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: 20130313 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130326 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 5246456 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20160419 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |