以下、本発明による可変圧縮比内燃機関の制御装置の実施形態について図面を参照しながら説明する。
(構成)
図1は、本発明の実施形態に係る制御装置(以下、単に、「制御装置」とも称呼する。)が適用される可変圧縮比内燃機関10の概略断面図である。
この機関10は、多気筒(直列4気筒)・ピストン往復動型・火花点火式・ガソリン内燃機関である。また、この機関10は機械圧縮比を変更するための機械圧縮比変更機構15を備えている。なお、図1は特定の気筒(第1気筒)の断面を示しているが、他の気筒も同様な構成を備えている。
機関10は、クランクケース11、オイルパン12、シリンダブロック13及びシリンダヘッド部14を含んでいる。
クランクケース11は、クランクシャフト11aを回転可能に支持している。オイルパン12は、クランクケース11の下方(下部)においてクランクケース11に固定されている。オイルパン12は、クランクケース11とともに、クランクシャフト11a及び潤滑油等を収容する空間を形成している。
シリンダブロック13は、クランクケース11の上方に配置されている。シリンダブロック13は、中空円筒状のシリンダ(シリンダボア)13aを複数個(4気筒分)備えている。ピストン13bは略円筒形であり、シリンダ13aに収容されている。ピストン13bは、コネクティングロッド13cによってクランクシャフト11aに連結されている。シリンダブロック13は、後述するように、クランクケース11に対してシリンダ13aの軸線CC方向(以下、「上下方向」とも称呼する。)に移動することにより、機関10の機械圧縮比を変更するようになっている。なお、機械圧縮比は、「ピストン13bが上死点(圧縮上死点)位置にあるときの燃焼室容積に対するピストン13bが下死点(吸気下死点)位置にあるときの燃焼室容積の比」として定義される。
シリンダヘッド部14は、シリンダブロック13の上方に配置され、シリンダブロック13に固定されている。シリンダヘッド部14には、燃焼室の上面を形成するシリンダヘッド下面14a、燃焼室に連通する吸気ポート14b、及び、燃焼室に連通する排気ポート14cが形成されている。
更に、シリンダヘッド部14は、吸気ポート14bを開閉する吸気弁14d、吸気弁14dを駆動するインンテークカムを備えるインテークカムシャフト14e、可変吸気タイミング装置14f、排気ポート14cを開閉する排気弁14g、排気弁14gを駆動するエキゾーストカムを備えるエキゾーストカムシャフト14h、点火プラグ14i及びイグニッションコイルを含むイグナイタ14j等を収容している。イグナイタ14jは、後述する電気制御装置からの点火指示信号に応答して燃焼室内に露呈した点火プラグ14iの火花発生部に点火用の火花を発生させるようになっている。シリンダヘッド部14の上部には、ヘッドカバー14kが固定されている。
可変吸気タイミング装置14fは、例えば、特開2007−303423号公報(上記特許文献3)等に記載されているように周知の装置である。可変吸気タイミング装置14fは、図示しない作動油供給制御弁及び図示しない油圧ポンプを備え、これらによって作動油が給排されることにより、インテークカムシャフト14eに対するインテークカムの位相を所望の量だけ進角及び遅角させることができる。なお、本例において、吸気弁14dが開弁している期間(開弁クランク角度幅)は一定である。従って、可変吸気タイミング装置14fにより吸気弁開弁時期が所定角度だけ進角又は遅角させられると、吸気弁14dの閉弁時期も同所定角度だけ進角又は遅角させられる。
以下において、可変吸気タイミング装置14fにより吸気弁開弁時期が最も遅角側にある場合を基準とし、その基準から実際に制御されている吸気弁開弁時期までのクランク角度を吸気弁進角角度VVTと称呼する。従って、吸気弁進角角度VVTは吸気弁閉弁時期である圧縮作用の開始時期に応じた値となる。
機関10は機械圧縮比を変更するための機械圧縮比変更機構15を備えている。この機械圧縮比変更機構15は、例えば、特開2003−206771号公報(上記特許文献2)、特開2007−303423号公報(上記特許文献3)、特開2007−321589号公報及び特開2004−218522号公報等に開示された機構と同様の周知の機構である。以下、図1乃至図4を参照しながら簡単に説明する。
機械圧縮比変更機構15は、ケース側軸受形成部15aと、ブロック側軸受形成部15bと、軸状駆動部15cと、を含んでいる。
ケース側軸受形成部15aは、図2に示したように、複数の第1軸受形成部15a1と複数の第2軸受形成部15a2とにより構成される。
第1軸受形成部15a1のそれぞれは、クランクケース11の左右の縦壁部に形成されている。第1軸受形成部15a1のそれぞれは、半円形の凹部を形成している。互いに隣接する第1軸受形成部15a1の間には、縦壁部を貫通する縦長孔15a3が形成されている。
第2軸受形成部15a2のそれぞれは、第1軸受形成部15a1が形成する半円形の凹部と同径の半円形の凹部を備えている。第2軸受形成部15a2のそれぞれは、第1軸受形成部15a1の半円形の凹部と第2軸受形成部15a2の半円形の凹部とが互いに対向するように、第1軸受形成部15a1のそれぞれにボルトにより固定されるキャップである。
複数の第1軸受形成部15a1及び複数第2軸受形成部15a2は、図1に示した円柱状の軸受孔(カム収納孔)H1を複数形成する。複数の軸受孔H1の中心軸は一つの直線上に配列される。その軸受孔H1の軸線は、クランクケース11の上部にシリンダブロック13が配置された状態において、複数のシリンダ13aの配列方向に平行な方向に延びる。
ブロック側軸受形成部15bのそれぞれは、図1乃至図3に示したように、略直方体であり、円柱状の軸受孔H2を備える部材である。ブロック側軸受形成部15bは、クランクケース11の上部にシリンダブロック13が配置された状態において、クランクケース11の縦壁部に形成された縦長孔15a3内に収容される。ブロック側軸受形成部15bは、シリンダブロック13の左右の側壁部にボルト固定される。このような構成により、軸受孔H1及び軸受孔H2は、シリンダ13aの配列方向に沿って交互に配列される。
縦長孔15a3のシリンダ軸線CC方向の長さは、ブロック側軸受形成部15bのシリンダ軸線CC方向の長さより長く設定されている。これにより、ブロック側軸受形成部15bは、シリンダブロック13と一体的となってクランクケース11に対してシリンダ軸線CC方向に移動可能となっている。
総てのブロック側軸受形成部15bがシリンダブロック13に固定されたとき、ブロック側軸受形成部15bのそれぞれが備える軸受孔H2の中心軸は一つの直線上に配列される。その軸受孔H2の軸線は、複数のシリンダ13aの配列方向に平行な方向に延びている。シリンダブロック13の左の側壁部に形成される軸受孔H2の軸線とシリンダブロック13の右の側壁部に形成される軸受孔H2の軸線との距離は、クランクケース11の左側に形成される軸受孔H1の軸線とクランクケース11の右側に形成される軸受孔H1の軸線との距離と同一である。
一方、軸状駆動部15cは、軸受孔H1及び軸受孔H2に挿通される。軸状駆動部15cは、図2及び軸状駆動部15cの断面図である図4に示したように、小径の軸部15c1と、固定円筒部15c2と、回転円筒部15c3と、を備えている。
固定円筒部15c2は、軸部15c1の中心軸に対して偏心した状態にて軸部15c1に固定されている。固定円筒部15c2は、軸部15c1よりも大径であって且つ軸受孔H1と同一径の正円形のカムプロフィールを備えた円筒状部材である。固定円筒部15c2は、クランクケース11のケース側軸受形成部15aに設けられた軸受孔H1に収容される。固定円筒部15c2は、その中心軸回りに軸受孔H1の壁面に当接しながら回転する。
回転円筒部15c3は、軸部15c1の中心軸に対して偏心した状態で軸部15c1に回転可能に取り付けられている。回転円筒部15c3は、軸部15c1及び固定円筒部15c2よりも大径であって軸受孔H2と同一径の正円形のカムプロフィールを備えた円筒状部材である。回転円筒部15c3は、シリンダブロック13に固定されたブロック側軸受形成部15bに設けられた軸受孔H2に収容される。回転円筒部15c3は、軸受孔H2の壁面に当接しながら回転する。なお、左右一対の軸状駆動部15c、左右の軸受孔H1及び左右の軸受孔H2は、複数のシリンダ軸線CCを通る平面に関して互いに鏡像の関係を有している。
更に、軸状駆動部15cのそれぞれは、図2に示したように、その軸線方向中央位置近傍にギア15c4を備えている。ギア15c4は、軸部15c1の中心軸に対して偏心し、且つ、固定円筒部15c2(従って、軸受孔H1)と同軸となるように軸部15c1に固定されている。即ち、ギア15c4の回転中心軸は固定円筒部15c2の中心軸と一致している。一対のギア15c4のそれぞれには、図示しない一対のウォームギアのそれぞれが噛合している。そのウォームギアはクランクケース11に固定された図示しない単一のモータ(図5に示したモータ15Mを参照。)の出力軸に取り付けられている。一対のウォームギアは、互いに逆方向に回転する螺旋溝を有している。従って、一対の軸状駆動部15cは、モータを回転させたとき、各固定円筒部15c2の中心軸周りに互いに逆方向に回転するようになっている。
図4は、クランクケース11及びシリンダブロック13の前面Pf側からみて右側に位置する軸状駆動部15cの動きを概念的に示した図である。例えば、図4の(A)に示したように、固定円筒部15c2の中心c2、軸部15c1の中心c1及び回転円筒部15c3の中心c3が、この順に同一直線上に位置している場合、クランクケース11(軸受孔H1の中心)とシリンダブロック13(軸受孔H2の中心)との距離Dは距離D1となって、最大の距離となる。従って、ピストン13bが上死点位置にあるときの燃焼室の容積は大きくなる。この結果、内燃機関10の機械圧縮比は低く(小さく)なる。
図4の(A)に示した状態からモータが駆動されることにより固定円筒部15c2及び軸部15c1が固定円筒部15c2の中心軸周りに回転すると、図4の(B)に示した状態となる。このとき、前記距離Dは距離D2となる。更に、図4の(B)に示した状態からモータが同一回転方向に駆動されることにより固定円筒部15c2及び軸部15c1が固定円筒部15c2の中心軸周りに回転すると、図4の(C)に示した状態となる。このとき、前記距離Dは距離D3となる。距離D3は距離D2より小さく、距離D2は距離D1より小さい。従って、図4の(B)に示した状態にあるときの機械圧縮比は図4の(A)に示した状態にあるときの機械圧縮比よりも高く(大きく)なる。図4の(C)に示した状態にあるときの機械圧縮比は図4の(B)に示した状態にあるときの機械圧縮比よりも高く(大きく)なる。
このような構造を備える機械圧縮比変更機構15は、後述する電気制御装置からの機械圧縮比変更用アクチュエータ(例えば、ステッパモータ等の電動モータ15M)への指示信号(駆動信号)Drに応じて、シリンダブロック13とクランクケース11との距離を変更し、機関10の機械圧縮比を変更するようになっている。
機関10は、図1に示したように、燃料噴射弁(インジェクタ)16を備えている。燃料噴射弁16は、インテークマニホールド21の枝部に固定されている。燃料噴射弁16は燃料噴射指示信号に応答して、その噴射指示信号に含まれる指示噴射量の燃料を吸気ポート14b内に噴射するようになっている。図5に示したように、燃料噴射弁16は各気筒毎に設けられている。
機関10は、図5に示したように、燃焼室にガソリン混合気を供給するための吸気系統20と、燃焼室からの排気ガスを外部に放出するための排気系統30と、を含んでいる。
吸気系統20は、前述したインテークマニホールド21、吸気管(吸気ダクト)22、エアフィルタ23、スロットル弁24及びスロットル弁アクチュエータ24aを備えている。
インテークマニホールド21は、複数の枝部21aとサージタンク21bとからなっている。各枝部21aの一端は各吸気ポート14bに接続され、各枝部21aの他端はサージタンク21bに接続されている。吸気管22はサージタンク21bに接続されている。インテークマニホールド21及び吸気管22は、各吸気ポート14bとともに吸気通路を構成している。エアフィルタ23は吸気管22の端部に設けられている。スロットル弁24は吸気管22に回動可能に設けられ、回動することにより吸気管22が形成する吸気通路の開口断面積を変更するようになっている。スロットル弁アクチュエータ(スロットル弁駆動手段)24aは、DCモータからなり、電気制御装置50からの指示信号に応答してスロットル弁24を回転駆動するようになっている。
排気系統30は、エキゾーストマニホールド31、エキゾーストパイプ(排気管)32及び触媒(三元触媒)33を備えている。
エキゾーストマニホールド31は、各排気ポート14cに接続された複数の枝部31aと、それらの枝部31aが集合した集合部31bと、を備えている。エキゾーストパイプ32は、エキゾーストマニホールド31の集合部31bに接続されている。エキゾーストマニホールド31及びエキゾーストパイプ32は、各排気ポート14cとともに排気経路を構成している。なお、本明細書において、エキゾーストマニホールド31の集合部31bとエキゾーストパイプ32とが形成する排ガスを通過させるための経路を、便宜上「排気通路」とも称呼する。
更に、制御装置は、図5に示したように、熱線式エアフローメータ41、スロットルポジションセンサ42、機関回転速度センサ43、ストロークセンサ44、筒内圧センサ45、上流側空燃比センサ46、下流側空燃比センサ47、アクセル開度センサ48及びニュートラル・スイッチ49を備えている。
エアフローメータ41は、吸気管22内を流れる吸入空気の質量流量を検出し、その質量流量(機関10の単位時間あたりの吸入空気量)Gaを表す信号を出力するようになっている。
スロットルポジションセンサ42は、スロットル弁24の開度を検出し、スロットル弁開度TAを表す信号を出力するようになっている。
機関回転速度センサ43は、インテークカムシャフトが5°回転する毎に幅狭のパルスを有するとともにインテークカムシャフトが360°回転する毎に幅広のパルスを有する信号を出力するようになっている。機関回転速度センサ43から出力される信号は電気制御装置50により機関回転速度NEを表す信号に変換されるようになっている。更に、電気制御装置50は、機関回転速度センサ43及び図示しないカムポジションセンサからの信号に基いて、機関10のクランク角度(絶対クランク角)を取得するようになっている。
ストロークセンサ44は、クランクケース11(例えば、クランクケース11の上端)とシリンダブロック13(例えば、シリンダブロック13の下端)との距離を計測し、その距離STを表す信号を出力するようになっている。電気制御装置50は、距離STに基づいて機関10の機械圧縮比を推定することができる。
筒内圧センサ45は、燃焼室内の圧力(筒内圧)を検出し、その圧力Pを表す信号を出力するようになっている。
上流側空燃比センサ46は、エキゾーストマニホールド31の集合部31bと触媒33との間の位置においてエキゾーストマニホールド31及びエキゾーストパイプ32の何れか(即ち、排気通路)に配設されている。
下流側空燃比センサ47は、触媒33の下流においてエキゾーストパイプ32(主通路部)に配設されている。
上流側空燃比センサ46及び下流側空燃比センサ47は、上流側空燃比センサ46及び下流側空燃比センサ47がそれぞれ配設された排気通路内の部位を流れる排ガス(被検出ガス)の空燃比に応じた出力値をそれぞれ出力するようになっている。
アクセル開度センサ48は、運転者によって操作されるアクセルペダルApの操作量を検出し、アクセルペダルApの操作量Accpを表す信号を出力するようになっている。
ニュートラル・スイッチ49は、機関10が搭載された車両の変速機のシフト位置がニュートラル位置であるときにオン信号(Hi信号)を発生し、ニュートラル位置以外の位置であるときオフ信号(Lo信号)を発生するようになっている。
電気制御装置50は、CPU、ROM、RAM、電源が投入された状態でデータを格納するとともに格納したデータを電源が遮断されている間も保持するバックアップRAM、並びに、ADコンバータを含むインターフェース等からなる周知のマイクロコンピュータである。
電気制御装置50のインターフェースは、前記センサ類41〜49等と接続され、CPUにセンサ類41〜49等からの信号を供給するようになっている。更に、電気制御装置50のインターフェースは、CPUの指示に応じて、可変吸気タイミング装置14f、各気筒のイグナイタ14j、各気筒の燃料噴射弁16、スロットル弁アクチュエータ24a及び機械圧縮比変更機構15のアクチュエータ15M等に指示信号及び/又は駆動信号等を送出するようになっている。
(作動)
次に、上記のように構成された制御装置の作動について説明する。電気制御装置50のCPUは、図6に示した圧縮比制御ルーチンを所定時間の経過毎に繰り返し実行している。従って、所定のタイミングになると、CPUはステップ600から処理を開始してステップ610に進み、判定実施フラグ(異常判定実施フラグ)XCKの値が「0」であるか否かを判定する。
この判定実施フラグXCKは、その値が「1」であるとき後述する異常判定のための制御を実行すべきであることを示し、その値が「0」であるとき異常判定のための制御を実行する必要がないことを示す。なお、判定実施フラグXCKの値は、機関10が搭載された車両の図示しないイグニッション・キー・スイッチがオフからオンに変更されたときに実行されるイニシャルルーチンにおいて「0」に設定されるようになっている。
いま、機関10が始動された直後であり、且つ、筒内圧センサ45及び機械圧縮比変更機構15(アクチュエータ15M)の何れもが正常に作動していると仮定する。この場合、判定実施フラグXCKの値はイニシャルルーチンにおいて「0」に設定されている。従って、CPUはステップ610にて「Yes」と判定し、ステップ620に進む。CPUはステップ620にて「負荷KL及び機関回転速度NEと、目標機械圧縮比εtgtと、の関係」を予め定めた目標機械圧縮比テーブルMapεtgt(KL,NE)に、現時点の負荷KL及び現時点の機関回転速度NEを適用することにより、現時点の目標機械圧縮比εtgtを決定する。なお、CPUは負荷KLとしてアクセルペダル操作量Accpを採用する。
次に、CPUはステップ630に進み、現実の機械圧縮比が目標機械圧縮比εtgtに一致するように機械圧縮比変更用アクチュエータ15Mに指示信号Drを送出する。より具体的に述べると、CPUは目標機械圧縮比εtgtと指示信号Drとの関係を表す関数gを予め記憶している。従って、CPUは目標機械圧縮比εtgtと関数gとに基づいて指示信号Dr(=g(εtgt))を決定し、その指示信号Drをアクチュエータ15Mに送出する。その後、CPUはステップ695に進み、本ルーチンを一旦終了する。
更に、CPUは図7に示した圧縮比計算ルーチンを所定時間の経過毎に繰り返し実行している。従って、所定のタイミングになると、CPUはステップ700から処理を開始してステップ710に進み、筒内圧センサ45によって検出された筒内圧Pに基づいて実機械圧縮比εactを計算する。実機械圧縮比εactは、以下に述べる原理に従って計算される。
いま、図8の(A)に示したように、吸気弁14dが閉弁したとき(クランク角が圧縮上死点前INCであるとき)の筒内圧がPinc、圧縮上死点よりも前であって圧縮上死点前INCよりも後の所定の時点(クランク角が圧縮上死点前aであるとき)の筒内圧がPaであるとする。更に、図8の(B)に示したように、吸気弁14dが閉弁したときから圧縮上死点までのピストン13bの行程容積(ピストン13bが移動する空間の体積)がVinc*、クランク角が圧縮上死点前aであるときから圧縮上死点までのピストン13bの行程容積がVa*、圧縮上死点TDCにおける燃焼室容積がVcであるとする。なお、図8の(C)は圧縮上死点前INC及び圧縮上死点前aを圧縮上死点TDC及び吸気下死点BDCに対して模式的に表した図である。
このとき、吸気弁14dが閉弁したときの燃焼室容積Vinc及びクランク角が圧縮上死点前aであるときの燃焼室容積Vaは、それぞれ下記の(1)式及び(2)式により求められる。
よく知られるように、吸気弁14dが閉弁して燃焼室内のガスが圧縮され始めてからの圧縮行程は断熱圧縮過程であると考えることができるから、P・V
κ(Pは筒内圧、Vは燃焼室容積、κはガスの比熱比)は圧縮行程中一定である。従って、下記(3)式が成立する。
(1)式乃至(3)式から下記の(4)式が得られる。
この(4)式を変形すると(5)式が得られ、(5)式を変形すると(6)式が得られる。CPUは、この(6)式に従って、圧縮上死点における燃焼室容積Vcを、筒内圧(Pa、Pinc)と燃焼室容積(Va*、Vinc*)とに基づいて取得する。なお、筒内圧Pa及びPincは筒内圧センサ45の出力に基づいて取得される。燃焼室容積Va*及びVinc*は既知である。
一方、下記の(7)式は機械圧縮比の定義式である。(7)式においてVd*は、吸気下死点BDCから圧縮上死点TDCまでのピストン13bの行程容積である。このVd*も既知である。
そこで、CPUは(6)式により求めた燃焼室容積Vcと既知である行程容積Vd*とを(7)式に代入することにより、実機械圧縮比εactを算出する。
次に、CPUは図7のステップ720に進み、機械圧縮比変更用アクチュエータ15Mに送出されている指示信号(指令値)Drと関数fとに基づいて「予想機械圧縮比εest」を取得する(εest=f(Dr))。関数fは上記関数gの逆関数である。即ち、予想機械圧縮比εestは、機械圧縮比変更指示量である指示信号Drから推定される機械圧縮比である。その後、CPUはステップ795に進み、本ルーチンを一旦終了する。
更に、CPUは図9に示した圧縮比ガード処理ルーチンを所定時間の経過毎に繰り返し実行している。従って、所定のタイミングになると、CPUはステップ900から処理を開始してステップ905に進み、「図7のステップ710にて取得されている実機械圧縮比εact」から「図7のステップ720にて取得されている予想機械圧縮比εest」を減じた値が所定の閾値Athよりも大きいか否かを判定する。閾値Athは正の値である。
前述の仮定に従うと、筒内圧センサ45及び機械圧縮比変更機構15(アクチュエータ15M)の何れもが正常に作動している。この場合、実機械圧縮比εactと予想機械圧縮比εestとは略一致する。即ち、実機械圧縮比εactから予想機械圧縮比εestを減じた値は閾値Ath以下である。従って、CPUはステップ905にて「No」と判定してステップ910に進み、予想機械圧縮比εestから実機械圧縮比εactを減じた値が閾値Athよりも大きいか否かを判定する。
前述の仮定に従えば、予想機械圧縮比εestから実機械圧縮比εactを減じた値も閾値Ath以下である。従って、CPUはステップ910にて「No」と判定してステップ915に進み、制御用機械圧縮比εcontに実機械圧縮比εactを格納する。即ち、CPUは、実機械圧縮比εactを制御用機械圧縮比εcontとして採用する。
次に、CPUはステップ920に進み、仮異常フラグXkariの値を「0」に設定する。この仮異常フラグXkariは、その値が「1」であるとき「筒内圧センサ45及び機械圧縮比変更機構15のアクチュエータ15Mの何れか」に何らかの異常が発生していることを示す。仮異常フラグXkariは、その値が「0」であるとき、それらの何れにも異常が発生していないことを示す。なお、仮異常フラグXkariの値は、前述したイニシャルルーチンにおいて「0」に設定されるようになっている。その後、CPUはステップ995に進んで本ルーチンを一旦終了する。
加えて、CPUは図10に示した異常判定開始ルーチンを所定時間の経過毎に繰り返し実行している。従って、所定のタイミングになると、CPUはステップ1000から処理を開始してステップ1010に進み、仮異常フラグXkariの値が「1」であるか否かを判定する。現時点において仮異常フラグXkariの値は先のステップ920にて「0」に設定されている。従って、CPUはステップ1010にて「No」と判定し、ステップ1095に進んで本ルーチンを一旦終了する。
更に、CPUは図11に示した異常判定実行ルーチンを所定時間の経過毎に繰り返し実行している。従って、所定のタイミングになると、CPUはステップ1100から処理を開始してステップ1110に進み、現時点が「判定実施フラグXCKの値が「0」から「1」に変化した時点から所定時間が経過したタイミング」であるか否かを判定する。この所定時間は、目標機械圧縮比εtgtが微小量Δεだけ増大された後に現実の機械圧縮比がその増大された目標機械圧縮比εtgtに一致するのに必要な時間以上の時間に設定されている。現時点において、図10のステップ1060の処理は実行されていないので、判定実施フラグXCKの値は「0」に維持されている。従って、CPUはステップ1110にて「No」と判定し、ステップ1195に直接進んで本ルーチンを一旦終了する。
更に、CPUは図12に示した機関制御ルーチンを所定時間の経過毎に繰り返し実行している。従って、所定のタイミングになると、CPUはステップ1200から処理を開始してステップ1210に進み、排ガス温度Tgasを推定する。具体的に述べると、CPUは、負荷KL(アクセルペダル操作量Accp)と制御用機械圧縮比εcontと排ガス温度Tgasとの関係を規定するテーブルに、実際の負荷KLと現時点における制御用機械圧縮比εcontとを適用することにより、現時点の排ガス温度Tgasを推定する。このテーブルによれば、負荷KLが大きいほど排ガス温度Tgasは高くなるように求められる。更に、このテーブルによれば、制御用機械圧縮比εcontが高くなるほど排ガス温度Tgasは低くなるように求められる。
次に、CPUはステップ1220に進み、下記(8)式に従って触媒33の温度(触媒温、触媒床温)TempCCROを更新・決定する。(8)式においてγは0より大きく1より小さい所定の定数、TempCCRO(k)は更新される前の触媒温TempCCRO、TempCCRO(k+1)は更新後の触媒温TempCCROである。
次に、CPUはステップ1230に進んで触媒過熱防止増量値KOTPを決定する。具体的に述べると、CPUは、触媒温TempCCROと触媒過熱防止増量値KOTPとの関係を規定するテーブルに、上記ステップ1220にて推定された触媒温TempCCROを適用することにより、現時点の触媒過熱防止増量値KOTPを決定する。このテーブルによれば、推定された触媒温TempCCROが閾値温度(高温限界温度)Tth以下の領域において、触媒過熱防止増量値KOTPは1.0に設定される。更に、このテーブルによれば、推定された触媒温TempCCROが閾値温度Tthより大きい領域において、触媒過熱防止増量値KOTPは推定された触媒温TempCCROが高いほど1.0より大きい値をとりながら大きくなるように設定される。
次に、CPUはステップ1240に進み、下記(9)式に従って燃料噴射量Fiを決定する。(9)式において、Mcは吸気行程を迎える気筒(燃料噴射気筒)に吸入される吸入空気量(筒内吸入空気量)である。筒内吸入空気量Mcは、エアフローメータ41により計測された吸入空気量Gaと、機関回転速度センサ43からの出力信号により得られる機関回転速度NEと、テーブルMapMc(Ga,NE)と、に基づいて算出される。stoichは理論空燃比(例えば、14.6)である。
この結果、機関10に供給される混合気の空燃比は、推定された触媒温TempCCROが閾値温度Tth以下の領域において理論空燃比に一致させられる。更に、機関10に供給される燃料の量は、推定された触媒温TempCCROが閾値温度Tthより大きい領域において触媒温TempCCROが高いほど大きくなる。換言すると、機関10に供給される混合気の空燃比は、推定された触媒温TempCCROが閾値温度Tthより大きい領域において触媒温TempCCROが高いほど理論空燃比に対してよりリッチ側の空燃比に制御される。
次に、CPUはステップ1250に進み、点火時期Aigを決定する。具体的には、CPUは、筒内吸入空気量Mc、機関回転速度NE及び制御用機械圧縮比εcontと、点火時期Aigと、の関係を規定する点火時期テーブルMapAig(Mc, NE, εcont)に、実際の筒内吸入空気量Mc、実際の機関回転速度NE及び現時点における制御用機械圧縮比εcontを適用することにより、点火時期Aigを決定する。その後、CPUはステップ1295に進み、本ルーチンを一旦終了する。
そして、CPUは図示しないクランク角同期ルーチンにおいて、燃料噴射気筒のクランク角が所定クランク角に達したときに燃料噴射量Fiの燃料をその燃料噴射気筒に対して備えられている燃料噴射弁16から噴射する。更に、CPUは、燃料噴射気筒のクランク角が点火時期Aigに一致したとき、その燃料噴射気筒の点火プラグ14iから火花を発生させる。このように、CPUは制御用機械圧縮比εcontを、燃料噴射量制御及び点火時期制御等の機関の制御に使用する。
その後、何らかの理由により、「筒内圧センサ45が検出する筒内圧Pに基づいて取得される実機械圧縮比εact」から「指示信号Drに基づいて取得される予想機械圧縮比εest」を減じた値(εact−εest)が、所定の閾値Athよりも大きくなったと仮定する。
この場合においても、CPUは図7に示したルーチンを実行することにより、筒内圧センサ45によって検出された筒内圧Pに基づいて実機械圧縮比εactを取得し、且つ、機械圧縮比変更指示量である指示信号Drに基づいて予想機械圧縮比εestを取得する。
更に、この場合、CPUは図9のステップ900に続くステップ905に進んだとき、そのステップ905において「Yes」と判定してステップ925に進み、制御用機械圧縮比εcontに「予想機械圧縮比εestに第一所定値としての値Athを加えた値(εest+Ath)」を格納する。即ち、CPUは、値(εest+Ath)を制御用機械圧縮比εcontとして採用する。この結果、図12に示したルーチンが実行されることにより、燃料噴射量及び点火時期は制御用機械圧縮比εcontである値(εest+Ath)に基づいて変更される。
次に、CPUは図9のステップ930に進んで仮異常フラグXkariの値を「1」に設定し、ステップ995に進んで本ルーチンを一旦終了する。
この状態において、CPUが図10に示したルーチンの処理をステップ1000から開始すると、CPUはステップ1010にて「Yes」と判定し、ステップ1020にて車両の運転状態が「ニュートラル状態であるか否か(ニュートラル・スイッチ49からの信号がオン信号であるか否か)」を判定する。即ち、CPUはステップ1020にて、現在の車両の運転状態が、機関10の運転状態の変更が車両の走行に影響を及ぼさない運転状態であるか否かを判定する。
このとき、車両の運転状態がニュートラル状態でなければ、CPUはステップ1020にて「No」と判定し、ステップ1095に進んで本ルーチンを一旦終了する。これに対し、車両の運転状態がニュートラル状態であると、CPUはステップ1020にて「Yes」と判定してステップ1030に進み、判定実施フラグXCKの値が「0」であるか否かを判定する。
判定実施フラグXCKの値は機関10の始動直後から「0」のままであるから、CPUはステップ1030にて「Yes」と判定し、以下に述べるステップ1040乃至ステップ1060の処理を順に行い、ステップ1095に進んで本ルーチンを一旦終了する。なお、ステップ1030にて「No」と判定される場合、CPUはステップ1030からステップ1095に直接進んで本ルーチンを一旦終了する。
ステップ1040:CPUは、現時点の実機械圧縮比εactを変更前実機械圧縮比εactoldとして格納する。
ステップ1050:CPUは、現時点の予想機械圧縮比εestを変更前予想機械圧縮比εestoldとして格納する。
ステップ1060:CPUは、判定実施フラグXCKの値を「1」に設定する。
このように、筒内圧Pに基づいて取得される実機械圧縮比εactが「予想機械圧縮比εestに閾値Athを加えた値」よりも大きくなると、制御用機械圧縮比εcontは「予想機械圧縮比εestに第一所定値Athを加えた値」に設定される(図9のステップ925を参照。)。更に、この状態において、車両の運転状態がニュートラル状態であると、判定実施フラグXCKの値が「1」に設定される(図10のステップ1060を参照。)。
この状態において、CPUが図6のステップ600から処理を開始してステップ610に進むと、CPUはそのステップ610にて「No」と判定する。そして、CPUはステップ640に進み、判定実施フラグXCKの値が「0」から「1」に変更される直前の目標機械圧縮比εtgtに微小量Δεを加えた値を新たな目標機械圧縮比εtgtとして格納する。その後、CPUはステップ630に進み、現実の機械圧縮比が目標機械圧縮比εtgtに一致するように機械圧縮比変更用アクチュエータ15Mに指示信号Drを送出する。
また、現時点は、判定実施フラグXCKの値が「0」から「1」に変更された時点の直後である。従って、CPUが図11のステップ1110に進んだとき、CPUはそのステップ1110にて「No」と判定し、ステップ1195に直ちに進んで本ルーチンを一旦終了する。
その後、判定実施フラグXCKの値が「0」から「1」に変更されてから所定時間が経過した時点において、CPUが図11のステップ1100から処理を開始してステップ1110に進むと、CPUはそのステップ1110にて「Yes」と判定し、後述するステップ1120以降の異常判定処理を実施する。
ところで、指示信号Drが実際の機械圧縮比を微小量Δεだけ増大させるように変更されると、図7のステップ720にて求められる「現時点の予想機械圧縮比εest」と図10のステップ1050にて格納された「指示信号Dr変更直前の予想機械圧縮比(変更前予想機械圧縮比)εestold」との差(εest−εestold)は、所定閾値Cth(Cth>0)よりも大きくなる。しかしながら、機械圧縮比変更用アクチュエータ15Mが故障していることにより作動しないと、現実の筒内圧のクランク角に対する変化の軌跡は変化しない。従って、図7のステップ710にて求められる「現時点の実機械圧縮比εact」と図10のステップ1040にて格納された「指示信号Dr変更直前の実機械圧縮比(変更前実機械圧縮比)εactold」との差の絶対値|εact−εactold|は略0であって、所定閾値Dth(Dth>0)よりも小さくなる。
そこで、CPUはステップ1120にて、差(εest−εestold)が閾値Cthよりも大きく、且つ、差(εact−εactold)が閾値−Dthから閾値Dthの間にあるか否かを判定する。そして、このステップ1120における条件が満足されると、CPUはそのステップ1120にて「Yes」と判定し、以下に述べるステップ1130乃至ステップ1150の処理を行う。その後、CPUはステップ1195に進んで本ルーチンを一旦終了する。
ステップ1130:CPUは、アクチュエータ異常フラグXACTFailの値を「1」に設定する。
ステップ1140:CPUは、筒内圧センサ異常フラグXCPSFailの値を「0」に設定する。
ステップ1150:CPUは、判定実施フラグXCKの値を「0」に設定する。
なお、CPUは図示しないイニシャルルーチンにおいて、これらのフラグの値を総て「0」に設定するようになっている。
このように、CPUは、実機械圧縮比εactから予想機械圧縮比εestを減じた値が閾値Athよりも大きくなった場合、仮異常フラグXkariの値を「1」に設定する。そして、CPUは、仮異常フラグXkariの値が「1」に設定されている場合であって車両の運転状態がニュートラル状態になると、目標機械圧縮比εtgt及び指示信号Drを一時的に変化(微小量Δεだけ増大)させる。CPUは、その結果として実機械圧縮比εactが変化しない場合、機械圧縮比変更用アクチュエータ15Mが故障している(筒内圧センサ45は異常でない)と判定し、その旨を示すようにアクチュエータ異常フラグXACTFailの値を「1」に設定する。
一方、CPUがステップ1120の処理を実行する際、そのステップ1120における条件が満足されなければ、CPUはステップ1120にて「No」と判定してステップ1160に進み、差(εest−εestold)が閾値Cthよりも大きく、且つ、差(εact−εactold)が閾値−Dth以下であるか否かを判定する。
前述したように、現時点は指示信号Drが実際の機械圧縮比を微小量Δεだけ増大させるように変化させられてから所定時間が経過した直後である。よって、差(εest−εestold)は、所定閾値Cthよりも大きくなる。このとき、筒内圧センサ45が正常であれば、差(εact−εactold)は正の値となるはずである。換言すると、差(εact−εactold)が閾値−Dth以下であるということは、筒内圧センサ45に異常が発生していると考えることができる。
そこで、CPUはステップ1160の条件が満たされる場合、ステップ1160にて「Yes」と判定し、以下に述べるステップ1170、ステップ1180及びステップ1150の処理を行い、その後、ステップ1195に進んで本ルーチンを一旦終了する。
ステップ1170:CPUは、アクチュエータ異常フラグXACTFailの値を「0」に設定する。
ステップ1180:CPUは、筒内圧センサ異常フラグXCPSFailの値を「1」に設定する。
ステップ1150:CPUは、判定実施フラグXCKの値を「0」に設定する。
このように、CPUは、実機械圧縮比εactから予想機械圧縮比εestを減じた値が閾値Athよりも大きくなった場合、仮異常フラグXkariの値を「1」に設定する。そして、CPUは、仮異常フラグXkariの値が「1」に設定されている場合であって車両の運転状態がニュートラル状態になると、目標機械圧縮比εtgt及び指示信号Drを一時的に変化(微小量Δεだけ増大)させる。CPUは、その結果として、実機械圧縮比εactが指示信号Drの変化によって期待される方向(この場合、増大方向)と逆方向の変化(この場合、減少方向の変化)を示した場合、筒内圧センサ45が異常である(機械圧縮比変更用アクチュエータ15Mは故障していない)と判定し、その旨を示すように筒内圧センサ異常フラグXCPSFailの値を「1」に設定する。
なお、ステップ1160の条件が満たされない場合、CPUはステップ1160にて「No」と判定してステップ1190に進み、仮異常フラグXkariの値を「0」に設定する。その後、CPUは、ステップ1150にて判定実施フラグXCKの値を「0」に設定した後、ステップ1195に進んで本ルーチンを一旦終了する。
次に、何らかの理由により、「指示信号Drに基づいて取得される予想機械圧縮比εest」から「筒内圧センサ45が検出する筒内圧Pに基づいて取得される実機械圧縮比εact」を減じた値(εest−εact)が、所定の閾値Athよりも大きくなった場合について説明する。
この場合においても、CPUは図7に示したルーチンを実行することにより、筒内圧センサ45によって検出された筒内圧Pに基づいて実機械圧縮比εactを取得し、且つ、機械圧縮比変更指示量である指示信号Drに基づいて予想機械圧縮比εestを取得する。
更に、この場合、CPUは図9のステップ900に続くステップ905に進んだとき、そのステップ905において「No」と判定し、続くステップ910にて「Yes」と判定してステップ935に進む。そして、CPUはステップ935にて、制御用機械圧縮比εcontに「予想機械圧縮比εestから第二所定値としての値Athを減じた値(εest−Ath)」を格納する。即ち、CPUは、値(εest−Ath)を制御用機械圧縮比εcontとして採用する。その後、CPUはステップ930に進んで仮異常フラグXkariの値を「1」に設定し、ステップ995に進んで本ルーチンを一旦終了する。
この結果、図12に示したルーチンが実行されることにより、燃料噴射量及び点火時期は制御用機械圧縮比εcontである値(εest−Ath)に基づいて変更される。更に、車両の運転状態がニュートラル状態になると、図10のステップ1060にて判定実施フラグXCKの値が「1」に設定され、図6のステップ640及びステップ630の処理によって指示信号Drが変化させられる。そして、CPUは、指示信号Drが一時的に変更されたときに実機械圧縮比εactが変化しない場合、機械圧縮比変更用アクチュエータ15Mが故障している(筒内圧センサ45は異常でない)と判定し、その旨を示すようにアクチュエータ異常フラグXACTFailの値を「1」に設定する(図11のステップ1120乃至ステップ1140を参照。)。
また、CPUは、指示信号Drが一時的に変更されたときに、実機械圧縮比εactが「指示信号Drの変化によって期待される向きと逆向きの変化」を示した場合、筒内圧センサ45が異常である(機械圧縮比変更用アクチュエータ15Mは故障していない)と判定し、その旨を示すように筒内圧センサ異常フラグXCPSFailの値を「1」に設定する(図11のステップ1160乃至ステップ1180を参照。)。
なお、CPUは図示しない筒内圧センサ断線判定ルーチンを所定時間毎に実行している。この断線判定ルーチンにおいて、CPUは「筒内圧センサ45によって検出される筒内圧P」が所定時間以上に渡って変化しないとき、筒内圧センサ異常フラグXCPSFailの値を「1」に設定するようになっている。そして、CPUは筒内圧センサ異常フラグXCPSFailの値が「1」であるとき、図11に示したルーチンの実行を中止するようになっている。
以上、説明したように、この制御装置は、
機関10の運転状態に応じて目標機械圧縮比εtgtを決定するとともに機関10の機械圧縮比が「決定された目標機械圧縮比εtgt」に一致するように機械圧縮比変更機構15(アクチュエータ15M)に指示信号Drを送出する指示手段(図6のステップ620及び630を参照。)と、
筒内圧センサ45と、
筒内圧センサ45により検出された筒内圧Pに基づいて機関10の機械圧縮比を実機械圧縮比εactとして取得する実機械圧縮比取得手段(図7のステップ710を参照。)と、
指示信号Drに基づいて機関10の機械圧縮比を予想機械圧縮比εestとして取得する予想機械圧縮比取得手段(図7のステップ720を参照。)と、
前記実機械圧縮比εactと前記予想機械圧縮比εestとの差の大きさが所定閾値Athよりも小さいとき前記実機械圧縮比εactを制御用機械圧縮比εcontとして取得し(図9のステップ905乃至ステップ915を参照。)、前記実機械圧縮比εactと前記予想機械圧縮比εestとの差の大きさが前記所定閾値Athよりも大きいとき「前記実機械圧縮比εactと前記予想機械圧縮比εestとの間の所定機械圧縮比」である「εest+Ath(εact−εest>Athの場合)、又は、εest−Ath(εest−εact>Athの場合)」を制御用機械圧縮比εcontとして取得する制御用機械圧縮比取得手段(図9のステップ925及びステップ935を参照。)と、
前記制御用機械圧縮比εcontに基づいて機関10を制御する制御手段(図12のルーチンを参照。)と、
を備えている。
従って、筒内圧センサ45の異常等に起因して実機械圧縮比εactが真の機械圧縮比と乖離した場合であっても、機関10は「真の機械圧縮比に近い制御用機械圧縮比」に基づいて制御される。この結果、機関10の制御を適正に行うことができる。
なお、上記予想機械圧縮比取得手段(図7のステップ720)は、例えば、機械圧縮比変更機構15の電動モータ15Mの回転量に基づいて予想機械圧縮比εestを取得するように構成されてもよい。即ち、上記予想機械圧縮比取得手段(図7のステップ720)は、「指示信号Drに基づく機械圧縮比変更機構の動作量に関係する量(例えば、電動モータの回転量)」に基づいて予想機械圧縮比εestを取得するように構成されてもよい。
更に、上記制御装置において、
前記指示手段は、前記実機械圧縮比εactと前記予想機械圧縮比εestとの差の大きさが前記所定閾値Athよりも大きいとき「目標機械圧縮比εtgtを決定する因子である機関10の運転状態が変化していない状態において」、目標機械圧縮比εtgtを一時的に微小量Δεだけ変更する異常判定用目標圧縮比設定手段(図9のステップ930、図10のルーチン、図6のステップ610及びステップ640を参照。)を含み、
更に、
前記異常判定用目標圧縮比設定手段により前記目標圧縮比が一時的に変更されたとき(図6のステップ640と判定実施フラグXCKの値とを参照。)、前記実機械圧縮比εactと前記予想機械圧縮比εestとに基づいて前記機械圧縮比変更機構15の異常の有無を判定する圧縮比変更機構異常判定手段(図11のステップ1120を参照。)を備える。
これによれば、筒内圧センサ45の検出する筒内圧Pを用いて、機械圧縮比変更機構15(アクチュエータ15M)の異常を検出することができる。
次に、上記制御装置の変形例について説明する。
(第一変形例)
第一変形例は、筒内圧センサ45によって検出される筒内圧Pに基づいて、機械圧縮比変更機構15のアクチュエータ15M以外のアクチュエータ(例えば、可変吸気タイミング装置14f及びスロットル弁アクチュエータ24a等)の異常を検出する手段を備える。以下、図13に示したルーチンを参照しながら説明する。
第一変形例のCPUは、上記実施形態のCPUが実行するルーチンに加え、図13に示した「他のアクチュエータ異常判定ルーチン」を所定時間の経過毎に繰り返し実行している。従って、所定のタイミングになると、CPUはステップ1300から処理を開始してステップ1305に進み、仮異常フラグXkariの値が「0」であるか否かを判定する。CPUは仮異常フラグXkariの値が「0」であればステップ1310に進み、「0」でなければステップ1395に直接進んで本ルーチンを一旦終了する。
CPUはステップ1310において、判定実施フラグXCKの値が「0」であるか否かを判定する。CPUは判定実施フラグXCKの値が「0」であればステップ1315に進み、「0」でなければステップ1395に直接進んで本ルーチンを一旦終了する。
CPUはステップ1315において、アクチュエータ異常フラグXACTFailの値が「0」であるか否かを判定する。CPUはアクチュエータ異常フラグXACTFailの値が「0」であればステップ1320に進み、「0」でなければステップ1395に直接進んで本ルーチンを一旦終了する。
CPUはステップ1320において、筒内圧センサ異常フラグXCPSFailの値が「0」であるか否かを判定する。CPUは筒内圧センサ異常フラグXCPSFailの値が「0」であればステップ1325に進み、「0」でなければステップ1395に直接進んで本ルーチンを一旦終了する。
CPUはステップ1325において、車両の運転状態が「ニュートラル状態であるか否か(ニュートラル・スイッチ49からの信号がオン信号であるか否か)」を判定する。CPUは、車両の運転状態がニュートラル状態であればステップ1330に進み、ニュートラル状態でなければステップ1395に直接進んで本ルーチンを一旦終了する。
このように、CPUは、仮異常フラグXkari、判定実施フラグXCK、アクチュエータ異常フラグXACTFail、及び、筒内圧センサ異常フラグXCPSFailの総ての値が「0」であり、且つ、車両の運転状態がニュートラル状態であるとき、ステップ1330以降に進んで「他のアクチュエータの異常判定」を行う。即ち、CPUは、筒内圧センサ45及び機械圧縮比変更用アクチュエータ15Mが共に正常であり、車両の運転状態が「機関10の運転状態の変更が車両の走行に影響を及ぼさない運転状態である」場合に、以下に述べるアクチュエータNの異常判定制御を行う。
いま、CPUがステップ1330に進んだと仮定する。この場合、CPUはステップ1330において「異常判定を行うべきアクチュエータN」を選択する。この「N」にはアクチュエータのそれぞれに対して固有の値が割り振られる。
本例において、異常判定を行うべきアクチュエータは、可変吸気タイミング装置14f及びスロットル弁アクチュエータ24aである。そこで、CPUは本ルーチンを実行する毎に、可変吸気タイミング装置14f及びスロットル弁アクチュエータ24aのうちの一方を「異常判定を行うべきアクチュエータN」として交互に選択する。
いま、「異常判定を行うべきアクチュエータN」として「可変吸気タイミング装置14f」が選択されたと仮定する。この場合、CPUはステップ1335にて「選択したアクチュエータNである可変吸気タイミング装置14f」を微操作する。即ち、CPUは、可変吸気タイミング装置14fに対して「吸気弁進角角度VVTを、現時点の吸気弁進角角度VVT0から微小角度ΔVVTだけ進角(又は遅角)させる指示信号」を送出する。
次にCPUはステップ1340に進み、ステップ1335の処理(選択したアクチュエータNの微操作開始時)から所定時間が経過したか否か監視する。この所定時間は、選択したアクチュエータNの微操作を行う指示信号が送出されてから、選択したアクチュエータNが「その指示信号に応じた動作」を実際に完了するまでに必要とされる時間(又はその時間に僅かな時間を加えた時間)に設定されている。
ステップ1335の処理から所定時間が経過すると、CPUはステップ1340にて「Yes」と判定してステップ1345に進み、筒内圧センサ45によって検出される筒内圧Pが「予定された変化(筒内圧Pの予定された変化)」と一致しているか否かを判定する。「予定された変化」とは、ステップ1335において「選択されたアクチュエータNを微操作した結果」として生じる「筒内圧Pの変化」である。
より具体的に述べると、現時点においては、「選択したアクチュエータNとしての可変吸気タイミング装置14f」に対して「吸気弁進角角度VVTを吸気弁進角角度VVT0+ΔVVTに一致させる指示信号」が送出されている。従って、可変吸気タイミング装置14fが正常に作動しているならば、「吸気弁進角角度VVT0+ΔVVT」により定まる吸気弁開弁時期にて吸気弁14dが開弁する。よって、筒内圧Pはそのタイミングにて吸気管圧と略一致するはずである。更に、可変吸気タイミング装置14fが正常に作動しているならば、「吸気弁進角角度VVT0+ΔVVT」により定まる吸気弁閉弁時期にて吸気弁14dが閉弁し、気筒内の空気が圧縮され始める。よって、筒内圧Pはそのタイミングから急激に上昇を開始するはずである。これらの「吸気弁開弁時期における筒内圧Pの吸気管圧への一致」及び「吸気弁閉弁時期以降における筒内圧Pの急激な上昇」が、この場合の「筒内圧Pの予定された変化」である。
従って、CPUはステップ1345において、筒内圧センサ45によって検出される筒内圧Pが、「吸気弁進角角度VVT0+ΔVVTにより定まる吸気弁開弁時期にて吸気管圧に略一致し」且つ「吸気弁進角角度VVT0+ΔVVTにより定まる吸気弁閉弁時期直後において筒内圧Pが急激に上昇を開始した」か、否かを判定する。
そして、筒内圧センサ45によって検出される筒内圧Pが、そのような「筒内圧Pの予定された変化」を示しているとき、CPUはステップ1345にて「Yes」と判定してステップ1350に進み、「選択したアクチュエータN」の異常有無を示すフラグXACTfail(N)の値を「0」に設定する。このように、フラグXACTfail(N)は、その値が「0」であるとき「アクチュエータNは正常である旨」を示す。その後、CPUはステップ1395に進み、本ルーチンを一旦終了する。
一方、筒内圧センサ45によって検出される筒内圧Pが「筒内圧Pの予定された変化」を示していないとき、CPUはステップ1345にて「No」と判定してステップ1355に進み、フラグXACTfail(N)の値を「1」に設定する。このように、フラグXACTfail(N)は、その値が「1」であるとき「アクチュエータNは異常である旨」を示す。その後、CPUはステップ1395に進み、本ルーチンを一旦終了する。
次に、CPUが本ルーチンの処理を再開してステップ1330に進んだ場合、CPUは「異常判定を行うべきアクチュエータN」として「スロットル弁アクチュエータ24a」を選択する。
そして、CPUはステップ1335にて「選択したアクチュエータNであるスロットル弁アクチュエータ24a」を微操作する。即ち、CPUは、スロットル弁アクチュエータ24aに対して「スロットル弁開度TAを、現時点のスロットル弁開度TA0から微小開度ΔTAだけ増大させる指示信号」を送出する。
その後、ステップ1335の処理から所定時間が経過すると、CPUはステップ1340にて「Yes」と判定してステップ1345に進み、筒内圧センサ45によって検出される筒内圧Pが「予定された変化」と一致しているか否かを判定する。この場合の「予定された変化」は、スロットル弁24の開度が微小開度ΔTAだけ増大されることによって吸入空気量が増大し、その結果、圧縮行程開始時点(吸気弁閉弁時期)から点火時期までの所定(任意)のクランク角における筒内圧Pが、ステップ1335の処理を実行する直前の「同所定のクランク角の筒内圧P」よりも増大することである。
そして、筒内圧センサ45によって検出される筒内圧Pが「筒内圧Pの予定された変化」を示しているとき、CPUはステップ1345にて「Yes」と判定してステップ1350に進み、「選択したアクチュエータNであるスロットル弁アクチュエータ24a」の異常有無を示すフラグXACTfail(N)の値を「0」に設定する。また、筒内圧センサ45によって検出される筒内圧Pが「筒内圧Pの予定された変化」を示していないとき、CPUはスロットル弁アクチュエータ24aが異常であると判断し(ステップ1345にて「No」と判定し)、ステップ1355に進んでフラグXACTfail(N)の値を「1」に設定する。その後、CPUはステップ1395に進んで本ルーチンを一旦終了する。
以上、説明したように、第一変形例に係る制御装置によれば、筒内圧センサ45によって検出される筒内圧Pに基づいて、「機械圧縮比変更機構15のアクチュエータ15M」以外のアクチュエータ、即ち、可変吸気タイミング装置14f及びスロットル弁アクチュエータ24aの異常が容易に検出され得る。
(第二変形例)
第二変形例が適用される内燃機関は、上記機関10と同じ構成を有するとともに、可変排気タイミング装置、弁付きHC吸着装置及び弁付き排熱回収装置を更に備えている。第二変形例は、これら「可変排気タイミング装置、弁付きHC吸着装置及び弁付き排熱回収装置」の異常を「筒内圧センサ45によって検出される筒内圧P」に基づいて検出する手段を備える。
可変排気タイミング装置は、可変吸気タイミング装置14fと同様の構造を備えている。即ち、可変排気タイミング装置は、図示しない作動油供給制御弁及び図示しない油圧ポンプを備え、これらによって作動油が給排されることにより、エキゾーストカムシャフト14hに対するエキゾーストカムの位相を所望の量だけ進角及び遅角させることができるようになっている。なお、本例において、排気弁14gが開弁している期間(開弁クランク角度幅)は一定である。従って、可変排気タイミング装置により排気弁開弁時期が所定角度だけ進角又は遅角させられると、排気弁14gの閉弁時期も同所定角度だけ進角又は遅角させられる。
弁付きHC吸着装置は、例えば特開2007−327383号公報に記載されているように、炭化水素を吸着可能な吸着材(HC吸着材)と、電気式開閉弁と、を備える。HC吸着材は排気通路に配設される。
電気式開閉弁は、指示信号に応答して閉弁したとき、排気通路を流れる排ガスの略全部を吸着材に流入させるようになっている。電気式開閉弁は、指示信号に応答して開弁したとき、排気通路を流れる排ガスの略全部を吸着材に流入させないようになっている。
従って、電気式開閉弁が閉弁すると内燃機関の排気通路内のガスの圧力(背圧)が上昇する。その結果、「電気式開閉弁が閉弁している場合の排気弁開弁時期における筒内圧」は「電気式開閉弁が開弁している場合の排気弁開弁時期における筒内圧」よりも大きくなる。なお、弁付きHC吸着装置は、弁の開閉により背圧が変化するものであればよく、例えば、特開2000−54829号公報及び特開平10−331625号公報等に記載されているような構造を備えていてもよい。
弁付き排熱回収装置は、例えば、特開2006−299858号公報及び特開2006−291906号公報等に記載されているように、機関の排ガスを通過させる第1の排気通路に並列に接続された第2の排気通路に配設された排熱回収器と、電気式切換弁と、を備える。この第1の排気通路及び第2の排気通路の分岐位置は、上記弁付きHC吸着装置よりも下流である。弁付き排熱回収器により回収された熱は、例えば、機関冷間時において機関の冷却水温を加熱するために使用される。
この電気式切換弁は、指示信号に応答して「前記排ガスが前記第1の排気通路及び前記第2の排気通路のうちの何れか一方」を通流するように、排気通路を切り換える。従って、排ガスが第2の排気通路を通過させられているときの背圧は、排ガスが第1の排気通路を通過させられているときの背圧よりも大きくなる。
その結果、「排ガスが第2の排気通路及び排熱回収器を通過させられている場合の排気弁開弁時期における筒内圧P」は「排ガスが第1の排気通路を通過させられている場合の排気弁開弁時期における筒内圧P」よりも大きくなる。
第二変形例のCPUは、第一変形例のCPUと同様、上記実施形態のCPUが実行するルーチンに加え、図13に示した「他のアクチュエータ異常判定ルーチン」を所定時間の経過毎に繰り返し実行している。第二変形例のCPUは、図13に示したルーチンを実行する毎に、可変排気タイミング装置、弁付きHC吸着装置及び弁付き排熱回収装置のうちの一つを「異常判定を行うべきアクチュエータN」として所定の順序に従って選択する。
いま、「異常判定を行うべきアクチュエータN」として「可変排気タイミング装置」が選択されたと仮定する。この場合、CPUはステップ1335にて「選択したアクチュエータNである可変排気タイミング装置」を微操作する。即ち、CPUは、可変排気タイミング装置に対して「排気弁進角角度を、現時点の排気弁進角角度から微小角度ΔVETだけ進角(又は遅角)させる指示信号」を送出する。なお、排気弁進角角度とは、可変排気タイミング装置により排気弁開弁時期が最も遅角側にある場合を基準とし、その基準から実際に制御されている排気弁開弁時期までのクランク角度のことをいう。
その後、ステップ1335の処理から所定時間が経過すると、CPUはステップ1340にて「Yes」と判定してステップ1345に進み、筒内圧センサ45によって検出される筒内圧Pが「予定された変化」と一致しているか否かを判定する。この場合の「予定された変化」は、ステップ1335にて送出された指示信号に基づいて定まる排気弁開弁時期の直後において筒内圧Pが急激に減少することである。
そして、筒内圧センサ45によって検出される筒内圧Pが「筒内圧Pの予定された変化」を示しているとき、CPUはステップ1345にて「Yes」と判定してステップ1350に進み、「選択したアクチュエータNである可変排気タイミング装置」の異常有無を示すフラグXACTfail(N)の値を「0」に設定する。また、筒内圧センサ45によって検出される筒内圧Pが「筒内圧Pの予定された変化」を示していないとき、CPUは可変排気タイミング装置が異常であると判断し(ステップ1345にて「No」と判定し)、ステップ1355に進んでフラグXACTfail(N)の値を「1」に設定する。その後、CPUはステップ1395に進んで本ルーチンを一旦終了する。
次に、CPUが本ルーチンの処理を再開してステップ1330に進んだ場合、CPUは「異常判定を行うべきアクチュエータN」として「弁付きHC吸着装置(弁付きHC吸着装置の電気式開閉弁)」を選択する。
そして、CPUはステップ1335にて「選択したアクチュエータNである弁付きHC吸着装置の電気式開閉弁」を微操作する。即ち、CPUは、弁付きHC吸着装置の電気式開閉弁に対して「現時点において電気式開閉弁が閉弁していれば開弁させ、現時点において電気式開閉弁が開弁していれば閉弁させる指示信号」を送出する。
その後、ステップ1335の処理から所定時間が経過すると、CPUはステップ1340にて「Yes」と判定してステップ1345に進み、筒内圧センサ45によって検出される筒内圧Pが「予定された変化」と一致しているか否かを判定する。前述したように、「電気式開閉弁が閉弁している場合の排気弁開弁時期における筒内圧」は「電気式開閉弁が開弁している場合の排気弁開弁時期における筒内圧」よりも大きくなる。従って、この場合の「予定された変化」は、ステップ1335にて電気式開閉弁を閉弁する指示信号を送出している場合、排気弁開弁時期における筒内圧Pが、ステップ1335の処理を実行する直前の「排気弁開弁時期における筒内圧P」よりも増大することである。また、この場合の「予定された変化」は、ステップ1335にて電気式開閉弁を開弁する指示信号を送出している場合、排気弁開弁時期における筒内圧Pが、ステップ1335の処理を実行する直前の「排気弁開弁時期における筒内圧P」よりも減少することである。
そして、筒内圧センサ45によって検出される筒内圧Pが「筒内圧Pの予定された変化」を示しているとき、CPUはステップ1350に進んで「選択したアクチュエータNである弁付きHC吸着装置の電気式開閉弁」の異常有無を示すフラグXACTfail(N)の値を「0」に設定する。また、筒内圧センサ45によって検出される筒内圧Pが「筒内圧Pの予定された変化」を示していないとき、CPUは「弁付きHC吸着装置の電気式開閉弁」が異常であると判断し、ステップ1355に進んでフラグXACTfail(N)の値を「1」に設定する。その後、CPUはステップ1395に進んで本ルーチンを一旦終了する。
次に、CPUが本ルーチンの処理を再開してステップ1330に進んだ場合、CPUは「異常判定を行うべきアクチュエータN」として「弁付き排熱回収装置(弁付き排熱回収装置の電気式切換弁)」を選択する。
そして、CPUはステップ1335にて「選択したアクチュエータNである弁付き排熱回収装置の電気式切換弁」を微操作する。即ち、CPUは、弁付き排熱回収装置の電気式切換弁に対して「現時点において排ガスが第1の排気通路を通流していれば、排ガスが第2の排気通路を通流するように切り換える指示信号」を送出する。更に、CPUは、弁付き排熱回収装置の電気式切換弁に対して「現時点において排ガスが第2の排気通路を通流していれば、排ガスが第1の排気通路を通流するように切り換える指示信号」を送出する。
その後、ステップ1335の処理から所定時間が経過すると、CPUはステップ1340にて「Yes」と判定してステップ1345に進み、筒内圧センサ45によって検出される筒内圧Pが「予定された変化」と一致しているか否かを判定する。
前述したように、「第2の排気通路を排ガスが通流している場合の排気弁開弁時期における筒内圧」は「第1の排気通路を排ガスが通流している場合の排気弁開弁時期における筒内圧」よりも大きくなる。従って、この場合の「予定された変化」は、ステップ1335にて「電気式切換弁に対し、排ガスの流路を第1の排気通路から第2の排気通路へと切り換える指示信号を送出している場合」、排気弁開弁時期における筒内圧Pが、ステップ1335の処理を実行する直前の「排気弁開弁時期における筒内圧P」よりも増大することである。
また、この場合の「予定された変化」は、ステップ1335にて「電気式切換弁に対し、排ガスの流路を第2の排気通路から第1の排気通路へと切り換える指示信号を送出している場合」、排気弁開弁時期における筒内圧Pが、ステップ1335の処理を実行する直前の「排気弁開弁時期における筒内圧P」よりも減少することである。
そして、筒内圧センサ45によって検出される筒内圧Pが「筒内圧Pの予定された変化」を示しているとき、CPUはステップ1350に進んで「選択したアクチュエータNである弁付き排熱回収装置の電気式切換弁」の異常有無を示すフラグXACTfail(N)の値を「0」に設定する。また、筒内圧センサ45によって検出される筒内圧Pが「筒内圧Pの予定された変化」を示していないとき、CPUは「弁付き排熱回収装置の電気式切換弁」が異常であると判断し、ステップ1355に進んでフラグXACTfail(N)の値を「1」に設定する。その後、CPUはステップ1395に進んで本ルーチンを一旦終了する。
以上、説明したように、第二変形例に係る制御装置によれば、筒内圧センサ45によって検出される筒内圧Pに基づいて、機械圧縮比変更機構15のアクチュエータ15M」以外のアクチュエータ、即ち、「可変排気タイミング装置、弁付きHC吸着装置及び弁付き排熱回収装置」の異常が容易に検出され得る。
このように、本発明による実施形態及び各変形例に係る制御装置は、真の機械圧縮比に近しい機械圧縮比に基づいて機関10を制御することができる。更に、これらの制御装置は、機械圧縮比変更機構15のアクチュエータ15Mが故障しているか否か、更に、筒内圧センサ45が異常になっているか否か、の判定を行うことができる。加えて、筒内圧センサ45が出力する筒内圧に基づいて、アクチュエータ15M以外の異常有無を容易に判定することができる。
なお、本発明は上記実施形態及び変形例に限定されることはなく、本発明の範囲内において更に別の変形例を採用することができる。例えば、上記各制御装置は、現時点の運転状態が、「目標機械圧縮比εtgtを決定する因子である機関10の運転状態が変化していない状態」であることを確認してから、図6のステップ640による「目標機械圧縮比εtgtの変更」及び/又は図13のステップ1335による「選択したアクチュエータNの微操作」を実行するように構成されてもよい。この場合、「目標機械圧縮比εtgtを決定する因子である機関10の運転状態が変化していない状態」であることは、アクセルペダル操作量Accpの単位時間あたりの変化量が第一所定閾値より小さい状態が第一所定時間以上継続し、且つ、機関回転速度NEの単位時間あたりの変化量が第二所定閾値より小さい状態が第二所定時間以上継続しているか否かを判定することにより確認することができる。
また、上記実施形態及び各変形例は、異常判定を行うべきアクチュエータNとして記載された上記複数の装置のうちの一つまたは任意の二つ以上を、実際に異常判定を行うべきアクチュエータNとして選択してもよい。更に、異常判定を行うべきアクチュエータNは、そのアクチュエータが動作させられることにより筒内圧が変化するものであれば、いかなるものであってもよい。更に、図6のステップ640における微小量Δεは負の値であってもよい。この場合、図11のステップ1120及びステップ1160における条件は、適宜変更される。
更に、前記実機械圧縮比εactと前記予想機械圧縮比εestとの差の大きさが前記所定閾値Athよりも大きいときに図9のステップ925及びステップ935にて採用される制御用機械圧縮比εcontは、「前記実機械圧縮比εactと前記予想機械圧縮比εestとの間の所定機械圧縮比」であればよい。即ち、「前記実機械圧縮比εactと前記予想機械圧縮比εestとの間の所定機械圧縮比」は、一例として、前記実機械圧縮比εactと前記予想機械圧縮比εestとの平均値((εact+εest)/2)でもよく、前記実機械圧縮比εactと前記予想機械圧縮比εestとの荷重平均値(β・εact+(1−β)・εest、0<β<1)であってもよく、上記第1制御装置のように、前記予想機械圧縮比εestに第一所定値(正の値)を加えた値又は前記予想機械圧縮比εestから第二所定値(正の値)を減じた値であってもよい。