しかしながら、特許文献1に開示された内燃機関のスロットル開度学習装置においては、領域内の、単にある一点のみで補正量が算出されて、その補正量を領域内の全てのスロットルバルブの開度に反映しているため、精度が悪いという問題がある。また、内燃機関のアイドリング時におけるスロットルバルブの開度については、補正は想定されていないため、アイドリング時にスロットルバルブの開度の補正の精度が悪化すると、所望の空気量が得られなくなる場合がある。そのため、内燃機関の燃焼状態(たとえば、回転数)が安定しないという問題がある。
本発明は、上述の問題を解決するためになされたものであって、その目的は、内燃機関のスロットルバルブの開度を経時変化に応じて適切に補正する内燃機関の制御装置を提供することである。
第1の発明に係る内燃機関の制御装置は、内燃機関に吸入される空気量の損失分に応じて、空気量を調整するバルブの開度を補正する内燃機関の制御装置である。内燃機関の制御装置は、バルブの開度を検知するための手段と、内燃機関に吸入される空気量を検知するための手段と、開度から算出された空気量と検知された空気量との差から損失分を算出するための手段と、開度と損失分との関係を複数のバルブの開度において学習する学習手段と、学習手段で学習した複数のバルブの開度における学習値に基づいて、検知された開度に対応する損失分を算出するための算出手段とを含む。
第1の発明によると、複数のバルブ(たとえば、スロットルバルブ)の開度において開度と損失分との関係を学習して、学習した複数のバルブ開度における学習値に基づいて、検知された開度に対応する損失分を算出することにより、検知されたスロットルバルブの開度に対応する空気量の損失分を精度良く算出することができる。算出された損失分に応じて、スロットルバルブの開度を補正すると、内燃機関の運転状態(たとえば、エンジンの冷却水の水温の状態および補機類の動作状態)に基づいて要求される空気量が内燃機関に過不足なく供給される。そのため、内燃機関の燃焼状態を安定した状態に制御することができる。したがって、内燃機関のスロットルバルブの開度を経時変化に応じて適切に補正する内燃機関の制御装置を提供することができる。また、少なくとも2つの開度における学習値に基づいて、開度と損失分との関係を学習することにより、開度毎に学習する必要もなくなり、開度によって学習頻度が異なることに起因して、開度間で学習した学習値が大きくなるようなことも抑制することができる。
第2の発明に係る内燃機関の制御装置においては、第1の発明の構成に加えて、学習手段は、内燃機関のアイドリング時の関係を学習するための手段を含む。算出手段は、アイドリング時の損失分を算出するための手段を含む。
第2の発明によると、学習手段は、内燃機関のアイドリング時の、バルブ(たとえば、スロットルバルブ)の開度と内燃機関に吸入される空気量の損失分との関係を学習する。算出手段は、検知された開度と学習された関係とに基づいて、アイドリング時における空気量の損失分を算出する。これにより、アイドリング時においても、検知された開度に対応する空気量の損失分を精度良く算出することができる。算出された損失分に応じて、スロットルバルブの開度を補正すると、内燃機関のアイドリング状態を安定させることができる。
第3の発明に係る内燃機関の制御装置は、第1または2の発明の構成に加えて、内燃機関の運転状態に基づいて要求される要求流量と検知された開度に対応する損失分とに基づいて、バルブの開度を算出するための手段をさらに含む。
第3の発明によると、制御装置は、内燃機関の運転状態(たとえば、エンジンの冷却しの水温の状態および補機類の動作状態)に基づいて要求される空気量と検知された開度に対応する損失分とに基づいて、バルブ(たとえば、スロットルバルブ)の開度を算出する。これにより、経時変化に基づく空気量の損失分だけ大きくスロットルバルブを開くことにより、内燃機関の運転状態に基づいて要求される空気量を内燃機関に過不足なく供給することができる。そのため、内燃機関の燃焼状態を安定した状態に制御することができる。
第4の発明に係る内燃機関の制御装置においては、第1〜3のいずれかの発明の構成に加えて、算出手段は、第1の開度における第1の学習値と、第1の開度よりも大きい第2の開度における第2の学習値とに基づいて、開度に対応する損失分を算出するための手段を含む。
第4の発明によると、第1の開度における第1の学習値と、第1の開度よりも大きい第2の開度における第2の学習値とに基づいて、開度に対応する損失分を算出する。たとえば、第1の学習値と第2の学習値とに基づいて各開度における損失分を補間することにより、検知された開度に対応する損失分を精度良く算出することができる。
第5の発明に係る内燃機関の制御装置においては、第4の発明の構成に加えて、算出手段は、第1および第2の学習値に基づいて、第1の開度以下であって、アイドリング時の基準となる基準開度から第2の開度までに対応する損失分を線形的に補間して、検知された開度に対応する損失分を算出するための手段を含む。
第5の発明によると、第1および第2の学習値に基づいて、第1の開度以下であって、アイドリング時の基準となる基準開度から第2の開度までに対応する損失分を線形的に補間して、検知された開度に対応する損失分を算出する。各開度における損失分を補間することにより、検知された開度に対応する損失分を精度良く算出することができる。
第6の発明に係る内燃機関の制御装置においては、第5の発明の構成に加えて、算出手段は、検知された開度が基準開度以下であると、基準開度に対応する損失分を、検知された開度に対応する損失分として算出するための手段を含む。
第6の発明によると、算出手段は、検知された開度が基準開度以下であると、基準開度に対応する損失分を検知された開度に対応する損失分として算出する。基準開度以下についても基準開度以上と同様に線形的に損失分を補間すると、基準開度以下で、吸気系の部品がほぼ新品の状態における空気量の損失分よりも損失分が小さく算出される場合がある。そのため、基準開度以下においては、基準開度に対応する損失分を検知された開度に対応する損失分として算出することにより、上述のような現象の発生を回避することができる。
第7の発明に係る内燃機関の制御装置においては、第4〜6のいずれかの発明の構成に加えて、算出手段は、検知された開度が第2の開度以上であると、第2の学習値を、検知された開度に対応する損失分として算出するための手段を含む。
第7の発明によると、算出手段は、検知された開度が第2の開度以上であると、第2の学習値を、検知された開度に対応する損失分として算出する。第2の開度以上においては、第2の開度以下と同様に線形的に損失分を補間すると、第2の開度以上で、損失分が実際よりも大きく算出される場合がある。その結果、燃費が悪化する可能性がある。そのため、第2の開度以上においては、第2の学習値を検知された開度に対応する損失分として算出することにより、上述のような現象の発生を回避することができる。
第8の発明に係る内燃機関の制御装置においては、第4〜7のいずれかの発明の構成に加えて、第1の開度は、温間時のアイドル回転数に対応する開度である。第2の開度は、冷間時のアイドル回転数に対応する開度である。
第8の発明によると、冷間時のアイドル回転数に対応する開度は、速やかに内燃機関の冷却水の水温を上昇させるため、温間時のアイドル回転数に対応する開度よりも大きくなる傾向にある。そのため、内燃機関のアイドリング時における開度と損失分との関係の学習において、冷間時と温間時の開度をそれぞれ別途学習しておくことにより、内燃機関のアイドリング時における開度と損失分との関係を学習することができる。したがって、内燃機関のアイドリング時における損失分を精度良く算出することができる。
第9の発明に係る内燃機関の制御装置においては、第1〜8のいずれかの発明の構成に加えて、学習手段は、検知された開度および検知された空気量に基づいて算出された損失分と、算出手段により算出された損失分との差が予め定められた値以上になると、学習を再度実行するための手段を含む。
第9の発明によると、学習手段は、検知された開度から算出された空気量および検知された空気量の差に基づく損失分と、算出手段により算出された損失分との差が予め定められた値以上になると、学習を再度実行する。バルブ(たとえば、スロットルバルブ)の周辺にデポジットが付着して、内燃機関に吸入される空気量の損失分が変化すると、開度と損失分との関係に誤差が発生する。このとき、学習を再度実行することにより、検知された開度に対応する空気量の損失分を精度良く算出することができる。
第10の発明に係る内燃機関の制御装置においては、第1〜9のいずれかの発明の構成に加えて、バルブは、スロットルバルブである。
第10の発明によると、内燃機関のアイドリング時における空気量の損失分を適切に補正することにより、スロットルバルブの開度を適切に制御することができる。
第11の発明に係る内燃機関の制御装置においては、第1〜9のいずれかの発明の構成に加えて、バルブは、アイドルスピードコントロールバルブである。
第11の発明によると、内燃機関のアイドリング時における空気量の損失分を適切に補正することにより、スロットルバルブの開度を適切に制御することができる。
以下、図面を参照しつつ、本発明の実施の形態に係る内燃機関の制御装置について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがってそれらについての詳細な説明は繰返さない。
図1を参照して、本実施の形態に係る内燃機関の制御装置を実現するエンジンECU(Electronic Control Unit)400を含む車両のエンジンシステムについて説明する。図1に示すように、このエンジンシステムは、吸気系100とエンジン200と排気系300とエンジンECU400とから構成される。
吸気系100は、エアクリーナ110と、吸気通路102と、スロットルバルブ108と、インテークマニホールド114とから構成される。このエンジンシステムにおいては、エアクリーナ110を介した空気が、エンジン200の燃焼室214に導入される。その際、吸入空気量が吸気通路102に設けられるエアフローメータ112により検知されて、エンジンECU400に吸入空気量を表わす信号が入力される。また、スロットルバルブ108の開度により、吸入空気量が変化する。このスロットルバルブ108の開度は、エンジンECU400からの信号に基づいて作動したスロットルモータ104により変化される。スロットルバルブ108の開度は、スロットルポジションセンサ106により検知されて、エンジンECU400にスロットルバルブ108の開度を表わす信号が入力される。
一方、エンジン200のシリンダブロックの内部には、ピストン212と、燃焼室214と、点火プラグ216と、フューエルインジェクタ210とが設けられる。フューエルインジェクタ210は、燃料を燃焼室214に噴射する。インテークマニホールド114から導入された空気と、フューエルインジェクタ210から燃焼室214に噴射された燃料との混合気が、エンジンECU400から制御信号が入力される点火プラグ216を用いて着火されて燃焼する。
排気系300は、エキゾーストマニホールド302と、三元触媒コンバータ304,308と、排気通路306とから構成される。混合気が燃焼した後の排気ガスは、エキゾーストマニホールド302を通り、三元触媒コンバータ304および三元触媒コンバータ308を通って、大気に排出される。
このエンジンシステムには、以下に示すシステムが導入されている。このエンジンシステムには、燃料噴射制御システムが導入され、エアフローメータ112によって吸入空気量を検出し、燃料噴射量が制御される。エンジンECU400は、各センサからの信号により、最適な燃焼状態となるように、エンジン回転数およびエンジン負荷に応じた燃料噴射量および燃料噴射時期の制御を行なう。
また、このエンジンシステムにおいては、エンジン回転数と吸入空気量(エアフローメータ112により検出)により燃料噴射量が決定される。また、始動後の空燃比は、酸素センサ306からの信号によりフィードバック制御される。すなわち、燃料噴射制御は、エンジンの状態に応じて演算した基本噴射時間に、各センサの信号に補正を加え、燃料噴射時期制御および噴射量制御が実行される。
次に、エンジンECU1000に各種信号を入力するセンサについて説明する。
アクセルポジションセンサ402は、アクセルペダルに配置され、アクセルペダル踏込み量を検知する。アクセルペダル踏込み量に対して直線的に出力電圧が得られるリニアタイプのアクセルポジションセンサなどが用いられる。
エアフローメータ112は、吸気温センサ内蔵のホットワイヤ式エアフローメータなどであって、吸入空気量を計測する。エンジンECU400は、予め記憶されたエアフローメータ112の出力電圧と流量との関係から、エンジン200への吸入空気量を算出する。
スロットルポジションセンサ106は、たとえばスロットルボディに配置され、スロットバルブ108の開度を検出する。たとえば、ホール素子を用いた電子式のポジションセンサが採用されることにより正確な制御と恒久的な信頼性を確保することができる。
クランクポジションセンサ222は、クランク角度を検出するセンサであって、検出精度の高い電磁ピックアップ式センサなどが用いられる。クランクシャフトが回転することにより、クランクシャフトに取付けられたタイミングロータ218の突起部とクランクポジションセンサ222のエアギャップが変化するため、クランクポジションセンサ222のコイル部を通過する磁束が増減し、コイル部に起電力が発生する。この発生電圧は、タイミングロータ218の突起部がクランクポジションセンサ222に近づくときと離れるときとでは逆向きになるため、交流電圧として現われ、これにより、クランク位置およびクランク角速度を検出することができる。水温センサ220は、エンジン200のシリンダブロック内を流通する冷却水の水温を検出する。
また、このエンジンシステムには、スロットル制御システムが導入されている。このスロットル制御システムは、エンジンの状態に応じて演算したスロットルバルブ108の開度に、各センサの信号による補正を加えて、適正な開度になるように制御される。すなわち、エンジンの燃焼状態に応じた適切なスロットルバルブ108の開度になるように、エンジンECU400がスロットルバルブ108の開度をスロットルモータ104を用いて制御する。
また、このエンジンシステムは、アイドル回転数制御システムが導入されている。このアイドル回転数制御システムは、エンジン冷却水温に応じたファーストアイドル回転数、エンジン暖気後のアイドル回転数を制御する。アイドル回転数制御は、エアフローメータ112からの信号に基づいて吸入空気量を算出し、エンジンECU400が最適なスロットルバルブ108の開度およびインジェクタ開弁時間を算出し、アイドル回転数を目標回転数に近づける。
このとき、経時変化によって、スロットルバルブ108の周辺にデポジット(堆積物)が付着すると、スロットルバルブ108の開度に基づいて算出される吸入空気量と、エアフローメータ112により検知される吸入空気量の実測値との間に誤差が発生する。これは、スロットルバルブ108の周辺にデポジットが付着すると、空気通路の断面積が減少して、エアフローメータ112により検知される吸入空気量の実測値が減少するためである。特に、アイドル回転数制御においては、燃費を向上させるためにより低い回転数で安定した内燃機関の燃焼状態を維持することが望ましいため、内燃機関の運転状態に基づいて要求される空気量が吸入されるようにスロットルバルブ108の開度が補正される。
すなわち、エンジンECU400は、検知されたスロットルバルブ108の開度から算出されるエンジン200に吸入される空気量と、エアフローメータ112により検知される吸入空気量との差に基づいて空気量の損失分(以下、損失流量とも記載する。)を算出する。エンジンECU400は、算出された損失分に応じて、スロットルバルブ108の開度を補正する。
本発明においては、エンジンECU400が、開度と損失分との関係に基づいて、検知された開度に対応する損失分を算出する点に特徴を有する。具体的には、エンジンECU400は、開度小の領域内の開度に対応する損失流量と、開度大の領域内の開度に対応する損失流量とに基づいて、開度と損失流量との関係を学習する。エンジンECU400は、学習した関係とスロットルポジションセンサ106により検知されたスロットルバルブ108の開度とに基づいて、検知された開度に対応する損失分を算出する。
空気量の損失分は、エンジン200のアイドリング時において、図2(A)に示すように開度に応じて変化する。エンジンECU200は、学習開始条件が成立すると、スロットルバルブ108の開度が開度小の領域内のTA(1)にあるときには、損失流量A(1)を検出して、開度小の領域における学習値として記憶しておく。一方、エンジンECU200は、スロットルバルブ108の開度が開度大の領域内のTA(2)にあるときには、損失流量A(2)を検出して、開度大の領域における学習値として記憶しておく。そして、エンジンECU400は、開度TA(1)に対応するA(1)と、開度TA(2)に対応するA(2)とに基づいて、図2(B)に示すような開度と損失流量との関係を示すマップを作成する。
なお、「学習開始条件」として、たとえば、エンジン200のアイドリング状態が安定していること、およびマップに誤差が発生したと判断されたことを条件としている。また、「開度小の領域」および「開度大の領域」とは、特に限定されるものではなく、たとえば、エンジン200のアイドリング時におけるスロットルバルブの開度が予め定められた開度より小さいと開度小の領域であるとし、予め定められた開度よりも大きいと開度大の領域であるとしてもよい。あるいは、複数の閾値を設けて、開度小の領域と開度大の領域とを定義するようにしてもよいし、冷間時のアイドル回転数に対応するスロットルバルブ108の開度を開度小の領域とし、温間時のアイドル回転数に対応するスロットルバルブ108の開度を開度大の領域としてもよい。冷間時のアイドル回転数に対応する開度は、速やかにエンジン200の冷却水の水温を上昇させるため、温間時のアイドル回転数に対応する開度よりも大きくなる傾向にある。そのため、エンジン200のアイドリング時における開度と損失分との関係の学習において、冷間時と温間時における開度をそれぞれ別途学習しておくことにより、エンジン200のアイドリング時における開度と損失分との関係を学習することができる。
本実施の形態において、図2(B)に示すマップは、TA(1)に対応するA(1)およびTA(2)に対応するA(2)とから得られる2点に基づいて、線形補間して作成される。マップにおいて、開度TA(1)以下の基準となるベース開度A(0)を予め設定しておく。「ベース開度」とは、たとえば、エンジン200が完全に暖機が終了して、補機類(たとえば、エアコンディショナのコンプレッサやオルタネータ等)が動作していないときのスロットルバルブ108の開度であるが、特に限定されるものではない。
ベース開度TA(0)以下の開度は、線形補間をせず、TA(0)より小さい区間における損失流量は、一律A(0)とする。ベース開度TA(0)以下についてもベース開度TA(0)以上のときと同様に線形的に損失分を補間すると、ベース開度TA(0)以下となるときに、吸気系の部品がほぼ新品の状態における空気量の損失分よりも損失分が小さく補正される場合がある。そのため、ベース開度TA(0)以下においては、ベース開度TA(0)に対応する損失流量A(0)を、検知された開度に対応する損失分とすることにより、上述のような現象の発生を回避することができる。
他方、開度TA(2)以上の開度においても、線形補間はせずに、TA(2)より大きい区間における損失流量は、一律A(2)とする。開度TA(2)以上においては、開度TA(2)以下と同様に線形的に損失分を補間すると、開度TA(2)以上で、損失分が大きく補正される場合がある。その結果、アイドリング時の回転数が高くなり、燃費が悪化する可能性がある。そのため、開度TA(2)以上においては、損失流量A(2)を検知された開度に対応する損失分とすることにより、上述のような現象の発生を回避することができる。
エンジンECU400は、上述のマップに基づいて、検知された開度に対応する損失流量が算出されると、エンジン200の運転状態に基づいて要求される要求流量と算出された損失流量とに基づいて、スロットルバルブ108の開度を算出する。「エンジン200の運転状態に基づいて要求される要求流量」とは、たとえば、エンジンの水温や補機類の作動状態に基づいて要求される空気量である。エンジンECU400は、スロットルバルブ108が算出された開度になるようにスロットルモータ104を制御する。
なお、本実施の形態において、2点からマップを作成することにより、開度と損失流量との関係を学習するようにしたが、特にマップを用いることに限定されるものではない。すなわち、2点から開度に対応する損失流量を算出する表や数式を作成するようにして、開度と損失流量との関係を学習するようにしてもよい。また、開度と損失流量との関係の学習は、2点に限定されるものではなく、たとえば、複数のスロットルバルブ108の開度において損失流量を学習して、学習した複数の開度における学習値に基づいて、上述の開度と損失流量との関係を学習するようにしてもよい。
以下、図3を参照して、本実施の形態に係る内燃機関の制御装置であるエンジンECU400で実行されるプログラムの制御構造について説明する。
ステップ(以下、ステップをSと記載する。)1000にて、エンジンECU400は、運転者の操作によりイグニッション(以下、IGと記載する。)がオンされたか否かを判定する。IGがオンされると(S1000にてYES)、処理はS1010に移される。もしそうでないと(S1000にてNO)、処理はS1000に戻される。
S1010にて、エンジンECU400は、開度大の領域および開度小の領域における損失流量の学習が完了しているか否かを判断する。前回までのトリップにおいて、開度大の領域および開度小の領域の各々において、学習が完了するとフラグをオンするようにしておく。エンジンECU400は、開度大の領域および開度小の領域に対応する学習完了フラグのオン、オフにより、開度大の領域および開度小の領域における損失流量の学習が完了しているか否かを判断する。
S1020にて、エンジンECU400は、初回の学習値を反映するか否かを判断する。ここで、「初回」とは、工場出荷時あるいはバッテリクリア後の初回のIGのオンを示す。エンジンECU400は、工場出荷時あるいはバッテリクリア後の初回のIGオンであると、学習完了した学習値を直ちにマップに反映すると判断する。初回の学習値を反映すると判断すると(S1020にてYES)、処理はS1030に移される。もしそうでないと(S1020にてNO)、処理はS1040に移される。
S1030にて、エンジンECU400は、反映値をセットする。すなわち、エンジンECU400は、学習完了した学習値(開度小の領域の開度に対応する損失流量と、開度大の領域の開度に対応する損失流量)を用いてマップを作成して、マップから得られる値(以下、反映値とも記載する。)を用いて、損失流量の補正をするようにする。
S1040にて、エンジンECU400は、反映値を更新する。本実施の形態において、エンジンECU400は、初回のIGオンでなければ、学習が完了した学習値(開度大の領域あるいは開度小の領域のいずれかの損失流量)を用いて作成されたマップの反映値を直ちに用いるのではなく、トリップ毎に学習値に近づけるようにして、マップの反映値を更新する。マップが直ちに大幅に変更されると、エンジン200の運転状態が大きく変化する場合があるからである。
具体的には、本実施の形態において、エンジンECU400は、前回のトリップにおいて、作成されたマップと変更された学習値に基づくマップとの差をトリップ毎に、予め定められた増分ずつ差を埋めるようにして、マップの反映値を更新するとする。ただし、反映値を更新する方法としては、特に上述の方法に限定されるものではない。
S1050にて、エンジンECU400は、その他のIGオン時の処理を行なう。「その他のIGオン時の処理」とは、具体的には、エンジン起動処理等であるが特に限定されるものではない。S1060にて、エンジンECU400は、通常時処理を行なう。通常時処理の詳細については後述する。
S1070にて、エンジンECU400は、マップから得られる反映値から損失流量を算出する。すなわち、エンジンECU400は、検知されるスロットルバルブ108の開度に対応する損失流量を図2に示すマップから算出する。
S1080にて、エンジンECU400は、算出された損失流量分に基づいて、目標流量を補正する。目標流量は、エンジン200のアイドリング時の水温や補機類の作動状態に応じて設定される。エンジンECU400は、目標流量に算出された損失流量分を加えて目標流量を補正する。
S1090にて、エンジンECU400は、補正された目標流量に対応するスロットルバルブ108の開度を算出する。S1100にて、エンジンECU400は、その他の通常処理を行なう。「その他の通常処理」とは、具体的には、スロットルバルブ108が算出された開度になるようにエンジンECU400がスロットルモータ104を制御する等の処理を含む。
S1110にて、エンジンECU400は、IGがオフされたか否かを判断する。IGがオフされると(S1110にてYES)、処理はS1000に戻される。もしそうでないと(S1110にてNO)、処理はS1060に戻される。
以下、図4を参照して、エンジンECU400が実行する通常時処理のプログラムの制御構造について説明する。
S2000にて、エンジンECU400は、エンジン200の運転状態が安定しているか否かを判断する。エンジン200の運転状態が安定しているか否かについては、たとえば、アイドル回転数の時間変化量、スロットルバルブ108の開度の時間変化量あるいは、エアフローメータ112により検知される吸入空気量の時間変化量に基づいて判断される。エンジン200の運転状態が安定していると判断されると(S2000にてYES)、処理はS2010に移される。もしそうでないと(S2000にてNO)、処理は終了する。
S2010にて、エンジンECU400は、検知されたスロットルバルブ108の開度から算出される吸入空気量とエアフローメータ112により検知された吸入空気量との差に基づいて損失流量(A)を算出し、さらに、検知されたスロットルバルブ108の開度とマップとに基づいて、損失流量(B)を算出する。
S2020にて、エンジンECU400は、損失流量(A)と損失流量(B)との差の絶対値が予め定められた値αよりも大きいか否かを判断する。予め定められた値αは、特に限定される値ではない。損失流量(A)と損失流量(B)との差の絶対値が予め定められた値αよりも大きいと判断されると(S2020にてYES)、処理はS2030に移される。もしそうでないと(S2020にてNO)、処理は終了する。
S2030にて、検知されたスロットルバルブ108の開度が開度大の領域であるか否かを判断する。スロットルバルブ108の開度が開度大の領域であると(S2030にてYES)、処理はS2040に移される。もしそうでないと(S2030にてNO)、処理はS2060に移される。
S2040にて、エンジンECU400は、開度大の領域における損失流量の学習値を更新する。S2050にて、エンジンECU400は、開度大の領域における学習値の学習完了フラグをオンにする。
S2060にて、エンジンECU400は、検知されたスロットルバルブ108の開度が開度小の領域であるか否かを判断する。スロットルバルブ108の開度が開度小の領域であると(S2060にてYES)、処理はS2070に移される。もしそうでないと(S2060にてNO)、処理は終了する。
S2070にて、エンジンECU400は、開度小の領域における損失流量の学習値を更新する。S2080にて、エンジンECU400は、開度小の領域における学習値の学習完了フラグをオンにする。
以上のような構造およびフローチャートに基づく、本実施の形態に係る内燃機関の制御装置であるエンジンECU400の動作について説明する。
運転者がIGをオンして(S1000にてYES)、開度大および開度小の領域の学習が完了していて(S1010にてYES)、かつ、初回のIGオンであると(S1020にてYES)、更新された学習値に基づいてマップが作成される(S1030)。初回のIGオンでなければ(S1020にてNO)、前回のトリップ時において、学習値が更新されていると、マップの反映値が学習値に基づくマップに近づくように更新される(S1040)。
エンジンが起動して(S1050)、運転状態が安定すると(S2000にてYES)、損失流量(A)および損失流量(B)が算出される(S2010)。そして、算出された損失流量(A)と損失流量(B)との差の絶対値が予め定められた値αよりも大きいか否かが判断される(S2020)。エアフローメータ112により検知された空気量に基づく損失流量(A)が、図5に示すように、学習値に基づいて作成されたマップの反映値から距離αだけ離れた範囲(実線で囲まれた範囲)を外れると、開度と損失量との関係を示すマップに誤差が生じていると判断できる。
損失流量(A)と損失流量(B)との差の絶対値が予め定められた値αよりも大きいと判断されると(S2020にてYES)、検知されたスロットルバルブ108の開度が開度大の領域であれば(S2030にてYES)、開度大の領域における損失流量の学習値が更新され(S2040)、学習完了フラグがオンされる(S2050)。検知されたスロットルバルブ108の開度が開度小の領域であると(S2030にてNO,S2060にてYES)、開度小の領域における損失流量の学習値が更新され(S2070)、学習完了フラグがオンされる(S2080)。検知された開度が開度大および開度小のいずれの領域でもなければ(S2030にてNO,S2060にてNO)、学習は行なわれない。
そして、検知されたスロットルバルブ108の開度に対応する損失流量がマップから算出され(S1070)、損失流量分に基づいて目標流量が補正される(S1080)。補正された目標流量に対応するスロットルバルブ108の開度が算出され(S1090)、その他の通常処理が行なわれる(S1100)。IGがオフされなければ(S1110にてNO)、通常時処理が行なわれる(S1060)。
以上のようにして、本実施の形態に係る内燃機関の制御装置であるエンジンECU400によると、スロットルバルブの開度TA(1)に対応する損失流量A(1)と、開度TA(1)より大きい開度TA(2)に対応する損失流量A(2)とに基づいて、開度と損失分との関係を示すマップを作成することにより、検知されたスロットルバルブの開度に対応する空気量の損失流量を精度良く算出することができる。算出された損失流量に応じて、スロットルバルブの開度を補正すると、内燃機関のアイドリング時の運転状態に基づいて要求される空気量が内燃機関に過不足なく供給される。そのため、内燃機関の燃焼状態を安定した状態に制御することができる。したがって、内燃機関のスロットルバルブの開度を経時変化に応じて適切に補正する内燃機関の制御装置を提供することができる。
なお、本実施の形態においては、スロットルモータによるアイドル回転数制御におけるスロットルバルブの開度を補正する場合について説明したが、アイドリング時のエンジンに吸入される空気量を調整するアイドルスピードコントロールバルブに本発明を適用してもよい。アイドルスピードコントロールバルブは、スロットルバルブをバイパスする通路に流れる空気量を調整して、アイドル回転数を制御する。アイドルスピードコントロールバルブに本発明を適用しても、スロットルバルブに適用した場合と同様の効果を得ることができる。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
100 吸気系、102 吸気通路、104 スロットルモータ、106 スロットルポジションセンサ、108 スロットルバルブ、110 エアクリーナ、112 エアフローメータ、114 インテークマニホールド、200 エンジン、210 フューエルインジェクタ、212 ピストン、214 燃焼室、216 点火プラグ、218 タイミングロータ、220 水温センサ、222 クランクポジションセンサ、300 排気系、302 エキゾーストマニホールド、304,308 三元触媒コンバータ、306 排気通路、400 エンジンECU、402 アクセルポジションセンサ。