図1は、本発明の一実施例としてのハイブリッド自動車20の構成の概略を示す構成図である。実施例のハイブリッド自動車20は、図示するように、ガソリンや軽油などを燃料として動力を出力する内燃機関として構成されたエンジン22と、エンジン22を駆動制御するエンジン用電子制御ユニット(以下、エンジンECUという)24と、エンジン22の出力軸としてのクランクシャフト26にダンパ28を介して複数のピニオンギヤ33を連結したキャリア34が接続されると共に駆動輪63a,63bにデファレンシャルギヤ62とギヤ機構60とを介して連結された駆動軸としてのリングギヤ軸32aにリングギヤ32が接続されて遊星歯車機構として構成された3軸式の動力分配統合機構30と、例えば周知の同期発電電動機として構成されて動力分配統合機構30のサンギヤ31に回転子が接続されたモータMG1と、例えば周知の同期発電電動機として構成されて駆動軸としてのリングギヤ軸32aに減速ギヤ35を介して回転子が接続されたモータMG2と、モータMG1,MG2を駆動するためのインバータ41,42と、インバータ41,42を制御することによってモータMG1,MG2を駆動制御するモータ用電子制御ユニット(以下、モータECUという)40と、例えばリチウムイオン二次電池として構成されてインバータ41,42を介してモータMG1,MG2と電力をやりとりするバッテリ50と、例えばリチウムイオン二次電池として構成されてインバータ41,42を介してモータMG1,MG2と電力をやりとりするバッテリ50と、バッテリ50を管理するバッテリ用電子制御ユニット(以下、バッテリECUという)52と、車両全体を制御するハイブリッド用電子制御ユニット(以下、HVECUという)70と、を備える。
エンジンECU24は、図示しないが、CPUを中心とするマイクロプロセッサとして構成されており、CPUの他に、処理プログラムを記憶するROMやデータを一時的に記憶するRAM,入出力ポート,通信ポートを備える。エンジンECU24には、エンジン22の運転状態を検出する各種センサから信号、例えば、クランクシャフト26の回転位置を検出するクランクポジションセンサからのクランクポジションθcrやエンジン22の冷却水の温度を検出する水温センサからの冷却水温Tw,燃焼室内に取り付けられた圧力センサからの筒内圧力Pin,燃焼室へ吸排気を行なう吸気バルブや排気バルブを開閉するカムシャフトの回転位置を検出するカムポジションセンサからのカムポジションθca,スロットルバルブのポジションを検出するスロットルバルブポジションセンサからのスロットルポジションSP,吸気管に取り付けられたエアフローメータからの吸入空気量Qa,同じく吸気管に取り付けられた温度センサからの吸気温Ta,排気系に取り付けられた空燃比センサからの空燃比AF,同じく排気系に取り付けられた酸素センサからの酸素信号O2などが入力ポートを介して入力されており、エンジンECU24からは、エンジン22を駆動するための種々の制御信号、例えば、燃料噴射弁への駆動信号やスロットルバルブのポジションを調節するスロットルモータへの駆動信号,イグナイタと一体化されたイグニッションコイルへの制御信号,吸気バルブの開閉タイミングの変更可能な可変バルブタイミング機構への制御信号などが出力ポートを介して出力されている。また、エンジンECU24は、HVECU70と通信しており、HVECU70からの制御信号によりエンジン22を運転制御すると共に必要に応じてエンジン22の運転状態に関するデータをHVECU70に出力する。なお、エンジンECU24は、クランクシャフト26に取り付けられた図示しないクランクポジションセンサからの信号に基づいてクランクシャフト26の回転数、即ちエンジン22の回転数Neも演算している。
モータECU40は、図示しないが、CPUを中心とするマイクロプロセッサとして構成されており、CPUの他に、処理プログラムを記憶するROMやデータを一時的に記憶するRAM,入出力ポート,通信ポートを備える。モータECU40には、モータMG1,MG2を駆動制御するために必要な信号、例えばモータMG1,MG2の回転子の回転位置を検出する回転位置検出センサ43,44からの回転位置θm1,θm2や図示しない電流センサにより検出されるモータMG1,MG2に印加される相電流などが入力ポートを介して入力されており、モータECU40からは、インバータ41,42の図示しないスイッチング素子へのスイッチング制御信号などが出力ポートを介して出力されている。また、モータECU40は、HVECU70と通信しており、HVECU70からの制御信号によってモータMG1,MG2を駆動制御すると共に必要に応じてモータMG1,MG2の運転状態に関するデータをHVECU70に出力する。なお、モータECU40は、回転位置検出センサ43,44からのモータMG1,MG2の回転子の回転位置θm1,θm2に基づいてモータMG1,MG2の回転角速度ωm1,ωm2や回転数Nm1,Nm2を演算したり、モータMG2の回転角速度ωm2に基づいてモータMG2の回転軸に換算した駆動輪38a,38bの回転角速度としての駆動輪回転角速度ωbを演算したりしている。なお、駆動輪回転角速度ωbは、モータMG2から駆動輪38a,38bの間の特性に限定することにより得られる2慣性系の制御系設計モデルに対して制御サンプル時間で0次ホールドを用いて離散化したモデルを用いて演算するものとしたり、駆動輪38a,38bに車輪速センサを取り付けて車輪速センサからの信号に基づいて演算するものとしたりすることができる。
バッテリECU52は、図示しないが、CPUを中心とするマイクロプロセッサとして構成されており、CPUの他に、処理プログラムを記憶するROMやデータを一時的に記憶するRAM,入出力ポート,通信ポートを備える。バッテリECU52には、バッテリ50を管理するのに必要な信号、例えば、バッテリ50の端子間に設置された図示しない電圧センサからの端子間電圧Vbやバッテリ50の出力端子に接続された電力ラインに取り付けられた図示しない電流センサからの充放電電流Ib,バッテリ50に取り付けられた図示しない温度センサからの電池温度Tbなどが入力されており、必要に応じてバッテリ50の状態に関するデータを通信によりHVECU70に送信する。また、バッテリECU52は、バッテリ50を管理するために、電流センサにより検出された充放電電流Ibの積算値に基づいてそのときのバッテリ50から放電可能な電力の容量の全容量に対する割合である蓄電割合SOCを演算したり、演算した蓄電割合SOCと電池温度Tbとに基づいてバッテリ50を充放電してもよい最大許容電力である入出力制限Win,Woutを演算したりしている。なお、バッテリ50の入出力制限Win,Woutは、電池温度Tbに基づいて入出力制限Win,Woutの基本値を設定し、バッテリ50の蓄電割合SOCに基づいて出力制限用補正係数と入力制限用補正係数とを設定し、設定した入出力制限Win,Woutの基本値に補正係数を乗じることにより設定することができる。
HVECU70は、CPU72を中心とするマイクロプロセッサとして構成されており、CPU72の他に、処理プログラムを記憶するROM74やデータを一時的に記憶するRAM76,入出力ポート,通信ポートを備える。HVECU70には、イグニッションスイッチ80からのイグニッション信号やシフトレバー81の操作位置を検出するシフトポジションセンサ82からのシフトポジションSP,アクセルペダル83の踏み込み量を検出するアクセルペダルポジションセンサ84からのアクセル開度Acc,ブレーキペダル85の踏み込み量を検出するブレーキペダルポジションセンサ86からのブレーキペダルポジションBP,車速センサ88からの車速Vなどが入力ポートを介して入力されている。HVECU70は、前述したように、エンジンECU24やモータECU40,バッテリECU52と通信ポートを介して接続されており、エンジンECU24やモータECU40,バッテリECU52と各種制御信号やデータのやりとりを行なっている。
こうして構成された実施例のハイブリッド自動車20では、運転者によるアクセルペダルの踏み込み量に対応するアクセル開度Accと車速Vとに基づいて駆動軸としてのリングギヤ軸32aに出力すべき要求トルクTr*を計算し、この要求トルクTr*に対応する要求動力がリングギヤ軸32aに出力されるように、エンジン22とモータMG1とモータMG2とが運転制御される。エンジン22とモータMG1とモータMG2との運転制御としては、要求動力に見合う動力がエンジン22から出力されるようにエンジン22を運転制御すると共にエンジン22から出力される動力のすべてが動力分配統合機構30とモータMG1とモータMG2とによってトルク変換されてリングギヤ軸32aに出力されるようモータMG1およびモータMG2を駆動制御するトルク変換運転モードや、要求動力とバッテリ50の充放電に必要な電力との和に見合う動力がエンジン22から出力されるようにエンジン22を運転制御すると共にバッテリ50の充放電を伴ってエンジン22から出力される動力の全部またはその一部が動力分配統合機構30とモータMG1とモータMG2とによるトルク変換を伴って要求動力がリングギヤ軸32aに出力されるようモータMG1およびモータMG2を駆動制御する充放電運転モード,エンジン22の運転を停止してモータMG2からの要求動力に見合う動力をリングギヤ軸32aに出力するよう運転制御するモータ運転モードなどがある。なお、トルク変換運転モードと充放電運転モードとは、いずれもエンジン22の運転を伴って要求動力がリングギヤ軸32aに出力されるようエンジン22とモータMG1とモータMG2とを制御するモードであり、実質的な制御における差異はないため、以下、両者を合わせてエンジン運転モードという。
次に、こうして構成された実施例のハイブリッド自動車20の動作について説明する。図2は、実施例のHVECU70により実行される駆動制御ルーチンの一例を示すフローチャートである。このルーチンは、所定時間毎(例えば数msec毎)に繰り返し実行される。
駆動制御ルーチンが実行されると、HVECU70のCPU72は、まず、アクセルペダルポジションセンサ84からのアクセル開度Accや車速センサ88からの車速V,エンジン22の回転数Ne,モータMG1,MG2の回転数Nm1,Nm2,バッテリ50の入出力制限Win,Woutなど制御に必要なデータを入力する処理を実行する(ステップS100)。ここで、モータMG1,MG2の回転数Nm1,Nm2は、回転位置検出センサ43,44により検出されたモータMG1,MG2の回転子の回転位置θm1,θm2に基づいて演算されたものをモータECU40から通信により入力するものとした。また、バッテリ50の入出力制限Win,Woutは、バッテリ50の電池温度Tbとバッテリ50の蓄電割合SOCとに基づいて設定されたものをバッテリECU52から通信により入力するものとした。
こうしてデータを入力すると、入力したアクセル開度Accと車速Vとに基づいて駆動軸としてのリングギヤ軸32aに出力すべき要求トルクTr*を設定すると共に、設定した要求トルクTr*に基づいてエンジン22から出力すべきパワーとしての要求パワーPe*を計算する(ステップS110)。ここで、要求トルクTr*は、実施例では、アクセル開度Accと車速Vと要求トルクTr*との関係を予め定めて要求トルク設定用マップとしてROM74に記憶しておき、アクセル開度Accと車速Vとが与えられると記憶したマップから対応する要求トルクTr*を導出して設定するものとした。要求トルク設定用マップの一例を図3に示す。また、要求パワーPe*は、要求トルクTr*にリングギヤ軸32aの回転数Nrを乗じたものからバッテリ50の蓄電割合SOCに基づいて得られるバッテリ50の充放電要求パワーPb*(バッテリ50から放電するときが正の値)を減じてさらにロスLossを加えて計算することができる。ここで、リングギヤ軸32aの回転数Nrは、モータMG2の回転数Nm2を減速ギヤ35のギヤ比Grによって除して求めたり、車速Vに換算係数を乗じて求めたりすることができる。
続いて、エンジン22を効率よく運転するための動作ライン(以下、効率優先動作ラインという)のうちエンジン22の運転によって生じる騒音や振動が乗員に違和感を与える領域(低回転数高トルクの領域、以下、騒音振動領域という)内の部分を騒音振動領域より高回転数低トルク側に変更した動作ライン(以下、NV(ノイズ・バイブレーション)抑制ラインという)にエンジン22の要求パワーPe*を適用してNV抑制動作ライン上のエンジン22の運転ポイント(以下、NV抑制運転ポイントという)としてのNV抑制回転数Netag1およびNV抑制トルクTetag1を設定する(ステップS120)。エンジン22のNV抑制動作ラインの一例とNV抑制回転数Netag1およびNV抑制トルクTetag1を設定する様子とを図4に示す。騒音振動領域は、図示するように、低回転数高トルクの領域として設定されている。また、NV抑制動作ラインは、図示するように、効率優先動作ライン(NV抑制動作ラインのうち騒音振動領域の外縁に沿った部分を除いてNV抑制動作ラインを円滑に結ぶ二点鎖線の部分を加えたもの)から騒音振動領域内の二点鎖線の部分を騒音振動領域より高回転数低トルク側に変更したものとして設定されている。NV抑制回転数Netag1およびNV抑制トルクTetag1は、図示するように、NV抑制動作ラインと要求パワーPe*(=Netag1・Tetag1)が一定の曲線との交点により求めることができる。
そして、次式(1)により、設定したNV抑制回転数Netag1を前回の本ルーチンの実行時に設定したエンジン22の実行用回転数(前回Ne*)に所定値αを加えた値(前回Ne*+α)および前回の実行用回転数(前回Ne*)から所定値αを減じた値(前回Ne*−α)で制限してエンジン22の実行用回転数Ne*を設定すると共に設定した実行用回転数Ne*でエンジン22の要求パワーPe*を除してエンジン22の実行用トルクTe*を計算する(ステップS130)。ここで、所定値αは、エンジン22の実行用回転数Ne*の本ルーチンの実行間隔での変化許容値(レート値)を定めるものであり、エンジン22の応答性などを考慮して実験や解析などによって定めることができる。以下、エンジン22の実行用回転数Ne*および実行用トルクTe*からなる運転ポイントを実行用運転ポイントという。
Ne*=max(min(Netag1,前回Ne*+α),前回Ne*-α) (1)
続いて、エンジン22の実行用回転数Ne*とモータMG2の回転数Nm2と動力分配統合機構30のギヤ比ρと減速ギヤ35のギヤ比Grとを用いて次式(2)によりモータMG1の目標回転数Nm1*を計算すると共に計算したモータMG1の目標回転数Nm1*と入力したモータMG1の回転数Nm1とエンジン22の実行用トルクTe*と動力分配統合機構30のギヤ比ρとを用いて式(3)によりモータMG1から出力すべきトルクとしてのトルク指令Tm1*を計算する(ステップS140)。ここで、式(1)は、動力分配統合機構30の回転要素に対する力学的な関係式である。エンジン22からパワーを出力しながら走行しているときの動力分配統合機構30の回転要素における回転数とトルクとの力学的な関係を示す共線図の一例を図5に示す。図中、左のS軸はモータMG1の回転数Nm1であるサンギヤ31の回転数を示し、C軸はエンジン22の回転数Neであるキャリア34の回転数を示し、R軸はモータMG2の回転数Nm2を減速ギヤ35のギヤ比Grで除した回転数であるリングギヤ32(リングギヤ軸32a)の回転数Nrを示す。なお、R軸上の2つの太線矢印は、モータMG1から出力されて動力分配統合機構30を介してリングギヤ軸32aに作用するトルク(−Tm1/ρ)と、モータMG2から出力されて減速ギヤ35を介してリングギヤ軸32aに作用するトルク(Tm2/Gr)とを示す。式(2)は、この共線図を用いれば容易に導くことができる。また、式(3)は、モータMG1の回転数Nm1が目標回転数Nm1*となるよう(エンジン22の回転数Neが実行用回転数Ne*となるよう)にするためのフィードバック制御の関係式であり、式(3)中、右辺第2項の「k1」は比例項のゲインであり、右辺第3項の「k2」は積分項のゲインである。
Nm1*=Ne*・(1+ρ)/ρ-Nm2/(Gr・ρ) (2)
Tm1*=-ρ・Te*/(1+ρ)+k1・(Nm1*-Nm1)+k2・∫(Nm1*-Nm1)dt (3)
そして、次式(4)により要求トルクTr*にモータMG1のトルク指令Tm1*を動力分配統合機構30のギヤ比ρで除したものを加えてさらに減速ギヤ35のギヤ比Grで除してモータMG2から出力すべきトルクの仮の値としての仮トルクTm2tmpを計算し(ステップS150)、式(5)および式(6)によりバッテリ50の入出力制限Win,WoutとモータMG1のトルク指令Tm1*に回転数Nm1を乗じて得られるモータMG1の消費電力(発電電力)との差分をモータMG2の回転数Nm2で除してモータMG2から出力してもよいトルクの上下限としてのトルク制限Tm2min,Tm2maxを計算し(ステップS160)、式(7)により仮トルクTm2tmpをトルク制限Tm2min,Tm2maxで制限してモータMG2から出力すべきトルクとしてのトルク指令Tm2*を設定する(ステップS170)。ここで、式(4)は、図5の共線図から容易に導くことができる。
Tm2tmp=(Tr*+Tm1*/ρ)/Gr (4)
Tm2min=(Win-Tm1*・Nm1)/Nm2 (5)
Tm2max=(Wout-Tm1*・Nm1)/Nm2 (6)
Tm2*=max(min(Tm2tmp,Tm2max),Tm2min) (7)
次に、モータMG2のトルク指令Tm2*を閾値Trefおよび閾値(−Tref)と比較する(ステップS180)。ここで、閾値Trefおよび閾値(−Tref)は、減速ギヤ35などで歯打ちによる異音が生じ得る範囲である異音トルク範囲の上限および下限として定められ、閾値Trefは、例えば、2Nmや3Nm,5Nmなどの値を用いることができる。モータMG2から出力されるトルクが値0近傍で推移する(モータMG2が値0近傍のトルクで継続して駆動される)と、若干のアクセル開度Accの変化などによってモータMG2から出力されるトルクが値0を跨いで反転し、減速ギヤ35などで歯打ちによる異音を生じることがある。ステップS180の処理は、NV抑制運転ポイントに追従して移動する実行用運転ポイントでエンジン22が運転されながら要求トルクTr*に基づくトルクがリングギヤ軸32aに出力されるようエンジン22とモータMG1,MG2とを制御すると減速ギヤ35などで歯打ちによる異音が生じ得る異音条件が成立しているか否かを判定する処理である。
モータMG2のトルク指令Tm2*が閾値(−Tref)より小さいときや閾値Trefより大きいときには、異音条件は成立していないと判断し、エンジン22の実行用回転数Ne*と実行用トルクTe*とについてはエンジンECU24に送信し、モータMG1,MG2のトルク指令Tm1*,Tm2*についてはモータECU40に送信して(ステップS290)、本ルーチンを終了する。エンジン22の実行用回転数Ne*と実行用トルクTe*とを受信したエンジンECU24は、エンジン22が実行用回転数Ne*と実行用トルクTe*とからなる実行用運転ポイントで運転されるようにエンジン22における吸入空気量制御や燃料噴射制御,点火制御などの制御を行なう。また、モータMG1,MG2のトルク指令Tm1*,Tm2*を受信したモータECU40は、トルク指令Tm1*でモータMG1が駆動されると共にトルク指令Tm2*でモータMG2が駆動されるようインバータ41,42のスイッチング素子のスイッチング制御を行なう。こうした制御により、異音条件が成立していないときには、NV抑制運転ポイント(NV抑制回転数Netag1,NV抑制トルクTetag1)に追従して移動する実行用運転ポイント(実行用回転数Ne*,実行用トルクTe*)でエンジン22が運転されながら要求トルクTr*に基づくトルクがリングギヤ軸32aに出力されるようエンジン22とモータMG1,MG2とを制御することになる。
一方、モータMG2のトルク指令Tm2*が閾値(−Tref)以上で閾値Tref以下のときには、異音条件が成立していると判断し、減速ギヤ35などでの歯打ちによる異音を抑制するためにNV抑制動作ラインの一部を高回転数低トルク側に変更した動作ライン(以下、異音抑制動作ラインという)にエンジン22の要求パワーPe*を適用して異音抑制動作ライン上のエンジン22の運転ポイント(以下、異音抑制運転ポイントという)としての異音抑制回転数Netag2および異音抑制トルクTetag2を設定する(ステップS190)。エンジン22の異音抑制動作ラインの一例と異音抑制回転数Netag2および異音抑制トルクTetag2を設定する様子とを図6に示す。なお、図6では、参考のために、NV抑制動作ラインについても一点鎖線で図示した。異音抑制動作ラインは、図示するように、回転数Neが所定回転数Neref未満の領域では同一の要求パワーPe*に対してNV抑制動作ラインよりも回転数が大きくなる傾向に設定され、回転数Neが所定回転数Neref以上の領域では効率優先動作ラインと同一に設定されている。これは以下の理由による。回転数Neが所定回転数Neref未満の領域については、エンジン22の回転数を大きくすると共にトルクを小さくして、エンジン22から動力分配統合機構30,リングギヤ軸32aを介して減速ギヤ35に伝達されるトルク変動を抑制することにより、モータMG2から出力されるトルクの変動によって減速ギヤ35で歯打ちを生じる場合でもその程度を抑制するためである。また、回転数Neが所定回転数Neref以上の領域については、通常、この領域でエンジン22の運転ポイントが設定されるときには要求トルクTr*や要求パワーPe*が比較的大きいことから、モータMG2から出力されるトルクが異音トルク範囲内となる可能性が低く、減速ギヤ35などで歯打ちによる異音が生じ得る可能性が低いと考えられるためである。詳細は後述するが、異音条件の成立が継続しているときには、この異音抑制運転ポイント(異音抑制回転数Netag2,異音抑制トルクTetag2)に追従して移動する実行用運転ポイント(実行用回転数Ne*,実行用トルクTe*)でエンジン22が運転されながら要求トルクTr*に基づくトルクがリングギヤ軸32aに出力されるようエンジン22とモータMG1,MG2とを制御する。
次に、異音条件が非成立から成立になったときに初期値として値0が設定されると共に後述の移行時目標運転ポイントの異音抑制運転ポイントへの移動(移行時目標回転数Nechの異音抑制回転数Netag2への移動)が完了したときに値1が設定される移行完了フラグFの値を調べる(ステップS200)。以下、説明の都合上、まず、移行完了フラグFが値1のときについて説明し、その後、移行完了フラグFが値0のときについて説明する。
移行完了フラグFが値1のときには、上述の式(1)の右辺の「Netag1」を「Netag2」に置き換えたものにより、異音抑制回転数Netag2を値(前回Ne*+α),(前回Ne*−α)で制限してエンジン22の実行用回転数Ne*を再設定すると共に設定した実行用回転数Ne*でエンジン22の要求パワーPe*を除してエンジン22の実行用トルクTe*を再計算し(ステップS270)、上述のステップS140〜S170の処理と同様の処理によってモータMG1,MG2のトルク指令Tm1*,Tm2*を再設定し(ステップS280)、エンジン22の実行用回転数Ne*や実行用トルクTe*,モータMG1,MG2のトルク指令Tm1*,Tm2*をエンジンECU24やモータECU40に送信して(ステップS290)、本ルーチンを終了する。この場合、異音抑制運転ポイント(異音抑制回転数Netag2,異音抑制トルクTetag2)に追従して移動する実行用運転ポイント(実行用回転数Ne*,実行用トルクTe*)でエンジン22が運転されながら要求トルクTr*に基づくトルクがリングギヤ軸32aに出力されるようエンジン22とモータMG1,MG2とを制御することになる。
一方、移行完了フラグFが値0のときには、モータMG2の前回のトルク指令(前回Tm2*)を閾値Trefおよび閾値(−Tref)と比較する(ステップS210)。この処理は、異音条件が非成立から成立になったときであるか否かを判定する処理である。モータMG2の前回のトルク指令(前回Tm2*)が閾値(−Tref)未満のときや閾値Trefより大きいときには、異音条件が非成立から成立になったときであると判断し、NV抑制回転数Netag1とNV抑制回転数Netag1に基づく実行用回転数Ne*(ステップS130で設定した実行用回転数Ne*)とのうち大きい方をエンジン22の移行時目標回転数Nechとして設定すると共に設定した移行時目標回転数Nechで要求パワーPe*を除して移行時目標トルクTechを設定し(ステップS220)、上述の式(1)の右辺の「Netag1」を「Nech」に置き換えたものにより、移行時目標回転数Nechを値(前回Ne*+α),(前回Ne*−α)で制限してエンジン22の実行用回転数Ne*を再設定すると共に設定した実行用回転数Ne*でエンジン22の要求パワーPe*を除してエンジン22の実行用トルクTe*を再計算し(ステップS260)、上述のステップS140〜S170の処理と同様の処理によってモータMG1,MG2のトルク指令Tm1*,Tm2*を再設定し(ステップS280)、エンジン22の実行用回転数Ne*や実行用トルクTe*,モータMG1,MG2のトルク指令Tm1*,Tm2*をエンジンECU24やモータECU40に送信して(ステップS290)、本ルーチンを終了する。以下、移行時目標回転数Nechと移行時目標トルクTechとからなる運転ポイントを移行時目標運転ポイントという。また、ステップS220の処理は、移行時目標運転ポイントを異音抑制運転ポイントに向けて移動させる際の移行時目標運転ポイントの初期値を設定する処理、具体的には、NV抑制回転数Netag1が実行用回転数Ne*以上のときにはNV抑制運転ポイント(NV抑制回転数Netag1,NV抑制トルクTetag1)を初期値として設定し、実行用回転数Ne*がNV抑制回転数Netag1より大きいときには実行用運転ポイント(実行用回転数Ne*,実行用トルクTe*)を初期値として設定する処理である。
ステップS210でモータMG2の前回のトルク指令(前回Tm2*)が閾値(−Tref)以上で閾値Tref以下のときには、異音条件が非成立が成立になったときでない(異音条件の成立が継続している)と判断し、次式(8)により、異音抑制回転数Netag2を前回の移行時目標回転数(前回Nech)に所定値βを加えた値(前回Nech+β)および前回の移行時目標回転数(前回Nech)から所定値βを減じた値(前回Nech−β)で制限してエンジン22の移行時目標回転数Nechを設定すると共に設定した移行時目標回転数Nechで要求パワーPe*を除してエンジン22の移行時目標トルクTechを設定し(ステップS230)、設定した移行時目標回転数Nechと異音抑制回転数Netag2とを比較し(ステップS240)、移行時目標回転数Nechと異音抑制回転数Netag2とが一致していないときには、移行時目標運転ポイントの異音抑制運転ポイントへの移動を完了していないと判断し、移行完了フラグFに値1を設定せずに、移行時目標回転数Nechを値(前回Ne*+α),(前回Ne*−α)で制限してエンジン22の実行用回転数Ne*を再設定すると共に設定した実行用回転数Ne*でエンジン22の要求パワーPe*を除してエンジン22の実行用トルクTe*を再計算し(ステップS260)、上述のステップS140〜S170の処理と同様の処理によってモータMG1,MG2のトルク指令Tm1*,Tm2*を再設定し(ステップS280)、エンジン22の実行用回転数Ne*や実行用トルクTe*,モータMG1,MG2のトルク指令Tm1*,Tm2*をエンジンECU24やモータECU40に送信して(ステップS290)、本ルーチンを終了する。ここで、変化許容値βは、エンジン22の移行時目標回転数Nechの本ルーチンの実行間隔での変化許容値(レート値)を定めるものであり、エンジン22の応答性などを考慮して実験や解析などによって定めることができる。このようにして、異音条件の成立が継続しているときには、移行時目標運転ポイントを異音抑制運転ポイントに徐々に近づける(移行時目標回転数Nechを異音抑制回転数Netag2に近づけていく)と共に実行用運転ポイントを移行時目標運転ポイントに追従して移動させるのである。
Nech=max(min(Netag2,前回Nech+β),前回Nech-β) (8)
そして、ステップS240で移行時目標回転数Nechと異音抑制回転数Netag2とが一致していると判定されると、移行時目標運転ポイントの異音抑制運転ポイントが完了したと判断し、移行完了フラグFに値1を設定し(ステップS270)、移行時目標回転数Nechを値(前回Ne*+α),(前回Ne*−α)で制限してエンジン22の実行用回転数Ne*を再設定すると共に設定した実行用回転数Ne*でエンジン22の要求パワーPe*を除してエンジン22の実行用トルクTe*を再計算し(ステップS260)、上述のステップS140〜S170の処理と同様の処理によってモータMG1,MG2のトルク指令Tm1*,Tm2*を再設定し(ステップS280)、エンジン22の実行用回転数Ne*や実行用トルクTe*,モータMG1,MG2のトルク指令Tm1*,Tm2*をエンジンECU24やモータECU40に送信して(ステップS290)、本ルーチンを終了する。こうして移行完了フラグFに値1が設定されると、異音条件の成立が継続していれば、次回以降にはステップS200で移行完了フラグFが値1であると判定され、異音抑制運転ポイントに追従して移動するよう実行用運転ポイントを設定することになる。
図7は、エンジン22のNV抑制回転数Netag1,異音抑制回転数Netag2,移行時目標回転数Nech,実行用回転数Ne*,実際の回転数(実回転数Ne)の時間変化の様子の一例を示す説明図である。図中、2段目は、異音条件が非成立から成立になった時刻t1に、NV抑制回転数Netag1とNV抑制回転数Netag1に基づく実行用回転数Ne*とのうち大きい方を移行時目標回転数Nechの初期値とする実施例の様子を示し、3段目は、時刻t1に、NV抑制回転数Netag1を移行時目標回転数Nechの初期値とする比較例の様子を示す。また、上述したように、実行用回転数Ne*は、異音条件が成立していないときには、NV抑制回転数Netag1に追従して移動するよう設定され、異音条件が成立しているときには、移行時目標回転数Nechが異音抑制回転数Netag2に至るまでは移行時目標回転数Nechに追従して移動するよう設定されると共に移行時目標回転数Nechが異音抑制回転数Netag2に至った後は異音抑制回転数Netag2に追従して移動するよう設定される。図中3段目の比較例に示すように、時刻t1にNV抑制回転数Netag1を移行時目標回転数Nechの初期値としてその後に移行時目標回転数Nechを異音抑制回転数Netag2に向けて変化させると、実行用回転数Ne*が移行時目標回転数Nechより大きい間は実行用回転数Ne*が低下する(NV抑制回転数Netag1側に変化する)ことになるから、実行用回転数Ne*が異音抑制回転数Netag2に至るのに要する時間が長くなると共に実際の回転数(実Ne)の低下量が比較的大きくなってしまう場合がある。これに対して、図中2段目の実施例に示すように、時刻t1にNV抑制回転数Netag1とNV抑制回転数Netag1に基づく実行用回転数Ne*とのうち大きい方を移行時目標回転数Nechの初期値としてその後に移行時目標回転数Nechを異音抑制回転数Netag2に向けて変化させると、時刻t1において実行用回転数Ne*がNV抑制回転数Netag1より大きいときに、比較例に比して、実行用回転数Ne*が異音抑制回転数Netag2に至るのに要する時間を短縮することができ、実際の回転数(実Ne)の低下量を抑制することができる。
以上説明した実施例のハイブリッド自動車20によれば、エンジン22の要求パワーPe*とNV抑制動作ラインとを用いて得られるNV抑制運転ポイント(NV抑制回転数Netag1,NV抑制トルクTetag1)に追従して移動するよう実行用運転ポイント(実行用回転数Ne*,実行用トルクTe*)を設定してその実行用運転ポイントでエンジン22が運転されながら要求トルクTr*に基づくトルクがリングギヤ軸32aに出力されるようエンジン22とモータMG1,MG2とを制御すると減速ギヤ35などで歯打ちによる異音が生じ得る異音条件が成立しているときには、異音条件が非成立から成立になったときのNV抑制運転ポイントと実行用運転ポイントとのうち回転数の大きい方から、要求パワーPe*と異音抑制動作ラインとを用いて得られる異音抑制運転ポイント(異音抑制回転数Netag2,異音抑制トルクTetag2)に向けて移動する移行時目標運転ポイント(移行時目標回転数Nech,移行時目標トルクTech)に追従して移動するよう実行用運転ポイントを設定してその実行用運転ポイントでエンジン22が運転されながら要求トルクTr*に基づくトルクがリングギヤ軸32aに出力されるようエンジン22とモータMG1,MG2とを制御するから、異音条件が非成立から成立になったときのNV抑制運転ポイントと実行用運転ポイントとの位置関係に拘わらずNV抑制運転ポイントから異音抑制運転ポイントに向けて移動する移行時目標運転ポイントに追従して移動するよう実行用運転ポイントを設定するものに比して、異音条件が非成立から成立になったときに実行用回転数Ne*がNV抑制回転数Netag1より大きいときに、実行用運転ポイントの異音抑制運転ポイントへの移動に要する時間を短縮することができる。この結果、この移行時のエンジン22の回転数Neの変動を抑制することができる。
実施例のハイブリッド自動車20では、移行時目標運転ポイントを異音抑制運転ポイントに向けて移動させる際、上述の式(8)に示すように、異音抑制回転数Netag2を前回の移行時目標回転数(前回Nech)に所定値βを加えた値(前回Nech+β)および前回の移行時目標回転数(前回Nech)から所定値βを減じた値(前回Nech−β)で制限してエンジン22の移行時目標回転数Nechを設定するものとしたが、前回の移行時目標回転数(前回Nech)と異音抑制回転数Netag2となまし定数τ1(0<τ1<1)とを用いて次式(9)により移行時目標回転数Nechを設定するものとしてもよい。この場合、移行時目標運転ポイントの異音抑制運転ポイントへの移動(移行時目標回転数Nechの異音抑制回転数Netag2への移動)が完了したか否かの判定は、例えば、移行時目標回転数Nechと異音抑制回転数Netag2との差分が所定値ΔNref以下に至ったか否かなどによって行なうものとしてもよい。
Nech=(1-τ1)・Netag2+τ1・前回Nech (9)
実施例のハイブリッド自動車20では、実行用運転ポイントを設定する際、NV抑制回転数Netag1,異音抑制回転数Netag2,移行時目標回転数Nechのいずれかを前回の実行用回転数(前回Ne*)に所定値αを加えた値(前回Ne*+α)および前回の実行用回転数(前回Ne*)から所定値αを減じた値(前回Ne*−α)で制限してエンジン22の実行用回転数Ne*を設定すると共に設定した実行用回転数Ne*でエンジン22の要求パワーPe*を除してエンジン22の実行用トルクTe*を計算するものとしたが、NV抑制回転数Netag1,異音抑制回転数Netag2,移行時目標回転数Nechのいずれかと前回の実行用回転数(前回Ne*)となまし定数τ2とを用いて実行用回転数Ne*を設定すると共に設定した実行用回転数Ne*でエンジン22の要求パワーPe*を除してエンジン22の実行用トルクTe*を計算するものとしてもよい。例えば、NV抑制回転数Netag1と前回の実行用回転数(前回Ne*)となまし定数τ2とを用いて実行用回転数Ne*を計算する場合、次式(10)により計算するものとしてもよい。
Ne*=(1-τ2)・Netag1+τ2・前回Ne* (10)
実施例のハイブリッド自動車20では、エンジン22の要求パワーPe*とNV抑制動作ラインとを用いて得られるNV抑制運転ポイントに追従して移動するよう実行用運転ポイントを設定してその実行用運転ポイントでエンジン22が運転されながら要求トルクTr*に基づくトルクがリングギヤ軸32aに出力されるようエンジン22とモータMG1,MG2とを制御すると減速ギヤ35などで歯打ちによる異音が生じ得るときに、要求パワーPe*と異音抑制動作ラインとを用いて得られる異音抑制運転ポイントでエンジン22が運転されるよう制御するものとしたが、NV抑制動作ラインに代えて、エンジン22の要求パワーPe*と効率優先動作ライン(図4のNV抑制動作ラインのうち騒音振動領域の外縁に沿った部分を除いてNV抑制動作ラインを円滑に結ぶ二点鎖線の部分を加えたもの)とを用いて得られる運転ポイントに追従して移動するよう実行用運転ポイントを設定してその実行用運転ポイントでエンジン22が運転されながら要求トルクTr*に基づくトルクがリングギヤ軸32aに出力されるようエンジン22とモータMG1,MG2とを制御すると減速ギヤ35などで歯打ちによる異音が生じ得るときに、要求パワーPe*と異音抑制動作ラインとを用いて得られる異音抑制運転ポイントでエンジン22が運転されるよう制御するものとしてもよい。
実施例の主要な要素と課題を解決するための手段の欄に記載した発明の主要な要素との対応関係について説明する。実施例では、エンジン22が「内燃機関」に相当し、モータMG1が「発電機」に相当し、動力分配統合機構30が「遊星歯車機構」に相当し、モータMG2が「電動機」に相当し、バッテリ50が「二次電池」に相当し、アクセル開度Accと車速Vとに基づいて駆動軸としてのリングギヤ軸32aに要求される要求トルクTr*を設定する図2の駆動制御ルーチンのステップS110の処理を実行するHVECU70が「要求トルク設定手段」に相当し、要求トルクTr*にリングギヤ軸32aの回転数Nrを乗じたものからバッテリ50の蓄電割合SOCに基づいて得られるバッテリ50の充放電要求パワーPb*を減じてさらにロスLossを加えてエンジン22の要求パワーPe*を計算する図2の駆動制御ルーチンのステップS110の処理を実行するHVECU70が「要求パワー設定手段」に相当し、エンジン22の要求パワーPe*とNV抑制動作ラインとを用いて得られるNV抑制運転ポイント(NV抑制回転数Netag1,NV抑制トルクTetag1)に追従して移動する運転ポイントでエンジン22が運転されながら要求トルクTr*に基づくトルクがリングギヤ軸32aに出力されるようエンジン22の実行用回転数Ne*や実行用トルクTe*,モータMG1,MG2のトルク指令Tm1*,Tm2*を設定してエンジン22とモータMG1,MG2とを制御すると減速ギヤ35などで歯打ちによる異音が生じ得る異音条件が成立しているときには、異音条件が非成立から成立になったときのNV抑制運転ポイントと実行用運転ポイントとのうち回転数の大きい方から要求パワーPe*と異音抑制動作ラインとを用いて得られる異音抑制運転ポイント(異音抑制回転数Netag2,異音抑制トルクTetag2)に向けて移動する移行時目標運転ポイント(移行時目標回転数Nech,移行時目標トルクTech)に追従して移動する運転ポイントでエンジン22が運転されながら要求トルクTr*に基づくトルクがリングギヤ軸32aに出力されるようエンジン22の実行用回転数Ne*や実行用トルクTe*,モータMG1,MG2のトルク指令Tm1*,Tm2*を設定してエンジンECU24やモータECU40に送信する図2の駆動制御ルーチンのステップS120以降の処理を実行するHVECU70と、受信した実行用回転数Ne*と実行用トルクTe*とに基づいてエンジン22を制御するエンジンECU24と、受信したトルク指令Tm1*,Tm2*に基づいてモータMG1,MG2を制御するモータECU40と、が「制御手段」に相当する。
ここで、「内燃機関」としては、ガソリンや軽油などを燃料として動力を出力する内燃機関として構成されたエンジン22に限定されるものではなく、水素エンジンなど、如何なるタイプの内燃機関であっても構わない。「発電機」としては、同期発電電動機として構成されたモータMG1に限定されるものではなく、誘導電動機など、動力を入出力可能なものであれば如何なるタイプの発電機であっても構わない。「遊星歯車機構」としては、遊星歯車機構として構成された3軸式の動力分配統合機構30に限定されるものではなく、車軸に連結された駆動軸と内燃機関の出力軸と発電機の回転軸との3軸に3つの回転要素が接続されたものであれば如何なるものとしても構わない。「電動機」としては、同期発電電動機として構成されて駆動軸としてのリングギヤ軸32aに減速ギヤ35を介してロータが接続されたモータMG2に限定されるものではなく、誘導電動機など、ギヤ機構を介して駆動軸に動力を入出力可能なものであれば如何なるタイプの電動機であっても構わない。「二次電池」としては、リチウムイオン二次電池として構成されたバッテリ50に限定されるものではなく、ニッケル水素二次電池やニッケルカドミウム二次電池,鉛蓄電池など、発電機や電動機と電力のやりとりが可能なものであれば如何なるタイプの二次電池であっても構わない。「要求トルク設定手段」としては、アクセル開度Accと車速Vとに基づいて要求トルクTr*を設定するものに限定されるものではなく、アクセル開度Accだけに基づいて要求トルクを設定するものなど、駆動軸に要求される要求トルクを設定するものであれば如何なるものとしても構わない。「要求パワー設定手段」としては、要求トルクTr*にリングギヤ軸32aの回転数Nrを乗じたものからバッテリ50の蓄電割合SOCに基づいて得られるバッテリ50の充放電要求パワーPb*を減じてさらにロスLossを加えてエンジン22の要求パワーPe*を計算するものに限定されるものではなく、要求トルクに基づいて内燃機関から出力すべき要求パワーを設定するものであれば如何なるものとしても構わない。「制御手段」としては、HVECU70とエンジンECU24とモータECU40とからなる組み合わせに限定されるものではなく、単一の電子制御ユニットにより構成されるなどとしてもよい。また、「制御手段」としては、エンジン22の要求パワーPe*とNV抑制動作ラインとを用いて得られるNV抑制運転ポイント(NV抑制回転数Netag1,NV抑制トルクTetag1)に追従して移動するよう実行用運転ポイント(実行用回転数Ne*,実行用トルクTe*)を設定してその実行用運転ポイントでエンジン22が運転されながら要求トルクTr*に基づくトルクがリングギヤ軸32aに出力されるようエンジン22とモータMG1,MG2とを制御すると減速ギヤ35などで歯打ちによる異音が生じ得る異音条件が成立しているときには、異音条件が非成立から成立になったときのNV抑制運転ポイントと実行用運転ポイントとのうち回転数の大きい方から、要求パワーPe*と異音抑制動作ラインとを用いて得られる異音抑制運転ポイント(異音抑制回転数Netag2,異音抑制トルクTetag2)に向けて移動する移行時目標運転ポイント(移行時目標回転数Nech,移行時目標トルクTech)に追従して移動するよう実行用運転ポイントを設定してその実行用運転ポイントでエンジン22が運転されながら要求トルクTr*に基づくトルクがリングギヤ軸32aに出力されるようエンジン22とモータMG1,MG2とを制御するものに限定されるものではなく、内燃機関の回転数とトルクとに課される第1の制約に駆動軸に要求される要求トルクに基づく内燃機関から出力すべき要求パワーを適用して得られる第1制約運転ポイントに追従して移動する第1実行用運転ポイントで内燃機関が運転されながら要求トルクに基づくトルクが駆動軸に出力されるよう内燃機関と発電機と電動機とを制御する第1制御を実行すると電動機のトルクが値0を含む所定範囲内となる所定条件が成立していないときには第1制御を実行し、所定条件が成立しているときには第1の制約より高回転数低トルク側となる傾向に内燃機関の回転数とトルクとに課される第2の制約に要求パワーを適用して得られる第2制約運転ポイントに追従して移動する第2実行用運転ポイントで内燃機関が運転されながら要求トルクに基づくトルクが駆動軸に出力されるよう内燃機関と発電機と電動機とを制御する第2制御を実行するものにおいて、第1制御から第2制御に移行する際、所定条件が非成立から成立になった所定時の第1制約運転ポイントと所定時の第1実行用運転ポイントとのうち回転数の大きい方から第2制約運転ポイントに向けて移動する移行時目標運転ポイントに追従して移動する移行時実行用運転ポイントで内燃機関が運転されながら要求トルクに基づくトルクが駆動軸に出力されるよう内燃機関と発電機と電動機とを制御する移行時制御を実行するものであれば如何なるものとしても構わない。
なお、実施例の主要な要素と課題を解決するための手段の欄に記載した発明の主要な要素との対応関係は、実施例が課題を解決するための手段の欄に記載した発明を実施するための形態を具体的に説明するための一例であることから、課題を解決するための手段の欄に記載した発明の要素を限定するものではない。即ち、課題を解決するための手段の欄に記載した発明についての解釈はその欄の記載に基づいて行なわれるべきものであり、実施例は課題を解決するための手段の欄に記載した発明の具体的な一例に過ぎないものである。
以上、本発明を実施するための形態について実施例を用いて説明したが、本発明はこうした実施例に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において、種々なる形態で実施し得ることは勿論である。