(57)【要約】【課題】エンジン慣性分の影響を考慮し、エンジントルクを適切に低下させることで、バッテリの過充電を抑制することが可能な内燃機関の制御装置を提供する。【解決手段】内燃機関の制御装置は、ハイブリッド車両に搭載され、エンジンと、第１及び第２のモータジェネレータと、バッテリと、制御手段とを備える。過充電予測手段は、バッテリの充電電力制限時に、第１のモータジェネレータの回転数と、エンジンの回転数上昇レートまたは第１のモータジェネレータの回転数上昇レートと、に基づき前記バッテリの過充電を予測する。エンジントルク低下手段は、過充電予測手段によりバッテリの過充電が予測された場合には、エンジントルクを低下させる。【選択図】図５
2010179677.tif 000002
【特許請求の範囲】
【請求項１】
ハイブリッド車両に搭載される内燃機関の制御装置であって、
エンジンと、
第１及び第２のモータジェネレータと、
前記第１のモータジェネレータが発電した電力を充電するバッテリと、
前記バッテリの充電電力制限時に、前記第１のモータジェネレータの回転数と、前記エンジンの回転数上昇レートまたは第１のモータジェネレータの回転数レートと、に基づき前記バッテリの過充電を予測する過充電予測手段と、
前記過充電が予測された場合、前記エンジンのトルクを低下させるエンジントルク低下手段と、
を備えることを特徴とする請求項１に記載の内燃機関の制御装置。
【請求項２】
排気通路上に設置された触媒をさらに備え、
前記エンジンは、可変バルブタイミング機構を有し、
前記エンジントルク低下手段は、前記触媒の温度が所定温度以下であって、エンジン油温が所定油温以上の場合、前記エンジンの点火時期の遅角制御と、前記可変バルブタイミング機構におけるバルブタイミングの遅角制御と、を併用する請求項１に記載の内燃機関の制御装置。
【請求項３】
前記エンジントルク低下手段は、点火時期の遅角量の初期値と、バルブタイミングの遅角量の初期値とを、前記エンジンの慣性トルク分の遅角量にそれぞれ設定する請求項１または２に記載の内燃機関の制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ハイブリッド車両において、バッテリの過充電を防止する内燃機関の制御装置に関する。
【背景技術】
【０００２】
従来から、ハイブリッド車両において、バッテリの過充電を防止する内燃機関の制御装置が知られている。例えば、特許文献１には、蓄電量が第１の閾値を超えてこれよりも大きい第２の閾値以下の場合、モータトルクダウン量を、予め設定されているモータ回転数とモータトルクダウン量との関係を示すモータ特性マップに基づいて設定することにより、蓄電装置の過充電を有効に防止しつつ、エンジントルクダウン量を小さく設定する技術が記載されている。また、特許文献１では、点火遅角制御を行うことで、エンジントルクを低下させる技術も記載されている。その他、本発明に関連する技術が、特許文献２及び特許文献３にそれぞれ記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００２−２０４５０６号公報
【特許文献２】特開２００６−１０４９９２号公報
【特許文献３】特開２００６−０５０７４８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、バッテリの充電量が制限されている場合、通常状態であっても、エンジン回転の慣性に起因して過充電が発生する可能性がある。従って、この場合、エンジン慣性分の影響を考慮してバッテリの過充電を抑制する必要がある。特許文献１乃至特許文献３には、上記の問題について、何ら考慮されていない。
【０００５】
本発明は、上記のような課題を解決するためになされたものであり、エンジン慣性分の影響を考慮し、エンジントルクを適切に低下させることで、バッテリの過充電を抑制することが可能な内燃機関の制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の１つの観点では、ハイブリッド車両に搭載される内燃機関の制御装置であって、エンジンと、第１及び第２のモータジェネレータと、前記第１のモータジェネレータが発電した電力を充電するバッテリと、前記バッテリの充電電力制限時に、前記第１のモータジェネレータの回転数と、前記エンジンの回転数上昇レートまたは第１のモータジェネレータの回転数レートと、に基づき前記バッテリの過充電を予測する過充電予測手段と、前記過充電が予測された場合、前記エンジンのトルクを低下させるエンジントルク低下手段と、を備えることを特徴とする。
【０００７】
上記の内燃機関の制御装置は、ハイブリッド車両に搭載され、エンジンと、第１及び第２のモータジェネレータと、バッテリと、制御手段とを備える。過充電予測手段は、例えばＥＣＵ（Ｅｌｅｃｔｒｏｎｉｃ  Ｃｏｎｔｒｏｌ  Ｕｎｉｔ）であり、バッテリの充電電力制限時に、第１のモータジェネレータの回転数と、エンジンの回転数上昇レート（即ち、エンジン回転数変化量）または第１のモータジェネレータの回転数レート（即ち、第１のモータジェネレータの回転数変化量）と、に基づき前記バッテリの過充電を予測する。エンジントルク低下手段は、例えばＥＣＵであり、過充電予測手段によりバッテリの過充電が予測された場合には、エンジントルクを低下させる。このようにすることで、内燃機関の制御装置は、バッテリの充電量を適切に予測することができ、過充電を抑制することができる。
【０００８】
上記の内燃機関の制御装置の一態様では、排気通路上に設置された触媒をさらに備え、前記エンジンは、可変バルブタイミング機構を有し、前記エンジントルク低下手段は、前記触媒の温度が所定温度以下であって、エンジン油温が所定油温以上の場合、前記エンジンの点火時期の遅角制御と、前記可変バルブタイミング機構におけるバルブタイミングの遅角制御と、を併用する。所定温度は、点火遅角に起因して触媒温度が高温になり触媒の劣化が進まないような触媒温度の範囲に設定される。また、所定油温は、可変バルブタイミング機構の応答性が確保可能なエンジン油温の範囲に設定される。このようにすることで、内燃機関の制御装置は、可変バルブタイミング機構の応答性を確保しつつ、燃費悪化、及び触媒劣化を抑制しつつ、エンジントルクを低下させ、過充電を抑制することができる。
【０００９】
上記の内燃機関の制御装置の他の一態様では、前記エンジントルク低下手段は、点火時期の遅角量の初期値と、バルブタイミングの遅角量の初期値とを、前記エンジンの慣性トルク分の遅角量にそれぞれ設定する。このようにすることで、内燃機関の制御装置は、過充電を防止しつつ、過度のエンジントルク低下を抑制することができる。即ち、内燃機関の制御装置は、余分な放電を防止することができる。
【図面の簡単な説明】
【００１０】
【図１】本実施形態に係るハイブリッド車両の概略構成図を示す。
【図２】エンジンの概略構成図を示す。
【図３】所定値Ｔｈ４を求める際に使用するマップの一例を示す。
【図４】通常時及びモード４でのエンジン回転数上昇レートガード値の設定値をそれぞれ示す図である。
【図５】本実施形態における処理の概要を示すタイムチャートである。
【図６】比較例における処理の概要を示すタイムチャートである。
【図７】モード１乃至モード３の詳細なタイムチャートである。
【図８】モード４の詳細なタイムチャートである。
【図９】本実施形態における処理手順を示すフローチャートである。
【図１０】モード選択処理の手順を示すフローチャートである。
【図１１】モード１の処理手順を示すフローチャートである。
【図１２】モード２の処理手順を示すフローチャートである。
【図１３】モード３の処理手順を示すフローチャートである。
【図１４】モード４の処理手順を示すフローチャートである。
【図１５】制御実行判定制御１の処理手順を示すフローチャートである。
【図１６】制御実行判定制御２の処理手順を示すフローチャートである。
【発明を実施するための形態】
【００１１】
以下、図面を参照して本発明の好適な実施の形態について説明する。
【００１２】
［装置構成］
図１は、本発明の各実施形態に係る内燃機関の制御装置が適用されたハイブリッド車両の概略構成図を示す。なお、図中の破線矢印は、信号の入出力を示している。
【００１３】
ハイブリッド車両１００は、主に、エンジン（内燃機関）１と、車軸２と、駆動輪３と、第１のモータジェネレータＭＧ１と、第２のモータジェネレータＭＧ２と、動力分割機構４と、インバータ５と、バッテリ６と、ＥＣＵ５０と、を備える。
【００１４】
車軸２は、エンジン１及び第２のモータジェネレータＭＧ２の動力を車輪３に伝達する動力伝達系の一部である。車輪３は、ハイブリッド車両１００の車輪であり、説明の簡略化のため、図１では特に左右前輪のみが表示されている。エンジン１は、ガソリンエンジンなどによって構成され、ハイブリッド車両１００の主たる推進力を出力する動力源として機能する。エンジン１は、ＥＣＵ５０によって種々の制御が行われる。
【００１５】
第１のモータジェネレータＭＧ１は、主としてバッテリ６を充電するための発電機、或いは第２のモータジェネレータＭＧ２に電力を供給するための発電機として機能するように構成されており、エンジン１の出力により発電を行う。第１のモータジェネレータＭＧ１は、例えば制動時（減速時）などにおいて回生ブレーキとして機能して、回生運動を行うことで電力を発生する。また、第２のモータジェネレータＭＧ２は、主としてエンジン１の出力をアシスト（補助）する電動機として機能するように構成されている。
【００１６】
動力分割機構４は、サンギヤやリングギヤなどを有して構成されるプラネタリギヤ（遊星歯車機構）に相当し、エンジン１の出力を第１のモータジェネレータＭＧ１及び車軸２へ分配することが可能に構成されている。
【００１７】
インバータ５は、バッテリ６と、第１のモータジェネレータＭＧ１及び第２のモータジェネレータＭＧ２との間の電力の入出力を制御する直流交流変換機である。
【００１８】
バッテリ６は、第１のモータジェネレータＭＧ１及び／又は第２のモータジェネレータＭＧ２を駆動するための電源として機能することが可能に構成されると共に、第１のモータジェネレータＭＧ１及び／又は第２のモータジェネレータＭＧ２が発電した電力を充電可能に構成された蓄電池である。
【００１９】
ＥＣＵ５０は、図示しないＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）及びＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）などを備え、ハイブリッド車両１００内の各構成要素に対して種々の制御を行う。特に、本実施形態では、ＥＣＵ５０は、バッテリ６の過充電を予測すると共に、当該過充電を抑制するため、エンジン１の出力トルクを低下させる。このように、本発明における過充電予測手段及びエンジントルク低下手段として機能する。
【００２０】
以下では、エンジン１の概略構成について説明した後、ＥＣＵ５０が実行する処理について具体的に説明する。
【００２１】
［エンジンの概略構成］
図２は、図１に示したエンジン１の概略構成図を示す。図中の実線矢印はガスの流れの一例を示している。
【００２２】
エンジン１は、主に、吸気通路１１と、スロットルバルブ１２と、燃料噴射弁１４ａと、吸気弁１４ｂと、点火プラグ１４ｃと、排気弁１４ｄと、可変バルブタイミング機構１４ｅと、気筒１５ａと、ピストン１５ｃと、コンロッド１５ｄと、排気通路１６と、触媒２０と、を有する。なお、図２においては、説明の便宜上、１つの気筒１５ａのみを示しているが、実際にはエンジン１は複数の気筒１５ａを有する。
【００２３】
吸気通路１１には外部から導入された吸気（空気）が通過し、スロットルバルブ１２は吸気通路１１を通過する吸気の流量を調整する。スロットルバルブ１２は、ＥＣＵ５０から供給される制御信号によって開度が制御される。吸気通路１１を通過した吸気は、燃焼室１５ｂに供給される。また、燃焼室１５ｂには、燃料噴射弁（インジェクタ）１４ａによって噴射された燃料が供給される。
【００２４】
更に、燃焼室１５ｂには、吸気弁１４ｂと排気弁１４ｄとが設けられている。吸気弁１４ｂは、開閉することによって、吸気通路１１と燃焼室１５ｂとの連通／遮断を制御する。吸気弁１４ｂは、可変バルブタイミング機構１４ｅによってバルブタイミング（開弁時期や閉弁時期）などが制御される。例えば、吸気弁１４ｂは、バルブタイミングの進角と遅角との切り替えが行われる。
【００２５】
可変バルブタイミング機構１４ｅは、油圧式であり、ＥＣＵ５０から供給される制御信号によって制御される。一方、排気弁１４ｄは、開閉することによって、排気通路１６と燃焼室１５ｂとの連通／遮断を制御する。以下では、可変バルブタイミング機構のことを「ＶＶＴ」とも表記する。
【００２６】
燃焼室１５ｂ内では、上記のように供給された吸気と燃料との混合気が、点火プラグ１４ｃによって点火されることで燃焼される。この場合、燃焼によってピストン１５ｃが往復運動し、当該往復運動がコンロッド１５ｄを介してクランク軸（不図示）に伝達され、クランク軸が回転する。燃焼室１５ｂでの燃焼により発生した排気ガスは、排気通路１６より排出される。
【００２７】
また、排気通路１６上には、触媒２０が設置されている。触媒２０は、エンジン１の排気ガスの浄化を行う。触媒２０は、例えば、酸化触媒、ＤＰＦ（Ｄｉｅｓｅｌ  Ｐａｒｔｉｃｕｌａｔｅ  Ｆｉｌｔｅｒ）やＮＯｘ吸蔵還元触媒である。ＥＣＵ５０は、触媒２０の温度の推定値（以後、単に「触媒温度推定値Ｔｂ」と呼ぶ。）を各種センサに基づき算出する。
【００２８】
［制御方法］
次に、本実施形態におけるＥＣＵ５０の制御について具体的に説明する。ＥＣＵ５０は、バッテリ６の過充電が予測される場合には、エンジン１の出力トルク（以後、「エンジントルク」と呼ぶ。）を制限する（低下させる）。この際、ＥＣＵ５０は、車両１００の状態に応じて、点火時期を遅角させる手段、バルブタイミングを遅角させる手段、及びエンジン１の回転数上昇レートの制限値（以後、「エンジン回転数上昇レートガード値ＲｅＬｉｍ」と呼ぶ。）の変更を行う手段、を１または複数選択して実行する。このようにすることで、ＥＣＵ５０は、確実にバッテリ６の過充電を防ぐ。以下では、車両１００の状態に応じてエンジントルクを低下させる手段の選択（以後、「モード選択」と呼ぶ。）を行う処理、エンジントルクを低下させるタイミングを決定する処理、そしてエンジントルク低下処理について説明した後、本実施形態での全体処理のタイムチャート、及び処理フローについて順に説明する。
【００２９】
（モード選択）
まず、モード選択について具体的に説明する。ＥＣＵ５０は、触媒温度推定値Ｔｂとエンジン１の油温（以後、単に「エンジン油温Ｔｏ」と呼ぶ。）に基づきモード選択を実行する。
【００３０】
具体的には、ＥＣＵ５０は、触媒温度推定値Ｔｂが所定の閾値（以後、「所定値Ｔｈ２」と呼ぶ。）以下で、かつ、エンジン油温Ｔｏが所定の閾値（以後、「所定値Ｔｈ３」と呼ぶ。）未満の場合、点火時期を遅角させる（点火遅角させる）手段のみ用いてエンジントルクを低下させる。ここで、所定値Ｔｈ２は、点火遅角に起因して触媒温度が高温になり触媒２０の劣化が進まないような触媒２０の温度の上限値に実験等により設定される。また、所定値Ｔｈ３は、可変バルブタイミング機構１４ｅの応答性が確保可能なエンジン油温Ｔｏの下限値に実験等により設定される。即ち、点火時期の遅角により触媒２０の劣化が生じるおそれがなく、かつ、エンジン油温Ｔｏが可変バルブタイミング機構１４ｅの応答性が確保できない温度にあると判断した場合、ＥＣＵ５０は、点火時期を遅角させる手段のみ用いてエンジントルクを低下させる。以後、この実行パターンを、「モード１」と呼ぶ。
【００３１】
一方、ＥＣＵ５０は、触媒温度推定値Ｔｂが所定値Ｔｈ２以下、かつ、エンジン油温Ｔｏが所定値Ｔｈ３以上の場合、点火時期を遅角させる手段とバルブタイミングを遅角（ＶＶＴ遅角）させる手段とを併用して、エンジントルクを低下させる。即ち、この場合、ＥＣＵ５０は、点火時期の遅角により触媒２０の劣化が生じるおそれがなく、かつ、エンジン油温Ｔｏが可変バルブタイミング機構１４ｅの応答性を確保できる温度にあることから、点火時期の遅角とＶＶＴ遅角とを併用して、エンジントルクを低下させる。以後、この実行パターンを、「モード２」と呼ぶ。
【００３２】
また、ＥＣＵ５０は、触媒温度推定値Ｔｂが所定値Ｔｈ２より大きく、かつ、エンジン油温Ｔｏが所定値Ｔｈ３以上の場合、ＶＶＴ遅角のみによってエンジントルクを低下させる。即ち、この場合、ＥＣＵ５０は、点火時期の遅角により、触媒床温が高温になり触媒２０が劣化するおそれがあると判断すると共に、エンジン油温Ｔｏは可変バルブタイミング機構１４ｅの応答性を確保できる温度にあると判断する。従って、ＥＣＵ５０は、ＶＶＴ遅角のみを用いる。以後、この場合を、「モード３」と呼ぶ。
【００３３】
一方、ＥＣＵ５０は、触媒温度推定値Ｔｂが所定値Ｔｈ２より大きく、かつ、エンジン油温Ｔｏが所定値Ｔｈ３未満の場合、エンジン回転数上昇レートガード値ＲｅＬｉｍを変更する。即ち、ＥＣＵ５０は、検出した触媒温度推定値Ｔｂとエンジン油温Ｔｏとから点火時期の遅角やＶＶＴ遅角は実行できないと判断し、エンジン回転数上昇レートガード値ＲｅＬｉｍを小さい値へ変更することで、エンジントルクを低下させる。以後、この場合を、「モード４」と呼ぶ。
【００３４】
（エンジントルク低下処理のタイミング）
次に、エンジントルク低下処理のタイミングについて説明する。ＥＣＵ５０は、バッテリ６の充電電力制限（以後、「充電電力制限Ｗｉｎ」と呼ぶ。）を設けている場合に、要求エンジン回転数よりも実エンジン回転数が大きいとき、かつ、慣性分の充電電力の予測値が充電電力制限Ｗｉｎの範囲を超えるときに、エンジントルクを低下させる。これにより、ＥＣＵ５０は、バッテリ６の過充電を未然に防ぐことができる。以後、上述したエンジントルクを低下させるタイミングを判断する制御を、「制御実行判定制御１」と呼ぶ。制御実行判定制御１は、上述したモード１乃至モード３の場合に実行される。
【００３５】
以下では、制御実行判定制御１についてより具体的に説明する。ＥＣＵ５０は、まず、充電電力制限Ｗｉｎを設けている場合、要求エンジン回転数と実エンジン回転数とを比較する。そして、要求エンジン回転数よりも実エンジン回転数が大きい場合、回生による充電電力に起因してバッテリ６が過充電になるおそれがあると判断する。
【００３６】
また、ＥＣＵ５０は、エンジン回転数上昇レートと第１のモータジェネレータＭＧ１の回転数（以後、「ＭＧ１回転数」と呼ぶ。）とに基づき、慣性分の充電電力の予測値（以後、「所定値Ｔｈ４」と呼ぶ。）を決定する。一般に、ＭＧ１回転数におけるフィードバック制御で設定されるゲイン値と、ＭＧ１回転数の変化量またはエンジン回転数の変化量（即ち、エンジン回転数上昇レート）と、ＭＧ１回転数とから慣性分の電力が予測可能である。従って、例えば、上述のゲイン値ごとに、ＭＧ１回転数の変化量またはエンジン回転数上昇レートと、ＭＧ１回転数と、に対応する所定値Ｔｈ４を実験等により求めてマップを作成しておく。そして、ＥＣＵ５０は、このマップをメモリ等に保持しておく。これにより、ＥＣＵ５０は、各種センサから取得したエンジン回転数上昇レートとＭＧ１回転数とから所定値Ｔｈ４を適切に求めることができる。
【００３７】
図３は、エンジン回転数上昇レートとＭＧ１回転数とに対応する所定値Ｔｈ４のマップの一例である。図３では、ＭＧ１回転数は１０００から１００００まで対応し、エンジン回転数上昇レートは５から１５まで対応している。なお、図３では、所定値Ｔｈ４は絶対値で記載されている。このように、実験等に基づき図３に示すようなマップを作成しておくことで、ＥＣＵ５０は、所定値Ｔｈ４を適切に決定することができる。
【００３８】
そして、ＥＣＵ５０は、要求エンジン回転数よりも実エンジン回転数が大きくなり、かつ、所定値Ｔｈ４が充電電力制限Ｗｉｎの範囲を超えた場合、エンジントルク低下処理を実行すべきか否かを判断するためのフラグ（以後、「制御実行フラグ」と呼ぶ。）をＯＮにする。そして、ＥＣＵ５０は、後述するエンジントルク低下処理が終了した場合、制御実行フラグをＯＦＦにする。制御実行フラグの説明については、フローチャートの説明で詳しく述べる。以上のようにすることで、ＥＣＵ５０は、エンジントルク低下処理のタイミングを適切に設定することができる。
【００３９】
（エンジントルク低下処理）
次に、モード１乃至モード４でＥＣＵ５０が実行するエンジントルク低下処理について説明する。
【００４０】
１．モード１における処理
モード１でＥＣＵ５０が実行するエンジントルク低下処理について説明する。ＥＣＵ５０は、点火遅角制御の目標設定値（以後、「設定点火遅角量Ｌｂ」と呼ぶ。）に所定の点火遅角量（以後、「初期点火遅角量Ｌｂ０」と呼ぶ。）を設定する。初期点火遅角量Ｌｂ０は、例えば、エンジン１の回転の慣性分、即ち慣性トルクに相当する点火遅角量に実験又は理論的に設定される。このようにすることで、ＥＣＵ５０は、過充電を防止しつつ、過度のエンジントルクの低下を抑制し、余分な放電を防止することができる。なお、エンジン１の慣性トルクを「Ｉｅ＿ｔｒｑ」、エンジン１の慣性モーメントを「Ｉｅ」、エンジン回転数変化量を「ΔＮｅ」とすると、慣性トルクＩｅ＿ｔｒｑは以下の式（１）を用いて算出される。
【００４１】
Ｉｅ＿ｔｒｑ＝Ｉｅ×ΔＮｅ  式（１）
そして、ＥＣＵ５０は、設定点火遅角量Ｌｂを初期点火遅角量Ｌｂ０に設定後所定時間幅（以後、「所定時間幅Ｔｗ１」と呼ぶ。）が経過するまでは、設定点火遅角量Ｌｂを初期点火遅角量Ｌｂ０に固定する。所定時間幅Ｔｗ１は、例えば、実験等により適切に設定される。これにより、エンジントルクが低下する。そして、所定時間幅Ｔｗ１が経過した場合には、設定点火遅角量Ｌｂをスイープアップさせる。即ち、ＥＣＵ５０は、徐々に点火時期を通常の目標設定値に戻す。このようにすることで、ＥＣＵ５０は、エンジントルクを低下させ、過充電を抑制することができる。
【００４２】
２．モード２における処理
次に、モード２でＥＣＵ５０が実行するエンジントルク低下処理について説明する。ＥＣＵ５０は、設定点火遅角量Ｌｂに初期点火遅角量Ｌｂ０を設定すると共に、ＶＶＴ遅角量の目標設定値（以後、「設定ＶＶＴ遅角量Ｌｖ」と呼ぶ。）に所定のＶＶＴ遅角量（以後、「初期ＶＶＴ遅角量Ｌｖ０」と呼ぶ。）を設定する。初期ＶＶＴ遅角量Ｌｖ０は、例えば、エンジン１の慣性トルクに相当するＶＶＴ遅角量に実験又は理論的に設定される。慣性トルクは、上述の式（１）により算出される。このようにすることで、ＥＣＵ５０は、過充電を防止しつつ、過度のエンジントルクの低下を抑制し、余分な放電を防止することができる。
【００４３】
そして、ＥＣＵ５０は、設定ＶＶＴ遅角量Ｌｖに初期ＶＶＴ遅角量Ｌｖ０を設定後、所定時間幅Ｔｗ１が経過するまで、この設定を固定する。また、ＥＣＵ５０は、設定点火遅角量Ｌｂを初期点火遅角量Ｌｂ０に設定後、所定時間幅（以後、「所定時間幅Ｔｗ２」と呼ぶ。）が経過するまでは、この設定を固定する。所定時間幅Ｔｗ２は、所定時間幅Ｔｗ１より小さい時間幅に設定され、具体的には、実験等により適切な値に設定される。以上の制御により、エンジントルクが低下する。そして、所定時間幅Ｔｗ２が経過した場合には、ＥＣＵ５０は、設定点火遅角量Ｌｂをスイープアップさせる。即ち、ＥＣＵ５０は、徐々に点火時期を通常の目標設定値に戻す。また、所定時間幅Ｔｗ１が経過した場合には、ＥＣＵ５０は、設定ＶＶＴ遅角量Ｌｖをスイープアップさせる。即ち、ＥＣＵ５０は、徐々にバルブタイミングを通常の目標設定値に戻す。
【００４４】
以上により、ＥＣＵ５０は、エンジントルクを一時的に低下させ、過充電を抑制することができる。また、ＥＣＵ５０は、触媒温度推定値Ｔｂが所定値Ｔｈ２以下、かつ、エンジン油温Ｔｏが所定値Ｔｈ３以上の場合に点火遅角とＶＶＴ遅角との両方の手段を用いることで、ＶＶＴの応答性を確保しつつ、燃費悪化、及び触媒２０の劣化を抑制することができる。
【００４５】
３．モード３における処理
次に、モード３でＥＣＵ５０が実行するエンジントルク低下処理について説明する。ＥＣＵ５０は、設定ＶＶＴ遅角量Ｌｖに初期ＶＶＴ遅角量Ｌｖ０を設定する。そして、ＥＣＵ５０は、設定ＶＶＴ遅角量Ｌｖに初期ＶＶＴ遅角量Ｌｖ０を設定後、所定時間幅（以後、「所定時間幅Ｔｗ３」と呼ぶ。）が経過するまでは、この設定を固定する。所定時間幅Ｔｗ３は、モード１で使用する所定時間幅Ｔｗ１及びモード２で使用する所定時間幅Ｔｗ２より大きい時間幅に設定され、具体的には、実験等により適切な値に設定される。これにより、エンジントルクが低下する。そして、所定時間幅Ｔｗ３が経過した場合には、設定ＶＶＴ遅角量Ｌｖをスイープアップさせる。即ち、ＥＣＵ５０は、徐々にバルブタイミングを通常の目標設定値に戻す。以上により、ＥＣＵ５０は、エンジントルクを一時的に低下させ、過充電を抑制することができる。
【００４６】
４．モード４における処理
次に、モード４でＥＣＵ５０が実行するエンジントルク低下処理について説明する。ＥＣＵ５０は、上述したように、モード４では、エンジン回転数上昇レートガード値ＲｅＬｉｍを小さく設定することで、エンジントルクを低下させる。この具体例について図４を用いて説明する。図４は、エンジン回転数ごとのエンジン回転数上昇レートガード値ＲｅＬｉｍを示す図である。図４では、モード１乃至モード３の場合でのエンジン回転数上昇レートガード値ＲｅＬｉｍ（以後、「設定値１」と呼ぶ。）と、モード４でのエンジン回転数上昇レートガード値ＲｅＬｉｍ（以後、「設定値２」と呼ぶ。）とについて示している。図４に示すように、同一のエンジン回転数で比較すると、設定値２は、設定値１に比べて小さい。このようにすることで、ＥＣＵ５０は、点火遅角による手段やＶＶＴ遅角による手段は実行できない場合であっても、エンジントルクを低下させることができる。
【００４７】
（タイムチャート）
次に、図５乃至図８に示すタイムチャートを用いてＥＣＵ５０が実行する処理について説明する。図５は、本実施形態の処理の概要を示すタイムチャートである。
【００４８】
図５は、上から順に、アクセル開度、エンジン回転数、エンジン回転数上昇レート、点火時期、ＶＶＴ進角量（ＶＶＴ位置）、第１のモータジェネレータＭＧ１のトルク（以後、「ＭＧ１トルク」と呼ぶ。）、駆動トルク、バッテリ６の放充電電力（以後、「バッテリ電力」と呼ぶ。）を示している。なお、図５において、グラフＢ２は、エンジン回転数の指令値に相当し、グラフＢ３は、実エンジン回転数に相当し、グラフＢ４は、要求エンジン回転数に相当する。そして、グラフＢ６は、実際の点火時期に相当し、グラフＢ７は、点火時期の目標値に相当（即ち、設定点火遅角量Ｌｂに相当）する。同様に、グラフＢ８は、実際のＶＶＴ進角量に相当し、グラフＢ９は、ＶＶＴ進角量の目標値に相当（即ち、設定ＶＶＴ遅角量Ｌｖに相当）する。そして、グラフＢ１１は、駆動トルクの要求値に相当し、グラフＢ１２は駆動トルクの実値に相当する。グラフＢ１３は、バッテリ電力の実値に相当（特に、正値が放電電力、負値が充電電力に相当）し、グラフＢ１４は、放電電力制限（以後、「放電電力制限Ｗｏｕｔ」と呼ぶ。）に相当し、グラフＢ１５は充電電力制限Ｗｉｎに相当する。
【００４９】
まず、タイムチャートの開始後、ユーザ操作等に基づきアクセル開度は徐々に大きくなる。そして、ＥＣＵ５０は、所定時刻ｔ１１でエンジン１の負荷運転を開始する。これにより、エンジン回転数の要求値は高くなる。
【００５０】
そして、時刻ｔ１１後の所定時刻ｔ１２では、要求エンジン回転数よりも実エンジン回転数が大きくなり、バッテリ電力も充電電力になる。このとき、制御実行グラフはＯＮになる。従って、時刻ｔ１２以後、ＥＣＵ５０は、車両１００の状態に応じて、モード１乃至モード４の処理のいずれか１つを実行する。各モードでの詳細なエンジン回転数、エンジン回転数上昇レート、点火時期、ＶＶＴ進角量、及びＭＧ１トルクのタイムチャートについては、後述する図７及び図８の説明で述べる。
【００５１】
そして、時刻ｔ１２後の所定時刻ｔ１３では、モード１乃至モード４のいずれか実行した処理が終了する。従って、このとき、制御実行フラグはＯＦＦになる。以上のように、時刻ｔ１２から時刻ｔ１３までにエンジントルクを低下させたことにより、ＥＣＵ５０は、要求エンジントルクと実エンジントルクとの偏差をなくし、過充電の発生を防いでいる。
【００５２】
次に、図６を用いて本発明を適用しなかった場合（以後、「比較例」と呼ぶ。）について説明する。図６は、比較例でのタイムチャートの一例である。
【００５３】
図６は、上から順に、アクセル開度、エンジン回転数、エンジン回転数上昇レート、点火時期、ＶＶＴ進角量、ＭＧ１トルク、駆動トルク、バッテリ電力を示している。なお、図６において、グラフＣ２は、エンジン回転数の指令値に相当し、グラフＣ３は、実エンジン回転数に相当し、グラフＣ４は、要求エンジン回転数に相当する。そして、グラフＣ６は、実際の点火時期に相当し、グラフＣ７は、目標点火時期に相当する。同様に、グラフＣ８は、実際のＶＶＴ進角量に相当し、グラフＣ９は、ＶＶＴ進角量の目標値に相当する。そして、グラフＣ１１は、駆動トルクの要求値に相当し、グラフＣ１２は駆動トルクの実値に相当する。グラフＣ１３は、バッテリ電力の実値に相当し、グラフＣ１４は、放電電力制限Ｗｏｕｔに相当し、グラフＣ１５は充電電力制限Ｗｉｎに相当する。
【００５４】
まず、タイムチャートの開始後、ユーザ操作等に基づきアクセル開度は徐々に大きくなる。そして、ＥＣＵ５０は、所定時刻ｔ２１でエンジン１の負荷運転を開始する。これにより、エンジン回転数の要求値は高くなる。
【００５５】
次に、時刻ｔ２１後の所定時刻ｔ２２では、アクセル開度の変化に伴い、エンジン回転数上昇レート及び要求エンジン回転数が低下すると共に、これを補償するためのフィードバック制御によりＭＧ１トルクが低下する（グラフＣ４、グラフＣ５、グラフＣ１０参照）。
【００５６】
そして、時刻ｔ２２以後の所定時刻ｔ２３では、要求エンジン回転数よりも実エンジン回転数が大きくなる（グラフＣ３、グラフＣ４参照）。また、時刻ｔ２３では、ＭＧ１トルクの負値が最大となる。これに伴い、時刻ｔ２３付近でバッテリ６に過充電が発生する（グラフＣ１３参照）。
【００５７】
そして、時刻ｔ２３以後の所定時刻ｔ２４では、再び要求エンジン回転数と実エンジン回転数とがほぼ同じになる。これにより、ＭＧ１トルクがフィードバック補償分だけ戻る。このとき、フィードバック制御に起因したＭＧ１トルクの変動は、図５に示す場合より大きくなっている。これに対し、本実施形態では、ＥＣＵ５０は、車両１００の状態に応じてモード１乃至モード４のいずれかの方法に従いエンジントルクを低下させることで、過充電を防ぐことができる。
【００５８】
次に、図７及び図８を用いてモード１からモード４についての詳細な処理を説明する。図７は、モード１からモード３についての詳細なタイムチャートの一例である。
【００５９】
図７は、上から順に、各モードで共通のエンジン回転数とＭＧ１トルク、モード１の場合の制御実行フラグと点火時期、モード２の場合の制御実行フラグと点火時期とＶＶＴ進角量、モード３の場合の制御実行フラグとＶＶＴ進角量を示している。なお、図７において、グラフＤ１は、エンジン回転数の指令値に相当し、グラフＤ２は、実エンジン回転数に相当し、グラフＤ３は、要求エンジン回転数に相当する。そして、グラフＤ４は、モード１乃至モード３のいずれかが実行された場合であって、かつ、フィードフォワード制御及びフィードバック制御がされた場合のＭＧ１トルクに相当し、グラフＤ５は、フィードフォワード制御のみ実施された場合のＭＧ１トルクに相当し、グラフＤ６は、比較例でフィードフォワード制御及びフィードバック制御がされた場合のＭＧ１トルクに相当する。そして、グラフＤ８は、モード１での実際の点火時期に相当し、グラフＤ９は、モード１での点火時期の目標値に相当する。グラフＤ１１は、モード２での実際の点火時期に相当し、グラフＤ１２は、モード２での点火時期の目標値に相当する。グラフＤ１３は、モード２での実際のＶＶＴ進角量を示し、グラフＤ１４は、ＶＶＴ進角量の目標値に相当する。そして、グラフＤ１６は、モード３での実際のＶＶＴ進角量に相当し、グラフＤ１７は、モード３でのＶＶＴ進角量の目標値に相当する。
【００６０】
まず、タイムチャートの開始後、ＥＣＵ５０は、時刻ｔ１１でエンジン１の負荷運転を開始する。これにより、エンジン回転数の要求値は高くなる。そして、時刻ｔ１２では、要求エンジン回転数よりも実エンジン回転数が大きくなり、バッテリ電力も充電電力になる。このとき、モード１乃至モード３での制御実行グラフはＯＮになる。
【００６１】
そして、制御実行グラフがＯＮになったことにより、モード１の場合、ＥＣＵ５０は、時刻ｔ１２から所定時間幅Ｔｗ１の間、点火時期の目標値を初期点火遅角量Ｌｂ０だけ遅角側へ移動させる（グラフＤ９参照）。これにより、点火時期の実値も初期点火遅角量Ｌｂ０だけ遅角側へ移動する（グラフＤ８参照）。
【００６２】
同様に、モード２の場合、制御実行フラグがＯＮになったことにより、ＥＣＵ５０は、時刻ｔ１２から所定時間幅Ｔｗ２の間、点火時期の目標値を初期点火遅角量Ｌｂ０だけ遅角側へ移動させる（グラフＤ１２参照）。同時に、ＥＣＵ５０は、所定時間幅Ｔｗ１の間、ＶＶＴ進角量の目標値を初期ＶＶＴ遅角量Ｌｖ０だけ遅角側へ移動させる（グラフＤ１４参照）。
【００６３】
また、モード３の場合では、制御実行フラグがＯＮになる前の所定時刻ｔ１１αから所定時間幅Ｔｗ３の間、ＥＣＵ５０は、ＶＶＴ進角量の目標値を初期ＶＶＴ遅角量Ｌｖ０だけ遅角側へ移動させる（グラフＤ１７参照）。従って、ここでは、一例として、ＥＣＵ５０は、制御実行フラグがＯＮになるのに先立って、ＶＶＴ進角量の目標値を変更している。
【００６４】
以上のモード１乃至モード３のいずれかの処理を実行することにより、時刻ｔ１２以降では、慣性分のエンジントルク低下に起因して、ＭＧ１トルクの変動が比較例に比べ小さい（グラフＤ４、グラフＤ６参照）。言い換えると、エンジントルクが下がり、要求エンジン回転数と実エンジン回転数との偏差が殆ど生じなくなる。そして、フィードバック制御に起因したＭＧ１トルクの変動がなくなり、バッテリ６の過充電が抑制される。一方、比較例の場合、要求エンジン回転数よりも実エンジン回転数が大きくなること等に起因して、時刻ｔ１２以後、ＭＧ１トルクが変動する（グラフＤ６参照）。これにより、バッテリ６の過充電が発生する。
【００６５】
次に、モード１では、ＥＣＵ５０は、所定時間幅Ｔｗ１にわたり点火時期の目標値を初期点火遅角量Ｌｂ０だけ遅角側へ固定した後、点火時期の目標値を元の点火時期の目標値へスイープアップさせる。同様に、モード２では、ＥＣＵ５０は、時刻ｔ１２から所定時間幅Ｔｗ２経過後、点火時期の目標値を元の点火時期の目標値へスイープアップさせると共に、時刻ｔ１２から所定時間幅Ｔｗ１経過後、ＶＶＴ遅角量の目標値を元のＶＶＴ遅角量の目標値へスイープアップさせる。モード３では、ＥＣＵ５０は、時刻ｔ１１αから所定時間幅Ｔｗ３経過後、ＶＶＴ遅角量の目標値を元のＶＶＴ遅角量の目標値へスイープアップさせる。
【００６６】
その後、時刻ｔ１３では、モード１乃至モード３のいずれの場合も、ＥＣＵ５０は、点火時期及びＶＶＴ進角量のスイープアップが完了し、制御実行フラグをＯＦＦに設定する。
【００６７】
以上のように、モード１乃至モード３では、ＥＣＵ５０は、適切にエンジントルクを減少させて過充電を防ぐことができる。なお、モード１及びモード２と同様に、モード３では、ＥＣＵ５０は、時刻ｔ１２から所定時間幅Ｔｗ３にわたってＶＶＴ進角量の目標値を初期ＶＶＴ遅角量Ｌｖ０だけ遅角側へ移動させてもよい。
【００６８】
次に、図８を用いてモード４の処理について説明する。図８は、モード４の詳細なタイムチャートの一例である。
【００６９】
図８は、上から順に、エンジン回転数、ＭＧ１トルク、エンジン回転数上昇レートを示している。なお、図８において、グラフＥ１は、要求エンジン回転数に相当し、グラフＥ２は、比較例での実エンジン回転数に相当し、グラフＥ３は、比較例でのエンジン回転数の指令値に相当し、グラフＥ４は、モード４での実エンジン回転数に相当し、グラフＥ５は、モード４でのエンジン回転数の指令値に相当する。また、グラフＥ６は、モード４が実行され、かつ、フィードフォワード制御及びフィードバック制御がされた場合のＭＧ１トルクに相当し、グラフＥ７は、フィードフォワード制御のみ実施された場合のＭＧ１トルクに相当する。グラフＥ８は、モード４でのエンジン回転数上昇レートに相当し、グラフＥ９は、比較例でのエンジン回転数上昇レートに相当する。
【００７０】
まず、タイムチャートの開始後、ＥＣＵ５０は、時刻ｔ１１でエンジン１の負荷運転を開始する。このとき、ＥＣＵ５０は、例えば図４に示すようなマップに従い、エンジン回転数上昇レートガード値ＲｅＬｉｍを通常よりも小さく設定する。従って、モード４の場合、比較例と比べ、時刻ｔ１１以後時刻ｔ１２の直前まで、エンジン回転数上昇レートが低い値で推移する。
【００７１】
そして、時刻ｔ１２では、アクセル開度が小さくなったこと等に伴い、要求エンジン回転数が減少する。そして、比較例では、要求エンジン回転数よりも実エンジン回転数の方が大きくなっている（グラフＥ１、グラフＥ２参照）。一方、モード４では、エンジン回転数上昇レートガード値の変更等に起因して、要求エンジン回転数に実エンジン回転数が達していない。
【００７２】
そして、時刻ｔ１２αにおいて、モード４では、要求エンジン回転数に実エンジン回転数が達する（グラフＥ４参照）。これに伴い、ＥＣＵ５０は、エンジン回転数上昇レートを下げる（グラフＥ８参照）。しかし、この場合であっても、モード４の場合、エンジン回転数上昇レートが小さく設定されていたことにより、慣性トルクが小さくなる。従って、ＭＧ１トルクのフィードバック制御による補償分も低減されている（グラフＥ６参照）。
【００７３】
以上のように、ＥＣＵ５０は、モード４によっても、エンジントルクを適切に下げ、過充電を防ぐことができる。
【００７４】
（処理フロー）
次に、本実施形態における処理の手順について説明する。ここでは、まず、本実施形態でＥＣＵ５０が行う処理手順の概要について説明した後、モード選択処理、モード１乃至モード４の各処理、そして、モード１乃至モード３で実行する制御実行判定制御１の処理について順に説明する。
【００７５】
１．概要
図９は、本実施形態における処理の概要を示すフローチャートである。ＥＣＵ５０は、フローチャートの処理を例えば所定の周期に従い繰り返し実行する。
【００７６】
まず、ＥＣＵ５０は、エンジン回転数上昇レートガード値ＲｅＬｉｍを設定値１に設定する（ステップＳ１０１）。即ち、ＥＣＵ５０は、図４に示すように、エンジン回転数上昇レートガード値ＲｅＬｉｍを通常の値に設定する。
【００７７】
次に、ＥＣＵ５０は、モード選択制御を開始する（ステップＳ１０２）。この処理については、後述する図１０の説明で述べる。
【００７８】
そして、ＥＣＵ５０は、モード１か否か判定する（ステップＳ１０３）。即ち、ＥＣＵ５０は、モード選択制御によりモード１を選択したか否か判定する。そして、モード１を選択した場合（ステップＳ１０３；Ｙｅｓ）、ＥＣＵ５０は、モード１の制御を開始する（ステップＳ１０６）。モード１の制御については、後述する図１１の説明で述べる。
【００７９】
一方、モード１でない場合（ステップＳ１０３；Ｎｏ）、ＥＣＵ５０は、次にモード２であるか否か判定する（ステップＳ１０４）。そして、モード２の場合（ステップＳ１０４；Ｙｅｓ）、ＥＣＵ５０は、モード２の制御を開始する（ステップＳ１０７）。モード２の制御については、後述する図１２の説明で述べる。
【００８０】
そして、モード２でない場合（ステップＳ１０４；Ｎｏ）、ＥＣＵ５０は、モード３か否か判定する（ステップＳ１０５）。そして、モード３の場合（ステップＳ１０５；Ｙｅｓ）、ＥＣＵ５０は、モード３の制御を開始する（ステップＳ１０８）。モード３の制御については、後述する図１３の説明で述べる。
【００８１】
次に、モード３でない場合（ステップＳ１０５；Ｎｏ）、ＥＣＵ５０は、モード４の制御を開始する（ステップＳ１０９）。モード４の制御については、後述する図１４の説明で述べる。
【００８２】
このように、ＥＣＵ５０は、モード１乃至モード４のいずれかを選択し実行することで、バッテリ６の過充電を確実に防ぐ。
【００８３】
２．モード選択
次に、ステップＳ１０２のモード選択制御でＥＣＵ５０が実行する処理を説明する。図１０は、モード選択処理の処理手順を示すフローチャートの一例である。
【００８４】
まず、ＥＣＵ５０は、触媒温度推定値Ｔｂが所定値Ｔｈ２以下か否か判定する（ステップＳ２０１）。所定値Ｔｈ２は、例えば、点火遅角に起因して触媒温度が高温になり触媒２０の劣化が進まないような温度の上限値に設定される。
【００８５】
そして、触媒温度推定値Ｔｂが所定値Ｔｈ２以下の場合（ステップＳ２０１；Ｙｅｓ）、ＥＣＵ５０は、次に、エンジン油温Ｔｏが所定値Ｔｈ３以上か否か判定する（ステップＳ２０２）。所定値Ｔｈ３は、例えば、可変バルブタイミング機構１４ｅの応答性が確保可能な温度の下限値に設定される。
【００８６】
そして、エンジン油温Ｔｏが所定値Ｔｈ３以上の場合（ステップＳ２０２；Ｙｅｓ）、ＥＣＵ５０は、モード２に設定する（ステップＳ２０５）。即ち、この場合、ＥＣＵ５０は、点火時期の遅角とＶＶＴ遅角とを両方実行できると判断する。一方、エンジン油温Ｔｏが所定値Ｔｈ３未満の場合（ステップＳ２０２；Ｎｏ）、ＥＣＵ５０は、モード１に設定する（ステップＳ２０４）。即ち、この場合、ＥＣＵ５０は、エンジン油温Ｔｏが可変バルブタイミング機構１４ｅの応答性の確保可能な温度に達していないと判断し、点火時期の遅角のみ実行する。
【００８７】
一方、触媒温度推定値Ｔｂが所定値Ｔｈ２より大きい場合（ステップＳ２０１；Ｎｏ）、ＥＣＵ５０は、エンジン油温Ｔｏが所定値Ｔｈ３以上であるか否か判定する（ステップＳ２０３）。そして、エンジン油温Ｔｏが所定値Ｔｈ３以上の場合（ステップＳ２０３；Ｙｅｓ）、ＥＣＵ５０は、モード３に設定する（ステップＳ２０６）。即ち、この場合、ＥＣＵ５０は、ＶＶＴ遅角のみ実行できると判断する。一方、エンジン油温Ｔｏが所定値Ｔｈ３未満の場合（ステップＳ２０３；Ｎｏ）、ＥＣＵ５０は、モード４に設定する（ステップＳ２０７）。即ち、この場合、ＥＣＵ５０は、点火時期の遅角とＶＶＴ遅角の両方とも実行できないと判断する。
【００８８】
このように、ＥＣＵ５０は、触媒温度推定値Ｔｂ及びエンジン油温Ｔｏに基づき、エンジントルクを低下させる手段を車両１００の状態に応じて適切に設定することができる。
【００８９】
３．モード１の処理
次に、ステップＳ１０６のモード１制御でＥＣＵ５０が実行する処理について説明する。図１１は、モード１の処理手順を示すフローチャートの一例である。
【００９０】
まず、ＥＣＵ５０は、制御実行判定制御１を実行する（ステップＳ３０１）。この処理の詳細については、後述する図１５の説明で述べる。
【００９１】
次に、ＥＣＵ５０は、制御実行フラグがＯＮであるか否かについて判定する（ステップＳ３０２）。なお、制御実行フラグは、制御実行判定制御１でＯＮとＯＦＦが切り替えられる。
【００９２】
そして、制御実行フラグがＯＮである場合（ステップＳ３０２；Ｙｅｓ）、ＥＣＵ５０は、今回で制御実行フラグがＯＮになったか否かについて判断する（ステップＳ３０３）。即ち、ＥＣＵ５０は、前回のフローチャートの実行時では、制御実行フラグがＯＦＦであり、今回のフローチャートの実行時に制御実行フラグがＯＮに切り替わったか否かについて判定する。一方、制御実行フラグがＯＮでない場合（ステップＳ３０２；Ｎｏ）、ＥＣＵ５０は、フローチャートの処理を終了する。
【００９３】
次に、ステップＳ３０３の処理で、今回で制御実行フラグがＯＮになったと判断した場合（ステップＳ３０３；Ｙｅｓ）、ＥＣＵ５０は、初期点火遅角量Ｌｂ０と、所定時間幅Ｔｗ１とをそれぞれ設定する（ステップＳ３０４）。一方、前回の処理から制御実行フラグがＯＮであったと判断した場合（ステップＳ３０３）、ＥＣＵ５０は、ステップＳ３０４の処理は実行せず、ステップＳ３０５へ処理を進める。
【００９４】
そして、ＥＣＵ５０は、制御実行後、所定時間幅Ｔｗ１が経過したか否かについて判定する（ステップＳ３０５）。即ち、この場合、ＥＣＵ５０は、ステップＳ３０４の処理後、所定時間幅Ｔｗ１が経過したか否か判断する。そして、制御実行後、所定時間幅Ｔｗ１が経過したと判断した場合（ステップＳ３０５；Ｙｅｓ）、ＥＣＵ５０は、ステップＳ３０８へ処理を進める。
【００９５】
一方、制御後、所定時間幅Ｔｗ１が経過していない場合（ステップＳ３０５；Ｎｏ）、ＥＣＵ５０は、初期点火遅角量Ｌｂ０を設定点火遅角量Ｌｂに設定する（ステップＳ３０６）。そして、ＥＣＵ５０は、設定点火遅角量Ｌｂに基づき点火遅角制御を実施する（ステップＳ３０７）。これにより、ＥＣＵ５０は、エンジントルクを低下させることができる。
【００９６】
そして、ＥＣＵ５０は、所定時間幅Ｔｗ１の経過後、設定点火遅角量Ｌｂをスイープアップさせる（ステップＳ３０８）。即ち、ＥＣＵ５０は、設定点火遅角量Ｌｂを徐々に進角側へ推移させる。
【００９７】
そして、ＥＣＵ５０は、設定点火遅角量Ｌｂがゼロになったか否か判定する（ステップＳ３０９）。これにより、ＥＣＵ５０は、点火時期がステップＳ３０６を実行する前の状態に戻ったか否か判断する。
【００９８】
そして、設定点火遅角量Ｌｂがゼロになった場合（ステップＳ３０９；Ｙｅｓ）、ＥＣＵ５０は、制御実行フラグをＯＦＦに設定する（ステップＳ３１０）。一方、設定点火遅角量Ｌｂがゼロではない場合（ステップＳ３０９；Ｎｏ）、ＥＣＵ５０は、設定点火遅角量Ｌｂに基づき点火遅角制御を実施する（ステップＳ３０７）。
【００９９】
このように、ＥＣＵ５０は、触媒温度推定値Ｔｂが所定値Ｔｈ２以下で、エンジン油温Ｔｏが所定値Ｔｈ３未満の場合には、点火時期を制御することにより、エンジントルクを低下させ、バッテリ６の過充電を抑制することができる。
【０１００】
４．モード２の処理
次に、ステップＳ１０７のモード２制御でＥＣＵ５０が実行する処理について説明する。図１２は、モード２の処理手順を示すフローチャートの一例である。なお、ステップＳ４０１乃至ステップＳ４０３の処理は、図１１のステップＳ３０１乃至ステップＳ３０３と同一であるため、以後では、ステップＳ４０４の処理から説明する。
【０１０１】
ＥＣＵ５０は、今回で制御実行フラグがＯＮになったと判断した場合（ステップＳ４０３；Ｙｅｓ）、初期点火遅角量Ｌｂ０と、初期ＶＶＴ遅角量Ｌｖ０と、所定時間幅Ｔｗ１、Ｔｗ２とをそれぞれ設定する（ステップＳ４０４）。このとき、所定時間幅Ｔｗ１は、所定時間幅Ｔｗ２よりも大きい値に設定される。
【０１０２】
そして、ＥＣＵ５０は、制御実行後、所定時間幅Ｔｗ２が経過したか否か判定する（ステップＳ４０５）。即ち、ＥＣＵ５０は、ステップＳ４０４の処理後、所定時間幅Ｔｗ２が経過したか否か判断する。そして、制御実行後、所定時間幅Ｔｗ２が経過した場合（ステップＳ４０５；Ｙｅｓ）、ステップＳ４０８へ処理を進める。
【０１０３】
一方、制御実行後、所定時間幅Ｔｗ２が経過していない場合（ステップＳ４０５；Ｎｏ）、ＥＣＵ５０は、初期点火遅角量Ｌｂ０を設定点火遅角量Ｌｂに設定する（ステップＳ４０６）。そして、ＥＣＵ５０は、設定点火遅角量Ｌｂに基づき点火遅角制御を実施する（ステップＳ４０７）。これにより、ＥＣＵ５０は、エンジントルクを低下させることができる。
【０１０４】
次に、ＥＣＵ５０は、設定点火遅角量Ｌｂをスイープアップさせる（ステップＳ４０８）。そして、ＥＣＵ５０は、設定点火遅角量Ｌｂがゼロになったか否か判定する（ステップＳ４０９）。そして、設定点火遅角量Ｌｂがゼロになった場合（ステップＳ４０９；Ｙｅｓ）、ＥＣＵ５０は、ステップＳ４１０へ処理を進める。一方、設定点火遅角量Ｌｂがゼロになっていないと判断した場合（ステップＳ４０９；Ｎｏ）、ＥＣＵ５０は、引き続きステップＳ４０７で設定点火遅角量Ｌｂに基づき点火遅角制御を実施する。
【０１０５】
次に、ＥＣＵ５０は、制御実行後、所定時間幅Ｔｗ１が経過したか否か判定する（ステップＳ４１０）。そして、制御実行後、所定時間幅Ｔｗ１が経過した場合（ステップＳ４１０；Ｙｅｓ）、ＥＣＵ５０は、ステップＳ４１３へ処理を進める。
【０１０６】
一方、制御実行後、所定時間幅Ｔｗ１が経過していない場合（ステップＳ４１０；Ｎｏ）、ＥＣＵ５０は、初期ＶＶＴ遅角量Ｌｖ０を設定ＶＶＴ遅角量Ｌｖに設定する（ステップＳ４１１）。そして、ＥＣＵ５０は、設定ＶＶＴ遅角量Ｌｖに基づきＶＶＴ遅角制御を実施する（ステップＳ４１２）。これにより、ＥＣＵ５０は、エンジントルクを低下させることができる。
【０１０７】
次に、ＥＣＵ５０は、制御実行後、所定時間幅Ｔｗ１が経過した場合、設定ＶＶＴ遅角量Ｌｖをスイープアップさせる（ステップＳ４１３）。そして、設定ＶＶＴ遅角量Ｌｖがゼロになった場合（ステップＳ４１４；Ｙｅｓ）、ＥＣＵ５０は、制御実行フラグをＯＦＦに設定する（ステップＳ４１５）。一方、設定ＶＶＴ遅角量Ｌｖがゼロではない場合（ステップＳ４１４；Ｎｏ）、即ち、設定ＶＶＴ遅角量Ｌｖをスイープアップ中の場合、ＥＣＵ５０は、継続して設定ＶＶＴ遅角量Ｌｖに基づきＶＶＴ遅角制御を実施する（ステップＳ４１２）。
【０１０８】
このように、ＥＣＵ５０は、触媒温度推定値Ｔｂが所定値Ｔｈ２以下で、かつ、エンジン油温Ｔｏが所定値Ｔｈ３以上の場合には、点火時期及びバルブタイミングを制御することにより、エンジントルクを低下させ、バッテリ６の過充電を抑制することができる。
【０１０９】
５．モード３の処理
次に、ステップＳ１０８のモード３制御でＥＣＵ５０が実行する処理について説明する。図１３は、モード３の処理手順を示すフローチャートの一例である。なお、ステップＳ５０１乃至ステップＳ５０３の処理は、図１１のステップＳ３０１乃至ステップＳ３０３と同一であるため、以後では、ステップＳ５０４の処理から説明する。
【０１１０】
ＥＣＵ５０は、今回で制御実行フラグがＯＮになったと判断した場合（ステップＳ５０３；Ｙｅｓ）、初期ＶＶＴ遅角量Ｌｖ０と、所定時間幅Ｔｗ３とをそれぞれ設定する（ステップＳ５０４）。このとき、所定時間幅Ｔｗ３は、所定時間幅Ｔｗ１及び所定時間幅Ｔｗ２よりも大きい値に設定される。
【０１１１】
次に、ＥＣＵ５０は、制御実行後、所定時間幅Ｔｗ３が経過したか否か判定する（ステップＳ５０５）。そして、所定時間幅Ｔｗ３が経過した場合（ステップＳ５０５；Ｙｅｓ）、ＥＣＵ５０は、ステップＳ５０８へ処理を進める。
【０１１２】
一方、所定時間幅Ｔｗ３が経過していない場合（ステップＳ５０５；Ｎｏ）、ＥＣＵ５０は、初期ＶＶＴ遅角量Ｌｖ０を設定ＶＶＴ遅角量Ｌｖに設定する（ステップＳ５０６）。そして、ＥＣＵ５０は、設定ＶＶＴ遅角量Ｌｖに基づきＶＶＴ遅角制御を実施する（ステップＳ５０７）。これにより、ＥＣＵ５０は、エンジントルクを低下させることができる。
【０１１３】
次に、ＥＣＵ５０は、制御実行後、所定時間幅Ｔｗ３が経過した場合には、設定ＶＶＴ遅角量Ｌｖをスイープアップさせる（ステップＳ５０８）。
【０１１４】
そして、設定ＶＶＴ遅角量Ｌｖがゼロになった場合（ステップＳ５０９；Ｙｅｓ）、制御実行フラグをＯＦＦに設定する（ステップＳ３１０）。一方、設定ＶＶＴ遅角量Ｌｖがゼロではないと判断した場合（ステップＳ５０９；Ｎｏ）、即ち、設定ＶＶＴ遅角量Ｌｖをスイープアップ中の場合、ＥＣＵ５０は、引き続き、設定ＶＶＴ遅角量Ｌｖに基づきＶＶＴ遅角制御を実施する（ステップＳ５０７）。
【０１１５】
このように、ＥＣＵ５０は、触媒温度推定値Ｔｂが所定値Ｔｈ２より大きく、かつ、エンジン油温Ｔｏが所定値Ｔｈ３以上の場合には、バルブタイミングを制御することにより、エンジントルクを低下させ、バッテリ６の過充電を抑制することができる。
【０１１６】
６．モード４の処理
次に、ステップＳ１０９のモード４制御でＥＣＵ５０が実行する処理について説明する。図１４は、モード４の処理手順を示すフローチャートの一例である。
【０１１７】
ＥＣＵ５０は、エンジン回転数上昇レートガード値ＲｅＬｉｍを設定値２に設定する（ステップＳ６０１）。即ち、ＥＣＵ５０は、図４に示すように、エンジン回転数上昇レートガード値ＲｅＬｉｍを通常時の値である設定値１よりも小さい値に設定する。これによっても、ＥＣＵ５０は、フィードバック制御に起因したＭＧ１トルクの変動を抑制することができる。
【０１１８】
このように、ＥＣＵ５０は、触媒温度推定値Ｔｂが所定値Ｔｈ２より大きく、かつ、エンジン油温Ｔｏが所定値Ｔｈ３未満の場合には、エンジン回転数上昇レートを制限することで、バッテリ６の過充電を抑制することができる。
【０１１９】
７．制御実行判定制御１の処理
次に、制御実行判定制御１の処理について説明する。図１５は、制御実行判定制御１でＥＣＵ５０が実行する処理手順のフローチャートの一例である。ＥＣＵ５０は、このフローチャートの処理を、ステップＳ３０１、ステップＳ４０１、及びステップＳ５０１でそれぞれ実行する。
【０１２０】
まず、ＥＣＵ５０は、実エンジン回転数が要求エンジン回転数よりも大きく、かつ、充電許容電力Ｗｉｎが所定値Ｔｈ４よりも大きいか否かについて判定する（ステップＳ７０１）。所定値Ｔｈ４は、例えば、図３に示すようなエンジン回転数上昇レートとＭＧ１回転数とのマップに基づき算出される。これにより、ＥＣＵ５０は、バッテリ６の過充電の発生を予測する。
【０１２１】
そして、実エンジン回転数が要求エンジン回転数よりも大きく、かつ、充電電力制限Ｗｉｎが所定値Ｔｈ４よりも大きい場合（ステップＳ７０１；Ｙｅｓ）、ＥＣＵ５０は、次に、制御実行フラグの前回値はＯＦＦであったか否かについて判定する（ステップＳ７０２）。そして、ＥＣＵ５０は、制御実行フラグの前回値がＯＦＦの場合（ステップＳ７０２；Ｙｅｓ）、制御開始フラグをＯＮにセットする（ステップＳ７０３）。これにより、モード１乃至モード３のいずれかで、エンジントルク低下処理が実行される。
【０１２２】
一方、実エンジン回転数が要求エンジン回転数以下、若しくは、充電電力制限Ｗｉｎが所定値Ｔｈ４以下の場合（ステップＳ７０１；Ｎｏ）、ＥＣＵ５０は、過充電のおそれはないと判断し、制御フラグを変更しない。同様に、制御実行フラグ前回値が既にＯＮの場合（ステップＳ７０２；Ｎｏ）、ＥＣＵ５０は、モード１乃至モード３のいずれかでエンジントルク低下処理が実行中であると判断し、制御開始フラグを変更しない。
【０１２３】
以上のようにすることで、ＥＣＵ５０は、過充電の発生を適切に予測し、過充電の発生のおそれがない場合には、不要なエンジントルク低下処理を抑制することができる。
【０１２４】
［変形例］
上述の説明では、ＥＣＵ５０は、モード１乃至モード３では、実エンジン回転数が要求エンジン回転数よりも大きく、かつ、充電電力制限Ｗｉｎが所定値Ｔｈ４よりも大きい場合、エンジントルク低下処理を実行した。即ち、ＥＣＵ５０は、制御実行判定制御１を実行することで、エンジントルク低下処理のタイミングを制御した。しかし、本発明が適用可能な方法はこれに限定されない。これに代えて、ＥＣＵ５０は、要求エンジン回転数の変化（以後、「Δ要求Ｎｅ」と呼ぶ。）が所定値（以後、「所定値Ｔｈ５」と呼ぶ。）より小さく、かつ、充電電力制限Ｗｉｎが所定値Ｔｈ４より大きく、かつ、要求エンジン回転数から実エンジン回転数を減じた値が所定値（以後、「所定値Ｔｈ６」と呼ぶ。）よりも小さい場合に、エンジントルク低下処理を実行してもよい。所定値Ｔｈ５及び所定値Ｔｈ６は、それぞれ、実験等により適切な値に設定される。これによっても、ＥＣＵ５０は、適切なタイミングでエンジントルク低下処理を実行することができる。以後、この制御を、「制御実行判定制御２」と呼ぶ。
【０１２５】
制御実行判定制御２にいて、フローチャートを用いてさらに説明する。図１６は、制御実行判定制御２でＥＣＵ５０が実行する処理手順のフローチャートの一例である。ＥＣＵ５０は、このフローチャートの処理を、ステップＳ４０１、ステップＳ５０１、及びステップＳ６０１でそれぞれ実行する。
【０１２６】
まず、ＥＣＵ５０は、Δ要求Ｎｅが所定値Ｔｈ５より小さく、充電電力制限Ｗｉｎが所定値Ｔｈ４よりも大きく、要求エンジン回転数から実エンジン回転数を減じた値が所定値Ｔｈ６よりも小さいか否か判定する（ステップＳ８０１）。そして、Δ要求Ｎｅが所定値Ｔｈ５より小さく、充電電力制限Ｗｉｎが所定値Ｔｈ４よりも大きく、要求エンジン回転数から実エンジン回転数を減じた値が所定値Ｔｈ６よりも小さい場合（ステップＳ８０１；Ｙｅｓ）、ＥＣＵ５０は、制御実行フラグ前回値がＯＦＦであるか否か判定する（ステップＳ８０２）。
【０１２７】
そして、ＥＣＵ５０は、制御実行フラグの前回値がＯＦＦの場合（ステップＳ８０２；Ｙｅｓ）、制御開始フラグをＯＮにセットする（ステップＳ８０３）。これにより、モード１乃至モード３のいずれかで、エンジントルク低下処理が実行される。
【０１２８】
一方、Δ要求Ｎｅが所定値Ｔｈ５以上、または、充電電力制限Ｗｉｎが所定値Ｔｈ４以下、または、要求エンジン回転数から実エンジン回転数を減じた値が所定値Ｔｈ６以上の場合（ステップＳ８０１；Ｎｏ）、ＥＣＵ５０は、過充電のおそれはないと判断し、制御フラグを変更しない。同様に、制御実行フラグ前回値が既にＯＮの場合（ステップＳ８０２；Ｎｏ）、ＥＣＵ５０は、モード１乃至モード３のいずれかでエンジントルク低下処理が実行中であると判断し、制御開始フラグを変更しない。
【０１２９】
以上によっても、ＥＣＵ５０は、過充電の発生を適切に予測し、過充電の発生のおそれがない場合には、不要なエンジントルク低下処理を抑制することができる。
【符号の説明】
【０１３０】
１  エンジン（内燃機関）
３  駆動輪
４  動力分割機構
５  インバータ
６  バッテリ
１２  スロットルバルブ
１４ｂ  吸気弁
１４ｄ  排気弁
１４ｅ  可変バルブタイミング機構
５０  ＥＣＵ
ＭＧ１  第１のモータジェネレータ
ＭＧ２  第２のモータジェネレータ
１００  ハイブリッド車両
【図１】
2010179677.tif 000003
【図２】
2010179677.tif 000004
【図３】
2010179677.tif 000005
【図４】
2010179677.tif 000006
【図５】
2010179677.tif 000007
【図６】
2010179677.tif 000008
【図７】
2010179677.tif 000009
【図８】
2010179677.tif 000010
【図９】
2010179677.tif 000011
【図１０】
2010179677.tif 000012
【図１１】
2010179677.tif 000013
【図１２】
2010179677.tif 000014
【図１３】
2010179677.tif 000015
【図１４】
2010179677.tif 000016
【図１５】
2010179677.tif 000017
【図１６】
2010179677.tif 000018