(58)【調査した分野】(Int.Cl.,DB名)
内燃機関の燃料供給を停止する燃料断を行ったときに、該内燃機関の排気管に取付けられた酸素センサの実出力値と酸素濃度との関係を較正する補正係数を求める一方、前記実出力値と前記補正係数とを用いて前記排気管を流通する排気ガスの酸素濃度を検出する酸素センサ制御装置であって、
一回の前記燃料断の期間中に取得される個々の前記酸素センサの実出力値又は該実出力値を用いて算出される酸素濃度を反映した濃度対応値のうちの複数個を平均化した平均出力値を、個々の前記酸素センサの実出力値又は前記濃度対応値が取得される都度、算出する平均出力値算出手段と、
前記平均出力値算出手段にて順次算出された複数の前記平均出力値のうち、一回の前記燃料断の期間中で最も大きい値であるピーク値を記憶するピーク値記憶手段と、
2回以上の所定回数の前記燃料断を対象にして当該燃料断毎に前記ピーク値記憶手段にて記憶された複数の前記ピーク値を、さらに平均化して複数平均出力値を算出する複数平均出力値算出手段と、
前記複数平均出力値と予め設定された基準出力値に基づいて、前記酸素センサの実出力値を補正するための新たな補正係数を求める補正係数算出手段と
を備えたことを特徴とする酸素センサ制御装置。
前記平均出力値算出手段は、一回の前記燃料断の期間中に取得した複数個の前記酸素センサの実出力値又は該実出力値を用いて算出される酸素濃度を反映した濃度対応値のうち、所定の第1範囲を逸脱した値を除外した残りの値をもとに平均化した平均出力値を算出することを特徴とする請求項1に記載の酸素センサ制御装置。
前記内燃機関から前記排気管に供給される大気の供給量を計測する供給量計測手段から前記供給量を取得して、前記燃料断期間中における前記供給量の総量である総供給量を算出する総供給量算出手段と、
1回の前記燃料断期間において、前記総供給量算出手段によって算出された前記総供給量が、予め設定された所定量以上になったか否かを判断する総供給量判断手段とを備え、
前記平均出力値算出手段は、前記燃料断が開始されてから前記総供給量判断手段にて前記総供給量が前記所定量以上になったと判断した後から、所定時間間隔毎に得られる複数の前記酸素センサの実出力値又は前記濃度対応値をもとに前記平均出力値を算出することを特徴とする請求項1又は2に記載の酸素センサ制御装置。
【発明の開示】
【発明が解決しようとする課題】
【0004】
しかしながら、特許文献1記載の大気補正方法では、標準的な酸素センサの大気中での基準出力値Vstdと、燃料供給が停止されているフューエルカット中における酸素センサの現在の出力値(つまり、1つの出力値)Vsenとを比較して、補正係数を算出するものに過ぎない。ここで、フューエルカット中(燃料断期間中)といえども酸素センサの出力値には、内燃機関の運転に伴って脈動したり、出力値にノイズが重畳することがある。そのため、フューエルカット中における酸素センサの1つの出力値を単に基準出力値と比較して補正係数を算出する方法では、正確な補正係数を取得することが難しいという問題がある。
【0005】
すなわち、本発明は、内燃機関の燃料供給を停止する燃料断を行ったときに取得される酸素センサからの出力値を用いて、酸素センサの出力特性と酸素濃度との関係を精度良く較正することができる酸素センサ制御装置の提供を目的とする。
【課題を解決するための手段】
【0006】
上記課題を解決するため、本発明の酸素センサ制御装置は、内燃機関の燃料供給を停止する燃料断を行ったときに、該内燃機関の排気管に取付けられた酸素センサの実出力値と酸素濃度との関係を較正する補正係数を求める一方、前記実出力値と前記補正係数とを用いて前記排気管を流通する排気ガスの酸素濃度を検出する酸素センサ制御装置であって、一回の前記燃料断の期間中に取得
される個々の前記酸素センサの実出力値又は該実出力値を用いて算出される酸素濃度を反映した濃度対応値
のうちの複数個を平均化した平均出力値を
、個々の前記酸素センサの実出力値又は前記濃度対応値が取得される都度、算出する平均出力値算出手段と、前記平均出力値算出手段
にて順次算出された複数の前記平均出力値の
うち、一回の前記燃料断の期間中で最も大きい値であるピーク値を記憶するピーク値記憶手段と、2回以上の所定回数の前記燃料断を対象にして当該燃料断毎に前記ピーク値記憶手段にて記憶された複数の前記ピーク値を、さらに平均化して複数平均出力値を算出する複数平均出力値算出手段と、前記複数平均出力値と予め設定された基準出力値に基づいて、前記酸素センサの実出力値を補正するための新たな補正係数を求める補正係数算出手段とを備えたことを特徴とする。
【0007】
通常、内燃機関の燃料供給を停止する燃料断(いわゆる、フューエルカット)が行われたときの酸素センサの出力特性(出力波形)には、燃料断時の内燃機関の運転に伴ってその出力波形が脈動したり、酸素センサから出力される実出力値にノイズが含まれることがある。そこで、本発明では、1回あたりの燃料断が行われている期間中に得られる酸素センサの実出力値又はこの実出力値を用いて算出される酸素濃度を反映した濃度対応値の複数個をもとに平均出力値を算出するようにしており、酸素センサの出力波形の脈動やノイズの影響を除去ないしは軽減するようにしている。
【0008】
また、本発明では、平均出力値算出手段にて算出した平均出力値のピーク値を記憶するようにしている。燃料断が開始されると、内燃機関のシリンダ内の炭化水素などの揮発ガスの影響が徐々に排気管内に現れることがあるが、この揮発ガスの影響に伴って酸素センサ周囲における大気に近付いた酸素濃度雰囲気
が徐々に低下していくと、酸素センサの実出力値又は濃度対応値も大気に近い酸素濃度を反映した値からずれていくことになる。そのため、燃料断の後半に得られる平均出力値ほど、大気に近い酸素濃度雰囲気で算出された値からずれた値として算出される可能性がある。そこで、本発明では、平均出力値のピーク値を求めてそのピーク値を記憶するようにしている。これにより、燃料断中において、酸素濃度雰囲気が徐々に低下していっても、大気に近い酸素濃度雰囲気で算出された平均出力値がピーク値として記憶(保持)される。そして、本発明では、所定回数の燃料断によって得られる複数の平均出力値のピーク値をさらに平均した複数平均出力値を算出し、この複数平均出力値と予め設定した基準出力値に基づいて新たな補正係数を求めるようにしている。これにより、複数平均出力値は、大気に近付いた酸素濃度雰囲気で算出された酸素センサの実出力値又は濃度対応値を代表した値となり、この複数平均出力値を用いることで精度の良い補正係数の算出が最終的に行える。
【0009】
なお、本発明において、「実出力値を用いて算出される酸素濃度を反映した濃度対応値」とは、酸素センサの個々の実出力値に、酸素センサ制御装置に設定される現在の補正係数(新たな補正係数が求められた場合には、その新たな補正係数)を乗じた値を挙げることができる。また、実出力値を所定の倍率で増幅した増幅値や、その増幅値に上記補正係数を乗じた値を挙げることができる。
【0010】
また、本発明の酸素センサ制御装置では、前記平均出力値算出手段は、一回の前記燃料断の期間中に取得した複数個の前記酸素センサの実出力値又は該実出力値を用いて算出される酸素濃度を反映した濃度対応値のうち、所定の第1範囲を逸脱した値を除外した残りの値をもとに平均化した平均出力値を算出するようにしてもよい。
【0011】
この場合には、所定の第1範囲を逸脱した値を除外した残りの値をもとに平均出力値を算出することで、燃料断期間中の酸素センサの出力波形の脈動やノイズの影響を有効に除去ないしは軽減することができ、より安定した補正係数を求めることができる。なお、前記第1範囲は、前記基準出力値を中心値にして画定された範囲に設定されているとよい。第1範囲が基準出力値を中心値にして画定された範囲に設定されることで、燃料断期間中の酸素センサの出力波形の脈動やノイズの影響を有効に除去ないし軽減することができるからである。
【0012】
また、本発明の酸素センサ制御装置では、前記内燃機関から前記排気管に供給される大気の供給量を計測する供給量計測手段から前記供給量を取得して、前記燃料断期間中における前記供給量の総量である総供給量を算出する総供給量算出手段と、1回の前記燃料断期間において、前記総供給量算出手段によって算出された前記総供給量が、予め設定された所定量以上になったか否かを判断する総供給量判断手段とを備え、前記平均出力値算出手段は、前記燃料断が開始されてから前記総供給量判断手段にて前記総供給量が前記所定量以上になったと判断した後から、所定時間間隔毎に得られる複数の前記酸素センサの実出力値又は前記濃度対応値をもとに前記平均出力値を算出するようにしてもよい。
【0013】
この場合には、燃料断(一回あたりの燃料断)の開始から、前記排気管に供給される大気の総供給量が予め設定された所定量以上になったことを契機にして、酸素センサの実出力値又は濃度対応値をもとに平均出力値を算出するようにしている。そのため、燃料断が開始されてから酸素センサの出力波形に大きな変動がなく比較的安定した状態において平均出力値を算出することができ平均出力値のピーク値を用いる効果と相俟って、安定した補正係数の算出が行える。
【発明の効果】
【0014】
この発明によれば、酸素センサの出力特性と酸素濃度との関係を精度良く較正可能な補正係数を求めることができ、ひいては酸素センサの検出精度を長期間にわたって良好に維持することができる。
【発明を実施するための形態】
【0016】
以下、本発明を具現化した一実施形態について、図面を参照して説明する。なお、これらの図面は、本発明が採用しうる技術的特徴を説明するために用いられるものであり、記載されている装置の構成、各種処理のフローチャートなどは、それのみに限定する趣旨ではなく、単なる説明例である。
【0017】
図1は、酸素センサ制御装置10を含むエンジン制御システム1の構成図である。エンジン制御システム1において、車両の内燃機関(エンジン)100の排気管120には酸素センサ20(以下、実装酸素センサ20という。)が取付けられ、実装酸素センサ20にはコントローラ22が接続されている。そして、コントローラ22に酸素センサ制御装置10が接続されている。本実施形態における酸素センサ制御装置10は、エンジンコントロールユニット(ECU)の機能を有している。
【0018】
内燃機関100の吸気管110にはスロットル弁102が設けられ、内燃機関100の各気筒には、燃料を筒内に供給するためのインジェクタ(燃料噴射弁)104が設置されている。また、排気管120の後流側に排ガス浄化触媒130が取付られている。さらに、内燃機関100には圧力センサ(図示外)、温度センサ(図示外)、及びクランク角センサ108等の各種センサが設置されている。また、吸気管110にはエアフロメータ107が設置されている。エアフロメータ107は、大気の吸気量を測定する。吸気された大気は、排気管120に供給されるので、エアフロメータ107は、大気の吸気量を測定することで、排気管120に供給される大気の供給量を測定している。
【0019】
各種センサ及びエアフロメータ107からの運転条件情報(エンジンの圧力、温度、クランク角、エンジン回転数、大気の供給量等)は、酸素センサ制御装置10に入力される。なお、
図1における矢印125は、運転条件情報のうち、エンジン圧力と温度が入力される経路を簡単に表わしている。酸素センサ制御装置10は、上記運転条件情報、実装酸素センサ20からの排気ガス中の酸素濃度検出値、及び運転者によるアクセルペダル106の踏み込み量等に応じて、スロットル弁102を制御して内燃機関100に供給する大気の量を制御すると共に、インジェクタ104からの燃料噴射量を制御する。これによって、酸素センサ制御装置10は、適切な空燃比で内燃機関100の運転を行う。
【0020】
ECU10は、中央演算処理装置(CPU)2、ROM3、RAM4、外部とのインターフェース回路(I/F)5、外部からの入力装置7、及び出力装置9を備えたマイクロコンピュータと、EEPROM等からなる不揮発メモリ8とを回路基板に実装したユニットである。そして、ECU10(CPU2)は、ROM3に予め記憶されたプログラムに従って入力信号を処理し、インジェクタ104による燃料噴射量の制御信号を出力装置9から出力したり、後述する大気補正処理を行う。
【0021】
実装酸素センサ20は、例えば、酸素イオン伝導性の固体電解質体に一対の電極を設けたセルを2つ用いた、いわゆる2セル式の空燃比センサとすることができる。空燃比センサのより具体的な構成としては、酸素ポンプセルと酸素濃度検出セルを、多孔質体を介して排気ガスが導入される中空の測定室が介在するように積層し、さらにこれら2つのセルを活性温度にまで加熱するためのヒータを積層したガス検出素子と、このガス検出素子を自身の内側に保持すると共に、排気管120に装着するためのハウジングとを備えた構成とすることができる。なお、実際の個々の内燃機関に取付けられた酸素センサ20を、後述する基準酸素センサと区別するため、本発明では「実装酸素センサ」と称している。
【0022】
実装酸素センサ20は、各種抵抗器や差動増幅器等を備えた検出回路である公知のコントローラ22に接続されている。コントローラ22は実装酸素センサ20にポンプ電流を供給し、該ポンプ電流を電圧に変換して酸素濃度検出信号としてECU10に出力する。より具体的には、コントローラ22は、酸素濃度検出セルの出力が一定値となるように、酸素ポンプセルへの通電制御を行い、酸素ポンプセルが測定室内の酸素を外部に汲み出す、あるいは、測定室に酸素を汲み入れるように動作し、そのときに酸素ポンプセルに流れるポンプ電流を、検出抵抗器を介して電圧に変換してECU10に出力するように駆動する。
【0023】
次に、実装酸素センサ20の大気補正手法(補正係数の算出手法)について説明する。大気補正は、内燃機関(エンジン)100の燃料供給を特定の運転条件下で停止する燃料断(フューエルカット、以下適宜「F/C」と表記する)を行ったときに、内燃機関100に取付けられた実装酸素センサ20の出力特性(実出力値)と酸素濃度との関係を較正するための補正係数を算出する処理である。大気補正は、理想的とされる所定の酸素センサ、換言すれば、製造バラツキの中心の出力特性を有する標準的な酸素センサであって、実装酸素センサ20と同一の構成からなる酸素センサ(以下、「基準酸素センサ」という)の出力特性と、内燃機関100に取付けられた実装酸素センサ20の出力特性との乖離を解消するよう、補正係数を求めることで行われ、得られた補正係数を用い、内燃機関を運転している間の実装酸素センサ20の実出力値を補正している。
【0024】
ここで、補正係数の値は、基準酸素センサの出力特性と、実装酸素センサ20の出力特性との乖離を解消するものであればよいが、例えば、以下の補正係数Kpを用いることができる。つまり、本実施の形態では、内燃機関100の走行時に大気補正が行えるように、ECU10の不揮発メモリ8に、予め、補正係数として、(基準酸素センサを酸素濃度が既知の特定雰囲気に晒したときの基準酸素出力値Ipso)/(実装酸素センサ20を酸素濃度が上記特定雰囲気と実質的に同じ雰囲気に晒したときの出力値Ipro)で表される値(補正係数Kp)を記憶させている。ここで、「酸素濃度が既知の特定雰囲気」とは例えば大気(酸素濃度約20.5%)であるが、大気と異なる所定濃度の酸素雰囲気であってもよい。基準酸素センサを上記「酸素濃度が既知の特定雰囲気」に晒すにあたっては、所定の測定系に取り付けて、当該雰囲気(例えば大気)に晒させるようにすればよい。
【0025】
一方、実装酸素センサ20を晒す「酸素濃度が特定雰囲気と実質的に同じ雰囲気」とは、基準酸素センサを晒す雰囲気と同じ酸素雰囲気のほか、基準酸素センサを晒す酸素雰囲気に対して酸素濃度が±5.0%(より好ましくは±1.0%)の範囲内でずれている雰囲気までを許容するものである。実装酸素センサ20を上記「酸素濃度が特定雰囲気と実質的に同じ雰囲気」に晒すにあたっては、基準センサと同様に所定の測定系に取り付けて、当該雰囲気(例えば大気)に晒させるようにしてもよいし、実際の内燃機関100の排気管120に取り付けた上で、排気管120内に上記酸素雰囲気となるガスを流通させるようにして、実装酸素センサ20をその雰囲気に晒させるようにしてもよい。
【0026】
なお、この補正係数Kpは、内燃機関100の走行時に大気補正処理が実行されて後述する新たな補正係数Kqが求められると、新たな補正係数Kpとして更新されるが、本実施の形態では、内燃機関100の出荷前に、初期の補正係数Kpを、以下の手順により、不揮発メモリ8に記憶させている。具体的には、基準酸素センサを所定の測定系に取り付けて、大気雰囲気に晒し、
図2に示すように、基準酸素出力値Ipsoを求める。次いで、実装酸素センサ20を、出荷前(より詳細には、出荷検査時)の内燃機関100の排気管120に取り付け、内燃機関100を駆動させ、燃料供給を停止した状態で、スロットルバルブを略全開にしたり、あるいは、燃料供給の停止状態を長期間維持したりするなどして、排気管内を流通するガスの酸素雰囲気を例えば大気の酸素濃度と実質的に同じ雰囲気に近付けた状態に晒す。このときに得られる実装酸素センサ20の出力値Iproを検出する(
図2参照)。
【0027】
そして、
図2に示すように、(基準酸素出力値Ipso)/(実装酸素センサ20の出力値Ipro)、つまり基準酸素出力値Ipsoを同じ酸素濃度雰囲気下における実装酸素センサ20の出力値Iproで除することによって補正係数Kpを算出し、この補正係数Kpを不揮発メモリ8に記憶させる。このようにして、不揮発メモリ8に初期値として記憶された補正係数Kpは、次回の補正係数の更新(補正係数の上書き)が行われるまでは、実装酸素センサ20の実出力値Ipを補正するための補正係数として用いられる。
【0028】
次に、
図3を参照して、1回の燃料断期間中における実装酸素センサ20の出力対応値Iprの変化の一例について説明する。
図3は、燃料断が開始されてからの時間と大気の総供給量M1との関係(紙面上側のグラフ)、及び、燃料断が開始されてからの時間と実装酸素センサ20の出力対応値Iprとの関係(紙面下側のグラフ)を表している。大気の総供給量M1は、燃料断期間中にエアフロメータ107によって計測された、排気管120への大気の供給量を加算(積算)した値である。燃料断が開始されてから時間が経過するごとに大気の総供給量M1は増加する。排気管120に大気が供給されるので、排気管120等に残った燃料断が開始される前の排気ガスが大気と入れ換わる。
【0029】
排気管120等に残った排気ガスが大気と入れ換わるまでに時間を要するので、排気管120内の酸素濃度が大気の酸素濃度に近づくまでに時間を要する。
図3では、一例として、大気の総供給量M1が所定量M2(g)(一例として、50g)になった場合に、排気管120内の酸素濃度が大気の酸素濃度に近づく場合を示している。大気の総供給量M1が所定量M2(g)になったタイミングが
図3に示すIpr取得時間の開始のタイミングである。よって、大気の総供給量M1が所定量M2(g)となるまでの間、実装酸素センサ20の出力対応値Iprは徐々に大きくなる。そして、排気管120内の酸素濃度が大気の酸素濃度に近づくと、出力対応値Iprの値は概ね安定する。ただし、排気管120内の酸素濃度が大気の酸素濃度に近づいても、内燃機関100の各気筒のピストン運動が繰り返されるため、出力対応値Iprは脈動している。なお、
図3のF/C開始からIpr取得時間の開始の期間において、実際には出力対応値Iprは脈動しながら徐々に大きくなっているが、脈動の図示は省略している。
【0030】
次に、本実施の形態では、実装酸素センサ20の実出力値の比較となる、実装酸素センサ20が取り付けられた対象の内燃機関100における燃料断時の基準出力値として、燃料断基準出力値IpsfをECU10の不揮発メモリ8(EEPROM)に、予め、記憶させる。この燃料断基準出力値Ipsfも内燃機関100の出荷前に不揮発メモリ8に記憶させており、本実施の形態では、上述した手順にて補正係数Kpを算出した後に、実装酸素センサ20を内燃機関100の排気管120に取り付けた状態で、F/Cを意図的に行うことで求めている。具体的には、内燃機関100の出荷検査時に、上記のようにして補正係数Kpを求めた実装酸素センサ20を内燃機関100の排気管120に取り付けた状態で、内燃機関100の駆動を開始する。そして、特定の運転状況下でのF/Cを人為的あるいは機械的に実行し、筒内から排出されるF/C後のガスが実装酸素センサ20の周囲に到達したと見込まれる時点(例えば、F/C開始から大気の総供給量M1が所定量M2(g)(一例として、50g)なった)以降に所定時間間隔毎に得られる実装酸素センサ20の実出力値に補正係数Kpを乗じた値の複数個を平均化することで算出している。このようにして得られた燃料断基準出力値Ipsfを、不揮発メモリ8に記憶させている。なお、燃料断基準出力値Ipsfが特許請求の範囲の「基準出力値」に相当する。
【0031】
なお、内燃機関(エンジン)100では、ECU10は、車両の減速や吸入空気量の状態等の運転条件に応じて、インジェクタ104からの燃料噴射量が0となる指示を出力するが、この指示の出力の有無を検出することでF/Cが開始されたと判定することができる。ところで、F/Cが開始される運転条件には種々のパターンがあるが、上記の燃料断基準出力値Ipsfを算出するために内燃機関100の出荷検査時に実行したF/C開始時の特定の運転条件と、車両(内燃機関)100の出荷後の走行(運転)時における後述の大気補正処理を実行するF/C開始時の特定の運転条件を揃えないと、大気補正処理が同じ条件で行えず、大気補正の精度(換言すれば、後述する平均出力値Ipav,複数平均出力値Ipavf、及び補正係数Kqの算出精度)が低下する。従って、本実施の形態においては、運転条件が決められた所定の条件下での燃料断のみを対象として、平均出力値Ipav,複数平均出力値Ipavf、燃料断基準出力値Ipsfの算出、及び、後述する補正係数Kqの算出処理を実行するようにしている。
【0032】
但し、燃料断が行われる条件を揃えることは必須ではなく、それぞれ異なる条件下での複数の燃料断において、それぞれ実装酸素センサ20の実出力値Ipを取得し、平均出力値Ipav,複数平均出力値Ipavf、燃料断基準出力値Ipsf、補正係数Kq等の算出を行うようにしてもよい。なお、内燃機関100の運転中に、特定の運転条件でF/Cが開始されたか否かを判定するにあたっては、F/Cが開始(F/C開始が判定)された直前のエンジン回転数、エンジン負荷、吸入空気量などの内燃機関の運転状態を表すパラメータを少なくとも1つ用い、そのパラメータが所定の条件(つまり、燃料断基準出力値Ipsfを得るために予め設定した所定の条件)を満たしていたときに、運転条件が予め決められた所定の条件にてF/Cが開始されたと判断することができる。
【0033】
次いで、不揮発メモリ8に補正係数Kp及び燃料断基準出力値Ipsfが記憶された状態のもと、平均出力値Ipav,複数平均出力値Ipavfを用いて車両(内燃機関100)の走行中にECU10のCPU2が実行する大気補正処理の概要について、
図6,
図7に示すフローチャートに基づいて説明する。なお、
図6は、大気補正処理を実行するか否かを判断するフローチャートにあたり、また、
図7は、平均出力値Ipav,複数平均出力値Ipavfを用いて補正係数Kqを算出する大気補正処理を実行するフローチャートに相当するものであって、両フローチャートは、ECU10の電源導入後に処理を開始し、それぞれ所定の周期(例えば、1msec毎)で繰り返し実行される。
【0034】
まず、
図6を参照して、大気補正処理を実行するか否かを判断する処理について説明する。CPU2は、内燃機関100の運転中にF/Cが開始されたか否かを判定する(S101)。この判定は、上述したように、インジェクタ104からの燃料噴射量が0となる指示を出力したか否かで判定している。当該指示が出されると、F/Cが開始されたと判定される(S101:YES)。次いで、CPU2は、特定の運転条件下でのF/Cであったか否かを判定する(S103)。この判定は、上述したように、F/Cが開始(F/C開始が判定)された直前のエンジン回転数、エンジン負荷、吸入空気量などの内燃機関の運転状態を表すパラメータを少なくとも1つ用い、そのパラメータが所定の条件を満たしているか否かで判定している。特定の運転状態下でのF/Cであったと判定されると(S103:YES)、CPU2は、補正フラグを「1」に設定する(S105)。なお、ECU
10の電源導入時には、補正フラグは0に設定されるようになっている。一方、S101:NO,S103:NOと判定されると、本処理を終了し、当初からの処理(S101)をCPU2が繰り返し実行する。尚、S101でF/Cが開始したと判断されると(S101:YES)、並行して燃料断期間中における排気管120への大気の供給量の総量である総供給量M1が「0」に設定される。なお、総供給量M1は、RAM4に記憶される。次いで、エアフロメータ107から大気の供給量が取得され、総供給量M1の積算が開始される。
【0035】
次に、
図7に示すフローチャートを参照して、大気補正処理について説明する。まず、ステップS2にて、補正フラグが「1」であるか否かを判断する。補正フラグが「1」の場合(S2:YES)、ステップS4に移行する。補正フラグは、
図6のステップS105にて「1」に設定されRAM4に記憶されたもので判断する。一方、補正フラグが「1」でない場合(S2:NO)、本処理を終了する。S2:YESの場合、CPU2は、F/Cが継続しているか否かを判定する(S4)。F/Cが継続している場合(S4:YES)、S6の判断処理に移行する。
【0036】
次いで、S6の判断処理では、1回の燃料断期間において積算されたAir掃気量(大気の総供給量M1)が、所定量M2(一例として、50g)以上になったか否かが判断される(S6)。なお、所定量M2の値は不揮発メモリ8に記憶されている。総供給量M1が所定量M2以上になっていない場合(S6:NO)、S25に移行し、Ipavf取得処理実施指示がまだなされていないので(S25:NO)、処理を終了する。次いで、所定の周期(例えば、1msec毎)で繰り返しS6の判断がなされる。
【0037】
ここで、F/C継続時間として、Air掃気量(大気の総供給量M1)が、所定量M2(一例として、50g)以上になるまで待つのは、F/Cが開始されても、F/C前の燃焼ガスが排気管120等に残り、燃焼ガスが新気(大気)に近づくか、又は入れ替わるまでに所定量M2のAir掃気量を要するため、排気管120内の酸素濃度も大気の酸素濃度に近付くまでに遅れが生じる。そのため、実装酸素センサ20の実出力値(出力波形)も、F/C開始後に排気管120内の酸素濃度が増加するのにつれて徐々に増加し、排気管120がほぼ大気に近づくとその出力波形は脈動の影響はあるもののほぼ安定した値となる。そこで、ステップS6では、特定の運転条件下でF/Cが開始されてから、排気管120が大気に近づくか、又は入れ替わると想定されるAir掃気量(M2)までF/Cが継続したか否かを判定するようにしている。
【0038】
図7に戻り、Air掃気量(総供給量M1)が、所定量M2(一例として、50g)以上になると(S6:YES)、CPU2は、実装酸素センサ20の出力対応値Iprを取得し、RAM4に記憶する(S8)。なお、出力対応値Iprは、特定の運転条件下でのF/Cが継続する限り、所定の時間間隔毎(例えば、1msec毎)繰り返し取得される。また、この出力対応値Iprは、実装酸素センサ20が出力する実出力値Ipに、不揮発メモリ8に記憶されている現在の補正係数Kpを乗じた値である。つまり、実出力値Ipに現在の補正係数Kpを乗じた値である出力対応値Iprが、特許請求の範囲の「実出力値を用いて算出される酸素濃度を反映した濃度対応値」に相当する。
【0039】
次に、CPU2は、S8で取得した出力対応値Iprが所定の第1範囲R1の範囲内か否かを判断し(S10)、出力対応値Iprが所定の第1範囲R1の範囲内であれば(S10:YES)、出力対応値Iprの加重平均処理を行う(S12)。一方、出力対応値Iprが所定の第1範囲R1の範囲内でない場合(S10:NO)、S8で取得し、RAM4に記憶した出力対応値Iprを消去する読み捨て処理を行う(S14)。
【0040】
通常、運転条件が決められた所定の条件下にてF/Cが開始されたとしても、実装酸素センサ20における個々の実出力値Ip(ひいては出力対応値Ipr)は脈動したり、その実出力値Ip(ひいては出力対応値Ipr)に偶発的にノイズが含まれたりすることがある。そこで、本実施の形態では、1回あたりの燃料断期間中に取得される複数の出力対応値Iprの値を平均化した平均出力値Ipavを算出することで、脈動やノイズの影響を除去ないし軽減し、1回あたりのF/Cにおける安定した実装酸素センサ20の出力状態を得るようにしている。具体的には、
図3に示すように、1回あたりの燃料断期間中に得られる個々の実出力値Ipに現在の補正係数Kpを乗じた値(Ipr1−1、Ipr1−2・・・)のうち、所定の第1範囲(レンジ)R1内の値のみ(換言すれば、S10で「YES」と判定された出力対応値Iprの値のみ)を取得して平均出力値Ipavを算出し、RAM4に記憶する(S12)。なお、本実施の形態では、
図3に示すレンジR1としては、燃料断基準出力値Ipsfの所定割合の変動値(例えば、燃料断基準出力値Ipsfを中心値にして、燃料断基準出力値Ipsfの7.5%の値をプラス、マイナスした値)を上限及び下限として設定している。
【0041】
図3に示すように、例えば、1回あたりの燃料断の期間に得られる実装酸素センサ20の実出力値Ipに補正係数Kpを乗じた出力対応値Ipr1のうち、2つの値Ipr1−1、Ipr1−2は、上下に値が振れて(脈動して)いるが、両者の平均をとることで、脈動の影響を除去することができる。また、2つの出力対応値Ipr1−6、Ipr1−8は、それぞれノイズを含んだ値、及び実装酸素センサ20が誤検出したときの値と推定されるが、これらはいずれもレンジR1を逸脱しているために平均出力値Ipavの算出に用いられず、読み捨てられる(S14)。
【0042】
次いで、S12では、出力対応値Iprの加重平均処理(詳細には、128個の出力対応値Iprの加重平均処理)を行うが、その処理は、例えば下記式1に従って行われ、この出力対応値Iprを加重平均処理した値が、後述するステップS22の平均出力値に相当する加重平均値Ipavとなる。
Ipav=1/128×{最新のIpr−Ipav(n−1)}+Ipav(n−1) ・・・(式1)
上記式1のIpav(n−1)は、1つ前の処理(直前)で算出された加重平均値に該当する。なお、この大気補正処理の開始直後はIpav(n−1)が存在しないため、最初に得られる出力対応値IprをIpav(n−1)に代入して加重平均値Ipavを求めるようにしている。そして、出力対応値Iprの加重平均処理(S12)が終了すると、加重平均値Ipavのピーク値(最大値)のホールド処理を行う(S13)。この、加重平均値Ipavのピーク値のホールド処理は、具体的には、
図8に示すサブルーチンのフローチャートに従って行われる。
【0043】
図8に示すように加重平均値Ipavのピーク値のホールド処理は、先ず、S12の加重平均処理で今回計算され取得されたIpav(n)の値が以前のS12の加重平均処理で計算されRAM4に記憶されたホールド値の値より大か否かを判断する(S131)。今回取得されたIpav(n)の値が、ホールド値より大の場合には(S131:YES)、今回取得されたIpav(n)をRAM4に記憶されている前回のホールド値に上書きする(S132)。尚、ピーク値のホールドは、各F/C毎にRAM4に記憶される。また、F/Cが開始されて最初に得られる加重平均値Ipav(n)の値はそのままホールド値としてRAM4に記憶され、次回に得られる加重平均値の値と比較されることになる。次いで、
図7に示す大気補正処理のフローチャートに戻る。今回取得されたIpav(n)の値が、ホールド値のIpav(n−1)の値以下の場合には(S131:NO)、上書き処理をせずに
図7に示す大気補正処理のフローチャートに戻る。
図7に示す大気補正処理のフローチャートでは、S6で否定判定された(S6:NO)場合、S14のIprの読み捨て処理を行った場合(S14)及びS13が終了した場合には、S25にそれぞれ移行する。
【0044】
一方、S4で、F/Cが継続していないと判定される(S4:NO)と、補正フラグを「1」から「0」に設定(S16)し、S20に移行する。S20では、特定の運転条件下でのF/Cが終了するまで、1回の燃料断期間において積算されたAir掃気量(大気の総供給量M1)が、所定量M2(一例として、50g)以上になったか否かが判断される(S20)。総供給量M1が所定量M2以上になっていた場合(S20:YES)、CPU2は、)S13でホールドされる出力対応値Iprの加重平均値のピーク値を平均出力値であるIpavのピーク値として取得する(S22)。また、総供給量M1が所定量M2以上になっていない場合(S20:NO)、CPU2は、出力対応値Iprの加重平均処理(S12)で算出していた出力対応値Iprの加重平均値は、十分な数の出力対応値Iprによる平均値ではないとの理由から読み捨てる(S24)。
【0045】
次に、S22の処理を終えると、CPU2は、複数平均出力値Ipavfを得るためのIpavf取得処理の実施を指示する(S23)。そして、S23またはS24の処理を終えると、CPU2は、S25に移行する。S25では、S23でIpavf取得処理の実施指示があったか否かを判定し、Ipavf取得処理の実施指示があった場合には(S25:YES)、S26へ移行し、Ipavf取得処理の実施指示がなかった場合には(S25:NO)処理を終了する。S26では、補正係数Kqの算出に用いる平均出力値Ipavのピーク値が所定の第2範囲R2内にあるか否かを判定し、S26にて肯定判定されると(S26:YES)、S28に移行する。
【0046】
ここで、特定の運転条件下にてF/Cが繰り返し行われた場合であっても、内燃機関100の運転状態のバラツキ(偏り)によって、
図4に示すように、S22の処理で取得された個々の加重平均値のピーク値(Ipav1、Ipav2・・・)にバラツキが生ずることがある。そこで、個々の加重平均値のピーク値(Ipav1、Ipav2・・・)のうち、所定の第2範囲(レンジ)R2の範囲内の値のみを取得して複数平均出力値Ipavfの算出に用いると、安定した複数平均出力値Ipavfを算出することができる。なお、レンジR2としては、例えば燃料断基準出力値Ipsfの所定割合の変動値(例えば、燃料断基準出力値Ipsfを中心値にして、燃料断基準出力値Ipsfの2.0%の値をプラス、マイナスした値)を上限及び下限として設定することができる。この場合、
図4に示すように、例えば、2つの加重平均値のピーク値Ipav3、Ipav4は、いずれもレンジR2を逸脱しているために複数平均出力値Ipavfの算出に用いられない(S26:NO)。
【0047】
なお、レンジR2は、既にレンジR1で脈動を平均化した平均出力値Ipavのピーク値に対して適用されるので、レンジR1内に設定されると共に、R2<R1となるように設定する。R2<R1とすることで、誤差を含む平均出力値Ipavのピーク値を排除して複数平均出力値Ipavfを算出することができ、算出される複数平均出力値Ipavfの信頼性が向上する。
【0048】
次いで、S26の判定処理で肯定されると(S26:YES)、S13でRAM4にピーク値をホールドした各Ipavのさらなる加重平均処理(詳細には、16個の加重平均値Ipavのピーク値の加重平均処理)を行う(S28)。その処理は、例えば下記式2に従って行われ、このIpavを加重平均処理した値が複数平均出力値Ipavfとして取得される(S28)。
Ipavf=1/16×{最新のIpavのピーク値−Ipavf(n−1)}+Ipavf(n−1) ・・・(式2)
上記式2のIpavf(n−1)は、1つ前の処理(直前)で算出された加重平均値に該当する。なお、この大気補正処理の開始直後はIpavf(n−1)が存在しないため、最初に得られるIpavのピーク値をIpavf(n−1)に代入して加重平均値Ipavfを求めるようにしている。
【0049】
一方、Ipavのピーク値がレンジR2の範囲外の場合(S26:NO)、S30に移行し、CPU2は、Ipavのピーク値がレンジR2の範囲外(S26:NO)となった回数が所定回数を超えたか否かを判断する(S30)。S30の処理は、例えば
図4でレンジR2を超えたもの(Ipav3,Ipav4)の個数のカウントに対応する。そして、Ipavのピーク値がレンジR2の範囲外となった回数が所定回数を超えた場合(S30:YES)、実装酸素センサ20の出力の異常が頻繁に見られたとみなし、CPU2はセンサ交換を指示し(S32)、本処理を終了する。センサ交換の指示は、例えば車両の運転者に警報を報知したり、交換を促す表示を行うことで実行することができる。一方、Ipavのピーク値がレンジR2の範囲外となった回数が所定回数を超えなかった場合(S30:NO)、本処理を終了する。
【0050】
次いで、S28の処理を終えると、CPU2は、S28で取得された複数平均出力値Ipavfが所定の第3範囲(レンジ)
R3内にあるか否かを判定する(S36)。ここで、レンジR3としては、
図5に示すように、燃料断基準出力値Ipsfの所定割合の変動値(例えば、燃料断基準出力値Ipsfを中心値にして、燃料断基準出力値Ipsfの1.0%の値をプラス、マイナスした値)を上限及び下限として設定している。なお、レンジR3は、個々のF/Cにおいて補正係数Kqの更新の有無を判断するために用いるので、レンジR2内に設定されると共に、R3<R2となるように設定している。
【0051】
そして、複数平均出力値Ipavfが所定の第3範囲
R3を1回でも外れると(S36:NO)、S40に移行し、新たな補正係数Kqを算出する処理を実行する(S40)。S40では、補正係数Kqの算出として、不揮発メモリ8に記憶されている燃料断基準出力値Ipsfを、最新の複数平均出力値Ipavf(換言すれば、レンジR3を外れた複数平均出力値Ipavf)を現在の補正係数Kpで除した値で除すことで算出する。
Kq=燃料断基準出力値Ipsf/(最新の複数平均出力値Ipavf/現在の補正係数Kp)
そして、このS40の処理で算出した補正係数Kqを、新たな補正係数Kpとして不揮発メモリ8に更新(上書き)する処理を実行する(S42)。これにより、これ以降の実装酸素センサ20から出力される実出力値Ipから、新たな補正係数Kpにより補正された出力対応値Iprが算出され、この出力対応値Iprにより排気ガス中の酸素濃度の検出が行われる。
【0052】
一方、S36の判定処理で「YES」と判定された場合には、本処理を終了する。つまり、直前の補正係数Kpが更新されずに用いられる。
【0053】
このように、本実施の形態の酸素センサ制御装置10では、一回あたりの燃料断期間中に取得される実装酸素センサ20の複数個の出力対応値Iprのうち、第1範囲R1を逸脱した値を除外した残りの値をもとに平均出力値Ipavを算出し、さらにこの平均出力値Ipavのピーク値を各F/C毎に求め、この各ピーク値をもとに複数平均出力値Ipavfを算出している。そして、この複数平
均出力値Ipavfと燃料断基準出力値Ipsfとを比較することで新たな補正係数Kqを求め、補正係数を更新するようにしている。
図9に示すように、F/Cが開始されてエンジン回転数(Eg回転数)が低下していくと、F/C中に発生するシリンダ内の全炭化水素(THC)などの揮発ガスの濃度は燃料断の経過時間と共に高くなる。そうすると、実装酸素センサ20の周囲の雰囲気の酸素濃度は徐々に低下し、実装酸素センサ20の実出力値であるIp値は僅かであるが徐々に低下していき、ΔIp値の誤差(測定誤差)が大きくなっていく。なお、
図9では、{(実装酸素センサ20の実出力値であるIp値−酸素濃度が大気相当時に得られる基準出力値)/当該基準出力値}×100で計算される値の20個の移動平均値(20区間移動平均値)をΔIp値(単位:%)として表しており、このΔIp値の誤差が揮発ガスの濃度の上昇と共に大きくなっていることが分かる。そこで、本実施の形態の酸素センサ制御装置10では、出力対応値Iprを平均化した平均出力値Ipavのピーク値をホールドすることで、F/C中に発生するシリンダ内の全炭化水素(THC)などの揮発ガスの影響をキャンセルするようにしている(
図9では、F/Cが開始されてから11.5秒経過時点で
平均出力値Ipavのピーク値がホールドされている)。従って、酸素センサ(実装酸素センサ20)の出力特性と酸素濃度との関係を精度良く較正することができ、精度の良い補正係数を用いて酸素濃度を検出が継続でき、酸素センサの検出精度を長期間にわたって良好に維持することが可能となる。
【0054】
なお、本実施の形態において、S40の処理を実行するCPU2が、「補正係数算出手段」の一例であり、S10、S12の処理を実行するCPU2が、「平均出力値算出手段」の一例である。また、S26、S28の処理を実行するCPU2が、「複数平均出力値算出手段」の一例であり、Ipavが「平均出力値」の一例であり、Ipavfが「複数平均出力値」の一例である。総供給量M1を積算記憶するRAM4が「総供給量算出手段」の一例であり、S6の処理を実行するCPU2が、「総供給量判断手段」の一例である。また、RAM4が「ピーク値記憶手段」の一例である。RAM4に記憶させる平均出力値Ipavのピーク値を求める処理は、上述したように、CPU2のS13の処理にて実行されている。
【0055】
なお、本発明は上記実施の形態に限られず、各種の変形が可能なことは言うまでもない。例えば、実装酸素センサ20は、2セル式の上記空燃比センサに限らず、1セル式の限界電流式の空燃比センサを用いることができる。また、上記実施の形態では、平均出力値Ipav,複数平均出力値Ipavfを加重平均値として求めたが、加重平均値に限らず、相加平均や移動平均による値を用いるようにしてもよい。
【0056】
また、上記実施の形態では、第1範囲R1内に含まれるか否かを判定する対象を実装酸素センサ20の実出力値Ipに補正係数Kpを乗じた出力対応値Iprとしたが、第1範囲R1の数値範囲を適宜変更し、当該第1範囲R1と実出力値Ipとを比較し、第1範囲R1を逸脱した値を除外した実出力値Ipをもとに平均した値に補正係数Kpを乗じて平均出力値Ipavを算出するようにしてもよい。さらに、上記実施の形態では、ステップS6,S20における所定量を固定値(M2)としたが、特定の運転条件でF/Cが開始された直前のエンジン回転数の数値等に応じて可変値として設定するようにしてもよい。