(57)【特許請求の範囲】
【請求項１】
複数の気筒を有する４サイクルの内燃機関を制御する内燃機関の制御装置であって、
前記内燃機関の吸気マニホールドの入口に設けられたスロットルの目標開度を算出する目標開度算出部と、
吸気行程から排気行程までの前記４サイクルの期間を気筒数に均等分割した気筒数の期間を、気筒数の演算サイクルとし、前記目標開度に対して、１以上の自然数に設定された遅延数の演算サイクルの期間だけ遅らせて出力する無駄時間処理を行って、遅延数の演算サイクル遅れ後の目標開度を算出する目標開度遅れ処理部と、
前記スロットルの実開度が前記遅延数の演算サイクル遅れ後の目標開度に追従するにように、前記スロットルを駆動するスロットル制御部と、
前記遅延数の演算サイクル遅れ後の目標開度に対する前記実開度の応答遅れを模擬したスロットル応答遅れ処理を、前記目標開度に対して行って、遅延数の演算サイクル先までの実開度の推定値を算出する開度予測部と、
実開度及び吸気マニホールド内圧力に基づいてスロットル通過空気量の推定値を算出するスロットル空気量演算処理、吸気マニホールド内圧力に基づいて気筒吸入空気量の推定値を算出する気筒空気量演算処理、スロットル通過空気量及び気筒吸入空気量に基づいて吸気マニホールド内空気量及び吸気マニホールド内圧力の推定値を算出するマニホールド内空気演算処理を用い、
前記遅延数の演算サイクル先までの実開度の推定値に基づいて、遅延数の演算サイクル先までの、吸気マニホールド内空気量の推定値、吸気マニホールド内圧力の推定値、スロットル通過空気量の推定値、及び気筒吸入空気量の推定値を算出し、算出結果に基づいて、遅延数の演算サイクル先の気筒吸入空気量の推定値を算出する吸気量予測部と、
を備えた内燃機関の制御装置。
【請求項２】
前記吸気量予測部は、対象気筒の吸気行程に対応する演算サイクルの終了時点よりも、遅延数の演算サイクルだけ前の時点で、対象気筒について、前記遅延数の演算サイクル先の気筒吸入空気量の推定値を算出する請求項１に記載の内燃機関の制御装置。
【請求項３】
前記遅延数の演算サイクル先の気筒吸入空気量の推定値に基づいて、燃料噴射量を算出し、前記燃料噴射量に基づいて、対象気筒に燃料を供給するインジェクタを駆動する燃料制御部を備えた請求項２に記載の内燃機関の制御装置。
【請求項４】
前記燃料制御部は、各気筒の排気行程で前記インジェクタを駆動し、
前記遅延数は、２つに設定される請求項３に記載の内燃機関の制御装置。
【請求項５】
前記燃料制御部は、各気筒の吸気行程で前記インジェクタを駆動し、
前記遅延数は、１つに設定される請求項３に記載の内燃機関の制御装置。
【請求項６】
空気流量検出センサの出力信号に基づいて、スロットル通過空気量を検出し、圧力センサの出力信号に基づいて、吸気マニホールド内圧力を検出する運転状態検出部を備え、
前記吸気量予測部は、
前記スロットル空気量演算処理を用い、現在の実開度、及び現在の吸気マニホールド内圧力の検出値に基づいて、現在のスロットル通過空気量の推定値を算出し、
遅延数の演算サイクル先のスロットル通過空気量の推定値から前記現在のスロットル通過空気量の推定値を減算した空気量偏差を、前記現在のスロットル通過空気量の検出値に加算して、センサ基準の遅延数の演算サイクル先のスロットル通過空気量の推定値を算出し、
前記センサ基準の遅延数の演算サイクル先のスロットル通過空気量の推定値に対して、吸気マニホールドの応答遅れを模擬した吸気応答遅れ処理を行って、前記遅延数の演算サイクル先の気筒吸入空気量の推定値を算出する請求項１から５のいずれか一項に記載の内燃機関の制御装置。
【請求項７】
圧力センサの出力信号に基づいて、吸気マニホールド内圧力を検出する運転状態検出部を備え、
前記遅延数は、２つに設定され、
前記開度予測部は、前記目標開度に対して前記スロットル応答遅れ処理を行った値に基づいて、２つの演算サイクル先の実開度の推定値、及び１つの演算サイクル先の実開度の推定値を算出し、
前記吸気量予測部は、
現在の吸気マニホールド内圧力の検出値に基づいて、現在の吸気マニホールド内空気量の推定値を算出し、
現在の実開度及び現在の吸気マニホールド内圧力の検出値に基づいて、現在のスロットル通過空気量の推定値を算出し、
現在の吸気マニホールド内圧力の検出値に基づいて、現在の気筒吸入空気量の推定値を算出し、
前記現在の吸気マニホールド内空気量の推定値に対して、前記現在のスロットル通過空気量の推定値を加算すると共に、前記現在の気筒吸入空気量の推定値を減算して、１つの演算サイクル先の吸気マニホールド内空気量の推定値を算出し、
前記１つの演算サイクル先の吸気マニホールド内空気量の推定値に基づいて、１つの演算サイクル先の吸気マニホールド内圧力の推定値を算出し、
前記１つの演算サイクル先の実開度の推定値、及び前記１つの演算サイクル先の吸気マニホールド内圧力の推定値に基づいて、１つの演算サイクル先のスロットル通過空気量の推定値を算出し、
前記１つの演算サイクル先の吸気マニホールド内圧力の推定値に基づいて、１つの演算サイクル先の気筒吸入空気量の推定値を算出し、
前記１つの演算サイクル先の吸気マニホールド内空気量の推定値に対して、前記１つの演算サイクル先のスロットル通過空気量の推定値を加算すると共に、前記１つの演算サイクル先の気筒吸入空気量の推定値を減算して、２つの演算サイクル先の吸気マニホールド内空気量の推定値を算出し、
前記２つの演算サイクル先の吸気マニホールド内空気量の推定値に基づいて、２つの演算サイクル先の吸気マニホールド内圧力の推定値を算出し、
前記２つの演算サイクル先の実開度の推定値、及び前記２つの演算サイクル先の吸気マニホールド内圧力の推定値に基づいて、２つの演算サイクル先のスロットル通過空気量の推定値を算出し、
前記２つの演算サイクル先のスロットル通過空気量の推定値に基づいて、２つの演算サイクル先の気筒吸入空気量の推定値を算出する請求項１から６のいずれか一項に記載の内燃機関の制御装置。
【請求項８】
圧力センサの出力信号に基づいて、吸気マニホールド内圧力を検出する運転状態検出部を備え、
前記遅延数は、１つに設定され、
前記開度予測部は、前記目標開度に対して前記スロットル応答遅れ処理を行った値に基づいて、１つの演算サイクル先の実開度の推定値を算出し、
前記吸気量予測部は、
現在の吸気マニホールド内圧力の検出値に基づいて、現在の吸気マニホールド内空気量の推定値を算出し、
現在の実開度及び現在の吸気マニホールド内圧力の検出値に基づいて、現在のスロットル通過空気量の推定値を算出し、
現在の吸気マニホールド内圧力の検出値に基づいて、現在の気筒吸入空気量の推定値を算出し、
前記現在の吸気マニホールド内空気量の推定値に対して、前記現在のスロットル通過空気量の推定値を加算すると共に、前記現在の気筒吸入空気量の推定値を減算して、１つの演算サイクル先の吸気マニホールド内空気量の推定値を算出し、
前記１つの演算サイクル先の吸気マニホールド内空気量の推定値に基づいて、１つの演算サイクル先の吸気マニホールド内圧力の推定値を算出し、
前記１つの演算サイクル先の実開度の推定値、及び前記１つの演算サイクル先の吸気マニホールド内圧力の推定値に基づいて、１つの演算サイクル先のスロットル通過空気量の推定値を算出し、
前記１つの演算サイクル先のスロットル通過空気量の推定値に基づいて、１つの演算サイクル先の気筒吸入空気量の推定値を算出する請求項１から６のいずれか一項に記載の内燃機関の制御装置。
【請求項９】
前記吸気量予測部は、各時点の吸気マニホールド内空気量の推定値、吸気マニホールド内圧力の推定値、スロットル通過空気量の推定値、及び気筒吸入空気量の推定値として、各時点の直前の１つの演算サイクルの期間における、吸気マニホールド内空気量の平均値、吸気マニホールド内圧力の平均値、スロットル通過空気量、及び気筒吸入空気量を算出する請求項１から８のいずれか一項に記載の内燃機関の制御装置。
【請求項１０】
前記吸気量予測部は、前記１つの演算サイクル先のスロットル通過空気量の推定値を算出する際に用いる前記１つの演算サイクル先の実開度の推定値として、前記現在の実開度と前記１つの演算サイクル先の実開度の推定値との平均値を用い、
前記２つの演算サイクル先のスロットル通過空気量の推定値を算出する際に用いる前記２つの演算サイクル先の実開度の推定値として、前記１つの演算サイクル先の実開度の推定値と前記２つの演算サイクル先の実開度の推定値との平均値を用いる請求項７に記載の内燃機関の制御装置。
【請求項１１】
前記吸気量予測部は、前記１つの演算サイクル先のスロットル通過空気量の推定値を算出する際に用いる前記１つの演算サイクル先の実開度の推定値として、前記現在の実開度と前記１つの演算サイクル先の実開度の推定値との平均値を用いる請求項８に記載の内燃機関の制御装置。
【請求項１２】
前記吸気量予測部は、前記気筒空気量演算処理において、回転速度及び吸気マニホールド内圧力に基づいて体積効率を算出し、吸気マニホールド内圧力に前記体積効率を乗算した値に基づいて、気筒吸入空気量を算出する請求項１から１１のいずれか一項に記載の内燃機関の制御装置。
【請求項１３】
前記吸気量予測部は、前記スロットル空気量演算処理において、実開度に基づいてスロットルの有効開口面積を算出し、前記有効開口面積及び吸気マニホールド内圧力に基づいて、スロットル通過空気量を算出する請求項１から１２のいずれか一項に記載の内燃機関の制御装置。
【請求項１４】
前記目標開度遅れ処理部は、インジェクタの駆動タイミングの変化に応じて、前記遅延数を変化させる請求項１から１３のいずれか一項に記載の内燃機関の制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本願は、内燃機関の制御装置に関するものである。
【背景技術】
【０００２】
吸気ポートに燃料を噴射するガソリンエンジンでは、吸気行程又は排気行程で燃料噴射が実行されるため、実際に空気が気筒内に吸入される吸気行程よりも前に検出した空気量に基づいて燃料噴射量を決定しなければならない。従って、過渡運転状態の場合には、過渡前に検出した空気量に基づき燃料噴射量が決定されてしまうため、筒内に吸入される実際の空気量に対して燃料量の過不足が生じる。これにより一時的なリッチ状態又はリーン状態に陥り、ドライバビリティ及び排気ガスを悪化させる。
【０００３】
一般には加減速等の過渡運転の際には、スロットルの変化及び空気量の変化に応じて燃料量の増量又は減量を行う制御が知られているが、前述の通り実際に空気が気筒内に吸入されるタイミングと、燃料の増量又は減量を行うタイミングとは合致していない。そのため、過渡時の燃料の増減量は、各種の過渡運転に対し最適な補正量にならない場合がある。
【０００４】
また、特許文献１の技術では、スロットル開度の変化に基づいて２サイクル後の吸気管圧を予測する技術が示されているが、この技術であってもスロットルが停止状態から動作し始めるタイミングでの予測は困難である。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００３−２５４１４９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
以上のように、従来の内燃機関の制御装置では、実際に空気が気筒に吸入される吸気行程に対して、燃料噴射量を計算するための空気量の演算タイミングが早いため、過渡運転において、空燃比のずれが生じる。そのため、空燃比のずれを軽減するため、代表実機を用いた実験を行い、スロットルの変化及び空気量の変化に応じた燃料量補正量の適合が行われる。しかし、スロットルが停止状態から動作し始めるタイミングでは、スロットル及び空気量の変化がない状態で、燃料補正量を算出することができず、原理的に、空燃比のずれを解消できない。
【０００７】
そこで、本願は、吸気行程に対して、気筒吸入空気量の算出タイミングが早い場合でも、吸気行程で実際に吸入される気筒吸入空気量を精度よく推定することができる内燃機関の制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本願に係る内燃機関の制御装置は、複数の気筒を有する４サイクルの内燃機関を制御する内燃機関の制御装置であって、
前記内燃機関の吸気マニホールドの入口に設けられたスロットルの目標開度を算出する目標開度算出部と、
吸気行程から排気行程までの前記４サイクルの期間を気筒数に均等分割した気筒数の期間を、気筒数の演算サイクルとし、前記目標開度に対して、１以上の自然数に設定された遅延数の演算サイクルの期間だけ遅らせて出力する無駄時間処理を行って、遅延数の演算サイクル遅れ後の目標開度を算出する目標開度遅れ処理部と、
前記スロットルの実開度が前記遅延数の演算サイクル遅れ後の目標開度に追従するにように、前記スロットルを駆動するスロットル制御部と、
前記遅延数の演算サイクル遅れ後の目標開度に対する前記実開度の応答遅れを模擬したスロットル応答遅れ処理を、前記目標開度に対して行って、遅延数の演算サイクル先までの実開度の推定値を算出する開度予測部と、
実開度及び吸気マニホールド内圧力に基づいてスロットル通過空気量の推定値を算出するスロットル空気量演算処理、吸気マニホールド内圧力に基づいて気筒吸入空気量の推定値を算出する気筒空気量演算処理、スロットル通過空気量及び気筒吸入空気量に基づいて吸気マニホールド内空気量及び吸気マニホールド内圧力の推定値を算出するマニホールド内空気演算処理を用い、
前記遅延数の演算サイクル先までの実開度の推定値に基づいて、遅延数の演算サイクル先までの、吸気マニホールド内空気量の推定値、吸気マニホールド内圧力の推定値、スロットル通過空気量の推定値、及び気筒吸入空気量の推定値を算出し、算出結果に基づいて、遅延数の演算サイクル先の気筒吸入空気量の推定値を算出する吸気量予測部と、
を備えたものである。
【発明の効果】
【０００９】
本願に係る内燃機関の制御装置によれば、スロットルの目標開度を遅延数の演算サイクルだけ遅らせて、最終的な目標開度に設定するので、スロットルの実開度を、目標開度から遅延数の演算サイクルだけ遅らせて変化させることができる。よって、遅延数の演算サイクルの期間だけ前の時点で、遅延数の演算サイクル先までのスロットルの実開度の変化を推定することができ、推定した実開度の変化により、遅延数の演算サイクル先に実際に吸入される気筒吸入空気量を推定することができる。
【００１０】
この際、吸気系の空気の挙動を表す、スロットル空気量演算処理、気筒空気量演算処理、及びマニホールド内空気演算処理を用い、遅延数の演算サイクル先までの実開度の推定値に基づいて、遅延数の演算サイクル先までの、吸気マニホールド内空気量、吸気マニホールド内圧力、スロットル通過空気量、及び気筒吸入空気量の挙動をシミュレーションして、推定することができる。特に、スロットル通過空気量は、吸気マニホールド内圧力に応じて流量特性が大きく変化するため、遅延数の演算サイクル先までの吸気マニホールド内圧力の変化を推定することにより、遅延数の演算サイクル先までのスロットル通過空気量の推定精度を向上させ、遅延数の演算サイクル先の気筒吸入空気量の推定精度を向上させることができる。よって、吸気行程に対して、気筒吸入空気量の算出タイミングが早い場合でも、遅延数の演算サイクル先に実際に吸入される気筒吸入空気量を精度よく推定することができる。
【図面の簡単な説明】
【００１１】
【図１】実施の形態１に係る内燃機関及び制御装置の概略構成図である。
【図２】実施の形態１に係る内燃機関及び制御装置の概略構成図である。
【図３】実施の形態１に係る制御装置のブロック図である。
【図４】実施の形態１に係る制御装置のハードウェア構成図である。
【図５】実施の形態１に係る演算サイクルを説明するための図である。
【図６】実施の形態１に係るスロットル開度の変化と演算サイクルとの関係を説明するための図である。
【図７】実施の形態１に係る目標開度の遅れ処理と演算サイクルとの関係を説明するための図である。
【図８】実施の形態１に係るスロットルの無次元流量の特性を説明するための図である。
【図９】実施の形態１に係るスロットルの有効開口面積の特性を説明するための図である。
【図１０】実施の形態１に係るスロットルの応答遅れを説明するためのタイムチャートである。
【図１１】実施の形態１に係るスロットルの応答遅れを説明するためのタイムチャートである。
【図１２】実施の形態１に係る実開度の予測を説明するためのタイムチャートである。
【図１３】実施の形態１に係る吸気量予測部のブロック図である。
【図１４】実施の形態１に係る推定挙動を説明するためのタイムチャートである。
【図１５】実施の形態１に係る推定挙動を説明するためのタイムチャートである。
【図１６】実施の形態２に係る演算サイクルを説明するための図である。
【図１７】実施の形態２に係るスロットル開度の変化と演算サイクルとの関係を説明するための図である。
【図１８】実施の形態２に係る目標開度の遅れ処理と演算サイクルとの関係を説明するための図である。
【図１９】実施の形態２に係る実開度の予測を説明するためのタイムチャートである。
【図２０】実施の形態２に係る吸気量予測部のブロック図である。
【発明を実施するための形態】
【００１２】
１．実施の形態１
実施の形態に係る内燃機関の制御装置５０（以下、単に制御装置５０と称す）について図面を参照して説明する。図１及び図２は、本実施の形態に係る内燃機関１及び制御装置５０の概略構成図であり、図３は、本実施の形態に係る制御装置５０のブロック図である。内燃機関１及び制御装置５０は、車両に搭載され、内燃機関１は、車両（車輪）の駆動力源となる。
【００１３】
１−１．内燃機関１の構成
まず、内燃機関１の構成について説明する。図１に示すように、内燃機関１は、空気と燃料の混合気を燃焼する燃焼室７（以下、気筒７と称す）を備えている。内燃機関１は、気筒７に空気を供給する吸気管２３と、気筒７で燃焼した排気ガスを排出する排気管１７とを備えている。内燃機関１は、ガソリンエンジンとされている。内燃機関１は、吸気管２３を開閉するスロットルバルブ４（以下、単に、スロットル４とも称す）を備えている。スロットル４の下流側の吸気管２３の部分は、吸気マニホールド１２である。よって、スロットル４は、吸気マニホールド１２の入口に設けられている。スロットル４は、制御装置５０により制御される電気モータにより開閉駆動される電子制御式スロットルバルブである。スロットル４には、スロットルの開度に応じた電気信号を出力するスロットル開度センサ１９が設けられている。
【００１４】
スロットル４の上流側の吸気管２３の部分には、スロットル４を通過して、吸気マニホールド１２に吸入される吸入空気流量に応じた電気信号を出力する空気流量検出センサ３が設けられている。空気流量検出センサ３には、吸入空気の温度に応じた電気信号を出力する吸入空気温度センサ３ａが内蔵されている。吸入空気温度センサ３ａは、空気流量検出センサ３と別体であってもよい。内燃機関１は、排気ガス還流装置２０を備えている。排気ガス還流装置２０は、排気管１７から吸気マニホールド１２に排気ガスを還流するＥＧＲ流路２１と、ＥＧＲ流路２１を開閉するＥＧＲバルブ２２と、を有している。ＥＧＲバルブ２２は、制御装置５０により制御される電気モータにより開閉駆動される電子制御式ＥＧＲバルブとされている。排気管１７には、排気管１７内の排気ガスの空燃比に応じた電気信号を出力する空燃比センサ１８を備えている。
【００１５】
吸気マニホールド１２には、吸気マニホールド１２内の気体圧力に応じた電気信号を出力するマニホールド圧力センサ８が設けられている。マニホールド圧力センサ８には、吸気マニホールド１２内の気体温度に応じた電気信号を出力するマニホールド温度センサ８ａが内蔵されている。マニホールド温度センサ８ａは、マニホールド圧力センサ８と別体であってもよい。吸気マニホールド１２の下流側の部分には、吸気ポートに燃料を噴射するインジェクタ１３が設けられている。各気筒に個別に燃料を供給できるように、インジェクタ１３は、各気筒に１つ以上設けられている。内燃機関１には、大気圧に応じた電気信号を出力する大気圧センサ３３が設けられている。内燃機関１には、内燃機関１を冷却する冷却水の温度を検出する冷却水温センサ３４が設けられている。
【００１６】
気筒７の頂部には、空気と燃料の混合気に点火する点火プラグと、点火プラグに点火エネルギーを供給する点火コイル１６と、が設けられている。また、気筒７の頂部には、吸気管２３から気筒７内に吸入される吸入空気量を調節する吸気バルブ１４と、シリンダ内から排気管１７に排出される排気ガス量を調節する排気バルブ１５と、が設けられている。
【００１７】
図２に示すように、内燃機関１は、複数の気筒７（本例では３つ）を備えている。各気筒７内には、ピストン５が備えられている。各気筒７のピストン５は、コンロッド９及びクランク３２を介してクランク軸２に接続されている。クランク軸２は、ピストン５の往復運動によって回転駆動される。各気筒７で発生した燃焼ガス圧は、ピストン５の頂面を押圧し、コンロッド９及びクランク３２を介してクランク軸２を回転駆動する。クランク軸２は、車輪に駆動力を伝達する動力伝達機構に連結されている。動力伝達機構は、変速装置、ディファレンシャルギヤ等から構成される。なお、内燃機関１を備えた車両は、動力伝達機構内にモータージェネレータを備えたハイブリッド車であってもよい。
【００１８】
内燃機関１は、クランク軸２と一体回転する信号板１０を備えている。信号板１０は、予め定められた複数のクランク角度に複数の歯を設けている。本実施の形態では、信号板１０は、１０ｄｅｇ間隔で歯が並べられている。信号板１０の歯には、一部の歯が欠けた欠け歯部分が設けられている。内燃機関１は、エンジンブロック２４に固定され、信号板１０の歯を検出する第１クランク角センサ１１を備えている。
【００１９】
内燃機関１は、クランク軸２とチェーン２８で連結されたカム軸２９を備えている。カム軸２９は、吸気バルブ１４及び排気バルブ１５を開閉駆動する。クランク軸２が２回転する間に、カム軸２９は１回転する。内燃機関１は、カム軸２９と一体回転するカム用の信号板３１を備えている。カム用の信号板３１は、予め定められた複数のカム軸角度に複数の歯を設けている。内燃機関１は、エンジンブロック２４に固定され、カム用の信号板３１の歯を検出するカム角センサ３０を備えている。
【００２０】
制御装置５０は、第１クランク角センサ１１及びカム角センサ３０の２種類の出力信号に基づいて、各ピストン５の上死点を基準としたクランク角度を検出すると共に、各気筒７の行程を判別する。なお、内燃機関１は、吸入行程、圧縮行程、燃焼行程、及び排気行程の４サイクルの機関である。
【００２１】
内燃機関１は、クランク軸２と一体回転するフライホイール２７を備えている。フライホイール２７の外周部は、リングギア２５とされており、リングギア２５は、予め定められた複数のクランク角度に複数の歯を設けている。リングギア２５の歯は、周方向に等角度間隔で設けられている。本例では４ｄｅｇ間隔で、９０個の歯が設けられている。リングギア２５の歯には欠け歯部分は設けられていない。内燃機関１は、エンジンブロック２４に固定され、リングギア２５の歯を検出する第２クランク角センサ６を備えている。第２クランク角センサ６は、リングギア２５の径方向外側に、リングギア２５と間隔を空けて対向配置されている。フライホイール２７のクランク軸２とは反対側は、動力伝達機構に連結されている。よって、内燃機関１の出力トルクは、フライホイール２７の部分を通って、車輪側に伝達される。
【００２２】
第１クランク角センサ１１、カム角センサ３０、及び第２クランク角センサ６は、クランク軸２の回転による、各センサと歯の距離の変化に応じた電気信号を出力する。各角センサ１１、３０、６の出力信号は、センサと歯の距離が近い場合と、遠い場合とで信号がオンオフする矩形波となる。各角センサ１１、３０、６には、例えば、電磁ピックアップ式のセンサが用いられる。
【００２３】
フライホイール２７（リングギア２５）は、信号板１０の歯数よりも多い歯数を有しており、また、欠け歯部分もないため、高分解能の角度検出を期待できる。また、フライホイール２７は、信号板１０の質量よりも大きい質量を有しており、高周波振動が抑制されるため、高精度の角度検出を期待できる。
【００２４】
本実施の形態では、制御装置５０は、第１クランク角センサ１１の出力信号に基づいて、クランク軸の回転情報を検出する。なお、制御装置５０は、第２クランク角センサ６の出力信号に基づいて、クランク軸の回転情報を検出してもよい。
【００２５】
１−２．制御装置５０の構成
次に、制御装置５０について説明する。制御装置５０は、内燃機関１を制御対象とする制御装置である。図３に示すように、制御装置５０は、運転状態検出部５１、演算サイクル算出部５２、目標開度算出部５３、目標開度遅れ処理部５４、スロットル制御部５５、開度予測部５６、吸気量予測部５７、及び燃料制御部５８等の機能部を備えている。制御装置５０の各機能部５１〜５８等は、制御装置５０が備えた処理回路により実現される。具体的には、制御装置５０は、図４に示すように、処理回路として、ＣＰＵ（Central Processing Unit）等の演算処理装置９０（コンピュータ）、演算処理装置９０とデータのやり取りする記憶装置９１、演算処理装置９０に外部の信号を入力する入力回路９２、及び演算処理装置９０から外部に信号を出力する出力回路９３等を備えている。
【００２６】
演算処理装置９０として、ＤＳＰ（Digital Signal Processor）、ＡＳＩＣ（Application Specific Integrated Circuit）、ＩＣ（Integrated Circuit）、ＦＰＧＡ（Field Programmable Gate Array）、各種の論理回路、及び各種の信号処理回路等が備えられてもよい。また、演算処理装置９０として、同じ種類のもの又は異なる種類のものが複数備えられ、各処理が分担して実行されてもよい。
【００２７】
記憶装置９１として、演算処理装置９０からデータを読み出し及び書き込みが可能に構成されたＲＡＭ（Random Access Memory）、演算処理装置９０からデータを読み出し可能に構成されたＲＯＭ（Read Only Memory）等が備えられている。入力回路９２は、各種のセンサ、スイッチが接続され、これらセンサ、スイッチの出力信号を演算処理装置９０に入力するＡ／Ｄ変換器等を備えている。出力回路９３は、電気負荷が接続され、これら電気負荷に演算処理装置９０から制御信号を出力する駆動回路等を備えている。
【００２８】
そして、制御装置５０が備える各機能部５１〜５８等の各機能は、演算処理装置９０が、ＲＯＭ等の記憶装置９１に記憶されたソフトウェア（プログラム）を実行し、記憶装置９１、入力回路９２、及び出力回路９３等の制御装置５０の他のハードウェアと協働することにより実現される。なお、各機能部５１〜５８等が用いる定数値、マップデータ、判定値等の設定データは、ソフトウェア（プログラム）の一部として、ＲＯＭ等の記憶装置９１に記憶されている。また、各機能部５１〜５８等が算出した目標開度、各推定値等の各算出値及び各検出値のデータは、ＲＡＭ等の書き換え可能な記憶装置９１に記憶される。
【００２９】
本実施の形態では、入力回路９２には、第１クランク角センサ１１、第２クランク角センサ６、カム角センサ３０、空気流量検出センサ３、吸入空気温度センサ３ａ、スロットル開度センサ１９、マニホールド圧力センサ８、マニホールド温度センサ８ａ、大気圧センサ３３、空燃比センサ１８、アクセルポジションセンサ２６、及び冷却水温センサ３４等が接続されている。出力回路９３には、スロットル４（電気モータ）、ＥＧＲバルブ２２（電気モータ）、インジェクタ１３、及び点火コイル１６等が接続されている。なお、制御装置５０には、図示していない各種のセンサ、スイッチ、及びアクチュエータ等が接続されている。制御装置５０は、各種センサの出力信号に基づいて、吸入空気量、吸気マニホールド内の圧力、大気圧、空燃比、アクセル開度、及び水温等の内燃機関１の運転状態を検出する。
【００３０】
制御装置５０は、基本的な制御として、入力された各種センサの出力信号等に基づいて、燃料噴射量、点火時期等を算出し、インジェクタ１３及び点火コイル１６等を駆動制御する。制御装置５０は、アクセルポジションセンサ２６の出力信号等に基づいて、運転者が要求している内燃機関１の出力トルクを算出し、当該要求出力トルクを実現する吸入空気量となるように、スロットル４等を制御する。
【００３１】
１−２−１．運転状態検出部５１
運転状態検出部５１は、各種のセンサの出力信号等に基づいて各種の運転状態を検出する。例えば、運転状態検出部５１は、大気圧センサ３３の出力信号に基づいて大気圧を検出し、空気流量検出センサ３の出力信号に基づいてスロットル通過空気流量を検出し、吸入空気温度センサ３ａの出力信号に基づいて吸入空気温度（外気温度）を検出し、スロットル開度センサ１９の出力信号に基づいて実開度を検出し、マニホールド圧力センサ８の出力信号に基づいて吸気マニホールド内圧力を検出し、マニホールド温度センサ８ａの出力信号に基づいて吸気マニホールド内温度を検出し、空燃比センサ１８の出力信号に基づいて排気ガスの空燃比を検出し、アクセルポジションセンサ２６の出力信号に基づいてアクセルポジションを検出する。各センサの出力信号は、各センサの検出周期（例えば、５ｍｓ）でＡ／Ｄ変換され、各運転状態が検出される。
【００３２】
運転状態検出部５１は、第１クランク角センサ１１及びカム角センサ３０の出力信号に基づいて、各ピストン５の上死点を基準としたクランク角度を検出すると共に、各気筒７の行程を判別する。また、運転状態検出部５１は、第１クランク角センサ１１の出力信号に基づいて、内燃機関１の回転速度を検出する。これらの回転同期の処理は、第１クランク角センサ１１の出力信号の立上り又は立下りをトリガーとして実行される。
【００３３】
１−２−２．気筒数の演算サイクル
吸気行程から排気行程までの４サイクルの期間を気筒数に均等分割した気筒数の期間が、気筒数の演算サイクルに設定されている。本実施の形態では、図５に示すように、気筒数は、３つであるので、４サイクルの期間を３つに均等分割した３つの期間が、３つの演算サイクルに設定されている。各演算サイクルは、２４０度のクランク角度間隔に設定されている。第１気筒を基準にすると、第１の演算サイクルは、第１気筒の吸気行程の上死点から第１気筒の圧縮行程の上死点後６０度までの２４０度の角度間隔であり、第２の演算サイクルは、第１気筒の圧縮行程の上死点後６０度から第１気筒の燃焼行程の上死点後１２０度までの２４０度の角度間隔に設定され、第３の演算サイクルは、第１気筒の燃焼行程の上死点後１２０度から第１気筒の吸気行程の上死点までの２４０度の角度間隔に設定される。
【００３４】
また、各演算サイクルの開始時点（又は終了時点）は、各気筒の吸気行程の上死点に対応する。なお、各演算サイクルの開始時点（又は終了時点）は、各気筒の吸気行程の上死点から、数十度以内の角度ずれていてもよい。
【００３５】
なお、気筒数が４つである場合は、４サイクルの期間を４つに均等分割した４つの期間が、４つの演算サイクルに設定され、各演算サイクルは、１８０度のクランク角度間隔に設定され、４サイクルの各サイクルに対応する。
【００３６】
＜燃料噴射量の演算タイミング、及び噴射タイミング＞
制御装置５０は、演算サイクルの開始時点（本例では、各気筒の吸気行程の上死点）に対応する第１クランク角センサ１１の出力信号の立上り又は立下りを検出した時に、演算サイクルの開始時点を検出したと判定し、演算サイクル毎の処理を実行する。
【００３７】
制御装置５０は、各演算サイクルの開始時点で、気筒吸入空気量及び燃料噴射量を算出し、その後の演算サイクルの期間において、算出した燃料噴射量に基づいて、インジェクタ１３を駆動する。
【００３８】
本実施の形態では、各気筒のインジェクタ１３は、各気筒の吸気ポートに燃料を噴射するように設けられている。制御装置５０は、通常の運転状態では、各気筒の排気行程で、各気筒のインジェクタ１３を駆動する。制御装置５０は、対象気筒の排気行程に対応する演算サイクルの開始時点で、対象気筒の気筒吸入空気量及び燃料噴射量を算出し、対象気筒の排気行程で、算出した対象気筒の燃料噴射量に基づいて、対象気筒のインジェクタを駆動する。図５には、対象気筒が第１気筒である場合の例を示している。
【００３９】
＜燃料噴射量の算出に用いる気筒吸入空気量と、実際の気筒吸入空気量とのずれ＞
図５に示すように、第１気筒の排気行程に対応する演算サイクルの開始時点で、第１気筒の燃料噴射量を算出する。従来の技術では、燃料噴射量の算出に用いる気筒吸入空気量は、排気行程に対応する演算サイクルの１つ前の演算サイクルの期間において検出したスロットル通過空気量に基づいて算出される。すなわち、第１気筒の吸気行程に対応する演算サイクルよりも２つ前の演算サイクルの期間において検出したスロットル通過空気量、及びスロットル通過空気量に基づいて算出した気筒吸入空気量に基づいて、第１気筒の燃料噴射量が算出される。
【００４０】
そのため、図６に示すように、第１気筒の吸気行程でスロットルの開度が急増すると、第１気筒に吸入される気筒吸入空気量が急増する。よって、実際の気筒吸入空気量と、吸気行程よりも２つ前の演算サイクルにおいて検出され算出された気筒吸入空気量と間のずれが大きくなり、燃料噴射量が、望ましい燃料噴射量よりも少なくなり、空燃比がリーン化する。
【００４１】
そこで、燃料噴射量の算出に用いられる、吸気行程よりも２つ前の演算サイクルにおいて検出され算出された気筒吸入空気量と、吸気行程で実際に吸入された気筒吸入空気量との間のずれを低減することが望まれる。
【００４２】
本実施の形態では、図７にイメージ図を示すように、制御装置５０は、スロットルの開度を、目標開度から２つの演算サイクルだけ遅らせて変化させることにより、燃料噴射量を算出する時点で、２つの演算サイクル先までのスロットルの開度の変化を推定し、推定したスロットル開度の変化により、吸気行程で吸入される気筒吸入空気量を推定し、推定した気筒吸入空気量に基づいて燃料噴射量を算出できるように構成されている。
【００４３】
この際、スロットルの開度の推定値に基づいてスロットル通過空気量を推定することが重要になるが、後述する図８に示すように、スロットル通過空気量は、吸気マニホールド内圧力に応じて流量特性が大きく変化する。そのため、制御装置５０は、吸気マニホールド内圧力の変化を推定し、スロットル通過空気量の推定精度を向上させ、気筒吸入空気量の推定精度を向上させている。以下で、詳細について説明する。
【００４４】
１−２−３．演算サイクル算出部５２
演算サイクル算出部５２は、演算サイクルの開始時点で、前回の演算サイクルの開始時点から、現在の演算サイクルの開始時点までの期間（以下、現在の演算サイクルの期間Ｔｃｙｌ（ｎ）と称す）を検出する。
【００４５】
そして、演算サイクル算出部５２は、式（１）に示すように、現在及び１つ前の過去の演算サイクルの期間の検出値Ｔｃｙｌ（ｎ）、Ｔｃｙｌ（ｎ−１）に基づいて、１つ先の演算サイクルの期間の推定値Ｔｃｙｌ（ｎ＋１）、及び２つ先の演算サイクルの期間の推定値Ｔｃｙｌ（ｎ＋２）を算出する。
【数１】
0006910512.tif 000002
【００４６】
ここで、（ｎ）は、現在の演算サイクルの値であることを示し、（ｎ−１）は、１つの演算サイクル前の値であることを示し、（ｎ＋１）は、１つの演算サイクル先の推定値であることを示し、（ｎ＋２）は、２つの演算サイクル先の推定値であることを示している。また、Ｋｔ１、Ｋｔ２は、調整係数であり、例えば、１が設定されるが、推定値の急変を抑制するため、１より小さい値に設定されてもよい。
【００４７】
１−２−４．目標開度算出部５３
目標開度算出部５３は、スロットルの目標開度Ｖｔｈｏを算出する。目標開度算出部５３は、内燃機関１に要求されている要求出力トルクを実現する目標吸入空気量を算出し、目標吸入空気量を実現する目標開度Ｖｔｈｏを算出する。
【００４８】
本実施の形態では、以下のように構成される。次式に、スロットルを通過する目標空気流量Ｑｖｔｈと有効開口面積Ｓｔｈとの関係を示す。ここで目標空気流量Ｑｖｔｈは体積流量［Ｌ／ｓ］であり、α０は吸入空気の音速［ｍ／ｓ］であり、Ｓｔｈはスロットルの有効開口面積であり、κは吸入空気の比熱比であり、Ｐｕｐはスロットルの上流側の圧力であり、大気圧に対応し、Ｐｄｗｎはスロットルの下流側の圧力であり、吸気マニホールド内圧力に対応する。
【数２】
0006910512.tif 000003
【００４９】
式（２）を有効開口面積Ｓｔｈについて整理すると次式を得る。ここで、σは、圧力比Ｐｄｗｎ／Ｐｕｐに応じて変化する無次元流量であり、図８に示すように、圧力比Ｐｄｗｎ／Ｐｕｐが臨界圧力比（空気の場合は、約０．５２８）以下では臨界圧力比時の無次元流量σの値の一定値になる。圧力比Ｐｄｗｎ／Ｐｕｐが臨界圧力比（０．５２８）より大きくなる領域では、無次元流量σの値が大きく変化する。
【数３】
0006910512.tif 000004
【００５０】
目標開度算出部５３は、吸気マニホールド内圧力の検出値Ｐｂｄを、大気圧の検出値Ｐ０ｄで除算した値を、圧力比Ｐｄｗｎ／Ｐｕｐとして算出する。目標開度算出部５３は、式（３）の第２式により算出される、図８に示すような圧力比Ｐｄｗｎ／Ｐｕｐと無次元流量σとの関係が予め設定された無次元流量マップを参照し、算出した圧力比Ｐｄｗｎ／Ｐｕｐに対応する無次元流量σを算出する。一方、目標開度算出部５３は、目標吸入空気量［ｇ／ｃｙｃｌｅ］を、演算サイクルの期間Ｔｃｙｌ（ｎ）［ｓ／ｃｙｃｌｅ］で除算して、目標吸入空気流量［ｇ／ｓ］を算出し、目標吸入空気流量［ｇ／ｓ］を、吸入空気の密度で除算して、スロットルを通過する目標空気流量Ｑｖｔｈ［Ｌ／ｓ］を算出する。吸入空気の密度は、大気圧の検出値Ｐ０ｄ、吸入空気温度の検出値に基づいて算出される。
【００５１】
そして、目標開度算出部５３は、式（３）の第１式に示すように、スロットルを通過する目標空気流量Ｑｖｔｈ［Ｌ／ｓ］を、吸入空気の音速ａ０、及び算出した無次元流量σで除算して、有効開口面積Ｓｔｈを算出する。そして、目標開度算出部５３は、図９に示すような、スロットルの開度Ｖｔｈと有効開口面積Ｓｔｈとの関係が予め設定された開口面積マップを参照し、算出した有効開口面積Ｓｔｈに対応するスロットルの開度Ｖｔｈを、目標開度Ｖｔｈｏとして算出する。
【００５２】
目標開度算出部５３は、タイマ演算周期（例えば、５ｍｓ）毎に、目標開度Ｖｔｈｏを算出する。
【００５３】
１−２−５．目標開度遅れ処理部５４
目標開度遅れ処理部５４は、目標開度Ｖｔｈｏに対して、１以上の自然数に設定された遅延数の演算サイクルの期間だけ遅らせて出力する無駄時間処理を行って、遅延数の演算サイクル遅れ後の目標開度Ｖｔｈｏｄｌｙを算出する。本実施の形態では、遅延数は、２つに設定されている。目標開度遅れ処理部５４は、目標開度Ｖｔｈｏに対して、２つの演算サイクルの期間だけ遅らせて出力する無駄時間処理を行って、２つの演算サイクル遅れ後の目標開度Ｖｔｈｏｄｌｙを算出する。
【００５４】
無駄時間処理の無駄時間、すなわち、２つの演算サイクルの期間には、演算サイクル算出部５２により算出された演算サイクルの期間の検出値又は推定値が用いられる。例えば、２つ先の演算サイクルの期間の推定値Ｔｃｙｌ（ｎ＋２）が用いられてもよいし、現在の演算サイクルの期間の検出値Ｔｃｙｌ（ｎ）が用いられてもよい。
【００５５】
目標開度遅れ処理部５４は、各タイマ演算周期で目標開度算出部５３が算出した目標開度ＶｔｈｏをＲＡＭ等の記憶装置９１に記憶する。目標開度遅れ処理部５４は、２つの演算サイクルの期間よりも長い過去の記憶期間分の複数の目標開度Ｖｔｈｏを時間情報と関連付けて記憶装置９１に記憶する。そして、目標開度遅れ処理部５４は、タイマ演算周期毎に、２つの演算サイクルの期間前に記憶した目標開度Ｖｔｈｏを記憶装置９１から読み出して、２つの演算サイクル遅れ後の目標開度Ｖｔｈｏｄｌｙとして出力する。
【００５６】
１−２−６．スロットル制御部５５
スロットル制御部５５は、スロットルの実開度の検出値Ｖｔｈｄが、２つの演算サイクル遅れ後の目標開度Ｖｔｈｏｄｌｙに追従するにように、スロットル４（電気モータ）を駆動するフィードバック制御を行う。すなわち、２つの演算サイクル遅れ後の目標開度Ｖｔｈｏｄｌｙが、フィードバック制御の最終的な目標開度に設定されている。例えば、スロットル制御部５５は、実開度の検出値Ｖｔｈｄと２つの演算サイクル遅れ後の目標開度Ｖｔｈｏｄｌｙとの偏差に応じたＰＩＤ制御等により、電気モータへの通電電流を増減する。
【００５７】
１−２−７．開度予測部５６
開度予測部５６は、２つの演算サイクル遅れ後の目標開度Ｖｔｈｏｄｌｙに対する実開度の応答遅れを模擬したスロットル応答遅れ処理を、目標開度Ｖｔｈｏに対して行って、２つの演算サイクル先までの実開度の推定値を算出する。
【００５８】
スロットルの応答遅れは、図１０及び図１１に、実機の測定結果を示すように、無駄時間＋一次遅れで表せられる。図１０及び図１１に、最終的な目標開度に、無駄時間遅れ処理＋一次遅れの処理を行った、実開度の推定値を示しているように、実開度の推定値は、実開度の検出値によく一致しており、良好な推定精度が得られる。そこで、本実施の形態では、スロットル応答遅れ処理は、無駄時間遅れ処理＋一次遅れ処理、又は一次遅れ処理に設定される。
【００５９】
スロットル４の種類によっては、応答遅れが、空気流量及び圧力の影響を受けるため、無駄時間、及び一次遅れのフィルタゲインが、回転速度、充填効率等の運転状態に応じて変化されてもよい。
【００６０】
本実施の形態では、図１２に示すように、開度予測部５６は、目標開度Ｖｔｈｏに対してスロットル応答遅れ処理を行った値に基づいて、２つの演算サイクル先の実開度の推定値Ｖｔｈｅ２、１つの演算サイクル先の実開度の推定値Ｖｔｈｅ１、及び現在の実開度の推定値Ｖｔｈｅ０を算出する。
【００６１】
開度予測部５６は、目標開度Ｖｔｈｏに対してスロットル応答遅れ処理を行って、２つの演算サイクル先の実開度の推定値Ｖｔｈｅ２を算出する。本実施の形態では、開度予測部５６は、式（４）に示すように、目標開度Ｖｔｈｏに対するスロットル応答遅れ処理として、一次遅れ処理を用いる。無駄時間遅れ処理を省略した分、時間が進んだ情報が得られ、予測性能にとって多少有利に働く。
【数４】
0006910512.tif 000005
【００６２】
ここで、（ｍ）は、現在のタイマ演算周期の算出値であることを示し、（ｍ−１）は、前回のタイマ演算周期の算出値であることを示している。ＦＧｔｈは、一次遅れ処理のフィルタゲインである。
【００６３】
或いは、開度予測部５６は、式（５）に示すように、目標開度Ｖｔｈｏに対するスロットル応答遅れ処理として、無駄時間遅れ処理＋一次遅れ処理を用いてもよい。
【数５】
0006910512.tif 000006
【００６４】
ここで、（ｍ−２）は、前々回のタイマ演算周期の算出値であることを示している。ＦＧｔｈは、一次遅れ処理のフィルタゲインである。式（５）において、無駄時間が、タイマ演算周期の２倍であるため、無駄時間処理として、前々回のタイマ演算周期の目標開度Ｖｔｈｏ（ｍ−２）が用いられている。
【００６５】
開度予測部５６は、２つの演算サイクル遅れ後の目標開度Ｖｔｈｏｄｌｙに対して、スロットル応答遅れ処理を行って、現在の実開度の推定値Ｖｔｈｅ０を算出する。２つの演算サイクル遅れ後の目標開度Ｖｔｈｏｄｌｙに対するスロットル応答遅れ処理として、無駄時間遅れ処理＋一次遅れの処理が用いられる。なお、スロットル応答遅れ処理として、一次遅れの処理が用いられてもよい。なお、開度予測部５６は、目標開度Ｖｔｈｏに対して、２つの演算サイクルの期間の無駄時間遅れ処理及びスロットル応答遅れ処理を行って、現在の実開度の推定値Ｖｔｈｅ０を算出してもよい。開度予測部５６は、無駄時間遅れ処理＋一次遅れ処理を行う場合は、式（６）を用いる。
【数６】
0006910512.tif 000007
【００６６】
＜演算サイクルの開始時点での処理＞
開度予測部５６は、各演算サイクルの開始時点で、吸気量予測部５７に２つの演算サイクル先までの実開度の推定値を出力する。本実施の形態では、開度予測部５６は、各演算サイクルの開始時点で、直前のタイマ演算周期で算出された、２つの演算サイクル先の実開度の推定値Ｖｔｈｅ２、１つの演算サイクル先の実開度の推定値Ｖｔｈｅ１、現在の実開度の推定値Ｖｔｈｅ０を、吸気量予測部５７に出力する。
【００６７】
この際、本実施の形態では、開度予測部５６は、目標開度と実開度の検出値との偏差、２つの演算サイクル先までの演算サイクルの期間の予測値を考慮し、各実開度の推定値を補正する。なお、補正が行われなくてもよい。
【００６８】
開度予測部５６は、式（７）に示すように、２つの演算サイクル先の実開度の推定値Ｖｔｈｅ２から現在の実開度の推定値Ｖｔｈｅ０を減算した値に、演算サイクルの期間の予測値を用いた補正値を乗算して、２つの演算サイクル先の実開度の推定値の変動量ΔＶｔｈｅ２を算出し、現在の実開度の検出値Ｖｔｈｄに変動量ΔＶｔｈｅ２を加算して、最終的な２つの演算サイクル先の実開度の推定値Ｖｔｈｅ２を算出する。
【数７】
0006910512.tif 000008
【００６９】
ここで、Ｔｄは、スロットル応答遅れ処理の無駄時間である。Ｔｃｙｌ（ｎ＋１）は、演算サイクル算出部５２により算出された１つ先の演算サイクルの期間の推定値であり、Ｔｃｙｌ（ｎ＋２）は、２つ先の演算サイクルの期間の推定値である。これらＴｄ、Ｔｃｙｌ（ｎ＋１）、Ｔｃｙｌ（ｎ＋２）を用いた式（７）の第１式の右辺の補正値について説明する。本実施の形態では、２つの演算サイクル先の実開度の推定値Ｖｔｈｅ２には、式（４）に示した一次遅れ処理後の値が用いられ、現在の実開度の推定値Ｖｔｈｅ０には、式（６）に示した無駄時間遅れ処理＋一次遅れ処理後の値が用いられるので、Ｖｔｈｅ２とＶｔｈｅ０との間には、２つの演算サイクルの期間＋無駄時間Ｔｄの時間差がある。Ｖｔｈｅ２とＶｔｈｅ０との偏差を、２つの演算サイクルの期間の偏差に補正するために、補正値の分子が、Ｔｃｙｌ（ｎ＋１）＋Ｔｃｙｌ（ｎ＋２）の２つの演算サイクルの期間に設定され、補正値の分母が、Ｔｃｙｌ（ｎ＋１）＋Ｔｃｙｌ（ｎ＋２）＋Ｔｄの２つの演算サイクルの期間＋無駄時間Ｔｄに設定されている。
【００７０】
開度予測部５６は、式（８）に示すように、２つの演算サイクル先の実開度の推定値Ｖｔｈｅ２から現在の実開度の推定値Ｖｔｈｅ０を減算した値に、演算サイクルの期間の予測値を用いた補正値を乗算して、１つの演算サイクル先の実開度の推定値の変動量ΔＶｔｈｅ１を算出し、現在の実開度の検出値Ｖｔｈｄに変動量ΔＶｔｈｅ１を加算して、最終的な１つの演算サイクル先の実開度の推定値Ｖｔｈｅ１を算出する。
【数８】
0006910512.tif 000009
【００７１】
式（８）において、Ｖｔｈｅ２とＶｔｈｅ０との間には、２つの演算サイクルの期間＋無駄時間Ｔｄの時間差がある。Ｖｔｈｅ２とＶｔｈｅ０との偏差を、１つの演算サイクルの期間の偏差に補正するために、補正値の分子が、Ｔｃｙｌ（ｎ＋１）の１つの演算サイクルの期間に設定され、補正値の分母が、Ｔｃｙｌ（ｎ＋１）＋Ｔｃｙｌ（ｎ＋２）＋Ｔｄの２つの演算サイクルの期間＋無駄時間Ｔｄに設定されている。
【００７２】
或いは、開度予測部５６は、タイマ演算周期毎に、目標開度Ｖｔｈｏに対して、１つの演算サイクルの期間の無駄時間遅れ処理、及びスロットル応答遅れ処理（例えば、無駄時間遅れ処理＋一次遅れ処理）を行って、１つの演算サイクル先の実開度の推定値Ｖｔｈｅ１を算出してもよい。そして、式（９）に示すように、開度予測部５６は、各演算サイクルの開始時点で、１つの演算サイクル先の実開度の推定値Ｖｔｈｅ１から現在の実開度の推定値Ｖｔｈｅ０を減算した値に、演算サイクルの期間の予測値を用いた補正値を乗算して、１つの演算サイクル先の実開度の推定値の変動量ΔＶｔｈｅ１を算出し、現在の実開度の検出値Ｖｔｈｄに変動量ΔＶｔｈｅ１を加算して、最終的な１つの演算サイクル先の実開度の推定値Ｖｔｈｅ２を算出してもよい。
【数９】
0006910512.tif 000010
【００７３】
Ｖｔｈｅ２の推定に、式（４）の代わりに、無駄時間遅れ処理＋一次遅れ処理の式（５）が用いられる場合は、式（７）、式（８）、及び式（９）において、Ｔｄ＝０に設定されてもよい。
【００７４】
１−２−８．吸気量予測部５７
吸気量予測部５７は、実開度及び吸気マニホールド内圧力に基づいてスロットル通過空気量の推定値を算出するスロットル空気量演算処理、吸気マニホールド内圧力に基づいて気筒吸入空気量の推定値を算出する気筒空気量演算処理、スロットル通過空気量及び気筒吸入空気量に基づいて吸気マニホールド内空気量及び吸気マニホールド内圧力の推定値を算出するマニホールド内空気演算処理を用い、２つの演算サイクル先までの実開度の推定値に基づいて、２つの演算サイクル先までの、吸気マニホールド内空気量の推定値、吸気マニホールド内圧力の推定値、スロットル通過空気量の推定値、及び気筒吸入空気量の推定値を算出し、算出結果に基づいて、２つの演算サイクル先の気筒吸入空気量の推定値を算出する。
【００７５】
この構成によれば、吸気系の空気の挙動を表す、スロットル空気量演算処理、気筒空気量演算処理、及びマニホールド内空気演算処理を用い、２つの演算サイクル先までの実開度の推定値に基づいて、２つの演算サイクル先までの、吸気マニホールド内空気量、吸気マニホールド内圧力、スロットル通過空気量、及び気筒吸入空気量の挙動をシミュレーションして、推定することができる。特に、図８に示したように、スロットル通過空気量は、吸気マニホールド内圧力に応じて流量特性が大きく変化するため、２つの演算サイクル先までの吸気マニホールド内圧力の変化を推定することにより、２つの演算サイクル先までのスロットル通過空気量の推定精度を向上させ、２つの演算サイクル先の気筒吸入空気量の推定精度を向上させることができる。よって、吸気行程に対して、気筒吸入空気量の算出タイミングが早い場合でも、２つの演算サイクル先に実際に吸入される気筒吸入空気量を精度よく推定することができる。
【００７６】
吸気量予測部５７は、対象気筒の吸気行程に対応する演算サイクルの終了時点よりも、２つの演算サイクルだけ前の時点（本例では、対象気筒の排気行程に対応する演算サイクルの開始時点）で、対象気筒について、２つの演算サイクル先の気筒吸入空気量の推定値を算出する。
【００７７】
＜現在の演算サイクルの推定値の算出＞
図１３に示すように、本実施の形態では、吸気量予測部５７は、演算サイクルの開始時点で、現在の吸気マニホールド内圧力の検出値Ｐｂｄ（ｎ）に基づいて、現在の吸気マニホールド内空気量の推定値Ｇｂｅ（ｎ）を算出する。
【００７８】
吸気量予測部５７は、式（１０）を用い、現在の吸気マニホールド内圧力の検出値Ｐｂｄ（ｎ）に基づいて、現在の吸気マニホールド内空気量の推定値Ｇｂｅ（ｎ）を算出する。ＥＧＲが導入にされている場合は、吸気マニホールド内には、空気だけでなく、燃焼ガスも混合しているため、厳密には、気体量の推定値になる。
【数１０】
0006910512.tif 000011
【００７９】
ここで、吸気量予測部５７は、現在の吸気マニホールド内圧力の検出値Ｐｂｄ（ｎ）として、前回の演算サイクルの開始時点から現在の演算サイクルの開始時点までの期間において検出した複数の吸気マニホールド内圧力の検出値の平均値を用いる。よって、Ｇｂｅ（ｎ）は、前回の演算サイクルの開始時点から現在の演算サイクルの開始時点までの期間における吸気マニホールド内空気量の平均値である。Ｖｂは、吸気マニホールド内の容積［Ｌ］であり、Ｔｂｄ（ｎ）は、吸気マニホールド内の空気（気体）の温度［Ｋ］であり、吸気マニホールド内温度の検出値が用いられ、Ｒは、ガス定数［ｋＪ／（ｋｇ・Ｋ）］である。
【００８０】
吸気量予測部５７は、式（１１）を用い、現在の実開度の検出値Ｖｔｈｄ（ｎ）及び現在の吸気マニホールド内圧力の検出値Ｐｂｄ（ｎ）に基づいて、現在のスロットル通過空気量の推定値Ｇｔｈｅ（ｎ）を算出する。式（１１）の演算処理が、スロットル空気量演算処理に対応する。
【数１１】
0006910512.tif 000012
【００８１】
ここで、Ｇｔｈｅ（ｎ）は、前回の演算サイクルの開始時点から現在の演算サイクルの開始時点までの期間に、スロットルを通過した空気量［ｇ／ｃｙｃｌｅ］の推定値である。Ｔｃｙｌ（ｎ）は、現在の演算サイクルの期間［ｓ／ｃｙｃｌｅ］の検出値であり、前回の演算サイクルの開始時点から現在の演算サイクルの開始時点までの期間の検出値である。ρ０は、吸入空気（大気）の密度であり、大気圧の検出値、及び吸入空気温度（外気温）の検出値に基づいて算出される。ａ０は、吸入空気の音速であり、吸入空気温度の検出値に基づいて算出されてもよい。吸気量予測部５７は、図９に示すような、実開度Ｖｔｈと有効開口面積Ｓｔｈとの関係が予め設定された開口面積マップＦｔｈを参照し、現在の実開度の検出値Ｖｔｈｄ（ｎ）に対応する有効開口面積Ｓｔｈ（ｎ）を算出する。
【００８２】
吸気量予測部５７は、現在の吸気マニホールド内圧力の検出値Ｐｂｄ（ｎ）を、大気圧の検出値Ｐ０ｄ（ｎ）で除算した値を、圧力比Ｐｄｗｎ／Ｐｕｐとして算出し、図８に示すような圧力比Ｐｄｗｎ／Ｐｕｐと無次元流量σとの関係が予め設定された無次元流量マップを参照し、算出した圧力比Ｐｄｗｎ／Ｐｕｐに対応する無次元流量σ（ｎ）を算出する。
【００８３】
吸気量予測部５７は、式（１２）を用い、現在の吸気マニホールド内圧力の検出値Ｐｂｄ（ｎ）に基づいて、現在の気筒吸入空気量の推定値Ｇｃｅ（ｎ）を算出する。式（１２）の演算処理が、気筒空気量演算処理に対応する。
【数１２】
0006910512.tif 000013
【００８４】
ここで、Ｇｃｅ（ｎ）は、前回の演算サイクルの開始時点から現在の演算サイクルの開始時点までの期間に、気筒内に吸入された空気量［ｇ／ｃｙｃｌｅ］の推定値である。Ｖｃは、シリンダ容積［Ｌ］である。Ｋｖは、体積効率であり、吸気量予測部５７は、回転速度、現在の吸気マニホールド内圧力の検出値Ｐｂｄ（ｎ）、ＥＧＲ率、吸排気バルブタイミング等の運転状態に基づいて、体積効率Ｋｖを算出する。例えば、運転状態と体積効率Ｋｖとの関係が予め設定された体積効率マップが参照される。
【００８５】
＜１つの演算サイクル先の推定値の算出＞
そして、吸気量予測部５７は、式（１３）に示すように、現在の吸気マニホールド内空気量の推定値Ｇｂｅ（ｎ）に対して、現在のスロットル通過空気量の推定値Ｇｔｈｅ（ｎ）を加算すると共に、現在の気筒吸入空気量の推定値Ｇｃｅ（ｎ）を減算して、１つの演算サイクル先の吸気マニホールド内空気量の推定値Ｇｂｅ（ｎ＋１）を算出する。
【数１３】
0006910512.tif 000014
【００８６】
そして、吸気量予測部５７は、式（１４）に示すように、１つの演算サイクル先の吸気マニホールド内空気量の推定値Ｇｂｅ（ｎ＋１）に基づいて、１つの演算サイクル先の吸気マニホールド内圧力の推定値Ｐｂｅ（ｎ＋１）を算出する。式（１３）及び式（１４）の演算処理が、マニホールド内空気演算処理に対応する。
【数１４】
0006910512.tif 000015
【００８７】
ここで、Ｇｂｅ（ｎ＋１）は、現在の演算サイクルの開始時点から１つ先の演算サイクルの開始時点までの期間おける、吸気マニホールド内空気量の平均値である。また、Ｐｂｅ（ｎ＋１）は、現在の演算サイクルの開始時点から１つ先の演算サイクルの開始時点までの期間おける、吸気マニホールド内圧力の平均値である。
【００８８】
吸気量予測部５７は、式（１５）を用い、１つの演算サイクル先の実開度の推定値、及び１つの演算サイクル先の吸気マニホールド内圧力の推定値Ｐｂｅ（ｎ＋１）に基づいて、１つの演算サイクル先のスロットル通過空気量の推定値Ｇｔｈｅ（ｎ＋１）を算出する。式（１５）の演算処理が、スロットル空気量演算処理に対応する。
【数１５】
0006910512.tif 000016
【００８９】
ここで、Ｇｔｈｅ（ｎ＋１）は、現在の演算サイクルの開始時点から１つ先の演算サイクルの開始時点までの期間に、スロットルを通過した空気量［ｇ／ｃｙｃｌｅ］の推定値である。Ｔｃｙｌ（ｎ＋１）は、１つ先の演算サイクルの期間［ｓ］の推定値である。吸気量予測部５７は、図９に示すような、実開度Ｖｔｈと有効開口面積Ｓｔｈとの関係が予め設定された開口面積マップＦｔｈを参照し、１つの演算サイクル先の実開度の推定値に対応する有効開口面積Ｓｔｈ（ｎ＋１）を算出する。
【００９０】
本実施の形態では、吸気量予測部５７は、Ｇｔｈｅ（ｎ＋１）を算出する際に用いる１つの演算サイクル先の実開度の推定値として、式（１６）に示すように、現在の実開度の検出値Ｖｔｈｄと１つの演算サイクル先の実開度の推定値Ｖｔｈｅ１との平均値を用いる。このように、平均値を用いることにより、演算サイクルの期間におけるスロットル通過空気量の推定精度を向上させることができる。
【数１６】
0006910512.tif 000017
【００９１】
なお、式（１６）において、演算サイクルの開始時点と終了時点の値が平均化されているが、演算サイクルの期間における３つ以上の値が平均化されてもよい。
【００９２】
吸気量予測部５７は、１つの演算サイクル先の吸気マニホールド内圧力の推定値Ｐｂｅ（ｎ＋１）を、大気圧の検出値Ｐ０ｄ（ｎ）で除算した値を、圧力比Ｐｄｗｎ／Ｐｕｐとして算出し、図８に示すような圧力比Ｐｄｗｎ／Ｐｕｐと無次元流量σとの関係が予め設定された無次元流量マップを参照し、算出した圧力比Ｐｄｗｎ／Ｐｕｐに対応する無次元流量σ（ｎ＋１）を算出する。
【００９３】
吸気量予測部５７は、式（１７）を用い、１つの演算サイクル先の吸気マニホールド内圧力の推定値Ｐｂｅ（ｎ＋１）に基づいて、１つの演算サイクル先の気筒吸入空気量の推定値Ｇｃｅ（ｎ＋１）を算出する。式（１７）の演算処理が、気筒空気量演算処理に対応する。
【数１７】
0006910512.tif 000018
【００９４】
ここで、Ｇｃｅ（ｎ＋１）は、現在の演算サイクルの開始時点から１つ先の演算サイクルの開始時点までの期間に、気筒内に吸入された空気量［ｇ／ｃｙｃｌｅ］の推定値である。吸気量予測部５７は、回転速度、１つの演算サイクル先の吸気マニホールド内圧力の推定値Ｐｂｅ（ｎ＋１）、ＥＧＲ率、吸排気バルブタイミング等の運転状態に基づいて、体積効率Ｋｖを算出する。
【００９５】
＜２つの演算サイクル先の推定値の算出＞
そして、吸気量予測部５７は、式（１８）に示すように、１つの演算サイクル先の吸気マニホールド内空気量の推定値Ｇｂｅ（ｎ＋１）に対して、１つの演算サイクル先のスロットル通過空気量の推定値Ｇｔｈｅ（ｎ＋１）を加算すると共に、１つの演算サイクル先の気筒吸入空気量の推定値Ｇｃｅ（ｎ＋１）を減算して、２つの演算サイクル先の吸気マニホールド内空気量の推定値Ｇｂｅ（ｎ＋２）を算出する。
【数１８】
0006910512.tif 000019
【００９６】
そして、吸気量予測部５７は、式（１９）に示すように、２つの演算サイクル先の吸気マニホールド内空気量の推定値Ｇｂｅ（ｎ＋２）に基づいて、２つの演算サイクル先の吸気マニホールド内圧力の推定値Ｐｂｅ（ｎ＋２）を算出する。式（１８）及び式（１９）の演算処理が、マニホールド内空気演算処理に対応する。
【数１９】
0006910512.tif 000020
【００９７】
ここで、Ｇｂｅ（ｎ＋２）は、１つ先の演算サイクルの開始時点から２つ先の演算サイクルの開始時点までの期間おける、吸気マニホールド内空気量の平均値である。また、Ｐｂｅ（ｎ＋２）は、１つ先の演算サイクルの開始時点から２つ先の演算サイクルの開始時点までの期間おける、吸気マニホールド内圧力の平均値である。
【００９８】
吸気量予測部５７は、式（２０）を用い、２つの演算サイクル先の実開度の推定値、及び２つの演算サイクル先の吸気マニホールド内圧力の推定値Ｐｂｅ（ｎ＋２）に基づいて、２つの演算サイクル先のスロットル通過空気量の推定値Ｇｔｈｅ（ｎ＋２）を算出する。式（２０）の演算処理が、スロットル空気量演算処理に対応する。
【数２０】
0006910512.tif 000021
【００９９】
ここで、Ｇｔｈｅ（ｎ＋２）は、１つ先の演算サイクルの開始時点から２つ先の演算サイクルの開始時点までの期間に、スロットルを通過した空気量［ｇ／ｃｙｃｌｅ］の推定値である。Ｔｃｙｌ（ｎ＋２）は、２つ先の演算サイクルの期間［ｓ／ｃｙｃｌｅ］の推定値である。吸気量予測部５７は、図９に示すような、実開度Ｖｔｈと有効開口面積Ｓｔｈとの関係が予め設定された開口面積マップＦｔｈを参照し、２つの演算サイクル先の実開度の推定値に対応する有効開口面積Ｓｔｈ（ｎ＋２）を算出する。
【０１００】
本実施の形態では、吸気量予測部５７は、Ｇｔｈｅ（ｎ＋２）を算出する際に用いる２つの演算サイクル先の実開度の推定値として、式（２１）に示すように、１つの演算サイクル先の実開度の推定値Ｖｔｈｅ１と２つの演算サイクル先の実開度の推定値Ｖｔｈｅ２との平均値を用いる。このように、平均値を用いることにより、演算サイクルの期間におけるスロットル通過空気量の推定精度を向上させることができる。
【数２１】
0006910512.tif 000022
【０１０１】
なお、式（２１）において、演算サイクルの開始時点と終了時点の値が平均化されているが、演算サイクルの期間における３つ以上の値が平均化されてもよい。
【０１０２】
吸気量予測部５７は、２つの演算サイクル先の吸気マニホールド内圧力の推定値Ｐｂｅ（ｎ＋２）を、大気圧の検出値Ｐ０ｄ（ｎ）で除算した値を、圧力比Ｐｄｗｎ／Ｐｕｐとして算出し、図８に示すような圧力比Ｐｄｗｎ／Ｐｕｐと無次元流量σとの関係が予め設定された無次元流量マップを参照し、算出した圧力比Ｐｄｗｎ／Ｐｕｐに対応する無次元流量σ（ｎ＋２）を算出する。
【０１０３】
＜２つの演算サイクル先の気筒吸入空気量の推定値の算出＞
吸気量予測部５７は、式（２２）に示すように、２つの演算サイクル先のスロットル通過空気量の推定値Ｇｔｈｅ（ｎ＋２）から現在のスロットル通過空気量の推定値Ｇｔｈｅ（ｎ）を減算した空気量偏差を、現在のスロットル通過空気量の検出値Ｇｔｈｄ（ｎ）に加算して、センサ基準の２つの演算サイクル先のスロットル通過空気量の推定値Ｇｔｈｅｓ２（ｎ）を算出する。
【数２２】
0006910512.tif 000023
【０１０４】
スロットル通過空気量の推定値は、スロットルの流量特性によって算出され、ＥＧＲの導入状態等のスロットル下流側の状態の影響を受け難く、推定精度が高くなる。また、空気流量検出センサ３による空気量の検出値に対して、２つの演算サイクル先の空気量の推定値の変化量を加算することにより、空気流量検出センサ３による空気量の検出精度を維持しつつ、応答遅れ分を補うことができる。例えば、実開度と有効開口面積との特性が変動している場合でも、推定値の変化量の精度は大きく悪化せず、また、センサ検出値が主に用いられるため、空気量の推定精度が悪化することを抑制できる。
【０１０５】
吸気量予測部５７は、現在のスロットル通過空気量の検出値Ｇｔｈｄ（ｎ）として、前回の演算サイクルの開始時点から現在の演算サイクルの開始時点までの期間における、スロットル通過空気流量の検出値［ｇ／ｓ］の積分値［ｇ／ｃｙｃｌｅ］を用いる。
【０１０６】
そして、吸気量予測部５７は、式（２３）に示すように、センサ基準の２つの演算サイクル先のスロットル通過空気量の推定値Ｇｔｈｅｓ２（ｎ）に対して、吸気マニホールドの応答遅れを模擬した吸気応答遅れ処理（本例では、一次遅れ処理）を行って、２つの演算サイクル先の気筒吸入空気量の推定値Ｇｃｅ２（ｎ）を算出する。
【数２３】
0006910512.tif 000024
【０１０７】
ここで、ＦＧｂは、一次遅れ処理のフィルタゲインである。なお、吸気量予測部５７は、スロットル通過空気量の推定値Ｇｔｈｅｓ２（ｎ）を充填効率相当値に変換した値に対して、吸気応答遅れ処理を行って、充填効率を算出してもよい。なお、式（２３）において、（ｎ）は、現在の演算サイクルの演算値であることを示し、（ｎ−１）は、１つ前の演算サイクルの演算値であることを示している。例えば、現在の演算サイクルで算出された気筒吸入空気量の推定値Ｇｃｅ２（ｎ）が、第１気筒の燃料噴射量の算出に用いられる場合は、１つ前の演算サイクルで算出された気筒吸入空気量の推定値Ｇｃｅ２（ｎ−１）は、第２気筒の燃料噴射量の算出に用いられ、次の演算サイクルで算出される気筒吸入空気量の推定値Ｇｃｅ２（ｎ＋１）は、第３気筒の燃料噴射量の算出に用いられる。
【０１０８】
＜推定挙動＞
図１４に、目標開度を増加させた場合の推定挙動を示し、図１５に、目標開度を減少させた場合の推定挙動を示す。図１４及び図１５には、気筒吸入空気量を充填効率に変換した値を示している。図１４及び図１５には、実際に気筒に吸入された気筒吸入空気量（実際の充填効率）と、吸気行程よりも２つの演算サイクル前のタイミングで算出される、２つの演算サイクル先の気筒吸入空気量の推定値Ｇｃｅ２（ｎ）（充填効率の推定値）と、実際の気筒吸入空気量（実際の充填効率）を２つの演算サイクルの期間だけ前に時間シフトした値（２サイクルシフト後の実際の充填効率と称す）と、を示している。図１４及び図１５に示すように、充填効率の推定値は、２サイクルシフト後の実際の充填効率と概ね一致しており、充填効率の推定値により、２つの演算サイクル先の実際の充填効率を精度よく推定できていることがわかる。よって、２つの演算サイクル先の気筒吸入空気量の推定値Ｇｃｅ２（ｎ）に基づいて燃料噴射量を算出し、インジェクタを駆動すれば、実際の気筒吸入空気量に合った燃料量を気筒に供給することができる。
【０１０９】
１−２−９．燃料制御部５８
燃料制御部５８は、２つの演算サイクル先の気筒吸入空気量の推定値Ｇｃｅ２（ｎ）に基づいて、燃料噴射量を算出し、燃料噴射量に基づいて、対象気筒に燃料を供給するインジェクタを駆動する。図５を用いて上述したように、燃料制御部５８は、各気筒の排気行程でインジェクタを駆動する。燃料制御部５８は、対象気筒の排気行程に対応する演算サイクルの開始時点で算出した、２つの演算サイクル先の気筒吸入空気量の推定値Ｇｃｅ２（ｎ）に基づいて、対象気筒の燃料噴射量を算出し、対象気筒の排気行程で、算出した燃料噴射量に基づいて、対象気筒のインジェクタを駆動する。例えば、燃料制御部５８は、気筒吸入空気量の推定値を、目標空燃比で除算して、燃料噴射量を算出する。
【０１１０】
２．実施の形態２
実施の形態２に係る制御装置５０について説明する。上記の実施の形態１と同様の構成部分は説明を省略する。本実施の形態に係る内燃機関１及び制御装置５０の基本的な構成は実施の形態１と同様であるが、吸気行程でインジェクタ１３が駆動され、遅延数が１つに設定されている点が実施の形態１と異なる。
【０１１１】
本実施の形態では、各気筒のインジェクタ１３は、気筒内に直接燃料を噴射するように設けられている。制御装置５０は、通常の運転状態では、各気筒の吸気行程で、各気筒のインジェクタ１３を駆動する。なお、実施の形態１のように、吸気ポートに燃料を噴射するインジェクタ１３が設けられる場合であっても、本実施の形態のように、各気筒の吸気行程で、インジェクタ１３が駆動されてもよい。
【０１１２】
図１６に示すように、制御装置５０は、対象気筒の吸気行程に対応する演算サイクルの開始時点で、対象気筒の気筒吸入空気量及び燃料噴射量を算出し、対象気筒の吸気行程で、算出した対象気筒の燃料噴射量に基づいて、対象気筒のインジェクタを駆動する。図１６には、対象気筒が第１気筒である場合の例を示している。
【０１１３】
図１６に示すように、第１気筒の吸気行程に対応する演算サイクルの開始時点で、第１気筒の気筒吸入空気量及び燃料噴射量を算出する。従来の技術では、燃料噴射量の算出に用いる気筒吸入空気量は、吸気行程に対応する演算サイクルの１つ前の演算サイクルの期間において検出したスロットル通過空気量に基づいて算出される。すなわち、第１気筒の吸気行程に対応する演算サイクルよりも１つ前の演算サイクルの期間において検出したスロットル通過空気量、及びスロットル通過空気量に基づいて算出した気筒吸入空気量に基づいて、第１気筒の燃料噴射量が算出される。
【０１１４】
そのため、図１７に示すように、第１気筒の吸気行程でスロットルの開度が急増すると、第１気筒に吸入される気筒吸入空気量が急増する。よって、実際の気筒吸入空気量と、吸気行程よりも１つ前の演算サイクルにおいて検出され算出された気筒吸入空気量と間のずれが大きくなり、燃料噴射量が、望ましい燃料噴射量よりも少なくなり、空燃比がリーン化する。
【０１１５】
そこで、燃料噴射量の算出に用いられる、吸気行程よりも１つ前の演算サイクルにおいて検出され算出された気筒吸入空気量と、吸気行程で実際に吸入された気筒吸入空気量との間のずれを低減することが望まれる。
【０１１６】
本実施の形態では、図１８にイメージ図を示すように、制御装置５０は、スロットルの開度を、目標開度から１つの演算サイクルだけ遅らせて変化させることにより、燃料噴射量を算出する時点で、１つの演算サイクル先までのスロットルの開度の変化を推定し、推定したスロットル開度の変化により、吸気行程で吸入される気筒吸入空気量を推定し、推定した気筒吸入空気量に基づいて燃料噴射量を算出できるように構成されている。
【０１１７】
この際、スロットルの開度の推定値に基づいてスロットル通過空気量を推定することが重要になるが、図８に示すように、スロットル通過空気量は、吸気マニホールド内圧力に応じて流量特性が大きく変化する。そのため、制御装置５０は、吸気マニホールド内圧力の変化を推定し、スロットル通過空気量の推定精度を向上させ、気筒吸入空気量の推定精度を向上させている。以下で、詳細について説明する。
【０１１８】
本実施の形態では、遅延数は、１つに設定されている。目標開度遅れ処理部５４は、目標開度Ｖｔｈｏに対して、１つの演算サイクルの期間だけ遅らせて出力する無駄時間処理を行って、１つの演算サイクル遅れ後の目標開度Ｖｔｈｏｄｌｙを算出する。
【０１１９】
無駄時間処理の無駄時間、すなわち、１つの演算サイクルの期間には、１つ先の演算サイクルの期間の推定値Ｔｃｙｌ（ｎ＋１）が用いられてもよいし、現在の演算サイクルの期間の検出値Ｔｃｙｌ（ｎ）が用いられてもよい。
【０１２０】
スロットル制御部５５は、スロットルの実開度の検出値Ｖｔｈｄが、１つの演算サイクル遅れ後の目標開度Ｖｔｈｏｄｌｙに追従するにように、スロットル４（電気モータ）を駆動するフィードバック制御を行う。
【０１２１】
開度予測部５６は、１つの演算サイクル遅れ後の目標開度Ｖｔｈｏｄｌｙに対する実開度の応答遅れを模擬したスロットル応答遅れ処理を、目標開度Ｖｔｈｏに対して行って、１つの演算サイクル先までの実開度の推定値を算出する。図１９に示すように、開度予測部５６は、目標開度Ｖｔｈｏに対してスロットル応答遅れ処理を行った値に基づいて、１つの演算サイクル先の実開度の推定値Ｖｔｈｅ１、及び現在の実開度の推定値Ｖｔｈｅ０を算出する。
【０１２２】
開度予測部５６は、目標開度Ｖｔｈｏに対してスロットル応答遅れ処理を行って、１つの演算サイクル先の実開度の推定値Ｖｔｈｅ１を算出する。本実施の形態では、開度予測部５６は、式（２４）に示すように、目標開度Ｖｔｈｏに対するスロットル応答遅れ処理として、一次遅れ処理を用いる。無駄時間遅れ処理を省略した分、時間が進んだ情報が得られ、予測性能にとって多少有利に働く。
【数２４】
0006910512.tif 000025
【０１２３】
或いは、開度予測部５６は、式（２５）に示すように、目標開度Ｖｔｈｏに対するスロットル応答遅れ処理として、無駄時間遅れ処理＋一次遅れ処理を用いてもよい。
【数２５】
0006910512.tif 000026
【０１２４】
開度予測部５６は、式（２６）に示すように、１つの演算サイクル遅れ後の目標開度Ｖｔｈｏｄｌｙに対して、スロットル応答遅れ処理を行って、現在の実開度の推定値Ｖｔｈｅ０を算出する。
【数２６】
0006910512.tif 000027
【０１２５】
開度予測部５６は、各演算サイクルの開始時点で、吸気量予測部５７に１つの演算サイクル先までの実開度の推定値を出力する。本実施の形態では、開度予測部５６は、各演算サイクルの開始時点で、直前のタイマ演算周期で算出された、１つの演算サイクル先の実開度の推定値Ｖｔｈｅ１、現在の実開度の推定値Ｖｔｈｅ０を、吸気量予測部５７に出力する。
【０１２６】
この際、本実施の形態では、開度予測部５６は、目標開度と実開度の検出値との偏差、１つの演算サイクル先までの演算サイクルの期間の予測値を考慮し、各実開度の推定値を補正する。なお、補正が行われなくてもよい。
【０１２７】
開度予測部５６は、式（２７）に示すように、１つの演算サイクル先の実開度の推定値Ｖｔｈｅ１から現在の実開度の推定値Ｖｔｈｅ０を減算した値に、演算サイクルの期間の予測値を用いた補正値を乗算して、１つの演算サイクル先の実開度の推定値の変動量ΔＶｔｈｅ１を算出し、現在の実開度の検出値Ｖｔｈｄに変動量ΔＶｔｈｅ１を加算して、最終的な１つの演算サイクル先の実開度の推定値Ｖｔｈｅ１を算出する。
【数２７】
0006910512.tif 000028
【０１２８】
吸気量予測部５７は、実開度及び吸気マニホールド内圧力に基づいてスロットル通過空気量の推定値を算出するスロットル空気量演算処理、吸気マニホールド内圧力に基づいて気筒吸入空気量の推定値を算出する気筒空気量演算処理、スロットル通過空気量及び気筒吸入空気量に基づいて吸気マニホールド内空気量及び吸気マニホールド内圧力の推定値を算出するマニホールド内空気演算処理を用い、１つの演算サイクル先までの実開度の推定値に基づいて、１つの演算サイクル先までの、吸気マニホールド内空気量の推定値、吸気マニホールド内圧力の推定値、スロットル通過空気量の推定値、及び気筒吸入空気量の推定値を算出し、算出結果に基づいて、１つの演算サイクル先の気筒吸入空気量の推定値を算出する。
【０１２９】
吸気量予測部５７は、対象気筒の吸気行程に対応する演算サイクルの終了時点よりも、１つの演算サイクルだけ前の時点（本例では、対象気筒の吸気行程に対応する演算サイクルの開始時点）で、対象気筒について、１つの演算サイクル先の気筒吸入空気量の推定値を算出する。
【０１３０】
＜現在の演算サイクルの推定値の算出＞
図２０に示すように、本実施の形態では、吸気量予測部５７は、演算サイクルの開始時点で、現在の吸気マニホールド内圧力の検出値Ｐｂｄ（ｎ）に基づいて、現在の吸気マニホールド内空気量の推定値Ｇｂｅ（ｎ）を算出する。
【０１３１】
実施の形態１と同様に、吸気量予測部５７は、式（１０）を用い、現在の吸気マニホールド内圧力の検出値Ｐｂｄ（ｎ）に基づいて、現在の吸気マニホールド内空気量の推定値Ｇｂｅ（ｎ）を算出する。
【０１３２】
実施の形態１と同様に、吸気量予測部５７は、式（１１）を用い、現在の実開度の検出値Ｖｔｈｄ（ｎ）及び現在の吸気マニホールド内圧力の検出値Ｐｂｄ（ｎ）に基づいて、現在のスロットル通過空気量の推定値Ｇｔｈｅ（ｎ）を算出する。
【０１３３】
実施の形態１と同様に、吸気量予測部５７は、式（１２）を用い、現在の吸気マニホールド内圧力の検出値Ｐｂｄ（ｎ）に基づいて、現在の気筒吸入空気量の推定値Ｇｃｅ（ｎ）を算出する。
【０１３４】
＜１つの演算サイクル先の推定値の算出＞
実施の形態１と同様に、吸気量予測部５７は、式（１３）に示すように、現在の吸気マニホールド内空気量の推定値Ｇｂｅ（ｎ）に対して、現在のスロットル通過空気量の推定値Ｇｔｈｅ（ｎ）を加算すると共に、現在の気筒吸入空気量の推定値Ｇｃｅ（ｎ）を減算して、１つの演算サイクル先の吸気マニホールド内空気量の推定値Ｇｂｅ（ｎ＋１）を算出する。
【０１３５】
実施の形態１と同様に、吸気量予測部５７は、式（１４）に示すように、１つの演算サイクル先の吸気マニホールド内空気量の推定値Ｇｂｅ（ｎ＋１）に基づいて、１つの演算サイクル先の吸気マニホールド内圧力の推定値Ｐｂｅ（ｎ＋１）を算出する。
【０１３６】
実施の形態１と同様に、吸気量予測部５７は、式（１５）を用い、１つの演算サイクル先の実開度の推定値、及び１つの演算サイクル先の吸気マニホールド内圧力の推定値Ｐｂｅ（ｎ＋１）に基づいて、１つの演算サイクル先のスロットル通過空気量の推定値Ｇｔｈｅ（ｎ＋１）を算出する。
【０１３７】
実施の形態１と同様に、吸気量予測部５７は、Ｇｔｈｅ（ｎ＋１）を算出する際に用いる１つの演算サイクル先の実開度の推定値として、式（１６）に示すように、現在の実開度の検出値Ｖｔｈｄと１つの演算サイクル先の実開度の推定値Ｖｔｈｅ１との平均値を用いる。
【０１３８】
＜１つの演算サイクル先の気筒吸入空気量の推定値の算出＞
吸気量予測部５７は、式（２８）に示すように、１つの演算サイクル先のスロットル通過空気量の推定値Ｇｔｈｅ（ｎ＋１）から現在のスロットル通過空気量の推定値Ｇｔｈｅ（ｎ）を減算した空気量偏差を、現在のスロットル通過空気量の検出値Ｇｔｈｄ（ｎ）に加算して、センサ基準の１つの演算サイクル先のスロットル通過空気量の推定値Ｇｔｈｅｓ１（ｎ）を算出する。
【数２８】
0006910512.tif 000029
【０１３９】
そして、吸気量予測部５７は、式（２９）に示すように、センサ基準の１つの演算サイクル先のスロットル通過空気量の推定値Ｇｔｈｅｓ１（ｎ）に対して、吸気マニホールドの応答遅れを模擬した吸気応答遅れ処理（本例では、一次遅れ処理）を行って、１つの演算サイクル先の気筒吸入空気量の推定値Ｇｃｅ１（ｎ）を算出する。
【数２９】
0006910512.tif 000030
【０１４０】
燃料制御部５８は、１つの演算サイクル先の気筒吸入空気量の推定値Ｇｃｅ１（ｎ）に基づいて、燃料噴射量を算出し、燃料噴射量に基づいて、対象気筒に燃料を供給するインジェクタを駆動する。図１６を用いて上述したように、燃料制御部５８は、各気筒の吸気行程でインジェクタを駆動する。燃料制御部５８は、対象気筒の吸気行程に対応する演算サイクルの開始時点で算出した、１つの演算サイクル先の気筒吸入空気量の推定値Ｇｃｅ１（ｎ）に基づいて、対象気筒の燃料噴射量を算出し、対象気筒の吸気行程で、算出した燃料噴射量に基づいて、対象気筒のインジェクタを駆動する。
【０１４１】
〔その他の実施の形態〕
目標開度遅れ処理部５４は、インジェクタ１３の駆動タイミングの変化に応じて、遅延数を変化させてもよい。目標開度遅れ処理部５４は、インジェクタ１３の駆動タイミングが排気行程である場合は、遅延数を２つに設定し、インジェクタ１３の駆動タイミングが吸気行程である場合は、遅延数を１つに設定し、インジェクタ１３の駆動タイミングが圧縮行程である場合は、遅延数を０に設定する。
【０１４２】
本願は、様々な例示的な実施の形態及び実施例が記載されているが、１つ、または複数の実施の形態に記載された様々な特徴、態様、及び機能は特定の実施の形態の適用に限られるのではなく、単独で、または様々な組み合わせで実施の形態に適用可能である。従って、例示されていない無数の変形例が、本願明細書に開示される技術の範囲内において想定される。例えば、少なくとも１つの構成要素を変形する場合、追加する場合または省略する場合、さらには、少なくとも１つの構成要素を抽出し、他の実施の形態の構成要素と組み合わせる場合が含まれるものとする。
【符号の説明】
【０１４３】
１  内燃機関、３  空気流量検出センサ、４  スロットル、７  気筒、８  マニホールド圧力センサ、１２  吸気マニホールド、１３  インジェクタ、５０  内燃機関の制御装置、５１  運転状態検出部、５２  演算サイクル算出部、５３  目標開度算出部、５４  目標開度遅れ処理部、５５  スロットル制御部、５６  開度予測部、５７  吸気量予測部、５８  燃料制御部、Ｇｂｅ（ｎ）  現在の吸気マニホールド内空気量の推定値、Ｇｂｅ（ｎ＋１）  １つの演算サイクル先の吸気マニホールド内空気量の推定値、Ｇｂｅ（ｎ＋２）  ２つの演算サイクル先の吸気マニホールド内空気量の推定値、Ｇｃｅ（ｎ）  現在の気筒吸入空気量の推定値、Ｇｃｅ（ｎ＋１）  １つの演算サイクル先の気筒吸入空気量の推定値、Ｇｃｅ１  １つの演算サイクル先の気筒吸入空気量の推定値、Ｇｃｅ２  ２つの演算サイクル先の気筒吸入空気量の推定値、Ｇｔｈｄ（ｎ）  現在のスロットル通過空気量の検出値、Ｇｔｈｅ（ｎ＋２）  ２つの演算サイクル先のスロットル通過空気量の推定値、Ｇｔｈｅ（ｎ＋１）  １つの演算サイクル先のスロットル通過空気量の推定値、Ｇｔｈｅ（ｎ）  現在のスロットル通過空気量の推定値、Ｇｔｈｅｓ１  センサ基準の１つの演算サイクル先のスロットル通過空気量の推定値、Ｇｔｈｅｓ２  センサ基準の２つの演算サイクル先のスロットル通過空気量の推定値、Ｋｖ  体積効率、Ｐｂｄ  現在の吸気マニホールド内圧力の検出値、Ｐｂｅ（ｎ＋１）  １つの演算サイクル先の吸気マニホールド内圧力の推定値、Ｐｂｅ（ｎ＋２）  ２つの演算サイクル先の吸気マニホールド内圧力の推定値、Ｖｔｈｄ  実開度の検出値、Ｖｔｈｅ０  現在の実開度の推定値、Ｖｔｈｅ１  １つの演算サイクル先の実開度の推定値、Ｖｔｈｅ２  ２つの演算サイクル先の実開度の推定値、Ｖｔｈｏ  目標開度、Ｖｔｈｏｄｌｙ  遅延数の演算サイクル遅れ後の目標開度
【要約】
【課題】吸気行程に対して気筒吸入空気量の算出タイミングが早い場合でも、吸気行程で実際に吸入される気筒吸入空気量を精度よく推定できる内燃機関の制御装置を提供する。
【解決手段】目標開度に対して、遅延数の演算サイクルの期間の無駄時間処理を行って、遅延数の演算サイクル遅れ後の目標開度を算出し、スロットル応答遅れ処理を、目標開度に対して行って、遅延数の演算サイクル先までの実開度の推定値を算出し、遅延数の演算サイクル先までの実開度の推定値に基づいて、遅延数の演算サイクル先までの、吸気マニホールド内空気量の推定値、吸気マニホールド内圧力の推定値、スロットル通過空気量の推定値、及び気筒吸入空気量の推定値を算出し、算出結果に基づいて、遅延数の演算サイクル先の気筒吸入空気量の推定値を算出する内燃機関の制御装置。
【選択図】図３【図１】
0006910512.tif 000031
【図２】
0006910512.tif 000032
【図３】
0006910512.tif 000033
【図４】
0006910512.tif 000034
【図５】
0006910512.tif 000035
【図６】
0006910512.tif 000036
【図７】
0006910512.tif 000037
【図８】
0006910512.tif 000038
【図９】
0006910512.tif 000039
【図１０】
0006910512.tif 000040
【図１１】
0006910512.tif 000041
【図１２】
0006910512.tif 000042
【図１３】
0006910512.tif 000043
【図１４】
0006910512.tif 000044
【図１５】
0006910512.tif 000045
【図１６】
0006910512.tif 000046
【図１７】
0006910512.tif 000047
【図１８】
0006910512.tif 000048
【図１９】
0006910512.tif 000049
【図２０】
0006910512.tif 000050