以下、本発明を具体化したガスセンサの異常診断方法およびガスセンサ制御装置の一実施の形態として、第1および第2の実施形態について、図面を参照して説明する。一例として、理論空燃比点、および、リッチ領域からリーン領域までの全空燃比に対応した酸素濃度の検出が可能な全領域空燃比センサ素子10(以下、単に「センサ素子10」と言う。)を備えるガスセンサ制御装置1に本発明を適用した場合について説明する。このガスセンサ制御装置1は、ガスセンサユニット3により自動車等の内燃機関の排気ガス中に含まれる酸素の濃度を検出し、その酸素濃度の検出結果を内燃機関の空燃比を制御するために用いられる。
まず、図1を参照して、第1および第2の実施形態に共通するガスセンサ制御装置1およびガスセンサユニット3の構成について説明する。図1は、ガスセンサ制御装置1およびガスセンサユニット3の概略構成を表したシステム構成図である。ガスセンサユニット3は、内燃機関の排気ガス中に含まれる酸素濃度に応じたセンサ出力値を出力するものである。そしてガスセンサユニット3は、センサ素子10およびセラミックヒータ41を備えるガスセンサ2,並びに、センサ素子10に接続されるセンサ制御回路31およびセラミックヒータ41に接続されるヒータ電圧供給回路43を備えるセンサ駆動回路部4を備えている。また、ガスセンサユニット3は、センサ素子10とセンサ制御回路31とを電気的に接続するための3本のリード線(ポンプ側リード線53,共通リード線54,検出側リード線55)を備えている。一方、ガスセンサ制御装置1は、ガスセンサ2が異常状態にかるか否かを診断するとともに、ガスセンサ2が備えるセンサ制御回路31から別途出力されるセンサ抵抗値信号に基づきヒータ電圧供給回路43の制御を行うECU60を備える。図示しないが、ガスセンサ制御装置1はさらに、本発明の異常診断処理の診断結果を報知するためのディスプレイ、警報器等の報知手段を必要に応じて備えている。
なお、ヒータ電圧供給回路43,ECU60およびセンサ制御回路31は、センサ素子10の起動時に外部から入力されるセンサ起動信号に同期して、それぞれ動作を開始する。
以下、ガスセンサユニット3が備える各構成について詳述する。まず、ガスセンサ2が備えるセンサ素子10について図1を参照して説明する。センサ素子10は、図1に示すように、遮蔽層23と、酸素濃度検出セル15と、ガス検出室19と、酸素ポンプセル11とが、この順に下から上へ積層されて構成されている。以下、センサ素子10が備える各構成について図1を参照して詳述する。
酸素ポンプセル11は、板状の固体電解質体12の両板面(表側板面、裏側板面)に多孔質電極13,14を備え、ガスセンサ2が検出する特定ガスである酸素(O2)のポンピングを行うものである。酸素濃度検出セル15は、板状の固体電解質体16の両板面(表側板面、裏側板面)に多孔質電極17,18を備え、酸素濃度に応じて起電力を発生するものである。またガス検出室19は、この酸素ポンプセル11と酸素濃度検出セル15との間に設けられ、被検出ガスが導入される空間である。そして、酸素ポンプセル11の多孔質電極14および酸素濃度検出セル15の多孔質電極17は、このガス検出室19に面するように配置されている。また、被検出ガスをガス検出室19に導入するための経路には、ガス検出室19内に導入される被検出ガスの拡散律速を行うためのガス拡散多孔質層21が配置されている。なお、固体電解質体12,16および遮蔽層23は、イットリアを安定化剤として固溶させた部分安定化ジルコニアを主体に形成され、多孔質電極13,14,17,18は、白金を主体に形成されている。
また、酸素濃度検出セル15のガス検出室19側とは反対側の面には、多孔質電極18を挟んで、遮蔽層23が配設されている。この遮蔽層23と酸素濃度検出セル15との間に挟み込まれた多孔質電極18の多孔質の隙間には、酸素が蓄積され、その蓄積された酸素は、酸素濃度検出セル15において、排気ガス中の酸素濃度を検出する際の基準酸素となる。このため、多孔質電極18は、酸素基準電極として機能する。
次に、ガスセンサ2が備えるセラミックヒータ41について、図1を参照して説明する。セラミックヒータ41は平板状に形成され、センサ素子10の酸素ポンプセル11に対向して配置されている。セラミックヒータ41は、センサ素子10を活性化させるためのものであり、ヒータ電圧供給回路43から供給される電力により、センサ素子10の温度が所定温度になるように制御される。一方、ヒータ電圧供給回路43は、後述するECU60による制御に従い、ガスセンサ2が備えるセラミックヒータ41に電力を供給する。
次に、センサ制御回路31について、図1を参照して説明する。センサ制御回路31は、前述の3本のリード線によりセンサ素子10と電気的に接続され、ECU60にセンサ出力値を出力するものである。このセンサ制御回路31は公知の回路である、ポンプ電流駆動回路33と、電圧出力回路35と、基準電圧比較回路39と、微小電流供給回路40とを備えている。
センサ制御回路31が備える微小電流供給回路40は、酸素濃度検出セル15の多孔質電極18側から多孔質電極17側へと微小電流Icpを通電するものである。この微小電流供給回路40による微小電流Icpの通電により、多孔質電極18側に酸素が汲み込まれ、多孔質電極18が酸素基準電極として機能する。電圧出力回路35は、酸素濃度検出セル15の多孔質電極17,18間に発生する起電力Vsを検出するものである。また、基準電圧比較回路39は、予め定められた基準電圧(本実施例では450[mV])を内部に保持しており、電圧出力回路35にて検出した起電力Vsと基準電圧との比較を行い、比較結果をポンプ電流駆動回路33にフィードバックするものである。そして、ポンプ電流駆動回路33は、基準電圧比較回路39から受け取った比較結果に基づいて、酸素ポンプセル11に流すポンプ電流Ipを制御するものである。
次に、ガスセンサ制御装置1が備えるECU60について図1を参照して説明する。ECU60は、セラミックヒータ41の通電制御を行うヒータ電圧供給回路43を制御する。そしてECU60は、ガスセンサ制御装置1の主制御を司るCPU61,判定値a,b並びにc等の各種設定値やプログラム等を記憶するROM62,および、任意に読み書き可能な記憶素子であるRAM63を備えている。このECU60には、センサ駆動回路部4を介してガスセンサ2から出力されるセンサ出力値やセンサ抵抗値信号が入力される他、内燃機関への燃料供給状況に関する信号、イグニッションスイッチのON,OFFに関する信号等のその他の情報が入力される。なお、ガスセンサ制御装置1がセンサ制御回路31およびヒータ電圧供給回路43のいずれか一方、又は双方を備えるように構成してもよい。同様に、ガスセンサユニット3が、センサ制御回路31およびヒータ電圧供給回路43のいずれか一方、又は双方を備えないようにしてもよい。例えば、ガスセンサ制御装置1がセンサ制御回路31およびヒータ電圧供給回路43を備える場合には、センサ出力値が、直接ガスセンサ2からガスセンサ制御装置1に入力されることとなる。即ち、本発明では、ガスセンサ2から出力されるセンサ出力値は、直接ガスセンサ制御装置1に入力される場合の他、センサ制御回路31等の各種インターフェースを介してガスセンサ制御装置1に入力されるようにしてもよい。本実施形態では、ガスセンサ2から出力されるセンサ出力値は、センサ制御回路31を介してガスセンサ制御装置1に入力されるようになっているため、ガスセンサユニット3から出力されるセンサ出力値が、本発明のセンサ出力値に相当する。
このECU60が備えるRAM63の記憶エリアを、図2を参照して説明する。図2は、RAM63の記憶エリアを説明するための概念図である。図2に示すように、RAM63は、ROM62から読み出された各種プログラムや設定値、CPU61が演算処理した演算結果を収容するワークエリア631と、異常診断処理において参照される初期化条件フラグ、応答遅れ診断処理を実施済みであるか否かを示す計測完了フラグ等の各種フラグを記憶するフラグ記憶エリア632とを備えている。またRAM63は、図示外のタイマプログラムによって所定時間ごとに値が所定量ずつ加算されるカウント値が記憶されるタイマカウンタ記憶エリア633と、ガスセンサ制御装置1に入力される、内燃機関への燃料供給状況に関する信号、イグニッションスイッチのON,OFFに関する信号、内燃機関の運転状態を示す各種運転パラメータ条件が所定時間継続して全て成立しているか否かに関する信号等のその他の情報を記憶する入力情報記憶エリア634とを備えている。またRAM63は、ガスセンサユニット3から出力されたセンサ出力値を記憶するセンサ出力値記憶エリア635と、本発明の第1時間に相当する応答時間T1,および、本発明の第2時間に相当する応答時間T2をそれぞれ記憶する応答時間記憶エリア636とを備えている。またRAM63は、異常診断処理における診断結果を記憶する診断結果記憶エリア637を備え、さらに、図示外の各種記憶エリアを必要に応じて備えている。
次に、ガスセンサ制御装置1によるヒータ電圧供給回路43の制御について簡単に説明する。ガスセンサ制御装置1は、図1に図示していないが、センサ制御回路31内に公知のセンサ抵抗値検出回路を備えている。このセンサ抵抗値検出回路は、具体的に、微小電流供給回路40とは別の電流供給回路から一定値の電流を酸素濃度検出セル15に対して定期的に供給する。その際に、センサ抵抗値検出回路は、酸素濃度検出セル15の多孔質電極17,18間に発生する電位差をセンサ抵抗値信号として検出し、この信号をECU60に出力している。そして、ECU60はガスセンサユニット3から出力されるセンサ抵抗値信号に基づいて、センサ素子10の温度Tcを検出し、検出した温度Tcに基づいてセラミックヒータ41への印加電圧を制御するための信号をヒータ電圧供給回路43に出力している。より具体的には、センサ素子10の温度Tcが活性化温度(例えば、600[℃])以上の常用温度(例えば、800[℃])となるように、換言すれば、酸素濃度検出セル15のセンサ抵抗値Rpvsがこの常用温度に対応した目標抵抗値Rtaとなるように、センサ制御回路31からのセンサ抵抗値信号に基づきヒータへの印加電圧VHの大きさを調整する温度制御処理が実行される。なお、センサ素子10の酸素濃度検出セル15における温度Tcとセンサ抵抗値Rpvsとの間には、相関関係があり、電気抵抗値Rpvsに基づいてセンサ素子10の温度Tcを検出することが可能である。この結果、酸素ポンプセル11および酸素濃度検出セル15が活性化温度以上に加熱され、センサ素子10は、酸素を検出可能な活性化状態となる。なお、ECU60にて実行される温度制御処理については、公知の手法を採用して実行すればよく、具体的には、特開2003−185626号公報にて開示された手法等にて実行することができるため、これ以上の説明は省略する。
次に、ガスセンサ制御装置1が排気ガス中の酸素濃度を検出し、空燃比を検出する方法について簡単に説明する。センサ素子10が備える酸素濃度検出セル15の多孔質電極17と多孔質電極18との間には、ガス検出室19の内部における酸素濃度に応じた起電力Vsが発生する。この起電力Vsが一定値(例えば、450[mV])となる様に、センサ素子10では、酸素ポンプセル11を用いてガス検出室19の内部に対する酸素(O2)の汲み出し又は汲み入れが行われる。このとき、酸素ポンプセル11に流れるポンプ電流Ipの電流値および電流方向が、排気ガス中の酸素濃度に応じて変化することから、ポンプ電流Ipの検出結果に基づいて排気ガス中の酸素濃度を検出できる。なお、本実施の形態では、このポンプ電流Ipの量に比例した電圧をセンサ出力値としてセンサ制御回路31からECU60を備えるガスセンサ制御装置1に出力している。そして、ECU60がこのセンサ出力値を用いて排気ガス中の酸素濃度を検出したり、ガスセンサ2の異常の有無を診断したりしている。さらにECU60は、排気ガス中の酸素濃度と空燃比とには相関関係があることから、検出した酸素濃度を用いることで、内燃機関の空燃比を検出している。
次に、ガスセンサユニット3から出力されるセンサ出力値に基づいて、ガスセンサ2の異常を診断する第1の実施形態の異常診断処理について、図3〜図5を参照して説明する。図3は、内燃機関への燃料供給の中断(以下、「F/C」と言う。)開始後およびそのF/C後に燃料供給が再開された後におけるガスセンサユニット3から出力されるセンサ出力値の経時変化を示すセンサ信号の一例を示すグラフである。また図4は、ガスセンサ2が異常状態にあるか否かを診断する異常診断処理におけるメイン処理の流れを示すフローチャートであり、図5は、図4に示すメイン処理において実行される応答遅れ診断処理の流れを示すフローチャートである。なお、図4および図5に示す各処理を実行させるプログラムは、ROM62に記憶されており、図1に示すCPU61により実行される。
まず、ガスセンサ2が異常状態にあるか否かを診断する異常診断処理の概要を、センサ出力値の経時変化を示すセンサ信号100を例に、図3を参照して簡単に説明する。図3に示すグラフのセンサ信号100は、F/CのON/OFFが信号200に示すタイミングで実行された場合の、センサ出力値の経時変化を示している。このセンサ信号100に示すように、F/CがOFFからONされるF/C開始後、センサ出力値(図中、Ip出力[V])は経時的に増加し、その後点線101で示す判定値aよりも大きいほぼ一定の値を示すようになる。この判定値aよりも大きいほぼ一定の値は、大気等の既知のガス濃度に応じたセンサ出力値である。また、F/CがONからOFFされるF/C開始後に燃料供給が再開し、通常の空燃比フィードバック制御に戻った後には、センサ出力値は経時的に減少し、その後、点線102で示す判定値bよりも小さいほぼ一定の値を示すようになる。この判定値bよりも小さいほぼ一定の値は、排気ガス中に含まれる酸素濃度に応じたセンサ出力値である。ガスセンサ2に劣化が生じてF/C開始、又は、燃料供給再開に対する応答性が悪化すると、正常な状態のガスセンサに比べ、F/C開始から判定値aよりも大きいほぼ一定の値を示すのに要する時間が長くなる。このような応答性が悪化したガスセンサ2のセンサ出力値に基づき、内燃機関の空燃比制御を実行した場合には、有害排出ガス成分が増加する等の問題が生ずる。そこで、本実施形態では、矢印111で示す応答時間T1と、矢印112に示す応答時間T2とを積算した応答時間に基づき、ガスセンサ2が異常状態にあるか否かを診断している。ここで、矢印111で示す応答時間T1は、F/C開始後における、センサ出力値が、F/C開始前のセンサ出力値より大きい判定値bから、外気に応じたほぼ一定のセンサ出力値よりも小さい判定値aまで到達するのに要する時間である。また矢印112に示す応答時間T2は、F/C開始後の燃料再開後における、判定値aから判定値bまで到達するまでに要する時間である。
次に、ガスセンサ2が異常状態にあるか否かを診断する異常診断処理におけるメイン処理(以下、単に「メイン処理」と言う。)を図4に示すフローチャートを参照して説明する。図4のフローチャートに示すように、メイン処理ではまず、種々のデータやフラグ等の初期化が行われる(S5)。この処理において、例えば、応答遅れ診断処理の実施の有無を示す計測完了フラグに、未実施を示す0がセットされ、RAM63のフラグ記憶エリア632に記憶される。また、センサ出力値記憶エリア635に記憶されたセンサ出力値がクリアされる(S5)。続いて、センサ素子10が活性化しているか否かが判断される(S10)。この処理は、ガスセンサ2内の酸素イオンの移動度が高くなる温度に至るまでセンサ素子10が加熱され、検出が可能な状態になっているか否か、即ち、センサ出力値が安定して出力される状態にあるか否かを判断するための処理である。前述のように、センサ素子10の酸素濃度検出セル15における温度Tcとセンサ抵抗値Rpvsとの間には、相関関係があるため、この処理において、酸素濃度検出セル15のセンサ抵抗値Rpvsに基づいて活性化しているか否かが判断される。
センサ素子10が活性化していないと判断される場合には(S10:No)、活性化したと判断されるまで待機する。一方、センサ素子10が活性化したと判断される場合には(S10:Yes)、続いて、ガスセンサ2のセンサ出力値を所定間隔で取得するためのタイマがスタートされる(S15)。この処理により、別途実行される他のプログラムにより、タイマカウンタ記憶エリア633に記憶されるカウント値は所定時間ごとに自動的に更新される。続いて、タイマのカウント値がリセットされ、タイマカウンタ記憶エリア633に記憶される(S20)。この処理は、タイマリセット時から、後述するS60の処理を実行する時までの経過時間が分かるようにタイマがリセットされればよい。なお、センサ素子10が活性化したと判断されたときには、センサ制御回路31を用いたセンサ素子10の駆動制御も開始されることになる。
続いて、RAM63のフラグ記憶エリア632が参照され、初期化条件フラグが1であるか否かが確認される(S25)。初期化条件フラグの値は、別途実行されるプログラムにより設定される。例えば、ガスセンサ2が内燃機関として自動車に取り付けられている場合、イグニッションスイッチ(IG SW)のON/OFFを監視して内燃機関の運転停止を検出したときに、初期化条件フラグに1がセットされる。この処理により、イグニッションスイッチがONされるごとに1回だけ、ガスセンサ2が異常状態にあるか否かを診断する処理を行うことができる。初期化条件フラグが1である場合には(S25:Yes)、続いて、応答時間T1および応答時間T2に0がセットされ、応答時間記憶エリア636に記憶される(S55)。また、初期化条件フラグ、計測完了フラグ、応答時間T1計測完了フラグおよび応答時間T2計測完了フラグに0がセットされ、フラグ記憶エリア632に記憶される(S55)。このS55の処理は、ガスセンサ2が異常状態にあるか否かを診断する処理を実行させるための設定を行う処理である。続いて後述するS60の処理が実行される。
一方、初期化条件フラグが0である場合には(S25:No)、続いて、RAM63のフラグ記憶エリア632が参照され、計測完了フラグが1であるか否かが判断される(S35)。計測完了フラグが応答遅れ診断処理が実行済みであることを示す1である場合には(S35:Yes)、続いて、後述するS60の処理が実行される。一方、S35において、計測完了フラグが応答遅れ診断処理の未実施を示す0が記憶されている場合には(S35:No)、続いて、ガスセンサユニット3から出力されるセンサ出力値が取得され、センサ出力値記憶エリア635に記憶される(S40)。このセンサ出力値は、S45において実行される応答遅れ診断処理において参照される。続いて、ガスセンサ2が異常状態にあるか否かを診断する応答遅れ診断処理が実施される(S45)。この応答遅れ診断処理については、図5に示すフローチャートを参照して後述する。
続いて、タイマカウンタ記憶エリア633が参照され、S20のタイマリセット後、25[msec]経過したか否かが判断される(S60)。この処理は、所定間隔(本実施形態では、25[msec])で、センサ出力値を取得するための処理である。なお、この所定間隔はガスセンサ2の特性や用途等に応じて適宜定めればよく、本実施形態の25[msec]に限定されない。S60において、25[msec]経過していないと判断される場合には(S60:No)、25[msec]経過したと判断されるまで待機する。一方、25[msec]経過したと判断される場合には(S60:Yes)、S20に戻り処理を繰り返す。
以上に詳述したように、ガスセンサ制御装置1の異常診断処理におけるメイン処理が実行される。次に、図4に示すメイン処理において実行される応答遅れ診断処理について、図5のフローチャートを参照して説明する。図5のフローチャートに示す応答遅れ診断処理ではまず、F/C中であるか否かを示すフラグが記憶されている入力情報記憶エリア634が参照され、F/C中であるか否かが判断される(S505)。この処理は、本発明の燃料供給検出工程に相当する処理であり、F/C開始、および、そのF/C後における燃料供給再開を検出するための処理である。F/C中ではないと判断される場合(S505:No)の処理は後述する。一方、F/C中であると判断される場合には(S505:Yes)、続いて、フラグ記憶エリア632が参照され、応答時間T1計測完了フラグが0であるか否かが判断される(S510)。この処理は、応答時間T1の計測が完了しているかを判断するための処理である。応答時間T1計測完了フラグが既に応答時間T1の計測が完了されていることを示す1である場合には(S510:No)、続いて、応答遅れ診断処理を終了し、図4に示すメイン処理に戻る。
一方、応答時間T1計測完了フラグが応答時間T1の計測が完了していないを示す0であると判断される場合には(S510:Yes)、続いて、センサ出力値記憶エリア635が参照され、図4に示すフローチャートのS40において取得されたセンサ出力値が、判定値bよりも大きいか否かが判断される(S520)。S520における判定値bは、本発明の第1閾値に相当する値であり、この判定値bは、内燃機関の運転条件等に応じて任意に定められる値である。この判定値bは、例えば、2.5[V]と定められる。
S520において、センサ出力値が判定値b以下であると判断される場合には(S520:No)、続いて、応答時間T1に0がセットされ、応答時間記憶エリア636に記憶される(S540)。このように、応答時間T1の計測に際して、継続してセンサ出力値が判定値bより大きい条件を満たさなければ(S520:No)、応答時間T1をリセットしている(S540)。このため、偶発的に取得されたノイズ等の特異なセンサ出力値により、応答時間T1が適切に求められない事態を回避することができる。続いて、応答時間T1計測完了フラグに0がセットされ、フラグ記憶エリア632に記憶される(S545)。続いて、応答遅れ診断処理を終了し、図4に示すメイン処理に戻る。
一方S520においてセンサ出力値が判定値bよりも大きいと判断される場合には(S520:Yes)、続いて、応答時間T1にセンサ出力値の取得間隔、本実施形態では0.025[sec]が加算され、応答時間記憶エリア636に記憶される(S525)。この処理は、S560およびS575とともに、本発明の応答時間積算工程に相当する処理であり、F/C開始が検出された後のセンサ出力値が判定値bから判定値aまで到達するのに要する時間を、本発明の第1時間に相当する応答時間T1として積算するための処理である。
続いて、センサ出力値が判定値aよりも大きいか否かが判断される(S530)。このS530における判定値aは、本発明の第2閾値に相当する値であり、この判定値aは、内燃機関の運転条件等に応じて、S520における判定値bよりも大きい任意の値が定められる。この判定値aは、例えば、3.0[V]と定められる。センサ出力値が判定値a以下であると判断される場合には(S530:No)、続いて、応答遅れ診断処理を終了し、図4に示すメイン処理に戻る。一方、センサ出力値が判定値aよりも大きいと判断される場合には(S530:Yes)、続いて、応答時間T1計測完了フラグに1がセットされ、フラグ記憶エリア632に記憶される(S535)。このような処理により、F/C開始が検出された後(S505:Yes)のセンサ出力値が、判定値bから(S520:Yes)、判定値aまで到達する(S530:Yes)のに要する応答時間T1を求めることができる。図3に示すセンサ信号100では、センサ出力値121からセンサ出力値122までのセンサ出力値が取得される矢印111で示す期間が応答時間T1とされる。
S505において、F/C中ではないと判断される場合には(S505:No)、続いて、フラグ記憶エリア632が参照され、応答時間T1計測完了フラグが1,かつ、応答時間T2計測完了フラグが0か否かが判断される(S550)。この処理は、応答時間T1の計測が完了し、かつ、応答時間T2の計測が完了していないと判断される場合を抽出して(S550:Yes)、応答時間T2を計測する処理を行うための処理である。応答時間T1計測完了フラグが1,かつ、応答時間T2計測完了フラグが0の条件を満たしていない場合には(S550:No)、続いて、応答遅れ診断処理が終了され、図4に示すメイン処理に戻る。一方、上記S550の条件を満たしていると判断される場合には(S550:Yes)、続いて、センサ出力値が判定値a以下であるか否かが判断される(S555)。このS555における判定値aは、本発明の第3閾値に相当する値であり、この判定値aは、内燃機関の運転条件等に応じて任意に定められる値である。なお、本実施形態では、第3閾値として用いる判定値aとS530における判定値aとを同じ値としたが、これに限定されず、S530における判定値と、S555における判定値とを別の値としてもよい。
S555において、センサ出力値が判定値aより大きい場合には(S555:No)、応答時間T2に0がセットされ、応答時間記憶エリア636に記憶される(S595)。このように、応答時間T2の計測に際して、継続してセンサ出力値が判定値a以下の条件を満たさなければ(S555:No)、応答時間T2をリセットしている(S595)。よって、偶発的に取得されたノイズ等の特異なセンサ出力値により、応答時間T2が適切に求められない事態を回避することができる。続いて、応答時間T2計測完了フラグに0がセットされ、フラグ記憶エリア632に記憶される(S600)。
一方S555において、センサ出力値が判定値a以下であると判断される場合には(S555:Yes)、続いて、応答時間T2にセンサ出力値の取得間隔である0.025[sec]が加算され、応答時間記憶エリア636に記憶される(S560)。この処理は、S525およびS575とともに、本発明の応答時間積算工程に相当する処理であり、F/C後の燃料供給再開が検出された後において、センサ出力値が判定値aから判定値bまで到達するのに要する時間を、本発明の第2時間に相当する応答時間T2として積算するための処理である。続いて、センサ出力値が判定値b以下か否かが判断される(S565)。このS565における判定値bは、本発明の第4閾値に相当する値であり、この判定値bは、内燃機関の運転条件等に応じて任意に定められる値である。なお、本実施形態では、第4閾値として用いる判定値bとS520における判定値bとを同じ値としたが、これに限定されず、S520における判定値と、S565における判定値とを別の値としてもよい。
センサ出力値が判定値bより大きいと判断される場合には(S565:No)、続いて、応答遅れ診断処理を終了し、図4に示すメイン処理に戻る。一方、センサ出力値が判定値b以下であると判断される場合には(S565:Yes)、続いて、応答時間T2計測完了フラグに1がセットされ、フラグ記憶エリア632に記憶される(S570)。このような処理により、応答時間T1の計測が完了し、かつ、応答時間T2の計測が完了していない場合に(S550:Yes)、F/C後の燃料供給再開が検出された後のセンサ出力値が、判定値aから判定値bまで到達するのに要する応答時間T2を求めることができる。図3に示すセンサ信号100では、センサ出力値123からセンサ出力値124までのセンサ出力値が取得される矢印112で示す期間が応答時間T2として求められる。
S570に続いて、応答時間T1と応答時間T2とを積算した値が、判定値cよりも大きいか否かが判断される(S575)。応答時間T1と応答時間T2とを積算するこの処理は、S525およびS560とともに、本発明の応答時間積算工程に相当する処理である。また、判定値cは、ガスセンサ2の特性等に応じて任意に定められる値である。この判定値cは、例えば、4.0[sec]と定められる。応答時間T1と応答時間T2とを積算した値が、判定値cよりも大きいと判断される場合には(S575:Yes)、ガスセンサ2は異常な状態であると診断され、その診断結果が診断結果記憶エリア637に記憶される(S580)。上記S575およびS580の、応答時間T1と応答時間T2とを積算して求めた応答時間が、判定値cより長い場合に(S575:Yes)、ガスセンサ2が異常状態にあると診断する処理は、本発明の異常診断工程に相当する処理である。一方、応答時間T1と応答時間T2とを積算した値が、判定値c以下であると判断される場合には(S575:No)、ガスセンサ2は正常な状態であると診断され、その診断結果が診断結果記憶エリア637に記憶される(S585)。S580又はS585に続いて、計測完了フラグに応答遅れ診断処理が実施済みであることを示す1がセットされ、フラグ記憶エリア632に記憶される(S590)。続いて、応答遅れ診断処理を終了し、図4に示すメイン処理に戻る。
以上の詳述したように第1の実施形態の応答遅れ診断処理が実行される。なお、上記応答遅れ診断処理における診断結果は、ECU60において別途実行されるプログラムにより、ガスセンサ制御装置1が備える図示しない表示ディスプレイ等の表示手段、警報器やスピーカ等の音声報知手段、警報ランプ等によりユーザに対して報知してもよい。また、専用の出力端子から外部機器に対して出力してもよいし、あるいは、シリアル通信により外部機器に対して出力してもよい。
なお、図5に示すフローチャートのS505において、F/C,および、そのF/C後に燃料供給の再開を検出する、図1に示すCPU61は、本発明の燃料供給検出手段として機能する。また、F/C開始が検出された後のセンサ出力値が第1閾値である判定値bから(S520:Yes)第2閾値である判定値aまで(S530:Yes)到達するのに要する応答時間T1と、そのF/C後の燃料供給再開が検出された後のセンサ出力値が第3閾値である判定値aから(S555:Yes)第4閾値である判定値bまで(S565:Yes)到達するのに要する応答時間T2とを積算して応答時間とする(S525,S560,S575)、図1に示すCPU61は応答時間積算手段として機能する。また、応答時間T1と応答時間T2とを積算した応答時間が判定値cより長い場合に(S575:Yes)、前記ガスセンサが異常状態にあると診断する(S580)、図1に示すCPU61は、本発明の異常診断手段として機能する。
以上詳述した第1の実施形態のガスセンサ制御装置1によれば、F/C後において、センサ出力値が第1閾値である判定値bから第2閾値である判定値aまで到達するのに要する応答時間T1と、応答時間T1を測定したF/C後に燃料供給再開が検出された後において、センサ出力値が第3閾値である判定値aから第4閾値である判定値bに到達するのに要する応答時間T2とを積算した応答時間を用いて、ガスセンサ2が異常状態にあるか否かを診断している(S575,S580,S585)。このため、応答時間T1および応答時間T2のいずれか一方のみを用いてガスセンサが異常状態にあるか否かを診断する場合に比べ、精度よくガスセンサ2の異常を検出することができる。このガスセンサ制御装置1によれば、内燃機関がリーン側で制御されている場合にもガスセンサが異常状態にあるか否か精度よく診断することができる。また、第1時間と第2時間の両情報を加味することで、正常時と異常時(劣化時)におけるセンサ出力値の変化挙動の違いを大きくすることができる。このため、ガスセンサ2が異常状態にあるか否かを診断するための閾値としての判定値cの設定が容易となり、その判定値cを用いてより精度よくガスセンサの異常診断が行える。第1の実施形態のガスセンサ制御装置1によれば、ガスセンサ2のプロテクタに形成されたガス流通孔(図示せず)や、排気ガスをセンサ素子10内部に導く多孔質部(例えば、ガス拡散多孔質層21)が目詰まりを起こす等の経時劣化を、従来に比べ、良好に検出することができる。
次に、所定条件成立時には応答遅れ診断処理を実施しないようにする制御する第2の実施形態の異常診断方法について、図6および図7に示すフローチャートを参照して説明する。ガスセンサ制御装置1の構成は、第1の実施形態と同様であるので説明を省略する。図6は、ガスセンサ2が異常状態にあるか否かを診断する異常診断処理におけるメイン処理の流れを示すフローチャートであり、また図7は、図6に示すメイン処理において実行される応答時間計測実施判定処理の流れを示すフローチャートである。図6および図7に示す各処理を実行させるプログラムは、ROM62に記憶されており、図1に示すCPU61により実行される。なお、図6のフローチャートにおいて、図4のフローチャートに示す第1の実施形態のメイン処理と同様な処理を実行する場合には、同じステップ番号を付与している。
図6のフローチャートに示すように、第2の実施形態の異常診断処理のメイン処理は、S10の処理を省略し、S21,S22,S23,S26,およびS27の処理を行う点で、図4のフローチャートに示す第1の実施形態の異常診断処理のメイン処理と異なる。第1の実施形態と同様な処理については説明を省略又は簡略化し、以下、第1の実施形態の異常診断処理とは異なる処理について詳述する。
第2の実施形態の異常診断処理のメイン処理では、初期化処理が実行された後(S5)、タイマがスタートされ(S15)、続いて、タイマのカウント値がリセットされる(S20)。続いて、センサ素子10が活性化しているか否かが判断される(S21)。この処理は、第1の実施形態の図4のフローチャートのS10と同様の処理であり、本発明のセンサ出力値判定工程および異常診断実施制御工程に相当する処理である。センサ素子10が活性化していないと判断される場合には(S21:No)、応答遅れ診断処理(S45)を実行せず、続いて、カウンタに0がセットされ、RAM63のワークエリア631に記憶される(S23)。このカウンタは、酸素濃度検出セル15の多孔質電極17,18間に発生する起電力Vsが連続して所定範囲内に収まっていると判断される回数を記憶するための変数であり、後述する応答時間計測実施判定処理(S22)において起電力Vsに応じて設定される。S23においてカウンタに0をセットするのは、起電力Vsが連続して所定範囲内に収まっている回数をリセットするためである。また、このS23では、応答時間T1および応答時間T2に0がセットされ、応答時間記憶エリア636に記憶される処理と、応答時間T1計測完了フラグおよび応答時間T2計測完了フラグに0がセットされ、フラグ記憶エリア632に記憶される処理とが実行される。
一方、センサ素子10が活性化していると判断される場合には(S21:Yes)、続いて、応答遅れ診断処理(S45)を実行させるための所定条件が成立しているか否かを判断する応答時間計測実施判定処理が実行される(S22)。この応答時間計測実施判定処理を、図7のフローチャートを参照して説明する。図7に示すように、応答時間計測実施判定処理ではまず、電圧出力回路35を介して検出され、ECU60に入力される起電力Vsが検出される(S220)。続いて、ワークエリア631が参照され、S220において検出された起電力Vsが、所定範囲内(例えば、250mV≦Vs≦750mV)に収まっているか否かが判断される(S225)。この所定範囲は、ガスセンサ2の特性や用途等に応じて適宜定められ、ROM62に記憶されている。起電力Vsが所定範囲内に収まっていない場合には(S225:No)、カウンタに0がセットされ、ワークエリア631に記憶される(S235)。続いて、応答遅れ診断処理(S45)を実施する準備が整っているか否かを示す応答時間計測実施フラグに、準備が整っていないことを示す0がセットされ、フラグ記憶エリア632に記憶される(S260)。続いて、図6の異常診断処理のメイン処理に戻る。
一方、起電力Vsが所定範囲内に収まっている場合には(S225:Yes)、続いて、カウンタが1増加(インクリメント)され、ワークエリア631に記憶される(S230)。続いて、S230において設定したカウンタが所定値以上であるか否かが判断される(S240)。このS240の処理は、S225,S230,S235,および図6に示すフローチャートのS23とともに、本発明のセンサ出力値判定工程に相当する処理である。第2の実施形態では、起電力Vsが所定回数連続して所定範囲に収まる場合を、センサ出力値が安定して出力される状態としている。S240の処理に用いる所定値はメイン処理の実行間隔、ガスセンサ2の特性や用途等に応じて適宜定められ、ROM62に記憶される。第2の実施形態のガスセンサ2は、1sec連続で起電力Vsが所定範囲内に収まっている場合に、センサ出力値が安定して出力される状態となる特性を有する。よって、メイン処理の実行間隔25msecを考慮し、所定値を40に設定している。
カウンタが40以上である場合には(S240:Yes)、続いて、入力情報記憶エリア634が参照され、内燃機関の回転数が検出される(S245)。この処理は、本発明の回転数取得工程に相当する処理である。第2の実施形態では、内燃機関の回転数が所定期間ごとにECU60に入力され、入力情報記憶エリア634に記憶されるようになっているため、入力情報記憶エリア634を参照して、内燃機関の回転数を検出する。続いて、ワークエリア631が参照され、S245において検出した内燃機関の回転数が低回転判定閾値より大きいか否かが判断される(S250)。この処理は、内燃機関の回転数が低回転判定閾値以下である条件が成立した場合、応答遅れ診断処理(図6のS45)を実行させないように制御するための処理である。この低回転判定閾値は、内燃機関から排出される排気ガス中の特定ガス成分の濃度が安定する内燃機関の回転数、異常診断の精度等を考慮して適宜定められ、第2の実施形態では1500rpmである。内燃機関の回転数が1500rpmよりも多い場合には(S250:Yes)、続いて、応答遅れ診断処理(図6のS45)を実施する準備が整っているか否かを示す応答時間計測実施フラグに、準備が整っていることを示す1がセットされ、フラグ記憶エリア632に記憶される(S255)。続いて、図6の異常診断処理のメイン処理に戻る。
一方、S240においてカウンタが40以上ではない場合(S240:No)、又はS250において内燃機関が1500rpmよりも多くはない場合(S250:No)には、続いて、応答時間計測実施フラグに、応答遅れ診断処理(図6のS45)を実施する準備が整っていないことを示す0がセットされ、フラグ記憶エリア632に記憶される(S260)。続いて、図6の異常診断処理のメイン処理に戻る。
引き続き、図6のフローチャートを参照して、第2の実施形態の異常診断処理のメイン処理について説明する。S22の応答時間計測実施判定処理に続いて、フラグ記憶エリア632が参照され、初期化条件フラグが1であるか否かが確認される(S25)。初期化条件フラグが1である場合には(S25:Yes)、続いて第1の実施形態と同様のS55およびS60の処理が実行される。
初期化条件フラグが1ではない場合には(S25:No)、続いて、フラグ記憶エリア632が参照され、応答時間計測実施フラグが1であるか否かが確認される(S26)。この処理は、本発明の異常診断実施制御工程に相当する処理であり、応答時間計測実施フラグが1ではない条件が成立した場合には(S26:No)、応答遅れ診断処理(S45)を行わないように制御するための処理である。換言すれば、第2の実施形態では、応答時間計測実施フラグが1である条件が成立した場合に(S26:Yes)、応答遅れ診断処理(S45)を実行するように制御される。図7のフローチャートのS255において、応答時間計測実施フラグに1がセットされた場合には(S26:Yes)、続いて第1の実施形態と同様のS35の処理が実行される。一方、図7のフローチャートのS260において、応答時間計測実施フラグに0がセットされた場合には(S26:No)、応答遅れ診断処理(S45)を実行せず、続いて応答時間T1および応答時間T2に0がセットされ、応答時間記憶エリア636に記憶される(S27)。また、応答時間T1計測完了フラグ、および応答時間T2計測完了フラグに0がセットされ、フラグ記憶エリア632に記憶される(S27)。続いて第1の実施形態と同様のS60の処理が実行される。図6のフローチャートのS35,S40,S45,S60の処理については、第1の実施形態と同様であるので説明を省略する。
以上の詳述したように第2の実施形態の異常診断処理が実行される。なお、図7に示すフローチャートのS245において、入力情報記憶エリア634を参照して、内燃機関の回転数を取得する、図1に示すCPU61は、本発明の回転数取得手段として機能する。また図6のフローチャートのS21において、センサ素子10が活性化しているか否かを判断することにより、センサ出力値が安定して出力される状態にあるか否かを判定する、図1に示すCPU61は、本発明のセンサ出力値判定手段として機能する。また図7のフローチャートのS225,S230,S235および図6のフローチャートのS23において、起電力Vsが連続して所定範囲内に収まる回数を、カウンタを用いて積算し、図7のフローチャートのS240においてそのカウンタが40以上であるか否か、即ち、起電力Vsが1sec間連続して所定範囲に収まるか否により、センサ出力値が安定して出力される状態にあるか否かを判定する、図1に示すCPU61は、本発明のセンサ出力値判定手段として機能する。また、図7に示すフローチャートのS225において、起電力Vsが所定範囲内に収まっていない場合(S225:No)、およびS240においてカウンタが40未満である場合に(S240:No)、応答時間計測実施フラグに0をセットし(S260)、図6のフローチャートのS26において応答遅れ診断処理(S45)を行わないように制御する(S26:No)、図1に示すCPU61は、本発明の異常診断実施制御手段として機能する。また、図6に示すフローチャートのS21においてセンサ素子10が活性化されていないと判断された場合に(S21:No)、応答遅れ診断処理(S45)を行わないように制御する、図1に示すCPU61は、本発明の異常診断実施制御手段として機能する。また、図7に示すフローチャートのS245において取得された内燃機関の回転数が、低回転判定閾値以下である場合に(S250:No)、応答時間計測実施フラグに0をセットし(S260)、図6のフローチャートのS26において応答遅れ診断処理(S45)を行わないように制御する(S26:No)、図1に示すCPU61は、本発明の異常診断実施制御手段として機能する。
以上詳述した第2の実施形態のガスセンサ制御装置1によれば、内燃機関の回転数が低回転判定閾値以下である場合には(図7のS250:No)、応答遅れ診断処理(図6のS45)を実施しないように制御する(図6のS26:No)。このため、内燃機関から排出される排気ガス中の特定ガス成分の濃度が安定した場合にセンサ出力値を用いてガスセンサ2の異常診断が実施することで、異常診断の精度を向上させることができる。また、センサが活性化していない場合(図6のS21:No)、応答遅れ診断処理(図6のS45)を実施しない。また、起電力Vsが1sec間連続して所定範囲内に収まらず(図7のS225:No,S240:No)、センサ出力値が安定して出力される状態にないと判定される場合には、応答遅れ診断処理(図6のS45)を実施しないように制御する(図6のS26:No)。このため、センサ出力値が安定して出力される状態にない期間のセンサ出力値を用いてガスセンサ2の異常診断が実施されることが回避されるので、異常診断の精度を向上させることができる。
なお、本発明は上記実施形態に限られず、本発明の要旨を逸脱しない範囲内において種々変更を加えてもよい。例えば、本実施形態では、排気ガス中の特定ガスとして酸素を検出するガスセンサ2の異常を診断する場合について説明したが、異常診断の対象となるガスセンサとしては、特定ガス成分としての酸素濃度を検出するガスセンサに限定されず、HC,CO,NOx等を特定ガス成分とし、それらの濃度を検出するガスセンサを適用することもできる。
また図5に示す応答遅れ診断処理においては、応答時間T1と応答時間T2との2つのパラメータを設け、S525において応答時間T1を積算する処理を行い、S560において応答時間T2を積算する処理を行い、応答時間T1と応答時間T2とを個々に積算していた。しかし、最終的に応答時間T1および応答時間T2を積算した値が本発明の応答時間として求められればよく、例えば、上記実施形態のように応答時間T1と応答時間T2とに分けずに、本発明の応答時間を求めるようにしてもよい。
さらに、上記実施形態では、イグニッションスイッチがONされるごとに1回だけ、ガスセンサの異常診断処理を行うようにしたが、これに限定されず、イグニッションスイッチがONされてOFFされるまでの間に複数回、ガスセンサの異常診断処理を行うように適宜変更してもよい。なお、イグニッションスイッチがONされてOFFされるまでの間に複数回ガスセンサの異常診断処理を行うにあたっては、1回でも応答時間T1および応答時間T2を積算した値(応答時間)が判定値cより大きくなれば異常と判定してもよいし、上記応答時間が判定値cより大きくなる回数が2以上の予め設定した特定回数に達すれば異常と判定してもよい。
また第2の実施形態では、応答遅れ診断処理を実行させないように制御する際の所定条件として、センサ素子10が活性化していないと判断される場合(S21:No)、起電力Vsが1sec間連続して所定範囲に収まらない場合(S225:No,S240:No)、および内燃機関の回転数が低回転判定閾値以下である場合(S250:No)の3つの条件を用いていたが、これに限定されない。例えば、上記3つの条件の中から選択された1又は複数の条件を採用してもよい。また、センサ出力値が安定して出力される状態にない場合に、応答遅れ診断処理を実行させないように制御する場合には、例えば、センサ素子10が活性後(S21:Yes)、所定時間が経過しているか否かにより、所定条件が成立する場合を検出してもよい。
また、第2の実施形態では、所定条件成立時に図6に示すフローチャートの応答遅れ診断処理(S45)を実行しないようにしていたが、所定条件成立時に異常診断工程が実行されないように制御すればよく、第2の実施形態の場合に限定されない。例えば、所定条件成立時に、図5に示すフローチャートのS575〜S590の処理が実行されないようにしてもよい。さらに、特定ガス成分の濃度が安定している条件でガスセンサが用いられる場合には、異常診断実施制御工程を省略してもよい。
ところで、一般に、燃料供給を中断してからセンサ出力値が大気に対応した値を安定して示すことになるまでの仮想的な変化期間において、センサ出力値が大気に対応した値に近い期間ほど、センサ出力値の変化速度が緩慢となる。一方、燃料供給を再開してからセンサ出力値が燃料供給の中断開始前の値近くにまで復帰していくまでの仮想的な変化期間においても、燃料供給の中断開始前の値に近い期間ほど、センサ出力値の変化速度が緩慢となる。そして、内燃機関の運転条件等によっては、上述のようなセンサ出力値の変化速度の緩慢さの程度が大きくなる場合がある。このようなセンサ出力値が非常に緩慢に変化する範囲では、ガスセンサが正常であるときでも、センサ出力値のバラツキが大きい。このような場合を、図8を参照して説明する。図8は、内燃機関への燃料供給の中断開始後およびそのF/C後に燃料供給が再開された後におけるガスセンサユニット3から出力されるセンサ出力値の経時変化を示すセンサ信号の一例を示すグラフである。図8は、図4に示すグラフと対応しており、センサ信号500は、F/CのON/OFFが信号201に示すタイミングで実行された場合の、センサ出力値の経時変化を示している。燃料供給を再開してからセンサ出力値が燃料供給の中断開始前の値近くにまで復帰していくまでの仮想的な変化期間において、図8のセンサ信号500は、燃料供給の中断開始前の値に近い期間において緩慢に変化している。そして図8のセンサ信号500における、その緩慢さの程度は、図4のセンサ信号100に比べ大きい。図8において、第1の実施形態と同様の第3閾値、第4閾値を設定した場合、センサ出力値123からセンサ出力値127までのセンサ出力値が取得される矢印113で示す期間が応答時間T2として求められる。この場合、第3閾値および第4閾値によって規定される応答時間T2を求めるための範囲には、内燃機関の運転条件等の影響を受けて、センサ出力値が非常に緩慢に変化する範囲、即ち、センサ出力値のバラツキが大きくなる範囲が入ってしまっている。
このような場合には、応答時間T1および応答時間T2を求めるための範囲に、センサ出力値が非常に緩慢に変化する範囲が含まれないように、第1〜第4閾値を適宜設定すればよい。なお、応答時間T1および応答時間T2を求めるための範囲から除外するセンサ出力値が緩慢に変化する範囲の緩慢さの程度は、ガスセンサの用途、特性、異常診断の精度等を考慮して適宜定めればよい。例えば、図5のフローチャートのS565において参照される第4閾値を、S520において参照される第1閾値b(点線102で図示)よりも大きく、かつ、S530において参照される第2閾値a(点線101で図示)よりも小さい判定値x(点線104で図示)に設定する。そして、S555において参照される第3閾値を、第2閾値aよりも大きい判定値y(点線103で図示)に設定する。そして、センサ出力値125からセンサ出力値126までのセンサ出力値が取得される矢印114で示す期間を応答時間T2とする。これにより、センサ出力値が非常に緩慢に変化する範囲を避けて第2時間を算出することができる。このため、内燃機関の運転条件等の影響を受けずに、燃料供給の中断後および再開後のセンサ出力値を用いて、ガスセンサ2が異常状態にあるか否かを適切に判断することができる。なお図8に例示する場合では、第4閾値を、第1閾値よりも大きく、かつ、第2閾値よりも小さく設定しても、応答時間T1および応答時間T2に、センサ出力値が非常に緩慢に変化する範囲が含まれない。このような場合には、第4閾値を、第1閾値よりも大きく、かつ、第2閾値よりも小さく設定することが好ましい。このように設定することで、応答時間T1および応答時間T2の期間を長く設定することができ、正常時と軽度な劣化時とを判定する閾値を設定しやすくなる。このため、精度良くガスセンサ2の異常を診断できる。