以下に添付図面を参照しながら、本発明の好適な実施形態について詳細に説明する。かかる実施形態に示す寸法、材料、その他具体的な数値等は、発明の理解を容易にするための例示に過ぎず、特に断る場合を除き、本発明を限定するものではない。なお、本明細書および図面において、実質的に同一の機能、構成を有する要素については、同一の符号を付することにより重複説明を省略し、また本発明に直接関係のない要素は図示を省略する。
図1は、エンジンシステム1の構成を示す概略図である。図1に示すように、エンジンシステム1は、エンジン3と、吸気系5と、排気系7と、異常診断装置9とを含む。
エンジン3は、吸気行程、圧縮行程、燃焼行程および排気行程が1回のサイクルとして繰り返し行われる4ストロークエンジンである。エンジン3は、シリンダブロック11と、クランクケース13と、シリンダヘッド15とを備える。
シリンダブロック11には、複数のシリンダ17が形成されており、シリンダ17には、ピストン19が摺動自在に配置される。シリンダヘッド15と、シリンダ17と、ピストン19の冠面とによって囲まれた空間が燃焼室21として形成される。ピストン19には、ガスケット、ピストンリングやオイルリングが設けられている。
クランクケース13は、シリンダブロック11と一体的に形成される。ただし、クランクケース13は、シリンダブロック11と別体的に形成されてもよい。クランクケース13の内部には、クランク室23が形成され、クランク室23には、クランクシャフト25が回転自在に支持される。クランクシャフト25には、コネクティングロッド27が接続され、コネクティングロッド27には、ピストン19が接続される。
シリンダヘッド15は、シリンダブロック11のうちクランクケース13と接続する側と反対側に設けられ、シリンダブロック11に連結される。シリンダヘッド15には、吸気ポート29および排気ポート31が形成され、吸気ポート29および排気ポート31は、燃焼室21と連通する。
吸気ポート29と燃焼室21との間には、吸気バルブ33の先端(傘)が位置している。吸気バルブ33の末端には、ロッカーアーム35を介して、吸気用カムシャフト37に固定されたカム37aが当接されている。吸気バルブ33は、吸気用カムシャフト37の回転に伴って、吸気ポート29を開閉する。
排気ポート31と燃焼室21との間には、排気バルブ39の先端(傘)が位置している。排気バルブ39の末端には、ロッカーアーム41を介して、排気用カムシャフト43に固定されたカム43aが当接されている。排気バルブ39は、排気用カムシャフト43の回転に伴って、排気ポート31を開閉する。
シリンダヘッド15には、インジェクタ45および点火プラグ47が設けられ、インジェクタ45および点火プラグ47の先端は、燃焼室21内に配置される。インジェクタ45は、吸気ポート29を介して燃焼室21に流入した空気に対して燃料を噴射する。点火プラグ47は、空気と燃料との混合気を所定のタイミングで点火して燃焼させる。かかる燃焼により、ピストン19がシリンダ17内で往復運動を行い、その往復運動がコネクティングロッド27を通じてクランクシャフト25の回転運動に変換される。
吸気系5は、吸気管49と、エアクリーナ51と、スロットルバルブ53とを備える。吸気管49は、円筒状に形成され、一端にインテークマニホールド49aを含む。吸気管49(インテークマニホールド49a)の内部には、吸気流路が形成される。インテークマニホールド49aは、シリンダヘッド15に接続され、吸気流路は、吸気ポート29と連通する。
エアクリーナ51は、吸気管49のうちインテークマニホールド49aから離隔する側の端部に設けられ、外部から吸入された空気に混合する異物を除去する。スロットルバルブ53は、アクセルペダル(不図示)の踏み込み量(以下、アクセル開度ともいう)に応じてアクチュエータ55により開閉駆動され、燃焼室21へ送出する空気量を調整する。
排気系7は、排気管57と、触媒59とを備える。排気管57は、円筒状に形成され、一端にエキゾーストマニホールド57aを含む。排気管57(エキゾーストマニホールド57a)の内部には、排気流路が形成される。エキゾーストマニホールド57aは、シリンダヘッド15に接続され、排気流路は、排気ポート31と連通する。
触媒59は、排気管57の内部(排気流路)に設けられる。触媒59は、例えば、三元触媒(Three-Way Catalyst)であって、プラチナ(Pt)、パラジウム(Pd)、ロジウム(Rh)を含む。触媒59は、燃焼室21から排出された排出ガス中の炭化水素(HC)、一酸化炭素(CO)、窒素酸化物(NOx)を除去する。
エンジンシステム1には、アクセル開度センサ61と、クランク角センサ63と、エアフローメータ65とが設けられる。
アクセル開度センサ61は、アクセルペダル(不図示)の踏み込み量(アクセル開度)を検出し、検出信号を後述するECU(Engine Control Unit)200に出力する。クランク角センサ63は、クランクシャフト25の回転角を検出し、検出信号をECU200に出力する。エアフローメータ65は、スロットルバルブ53とインテークマニホールド49aとの間に設けられ、吸気流路内を流通する空気量(吸気量)を検出し、検出信号をECU200に出力する。
本実施形態の異常診断装置9は、空燃比センサ100と、ECU200と、報知部300とを備える。
空燃比センサ100は、排気管57に設けられ、空燃比センサ100の先端は、排気流路内に配置される。本実施形態では、空燃比センサ100は、エキゾーストマニホールド57aと触媒59との間に配置される。空燃比センサ100は、排気流路を流通する排気ガス中の酸素濃度(空燃比)を検出し、検出信号をECU200に出力する。以下では、空燃比センサ100が検出した酸素濃度を実空燃比ともいう。空燃比センサ100は、例えばA/Fセンサであり、排気ガス中の空燃比をリッチからリーンまでの広範囲に亘りリニアに検出することができる。
ECU200は、中央処理装置(CPU)、プログラム等が格納されたROM、ワークエリアとしてのRAM等を含むマイクロコンピュータでなり、エンジンシステム1を統括制御する。本実施形態では、ECU200は、エンジンシステム1を制御する際、信号取得部201、導出部203、決定部205、駆動制御部207、異常診断開始部209、フィードバック制御部211、異常判定部213として機能する。
信号取得部201は、各種センサから出力される検出信号を取得する。具体的に、信号取得部201は、アクセル開度センサ61、クランク角センサ63、エアフローメータ65、空燃比センサ100から出力される検出信号を取得する。
導出部203は、クランク角センサ63から出力される検出信号に基づいて、エンジン回転数を導出する。導出部203は、アクセル開度センサ61から出力される検出信号、および、導出したエンジン回転数に基づき、不図示のメモリに予め記憶されたエンジン負荷マップを参照してエンジン3の目標トルクおよび目標エンジン回転数を導出する。
決定部205は、導出部203により導出された目標エンジン回転数および目標トルクに基づいて、各シリンダ17に供給する目標空気量を決定し、決定した目標空気量に基づいて、目標スロットル開度を決定する。
また、決定部205は、決定した目標空気量に基づいて、例えば理論空燃比(λ=1)となる燃料噴射量を目標噴射量として決定し、決定した目標噴射量の燃料をインジェクタ45から噴射させるために、インジェクタ45の目標噴射時期および目標噴射期間を決定する。
また、決定部205は、導出部203により導出された目標エンジン回転数、および、クランク角センサ63から出力される検出信号に基づいて、点火プラグ47の目標点火時期を決定する。
駆動制御部207は、決定部205により決定された目標スロットル開度でスロットルバルブ53が開口するようにアクチュエータ55を駆動させる。また、駆動制御部207は、決定部205により決定された目標噴射時期および目標噴射期間でインジェクタ45を駆動し、インジェクタ45から目標噴射量の燃料を噴射させる。また、駆動制御部207は、決定部205により決定された目標点火時期で点火プラグ47を点火させる。
異常診断開始部209は、エンジンシステム1が搭載された車両の運転状態に応じて、空燃比センサ100の異常診断を開始する。例えば、異常診断開始部209は、車両の車速が所定速度(例えば、60km/h)以上、かつ、エンジン負荷(空気量)の変化量が所定量未満であるとき、空燃比センサ100の異常診断を開始する。換言すれば、異常診断開始部209は、車両の運転状態が所定の運転状態となった際に、空燃比センサ100の異常診断を開始し、車両の運転状態が所定の運転状態と異なる場合、空燃比センサ100の異常診断を停止する。異常診断開始部209は、車両の運転状態が所定の運転状態となった際、フィードバック制御部211に異常診断開始信号を出力する。
フィードバック制御部211は、空燃比センサ100により検出された実空燃比が目標空燃比(例えば、理論空燃比(λ=1))に近づくように、インジェクタ45の目標噴射量(燃料噴射量)の補正値(以下、フィードバック補正値ともいう)を導出する。換言すれば、フィードバック制御部211は、エンジン3の空燃比が目標空燃比に近づくようにフィードバック制御を実行する。本実施形態では、フィードバック制御部211は、PID制御(Proportional-Integral-Differential Controller)を実行する。ただし、これに限定されず、フィードバック制御部211は、PI制御(Proportional-Integral Controller)を実行してもよい。
異常判定部213は、空燃比センサ100の検出信号に基づいて、空燃比センサ100が正常であるか異常であるかを判定する。例えば、異常判定部213は、空燃比センサ100の検出信号の最大値maxと最小値minとの差分Δと、閾値Thとの比較により、空燃比センサ100が異常であるか否か判定する。ここで、閾値Thは、予め実験等により得られた、空燃比センサ100に異常が生じているとされる値である。つまり、異常判定部213は、実空燃比における最大値maxと最小値minとの差分Δと、閾値Thとに基づいて、空燃比センサ100の異常判定を行う。
例えば、異常判定部213は、エンジン3の回転周期ごとの差分Δを取得し、差分Δの平均値が閾値Th以上である場合に空燃比センサ100が異常であると判定し、差分Δの平均値が閾値Th未満である場合に空燃比センサ100が正常であると判定する。異常判定部213は、空燃比センサ100が異常であると判定した場合、報知部300に空燃比センサ100が異常であることを示す異常信号を出力する。
報知部300は、例えば、車両に搭載されるインストルメントパネルやカーナビゲーションで構成される。報知部300は、表示部と、音響部とを備える。表示部は、異常判定部213から出力される異常信号に応じた画像や文字を表示する。音響部は、異常判定部213から出力される異常信号に応じた音声を出力する。
ところで、空燃比センサ100が劣化、故障等の異常を来すと、エンジン3の正確な空燃比のフィードバック制御が困難になり、その結果、排気ガスエミッションが悪化し、環境汚染に繋がる。したがって、空燃比センサ100が異常であるか否かの診断を行う必要がある。特に、車両(自動車)に搭載されたエンジン3の場合、排気ガスエミッションが悪化した状態での走行を抑制するため、車載状態で空燃比センサ100の異常を診断することが各国法規等からも要請されている。
そこで、本実施形態のエンジンシステム1は、車載状態で空燃比センサ100の異常を診断する異常診断装置9を備える。図2は、空燃比センサ100の異常を説明する説明図である。図2中、破線は、空燃比センサ100が正常である場合の検出信号(以下、正常信号波形という)の波形の一例を示し、実線は、空燃比センサ100が異常である場合の検出信号の波形(以下、異常信号波形という)の一例を示す。なお、空燃比センサ100の異常信号波形は、図2に示す波形以外にもさまざまな波形が存在するが、本実施形態では、図2に示す異常信号波形を空燃比センサ100が検出する場合について説明する。また、図2中、縦軸は空燃比を示し、横軸は時間を示す。
図2に示すように、異常信号波形(実線)は、正常信号波形(破線)と比較して、時間遅れが生じている。図2では、空燃比がリッチ側(図2中、下側)からリーン側(図2中、上側)に変化する際、空燃比センサ100が異常である場合は、正常な場合よりも空燃比の変化の応答(検出)が遅れる。また、空燃比がリーン側(図2中、上側)からリッチ側(図2中、下側)に変化する際、空燃比センサ100が異常である場合は、正常な場合よりも空燃比の変化の応答(検出)が遅れる。異常信号波形は、正常信号波形と大凡同じ波形であるが、正常信号波形に対し時間が遅延する側にずれている。このような正常信号波形に対する異常信号波形の時間遅れを、本実施形態では無駄時間遅れという。このように、空燃比センサ100が異常である場合は、正常である場合と比べて、実際に排気ガスが空燃比センサ100に到達してから検出信号として現れるまでに時間遅れ(無駄時間遅れ)が生じる。
無駄時間遅れが生じると、フィードバック制御部211により燃料噴射量を補正しても、空燃比センサ100の応答が遅れることから、フィードバック制御が不安定になる。その結果、無駄時間遅れが生じた場合、実空燃比は、目標空燃比に対し発散し易くなる。
しかし、フィードバック制御部211は、実空燃比が目標空燃比に近づくように燃料噴射量を補正していることから、実空燃比の発散は、抑制されることとなる。実空燃比の発散が抑制される場合、異常判定部213は、空燃比センサ100の異常判定が困難になる。
そこで、本実施形態のフィードバック制御部211は、通常制御用と異常診断用の2つのフィードバックゲインマップを備える。2つのフィードバックゲインマップは、互いに異なるフィードバックゲインの値を持つ。2つのフィードバックゲインマップは、異常診断用フィードバックゲインマップ(以下、単に異常診断用マップという)と、通常制御用フィードバックゲインマップ(以下、単に通常制御用マップという)であり、それぞれ不図示のメモリに記憶される。
異常診断用マップは、異常診断開始部209により空燃比センサ100の異常診断が開始されたとき、実空燃比の発散を促進するために使用される。通常制御用マップは、空燃比センサ100の異常診断が行われていないとき(すなわち、異常診断時以外の通常制御時に)、実空燃比の発散を抑制するために使用される。
異常診断用マップおよび通常制御用マップは、それぞれ比例ゲイン、積分ゲイン、微分ゲイン(以下、これらをまとめてフィードバックゲインともいう)を含む。本実施形態では、異常診断用マップの比例ゲインは、通常制御用マップの比例ゲインよりも大きい値であり、異常診断用マップの積分ゲインおよび微分ゲインは、通常制御用マップの積分ゲインおよび微分ゲインと同じ値である。ただし、これに限定されず、異常診断用マップの積分ゲインは、通常制御用マップの積分ゲインよりも大きい値であり、異常診断用マップの比例ゲインおよび微分ゲインは、通常制御用マップの比例ゲインおよび微分ゲインと同じ値であってもよい。また、異常診断用マップの比例ゲインおよび積分ゲインは、通常制御用マップの比例ゲインおよび積分ゲインよりも大きい値であり、異常診断用マップの微分ゲインは、通常制御用マップの微分ゲインと同じ値であってもよい。このように、異常診断用マップは、通常制御用マップのフィードバックゲインより大きな値を持つ。
図3は、フィードバック制御部211が実行するPID制御のブロック線図である。図3に示すように、エンジン3から排出された排気ガス中の酸素濃度(実空燃比)が空燃比センサ100によって検出される。
演算器400には、空燃比センサ100が検出した実空燃比と、目標空燃比(ここでは、理論空燃比(λ=1))とが入力される。演算器400は、目標空燃比と実空燃比との偏差を導出する。演算器400は、導出した偏差をフィードバック制御部211に出力する。
フィードバック制御部211には、演算器400により導出された偏差と、異常診断開始部209から出力される異常診断開始信号とが入力される。フィードバック制御部211には、上述した通常制御用マップおよび異常診断用マップが不図示のメモリに記憶されている。フィードバック制御部211は、異常診断開始信号の有無に応じて、使用するフィードバックゲインマップの切り替えを行う。
例えば、フィードバック制御部211は、異常診断開始信号が入力されていない場合、演算器400により導出された偏差と、通常制御用マップとに基づいて、インジェクタ45の目標噴射量(燃料噴射量)の補正値(フィードバック補正値)を導出する。
一方、フィードバック制御部211は、異常診断開始信号が入力されている場合、演算器400により導出された偏差と、異常診断用マップとに基づいて、インジェクタ45の目標噴射量(燃料噴射量)の補正値(フィードバック補正値)を導出する。
エンジン3では、導出されたフィードバック補正値が加味された燃料噴射量が燃焼室21に噴射される。燃焼室21では、吸入した空気と噴射された燃料との混合気が燃焼される。
図4は、異常診断装置9による異常診断処理のフローチャートを示す図である。図4に示すように、まず、異常診断開始部209は、車両の運転状態が所定の運転状態であるか否か判定する(ステップS401)。車両の運転状態が所定の運転状態である場合(ステップS401のYES)、異常診断開始部209は、フィードバック制御部211に異常診断開始信号を出力する(ステップS403)。一方、車両の運転状態が所定の運転状態でない場合(ステップS401のNO)、異常診断開始部209は、フィードバック制御部211に異常診断開始信号を出力せずに、フィードバック制御部211は、通常制御処理を実行し(ステップS405)、異常診断処理を終了する。通常制御処理の詳細については、後述する。
フィードバック制御部211は、異常診断開始信号が入力された場合、2つのフィードバックゲインマップの中から、異常診断用マップを選択する(ステップS407)。そして、フィードバック制御部211は、目標空燃比と実空燃比との偏差と、異常診断用マップとに基づいて、インジェクタ45の目標噴射量の補正値(フィードバック補正値)を導出する(ステップS409)。
エンジン3では、導出されたフィードバック補正値が加味された燃料噴射量が燃焼室21に噴射される。燃焼室21では、吸入した空気と噴射された燃料との混合気が燃焼される(ステップS411)。空燃比センサ100は、エンジン3から排出された排気ガス中の酸素濃度(実空燃比)を検出する(ステップS413)。
異常判定部213は、実空燃比の最大値maxと最小値minとの差分Δを導出する(ステップS415)。異常判定部213は、導出された差分Δと、閾値Thとを比較し、差分Δが閾値Th以上であるか否か判定する(ステップS417)。差分Δが閾値Th以上である場合(ステップS417のYES)、異常判定部213は、空燃比センサ100に異常が生じていると判定し、報知部300に異常信号を出力する(ステップS419)。一方、差分Δが閾値Th未満である場合(ステップS417のNO)、異常判定部213は、空燃比センサ100が正常であると判定し、報知部300に異常信号を出力せずに、異常診断処理を終了する。
報知部300は、異常信号が入力された場合、異常信号に応じた画像または音声を出力し(ステップS421)、異常診断処理を終了する。
図5は、通常制御処理のフローチャートを示す図である。図5に示すように、まず、異常診断開始部209は、車両の運転状態が所定の運転状態であるか否か判定する(ステップS501)。車両の運転状態が所定の運転状態でない場合(ステップS501のNO)、異常診断開始部209は、フィードバック制御部211に異常診断開始信号を出力しない。フィードバック制御部211は、異常診断開始信号が入力されない場合、2つのフィードバックゲインマップの中から、通常制御用マップを選択する(ステップS503)。一方、車両の運転状態が所定の運転状態である場合(ステップS501のYES)、異常診断開始部209は、フィードバック制御部211に異常診断開始信号を出力し、フィードバック制御部211は、異常診断処理を実行し(ステップS505)、通常制御処理を終了する。異常診断処理の詳細については、上述した通りである。
通常制御処理中、フィードバック制御部211は、目標空燃比と実空燃比との偏差と、通常制御用マップとに基づいて、インジェクタ45の目標噴射量の補正値(フィードバック補正値)を導出する(ステップS507)。
エンジン3では、導出されたフィードバック補正値が加味された燃料噴射量が燃焼室21に噴射される。燃焼室21では、吸入した空気と噴射された燃料との混合気が燃焼される(ステップS509)。空燃比センサ100は、エンジン3から排出された排気ガス中の酸素濃度(実空燃比)を検出し(ステップS511)、再びステップS501に移行する。その後、上述したステップS501~S511までの処理が繰り返し実行される。
図6は、実空燃比とフィードバック補正値と異常診断開始信号との関係を表すタイミングチャート図である。図6では、異常診断開始信号OFF中、フィードバック制御部211は、通常制御用マップを用いて、実空燃比が目標空燃比に近づくようにフィードバック制御を行っている。また、異常診断開始信号ON中、フィードバック制御部211は、異常診断用マップを用いて、実空燃比が目標空燃比に近づくようにフィードバック制御を行っている。図6(a)は、空燃比センサ100に異常(無駄時間遅れ)が生じている状態を示し、図6(b)は、空燃比センサ100が正常な状態を示している。
図6に示すように、通常制御中(異常診断開始信号OFF中)、フィードバック制御部211は、実空燃比と目標空燃比との偏差と、通常制御用マップとに基づいて、フィードバック補正値を導出している。また、異常診断中(異常診断開始信号ON中)、フィードバック制御部211は、実空燃比と目標空燃比との偏差と、異常診断用マップとに基づいて、フィードバック補正値を導出している。
上述したように、異常診断用マップのフィードバックゲインは、通常制御用マップのフィードバックゲインより大きい。そのため、異常診断中、フィードバック補正値は、通常制御時よりもリッチ側あるいはリーン側に大きく変化している。
これにより、異常診断中、実空燃比は、通常制御時よりも目標空燃比に対して発散しやすい状態となる。上述したように、空燃比センサ100に異常が生じている場合、正常である場合と比較して、実空燃比の応答(検出)に無駄時間遅れが生じる。
無駄時間遅れが生じると、フィードバック制御部211により燃料噴射量を補正しても、空燃比センサ100の応答が遅れることから、フィードバック制御が不安定になる。そのため、図6(a)に示すように、空燃比センサ100に異常が生じている状態(無駄時間遅れが生じた状態)で、フィードバックゲインを大きくすると、実空燃比は目標空燃比に対し発散する。換言すれば、無駄時間遅れが生じた状態で、フィードバックゲインを大きくすると、フィードバック制御部211により燃料噴射量を補正しても、実空燃比は目標空燃比に収束し難くなる。
一方、図6(b)に示すように、空燃比センサ100が正常である状態で、フィードバックゲインを大きくしても、フィードバック制御部211により燃料噴射量を補正することで、実空燃比は目標空燃比に対し発散し難くなる。換言すれば、空燃比センサ100が正常な状態で、フィードバックゲインを大きくしても、フィードバック制御部211により燃料噴射量を補正することで、実空燃比は目標空燃比に収束し易くなる。
異常診断中、異常判定部213は、実空燃比の最大値maxと最小値minとの差分Δを導出している。図6(a)に示すように、空燃比センサ100に異常が生じ、実空燃比が目標空燃比に対し発散している状態では、差分Δは、閾値Thよりも大きくなる。一方、図6(b)に示すように、空燃比センサ100が正常で、実空燃比が目標空燃比に対し発散が抑制されている状態では、差分Δは、閾値Thよりも小さくなる。異常判定部213は、差分Δが閾値Th以上である場合に空燃比センサ100が異常であると判定し、差分Δが閾値Th未満である場合に空燃比センサ100が正常であると判定する。このように、無駄時間遅れが生じた状態で、フィードバックゲインを大きくすると、実空燃比が発散し易くなるため、異常判定部213は、空燃比センサ100の異常を判定し易くなる。
ここで、異常判定部213は、空燃比センサ100の異常診断開始後、所定時間(例えば、1秒)が経過した後に差分Δと閾値Thとの比較を行っている。ここで、所定時間は、無駄時間遅れ以上の時間であることが好ましい。こうすることで、フィードバックゲインを変更してから実空燃比の応答に現れた後の差分Δと閾値Thを比較することができ、空燃比センサ100の異常判定の精度を向上させることができる。
なお、差分Δは、エンジン3の回転周期ごとの差分Δの積算値であってもよい。つまり、異常判定部213は、エンジン3の回転周期ごとの差分Δを取得し、差分Δの所定回数の積算値が閾値Th以上である場合に空燃比センサ100が異常であると判定し、差分Δの所定回数の積算値が閾値Th未満である場合に空燃比センサ100が正常であると判定してもよい。
以上のように、本実施形態のフィードバック制御部211は、通常制御用マップと異常診断用マップとを備える。フィードバック制御部211は、空燃比センサ100の異常診断時、通常制御用マップから異常診断用マップに切り替えることで、目標空燃比に対し実空燃比が発散するようにフィードバックゲインを大きくすることができる。これにより、異常診断時、フィードバック制御部211は、フィードバック制御の安定性を崩し、実空燃比が発散しやすいように制御することで、異常判定部213は、空燃比センサ100の異常判定を容易にすることができる。
異常判定部213は、実空燃比の最大値maxと最小値minとの差分Δが閾値Th以上であるとき、空燃比センサ100に異常が生じていると判定する。異常判定部213は、空燃比センサ100の異常診断開始後、所定時間が経過した後に差分Δと閾値Thとの比較を行う。これにより、フィードバックゲインを変更してから実空燃比の応答に現れた後の差分Δと閾値Thを比較することができ、空燃比センサ100の異常判定の精度を向上させることができる。
異常診断開始部209は、車両の運転状態が所定の運転状態(車速が所定速度以上、かつ、エンジン負荷の変化量が所定量未満)であるとき、空燃比センサ100の異常診断を開始する。これにより、車両の運転状態が比較的安定した状態で空燃比センサ100の異常診断を行うことができ、空燃比センサ100の異常判定の精度を向上させることができる。
以上、添付図面を参照しながら本発明の好適な実施形態について説明したが、本発明はかかる実施形態に限定されないことは言うまでもない。当業者であれば、特許請求の範囲に記載された範疇において、各種の変更例または修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
上記実施形態では、異常判定部213は、空燃比センサ100の検出信号の最大値maxと最小値minとの差分Δが閾値Th以上であるとき、空燃比センサ100の異常を判定する例について説明した。しかし、これに限定されず、異常判定部213は、空燃比センサ100の検出信号における差分Δとは別のデータに基づいて、空燃比センサ100の異常を判定してもよい。
上記実施形態では、異常判定部213が異常診断開始後、所定時間経過した後の差分Δと閾値Thを比較する例について説明した。しかし、これに限定されず、異常判定部213は、異常診断開始直後の差分Δと閾値Thを比較してもよい。
上記実施形態では、車両の運転状態が所定の運転状態であるとき、異常診断開始部209が空燃比センサ100の異常診断を開始する例について説明した。しかし、これに限定されず、異常診断開始部209は、車両の運転状態が所定の運転状態以外であるとき、空燃比センサ100の異常診断を開始してもよい。