(57)【特許請求の範囲】
【請求項１】
内燃機関の燃料供給を停止する燃料断を行ったときに、該内燃機関の排気管に取付けられた酸素センサの実出力値と酸素濃度との関係を較正する補正係数を求める一方、前記実出力値と前記補正係数とを用いて前記排気管を流通する排気ガスの酸素濃度を検出する酸素センサ制御装置であって、
一回の前記燃料断の期間中に取得した複数個の前記酸素センサの実出力値又は該実出力値を用いて算出される酸素濃度を反映した濃度対応値のうち、所定の第１範囲を逸脱した値を除外した残りの値をもとに平均化した平均出力値を算出する平均出力値算出手段と、
２回以上の所定回数の前記燃料断毎に算出される複数の前記平均出力値を、さらに平均化して複数平均出力値を算出する複数平均出力値算出手段と、
前記複数平均出力値と予め設定された基準出力値に基づいて、前記酸素センサの実出力値を補正するための新たな補正係数を求める補正係数算出手段と、を備え、
前記複数平均出力値算出手段は、複数の前記平均出力値のうち、前記第１範囲内に設定されると共に当該第１範囲より狭い所定の第２範囲を逸脱した値を除外した残りの値を平均化することを特徴とする酸素センサ制御装置。
【請求項２】
前記第１範囲は、前記基準出力値を中心値にして画定された範囲に設定されている請求項１に記載の酸素センサ制御装置。
【請求項３】
前記第２範囲は、前記基準出力値を中心値にして画定された範囲に設定されている請求項１又は２に記載の酸素センサ制御装置。
【請求項４】
前記補正係数算出手段は、前記複数平均出力値が所定の第３範囲を２以上の所定回数連続して逸脱した場合に、前記第３範囲を逸脱した複数の前記複数平均出力値のうちの少なくとも１つを用いて前記補正係数を求める請求項１〜３のいずれかに記載の酸素センサ制御装置。
【請求項５】
前記平均出力値算出手段は、前記燃料断が開始されてから所定期間後から、所定時間間隔毎に得られる複数の前記酸素センサの実出力値又は該実出力値を用いて算出される酸素濃度を反映した濃度対応値をもとに前記平均出力値を算出する請求項１〜４のいずれかに記載の酸素センサ制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、内燃機関の排気ガスの酸素濃度を検出する酸素センサの出力特性と酸素濃度との関係を較正すると共に、排気ガスの酸素濃度を検出する酸素センサ制御装置に関する。
【背景技術】
【０００２】
従来から、自動車等の内燃機関の排気通路（排気管）に酸素センサを設置し、排気ガス中の酸素濃度を検出して空燃比を制御することが行われている。このような酸素センサとしては、例えば、酸素イオン導電性のジルコニアに一対の電極を形成したセルを少なくとも１つ以上備えたガス検出素子を有するものが挙げられる。しかしながら、個々の酸素センサの出力特性のバラツキや、酸素センサの経時劣化に起因して、酸素濃度の検出精度が異なるという問題がある。
そこで、内燃機関への燃料供給を停止し、排気通路内がほぼ大気状態になっていると推定されるとき、酸素センサの出力値と酸素濃度との関係を較正する大気補正を行う技術が知られている（例えば、特許文献１参照）。
【０００３】
【特許文献１】特開２００７−３２４６６号公報（段落００４０）
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１記載の大気補正方法では、標準的な酸素センサの大気中での基準出力値Ｖｓｔｄと、燃料供給が停止されているフューエルカット中における酸素センサの現在の出力値（つまり、１つの出力値）Ｖｓｅｎとを比較して、補正係数を算出するものに過ぎない。
しかし、フューエルカット中（燃料断期間中）といえども酸素センサの出力値には、内燃機関の運転に伴って脈動したり、出力値にノイズが重畳することがある。そのため、フューエルカット中における酸素センサの１つの出力値を単に基準出力値と比較して補正係数を算出する方法では、正確な補正係数を取得することが難しいという問題がある。
【０００５】
すなわち、本発明は、内燃機関の燃料供給を停止する燃料断を行ったときに取得される酸素センサからの出力値を用いて、酸素センサの出力特性と酸素濃度との関係を精度良く較正することができる酸素センサ制御装置の提供を目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するため、本発明の酸素センサ制御装置は、内燃機関の燃料供給を停止する燃料断を行ったときに、該内燃機関の排気管に取付けられた酸素センサの実出力値と酸素濃度との関係を較正する補正係数を求める一方、前記実出力値と前記補正係数とを用いて前記排気管を流通する排気ガスの酸素濃度を検出する酸素センサ制御装置であって、一回あたりの前記燃料断の期間中に取得した複数個の前記酸素センサの実出力値又は該出力値を用いて算出される酸素濃度を反映した濃度対応値のうち、所定の第１範囲を逸脱した値を除外した残りの値をもとに平均化した平均出力値を算出する平均出力値算出手段と、２回以上の所定回数の前記燃料断毎に算出される前記平均出力値を、さらに平均化して複数平均
出力値を算出する複数平均出力値算出手段と、前記複数平均出力値と予め設定された基準出力値に基づいて、前記酸素センサの実出力値を補正するための新たな補正係数を求める補正係数算出手段と、を備え、前記複数平均出力値算出手段は、複数の前記平均出力値のうち、前記第１範囲内に設定されると共に当該第１範囲より狭い所定の第２範囲を逸脱した値を除外した残りの値を平均化することを特徴とする。
【０００７】
通常、内燃機関の燃料供給を停止する燃料断（いわゆる、フューエルカット）が行われたときの酸素センサの出力特性（出力波形）には、燃料断時の内燃機関の運転に伴ってその出力波形が脈動したり、酸素センサから出力される実出力値にノイズが含まれることがある。そこで、本発明では、１回あたりの燃料断が行われている期間中に得られる酸素センサの実出力値又はこの実出力値を用いて算出される酸素濃度を反映した濃度対応値の複数個のうち、所定の第１範囲を逸脱した値を除外した残りの値をもとに平均出力値を算出するようにしており、酸素センサの出力波形の脈動やノイズの影響を除去ないしは軽減するようにしている。また、内燃機関の燃料供給を停止する燃料断が行われた場合であっても、燃料断の直前の運転条件にバラツキ（偏り）が少なからず存在する。そこで、本発明では、所定回数の燃料断によって得られる複数の平均出力値をさらに平均した複数平均出力値を算出し、この複数平均出力値と予め設定した基準出力値に基づいて新たな補正係数を求めるようにしている。そのため、本発明の酸素センサ制御装置によれば、精度の良い補正係数の算出が行える。
【０００８】
なお、本発明において、第１範囲内に含まれるか否かの判定対象となる「実出力値を用いて算出される酸素濃度を反映した濃度対応値」とは、実酸素センサの個々の実出力値に、酸素センサ制御装置に設定される現在の補正係数（新たな補正係数が求められた場合には、その新たな補正係数）を乗じた値を挙げることができる。また、実出力値を所定の倍率で増幅した増幅値や、その増幅値に上記補正係数を乗じた値を挙げることができる。
【０００９】
また、本発明の酸素センサ制御装置であって、前記複数平均出力値算出手段は、複数の前記平均出力値のうち、前記第１範囲内に設定されると共に当該第１範囲より狭い所定の第２範囲を逸脱した値を除外した残りの値を平均化してもよい。
【００１０】
このように、既に第１範囲で脈動やノイズの影響を除去ないし軽減する目的で平均化した平均出力値に対し、第１範囲より狭い第２範囲を適用すると、誤差を含む平均出力値を排除して複数平均出力値を算出することができ、より安定した補正係数の算出が行える。
【００１１】
また、本発明の酸素センサ制御装置であって、前記補正係数算出手段は、前記複数平均出力値が所定の第３範囲を２以上の所定回数連続して逸脱した場合に、前記第３範囲を逸脱した複数の前記複数平均出力値のうちの少なくとも１つを用いて前記補正係数を求めてもよい。
【００１２】
酸素センサの経時劣化は非常に緩やかに生ずる傾向があるため、各燃料断毎に補正係数の算出、更新を逐一行うと、処理に負担がかかる。そこで、本発明では、前記複数平均出力値が第３範囲を２以上の所定回数連続して逸脱したときに、補正係数を算出するようにすることで、処理の負担を軽減すると共に、たまたま複数平均出力値が１回だけ所定の第３範囲を逸脱した際に補正係数の算出を行って、意図しない補正係数に更新されるのを抑制することができる。なお、第３範囲については、基準出力値を中心値にして画定された範囲に設定されることが好ましい。
また、第３範囲を逸脱した複数平均出力値と予め設定された基準出力値に基づいて補正係数を算出するにあたっては、第３範囲を逸脱した複数平均実出力値の１つ（例えば、第３範囲を逸脱した最新の複数平均出力値）を用いてもよいし、第３範囲を２以上の所定回数連続して逸脱した複数平均出力値の２個以上を平均化した値を用いてよい。
【００１３】
さらに、本発明の酸素センサ制御装置であって、前記平均出力値算出手段は、前記燃料断が開始されてから所定期間後から、所定時間間隔毎に得られる複数個の前記酸素センサの実出力値又は該実出力値を用いて算出される酸素濃度を反映した濃度対応値をもとに前記平均出力値を算出してもよい。
【００１４】
燃料断（一回あたりの燃料断）の開始から、酸素センサの周囲に存在する排気ガスが大気の状態に近づくか、又は入れ替わるのに必要な時間に基づき適切に定められた所定期間を経過してからの実出力値又は濃度対応値を用いて平均出力値を算出することで、燃料断後の実出力値の波形に大きな変動がなく比較的安定した状態において平均出力値を算出することができる。これにより、安定した補正係数の算出が行える。
【００１５】
さらに、本発明の酸素センサ制御装置であって、前記第１範囲は、前記基準出力値を中心値にして画定された範囲に設定されているとよい。
第１範囲が基準出力値を中心値にして画定された範囲に設定されることで、燃料断期間中の酸素センサの出力波形の脈動やノイズの影響を有効に除去ないしは軽減することができ、より安定した補正係数を求めることができる。
【００１６】
また、本発明の酸素センサ制御装置であって、前記第２範囲は、前記基準出力値を中心値にして画定された範囲に設定されているとよい。
第２範囲が基準出力値を中心値にして画定された範囲に設定されることで、誤差を含む平均出力値を効果的に排除することができ、より安定した補正係数を求めることができる。
【発明の効果】
【００１７】
この発明によれば、内燃機関の燃料供給を停止する燃料断を行ったときに取得される酸素濃度センサからの実出力値又は濃度対応値に基づいて複数平均出力値を算出して、この複数平均出力値を用いて補正係数を算出することから、酸素センサの出力特性と酸素濃度との関係を精度良く較正可能な補正係数を求めることができ、ひいては酸素センサの検出精度を長期間にわたって良好に維持することができる。
【図面の簡単な説明】
【００１８】
【図１】本発明の実施形態にかかる酸素センサ制御装置を含む構成図である。
【図２】補正係数Ｋｐを予め求める方法を示す図である。
【図３】実装酸素センサの実出力値に補正係数Ｋｐを乗じた値Ｉｐｒを平均化する方法を示す図である。
【図４】１回あたりの燃料断のときに図３に記載の方法にて平均化した実出力値Ｉｐａｖを、さらに平均化して複数平均出力値Ｉｐａｖｆを算出する方法を示す図である。
【図５】図４に記載の方法にて平均化して算出した複数平均出力値Ｉｐａｖｆが補正判定範囲であるレンジＲ３を逸脱したか否かを判定する方法を示す図である。
【図６】大気補正処理を実行するか否かを判断するフローチャートを示す図である。
【図７】実装酸素センサの実出力値に補正係数Ｋｐを乗じた値Ｉｐｒをもとに、補正係数Ｋｑを算出し、新たな補正係数Ｋｐとして更新する大気補正処理のフローチャートを示す図である。
【発明を実施するための形態】
【００１９】
以下、本発明の実施形態について説明する。
図１は、本発明の実施形態にかかる酸素センサ制御装置１０を含む構成図である。車両の内燃機関（エンジン）１００の排気管１２０には酸素センサ（以下、「実装酸素センサ」ともいう）２０が取付けられ、実装酸素センサ２０にはコントローラ２２が接続されている。そして、コントローラ２２に酸素センサ制御装置（ＥＣＵ；エンジンコントロールユニット）１０が接続されている。
エンジン１００の吸気管１１０にはスロットル弁１０２が設けられ、エンジン１００の各気筒には、燃料を筒内に供給するためのインジェクタ（燃料噴射弁）１０４が設置されている。また、排気管１２０の後流側に排ガス浄化触媒１３０が取付られている。さらに、エンジン１００には図示しない各種センサ（圧力センサ、温度センサ、クランク角センサ等）が設置され、これらセンサからの運転条件情報（エンジンの圧力、温度、エンジン回転数、車速等）がＥＣＵ１０に入力されるようになっている。そして、ＥＣＵ１０は、上記運転情報、実装酸素センサ２０からの排気ガス中の酸素濃度検出値、及び運転者によるアクセルペダル１０６の踏み込み量等に応じて、インジェクタ１０４からの燃料噴射量を制御する。これにより、適切な空燃比でエンジン１００の運転を行うようになっている。
【００２０】
ＥＣＵ１０は、中央演算処理装置（ＣＰＵ）２、ＲＯＭ３、ＲＡＭ４、外部とのインターフェース回路（Ｉ／Ｆ）５、外部からの入力装置７、及び出力装置９を備えたマイクロコンピュータと、ＥＥＰＲＯＭ等からなる不揮発メモリ８とを回路基板に実装したユニットである。そして、ＥＣＵ１０（ＣＰＵ２）は、ＲＯＭ３に予め記憶されたプログラムに従って入力信号を処理し、インジェクタ１０４による燃料噴射量の制御信号を出力装置９から出力したり、後述する大気補正処理を行う。
【００２１】
実装酸素センサ２０は、例えば、酸素イオン伝導性の固体電解質体に一対の電極を設けたセルを２つ用いた、いわゆる２セル式の空燃比センサとすることができる。空燃比センサのより具体的な構成としては、酸素ポンプセルと酸素濃度検出セルを、多孔質体を介して排気ガスが導入される中空の測定室が介在するように積層し、さらにこれら２つのセルを活性温度にまで加熱するためのヒータを積層したガス検出素子と、このガス検出素子を自身の内側に保持すると共に、排気管１０２に装着するためのハウジングとを備えた構成とすることができる。なお、実際の個々の内燃機関に取付けられた酸素センサ２０を、後述する基準酸素センサと区別するため、本発明では「実装酸素センサ」と称している。
【００２２】
実装酸素センサ２０は、各種抵抗や差動増幅器等を備えた検出回路である公知のコントローラ２２に接続されている。コントローラ２２は実装酸素センサ２０にポンプ電流を供給し、該ポンプ電流を電圧に変換して酸素濃度検出信号としてＥＣＵ１０に出力する。より具体的には、コントローラ２２は、酸素濃度検出セルの出力が一定値となるように、酸素ポンプセルへの通電制御を行い、酸素ポンプセルが測定室内の酸素を外部に汲み出す、あるいは、測定室に酸素を汲み入れるように動作し、そのときに酸素ポンプセルに流れるポンプ電流を、検出抵抗器を介して電圧に変換してＥＣＵ１０に出力する公知の方法にて、実装酸素センサ２０を駆動制御する。
【００２３】
次に、実装酸素センサ２０の大気補正手法（補正係数の算出手法）について説明する。大気補正は、内燃機関（エンジン）１００の燃料供給を特定の運転条件下で停止する燃料断（フューエルカット、以下適宜「Ｆ／Ｃ」と表記する）を行ったときに、内燃機関１００に取付けられた実装酸素センサ２０の出力特性（実出力値）と酸素濃度との関係を較正するための補正係数を算出する処理である。大気補正は、理想的とされる所定の酸素センサ、換言すれば、製造バラツキの中心の出力特性を有する標準的な酸素センサであって、実装酸素センサ２０と同一の構成からなる酸素センサ（以下、「基準酸素センサ」という）の出力特性と、内燃機関１００に取付けられた実装酸素センサ２０の出力特性との乖離を解消するよう、補正係数を求めることで行われ、得られた補正係数を用い、内燃機関を運転している間の実装酸素センサ２０の実出力値を補正している。
【００２４】
ここで、補正係数の値は特に制限されず、基準酸素センサの出力特性と、実装酸素センサ２０の出力特性との乖離を解消するものであればよいが、例えば、以下の補正係数Ｋｐを用いることができる。つまり、本実施の形態では、内燃機関１００の走行時に大気補正が行えるように、ＥＣＵ１０の不揮発メモリ８に、予め、補正係数として、（基準酸素センサを酸素濃度が既知の特定雰囲気に晒したときの基準酸素出力値Ｉｐｓｏ）／（実装酸素センサ２０を酸素濃度が上記特定雰囲気と実質的に同じ雰囲気に晒したときの出力値Ｉｐｒｏ）で表される値（補正係数Ｋｐ）を記憶させている。ここで、「酸素濃度が既知の特定雰囲気」とは例えば大気（酸素濃度約２０．５％）であるが、大気と異なる所定濃度の酸素雰囲気であってもよい。基準酸素センサを上記「酸素濃度が既知の特定雰囲気」に晒すにあたっては、所定の測定系に取り付けて、当該雰囲気（例えば大気）に晒させるようにすればよい。
【００２５】
一方、実装酸素センサ２０を晒す「酸素濃度が特定雰囲気と実質的に同じ雰囲気」とは、基準酸素センサを晒す雰囲気と同じ酸素雰囲気のほか、基準酸素センサを晒す酸素雰囲気に対して酸素濃度が±５．０％（より好ましくは±１．０％）の範囲内でずれている雰囲気までを許容するものである。実装酸素センサ２０を上記「酸素濃度が特定雰囲気と実質的に同じ雰囲気」に晒すにあたっては、基準センサと同様に所定の測定系に取り付けて、当該雰囲気（例えば大気）に晒させるようにしてもよいし、実際の内燃機関１００の排気管１２０に取り付けた上で、排気管１２０内に上記酸素雰囲気となるガスを流通させるようにして、実装酸素センサ２０をその雰囲気に晒させるようにしてもよい。
【００２６】
なお、この補正係数Ｋｐは、内燃機関１００の走行時に大気補正処理が実行されて後述する新たな補正係数Ｋｑが求められると、新たな補正係数Ｋｐとして更新されるが、本実施の形態では、内燃機関１００の出荷前に、初期のＫｐを、以下の手順により、不揮発メモリ８に記憶させている。具体的には、基準酸素センサを所定の測定系に取り付けて、大気雰囲気に晒し、図２に示すように、基準酸素出力値Ｉｐｓｏを求める。次いで、実装酸素センサ２０を、出荷前（より詳細には、出荷検査時）の内燃機関１００の排気管１２０に取り付け、内燃機関１００を駆動させ、燃料供給を停止した状態で、スロットルバルブを略全開にしたり、あるいは、燃料供給の停止状態を長期間維持したりするなどして、排気管内を流通するガスの酸素雰囲気を例えば大気の酸素濃度と実質的に同じ雰囲気に近付けた状態に晒す。このときに得られる実装酸素センサ２０の出力値Ｉｐｒｏを検出する（図２参照）。そして、図２に示すように、（基準酸素出力値Ｉｐｓｏ）／（実装酸素センサ２０の出力値Ｉｐｒｏ）、つまり基準酸素出力Ｉｐｓｏを実装酸素センサ２０の出力値Ｉｐｒｏで除することによって補正係数Ｋｐを算出し、この補正係数Ｋｐを不揮発メモリ８に記憶させる。このようにして、不揮発メモリ８に初期値として記憶された補正係数Ｋｐは、次回の補正係数の更新（補正係数の上書き）が行われるまでは、実装酸素センサ２０の実出力値を補正するための補正係数として用いられる。
【００２７】
次に、本実施の形態では、実装酸素センサ２０の実出力値の比較となる、実装酸素センサ２０が取り付けられた対象の内燃機関１００における燃料断時の基準出力値として、燃料断基準出力値ＩｐｓｆをＥＣＵ１０の不揮発メモリ８（ＥＥＰＲＯＭ）に、予め、記憶させる。この燃料断基準出力値Ｉｐｓｆも内燃機関１００の出荷前に不揮発メモリ８に記憶させており、本実施の形態では、上述した手順にて補正係数Ｋｐを算出した後に、実装酸素センサ２０を内燃機関１００の排気管１２０に取り付けた状態で、Ｆ／Ｃを意図的に行うことで求めている。具体的には、内燃機関１００の出荷検査時に、上記のようにして補正係数Ｋｐを求めた実装酸素センサ２０を内燃機関１００の排気管１２０に取り付けた状態で、内燃機関１００の駆動を開始する。そして、特定の運転状況下でのＦ／Ｃを人為的あるいは機械的に実行し、筒内から排出されるＦ／Ｃ後のガスが実装酸素センサ２０の周囲に到達したと見込まれる時点（例えば、Ｆ／Ｃ開始から４秒後）以降に所定時間間隔毎に得られる実装酸素センサ２０の実出力値に補正係数Ｋｐを乗じた値の複数個を平均化することで算出している。このようにして得られた燃料断基準出力値Ｉｐｓｆを、不揮発メモリ８に記憶させている。なお、燃料断基準出力値Ｉｐｓｆが特許請求の範囲の「基準出力値」に相当する。
【００２８】
なお、内燃機関（エンジン）１００では、ＥＣＵ１０は、車両の減速や吸入空気量の状態等の運転条件に応じて、インジェクタ１０４からの燃料噴射量が０となる指示を出力するが、この指示の出力の有無を検出することでＦ／Ｃが開始されたと判定することができる。ところで、Ｆ／Ｃが開始される運転条件には種々のパターンがあるが、上記の燃料断基準出力値Ｉｐｓｆを算出するために内燃機関１００の出荷検査時に実行したＦ／Ｃ開始時の特定の運転条件と、内燃機関１００の出荷後の走行（運転）時における後述の大気補正処理を実行するＦ／Ｃ開始時の特定の運転条件を揃えないと、大気補正処理が同じ条件で行えず、大気補正の精度（換言すれば、後述する平均出力値Ｉｐａｖ，複数平均出力値Ｉｐａｖｆ、及び補正係数Ｋｑの算出精度）が低下する。従って、本実施の形態においては、好ましくは、運転条件が決められた所定の条件下での燃料断のみを対象として、平均出力値Ｉｐａｖ，複数平均出力値Ｉｐａｖｆ、燃料断基準出力値Ｉｐｓｆの算出、及び、後述する補正係数Ｋｑの算出処理を実行するようにしている。但し、燃料断が行われる条件を揃えることは必須ではなく、それぞれ異なる条件下での複数の燃料断において、それぞれ実装酸素センサ２０の実出力値Ｉｐを取得し、平均出力値Ｉｐａｖ，複数平均出力値Ｉｐａｖｆ、燃料断基準出力値Ｉｐｓｆ、補正係数Ｋｑ等の算出を行うようにしてもよい。なお、内燃機関１００の運転中に、特定の運転条件でＦ／Ｃが開始されたか否かを判定するにあたっては、Ｆ／Ｃが開始（Ｆ／Ｃ開始が判定）された直前のエンジン回転数、エンジン負荷、吸入空気量などの内燃機関の運転状態を表すパラメータを少なくとも１つ用い、そのパラメータが所定の条件（つまり、燃料断基準出力値Ｉｐｓｆを得るために予め設定した所定の条件）を満たしていたときに、運転条件が予め決められた所定の条件にてＦ／Ｃが開始されたと判断することができる。
【００２９】
次いで、不揮発メモリ８に補正係数Ｋｐ及び燃料断基準出力値Ｉｐｓｆが記憶された状態のもと、平均出力値Ｉｐａｖ，複数平均出力値Ｉｐａｖｆを用いて車両（内燃機関１００）の走行中にＥＣＵ１０のＣＰＵ２が実行する大気補正処理の概要について、図６，図７に示すフローチャートに基づいて説明する。なお、図６は、大気補正処理を実行するか否かを判断するフローチャートにあたり、また、図７は、平均出力値Ｉｐａｖ，複数平均出力値Ｉｐａｖｆを用いて補正係数Ｋｑを算出する大気補正処理を実行するフローチャートに相当するものであって、両フローチャートは、ＥＣＵ１０の電源導入後に処理を開始し、それぞれ所定の周期（例えば、１ｍｓｅｃ毎）で繰り返し実行される。
【００３０】
まず、図６に示すように、ＣＰＵ２は、ステップＳ１０１にて、内燃機関１００の運転中にＦ／Ｃが開始されたか否かを判定する。この判定は、上述したように、インジェクタ１０４からの燃料噴射量が０となる指示を出力したか否かで判定している。そして、Ｆ／Ｃが開始されたと判定される（ステップＳ１０１で「ＹＥＳ」）と、ステップＳ１０３に移行し、ＣＰＵ２は、特定の運転条件下でのＦ／Ｃであったか否かを判定する。この判定は、上述したように、Ｆ／Ｃが開始（Ｆ／Ｃ開始が判定）された直前のエンジン回転数、エンジン負荷、吸入空気量などの内燃機関の運転状態を表すパラメータを少なくとも１つ用い、そのパラメータが所定の条件を満たしているか否かで判定している。特定の運転状態下でのＦ／Ｃであったと判定される（ステップＳ１０３で「ＹＥＳ」）と、ＣＰＵ２は、ステップＳ１０５にて補正フラグを「１」に設定する。なお、ＥＣＵ１００の電源導入時には、補正フラグは０に設定されるようになっている。一方、ステップＳ１０１，ステップＳ１０３にて「Ｎｏ」と判定されると、本処理を終了し、当初からの処理をＣＰＵ２が繰り返し実行する。
【００３１】
次に、図７に示すフローチャートにおける各処理について説明する。まず、ステップＳ２にて、補正フラグが「１」であるか否かを判断し、肯定判定される（ステップＳ２で「Ｙｅｓ」）と、ステップＳ４に移行する。補正フラグは、図６のステップＳ１０５にて「１」に設定されるものである。一方、ステップＳ２にて否定判定される（ステップＳ２で「Ｎｏ」）と、本処理を終了する。そして、ＣＰＵ２は、ステップＳ４にてＦ／Ｃが継続しているか否かを判定し、肯定判定される（ステップＳ４で「Ｙｅｓ」）と、ステップＳ６に移行する。ステップＳ６では、特定運転条件下でのＦ／Ｃ継続時間（特許請求の範囲の「燃料断が開始されてから所定期間」に相当）がｔ１以上になったか否かを判定する。なお、本実施の形態では、ｔ１として４秒を設定している。
【００３２】
ここで、Ｆ／Ｃ継続時間としてｔ１だけ待つのは、Ｆ／Ｃが開始されても、Ｆ／Ｃ前の燃焼ガスが排気管１２０等に残り、燃焼ガスが新気（大気）に近づくか、又は入れ替わるまでに時間を要するため、排気管１２０内の酸素濃度も大気の酸素濃度に近付くまでに遅れが生じる。そのため、実装酸素センサ２０の実出力値（出力波形）も、Ｆ／Ｃ開始後に排気管１２０内の酸素濃度が増加するのにつれて徐々に増加し、排気管１２０がほぼ大気に近づくとその出力波形は脈動の影響はあるもののほぼ安定した値となる。そこで、ステップＳ６では、特定の運転条件下でＦ／Ｃが開始されてから、排気管１２０が大気に近づくか、又は入れ替わると想定される時間（ｔ１）までＦ／Ｃが継続したか否かを判定するようにしている。
【００３３】
図７に戻り、ＣＰＵ２は、ステップＳ６で肯定判定（ステップＳ６で「Ｙｅｓ」）すると、実装酸素センサ２０の出力対応値Ｉｐｒを取得する（ステップＳ８）。なお、出力対応値Ｉｐｒは、特定の運転条件下でのＦ／Ｃが継続する限り、所定の時間間隔毎（例えば、１ｍｓｅｃ毎）繰り返し取得される。また、この出力対応値Ｉｐｒは、実装酸素センサ２０が出力する実出力値Ｉｐに、不揮発メモリ８に記憶されている現在の補正係数Ｋｐを乗じた値である。つまり、実出力値Ｉｐに現在の補正係数Ｋｐを乗じた値である出力対応値Ｉｐｒが、特許請求の範囲の「実出力値を用いて算出される酸素濃度を反映した濃度対応値」に相当する。
【００３４】
次に、ＣＰＵ２は、ステップＳ８で取得した出力対応値Ｉｐｒが所定の第１範囲Ｒ１の範囲内か否かを判断し、ステップＳ１０が「Ｙｅｓ」であれば、出力対応値Ｉｐｒの加重平均処理を行う（ステップＳ１２）。一方、ステップＳ１０にて否定判定される（ステップＳ１０で「Ｎｏ」）と、ステップＳ８で取得した出力対応値Ｉｐｒを読み捨てるステップＳ１４の処理に移行する。
【００３５】
通常、運転条件が決められた所定の条件下にてＦ／Ｃが開始されたとしても、実装酸素センサ２０における個々の実出力値Ｉｐ（ひいては出力対応値Ｉｐｒ）は脈動したり、その実出力値Ｉｐ（ひいては出力対応値Ｉｐｒ）にノイズが含まれたりすることがある。そこで、本実施の形態では、１回あたりの燃料断期間中に取得される複数の出力対応値Ｉｐｒの値を平均化した平均出力値Ｉｐａｖを算出することで、脈動やノイズの影響を除去ないし軽減し、１回あたりのＦ／Ｃにおける安定した実装酸素センサ２０の出力状態を得るようにしている。具体的には、図３に示すように、１回あたりの燃料断期間中に得られる個々の実出力値Ｉｐに現在の補正係数Ｋｐを乗じた値（Ｉｐｒ１−１、Ｉｐｒ１−２・・・）のうち、所定の第１範囲(レンジ)Ｒ１内の値のみ(換言すれば、ステップＳ１０で「ＹＥＳ」と判定された出力対応値Ｉｐｒの値のみ)を取得して平均出力値Ｉｐａｖを算出するようにしている。なお、本実施の形態では、レンジＲ１としては、燃料断基準出力値Ｉｐｓｆの所定割合の変動値（例えば、燃料断基準出力値Ｉｐｓｆを中心値にして、燃料断基準出力値Ｉｐｓｆの７．５％の値をプラス、マイナスした値）を上限及び下限として設定している。
【００３６】
図３に示すように、例えば、１回あたりの燃料断の期間に得られる実装酸素センサ２０の実出力値Ｉｐに補正係数Ｋｐを乗じた出力対応値Ｉｐｒ１のうち、２つの値Ｉｐｒ１−１、Ｉｐｒ１−２は、上下に値が振れて（脈動して）いるが、両者の平均をとることで、脈動の影響を除去することができる。また、２つの出力対応値Ｉｐｒ１−６、Ｉｐｒ１−８は、それぞれノイズを含んだ値、及び実装酸素センサ２０が誤検出したときの値と推定されるが、これらはいずれもレンジＲ１を逸脱しているために平均出力値Ｉｐａｖの算出に用いられず、ステップＳ１４にて読み捨てられる。
【００３７】
次いで、ステップＳ１２では、出力対応値Ｉｐｒの加重平均処理（詳細には、１２８個の出力対応値Ｉｐｒの加重平均処理）を行うが、その処理は、例えば下記式１に従って行われ、この出力対応値Ｉｐｒを加重平均処理した値が、後述するステップＳ２２の平均出力値に相当する加重平均値Ｉｐａｖとなる。
Ｉｐａｖ＝１／１２８×｛最新のＩｐｒ−Ｉｐａｖ（ｎ−１）｝＋Ｉｐａｖ（ｎ−１）  ・・・（１）
上記式１のＩｐａｖ（ｎ−１）は、１つ前の処理（直前）で算出された加重平均値に該当する。なお、この大気補正処理の開始直後はＩｐａｖ（ｎ−１）が存在しないため、最初に得られるＩｐｒをＩｐａｖ（ｎ−１）に代入して加重平均値Ｉｐａｖを求めるようにしている。
そして、ステップＳ１２が終了した場合、ステップＳ６で否定判定された（ステップＳ６で「Ｎｏ」）場合、及び、ステップＳ１４が終了した場合には、ステップＳ２５にそれぞれ移行する。
【００３８】
一方、ステップＳ４で、Ｆ／Ｃが継続していないと判定される（ステップＳ４で「Ｎｏ」）と、補正フラグを「１」から「０」に設定（ステップＳ１６）し、ステップＳ２０に移行する。ステップＳ２０では、特定の運転条件下でのＦ／Ｃが終了するまでのＦ／Ｃ継続時間がｔ２以上か否かを判断する。なお、ｔ２はｔ１よりも長い時間に設定され、本実施の形態では、５秒に設定されている。ステップＳ２０で「Ｙｅｓ」であれば、ＣＰＵ２は、ステップＳ１２で算出していた加重平均値を平均出力値であるＩｐａｖとして取得する（ステップＳ２２）。また、ステップＳ２０で「Ｎｏ」であると、ＣＰＵ２は、ステップＳ１２で算出していた出力対応値Ｉｐｒの加重平均値は、十分な数の出力対応値Ｉｐｒによる平均値ではないとの理由から読み捨てる（ステップＳ２４）。
【００３９】
次に、ステップＳ２２の処理を終えると、ＣＰＵ２は、複数平均出力値Ｉｐａｖｆを得るためのＩｐａｖｆ取得処理の実施を指示する（ステップＳ２３）。そして、ステップＳ２３またはステップＳ２４の処理を終えると、ＣＰＵ２は、ステップＳ２５に移行する。ステップＳ２５では、ステップＳ２３でＩｐａｖｆ取得処理の実施指示があったか否かを判定し、肯定判定（ステップＳ２５で「Ｙｅｓ」）であれば、ステップＳ２６へ移行し、否定判定（ステップＳ２５で「Ｎｏ」）であれば処理を終了する。
ステップＳ２６では、補正係数Ｋｑの算出に用いる平均出力値Iｐａｖが所定の第２範囲Ｒ２内にあるか否かを判定し、ステップＳ２６にて肯定判定される（ステップＳ２６で「Ｙｅｓ」）と、ステップＳ２８に移行する。
【００４０】
ここで、特定の運転条件下にてＦ／Ｃが繰り返し行われた場合であっても、内燃機関１００の運転状態のバラツキ（偏り）によって、図４に示すように、ステップＳ２２で取得された個々の加重平均値（Ｉｐａｖ１、Ｉｐａｖ２・・・）にバラツキが生ずることがある。そこで、個々の加重平均値（Ｉｐａｖ１、Ｉｐａｖ２・・・）のうち、所定の第２範囲(レンジ)Ｒ２の範囲内の値のみを取得して複数平均出力値Ｉｐａｖｆの算出に用いると、安定した複数平均出力値Ｉｐａｖｆを算出することができる。なお、レンジＲ２としては、例えば燃料断基準出力値Ｉｐｓｆの所定割合の変動値（例えば、燃料断基準出力値Ｉｐｓｆを中心値にして、燃料断基準出力値Ｉｐｓｆの２．０％の値をプラス、マイナスした値）を上限及び下限として設定することができる。この場合、図４に示すように、例えば、２つの加重平均値Ｉｐａｖ３、Ｉｐａｖ４は、いずれもレンジＲ２を逸脱しているために複数平均出力値Ｉｐａｖｆの算出に用いられない（ステップＳ２６で「Ｎｏ」と判定される）。
【００４１】
なお、レンジＲ２は、既にレンジＲ１で脈動を平均化した平均出力値Ｉｐａｖに対して適用されるので、レンジＲ１内に設定されると共に、Ｒ２＜Ｒ１となるように設定する。Ｒ２＜Ｒ１とすることで、誤差を含む平均出力値Ｉｐａｖを排除して複数平均出力値Ｉｐａｖｆを算出することができ、算出される複数平均出力値Ｉｐａｖｆの信頼性が向上する。
【００４２】
そして、ステップＳ２８では、各加重平均値Ｉｐａｖのさらなる加重平均処理（詳細には、１６個の加重平均値Ｉｐａｖの加重平均処理）を行うが、その処理は、例えば下記式２に従って行われ、このＩｐａｖを加重平均処理した値が複数平均出力値Ｉｐａｖｆとして取得される。
Ｉｐａｖｆ＝１／１６×｛最新のＩｐａｖ−Ｉｐａｖｆ（ｎ−１）｝＋Ｉｐａｖｆ（ｎ−１）  ・・・（２）
上記式２のＩｐａｖｆ（ｎ−１）は、１つ前の処理（直前）で算出された加重平均値に該当する。なお、この大気補正処理の開始直後はＩｐａｖｆ（ｎ−１）が存在しないため、最初に得られるＩｐａｖをＩｐａｖｆ（ｎ−１）に代入して加重平均値Ｉｐａｖｆを求めるようにしている。
【００４３】
一方、ステップＳ２６で「Ｎｏ」と判定されると、ステップＳ３０に移行し、ＣＰＵ２は、ステップＳ２６で「Ｎｏ」となった回数が所定回数を超えたか否かを判断する（ステップＳ３０）。ステップＳ３０の処理は、例えば図４でレンジＲ２を超えたもの（Ｉｐａｖ３，Ｉｐａｖ４）の個数のカウントに対応する。そして、ステップＳ３０で「Ｙｅｓ」であれば、実装酸素センサ２０の出力の異常が頻繁に見られたとみなし、ＣＰＵ２はセンサ交換を指示し（ステップＳ３２）、本処理を終了する。センサ交換の指示は、例えば車両の運転者に警報を報知したり、交換を促す表示を行うことで実行することができる。
一方、ステップＳ３０で「Ｎｏ」であれば、ステップＳ３４に移行し、ステップＳ２２にて取得された加重平均値（平均出力値）Ｉｐａｖの読み捨てを行い、本処理を終了する。
【００４４】
次いで、ステップＳ２８の処理を終えると、ＣＰＵ２は、ステップＳ３６にて、ステップＳ２８で取得された複数平均出力値Ｉｐａｖｆが所定の第３範囲（レンジ）内にあるか否かを判定する。
ここで、レンジＲ３としては、図５に示すように、燃料断基準出力値Ｉｐｓｆの所定割合の変動値（例えば、燃料断基準出力値Ｉｐｓｆを中心値にして、燃料断基準出力値Ｉｐｓｆの１．０％の値をプラス、マイナスした値）を上限及び下限として設定している。なお、レンジＲ３は、個々のＦ／Ｃにおいて補正係数Ｋｑの更新の有無を判断するために用いるので、レンジＲ２内に設定されると共に、Ｒ３＜Ｒ２となるように設定している。
【００４５】
そして、ステップＳ３６で否定判定され（ステップＳ３６で「Ｎｏ」）、ステップＳ３８にて、図５に示すように、複数平均出力値ＩｐａｖｆがレンジＲ３を１０回連続して外れた（ステップＳ３８で「Ｙｅｓ」）と判定すると、ステップＳ４０に移行し、新たな補正係数Ｋｑを算出する処理を実行する。
ステップＳ４０では、補正係数Ｋｑの算出として、不揮発メモリ８に記憶されている燃料断基準出力値Ｉｐｓｆを、最新の複数平均出力値Ｉｐａｖｆ（換言すれば、レンジＲ３を連続して外れた１０回目の複数平均出力値Ｉｐａｖｆ）を現在の補正係数Ｋｐで除した値で除すことで算出する。そして、このステップＳ４０で算出した補正係数Ｋｑを、ステップＳ４２にて新たな補正係数Ｋｐとして不揮発メモリ８に更新（上書き）する処理を実行する。これにより、これ以降の実装酸素センサ２０から出力される実出力値Ｉｐから、新たな補正係数Ｋｐにより補正された出力対応値Ｉｐｒが算出され、この出力対応値Ｉｐｒにより排気ガス中の酸素濃度の検出が行われる。
【００４６】
一方、ステップＳ３６で「Ｙｅｓ」と判定、または、ステップＳ３８で「Ｎｏ」と判定された場合には、本処理を終了する。つまり、直前の補正係数Ｋｐが更新されずに用いられる。
【００４７】
このように、本実施の形態の酸素センサ制御装置１０では、一回あたりの燃料断期間中に取得される実装酸素センサ２０の複数個の出力対応値Ｉｐｒのうち、第１範囲Ｒ１を逸脱した値を除外した残りの値をもとに平均出力値Ｉｐａｖを算出し、さらにこの平均出力値Ｉｐａｖをもとに複数平均出力値Ｉｐａｖｆを算出している。そして、この複数平均実出力値Ｉｐａｖｆと燃料断基準出力値Ｉｐｓｆとを比較することで新たな補正係数Ｋｑを求め、補正係数を更新するようにしている。これにより、本実施の形態の酸素センサ制御装置１０では、酸素センサ（実装酸素センサ２０）の出力特性と酸素濃度との関係を精度良く較正することができ、精度の良い補正係数を用いて酸素濃度を検出が継続でき、酸素センサの検出精度を長期間にわたって良好に維持することが可能となる。
【００４８】
なお、本実施の形態において、ＣＰＵ２及びＣＰＵ２が実行するステップＳ４０の処理が、特許請求の範囲の「補正係数算出手段」に相当し、ＣＰＵ２及びＣＰＵ２が実行するステップＳ１０、Ｓ１２の処理が、特許請求の範囲の「平均出力値算出手段」に相当し、ＣＰＵ２及びＣＰＵ２が実行するステップＳ２６、Ｓ２８の処理が、特許請求の範囲の「複数平均出力値算出手段」に相当する。また、Ｉｐａｖが特許請求の範囲の「平均出力値」、Ｉｐａｖｆが特許請求の範囲の「複数平均出力値」に、それぞれ相当する。
【００４９】
なお、本発明は上記実施の形態に限られず、各種の変形が可能なことは言うまでもない。例えば、実装酸素センサ２０は、２セル式の上記空燃比センサに限らず、１セル式の限界電流式の空燃比センサを用いることができる。また、上記実施の形態では、平均出力値Ｉｐａｖ，複数平均出力値Ｉｐａｖｆを加重平均値として求めたが、加重平均値に限らず、相加平均や移動平均による値を用いるようにしてもよい。
【００５０】
また、上記実施の形態では、第１範囲Ｒ１内に含まれるか否かを判定する対象を実装酸素センサ２０の実出力値Ｉｐに補正係数Ｋｐを乗じた出力対応値Ｉｐｒとしたが、第１範囲Ｒ１の数値範囲を適宜変更し、当該第１範囲Ｒ１と実出力値Ｉｐとを比較し、第１範囲Ｒ１を逸脱した値を除外した実出力値Ｉｐｒをもとに平均した値に補正係数Ｋｐを乗じて平均出力値Ｉｐａｖを算出するようにしてもよい。さらに、上記実施の形態では、ステップＳ６，Ｓ２０におけるＦ／Ｃ継続時間ｔ１，ｔ２を固定値としたが、特定の運転条件でＦ／Ｃが開始された直前のエンジン回転数の数値等に応じて可変値として設定するようにしてもよい。
【符号の説明】
【００５１】
２  ＣＰＵ
３  ＲＯＭ
８  不揮発メモリ
１０  酸素センサ制御装置（ＥＣＵ）
２０  実装酸素センサ（酸素センサ）
１００  内燃機関
Ｋｐ、Ｋｑ  補正係数
Ｉｐｓｏ  基準酸素出力値
Ｉｐｒｏ  酸素センサを特定雰囲気と酸素濃度が実質的に同じ雰囲気に晒したときの出力値
Ｉｐｓｆ  燃料断基準出力値（基準出力値）
Ｉｐｒ  実装酸素センサの実出力値に補正係数Ｋｐを乗じた値（濃度対応値）
Ｉｐａｖ  平均出力値
Ｉｐａｖｆ  複数平均出力値
Ｒ１  第１範囲
Ｒ２  第２範囲
Ｒ３  第３範囲
ｔ１  燃料断を開始してからの期間
【図１】
0005421233.tif 000002
【図２】
0005421233.tif 000003
【図３】
0005421233.tif 000004
【図４】
0005421233.tif 000005
【図５】
0005421233.tif 000006
【図６】
0005421233.tif 000007
【図７】
0005421233.tif 000008