(57)【特許請求の範囲】
【請求項１】
内燃機関の吸気通路上に配設され、吸入空気中の酸素濃度を検出する酸素濃度センサと、
前記吸気通路内の圧力を検出する吸気通路内圧力検出手段と、
前記吸気通路内圧力検出手段によって検出された吸気通路内圧力の変動幅に基づいて予め記憶された所定の安定状態判定基準値との大小を比較して、吸気通路内圧力が安定状態にあるか否かを判定する安定状態判定手段と、
前記吸気通路内圧力検出手段によって検出された吸気通路内圧力と予め記憶された前記酸素濃度センサの基準出力値とに基づいて前記酸素濃度センサの出力を較正する較正係数を算出する較正係数算出手段と、
前記較正係数算出手段によって算出された較正係数に基づいて前記酸素濃度センサの出力を較正する較正手段とを備えた吸気酸素濃度センサ較正装置であって、
前記安定状態判定基準値は、前記吸気通路内圧力検出手段によって検出された吸気通路内圧力が小さいほど小さい値をとり、大きいほど大きい値をとるように設定され、
前記較正係数算出手段は、前記安定状態判定手段によって吸気通路内圧力が安定していると判断されているときに較正係数を更新することを特徴とする吸気酸素濃度センサ較正装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、内燃機関の吸気通路上に配設され、吸入空気の酸素濃度を検出する酸素濃度センサの出力を較正する吸気酸素濃度センサ較正装置に関する。
【０００２】
【従来の技術】
吸入空気の酸素濃度を検出するために、内燃機関の吸気通路上に酸素濃度センサを配設し、検出した酸素濃度を内燃機関の運転制御に用いることによって、内燃機関の空燃比制御の精度などを向上させる技術がある。このような技術の一つとして、特開平11-2153号公報に記載のものなどが知られている。
【０００３】
【発明が解決しようとする課題】
しかし、酸素濃度センサの出力は、経時変化や内燃機関の運転条件（機関負荷や捕集燃料のパージ状況など）によってバラツキが生じる。このようなバラツキを含む出力に基づいて空燃比制御などの内燃機関の運転制御を行っても、精度の高い制御を行うことはできず、排気エミッションの悪化やドライバビリティの悪化などを引き起こす要因となることが懸念される。従って、本発明の目的は、吸気通路上に配設され、吸入空気の酸素濃度を検出する酸素濃度センサの出力を較正し、精度の高い制御を行うことができるようにする吸気酸素濃度センサ較正装置を提供することにある。
【０００４】
【課題を解決するための手段】
請求項１に記載の発明は、内燃機関の吸気通路上に配設され、吸入空気中の酸素濃度を検出する酸素濃度センサと、吸気通路内の圧力を検出する吸気通路内圧力検出手段と、吸気通路内圧力検出手段によって検出された吸気通路内圧力の変動幅と予め記憶された所定の安定状態判定基準値との大小を比較して、吸気通路内圧力が安定状態にあるか否かを判定する安定状態判定手段と、吸気通路内圧力検出手段によって検出された吸気通路内圧力と予め記憶された酸素濃度センサの基準出力値とに基づいて酸素濃度センサの出力を較正する較正係数を算出する較正係数算出手段と、較正係数算出手段によって算出された較正係数に基づいて酸素濃度センサの出力を較正する較正手段とを備えた吸気酸素濃度センサ較正装置であって、安定状態判定基準値は、吸気通路内圧力検出手段によって検出された吸気通路内圧力が小さいほど小さい値をとり、大きいほど大きい値をとるように設定され、較正係数算出手段は、安定状態判定手段によって吸気通路内圧力が安定していると判断されているときに較正係数を更新することを特徴としている。
【０００５】
【発明の実施の形態】
本発明の吸気酸素濃度センサ較正装置の一実施形態について、図面を参照しつつ以下に説明する。図１に、本実施形態の較正装置を有する内燃機関の構成図を示す。
【０００６】
内燃機関であるエンジン１は、図１に示されるように、点火プラグ２によって各シリンダ３内の混合気に対して点火を行うことによって駆動力を発生する。エンジン１の燃焼に際して、外部から吸入した空気は吸気通路４を通り、インジェクタ５から噴射された燃料と混合されて混合気となる。シリンダ３の内部と吸気通路４との間は、吸気バルブ６によって開閉される。シリンダ３の内部で燃焼された混合気は、排気ガスとして排気通路７に排気される。シリンダ３の内部と排気通路７との間は、排気バルブ８によって開閉される。
【０００７】
吸気通路４上には、シリンダ３内に吸入される吸入空気量を調節するスロットルバルブ９が配設されている。このスロットルバルブ９には、その開度を検出するスロットルポジションセンサ１０が接続されている。スロットルバルブ９に付随して、アクセルペダル１１の踏み込み位置を検出するアクセルポジションセンサ１２や、スロットルバルブ９を駆動するスロットルモータ１３なども配設されている。また、吸気通路４上には、図示されていないが、吸入空気の温度を検出する吸気温センサも取り付けられている。
【０００８】
また、スロットルバルブ９の下流側には、サージタンク１４が形成されており、サージタンク１４の内部に、バキュームセンサ１５、酸素濃度センサ１６及びコールドインジェクタ１７が配設されている。バキュームセンサ１５は、吸気通路４内の圧力（吸気通路内圧力）を検出するもので、吸気通路内圧力検出手段として機能している。酸素濃度センサ１６は、吸入空気の酸素濃度を算出するものであり、検出気体中における酸素の質量比や体積比に応じてその出力電圧を変化させるものである。コールドインジェクタ１７は、エンジン１の冷間始動性を向上させるためのもので、サージタンク１４内に燃料を拡散噴霧させて均質な混合気を形成させるものである。
【０００９】
サージタンク１４のさらに下流側には、スワールコントロールバルブ１８が配設されている。エンジン１は、筒内噴射型エンジンで希薄燃焼を行うことのできるものである。スワールコントロールバルブ１８は、希薄燃焼（成層燃焼）時にシリンダ３の内部に安定したスワールを発生させるためのものである。スワールコントロールバルブ１８に付随して、スワールコントロールバルブ１８の開度を検出するSCVポジションセンサ１９やスワールコントロールバルブ１８を駆動するDCモータ２０なども配設されている。
【００１０】
また、本実施形態のエンジン１における吸気バルブ６は、その開閉タイミングを可変バルブタイミング機構２１によって可変制御することができる。吸気バルブ６の開閉状況は、吸気バルブ６を開閉させるカムが形成されているカムシャフトの回転位置を検出するカムポジションセンサ２２によって検出できる。さらに、エンジン１のクランクシャフト近傍には、クランクシャフトの回転位置を検出するクランクポジションセンサ２３が取り付けられている。クランクポジションセンサ２３の出力からは、シリンダ３内のピストン２４の位置や、エンジン回転数を求めることもできる。エンジン１には、エンジン１のノッキングを検出するノックセンサ２５や冷却水温度を検出する水温センサ２６も取り付けられている。
【００１１】
一方、排気通路７上には、排気ガス中の有害物質を浄化するための排気浄化触媒２７が取り付けられている。このエンジン１は四気筒であり、二気筒毎に一つずつ、計二つの排気浄化触媒２７が取り付けられている。各排気浄化触媒２７の上流側には、排気ガスの排気空燃比を検出する空燃比センサ２８がそれぞれ取り付けられている。空燃比センサ２８としては、排気空燃比をリッチ域からリーン域にかけてリニアに検出し得るリニア空燃比センサや、排気空燃比がリッチ域にあるかリーン域にあるかをオン−オフ的に検出するO2センサ（酸素センサ）などが用いられる。
【００１２】
エンジン１のインジェクタ５には、燃料タンク２９に貯蔵された燃料が送出用の低圧フューエルポンプ３０によって送出され、これがフューエルフィルタ３１を経過して高圧フューエルポンプ３２によって高圧化された後に供給される。このエンジン１は希薄燃焼可能なものであり、良好な希薄燃焼（成層燃焼）を行わせるために圧縮行程中のシリンダ３内に燃料を直接噴射して成層燃焼に適した状態を形成させなくてはならず、そのために燃料を高圧にしてからインジェクタ５によって噴射する。
【００１３】
インジェクタ５に付随して、精密な制御を行うために燃料の圧力を検出する燃圧センサ３３も配設されている。高圧フューエルポンプ３２は、エンジン１の動力、即ち、排気バルブ８側のカムシャフトの回転を利用して燃料を高圧化している。なお、コールドインジェクタ１７に対しては、低圧フューエルポンプ３０によって送出された燃料がそのまま供給される。
【００１４】
燃料タンク２９に付随して、燃料タンク２９内で蒸発した燃料を捕集するチャコールキャニスタ３４が配設されている。チャコールキャニスタ３４は、内部に活性炭フィルタを有しており、この活性炭フィルタで蒸発燃料を捕集する。そして、捕集された燃料は、パージコントロールバルブ３５によってパージ量を制御されつつ、吸気通路４にパージされてシリンダ３内で燃焼される。なお、燃料タンク２９には、燃料噴射されなかった残りの燃料を燃料タンクに戻すリターンパイプ３６も取り付けられている。
【００１５】
さらに、図示されていないが、現在のエンジンにはほとんど装備されているブローバイガス還元機構もエンジン１に組み込まれている。ブローバイガス還元機構は、圧縮行程などでシリンダ３下方に吹き抜けた未燃燃料を含むブローバイガスを、吸気通路４上に還流させるものである。その還流位置は、エンジン負荷（吸気通路内圧）などによって異なり、インテークポートに還流される場合とスロットルバルブ９の上流側に還流される場合などがある。
【００１６】
上述した点火プラグ２、インジェクタ５、スロットルポジションセンサ１０、アクセルポジションセンサ１２、スロットルモータ１３、バキュームセンサ１５、酸素濃度センサ１６、コールドスタートインジェクタ１７、DCモータ２０、可変バルブタイミング機構２１のアクチュエータ、カムポジションセンサ２２、クランクポジションセンサ２３、ノックセンサ２５、水温センサ２６、パージコントロールバルブ３５、吸気温センサやその他のアクチュエータ類・センサ類は、エンジン１を総合的に制御する電子制御ユニット（ＥＣＵ）３７と接続されている。なお、図１に示されるシステムでは、ＥＣＵ３７とインジェクタ５との間に電子制御ドライブユニット(ＥＤＵ)３８が設けられている。ＥＤＵ３８は、ＥＣＵ３７からの駆動電流を増幅して、高電圧・大電流によってインジェクタ５を駆動するためのものである。
【００１７】
これらのアクチュエータ類・センサ類は、ＥＣＵ３７からの信号に基づいて制御され、あるいは、検出結果をＥＣＵ３７に対して送出している。ＥＣＵ３７は、内部に演算を行うＣＰＵや演算結果などの各種情報量を記憶するＲＡＭ、バッテリによってその記憶内容が保持されるバックアップＲＡＭ、各制御プログラムを格納したＲＯＭ等を有している。ＥＣＵ３７は、吸気通路内圧力や空燃比などの各種情報量に基づいてエンジン１を制御する。また、ＥＣＵ３７は、インジェクタ５によって噴射する燃料噴射量を演算したり、酸素濃度センサ１６の故障判定も行う。
【００１８】
次に、上述した本実施形態の較正装置を用いた酸素濃度センサ１６の較正制御について説明する。本制御のフローチャートを図２、図３及び図５に示す。
【００１９】
本実施形態のエンジン１においては、吸気通路４上に酸素濃度センサ１６が配設されており、酸素濃度センサ１６によって検出される吸入空気の酸素濃度に基づいてエンジン１の運転制御（空燃比制御・燃料噴射量制御）を行う。これによって、エンジン１をより適切な燃焼状態とすることができ、排気ガスの浄化性能も向上させることができる。
【００２０】
エンジン１の運転制御には、排気ガスの排気空燃比を検出し、これに基づいてフィードバック制御を行うものもある（本実施形態でもこのような制御を併用している）。このような制御は燃焼後の結果を検出してからフィードバックを行うが、これに対して、吸入空気の酸素濃度を検出してエンジン１の制御に反映させる制御の方が即効性に優れるという利点がある。
【００２１】
しかし、酸素濃度センサ１６の出力が正確でなければ、精度の高い制御を行うことができない。そこで、以下に説明する較正制御を行うことによって酸素濃度センサの出力が正確となるように較正する。図２及び図３のフローチャートは、所定時間毎（例えば、エンジン１の所定回転毎や数ミリ秒毎）に実行される。図２及び図３に示されるフローチャートによって、酸素濃度センサ１６の出力を較正する際に用いる較正係数Ａを求め、これを用いて出力を較正する。
【００２２】
まず、酸素濃度センサ１６の暖機が完了しているか否かを判定する（ステップ１３０）。酸素濃度センサ１６は、それ自体がある所定の温度（活性化温度）に達していないと、安定した検出結果を得ることができないという性質を有している。ここでは、酸素濃度センサ１６がこの活性化温度に達している（暖機が完了している）か否かを判定している。なお、酸素濃度センサ１６を早期に活性化させるために、電力などを用いて強制的に昇温させることもある。
【００２３】
ステップ１３０が否定される場合は、酸素濃度センサ１６の出力は非常に多くの誤差を有しているため、較正を行うことも較正係数Ａを算出することもできないので、このフローチャートに示される制御を一旦終了する。このような状態では、酸素濃度センサ１６の出力が何らかの制御に用いられることもない。一方、ステップ１３０が肯定される場合は、バキュームセンサ１５によって検出される吸気通路内圧力pmsm(i)を取り込む（ステップ１４０）。
【００２４】
次いで、燃料タンク内の蒸発燃料を吸気通路４上にパージするパージ制御が行われていない（パージカット中である）か否かを判定する（ステップ１５０）。ステップ１５０が肯定される場合、即ち、パージカット中であれば、較正係数Ａを算出するべく以下に説明するステップが実行される。
【００２５】
以下に説明するステップでは、バキュームセンサ１５によって検出される吸気通路内圧力pmsmなどを用いて酸素濃度センサ１６を較正する。しかし、吸気通路４上に捕集燃料のパージが行われていると、吸気通路内圧力pmsmから吸入空気内の酸素濃度を正確に推定することができない。パージされた燃料を含まない空気であれば、吸気通路内圧力pmsmを介して吸入空気量から酸素濃度を推定することができるが、捕集燃料がパージされると酸素濃度が変動してしまうからである。そこで、ステップ１５０においてパージカット中であるか否かを判定し、パージカット中の場合のみ較正係数Ａを算出する。
【００２６】
ステップ１５０が肯定された場合、即ち、捕集燃料のパージが行われていない場合は、その時点でバキュームセンサ１５によって検出された吸気通路内圧力pmsm(i)と前回検出時の吸気通路内圧力pmsm(i-1)との差分を変動幅Δpmsmとして算出する（ステップ１７０）。次いで、その時点の吸気通路内圧力pmsm(i)に対応する安定状態判定基準値βがマップより取り込まれ（ステップ１８０）、算出された変動幅Δpmsmの絶対値が、取り込まれた安定状態判定基準値βより小さいか否かを判定する（ステップ１９０）。変動幅Δpmsmが小さいということは吸気通路内圧力pmsmの変動が少ないということである。安定状態判定基準値βは、吸気通路内圧力pmsmの変動が少ない（安定している）と判断できる値として設定される可変値である。
【００２７】
安定状態判定基準値βは、検出された吸気通路内圧力pmsm〔ここでは、その時点での吸気通路内圧力pmsm(i)〕が大きいほど大きく設定され、小さいほど小さく設定される。吸気通路内圧力pmsmと安定状態判定基準値βとの関係を示すマップを図４に示す。酸素濃度センサ１６の応答性は、一般に圧力センサ（バキュームセンサ１５）よりも遅く、また、その出力は圧力に対して線形性を有している。このため、吸気通路内圧力pmsmが小さい領域では酸素濃度センサ１６の出力は小さく、応答遅れなどによる誤差の酸素濃度センサ１６の出力全体に占める割合が大きくなる。即ち、酸素濃度センサ１６の検出精度（出力精度）は、吸気通路内圧力pmsmが小さいほど悪化する。
【００２８】
そこで、吸気通路内圧力pmsmが小さい領域では、上述した安定状態判定基準値βを小さく設定して、吸気通路内圧力pmsmが安定していると判定し得る変動幅Δpmsmの範囲を狭くする。これによって、酸素濃度センサ１６の出力に基づいて較正係数Ａを算出する際に、酸素濃度センサ１６の応答遅れなどによる誤差の影響を受けにくくすることができる。
【００２９】
これとは逆に、吸気通路内圧力pmsmが大きい領域では、上述した安定状態判定基準値βを大きく設定して、吸気通路内圧力pmsmが安定していると判定し得る変動幅Δpmsmの範囲を広くすることができる。即ち、安定状態判定基準値βを大きく設定して、吸気通路内圧力pmsmが安定していると判定し得る変動幅Δpmsmの範囲を広くする。このようにしても、酸素濃度センサ１６の出力全体に含まれる応答遅れなどによる誤差の割合は少ないので、較正係数Ａを算出する際には、酸素濃度センサ１６の応答遅れなどによる誤差の影響を受けにくい状態にある。
【００３０】
次に、上述したステップ１９０で検出される状態が所定期間維持されるか否かを、ステップ２１０及びステップ２２０を用いて判定する。まず、ステップ１９０が肯定され、その時点での吸気通路内圧力pmsmの状態が安定していると判定された場合は、カウンタＣ（初期値は0）を一つカウントアップする（ステップ２１０）。なお、ステップ１９０が否定され、吸気通路内圧力pmsmが安定しているとは判定されない場合は、カウンタＣが初期値0にリセットされ（ステップ２００）、図２及び図３に示される制御を一旦終了する。
【００３１】
ステップ２１０に次いで、カウンタＣの値が所定値Ｔより大きいか否かを判定する（ステップ２２０）。カウンタＣが所定値Ｔより大きいということは、吸気通路内圧力pmsmの安定状態が所定期間持続されたと判断することができる。図２及び図３に示される制御が繰り返し実行されるうちに、吸気通路内圧力pmsmの安定状態が所定期間継続されると、カウンタＣはカウントアップされ続け、何れステップ２２０が肯定される。吸気通路内圧力pmsmが安定状態を維持し続けているが、所定期間に満たない場合は、ステップ２２０が否定され、カウンタＣの値はリセットされずに図２及び図３に示される制御を一旦抜け、再度ステップ１３０から繰り返される。繰り返す間に、吸気通路内圧力pmsmが安定状態ではなくなれば、ステップ１９０が否定され、カウンタＣは初期値0にリセットされる。
【００３２】
ステップ２２０が肯定される場合は、その時点での吸気通路内圧力pmsm(i)が記憶されている較正係数Ａの前回更新時の吸気通路内圧力PMよりも大きいか否かを判定する（ステップ２３０）。ステップ２３０が否定される場合、即ち、その時点での吸気通路内圧力pmsm(i)が較正係数Ａを前回更新したときの吸気通路内圧力PM以下である場合は、較正係数Ａを新たに算出して更新することなく図２及び図３に示される制御を一旦終了する。
【００３３】
なお、ステップ２３０が否定される場合（その時点での吸気通路内圧力pmsm(i)が較正係数Ａを前回更新したときの吸気通路内圧力PM以下である場合）に、新たに較正係数Ａを更新することなく制御を終了するのは次の理由による。
【００３４】
酸素濃度センサ１６の出力に含まれる誤差は、上述したような応答遅れによる誤差も含めて、その出力が大きい場合の方が出力全体に占める割合は少なくなる。また、上述したように、酸素濃度センサ１６は、酸素濃度が同じである場合であっても検出時の圧力が高いほど出力が大きくなるという性質を有している。このため、酸素濃度センサ１６の出力が大きい領域、即ち、吸気通路内圧力で算出した較正係数Ａの方が精度が高いとみなすことができる。そこで、本制御では、較正係数Ａを前回更新したときよりも吸気通路内圧力pmsm(i)が小さい場合は較正係数Ａを更新せずに、精度が高いと思われる前回の較正係数Ａをそのまま維持する。
【００３５】
一方、ステップ２３０が肯定される場合、即ち、その時点での吸気通路内圧力pmsm(i)が較正係数Ａを前回更新したときの吸気通路内圧力PMよりも大きい場合は、新たに較正係数Ａを更新するが、これに先立ってこのときの吸気通路内圧力pmsm(i)を次回の判定に備えて、吸気通路内圧力（前回更新時）PMとしてＥＣＵ３７内のバックアップＲＡＭ内などに記憶させておく（ステップ２４０）。次いで、実際に較正係数Ａを更新するのであるが、まず検出された吸気通路内圧力pmsm(i)に対応する出力基準値θをマップより取り込む（ステップ２５０）。さらに、酸素濃度センサ１６の出力Sを取り込む（ステップ２６０）。
【００３６】
なお、出力基準値θは、酸素濃度センサ１６の公差中央品によって、未燃燃料を含まない通常の空気を検出したときの出力である。即ち、出力基準値θは、酸素濃度センサ１６毎のバラツキを含まない基準値であるとみなせる。基準出力値θを求める際に利用されるマップは、酸素濃度センサ１６の経時劣化していない公差中央品を用いて予め作成される。このマップは、吸気通路内圧力pmsmと基準出力値θとの関係を示した二次元マップである。吸気通路内圧力pmsmから吸入空気量を推定（算出）するのはごく一般的であり、推定した吸入空気量と空気中の酸素の割合とから酸素濃度を得ることができる。
【００３７】
次いで、次式から暫定較正係数αを求める（ステップ２７０）。（暫定較正係数α）＝（検出した酸素濃度センサ１６の出力S）／（マップより求められた基準出力値θ）。ここで、酸素濃度センサ１６が、経時劣化していない公差中央品と同じ性能であれば、暫定較正係数αは１となる。
【００３８】
ステップ２７０の後、次回の較正係数Ａの更新時に備え、上述したカウンタＣを初期値0にリセットする（ステップ２８０）。さらに、算出された暫定較正係数αが所定の下限ガード値ｂより大きいか否かを判定する（ステップ２９０）。ステップ２９０が否定される場合、即ち、算出された暫定較正係数αが下限ガード値ｂ以下である場合は、暫定較正係数αを下限ガード値ｂに置き換える（ステップ３００）。ステップ２９０が肯定される場合は、暫定較正係数αはそのまま維持される。
【００３９】
暫定較正係数αが小さい場合は、何らかの理由によってパージカット中であるのに吸入空気に何らかの物質が混入し酸素濃度を下げ、実際の酸素濃度センサ１６の出力が小さくなっているという可能性がある。例えば、パージカット中にブローバイガスに含まれる未燃燃料量が異常に多くなり、これが吸気通路４上に還流された場合などである。このような場合は、確かに算出された暫定較正係数αは小さくなる。しかし、これと同時に暫定較正係数αが正確に算出されていない可能性もある。もし、算出された暫定較正係数αが正確でないのにこれを用いて酸素濃度センサ１６の出力を較正した場合、その較正結果は当然正確なものとはならない。
【００４０】
そこで、暫定較正係数αがある所定の値、即ち、下限ガード値ｂよりも小さいような場合は、暫定較正係数αをこの下限ガード値ｂに置き換えることによって、算出された暫定較正係数αが正確でなかったときの影響を軽減させる。ただし、算出された暫定較正係数αが下限ガード値ｂより小さいが正確である場合もある。このような場合も算出された暫定較正係数αは下限ガード値ｂで置き換えられてしまうが、下限ガード値ｂの分は酸素濃度センサ１６の出力を較正できる。この場合、下限ガード値ｂによって較正の効果が減少するが、算出された暫定較正係数αが正確でなく悪影響が出てしまった場合を考慮すれば、総合的に見て酸素濃度センサ１６の出力較正制御は安定する。
【００４１】
次いで、ステップ３１０〜ステップ３４０までのステップで、冷間始動後のエンジン１の暖機運転が完了しているか否かを判定する。冷間始動後の暖機運転が完了しているか否かによって、ブローバイガスの影響が変わるからである。そして、その後にブローバイガスの影響を考慮しつつ、暫定較正係数αが最終的な較正係数Ａとして決定される。上述したように未燃燃料を含むブローバイガスは吸気通路４のスロットルバルブ上流側に還流される場合がある。
【００４２】
しかし、冷間始動直後のまだ暖機が完了していない状態では吸入空気量自体が多いので、ブローバイガスによる未燃燃料濃度（酸素濃度の低下分）は無視できるほどに小さい。このため、冷間始動直後のまだ暖機が完了していない状態では今回算出された暫定較正係数αはブローバイガスによる未燃燃料の影響を受けていない正確な値であると判断できるので、較正係数Ａを決定する（ステップ３４０肯定後のステップ３５０）。
【００４３】
一方、温間始動直後であったり、どのような始動状態であっても既に暖機運転が完了しているような場合は、冷間始動直後ほど吸入空気量が多くないので、ブローバイガスによる未燃燃料濃度（酸素濃度の低下分）を考慮して最終的な較正係数Ａを決定する。具体的には、今回算出された暫定較正係数αが前回算出時の暫定較正係数αである記憶値α0よりも大きいときは、前回算出時の較正係数α（=前回値α0）方がブローバイガスの影響を受けて酸素濃度を低く算出していたと判断し、今回算出された暫定較正係数αの方が正確であるとして、今回算出した暫定較正係数αを最終的な較正係数Ａとして更新する（ステップ３６０肯定後のステップ３５０）。
【００４４】
これとは反対に、今回算出された暫定較正係数αが記憶値α0以下であるときは、今回算出された暫定較正係数αの方がブローバイガスの影響を受けて酸素濃度を低く算出していると判断し、前回算出された較正係数α（=記憶値α0）の方が正確であるとして、今回算出された暫定較正係数αを採用せずに、記憶値α0を最終的な較正係数Ａとして更新する（ステップ３６０否定後のステップ３７０）。なお、今回算出された暫定較正係数αによって最終的な較正係数Ａが更新された場合は、次回の較正係数Ａの更新時に用いるために今回算出した暫定較正係数αを記憶値α0として記憶しておく（ステップ３８０）。
【００４５】
冷間始動直後ではなかったり、暖機運転が完了しているような場合に、記憶値α0よりも今回算出された暫定較正係数αが大きいときにのみ、今回算出された暫定較正係数αを最終的な較正係数Ａとして更新する理由について、以下にもう一度詳しく説明する。
【００４６】
今回算出された暫定較正係数αが、前回算出時の較正係数α（=記憶値α0）よりも大きいということは、基準出力値θに対して酸素濃度センサ１６の出力Sが大きくなったということである。これは、前回よりも酸素濃度の濃い吸入空気であった、即ち、今回の吸入空気は、ブローバイガス中の未燃燃料の影響を受けていない、前回よりもリーンな吸入空気であったためと考えることができる。このような場合には、今回の方が前回よりもブローバイガス中の未燃燃料の影響を受けない正確な算出ができたということであり、今回算出された暫定較正係数αを最終的な較正係数Ａとして更新する（ステップ３６０肯定後のステップ３５０）。
【００４７】
一方、今回算出された暫定較正係数αが、前回算出時の暫定較正係数α（=記憶値α0）以下であるということは、基準出力値θに対して酸素濃度センサ１６の出力Sが小さくなったということである。これは、前回よりも酸素濃度の薄い吸入空気であった、即ち、今回の吸入空気は、ブローバイガス中の未燃燃料の影響を受けている、前回よりもリッチな吸入空気であったためであると考えることができる。このような場合には、前回の方が今回よりもブローバイガス中の未燃燃料の影響を受けない正確な算出であったということであり、前回算出された暫定較正係数α（=記憶値α0）を最終的な較正係数Ａとして更新する（ステップ３６０否定後のステップ３７０）。
【００４８】
以下、ステップ３１０〜ステップ３８０について、各ステップ毎に詳しく説明する。まず、エンジン１を始動したときに記憶された始動時水温THWSが30℃未満であるか否か（ステップ３１０）、エンジン１を始動したときに記憶された始動時吸気温THASが30℃未満であるか否か（ステップ３２０）を判定することによって、冷間始動か否かを判定する。ステップ３１０及びステップ３２０の双方が成立するということは、冷間始動であると判断できる。
【００４９】
次に、始動時水温THWSと始動時吸気温THASとの差の絶対値が7℃未満であるか否かを判定する（ステップ３３０）。ステップ３３０では、エンジン１の始動前にエンジン１が運転されない状態で長時間放置されたか否かを判定している。エンジン１停止後の冷却水温THW、吸気温THA、及び、潤滑油温の時間に対する一般的な変化を図５に示す。図５から分かるように、エンジン１の停止後、吸気温THAは冷却水温THWや潤滑油温よりも早期に外気温となる。また、潤滑油温は、冷却水温THWや吸気温THAよりも温度が下がりにくい。
【００５０】
このため、始動時水温THWSと始動時吸気温THASとの差の絶対値が所定値（ここでは7℃に設定）未満であれば、ある程度のエンジン１が運転されない状態で長時間放置されたと判断することができる。なお、エンジン１の停止直後に再始動（温間始動）したときにも、始動時水温THWSと始動時吸気温THASとの差の絶対値が7℃未満となる場合はあり得る。しかし、このような場合はステップ３１０やステップ３２０によって既に除外されるので、ステップ３３０が肯定されれば長時間放置されていたと判断できる。
【００５１】
次いで、現在の冷却水温THWと始動時水温THWSとの差が20℃未満であるか否かを判定する（ステップ３４０）。現在の冷却水温THWと始動時水温THWSとの差が所定値（ここでは20℃に設定）未満であれば、エンジン１の始動後に冷却水の温度がまだ充分に上昇していない、即ち、暖機が完了していないと判定することができる。ステップ３１０〜ステップ３４０の全てが肯定されるようであれば、冷間始動直後のまだ暖機が完了していない状態であると判定できるので、今回算出された暫定較正係数αが最終的な較正係数Ａとして設定・記憶される（ステップ３５０）。
【００５２】
一方、ステップ３１０〜ステップ３４０のうちの一つでも否定されるような場合は、冷間始動直後の暖機未完了状態ではないということであるから、ブローバイガスの影響を考慮する。具体的には、上述したように、今回算出された暫定較正係数αが前回算出された暫定較正係数α（=記憶値α0）よりも大きい場合には前回よりもブローバイガスの影響を受けないで正確な暫定較正係数αを算出できたと判断することができる。そこで、今回算出された暫定較正係数αが記憶値α0よりも大きいか否かを判定し（ステップ３６０）、ステップ３６０が肯定される場合は、今回算出した暫定較正係数αが最終的な較正係数Ａとして設定・記憶される（ステップ３５０）。
【００５３】
今回算出された暫定較正係数αによって最終的な較正係数Ａが更新された場合は、この今回算出した暫定較正係数αを次回の較正係数Ａの更新時に用いるために記憶値α0として、ＥＣＵ３７のバックアップＲＡＭ内に保存する（ステップ３８０）。一方、ステップ３６０が否定されるような場合は、前回算出された暫定較正係数α（=記憶値α0）の方がブローバイガスの影響を受けない正確な算出であったとして、記憶値α0が最終的な較正係数Ａとして設定・記憶される（ステップ３７０）。
【００５４】
次いで、酸素濃度センサ１６の出力Sを決定された較正係数Ａを用いて実際に較正する。酸素濃度センサ１６の較正後の出力をSxとすれば、（酸素濃度センサ１６の較正後出力Sx）＝（較正前出力S）/（較正係数Ａ）となる（ステップ３９０）。このように較正された酸素濃度センサ１６の出力は、エンジン１の空燃比制御や燃料噴射量制御に用いられる。
【００５５】
なお、これまで、パージカット中における較正係数Ａの算出について述べてきたが、ステップ１５０が否定される場合、即ち、吸気通路４上への捕集燃料のパージが行われている場合は、酸素濃度センサ１６の出力Sが取り込まれ（ステップ１６０）、その後、ステップ３９０において同様にSx=S/Ａで酸素濃度センサ１６の出力が較正される。このときの較正係数Ａはその時点での最新の較正係数Ａが用いられる。
【００５６】
上述した酸素濃度センサ１６の較正方法は、吸気側の各種情報量を用いた較正方法であった。上述した方法のみでも良いが、本実施形態においては較正精度をさらに向上させるため、排気側の各種情報量を用いて更なる較正を行っている。具体的には、排気通路７上に配設された空燃比センサ２８を用いて、上述した図２及び図３に示されるフローチャートで設定された較正係数Ａを補正している。本制御のフローチャートを図６に示す。
【００５７】
なお、図２及び図３に示される制御は、捕集燃料のパージカット中に実行されて較正係数Ａが算出された。一方、図６に示される制御は、捕集燃料のパージ中の排気時に較正係数Ａを補正する。図６に示される制御はプログラムとしてＥＣＵ３７のＲＯＭ内に格納されており、所定時間（エンジン１の所定回転毎や数ミリ秒毎など）繰り返し実行される。
【００５８】
まず、捕集燃料のパージが行われているか否かを判定する（ステップ４００）。パージが実行されている間は、設定された較正係数Ａによって酸素濃度センサ１６の出力が較正されており、その較正された出力に基づいて燃料噴射制御（空燃比制御）などが実行されている。そこで、設定された較正係数Ａを用いた制御結果から、さらに較正係数Ａを補正し、較正精度をより一層向上させる。
【００５９】
ステップ４００が否定される場合、即ち、捕集燃料の吸気通路４上へのパージが実行されていない場合は、本制御による較正係数Ａの補正（排気空燃比によるばらつき補正学習）は行われず、補正学習判定フラグが0とされ（ステップ４１０）、図６に示す制御を一旦終了する。一方、ステップ４００が肯定される場合、即ち、捕集燃料の吸気通路４上へのパージが行われている場合は、上述した補正学習判定フラグが1であるか否かを判定する（ステップ４２０）。補正学習判定フラグが1に設定される場合については追って詳しく説明するが、検出された排気空燃比から判断して較正係数Ａを補正する必要がない場合に補正学習判定フラグが1に設定される。
【００６０】
ステップ４２０が肯定される場合は、本制御が少なくとも一回は既に実行され、補正学習判定フラグが1に設定されているので、較正係数Ａを補正する必要はないとして図６に示す制御を一旦終了する。ただし、捕集燃料のパージカットがあった場合などは、図６に示す制御が繰り返し実行される間にステップ４００において補正学習判定フラグが1から0に再設定される場合がある。このような場合は、補正学習判定フラグが1に設定された履歴があっても、ステップ４２０が否定されることになる。
【００６１】
ステップ４２０が否定された場合は、空燃比センサ２８として、リニア空燃比センサを用いているか否かを判定する（ステップ４３０）。上述したように、空燃比センサ２８としては、排気空燃比をリッチ域からリーン域にかけてリニアに検出し得るリニア空燃比センサや、排気空燃比がリッチ域にあるかリーン域にあるかをオン−オフ的に検出するO2センサ（酸素センサ）が用いられる。ステップ４３０では、このどちらが使用されているかを判定している。
【００６２】
図６に示される制御はプログラムとしてＥＣＵ３７内のＲＯＭに記憶されているが、このプログラムは空燃比センサ２８が上述したどちらのタイプでも対応できるように生成されている。このため、実際に実行される過程で、空燃比センサのタイプをこのステップ４３０で判別し、ステップ４３０以降では、それぞれの空燃比センサのタイプに合わせた制御が行われる。
【００６３】
まず、ステップ４３０が肯定される場合、即ち、空燃比センサ２８としてリニア空燃比センサが使用されている場合について説明する。この場合は、空燃比センサ２８を用いて現在の排気空燃比AFを取り込む（ステップ４４０）。空燃比センサ２８が複数ある場合は、点火時期から代表となるセンサを選択しても良いし、複数のセンサの平均値を取るなどしても良い。ついで、検出した排気空燃比AFから制御目標となっている目標空燃比AFrとの差分ΔAFを算出する（ステップ４５０）。次いで、この差分ΔAFが所定の範囲内（γ1＜ΔA/F＜γ2）にあるか否かを判定する（ステップ４６０）。ここで、γ1＜0，0＜γ2である。
【００６４】
ステップ４６０が肯定されるようであれば、酸素濃度センサ１６の出力は適正に較正されており、目標通りの排気空燃比が得られているとして、較正係数Ａを補正せずに上述した学習完了判定フラグを1に設定する（ステップ４７０）。さらに、ステップ４７０で学習完了判定フラグを1に設定した後、リーン運転時の捕集燃料のパージを許可する（ステップ４８０）。リーン運転時のパージは、このステップ４８０を経ることによって始めて許可される。図６に示される制御のステップ４００が肯定されるときは、エンジン１はストイキ領域かリッチ領域で運転されている。
【００６５】
本実施形態のエンジン１は、上述したように筒内噴射型のエンジンで、希薄燃焼が可能なものである。希薄燃焼時の空燃比は最大50近くにもなるので、吸入空気の酸素濃度検出精度が大変重要になる。そこで、図６に示される制御によって、学習完了判定フラグが1に設定されるような状況となるまでは、酸素濃度センサ１６の出力によって高精度な検出を行うことができない場合を考慮して、特にリーン運転時のパージを許可しないことしている。なお、ストイキ領域やリッチ領域でエンジン１が運転されているときであっても、酸素濃度センサ１６の出力には精度が求められるが、リーン境域で運転されている状態では、より一層高精度が必要となる。
【００６６】
一方、ステップ４６０が否定される場合は、検出された排気空燃比AFと目標空燃比AFrとの差が大きいということであり、酸素濃度センサ１６の出力が必ずしも適正に較正されていないと考えられる。この場合は、まず差分ΔAFが正であるか否か、即ち、検出された排気空燃比AFが目標空燃比AFrに対してリーン側であるか否かを判定する（ステップ４９０）。
【００６７】
ステップ４９０が肯定される場合、即ち、検出された排気空燃比AFが目標空燃比AFrよりもリーン側である場合は、酸素濃度センサ１６の出力が現状よりもリッチ側になるように較正係数Ａが補正される。酸素濃度センサ１６の出力がリッチ側（酸素濃度としては薄くなる側）となるように補正するということは、その出力を小さくする側に補正するということであり、較正係数Ａは小さくなるように補正される。ここでは、較正係数Ａは、所定の所定値X1だけ減じられて新たな較正係数Ａとして設定される（ステップ５００）。
【００６８】
一方、ステップ４９０が否定される場合、即ち、検出された排気空燃比AFが目標空燃比AFrよりもリッチ側である場合は、酸素濃度センサ１６の出力が現状よりもリーン側になるように較正係数Ａが補正される。酸素濃度センサ１６の出力がリーン側（酸素濃度としては濃くなる側）となるように補正するということは、その出力を大きくする側に補正するということであり、較正係数Ａは大きくなるように補正される。ここでは、較正係数Ａは、所定の所定値X2だけ増やされて新たな較正係数Ａとして設定される（ステップ５１０）。
【００６９】
上述したのは、空燃比センサ２８としてリニア空燃比センサが採用されている場合であった。以下には、空燃比センサ２８として、酸素センサが用いられている場合、即ち、ステップ４３０が否定される場合について説明する。この場合は、空燃比センサ２８の出力がオン−オフ的であるため、空燃比センサ２８の出力から現在の排気空燃比AFが目標空燃比AFrからどの程度ずれているかを検出することができない。そこで、このような場合は、空燃比フィードバック制御における空燃比フィードバック補正係数FAFを用いる。
【００７０】
空燃比フィードバック補正係数FAFを用いて較正係数Ａを補正する場合、空燃比フィードバック補正係数FAFが算出・更新中でなければ正確な補正は行えない。そこで、ステップ４３０が否定される場合は、まず空燃比フィードバック制御が実行中であるか否かを判定する（ステップ５２０）。ステップ５２０が否定される場合は、較正係数Ａの補正は行えないので、図６に示される制御を一旦終了する。ステップ５２０が肯定される場合は、空燃比フィードバック補正係数FAFが所定の範囲内（a1＜FAF＜a2）にあるか否かを判定する（ステップ５３０）。ここで、a1＜0，0＜b2である。空燃比フィードバック補正係数FAFは、通常目標とされるストイキ領域ではその値は0付近に維持される。
【００７１】
そこで、ステップ５３０が肯定されるようであれば、酸素濃度センサ１６の出力は適正に較正されており、目標通りの排気空燃比が得られているとして、較正係数Ａを補正せずに学習完了判定フラグを1に設定し（ステップ４７０）、リーン運転時の捕集燃料のパージを許可する（ステップ４８０）。一方、ステップ５３０が否定される場合は、酸素濃度センサ１６の出力が必ずしも適正に較正されていないと考えられる。この場合は、まず空燃比フィードバック補正係数FAFが正であるか否かを判定する（ステップ５４０）。空燃比フィードバック補正係数FAFが正であるということは、排気空燃比がリーン側であることを示している。排気空燃比がリーン側であるときに、これを徐々にリッチ側に移行させている間に空燃比フィードバック補正係数FAFは正の値をとる。
【００７２】
そこで、ステップ５４０が肯定される場合、即ち、空燃比センサ２８の出力から排気空燃比A/Fが目標となるストイキ領域よりもリーン側であることを示している場合は、酸素濃度センサ１６の出力がリーン寄りであると思われるので、その出力が現状よりもリッチ側となるように較正係数Ａが補正される。酸素濃度センサ１６の出力がリッチ側（酸素濃度としては薄くなる側）となるように補正するということは、その出力を小さくする側に補正するということであり、較正係数Ａは小さくなるように補正される。ここでは、較正係数Ａは、所定の所定値X1だけ減じられて新たな較正係数Ａとして設定される（ステップ５５０）。
【００７３】
一方、ステップ５３０が否定される場合、即ち、空燃比センサ２８の出力から排気空燃比AFが目標となるストイキ領域よりもリッチ側であることを示している場合は、酸素濃度センサ１６の出力がリッチ寄りであると思われるので、その出力が現状よりもリーン側になるように較正係数Ａが補正される。酸素濃度センサ１６の出力がリーン側（酸素濃度としては濃くなる側）となるように補正するということは、その出力を大きくする側に補正するということであり、較正係数Ａは大きくなるように補正される。ここでは、較正係数Ａは、所定の所定値X2だけ増やされて新たな較正係数Ａとして設定される（ステップ５６０）。
【００７４】
また、本実施形態の較正装置は、酸素濃度センサ１６の出力較正だけでなく、故障も検出する。この制御のフローチャートを図７に示す。故障診断は、まず図２及び図３に示される制御設定・記憶された較正係数Ａを取り込む（ステップ６００）。あるいは、暫定較正係数αや記憶値α0を用いてもよい。そして、この較正係数Ａが所定の範囲内（Y1＜Ａ＜Y2）にあるか否かを判定する（ステップ６１０）。
【００７５】
上述したように、較正係数Ａには、マップとしてＥＣＵ３７内に格納された基準出力値θに対して、実際の酸素濃度センサ１６の出力がどの程度乖離しているかが反映されることになる。このため、この基準からの乖離があまりにも顕著である場合は、酸素濃度センサ１６が故障していると判断することができる。そこで、ステップ６１０において所定の範囲内であれば正常と判断し（ステップ６２０）、範囲外であれば異常と判断する（ステップ６３０）。
【００７６】
なお、上述した実施形態において、バキュームセンサ１５は吸気通路４内の吸気通路内圧力を検出する吸気通路内圧力検出手段として機能している。また、ＥＣＵ３７は、安定状態検出手段、較正係数検出手段、較正手段として機能している。
【００７７】
【発明の効果】
請求項１に記載の発明によれば、吸気通路内圧力検出手段によって検出された吸気通路内圧力が小さい領域では安定状態判定基準値を小さく（吸気通路内圧力が大きい領域では安定状態判定基準値を大きく）設定する。これによって、酸素濃度センサの出力に基づいて較正係数を算出する際に、吸気通路内圧力が安定状態にあるかどうか、即ち、酸素濃度センサの応答遅れなどによる誤差の影響を受けにくくすることができる状態にあるかを的確に判定することができる。そして、吸気通路内圧力が安定状態にあるとき（酸素濃度センサ１６の応答遅れなどによる誤差の影響を受けにくいとき）に較正手段によって酸素濃度センサの出力を較正することによって、精度の良い検出結果を得ることができる。
【図面の簡単な説明】
【図１】本発明の吸気酸素濃度センサ較正装置の一実施形態を有する内燃機関を示す断面図である。
【図２】較正係数を算出して酸素濃度センサ出力を較正する制御のフローチャート（前半部）である。
【図３】較正係数を算出して酸素濃度センサ出力を較正する制御のフローチャート（前半部）である。
【図４】吸気通路内圧力と安定状態判定基準値との関係を示すマップである。
【図５】エンジン停止後の吸気温THA、冷却水温THW及び油温の一般的な時間経過に伴う変化を示すグラフである。
【図６】空燃比センサの出力に基づく較正係数の補正制御のフローチャートである。
【図７】酸素濃度センサの故障判定制御のフローチャートである。
【符号の説明】
１…エンジン（内燃機関）、４…吸気通路、７…排気通路、１３…バキュームセンサ（吸気通路内圧力検出手段）、１６…酸素濃度センサ、２０…上流側空燃比センサ、２８…空燃比センサ、３４…チャコールキャニスタ、３５…パージコントロールバルブ、３７…ＥＣＵ（較正係数算出手段、較正手段、安定状態判定手段）。
【図１】
0003624806.tif 000002
【図２】
0003624806.tif 000003
【図３】
0003624806.tif 000004
【図４】
0003624806.tif 000005
【図５】
0003624806.tif 000006
【図６】
0003624806.tif 000007
【図７】
0003624806.tif 000008