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