以下、図面を参照しつつ、本発明の実施の形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。
本明細書において「電力」という用語は、狭義の電力(仕事率)を意味する場合と、広義の電力である電力量(仕事量)または電気エネルギを意味する場合とがあり、その用語が使用される状況に応じて弾力的に解釈される。
<車両の全体構成>
図1は、本実施の形態による車両1の全体構成を示す図である。車両1は、エンジン10と、駆動軸16と、第1モータジェネレータ(以下「第1モータ」という)20と、第2モータジェネレータ(以下「第2モータ」という)30と、動力分割装置40と、減速機58と、PCU(Power Control Unit)60と、バッテリ70と、駆動輪80と、ECU(Electronic Control Unit)200とを含む。
この車両1は、エンジン10および第2モータ30の少なくとも一方の動力によって走行可能なハイブリッド車両である。
エンジン10が発生する動力は、動力分割装置40によって、駆動軸16(駆動輪80)へ伝達される経路と第1モータ20へ伝達される経路とに分割される。
第1モータ20および第2モータ30は、PCU60によって駆動される三相交流回転電機である。第1モータ20は、動力分割装置40によって分割されたエンジン10の動力を用いて発電可能である。第2モータ30は、バッテリ70に蓄えられた電力および第1モータ20により発電された電力の少なくともいずれか一方を用いて動力を発生可能である。第2モータ30が発生する動力は駆動軸16を介して駆動輪80へ伝達される。また、第2モータ30は、駆動軸16の回転エネルギを用いて発電することによって回生ブレーキとしても機能する。第2モータ30により発電された電力はPCU60を経由してバッテリ70に充電される。
動力分割装置40は、サンギヤ、リングギヤ、ピニオンギヤ、およびキャリアを含む遊星歯車機構である。サンギヤは第1モータ20に連結される。リングギヤは駆動軸16を介して第2モータ30および駆動輪80に連結される。ピニオンギヤはサンギヤおよびリングギヤの各々と噛み合う。キャリアは、ピニオンギヤを自転可能に支持するとともに、エンジン10のクランク軸に連結される。
図2は、エンジン10の回転速度(以下「エンジン回転速度NE」という)、第1モータ20の回転速度(以下「第1モータ回転速度NM1」という)および第2モータ30の回転速度(以下「第2モータ回転速度NM2」という)の関係を、動力分割装置40の共線図に示した図である。
エンジン10、第1モータ20および第2モータ30が遊星歯車からなる動力分割装置40を介して連結されることで、エンジン回転速度NE、第1モータ回転速度NM1および第2モータ回転速度NM2は、図2に示すように、動力分割装置40の共線図において直線で結ばれる関係(いずれか2つの値が決まれば残りの1つの値も一義的に決まる関係)になる。
たとえば、第1モータ回転速度NM1と第2モータ回転速度NM2とが決まれば、残りのエンジン回転速度NEは一義的に決まる。言い換えれば、第2モータ回転速度NM2が一定であっても、第1モータ回転速度NM1を調整することによってエンジン回転速度NEを自由に変更することができる。ここで、第2モータ30は駆動輪80に連結されているため、第2モータ回転速度NM2は車速Vに応じた値となる。したがって、車速Vに対するエンジン回転速度NEの比は、第1モータ回転速度NM1を調整することによって無段階に切り替えることができる。つまり、車両1において、第1モータ20および動力分割装置40は、車速Vに対するエンジン回転速度NEの比を無段階に切り替えることができる電気式の無段変速装置として機能する。なお、本発明が適用可能な車両は、電気式の無段変速装置を備えた車両に限定されず、機械式(たとえばベルト式)の無段変速機を備えた車両にも適用可能である。
また、図2には、エンジン10および第2モータ30の双方の動力で車両1を前進走行させる場合の、エンジン10のトルク(以下「エンジントルクTE」という)、第1モータ20のトルク(以下「第1モータトルクTM1」という)および第2モータ30のトルク(以下「第2モータトルクTM2」という)の関係の一例も示されている。
エンジン10を運転させると、エンジントルクTEが動力分割装置40のキャリアに作用する。エンジントルクTEの反力を受け持つ第1モータトルクTM1を動力分割装置40のサンギヤに作用させることで、動力分割装置40のリングギヤにはエンジンから伝達されるトルク(以下「エンジン直達トルクTEc」という)が作用する。また、第2モータトルクTM2は、動力分割装置40のリングギヤに直接的に作用する。これにより、リングギヤには、エンジン直達トルクTEcと第2モータトルクTM2との合計トルクが作用する。この合計トルクによって駆動輪80が回転されて車両1が走行される。
図1に戻って、PCU60は、ECU200からの制御信号に基づいて、バッテリ70、第1モータ20および第2モータ30の間で電力変換を行なう電力変換装置である。
バッテリ70は、たとえば、ニッケル水素やリチウムイオン等を含んで構成される二次電池である。バッテリ70の電圧は、たとえば200V程度である。バッテリ70は、上述したように第1モータ20および/または第2モータ30により発電された電力を用いて充電される。なお、バッテリ70は、第1モータ20および第2モータ30との間で電力を入出力可能な蓄電装置であればよく、たとえば大容量キャパシタに変更してもよい。
さらに、車両1には、監視センサ2、車速センサ3が設けられる。監視センサ2は、バッテリ70の状態(電流、電圧、温度など)を検出する。車速センサ3は、車輪の回転速度から車速Vを検出する。さらに、図示していないが、車両1には、アクセル開度A(ユーザによるアクセルペダル操作量)、エンジン回転速度NE、第1モータ回転速度NM1、第2モータ回転速度NM2、第2モータ30の温度など、車両1を制御するために必要なさまざまな物理量を検出するための複数のセンサが設けられる。これらのセンサは、検出結果をECU200に送信する。
ECU200は、図示しないCPU(Central Processing Unit)およびメモリを内蔵した電子制御ユニットである。ECU200は、各センサからの情報およびメモリに記憶された情報に基づいて所定の演算処理を実行し、演算結果に基づいて車両1の各機器を制御する。
ECU200は、監視センサ2の検出結果に基づいて、バッテリ70の蓄電量(以下「バッテリSOC」あるいは単に「SOC」ともいう)を算出する。SOCの算出手法としては、たとえばバッテリ70の電圧とSOCとの関係を用いて算出する方法や、バッテリ70の電流積算値を用いて算出する方法等、種々の公知の手法を用いることができる。
ECU200は、バッテリ70のSOCおよび温度に基づいて、バッテリ70の許容充電電力Winおよび許容放電電力Wout(単位はいずれもワット)を算出する。そして、ECU200は、バッテリ70に充電される電力(以下「バッテリ充電電力Pin」という)が許容充電電力Winを超えないように制限する。また、ECU200は、バッテリ70から放電される電力(以下「バッテリ放電電力Pout」という)が許容放電電力Woutを超えないように制限する。
ECU200は、バッテリSOCが予め定められたSOC下限値未満となると、エンジン10の動力を用いて第1モータ20で発電した電力をバッテリ70に充電することによってバッテリSOCをSOC下限値よりも大きい値にする処理(以下「強制充電」という)を行なう。
また、ECU200は、エンジン10およびPCU60等を制御することによって、車両駆動力を制御する。
<車両駆動力の制御>
図3は、ECU200が車両駆動力を制御する場合に実行する処理の流れを示すフローチャートである。このフローチャートは、予め定められた演算周期ΔTで繰り返し実行される。
ステップ(以下、ステップを「S」と略す)10にて、ECU200は、アクセル開度Aおよび車速Vに基づいて、ユーザが要求する車両駆動力(以下「ユーザ要求パワー」という)Preqを算出する。
S20にて、ECU200は、バッテリSOCに基づいて、バッテリ70の充電あるいは放電に必要なパワー(以下「バッテリ要求パワー」という)PBreqを算出する。本実施の形態では、バッテリ要求パワーPBreqは、バッテリ70を充電する必要がある場合に正の値となり、バッテリ70から放電する必要がある場合に負の値となるものとする。
S30にて、ECU200は、ユーザ要求パワーPreqとバッテリ要求パワーPBreqとの合計(車両1に要求されているトータルパワー、すなわち「車両要求パワー」)を、エンジン要求パワーPEreqに設定する。
S40にて、ECU200は、アクセル開度Aがしきい値を超えているか否かを判定する。この判定は、指令エンジン回転速度NEcomと指令エンジントルクTEcomとで決まる指令エンジン動作点を、燃費最適制御(後述するS50およびS51の処理)によって設定するのか、それとも加速感演出制御(後述するS60〜S67の処理)によって設定するのかを決めるための処理である。本処理の「しきい値」は、たとえば50%〜70%の範囲内のいずれかのアクセル開度に設定することができる。
アクセル開度Aがしきい値を超えていない場合(S40にてNO)、ECU200は、指令エンジン動作点をS50およびS51に示す燃費最適制御によって設定する。本実施の形態において、燃費最適制御とは、エンジン10が最も効率よくエンジン要求パワーPEreqを出力するように指令エンジン動作点を設定する処理である。
具体的には、ECU200は、エンジン要求パワーPEreqと燃費ラインとを用いて最適エンジン動作点(最適燃費回転速度NEefおよび最適燃費トルクTEef)を算出し(S50)、算出された最適エンジン動作点を指令エンジン動作点に設定する(S51)。すなわち、ECU200は、最適燃費回転速度NEefを指令エンジン回転速度NEcomに設定し、最適燃費トルクTEefを指令エンジントルクTEcomに設定する。
図4は、燃費最適制御による最適燃費回転速度NEefおよび最適燃費トルクTEefの算出手法を模式的に示す図である。図4に示される燃費ラインは、エンジン回転速度NEおよびエンジントルクTEをパラメータとしてエンジン10が最も効率よく(すなわち最適な燃費で)運転可能な動作点を繋ぎ合わせた動作ラインである。横軸をエンジン回転速度NEとし、縦軸をエンジントルクTEとすると、燃費ラインは図4に示すような曲線となる。一方、エンジンパワーPEはエンジン回転速度NEとエンジントルクTEとの積である(PE=NE×TEである)ことから、PE=PEreq(一定)となる曲線は、図4に示すような反比例曲線で示される。
ECU200は、燃費ラインを示す曲線とPE=PEreqを示す反比例曲線との交点から、最適燃費回転速度NEefおよび最適燃費トルクTEefを算出する。このように算出された最適燃費回転速度NEefおよび最適燃費トルクTEefを指令エンジン動作点に設定することによって、エンジン10は最も効率よくエンジン要求パワーPEreqを出力することができる。
図3に戻って、アクセル開度Aがしきい値を超えている場合(S40にてYES)、ECU200は、指令エンジン動作点をS60〜S67に示す加速感演出制御によって設定する。本実施の形態において、加速感演出制御とは、有段変速機と同様の加速感をユーザに与えるために、車速上昇および時間経過の少なくとも一方に応じてエンジン回転速度NEを増加させる処理である。
具体的には、S60にて、ECU200は、今回のサイクルが加速感演出制御の初回であるのか否かを判定する。たとえば、ECU200は、前回サイクルのアクセル開度Aがしきい値未満である場合に、今回のサイクルが加速感演出制御の初回であると判定する。
今回のサイクルが加速感演出制御の初回である場合(S60にてYES)、ECU200は、S61にて、エンジン回転速度の初期値NEiniを算出する。初期値NEiniは、S50で説明した最適燃費回転速度NEefよりも低い値に算出される。なお、初期値NEiniの算出手法については後に詳述する。続くS62にて、ECU200は、初期値NEiniを指令エンジン回転速度NEcomに設定する。
一方、今回のサイクルが加速感演出制御の2回目以降である場合(S60にてNO)、ECU200は、S63にて、前回サイクルから今回サイクルまでの車速上昇量ΔVおよび経過時間(すなわち演算周期)ΔTに基づいて、エンジン回転速度の増加率(経過時間ΔTにおけるエンジン回転速度の増加量)ΔNEを算出する。ECU200は、車速上昇量ΔVが大きいほど大きな加速感をユーザに与えるために、車速上昇量ΔVが大きいほど増加率ΔNE(より詳しくは後述する車速対応増加率ΔNEv)を大きい値に算出する。なお、増加率ΔNEの算出手法については後に詳述する。
そして、ECU200は、S64にて、次式(a)に示すように、S63で算出された増加率ΔNEを前回サイクルの指令エンジン回転速度NEcomに加えた値を、今回サイクルの指令エンジン回転速度NEcomとして算出する。
NEcom=前回NEcom+ΔNE …(a)
したがって、加速感演出制御中においては、指令エンジン回転速度NEcomが増加率ΔNEで徐々に増加される。これにより、ユーザに加速感を与えることができる。
S62あるいはS64にて指令エンジン回転速度NEcomが算出された後、ECU200は、S65にて、エンジン回転速度の下限値NEminを算出する。下限値NEminは、バッテリ70の過放電を防止するために、エンジン回転速度NEの変動範囲を制限するための値である。下限値NEminの算出手法については後に詳述する。
S66にて、ECU200は、S65で算出された下限値NEminを用いて、S62あるいはS64にて算出された指令エンジン回転速度NEcomを制限する処理(以下「下限ガード処理」ともいう)を行なう。下限ガード処理においては、指令エンジン回転速度NEcomが下限値NEminを下回る場合には指令エンジン回転速度NEcomは下限値NEminに更新される。指令エンジン回転速度NEcomが下限値NEminを上回る場合には指令エンジン回転速度NEcomはそのまま維持される。
S67にて、ECU200は、下限ガード処理後の指令エンジン回転速度NEcomと燃費ラインとを用いて、指令エンジントルクTEcomを算出する。
図5は、加速感演出制御による指令エンジン回転速度NEcomおよび指令エンジントルクTEcomの設定手法を模式的に示す図である。
加速感演出制御の初回においては、指令エンジン回転速度NEcomが最適燃費回転速度NEefよりも低い初期値NEiniに設定され、燃費ラインを用いて初期値NEiniに対応する指令エンジントルクTEcomが算出される。したがって、加速感演出制御の初回におけるエンジンパワーPEは、エンジン要求パワーPEreqよりも小さい値となる。
加速感演出制御の2回目以降においては、指令エンジン回転速度NEcomが増加率ΔNEで増加され、増加後の指令エンジン回転速度NEcomと燃費ラインとで指令エンジントルクTEcomが決められる。そのため、エンジンパワーPEも徐々に増加していく。
そして、指令エンジン回転速度NEcomが最適燃費回転速度NEefに達すると、エンジンパワーPEがエンジン要求パワーPEreqに一致する。
このように、加速感演出制御を行なうことによって、エンジンパワーPEは、エンジン要求パワーPEreqよりも小さい値となる。なお、エンジン要求パワーPEreqに対するエンジンパワーPEの不足分は後述するS70の処理で第2モータ30の出力によって補われるため、ユーザが要求する車両駆動力が実現される。
図3に戻って、燃費最適制御(S50、S51の処理)あるいは加速感演出制御(S61〜S67の処理)によって指令エンジン動作点が設定されると、ECU200は、S70にて、エンジン10を指令エンジン動作点で運転したときに車両要求パワー(=Preq+PBreq)が駆動輪80に伝達されるように、第1モータ指令トルクTM1com、第2モータ指令トルクTM2comを算出する。
上述したように、燃費最適制御中には、エンジンパワーPEはエンジン要求パワーPEreqとなる(図4参照)。一方、加速感演出制御中には、エンジンパワーPEはエンジン要求パワーPEreqよりも小さい値となる(図5参照)。S70の処理では、エンジン要求パワーPEreqに対するエンジンパワーPEの不足分を第2モータ30の出力で補うように、第2モータ指令トルクTM2comが算出される。具体的には、パワー不足分を補う正トルク(力行トルク)を第2モータ30が発生するように第2モータ指令トルクTM2comが算出される。この場合、パワー不足分に相当する電力がバッテリ70から第2モータ30に放電されることになる。
S80にて、ECU200は、エンジン10が指令エンジン回転速度NEcom、指令エンジントルクTEcomからなる動作点で運転されるようにエンジン10の吸入空気量、燃料噴射量、点火時期、吸気バルブの開閉タイミングなどを制御する。また、ECU200は、第1モータ20が第1モータ指令トルクTM1comを出力し、第2モータ30が第2モータ指令トルクTM2comを出力するように、PCU60を制御する。
<加速感演出制御中における指令エンジン回転速度NEcomの補正処理>
以上のように、車両1において、ユーザによる加速要求があった場合(アクセル開度Aがしきい値を超えた場合)、ユーザに加速感を与えるために、加速感演出制御によって指令エンジン回転速度NEcomが増加率ΔNEで増加される。加速感演出制御の開始時のエンジン回転速度の初期値NEiniは、最適燃費回転速度NEefよりも低い値に設定される。この影響で、加速感演出制御中においては、エンジン要求パワーPEreqに対するエンジンパワーPEの不足が生じる(図5参照)。この不足分は、第2モータ30の出力(バッテリ70の放電)によって補われる。
しかしながら、加速感演出制御中においてSOCが低下していると、バッテリ70から第2モータ30に十分な電力を供給することができない。そのため、第2モータ30の出力が減少してしまい、ドライバビリティが悪化するおそれがある。この現象について図15を参照して説明する。
図15は、加速感演出制御中に後述する補正処理を行なわずにSOCが下限値未満に低下してしまった場合のエンジン回転速度NEの変化態様の一例(本発明に対する比較例)を示す図である。
加速感演出制御が開始される時刻t1では、指令エンジン回転速度NEcomは最適燃費回転速度NEefよりも低い初期値NEiniに設定される。その後、指令エンジン回転速度NEcomは最適燃費回転速度NEefに向けて増加率ΔNEで徐々に増加される。そのため、加速感演出制御中においては、指令エンジン回転速度NEcomが最適燃費回転速度NEefよりも低い値となる。最適燃費回転速度NEefと指令エンジン回転速度NEcomとの差が、エンジン要求パワーPEreqに対するエンジンパワーPEの不足分に相当する。このエンジンパワーPEの不足分は、第2モータ30の出力(力行パワー)によって補われる。この際、バッテリ70から第2モータ30に放電されるため、バッテリSOCは低下する。そのため、加速感演出制御開始時のSOCが低いと、加速感演出制御中にSOCが下限値未満となりバッテリ70の強制充電が行なわれてしまうため、第2モータ30の出力(力行パワー)が急に得られなくなる。この影響で、車両駆動力が急減し(いわゆる駆動力の抜けが発生し)、ユーザに違和感を与えてしまう。
また、車両駆動力の減少により、車速Vが上昇せずエンジン回転速度NEが停滞する。これを解消するために、加速感演出制御を止めて燃費最適制御に切り替えると、エンジン回転速度NEが最適燃費回転速度NEefまで急増し、ユーザに違和感を与えてしまう。
このような問題を解消するために、本実施の形態によるECU200は、加速感演出制御中における指令エンジン回転速度NEcomをSOCに応じて補正する処理(以下「補正処理」という)を行なう。
本実施の形態では、補正処理として、(i)加速感演出制御開始時のエンジン回転速度の初期値NEiniを補正する処理(以下「初期値補正処理」という)、(ii)加速感演出制御中におけるエンジン回転速度の増加率ΔNEを補正する処理(以下「増加率補正処理」という)、(iii)加速感演出制御中におけるエンジン回転速度の下限値NEminを補正する処理(以下「下限値補正処理」という)、の3つの補正処理を行なう。以下、これらの補正処理について詳しく説明する。
<< (i)初期値補正処理 >>
図6は、エンジン回転速度の初期値NEiniの算出処理(図3のS61の処理)の詳細な流れを示すフローチャートである。本処理中において、上述した初期値補正処理が行なわれる。
S61Aにて、ECU200は、アクセル開度Aおよび車速Vに基づいてエンジン回転速度の基本初期値NEini_baseを算出する。たとえば、ECU200は、ユーザに与える加速感を考慮して、アクセル開度Aが大きいほどかつ車速Vが高いほど基本初期値NEini_baseを大きい値に算出する。この際、基本初期値NEini_baseは、前回サイクルの指令エンジン回転速度NEcomよりも高く、かつ、今回サイクルの最適燃費回転速度NEefよりも低い値となるように算出される。なお、今回サイクルの最適燃費回転速度NEefは、上述した図3のS50の処理と同様の処理によって算出される(図4参照)。
S61Bにて、ECU200は、バッテリSOCがしきい値S1未満であるか否かを判定する。この判定は、バッテリSOCに応じて基本初期値NEini_baseを増加させる補正を行なう必要があるか否かを判定するためのものである。
ここで、しきい値S1は、SOC下限値よりも僅かに高い基準値S2と、基本初期値NEini_baseを初期値NEiniに設定した場合の1回の加速感演出制御によるSOC低下量ΔSbaseとの合計値に設定される。たとえば、SOC下限値が45%、基準値S2が47%、SOC低下量ΔSbaseが3%である場合には、しきい値S1は50%(=47%+3%)に設定される。したがって、バッテリSOCがしきい値S1以上である場合には、基本初期値NEini_baseを初期値NEiniに設定して加速感演出制御を行なったとしてもバッテリSOCは基準値S2までしか低下せずSOC下限値未満とはならない。一方、バッテリSOCがしきい値S1未満である場合には、基本初期値NEini_baseを初期値NEiniに設定して加速感演出制御を行なうと、バッテリSOCが基準値S2未満となりSOC下限値を下回る可能性がある。なお、SOC低下量ΔSbaseは、基本初期値NEini_baseおよび増加率ΔNEと、最適燃費回転速度NEefとに基づいて推定することができる(後述の図7参照)。
バッテリSOCがしきい値S1以上である場合(S61BにてNO)、ECU200は、S61Cにて、基本初期値NEini_baseを初期値NEiniに設定する。
一方、バッテリSOCがしきい値S1未満である場合(S61BにてYES)、ECU200は、S61Dにて、初期値補正量αを算出する。ECU200は、バッテリSOCが低いほど加速感演出制御中のSOC低下量を抑えるために、バッテリSOCが低いほど初期値補正量αを大きい値に算出する(後述の図8参照)。そして、ECU200は、S61Eにて、基本初期値NEini_baseに初期値補正量αを加えた値を初期値NEiniに設定する。
このように、バッテリSOCがしきい値S1未満である場合の初期値NEini(=NEini_base+α)は、バッテリSOCがしきい値S1以上である場合の初期値NEini(=NEini_base)よりも増加される。これらの一連の処理が上述した初期値補正処理である。加速感演出制御の開始時にバッテリSOCがしきい値S1未満である場合には、この初期値補正処理によって初期値NEiniが増加補正されることによって、加速感演出制御中のSOC低下量が抑えられる。
図7は、初期値補正処理を行なった場合の指令エンジン回転速度NEcomの変化態様を模式的に示した図である。なお、図7には、初期値補正処理を行なった場合(NEini=NEini_base+αとした場合)の指令エンジン回転速度NEcomが実線で示され、初期値補正処理を行なわなかった場合(NEini=NEini_baseとした場合)の指令エンジン回転速度NEcomが一点鎖線で示される。
最適燃費回転速度NEefと指令エンジン回転速度NEcomとの差がバッテリ放電電力Poutに相当する。したがって、最適燃費回転速度NEefと指令エンジン回転速度NEcomとで囲まれる面積が、1回の加速感演出制御中のバッテリ放電電力Poutの積算値、すなわち1回の加速感演出制御によるSOCの低下量に相当する。したがって、1回の加速感演出制御によるSOCの低下量は、エンジン回転速度の初期値NEiniおよび増加率ΔNEと、最適燃費回転速度NEefとに基づいて推定することができる。
加速感演出制御中の最適燃費回転速度NEefおよび増加率ΔNEを一定と仮定すると、初期値NEiniを高い値に設定するほど、1回の加速感演出制御によるSOCの低下量を抑制することができる。すなわち、図7に示すように、初期値補正処理を行なわなかった場合のSOCの低下量ΔSbaseよりも、初期値補正処理を行なった場合の1回の加速感演出制御によるSOCの低下量ΔSαのほうが小さい値となる。そして、初期値補正量αを大きくするほど低下量ΔSαを小さくすることができる。
ECU200は、バッテリSOCから低下量ΔSαを減じた値(すなわち加速感演出制御後のSOC)が基準値S2(SOC下限値よりも僅かに高い値)となるように、初期値補正量αを算出する。
図8は、バッテリSOCと初期値補正量αと初期値NEiniとの対応関係の一例を示す図である。図8を参照して、初期値補正量αの算出手法の一例について説明する。
バッテリSOCがしきい値S1以上である場合、初期値補正量αは算出されず、基本初期値NEini_baseがそのまま初期値NEiniに設定される。
バッテリSOCがしきい値S1未満である場合、初期値補正量αが算出され、基本初期値NEini_baseに初期値補正量αを加えた値が初期値NEiniに設定される。
バッテリSOCがしきい値S1のときは、初期値補正量αは「0」とされる。バッテリSOCが基準値S2としきい値S1との間の領域に含まれるときは、バッテリSOCが小さいほど初期値補正量αは大きい値とされる。これに伴い、初期値NEiniも、バッテリSOCが小さいほど高い値となる。
このように、本実施の形態によるECU200は、加速感演出制御の開始時にバッテリSOCがしきい値S1未満である場合、バッテリSOCがしきい値S1以上である場合よりも初期値NEini(加速感演出制御の開始時の指令エンジン回転速度NEcom)を高くする。これにより、指令エンジン回転速度NEcomが最適燃費回転速度NEefに近づくため、1回の加速感演出制御によるSOCの低下量を抑制することができる。その結果、加速感演出制御中にバッテリSOCが低下することによって生じる車両駆動力の減少を抑制することができる。
特に、ECU200は、バッテリSOCが小さいほど初期値補正量αを大きい値として初期値NEiniを高くする。これにより、バッテリSOCが小さいほど1回の加速感演出制御によるSOCの低下量を抑制することができる。
さらに、バッテリSOCが基準値S2(しきい値S1よりも低くかつSOC下限値よりも僅かに高い値)未満の領域に含まれるときは、初期値補正量αは最大値とされる。ここで、初期値補正量αの最大値は、最適燃費回転速度NEefから基本初期値NEini_baseを減じた値に設定される。したがって、バッテリSOCが基準値S2未満の領域に含まれるときは、初期値NEiniは最適燃費回転速度NEefに設定される。
このように、本実施の形態によるECU200は、バッテリSOCがSOC下限値よりも高い基準値S2未満となった時点で、初期値補正量αを最大値とすることによって指令エンジン回転速度NEcom(初期値NEini)を最適燃費回転速度NEefに設定する。これにより、バッテリSOCがSOC下限値よりも高い基準値S2未満となった時点でバッテリ放電電力Poutが略零となるため、バッテリSOCが基準値S2よりも小さいSOC下限値未満となることを防止することができる。そのため、バッテリ70の強制充電が行なわれて燃費が悪化してしまうことを防止することができる。
<< (ii)増加率補正処理 >>
図9は、エンジン回転速度の増加率ΔNEの算出処理(図3のS63の処理)の詳細な流れを示すフローチャートである。本処理中において、上述した増加率補正処理が行なわれる。
S63Aにて、ECU200は、車速上昇量ΔVに対応するエンジン回転速度の増加率(以下「車速対応増加率」という)ΔNEvと、経過時間ΔTに対応するエンジン回転速度の増加率(以下「時間対応増加率」という)ΔNEtとを算出する。
ECU200は、車速上昇量ΔVが大きいほど大きな加速感をユーザに与えるために、車速上昇量ΔVが大きいほど車速対応増加率ΔNEvを大きい値に算出する。また、ECU200は、時間対応増加率ΔNEtを、車速上昇量ΔVがほぼ零の時(登坂路などで車速Vがほとんど上昇しない時)の車速対応増加率ΔNEvよりも大きく、車速上昇量ΔVが比較的高い時(平坦路や降坂路で車速Vが上昇し易い時)の車速対応増加率ΔNEvよりも小さい値に算出する。なお、時間対応増加率ΔNEtを固定値として予め記憶しておいてもよい。
S63Bにて、ECU200は、次式(b)に示すように、車速対応増加率ΔNEvと時間対応増加率ΔNEtとのうち、大きい方の増加率をエンジン回転速度の基本増加率ΔNE_baseとする。
ΔNE_base=max(ΔNEv、ΔNEt) …(b)
S63Cにて、ECU200は、バッテリSOCがしきい値S1未満であるか否かを判定する。
バッテリSOCがしきい値S1以上である場合(S63CにてNO)、ECU200は、S63Dにて、基本増加率ΔNE_baseを増加率ΔNEに設定する。
一方、バッテリSOCがしきい値S1未満である場合(S63CにてYES)、ECU200は、S63Eにて、増加率補正量βを算出する。ECU200は、バッテリSOCが低いほど加速感演出制御によるSOC低下量を抑えるために、バッテリSOCが低いほど増加率補正量βを大きい値に算出する(後述の図11参照)。そして、ECU200は、S63Fにて、基本増加率ΔNE_baseに増加率補正量βを加えた値を増加率ΔNEに設定する。
このように、バッテリSOCがしきい値S1未満である場合の増加率ΔNE(=ΔNE_base+β)は、バッテリSOCがしきい値S1以上である場合の増加率ΔNE(=ΔNE_base)よりも増加される。これらの一連の処理が上述した増加率補正処理である。加速感演出制御の実行中(開始後)にバッテリSOCがしきい値S1未満である場合には、この増加率補正処理によって増加率ΔNEが増加補正されることによって、加速感演出制御によるSOC低下量がさらに抑えられる。
図10は、増加率補正処理を行なった場合の指令エンジン回転速度NEcomの変化態様を模式的に示した図である。なお、図10には、増加率補正処理を行なった場合(ΔNE=ΔNE_base+βとした場合)の指令エンジン回転速度NEcomが実線で示され、増加率補正処理を行なわなかった場合(ΔNE=ΔNE_baseとした場合)の指令エンジン回転速度NEcomが一点鎖線で示される。
上述の図7でも説明したように、最適燃費回転速度NEefと指令エンジン回転速度NEcomとで囲まれる面積が、加速感演出制御によるSOCの低下量に相当する。したがって、増加率ΔNEを高い値に設定するほど、加速感演出制御によるSOCの低下量を抑制することができる。すなわち、図10に示すように、増加率補正処理を行なわなかった場合のSOCの低下量ΔSbaseよりも、増加率補正処理を行なった場合のSOCの低下量ΔSβのほうが小さい値となる。そして、増加率補正量βを大きくするほど低下量ΔSβを小さくすることができる。
ECU200は、バッテリSOCから低下量ΔSβを減じた値(すなわち加速感演出制御後のSOC)が基準値S2となるように、増加率補正量βを算出する。
図11は、バッテリSOCと増加率補正量βと増加率ΔNEとの対応関係の一例を示す図である。図11を参照して、増加率補正量βの算出手法の一例について説明する。
バッテリSOCがしきい値S1以上である場合、増加率補正量βは算出されず、基本増加率ΔNE_baseがそのまま増加率ΔNEに設定される。
バッテリSOCがしきい値S1未満である場合、増加率補正量βが算出され、基本増加率ΔNE_baseに増加率補正量βを加えた値が増加率ΔNEに設定される。
バッテリSOCがしきい値S1のときは、増加率補正量βは「0」とされる。バッテリSOCが基準値S2としきい値S1との間の領域に含まれるときは、増加率補正量βはバッテリSOCが小さいほど大きい値とされる。これに伴い、増加率ΔNEも、バッテリSOCが小さいほど大きい値となる。
このように、本実施の形態によるECU200は、加速感演出制御の実行中(開始後)にバッテリSOCがしきい値S1未満である場合、バッテリSOCがしきい値S1以上である場合よりも増加率ΔNEを大きくする。これにより、指令エンジン回転速度NEcomが最適燃費回転速度NEefに早期に近づくため、加速感演出制御によるSOCの低下量を抑制することができる。その結果、加速感演出制御中にバッテリSOCが低下することによって生じる車両駆動力の減少を抑制することができる。
特に、ECU200は、バッテリSOCがしきい値S1未満である場合、バッテリSOCが小さいほど増加率ΔNEを大きく。これにより、バッテリSOCが小さいほど加速感演出制御によるSOCの低下量を抑制することができる。
さらに、バッテリSOCが基準値S2未満の領域に含まれるときは、増加率補正量βは最大値とされる。ここで、増加率補正量βの最大値は、最適燃費回転速度NEefから前回サイクルの指令エンジン回転速度NEcomを減じた値に設定される。したがって、増加率補正量βが最大値である場合は、今回サイクルの指令エンジン回転速度NEcomは最適燃費回転速度NEefに設定される。
このように、本実施の形態によるECU200は、バッテリSOCがSOC下限値よりも高い基準値S2未満となった時点で、増加率補正量βを最大値とすることによって指令エンジン回転速度NEcomを最適燃費回転速度NEefに設定する。これにより、バッテリSOCがSOC下限値よりも高い基準値S2未満となった時点でバッテリ放電電力Poutが略零となるため、バッテリSOCが基準値S2よりも小さいSOC下限値未満となることを防止することができる。そのため、バッテリ70の強制充電が行なわれて燃費が悪化してしまうことを防止することができる。
<< (iii)下限値補正処理 >>
図12は、エンジン回転速度の下限値NEminの算出処理(図3のS65の処理)の詳細な流れを示すフローチャートである。本処理中において、上述した下限値補正処理が行なわれる。
S65Aにて、ECU200は、車両要求パワーとバッテリSOCとに基づいて、エンジン回転速度の基本下限値NEmin_baseを算出する。
たとえば、ECU200は、車両要求パワーに対するエンジンパワーPEの不足量(すなわち加速感演出制御中のバッテリ放電電力Pout)がバッテリSOCに基づいて算出された許容放電電力Woutとなるときのエンジン回転速度NEを算出し、算出されたエンジン回転速度NEを基本下限値NEmin_baseに設定する。したがって、指令エンジン回転速度NEcomを基本下限値NEmin_base以上とすることよって、加速感演出制御中のバッテリ放電電力Poutが許容放電電力Wout未満となる。なお、基本下限値NEmin_baseの算出手法はこれに限定されない。たとえば、許容放電電力Woutだけでなく、第1モータ20の許容回転速度や動力分割装置40のピニオンギヤの許容回転速度などを総合的に考慮して、基本下限値NEmin_baseを設定するようにしてもよい。
S65Bにて、ECU200は、バッテリSOCがしきい値S1未満であるか否かを判定する。
バッテリSOCがしきい値S1以上である場合(S65BにてNO)、ECU200は、S65Cにて、基本下限値NEmin_baseを下限値NEminに設定する。
一方、バッテリSOCがしきい値S1未満である場合(S65BにてYES)、ECU200は、S65Dにて、下限値補正量γを算出する。ECU200は、バッテリSOCが低いほど加速感演出制御中のSOC低下量を抑えるために、バッテリSOCが低いほど下限値補正量γを大きい値に算出する(後述の図14参照)。そして、ECU200は、S65Eにて、基本下限値NEmin_baseに下限値補正量γを加えた値を下限値NEminに設定する。
このように、バッテリSOCがしきい値S1未満である場合の下限値NEmin(=NEmin_base+γ)は、バッテリSOCがしきい値S1以上である場合の下限値NEmin(=NEmin_base)よりも増加される。これらの一連の処理が上述した下限値補正処理である。加速感演出制御の実行中(開始後)にバッテリSOCがしきい値S1未満である場合には、この下限値補正処理によって下限値NEminが増加補正されることによって、加速感演出制御中のSOC低下量がさらに抑えられる。
図13は、下限値補正処理を行なった場合の指令エンジン回転速度NEcomの変化態様を模式的に示した図である。なお、図13には、下限値補正処理を行なった場合(NEmin=NEmin_base+γとした場合)の指令エンジン回転速度NEcomが実線で示され、下限値補正処理を行なわなかった場合(NEmin=NEmin_baseとした場合)の指令エンジン回転速度NEcomが一点鎖線で示される。
上述の図7でも説明したように、最適燃費回転速度NEefと指令エンジン回転速度NEcomとで囲まれる面積が、加速感演出制御中のSOCの低下量に相当する。したがって、下限値NEminを高い値に設定するほど、加速感演出制御中のSOCの低下量を抑制することができる。すなわち、図13に示すように、下限値補正処理を行なわなかった場合のSOCの低下量ΔSbaseよりも、下限値補正処理を行なった場合の加速感演出制御中のSOCの低下量ΔSγのほうが小さい値となる。そして、下限値補正量γを大きくするほど低下量ΔSγを小さくすることができる。
ECU200は、バッテリSOCから低下量ΔSγを減じた値(すなわち加速感演出制御後のSOC)が基準値S2となるように、下限値補正量γを算出する。
図14は、バッテリSOCと下限値補正量γと下限値NEminとの対応関係の一例を示す図である。図14を参照して、下限値補正量γの算出手法の一例について説明する。
バッテリSOCがしきい値S1以上である場合、下限値補正量γは算出されず、基本下限値NEmin_baseがそのまま下限値NEminに設定される。
バッテリSOCがしきい値S1未満である場合、下限値補正量γが算出され、基本下限値NEmin_baseに下限値補正量γを加えた値が下限値NEminに設定される。
バッテリSOCがしきい値S1のときは、下限値補正量γは「0」とされる。バッテリSOCが基準値S2としきい値S1との間の領域に含まれるときは、下限値補正量γはバッテリSOCが小さいほど大きい値とされる。これに伴い、下限値NEminも、バッテリSOCが小さいほど高い値となる。
このように、本実施の形態によるECU200は、バッテリSOCがしきい値S1未満である場合、バッテリSOCがしきい値S1以上である場合よりも下限値NEminを高くする。これにより、指令エンジン回転速度NEcomが最適燃費回転速度NEefに近づくため、加速感演出制御中のSOCの低下量を抑制することができる。その結果、加速感演出制御中にバッテリSOCが低下することによって生じる車両駆動力の減少を抑制することができる。
特に、ECU200は、バッテリSOCがしきい値S1未満である場合、バッテリSOCが小さいほど下限値NEminを高くする。これにより、バッテリSOCが小さいほど加速感演出制御中のSOCの低下量を抑制することができる。
さらに、バッテリSOCが基準値S2未満の領域に含まれるときは、下限値補正量γは最大値とされる。ここで、下限値補正量γの最大値は、最適燃費回転速度NEefから前回サイクルの指令エンジン回転速度NEcomを減じた値に設定される。したがって、下限値補正量γが最大値である場合は、下限値NEminが最適燃費回転速度NEefとなるため、今回サイクルの指令エンジン回転速度NEcomは最適燃費回転速度NEefに設定される。
このように、本実施の形態によるECU200は、バッテリSOCがSOC下限値よりも高い基準値S2未満となった時点で、下限値補正量γを最大値とすることによって指令エンジン回転速度NEcomを最適燃費回転速度NEefに設定する。これにより、バッテリSOCがSOC下限値よりも高い基準値S2未満となった時点でバッテリ放電電力Poutが略零となるため、バッテリSOCが基準値S2よりも小さいSOC下限値未満となることを防止することができる。そのため、バッテリ70の強制充電が行なわれて燃費が悪化してしまうことを防止することができる。
以上のように、本実施の形態による車両1は、エンジン10および第2モータ30の少なくともいずれかの動力を用いて走行可能なハイブリッド車両であって、車速Vに対するエンジン回転速度NEの比を無段階に切替可能な無段変速装置(第1モータ20および動力分割装置40)と、ECU200とを備える。ECU200は、ユーザによる加速要求があった場合、車速上昇量ΔVおよび時間経過ΔTの少なくとも一方に応じてエンジン回転速度NEを増加させる加速感演出制御を行なうとともに、加速感演出制御によってエンジン回転速度NEが最適燃費回転速度NEef未満となることで生じるエンジンパワーPEの不足分を第2モータ30の出力で補う。
このような車両1において、ECU200は、加速感演出制御中にバッテリSOCがしきい値S1未満である場合、バッテリSOCがしきい値S1以上である場合よりも指令エンジン回転速度NEcomを増加して最適燃費回転速度NEefに近づける補正処理(初期値補正処理、増加率補正処理、下限値補正処理)を行なう。これにより、車両要求パワーに対するエンジンパワーPEの不足量が減少し、第2モータ30の出力(バッテリ70の放電電力)が軽減されるため、バッテリSOCが低下することが抑制される。その結果、加速感演出制御中にバッテリSOCが低下することによって生じる車両駆動力の減少を抑制することができる。
<変形例>
なお、本実施の形態は、たとえば以下のように変更することもできる。
(1) 上述の実施の形態では、初期値補正処理において、基本初期値NEini_baseに初期値補正量αを加えることによって初期値NEiniを増加させたが、初期値NEiniを増加させる手法はこれに限定されない。たとえば、基本初期値NEini_baseに補正係数を乗じることによって初期値NEiniを増加させるようにしてもよい。他の増加率補正処理、下限値補正処理についても、同様に変形してもよい。
(2) 上述の実施の形態では、初期値補正処理、増加率補正処理、下限値補正処理の3つの補正処理を行なう場合について説明した。しかしながら、必ずしも3つの補正処理をすべて行なうことに限定されない。
たとえば、上述した3つの補正処理のうちの、いずれか1つの補正処理を行なうようにしてもよいし、いずれか2つの補正処理を行なうようにしてもよい。また、3つの補正処理あるいはいずれか2つの補正処理を、状況に応じて使い分けるようにしてもよい。
また、3つの補正処理あるいはいずれか2つの補正処理を実行可能に構成した上で、各補正処理に優先順位を付けて実行するようにしてもよい。たとえば、増加率補正処理と下限値補正処理とを実行可能に構成した上で、増加率補正処理を下限値補正処理よりも優先的に行なうようにしてもよい。
(3) 上述の実施の形態では、加速感演出制御中において、車速対応増加率ΔNEvと時間対応増加率ΔNEtとのうち大きい方の増加率をエンジン回転速度の基本増加率ΔNE_baseとした(上述の式(b)等参照)。しかしながら、基本増加率ΔNE_baseの決定手法はこれに限定されない。
たとえば、次式(b−1)に示すように、車速対応増加率ΔNEvを基本増加率ΔNE_baseとするようにしてもよい。あるいは、次式(b−2)に示すように、時間対応増加率ΔNEtを基本増加率ΔNE_baseとするようにしてもよい。
ΔNE_base=ΔNEv …(b−1)
ΔNE_base=ΔNEt …(b−2)
あるいは、次式(b−3)に示すように、車速対応増加率ΔNEvと時間対応増加率ΔNEtとのうち大きい方の増加率に、アクセル開度Aに対応するアクセル対応増加率ΔNEaを加えたものを、基本増加率ΔNE_baseとするようにしてもよい。
ΔNE_base=max(ΔNEv、ΔNEt)+ΔNEa …(b−3)
なお、アクセル対応増加率ΔNEaは、アクセル開度Aが大きいほど大きな加速感をユーザに与えるために、アクセル開度Aが大きいほど大きい値となるように算出すればよい。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。