以下、本発明の実施の形態を図面に基づいて説明する。本実施形態では、本発明に係る酸素センサの故障診断装置を自動車用4気筒ガソリンエンジン(内燃機関)に適用した場合について説明する。
−エンジン−
図1は本実施形態に係るエンジン1及びその吸排気系の概略構成を示す図である。なお、この図1ではエンジン1の1気筒の構成のみを示している。
本実施形態におけるエンジン1は、例えば4気筒ガソリンエンジンであって、燃焼室1aを形成するピストン1b及び出力軸であるクランクシャフト15を備えている。ピストン1bはコネクティングロッド16を介してクランクシャフト15に連結されており、ピストン1bの往復運動がコネクティングロッド16によってクランクシャフト15の回転へと変換されるようになっている。
クランクシャフト15には、外周面に複数の突起(歯)17aを有するシグナルロータ17が取り付けられている。このシグナルロータ17の側方近傍にはクランクポジションセンサ(エンジン回転数センサ)24が配置されている。このクランクポジションセンサ24は、例えば電磁ピックアップであって、クランクシャフト15が回転する際にシグナルロータ17の突起17aに対応するパルス状の信号(出力パルス)を発生する。
エンジン1のシリンダブロック1cには、エンジン水温(冷却水温)を検出する水温センサ21が配置されている。
エンジン1の燃焼室1aには点火プラグ3が配置されている。点火プラグ3の点火タイミングはイグナイタ4によって調整される。イグナイタ4はECU(Electronic Control Unit)200によって制御される。
エンジン1の燃焼室1aには吸気通路11と排気通路12とが接続されている。吸気通路11と燃焼室1aとの間に吸気バルブ13が設けられており、この吸気バルブ13を開閉駆動することにより、吸気通路11と燃焼室1aとが連通または遮断される。また、排気通路12と燃焼室1aとの間に排気バルブ14が設けられており、この排気バルブ14を開閉駆動することにより、排気通路12と燃焼室1aとが連通または遮断される。これら吸気バルブ13及び排気バルブ14の開閉駆動は、クランクシャフト15の回転が伝達される吸気カムシャフト及び排気カムシャフト(共に図示省略)の各回転によって行われる。
吸気通路11には、エアクリーナ7、熱線式のエアフローメータ22、吸気温センサ23(エアフローメータ22に内蔵)、及び、エンジン1の吸入空気量を調整する電子制御式のスロットルバルブ5が配置されている。このスロットルバルブ5はスロットルモータ6によって駆動される。スロットルバルブ5の開度はスロットル開度センサ25によって検出される。
エンジン1の排気通路12には三元触媒8が配置されている。この三元触媒8は、酸素を貯蔵(吸蔵)するO2ストレージ機能(酸素貯蔵機能)を有しており、この酸素貯蔵機能により、空燃比が理論空燃比からある程度まで偏移したとしても、HC,CO,及びNOxを浄化することが可能となっている。即ち、エンジン1の空燃比がリーンとなって、三元触媒8に流入する排気ガス中の酸素及びNOxが増加すると、酸素の一部を三元触媒8が吸蔵することで、還元雰囲気を作り出し、NOxの還元・浄化を促進する。一方、エンジン1の空燃比がリッチになって、三元触媒8に流入する排気ガスにHC,COが多量に含まれると、三元触媒8は内部に吸蔵している酸素分子を放出し、これらのHC,COに酸素分子を与え、酸化・浄化を促進する。
上記三元触媒8の上流側の排気通路12には空燃比センサ(A/Fセンサ)26が配置されている。この空燃比センサ26は、例えば限界電流式の酸素濃度センサが適用されており、広い空燃比領域に亘って空燃比に対応した出力電圧を発生する構成となっている。
また、三元触媒8の下流側の排気通路12には酸素センサ(O2センサ)101が配置されている。この酸素センサ101は、例えば起電力式(濃淡電池式)の酸素濃度センサが適用されており、その出力値が理論空燃比付近でステップ状に変化する構成となっている。なお、この酸素センサ101の詳細については後述する。これら空燃比センサ26及び酸素センサ101の発生する信号は、それぞれA/D変換された後に、ECU200に入力される。
そして、吸気通路11には燃料噴射用のインジェクタ2が配置されている。このインジェクタ2には、燃料タンクから燃料ポンプによって所定圧力の燃料が供給され、吸気通路11に燃料が噴射される。この噴射燃料は吸入空気と混合されて混合気となってエンジン1の燃焼室1aに導入される。燃焼室1aに導入された混合気(燃料+空気)は、エンジン1の圧縮行程を経た後、点火プラグ3にて点火されて燃焼・爆発する。この混合気の燃焼室1a内での燃焼・爆発によりピストン1bが往復運動してクランクシャフト15が回転する。以上のエンジン1の運転状態はECU200によって制御される。
−酸素センサ101−
次に、上記酸素センサ101の構造について説明する。
図2は、本実施形態において用いられる酸素センサ101の内部構造を示す断面図である。この酸素センサ101は、ハウジング102と、その中に保持されるセンサ素子103とを備えている。センサ素子103は、その内部に大気室104を備える中空の部材である。また、このセンサ素子103の内側表面には大気室104に晒される大気側電極(白金電極)105が形成されている。一方、センサ素子103の外側表面には排気側電極(白金電極)106が形成されている。
上記センサ素子103は、その先端部分が突出するように上記ハウジング102に嵌め込まれている。ハウジング102にはカバー107が組み付けられており、センサ素子103の先端部分は、そのカバー107により覆われている。酸素センサ101は、上記カバー107が排気ガスに晒されるように排気通路12に取り付けられている。カバー107には排気ガスを取り込むための通気口が設けられているため、センサ素子103の先端部分は、排気通路12内の排気ガスに晒された状態となる。
一方、上述した大気室104は、排気通路12の外部空間、すなわち、大気に開放されるように設けられている。このため、酸素センサ101が排気通路12に組み付けられた状態では、センサ素子103の大気側電極105は大気に晒された状態となり、排気側電極106は排気ガスに晒された状態となる。
上記センサ素子103は、このような状況下では、排気側電極106に接しているガス中の酸素の有無、つまり、排気ガス中の酸素の有無に応じて出力を急変させる特性を有している。より具体的には、センサ素子103は、排気側電極106の表面に酸素が存在する場合は、排気側電極106と大気側電極105との間に小さな電位差を発生させ、一方、排気側電極106の表面に酸素が存在しない場合は、それらの電極105,106間に大きな電位差を発生させる特性を有している。
排気ガスがリーンである場合は、排気ガス中のNOxが分解されることにより排気側電極106の表面に酸素が供給される。このため、このような場合には、センサ素子103の出力は小さな値となる。これに対して、排気ガスがリッチである場合は、排気側電極106の表面に酸素は供給されない。このため、センサ素子103は、このような状況下では大きな出力を発生する。酸素センサ101は、以上のような原理により、排気空燃比がリーンであるかリッチであるかに応じて、それぞれリーン出力(例えば0.2V)或いはリッチ出力(例えば0.6V)を発生するようになっている。
また、この酸素センサ101には、図示しないヒータが組み込まれている。このヒータは、車載のバッテリ電源からの通電により発熱する線状の発熱体によって構成されており、その発熱体の発熱によってセンサ素子103の全体を加熱するようになっている。
−ECU−
上記ECU200は、CPU、ROM、RAM、及び、バックアップRAMなどを備えている。ROMは、各種制御プログラムや、それら各種制御プログラムを実行する際に参照されるマップ等が記憶されている。CPUは、ROMに記憶された各種制御プログラムやマップに基づいて演算処理を実行する。また、RAMはCPUでの演算結果や各センサから入力されたデータ等を一時的に記憶するメモリであり、バックアップRAMはエンジン1の停止時にその保存すべきデータ等を記憶する不揮発性のメモリである。
ECU200には、図1に示すように、水温センサ21、エアフローメータ22、吸気温センサ23、クランクポジションセンサ24、スロットル開度センサ25、空燃比センサ26、及び、酸素センサ101などの各種センサが接続されている。また、ECU200には、インジェクタ2、点火プラグ3のイグナイタ4、及び、スロットルバルブ5のスロットルモータ6などが接続されている。
そして、ECU200は、上記した各種センサの検出信号に基づいて、エンジン1の各種制御を実行する。例えば、エンジン1の排気通路12に配置した空燃比センサ26及び酸素センサ101の各出力に基づいて排気ガス中の酸素濃度を算出し、その算出した酸素濃度から得られる実際の空燃比が目標空燃比(例えば理論空燃比)に一致するように、インジェクタ2から吸気通路11に噴射する燃料噴射量を制御する「空燃比フィードバック制御」を実行する。この「空燃比フィードバック制御」の詳細については後述する。
さらに、ECU200は、上述した「アクティブ制御」による酸素センサ101の故障診断を実行する。この酸素センサ101の故障診断の手法についても後述する。
また、ECU200は、所定のフューエルカット条件、例えばエンジン回転数が予め定められた所定値(フューエルカット回転数)以上でアクセルオフという条件が成立したときにフューエルカットを実行する。このようにフューエルカットを実行することにより、インジェクタ2からの燃料噴射が停止されて、燃費や排気エミッションが改善される。
なお、フューエルカット中に車両の速度が低下し、エンジン回転数がフューエルカット回転数よりも低くなったときには、エンジンストールを防止するためにフューエルカットを中止してインジェクタ2からの燃料噴射を行う。また、フューエルカット中にアクセルペダルが踏まれた場合(加速時)にも、フューエルカットを中止してインジェクタ2からの燃料噴射を行う。
−空燃比フィードバック制御−
次に、上記空燃比フィードバック制御の具体的な動作手順について説明する。
本実施形態における空燃比フィードバック制御では、上記空燃比センサ26の出力に基づいて、三元触媒8の上流における排気空燃比を理論空燃比に近づけるためのメインフィードバック制御と、上記酸素センサ101の出力に基づいて、上記メインフィードバック制御のずれを補償するためのサブフィードバック制御とが組み合わされて実行される。
メインフィードバック制御では、空燃比センサ26の出力を基礎として検知される排気空燃比が、理論空燃比と一致するように、インジェクタ2からの燃料噴射量の増減が調整される。より具体的には、検知された排気空燃比が理論空燃比よりリッチであれば、燃料噴射量が減量調整され、逆に、その排気空燃比が理論空燃比よりリーンであれば、燃料噴射量が増量調整される。
このメインフィードバック制御によれば、理想的には、三元触媒8に流れ込む排気ガスの空燃比を理論空燃比に維持することができる。そして、その状態が厳密に維持されれば、三元触媒8の吸蔵酸素量がほぼ一定量に保たれるため、その下流に未浄化の成分を含む排気ガスが流出してくるのを完全に阻止することができる。
しかしながら、空燃比センサ26の出力にはある程度の誤差が含まれている。また、インジェクタ2の噴射特性にもある程度のバラツキがある。このため、現実的には、メインフィードバック制御を実行するだけで三元触媒8の上流の排気空燃比を厳密に理論空燃比に制御することは困難である。更に、エンジン1においては、燃料増量やフューエルカットなど、排気空燃比を意図的に理論空燃比から乖離させる制御が行われる。そして、これらの制御が行われると、三元触媒8は、酸素を完全に脱離した状態、或いは酸素を能力一杯に吸蔵した状態となることがあり、下流側に未浄化成分を流出させ易い状態となる。
以上のような理由により、メインフィードバック制御が実行されていても、三元触媒8の下流には未浄化の成分を含む排気ガスが流出してくることがある。つまり、メインフィードバック制御が実行されていても、三元触媒8の上流の排気空燃比は、全体としてリッチ側或いはリーン側に偏ることがあり、その結果、三元触媒8の下流には、HCやCOを含むリッチな排気ガス、或いは、NOxを含むリーンな排気ガスが流出してくることがある。
このような流出が生ずると、酸素センサ101は、排気ガスの空燃比に応じてリッチ出力或いはリーン出力を発生する。このため、本実施形態のシステムでは、酸素センサ101からリッチ出力が発せられた場合には、三元触媒8の上流の排気空燃比が全体としてリッチ側に偏っていたと判断することができ、また、酸素センサ101からリーン出力が発せられた場合には、三元触媒8の上流の排気空燃比が全体としてリーン側に偏っていたと判断することができる。
サブフィードバック制御では、酸素センサ101の出力値と、その出力値の制御目標値との差を小さくするための制御(例えばPID制御)が実行される。より具体的には、上記の差が小さくなるように、空燃比センサ26の出力を補正する処理が行われる。空燃比センサ26の出力が上記の如く補正されると、全体としてリッチ側或いはリーン側に偏っていた三元触媒8の上流の空燃比が理論空燃比に近づけられる。その結果、メインフィードバック制御のずれが補償され、三元触媒8の下流に未浄化の成分が吹き抜け難い状態が形成される。このため、優れたエミッション特性を実現することが可能になる。以上が本実施形態における空燃比フィードバック制御である。
−酸素センサ故障診断動作−
次に、本発明に係る故障診断装置により実行される酸素センサ101の故障診断動作についての2つの実施形態を説明する。
(第1実施形態)
本実施形態における酸素センサ101の故障診断動作は、アクティブ制御により行われる。先ず、このアクティブ制御の基本動作について説明する。
このアクティブ制御は、酸素センサ101がリーン出力を発している場合に、エンジン1に供給する混合気の空燃比(目標空燃比)を強制的にリッチ側に設定し、その後、酸素センサ101がリッチ出力を発するようになると、エンジン1に供給する混合気の空燃比(目標空燃比)を強制的にリーン側に切り換える。このようにして、酸素センサ101の検出値がリッチ/リーンで反転する毎に、混合気の目標空燃比を、リーン側とリッチ側との間で反転させる。そして、この酸素センサ101の検出値がリッチ/リーンで反転する状況が生じない場合には酸素センサ101に故障が発生していると判断するようにしている。
そして、本実施形態の特徴とするところは、エンジン始動後における酸素センサ101の出力信号の履歴を記憶しておき(履歴記憶手段による履歴記憶動作)、アクティブ制御によって酸素センサ101の故障診断動作を行う場合に、上記履歴を参照して、酸素センサ101からリッチ出力(例えば0.6V)がなされた履歴がある場合には、この酸素センサ101はリッチ側においては正常(故障していない)と判断し、アクティブ制御実行時においては、リッチ側の制御、つまり、目標空燃比を強制的にリッチ側に設定する動作は行わない(目標空燃比をリッチ側に設定するアクティブ制御をキャンセルする)ようにしている。
また、酸素センサ101からリーン出力(例えば0.2V)がなされた履歴がある場合には、この酸素センサ101はリーン側においては正常(故障していない)と判断し、アクティブ制御実行時においては、リーン側の制御、つまり、目標空燃比を強制的にリーン側に設定する動作は行わない(目標空燃比をリーン側に設定するアクティブ制御をキャンセルする)ようにしている。
以下、酸素センサ101の故障診断動作の具体的な制御手順について図3及び図4のフローチャート及び図5〜図7のタイミングチャートに沿って説明する。この図5〜図7で示した上下2段の波形のうち、上段では、ECU200において設定される目標空燃比を太線で示し、それに応じた実空燃比(上記空燃比センサ26により検知される空燃比)を細線で示している。また、下段は上記酸素センサ101の出力値の変化を示している。ここでは、酸素センサ101のリーン出力を「0.2V」とし、リッチ出力を「0.6V」としている。
尚、図5は、酸素センサ101からリッチ出力がなされた履歴のみがある場合における故障診断時の波形を示し、図6は、酸素センサ101からリーン出力がなされた履歴のみがある場合における故障診断時の波形を示し、図7は、酸素センサ101からリッチ出力がなされた履歴もリーン出力がなされた履歴も無い場合における故障診断時の波形を示している。
図3のフローチャートにおいて、エンジン1の駆動中にあっては、先ず、ステップST1で、酸素センサ101が活性状態にあるか否かを判定する。つまり、酸素センサ101が触媒下流側の酸素濃度に応じた信号が出力できる環境下(出力が保証できる状態)にあるか否かを判定する。これは、例えば酸素センサ101の温度が所定温度以上であるか否かを判定することで活性状態にあるか否かを判定できる。尚、酸素センサ101の温度を直接検知するようにしてもよいが、実際には、酸素センサ101に組み込まれているヒータの通電時間が所定時間(例えば30sec)以上である場合に酸素センサ101は活性状態にあると判断したり、酸素センサ101自体の電気抵抗を検出することで活性状態にあるか否かを判断するようにしている。
酸素センサ101が未だ活性状態ではなく、ステップST1でNo判定された場合には、酸素センサ101の故障診断動作を実行することなく、本ルーチンを終了する。
一方、酸素センサ101が活性状態であり、ステップST1でYes判定された場合には、ステップST2に移り、酸素センサ101の出力信号が0.6V以上であるか、つまり、リッチ出力を発しているか否かを判定する。ここで、酸素センサ101の出力信号が0.6V以上である場合(Yes判定された場合)には、ステップST3に移って、リッチ側出力の履歴をセットする。例えば、上記ECU200のRAMに「リッチ側出力履歴」を書き込む。この「リッチ側出力履歴」はエンジン1の停止に伴って消去される。また、酸素センサ101の出力信号が0.6V未満である場合(No判定された場合)には、このリッチ側出力の履歴をセットすることなく、ステップST4に移る。
そして、ステップST4では、酸素センサ101の出力信号が0.2V以下であるか、つまり、リーン出力を発しているか否かを判定する。ここで、酸素センサ101の出力信号が0.2V以下である場合(Yes判定された場合)には、ステップST5に移って、リーン側出力の履歴をセットする。例えば、上記ECU200のRAMに「リーン側出力履歴」を書き込む。この「リーン側出力履歴」はエンジン1の停止に伴って消去される。また、酸素センサ101の出力信号が0.2Vを超えている場合(No判定された場合)には、このリーン側出力の履歴をセットすることなく、ステップST6に移る。
ステップST6では、酸素センサ101の故障診断実行条件が成立したか否かを判定する。この故障診断実行条件は、例えば、エンジン1の運転状態が比較的高負荷で安定した状態、つまり、上記空燃比フィードバック制御による空燃比の変動が殆ど生じない状態となった場合に成立する。より具体的には、例えばアクセル開度が30%以上の値で略固定されており、車速が60km/h程度で維持されている場合に故障診断実行条件が成立する。この故障診断実行条件はこれに限定されるものではなく、任意に設定可能である。
そして、上記故障診断実行条件が成立しておらず、ステップST6でNo判定されると、酸素センサ101の故障診断動作を実行することなく、本ルーチンを終了する。
これに対し、上記故障診断実行条件が成立しており、ステップST6でYes判定されると、ステップST7に移る。このステップST7では、故障診断実行条件の成立に伴い、アクティブ制御(強制空燃比制御)を開始する。
このアクティブ制御の具体的な制御手順を図4のフローチャートに沿って説明する。先ず、ステップST11において、空燃比スキップ制御が未実施であるか否かを判定する。この空燃比スキップ制御は、目標空燃比を上記アクティブ制御における目標空燃比(リーン側の目標空燃比またはリッチ側の目標空燃比)に設定するための動作であり、本ルーチンの制御開始時には未だ空燃比スキップ制御は実施されていないため、このステップST11ではYes判定されてステップST12に移ることになる。
ステップST12以降の動作では、空燃比スキップ制御が開始される。この空燃比スキップ制御は、上述した如く、目標空燃比を上記アクティブ制御のための目標空燃比に設定する動作である。以下、具体的に説明する。
先ず、ステップST12において、上記リッチ側出力の履歴及びリーン側出力の履歴の存在を確認する動作を行う。例えばRAMに「リッチ側出力履歴」及び「リーン側出力履歴」が書き込まれているか否かを確認する。そして、「リッチ側出力履歴及びリーン側出力履歴が共に有り」の状態ではないか否かを判定する。ここで、「リッチ側出力履歴及びリーン側出力履歴が共に有り」の状態であった場合には、ステップST12でNo判定されることになり、ステップST18に移る。
一方、「リッチ側出力履歴及びリーン側出力履歴が共に有り」の状態ではなく、ステップST12でYes判定されると、ステップST13に移り、「リッチ側出力履歴及びリーン側出力履歴が共になし」の状態であるか否かを判定する。ここで、「リッチ側出力履歴及びリーン側出力履歴が共になし」の状態であった場合には、ステップST13でYes判定されることになり、ステップST15に移る。一方、「リッチ側出力履歴及びリーン側出力履歴が共になし」ではない状態、つまり、「リッチ側出力履歴及びリーン側出力履歴が共に有り」の状態ではなく(ステップST12でYes判定)且つ「リッチ側出力履歴及びリーン側出力履歴が共になし」の状態ではない、即ち、リッチ側出力履歴及びリーン側出力履歴のうち一方の出力履歴のみが存在していると判定された場合には、ステップST13でNo判定されてステップST14に移ることになる。
ステップST14にあっては、「リッチ側出力履歴」のみが存在していた場合には、アクティブ制御の開始に伴って目標空燃比をリーン側に設定する(空燃比スキップ制御)。ここでは目標空燃比を「15.1」に設定する(図5のタイミングT1)。逆に、「リーン側出力履歴」のみが存在していた場合には、アクティブ制御の開始に伴って目標空燃比をリッチ側に設定する(空燃比スキップ制御)。ここでは目標空燃比を「14.1」に設定する(図6のタイミングT1)。
このようにして、強制的に設定される目標空燃比によってエンジン1の空燃比が変更された後、ステップST18に移って、酸素センサ101の出力信号を監視することで、その故障診断動作を実行する。つまり、今、目標空燃比をリーン側に変更したことで、酸素センサ101の出力信号がリッチ側(0.6V)からリーン側(0.2V)に変化したか否かを監視する。尚、目標空燃比をリッチ側に変更した場合には、酸素センサ101の出力信号がリーン側(0.2V)からリッチ側(0.6V)に変化したか否かを監視する。
そして、再びステップST11に戻る。この場合、既に空燃比スキップ制御は開始済み(上記ステップST14で開始済み)であるので、ステップST11においてNo判定されて、ステップST18での酸素センサ101の出力信号監視による故障診断動作を継続することになる。
以上のようにして故障診断動作を継続し、酸素センサ101の出力信号が切り換わったことが認識されると(目標空燃比をリーン側に設定した場合には図5におけるタイミングT2、目標空燃比をリッチ側に設定した場合には図6におけるタイミングT2)、この設定された側(前者の場合はリーン側、後者の場合はリッチ側)においては酸素センサ101の故障は生じていないとして、酸素センサ101は正常であると判断される(故障診断手段による正常診断動作)。尚、この際に得られたリーン側の信号出力またはリッチ側の信号出力は、出力履歴としてセットされ(ECU200のRAMに書き込まれ)、次回の履歴参照動作に利用される(履歴有りと判断される)。
このようにして、上記「リッチ側出力履歴」のみが存在していた場合に目標空燃比をリーン側に設定した際、酸素センサ101からリーン出力がなされると、酸素センサ101のリッチ側に故障が無いことは上記「リッチ側出力履歴」の存在により確認され且つリーン側に故障が無いことは上記酸素センサ101の出力信号が切り換わった(リーン出力がなされた)ことにより確認され、これによって酸素センサ101が正常であることが判断される。一方、上記「リーン側出力履歴」のみが存在していた場合に目標空燃比をリッチ側に設定した際、酸素センサ101からリッチ出力がなされると、酸素センサ101のリーン側に故障が無いことは上記「リーン側出力履歴」の存在により確認され且つリッチ側に故障が無いことは上記酸素センサ101の出力信号が切り換わった(リッチ出力がなされた)ことにより確認され、これによって酸素センサ101が正常であることが判断される。
一方、上記ステップST13において、「リッチ側出力履歴及びリーン側出力履歴が共になし」の状態である場合には、このステップST13でYes判定されてステップST15に移ることになる。この場合には、何れの出力履歴も存在していないので、アクティブ制御においては、リーン側及びリッチ側共に目標空燃比を強制的に交互に設定して酸素センサ101の故障診断を行う必要がある。
ステップST15では、現在の酸素センサ101の出力信号は0.5V以上であるか否かを判定する。ここで、酸素センサ101の出力信号が0.5V以上である場合(Yes判定された場合)には、ステップST16に移って、目標空燃比を強制的にリーン側(15.1)にセットする(図7のタイミングT1)。その後、ステップST18に移って、酸素センサ101の出力信号を監視することで、その故障診断動作を実行する。つまり、今、目標空燃比をリーン側に変更したことで、酸素センサ101の出力信号がリーン側(0.2V)に変化したか否かを監視する。以上のようにして故障診断動作を継続し、酸素センサ101の出力信号がリーン側(0.2V)に変化したことが認識されると(図7のタイミングT2)、このリーン側においては酸素センサ101の故障は生じていないと判断される。
このようにして酸素センサ101の出力信号が切り換わることで、ステップST15ではNo判定されることになり、ステップST17に移って、目標空燃比は強制的にリッチ側(14.1)にセットされる。その後、ステップST18に移って、酸素センサ101の出力信号を監視することで、その故障診断動作を実行する。つまり、今、目標空燃比をリッチ側に変更したことで、酸素センサ101の出力信号がリッチ側(0.6V)に変化したか否かを監視する。以上のようにして故障診断動作を継続し、酸素センサ101の出力信号がリッチ側(0.6V)に変化したことが認識されると(図7のタイミングT3)、このリッチ側においては酸素センサ101の故障は生じていないと判断される。
このようにして、酸素センサ101の出力信号としてリッチ側出力(0.6V)及びリーン側出力(0.2V)が共に出力された場合には酸素センサ101は故障していないと判断される。
尚、アクティブ制御の開始時における酸素センサ101の出力信号が0.5V未満であった場合には、ステップST15でNo判定され、ステップST17に移って、先ず、目標空燃比を強制的にリッチ側(14.1)にセットする。その後、ステップST18に移って、酸素センサ101の出力信号を監視することで、その故障診断動作を実行する。つまり、今、目標空燃比をリッチ側に変更したことで、酸素センサ101の出力信号がリッチ側(0.6V)に変化したか否かを監視する。以上のようにして故障診断動作を継続し、酸素センサ101の出力信号がリッチ側(0.6V)に変化したことが認識されると、このリッチ側においては酸素センサ101の故障は生じていないと判断される。
このようにして酸素センサ101の出力信号が切り換わることで、ステップST15ではYes判定されることになり、ステップST16に移って、目標空燃比は強制的にリーン側(15.1)にセットされる。その後、ステップST18に移って、酸素センサ101の出力信号を監視することで、その故障診断動作を実行する。つまり、今、目標空燃比をリーン側に変更したことで、酸素センサ101の出力信号がリーン側(0.2V)に変化したか否かを監視する。以上のようにして故障診断動作を継続し、酸素センサ101の出力信号がリーン側(0.2V)に変化したことが認識されると、このリーン側においては酸素センサ101の故障は生じていないと判断される。
このようにして、酸素センサ101の出力信号としてリッチ側出力(0.6V)及びリーン側出力(0.2V)が共に出力された場合には酸素センサ101は故障していないと判断される。
一方、上記「リッチ側出力履歴」のみが存在していた場合に上記動作を行っても酸素センサ101からリーン出力がなされない場合には、酸素センサ101はリーン側において故障していると判断される。同様に、上記「リーン側出力履歴」のみが存在していた場合に上記動作を行っても酸素センサ101からリッチ出力がなされない場合には、酸素センサ101はリッチ側において故障していると判断される。更に、上記「リッチ側出力履歴」及び「リーン側出力履歴」が共に存在していない場合に、上記動作を行ってもリッチ側及びリーン側のうち一方側のみしか出力されない場合や、リッチ側及びリーン側共に出力されない場合には酸素センサ101は故障していると判断される。このようにして故障判断が成されると、警告などの情報を発信する。例えば、ダイアグノーシスへの情報書き込みを行う。
尚、上記ステップST12において、「リッチ側出力履歴及びリーン側出力履歴が共に有り」の状態であった場合には、このステップST12でNo判定されることになり、ステップST18に移る。この場合、ステップST18では、上記アクティブ制御を開始することなしに酸素センサ101はリッチ側及びリーン側共に故障していないと判断されることになる。
尚、上記「リッチ側出力履歴」及び「リーン側出力履歴」が共に存在していない場合における酸素センサ101の故障診断動作は、酸素センサ101の出力信号がリッチ/リーンで反転する毎に、混合気の目標空燃比をリーン側とリッチ側とで反転させるといった上記アクティブ制御により行われるので、触媒劣化判定動作も同時並行可能である。この触媒劣化判定動作の原理としては、上述したように、目標空燃比をリッチ側とリーン側との間で反転させることで、三元触媒8が酸素を一杯に吸蔵した状態と、吸蔵酸素を完全に放出した状態とを繰り返して実現させ、それらの期間内に、三元触媒8に流入した酸素量を積算したり、或いは、三元触媒8に流入した排気ガス中の酸素不足量を積算することで、触媒の酸素貯蔵能力(最大酸素貯蔵量)Cmaxを計算により求め、それに基づいて、触媒の劣化の状態を検知する。この触媒劣化判定動作については上述したように従来より公知であるので、ここでの詳細な説明は省略する。また、上記「リッチ側出力履歴」及び「リーン側出力履歴」が共に存在しており、上記アクティブ制御による酸素センサ101の故障診断動作が必要ない場合には、上記ステップST7のアクティブ制御(強制空燃比制御)は触媒劣化判定のみの動作として実行される。
以上、説明したように、本実施形態では、アクティブ制御によって酸素センサ101の故障診断動作を行うに際し、記憶されている酸素センサ101の信号出力履歴としてリッチ信号の出力が存在する場合には、リッチ側の診断動作をキャンセルする。また、上記信号出力履歴としてリーン信号の出力が存在する場合には、リーン側の診断動作をキャンセルする。このように、過去の信号の出力履歴に応じてリッチ側の診断動作やリーン側の診断動作を不要とすることで、酸素センサ101の故障の有無が判定できるまでの時間を短縮化できる。その結果、酸素センサ101の故障の有無を早期に判定でき、上記アクティブ制御が無駄に終了してしまったり、無用に(診断結果が得られることなしに)排気エミッションが悪化したりするといった状況を回避することができる。
(第2実施形態)
次に、酸素センサ101の故障診断動作についての第2実施形態を説明する。
本実施形態も、アクティブ制御により酸素センサ101の故障診断動作を行うものであり、以下の説明では、上述した第1実施形態との相違点について主に説明する。
本実施形態に係る酸素センサ101の故障診断動作において、「リッチ側出力履歴」の取得動作や「リッチ側出力履歴」の取得動作は上述した第1実施形態において図3のフローチャートを用いて説明した動作と同様である。従って、これら出力履歴の取得動作については、ここでの説明を省略する。また、リッチ側出力履歴及びリーン側出力履歴のうち一方の出力履歴のみが存在している場合の動作も、上述した第1実施形態において図4のフローチャート(ステップST11〜ステップST14の動作)、及び、図5,図6のタイミングチャートを用いて説明した動作と同様である。従って、ここでの説明は省略する。
本実施形態の特徴とする動作は、「リッチ側出力履歴及びリーン側出力履歴が共になし」の状態である場合における酸素センサ101の故障診断動作にある。以下、具体的に説明する。
図8は、本実施形態におけるアクティブ制御の具体的な制御手順を示すフローチャートである。このフローチャートにおけるステップST11〜ステップST14の動作は上記第1実施形態において図4のフローチャートを用いて説明した動作と同様である。
また、図9及び図10は、本実施形態において、酸素センサ101からリッチ出力がなされた履歴もリーン出力がなされた履歴も無い場合における故障診断時の波形の一例を示している。より具体的に、図9は、酸素センサ故障診断実行条件の成立時に酸素センサ101からリーン寄りの出力信号が出力されている場合における故障診断時の波形であり、図10は、酸素センサ故障診断実行条件の成立時に酸素センサ101からリッチ寄りの出力信号が出力されている場合における故障診断時の波形である。
図8に示すフローチャートにおいて、「リッチ側出力履歴及びリーン側出力履歴が共になし」の状態であった場合には、ステップST13でYes判定されることにより、ステップST20に移る。
このステップST20では、現在の酸素センサ101の出力信号はストイキに対応する出力信号に比べてリーン寄りであるか否かを判定する。具体的には、現在の酸素センサ101の出力信号が0.45V未満であるか否かを判定する。この値は、これに限定されるものではない。
ここで、酸素センサ101の出力信号がリーン寄り(0.45V未満)である場合(Yes判定された場合)には、ステップST16に移って、目標空燃比を強制的にリーン側(15.1)にセットする(図9のタイミングT1)。その後、ステップST18に移って、酸素センサ101の出力信号を監視することで、その故障診断動作を実行する。つまり、今、目標空燃比をリーン側に変更したことで、酸素センサ101の出力信号がリーン側(0.2V)に変化したか否かを監視する。以上のようにして故障診断動作を継続し、酸素センサ101の出力信号がリーン側(0.2V)に変化したことが認識されると(図9のタイミングT2)、このリーン側においては酸素センサ101の故障は生じていないと判断される。
このようにして酸素センサ101のリーン側において故障は生じていないと判断されると、目標空燃比は強制的にリッチ側(14.1)にセットされる(図9のタイミングT2)。この状態で、酸素センサ101の出力信号を監視することで、その故障診断動作を実行する。つまり、今、目標空燃比をリッチ側に変更したことで、酸素センサ101の出力信号がリッチ側(0.6V)に変化したか否かを監視する。以上のようにして故障診断動作を継続し、酸素センサ101の出力信号がリッチ側(0.6V)に変化したことが認識されると(図9のタイミングT3)、このリッチ側においても酸素センサ101の故障は生じていないと判断される。
このようにして、酸素センサ101の出力信号としてリーン側出力(0.2V)及びリッチ側出力(0.6V)が共に出力された場合には酸素センサ101は故障していないと判断され、故障診断動作を終了する。
一方、上記アクティブ制御の開始時における酸素センサ101の出力信号がストイキに対応する出力信号に比べてリーン寄りではない(0.45V以上)であった場合には、ステップST20でNo判定され、ステップST17に移って、目標空燃比を強制的にリッチ側(14.1)にセットする(図10のタイミングT1)。その後、ステップST18に移って、酸素センサ101の出力信号を監視することで、その故障診断動作を実行する。つまり、今、目標空燃比をリッチ側に変更したことで、酸素センサ101の出力信号がリッチ側(0.6V)に変化したか否かを監視する。以上のようにして故障診断動作を継続し、酸素センサ101の出力信号がリッチ側(0.6V)に変化したことが認識されると(図10のタイミングT2)、このリッチ側においては酸素センサ101の故障は生じていないと判断される。
このようにして酸素センサ101のリッチ側において故障は生じていないと判断されると、目標空燃比は強制的にリーン側(15.1)にセットされる(図10のタイミングT2)。この状態で、酸素センサ101の出力信号を監視することで、その故障診断動作を実行する。つまり、今、目標空燃比をリーン側に変更したことで、酸素センサ101の出力信号がリーン側(0.2V)に変化したか否かを監視する。以上のようにして故障診断動作を継続し、酸素センサ101の出力信号がリーン側(0.2V)に変化したことが認識されると(図10のタイミングT3)、このリーン側においても酸素センサ101の故障は生じていないと判断される。
このようにして、酸素センサ101の出力信号としてリッチ側出力(0.6V)及びリーン側出力(0.2V)が共に出力された場合には酸素センサ101は故障していないと判断され、故障診断動作を終了する。
一方、上記「リッチ側出力履歴」及び「リーン側出力履歴」が共に存在していない場合に、リッチ側及びリーン側のうち少なくとも一方側の出力が得られない場合には酸素センサ101は故障していると判断される。
例えば、図9に示すように、酸素センサ故障診断実行条件の成立時に酸素センサ101からリーン寄りの出力信号が出力されている場合に、目標空燃比を強制的にリーン側(15.1)にセットした後、所定時間(触媒の酸素吸蔵能力と現在の酸素吸蔵量との差分の酸素量を吸蔵するのに必要な時間に相当:例えば30sec程度)を経過しても酸素センサ101からリーン側の出力(0.2V)が得られないときには、酸素センサ101は故障していると判断し、この時点で故障診断動作を終了する。また、この場合に、酸素センサ101からリーン側の出力(0.2V)が得られ、目標空燃比を強制的にリッチ側(14.1)にセットした後、所定時間(触媒の現在の酸素吸蔵量を消費する時間に相当:例えば30sec程度)を経過しても酸素センサ101からリッチ側の出力(0.6V)が得られないときには、酸素センサ101は故障していると判断し、この時点で故障診断動作を終了する。同様に、図10に示すように、酸素センサ故障診断実行条件の成立時に酸素センサ101からリッチ寄りの出力信号が出力されている場合に、目標空燃比を強制的にリッチ側(14.1)にセットした後、所定時間(触媒の現在の酸素吸蔵量を消費する時間に相当:例えば30sec程度)を経過しても酸素センサ101からリッチ側の出力(0.6V)が得られないときには、酸素センサ101は故障していると判断し、この時点で故障診断動作を終了する。また、この場合に、酸素センサ101からリッチ側の出力(0.6V)が得られ、目標空燃比を強制的にリーン側(15.1)にセットした後、所定時間(触媒の酸素吸蔵能力と現在の酸素吸蔵量との差分の酸素量を吸蔵するのに必要な時間に相当:例えば30sec程度)を経過しても酸素センサ101からリーン側の出力(0.2V)が得られないときには、酸素センサ101は故障していると判断し、この時点で故障診断動作を終了する。
このようにして故障判断が成されると、警告などの情報を発信する。例えば、ダイアグノーシスへの情報書き込みを行う。
尚、本実施形態においても、上記第1実施形態の場合と同様に、酸素センサ101の故障診断動作はアクティブ制御により行われるので、触媒劣化判定動作も同時並行可能である。このアクティブ制御による触媒劣化判定動作については上述したので、ここでの説明は省略する。
以上、説明したように、本実施形態では、上述した第1実施形態の場合と同様に、アクティブ制御によって酸素センサ101の故障診断動作を行うに際し、記憶されている酸素センサ101の信号出力履歴としてリッチ信号の出力が存在する場合には、リッチ側の診断動作をキャンセルする。また、上記信号出力履歴としてリーン信号の出力が存在する場合には、リーン側の診断動作をキャンセルする。このように、過去の信号の出力履歴に応じてリッチ側の診断動作やリーン側の診断動作を不要とすることで、酸素センサ101の故障の有無が判定できるまでの時間を短縮化できる。その結果、酸素センサ101の故障の有無を早期に判定でき、上記アクティブ制御が無駄に終了してしまったり、無用に(診断結果が得られることなしに)排気エミッションが悪化したりするといった状況を回避することができる。
それに加えて、本実施形態に係る酸素センサ101の故障診断動作では、「リッチ側出力履歴及びリーン側出力履歴が共になし」の場合において、酸素センサ故障診断実行条件の成立時に酸素センサ101からリーン寄りの出力信号が出力されている場合には、目標空燃比を強制的にリーン側(15.1)にセットしている。また、酸素センサ故障診断実行条件の成立時に酸素センサ101からリッチ寄りの出力信号が出力されている場合には、目標空燃比を強制的にリッチ側(14.1)にセットしている。
このため、最初に故障診断される側(リーン側またはリッチ側)にあっては 酸素センサ101の信号出力をリーン側とリッチ側との間で反転させることなしに故障診断が完了する。つまり、酸素センサ101の信号出力が反転して所定の出力値に達するまで待つといった動作を経ることなしに一方側の故障診断を完了させることができる。言い換えると、酸素センサ故障診断実行条件の成立時における酸素センサ101からの出力値(電圧値)と、酸素センサ101が正常であることを判断するための出力値(電圧値:リーン側では0.2V、リッチ側では0.6V)との差が小さい状況で故障診断動作を開始することができる。従って、酸素センサ101の故障診断に要する時間の大幅な短縮化が図れる。
尚、上述した第1実施形態に係る酸素センサ101の故障診断動作では、最初に故障診断される側(リッチ側またはリーン側)にあっては、酸素センサ101の信号出力をリッチ側とリーン側との間で反転させるようにしていた。これは、上述した触媒の劣化の状態を検知する触媒劣化判定動作においては、酸素センサ101の信号出力をリッチ側とリーン側との間で反転させた時点から、この触媒劣化判定動作が開始されることを考慮したものである。つまり、早期にこの反転動作を行わせることで、触媒劣化判定動作の開始タイミングを早め、その結果、この触媒劣化判定を早期に完了させることを可能にするための動作である。言い換えると、上記第1実施形態に係る酸素センサ101の故障診断動作は、触媒劣化判定動作が並行される場合に、この触媒劣化判定動作の早期完了を可能としながら、酸素センサ101の故障診断動作も比較的早期に完了することができるといった利点がある。
一方、第2実施形態に係る酸素センサ101の故障診断動作は、酸素センサ101の信号出力がリッチ側とリーン側との間での反転するのを待つことなしに一方側(リーン側またはリッチ側)の故障診断動作を完了することができるため、酸素センサ101の故障診断動作を極めて早期に完了することが可能である。特に、この動作は、上記触媒劣化判定動作が並行されない場合に有効な動作となっている。
−その他の実施形態−
以上説明した各実施形態は、酸素センサ101の故障診断装置を自動車用4気筒ガソリンエンジン1に適用した場合について説明した。本発明は、自動車用に限らず、その他の用途に使用されるエンジンに対しても適用可能である。また、気筒数やエンジン形式(直列型やV型や水平対向型等の別)についても特に限定されるものではない。
また、リッチ側またはリーン側のセンサ出力履歴を取得する制御と、強制空燃比制御+酸素センサ故障診断制御との重み付けをするための条件を加えるようにしてもよい。例えば、一定時間走行を継続するまではセンサ出力履歴が取得できるか否かを監視し続け、一定時間以上走行したにも拘わらず出力履歴が取得できない場合は、強制的に空燃比をリッチ側またはリーン側に制御して、酸素センサ101の出力が正常になされるか否かを診断するような条件である。
また、上記各実施形態では、エンジン1の駆動中に、酸素センサ101の出力信号が0.6V以上となった履歴があればリッチ側出力の履歴をセットし、この出力信号が0.2V以下となった履歴があればリーン側出力の履歴をセットするようにして、リッチ側やリーン側が正常であることの判断に役立てるようにしていた。このように、酸素センサ101の出力信号の監視が可能である構成を利用し、以下の動作を行うことも可能である。つまり、上述したフューエルカット条件が成立してインジェクタ2からの燃料噴射が停止された状況において(空燃比が極端にリーンとなっている状態において)、酸素センサ101の出力信号が0.2V以下にならない場合には、酸素センサ101のリーン側で故障が発生していると診断するものである。その他、エンジン1の制御動作において、排気空燃比を意図的に理論空燃比から乖離させる制御が行われる状況下で、この空燃比に応じた酸素センサ101の出力信号が得られない場合にも、その側(リーン側またはリッチ側)において故障が発生していると診断することが可能である。