(57)【要約】    【課題】  エンジンの筒内充填空気量をマップを用いずに精度良く算出する。    【解決手段】  筒内充填空気量Ｍｃと、エンジン回転速度Ｎｅ、吸気管圧力Ｐｍ、バルブタイミングＶＴとの関係を近似した関係式を例えば次のように設定する。    Ｍｃ＝ａ×Ｐｍ2 ＋ｂ×Ｐｍ＋ｃ×Ｎｅ2 ＋ｄ×Ｎｅ＋ｅ×ＶＴ2 ＋ｆ×ＶＴ＋ｇ  エンジン運転中に各センサで検出したエンジン回転速度Ｎｅ、吸気管圧力Ｐｍ、バルブタイミングＶＴを上記関係式に代入して筒内充填空気量Ｍｃを算出する。更に、定常運転時に各センサで検出したエンジン回転速度Ｎｅ、吸気管圧力Ｐｍ、バルブタイミングＶＴを上記関係式に代入して算出した筒内充填空気量の算出値Ｍｃと、定常運転時にエアフローメータ１４で検出した筒内充填空気量の検出値Ｍｃａｆｍとの誤差が最小になるように、上記関係式の係数ａ〜ｇを算出して更新することで上記関係式の特性を自動的に修正する。    【選択図】  図１
2005337186.tif 000002
【特許請求の範囲】
【請求項１】
内燃機関の制御に用いる特定の制御パラメータを他の制御パラメータに基づいて算出する内燃機関の制御装置において、
前記他の制御パラメータを検出する制御パラメータ検出手段と、
内燃機関の運転中に前記特定の制御パラメータと前記他の制御パラメータとの関係を近似した関係式を用いて前記他の制御パラメータの検出値から前記特定の制御パラメータを算出する特定制御パラメータ算出手段と、
内燃機関の運転中に前記関係式の係数を学習する係数学習手段と
を備えていることを特徴とする内燃機関の制御装置。
【請求項２】
内燃機関の定常運転時に前記特定の制御パラメータを検出する特定制御パラメータ検出手段を備え、
前記係数学習手段は、内燃機関の定常運転時に検出した前記特定の制御パラメータの検出値及び前記他の制御パラメータの検出値を用いて前記関係式の係数を学習することを特徴とする請求項１に記載の内燃機関の制御装置。
【請求項３】
前記係数学習手段は、内燃機関の定常運転時の運転条件を前記他の制御パラメータに応じて区分して複数の学習運転領域を設定し、各学習運転領域毎に前記特定の制御パラメータの検出値及び前記他の制御パラメータの検出値を記憶して、各学習運転領域毎に前記特定の制御パラメータの検出値及び前記他の制御パラメータの検出値を用いて前記関係式の係数を学習することを特徴とする請求項２に記載の内燃機関の制御装置。
【請求項４】
内燃機関の定常運転時の運転条件を前記学習運転領域のうちの所定の学習運転領域に強制的に変更する強制学習モード制御を行う強制学習モード制御手段を備えていることを特徴とする請求項３に記載の内燃機関の制御装置。
【請求項５】
前記強制学習モード制御手段は、前記強制学習モード制御によるトルク変動を防止するためのトルク補正制御を行うことを特徴とする請求項４に記載の内燃機関の制御装置。
【請求項６】
前記特定の制御パラメータは、内燃機関の筒内に充填される筒内充填空気量であることを特徴とする請求項１乃至５のいずれかに記載の内燃機関の制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、内燃機関の制御に用いる特定の制御パラメータを他の制御パラメータに基づいて算出する内燃機関の制御装置に関するものである。
【背景技術】
【０００２】
内燃機関の空燃比制御精度を向上させるには、内燃機関の筒内に充填される筒内充填空気量を正確に検出する必要があるが、過渡運転時には、吸気管の上流部のエアフローメータで検出した空気が筒内に吸入されるまでの空気の流れの流動遅れ（応答遅れ）によりエアフローメータの検出値と筒内充填空気量とが一致しなくなるため、筒内充填空気量を精度良く検出することができない。
【０００３】
そこで、例えば、特許文献１（特開２００２−１８０８７７号公報）に記載されているように、エアフローメータよりも応答遅れの少ない吸気管圧力センサで検出した吸気管圧力に基づいて筒内充填空気量を算出するようにしたものがある。このものは、吸気管圧力Ｐｍが所定値以下のときには、筒内充填空気量Ｍｃと吸気管圧力Ｐｍとの関係を近似した第１の関係式（Ｍｃ＝ａｌ×Ｐｍ−ｂｌ）を用いて、吸気管圧力Ｐｍから筒内充填空気量Ｍｃを算出し、吸気管圧力Ｐｍが所定値よりも高いときには、第２の関係式（Ｍｃ＝ａｈ×Ｐｍ−ｂｈ）を用いて吸気管圧力Ｐｍから筒内充填空気量Ｍｃを算出するようにしている。その際、第１の関係式の傾きａｌと切片ｂｌ、第２の関係式の傾きａｈと切片ｂｈは、それぞれエンジン回転速度やバルブタイミングに応じて設定するようにしている。
【特許文献１】特開２００２−１８０８７７号公報（第４頁、第２図等）
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかし、上記特許文献１の技術では、第１の関係式の傾きａｌと切片ｂｌ及び第２の関係式の傾きａｈと切片ｂｈについて、それぞれエンジン回転速度やバルブタイミングに応じたマップを作成してメモリに記憶しておく必要があるため、各マップを作成するための適合作業に非常に多くの工数を費やす必要があると共に、各マップを記憶するための大容量のメモリが必要になるという問題がある。また、適合用のシステムで適合作業を行って作成したマップを用いるため、システムの製造ばらつき、経時変化等を補償することができず、製造ばらつき、経時変化等の影響を受けて筒内充填空気量の算出精度が悪くなるという欠点もある。
【０００５】
本発明は、これらの事情を考慮してなされたものであり、従って本発明の目的は、内燃機関の運転中にマップを用いずに特定の制御パラメータを算出できると共に、システムの製造ばらつき、経時変化等を自動的に補償することができて、特定の制御パラメータの算出精度を向上させることができる内燃機関の制御装置を提供することにある。
【課題を解決するための手段】
【０００６】
上記目的を達成するために、本発明の請求項１に記載の内燃機関の制御装置は、内燃機関の制御に用いる特定の制御パラメータを他の制御パラメータに基づいて算出するシステムにおいて、他の制御パラメータを制御パラメータ検出手段で検出し、特定制御パラメータ算出手段によって、内燃機関の運転中に特定の制御パラメータと他の制御パラメータとの関係を近似した関係式を用いて他の制御パラメータの検出値から特定の制御パラメータを算出すると共に、係数学習手段によって、内燃機関の運転中に関係式の係数を学習するようにしたものである。
【０００７】
このようにすれば、内燃機関の運転中にマップを用いずに他の制御パラメータから特定の制御パラメータを算出できるため、マップを用いて特定の制御パラメータを算出する従来技術の問題点を一挙に解決することができる。また、システムの製造ばらつき、経時変化等によって他の制御パラメータと特定の制御パラメータとの関係が変化した場合でも、内燃機関の運転中に関係式の係数を学習することによって関係式の係数を逐次更新して関係式の特性を自動的に修正することができるので、システムの製造ばらつき、経時変化等を自動的に補償することができて、特定の制御パラメータの算出精度を向上させることができる。
【０００８】
内燃機関の過渡運転時に、特定の制御パラメータを検出できなくても、定常運転時には、特定の制御パラメータを検出できることがある（例えば、定常運転時には、エアフローメータで検出した吸入空気量が筒内充填空気量とほぼ一致するため、定常運転時にはエアフローメータの検出値を筒内充填空気量として用いることができる）。
【０００９】
この点に着目して、請求項２のように、内燃機関の定常運転時に特定の制御パラメータを検出する特定制御パラメータ検出手段を設け、内燃機関の定常運転時に検出した特定の制御パラメータの検出値及び他の制御パラメータの検出値を用いて関係式の係数を学習するようにすると良い。このようにすれば、特定制御パラメータ検出手段で検出した特定の制御パラメータの検出値と、関係式を用いて他の制御パラメータの検出値から算出した特定の制御パラメータの算出値との誤差が小さくなるように関係式の係数を算出することができ、関係式の係数を精度良く学習することができる。
【００１０】
この場合、請求項３のように、内燃機関の定常運転時の運転条件を他の制御パラメータに応じて区分した複数の学習運転領域を設定し、各学習運転領域毎に特定の制御パラメータの検出値及び他の制御パラメータの検出値を記憶して、各学習運転領域毎に特定の制御パラメータの検出値及び他の制御パラメータの検出値を用いて関係式の係数を学習するようにすると良い。このようにすれば、各学習運転領域毎に特定の制御パラメータの検出値と算出値との誤差が小さくなるように関係式の係数を算出することができるため、幅広い運転領域に対して有効な係数を学習することができ、幅広い運転領域に対して特定の制御パラメータの算出精度を向上させることができる。
【００１１】
ところで、複数の学習運転領域を設定しても、通常の定常運転時の制御では、運転される頻度が極端に少ないか又は全く運転されない学習運転領域が存在すると、その学習運転領域における特定の制御パラメータ及び他の制御パラメータを検出する頻度が学習精度を確保できるレベルまでに達しない。
【００１２】
そこで、請求項４のように、内燃機関の定常運転時の運転条件を学習運転領域のうちの所定の学習運転領域に強制的に変更する強制学習モード制御を行うようにしても良い。このようにすれば、定常運転時の運転条件を強制学習モード制御によって通常の定常運転時の制御では、運転条件を運転頻度がゼロか又は極端に少ない学習運転領域に強制的に変更して、その学習運転領域における特定の制御パラメータ及び他の制御パラメータを検出することができる。
【００１３】
しかし、強制学習モード制御によって内燃機関の定常運転時の運転条件を強制的に変更すると、トルク変動が発生してドライバビリティに悪影響を及ぼす可能性がある。この対策として、請求項５のように、強制学習モード制御によるトルク変動を防止するためのトルク補正制御を行うようにすると良い。このようにすれば、トルク補正制御によって強制学習モード制御におけるトルク変動を防止することができ、強制学習モード制御によるドライバビリティの悪化を未然に防止することができる。
【００１４】
本発明は、例えば、請求項６のように、内燃機関の筒内に充填される筒内充填空気量を算出するシステムに適用すると良い。このようにすれば、マップを用いずに筒内充填空気量を算出することができ、マップを用いて筒内充填空気量を算出する場合の問題を解決することができると共に、システムの製造ばらつき、経時変化等の影響を受けずに筒内充填空気量を精度良く算出することができ、空燃比制御精度を向上させることができる。
【発明を実施するための最良の形態】
【００１５】
以下、本発明の一実施例を図面に基づいて説明する。
まず、図１に基づいてエンジン制御システム全体の概略構成を説明する。内燃機関であるエンジン１１の吸気管１２の最上流部には、エアクリーナ１３が設けられ、このエアクリーナ１３の下流側に、吸入空気量を検出するエアフローメータ１４が設けられている。このエアフローメータ１４の下流側には、ＤＣモータ等によって開度調節されるスロットルバルブ１５と、スロットル開度を検出するスロットル開度センサ１６とが設けられている。
【００１６】
更に、スロットルバルブ１５の下流側には、サージタンク１７が設けられ、このサージタンク１７には、吸気管圧力を検出する吸気管圧力センサ１８（制御パラメータ検出手段）が設けられている。また、サージタンク１７には、エンジン１１の各気筒に空気を導入する吸気マニホールド１９が設けられ、各気筒の吸気マニホールド１９の吸気ポート近傍に、それぞれ燃料を噴射する燃料噴射弁２０が取り付けられている。また、エンジン１１のシリンダヘッドには、各気筒毎に点火プラグ２１が取り付けられ、各点火プラグ２１の火花放電によって筒内の混合気に着火される。
【００１７】
また、エンジン１１の吸気バルブ２８には、該吸気バルブ２８のバルブタイミング（開閉タイミング）を可変する可変バルブタイミング装置２９が設けられている。この可変バルブタイミング装置２９は、クランク軸に対する吸気側カム軸の回転位相を可変することで、吸気側カム軸によって開閉駆動される吸気バルブ２８のバルブタイミングを可変するようになっている。
【００１８】
一方、エンジン１１の排気管２２には、排出ガス中のＣＯ，ＨＣ，ＮＯｘ等を浄化する三元触媒等の触媒２３が設けられ、この触媒２３の上流側に、排出ガスの空燃比又はリッチ／リーン等を検出する排出ガスセンサ２４（空燃比センサ、酸素センサ等）が設けられている。
【００１９】
また、エンジン１１のシリンダブロックには、冷却水温を検出する冷却水温センサ２５が取り付けられ、クランク軸の外周側には、所定のクランク角毎にクランク角信号を出力するクランク角センサ２６（制御パラメータ検出手段）が取り付けられている。このクランク角センサ２６の出力信号に基づいてクランク角やエンジン回転速度が検出される。
【００２０】
一方、吸気側カム軸の外周側には、所定のカム角毎にカム角信号を出力するカム角センサ３０（制御パラメータ検出手段）が取り付けられている。このカム角センサ３０の出力信号とクランク角センサ２６の出力信号とに基づいて吸気バルブ２８のバルブタイミングが検出される。
【００２１】
前述した各種センサの出力は、エンジン制御回路（以下「ＥＣＵ」と表記する）２７に入力される。このＥＣＵ２７は、マイクロコンピュータを主体として構成され、内蔵されたＲＯＭ（記憶媒体）に記憶された各種のエンジン制御プログラムを実行することで、エンジン運転状態に応じて燃料噴射弁２０の燃料噴射量や点火プラグ２１の点火時期を制御する。
【００２２】
ところで、エンジン１１の空燃比制御精度を向上させるには、筒内に充填される筒内充填空気量Ｍｃを正確に検出する必要があるが、過渡運転時には、エアフローメータ１４で検出した吸入空気量Ｍｃａｆｍと筒内充填空気量Ｍｃとが一致しないため、エアフローメータ１４の検出値をそのまま筒内充填空気量Ｍｃとして用いることができない。
【００２３】
そこで、ＥＣＵ２７は、エンジン運転中に後述する図２乃至図４に示す筒内充填空気量算出用の各プログラムを実行することで、エンジン回転速度Ｎｅ、吸気管圧力Ｐｍ、バルブタイミングＶＴを用いて、後述する関係式により筒内充填空気量Ｍｃを算出する。
【００２４】
以下、本実施例の筒内充填空気量Ｍｃの算出方法について説明する。
まず、筒内充填空気量Ｍｃと、エンジン回転速度Ｎｅ、吸気管圧力Ｐｍ、バルブタイミングＶＴとの関係を近似した関係式を例えば次のように設定する。
【００２５】
Ｍｃ＝ａ×Ｐｍ2 ＋ｂ×Ｐｍ＋ｃ×Ｎｅ2 ＋ｄ×Ｎｅ＋ｅ×ＶＴ2 ＋ｆ×ＶＴ＋ｇ
……（１）  ここで、ａ、ｂ、ｃ、ｄ、ｅ、ｆ、ｇは係数であり、エンジン運転中に後述する係数学習によって学習する毎に更新される。
【００２６】
上記関係式（近似式）は、各パラメータを変数とする２次多項式としたが、３次以上の多項式としても良い（この場合、影響の大きい主要なパラメータのみを３次以上とし、影響の小さいパラメータを２次以下としても良い）。或は、対数、指数、三角関数等を含む関係式（近似式）を作成しても良い。
【００２７】
ＥＣＵ２７は、エンジン運転中にクランク角センサ２６で検出したエンジン回転速度Ｎｅと、吸気管圧力センサ１８で検出した吸気管圧力Ｐｍと、カム角センサ３０とクランク角センサ２６で検出したバルブタイミングＶＴを、それぞれ上記（１）式に代入して筒内充填空気量Ｍｃを算出する。
【００２８】
次に、上記（１）式の係数ａ〜ｇの学習について説明する。
エンジン１１の定常運転時には、エアフローメータ１４で検出した吸入空気量Ｍｃａｆｍと筒内充填空気量Ｍｃとがほぼ一致するため、エアフローメータ１４で筒内充填空気量Ｍｃａｆｍ（＝吸入空気量Ｍｃａｆｍ）を検出することができる。この場合、エアフローメータ１４が特許請求の範囲でいう特定制御パラメータ検出手段に相当する。
【００２９】
この点に着目して、ＥＣＵ２７は、定常運転時に各センサで検出したエンジン回転速度Ｎｅ、吸気管圧力Ｐｍ、バルブタイミングＶＴを上記（１）式に代入して算出した筒内充填空気量の算出値Ｍｃと、定常運転時にエアフローメータ１４で検出した筒内充填空気量の検出値Ｍｃａｆｍ（＝吸入空気量Ｍｃａｆｍ）との誤差が最小になるように、最小二乗法等によって上記（１）式の係数ａ〜ｇを算出する。
【００３０】
具体的には、図５に示すように、定常運転時の運転条件をエンジン回転速度Ｎｅ、吸気管圧力Ｐｍ、バルブタイミングＶＴに応じて区分して複数の学習運転領域ａｒｅａ（１〜７）を設定し、各学習運転領域ａｒｅａ毎に筒内充填空気量検出値Ｍｃａｆｍ(area)、エンジン回転速度検出値Ｎｅ(area)、吸気管圧力検出値Ｐｍ(area)、バルブタイミング検出値ＶＴ(area)をＥＣＵ２７のバックアップＲＡＭ等の書き換え可能な不揮発性メモリに記憶する。そして、各学習運転領域ａｒｅａについて、エンジン回転速度検出値Ｎｅ(area)、吸気管圧力検出値Ｐｍ(area)、バルブタイミング検出値ＶＴ(area)を上記（１）式に代入して算出した筒内充填空気量の算出値Ｍｃ(area)と、筒内充填空気量の検出値Ｍｃａｆｍ(area)との誤差が最小になるように、最小二乗法等により上記（１）式の係数ａ〜ｇを算出し、これらを学習値としてＥＣＵ２７のバックアップＲＡＭ等の書き換え可能な不揮発性メモリに記憶する。
【００３１】
ところで、図５に示すように、複数の学習運転領域ａｒｅａを設定しても、通常の定常運転時の制御では、運転される頻度が極端に少ないか又は全く運転されない学習運転領域ａｒｅａ（例えば３、６）［以下これを「通常制御範囲外の学習運転領域」という］が存在すると、その通常制御範囲外の学習運転領域ａｒｅａにおける筒内充填空気量Ｍｃａｆｍ、エンジン回転速度Ｎｅ、吸気管圧力Ｐｍ、バルブタイミングＶＴを検出する頻度が学習精度を確保できるレベルまでに達しない。
【００３２】
そこで、ＥＣＵ２７は、定常運転時の運転条件が通常制御範囲外の学習運転領域ａｒｅａ（例えば３、６）に隣接する学習運転領域ａｒｅａ（例えば４、７）のときに、強制学習モード制御を実行して、定常運転時の運転条件を通常制御範囲外の学習運転領域ａｒｅａ（例えば３、６）に強制的に変更することで、その通常制御範囲外の学習運転領域ａｒｅａにおける筒内充填空気量Ｍｃａｆｍ、エンジン回転速度Ｎｅ、吸気管圧力Ｐｍ、バルブタイミングＶＴを検出できるようにしている。
【００３３】
以上説明した筒内充填空気量Ｍｃの算出は、ＥＣＵ２７により図２乃至図４に示す各プログラムに従って実行される。以下、これらの各プログラムの処理内容を説明する。
【００３４】
［筒内充填空気量算出］
図２に示す筒内充填空気量算出プログラムは、エンジン運転中に所定周期で実行され、特許請求の範囲でいう特定制御パラメータ算出手段としての役割を果たす。本プログラムが起動されると、まず、ステップ１０１で、クランク角センサ２６で検出したエンジン回転速度Ｎｅと、吸気管圧力センサ１８で検出した吸気管圧力Ｐｍと、カム角センサ３０とクランク角センサ２６で検出したバルブタイミングＶＴを読み込む。
【００３５】
この後、ステップ１０２に進み、ＥＣＵ２７のバックアップＲＡＭ等の書き換え可能な不揮発性メモリに記憶された上記（１）式の係数ａ〜ｇの学習値を読み込む。
【００３６】
この後、各センサで検出したエンジン回転速度Ｎｅ、吸気管圧力Ｐｍ、バルブタイミングＶＴを上記（１）式に代入して筒内充填空気量Ｍｃを算出する。
Ｍｃ＝ａ×Ｐｍ2 ＋ｂ×Ｐｍ＋ｃ×Ｎｅ2 ＋ｄ×Ｎｅ＋ｅ×ＶＴ2 ＋ｆ×ＶＴ＋ｇ
【００３７】
［係数学習］
図３に示す係数学習プログラムは、エンジン運転中に所定周期で実行され、特許請求の範囲でいう係数学習手段としての役割を果たす。本プログラムが起動されると、まず、ステップ２０１で、所定の学習前提条件が成立しているか否かを判定する。ここで、学習前提条件は、例えば、冷却水温が所定温度以上で且つ始動後経過時間が所定時間以上であること（エンジン暖機状態であること）、各異常検出フラグがオフであること（各制御システムが正常に動作していること）等である。これらの条件を全て満たせば、学習前提条件が成立するが、いずれか１つでも満たさない条件があれば、学習前提条件が不成立となる。もし、学習前提条件が不成立であると判定されれば、ステップ２０７に進み、学習運転領域ａｒｅａを０にリセットして本プログラムを終了する。
【００３８】
一方、上記ステップ２０１で、学習前提条件が成立していると判定された場合には、ステップ２０２に進み、エアフローメータ１４で検出した吸入空気量Ｍｃａｆｍと、クランク角センサ２６で検出したエンジン回転速度Ｎｅと、吸気管圧力センサ１８で検出した吸気管圧力Ｐｍと、カム角センサ３０とクランク角センサ２６で検出したバルブタイミングＶＴを読み込む。
【００３９】
この後、ステップ２０３に進み、エンジン１１の定常運転状態が所定時間（例えば１ｓ）以上継続したか否かを判定する。ここで、定常運転状態の判定条件は、例えば、吸入空気量の所定期間当りの変化量ΔＭｃａｆｍが所定値以下であること、エンジン回転速度の所定期間当りの変化量ΔＮｅが所定値以下であること、吸気管圧力の所定期間当りの変化量ΔＰｍが所定値以下であること、バルブタイミングの所定期間当りの変化量ΔＶＴが所定値以下であること等である。これらの条件を全て満たせば、定常運転状態と判定するが、いずれか１つでも満たさない条件があれば、定常運転状態ではないと判定する。
【００４０】
その結果、定常運転状態が所定時間継続していないと判定されれば、ステップ２０７に進み、学習運転領域ａｒｅａを０にリセットして本プログラムを終了する。
【００４１】
その後、上記ステップ２０３で、定常運転状態が所定時間以上継続したと判定されたときに、ステップ２０４に進み、今回の定常運転時の運転条件（エンジン回転速度Ｎｅ、吸気管圧力Ｐｍ、バルブタイミングＶＴ）が、図５に示す学習運転領域ａｒｅａ（＝１〜７）のいずれに該当するかを判定する。
【００４２】
この後、ステップ２０５に進み、ＥＣＵ２７のバックアップＲＡＭ等の書き換え可能な不揮発性メモリに記憶されている今回の学習運転領域ａｒｅａにおける筒内充填空気量検出値Ｍｃａｆｍ(area)、エンジン回転速度検出値Ｎｅ(area)、吸気管圧力検出値Ｐｍ(area)、バルブタイミング検出値ＶＴ(area)を、それぞれ今回検出した筒内充填空気量Ｍｃａｆｍ（＝吸入空気量Ｍｃａｆｍ）、エンジン回転速度Ｎｅ、吸気管圧力Ｐｍ、バルブタイミングＶＴで更新する。
【００４３】
この後、ステップ２０６に進み、各学習運転領域ａｒｅａ毎に、エンジン回転速度検出値Ｎｅ(area)、吸気管圧力検出値Ｐｍ(area)、バルブタイミング検出値ＶＴ(area)を上記（１）式に代入して算出した筒内充填空気量の算出値Ｍｃ(area)と、筒内充填空気量の検出値Ｍｃａｆｍ(area)との誤差が最小になるように、例えば最小二乗法等により上記（１）式の係数ａ〜ｇを算出し、ＥＣＵ２７のバックアップＲＡＭ等の書き換え可能な不揮発性メモリに記憶されている係数ａ〜ｇの学習値を、それぞれ今回算出した係数ａ〜ｇで更新する。
【００４４】
［強制学習モード制御］
図４に示す強制学習モード制御プログラムは、エンジン運転中に所定周期で実行され、特許請求の範囲でいう強制学習モード制御手段としての役割を果たす。本プログラムが起動されると、まず、ステップ３０１で、定常運転時の運転条件が学習運転領域ａｒｅａ＝４又は７（つまり通常制御範囲外の学習運転領域ａｒｅａ＝３又は６に隣接する学習運転領域）の状態が所定時間（例えば２ｓ）以上継続したか否かを判定する。これにより、学習運転領域ａｒｅａ＝４又は７における各検出値の更新（図３のステップ２０５の処理）が終了した後、更に、定常状態が所定時間（例えば１ｓ）以上が経過したか否かを判定する。
【００４５】
その結果、学習運転領域ａｒｅａ＝４又は７の状態が所定時間継続していないと判定されれば、ステップ３０２以降の強制学習モード制御に関する処理を実行することなく、本プログラムを終了する。
【００４６】
一方、上記ステップ３０１で、学習運転領域ａｒｅａ＝４又は７の状態が所定時間以上継続したと判定された場合には、ステップ３０２以降の強制学習モード制御に関する処理を次のようにして実行する。まず、ステップ３０２で、強制学習モード制御を実行する。この強制学習モード制御では、目標バルブタイミングＶＴＴを通常制御範囲外の学習運転領域ａｒｅａ＝３又は６に属するバルブタイミング（例えば５℃Ａ）に変更する。これにより、定常運転時の運転条件（エンジン回転速度Ｎｅ、吸気管圧力Ｐｍ、バルブタイミングＶＴ）を強制的に学習運転領域ａｒｅａ＝４又は７から通常制御範囲外の学習運転領域ａｒｅａ＝３又は６に変更する。
【００４７】
更に、この強制学習モード制御では、目標スロットル開度ＴＡＮＧＬを所定量だけ補正（例えば１ｄｅｇだけ増量補正）して、バルブタイミングの強制変更によるトルク変動をスロットル開度補正によって抑制又は防止するトルク補正制御を行う。
【００４８】
尚、強制学習モード制御を開始する際には、目標バルブタイミングＶＴＴと目標スロットル開度ＴＡＮＧＬを徐々に変更してトルクショックを低減するようにしても良い。また、トルク補正制御は、スロットル開度補正に限定されず、点火時期補正や燃料噴射量補正等でトルクを補正するようにしても良い。
【００４９】
この後、ステップ３０３に進み、強制学習モード制御を開始してから所定時間（例えば１ｓ）以上が経過したかを判定する。その結果、強制学習モード制御を開始してから所定時間が経過していないと判定された場合には、まだ、通常制御範囲外の学習運転領域ａｒｅａ＝３又は６における各検出値の更新（図３のステップ２０５の処理）が終了していないと判断して、強制学習モード制御を継続する。
【００５０】
その後、強制学習モード制御を開始してから所定時間以上が経過したと判定されたときに、通常制御範囲外の学習運転領域ａｒｅａ＝３又は６における各検出値の更新（図３のステップ２０５の処理）が終了したと判断して、ステップ３０４に進み、強制学習モード制御を終了して、目標バルブタイミングＶＴＴを通常制御時のバルブタイミングに戻すと共に、目標スロットル開度ＴＡＮＧＬを通常制御時のスロットル開度に戻す。
【００５１】
尚、強制学習モード制御を終了する際には、目標バルブタイミングＶＴＴと目標スロットル開度ＴＡＮＧＬを徐々に戻してトルクショックを低減するようにしても良い。
【００５２】
以上説明した本実施例１では、筒内充填空気量Ｍｃと、エンジン回転速度Ｎｅ、吸気管圧力Ｐｍ、バルブタイミングＶＴとの関係を近似した関係式を設定し、エンジン運転中に各センサで検出したエンジン回転速度Ｎｅ、吸気管圧力Ｐｍ、バルブタイミングＶＴを上記関係式に代入して筒内充填空気量Ｍｃを算出する。更に、定常運転時に各センサで検出したエンジン回転速度Ｎｅ、吸気管圧力Ｐｍ、バルブタイミングＶＴを上記関係式に代入して算出した筒内充填空気量の算出値Ｍｃと、定常運転時にエアフローメータ１４で検出した筒内充填空気量の検出値Ｍｃａｆｍとの誤差が最小になるように、最小二乗法等により上記関係式の係数ａ〜ｇを算出して更新する。
【００５３】
これにより、マップを用いずに筒内充填空気量Ｍｃを算出することができ、マップを用いて筒内充填空気量Ｍｃを算出する従来の問題点を一挙に解決することができる。また、システムの製造ばらつき、経時変化等によって他の制御パラメータ（エンジン回転速度Ｎｅ、吸気管圧力Ｐｍ、バルブタイミングＶＴ）と筒内充填空気量Ｍｃとの関係が変化した場合でも、定常運転時に係数ａ〜ｇを学習することによって係数ａ〜ｇを更新して関係式の特性を自動的に修正することができるため、システムの製造ばらつき、経時変化等の影響を受けずに筒内充填空気量Ｍｃを精度良く算出することができ、空燃比制御精度を向上させることができる。
【００５４】
また、本実施例では、定常運転時の運転条件を区分して複数の学習運転領域ａｒｅａを設定し、各学習運転領域ａｒｅａ毎に筒内充填空気量検出値Ｍｃａｆｍ(area)、エンジン回転速度検出値Ｎｅ(area)、吸気管圧力検出値Ｐｍ(area)、バルブタイミング検出値ＶＴ(area)を記憶して、各学習運転領域ａｒｅａ毎に筒内充填空気量の算出値Ｍｃ(area)と検出値Ｍｃａｆｍ(area)との誤差が最小になるように係数ａ〜ｇを算出するようにしたので、幅広い運転領域に対して有効な係数ａ〜ｇを学習することができ、幅広い運転領域に対して筒内充填空気量Ｍｃの算出精度を向上させることができる。
【００５５】
また、本実施例では、定常運転時の運転条件が通常制御範囲外の学習運転領域ａｒｅａに隣接する学習運転領域ａｒｅａのときに、強制学習モード制御を実行して、定常運転時の運転条件を通常制御範囲外の学習運転領域ａｒｅａに強制的に変更するようにしたので、通常制御範囲外の学習運転領域ａｒｅａにおける筒内充填空気量Ｍｃａｆｍ、エンジン回転速度Ｎｅ、吸気管圧力Ｐｍ、バルブタイミングＶＴも適度な頻度で検出することができる。
【００５６】
更に、本実施例では、強制学習モード制御の実行時に、強制学習モード制御によるトルク変動を防止するトルク補正制御を行うようにしたので、強制学習モード制御によるトルク変動を防止することができて、強制学習モード制御によるドライバビリティの悪化を未然に防止することができる。
【００５７】
尚、上記実施例では、エンジン回転速度、吸気管圧力、バルブタイミングの３つの制御パラメータを用いて筒内充填空気量算出用の関係式（近似式）を設定するようにしたが、筒内充填空気量算出用の関係式の設定に用いる制御パラメータは、適宜変更しても良く、エンジン回転速度、吸気管圧力、バルブタイミング、バルブリフト量、バルブ開弁期間、吸気制御弁開度、気流制御弁開度等のうちの１つ又は２つ以上の制御パラメータを用いて筒内充填空気量算出用の関係式（近似式）を設定するようにしても良い。
【００５８】
また、上記実施例では、本発明を筒内充填空気量の算出に適用したが、筒内充填空気量以外の内燃機関の制御パラメータ（例えば、筒内圧力、出力トルク等）の算出に本発明を適用しても良い。
【図面の簡単な説明】
【００５９】
【図１】本発明の一実施例におけるエンジン制御システム全体の概略構成図である。
【図２】筒内充填空気量算出プログラムの処理の流れを示すフローチャートである。
【図３】係数学習プログラムの処理の流れを示すフローチャートである。
【図４】強制学習モード制御プログラムの処理の流れを示すフローチャートである。
【図５】学習運転領域を説明するための図である。
【符号の説明】
【００６０】
１１…エンジン（内燃機関）、１２…吸気管、１４…エアフローメータ（特定制御パラメータ検出手段）、１５…スロットルバルブ、１８…吸気管圧力センサ（制御パラメータ検出手段）、２０…燃料噴射弁、２１…点火プラグ、２２…排気管、２６…クランク角センサ（制御パラメータ検出手段）、２７…ＥＣＵ（特定制御パラメータ算出手段，係数学習手段，強制学習モード制御手段）、３０…カム角センサ（制御パラメータ検出手段）
【図１】
2005337186.tif 000003
【図２】
2005337186.tif 000004
【図３】
2005337186.tif 000005
【図４】
2005337186.tif 000006
【図５】
2005337186.tif 000007