(57)【要約】【課題】無駄時間と応答時間のリッチ方向／リーン方向の非対称劣化による空燃比制御精度の悪化を比較的簡単な構成で低減できるようにする。【解決手段】エンジンに噴射する燃料量（空燃比）を変化させてから空燃比センサの出力が変化するまでの無駄時間と空燃比センサの応答時間について、それぞれリッチ方向とリーン方向の劣化度合を検出して、前記各方向の無駄時間の劣化度合のうちの大きい方と、前記各方向の応答時間の劣化度合のうちの大きい方とに基づいて、ハンチングとオーバーシュートの両方を抑制するのに適した代表劣化特性値を算出する。そして、この代表劣化特性値に基づいて空燃比フィードバック制御系の制御特性（例えば、制御ゲイン、制御周期、空燃比補正係数の制限値）を変更する。【選択図】図２
2009257225.tif 000002
【特許請求の範囲】
【請求項１】
内燃機関の排出ガスの空燃比を検出する空燃比センサの検出値に基づいて内燃機関に噴射する燃料量をフィードバック制御する空燃比フィードバック制御系と、
内燃機関に噴射した燃料量の変化が前記空燃比センサの出力の変化として現れるまでの無駄時間を、空燃比の変化方向がリッチ方向の無駄時間とリーン方向の無駄時間とに分けて検出する無駄時間検出手段と、
前記空燃比センサの応答時間を空燃比の変化方向がリッチ方向の応答時間とリーン方向の応答時間とに分けて検出する応答時間検出手段と、
前記無駄時間検出手段及び前記応答時間検出手段で検出した前記各方向の無駄時間及び前記各方向の応答時間と前記フィードバック制御の初期設定に用いられた各々の初期値との比に基づいて前記各方向の無駄時間の劣化度合及び前記各方向の応答時間の劣化度合をそれぞれ算出する劣化度合算出手段と、
前記劣化度合算出手段で算出した前記各方向の無駄時間の劣化度合及び前記各方向の応答時間の劣化度合に基づいて代表劣化特性値を算出する代表劣化特性値算出手段と、
前記劣化特性値算出手段で算出した前記代表劣化特性値に基づいて前記空燃比フィードバック制御系の制御特性を変更する制御特性変更手段と
を備えていることを特徴とする内燃機関の空燃比制御装置。
【請求項２】
前記代表劣化特性値算出手段は、前記各方向の無駄時間の劣化度合のうちの大きい方と、前記各方向の応答時間の劣化度合のうちの大きい方とに基づいて代表劣化特性値を算出することを特徴とする請求項１に記載の内燃機関の空燃比制御装置。
【請求項３】
内燃機関の排出ガスの空燃比を検出する空燃比センサの検出値に基づいて内燃機関に噴射する燃料量をフィードバック制御する空燃比フィードバック制御系と、
内燃機関に噴射した燃料量の変化が前記空燃比センサの出力の変化として現れるまでの無駄時間を、空燃比の変化方向がリッチ方向の無駄時間とリーン方向の無駄時間とに分けて検出する無駄時間検出手段と、
前記無駄時間検出手段で検出した各方向の無駄時間と前記フィードバック制御の初期設定に用いられた各々の初期値との比に基づいて前記各方向の無駄時間の劣化度合をそれぞれ算出する劣化度合算出手段と、
前記劣化度合算出手段で算出した前記各方向の無駄時間の劣化度合のうちの大きい方に基づいて代表劣化特性値を算出する代表劣化特性値算出手段と、
前記代表劣化特性値算出手段で算出した前記代表劣化特性値に基づいて前記空燃比フィードバック制御系の制御特性を変更する制御特性変更手段と
を備えていることを特徴とする内燃機関の空燃比制御装置。
【請求項４】
前記制御特性変更手段は、前記代表劣化特性値に基づいて前記空燃比フィードバック制御系の制御ゲインを変更することを特徴とする請求項１乃至３のいずれかに記載の内燃機関の空燃比制御装置。
【請求項５】
前記制御特性変更手段は、前記代表劣化特性値に基づいて前記空燃比フィードバック制御系の制御周期を変更することを特徴とする請求項１乃至４のいずれかに記載の内燃機関の空燃比制御装置。
【請求項６】
前記制御特性変更手段は、前記代表劣化特性値に基づいて前記空燃比フィードバック制御系のフィードバック補正量の制限値を変更することを特徴とする請求項１乃至５のいずれかに記載の内燃機関の空燃比制御装置。
【請求項７】
内燃機関の排出ガスの空燃比を検出する空燃比センサの検出値に基づいて内燃機関に噴射する燃料量をフィードバック制御する空燃比フィードバック制御系と、
内燃機関に噴射した燃料量の変化が前記空燃比センサの出力の変化として現れるまでの無駄時間を、空燃比の変化方向がリッチ方向の無駄時間とリーン方向の無駄時間とに分けて検出する無駄時間検出手段と、
前記空燃比センサの応答時間を空燃比の変化方向がリッチ方向の応答時間とリーン方向の応答時間とに分けて検出する応答時間検出手段と、
前記無駄時間検出手段及び前記応答時間検出手段で検出した前記各方向の無駄時間及び前記各方向の応答時間と前記フィードバック制御の初期設定に用いられた各々の初期値との比に基づいて前記各方向の無駄時間の劣化度合及び前記各方向の応答時間の劣化度合をそれぞれ算出する劣化度合算出手段と、
前記劣化度合算出手段で算出した前記各方向の無駄時間の劣化度合及び前記各方向の応答時間の劣化度合に基づいて前記空燃比フィードバック制御系のフィードバック補正量の制限値を補正する制御特性変更手段と
を備えていることを特徴とする内燃機関の空燃比制御装置。
【請求項８】
前記制御特性変更手段は、前記各方向の応答時間の劣化度合のうちの大きい方と前記各方向の無駄時間の劣化度合のうちの大きい方との比又は差に基づいて前記空燃比フィードバック制御系のフィードバック補正量の制限値を補正することを特徴とする請求項７に記載の内燃機関の空燃比制御装置。
【請求項９】
前記制御特性変更手段は、前記リッチ方向の応答時間の劣化度合と前記リッチ方向及びリーン方向の無駄時間の劣化度合のうちの大きい方との比又は差に基づいて前記フィードバック補正量のリッチ側の制限値を補正し、前記リーン方向の応答時間の劣化度合と前記リッチ方向及びリーン方向の無駄時間の劣化度合のうちの大きい方との比又は差とに基づいて前記フィードバック補正量のリーン側の制限値を補正することを特徴とする請求項７に記載の内燃機関の空燃比制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、内燃機関の排出ガスの空燃比を検出する空燃比センサの検出値に基づいて内燃機関に噴射する燃料量をフィードバック制御する内燃機関の空燃比制御装置に関する発明である。
【背景技術】
【０００２】
近年の電子制御化された自動車は、内燃機関（エンジン）の排出ガスの空燃比を検出する空燃比センサを排気管に設置し、この空燃比センサの出力に基づいて排出ガスの空燃比を目標空燃比付近に維持するように内燃機関に噴射する燃料量（混合気の空燃比）をフィードバック制御することで、排気エミッションや燃費を向上させるようにしている。このような空燃比フィードバック制御系は、排出ガスの空燃比を検出する空燃比センサの応答特性が劣化すると、空燃比制御精度が悪化し、排気エミッション等の悪化に繋がってしまう。
【０００３】
この対策として、特許文献１（特許第３５８１７３７号公報）に記載されているように、フィードバック制御に用いる適応パラメータに基づいて空燃比センサの応答特性の劣化の有無を判定し、その結果、空燃比センサの応答特性の劣化が検出されたときに、フィードバック制御のゲインを小さくするようにしたものがある。
【特許文献１】特許第３５８１７３７号公報（第１４頁等参照）
【特許文献２】特開２００７−１８７１２９号公報（第２頁等参照）
【発明の開示】
【発明が解決しようとする課題】
【０００４】
一般に、空燃比フィードバック制御系は、エンジンに噴射する燃料量を変化させてから空燃比センサの出力が変化するまでの制御対象の動特性を、無駄時間＋１次遅れ特性（応答時間）でモデル化して設計されている。将来、益々厳しくなる排出ガス規制（低エミッション化の要求）に対応するには、無駄時間の劣化や応答時間の劣化による空燃比制御精度の悪化を低減する必要が生じてきている。
【０００５】
図２に示すように、無駄時間と応答時間は、空燃比がリッチ方向に変化する場合とリーン方向に変化する場合のいずれの方向でも検出できるが、無駄時間の劣化と応答時間の劣化は、それぞれリッチ方向とリーン方向とで別々に発生し、リッチ方向とリーン方向のいずれか一方が他方よりも先に劣化が進む“非対称劣化”が発生することがある。このため、上記特許文献１のように、空燃比センサの応答特性の劣化が検出されたときにフィードバック制御のゲインを小さくするだけでは、無駄時間や応答時間のリッチ方向／リーン方向の非対称劣化に対応したフィードバック制御を行うことは困難であり、無駄時間や応答時間のリッチ方向／リーン方向の非対称劣化による排気エミッションの悪化を十分に低減することは困難である。
【０００６】
また、無駄時間や応答時間のリッチ方向／リーン方向の非対称劣化の問題に関して、特許文献２（特開２００７−１８７１２９号公報）に記載されているように、無駄時間と応答時間をリッチ方向とリーン方向とでそれぞれ別々に検出し、リッチ方向の検出値とリーン方向の検出値をそれぞれ平均化して基準値と比較することで空燃比センサの劣化を検出するようにしたものがある。
【０００７】
しかし、この特許文献２の技術は、空燃比センサのリッチ方向／リーン方向の非対称劣化を検出して空燃比センサの劣化診断を行うだけであり、その非対称劣化の検出結果を空燃比フィードバック制御に反映させる機能がないため、非対称劣化による空燃比制御精度の悪化を低減することはできない。要するに、従来の技術では、無駄時間と応答時間に関する４つの劣化要素の全てに独立して対応できる制御系構造とすることが困難であったり、非常に複雑な構成になると考えられていた。
【０００８】
本発明はこのような事情を考慮してなされたものであり、従ってその目的は、無駄時間と応答時間のリッチ方向／リーン方向の非対称劣化による空燃比制御精度の悪化を比較的簡単な構成で低減することができる内燃機関の空燃比制御装置を提供することにある。
【課題を解決するための手段】
【０００９】
上記目的を達成するために、請求項１に係る発明は、
［Ａ］内燃機関の排出ガスの空燃比を検出する空燃比センサの検出値に基づいて内燃機関に噴射する燃料量をフィードバック制御する空燃比フィードバック制御系と、
［Ｂ］内燃機関に噴射した燃料量の変化が前記空燃比センサの出力の変化として現れるまでの無駄時間を、空燃比の変化方向がリッチ方向の無駄時間とリーン方向の無駄時間とに分けて検出する無駄時間検出手段と、
［Ｃ］前記空燃比センサの応答時間を空燃比の変化方向がリッチ方向の応答時間とリーン方向の応答時間とに分けて検出する応答時間検出手段と、
［Ｄ］前記無駄時間検出手段及び前記応答時間検出手段で検出した前記各方向の無駄時間及び前記各方向の応答時間と前記フィードバック制御の初期設定に用いられた各々の初期値との比に基づいて前記各方向の無駄時間の劣化度合及び前記各方向の応答時間の劣化度合をそれぞれ算出する劣化度合算出手段と、
［Ｅ］前記劣化度合算出手段で算出した前記各方向の無駄時間の劣化度合及び前記各方向の応答時間の劣化度合に基づいて代表劣化特性値を算出する代表劣化特性値算出手段と、
［Ｆ］前記代表劣化特性値算出手段で算出した前記代表劣化特性値に基づいて前記空燃比フィードバック制御系の制御特性を変更する制御特性変更手段とを備えた構成としたものである。
【００１０】
本発明者の実験・研究結果によれば、無駄時間のリッチ方向の劣化度合とリーン方向の劣化度合のうち、小さい方の劣化度合に合わせて空燃比フィードバック制御系の制御特性を設定すると、ハンチング（発散）が発生しやすくなることが判明している。一方、無駄時間の大きい方の劣化度合に合わせて空燃比フィードバック制御系の制御特性を設定すれば、ハンチングを防止できるが、この場合でも、無駄時間の劣化度合と応答時間の劣化度合との差が大きくなると、オーバーシュートが発生しやすくなることが判明している。
【００１１】
そこで、本発明は、無駄時間と応答時間について、それぞれリッチ方向とリーン方向の劣化度合を検出して、これら４つの劣化度合に基づいて、ハンチングとオーバーシュートの両方を抑制するのに適した代表劣化特性値を算出し、この代表劣化特性値に基づいて空燃比フィードバック制御系の制御特性を変更するようにしたものである。このようにすれば、無駄時間と応答時間のリッチ方向／リーン方向の非対称劣化による空燃比制御精度の悪化（ハンチングやオーバーシュートの発生）を比較的簡単な構成で低減することができて、非対称劣化による排気エミッションの悪化を低減することができる。
【００１２】
具体的には、請求項２のように、各方向の無駄時間の劣化度合のうちの大きい方と、各方向の応答時間の劣化度合のうちの大きい方とに基づいて代表劣化特性値を算出するようにしても良い。このようにすれば、無駄時間と応答時間の両方とも、劣化度合が大きい方を基準にして代表劣化特性値を算出できるため、ハンチングとオーバーシュートの両方をより確実に抑制することができる。
【００１３】
尚、本発明は、応答時間の劣化度合を検出せずに、請求項３のように、無駄時間のみについてリッチ方向とリーン方向の劣化度合を検出して、各方向の無駄時間の劣化度合のうちの大きい方のみに基づいて代表劣化特性値を算出するようにしても良い。このようにしても、無駄時間のリッチ方向／リーン方向の非対称劣化に起因する空燃比フィードバック制御系のハンチングを防止できる。
【００１４】
代表劣化特性値に基づいて変更する空燃比フィードバック制御系の制御特性は、例えば、制御ゲイン（請求項４）、制御周期（請求項５）、フィードバック補正量の制限値（請求項６）等の少なくとも１つとすれば良い。一般に、代表劣化特性値の劣化度合が大きくなるほど、制御ゲインを小さくして、ハンチングとオーバーシュートに対する抑制効果を高めるようにすれば良い。制御周期を長くすれば、実質的に制御ゲインを小さくするのと同様の効果が得られる。代表劣化特性値の劣化度合が大きくなるほど、フィードバック補正量の制限値（ガード値）を狭くすれば、オーバーシュートに対する抑制効果を高めることができる。制御ゲイン、制御周期、フィードバック補正量の制限値のいずれを変更する場合でも、比較的簡単な処理で空燃比フィードバック制御系の制御特性を変更することができ、ソフトウエアの複雑化やデータ量膨大化を回避することができる。
【００１５】
尚、フィードバック補正量の制限値を補正する場合は、代表劣化特性値を用いずに、請求項７のように、各方向の無駄時間の劣化度合及び前記各方向の応答時間の劣化度合に基づいてフィードバック補正量の制限値を補正するようにしても良い。
【００１６】
この場合、請求項８のように、各方向の応答時間の劣化度合のうちの大きい方と各方向の無駄時間の劣化度合のうちの大きい方との比又は差に基づいてフィードバック補正量の制限値を補正するようにしても良い。このようにすれば、無駄時間の劣化度合と応答時間の劣化度合との差が大きくなるほど、フィードバック補正量の制限値（ガード値）を狭くするという制御が可能となり、オーバーシュートを効果的に防止することができる。
【００１７】
或は、請求項９のように、リッチ方向の応答時間の劣化度合とリッチ方向及びリーン方向の無駄時間の劣化度合のうちの大きい方との比又は差に基づいてフィードバック補正量のリッチ側の制限値を補正し、リーン方向の応答時間の劣化度合と前記リッチ方向及びリーン方向の無駄時間の劣化度合のうちの大きい方との比又は差とに基づいてフィードバック補正量のリーン側の制限値を補正するようにしても良い。このようにすれば、フィードバック補正量の制限値を、リッチ側とリーン側とでそれぞれ最適な制限値に設定することができ、リッチ方向／リーン方向の非対称劣化による空燃比制御精度の悪化をより確実に防止することができる。
【発明を実施するための最良の形態】
【００１８】
以下、本発明を実施するための最良の形態を具体化した４つの実施例１〜４を説明する。
【実施例１】
【００１９】
本発明の実施例１を図１乃至図１７に基づいて説明する。
まず、図１に基づいてエンジン制御システム全体の概略構成を説明する。
内燃機関であるエンジン１１の吸気管１２の最上流部には、エアクリーナ１３が設けられ、このエアクリーナ１３の下流側に、吸入空気量を検出するエアフローメータ１４が設けられている。このエアフローメータ１４の下流側には、モータ１０によって開度調節されるスロットルバルブ１５とスロットル開度を検出するスロットル開度センサ１６とが設けられている。
【００２０】
更に、スロットルバルブ１５の下流側には、サージタンク１７が設けられ、このサージタンク１７には、吸気管圧力を検出する吸気管圧力センサ１８が設けられている。また、サージタンク１７には、エンジン１１の各気筒に空気を導入する吸気マニホールド１９が設けられ、各気筒の吸気マニホールド１９の吸気ポート近傍に、それぞれ燃料を噴射する燃料噴射弁２０が取り付けられている。また、エンジン１１のシリンダヘッドには、各気筒毎に点火プラグ２１が取り付けられ、各点火プラグ２１の火花放電によって筒内の混合気に着火される。
【００２１】
また、エンジン１１の吸気バルブ２８には、該吸気バルブ２８の開閉タイミング（吸気バルブタイミング）を可変する可変吸気バルブタイミング機構２９が設けられ、排気バルブ３０には、該排気バルブ３０の開閉タイミング（排気バルブタイミング）を可変する可変排気バルブタイミング機構３１が設けられている。
【００２２】
一方、エンジン１１の排気管２２には、排出ガス中のＣＯ，ＨＣ，ＮＯｘ等を浄化する三元触媒等の触媒２３が設けられ、この触媒２３の上流側に、排出ガスの空燃比を検出する空燃比センサ２４が設けられている。
【００２３】
また、エンジン１１のシリンダブロックには、冷却水温を検出する冷却水温センサ２５や、エンジン１１のクランク軸が一定クランク角回転する毎にパルス信号を出力するクランク角センサ２６が取り付けられている。このクランク角センサ２６の出力信号に基づいてクランク角やエンジン回転速度が検出される。
【００２４】
これら各種センサの出力は、エンジン制御回路（以下「ＥＣＵ」と表記する）２７に入力される。このＥＣＵ２７は、マイクロコンピュータを主体として構成され、内蔵されたＲＯＭ（記憶媒体）に記憶された各種のエンジン制御プログラムを実行することで、空燃比センサ２４で検出した排出ガスの空燃比を目標空燃比に一致させるように状態フィードバックを実行して空燃比補正係数ＦＡＦ（フィードバック補正量）を算出して、エンジン１１に噴射する燃料量（混合気の空燃比）をフィードバック制御する空燃比フィードバック制御を実行する。
【００２５】
この空燃比フィードバック制御系は、エンジン１１に噴射する燃料量を変化させてから空燃比センサ２４の出力が変化するまでの制御対象の動特性を無駄時間＋１次遅れ特性で表現してモデル化して設計されている。尚、この制御対象の動特性を無駄時間＋２次遅れ特性でモデル化しても良く、要は、無駄時間＋ｎ次遅れ特性（ｎは正の整数）でモデル化すれば良い。
【００２６】
一般に、状態フィードバックの制御パラメータＦ１〜Ｆd+1 ，Ｆ０に基づいて空燃比補正係数ＦＡＦ(i) を算出する場合は、次式が用いられることが多い。
ＦＡＦ(i) ＝Ｆ１・λ(i) ＋Ｆ２・ＦＡＦ(i-1) ＋Ｆ３・ＦＡＦ(i-2) ＋…
…＋Ｆd+1 ・ＦＡＦ(i-d) ＋Ｆ０・Σ（λref −λ(i) ）
【００２７】
ここで、λ(i) は現在の空燃比（空気過剰率）、ＦＡＦ(i-1) 〜ＦＡＦ(i-d) は過去の空燃比補正係数、λref は目標空燃比（目標空気過剰率）である。ｄは、検出した無駄時間Ｌ（ｓｅｃ）を演算間隔（噴射間隔ｄｔ）で割り算した値の小数点以下を切り捨てて整数化した無駄時間である。
【００２８】
この空燃比補正係数の演算方法では、制御パラメータＦ１〜Ｆd+1 ，Ｆ０を運転条件等に応じて切り換えると、その瞬間に、空燃比補正係数ＦＡＦが一時的に乱れ、その結果、空燃比λが一時的に乱れる現象が発生する可能性がある。
【００２９】
そこで、本実施例１では、今回の空燃比補正係数補正値ΔＦＡＦ(i) を算出して、今回の空燃比補正係数補正値ΔＦＡＦ(i) を前回の空燃比補正係数ＦＡＦ(i-1) に加算して今回の空燃比補正係数ＦＡＦ(i) を求めるようにしている。
ＦＡＦ(i) ＝ＦＡＦ(i-1) ＋ΔＦＡＦ(i)
【００３０】
今回の空燃比補正係数補正値ΔＦＡＦ(i) は、次式により算出する。
ΔＦＡＦ(i) ＝Ｆ１・Δφ(i) ＋Ｆ２・ΔＦＡＦ(i-1) ＋…
…＋Ｆd+1 ・ΔＦＡＦ(i-d) ＋Ｆd+2 ・ΔＦＡＦ(i-d-1)
＋Ｆ０・（φref −φ(i) ）
＝Ｆ１・Δφ(i) ＋Ｆ２・｛ＦＡＦ(i-1) −ＦＡＦ(i-2) ｝＋…
…＋Ｆd+2 ・｛ＦＡＦ(i-d-1) −ＦＡＦ(i-d-2) ｝
＋Ｆ０・（φref −φ(i) ）
【００３１】
ここで、Δφ(i) は燃料過剰率の変化量、つまりΔφ(i) ＝φ(i) −φ(i-1) である。また、ΔＦＡＦ(i-1) 〜ΔＦＡＦ(i-d-1) は過去の空燃比補正係数補正値であり、φref は目標燃料過剰率である。尚、上式では、空燃比の代用情報として燃料過剰率φを用いたが、空気過剰率λを用いても良いことは言うまでもない。
【００３２】
上式を用いて空燃比補正係数ＦＡＦを演算するようにすれば、状態フィードバックの制御パラメータＦ１〜Ｆd+2 ，Ｆ０を運転条件等に応じて切り換えても、空燃比補正係数ＦＡＦが乱れることがなくなり、空燃比が乱れる現象が発生しなくなる。これにより、制御パラメータＦ１〜Ｆd+2 ，Ｆ０を運転条件等に応じて切り換えながら、安定した空燃比制御を行うことが可能となる。
【００３３】
ところで、将来、益々厳しくなる排出ガス規制（低エミッション化の要求）に対応するには、無駄時間の劣化や応答時間の劣化による空燃比制御精度の悪化を低減する必要が生じてきている。
【００３４】
図２に示すように、エンジン１１に噴射する燃料量（空燃比）を変化させてから空燃比センサ２４の出力が変化するまでの無駄時間と空燃比センサ２４の応答時間は、空燃比がリッチ方向に変化する場合とリーン方向に変化する場合のいずれの方向でも検出できるが、無駄時間の劣化と応答時間の劣化は、それぞれリッチ方向とリーン方向とで別々に発生し、リッチ方向とリーン方向のいずれか一方が他方よりも先に劣化が進む“非対称劣化”が発生することがある。
【００３５】
本実施例１では、図２に示すように、リーン方向の無駄時間の初期値（設計値）をＬL0、リッチ方向の無駄時間の初期値（設計値）をＬR0、リーン方向の応答時間の初期値（設計値）をＴL0、リッチ方向の応答時間の初期値（設計値）をＴR0とする。そして、劣化時（検出時）のリーン方向の無駄時間をＬL 、リッチ方向の無駄時間をＬR 、リーン方向の応答時間をＴL 、リッチ方向の応答時間をＴR とする。ここで、応答時間は、空燃比センサ２４の出力が空燃比変化前の定常値から空燃比変化後の定常値に変化（収束）するまでの出力変化量の所定割合（例えば６３％）を越えるまでの時間である。
【００３６】
無駄時間や応答時間のリッチ方向／リーン方向の非対称劣化が進むと、空燃比フィードバック制御系の制御状態がハンチング（発散）したり、オーバーシュートが発生しやすくなり、排気エミッションが悪化する。本発明者の実験・研究結果によれば、無駄時間のリッチ方向の劣化度合とリーン方向の劣化度合のうち、小さい方の劣化度合に合わせて空燃比フィードバック制御系の制御特性を設定すると、ハンチング（発散）が発生しやすくなることが判明している。一方、無駄時間の大きい方の劣化度合に合わせて空燃比フィードバック制御系の制御特性を設定すれば、ハンチングを防止できるが、この場合でも、無駄時間の劣化度合と応答時間の劣化度合との差が大きくなると、オーバーシュートが発生しやすくなることが判明している。
【００３７】
そこで、本実施例１では、無駄時間と応答時間について、それぞれリッチ方向とリーン方向の劣化度合を検出して、これら４つの劣化度合に基づいて、ハンチングとオーバーシュートの両方を抑制するのに適した代表劣化特性値Ｄを算出し、この代表劣化特性値Ｄに基づいて空燃比フィードバック制御系の制御特性を変更するようにしている。本実施例１では、空燃比フィードバック制御系の制御特性の変更を、制御ゲイン（固有角周波数ω）の変更によって行うようにしている。
【００３８】
この場合、リーン方向の無駄時間の劣化度合ＤＬL は、検出時（制御時）のリーン方向の無駄時間ＬL とその初期値ＬL0との比で算出され、リッチ方向の無駄時間の劣化度合ＤＬR は、検出時（制御時）のリッチ方向の無駄時間ＬR とその初期値ＬR0との比で算出される。
リーン方向の無駄時間の劣化度合：ＤＬL ＝ＬL ／ＬL0
リッチ方向の無駄時間の劣化度合：ＤＬR ＝ＬR ／ＬR0
【００３９】
また、リーン方向の応答時間の劣化度合ＤＴL は、検出時（制御時）のリーン方向の応答時間ＴL とその初期値ＴL0との比で算出され、リッチ方向の応答時間の劣化度合ＤＴR は、検出時（制御時）のリッチ方向の応答時間ＴR とその初期値ＴR0との比で算出される。
リーン方向の応答時間の劣化度合：ＤＴL ＝ＴL ／ＴL0
リッチ方向の応答時間の劣化度合：ＤＴR ＝ＴR ／ＴR0
【００４０】
本実施例１では、各方向の無駄時間の劣化度合ＤＬL ，ＤＬR のうちの大きい方を代表無駄時間劣化度合ＤＬとすると共に、各方向の応答時間の劣化度合ＤＴL ，ＤＴR のうちの大きい方を代表応答時間劣化度合ＤＴとし、これら代表無駄時間劣化度合ＤＬと代表応答時間劣化度合ＤＴと代表劣化特性値算出係数αとに基づいて代表劣化特性値Ｄを次式により算出する。
Ｄ＝α・ＤＬ＋（１−α）・ＤＴ
【００４１】
ここで、代表劣化特性値算出係数αは、後述する図１２に示すように、代表無駄時間劣化度合ＤＬと代表応答時間劣化度合ＤＴとをパラメータとするマップにより算出される。
α＝Ｍａｐ（ＤＬ，ＤＴ）
［０≦α≦１］
そして、本実施例１では、上式で算出した代表劣化特性値Ｄを用いて空燃比フィードバック制御系の制御ゲイン（固有角周波数ω）を変更する。
【００４２】
更に、本実施例１では、代表応答時間劣化度合ＤＴと代表無駄時間劣化度合ＤＬとの比ＤＴ／ＤＬに基づいて、空燃比フィードバック制御系のフィードバック補正量である空燃比補正係数ＦＡＦに対するリッチ側制限値ＦＡＦＧＲとリーン側制限値ＦＡＦＧＬを次式により算出する。
ＦＡＦＧＲ＝ＣＦＡＦＧ・ＦＡＦＧＲ０
ＦＡＦＧＬ＝ＣＦＡＦＧ・ＦＡＦＧＬ０
【００４３】
ここで、ＣＦＡＦＧは、図１７の制限値補正係数算出マップを検索して、ＤＴ／ＤＬに応じて算出される制限値補正係数である。ＦＡＦＧＲ０はリッチ側制限値の初期値、ＦＡＦＧＬ０はリーン側制限値の初期値である。このように、代表応答時間劣化度合ＤＴと代表無駄時間劣化度合ＤＬとの比ＤＴ／ＤＬに基づいて空燃比補正係数ＦＡＦのリッチ側制限値ＦＡＦＧＲとリーン側制限値ＦＡＦＧＬを補正すれば、代表応答時間劣化度合ＤＴと代表無駄時間劣化度合ＤＬとの差が大きくなるほど、空燃比補正係数ＦＡＦのリッチ側制限値ＦＡＦＧＲとリーン側制限値ＦＡＦＧＬとの間の幅を狭くするという制御が可能となり、オーバーシュートを効果的に防止することができる。
【００４４】
以上説明した本実施例１の空燃比フィードバック制御系の構成は、図３に機能ブロック図で示されている。この空燃比フィードバック制御系の各機能は、ＥＣＵ２７が実行する図４乃至図１６の各プログラムによって実現される。以下、これら各プログラムの処理内容を説明する。
【００４５】
［燃料噴射量演算プログラム］
図４の燃料噴射量演算プログラムは、各気筒の噴射タイミングに同期して起動され、次のようにして燃料噴射量ＴＡＵを算出する。まず、ステップ３０１で、現在のエンジン運転状態に応じてマップ等により基本噴射量Ｔｐを算出する。この後、ステップ３０２に進み、基本噴射量Ｔｐに対する各種の補正係数ＦＡＬＬ（例えば冷却水温による補正係数、加減速時の補正係数等）を算出し、次のステップ３０３で、空燃比フィードバック条件が成立しているか否かを判定する。もし、空燃比フィードバック条件が成立していなければ、空燃比補正係数ＦＡＦを「１」にセットして、オープンループ制御により空燃比を制御する。
【００４６】
一方、空燃比フィードバック条件が成立していれば、ステップ３０５に進み、排出ガスの空燃比を触媒２３の浄化ウインドウ（理論空燃比付近）内に収めるように目標燃料過剰率φref を設定し、次のステップ３０６で、後述する図１５及び図１６のＦＡＦ演算プログラムを実行して空燃比補正係数ＦＡＦを算出する。
【００４７】
以上のようにして、ステップ３０４又は３０６で空燃比補正係数ＦＡＦを設定した後、ステップ３０７に進み、基本噴射量Ｔｐに空燃比補正係数ＦＡＦと各種補正係数ＦＡＬＬを乗算して燃料噴射量ＴＡＵを求める。これにより、排出ガスの空燃比を触媒２３の浄化ウインドウ内に制御する。
【００４８】
［制御対象初期特性値演算プログラム］
図５の制御対象初期特性値演算プログラムは、各気筒の噴射タイミングに同期して起動され、制御対象のモデル時定数Ｔと無駄時間Ｌを次のようにして算出する（図３に３１で示す部分の機能を実現する）。
【００４９】
本プログラムが起動されると、まず、ステップ４０１で、吸入空気量Ｑａを読み込み、次のステップ４０２で、基本モデル時定数Ｔsen と基本無駄時間Ｌsen を、それぞれ吸入空気量Ｑａをパラメータとするマップ等により算出する。
【００５０】
この後、ステップ４０３に進み、負荷（吸入空気量Ｑａ／エンジン回転速度Ｎｅ）と冷却水温ＴＨＷを読み込んだ後、ステップ４０４に進み、時定数補正係数α1 と無駄時間補正係数α2 を、それぞれ負荷と冷却水温ＴＨＷをパラメータとするマップにより算出する。尚、この補正係数α1 ，α2 の算出マップに用いる運転パラメータは、負荷と冷却水温ＴＨＷの他に、エンジン回転速度Ｎｅや始動後経過時間を用いるようにしても良い。
【００５１】
各補正係数α1 ，α2 を算出した後、ステップ４０５に進み、基本モデル時定数Ｔsen 、基本無駄時間Ｌsen と、それぞれの補正係数α1 ，α2 を用いて、次式により制御対象のモデル時定数Ｔと無駄時間Ｌを算出して、本プログラムを終了する。
Ｔ＝（１＋α1 ）・Ｔsen
Ｌ＝（１＋α1 ）・Ｌsen
【００５２】
［噴射間隔演算プログラム］
図６の噴射間隔演算プログラムは、各気筒の噴射タイミングに同期して起動され、噴射間隔ｄｔを次のようにして算出する（図３に３５で示す部分の機能を実現する）。
【００５３】
本プログラムが起動されると、まず、ステップ４１１で、エンジン回転速度Ｎｅ（ｒｐｍ）を読み込んだ後、ステップ４１２に進み、噴射間隔ｄｔを次式により算出して、本プログラムを終了する。
ｄｔ＝３０／Ｎｅ×気筒数
【００５４】
［減衰係数ζ、固有角周波数ω演算プログラム］
図７の減衰係数ζ、固有角周波数ω演算プログラムは、各気筒の噴射タイミングに同期して起動され、極配置法の演算に用いる減衰係数ζと固有角周波数ω（制御ゲイン）を次のようにして算出する（図３に３３で示す部分の機能を実現する）。
【００５５】
本プログラムが起動されると、まず、ステップ４２１で、吸入空気量Ｑａを読み込み、次のステップ４２２で、基本減衰係数ζsen と基本固有角周波数ωsen を、それぞれ吸入空気量Ｑａをパラメータとするマップにより算出する。
【００５６】
この後、ステップ４２３に進み、負荷（吸入空気量Ｑａ／エンジン回転速度Ｎｅ）と冷却水温ＴＨＷを読み込んだ後、ステップ４２４に進み、減衰係数補正係数α3 と固有角周波数補正係数α4 を、それぞれ負荷と冷却水温ＴＨＷをパラメータとするマップにより算出する。尚、この補正係数α3 ，α4 の算出マップに用いる運転パラメータは、負荷と冷却水温ＴＨＷの他に、エンジン回転速度や始動後経過時間を用いるようにしても良い。
【００５７】
各補正係数α3 ，α4 の算出後、ステップ４２５に進み、基本減衰係数ζsen 、基本固有角周波数ωsen と、それぞれの補正係数α3 ，α4 を用いて、次式により減衰係数ζと固有角周波数ωを算出して本プログラムを終了する。
ζ＝（１＋α3 ）・ζsen
ω＝（１＋α4 ）・ωsen
【００５８】
本実施例１では、固有角周波数ω（制御ゲイン）は、後述するように代表劣化特性値Ｄに応じて補正される。
【００５９】
［モデルパラメータ演算プログラム］
図８のモデルパラメータ演算プログラムは、各気筒の噴射タイミングに同期して起動されて、モデルパラメータａ，ｂ1 ，ｂ2 を次のようにして算出する（図３に３８で示す部分の機能を実現する）。
【００６０】
本プログラムが起動されると、まず、ステップ４３１で、モデル時定数Ｔ、制御対象の現在の特性で補正された無駄時間Ｌ、噴射間隔ｄｔを読み込み、次のステップ４３２で、噴射間隔ｄｔ（演算間隔）を基準にして換算した無駄時間ｄ（＝Ｌ／ｄｔ）を小数点以下を切り捨てて求めると共に、その切り捨て誤差Ｌ1 （＝Ｌ−ｄ・ｄｔ）を算出する。
【００６１】
この後、ステップ４３３に進み、モデル時定数Ｔと噴射間隔ｄｔを用いてモデルパラメータａを次式により算出する。
ａ＝ｅｘｐ（−ｄｔ／Ｔ）
【００６２】
この演算は、高性能のＣＰＵを必要とするため、現在の車載コンピュータのＣＰＵの演算能力では、ｅｘｐ（−ｄｔ／Ｔ）の演算を高速で行うことは困難であると思われる。そこで、本実施例１では、演算負荷を軽減するために、ｄｔ／Ｔが例えば０．３５以下の時は、ｅｘｐ（−ｄｔ／Ｔ）を次式により近似し、この近似式によりモデルパラメータａを算出する。
ａ＝１−ｄｔ／Ｔ＋０．５（ｄｔ／Ｔ）2
【００６３】
この近似式は、ｄｔ／Ｔが大きくなるに従って、演算誤差が大きくなるため、ｄｔ／Ｔが例えば０．３５よりも大きい領域では、予め、ｄｔ／Ｔとモデルパラメータａとの関係をテーブル化してＲＯＭに記憶しておき、このテーブルを検索して、現在のｄｔ／Ｔに応じたモデルパラメータａを求める。尚、ｄｔ／Ｔが、０．３５以下の時にも、予め設定したテーブルからモデルパラメータａを求めるようにしても良い。
【００６４】
この後、ステップ４３４に進み、モデルパラメータｂ1 ，ｂ2 の算出に用いる変数βを次式により算出する。
β＝ｅｘｐ｛−（ｄｔ−Ｌ1 ）／Ｔ｝
【００６５】
この変数βを算出する際も、演算負荷を軽減するために、（ｄｔ−Ｌ1 ）／Ｔが例えば０．３５以下の時は、ｅｘｐ｛−（ｄｔ−Ｌ1 ）／Ｔ｝を次式により近似し、この近似式により変数βを算出する。
β＝１−（ｄｔ−Ｌ1 ）／Ｔ＋０．５｛（ｄｔ−Ｌ1 ）／Ｔ｝2
【００６６】
この近似式は、（ｄｔ−Ｌ1 ）／Ｔが大きくなるに従って、演算誤差が大きくなるため、（ｄｔ−Ｌ1 ）／Ｔが例えば０．３５よりも大きい領域では、予め、（ｄｔ−Ｌ1 ）／Ｔと変数βとの関係をテーブル化してＲＯＭに記憶しておき、このテーブルを検索して現在の（ｄｔ−Ｌ1 ）／Ｔに応じた変数βを求める。尚、（ｄｔ−Ｌ1 ）／Ｔが０．３５以下の時にも、予め設定したテーブルから変数βを求めるようにしても良い。
【００６７】
この後、ステップ４３５に進み、変数βとモデルパラメータａを用いてモデルパラメータｂ1 ，ｂ2 を次式により算出する。
ｂ1 ＝１−β
ｂ2 ＝１−ｂ1 −ａ
【００６８】
［目標特性多項式の係数演算プログラム］
図９の目標特性多項式の係数演算プログラムは、各気筒の噴射タイミングに同期して起動され、制御モデルの無駄時間ｄ分の根を０とする極配置法に基づいて目標特性多項式の係数Ａ１，Ａ２を次のようにして算出する（図３に３９で示す部分の機能を実現する）。尚、極配置法に関しては、本出願人が先に出願した特願２０００−１８９７３４号の明細書に詳細に記載されている。
【００６９】
本プログラムが起動されると、まず、ステップ４４１で、後述する図１３の制御ゲイン補正プログラムで代表劣化特性値Ｄに応じて補正された固有角周波数ω（制御ゲイン）と減衰係数ζと噴射間隔ｄｔを読み込み、次のステップ４４２で、ω・ｄｔを上限ガード値（例えば０．６２８３）でガード処理する。つまり、ω・ｄｔが上限ガード値よりも大きい場合は、ω・ｄｔ＝上限ガード値にセットし、ω・ｄｔが上限ガード値以下の場合は、その時のω・ｄｔの値をそのまま用いる。このように、ω・ｄｔを上限ガード値でガード処理する理由は、ω・ｄｔの値が大きくなり過ぎると、制御精度が低下するためである。      
【００７０】
ω・ｄｔのガード処理後、ステップ４４３に進み、目標特性多項式の係数Ａ１，Ａ２の算出に用いる変数ｅｚｗｄｔを次式により算出する。
ｅｚｗｄｔ＝ｅｘｐ（−ζ・ω・ｄｔ）
【００７１】
この変数ｅｚｗｄｔを算出する場合も、ＥＣＵ２７のＣＰＵ演算負荷を軽減するために、ζ・ω・ｄｔが例えば０．３５以下の時は、ｅｘｐ（−ζ・ω・ｄｔ）を次式により近似し、この近似式により変数ｅｚｗｄｔを算出する。
ｅｚｗｄｔ＝１−ζ・ω・ｄｔ＋０．５（ζ・ω・ｄｔ）2
【００７２】
この近似式は、ζ・ω・ｄｔが大きくなるに従って、演算誤差が大きくなるため、ζ・ω・ｄｔが例えば０．３５よりも大きい領域では、予め、ζ・ω・ｄｔと変数ｅｚｗｄｔとの関係をテーブル化してＲＯＭに記憶しておき、このテーブルを検索して現在のζ・ω・ｄｔに応じた変数ｅｚｗｄｔを求める。尚、ζ・ω・ｄｔが０．３５以下の時にも、予め設定したテーブルから変数ｅｚｗｄｔを求めるようにしても良い。
【００７３】
この後、ステップ４４４に進み、目標特性多項式の係数Ａ１，Ａ２の算出に用いる他の変数ｃｏｓｚｗｔを次式により算出する。
ｃｏｓｚｗｔ＝ｃｏｓ｛（１−ζ2 ）0.5 ・ω・ｄｔ｝
【００７４】
この変数ｃｏｓｚｗｔを算出する場合も、ＣＰＵの演算負荷を軽減するために次の近似式を用いる。
ｃｏｓｚｗｔ＝１−０．５（１−ζ2 ）（ω・ｄｔ）2
【００７５】
この後、ステップ４４５に進み、変数ｅｚｗｄｔ，ｃｏｓｚｗｔを用いて、目標特性多項式の係数Ａ１，Ａ２を次式により算出する。
Ａ１＝−２・ｅｚｗｄｔ・ｃｏｓｚｗｔ
Ａ２＝（ｅｚｗｄｔ）2
【００７６】
［制御パラメータ演算プログラム］
図１０の制御パラメータ演算プログラムは、各気筒の噴射タイミングに同期して起動され、状態フィードバックの制御パラメータＦ０〜Ｆd+2 を次のようにして算出する（図３に４０で示す部分の機能を実現する）。
【００７７】
本プログラムが起動されると、まず、ステップ４５１で、制御モデルのモデルパラメータａ，ｂ1 ，ｂ2 を読み込み、次のステップ４５２で、目標特性多項式の係数Ａ１，Ａ２を読み込む。
【００７８】
この後、ステップ４５３に進み、モデルパラメータａ，ｂ1 ，ｂ2 と係数Ａ１，Ａ２を用いて制御パラメータＦ０〜Ｆd+2 を算出する。
例えば、ｄ＝６の場合は、次式により制御パラメータＦ０〜Ｆ８を算出する。
Ｆ０＝（１＋Ａ１＋Ａ２）／（ｂ1 ＋ｂ2 ）
Ｆ２＝−１−ａ−Ａ１
Ｆ３＝ａ−Ａ２＋（１＋ａ）・Ｆ２
Ｆ４＝（１＋ａ）・Ｆ３−ａ・Ｆ２
Ｆ５＝（１＋ａ）・Ｆ４−ａ・Ｆ３
Ｆ６＝（１＋ａ）・Ｆ５−ａ・Ｆ４
Ｆ７＝（１＋ａ）・Ｆ６−ａ・Ｆ５
Ｆ１＝ａ／（ａ・ｂ1 ＋ｂ2 ）・（ａ・Ｆ７−ｂ1 ・Ｆ０）
Ｆ８＝ｂ2 ／ａ・Ｆ１
【００７９】
［代表劣化特性値算出プログラム］
図１１の代表劣化特性値算出プログラムは、所定周期で繰り返し実行され、特許請求の範囲でいう代表劣化特性値算出手段としての役割を果たす（図３に３２で示す部分の機能を実現する）。
【００８０】
本プログラムが起動されると、まず、ステップ５０１で、無駄時間劣化度合検出プログラム（図示せず）で検出したリーン方向の無駄時間劣化度合ＤＬL （＝ＬL ／ＬL0）とリッチ方向の無駄時間劣化度合ＤＬR （＝ＬR ／ＬR0）を読み込む。無駄時間劣化度合検出プログラムでは、図２に示すように、空燃比がリーン方向に変化した時に、リーン方向の無駄時間ＬL を検出して、このリーン方向の無駄時間ＬL とその初期値ＬL0との比でリーン方向の無駄時間劣化度合ＤＬL を算出し、空燃比がリッチ方向に変化した時に、リッチ方向の無駄時間ＬR を検出して、このリッチ方向の無駄時間ＬR とその初期値ＬL0との比でリッチ方向の無駄時間劣化度合ＤＬR を算出する。この無駄時間劣化度合検出プログラムが特許請求の範囲でいう無駄時間検出手段及び劣化度合算出手段としての役割を果たす。
【００８１】
この後、ステップ５０２に進み、リーン方向の無駄時間劣化度合ＤＬL とリッチ方向の無駄時間劣化度合ＤＬR とを比較して、リーン方向の無駄時間劣化度合ＤＬL の方が大きいと判定されれば、ステップ５０３に進み、リーン方向の無駄時間劣化度合ＤＬL を代表無駄時間劣化度合ＤＬとし、リッチ方向の無駄時間劣化度合ＤＬR の方が大きいと判定されれば、ステップ５０４に進み、リッチ方向の無駄時間劣化度合ＤＬR を代表無駄時間劣化度合ＤＬとする。
【００８２】
この後、ステップ５０５に進み、応答時間劣化度合検出プログラム（図示せず）で検出したリーン方向の応答時間劣化度合ＤＴL （＝ＴL ／ＴL0）とリッチ方向の応答時間劣化度合ＤＴR （＝ＴR ／ＴR0）を読み込む。応答時間劣化度合検出プログラムでは、図２に示すように、空燃比がリーン方向に変化した時に、リーン方向の応答時間ＴL を検出して、このリーン方向の応答時間ＴL とその初期値ＴL0との比でリーン方向の応答時間劣化度合ＤＴL を算出し、空燃比がリッチ方向に変化した時に、リッチ方向の応答時間ＴR を検出し、このリッチ方向の応答時間ＴR とその初期値ＴR0との比でリッチ方向の応答時間劣化度合ＤＴR を算出する。この応答時間劣化度合検出プログラムが特許請求の範囲でいう応答時間検出手段及び劣化度合算出手段としての役割を果たす。
【００８３】
この後、ステップ５０６に進み、リーン方向の応答時間劣化度合ＤＴL とリッチ方向の応答時間劣化度合ＤＴR とを比較して、リーン方向の応答時間劣化度合ＤＴL の方が大きいと判定されれば、ステップ５０７に進み、リーン方向の応答時間劣化度合ＤＴL を代表応答時間劣化度合ＤＴとし、リッチ方向の応答時間劣化度合ＤＴR の方が大きいと判定されれば、ステップ５０８に進み、リッチ方向の応答時間劣化度合ＤＴR を代表応答時間劣化度合ＤＴとする。
【００８４】
この後、ステップ５０８に進み、図１２の代表劣化特性値算出係数マップを検索して、代表劣化特性値算出係数αを算出する。図１２の代表劣化特性値算出係数マップは、代表無駄時間劣化度合ＤＬと代表応答時間劣化度合ＤＴとをパラメータとするマップであり、例えば、代表無駄時間劣化度合ＤＬが大きくなるほど、代表劣化特性値算出係数αが大きくなり、代表応答時間劣化度合ＤＴが大きくなるほど、代表劣化特性値算出係数αが小さくなるように設定されている。但し、代表劣化特性値算出係数αは、０≦α≦１の範囲内で設定される。
【００８５】
この後、ステップ５１０に進み、代表無駄時間劣化度合ＤＬと代表応答時間劣化度合ＤＴと代表劣化特性値算出係数αとに基づいて代表劣化特性値Ｄを次式により算出する。
Ｄ＝α・ＤＬ＋（１−α）・ＤＴ
【００８６】
［制御ゲイン補正プログラム］
図１３の制御ゲイン補正プログラムは、所定周期で繰り返し実行され、特許請求の範囲でいう制御特性変更手段としての役割を果たす（図３に３６及び３７で示す部分の機能を実現する）。
【００８７】
本プログラムが起動されると、まず、ステップ６０１で、上記図１１の代表劣化特性値算出プログラムによって算出した代表劣化特性値Ｄを読み込み、次のステップ６０２で、図１４の制御ゲイン補正係数マップを検索して、現在の代表劣化特性値Ｄに応じた制御ゲイン補正係数を算出する。図１４の制御ゲイン補正係数マップは、代表劣化特性値Ｄが大きくなるほど（無駄時間と応答時間が劣化するほど）、制御ゲイン補正係数が小さくなるように設定されている。制御ゲイン補正係数の最大値は１．０である。
【００８８】
この後、ステップ６０３に進み、前記図７の減衰係数ζ、固有角周波数ω演算プログラムで算出した制御ゲイン（固有角周波数ω）を読み込み、次のステップ６０４で、この制御ゲイン（固有角周波数ω）に制御ゲイン補正係数を乗算することで、制御ゲイン（固有角周波数ω）を補正する。この場合、代表劣化特性値Ｄが大きくなるほど（無駄時間と応答時間が劣化するほど）、制御ゲイン補正係数が小さくなるため、代表劣化特性値Ｄが大きくなるほど、制御ゲイン（固有角周波数ω）が小さくなるように補正される。
【００８９】
［ＦＡＦ演算プログラム］
図１５及び図１６のＦＡＦ演算プログラムは、前述した図４の燃料噴射量演算プログラムのステップ３０６で起動され、次のようにして空燃比補正係数ＦＡＦを算出する（図３に４１で示す部分の機能を実現する）。
【００９０】
本プログラムが起動されると、まず、ステップ７０１で、現在の燃料過剰率φ(i) 、目標燃料過剰率φref 、制御パラメータＦ０〜Ｆd+2 を読み込む。
【００９１】
この後、ステップ７０２に進み、目標燃料過剰率φref と実際の燃料過剰率φ(i) との偏差ｅ(i) を算出する。
ｅ(i) ＝φref −φ(i)
【００９２】
この後、ステップ７０３に進み、前回から今回までの燃料過剰率の変化量Δφ(i) を算出する。
Δφ(i) ＝φ(i) −φ(i-1)
【００９３】
この後、ステップ７０４に進み、前回の空燃比補正係数ＦＡＦ(i-1) に今回の空燃比補正係数補正値ΔＦＡＦ(i) を加算して今回の空燃比補正係数ＦＡＦ(i) を求める。
ＦＡＦ(i)
＝ＦＡＦ(i-1) ＋ΔＦＡＦ(i)
＝ＦＡＦ(i-1) ＋Ｆ１・Δφ(i) ＋Ｆ２・｛ＦＡＦ(i-1) −ＦＡＦ(i-2) ｝＋…                …＋Ｆd+2 ・｛ＦＡＦ(i-d-1) −ＦＡＦ(i-d-2) ｝＋Ｆ０・ｅ(i)
【００９４】
この後、図１６のステップ７０５に進み、空燃比補正係数ＦＡＦ(i) に対するリッチ側及びリーン側の制限値（ガード値）の初期値ＦＡＦＧＲ０，ＦＡＦＧＬ０（設計値）を読み込む。そして、次のステップ７０６で、図１７の制限値補正係数算出マップを検索して、代表応答時間劣化度合ＤＴと代表無駄時間劣化度合ＤＬとの比ＤＴ／ＤＬに応じた制限値補正係数ＣＦＡＦＧを算出する。この場合、ＤＴ／ＤＬが大きくなるほど、制限値補正係数ＣＦＡＦＧが小さくなるように設定されている。制限値補正係数ＣＦＡＦＧの最大値は１．０である。
【００９５】
この後、ステップ７０７に進み、この制限値補正係数ＣＦＡＦＧをリッチ側及びリーン側の制限値の初期値ＦＡＦＧＲ０，ＦＡＦＧＬ０に乗算してリッチ側及びリーン側の制限値ＦＡＦＧＲ，ＦＡＦＧＬを算出する。
ＦＡＦＧＲ＝ＣＦＡＦＧ・ＦＡＦＧＲ０
ＦＡＦＧＬ＝ＣＦＡＦＧ・ＦＡＦＧＬ０
【００９６】
この後、ステップ７０８に進み、空燃比補正係数ＦＡＦ(i) がリッチ側制限値ＦＡＦＧＲよりも小さいか否かを判定し、空燃比補正係数ＦＡＦ(i) がリッチ側制限値ＦＡＦＧＲよりも大きい（つまりリッチ側制限値ＦＡＦＧＲよりもリッチ側の値である）と判定されれば、ステップ７０９に進み、空燃比補正係数ＦＡＦ(i) をリッチ側制限値ＦＡＦＧＲで制限（ガード処理）して、リッチ側制限値ＦＡＦＧＲを空燃比補正係数ＦＡＦ(i) とする。
【００９７】
そして、次のステップ７１０で、空燃比補正係数ＦＡＦ(i) がリーン側制限値ＦＡＦＧＬよりも大きいか否かを判定し、空燃比補正係数ＦＡＦ(i) がリーン側制限値ＦＡＦＧＬよりも小さい（つまりリーン側制限値ＦＡＦＧＬよりもリーン側の値である）と判定されれば、ステップ７１１に進み、空燃比補正係数ＦＡＦ(i) をリーン側制限値ＦＡＦＧＬで制限（ガード処理）して、リーン側制限値ＦＡＦＧＬを空燃比補正係数ＦＡＦ(i) とする。尚、ＦＡＦＧＬ≦ＦＡＦ(i) ≦ＦＡＦＧＲであれば、空燃比補正係数ＦＡＦ(i) を制限せずにそのまま用いる。
【００９８】
これらステップ７０５〜７１１の処理が特許請求の範囲でいう制御特性変更手段としての役割を果たす。
【００９９】
この後、ステップ７１２に進み、次回の空燃比補正係数ＦＡＦの演算に備えてφ(i-1) 、ＦＡＦ(i-1) 〜ＦＡＦ(i-d-2) の記憶データを更新する。
φ(i-1) ＝φ(i)
ＦＡＦ(i-1) ＝ＦＡＦ(i)
ＦＡＦ(i-2) ＝ＦＡＦ(i-1)
・・・・・・・・・・・・・
・・・・・・・・・・・・・
ＦＡＦ(i-d) ＝ＦＡＦ(i-d+1)
ＦＡＦ(i-d-1) ＝ＦＡＦ(i-d)
ＦＡＦ(i-d-2) ＝ＦＡＦ(i-d-1)
【０１００】
尚、今回の空燃比補正係数補正値ΔＦＡＦ(i) を次式により算出した後、今回の空燃比補正係数補正値ΔＦＡＦ(i) を前回の空燃比補正係数ＦＡＦ(i-1) に加算して今回の空燃比補正係数ＦＡＦ(i) を求めるようにしても良い。
【０１０１】
ΔＦＡＦ(i) ＝Ｆ１・Δφ(i) ＋Ｆ２・ΔＦＡＦ(i-1) ＋…
…＋Ｆd+1 ・ΔＦＡＦ(i-d) ＋Ｆd+2 ・ΔＦＡＦ(i-d-1)
＋Ｆ０・（φref −φ(i) ）
この場合は、次回の空燃比補正係数ＦＡＦ、空燃比補正係数補正値ΔＦＡＦの演算に備えて、ΔＦＡＦ(i-1) 〜ＦＡＦ(i-d-1) の記憶データを更新するようにすれば良い。
【０１０２】
以上説明した本実施例１によれば、無駄時間と応答時間について、それぞれリッチ方向とリーン方向の劣化度合を検出して、これら４つの劣化度合に基づいて、ハンチングとオーバーシュートの両方を抑制するのに適した代表劣化特性値Ｄを算出し、この代表劣化特性値Ｄに基づいて空燃比フィードバック制御系の制御ゲインを変更するようにしたので、無駄時間と応答時間のリッチ方向／リーン方向の非対称劣化による空燃比制御精度の悪化（ハンチングやオーバーシュートの発生）を比較的簡単な構成で低減することができて、非対称劣化による排気エミッションの悪化を低減することができる。しかも、比較的簡単な処理で空燃比フィードバック制御系の制御特性を変更できるため、ソフトウエアの複雑化やデータ量膨大化を回避することができる。
【０１０３】
しかも、代表応答時間劣化度合ＤＴと代表無駄時間劣化度合ＤＬとの比ＤＴ／ＤＬに基づいて空燃比補正係数ＦＡＦのリッチ側制限値ＦＡＦＧＲとリーン側制限値ＦＡＦＧＬを補正するようにしたので、代表応答時間劣化度合ＤＴと代表無駄時間劣化度合ＤＬとの差が大きくなるほど、空燃比補正係数ＦＡＦのリッチ側制限値ＦＡＦＧＲとリーン側制限値ＦＡＦＧＬとの間の幅を狭くするという制御が可能となり、オーバーシュートを効果的に防止することができる。
【０１０４】
尚、代表応答時間劣化度合ＤＴと代表無駄時間劣化度合ＤＬとの比ＤＴ／ＤＬに代えて、両者の差｜ＤＴ−ＤＬ｜に基づいて空燃比補正係数ＦＡＦのリッチ側制限値ＦＡＦＧＲとリーン側制限値ＦＡＦＧＬを補正するようにしても良く、この場合でも、同様の効果を得ることができる。また、代表劣化特性値Ｄに基づいて空燃比補正係数ＦＡＦのリッチ側制限値ＦＡＦＧＲとリーン側制限値ＦＡＦＧＬを補正するようにしても良い。
【実施例２】
【０１０５】
上記実施例１では、リッチ側とリーン側の制限値の初期値ＦＡＦＧＲ０，ＦＡＦＧＬ０に同じ制限値補正係数ＣＦＡＦＧを乗算してリッチ側とリーン側の制限値ＦＡＦＧＲ，ＦＡＦＧＬを求めるようにしたが、図１８及び図１９に示す本発明の実施例２では、リッチ側とリーン側の制限値の初期値ＦＡＦＧＲ０，ＦＡＦＧＬ０にそれぞれ別々の制限値補正係数ＣＦＡＦＧＲ，ＣＦＡＦＧＬを乗算してリッチ側とリーン側の制限値ＦＡＦＧＲ，ＦＡＦＧＬを求めるようにしている。
【０１０６】
本実施例２では、前記実施例１で説明した図１６のプログラムに代えて、図１８のプログラムを実行する。その他の事項は前記実施例１と同じである。
【０１０７】
図１８のプログラムは、前記実施例１で説明した図１５のＦＡＦ演算プログラムのステップ７０１〜７０４の処理を実行した後に次のように実行される。まず、ステップ７０５で、空燃比補正係数ＦＡＦ(i) に対するリッチ側及びリーン側の制限値（ガード値）の初期値ＦＡＦＧＲ０，ＦＡＦＧＬ０を読み込む。そして、次のステップ７０６ａで、図１９の制限値補正係数算出マップを検索して、リッチ方向の応答時間劣化度合ＤＴR と代表無駄時間劣化度合ＤＬ（各方向の無駄時間劣化度合ＤＬR ，ＤＬL のうちの大きい方）との比ＤＴR ／ＤＬに基づいてリッチ側制限値補正係数ＣＦＡＦＧＲを算出すると共に、リーン方向の応答時間劣化度合ＤＴL と代表無駄時間劣化度合ＤＬとの比ＤＴL ／ＤＬに基づいてリーン側制限値補正係数ＣＦＡＦＧＬを算出する。尚、図１９の制限値補正係数算出マップは、前記実施例１で用いた図１７の制限値補正係数算出マップと同様のものを使用すれば良い。
【０１０８】
この後、ステップ７０７ａに進み、リッチ側制限値補正係数ＣＦＡＦＧＲをリッチ側制限値の初期値ＦＡＦＧＲ０に乗算してリッチ側制限値ＦＡＦＧＲを算出すると共に、リーン側制限値補正係数ＣＦＡＦＧＬをリーン側制限値の初期値ＦＡＦＧＬ０に乗算してリーン側制限値ＦＡＦＧＬを算出する。
ＦＡＦＧＲ＝ＣＦＡＦＧＲ・ＦＡＦＧＲ０
ＦＡＦＧＬ＝ＣＦＡＦＧＬ・ＦＡＦＧＬ０
【０１０９】
この後、ステップ７０８〜７１１の処理によって、前記実施例１と同様に、リッチ側制限値ＦＡＦＧＲとリーン側制限値ＦＡＦＧＬを用いて空燃比補正係数ＦＡＦ(i) をガード処理する。すなわち、空燃比補正係数ＦＡＦ(i) がリッチ側制限値ＦＡＦＧＲよりも大きい（つまりリッチ側制限値ＦＡＦＧＲよりもリッチ側の値である）と判定された場合は、リッチ側制限値ＦＡＦＧＲを空燃比補正係数ＦＡＦ(i) とし、空燃比補正係数ＦＡＦ(i) がリーン側制限値ＦＡＦＧＬよりも小さい（つまりリーン側制限値ＦＡＦＧＬよりもリーン側の値である）と判定された場合は、リーン側制限値ＦＡＦＧＬを空燃比補正係数ＦＡＦ(i) とし、ＦＡＦＧＬ≦ＦＡＦ(i) ≦ＦＡＦＧＲと判定された場合は、空燃比補正係数ＦＡＦ(i) を制限せずにそのまま用いる。この後、ステップ７１２に進み、次回の空燃比補正係数ＦＡＦの演算に備えて、φ(i-1) 、ＦＡＦ(i-1) 〜ＦＡＦ(i-d-2) の記憶データを更新する。
【０１１０】
以上説明した本実施例２では、リッチ方向の応答時間劣化度合ＤＴR と代表無駄時間劣化度合ＤＬとの比ＤＴR ／ＤＬに基づいてリッチ側制限値補正係数ＣＦＡＦＧＲを算出し、リーン方向の応答時間劣化度合ＤＴL と代表無駄時間劣化度合ＤＬとの比ＤＴL ／ＤＬに基づいてリーン側制限値補正係数ＣＦＡＦＧＬを算出するようにしたので、各制限値補正係数ＣＦＡＦＧＲ，ＣＦＡＦＧＬによってリッチ側制限値ＦＡＦＧＲとリーン側制限値ＦＡＦＧＬを、リッチ側とリーン側とでそれぞれ最適な制限値に設定することができ、リッチ方向／リーン方向の非対称劣化によるオーバーシュートをより確実に防止することができる。
【０１１１】
尚、本発明は、リッチ方向の応答時間劣化度合ＤＴR と代表無駄時間劣化度合ＤＬとの差｜ＤＴR −ＤＬ｜に基づいてリッチ側制限値補正係数ＣＦＡＦＧＲを算出し、リーン方向の応答時間劣化度合ＤＴL と代表無駄時間劣化度合ＤＬとの差｜ＤＴL −ＤＬ｜に基づいてリーン側制限値補正係数ＣＦＡＦＧＬを算出するようにしても良く、この場合でも、同様の効果を得ることができる。
【実施例３】
【０１１２】
前記実施例１では、無駄時間と応答時間について、それぞれリッチ方向とリーン方向の劣化度合を検出して、これら４つの劣化度合に基づいて、ハンチングとオーバーシュートの両方を抑制するのに適した代表劣化特性値Ｄを算出するようにしたが、本発明の実施例３では、図２０の代表劣化特性値算出プログラムを実行することで、応答時間の劣化度合を検出せずに、無駄時間のみについてリッチ方向とリーン方向の劣化度合ＤＬL ，ＤＬR を検出して、各方向の無駄時間の劣化度合ＤＬL ，ＤＬR のうちの大きい方を代表劣化特性値Ｄとするようにしている。
【０１１３】
図２０の代表劣化特性値算出プログラムは、所定周期で繰り返し実行され、特許請求の範囲でいう代表劣化特性値算出手段としての役割を果たす。
【０１１４】
本プログラムが起動されると、まず、ステップ８０１で、リーン方向の無駄時間劣化度合ＤＬL （＝ＬL ／ＬL0）を読み込み、次のステップ８０２で、リッチ方向の無駄時間劣化度合ＤＬR （＝ＬR ／ＬR0）を読み込む。この後、ステップ８０３に進み、リーン方向の無駄時間劣化度合ＤＬL とリッチ方向の無駄時間劣化度合ＤＬR とを比較し、リーン方向の無駄時間劣化度合ＤＬL の方が大きいと判定されれば、ステップ８０４に進み、リーン方向の無駄時間劣化度合ＤＬL を代表劣化特性値Ｄとし、リッチ方向の無駄時間劣化度合ＤＬR の方が大きいと判定されれば、ステップ８０５に進み、リッチ方向の無駄時間劣化度合ＤＬR を代表劣化特性値Ｄとする。その他の事項は、前記実施例１又は実施例２と同じである。
【０１１５】
以上説明した本実施例３でも、無駄時間のリッチ方向／リーン方向の非対称劣化に起因する空燃比フィードバック制御系のハンチングを防止できる。
【実施例４】
【０１１６】
前記実施例１〜３では、代表劣化特性値Ｄに基づいて空燃比フィードバック制御の制御ゲインを変更するようにしたが、本発明の実施例４では、図２１の制御周期算出プログラムを実行することで、代表劣化特性値Ｄに基づいて空燃比フィードバック制御の制御周期を変更するようにしている。
【０１１７】
図２１の制御周期算出プログラムは、所定周期（例えば２ｍｓ周期）で繰り返し実行され、特許請求の範囲でいう制御特性変更手段としての役割を果たす。本プログラムが起動されると、まずステップ９０１で、前記実施例１又は実施例３と同様の方法で算出した代表劣化特性値Ｄを読み込む。この後、ステップ９０２に進み、図２２の制御周期算出マップを検索して、現在の代表劣化特性値Ｄに応じた制御周期を算出する。図２２の制御周期算出マップは、代表劣化特性値Ｄが大きくなるほど（無駄時間や応答時間の劣化度合が大きくなるほど）、制御周期が長くなるように設定されている。
【０１１８】
この後、ステップ９０３に進み、経過時間をカウントするタイマＣＮＴを、本プログラムの起動周期（２ｍｓ周期）分だけカウントアップする。この後、ステップ９０４に進み、タイマＣＮＴのカウント値が、前記ステップ９０２で算出した制御周期に達したか否かを判定し、タイマＣＮＴのカウント値が制御周期に達していなければ、そのまま本プログラムを終了する。
【０１１９】
そして、タイマＣＮＴのカウント値が制御周期に達した時点で、ステップ９０５に進み、前述した図１５及び図１６（又は図１８）のＦＡＦ演算プログラムを実行して、空燃比フィードバック制御を実行する。これにより、現在の代表劣化特性値Ｄに応じた制御周期で空燃比フィードバック制御が実行される。この後、ステップ９０６に進み、タイマＣＮＴをリセットして本プログラムを終了する。
【０１２０】
以上説明した本実施例４では、空燃比フィードバック制御の制御周期を変更することで、実質的に制御ゲインを変更するのと同様の効果が得られることを考慮して、代表劣化特性値Ｄが大きくなるほど、空燃比フィードバック制御の制御周期を長くするようにしたので、前記実施例１と同様の効果を得ることができる。
【０１２１】
尚、本発明は、状態フィードバックで空燃比を制御するシステムに限定されず、ＰＩＤ制御等、他の方式のフィードバック制御で空燃比を制御するシステムに適用して実施できる。
【０１２２】
その他、本発明は、図１に示すような吸気ポート噴射式の内燃機関に限定されず、筒内噴射式の内燃機関や、吸気ポート噴射用の燃料噴射弁と筒内噴射用の燃料噴射弁の両方を備えたデュアル噴射式の内燃機関にも適用して実施できる等、要旨を逸脱しない範囲内で種々変更して実施できることは言うまでもない。
【図面の簡単な説明】
【０１２３】
【図１】本発明の実施例１を示すエンジン制御システム全体の概略構成図である。
【図２】無駄時間と応答時間のリッチ方向／リーン方向の非対称劣化と劣化度合の算出方法を説明する図である。
【図３】空燃比フィードバック制御系の各部の機能を表す機能ブロック図である。
【図４】燃料噴射量演算プログラムの処理の流れを示すフローチャートである。
【図５】制御対象初期特性値演算プログラムの処理の流れを示すフローチャートである。
【図６】噴射間隔演算プログラムの処理の流れを示すフローチャートである。
【図７】減衰係数ζ、固有角周波数ω演算プログラムの処理の流れを示すフローチャートである。
【図８】モデルパラメータ演算プログラムの処理の流れを示すフローチャートである。
【図９】目標特性多項式の係数演算プログラムの処理の流れを示すフローチャートである。
【図１０】制御パラメータ演算プログラムの処理の流れを示すフローチャートである。
【図１１】代表劣化特性値算出プログラムの処理の流れを示すフローチャートである。
【図１２】代表無駄時間劣化度合ＤＬと代表応答時間劣化度合ＤＴとから代表劣化特性値算出係数αを算出するマップを概念的に示す図である。
【図１３】制御ゲイン補正プログラムの処理の流れを示すフローチャートである。
【図１４】代表劣化特性値Ｄに基づいて制御ゲイン補正係数を算出するマップを概念的に示す図である。
【図１５】ＦＡＦ演算プログラムの前半部の処理の流れを示すフローチャートである。
【図１６】ＦＡＦ演算プログラムの後半部の処理の流れを示すフローチャートである。
【図１７】代表応答時間劣化度合ＤＴと代表無駄時間劣化度合ＤＬとの比ＤＴ／ＤＬに基づいて制限値補正係数ＣＦＡＦＧを算出するマップを概念的に示す図である。
【図１８】実施例２のＦＡＦ演算プログラムの後半部の処理の流れを示すフローチャートである。
【図１９】実施例２の各方向の応答時間劣化度合ＤＴL ，ＤＴR と代表無駄時間劣化度合ＤＬとの比ＤＴL ／ＤＬ，ＤＴR ／ＤＬに基づいてリッチ側制限値補正係数ＣＦＡＦＧＲとリーン側制限値補正係数ＣＦＡＦＧＬを算出するマップを概念的に示す図である。
【図２０】実施例３の代表劣化特性値算出プログラムの処理の流れを示すフローチャートである。
【図２１】実施例４の制御周期算出プログラムの処理の流れを示すフローチャートである。
【図２２】実施例４の代表劣化特性値Ｄに基づいて制御周期を算出するマップを概念的に示す図である。
【符号の説明】
【０１２４】
１１…エンジン（内燃機関）、１２…吸気管、１４…エアフローメータ、１５…スロットルバルブ、２０…燃料噴射弁、２２…排気管、２３…触媒、２４…空燃比センサ、２７…ＥＣＵ（無駄時間検出手段，応答時間検出手段，劣化度合算出手段，代表劣化特性値算出手段，制御特性変更手段）
【図１】
2009257225.tif 000003
【図２】
2009257225.tif 000004
【図３】
2009257225.tif 000005
【図４】
2009257225.tif 000006
【図５】
2009257225.tif 000007
【図６】
2009257225.tif 000008
【図７】
2009257225.tif 000009
【図８】
2009257225.tif 000010
【図９】
2009257225.tif 000011
【図１０】
2009257225.tif 000012
【図１１】
2009257225.tif 000013
【図１２】
2009257225.tif 000014
【図１３】
2009257225.tif 000015
【図１４】
2009257225.tif 000016
【図１５】
2009257225.tif 000017
【図１６】
2009257225.tif 000018
【図１７】
2009257225.tif 000019
【図１８】
2009257225.tif 000020
【図１９】
2009257225.tif 000021
【図２０】
2009257225.tif 000022
【図２１】
2009257225.tif 000023
【図２２】
2009257225.tif 000024