(57)【特許請求の範囲】
【請求項１】
多気筒内燃機関の排気系集合部に配置され、前記多気筒内燃機関の各気筒から排出される混合気の空燃比を検出する空燃比検出手段と、前記多気筒内燃機関の排気系における空燃比の挙動を規定するモデルに基づいて、前記排出される混合気の空燃比を入力すると共に前記排気系の内部状態を観測するオブザーバを設定して、各気筒の空燃比を推定する各気筒空燃比推定手段と、前記推定された各気筒の空燃比に基づいて各気筒の空燃比のバラツキを減少させるように、前記多気筒内燃機関の各気筒に供給する気筒別燃料噴射量を補正する気筒別空燃比補正係数を算出する気筒別空燃比補正係数算出手段とを備えた内燃機関の燃料噴射量制御装置において、
前記各気筒空燃比推定手段の前記排出される混合気の空燃比を検出する検出タイミングを前記空燃比検出手段の応答特性に応じて補正する補正量を求める手段と、前記補正量を学習且つ記憶し、学習して得られた学習後の補正量により前記各気筒空燃比推定手段の検出タイミングを求める手段とを具備することを特徴とする内燃機関の燃料噴射制御装置。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、内燃機関の燃料噴射制御装置に関し、特に、排気系の集合部に設置された空燃比センサの検出出力に基づいて各気筒の空燃比を推定すると共に、各気筒の空燃比に基づいて各気筒の空燃比のバラツキを減少させるように、前記多気筒内燃機関の各気筒に供給する気筒別燃料噴射量をフィードバック制御する燃料噴射制御装置に関する。
【０００２】
【従来の技術】
従来、内燃機関の燃料噴射制御装置においては、排気系に設けられた触媒装置による排気ガスの浄化率が理論空燃比で最大になることに着目し、排気系に設けられた空燃比センサにより空燃比を検出して、その検出値が理論空燃比となるように燃料噴射量をフィードバック制御している（特開昭５９−１０１５６２号公報）。
【０００３】
また、空燃比センサを多気筒内燃機関の排気系集合部に１個だけ設けて空燃比を検出しても、気筒毎の空燃比を正確に検出することができず、全気筒の空燃比の混合値が検出されるのみであるため、この検出値に基づいて空燃比をフィードバック制御するとエミッション悪化を招来するという問題がある。そこで、かかる課題を解決するために、排気系の理論モデルを構築しておき、１個の空燃比センサの検出出力をこの理論モデルに適用することによって気筒毎の空燃比を推定し、この推定値に基づいて各気筒の空燃比を目標値にフィードバック制御する技術がある（特開平５−１８００４０号公報）。更にこの技術では、エンジン制御ユニット（ＥＣＵ）のシステムクロックに同期して空燃比センサの検出出力を単純にサンプリングしたのでは、真の空燃比（排気系集合部の空燃比）を求めることができないという課題を解決するために、サンプリング動作ブロック（sel-Ｖと呼ばれる）を備えている。即ち、排気系集合部における排気ガスの挙動は機関回転数等に依存して変動するので、この排気ガスの挙動に追従し得るサンプリングタイミングを設定することによって、排気系集合部の空燃比を求めるようにしている。そして、このように求めた空燃比から気筒毎の空燃比を求め、更にこれら気筒毎の空燃比に基づいて上記の気筒別フィードバック制御を行っている。
【０００４】
この技術によれば、気筒毎に空燃比を設定することができると共に、気筒毎に独立して複数個の空燃比センサを設ける必要がないため、簡素な構造を実現している。
【０００５】
【発明が解決しようとする課題】
しかし、前記サンプリング動作ブロックは、空燃比センサの経年変化に起因してその検出出力自体が初期の理想状態から次第にずれていくような場合には、適正なサンプリングタイミングを設定することが困難となり、次第に排気系集合部の空燃比を正確に検出することができなくなる。結果、適切な気筒別フィードバック制御も次第に困難となり、空燃比応答性の悪化及びエミッションの悪化を招来する。
【０００６】
また、前記サンプリング動作ブロックは、イグニッションキーを「ＯＦＦ」にし、再び「ＯＮ」にして機関の始動再開がなされた場合、イグニッションキー  「ＯＦＦ」時に空燃比検出を停止する為、始動再開時のサンプリングタイミングを、経年変化している空燃比センサの特性に合ったサンプリングタイミングに設定することができず、空燃比を精度良く検出することができないという問題がある。
【０００７】
本発明は、このような従来技術の課題に鑑みて成されたものであり、空燃比センサの経年変化等が生じても、それに対応して適切な気筒別フィードバック制御を行うことができる内燃機関の燃料噴射量制御装置を提供することを目的とする。
【０００８】
【課題を解決するための手段】
このような目的を達成するために本発明は、多気筒内燃機関の排気系集合部に配置され、前記多気筒内燃機関の各気筒から排出される混合気の空燃比を検出する空燃比検出手段と、前記多気筒内燃機関の排気系における空燃比の挙動を規定するモデルに基づいて、前記排出される混合気の空燃比を入力すると共に前記排気系の内部状態を観測するオブザーバを設定して、各気筒の空燃比を推定する各気筒空燃比推定手段と、前記推定された各気筒の空燃比に基づいて各気筒の空燃比のバラツキを減少させるように、前記多気筒内燃機関の各気筒に供給する気筒別燃料噴射量を補正する気筒別空燃比補正係数を算出する気筒別空燃比補正係数算出手段とを備えた内燃機関の燃料噴射量制御装置において、前記各気筒空燃比推定手段の前記排出される混合気の空燃比を検出する検出タイミングを前記空燃比検出手段の応答特性に応じて補正する補正量を求める手段と、前記補正量を学習且つ記憶し、学習して得られた学習後の補正量により前記各気筒空燃比推定手段の検出タイミングを求める手段とを具備する構成とした。
【０００９】
【作用】
各気筒空燃比推定手段は、排気系における空燃比の挙動を規定するモデルに基づいて、排出される混合気の空燃比を入力すると共に排気系の内部状態を観測するオブザーバを設定して混合気の空燃比の挙動に追従する検出タイミングで各気筒の空燃比を推定するが、補正量を求める手段が、排出される混合気の空燃比を検出する検出タイミングを空燃比検出手段の劣化等の応答特性に応じて補正する補正量を求め、更に、検出タイミングを求める手段が、補正量を学習して記憶し、この学習により得られた学習後の補正量により各気筒空燃比推定手段の検出タイミングを求める。
【００１０】
【実施例】
本発明による内燃機関の燃料噴射制御装置の一実施例を図面と共に説明する。尚、典型例として４気筒内燃機関に適用されるものを説明する。
【００１１】
図１は、この燃料噴射制御装置の全体構成を示す概略図である。同図において、吸気管１２の先端に設けられたエアクリーナ１４から導入される吸気が、スロットル弁１６で流量調節されつつサージタンク１８及び吸気マニホールド２０を通り、更に気筒毎の吸気弁（図示せず）を介して、４気筒内燃機関１０の各気筒に流入される。
【００１２】
各気筒の上記吸気弁の近傍には、燃料噴射用のインジェクタ２２が設けられ、吸気と噴射燃料との混合気が、気筒毎に設けられている点火プラグ（図示せず）で点火されて燃焼し、各ピストン（図示せず）を駆動する。
【００１３】
燃焼後の排気ガスは、各気筒の排気弁（図示せず）を介して排気マニホールド２４に排出され、更に排気マニホールド２４の集合部に連結された排気管２６を経て第１の三元触媒装置２８と第２の三元触媒装置３０で清浄化されて機関外に排出される。
【００１４】
スロットル弁１６は、アクセルペダルの踏み込み量等の運転状況に応じて回転するパルスモータＭにより駆動制御され、吸気管１２のスロットル弁１６近傍には、電磁弁３２の開閉量に応じて２次空気量を制御するバイパス路３４が併設されている。尚、スロットル弁１６は一般的に知られている機構と同様に、アクセルペダルと機械的に連動するものであっても良い。
【００１５】
また、内燃機関１０には、電磁弁（図示せず）の開閉量を制御することにより排気ガスの一部を吸気系へ環流させる排気環流機構（ＥＧＲ機構）１００と、燃料タンク３８内で発生する蒸発燃料（パージガス）を電磁弁（図示せず）の開閉量に応じて吸気系へ供給するキャニスタパージ機構２００が設けられている。
【００１６】
更に、内燃機関１０には、特開平２−２７５０４３号公報等に開示されているいわゆる可変バルブタイミング機構３００が備えられており、機関回転数Ｎｅ及び吸気系における吸気圧力Ｐｂ等の運転状態を示すパラメータに応じて、内燃機関１０のバルブタイミングＶ／Ｔが２種類のタイミング特性ＬｏＶ／ＴとＨｉＶ／Ｔの間で可変制御される。
【００１７】
更に、内燃機関１０のディストリビュータ（図示せず）内にはピストン（図示せず）のクランク角度位置を検出するクランク角検出センサ４０が設けられ、スロットル弁１６の近傍にはそのスロットル開度θTHを検出するスロットル開度検出センサ４２が設けられ、吸気管１２にはスロットル弁１６の下流側の吸気圧力（絶対圧力）Ｐｂを検出する絶対圧センサ４４とスロットル弁１６の上流側の吸気温度を検出する吸気温度センサ４６とが設けられている。内燃機関１０の適宜の位置には、大気圧Ｐａを検出する大気圧センサ４８と機関冷却水の温度Ｔｗを検出する水温センサ５０が設けられている。尚、図１中には示されていないが、可変バルブタイミング機構３００中には、選択バルブタイミング特性を検出する検出センサ５２が設けられている。そして、これらのセンサ４０〜５２の検出信号は制御ユニット３６に逐一供給される。
【００１８】
排気管２６において、三元触媒装置２８の上流側の部位には、第１の空燃比検出手段としての広域空燃比センサ５４が装着され、三元触媒装置２８，３０の間には、第２の空燃比検出手段としてのＯ2 センサ５６が装着されている。
【００１９】
広域空燃比センサ５４には、本特許出願人が先に行った特開平２−１１８４２号公報等に開示されているＬＡＦセンサが適用され、このＬＡＦセンサ５４は、リーンからリッチにわたる広範囲において排気ガス中の酸素濃度をリニアに検出することができる広域特性を有している。そして、このＬＡＦセンサ５４とＯ2 センサ５６の各検出信号は、それぞれ所定カットオフ周波数に設定されたローパスフィルタ５８，６０を介して制御ユニット３６に供給される。
【００２０】
次に、図２の回路ブロック図に基づいて、制御ユニット３６のシステム構成を説明する。制御ユニット３６は、マイクロプロセッサ６２と各種入出力ポートとを備え、中央制御部（以下、ＣＰＵコアと呼ぶ）６４が、ＲＯＭ７６によりファームウェア化されている種々のアプリケーションプログラムを実行することにより、後述するフィードフォワード制御及びフィードバック制御を行うようになっている。
【００２１】
ＬＡＦセンサ５４の検出信号は上記ローパスフィルタ５８を介して第１の検出回路６６へ入力され、検出回路６６はこの検出信号について所定の線型化処理を行うことにより、リーンからリッチにわたる広範囲における排気ガス中の酸素濃度に比例したリニアな空燃比（Ａ／Ｆ）を求めて、マルチプレクサ６８へ出力する。Ｏ2 センサ５６からの検出信号は上記ローパスフィルタ６０を介して第２の検出回路７０に入力され、検出回路７０はこの検出信号値を図３に示す如き特性曲線に適応することにより、内燃機関１０に供給された混合気の空燃比が理論空燃比（λ＝１）に対してリッチかリーンかを示す信号を発生してマルチプレクサ６８へ出力する。また、前記各センサ４２〜５２からの検出信号もマルチプレクサ６８に供給される。そして、各信号は、所定の切換えタイミングに同期してチャンネル切換えを行うマルチプレクサ６８を介してＡ／Ｄ変換器７２へ時分割転送されてデジタルデータに変換され、ランダムアクセスメモり（ＲＡＭ）７４の所定バッファ領域に格納されたり、ＣＰＵコア６４の演算に供される。尚、この実施例では、Ａ／Ｄ変換器７２は、所定のクランク角度（例えば、１５度）毎に第２の検出回路７０からの検出信号をＡ／Ｄ変換する。
【００２２】
更に、クランク角センサ４０からの検出信号は、波形整形回路７８で２値論理の矩形信号に波形整形された後、カウンタ８０において計数され、その計数値もＲＡＭ７４の所定バッファ領域に格納されたり、ＣＰＵコア６４の演算に供される。
【００２３】
読出し専用メモリ（ＲＯＭ）７６には、上記種々のアプリケーションプログラムや、前述のタイミング特性ＬｏＶ／ＴとＨｉＶ／Ｔのマップデータ、後述する種々の検索用マップデータが予め記憶され、ＣＰＵコア６４が、ＲＡＭ７４とＲＯＭ７６の各種データを適用しつつ上記のアプリケーションプログラムを実行することにより運転状態に応じた最適燃料噴射制御条件を求め、各駆動回路８２〜８８を介してインジェクタ２２、電磁弁３２、排気環流機構（ＥＧＲ機構）１００の前記電磁弁１０２、及びキャニスタパージ機構２００の前記電磁弁２０２を制御する。
【００２４】
図４は本実施例に係わる燃料噴射制御装置の機能を示すブロック線図であり、内燃機関１０に対する吸気系の特性を補償するためのフィードフォワード制御系と、３系統のフィードバック制御系が備えられ、前記の各種アプリケーションプログラムが実行されることによって、かかるブロック線図と等価な制御機能が発揮される。
【００２５】
即ち、図５に示すメインフローチャートの如く、ステップＳ４００において、機関回転数Ｎｅ、吸気圧力Ｐｂ、スロットル開度θTH、冷却水温度Ｔｗ等の最新の各種センサ出力をＲＡＭ７４へ読込み、ステップＳ５００において上記フィードフォワード制御系の演算処理を行うことによって基本燃料噴射量ＴiM-Fを決定し、ステップＳ６００において第１のフィードバック系の演算処理を行うことによって、目標空燃比KCMDと目標空燃比補正係数KCMDM 等を求め、ステップＳ７００において第２のフィードバック系の演算処理を行うことによって、適応型フィードバック制御のための補正係数KSTRとKLAF等を求め、ステップＳ８００において第３のフィードバック系の演算処理を行うことによって気筒別空燃比補正係数＃ｎKLAFを求め、ステップＳ９００において、基本燃料噴射量ＴiM-Fに目標空燃比補正係数KCMDM と各補正係数KSTR又はKLAFと＃ｎKLAFを乗算等することによって、最終的な気筒別の出力燃料噴射量＃ｎＴout を決定してインジェクタ２２を駆動するようになっている。尚、添字＃ｎは各気筒を示し、出力燃料噴射量＃ｎＴout は、各気筒のインジェクタ２２の開弁時間を規定するものである。更に、このメインフローチャートの処理は、ＴＤＣに同期して行われる。
【００２６】
次に、各ブロック毎に機能を説明する。先ず、フィードフォワード制御系（図４中に「ＦＦＣ」と示す）は、本出願人が先に提案した特願平６−１９７２３８号に開示されているので簡単に述べると、吸気系におけるスロットル弁１６の下流から各気筒の吸入ポートまでの全ての実効容積（吸気管１２の該当部分とサージタンク１８等を含むチャンバ）についての流体力学モデル（数学モデル）等を構築し、スロットル開度θTHと吸気圧力Ｐｂをこの流体力学モデルに適用することにより、定常運転状態のみならず過渡運転状態をも含めた全ての運転状態における最適な基本燃料噴射量ＴiM-Fを決定する。
【００２７】
図６は基本燃料噴射量ＴiM-Fの演算ルーチン（図５のステップＳ５００に対応する）を示すフローチャート、図７はこの演算ルーチンを説明するブロック線図であり、更にこれらの図に基いてフィードフォワード制御系の機能を説明する。ステップＳ５０２において機関が始動状態にあるか否か判断し、肯定されるときはステップＳ５０４において始動モードに対応する基本燃料噴射量ＴiM-Fを設定し、否定されるときはステップＳ５０６においてフューエルカット状態にあるか否か判断する。ここで肯定されるときはステップＳ５０８において燃料カット用の基本燃料噴射量ＴiM-F（＝０）を設し、否定されるときは通常の運転状態に対応する基本燃料噴射量を設定すべくステップＳ５１０以降の処理へ移る。
【００２８】
ステップＳ５１０では、機関回転数Ｎｅと吸気圧力ＰｂをパラメータとしてＲＯＭ７６の所定マップを検索することにより、定常運転状態時の燃料噴射量（基準値）ＴiMを求める。即ち、予めスピードデンシティ方式に基づいて機関回転数Ｎｅと吸気圧力Ｐｂをパラメータとする燃料噴射量ＴiMが求められ、かかる燃料噴射量ＴiMがＲＯＭ７６にマップデータとして格納されている。
【００２９】
ステップＳ５１２では、スロットル開度θTHの値を一次遅れ伝達関数（１−Ｂ）／（Ｚ−Ｂ）に適応することによって、スロットル開度θTHの一次遅れ値θTH-Dを演算する。即ち、過渡運転状態時には、スロットル開度θTHの変化が直接的に吸気ポートの吸入空気量に対応しないので、一次遅れ値θTH-Dをもって近似することにしている。尚、伝達関数中のＢは係数である。
【００３０】
ステップＳ５１４においては、図７に示す如く、予めＲＯＭ７６に格納されているマップを検索することにより、スロットル開度θTHに対応するスロットル投影面積（吸気管長手方向へのスロトル投影面積）Ｓと、スロットル開度θTH及び吸気圧力Ｐｂに対応する補正係数（流量係数αと気体の膨張補正係数εの積）Ｃを求め、スロットル投影面積Ｓに補正係数Ｃを乗算することによって、定常運転状態時のスロットル有効開口面積Ａを演算する。
【００３１】
ステップＳ５１６においては、図７に示す如く、予めＲＯＭ７６に格納されているマップを検索することにより、スロットル開度の一次遅れ値θTH-Dに対応するスロットル投影面積Ｓと、一次遅れ値θTH-D及び吸気圧力Ｐｂに対応する補正係数Ｃを求め、このスロットル投影面積Ｓに補正係数Ｃを乗算することによって、過渡運転状態時のスロットル有効開口面積ＡDELAY を演算する。
【００３２】
ステップＳ５１８においては、バイパス路３４の開口断面ＡBYPASSをも考慮して、
【００３３】
【数１】
0003749971.tif 000002
【００３４】
により、定常運転状態時の有効開口面積Ａと過渡運転状態時の有効開口面積ＡDELAY との比RATIO-A を演算する。
【００３５】
ステップＳ５２０においては、燃料噴射量ＴiMに比RATIO-A を乗算することによって、定常運転状態時及び過渡運転状態時に適応する燃料噴射量ＴiM-F’を求める。即ち、比RATIO-A の値は、定常運転状態では１となり、過渡運転状態では１を除く或る値になるので、定常運転状態と過渡運転状態との両者に対応するものである。よって、燃料噴射量ＴiMに比RATIO-A を乗算することによって、定常運転状態時及び過渡運転状態時に適応する燃料噴射量ＴiM-F’が求まる。
【００３６】
ステップＳ５２２においては、機関回転数Ｎｅと吸気圧力Ｐｂ、吸気温度及び冷却水温度Ｔｗ、パージガス濃度ＰＵＧ、排気ガスの還流率等のパラメータに基づいて、ＲＯＭ７６の所定マップを検索することにより補正係数KTOTALを求め、更に、燃料噴射量ＴiM-F’に補正係数KTOTALを乗算することにより、ＥＧＲ機構１００とキャニスタパージ機構２００の影響を補償した基本燃料噴射量ＴiM-Fを決定する。
【００３７】
このように、このフィードフォワード制御系は、運転状態の変化に伴ってシリンダ流入空気量が変動しても、スロットル開度θTHと吸気圧力Ｐｂからそのシリンダ流入空気量に対応する最適な基本燃料噴射量ＴiM-Fを決定する。
【００３８】
次に、第１のフィードバック系を説明する。このフィードバック系は、図４中の「ＫＣＭＤ」と「ＫＣＭＤ補正」及び「ＫＣＭＤＭ］で示す機能ブロックを備え、図８に示すフローチャート（図５のステップＳ６００に対応する）に従って演算処理を行う。
【００３９】
先ず、図８のステップＳ６０２において、機関回転数Ｎｅと吸気圧力ＰｂをパラメータとしてＲＯＭ７６の所定マップを検索することにより、空燃比の基本値ＫＢＳを求める。即ち、この基本値ＫＢＳは、機関回転数Ｎｅと吸気圧力Ｐｂをパラメータとして、定常運転状態時にＯ2 センサ５６の出力から求めることができる空燃比のデータであり、予めＲＯＭ７６に格納されている。尚、このマップにはアイドル運転状態時に対応する基本値も格納されている。更に、機関の低負荷時にその機関へ供給する空燃比を大きく（当量比で言えば小さく）して燃焼特性を向上させるための所謂リーンバーン機関にあっては、リーンバーン用の基本値も格納されている。
【００４０】
ステップＳ６０４においては、内蔵されているタイマ回路（図示せず）の値を参照することにより、機関始動後のリーンバーン制御が実行されているか否かを判定し、リーンバーン制御期間であれば、リーン補正係数を例えば０．８９、そうでない場合には１．０とする。
【００４１】
かかる判定を行うのは次の理由による。本実施例に係る内燃機関１０には可変バルブタイミング機構３００が設けられており、始動後のクランキング期間（始動期間）では、各気筒の吸気弁の一方の動作を休止させることによって、目標空燃比を理論空燃比よりもややリーン側に設定するリーンバーン制御を行い、この結果、触媒装置が未だ活性化していない始動期間であっても、炭化水素（ＨＣ）の増加を抑制することができるという効果を発揮させるようにしているからである。尚、気筒毎に２個の吸気弁を有している通常の内燃機関（可変バルブタイミング機構を備えない内燃機関）にあっては、機関始動後に目標空燃比をリーン側に設定すると、機関内の燃焼が不安定となって失火を招来することとなるが、かかる可変バルブタイミング機構３００を備えた本実施例の内燃機関にあっては、吸気弁の一方を休止させることに伴って燃焼室内に所謂スワールと呼ばれる渦流ができるので、機関の始動直後にリーン化を行っても安定した燃焼が得られる。ステップＳ６０６において、スロットル開度が全開（ＷＯＴ）であるか否か判定し、この判定結果に応じて全開増量補正値を算出し、更にステップＳ６０８において、冷却水温度Ｔｗが高いか否か判定し、この判定結果に応じて増量補正係数KTWOT を演算する。尚、この増量補正係数KTWOT には、高水温時の機関保護のための補正係数値も含まれる。
【００４２】
ステップＳ６１０では、補正係数KTWOT を基本値ＫＢＳに乗算することによってその基本値ＫＢＳを補正すると共に、数２に示す演算によって目標空燃比KCMDを決定する。即ち、図３に示す如く、理論空燃比近傍のＯ2 センサ５６の出力が線形特性を備える範囲内（縦軸に破線で示す）において、空燃比の微小制御を行うためのウインドウ（以下、DKCMD-OFFSETとする）を設定した後、補正後の上記基本値ＫＢＳにこのウインドウ値DKCMD-OFFSETを加算することにより、目標空燃比KCMDを求める。
【００４３】
【数２】
0003749971.tif 000003
【００４４】
次に、ステップＳ６１２において、目標空燃比KCMD(k) （ここで、ｋは時刻）のリミット処理を行った後、ステップＳ６１４において、その目標空燃比KCMD(k) が１ないしその付近の値にあるか否かを判断し、肯定されるときはステップＳ６１６において、Ｏ2 センサ５４の活性化判断を行う。尚、この活性化判断は、図示しない別ルーチンで実行され、Ｏ2 センサ５６の検出信号の電圧変化を検出することで行う。
【００４５】
次に、ステップＳ６１８において、ＭＩＤＯ2 制御用の値DKCMD を演算する。ここで、ＭＩＤＯ2 制御とは、三元触媒装置２８の下流側のＯ2 センサ５６の出力により上流側のＬＡＦセンサ５４の目標空燃比KCMD(k) を可変とする作業を意味する。詳しくは図３に示す如く、所定の比較電圧ＶrefMとＯ2 センサ５６の出力電圧ＶO2Ｍの偏差にＰＩＤ制御則を用いて値DKCMD を算出することで行う。尚、比較電圧ＶrefMは、大気圧Ｐａ、水温Ｔｗ、排気ボリューム（機関回転数Ｎｅおよび吸気圧力Ｐｂより求めることが可能）などに応じて求められる。
【００４６】
更に、上記のウインドウ値DKCMD-OFFSETは、三元触媒装置２８，３０の浄化率を最適状態に維持するために付加されるオフセット値であり、触媒装置固有の特性に起因して相違するので、三元触媒装置２８の特性を勘案して決定される。また、ウインドウ値DKCMD-OFFSETは、触媒装置２８，３０の経年劣化によっても変化することから、値DKCMD の毎回の算出値を用いて加重平均により学習する。具体的には、
【００４７】
【数３】
0003749971.tif 000004
【００４８】
の演算式により求められる。ここで、Ｗは重み係数、ｋは時刻であり、より具体的には制御サイクルを示す。即ち、目標空燃比KCMDをウインドウ値DKCMD-OFFSETの前回算出値で学習演算することにより、触媒装置２８，３０の経年劣化の影響を受けることなく、それらの浄化率が最適となる空燃比にフィードバック制御するようにしている。
【００４９】
次に、ステップＳ６２０において、上記算出した値DKCMD(k)に目標空燃比KCMD(k) を加算して、新たな目標空燃比KCMD(k) を設定（更新）し、次に、ステップＳ６２２において、更新後の目標空燃比KCMD(k) に基づいてＲＯＭ７６中の所定テーブルを検索することにより、補正係数KETCを求める。補正係数KETCは、気化熱で吸入空気の充填効率が相違するのを補償するためにある。具体的には、求めた補正係数KETCに目標空燃比KCMD (k)を乗算することにより、補正された（更新された）目標空燃比補正係数KCMDM(k)を算出する。即ち、この制御においては目標空燃比を当量比で示すと共に、それに充填効率補正を施した値を目標空燃比補正係数KCMDM(k)としている。
【００５０】
尚、上記ステップＳ６１４で否定されるときは、制御すべき目標空燃比KCMD(k) が理論空燃比に対して大きくずれているときであり、例えばリーンバーン運転状態時であることから、直ちにステップＳ６２２へジャンプする。
【００５１】
最後にステップＳ６２４において、目標空燃比補正係数KCMD(k) のリミット処理を行い、そして、図４に示すように、フィードフォワード制御系からの基本燃料噴射量ＴiM-Fに目標空燃比補正係数KCMDM(k)を乗算することにより、要求燃料噴射量Ｔcyl を算出する。
【００５２】
このように、第１のフィードバック系の機能は、定常運転状態における空燃比の基本値ＫＢＳについてＯ2 センサ５６の出力に基づく上記所定の補正処理を行うことによって、目標空燃比KCMDと目標空燃比補正係数KCMDM を求めると共に、基本燃料噴射量ＴiM-Fに目標空燃比補正係数KCMDM を乗算することにより、触媒装置に対する理想的な空燃比を設定し得る要求燃料噴射量Ｔcyl を算出する。
【００５３】
次に、第２のフィードバック系を説明する。このフィードバック系は、図４中の「ＳＴＲ」で示す適応型制御器と、「ＰＩＤＣ」で示すＰＩＤ制御器と、「切替ＳＷ」で示す切替機構を備え、以下に述べるこれらの機能は、ＣＰＵコア６４による所定アプリケーションプログラムの実行によって実現される。尚、このフィードバック系は、特願平６−３４００２１号に詳細に開示されているので、ここではその概略を説明する。
【００５４】
このフィードバック系は、前記フィードフォワード系で演算された基本燃料噴射量ＴiMに目標空燃比補正係数KCMDM を乗算することにより要求燃料噴射量Ｔcyl を求めただけでは、内燃機関１０の応答遅れ等に起因して目標空燃比KCMDが鈍された空燃比となってしまうので、目標空燃比KCMDから空燃比の応答を動的に補償する目的で、適応制御器ＳＴＲを用いてフィードバック補正係数KSTRを求め、このフィードバック補正係数KSTRにより要求燃料噴射量Ｔcyl を更に補正するようにしている。更に、適応制御器ＳＴＲは制御の応答性が比較的高いので、運転状態に応じて目標空燃比KCMDが大きく変動するような場合には却って制御量が発振して制御の安定性が低下するという問題を招来することから、制御が不安定となるような場合には、ＰＩＤ制御器ＰＩＤＣにより求めたフィードバック補正係数KLAFで要求燃料噴射量Ｔcyl を補正する。そして、運転状態に応じてこれらのフィードバック補正係数KSTRとKLAFを切換えて適用するために、切換機構が設けられている。更に、異なる制御則に基づいて決定されたフィードバック補正係数を切り換えるときは、それぞれの特性が異なることから、補正係数に段差が生じて操作量が急変し、制御量が不安定となって制御の安定性が低下する恐れがあるので、切換機構は、その切り換えを滑らかに実行することによって、フィードバック補正係数に不連続を生じないようにしている。
【００５５】
先ず、ＰＩＤ制御器ＰＩＤＣは、サンプリング動作ブロック（図中に「sel-Ｖ」と示す）で推定される排気系集合部の空燃比（以下、検出空燃比KACTと呼ぶ）に基づいて目標空燃比KCMDを動的に補償する。ここで、サンプリング動作ブロックsel-Ｖは、ＬＡＦセンサ５４の検出信号から上記検出空燃比KACTを演算する機能を有しており、後述する第３のフィードバック系においても、この検出空燃比KACTを用いて所定のフィードバック制御を行うようになっている。尚、サンプリング動作ブロックsel-Ｖの詳細は第３のフィードバック系と共に説明することとする。
【００５６】
ＰＩＤ制御器ＰＩＤＣの処理を述べると、先ず、目標空燃比KCMDと検出空燃比KACTの制御偏差DKAFを、
【００５７】
【数４】
0003749971.tif 000005
【００５８】
と求める。尚、ｄ’はKCMDがKACTに反映されるまでの無駄時間を示す。よって、KCMD(k-d')は無駄時間制御周期前の目標空燃比を示す。KACT(k) は今回制御周期の検出空燃比を示す。また、この明細書での空燃比は、目標値KCMDも検出値KACTも実際には当量比、即ち、Ｍst／Ｍ＝１／λで示している（Ｍstは理論空燃比、Ｍは空気消費量Ａと燃料消費量Ｆの比Ａ／Ｆ、λは空気過剰率）。
【００５９】
次いで、それに所定の係数を乗じてＰ項KLAFP(k)、Ｉ項KLAFI(k)、及びＤ項KLAFD(k)を、
【００６０】
【数５】
0003749971.tif 000006
【００６１】
と求める。
【００６２】
このように、Ｐ項は偏差DKAF(k) に比例ゲインKPを乗じて求め、Ｉ項は偏差に積分ゲインKIを乗じて得た値をフィードバック補正係数の前回値KLAF(k) に加算することによって求め、Ｄ項は偏差の今回値DKAF(k) と前回値DKAF(k-1) の差に微分ゲインKDを乗じることによって求める。尚、各ゲインKP，KI，KDは、機関回転数Ｎｅと吸気圧力Ｐｂをパラメータとして所定のマップ検索により求められる。更に、数６に示す如く、これらの値を合算し、更にオフセット分１．０を加算することにより、ＰＩＤ制御器ＰＩＤＣのＰＩＤ制御則によるフィードバック補正係数の今回値KLAF(k) を求める。
【００６３】
【数６】
0003749971.tif 000007
【００６４】
次に、適応制御器ＳＴＲの機能を図９に基づいて説明する。適応制御器ＳＴＲは、ＳＴＲコントローラとパラメータ調整機構とを有し、ＳＴＲコントローラは、第１のフィードバック系からの目標空燃比KCMD(k) と前記サンプリング動作ブロック（ｓｅｌ−Ｖ）からの検出空燃比KACT(k) とを入力すると共に、ランダウらの提案したパラメータ調整則（機構）によって同定された係数ベクトルを受け取って適応デジタル信号処理を行うことにより、フィードバック補正係数KSTR(k) を算出する。換言すれば、漸化式を用いてフィードバック補正係数KSTR(k) を算出する。
【００６５】
この手法によれば、いわゆる適応システムを線形ブロックと非線形ブロックとから構成される等価フィードバック系に変換し、非線形ブロックについては入出力に関するポポフの積分不等式が成立し、線形ブロックは強正実となるように調整則を決めることによって、適応システムの安定が保証されることとなる。尚、かかる手法は、例えば、「コンピュートロール」（コロナ社刊）Ｎｏ．２７．２８頁〜４１頁、ないし「自動制御ハンドブック」（オーム社刊）７０３頁〜７０７頁に記載されている。
【００６６】
このランダウらの調整則を用いた適応制御技術を以下説明すると、ランダウらの調整則では、離散系の制御対象の伝達関数Ａ（Ｚ-1）／Ｂ（Ｚ-1）の分母分子の多項式を数７で▲１▼▲２▼のようにおいたとき、適応パラメータθハット (k)および適応パラメータ調整機構への入力ζ(k) は、数７で▲３▼▲４▼のように定められる。数７では、ｍ＝１，ｎ＝１，ｄ＝３の場合、即ち、１次系で３制御サイクル分の無駄時間を持つプラントを例にとった。ここでのｋは時刻、より具体的には、制御サイクルを示す。
【００６７】
【数７】
0003749971.tif 000008
【００６８】
ここで適応パラメータθハット (k)は、数８で表される。また数８中のΓ(k) およびｅアスタリスク(K) は、それぞれゲイン行列および同定誤差信号であり、数９および数１０のような漸化式で表される。
【００６９】
【数８】
0003749971.tif 000009
【００７０】
【数９】
0003749971.tif 000010
【００７１】
【数１０】
0003749971.tif 000011
【００７２】
また数９中のλ1(k)，λ2(k)の選び方により、種々の具体的なアルゴリズムが与えられる。λ1(k)＝１，λ2(k)＝λ（０＜λ＜２）とすると漸減ゲインアルゴリズム（λ＝１の場合には最小自乗法）、λ1(k)＝λ１（０＜λ１＜１）、λ2(k)＝λ２（０＜λ２＜λ) とすると可変ゲインアルゴリズム（λ２＝１の場合には重み付き最小自乗法）、λ1(k)／λ2(k)＝σとおき、λ３が数１１のように表されるとき、λ1(k)＝λ３とおくと固定トレースアルゴリズムとなる。またλ1(k)＝１，λ2(k)＝０のとき固定ゲインアルゴリズムとなる。この場合は数９から明らかな如く、Γ(k) ＝Γ(k-1) となり、よってΓ(k) ＝Γの固定値となる。
【００７３】
【数１１】
0003749971.tif 000012
【００７４】
ここで、図９にあっては、前記したＳＴＲコントローラ（適応制御器）と適応パラメータ調整機構とは燃料噴射量演算系の外におかれ、検出空燃比KACT（k)が目標空燃比KCMD(k-d')（ここでｄ’は前述の如くKCMDがKACTに反映されるまでの無駄時間）に適応的に一致するように動作してフィードバック補正係数KSTR(k) を演算する。即ち、ＳＴＲコントローラは、適応パラメータ調整機構によって適応的に同定された係数ベクトルθハット(k) を受け取って目標空燃比KCMD(k-d')に一致するようにフィードバック補償器を形成する。
【００７５】
このように、フィードバック補正係数KSTR(k) および検出空燃比KACT(k) が求められて適応パラメータ調整機構に入力され、そこで適応パラメータθハット(k) が算出されてＳＴＲコントローラに入力される。ＳＴＲコントローラには入力として目標空燃比KCMD(k) が与えられ、検出空燃比KACT(k) が目標空燃比KCMD(k) に一致するように漸化式を用いて数１２に示すフィードバック補正係数KSTR(k) を算出する。
【００７６】
【数１２】
0003749971.tif 000013
【００７７】
演算されたフィードバック補正係数KSTR(k) は、切換機構を介して要求燃料噴射量Ｔcyl に乗算され、その補正された燃料噴射量Ｔcyl ’が更に後述する第３のフィードバック制御系の気筒別空燃比補正係数＃ｎKLAFで補正されることにより、気筒別出力燃料噴射量＃ｎＴout が求められる。
【００７８】
尚、切換機構は、所定の切換えフラグFKSTR に同期して切換え処理し、目標空燃比KCMDが大きく変動するような運転状態にあっては、フィードバック補正係数KLAF(k) を切換え選択して要求燃料噴射量Ｔcyl に乗算し、目標空燃比KCMDが大きく変動しない運転状態にあっては、フィードバック補正係数KSTR(k) を切換え選択して、要求燃料噴射量Ｔcyl に乗算する。即ち、要求燃料噴射量Ｔcyl は、フィードバック補正係数KSTR又はKLAFにより補正される。
【００７９】
次に、第３のフィードバック系を説明する。このフィードバック系は基本的には、サンプリング動作ブロック「sel-Ｖ」が推定する排気系集合部の空燃比、即ち、検出空燃比KACTにオブザーバ（図４中にＯＢＳＶと示す）を適用することにより、気筒別空燃比＃ｎKACTを求め、更に、ＰＩＤ制御則（図４中にＰＩＤと示す）により気筒別空燃比＃ｎKACTから気筒毎の空燃比補正係数＃ｎKLAFを算出する。尚、添字＃ｎは各気筒を示す。そして、気筒別空燃比補正係数＃ｎKLAFを燃料噴射量Ｔcyl ’に乗算することによって、各気筒の空燃比を均一化することができる出力燃料噴射量＃ｎＴout を設定し、ひいては三元触媒２８，３０の排気ガス清浄効率の向上を図るようにしたものである。即ち、この第３のフィードバック系は、空燃比が各気筒でバラツクのをフィードバック補正するものである。まず、このフィードバック系の動作を説明する前に、サンプリング動作ブロック「sel-Ｖ」及びオブザーバについて説明する。
【００８０】
排気ガスは排気行程で排出されることから、多気筒内燃機関１０の排気系集合部において空燃比の挙動をみると、明らかに空燃比はＴＤＣに同期する。従って、排気系の集合部に単一のＬＡＦセンサ５４を設けて空燃比をサンプリングするときもＴＤＣに同期して行う必要があることとなる。しかし、ＬＡＦセンサ５４の検出出力を処理する制御ユニット（ＥＣＵ）３６のサンプルタイミングによっては空燃比の挙動を正確に捉えられない場合が生じる。
【００８１】
即ち、例えば、ＴＤＣに対して排気系集合部の空燃比が図１０のようであるとき、制御ユニット３６で認識する空燃比は図１１に示す如く、サンプリングタイミングによっては全く違った値となってしまう。更に、その空燃比の変化は、排気ガスがＬＡＦセンサ５４に到達するまでの時間やＬＡＦセンサ５４の反応時間によっても相違する。その内、ＬＡＦセンサ５４までの到達時間は排気ガス圧力、排気ガスボリュームなどに依存して変化する。更に、ＴＤＣに同期してサンプリングすることはクランク角度に基づいてサンプリングすることになるので、必然的に機関回転数Ｎｅの影響を受けざるを得ない。このように、空燃比の検出値は機関の運転状態に依存するところが大きい。このような課題を解決するために、サンプリング動作ブロックsel-ＶとオブザーバＯＢＳＶが設けられている。
【００８２】
排気系集合部に設けられた単一のＬＡＦセンサ５４の検出信号から各気筒の空燃比を精度良く分離抽出するためには、ＬＡＦセンサ５４の検出応答遅れを正確に解明する必要がある。そこで、図１２に示すように、この遅れを擬似的に１次遅れ系でモデル化すると、その状態方程式は数１３で示すことができる。
【００８３】
【数１３】
0003749971.tif 000014
【００８４】
これを周期ΔＴで離散化すると、数１４で示すようになる。図１３は数１４をブロック線図で表したものである。
【００８５】
【数１４】
0003749971.tif 000015
【００８６】
従って、数１４を用いることによってＬＡＦセンサ５４の検出出力から真の空燃比を求めることができる。即ち、数１４を変形すれば数１５に示すようになるので、時刻ｋのときの値から時刻ｋ−１のときの値を数１６のように逆算することができる。
【００８７】
【数１５】
0003749971.tif 000016
【００８８】
【数１６】
0003749971.tif 000017
【００８９】
具体的には数１５をＺ変換を用いて伝達関数で示せば数１７のようになるので、その逆伝達関数を今回のＬＡＦセンサ５４の検出出力ＬＡＦ(k) に乗じることによって前回の入力空燃比をリアルタイムに推定することができる。図１４にそのリアルタイムのＡ／Ｆ推定器のブロック線図を示す。
【００９０】
【数１７】
0003749971.tif 000018
【００９１】
続いて、上記の如く求めた真の空燃比に基づいて各気筒の空燃比を分離抽出する手法について説明すると、排気系の集合部の空燃比を各気筒の空燃比の時間的な寄与度を考慮した加重平均であると考え、時刻ｋのときの値を、数１８のように表した。尚、Ｆ（燃料量）を制御量としたため、ここでは『燃空比Ｆ／Ａ』を用いているが、後の説明においては理解の便宜のため、支障ない限り「空燃比」を用いる。尚、空燃比（ないしは燃空比）は、先に数１７で求めた応答遅れを補正した真の値を意味する。
【００９２】
【数１８】
0003749971.tif 000019
【００９３】
即ち、集合部の空燃比は、気筒ごとの過去の燃焼履歴に重みＣ（例えば直近に燃焼した気筒は４０％、その前が３０％．．．など）を乗じたものの合算で表した。このモデルをブロック線図であらわすと、図１５のようになる。
【００９４】
また、その状態方程式は数１９のようになる。
【００９５】
【数１９】
0003749971.tif 000020
【００９６】
また集合部の空燃比をｙ(k) とおくと、出力方程式は数２０のように表すことができる。
【００９７】
【数２０】
0003749971.tif 000021
【００９８】
上記において、ｕ(k) は観測不可能のため、この状態方程式からオブザーバを設計してもｘ(k) は観測することができない。そこで４ＴＤＣ前（即ち、同一気筒）の空燃比は急激に変化しない定常運転状態にあると仮定してｘ(k＋1 ) ＝ｘ(k-3) とすると、数２１のようになる。
【００９９】
【数２１】
0003749971.tif 000022
【０１００】
そして、かかるモデルについてシミュレーションすると、モデル出力値がＬＡＦセンサ５４出力の実測値に対して良好に追従するという結果が得られ、上記モデルが多気筒内燃機関の排気系を良くモデル化していることを検証することができた。
【０１０１】
よって、数２２で示される状態方程式と出力方程式（数２０）にてｘ(k) を観察する通常のカルマンフィルタの問題に帰着する。その荷重行列Ｑ，Ｒを数２３のように置いてリカッチの方程式を解くと、ゲイン行列Ｋは数２４のようになる。
【０１０２】
【数２２】
0003749971.tif 000023
【０１０３】
【数２３】
0003749971.tif 000024
【０１０４】
【数２４】
0003749971.tif 000025
【０１０５】
これよりＡ−ＫＣを求めると、数２５のようになる。
【０１０６】
【数２５】
0003749971.tif 000026
【０１０７】
ところで、一般的なオブザーバの構成は図１６に示されるようになるが、今回のモデルでは入力ｕ(k) がないので、図１７に示すようにｙ(k) のみを入力とする構成となり、これを数式で表すと数２６のようになる。
【０１０８】
【数２６】
0003749971.tif 000027
【０１０９】
ここで、ｙ(k) を入力するとオブザーバ、即ちカルマンフィルタのシステム行列は数２７のように表される。
【０１１０】
【数２７】
0003749971.tif 000028
【０１１１】
今回のモデルで、リカッチ方程式の荷重配分Ｒの要素：Ｑの要素＝１：１のとき、カルマンフィルタのシステム行列Ｓは、数２８で与えられる。
【０１１２】
【数２８】
0003749971.tif 000029
【０１１３】
図１８に上記したモデルとオブザーバを組み合わせたものを示す。シミュレーションの結果によれば、集合部空燃比より各気筒の空燃比を的確に抽出することができることが検証された。
【０１１４】
このように、オブザーバによって、集合部空燃比Ａ／Ｆ（即ち、Ａ／ＦとはKACTと等価である）より各気筒別空燃比♯ｎＡ／Ｆを推定すること（各気筒空燃比推定手段）ができたことから、ＰＩＤ制御則を用いて空燃比を気筒別に制御するための気筒別空燃比補正係数♯ｎKLAFを演算すること（気筒別空燃比補正係数算出手段）が可能となる。
【０１１５】
具体的には、図１９に示すように、排気系集合部の空燃比（即ち、KACT）を気筒毎の空燃比補正係数＃ｎ気筒別空燃比の全気筒についての平均値の前回演算値で除算して求めた目標値と、上記オブザーバの気筒毎の推定値＃ｎＡ／Ｆと、の偏差を解消するようにＰＩＤ制御則を用いて求める。即ち、数２９に示す如く、ＰＩＤ制御則に適用する上記目標値KCMDOBSVは、前回ＴＤＣ時に推定された各気筒の空燃比補正係数＃１KLAF〜＃４KLAFの平均値で、今回求められた検出空燃比KACTを除算することによって求められる。
【０１１６】
【数２９】
0003749971.tif 000030
【０１１７】
一方、気筒別空燃比補正係数＃ｎKLAFは、数３０に示すように、各気筒＃ｎ毎に、検出空燃比＃ｎKACT(m) と目標値KCMDOBSVとの偏差＃ｎDKACT(m)を求めると共に、今回求められた偏差＃ｎDKACT(m)と前回求められた偏差＃ｎDKACT(m-1)との偏差（２回微分に相当する）＃ｎDDKACTを求め、更に、これらの演算結果を適用することによって、各気筒＃ｎに該当するＰＩＤ制御則のＫＰ項とＫＩ項及びＫＤ項を求め、最後に、これらのＫＰ項とＫＩ項及びＫＤ項を適用して、気筒別空燃比補正係数＃ｎKLAFを求める。尚、＃ｎは各気筒＃１〜＃４を示し、ｍは、４ＴＤＣ毎の時点を示す。即ち、気筒別空燃比補正係数＃ｎKLAFは、それぞれ４ＴＤＣに１回演算される。尚、次式中、基準ゲインであるＫＰOBSV項とＫＩOBSV項及びＫＤOBSV項は、機関がアイドリング動作のときと、それ以外の動作時とでは、それぞれ異なった値に設定され、ＲＯＭ７６に予めデータマップとして格納されているので、かかる演算の際に運転状態に応じてマップ検索されるようになっている。
【０１１８】
【数３０】
0003749971.tif 000031
【０１１９】
これにより、各気筒の空燃比は集合部空燃比に収束し、集合部空燃比は目標空燃比に収束することとなって、結果的に全ての気筒の空燃比が目標空燃比に収束する。ここで、各気筒の出力燃料噴射量＃ｎＴout （インジェクタの開弁時間で規定される）は、
【０１２０】
【数３１】
0003749971.tif 000032
【０１２１】
で求められる（ｎは気筒）。
【０１２２】
以上の説明では、サンプリング動作ブロックsel-Ｖとオブザーバ及び第３のフィードバック系との基本原理を述べたが、より具体的な動作を図２０及び図２１のフローチャートと共に説明する。
【０１２３】
先ず、図２０のフロー・チャートに基づいて、排気系集合部の空燃比Ａ／Ｆ  （即ち、KACT）を求めるまでの動作を説明する。尚、この処理は、実際には、図５に示すルーチン中のステップＳ４００の中で予め実行されることにより、ステップ７００及びステップＳ８００の処理で検出空燃比KACT及び推定値＃ｎＡ／Ｆを用いることができるようになっている。
【０１２４】
図２０において、Ｓ４０２では、機関回転数Ｎｅ、吸気圧力Ｐｂ、バルブタイミングV/T を読み出し、次いでＳ４０４とＳ４０６に進んでＨｉＶ／ＴとＬｏＶ／Ｔ用のタイミングマップを検索する。
【０１２５】
図２５はそのタイミングマップの特性を示す説明図であり、図示の如く特性は、機関回転数Ｎｅが低くないしは吸気圧力（負圧）Ｐｂが高いほど早いクランク角度でサンプリングされた値を選択するように設定される。ここで、「早い」とは前のＴＤＣ位置により近い位置でサンプリングされた値（換言すれば古い値）を意味する。逆に、機関回転数Ｎｅが高くないしは吸気圧力Ｐｂが低いほど遅いクランク角度、即ち、後のＴＤＣ位置に近いクランク角度でサンプリングされた値（換言すれば新しい値）を選択するように設定する。即ち、ＬＡＦセンサ出力は図１１に示したように、実際の空燃比の変局点に可能な限り近い位置でサンプリングするのが最良であるが、その変局点、例えば最初のピーク値は、センサの反応時間を一定と仮定すれば、図２６に示すように、機関回転数Ｎｅが低くなるほど早いクランク角度で生じる。また、負荷が高いほど排気ガス圧力や排気ガスボリュームが増加し、従って排気ガスの流速が増してＬＡＦセンサ５４への到達時間が早まるものと予想される。その意味から、サンプルタイミングを図２５に示すように設定した。
【０１２６】
更に、バルブタイミングに関しては、機関回転数の任意の値Ｎe1をＬｏ側についてＮe1-Lo 、Ｈｉ側についてＮe1-Hi とし、吸気圧力についてもその任意の値をＬｏ側についてＰb1-Lo 、Ｈｉ側についてＰb1-Hi とすると、マップ特性は、
Ｐb1-Lo ＞Ｐb1-Hi
Ｎe1-Lo ＞Ｎe1-Hi
とする。即ち、ＨｉV/T にあっては排気弁の開き時点がＬｏV/T のそれより早いため、機関回転数ないし吸気圧力の値が同一であれば、早期のサンプリング値を選択するように、マップ特性が設定される。
【０１２７】
次に、ステップＳ４０８において、ＨｉＶ／Ｔに対応する処理とＬｏＶ／Ｔに対応する処理に分岐し、ＨｉＶ／Ｔの場合にはステップＳ４１０に移行し、ＬｏＶ／Ｔの場合にはステップＳ４１２へ移行する。尚、いずれの処理も基本原理は同じであるので、ＬｏＶ／Ｔの場合の処理を代表して述べることとする。
【０１２８】
ステップＳ４１２においては、機関回転数Ｎｅが所定の上限値ＮｅOBSV（この実施例では、３５００ｒｐｍ）より小さいか否か判断し、肯定されるときはステップＳ４１４ないしＳ４１６の処理へ移行し、ステップＳ４１４，Ｓ４１６においては、吸気圧力Ｐｂが所定の上限値ＰｂOBSV1 と下限値ＰｂOBSV2 （この実施例では、ＰｂOBSV1 ＝１６０ｍｍＨｇ、ＰｂOBSV2 ＝６６０ｍｍＨｇ）の範囲内にあるか否か判断し、肯定されるときはステップＳ４１８の処理へ移行する。ステップＳ４１８では、ＥＧＲ機構１００が動作領域中にあるか否か判断し、肯定されるときはＳ４２０において、機関回転数Ｎｅと吸気圧力Ｐｂに基づいて所定のタイミングマップを検索することにより、ＥＧＲ用ＨｉＶ／ＴのサンプリングタイミングSELVを求める。一方、ステップＳ４１８で否定されるときは、ステップＳ４２２において、ＥＧＲ無しのＨｉＶ／ＴサンプリングタイミングSELVを求める。そして、ステップＳ４２６の処理へ移行する。
【０１２９】
尚、ステップＳ４１２〜Ｓ４１６で否定される場合には、ステップＳ４２４において、サンプリングタイミングSELVが所定値に固定される。尚、ステップＳ４２４において、このサンプリングタイミングSELVには前回周期の（直前の）サンプリングタイミングを用いてもよい。そして、ステップＳ４２６の処理へ移行する。
【０１３０】
次に、ステップＳ４２６において、ＬＡＦセンサ５４の特性変化等があるか否かの判断を行う。尚、この特性変化等の判定は、図２１と共に後述する別個のルーチンで行われ、後述の警報フラグWARNG が“１”のときに特性変化有りと判断する。
【０１３１】
そして、ステップＳ４２６において、肯定されるときはステップＳ４２８へ処理が移行して、ＬＡＦセンサ５４の劣化の程度（度合い）を示す特性値SELVc をマップ検索する。図２７は、ＬＡＦセンサ５４の応答特性ｔｍCYL に対する特性値SELVc を概略的に示す。即ち、エンジンに供給する混合気の空燃比を理論空燃比にフィードバック制御時のＬＡＦセンサ５４の反転時間（周期）ｔｍCYL を逐次計測し、この時間ｔｍCYL をパラメータとして特性値SELVc をマップ検索する。
【０１３２】
尚、本発明にあっては、ＬＡＦセンサ５４の特性劣化等を、この反転時間に限って判断するものではない。例えば、理論空燃比（１４．７：１）の状態からフューエルカットされてリーン状態となった場合に、ＬＡＦセンサ５４の検出出力が定常状態になったときの検出値LAF が、予め決められているＬＡＦセンサの標準特性値IPFCから外れていると、特性劣化等を生じていると判断するようにしてもよい。この場合には、図２７中の値ｔｍCYL が、検出値LAF と標準特性値IPFCとの差の値（ LAF−IPFC）となる。
【０１３３】
次に、ステップＳ４３０では、ステップＳ４２０、Ｓ４２２、Ｓ４２４のいずれかで求められたサンプリングタイミングSELVを補正するための補正量ΔSEL をマップ検索する。図２８は、ＲＯＭ７６に予め記憶されている補正量ΔSEL のメモリマップを概念的に示している。即ち、予め決められた特性値SELVc 毎に階層化された補正量ΔSEL のデータ群を機関回転数Ｎｅと吸気圧力Ｐｂをパラメータとしてマップ検索するようになっている。
【０１３４】
更に詳述すれば、ある値の特性値SELVcに対しては、機関回転数Ｎｅの高低と吸気圧力Ｐｂの高低に応じた複数の補正量ΔSEL１，１〜ΔSELｑ，ｐが予め実験的に求められており、他の値の特性値SELVcに対しても同様に、機関回転数Ｎｅの高低と吸気圧力Ｐｂの高低に応じた他種類の補正量ΔSELのデータ群が予め実験的に求められ、かかる複数組みのデータ群がＲＯＭ７６に予め格納されている。
このように、特性値SELVcに応じて、データ群の組みを選択し、その選択した組み中の補正量ΔSELを機関回転数Ｎｅと吸気圧力Ｐｂをパラメータとして検索することにより、ＬＡＦセンサ５４の特性劣化等に対応する補正量ΔSELを迅速に求めること（補正量を求める手段）ができる。尚、これらの各補正量ΔSELは、次式に基づいて予め演算されたものである。
【０１３５】
【数３２】
0003749971.tif 000033
【０１３６】
次に、ステップＳ４３２においては、ステップＳ４３０で求められた今回の補正量ΔSEL(k)について学習処理する。例えば、過去に求められたｍ個の補正量ΔSEL(k-m-1)〜ΔSEL(k-1)及び今回の補正量ΔSEL(k)の加算平均値を求め、この加算平均後の値ΔSEL を学習値とする。更に、この学習された値ΔSEL をＥ2 ＰＲＯＭ等の不揮発性メモリに記憶する。
【０１３７】
次に、ステップＳ４３４において、次式に示す如く、サンプリングタイミングSELVに学習後の補正量ΔSELを加算することにより、補正後のサンプリング動作タイミングSELVＦを求める（検出タイミングを求める手段）。
【０１３８】
【数３３】
0003749971.tif 000034
【０１３９】
そして、ステップＳ４３６において、サンプリング動作ブロックSEL-Ｖが、このサンプリング動作タイミングSELVF に基づいてＬＡＦセンサ５４の出力をサンプリングすることにより、排気系集合部の空燃比（つまり、KACT）を精度良く求める。
【０１４０】
尚、上記ステップＳ４２６において否定される場合（ＬＡＦセンサ５４の特性が劣化等しない場合）には、補正量ΔSEL ＝０として、直接にステップＳ４３２の処理へ移行して学習及び記憶処理が行われる。
【０１４１】
また、ステップＳ４１０のＨｉＶ／Ｔタイミングに対応する処理において、ステップＳ４２６〜Ｓ４３２と同等の処理を行うために、ＨｉＶ／Ｔタイミング専用の補正量ΔSEL のデータマップを予め格納しておいてもよいし、図２７と図２８に示すＬｏＶ／Ｔ用のデータマップを共通に検索するようにしてもよい。
【０１４２】
以上のステップＳ４０２〜Ｓ４３６の処理が、サンプリング動作ブロックsel-Ｖに相当する。従って、図２９の下部に示すように、ＣＰＵコア６４はＬＡＦセンサ５４の最大値と最小値を正確に認識することができる。そして、この構成によりオブザーバＯＢＳＶを用いて各気筒の空燃比＃ｎＡ／Ｆを推定するときも、実際の集合部空燃KACTの挙動に近似する値を使用することができてオブザーバの推定精度が向上し、それに伴って、気筒別フィードバック制御の信頼性を向上させることができる。更に、前述した第２のフィードバック系にあっても、この排気系空燃比KACTに基づいてＰＩＤ制御則と適応制御則による補正係数KLAFとKSTRを求めることができ、制御の信頼性の向上が図られる。
【０１４３】
また、補正量ΔSEL を学習し、この学習された補正量ΔSEL に基づいてサンプリング動作タイミングSELVF を求めるので、ＬＡＦセンサ５４の特性の変化傾向に追従したサンプリング動作タイミングSELVF を設定することができる。
【０１４４】
また、直近で求められた補正量ΔSEL を次の周期まで不揮発性メモリに記憶することにより、例えば、イグニッションキーを「ＯＦＦ」にし、再び「ＯＮ」にして機関を始動する場合に、その補正量ΔSEL を読出してサンプリング動作タイミングSELVを演算することができるので、新たに補正量ΔSEL を求める必要がなくなり、迅速にＬＡＦセンサ５４の特性変化に対応したエンジン制御を行うことができ、排気ガスの浄化性能の向上を図ることができる。
【０１４５】
尚、車載バッテリーを取り代えた場合には、補正量ΔSEL を０に設定して、新規に算出するようになっている。これは、バッテリーの出力電圧の変化に伴いＬＡＦセンサ５４の出力特性も変化するので、かかる影響を回避するためである。次に、ＬＡＦセンサ５４の劣化を判定するための動作を図２１と共に説明する。まず、図２２及び図２３に基づいて原理を説明する。ＬＡＦセンサ５４は、例えば、理論空燃比（１４．７：１）で出力電流が０、リーンになるに従ってプラス側に増加し、リッチになるに従ってマイナス側に増加するという特性を有している。そこで、目標空燃比KCMDを理論空燃比に固定し、第２フィードバック系の目標空燃比補正係数KLAFを図２２に示す如く周期的に変化させて、空燃比をリーンないしリッチに変化させることによって得られる検出空燃比KACTの変化周期に基づいて、劣化の判断を行う。即ち、正常なＬＡＦセンサによって得られる検出空燃比KACTの正規の周期に対して、劣化したＬＡＦセンサによって得られる検出空燃比KACTの周期は応答性遅延に起因して長くなる等の症状を起こす。
【０１４６】
したがって、かかるＬＡＦセンサの応答性の変化に着目し、予め決められた劣化判定期間ｔｍWAVEの間に、検出空燃比KACTが目標空燃比KCMDをゼロクロスする回数、換言すれば、検出空燃比KACTの反転回数NWAVE を計測し、この反転回数NWAVE で判定期間ｔｍWAVEを除算することによって、検出空燃比KACTの１周期ｔｍCYCLを求め、劣化判定の基準周期ｔｍCYCLOKより長いときは劣化していると判断する。尚、この実施例では、劣化判定の基準周期ｔｍCYCLOKを正規の周期ｔｍCYCSTDの１．５倍に設定した。即ち、図２３に示すように、ＬＡＦセンサの応答周期とエミッションとに相関関係があり、正規の周期ｔｍCYCSTDの１．５倍程度をエミッション悪化の許容限界とした。
【０１４７】
次に、図２１のフローチャートに基づいてＬＡＦセンサ５４の劣化を判定するための動作を説明する。
【０１４８】
まず、ステップＳ４５０において、ＬＡＦセンサ５４の劣化判定を実施することが可能か否かの判断を行う。即ち、正常なＬＡＦセンサが活性化状態にあるのと同条件において劣化判定を行うために、吸気圧力Ｐｂと機関回転数Ｎｅ、大気温度Ｔａ及び冷却水温Ｔｗ等の全てが所定の範囲内にあれば、ＬＡＦセンサが活性化状態にあると判断してステップＳ４５２へ移行し、かかる条件を満足しない場合にはステップＳ４７６に移行して、劣化判定可能フラグLFRPMLを“０”（判定不可）にして終了する。
【０１４９】
一方、ステップＳ４５２においては、検出空燃比KACTが反転したか否かを判断する。実際には、目標空燃比補正係数KLAFが増加から減少又は減少から増加のいずれかに変化した時点を検知することによって、この反転の有無を判断する。
【０１５０】
反転した場合には、ステップＳ４５４へ移行し、検出空燃比KACTが目標空燃比KCMD（１４．７：１）より大きいか否か判断し、大きいときはステップＳ４５６において、劣化判定可能フラグLFRPM を“１”（判定可能）にセットしてステップＳ４５８へ移行し、前回の処理で劣化判定可能フラグLFRPM が“１”となっているかを判断する。
【０１５１】
ステップＳ４５８で否定される場合は、今回初めて検出空燃比KACTが反転したことになるので、ステップＳ４６０で反転回数NWAVE を“０”にリセットし、更にステップＳ４６２において判定期間ｔｍWAVEをリセットすることにより、反転回数の計測開始可能状態にする。
【０１５２】
一方、ステップＳ４５８において肯定されるときは、ステップＳ４６４において反転回数NWAVE に１加算する。
【０１５３】
続いて、ステップＳ４６６において、計測時間ｔｍWAVEが所定の決められた時間ｔｍWAVET に達したか否かの判断を行い、未だ達していないときは、計測を継続し、時間に達した場合には、ステップＳ４６８において、計測時間ｔｍWAVEを反転回数NWAVE で除算することにより、反転周期ｔｍCYC を求める。
【０１５４】
次に、ステップＳ４７０において、求められた反転周期ｔｍCYC が劣化判定の基準周期ｔｍCYCLOKより大きいか否か判断し、大きい場合にはステップＳ４７２において、ＬＡＦセンサ５４の劣化を示す警報フラグWARNG を“１”にセットし、続いてステップＳ４７４において、劣化判定可能フラグLFRPMLを“０”にセットして処理を完了する。
【０１５５】
このようにして得られる警報フラグWARNG が“１”か否かを、図２０中のステップＳ４２６において判断することにより、ＬＡＦセンサ５４の劣化に対応した空燃比フィードバック制御がなされる。
【０１５６】
次に、図５中のステップＳ８００における気筒別フィードバック制御の動作を図２４のフローチャートに基づいて説明する。尚、本実施例の内燃機関１０にはバルブタイミング機構３００が設けられているので、バルブタイミングＨｉＶ／ＴとＬｏＶ／Ｔに応じて気筒別の空燃比＃ｎＡ／Ｆを推定した後、気筒別フィードバック補正係数＃ｎKLAFを求めるようになっている。
【０１５７】
図２４において、ステップＳ８０２では、図２０の処理で求められたＨｉＶ／Ｔ用の排気系集合部の空燃比KACTをオブザーバ行列の演算に適用することにより、ＨｉＶ／Ｔ用の気筒別空燃比＃ｎＡ／Ｆを求め、続いてステップＳ８０４に進んで、ＬｏＶ／Ｔ用の排気系集合部の空燃比KACTをオブザーバ行列の演算に適用することによりＬｏＶ／Ｔ用の気筒別空燃比＃ｎＡ／Ｆを求める。
【０１５８】
続いてＳ８０６に進んで現在のバルブタイミングV/T を判断し、判断結果に応じてステップＳ８０８または８１０に進んで、ＨｉＶ／Ｔ用またはＬｏＶ／Ｔ用のいずれかの気筒別空燃比＃Ａ／Ｆを選択する。このように、ステップＳ８０２〜Ｓ８１０においては、バルブタイミングV/T に応じた気筒別空燃比＃ｎＡ／Ｆを求めるために、オブザーバＯＢＳＶによる気筒別空燃比推定処理が行われる。次に、ステップＳ８１２において、ＰＩＤ制御則を用いてこれらの気筒別空燃比＃ｎＡ／Ｆから気筒別フィードバック補正係数＃ｎKLAFを演算し、気筒別の出力燃料噴射量＃ｎＴout を求めて、ＴＤＣ周期のフィードバック制御が完了する。  このように、この実施例によれば、ＬＡＦセンサ５４の特性劣化等の変化があっても、それに追従したサンプリングタイミングで排気系集合部の空燃比を求めることができるので、精度良く気筒別フィードバック制御を行うことができる。
【０１５９】
【発明の効果】
本発明の内燃機関の燃料噴射量制御装置によれば、空燃比検出手段の検出出力から混合気の空燃比の挙動に追従した検出タイミングで各気筒の空燃比を推定するが、排出される混合気の空燃比を検出する検出タイミングを空燃比検出手段の劣化等の応答特性に応じて補正する補正量を求め、補正量を学習且つ記憶することにより得られる学習後の補正量により各気筒空燃比推定手段の検出タイミングを求めるので、空燃比検出手段の特性変化に合ったサンプリングタイミングで混合気の空燃比を推定することを可能にし、よって、常に高精度のフィードバック制御を可能にする。
【０１６０】
更に、イグニッションがオフとなっても、推定タイミングが記憶されているので、イグニッションがオンとなった直後からその推定タイミングに基づいて高精度で空燃比の推定を開始することができるという優れた効果を発揮する。
【図面の簡単な説明】
【図１】実施例に係わる内燃機関の燃料噴射装置の全体構成を示す概略構成図である。
【図２】図１中の制御ユニットの構成を示すブロック図である。
【図３】図１中の空燃比センサ出力特性を示す説明図である。
【図４】実施例に係わる内燃機関の燃料噴射装置の機能を示すブロック線図である。
【図５】燃料噴射装置の動作を説明するためのフローチャートである。
【図６】フィードフォワード系の動作を説明するためのフローチャートである。
【図７】フィードフォワード系の機能を説明するためのブロック図である。
【図８】第１のフィードバック系の動作を説明するためのフローチャートである。
【図９】第２のフィードバック系の機能を説明するためのブロック図である。
【図１０】多気筒内燃機関のＴＤＣと排気系集合部の空燃比との関係を示す説明図である。
【図１１】実際の空燃比に対するサンプリングタイミングの良否を示す説明図である。
【図１２】ＬＡＦセンサのモデルを示すブロック図である。
【図１３】ＬＡＦセンサのモデルを更に示すブロック図である。
【図１４】ＬＡＦセンサのＺ変換表示モデルを示すブロック図である。
【図１５】空燃比推定器を示すブロック線図である。
【図１６】一般的なオブザーバを示すブロック線図である。
【図１７】実施例に係わるオブザーバの構成を示すブロック線図である。
【図１８】空燃比推定器とオブザーバとを組合わせた構成を示すブロック線図である。
【図１９】第３のフィードバック系の機能を示すブロック線図である。
【図２０】サンプリング動作ブロック（sel-Ｖ）における検出空燃比のサンプリング動作を示すフローチャートである。
【図２１】ＬＡＦセンサの劣化判定動作を示すフローチャートである。
【図２２】ＬＡＦセンサの劣化判定の原理を説明するための説明図である。
【図２３】ＬＡＦセンサの劣化判定の原理を更に説明するための説明図である。
【図２４】第３のフィードバック系において気筒別空燃比補正係数を求める動作を説明するフローチャートである。
【図２５】サンプリング動作ブロック（sel-Ｖ) のサンプリング動作で使用するタイミングマップの特性を示す説明図である。
【図２６】機関回転数と機関負荷に対するＬＡＦセンサ出力特性を示す説明図である。
【図２７】ＬＡＦセンサの応答特性に対する特性値の関係を示す説明図である。
【図２８】ＬＡＦセンサのサンプリング動作タイミングを補正するために検索される補正量のデータマップ構造を示す説明図である。
【図２９】サンプリング動作ブロック（sel-Ｖ）のサンプリング動作を説明するためのタイミングチャートである。
【符号の説明】
１０…内燃機関、１２…吸気管、１４…エアクリーナ、１６…スロットル弁、
１８…サージタンク、２０…吸気マニホールド、２２…インジェクタ、２４…排気マニホールド、２６…排気管、２８，３０…触媒装置、３２…電磁弁、３４…バイパス路、３６…エンジン制御ユニット、３８…燃料タンク、４０…クランク角検出センサ、４２…スロットル開度検出センサ、４４…絶対圧センサ、４６…吸気温度センサ、４８…大気圧センサ、５０…水温センサ、５２…タイミング検出センサ、５４…空燃比検出センサ（ＬＡＦセンサ）、５６…Ｏ2 センサ、
５８，６０…ローパスフィルタ、６２…マイクロプロセッサ、６４…ＣＰＵコア、６６…検出回路、６８…マルチプレクサ、７０…検出回路、７２…Ａ／Ｄ変換器、７４…ＲＡＭ、７６…ＲＯＭ、７８…波形整形回路、８０…カウンタ、８２〜８８…駆動回路、１００…ＥＧＲ機構、１０２…電磁弁、２００…キャニスタパージ機構、２０２…電磁弁、３００…バルブタイミング機構。
【図１】
0003749971.tif 000035
【図２】
0003749971.tif 000036
【図３】
0003749971.tif 000037
【図４】
0003749971.tif 000038
【図５】
0003749971.tif 000039
【図６】
0003749971.tif 000040
【図７】
0003749971.tif 000041
【図８】
0003749971.tif 000042
【図９】
0003749971.tif 000043
【図１０】
0003749971.tif 000044
【図１１】
0003749971.tif 000045
【図１２】
0003749971.tif 000046
【図１３】
0003749971.tif 000047
【図１４】
0003749971.tif 000048
【図１５】
0003749971.tif 000049
【図１６】
0003749971.tif 000050
【図１７】
0003749971.tif 000051
【図１８】
0003749971.tif 000052
【図１９】
0003749971.tif 000053
【図２０】
0003749971.tif 000054
【図２１】
0003749971.tif 000055
【図２２】
0003749971.tif 000056
【図２３】
0003749971.tif 000057
【図２４】
0003749971.tif 000058
【図２５】
0003749971.tif 000059
【図２６】
0003749971.tif 000060
【図２７】
0003749971.tif 000061
【図２８】
0003749971.tif 000062
【図２９】
0003749971.tif 000063