<第1実施形態>
以下、本発明による内燃機関の制御装置の各実施形態について図面を参照しながら説明する。図1は、第1実施形態に係る制御装置を4サイクル火花点火運転方式と2サイクル自着火運転方式とを切り替えて運転することが可能な多気筒(本例では、4気筒)内燃機関に適用したシステムの概略構成を示している。なお、図1は、特定気筒の断面のみを示しているが、他の気筒も同様な構成を備えている。
この内燃機関10は、シリンダブロック、シリンダブロックロワーケース及びオイルパン等を含むシリンダブロック部20と、シリンダブロック部20の上に固定されるシリンダヘッド部30と、シリンダブロック部20に空気を供給するための吸気系統40と、シリンダブロック部20からの排ガスを外部に放出するための排気系統50とを含んでいる。
シリンダブロック部20は、シリンダ21、ピストン22、コンロッド23及びクランク軸24を含んでいる。ピストン22はシリンダ21内を往復動し、ピストン22の往復動がコンロッド23を介してクランク軸24に伝達され、これにより同クランク軸24が回転するようになっている。シリンダ21とピストン22のヘッドは、シリンダヘッド部30とともに燃焼室25を形成している。
シリンダヘッド部30は、燃焼室25に連通した吸気ポート31、吸気ポート31を開閉する吸気弁32、吸気弁32を駆動する吸気弁駆動手段としての吸気弁駆動機構32a、燃焼室25に連通した排気ポート33、排気ポート33を開閉する排気弁34、排気弁34を駆動する排気弁駆動手段としての排気弁駆動機構34a、点火プラグ35、点火プラグ35に与える高電圧を発生させるイグニッションコイルを含むイグナイタ36、燃料を燃焼室25内に噴射するインジェクタ(燃料噴射弁)37、インジェクタ37に高圧燃料を供給する蓄圧室37a及び燃料を蓄圧室37aへ圧送する燃料ポンプ37bを備えている。吸気弁駆動機構32a及び排気弁駆動機構34aは、駆動回路38に接続されている。各気筒は、2つの吸気弁32及び2つの排気弁34を備えている。
吸気系統40は、吸気ポート31に連通したインテークマニホールド41、インテークマニホールド41に連通したサージタンク42、サージタンク42に一端が接続されインテークマニホールド41及びサージタンク42とともに吸気通路(吸気管)を形成する吸気ダクト43、吸気ダクト43の他端部から下流(サージタンク42)に向けて順に吸気ダクト43に配設されたエアフィルタ(AF)44、機械式過給機(SC)45、インタークーラ(IC)46及びスロットル弁(TV)47を備えている。
機械式過給機45は、機械式過給機用クラッチ45aを備えている。機械式過給機用クラッチ45aは、駆動信号に応答して、機械式過給機45を内燃機関10によって機械的に駆動する状態(作動状態、即ち、過給状態)と、機械式過給機45を内燃機関10によって駆動しない状態(非作動状態、即ち、非過給状態)と、に切り替えるようになっている。
インタークーラ46は水冷式であって、吸気ダクト43を通過する空気を冷却するようになっている。インタークーラ46は、インタークーラ46内の冷却水の熱を大気中に放出するラジエタ46aと、インタークーラ46とラジエタ46aの間で冷却水を循環させる循環ポンプ46bとに接続されている。
スロットル弁47は吸気ダクト43に回転可能に支持され、スロットル弁アクチュエータ47aにより駆動されることにより吸気通路の開口断面積を可変とするようになっている。
吸気系統40は、更に、バイパス通路48及びバイパス弁(BV)49を備える。
バイパス通路48は、その一端が機械式過給機45の上流にて吸気ダクト43に接続され、他端が機械式過給機45の下流にて吸気ダクト43に接続されている。
バイパス弁49はバイパス通路48に回転可能に支持され、バイパス弁アクチュエータ49aにより駆動されることによりバイパス通路48の開口断面積を可変とするようになっている。このような構成により、バイパス弁49は、機械式過給機45へ流入する空気量と機械式過給機45をバイパス(迂回)する空気量(バイパス通路48へ流入する空気量)とを調整できるようになっている。
排気系統50は、排気ポート33に連通し同排気ポート33とともに排気通路を形成するエキゾーストマニホールドを含む排気管51及び排気管51に配設された三元触媒装置52を備えている。
一方、このシステムは、エアフローメータ61、吸気管内圧力検出手段としての吸気管内圧力センサ62、吸気管内温度検出手段としての吸気管内温度センサ63、クランクポジションセンサ64、筒内圧力検出手段としての筒内圧力センサ65、冷却水温度検出手段としての冷却水温度センサ66、エンジンオイル温度検出手段としてのエンジンオイル温度センサ67、アクセル開度センサ68及び電気制御装置70を備えている。
エアフローメータ61は、吸気ダクト43内を通過する空気の量を表す信号を出力するようになっている。吸気管内圧力センサ62は、サージタンク42内の空気の圧力Pmを表す信号を出力するようになっている。吸気管内温度センサ63は、サージタンク42内の空気の温度Tmを表す信号を出力するようになっている。
クランクポジションセンサ64は、クランク軸24が5°回転する毎に幅狭のパルスを有するとともに同クランク軸24が360°回転する毎に幅広のパルスを有する信号を出力するようになっている。この信号は、エンジン回転速度NEを表す。
筒内圧力センサ65は、燃焼室25内の圧力(筒内圧力)Pcを表す信号を出力するようになっている。なお、筒内圧力センサ65は燃焼室25上部のシリンダヘッド部30に設けてもよい。
冷却水温度センサ66は、シリンダ21の側壁内を循環する冷却水の温度(冷却水温度)Twを表す信号を出力するようになっている。エンジンオイル温度センサ67は、オイルパン内に溜められたエンジンオイルの温度(エンジンオイル温度)Toを表す信号を出力するようになっている。
アクセル開度センサ68は、運転者によって操作されるアクセルペダル69の操作量(アクセルペダル操作量)Accpを表す信号を出力するようになっている。
電気制御装置70は、互いにバスで接続されたCPU71、CPU71が実行するプログラム、テーブル(ルックアップテーブル、マップ)、定数等を予め記憶したROM72、CPU71が必要に応じてデータを一時的に格納するRAM73、電源が投入された状態でデータを格納するとともに同格納されたデータを電源が遮断されている間も保持するバックアップRAM74及びADコンバータを含むインターフェース75等からなるマイクロコンピュータである。インターフェース75は、上記センサ61〜68と接続され、CPU71にセンサ61〜68からの信号を供給するとともに、同CPU71の指示に応じてイグナイタ36、インジェクタ37、燃料ポンプ37b、駆動回路38、機械式過給機用クラッチ45a、スロットル弁アクチュエータ47a及びバイパス弁アクチュエータ49aに駆動信号を送出するようになっている。
(作動の概要)
次に、上記のように構成された制御装置の作動の概要について説明する。この制御装置は、クランク軸24により内燃機関10の外部に伝達される出力軸トルクTQOとして要求される要求出力軸トルクTQRを検出された運転状態に基づいて決定する。更に、制御装置は、決定された要求出力軸トルクTQRに基づいて運転方式を4サイクル火花点火運転方式(第1の運転方式)及び2サイクル自着火運転方式(第2の運転方式)から選択(決定)する。
次いで、制御装置は、内燃機関10の運転に伴って発生するトルクであって、クランク軸24が回転する向きと逆向きのトルクである損失トルクTQFを、決定された運転方式と、検出された損失トルク推定パラメータとしての吸気管内圧力Pm及びエンジン回転速度NEと、に基づいて推定する。
そして、制御装置は、決定された要求出力軸トルクTQRに推定された損失トルクTQFを加えた値を気筒数Nc(本例では、4)により除することによって各気筒に対する目標図示トルクTQTを決定する。加えて、制御装置は、決定された運転方式にて内燃機関10を運転するための制御量を決定された目標図示トルクTQTに対応する力が混合ガスの燃焼により各気筒のピストン22に加えられるように決定する。その際、制御装置は、混合ガスの燃焼により各気筒のピストン22に加えられる力に対応する図示トルクと内燃機関10を運転するための制御量との関係であって、各運転方式に対して所定の基準状態下において規定された関係を参照する。この関係は、マップとして予めROM72に記憶されている。
ここで、同制御量は、噴射される燃料の量である噴射燃料量τ、燃料の噴射を開始するタイミングである燃料噴射開始タイミングINJ、燃焼室25内にて火花を発生するタイミングである火花発生タイミングS、吸気弁32を開弁するタイミングである吸気弁開弁タイミングIO、吸気弁32を閉弁するタイミングである吸気弁閉弁タイミングIC、排気弁34を開弁するタイミングである排気弁開弁タイミングEO、排気弁34を閉弁するタイミングである排気弁閉弁タイミングEC、スロットル弁47の開度であるスロットル弁開度OTV及びバイパス弁49の開度であるバイパス弁開度OBVである。
これにより、運転方式に応じて決定された損失トルクTQFに基づいて決定された目標図示トルクTQTに対応する力が各気筒のピストン22に加えられるので、運転方式にかかわらず、出力軸トルクTQOを要求出力軸トルクTQRに略一致させることができる。この結果、運転方式を切り替える際に損失トルクTQFが急激に変化しても、出力軸トルクTQOが急激に変化して運転者等にトルクショックを感じさせることを防止することができる。
(作動の詳細)
以下、この制御装置の作動の詳細について説明する。電気制御装置70のCPU71は、図2にフローチャートにより示した制御量決定ルーチンを、第n気筒(nは、1、2、3及び4)のピストン22が圧縮上死点の次の下死点に到達する毎に第n気筒専用に実行するようになっている。
従って、所定のタイミングになると、CPU71は、ステップ200から処理を開始してステップ205に進み、クランクポジションセンサ64により検出されたエンジン回転速度NEを読み込むとともに、続くステップ210にてアクセル開度センサ68により検出されたアクセルペダル操作量Accpを読み込む。エンジン回転速度NE及びアクセルペダル操作量Accpは、内燃機関10の運転状態を表す。次いで、CPU71は、ステップ215に進み吸気管内圧力センサ62により検出された吸気管内圧力Pmを読み込む。
そして、CPU71は、ステップ220に進み現時点のエンジン回転速度NE及び現時点のアクセルペダル操作量Accpと、エンジン回転速度NE及びアクセルペダル操作量Accpとクランク軸24により内燃機関10の外部に伝達される出力軸トルクTQOとして要求される要求出力軸トルクTQRとの関係を規定するテーブルMapTQRと、に基づいて要求出力軸トルクTQR(=MapTQR(NE,Accp))を決定する。ここで、テーブルMapTQRは、求められる要求出力軸トルクTQRがエンジン回転速度NE又はアクセルペダル操作量Accpの変化に伴って連続的に変化するように予め設定されている。なお、要求出力軸トルクTQR及びエンジン回転速度NEは内燃機関10の負荷状態を表す。また、ステップ220の処理が実行されることは、要求出力軸トルク決定手段の機能の一部が達成されることに対応している。
また、以下の説明において、MapXx(a,b)と表記されるテーブルは、変数a及び変数bと値Xとの関係を規定するテーブルを意味することとする。添え字xは、必要に応じてテーブルを特定するために使用される。また、値XをテーブルMapXx(a,b)に基づいて求めるとは、値Xを現時点の変数a及び現時点の変数bと、テーブルMapXx(a,b)と、に基づいて求める(決定する)ことを意味することとする。なお、変数は1つのみでもよい。
次に、CPU71は、ステップ225に進み現時点の要求出力軸トルクTQR及び現時点のエンジン回転速度NEと、図3に示した運転領域マップと、に基づいて内燃機関10の負荷状態が火花点火運転領域Aにあるか否かを判定する。なお、ステップ225の処理が実行されることは、運転方式決定手段の機能が達成されることに対応している。
図3に示したように、運転領域は、火花点火運転領域Aと自着火運転領域Bとからなる。火花点火運転領域Aは、4サイクル火花点火運転方式による運転を行うべき領域である。火花点火運転領域Aは、全運転領域のうちの所定の高要求出力軸トルク閾値より大きい要求出力軸トルクの領域(高トルク域)又は所定の高回転閾値より大きいエンジン回転速度の領域(高回転域)である。
自着火運転領域Bは、2サイクル自着火運転方式による運転を行うべき領域である。自着火運転領域Bは、火花点火運転領域Aよりも低要求出力軸トルク側の領域且つ低回転側の領域である。
いま、内燃機関10の負荷状態が火花点火運転領域Aであって火花点火運転領域Aと自着火運転領域Bとの境界近傍の運転領域にあると仮定して説明を続ける。この仮定に従えば、CPU71はステップ225にて「Yes」と判定し、ステップ230に進んで火花点火運転用の損失トルクTQFをテーブルMapTQFh(NE,Pm)に基づいて求める。なお、エンジン回転速度NE及び吸気管内圧力Pmは、損失トルク推定パラメータを構成している。
ところで、エンジン回転速度NEが大きくなるにつれてクランク軸24が回転する際のクランク軸24に対する抵抗が大きくなるので損失トルクTQFは増加する。
一方、吸気管内圧力Pmは、スロットル弁開度OTVが変更されることにより変化する。吸気管内圧力Pmは、スロットル弁開度OTVが小さくされるにつれて、大気圧(約100kPa)より小さくなる。ところで、スロットル弁開度OTVが小さくされるにつれて、吸気抵抗(吸気に伴うガスの流れに対する抵抗)が大きくなるので、損失トルクTQFは大きくなる。従って、吸気管内圧力Pmが大気圧より小さくなるにつれて、損失トルクTQFは大きくなる。
加えて、吸気管内圧力Pmが大気圧より大きくなるにつれて吸気行程終了時における燃焼室25内のガスの圧力は増加する。これにより、吸気行程に続く圧縮行程においても燃焼室25内のガスの圧力が高くなるので、燃焼室25からピストン22の下方に漏れるガスの量が増加する。従って、燃焼ガスがピストン22を押し下げる期間においてピストン22に加えられる力がこの漏れたガスの分だけ減少するので、損失トルクTQFが増加する。即ち、吸気管内圧力Pmが大気圧より大きくなるにつれて、損失トルクTQFは大きくなる。
従って、テーブルMapTQFhは、図4の(A)に示したように、ある吸気管内圧力Pmに対してエンジン回転速度NEが大きくなるにつれて損失トルクTQFが大きくなるように、且つ、あるエンジン回転速度NEに対して吸気管内圧力Pmが大気圧となるときに損失トルクTQFが極小値となるように、予め設定されている。
なお、ステップ230の処理が実行されることは、損失トルク推定手段の機能の一部が達成されることに対応している。
次いで、CPU71は、ステップ235に進み上記ステップ220にて決定された要求出力軸トルクTQRに上記ステップ230にて推定された損失トルクTQFを加えた値を気筒数Ncにより除することにより火花点火運転用の目標図示トルクTQTを決定する。なお、ステップ235の処理が実行されることは、目標図示トルク決定手段の機能が達成されることに対応している。
次に、CPU71はステップ240に進み火花点火運転用の制御量を決定するため、図5のフローチャートに示したステップ500に進む。なお、図5のルーチンの処理が実行されることは、制御量決定手段の機能が達成されることに対応している。
ステップ500に進んだCPU71は、ステップ505に進み火花点火運転用の駆動吸気弁数NIVをテーブルMapNIVh(TQT,NE)に基づいて求める。ここで、テーブルMapNIVhは、エンジン回転速度NEが所定の低回転閾値より低いとき、求められる駆動吸気弁数NIVが1つとなり、同低回転閾値より高いとき、求められる駆動吸気弁数NIVが2つとなるように予め設定されている。
そして、CPU71は、ステップ510に進み火花点火運転用の駆動排気弁数NEVをテーブルMapNEVh(TQT,NE)に基づいて求める。ここで、テーブルMapNEVhは、テーブルMapNIVhと同様に、エンジン回転速度NEが上記低回転閾値より低いとき、求められる駆動排気弁数NEVが1つとなり、同低回転閾値より高いとき、求められる駆動排気弁数NEVが2つとなるように予め設定されている。
次いで、CPU71は、ステップ515に進み火花点火運転用の排気弁開弁タイミングEOをテーブルMapEOh(TQT,NE)に基づいて求める。ここで、テーブルMapEOhは、求められる火花点火運転用の排気弁開弁タイミングEOが膨張下死点より前(進角側)の所定のタイミングとなるように予め設定されている。なお、テーブルMapEOhは、所定の運転領域において求められる火花点火運転用の排気弁開弁タイミングEOが膨張下死点より後(遅角側)の所定のタイミングとなるように予め設定されていてもよい。
次に、CPU71は、ステップ520に進んで火花点火運転用の吸気弁開弁タイミングIOをテーブルMapIOh(TQT,NE)に基づいて求める。ここで、テーブルMapIOhは、求められる火花点火運転用の吸気弁開弁タイミングIOが排気上死点より前の所定のタイミングとなるように予め設定されている。なお、テーブルMapIOhは、所定の運転領域において求められる火花点火運転用の吸気弁開弁タイミングIOが排気上死点より後の所定のタイミングとなるように予め設定されていてもよい。
そして、CPU71は、ステップ525に進んで火花点火運転用の排気弁閉弁タイミングECをテーブルMapECh(TQT,NE)に基づいて求める。ここで、テーブルMapEChは、任意の運転状態のときに、同テーブルMapEChに基づいて求められる火花点火運転用の排気弁閉弁タイミングECがテーブルMapIOhに基づいて求められる火花点火運転用の吸気弁開弁タイミングIOより後の所定のタイミングとなるように予め設定されている。なお、テーブルMapEChは、所定の運転領域における任意の運転状態のときに、同テーブルMapEChに基づいて求められる火花点火運転用の排気弁閉弁タイミングECがテーブルMapIOhに基づいて求められる火花点火運転用の吸気弁開弁タイミングIOより前の所定のタイミングとなるように予め設定されていてもよい。
続いて、CPU71は、ステップ530に進んで火花点火運転用の吸気弁閉弁タイミングICをテーブルMapICh(TQT,NE)に基づいて求める。ここで、テーブルMapIChは、求められる火花点火運転用の吸気弁閉弁タイミングICが吸気下死点より後の所定のタイミングとなるように予め設定されている。なお、テーブルMapIChは、所定の運転領域において求められる火花点火運転用の吸気弁閉弁タイミングICが吸気下死点より前の所定のタイミングとなるように予め設定されていてもよい。
その後、CPU71は、ステップ535に進んで火花点火運転用の噴射燃料量τをテーブルMapτh(TQT,NE)に基づいて求める。ここで、テーブルMapτhは、求められる火花点火運転用の噴射燃料量τの燃料が燃焼室25内に噴射されることにより理論空燃比を有する混合ガスが同燃焼室25にて形成されるように予め設定されている。
次に、CPU71は、ステップ540に進んで火花点火運転用の燃料噴射開始タイミングINJをテーブルMapINJh(TQT,NE)に基づいて求める。ここで、テーブルMapINJhは、任意の運転状態のときに同テーブルMapINJhに基づいて求められる火花点火運転用の燃料噴射開始タイミングINJが上記テーブルMapIOhに基づいて求められる火花点火運転用の吸気弁開弁タイミングIOの直後の所定のタイミングとなるように予め設定されている。従って、求められる火花点火運転用の燃料噴射開始タイミングINJは、吸気行程の初期のタイミングとなる。
ところで、後述するように、実図示トルクは、燃料噴射開始タイミングINJに対して変化し、燃料噴射開始タイミングINJが所定のタイミングであるときに最大となる。従って、内燃機関10を良好な燃費にて運転するために、テーブルMapINJhは、更に、求められる火花点火運転用の燃料噴射開始タイミングINJが、実図示トルクを最大とするように予め設定されている。なお、テーブルMapINJhは、更に、求められる火花点火運転用の燃料噴射開始タイミングINJが、未燃HC,COやNOx等の有害物質の排出量(エミッション)を最小とするように予め設定されていてもよい。
次いで、CPU71は、ステップ545に進んで火花点火運転用の火花発生タイミングSをテーブルMapSh(TQT,NE)に基づいて求める。ここで、テーブルMapShは、求められる火花点火運転用の火花発生タイミングSが圧縮上死点の直前の所定のタイミングとなるように予め設定されている。なお、テーブルMapShは、所定の運転領域において求められる火花点火運転用の火花発生タイミングSが圧縮上死点の直後の所定のタイミングとなるように予め設定されていてもよい。
次いで、CPU71は、ステップ550に進んで火花点火運転用のスロットル弁開度OTVをテーブルMapOTVh(TQT,NE)に基づいて求める。ここで、テーブルMapOTVhは、求められる火花点火運転用のスロットル弁開度OTVが、所定の高負荷領域において最大(スロットル弁47が全開状態)となるとともにその他の領域において目標図示トルクTQT又はエンジン回転速度NEが大きくなるにつれて大きくなるように予め設定されている。
次いで、CPU71は、ステップ555に進んで火花点火運転用のバイパス弁開度OBVをテーブルMapOBVh(TQT,NE)に基づいて求める。ここで、テーブルMapOBVhは、求められる火花点火運転用のバイパス弁開度OBVが、所定の極高負荷領域において最大より小さい所定の開度となるとともにその他の領域において最大(バイパス弁49が全開状態)となるように予め設定されている。
そして、CPU71は、ステップ599を経由して図2のステップ299に進んで図2のルーチンの実行を一旦終了する。以上により、第n気筒の吸気弁32、排気弁34及びインジェクタ37を制御するタイミング、第n気筒の燃焼室25内に噴射される燃料の量、第n気筒の燃焼室25にて火花を発生するタイミング、スロットル弁47の開度並びにバイパス弁49の開度が決定される。なお、本実施形態においては、吸気弁開弁タイミングIO、吸気弁閉弁タイミングIC、排気弁開弁タイミングEO、排気弁閉弁タイミングEC、燃料噴射開始タイミングINJ及び火花発生タイミングSは、ATDCにより表される。ここで、ATDCは、圧縮上死点(TDC)を原点としクランク軸24の回転方向を正にとったクランク角である。
(過給機制御)
一方、CPU71は、図示しない過給機駆動制御ルーチンをクランク角が所定の微小なクランク角だけ変化する毎に実行するようになっている。従って、所定のタイミングになると、CPU71は、機械式過給機用クラッチ45aに駆動信号を送出して、上記極高負荷領域において機械式過給機45を作動状態(過給状態)に制御するとともにその他の領域において機械式過給機45を非作動状態(非過給状態)に制御する。なお、過給機駆動制御ルーチンの処理が実行されることは、運転実行手段の機能の一部が達成されることに対応している。
(スロットル弁及びバイパス弁制御)
また、CPU71は、図示しないスロットル弁及びバイパス弁駆動制御ルーチンをクランク角が所定の微小なクランク角だけ変化する毎に実行するようになっている。従って、所定のタイミングになると、CPU71は、スロットル弁アクチュエータ47aに駆動信号を送出して実際のスロットル弁47の開度が図2のルーチンにより決定されたスロットル弁開度OTVに一致するようにスロットル弁47を制御する。
更に、CPU71は、バイパス弁アクチュエータ49aに駆動信号を送出して実際のバイパス弁49の開度が図2のルーチンにより決定されたバイパス弁開度OBVに一致するようにバイパス弁49を制御する。なお、スロットル弁及びバイパス弁駆動制御ルーチンの処理が実行されることは、運転実行手段の機能の一部が達成されることに対応している。
(駆動制御)
また、CPU71は、図6にフローチャートにより示した内燃機関10を駆動制御するための駆動制御ルーチンを、クランク角が所定の微小なクランク角だけ変化する毎に第n気筒専用に実行するようになっている。なお、図6のルーチンの処理が実行されることは、運転実行手段の機能の一部が達成されることに対応している。
従って、所定のタイミングになると、CPU71はステップ600から本ルーチンの処理を開始してステップ605に進み、第n気筒の現時点のクランク角が図2のルーチンにより決定された第n気筒の排気弁開弁タイミングEOと一致しているか否かを判定する。そして、第n気筒の現時点のクランク角が第n気筒の排気弁開弁タイミングEOと一致していると、CPU71はステップ605にて「Yes」と判定してステップ610に進み、排気弁駆動機構34aに駆動信号を送出して第n気筒の排気弁34を図2のルーチンにより決定された駆動排気弁数NEVだけ開弁させる(図7の(1)を参照。)。これにより、前回の燃焼サイクルにおける燃焼により生成された燃焼ガスが燃焼室25から排出され始める(排気が開始する)。
以降、CPU71は、ステップ615からステップ660までの処理に従って、排気弁34を開弁させる場合と同様に各種の駆動信号を適当なタイミングにて発生し、以下に記述する各種の動作を行わせる。
ステップ615及びステップ620…第n気筒の現時点のクランク角が図2のルーチンにより決定された第n気筒の吸気弁開弁タイミングIOと一致したとき、吸気弁駆動機構32aに駆動信号を送出して第n気筒の吸気弁32を図2のルーチンにより決定された駆動吸気弁数NIVだけ開弁させる(図7の(2)を参照。)。これにより、燃焼室25内へ空気が導入され始める(吸気が開始する)。
ステップ625及びステップ630…第n気筒の現時点のクランク角が図2のルーチンにより決定された第n気筒の排気弁閉弁タイミングECと一致したとき、排気弁駆動機構34aに駆動信号を送出して第n気筒の開弁している排気弁34を閉弁させる(図7の(3)を参照。)。これにより、排気が終了する。
ステップ635及びステップ640…第n気筒の現時点のクランク角が図2のルーチンにより決定された第n気筒の燃料噴射開始タイミングINJと一致したとき、第n気筒のインジェクタ37を図2のルーチンにより決定された噴射燃料量τに応じた時間だけ開弁させ、噴射燃料量τの燃料を燃焼室25内に噴射させる(図7の(4)を参照。)。噴射された燃料は、燃焼室25内に続いて吸入される空気の流れにより同燃焼室25にて拡散する。
ステップ645及びステップ650…第n気筒の現時点のクランク角が図2のルーチンにより決定された第n気筒の吸気弁閉弁タイミングICと一致したとき、吸気弁駆動機構32aに駆動信号を送出して第n気筒の開弁している吸気弁32を閉弁させる(図7の(5)を参照。)。これにより、吸気が終了するとともに空気と燃料と燃焼ガスとからなる混合ガスの圧縮が開始する。
ステップ655及びステップ660…第n気筒の現時点のクランク角が図2のルーチンにより決定された第n気筒の火花発生タイミングSと一致したとき、イグナイタ36に駆動信号を送出して第n気筒の燃焼室25内にて火花を発生させる。これにより、混合ガスが着火され火炎の伝播により同混合ガスは燃焼する。
その後、CPU71はステップ699に進んで本ルーチンを一旦終了する。
このようにして、内燃機関10は4サイクル火花点火運転方式により運転される。
一方、運転者がアクセルペダル操作量Accpを変更することにより、内燃機関10の負荷状態が、火花点火運転領域Aと自着火運転領域Bとの境界近傍において火花点火運転領域Aから自着火運転領域Bへ変化した場合について説明する。この場合、CPU71が図2のルーチンの処理を開始してステップ225に進んだとき、CPU71は、ステップ225にて「No」と判定し、ステップ255に進んで自着火運転用の損失トルクTQFをテーブルMapTQFj(NE,Pm)に基づいて求める。なお、ステップ255の処理が実行されることは、損失トルク推定手段の機能の一部が達成されることに対応している。
図4の(B)に示したように、このテーブルMapTQFjは、上記ステップ230にて参照される火花点火運転用のテーブルMapTQFh(図4の(A)を参照。)と同様に、ある吸気管内圧力Pmに対してエンジン回転速度NEが大きくなるにつれて損失トルクTQFが大きくなるように、且つ、あるエンジン回転速度NEに対して吸気管内圧力Pmが大気圧より大きくなるにつれて損失トルクTQFが大きくなるように予め設定されている。
ところで、内燃機関10を2サイクル自着火運転方式により運転(自着火運転)する場合、比較的短い期間内に燃焼ガスの排出及び空気の導入を行う必要があるために、燃焼ガスの排出及び空気の導入を同時に行う掃気期間が設けられる。掃気期間においては、大気圧より高い圧力の空気を吸気管内へ供給しないと燃焼室25内に十分な量の空気を導入することができない。従って、自着火運転時においては、機械式過給機45により過給が行われる。即ち、自着火運転時においては、吸気管内圧力Pmは大気圧より大きくされている。このため、テーブルMapTQFjは、火花点火運転用のテーブルMapTQFhと異なり、吸気管内圧力Pmが大気圧以上となる条件においてのみ設定されている。
また、内燃機関10を自着火運転するためには、圧縮上死点における燃焼室25内の混合ガスの温度(圧縮端温度)を所定の自着火温度(例えば、1000℃)より高くする必要がある。従って、後述するように、自着火運転時の吸気弁閉弁タイミングICは、実圧縮比(圧縮上死点における燃焼室25の容積に対する圧縮開始時における燃焼室25の容積の比)が内燃機関10を4サイクル火花点火方式により運転(火花点火運転)するときの実圧縮比より高くなるように、火花点火運転時の吸気弁閉弁タイミングICより進角側に設定されている。
その結果、自着火運転時における圧縮行程中の燃焼室25内の混合ガスの圧力は、火花点火運転時における同圧力より高くなる。従って、燃焼室25からピストン22の下方に漏れる混合ガスの量が増加するので、燃焼ガスがピストン22を押し下げる期間においてピストン22に加えられる力がこの漏れたガスの分だけ減少して損失トルクTQFが増加する。従って、自着火運転用のテーブルMapTQFjは、同一の吸気管内圧力Pm及びエンジン回転速度NEにおいて損失トルクTQFが火花点火運転用の損失トルクTQFより大きくなるように、設定されている。
そして、CPU71は、ステップ260に進み、上記ステップ235と同様に、上記ステップ220にて決定された要求出力軸トルクTQRに上記ステップ255にて推定された損失トルクTQFを加えた値を気筒数Ncにより除することにより自着火運転用の目標図示トルクTQTを決定する。なお、ステップ260の処理が実行されることは、目標図示トルク決定手段の機能が達成されることに対応している。
次いで、CPU71はステップ265に進み自着火運転用の制御量を決定するため、上記図5に示した火花点火運転用の制御量決定ルーチンと同様の、図示しない自着火運転用の制御量決定ルーチンを実行する。この自着火運転用のルーチンは、CPU71が参照するテーブルが異なる点のみにおいて上記火花点火運転用のルーチンと相違している。従って、以下、かかる相違点を中心として説明する。なお、この自着火運転用の制御量決定ルーチンの処理が実行されることは、制御量決定手段の機能が達成されることに対応している。
この自着火運転用のルーチンにおいては、CPU71は、テーブルMapNIVhに代えてテーブルMapNIVjを参照する。このテーブルMapNIVjは、テーブルMapNIVhと同様に、エンジン回転速度NEが所定の低回転閾値より低いとき、求められる駆動吸気弁数NIVが1つとなり、同低回転閾値より高いとき、同駆動吸気弁数NIVが2つとなるように予め設定されている。
また、CPU71は、テーブルMapNEVhに代えてテーブルMapNEVjを参照する。このテーブルMapNEVjは、テーブルMapNEVhと同様に、エンジン回転速度NEが上記低回転閾値より低いとき、求められる駆動排気弁数NEVが1つとなり、同低回転閾値より高いとき、同駆動排気弁数NEVが2つとなるように予め設定されている。
更に、CPU71は、テーブルMapEOhに代えてテーブルMapEOjを参照する。このテーブルMapEOjは、テーブルMapEOhと異なり、求められる自着火運転用の排気弁開弁タイミングEOが上死点と同上死点の次の下死点との間の所定のタイミングとなるように予め設定されている。
また、CPU71は、テーブルMapIOhに代えてテーブルMapIOjを参照する。このテーブルMapIOjは、テーブルMapIOhと異なり、任意の運転状態のときに、同テーブルMapIOjに基づいて求められる自着火運転用の吸気弁開弁タイミングIOがテーブルMapEOjに基づいて求められる自着火運転用の排気弁開弁タイミングEOより後(遅角側)のタイミングであって上記下死点より前の所定のタイミングとなるように予め設定されている。
加えて、CPU71は、テーブルMapEChに代えてテーブルMapECjを参照する。このテーブルMapECjは、テーブルMapEChと異なり、任意の運転状態のときに、同テーブルMapECjに基づいて求められる自着火運転用の排気弁閉弁タイミングECがテーブルMapIOjに基づいて求められる自着火運転用の吸気弁開弁タイミングIOより後の所定のタイミングとなるように予め設定されている。
更に、CPU71は、テーブルMapIChに代えてテーブルMapICjを参照する。このテーブルMapICjは、テーブルMapIChと異なり、任意の運転状態のときに、同テーブルMapICjに基づいて求められる自着火運転用の吸気弁閉弁タイミングICがテーブルMapECjに基づいて求められる自着火運転用の排気弁閉弁タイミングECより後のタイミングであって、テーブルMapIChに基づいて求められる火花点火運転用の吸気弁閉弁タイミングICより前の所定のタイミングとなるように予め設定されている。
また、CPU71は、テーブルMapτhに代えてテーブルMapτjを参照する。このテーブルMapτjは、テーブルMapτhと異なり、求められる自着火運転用の噴射燃料量τの燃料が燃焼室25内に噴射されることにより同燃焼室25にて空燃比が極めてリーンな空燃比(超希薄空燃比)である混合ガスが形成されるように予め設定されている。
更に、CPU71は、テーブルMapINJhに代えてテーブルMapINJjを参照する。このテーブルMapINJjは、テーブルMapINJhと異なり、任意の運転状態のときに同テーブルMapINJjに基づいて求められる自着火運転用の燃料噴射開始タイミングINJが上記テーブルMapIOjに基づいて求められる自着火運転用の吸気弁開弁タイミングIOから上記テーブルMapECjに基づいて求められる自着火運転用の排気弁閉弁タイミングECまでの期間(掃気期間)中の所定のタイミングとなるように、且つ、同テーブルMapINJjに基づいて求められる自着火運転用の燃料噴射開始タイミングINJが実図示トルクを最大とするように、予め設定されている。
また、CPU71は、テーブルMapShに代えてテーブルMapSjを参照する。このテーブルMapSjは、テーブルMapShと同様に、求められる自着火運転用の火花発生タイミングSが上死点(圧縮上死点)の直前の所定のタイミングとなるように予め設定されている。
加えて、CPU71は、テーブルMapOTVhに代えてテーブルMapOTVjを参照する。このテーブルMapOTVjは、テーブルMapOTVhと異なり、求められる自着火運転用のスロットル弁開度OTVが最大(スロットル弁47が全開状態)となるように予め設定されている。
更に、CPU71は、テーブルMapOBVhに代えてテーブルMapOBVjを参照する。このテーブルMapOBVjは、テーブルMapOBVhと異なり、目標図示トルクTQT又はエンジン回転速度NEが大きくなるにつれて、求められる自着火運転用のバイパス弁開度OBVが小さくなるように予め設定されている。
一方、CPU71が過給機駆動制御ルーチンを実行することにより、機械式過給機45は作動状態(過給状態)に制御される。
また、CPU71がスロットル弁及びバイパス弁駆動制御ルーチンを実行することにより、スロットル弁47は、全開状態となるように制御される。加えて、バイパス弁49は、目標図示トルクTQT又はエンジン回転速度NEが大きくなるにつれて、開度が小さくなるように制御される。
更に、CPU71が上記図6の駆動制御ルーチンを実行することにより、自着火運転用の排気弁開弁タイミングEOにて排気弁34が駆動排気弁数NEVだけ開弁する(図8の(1)を参照。)。これにより、排気が開始する。次に、吸気弁開弁タイミングIOにて吸気弁32が駆動吸気弁数NIVだけ開弁する(図8の(2)を参照。)。これにより、燃焼室25内に空気が導入されるとともに、燃焼室25内の燃焼ガスが燃焼室25から排出される掃気が開始する。
次いで、自着火運転用の燃料噴射開始タイミングINJにてインジェクタ37が噴射燃料量τに応じた時間だけ開弁して噴射燃料量τの燃料が燃焼室25内に噴射される(図8の(3)を参照。)。噴射された燃料は、燃焼室25内に続いて吸入される空気の流れにより同燃焼室25にて拡散する。
そして、自着火運転用の排気弁閉弁タイミングECにて開弁している排気弁34が閉弁する(図8の(4)を参照。)。これにより、排気(掃気)が終了する。一方、燃焼室25内への空気の導入(過給)は継続される。次いで、自着火運転用の吸気弁閉弁タイミングICにて開弁している吸気弁32が閉弁する(図8の(5)を参照。)。これにより、燃焼室25内への空気の導入が終了して燃焼室25内に形成された混合ガスが圧縮され始める。
次に、自着火運転用の火花発生タイミングSにて点火プラグ35が燃焼室25にて火花を発生させる。これにより、混合ガスの一部が着火されて混合ガスの温度及び圧力が上昇ることにより、又は、燃料が予反応する(燃料分子の分解等の予備的な反応が起こる)ことにより、混合ガスが自着火されやすい状態に改質される。
その後、ピストン22が上死点に近づくにつれて混合ガスの温度が上昇する。そして、ピストン22が上死点近傍位置に到達したとき、混合ガスが自着火されて燃焼を開始する。
このようにして、内燃機関10は2サイクル自着火運転方式により運転される。
以上、説明したように、本発明による内燃機関の制御装置の第1実施形態によれば、要求出力軸トルクTQRが、検出された運転状態に基づいて決定される。そして、決定された要求出力軸トルクTQRに基づいて運転方式が決定される。次いで、決定された運転方式に基づいて損失トルクTQFが推定される。更に、決定された要求出力軸トルクTQRに推定された損失トルクTQFを加えることにより目標図示トルクTQTが決定される。加えて、混合ガスが燃焼することにより決定された目標図示トルクTQTに対応する力がピストン22に加えられるように内燃機関10を運転するための制御量が決定される。
これにより、運転方式にかかわらず、出力軸トルクTQOを要求出力軸トルクTQRに略一致させることができる。この結果、運転方式を切り替える際に損失トルクTQFが急激に変化しても、出力軸トルクTQOが急激に変化して運転者等にトルクショックを感じさせることを防止することができる。
更に、上記第1実施形態によれば、損失トルクTQFと非常に相関が強い吸気管内圧力Pm及びエンジン回転速度NEに基づいて損失トルクTQFが推定される。これにより、損失トルクTQFをより高い精度にて推定することができる。この結果、出力軸トルクTQOを要求出力軸トルクTQRにより一層近づけることができる。
また、上記第1実施形態は、制御量として、噴射燃料量τ、燃料噴射開始タイミングINJ、火花発生タイミングS、吸気弁開弁タイミングIO、吸気弁閉弁タイミングIC、排気弁開弁タイミングEO、排気弁閉弁タイミングEC、スロットル弁開度OTV及びバイパス弁開度OBVを採用する。これにより、混合ガスの燃焼によりピストン22に加えられる力が適切に制御される。
<第2実施形態>
次に、本発明の第2実施形態に係る内燃機関の制御装置について説明する。第2実施形態に係る内燃機関の制御装置は、上記テーブルMapTQFhに基づいて推定された損失トルクTQFを補正する点において上記第1実施形態に係る制御装置と相違している。以下、かかる相違点を中心として説明する。
この制御装置は、図2のルーチンに代えて、図9にフローチャートにより示した制御量決定ルーチンを実行する。この制御量決定ルーチンは、図2のルーチンのステップ230とステップと235との間にステップ905の処理を追加するとともに、図2のルーチンのステップ255とステップと260との間にステップ910の処理を追加したルーチンである。
まず、内燃機関10の負荷状態が火花点火運転領域Aにある場合から説明する。この場合、CPU71がこのルーチンの処理を開始し、ステップ230までの処理を実行すると、同CPU71はステップ905に進み上記テーブルMapTQFhに基づいて推定された損失トルクTQFと、実際の損失トルクTQFと、の間の差であって、上記テーブルMapTQFhを予め決定する際に前提とした所定の基準状態と実際の状態との相違により生じる差を補正するため、図10のフローチャートに示したステップ1000に進む。
ここで、所定の基準状態は、冷却水温度Twが所定の基準冷却水温度(本例では、80℃)であり、エンジンオイル温度Toが所定の基準エンジンオイル温度(本例では、80℃)であり、駆動吸気弁数NIVが所定の基準駆動吸気弁数(本例では、2つ)であり、及び、駆動排気弁数NEVが所定の基準駆動排気弁数(本例では、2つ)である状態である。
ステップ1000に進んだCPU71は、ステップ1005に進み冷却水温度センサ66により検出された冷却水温度Twを読み込む。
そして、CPU71は、ステップ1010に進み現時点の冷却水温度Twと、冷却水温度Twと冷却水温度Twに基づく補正係数KTWとの関係を規定するテーブルMapKTWhと、に基づいて補正係数KTW(=MapKTWh(Tw))を決定する。
ところで、冷却水温度Twが変化すると、内燃機関10の構成部材の温度が変化するので、同構成部材の大きさが変化する。従って、構成部材間に生じる摩擦力が変化するので、損失トルクTQFが変化する。従って、テーブルMapKTWhは、求められる補正係数KTWが基準冷却水温度(本例では、80℃)にて1となり、且つ、求められる補正係数KTWが冷却水温度Twとともに変化するように(図11の例では、冷却水温度Twが低くなるにつれて補正係数KTWが大きくなるように)予め設定されている。
そして、CPU71は、ステップ1015に進みエンジンオイル温度センサ67により検出されたエンジンオイル温度Toを読み込む。次いで、CPU71は、ステップ1020に進みエンジンオイル温度Toに基づく補正係数KTOをテーブルMapKTOh(To)に基づいて求める。
ところで、エンジンオイル温度Toが低くなると、エンジンオイルの粘度が高くなる。従って、構成部材間(シリンダ21とピストン22との間等)の摩擦力が増加するので、損失トルクTQFが増加する。従って、テーブルMapKTOhは、図12に示したように、求められる補正係数KTOが基準エンジンオイル温度(本例では、80℃)にて1となり、且つ、エンジンオイル温度Toが低くなるにつれて補正係数KTOが大きくなるように予め設定されている。
次に、CPU71は、ステップ1025に進み駆動吸気弁数NIVに基づく補正係数KIVをテーブルMapKIVh(NIV)に基づいて求める。CPU71は、同ステップ1025にて駆動吸気弁数NIVとして前回の燃焼サイクルにおける駆動吸気弁数NIVを使用する。
ところで、駆動吸気弁数NIVが1つの場合、2つの場合よりも吸気弁32を駆動するために用いられる駆動用トルクが小さいので、損失トルクTQFが減少する。従って、テーブルMapKIVhは、図13に示したように、4サイクル火花点火運転方式において、駆動吸気弁数NIVが2つの場合、補正係数KIVが1となり、駆動吸気弁数NIVが1つの場合、補正係数KIVが0.95となるように予め設定されている。
そして、CPU71は、ステップ1030に進み駆動排気弁数NEVに基づく補正係数KEVをテーブルMapKEVh(NEV)に基づいて求める。CPU71は、同ステップ1030にて駆動排気弁数NEVとして前回の燃焼サイクルにおける駆動排気弁数NEVを使用する。
駆動排気弁数NEVが1つの場合、2つの場合よりも排気弁34を駆動するために用いられる駆動用トルクが小さいので、損失トルクTQFが減少する。更に、後述するように、排気弁34が開弁されるとき、吸気弁32が開弁されるときと比較して、燃焼室25内のガスの圧力が高い。従って、排気弁34を駆動するために必要とされる力は、吸気弁32を駆動するために必要とされる力より大きい。即ち、駆動排気弁数NEVを2つから1つに変更することにより減少する損失トルクTQFの大きさは、駆動吸気弁数NIVを2つから1つに変更することにより減少する損失トルクTQFの大きさよりも大きい。従って、テーブルMapKEVhは、図14に示したように、4サイクル火花点火運転方式において、駆動排気弁数NEVが2つの場合、補正係数KEVが1となり、駆動排気弁数NEVが1つの場合、補正係数KEVが0.85となるように予め設定されている。
次いで、CPU71は、ステップ1035に進み上記ステップ1010〜上記ステップ1030にて求めた補正係数KTW、補正係数KTO、補正係数KIV及び補正係数KEVを図9のルーチンのステップ230にて推定された損失トルクTQFに乗じることにより損失トルクTQFを補正(更新)する。なお、冷却水温度Tw、エンジンオイル温度To、駆動吸気弁数NIV及び駆動排気弁数NEVは、吸気管内圧力Pm及びエンジン回転速度NEとともに損失トルク推定パラメータを構成している。
そして、CPU71は、ステップ1099を経由して図9のステップ235以降のステップに進んで、上述したように火花点火運転用の制御量を決定した後、本ルーチンを一旦終了する。
次に、内燃機関10の負荷状態が自着火運転領域Bにある場合について説明する。この場合、CPU71が図9のルーチンの処理を開始し、ステップ255までの処理を実行すると、同CPU71はステップ910に進み上記テーブルMapTQFjに基づいて推定された損失トルクTQFと、実際の損失トルクTQFと、の間の差であって、上記テーブルMapTQFjを予め決定する際に前提とした所定の基準状態(本例では、上記テーブルMapTQFhを予め決定する際に前提とした上記基準状態と同一の基準状態)と実際の状態との相違により生じる差を補正するため、上記図10に示した火花点火運転用の損失トルク補正ルーチンと同様の、図示しない自着火運転用の損失トルク補正ルーチンを実行する。この自着火運転用のルーチンは、CPU71が参照するテーブルが異なる点のみにおいて上記火花点火運転用のルーチンと相違している。従って、以下、かかる相違点を中心として説明する。
この自着火運転用のルーチンにおいては、CPU71は、テーブルMapKTWh及びテーブルMapKTOhに代えてテーブルMapKTWj及びテーブルMapKTOjをそれぞれ参照する。これらのテーブルMapKTWj及びテーブルMapKTOjは、テーブルMapKTWh及びテーブルMapKTOhとそれぞれ同一である(図11及び図12を参照。)。なお、冷却水温度Twが損失トルクTQFに及ぼす影響の運転方式による相違を考慮に入れて、テーブルMapKTWjは、テーブルMapKTWhと異なるように設定されていてもよい。また、エンジンオイル温度Toが損失トルクTQFに及ぼす影響の運転方式による相違を考慮に入れて、テーブルMapKTOjは、テーブルMapKTOhと異なるように設定されていてもよい。
また、CPU71は、テーブルMapKIVhに代えてテーブルMapKIVjを参照する。図13に示したように、このテーブルMapKIVjは、2サイクル自着火運転方式において、テーブルMapKIVhと同様に、駆動吸気弁数NIVが1つの場合における補正係数KIVが、駆動吸気弁数NIVが2つの場合より小さくなるように予め設定されている。
ところで、自着火運転時においては、後述するように、吸気弁32を開弁させる時点における筒内圧力Pcが火花点火運転時よりも大きいので、同吸気弁32を開弁させるために必要とされる駆動用トルクも大きい。従って、駆動吸気弁数NIVが減少することにより減少する損失トルクTQFの大きさは、火花点火運転時よりも大きくなる。そこで、テーブルMapKIVjは、図13に示したように、2サイクル自着火運転方式において、駆動吸気弁数NIVが2つの場合、補正係数KIVが1となり、駆動吸気弁数NIVが1つの場合、補正係数KIVが0.9(火花点火運転時の補正係数KIVの値0.95より小さい値)となるように予め設定されている。
更に、CPU71は、テーブルMapKEVhに代えてテーブルMapKEVjを参照する。図14に示したように、このテーブルMapKEVjは、2サイクル自着火運転方式において、テーブルMapKEVhと同様に、駆動排気弁数NEVが1つの場合における補正係数KEVが、駆動排気弁数NEVが2つの場合より小さくなるように、且つ、駆動排気弁数NEVが1つの場合における補正係数KEVが、駆動吸気弁数NIVが1つの場合における補正係数KIVより小さくなるように予め設定されている。
また、吸気弁32の場合と同様に、自着火運転時において排気弁34を開弁させるために必要とされる駆動用トルクは、火花点火運転時よりも大きい。そこで、テーブルMapKEVjは、図14に示したように、2サイクル自着火運転方式において、駆動排気弁数NEVが2つの場合、補正係数KEVが1となり、駆動排気弁数NEVが1つの場合、補正係数KEVが0.8(火花点火運転時の補正係数KEVの値0.85より小さい値)となるように予め設定されている。
そして、CPU71は、本ルーチンの処理を終了した後、図9のステップ260以降のステップに進んで、上述したように自着火運転用の制御量を決定した後、図9のルーチンを一旦終了する。
以上、説明したように、本発明による内燃機関の制御装置の第2実施形態によれば、損失トルクTQFと非常に相関が強い駆動吸気弁数NIV、駆動排気弁数NEV、エンジンオイル温度To及び冷却水温度Twに基づいて損失トルクTQFが補正される。即ち、吸気管内圧力Pm及びエンジン回転速度NEとともに、駆動吸気弁数NIV、駆動排気弁数NEV、エンジンオイル温度To及び冷却水温度Twを損失トルク推定パラメータとして検出するとともに、同検出された損失トルク推定パラメータに基づいて損失トルクTQFが推定される。これにより、損失トルクTQFをより高い精度にて推定することができる。この結果、出力軸トルクTQOを要求出力軸トルクTQRにより一層近づけることができる。
<第3実施形態>
次に、本発明の第3実施形態に係る内燃機関の制御装置について説明する。第3実施形態に係る内燃機関の制御装置は、火花点火運転用の制御量決定ルーチン及び自着火運転用の制御量決定ルーチンにより決定された制御量を補正する点において上記第2実施形態に係る制御装置と相違している。以下、かかる相違点を中心として説明する。
この制御装置は、図9のルーチンに代えて、図15にフローチャートにより示した制御量決定ルーチンを実行する。この制御量決定ルーチンは、図9のルーチンのステップ240の処理の後にステップ1505の処理を追加するとともに、図9のルーチンのステップ265の処理の後にステップ1510の処理を追加したルーチンである。
まず、内燃機関10の負荷状態が火花点火運転領域Aにある場合から説明する。この場合、CPU71がこのルーチンの処理を開始し、ステップ240までの処理を実行すると、同CPU71はステップ1505に進み上記ステップ240にて決定された火花点火運転用の制御量を補正するため、図16のフローチャートに示したステップ1600に進む。
次いで、CPU71は、ステップ1605に進み実際に燃焼室25内に導入される空気量(空気質量)を上記図5のルーチンにて参照される各テーブルを予め決定する際に前提とした所定の基準空気量(基準空気質量)に一致させるため、図17のフローチャートに示したステップ1700に進む。なお、図17のルーチンの処理が実行されることは、空気量補正手段の機能の一部が達成されることに対応している。また、吸気弁開弁タイミングIOは、空気量パラメータを構成している。
次いで、CPU71は、ステップ1705に進み吸気管内温度センサ63により検出された吸気管内温度Tmを読み込む。
そして、CPU71は、ステップ1710に進み吸気管内温度Tmに基づく吸気弁開弁タイミングの補正量ΔIOTMをテーブルMapΔIOTMh(Tm)に基づいて求める。ここで、テーブルMapΔIOTMhは、吸気管内温度Tmが低くなるにつれて補正量ΔIOTMが正の向きに大きくなるように(即ち、吸気弁開弁タイミングIOをより遅角させるように)予め設定されている。
次いで、CPU71は、ステップ1715に進み図15のステップ240にて決定された火花点火運転用の吸気弁開弁タイミングIOに上記ステップ1710にて決定された補正量ΔIOTMを加えることにより同吸気弁開弁タイミングIOを補正(更新)する。
このようにして、例えば、吸気管内温度Tmが低くなるにつれて、吸気弁開弁タイミングIOがより遅角側に補正される。これにより、吸気弁32が開弁している期間が短くされるので、吸気管内温度Tmの低下に伴って吸気密度が高くなっても、燃焼室25内に導入される空気量(空気質量)を基準空気量(基準空気質量)に一致させることができる。
そして、CPU71は、ステップ1799を経由して図16のステップ1610に進んで、熱発生率dQ/dψに基づいて火花発生タイミングSをフィードバック補正(FB補正)するため、図18のフローチャートに示したステップ1800に進む。
そして、CPU71は、ステップ1805に進み基準最大熱発生率クランク角φREFをテーブルMapφREFh(TQT,NE)に基づいて求める。ここで、最大熱発生率クランク角は、熱発生率dQ/dψが1つの燃焼サイクルにおいて最大となるクランク角である。また、基準最大熱発生率クランク角φREFは、上記図5のルーチンにて参照される各テーブルを予め設定する際に前提とした所定の基準燃焼状態量である。従って、テーブルMapφREFhは、上記図5のルーチンにて参照される各テーブルを予め設定する際に、最大熱発生率クランク角を測定することにより予め設定されている。なお、ステップ1805の処理が実行されることは、基準燃焼状態量決定手段の機能が達成されることに対応している。
次いで、CPU71は、ステップ1810に進み基準最大熱発生率クランク角φREFと実最大熱発生率クランク角φACTとの差に係数GShを乗じることにより補正量ΔSを決定する。ここで、実最大熱発生率クランク角φACTは、後述する実最大熱発生率クランク角推定ルーチンにより算出された(前回の燃焼サイクルにおける)実際の最大熱発生率クランク角である。また、係数GShは、正の値である。なお、基準最大熱発生率クランク角φREF、実最大熱発生率クランク角φACT及び補正量ΔSは、ATDCにより表される。
次に、CPU71は、ステップ1815に進み上記図15のステップ240にて決定された火花点火運転用の火花発生タイミングSに上記ステップ1810にて決定された補正量ΔSを加えることにより同火花発生タイミングSを補正(更新)する。
このようにして、例えば、実最大熱発生率クランク角φACTが基準最大熱発生率クランク角φREFより遅角側にある場合、補正量ΔSが負の値となるので火花発生タイミングSは進角側に補正される。これにより、今回の燃焼サイクルにおける実最大熱発生率クランク角φACTは、火花発生タイミングSが補正されない場合と比較して進角する。この結果、実最大熱発生率クランク角φACTを基準最大熱発生率クランク角φREFに近づけることができる。なお、ステップ1815の処理が実行されることは、制御量補正手段の機能が達成されることに対応している。
そして、CPU71は、ステップ1899を経由して図16のステップ1615に進み内燃機関10の負荷状態が定常負荷状態(例えば、要求出力軸トルクTQR及びエンジン回転速度NEが所定の期間においてそれぞれ所定の範囲内にある負荷状態)にあるか否かを判定する。
いま、内燃機関10の負荷状態が定常負荷状態になったと仮定して説明を続ける。この仮定に従えば、CPU71は、ステップ1615にて「Yes」と判定してステップ1620に進み実図示トルクに基づいて燃料噴射開始タイミングINJをFB補正するため、図19のフローチャートに示した処理を実行する。なお、図19のルーチンの処理が実行されることは、燃料噴射タイミング補正手段の機能が達成されることに対応している。
ところで、図20の曲線L1により示したように、実図示トルクは、燃料噴射開始タイミングINJに対して変化し、燃料噴射開始タイミングINJが所定のタイミング(本例では、θa)であるときに最大(本例では、TQb)となる。従って、内燃機関10を良好な燃費にて運転するために、上記テーブルMapINJhは、求められる火花点火運転用の燃料噴射開始タイミングINJが、実図示トルクを最大とするように予め設定されている。
一方、外気の温度等の運転環境の変化によって、上記テーブルMapINJhを決定する際に前提とした燃料噴射開始タイミングINJと実図示トルクとの関係(図20の曲線L1)と、実際の運転時における燃料噴射開始タイミングINJと実図示トルクとの関係(図20の曲線L2)と、が相違する場合がある。この場合、上記テーブルMapINJhに基づいて決定された燃料噴射開始タイミングINJ(本例では、θa)にて燃料の噴射を開始しても、実図示トルクは最大値(本例では、TQb)より小さな値(本例では、TQa)となってしまう。そこで、実図示トルクが最大となるように燃料噴射開始タイミングINJを補正する必要がある。
従って、図19のルーチンの処理は、上記テーブルMapINJhに基づいて決定された燃料噴射開始タイミングINJを実際の運転時において実図示トルクが最大となるタイミング(本例では、θb)に近づけるように同燃料噴射開始タイミングINJを補正する処理である。より詳細には、このルーチンの処理は、燃料噴射開始タイミングINJをある向きへ変化(本例では、遅角)させて実図示トルクが増加するか減少するかを判断し、その後、実図示トルクが増加する向きへ燃料噴射開始タイミングINJを繰り返し変化させ、そして、実図示トルクが減少し始めたときの1回前に採用した燃料噴射開始タイミングINJを実図示トルクが最大となるタイミングとして採用する処理である。
より具体的に述べると、CPU71は、ステップ1900から処理を開始してステップ1905に進み、補正完了フラグFxの値が「0」であるか否かを判定する。ここで、補正完了フラグFxは、実図示トルクに基づく燃料噴射開始タイミングINJのFB補正が完了したか否かを表すフラグであって、その値が「1」であれば同補正が完了しており、「0」であれば同補正が完了していないことを示す。
補正完了フラグFxの値は、内燃機関10の負荷状態が定常負荷状態となってから最初の本ルーチンの実行開始時に初期値としての「0」に設定される。そして、後述するように、同補正が完了したと判定されたとき、「1」に設定される(ステップ1980を参照。)。現時点は、内燃機関10の負荷状態が定常負荷状態となってから最初の本ルーチンの実行時であるので、補正完了フラグFxの値は「0」である。
従って、CPU71は、ステップ1905にて「Yes」と判定してステップ1910に進み補正反復回数Nの値が「1」であるか否かを判定する。ここで、補正反復回数Nは、内燃機関10の負荷状態が定常負荷状態となってから本ルーチンが実行された回数を表す。補正反復回数Nの値は、内燃機関10の負荷状態が定常負荷状態となってから最初の本ルーチンの実行開始時に初期値としての「1」に設定される。また、補正反復回数Nの値は、本ルーチンの実行毎に後述するステップ1915にて「1」が加算される。
現時点は、内燃機関10の負荷状態が定常負荷状態となってから最初の本ルーチンの実行時であるので、補正反復回数Nの値は「1」である。従って、CPU71は、ステップ1910にて「Yes」と判定してステップ1915に進み過去の燃料噴射開始タイミングINJ0を上記図15のステップ240にて決定された燃料噴射開始タイミングINJ(本例では、図20のθa)に設定するとともに、補正反復回数Nに「1」を加算する。
そして、CPU71は、ステップ1999を経由して図16のステップ1625へ進む。ステップ1625以降の処理については、説明の便宜上、後述する。
その後、1つの燃焼サイクルが経過すると、CPU71は、再び、図19のルーチンの処理を開始する。この時点では、補正反復回数Nが2である。従って、CPU71がステップ1910に進んだとき、同CPU71は、同ステップ1910にて「No」と判定するとともに、続くステップ1920にて補正反復回数Nの値が「2」であるか否かを判定すると、同ステップ1920にて「Yes」と判定してステップ1925に進む。
この時点では、過去の燃料噴射開始タイミングINJ0がθaであり、前回実図示トルクTQ1がTQaである。従って、ステップ1925に進んだCPU71は、今回の燃焼サイクルにおける燃料噴射開始タイミングINJの値を、過去の(1回前の本ルーチンの実行時における)燃料噴射開始タイミングINJ0に所定の初期補正量A(本例では、5°)を加えた値θbに設定する。
そして、CPU71は、ステップ1930に進み前々回の燃焼サイクルにおける第n気筒の実図示トルクである前々回実図示トルクTQ2を前回実図示トルクTQ1(TQa)に設定する。その後、CPU71は、上述したように、ステップ1915の処理を実行してステップ1999に進み本ルーチンを一旦終了する。これにより、今回の燃焼サイクルにおける燃料噴射開始タイミングINJはθbとなる。
そして、更に、1つの燃焼サイクルが経過すると、CPU71は、再び、図19のルーチンの処理を開始する。この時点では、補正反復回数Nが3である。従って、CPU71がステップ1920に進んだとき、同CPU71は、同ステップ1920にて「No」と判定するとともに、続くステップ1940にて補正反復回数Nの値が「3」であるか否かを判定すると、同ステップ1940にて「Yes」と判定してステップ1945に進む。
ステップ1945に進んだCPU71は、同ステップ1945にて前回実図示トルクTQ1が前々回実図示トルクTQ2以上であるか否かを判定する。この時点では、前回実図示トルクTQ1がTQbであり、前々回実図示トルクTQ2がTQaである。従って、前回実図示トルクTQ1が前々回実図示トルクTQ2より大きいので、CPU71は、「Yes」と判定してステップ1950に進み補正量Xの値を初期補正量Aの値に設定する。
そして、CPU71は、ステップ1955に進み今回の燃焼サイクルにおける燃料噴射開始タイミングINJの値を、過去の(1回前の本ルーチンの実行時における)燃料噴射開始タイミングINJ0(θb)に補正量X(本例では、5°)を加えた値θcに設定する。更に、CPU71は、同ステップ1955にて前々々回の燃焼サイクルにおける第n気筒の実図示トルクである前々々回実図示トルクTQ3を前々回実図示トルクTQ2(TQa)に設定する。
その後、CPU71は、上述したように、ステップ1930及びステップ1915の処理を実行してステップ1999に進み本ルーチンを一旦終了する。これにより、今回の燃焼サイクルにおける燃料噴射開始タイミングINJはθcとなる。
そして、更に、1つの燃焼サイクルが経過すると、CPU71は、再び、図19のルーチンの処理を開始する。この時点では、補正反復回数Nが4である。従って、CPU71がステップ1940に進んだとき、同CPU71は、同ステップ1940にて「No」と判定し、続くステップ1970にて前々回実図示トルクTQ2が前回実図示トルクTQ1より大きく、且つ、前々回実図示トルクTQ2が前々々回実図示トルクTQ3より大きいか否かを判定する。即ち、前々回実図示トルクTQ2の値が極大値であるか否かを判定する。
この時点では、前回実図示トルクTQ1がTQcであり、前々回実図示トルクTQ2がTQbであり、前々々回実図示トルクTQ3がTQaである。即ち、前々回実図示トルクTQ2が極大値である。従って、CPU71は、同ステップ1970にて「Yes」と判定してステップ1975に進んで、今回の燃焼サイクルにおける燃料噴射開始タイミングINJの値を、補正量Xに負の符号を付した値(本例では、−5°)を過去の(1回前の本ルーチンの実行時における)燃料噴射開始タイミングINJ0(θc)に加えた値θbに設定する。
次いで、CPU71は、ステップ1980に進み補正完了フラグFxの値を「1」に設定する。そして、CPU71は、ステップ1999に進み本ルーチンを一旦終了する。これにより、今回の燃焼サイクルにおける燃料噴射開始タイミングINJはθbとなる。
以降において、CPU71が図19のルーチンの処理を開始すると、同CPU71は、ステップ1905に進んだとき、同ステップ1905にて「No」と判定してステップ1999に直接進み本ルーチンを一旦終了する。
このようにして、図19のルーチンによれば、内燃機関10の負荷状態が定常負荷状態にあるとき、実図示トルクが最大となるように燃料噴射開始タイミングINJが補正される。これにより、出力軸トルクTQOを要求出力軸トルクTQRにより一層近づけることができる。
以上、内燃機関10の負荷状態が定常負荷状態となった時点において上記テーブルMapINJhに基づいて決定された燃料噴射開始タイミングINJがθaである場合について説明した。ところで、同テーブルMapINJhに基づいて決定された燃料噴射開始タイミングINJがθbやθc等のいずれのタイミングであっても、上述した場合と同様に、燃料噴射開始タイミングINJは、実図示トルクが最大となるタイミングθbに補正される。
一例として、上記テーブルMapINJhに基づいて決定された燃料噴射開始タイミングINJがθcである場合について説明する。
この場合において、CPU71が、内燃機関10の負荷状態が定常負荷状態となってから図19のルーチンを3回目に実行したとき、前回実図示トルクTQ1が図20のTdであり、前々回実図示トルクTQ2がTQcであり、及び、補正反復回数Nが3である。従って、CPU71がステップ1945に進んだとき、同CPU71は、同ステップ1945にて「No」と判定してステップ1960に進み補正量Xの値を初期補正量Aに負の符号を付した値に設定する。その後、CPU71は、上述したように、ステップ1955、ステップ1930及びステップ1915の処理を実行してステップ1999に進み本ルーチンを一旦終了する。これにより、今回の燃焼サイクルにおける燃料噴射開始タイミングINJはθcとなる。
そして、更に、1つの燃焼サイクルが経過すると、CPU71は、再び、図19のルーチンの処理を開始する。この時点では、前回実図示トルクTQ1がTQcであり、前々回実図示トルクTQ2がTQdであり、前々々回実図示トルクTQ3がTQcであり、及び、補正反復回数Nが4である。従って、CPU71がステップ1970に進んだとき、同CPU71は、同ステップ1970にて「No」と判定して、続くステップ1955、ステップ1930及びステップ1915の処理を実行してステップ1999に進み本ルーチンを一旦終了する。これにより、今回の燃焼サイクルにおける燃料噴射開始タイミングINJはθbとなる。
そして、更に、1つの燃焼サイクルが経過すると、CPU71は、再び、図19のルーチンの処理を開始する。この時点では、前回実図示トルクTQ1がTQbであり、前々回実図示トルクTQ2がTQcであり、前々々回実図示トルクTQ3がTQdである。従って、CPU71がステップ1970に進んだとき、同CPU71は、同ステップ1970にて「No」と判定して、続くステップ1955、ステップ1930及びステップ1915の処理を実行してステップ1999に進み本ルーチンを一旦終了する。これにより、今回の燃焼サイクルにおける燃料噴射開始タイミングINJはθaとなる。
そして、更に、1つの燃焼サイクルが経過すると、CPU71は、再び、図19のルーチンの処理を開始する。この時点では、前回実図示トルクTQ1がTQaであり、前々回実図示トルクTQ2がTQbであり、前々々回実図示トルクTQ3がTQcである。従って、CPU71がステップ1970に進んだとき、同CPU71は、同ステップ1970にて「Yes」と判定して、続くステップ1975及びステップ1980の処理を実行してステップ1999に進み本ルーチンを一旦終了する。これにより、今回の燃焼サイクルにおける燃料噴射開始タイミングINJはθbとなる。
以降において、CPU71が図19のルーチンの処理を開始すると、同CPU71は、ステップ1905に進んだとき、同ステップ1905にて「No」と判定してステップ1999に直接進み本ルーチンを一旦終了する。
このようにして、図19のルーチンによれば、内燃機関10の負荷状態が定常負荷状態となった時点において上記テーブルMapINJhに基づいて決定された燃料噴射開始タイミングINJがθcである場合であっても、実図示トルクに基づく燃料噴射開始タイミングINJの補正が完了した時点における燃料噴射開始タイミングINJを実図示トルクが最大となるタイミングθbとすることができる。
ここで、上述したステップ1625以降の処理について説明する。ステップ1625において、CPU71は、実図示トルクに基づいて噴射燃料量τ及び吸気弁開弁タイミングIOをFB補正するため、図21のフローチャートに示したステップ2100に進む。
そして、CPU71は、ステップ2105に進み後述する実図示トルク推定ルーチンにより推定された第n気筒の前回実図示トルクTQ1を図15のステップ235にて決定された目標図示トルクTQTにより除することによって補正係数Lを決定する。
次いで、CPU71は、ステップ2110に進み上記図15のステップ240にて決定された噴射燃料量τに上記ステップ2105にて決定された補正係数Lの逆数1/Lを乗じることにより噴射燃料量τを補正(更新)する。従って、補正係数Lが小さい(前回実図示トルクTQ1が小さい)ほど、噴射燃料量τは増加させられる。なお、ステップ2105及びステップ2110の処理が実行されることは、噴射燃料量補正手段の機能が達成されることに対応している。
次に、CPU71は、ステップ2115に進み実図示トルクに基づく吸気弁開弁タイミングの補正量ΔIOTQをテーブルMapΔIOTQh(L)に基づいて求める。ここで、テーブルMapΔIOTQhは、補正係数Lが小さくなるにつれて補正量ΔIOTQが負の向きに大きくなるように(即ち、吸気弁開弁タイミングIOをより進角させるように)予め設定されている。
次いで、CPU71は、ステップ2120に進み図16のステップ1605にて補正された火花点火運転用の吸気弁開弁タイミングIOに上記ステップ2115にて決定された補正量ΔIOTQを加えることにより同吸気弁開弁タイミングIOを補正(更新)する。このように、補正係数Lが小さい(前回実図示トルクTQ1が小さい)ほど、吸気弁開弁タイミングIOが進角側に補正されるので、燃焼室25内に導入される空気量は増加させられる。
このようにして、目標図示トルクTQTに対する第n気筒の実図示トルクの比(即ち、補正係数L)に基づいて燃焼室25内に形成される混合ガスに含まれる燃料量及び空気量がFB補正される。従って、目標図示トルクTQT及び実図示トルクの時間に対する変化を表した図22に示したように、本ルーチンによるFB補正を行うことによって、実図示トルクを目標図示トルクTQTにより一層近づけることができる。
そして、CPU71は、ステップ2199及び図16のステップ1699を経由して図15のステップ1599に進んで図15のルーチンの実行を一旦終了する。
次に、運転者がアクセルペダル69を急激に踏み込むことにより、アクセルペダル操作量Accpが急激に増加した場合について説明する。この場合、内燃機関10の負荷状態は、定常負荷状態ではない。従って、CPU71が図15のルーチンを開始して図16のステップ1615に進んだとき、同CPU71は、同ステップ1615にて「No」と判定し、ステップ1620の処理(図19のルーチンの処理)を実行することなく、上述したように、ステップ1625以降の処理を実行する。
(実最大熱発生率クランク角推定)
一方、CPU71は、図18のルーチンの処理に用いた実最大熱発生率クランク角φACTを推定するため、図示しない実最大熱発生率クランク角推定ルーチンをクランク角が所定の微小なクランク角だけ変化する毎に第n気筒専用に実行するようになっている。なお、実最大熱発生率クランク角推定ルーチンの処理が実行されることは、実燃焼状態量検出手段の機能の一部が達成されることに対応している。
熱発生率dQ/dψは、燃焼室25の容積Vと、燃焼室25内のガスの圧力(筒内圧力)Pcと、下記(1)式と、に基づいて求めることができる。
dQ/dψ={1/(κ−1)}・{V・(dPc/dψ)
+κ・Pc・(dV/dψ)}…(1)
ここで、熱量Qの単位はジュールであり、κは比熱比である。
従って、所定のタイミングになると、CPU71は、上記(1)式と、現時点の燃焼室25の容積Vと、筒内圧力センサ65により検出された現時点の筒内圧力Pcと、に基づいて熱発生率dQ/dψを算出する。
更に、CPU71は、算出された熱発生率dQ/dψをクランク角と関連付けて1つの燃焼サイクル分だけRAM73に記憶させる。加えて、CPU71は、RAM73に記憶された1つの燃焼サイクル分の熱発生率dQ/dψのうちの最大となる熱発生率dQ/dψに対応するクランク角を実最大熱発生率クランク角φACTとして推定する。
(実図示トルク推定)
また、CPU71は、図21のルーチンの処理に用いた実図示トルクTQ1を推定するため、図示しない実図示トルク推定ルーチンをクランク角が所定の微小なクランク角だけ変化する毎に第n気筒専用に実行するようになっている。なお、実図示トルク推定ルーチンの処理が実行されることは、実図示トルク推定手段の機能の一部が達成されることに対応している。
ある時点にて混合ガスの燃焼により第n気筒のピストン22に加えられる力に対応する瞬時トルクTQiは、燃焼室25の容積Vと、燃焼室25内のガスの圧力(筒内圧力)Pcと、下記(2)式と、に基づいて求めることができる。
TQi=Pc・(dV/dψ)…(2)
従って、所定のタイミングになると、CPU71は、上記(2)式と、現時点の燃焼室25の容積Vと、筒内圧力センサ65により検出された現時点の筒内圧力Pcと、に基づいて瞬時トルクTQiを算出する。
更に、CPU71は、算出された瞬時トルクTQiを1つの燃焼サイクル分だけRAM73に記憶させる。加えて、CPU71は、RAM73に記憶された1つの燃焼サイクル分の瞬時トルクTQiの平均値を実図示トルクTQ1として推定する。
一方、内燃機関10の負荷状態が自着火運転領域Bにある場合について説明する。この場合、CPU71が図15のルーチンの処理を開始し、ステップ265までの処理を実行すると、同CPU71はステップ1510に進み図23のフローチャートに示した自着火運転用の制御量を補正するための自着火運転用の制御量補正ルーチンを実行する。このルーチンは、上記図16に示した火花点火運転用の制御量補正ルーチンのステップ1605、ステップ1610及びステップ1625の処理をステップ2305、ステップ2310及びステップ2325の処理にそれぞれ置換した点のみにおいて同ルーチンと相違している。従って、以下、かかる相違点を中心として説明する。なお、この自着火運転用の制御量補正ルーチンの処理が実行されることは、制御量補正手段の機能が達成されることに対応している。
CPU71は、ステップ2300から処理を開始してステップ2305に進み実際に燃焼室25内に導入される空気量を上記自着火運転用の制御量決定ルーチンにて参照される各テーブルを予め決定する際に前提とした所定の基準空気量に一致させるため、図24のフローチャートに示したステップ2400に進む。なお、図24のルーチンの処理が実行されることは、空気量補正手段の機能の一部が達成されることに対応している。また、バイパス弁開度OBVは、空気量パラメータを構成している。
次いで、CPU71は、ステップ2405に進み吸気管内温度センサ63により検出された吸気管内温度Tmを読み込む。
そして、CPU71は、ステップ2410に進み吸気管内温度Tmに基づくバイパス弁開度OBVの補正係数GOBVをテーブルMapGOBVj(Tm)に基づいて求める。ところで、空気の温度が低くなるにつれて、吸気密度は高くなる。従って、吸気管内温度Tmが所定の基準温度(本例では、50℃)より低くなるにつれて、実際に燃焼室25内に導入される空気量は増加する。従って、テーブルMapGOBVjは、図25に示したように、吸気管内温度Tmが低くなるにつれて補正係数GOBVが大きくなるように(即ち、バイパス通路48を通過する空気量が増加するように)予め設定されている。
次いで、CPU71は、ステップ2415に進み上記図15のステップ265にて決定された自着火運転用のバイパス弁開度OBVに上記ステップ2410にて決定された補正係数GOBVを乗じることにより同バイパス弁開度OBVを補正(更新)する。このように、吸気管内温度Tmが低くなるにつれてバイパス弁開度OBVが大きくされるので、バイパス通路48を通過する空気量が多くなって過給圧が低くなる。この結果、吸気管内温度Tmの低下により吸気密度が高くなっても実際に燃焼室25内に導入される空気量を基準空気量に一致させることができる。
そして、CPU71は、ステップ2499を経由して図23のステップ2310に進んで、熱発生率dQ/dψに基づいて火花発生タイミングS、噴射燃料量τ及び吸気弁閉弁タイミングICをフィードバック補正(FB補正)するため、図26に示したステップ2620からステップ2635までの処理を図18のステップ1815の処理の後に追加したルーチンを実行する。
このルーチンにおいては、CPU71は、ステップ1805にてテーブルMapφREFhに代えてテーブルMapφREFjを参照する。このテーブルMapφREFjは、テーブルMapφREFhと同様に、上記図示しない自着火運転用の制御量決定ルーチンにて参照される各テーブルを予め設定する際に、最大熱発生率クランク角を測定することにより予め設定されている。
CPU71がステップ1815までの処理を実行することにより自着火運転用の火花発生タイミングSを補正すると、CPU71は、ステップ2620に進み噴射燃料量τの補正係数KTAUをテーブルMapKTAUj(φREF-φACT)に基づいて求める。
次いで、CPU71は、ステップ2625に進み上記ステップ2620にて決定された補正係数KTAUを上記図15のステップ265にて決定された自着火運転用の噴射燃料量τに乗じることにより同噴射燃料量τを補正(更新)する。
次に、CPU71は、ステップ2630に進み基準最大熱発生率クランク角φREFと実最大熱発生率クランク角φACTとの差に係数Gicjを乗じることにより補正量ΔICを決定する。なお、補正量ΔICは、ATDCにより表される。
そして、CPU71は、ステップ2635に進み上記図15のステップ265にて決定された自着火運転用の吸気弁閉弁タイミングICに上記ステップ2630にて決定された補正量ΔICを加えることにより同吸気弁閉弁タイミングICを補正(更新)する。
このように、実最大熱発生率クランク角φACTが基準最大熱発生率クランク角φREFより遅角側にある場合、吸気弁閉弁タイミングICが進角側に補正される。これにより、実圧縮比が高められるので、混合ガスの温度がより早いタイミングにて自着火温度に到達する。一方、実最大熱発生率クランク角φACTが基準最大熱発生率クランク角φREFより進角側にある場合、吸気弁閉弁タイミングICが遅角側に補正される。これにより、実圧縮比が低められるので、混合ガスの温度がより遅いタイミングにて自着火温度に到達する。このようにして、実最大熱発生率クランク角φACTを基準最大熱発生率クランク角φREFに近づけることができる。
次いで、CPU71は、ステップ1899を経由して、上述したように、ステップ1615及びステップ1620の処理を実行する。
次に、CPU71は、ステップ2325に進み実図示トルクに基づいて噴射燃料量τ、バイパス弁開度OBV及び吸気弁開弁タイミングIOをFB補正するため、図21に示したステップ2115及びステップ2120の処理を図27に示したステップ2715からステップ2755までの処理に置換したルーチンを実行する。
CPU71がステップ2110までの処理を実行することにより補正係数Lを決定するとともに噴射燃料量τを補正すると、CPU71は、ステップ2715に進み上記図23のステップ2305にて補正されたバイパス弁開度OBVに上記ステップ2105にて決定された補正係数Lを乗じることによりバイパス弁開度OBVを補正(更新)する。従って、補正係数Lが小さい(前回実図示トルクTQ1が小さい)ほど、機械式過給機45に流入する空気量が増加させられるので、燃焼室25内に導入される空気量は増加させられる。
そして、CPU71は、ステップ2720に進み今回の本ルーチンの実行時における目標図示トルクTQTと前回の本ルーチンの実行時における目標図示トルクTQT1との差の大きさが所定の目標図示トルク変化量ΔTQ(本例では、10Nm)より小さいか否かを判定する。
いま、内燃機関10の負荷状態が定常負荷状態であると仮定して説明を続ける。この仮定に従えば、目標図示トルクTQTの値と目標図示トルクTQT1の値とは同じである。従って、CPU71は、ステップ2720にて「Yes」と判定してステップ2725に進み目標図示トルクTQT1の値を目標図示トルクTQTの値に設定する。
そして、CPU71は、ステップ2199及び図23のステップ2399を経由して図15のステップ1599に進んで同図15のルーチンの実行を一旦終了する。
次に、運転者がアクセルペダル操作量Accpを変更することにより、要求出力軸トルクTQRが急激に減少した場合について説明する。上述したように、CPU71が図15のルーチンを開始すると、同CPU71がステップ260に進んだとき、目標図示トルクTQTを決定する。この場合、決定される目標図示トルクTQTは、前回の本ルーチンの実行時にて決定された目標図示トルクTQTより上記所定の実図示トルク変化量ΔTQ以上小さい値となる。
従って、CPU71が図23のステップ1615に進んだとき、同CPU71は、同ステップ1615にて「No」と判定し、ステップ1620の処理(図19のルーチンの処理)を実行することなくステップ2325に進む。
更に、CPU71が図27のステップ2720に進んだとき、同CPU71は、同ステップ2720にて「No」と判定してステップ2750に進み実図示トルクに基づく吸気弁開弁タイミングの補正量ΔIOTQをテーブルMapΔIOTQj(L)に基づいて求める。ここで、テーブルMapΔIOTQjは、補正係数Lが小さくなるにつれて補正量ΔIOTQが負の向きに大きくなるように(即ち、吸気弁開弁タイミングIOをより進角させるように)予め設定されている。
次いで、CPU71は、ステップ2755に進み図15のステップ265にて決定された自着火運転用の吸気弁開弁タイミングIOに上記ステップ2750にて決定された補正量ΔIOTQを加えることにより同吸気弁開弁タイミングIOを補正(更新)する。
ところで、バイパス弁開度OBVが変更されると、同バイパス弁開度OBVの変更から所定の遅延時間が経過した後に、吸気管内圧力Pmが変化する。従って、燃焼室25内に導入される空気量は、バイパス弁開度OBVの変化に対して所定の遅延時間を伴って変化する。このため、目標図示トルクTQTが急激に変化した際、上記ステップ2715によりバイパス弁開度OBVを補正しても同補正されたバイパス弁開度OBVに対応する空気量が燃焼室25内に導入されない。
従って、目標図示トルクTQTが急激に変化した際、上記ステップ2750及びステップ2755にて吸気弁開弁タイミングIOを補正することにより、目標図示トルクTQTが急激に変化する場合であっても、燃焼室25内に導入される空気量を適切に制御することができる。
そして、CPU71は、上述したように、ステップ2725の処理を実行してステップ2199に進み本ルーチンを一旦終了する。
以上、説明したように、本発明による内燃機関の制御装置の第3実施形態によれば、実際の燃焼状態量としての実最大熱発生率クランク角φACTが、図示トルクと制御量との関係を規定するマップを予め決定する際に前提とした基準燃焼状態量としての基準最大熱発生率クランク角φREFに一致するように、同マップに基づいて決定された制御量が補正される。これにより、基準燃焼状態と近しい燃焼状態にて混合ガスが燃焼するので、実図示トルクを目標図示トルクTQTにより一層近づけることができる。この結果、出力軸トルクTQOを要求出力軸トルクTQRにより一層近づけることができる。
更に、上記第3実施形態によれば、実図示トルクが最大となるように燃料噴射開始タイミングINJが補正される。これにより、実図示トルクを目標図示トルクTQTにより一層近づけることができるので、出力軸トルクTQOを要求出力軸トルクTQRにより一層近づけることができる。
また、上記第3実施形態によれば、決定されたバイパス弁開度OBV又は吸気弁開弁タイミングIOが吸気管内温度Tmに基づいて補正される。これにより、図示トルクと制御量との関係を規定するマップを予め決定する際に前提とした基準空気量に近しい量の空気を燃焼室25内に実際に導入することができる。この結果、出力軸トルクTQOを要求出力軸トルクTQRにより一層近づけることができる。
加えて、上記第3実施形態によれば、決定された噴射燃料量τ、吸気弁開弁タイミングIO及びバイパス弁開度OBVは、実図示トルクが目標図示トルクTQTに一致するように補正される。これにより、実図示トルクを目標図示トルクTQTにより一層近づけることができる。この結果、出力軸トルクTQOを要求出力軸トルクTQRにより一層近づけることができる。
なお、上記第3実施形態は、自着火運転時、吸気管内温度Tmが変化しても、燃焼室25内に導入される空気量が基準空気量に一致するように、バイパス弁開度OBVを補正していた。ところで、自着火運転時においては、燃焼室25内に導入される空気の温度が低いと、同燃焼室25にて形成される混合ガスの温度も低くなる。従って、混合ガスが圧縮されても同混合ガスの温度が自着火温度に到達するタイミングが遅くなるので、自着火タイミングが遅れてしまう。このため、実図示トルクが目標図示トルクTQTより小さくなってしまう。
そこで、上記第3実施形態は、自着火運転時、吸気管内温度Tmが低くなるにつれて燃焼室25内に導入される空気量が基準空気量より多くなるようにバイパス弁開度OBVを補正してもよい。この場合、燃焼室25内のガスの圧力が高くなるので、実図示トルクを大きくすることができ、実図示トルクを目標図示トルクTQTに近づけることができる。
また、上記第3実施形態は、空気量パラメータとして、吸気弁開弁タイミングIO及びバイパス弁開度OBVを用いるように構成されていたが、これらに代えて、或いは、これらに加えて、吸気弁閉弁タイミングIC、排気弁開弁タイミングEO、排気弁閉弁タイミングEC又はスロットル弁開度OTVを用いるように構成されていてもよい。
更に、上記第3実施形態は、熱発生率に基づいて吸気弁閉弁タイミングICをFB補正するように構成されていたが、これに代えて、或いは、これに加えて、吸気弁開弁タイミングIO、排気弁開弁タイミングEO、排気弁閉弁タイミングEC、バイパス弁開度OBV又はスロットル弁開度OTVをFB補正するように構成されていてもよい。
加えて、上記第3実施形態は、実図示トルクに基づいて吸気弁開弁タイミングIO及びバイパス弁開度OBVをFB補正するように構成されていたが、これらに代えて、或いは、これらに加えて、吸気弁閉弁タイミングIC、排気弁開弁タイミングEO、排気弁閉弁タイミングEC又はスロットル弁開度OTVをFB補正するように構成されていてもよい。
なお、本発明は上記各実施形態に限定されることはなく、本発明の範囲内において種々の変形例を採用することができる。例えば、2サイクル自着火運転方式及び4サイクル火花点火運転方式は、それぞれ4サイクル自着火運転方式及び4サイクル火花点火運転方式、2サイクル自着火運転方式及び4サイクル自着火運転方式、2サイクル火花点火運転方式及び4サイクル火花点火運転方式、2サイクル火花点火運転方式及び4サイクル自着火運転方式又は2サイクル火花点火運転方式及び2サイクル自着火運転方式であってもよい。
10…内燃機関、21…シリンダ、22…ピストン、24…クランク軸、25…燃焼室、31…吸気ポート、32…吸気弁、32a…吸気弁駆動機構、33…排気ポート、34…排気弁、34a…排気弁駆動機構、35…点火プラグ、36…イグナイタ、37…インジェクタ、38…駆動回路、41…インテークマニホールド、42…サージタンク、43…吸気ダクト、45…機械式過給機、47…スロットル弁、48…バイパス通路、49…バイパス弁、62…吸気管内圧力センサ、63…吸気管内温度センサ、64…クランクポジションセンサ、65…筒内圧力センサ、66…冷却水温度センサ、67…エンジンオイル温度センサ、68…アクセル開度センサ、69…アクセルペダル、71…CPU、72…ROM。