以下に、本発明の実施形態を図面に基づいて詳細に説明する。尚、以下の好ましい実施形態の説明は、本質的に例示に過ぎず、本発明、その適用物或いはその用途を制限することを意図するものではない。
(パワートレーンの全体構成)
まず、図1には、本発明の実施形態に係るハイブリッド電気自動車(HEV)のパワートレーン1のシステムブロック図を例示する。図示のパワートレーン1は所謂シリーズ・パラレル・タイプのものであり、それには、エンジン2(内燃機関)、第1の電気機械3及び第2の電気機械4が設けられていて、これら3台の回転機械2〜4は動力伝達装置5に回転可能に連結されている。
前記動力伝達装置5には遊星歯車機構501、被駆動ギヤ502及び第2の駆動ギヤ503が設けられている。遊星歯車機構501は、サンギヤ511と、リングギヤ512と、プラネタリピニオン514を支えるプラネタリキャリア513と、を備えており、それらは周知の態様で互いに係合している。リングギヤ512には、プラネタリピニオン514と係合する内歯だけでなく、被駆動ギヤ502と係合する外歯も設けられている。被駆動ギヤ502は第2の駆動ギヤ503とも係合する。それらの回転要素が各々常時係合するように、動力伝達装置5はいかなるクラッチも備えていない。
また、エンジン2のクランクシャフト21は、プラネタリキャリア513と常時連結されており、第1電気機械3の回転軸は、この第1電気機械3の駆動ギヤとして機能するサンギヤ511と常時連結されており、第2電気機械4の回転軸は、この第2の駆動ギヤ503と常時連結されている。被駆動ギヤ502はファイナルドライブトレーンと常時連結されていて、これは例えばプロペラシャフト6、ディファレンシャルギヤセット7及び駆動軸8を含み、周知のように駆動輪9を駆動する。図示の実施例では駆動輪9は車両後車輪であるが、それは前輪駆動車用の車両前車輪であってもよい。
第1及び第2の電気機械3,4は、公知技術の三相誘導電動機であり、モータ作動及び発電作動をするモータ・ジェネレータ(MG)である。それらは、それぞれ第1及び第2のインバータ12,13を介して高圧バッテリ11に電気的に接続されている。第1電気機械3は交流電流(AC)を発生することができ、それは3つのAC送電線によって第1のインバータ12に出力され、そこで直流(DC)に変換されてDC送電線に出力される。一方で例えばエンジン始動の際には電流が反対向きに流れて第1電気機械3に供給され、これのモータ作動によってエンジン2が駆動される。
第2インバータ13はDC送電線から直流電流を受け入れて交流に変換し、3つのAC送電線によって第2電気機械4に供給する。これにより第2電気機械4がトルクを発生し(モータ作動)、動力伝達装置5、特に第2の駆動ギヤ503及び被駆動ギヤ502を介してファイナルドライブトレーンから駆動輪5に動力を伝達する。一方で、例えば車両の減速時には駆動輪5の回転慣性によって第2電気機械4を回転させることができ(動力回生)、これにより発生した交流電流(AC)は3つのAC送電線により第2インバータ13に出力される。
第1及び第2のインバータ12,13は、DC送電線によって互いに接続されている。このDC送電線は、バッテリ11の正極及び負極端子にそれぞれ接続されており、直流電流は、それら3つの電機機器(バッテリ11、第1及び第2インバータ12,13)の間で各々の端子電圧に応じていずれの向きにも流れることができる。
HEVコントローラ14は第1及び第2のインバータ12,13を制御し、これにより第1及び第2の電気機械3,4を制御する。この例ではHEVコントローラ14は、周知のマイクロコンピュータをベースとするコントローラであって、プログラムを実行する中央演算処理装置(CPU)と、例えばRAMやROMにより構成されてプログラム及びデータを格納するメモリと、電気信号の入出力をする入出力(I/O)バスと、を備えている。
より詳しくはコントローラ14は、種々の入力に基づいて第1及び第2電気機械12,13のそれぞれに対する入力/出力の望ましい値を計算する。コントローラ14への入力は、少なくとも、車速VSPに対応する第2電気機械4の回転数NMG2を検出するためのセンサ31と、アクセルペダル32aの位置α(アクセル開度)を検出するためのアクセル開度センサ32と、運転者によるブレーキペダル33aの操作を検出するためのブレーキスイッチ33と、バッテリの端子電圧VBを検出するための電圧センサ34と、バッテリ11、第1及び第2インバータ12,13の間の電流量をそれぞれ検出するための第1〜第3の電流センサ(図示せず)と、からの信号を含む。尚、HEVコントローラ14はエンジンコントローラ15とも通信するが、それについては後述する。
図2には、動力伝達装置5の遊星歯車機構501の共線図を示す。リングギヤ512の回転数NRINGは、被駆動ギヤ502を介して伝達される車速VSPに比例するとともに、第2の駆動ギヤ503を介して伝達される第2電気機械4の回転数NMG2にも比例する。サンギヤ511及びプラネタリキャリア513の回転数NSUN,NCARRは、それぞれエンジン2及び第1電気機械3の回転数NENG,NMG1に比例する。周知のように、遊星歯車機構501では、その3つの回転要素の回転数NRING,NSUN,NCARRを共線LCと図の垂線R,S,Cとの交点に設定する。共線LCは、その位置及び傾き(換言すれば3つの回転要素の間の速比)を3つの回転要素のトルクに応じて変化させる。
図2(A)に示すように、エンジン2はその運転中にプラネタリキャリア513にトルクTQCARRを与える。このトルクTQCARRはそれぞれリングギヤ512及びサンギヤ511に分かれて、リングギヤ・トルクTQRING及びサンギヤ・トルクTQSUNになる。図2(A)には反力トルクが示されている。リングギヤ・トルクTQRINGは駆動輪9に到達する。サンギヤ・トルクTQSUNは第1電気機械3を駆動する。それは第1のインバータ12を介してHEVコントローラ14により制御され、回転数NSUN及びトルクTQSUNに対応する電力PMG1を生成する。こうして第1電気機械3が生成する電力PMG1は第2電気機械4に供給されるか、若しくはHEVコントローラ14により制御される第1、第2インバータ12,13を介してバッテリ11に供給される。
電力PMG1の全てが第2電気機械4に供給される場合、動力伝達装置損失を無視すれば、エンジン2の発生する全ての力が駆動輪9に供給されてると考えてよい。そして、エンジン2と駆動輪9との間の回転数の比率は、遊星歯車機構501の3つの回転要素のトルク関係に応じて連続的に変化する。例えば図2(A)に示すように、サンギヤ回転数NSUNは、以下のように増加する。すなわち、その他のトルクは一定にしたままサンギヤ・トルクTQSUNを減少させて一旦、トルクの不均衡を引き起こすと、共線LCは、一点鎖線で示す新たな平衡状態まで変化し、これに伴い、キャリア回転数NCARRが上昇する。この際、動力伝達装置5は回転比を連続的に変化させることになり、換言すれば、それは無段変速機として機能する。
一方で、図2(B)に実線LCで示すように、エンジン2が停止していて、第2電気機械4がバッテリ11からの電力により単独で駆動輪9を駆動するとき、リングギヤ512は、車速VSP及び第2電気機械4の回転数NMG2に対応する回転数NRINGで回転する。このときエンジン2は、その運動部分における抵抗力のため全く回転せず、キャリア回転数NCARRはゼロになる。つまり、リングギヤ512は回転し、キャリア513は回転しない。サンギヤ511は、それにトルクが付与されなければ反対向きに回転し、トルクTQSUNはゼロになる。
前記図2(B)の実線LCの状態において、まず、第1電気機械3を発電作動させ、これによりサンギヤ511の回転方向が変わった後に、該第1電気機械3に電力を供給してモータ作動させると、エンジン2は、一点鎖線の共線LCで示すように回転するようになる。また、車両の停止中、換言すればリングギヤ回転数NRINGがゼロのときには、エンジン2は単に第1電気機械3への電力供給によって回転される。
(エンジンの構成)
エンジン2は、この例では第1〜第4の4つのシリンダ22,22,…(気筒:図1の#1〜#4シリンダ)を有するものであるが、いかなる数のシリンダを有するものであってもよい。より詳細には図3を参照して、エンジン2は、シリンダーブロック23と、その上に載置されるシリンダヘッド24とを備えており、それらの内部にシリンダ22,22,…が形成されている。周知のように、シリンダーブロック23には、ジャーナル、ベアリングなどによりクランクシャフト21が回転自在に支持されており、このクランクシャフト21がコネクティングロッド26によって、ピストン25に連結されている。
前記ピストン25は、各シリンダ22内に摺動自在に嵌挿されて燃焼室27を区画している。図1には1つのみ示すが、各シリンダ22毎に2つの吸気ポート28がシリンダーヘッド24に形成されて、それぞれ燃焼室27に連通している。同様に、各シリンダ22毎に2つの排気ポート29がシリンダーヘッド24に形成されて、それぞれ燃焼室27に連通している。図2に示すように、吸気バルブ41及び排気バルブ42は、それぞれ、吸気ポート28及び排気ポート29を燃焼室27から遮断(閉)できるように配設されている。動弁機構101,102は、それぞれ、吸気バルブ41及び排気バルブ42を所定のタイミングで往復動作させて、吸気ポート28及び排気ポート29を開閉するものであるが、詳細は後述する。
点火プラグ43は、例えばねじ等、周知の構造によってシリンダーヘッド24に取り付けられている。点火系44(或いは点火回路)は、エンジンコントローラ15からの制御信号SAを受けて、点火プラグ43が所望の点火タイミングで火花を発生するよう、それに通電する。
インジェクタ45は、例えばブラケットを使用する等、周知の構造でシリンダーヘッド24の一側(図例では吸気側)に取り付けられている。インジェクタ45の先端は、上下方向については2つの吸気ポート28の下方に、また、水平方向についてはそれら2つの吸気ポート28の中間に位置して、燃焼室27内に臨んでいる。
燃料供給系46は、図示は省略するが、インジェクタ45に高圧の燃料を供給する高圧ポンプと、この高圧ポンプに燃料タンクから燃料を送給する配管やホース等と、インジェクタ45を駆動する電気回路と、を備えている。この電気回路は、エンジンコントローラ15からの燃料噴射パルスFPを受けてインジェクタ45のソレノイドを作動させ、その噴孔を所定のタイミングで開いて、所望量の燃料を噴射させる。
吸気ポート28は、吸気マニホルド47内の吸気経路47bによってサージタンク47aに連通している。図示しないエアクリーナからの吸気流はスロットルボデー48を通過してサージタンク47aに供給される。スロットルボデー48にはスロットルバルブ49が配置されており、周知のようにサージタンク47aに向かう吸気流を絞って、その流量を調整する。スロットルアクチュエータ49aは、エンジンコントローラ15からの制御信号TVOを受けて、スロットルバルブ49の開度を調整する。
排気ポート29は、排気マニホルド50内の排気経路によって周知のように排気管内の通路に連通している。排気マニホルド50よりも下流の排気通路には、一つ以上の触媒コンバータ51を有する排気ガス浄化システムが配置される。触媒コンバータ51は、周知の三元触媒、リーンNOx触媒、酸化触媒等とすることができ、それ以外にも、特定の燃料制御手法による排気ガス浄化の目的にかなうものであれば、いかなるタイプの触媒としてもよい。
また、排気ガスの一部を吸気系に循環させる(以下、EGRともいう)ために、吸気マニホルド47(スロットルバルブ49よりも下流側)と排気マニホルド50との間がEGRパイプ52によって接続されている。排気側の圧力は吸入側よりも高いので、排気ガスの一部は吸気マニホルド47に流れ込むようになり(EGRガスと呼ぶ)、この吸気マニホルド47から燃焼室27に吸入される新気と混ざることになる。EGRパイプ52にはEGRバルブ53が配設され、EGRガスの流量を調整するようになっている。EGRバルブ・アクチュエータ53aは、エンジンコントローラ15からの制御信号EGROPENを受けてEGRバルブ53の開度を調整する。
−動弁機構−
次に、図4を参照して吸気側の動弁機構101について詳細に説明する。本実施形態では排気側の動弁機構102は吸気側と同様の構造を有するので、その説明は省略する。尚、排気側の動弁機構102は一般的なOHCタイプであってもよく、これには、バルブステムを押すためのカムと、このカムが一体に形成されたカムシャフトと、このカムシャフトを駆動するための機構(例えば、周知のように、クランクシャフト21の回転をカムシャフトに伝えるベルトやチェーン、プーリ、スプロケット)とが備わる。
本実施形態の動弁機構101は、可変カム・タイミング機構(以下、VCT機構103という)を備えており、これはチェーンドライブ機構によってクランクシャフト21に駆動連結されている。チェーンドライブ機構は、ドリブン・スプロケット104の他に、図示しないが、クランクシャフト21のドライブ・スプロケットと、それら両スプロケットに巻き掛けられたチェーンとを備える。
VCT機構103は、ドリブン・スプロケット104に一体に回転するように固定されたケースと、それに収容されるとともにインナシャフト105に一体に回転するように固定されたロータと、を有する。ケースとロータとの間には複数の液圧室が、回転軸X(図4に示す)の周りに(周方向に)並んで形成される。そして、ポンプにより加圧された液体(例えばエンジンオイル)が各々の液圧室に選択的に供給されて、互いに対向する液圧室の間に圧力差を形成する。
電磁バルブ106を含むVCT制御系201は、エンジンコントローラ15からの制御信号を受けて、電磁バルブ106が液圧のデューティ制御をすることで、前記液圧室に供給する液体の流量や圧力等を調整する。これによりスプロケット104とインナシャフト105との間の実際の位相差が変更され、それによって、周知のようにインナシャフト105の所望の回転位相が達成される。
インナシャフト105は、図5にも示すように各々のシリンダ22に対応して一体的に設けられたディスク形状のカム106を有する。このカム106は、インナシャフト105の軸心から偏心して設けられ、VCT機構103により規定される位相で回転する。この偏心カム106の外周にはリング状アーム107の内周が回転自在に嵌め合わされており、インナシャフト105がその軸心X周りに回転すると、リング状アーム107は、同じ軸心Xの回りを公転しながら偏心カム106の中心の周りを回動する。
また、前記インナシャフト105には、各シリンダ22毎にロッカーコネクタ110が配設されている。このロッカーコネクタ110は円筒状で、インナシャフト105に外挿されて同軸に軸支され、換言すればその軸心X周りに回動可能に支持されている。一方、該ロッカーコネクタ110の外周面はベアリング・ジャーナルとされ、シリンダーヘッド24に配設されたベアリング・キャップ(図示せず)によって回転可能に支持されている。
前記ロッカーコネクタ110には、第1及び第2のロッカーカム111,112が一体的に設けられている。両者は概ね同じものなので、図5にはロッカーカム111について示すが、このロッカーカム111は、カム面111aと円周状のベース面111bとを有し、それらはいずれもタペット115の上面に接触するようになっている。ロッカーカム111は、連続的には回転せず、揺動運動することを除いては、一般的な動弁機構のカムと同様にタペット115を押圧してバルブを開くものである。タペット115はバルブスプリング116で支えられている。バルブスプリング116は、周知のように保持器117,118の間に支持されている。
再度、図4を参照すると、インナシャフト105及びロッカーカム部品110〜112の組立体と並んで、その上方にコントロールシャフト120が配置されている。このコントロールシャフト120は、図示しないベアリングによって回転可能に支持されており、その長手方向の中央付近には、外周面から突出する同軸状のウォームギヤ121が一体的に設けられている。
そのウォームギヤ121はウォーム122と係合し、このウォーム122は、可変バルブリフト機構(VVL)のアクチュエータである、例えばステッピングモータ123の出力軸に固定されている。よって、エンジンコントローラ15からの制御信号θVVLを受けたモータ123の作動により、コントロールシャフト120を所望の位置に回動させることができる。こうして回動されるコントロールシャフト120には各シリンダ22毎のコントロールアーム131が取り付けられており、それらはコントロールシャフト120の回動によって一体的に回動される。
また、そうして回動されるコントロールアーム131は、コントロールリンク132によってリング状アーム107に連結されている。すなわち、コントロールリンク132の一端部はコントロールピボット133によってコントロールアーム131の先端部に回転自在に連結され、該コントロールリンク132の他端部はコモンピボット134によってリング状アーム107に回転自在に連結されている。
ここで、コモンピボット134は、前記のようにコントロールリンク132の他端部をリング状アーム107に連結するとともに、このリング状アーム107を貫通してそれをロッカーリンク135の一端部にも回転自在に連結している。そして、このロッカーリンク135の他端部がロッカーピボット136によってロッカーカム111に回転自在に連結されており、これによりリング状アーム107の回転がロッカーカム111に伝えられるようになっている。
より具体的に、まず、図5及び図7(A)には、相対的にリフト量の大きな大リフト状態を示す。この状態でコントロールアーム131は、図7(A)においてコントロールシャフト120及びコントロールピボット133の中心同士を繋ぐ実線で表されるように、同図には点線で示される水平面との間に角度θVVL_A(以下、VVL制御角度と呼ぶ)をなす位置に調整される。そして、インナシャフト105がその軸心Xの周りに、図では時計回りに回転すると、図5(1)のバルブ閉時と同図(2)のバルブ全開(リフトピーク)時との間で、図7(A)には破線及び実線でそれぞれ示すように、吸気バルブ11のリフト作動が行われる。
すなわち、偏心カム106及びリング状アーム107の共通中心Yが、図7(A)に矢印で示すように軸Xの周りを時計回りに位置Y1Aから位置Y2Aまで移動すると、このリング状アーム107の動作によってコントロールリンク132は、同図に矢印で示すようにコントロールピボット133の周りを角度θ132Aだけ揺動する。これは、4つのピボットX,Y,133,134の位置とそれらを結ぶ複数のリンクとの間の相互の位置関係(第1の関係)による。
そうしてコモンピボット134は、コントロールピボット133の周りを揺動するようになり、それが図7(A)における最上位置にあって、軸心X及び共通中心Yと一直線状に並ぶときが、その揺動端位置になる。また、そのようなコモンピボット134の角度θ132Aの揺動によってロッカーカム111,112が軸心Xの周りに角度θ111Aだけ揺動され、コモンピボット134が前記の揺動端位置にあるとき、共通中心Yが位置Y2Aにあって、図7(A)に示すようにカム111がその揺動運動の一方の終端位置にある。これは、4つのピボット133,134,136,Xの位置とそれらを結ぶ複数のリンクとの相互の位置関係(第2の関係)による。
そして、ロッカーカム111が揺動すると、図5(2)や図7(A)に示すように、ロッカーカム111,112のカム面111aがタペット115の上面115aを押圧し、それをバルブスプリング116のばね力に抗して押し下げる。このタペット115が吸気バルブ41を押し下げて、図7(A)に示すコントロールアーム131の角度θVVL_Aに対応するリフト状態にする。一方で、図5(1)や図7の破線に示すように、ロッカーカム111のベース面111bがタペット115の上面に接触するとき、それは押し下げられない(バルブ閉)。これは、軸心Xを中心とするロッカーカム111のベース面111bの半径が、その軸心Xとタペット115の上面との間隔以下に設定されているからである。以上のように、コントロールアーム131の位置、即ち図7(A)に示す角度θVVL_Aに対応するバルブリフトhAが生じる。
次に、図6及び図7(B)には、相対的に小さなバルブリフトhBの状態を示す。この状態でコントロールアーム131は、図7(A)においてコントロールシャフト120及びコントロールピボット133の中心同士を繋ぐ実線で表されるように、同図には点線で示される水平面との間にVVL制御角度θVVL_Bをなす。そして、図において時計回りにインナシャフト105が回転し、共通中心Yが位置Y1Bから位置Y2Bに移動すると、前記第1の位置関係によってコントロールリンク132が角度θ132Bだけ揺動する。尚、位置Y1Bは図7(A)のY1Aと同じ位置であり、位置Y2Bは、軸心X、共通中心Y及びコモンピボット133が一直線状に並ぶ揺動端位置である。
そのようにコントロールリンク132が角度θ132Bだけ揺動すると、前記第2の位置関係によってロッカーカム111,112が軸心Xの周りに角度θ111Bだけ揺動する。そして、コモンピボット134が前記の揺動端位置にあるとき、共通中心Yが位置Y2Bにあって、図7(B)に示すようにカム111がその揺動運動の一方の終端位置にある。
ここで、図6(1)や図7(B)の破線に示すように、ロッカーカム111のベース面111bがタペット115の上面に接触するとき、前記図7(A)と同じく、それは押し下げられない(バルブ閉)。一方で、図7(B)に実線で示す位置ではロッカーカム111のカム面111aはタペット上面115aを押圧して、コントロールアーム131の角位置θVVL_Bに対応する量だけタペット115を押し下げる(リフトピーク)。このときのバルブリフトhBは、図7(B)に示すように非常に小さい。
つまり、コントロールアーム131のVVL制御角度θVVLが小さくなると、これに連れてピーク時のリフト量hが減少し、それが更に小さくなるとVVLの構成によっては全くリフトしない状態にもなり得る。また、詳しい説明は省略するが、この実施形態のVVLにおいてはVVL制御角度θVVLが小さくなるに連れてロッカーカム111の揺動角度θ111も小さくなり、リフトピーク時の共通中心Yの角位置Y2が反時計回りに移動するようになる。
これらの特性は、図8に示すリフトカーブに現れている。図示のリフトカーブLAは、図5及び7(A)に示される角度θVVL_Aの大リフト状態を示し、リフトカーブLBは、図6及び7(B)に示される角度θVVL_Bの小リフト状態を示している。図には、VVLのモータ123だけが作動して、リフトカーブが変化する様子を示しており、このときVCT機構103は、インナシャフト105をクランクシャフト21に対する位相が一定となるように保持している。
図8から分かるように、この実施形態のVVLにおいては、バルブの開期間が長くなるほどピークのバルブリフト・タイミングが遅角しており、最大バルブリフトのときに吸気バルブ41の閉時期が最も遅角するようになる。一方で、吸気バルブ41の開時期は、その閉時期のように大きくは変化しない。このようなバルブリフト特性の変化は、燃焼室27への吸気の充填効率を適切に調節する上で好ましい。
すなわち、一般に、燃焼室への吸気の充填量を調整するためにスロットルバルブを閉じると、それにより吸気系に負圧が発生し、この負圧に抗してシリンダ22内に吸気を吸い込むために、例えばピストンやクランクシャフト等、エンジンの可動部の運動に係るエネルギーが費やされることになる。これはポンピングロスと呼ばれており、前記図8に示されるバルブリフト特性は、より少ないスロットリング及びより少ないポンピングロスでもって吸気の充填量を調整できるものである。
これについて、まず基本的に、吸気バルブの閉時期を所定時期から進角或いは遅角するに連れて、吸気の充填効率は低くなる。所定時期というのは、例えばエンジン回転数が著しく低くて実質的に吸気慣性を考慮しなくてもよい状態であれば、下死点である。そして、エンジン回転数が高くなるに連れて、前記所定時期は下死点から遅角してゆく。吸気の慣性は、吸気流速若しくはエンジン回転数に依存するからである。
また、吸気の流量が多くなれば、バルブリフトも大きくすることが求められる。そうしないと、吸気ポート28のスロート部と吸気バルブ41との間隙において吸気の絞り損失が生じるからである。VVLは、上述し図8にも示したように、リフト量が大きくなるほど、吸気バルブ41の閉時期が遅角する特性を有しており、それは、より少ないスロットリングでもって燃焼室27への充填量を調整する、という要求に適合している。
図9には、VCT機構103及びVVLによるバルブリフト特性の変化を示す。VCT機構103及びVVLは、それぞれ、エンジンコントローラ15がVCT機構103の制御系201及びVVLのモータ123に送信するVCT制御信号θVCT及びVVL制御信号θVVLに従って制御される。VCT制御信号θVCTが大きいほどリフトピークのタイミングが遅角する。また、VVL制御信号θVVLが大きいほどリフト量が大きくなり、閉時期は遅角する。
−エンジン制御の概要−
エンジンコントローラ15は、周知のマイクロコンピュータをベースとするコントローラであって、プログラムを実行する中央演算処理装置(CPU)と、例えばRAMやROMにより構成されてプログラム及びデータを格納するメモリと、電気信号の入出力をする入出力(I/O)バスと、を備えている。本実施形態では、図1に示すようにエンジンコントローラ15とHEVコントローラ14とを別々のユニットとしているが、2つのコントローラを一体化して一つのユニットとすることもできる。
図3に示すように、エンジンコントローラ15は、エアフローセンサ61から吸気流量AF、吸気圧センサ62から吸気マニホルド圧MAP、クランク角センサ63からクランク角パルス信号、というように種々の入力を受け入れる。そして、それらに基づいて、エンジン回転数NENGが計算される。また、エンジンコントローラ15は、動弁機構101のインナシャフト105の1回転につき1つのパルス信号を検出するSIGセンサ64から、シリンダー識別信号SIGの入力を受け入れる。さらに、エンジンコントローラ15は、酸素濃度センサ65からの排気酸素濃度EGOについての入力と、それ以外の周知のセンサからの入力とを受け入れる。
それら従来からの入力に加えて、この例ではエンジンコントローラ15は、HEVコントローラ14から目標エンジントルクTQENG_Oの信号を受け入れる。一方でエンジンコントローラ15は、計算したエンジン回転数NENG(現在の実際のエンジン回転数)をHEVコントローラ14に送信する。
ここで、前記クランク角センサ63は、エンジン2のフライホイール周辺で周方向に互いに離間する2つのセンサエレメントを有し、一定の角位相差を有する2つのパルス信号を出力する。クランクシャフト21は通常、その回転が完全に停止する直前に少しだけ逆転するが、この逆転時と正転時とでは前記2つの信号の角位相差が異なるから、これらの2つのパルス信号に基づいてエンジンコントローラ15は、クランクシャフト21の回転方向を認識することができ、これを考慮してパルス信号を計数する。そして、エンジンコントローラ15は、クランク角センサ63からのパルス信号とSIGセンサ64からの信号SIGとに基づいて、エンジン2の運転中に、720°CAからなる1つのシリンダ・サイクルにおけるクランクシャフト21の絶対的な位置(クランク角)を認識することができる。そうして認識された絶対的なクランク角位置は、エンジン2の停止後、その再始動に備えてエンジンコントローラ15のメモリに記憶される。
また、エンジンコントローラ15は、前記のような入力に基づいて、以下のようなエンジン2の制御パラメータを計算する。すなわち、スロットルアクチュエータ49a、インジェクタ45、点火系44、動弁機構101及びEGRバルブ・アクチュエータ52a等である。それから、コントローラ15は制御信号を出力する。例えば、所望のスロットル開度信号TVO、燃料噴射パルスFP、バルブ位相角信号θVCT、バルブリフト信号θVVL、EGR開度信号EGROPEN等である。
(HEVコントローラの制御)
HEVコントローラ14はパワートレーン1の全体を制御する。それは、第1及び第2のインバータ12,13を直接的に制御するとともに、エンジンコントローラ15によって間接的にエンジン2を制御する。HEVコントローラ14の実行する制御ルーチンRH1〜RH5について以下に図10〜14を参照して説明する。
まず第1に、図10にはモード選択ルーチンRH1が示されている。このルーチンでは、スタート後のステップS101においてHEVコントローラ14がメモリから、アクセル開度センサ32からのアクセル開度αと、車速VSPと、エンジンコントローラ15に由来するエンジン回転数NENGと、バッテリー電圧センサ34からのバッテリー電圧VBと、例えば車両用エアコンの圧縮機のような補機の負荷の信号と、を含むデータを読み込む。
それから、ステップS102へ進んで、HEVコントローラ14は、駆動輪9の要求動力PHEV_Dを決定する。この要求動力PHEV_Dは、車速センサ31によって検出される車速VSPとアクセル開度αとに基づいて決定され、通常は、少なくとも一部の範囲において車速VSPの上昇ないしアクセル開度αの増大に従い大きくされる。ステップS102に続いてステップS103では、バッテリ11の充電やエアコン圧縮機の駆動負荷のような補助的な負荷の要求に対応する要求補助負荷PAUX_Dを決定する。これは、ステップS101で読み込んだバッテリー電圧VBや補機の負荷に関するデータに基づいて行われる。
続いてステップS104でHEVコントローラ14は、エンジン2への要求出力PENG_Dを決定する。エンジン2はパワートレーン1の唯一のパワーソースなので、要求出力PENG_Dは通常、PHEV_DとPAUX_Dとの合計になる。また、動力伝達装置5の効率が回転数に応じて変化するので、PENG_Dの決定には、前記2つのパラメータに加えて車速VSPを考慮するのがよい。ステップS104の後のステップS105では、エンジン2の運転中であることを示すエンジン運転フラグFENG_RUNの値がハイ(=1)か否か判定する。
そして、FENG_RUN=1でYESであればエンジン2が現在運転中であり、パワートレーン1はエンジン運転モードにあるので、ステップS106へ進んで、前記ステップS104で決定した要求エンジン出力PENG_Dが第1の基準エンジン出力PENG_1よりも大きいかどうか判定する。この判定がYESで要求エンジン出力PENG_Dが第1基準エンジン出力PENG_1よりも大きければ、依然としてエンジン2の運転が要求されているので、リターンする。
一方、要求エンジン出力PENG_Dが第1基準エンジン出力PENG_1以下であれば、エンジン2の運転は最早必要でないから、パワートレーン1をエンジン停止モードに移行するために、ステップS107へ進んでエンジン運転フラグFENG_RUNをリセットする(=0)。そして、ステップS108へ進んで、第1のエンジン停止フラグFENG_STOP_1をハイにセットして(=1)、しかる後にリターンする。
これに対し、前記ステップS105においてエンジン運転フラグFENG_RUNの値がロー(=0)であると判定した場合は、エンジン2が現在運転中でなく、パワートレーン1が電動モードにあるので、ステップS109へ進んで、ステップS104で決定した要求エンジン出力PENG_Dが、前記第1基準エンジン出力PENG_1よりも大きな第2の基準エンジン出力PENG_2よりも大きいかどうか判定する。そして、要求エンジン出力PENG_Dが第2基準エンジン出力PENG_2以下であれば、依然としてエンジン2の運転は必要ないから、パワートレーン1は電動モードのままリターンする。
一方、前記ステップS109において要求エンジン出力PENG_Dが第2基準エンジン出力PENG_2よりも大きいと判定すれば、エンジン2の運転開始が要求されているので、パワートレーン1をエンジン始動モードに移行する。そのためステップS110へ進んでエンジン運転フラグFENG_RUNをハイにセットし(=1)、ステップS111では第1のエンジン始動フラグFENG_START_1をハイにセットして(=1)、しかる後にリターンする。
図11には、エンジン運転モードのルーチンRH2が示されており、スタート後のステップS201では、HEVコントローラ14がメモリから例えば前記ルーチンRH1で説明した各種フラグの値を読み込み、必要に応じて各種センサからの信号も読み込む。ステップS202では、エンジン運転フラグFENG_RUNの値がハイ(=1)かどうか判定する。このエンジン運転フラグFENG_RUNの値がロー(=0)であれば、エンジン2の運転は必要ないので、パワートレーン1はエンジン運転モードでないまま、リターンする。
これに対し、エンジン運転フラグFENG_RUNの値がハイ(=1)であれば、ステップS203へ進んで、第1エンジン始動フラグFENG_START_1の値がハイ(=1)かどうか判定する。この判定がYESで第1エンジン運転フラグFENG_START_1がハイであれば、図14及び16を用いて後述するようにエンジン2が現在、始動中であり、パワートレーン1は電動モードからエンジン運転モードへの移行途中であるから、リターンする。
一方で第1エンジン始動フラグFENG_START_1の値がロー(=0)であれば、ステップS204へ進んで、目標エンジントルクTQENG_O及び目標エンジン回転数NENG_Oを決定する。これは、ステップS104で決定した要求エンジン出力PENG_Dに基づいて、これに対応する最高効率のトルク及び回転数の組が予め設定されているテーブルを参照して、行われる。それからステップS205へ進んで、車速VSP及びエンジン回転数NENGに基づき図2のような共線図を参照して、第1電気機械3の目標回転数NMG1_Oを決定する。
続いてステップS206では、主に車速VSP、車輪9の要求動力PHEV_D、要求補助負荷PAUX_D、目標エンジントルクTQENG_O及び現在のエンジン回転数NENGに基づいて、第2電気機械4への要求トルクTQMG2_Dを決定する。それからステップS207へ進んで、主に目標エンジントルクTQENG_O及び第2電気機械4の要求トルクTQMG2_Dに基づき図2のような共線図を参照して、第1電気機械3への要求トルクTQMG1_Dを決定する。
そうしてステップS204〜S207においてエンジン2、第1及び第2電気機械3,4のそれぞれのトルク及び回転数を決定した後に、ステップS208及びS209においてそれぞれ第1及び第2電気機械3,4の目標出力PMG1_O,PMG2_Oを決定する。そして、ステップS210において、HEVコントローラ14はエンジンコントローラ15と第1及び第2のインバータ12,13に制御信号を出力する。
例えば、HEVコントローラ14は、ステップS204で決定した目標エンジントルクTQENG_Oに対応する信号をエンジンコントローラ15に出力する。エンジンコントローラ15は、エンジン2が目標エンジントルクTQENG_Oと同じトルクを生成するように、燃料供給系46、スロットルアクチュエータ49a、VCT制御系201及びVVLモータ123を含む各種のアクチュエータを制御する。
エンジンコントローラ15から燃料供給系46へ送られる燃料噴射パルスFPは、通常、目標エンジントルクに比例する。また、スロットル開度信号TVO、バルブ位相角信号θVCT及びバルブリフト信号θVVLは、適量の吸気が燃焼室27に取り入れられるように、エンジン回転数NENG及び目標エンジントルクTQENG_Oの二次元の制御マップから決定される。そして、燃焼室27の空燃比は目標値(例えば理論空燃比)に制御される。
また、ステップS210において、HEVコントローラ14は、ステップS208及びS209においてそれぞれ決定した目標出力PMG1_O,PMG2_Oに対応する制御信号を、第1及び第2電気機械3,4に出力し、しかる後にリターンする。
図12には、HEVコントローラ14における電動モードのルーチンRH3が示されており、スタート後のステップS301では、HEVコントローラ14がメモリから例えば前記ルーチンRH1で説明した各種フラグの値を読み込み、必要に応じて各種センサからの信号も読み込む。ステップS302では、エンジン運転フラグFENG_RUNの値がハイ(=1)かどうか判定する。この判定がYESであれば、パワートレーン1はエンジン運転モードにあってエンジン2の運転が要求されているので、リターンする。
これに対し、判定がNOエンジン運転フラグFENG_RUNの値がロー(=0)であれば、ステップS303に進んで今度は第1エンジン停止フラグFENG_STOP_1の値がハイ(=1)かどうか判定する。この判定がYESであれば、図13及び15を用いて後述するように現在、エンジン2の停止制御を実行中であり、パワートレーン1はエンジン運転モードと電動モードとの間の移行途中であるから、リターンする。
一方、判定がNOで第1エンジン停止フラグFENG_STOP_1の値がロー(=0)であれば、ステップS304へ進んで目標エンジントルクTQENG_Oをゼロにセットする。電動モードではエンジン2の運転は要求されないからである。また、ステップS305では第1電気機械3の目標出力PMG1_Oもゼロにセットする。図2(B)に関連して記載されているように、電動モードで第1電気機械3には正、負いずれのトルクも発生しないことが要求されるからである。
ステップS305に続くステップS306では、駆動輪9の要求動力PHEV_D及び車速VSPに基づいて第2電気機械4の要求出力PMG2_Oを決定し、ステップS307では、前記ルーチンRH2のステップS210と同様にHEVコントローラ14はエンジンコントローラ15と第1及び第2のインバータ12,13に制御信号を出力する。
図13には、エンジン停止モードのルーチンRH4が示されており、スタート後のステップS401では、HEVコントローラ14がメモリから例えば前記ルーチンRH1で説明した各種フラグの値を読み込み、必要に応じて各種センサからの信号も読み込む。ステップS402では、エンジン運転フラグFENG_RUNの値がハイ(=1)かどうか判定し、YESであればパワートレーン1はエンジン停止モードになく、依然としてエンジン2の運転が要求されているから、リターンする。
これに対し、判定がNOでエンジン運転フラグFENG_RUNの値がローであれば、ステップS403に進んで今度は第1エンジン停止フラグFENG_STOP_1の値がハイ(=1)かどうか判定する。この判定がNOであればパワートレーン1は電動モードにあるので、リターンする。一方、判定がYESであればステップS404に進んで目標エンジントルクTQENG_Oをゼロにセットする。最早エンジン2の運転は要求されていないからである。
続いてステップS405では第2のエンジン停止フラグFENG_STOP_2の値がハイ(=1)かどうか判定する。この第2エンジン停止フラグFENG_STOP_2は、エンジンコントローラ15が後述のルーチンRE6を実行することによってセットされるものであり、エンジン2の停止動作中に、その回転によって十分に掃気が行われ、吸気の充填量が所定以下になるまでの間、ハイになる。
そうして第2エンジン停止フラグFENG_STOP_2の値がハイであれば(ステップS405でYES)ステップS406へ進んで目標エンジン回転数NENG_Oを、例えば1000rpmに設定されている停止前回転数NENG_STOPにセットする。続くステップS407では第1電気機械3の目標出力PMG1_Oを、主に目標エンジン回転数NENG_O、現在のエンジン回転数NENG及び車速VSPに基づいて、エンジン回転数NENGが前記停止前エンジン回転数NENG_STOPにフィードバック制御されるように決定する。
一方で第2エンジン停止フラグFENG_STOP_2の値がローであれば(ステップS405でNO)、エンジンコントローラ15は、エンジン2の回転によって十分な掃気が行われていると判定しているので、ステップS408へ進んで目標エンジン回転数NENG_Oをゼロにセットし、ステップS409では第1電気機械3の目標出力PMG1_Oもゼロにセットする。そして、ステップS410へ進んで、第1エンジン停止フラグFENG_STOP_1をリセットする(=0)。
前記ステップS407,S410の後のステップS411では、第2電気機械4の目標出力PMG2_Oを主に駆動輪9の要求動力PHEV_D及び車速VSPに基づき、第1電気機械3の目標出力PMG1_O及び現在のエンジン回転数NENGも加味して決定する。その際、目標出力PMG2_Oは、図2に示されているトルク・バランスを考慮して第1電気機械3の目標出力PMG1_Oよりも大きくなるように決定する。そして、ステップS412ではエンジンコントローラ15及び第1、第2インバータ12,13に制御信号を出力して、しかる後にリターンする。
図14には、エンジン始動モードのルーチンRH5が示されており、スタート後のステップS501では、HEVコントローラ14がメモリから例えば前記ルーチンRH1で説明した各種フラグの値を読み込み、必要に応じて各種センサからの信号も読み込む。ステップS502では、エンジン運転フラグFENG_RUNの値がハイ(=1)かどうか判定し、YESであればパワートレーン1はエンジン運転モードにあるから、リターンする。
判定がNOであればステップS503へ進んで、今度は第1エンジン始動フラグFENG_START_1の値がハイ(=1)かどうか判定する。この判定がNOで第1エンジン始動フラグFENG_START_1の値がロー(=0)であればパワートレーン1はエンジン始動モードになく、エンジン2の運転も要求されていないから、リターンする。一方で判定がYESであれば(FENG_START_1=1)ステップS504へ進んで、今度は第2エンジン始動フラグFENG_START_2の値がハイ(=1)かどうか判定する。
ここで、第2エンジン始動フラグFENG_START_2は、エンジンコントローラ15が後述のルーチンRE7を実行することによってセットされるものであり、エンジン2の始動中にその回転数が予め設定された回転数NENG_STARTを上回るまでの間、ハイになる。よって、前記ステップS504においてYES(FENG_START_2=1)と判定されればステップS505へ進んで、第1電気機械3の目標出力PMG1_Oを車速VSP及びクランク角に基づいて決定する。尚、クランク角は、エンジンコントローラ15においてクランク角センサ63の信号及びSIGセンサ64の信号に基づいて決定される。
一方、前記ステップS504においてNO(FENG_START_2=0)と判定されれば、エンジン2の始動が完了したとみなし、ステップS506に進んで、第1エンジン始動フラグFENG_START_1をリセットする(=0)。これによりパワートレーン1は、上述した各ルーチンに続いて開始するエンジン運転モードになる。
前記したステップS505、S506に続いてステップS507では第2電気機械4の要求出力PMG2_Oを、主に駆動輪9の要求動力PHEV_D及び車速VSPに基づき、第1電気機械3の目標出力PMG1_O及び現在のエンジン回転数NENGも加味して決定する。その際、目標出力PMG2_Oは、図2に示されているトルク・バランスを考慮して第1電気機械3の目標出力PMG1_Oよりも大きくなるように決定される。そして、ステップS508ではエンジンコントローラ15及び第1、第2インバータ12,13に制御信号を出力して、しかる後にリターンする。
(エンジンコントローラの制御)
次に、エンジンコントローラ15によるエンジン2の運転制御について説明する。エンジンコントローラ15は、例えば点火系44、インジェクタ45を含む燃料供給系46、スロットルアクチュエータ49a、VCT制御系201及びVVLモータ123等、エンジン2の種々のアクチュエータを制御する。
図10のモード選択ルーチンRH1においてエンジン運転フラグFENG_RUNの値がハイであり、第1エンジン停止フラグFENG_STOP_1及び第1エンジン始動フラグFENG_START_1の値がいずれもローであると判定されて、エンジン運転モードが選択されたとき、エンジンコントローラ15は一般的なエンジン制御ロジックに従い、主に目標エンジントルクTQENG_O(ルーチンRH2のステップS204で計算される)と、現在のエンジン回転数NENG(クランク角センサ63からのクランク各信号から計算される)とに基づいて、前記アクチュエータへの制御信号を演算する。
そうしてエンジンコントローラ15から燃料供給系46へ送られる燃料噴射パルスFPは、通常、目標エンジントルクTQENG_Oに比例する。また、スロットル開度信号TVO、バルブ位相角信号θVCT及びバルブリフト信号θVVLは、適量の吸気が燃焼室27に取り入れられるように、エンジン回転数NENG及び目標エンジントルクTQENG_Oの二次元の制御マップから決定される。そして、燃焼室27の空燃比は目標値(例えば理論空燃比)に制御される。
また、前記モード選択ルーチンRH1においてエンジン運転フラグFENG_RUNの値がローであり、第1エンジン停止フラグFENG_STOP_1及び第1エンジン始動フラグFENG_START_1の値がいずれもハイであると判定されると、目標エンジントルクTQENG_Oがゼロにセットされて、電動モードが選択される。このとき、エンジンコントローラ15は燃料噴射パルスFPの大きさをゼロとし、インジェクタ45からは燃料が噴射されないようになるが、VCT制御信号θVCT及びVVL制御信号θVVLの値は維持され、エンジン停止モードでセットされたリフト特性が保たれる。
図15には、HEVコントローラ14が前記図13のエンジン停止モードのルーチンRH4を実行する際に、エンジンコントローラ15が実行するエンジン停止モードのルーチンRE6が示されている。同図においてスタート後のステップS601では、エンジンコントローラ15がメモリから例えば前記ルーチンRH1(図10を参照)で説明した各種フラグの値を読み込み、必要に応じて各種センサからの信号も読み込む。ステップS602では、HEVコントローラ14が前記ルーチンRH1でセットした第1エンジン停止フラグFENG_STOP_1の値がハイ(=1)かどうか判定する。
そして、第1エンジン停止フラグFENG_STOP_1の値がロー(=0)であれば、エンジン2はエンジン停止モードにないのでリターンする一方、FENG_STOP_1=1であればステップS603へ進んで、今度は第2エンジン停止フラグFENG_STOP_2の値がハイ(=1)かどうか判定する。エンジン停止モードの最初のパスにおいてはフラグFENG_STOP_2=0であり、ステップS603ではNOと判定してステップS604へ進み、第2エンジン停止フラグFENG_STOP_2の値をハイにセットする(=1)。これにより、上述したルーチンRH4において目標エンジン回転数NENG_Oが、ステップS408のゼロに代わってステップS406の停止前エンジン回転数NENG_STOPにセットされる。
続いてステップS605では、VCT制御系201のためのVCT制御信号θVCT及びVVLモータ123のためのVVL制御信号θVVLに基づいて、第1カウンタC1の初期値C1_INIを決定する。この初期値C1_INIは、VCT制御系201やVVLモータ123の応答遅れを考慮して、VCT制御信号θVCTの値が大きく、吸気バルブ41の閉時期がより遅角側にあるほど、また、VVL制御信号θVVLの値が大きく、吸気バルブ41のリフト量がより大きいほど、大きな値になるように決定される。
続いてステップS606では第1カウンタC1を初期化し、前記ステップS605で決定した初期値C1_INIにする。そして、ステップS607に進んで、インジェクタ45から燃料が噴射されなくなるように、燃料噴射パルスFPをゼロにセットし、その後、ステップS608,S609へ進んでVCT制御信号θVCT及びVVL制御信号θVVLを、それぞれエンジン2の停止及び始動のための所定値θVCT_ST_1,θVVL_ST_1にセットする。この値θVCT_ST_1,θVVL_ST_1は、吸気バルブ41の閉時期が吸気行程の下死点BDCから大きく(例えば100°CA)進角するように、また、ピーク時のリフト量が最大リフト状態に比べてかなり小さく(例えばその20%くらいに)なるように、予め設定されている(以下、第1設定値とも呼ぶ)。
ステップS609に続くステップS610でエンジンコントローラ15は、アクチュエータやHEVコントローラ14に制御信号を出力する。これはルーチンRE6の実行中、継続して所定のタイミングで行われる。例えば、前記ステップS607でセットした燃料噴射パルスFPは燃料供給系46へ出力され、VCT制御信号θVCTはVCT制御系201へ出力され、そして、VVL制御信号θVVLはVVLモータ123へ出力される。
これに対し、前記ステップS603において第2エンジン停止フラグFENG_STOP_2の値がハイ(=1)であると判定された場合はエンジン2が既にエンジン停止モードにあるから、ステップS611へ進んで、第3のエンジン停止フラグFENG_STOP_3の値がハイ(=1)かどうか判定する。そして、FENG_STOP_3=0で判定がNOであればステップS612へ進み、第1カウンタC1の値を1つずつ減少させる(デクリメント)。ステップS613では第1カウンタC1の値がゼロになったかどうか判定し、ゼロになるまで(NO)は前記ステップS610に進む。
一方、第1カウンタC1の値がゼロになれば(ステップS613でYES)、VCT機構103及びVVLモータ123の各々が実際に、前記ステップS608,S609でそれぞれセットされた値θVCT_ST_1,θVVL_ST_1に対応する状態になって、言い換えれば、アクチュエータの応答遅れを考慮しても吸気バルブ41のバルブリフト特性が、ルーチンRE6の最初のパスにおけるエンジン2の停止動作中に相応しいにものなったと考えられる。
そこで、ステップS614へ進んで第3エンジン停止フラグFENG_STOP_3をハイにセットし、続くステップS615では第1クランク角カウンタCCRK_1を初期化する。この第1クランク角カウンタCCRK_1は、このルーチンの1つの経路の間、クランク角センサ63からの信号を計数して、クランクシャフト21の回転角を計測する。そして、ステップS606の後、ルーチンは前記ステップS610へ進む。
一方で、前記ステップS611において第3エンジン停止フラグFENG_STOP_3の値がハイ(=1)であると判定された場合は、前記第1カウンタC1が前記ステップS605で決定された初期値C1_INIを既に計数しているから、ステップS616へ進んで、クランクシャフト21の回転に連れて第1クランク角カウンタCCRK_1の値を増加させる(インクリメント)。
続いてステップS617では、第1クランク角カウンタCCRK_1の値が予め設定した値(例えば720°)を超えたかどうか、即ち、クランクシャフト21が2回転したかどうか、或いはエンジン2の各シリンダ22が1回のサイクルを終えたかどうか、判定する。そして、第1クランク角カウンタCCRK_1の値が前記設定値を超えるまでは(判定はNO)、前記ステップS610へ進む。
一方、第1クランク角カウンタCCRK_1の値が前記設定値を超えれば(YESと判定)、前記ステップS613においてVCT機構103及びVVLモータ123の各々が第1設定値θVCT_ST_1,θVVL_ST_1に対応する状態になったと判定されてから、エンジン2が予め設定されただけ回転したことになるので、ステップS618へ進んで第3エンジン停止フラグFENG_STOP_3をリセットし(=0)、続くステップS619では第2エンジン停止フラグFENG_STOP_2もリセットする(=0)。これにより、上述したルーチンRH4のステップS408において目標エンジン回転数NENG_Oがゼロにリセットされる。
図16には、HEVコントローラ14が前記図14のエンジン始動モードのルーチンRH5を実行する際に、エンジンコントローラ15が実行するエンジン始動モードのルーチンRE7が示されている。同図においてスタート後のステップS701では、エンジンコントローラ15がメモリから例えば前記ルーチンRH1(図10を参照)で説明した各種フラグの値を読み込み、必要に応じて各種センサからの信号も読み込む。ステップS702では、第1エンジン始動フラグFENG_START_1の値がハイ(=1)かどうか判定する。
そして、第1エンジン始動フラグFENG_START_1の値がロー(=0)であれば、エンジン2はエンジン始動モードにないのでリターンする一方、FENG_START_1=1であればステップS703へ進んで、今度は第2エンジン始動フラグFENG_START_2の値がハイ(=1)かどうか判定する。エンジン始動モードの最初のパスにおいてフラグFENG_START_2の値はロー(=0)なので、この最初のパスを実行するのであればステップS704へ進み、第2エンジン始動フラグFENG_START_2をハイにセットする(=1)。
それからステップS705へ進んで、エンジンコントローラ15のメモリに格納されているデータから現在吸気行程にあるシリンダ22を特定する。そのデータは、エンジン2が停止するときにクランク角センサ63によって検出したクランク角CAと、SIGセンサ64からのSIG信号とである。それからステップS706へ進んで、これもメモリに保存されているクランク角のデータを読み込む。
ステップS706の後のステップS707では、要求エンジン出力PENG_Dの変化量ΔPENG_Dが予め設定されている変化量Δ1よりも大きいかどうか判定する。要求エンジン出力PENG_Dは、HEVコントローラ14が実行する前記ルーチンRH1のステップS104で決定され、変化量ΔPENG_Dは、要求エンジン出力PENG_Dを微分して求められる。そして、変化量ΔPENG_Dが設定変化量Δ1以下であれば(判定がNO)、エンジン2は急いで出力を高めることを求められていないので、ステップS708,S709に進んで、VCT制御信号θVCT及びVVL制御信号θVVLをそれぞれ第1設定値θVCT_ST_1,θVVL_ST_1にセットする。これらはエンジン停止モードのルーチンRE6のステップS608でセットされるものと同じである。
上述したように、電動モードの間はエンジン停止モードでセットされたバルブリフト特性が維持され、それは次のエンジン始動モードまで変わることがない。そして、ステップS710では燃料噴射パルスFPの値を第1の始動時燃料噴射パルスFPSTART_1にセットする。続くステップS711では、エンジンコントローラ15は、アクチュエータやHEVコントローラ14に制御信号を出力する。これはルーチンRE7の実行中、継続して所定のタイミングで行われる。例えば、前記VCT制御信号θVCTはVCT制御系201へ出力され、VVL制御信号θVVLはVVLモータ123へ出力され、そして、ステップS710でセットした燃料噴射パルスFPは燃料供給系46へ出力され、しかる後にルーチンRE7はリターンする。
一方で、前記ステップS707において要求エンジン出力PENG_Dの変化量ΔPENG_Dが設定変化量Δ1よりも大きければ(判定はYES)、エンジン2は急いで出力を高めることを求められているので、ステップS712,S713に進んで、VCT制御信号θVCT及びVVL制御信号θVVLをそれぞれ第2設定値θVCT_ST_2,θVVL_ST_2にセットする。これら第2設定値は、吸気バルブ41の閉時期が吸気行程の下死点BDCよりも進角するが、前記第1設定値のときに比べれば遅角するように、また、ピーク時のリフト量については前記第1設定値のときに比べて大きくなるように、予め設定されている。
続いてステップS714において、燃料噴射パルスFPの値を第2の始動時燃料噴射パルスFPSTART_2にセットし、続くステップS715では、前記ステップS705にて特定した吸気行程にあるシリンダ22内に燃料を噴射させるための燃料供給系46への制御信号をセットする。そして、前記ステップS711に進んでエンジンコントローラ15は、前記のようにステップS715でセットされた制御信号を含む各種制御信号を出力する。第2始動時燃料噴射パルスFPSTART_2に対応する燃料の量は、前記ステップS710でセットされる第1始動時燃料噴射パルスFPSTART_1に比較して大きい。それ故に、要求エンジン出力の変化量ΔPENG_Dが設定変化量Δ1よりも大きいときにエンジン2は、より多くの空気を燃焼室27に取り入れ、より多くの燃料を得ることになる。
これに対し、前記ステップS703において第2エンジン始動フラグFENG_START_2の値がハイであると判定された場合、それはエンジン2が既にエンジン始動モードであることを意味するから、ステップS716へ進んで、現在のエンジン回転数NENGが予め設定された基準エンジン回転数NENG_START(例えば1000rpm)よりも大きいかどうか判定する。この判定がNOで、現在のエンジン回転数NENGが基準エンジン回転数NENG_START以下であれば、エンジン2の始動は未だ完了していないから、ステップS717へ進む。
このステップS717では、前記ステップS705で読み込んだエンジン停止時のクランク角、即ちエンジン2の始動を開始するときのクランク角と、クランク角センサ63からの信号による現在のクランク角とに基づいて、エンジン2がその始動開始後の最初の上死点TDC或いは下死点BDC(以下、最初のデッドセンターともいう)を通過したかどうか、判定する。この実施形態のような4シリンダ4ストローク・エンジンの場合、いずれかのシリンダ22が上死点TDCにあれば他のいずれかのシリンダ22が下死点BDCにあり、それらはクランクシャフト21の180°CA毎に現れる。
前記の判定がNOで未だ始動時の最初のデッドセンターを通過していなければ、エンジン2は回転を始めたばかりなので、前記ステップS711へ進む一方、最初のデッドセンターを通過して前記ステップS717の判定がYESになれば、このことは、エンジン2の始動時における最初の吸気行程が始まったことを意味するので、ステップS718に進んで燃料噴射開始フラグFFUEL_STの値がハイ(=1)かどうか判定する。
この判定がNOであればステップS719に進んで燃料噴射開始フラグFFUEL_STをハイにセットしてステップS720へ進む一方、判定がYESであれば直接ステップS720へ進んで、エンジンコントローラ15は、前記最初の吸気行程にあるシリンダ22内に、TDC後の所定のタイミング(例えば100°ATDC)で燃料を噴射させるための、燃料供給系46への制御信号をセットする。それからステップS721へ進んでエンジンコントローラ15は、圧縮行程にあるシリンダ22内に、TDC前の所定のタイミング(例えば20°BTDC)で火花を発生させるための、点火系44への制御信号をセットする。そして、前記ステップS711に進んでエンジンコントローラ15は、前記のようにステップS720、S721でセットされた制御信号を含む各種制御信号を出力する。
一方、前記ステップS716において現在のエンジン回転数NENGが基準エンジン回転数NENG_STARTよりも大きい(YES)と判定されれば、それはエンジン2の始動が完了したことを意味するから、ステップS722へ進んで、上述のルーチンRH5のステップS506において第1エンジン始動フラグFENG_START_1がリセットされるのと同様に、第2エンジン始動フラグFENG_START_2をリセットする(=0)。これによりルーチンRE7は前記ステップS702においてリターンするようになる。最後にステップS723では燃料噴射開始フラグFFUEL_STをリセットして(=0)、しかる後にリターンする。
前記したルーチンRE7のエンジン始動モードによってエンジン2の始動が完了すれば、エンジンコントローラ15はエンジン運転モードにおける通常のエンジン制御を行う。パワートレーン1の動作については以下に述べるが、これは、上述の如くHEVコントローラ14によってルーチンRH1〜RH5が実行されるとともに、エンジンコントローラ15によってルーチンRE6,RE7が実行されることによって、実現される。
(エンジン停止モードの動作)
以下に、図17、19を参照してエンジン停止モードの動作を説明する。これらの図には、図10、13、15を用いて説明したエンジン停止モードの間、処理される様々な制御パラメータの変化が示されている。
まず、図示の時刻t1では、図10に示されるルーチンRH1のステップS106において、要求エンジン出力PENG_Dが第1基準エンジン出力PENG_1以下であると判定され、ステップS107でエンジン運転フラグFENG_RUNがリセットされ、ステップS108で第1エンジン停止フラグFENG_STOP_1がハイにセットされる。また、図15に示されるルーチンRE6のステップS604では第2エンジン停止フラグFENG_STOP_2がハイにセットされる。
その結果、パワートレーン1は、時刻t1にエンジン運転モードからエンジン停止モードに移行する。ここで、時間t1よりも以前のエンジン運転モードにおいては、第1電気機械3がエンジン2を制動するように電力を生成して、図11に示されるルーチンRH2のステップS204で決定される目標エンジン回転数NENG_Oを達成している。このため、図17、19に示されるように、時間t1よりも以前の第1電気機械3の目標出力PMG1_Oは負の値になっている。
時刻t1の後、目標エンジントルクTQENG_Oは、図13に示されるルーチンRH4のステップS404でセットされるように、ゼロにセットされる。これによりエンジン回転数NENGは低下してゆくが、目標エンジン回転数NENG_Oは、ステップS404の停止前エンジン回転数NENG_STOPにセットされ、第1電気機械3の目標出力PMG1_Oは、図2(B)の共線図から分かるように正値の側にある。この目標出力PMG1_Oは、図17の如くエンジン回転数NENGが停止前回転数NENG_STOPに収束するように、フィードバック制御される。
時刻t1を過ぎると、第1電気機械3の目標出力PMG1_Oは変更されて負の値から正の値へと変化する。この際、第2電気機械4の目標出力PMG2_Oは、ルーチンRH4のステップS410で決定されるように、前記第1電気機械3の目標出力PMG1_Oの増大に連れて増大する。また、時刻t1に燃料噴射パルスFPは、図15に示されるルーチンRE6のステップS606のようにゼロにセットされる。これにより、図17に示すように時刻t1の後に最初に燃料噴射タイミングを迎えるシリンダ22(図例ではシリンダ#4)から燃料噴射が停止される。
燃料噴射が行われなくても、エンジン2の回転が継続する間は火花点火も続けられる。また、時刻t1においてVCT及びVVL制御信号θVCT,θVVLは、図15に示されるルーチンRE6のステップS608,S609のように第1設定値θVCT_ST_1,θVVL_ST_1に(これらはエンジン2の停止時及び始動時に対応する設定値である)セットされ、これにより吸気バルブ41の閉時期が進角するとともに、そのリフト量が小さくなる。このため、シリンダ22内の燃焼室27への吸気の充填量はかなり少なくなり、充填効率は例えば15%くらいまで低下する。
時刻t1よりも以前のパワートレーン1はエンジン運転モードにあるから、前記のような吸気バルブ41の閉時期及びリフト量の制御によって、図19から分かるように時刻t1以降はシリンダ22の充填効率が急低下する。また、時刻t1において第1カウンタC1が初期化され、そのときの吸気バルブ41の状態に対応する初期値C1_INIとされた上で、カウントダウンが開始される。
そして、図17の時間t3で第1カウンタC1の値がゼロに達し、吸気バルブ41の状態が実際に第1設定値θVCT_ST_1,θVVL_ST_1に対応する閉時期の進角し且つリフト量の小さな状態になれば、図15のルーチンRE6のステップS615のように、第1クランク角カウンタCCRK_1がカウントを開始する。それは、図17、19に示す時刻t4までの間、予め設定されたクランク角度の変化(例えば720°CA)をカウントする。
換言すれば、前記時刻t4においてエンジン2は、時刻t3で吸気バルブ41の状態が前記のように閉時期が進角し且つリフト量の小さな状態になってから、1回のシリンダサイクルを行ったことになり、これにより、全てのシリンダ22,22,…がそれぞれ吸気行程を行って、それらに充填される吸気量が著しく少ない状態になる。
そして、時刻t4では、ルーチンRH4のステップS410やルーチンRE6のステップS618,S619のように、第1〜第3のエンジン停止フラグFENG_STOP_1〜FENG_STOP_3が全てリセットされて、電動モードへ移行する。それから、図13に示されるルーチンRH4のステップS409のように、第1電気機械3の目標出力PMG1_Oがゼロにセットされ、最早エンジン2は駆動されなくなって、図17、19に示すようにエンジン回転数NENGが低下してゆく。
そうして低下する間、図17の一番下のグラフから分かるように、上死点TDC若しくは下死点BDCに対応するエンジン回転数NENGの変動は非常に小さくなっている。これは、前記したようにシリンダ22,22,…への吸気の充填量が著しく少なくなっており、これにより圧縮圧力が低下していることによる。こうしてエンジン回転数NENGの変動が小さくなれば、パワートレーン1の振動を非常に抑制することができる。このことは特に、エンジン2が動力伝達装置5を介して駆動輪9側に常時接続されている場合に有効である。
時刻t4の後もエンジン2若しくはクランクシャフト21は、その回転数(角速度)を低下させながら約2サイクル若しくは1440°CAくらい正転し、その後は暫くの間、正転及び逆転の双方向に繰り返し回動する。その逆転の間もエンジンコントローラ15は、クランク角センサ63から信号に基づき周知の手法によって、クランクシャフト21の角位置を認識することができるので、クランクシャフト21が完全に停止したときの角位置は正確に認識することができ、これをメモリに保存して、図16のルーチンRE7のようにエンジン2を始動する際に利用する。
(エンジン始動モードの動作)
次に図18、19を参照してエンジン始動モードの動作を説明する。これらの図には、図10、14、16を用いて説明したエンジン始動モードの間、処理される様々な制御パラメータの変化が示されている。
まず、図示の時刻t11では、図10に示されるルーチンRH1のステップS109において、要求エンジン出力PENG_Dが第2基準エンジン出力PENG_2よりも大きいと判定され、ステップS110でエンジン運転フラグFENG_RUNがセットされ、ステップS108で第1エンジン始動フラグFENG_START_1がハイにセットされる。同時に図16に示されるルーチンRE7のステップS704では第2エンジン始動フラグFENG_START_2がハイにセットされる。その結果、パワートレーン1は、時刻t11において電動モードからエンジン始動モードに移行する。
また、時間t11では、図14に示されるルーチンRH5のステップS505で決定される目標出力PMG1_Oに対応する電力が、第1のインバータ12を介して第1電気機械3に供給される。目標出力PMG1_Oは、車速VSPと動力伝達装置5の変速比とを考慮して所要の回転数(例えば300rpm)でエンジン2を回転させるように設定されている。同時に、ルーチンRH5のステップS507で決定されるように、第1電気機械3の目標出力PMG1_Oの増大に対応して第2電気機械4の目標出力PMG2_Oが増大し、図2の共線図から分かるように、遊星歯車機構501のサンギヤトルクTQSUNとリングギヤトルクTQRINGとの間が適正なトルク・バランスとなる。
また、前記の時刻t11においてエンジンコントローラ15は、図16のルーチンRE7のステップS706のように、シリンダサイクルに対するクランクシャフト21の絶対的な角位置を認識する。時刻t11以降は、図18に最初にシリンダ#3に点火されることが示されているように、燃料供給の有無に拘わらず、シリンダ22,22,…毎に所定のタイミングで点火を行う。図16のルーチンRE7のステップS707で決定されるように、エンジン2が急いで出力を高めることを求められているのであれば、インジェクタ45は、時刻t11において吸気行程にあるシリンダ22(例えば図18ではシリンダ#4)に燃料を噴射供給する。尚、その燃料噴射は、時刻t11において排気行程にあるシリンダ22(図18ではシリンダ#2)に行ってもよい。
ここで、時刻t11よりも以前のパワートレーン1は電動モードにあって、上述したようにシリンダ#4の吸気バルブ41は閉じているが、周知のようにピストンリングとシリンダ内壁との間に隙間があるため、シリンダ22内の圧力は大気圧に等しくなっている。よって、当該シリンダ#4内の空気量はピストン位置に依存し、例えば図18の例ではシリンダ容積の45%である。換言すれば、シリンダ22の充填効率が45%になっている。
時刻t12においてエンジンコントローラ15は、ルーチンRE7のステップS717のように始動開始後の最初のデッドセンターを通過したと判定し、ステップS719のように燃料噴射開始フラグFFUEL_STをハイにセットする。それからエンジンコントローラ15は、インジェクタ45を含む燃料供給系46を制御して、ステップS720のように、吸気行程にあるシリンダ22に燃料を噴射させる。つまり、燃料は吸気行程にあるシリンダ22(この例ではシリンダ#2)に噴射されるようになる。
ここで、シリンダ#2の吸気バルブ41の動作は、ステップS708,S709のように制御信号θVCT、θVVLによって制御されて、その閉時期が進角し且つリフト量の小さな状態になっているため、シリンダ#2の充填効率はかなり低く、例えば15%くらいになる。前記のようにシリンダ#2内に噴射された燃料は混合気を形成し、ステップS721で行われる点火によって燃焼する。充填効率がかなり低いことから、その燃焼により発生するエネルギは比較的少ないが、それでもトルクを増大させてエンジン回転数NENGを上昇させる。
図18に示すように、HEVコントローラ14は、燃焼が始まった後は第1電気機械3の目標出力PMG1_Oを低下させる。これは、図14に示されるルーチンRH5のステップS505のようにクランク角に基づいて行われ、エンジン回転の過剰な吹け上がりを防止する。また、その第1電気機械3の目標出力PMG1_Oの減少に対応して、ルーチンRH5のステップS506で決定されるように、第2電気機械4の目標出力PMG2_Oも減少する。
前記したシリンダ#2に続いてシリンダ#1でも同様の燃焼制御が行われ、時刻t13(図19にのみ示す)にエンジン回転数NENGが基準回転数NENG_STARTを上回るまで、図16のルーチンRE7のようにシリンダ#3、#4についても同様の燃焼制御が行われる。一方、第1、第2電気機械の目標出力PMG1_O,PMG2_Oは前記のように減少する。すなわち、例えば図18に示すように所定クランク角度回転するまで目標出力PMG1_O,PMG2_Oを階段状に減少させることができる。そして、時刻t13において、ルーチンRH5のステップS506やルーチンRE7のステップS722のように第1及び第2のエンジン始動フラグFENG_START_1,FENG_START_2がリセットされて、エンジン始動モードからエンジン運転モードへと移行する。
時刻t13以降のエンジン運転モードでエンジンコントローラ15は、図11のルーチンRH2のステップS204で決定される目標エンジントルクTQENG_Oが得られるように、エンジン2を制御する。それは主に燃料噴射パルスFPの調整によって達成される。また、例えばエミッション低減等の理由により、エンジン2において燃焼する混合気は理論空燃比であることが望ましく、そのためにシリンダ22への吸気充填量も制御される。これはVCT機構103及びVVLモータ123を制御して、図9に示すように吸気バルブ41のリフト特性を変化させることによって達成される。つまり、図19に示すように目標エンジントルクTQENG_Oが増大すれば、吸気バルブ41のリフト量も増大し、その閉時期は下死点BDC以前まで進角する。
時刻t13よりも以前のVCT機構103及びVVLモータ123の制御信号θVCT,θVVLは、第1設定値θVCT_ST_1,θVVL_ST_1又は第2設定値θVCT_ST_2,θVVL_ST_2にセットされており、前記のエンジン運転モードと比べて吸気バルブ41の閉時期がより進角し、そのリフト量はより小さい。換言すれば、図19から分かるように、時刻t13を境に吸気バルブ41のリフト量は増大し、その閉時期は遅角する。こうした吸気バルブ41のリフト量や閉時期の変化はエンジン回転数NENGの上昇に適うものであり、その吸気バルブ41制御の適度な変化及びエンジン回転数NENGの上昇によって、エンジン始動モードからエンジン運転モードへの移行が成し遂げられる。
本発明は、上述の如く例示した実施形態及びその種々の変形例に限定されない。よって、請求の範囲に記載の本発明の要旨から逸脱することなく、以下に述べるような代替実施形態が可能である。すなわち、上述した実施形態でエンジン2は、遊星歯車機構501を含む動力伝達装置5を介して第1電気機械3、第2電気機械4及び駆動輪9に接続されるが、これに限らず、エンジン2は、例えばギア、チェーン、スプロケット、ベルト、プーリ等を含むいかなる動力伝達装置を介して接続されていてもよい。
また、第1、第2電気機械3,4に代えて、例えば流体機械等の回転機械を用いることも可能である。エンジン2のインジェクタ45は、燃焼室27に直接、燃料を噴射する構成に限らず、インテークポート28に燃料を噴射する構成(ポートインジェクション)であってもよい。この場合、エンジン始動モードにおいて燃料の噴射は吸気バルブ41の閉じられる前に完了する必要がある。
さらに、吸気バルブ41を駆動する動弁機構101も上述した構成に限られない。リフト量や閉時期を含めたバルブリフト特性を調整できるものであれば、いかなるタイプの機構であってもよく、例えば、ソレノイドによる電磁力を用いてシリンダ22毎の個々のバルブを動作させる所謂電磁バルブ・アクチュエータであってもよい。