以下、本発明の実施例について説明する。
(実施例1)
図1は、本実施例のハイブリッドシステムの構成を示す図である。図1に示すハイブリッドシステムは、車両(いわゆるハイブリッド車両)に搭載されている。
メインバッテリ(本発明の蓄電装置に相当する)10は、直列に接続された複数の単電池を有する組電池である。単電池としては、ニッケル水素電池やリチウムイオン電池といった二次電池を用いることができる。また、二次電池の代わりに、電気二重層キャパシタを用いることもできる。
電圧センサ21は、メインバッテリ10の電圧値VBを検出し、検出結果をコントローラ50に出力する。電流センサ22は、メインバッテリ10の電流値IBを検出し、検出結果をコントローラ50に出力する。温度センサ23は、メインバッテリ10の温度(バッテリ温度という)TBsを検出し、検出結果をコントローラ50に出力する。
メインバッテリ10の正極端子及び負極端子は、正極ラインPL及び負極ラインNLを介してインバータ31に接続されている。正極ラインPLにはシステムメインリレーSMR−Bが設けられ、負極ラインNLにはシステムメインリレーSMR−Gが設けられている。システムメインリレーSMR−B,SMR−Gは、コントローラ50からの制御信号を受けることにより、オンおよびオフの間で切り替わる。
車両のイグニッションスイッチがオフからオンに切り替わったとき、コントローラ50は、システムメインリレーSMR−B,SMR−Gをオフからオンに切り替え、メインバッテリ10をインバータ31と接続する。これにより、図1に示すハイブリッドシステムが起動状態(Ready-On)になる。一方、イグニッションスイッチがオンからオフに切り替わったとき、コントローラ50は、システムメインリレーSMR−B,SMR−Gをオンからオフに切り替え、メインバッテリ10およびインバータ31の接続が遮断する。これにより、図1に示すハイブリッドシステムが停止状態(Ready-Off)になる。
インバータ31は、メインバッテリ10から出力された直流電力を交流電力に変換し、交流電力をモータ・ジェネレータMG2に出力する。モータ・ジェネレータMG2は、インバータ31から出力された交流電力を受けて、車両を走行させるための運動エネルギ(動力)を生成する。モータ・ジェネレータMG2が生成した運動エネルギを駆動輪32に伝達することにより、車両を走行させることができる。
動力分割機構33は、エンジン34の動力を、駆動輪32に伝達したり、モータ・ジェネレータMG1に伝達したりする。モータ・ジェネレータMG1は、エンジン34の動力を受けて発電する。モータ・ジェネレータMG1が生成した電力(交流電力)は、インバータ31を介して、モータ・ジェネレータMG2に供給されたり、メインバッテリ10に供給されたりする。モータ・ジェネレータMG1が生成した電力を、モータ・ジェネレータMG2に供給すれば、モータ・ジェネレータMG2が生成した運動エネルギによって、駆動輪32を駆動することができる。モータ・ジェネレータMG1が生成した電力をメインバッテリ10に供給すれば、メインバッテリ10を充電することができる。
車両を減速させたり、停止させたりするとき、モータ・ジェネレータMG2は、車両の制動時に発生する運動エネルギを電気エネルギ(交流電力)に変換する。インバータ31は、モータ・ジェネレータMG2が生成した交流電力を直流電力に変換し、直流電力をメインバッテリ10に出力する。これにより、メインバッテリ10は、回生電力を蓄えることができる。
本実施例のハイブリッドシステムにおいて、メインバッテリ10およびインバータ31の間の電流経路には、昇圧回路を設けることができる(不図示)。昇圧回路は、メインバッテリ10の出力電圧を昇圧し、昇圧後の電力をインバータ31に出力することができる。また、昇圧回路は、インバータ31の出力電圧を降圧し、降圧後の電力をメインバッテリ10に出力することができる。
システムメインリレーSMR−Bおよびインバータ31の間の正極ラインPLと、システムメインリレーSMR−Gおよびインバータ31の間の負極ラインNLとには、DC/DCコンバータ35が接続されている。DC/DCコンバータ35の出力側には、補機36、補機バッテリ37およびヒータ38が接続されている。DC/DCコンバータ35は、メインバッテリ10の出力電圧を降圧し、降圧後の電力を補機36や補機バッテリ37に供給する。
ヒータ38は、メインバッテリ10を温めるために用いられる。DC/DCコンバータ35およびヒータ38の間の電流経路には、スイッチ39が設けられており、スイッチ39は、コントローラ50からの制御信号を受けて、オンおよびオフの間で切り替わる。スイッチ39がオンであるとき、DC/DCコンバータ35からヒータ38に所定の電力が供給され、ヒータ38を発熱させることができる。ヒータ38から発生した熱がメインバッテリ10に伝達されることにより、メインバッテリ10が温められる。ヒータは、後述するように外部電源44から供給される外部電力によって駆動する。
メインバッテリ10の正極端子およびシステムメインリレーSMR−Bの間の正極ラインPLには、充電ラインCHL1が接続されており、充電ラインCHL1には、充電リレーCHR1が設けられている。メインバッテリ10の負極端子およびシステムメインリレーSMR−Gの間の負極ラインNLには、充電ラインCHL2が接続されており、充電ラインCHL2には、充電リレーCHR2が設けられている。充電リレーCHR1,CHR2は、コントローラ50からの制御信号を受けて、オンおよびオフの間で切り替わる。
充電ラインCHL1,CHL2には、充電器41が接続されている。充電器41には、充電ラインCHL1,CHL2を介してコネクタ(いわゆるインレット)42が接続されている。コネクタ42には、コネクタ(いわゆる充電プラグ)43を接続することができる。コネクタ43には外部電源(例えば、商用電源)44が接続されており、コネクタ43および外部電源44は、車両の外部に設置されている。
コネクタ43がコネクタ42に接続され、充電リレーCHR1,CHR2がオンであるとき、充電器41は、外部電源44からの交流電力を直流電力に変換し、直流電力を出力する。充電器41の動作は、コントローラ50によって制御される。充電器41から出力された直流電力は、メインバッテリ10に供給され、メインバッテリ10を充電することができる。外部電源44からの電力を用いたメインバッテリ10の充電を外部充電という。外部充電を行うときには、メインバッテリ10のSOC(State of Charge)が目標値SOC_tag以上となるまで、メインバッテリ10が充電される。ここで、目標値SOC_tagは予め設定される。
外部充電を行うとき、ハイブリッドシステムを起動状態にすることにより、充電器41からの電力を、メインバッテリ10だけでなく、DC/DCコンバータ35にも供給することができる。ここで、スイッチ39をオンにすれば、DC/DCコンバータ35は、充電器41の出力電圧を降圧し、降圧後の電力(一定の電力)をヒータ38に供給することができる。これにより、外部充電を行うとき、外部電源44からの電力の一部を用いて、ヒータ38を駆動してメインバッテリ10を温めることができる。
設定部25は、外部充電のタイマ設定を行い、例えば、外部充電を終了する時刻(充電終了時刻という)TIME_eを設定するために用いられる。設定部25で設定された充電終了時刻TIME_eの情報は、コントローラ50に入力される。充電終了時刻TIME_eが設定されたとき、充電終了時刻TIME_eまでに外部充電が終了するように、外部充電が開始される。なお、タイマ設定としては、終了時刻を設定する以外に、開始時刻を設定するように構成することができる。この場合、設定された開始時刻に充電時間を加算することで、充電終了時刻を算出することができる。
時計26は、現在時刻TIME_cを計測するために用いられ、時計26によって計測された現在時刻TIME_cの情報は、コントローラ50に入力される。コントローラ50は、メモリ51を有しており、メモリ51には、所定の情報が記憶されている。なお、メモリ51は、コントローラ50の内部ではなく、コントローラ50の外部に設けることもできる。
なお、本実施例では、ハイブリッド車両について説明しているが、いわゆる電動車両についても、本発明を適用することができる。電動車両では、車両を走行させるための動力源として、メインバッテリ10だけを備えている。電動車両に搭載されるシステムでは、例えば、図1に示す構成において、動力分割機構33、エンジン34およびモータ・ジェネレータMG1が省略される。
次に、図2を参照して外部充電処理について説明する。図2に示す処理は、コントローラ50によって実行される。また、図2に示す処理は、コネクタ43がコネクタ42に接続され、設定部25において充電終了時刻TIME_eが設定されたときに開始される。
ステップS101において、コントローラ50は、外部充電時間t_chagを算出する。外部充電時間t_chagとは、外部充電を開始してから終了するまでの時間である。メインバッテリ10の現在のSOCと、目標値SOC_tagと、外部充電を行うときの電流値とに基づいて、外部充電時間t_chagを算出することができる。具体的には、現在のSOCおよび目標値SOC_tagの差を、外部充電時の電流値で除算すれば、外部充電時間t_chagを算出することができる。
ここで、目標値SOC_tagは、満充電容量に応じて予め設定することができ、外部充電の充電電流は、定電流で行われるので充電電流値は、予め設定(把握)できる。このため、メインバッテリ10の現在のSOCを算出することにより、外部充電時間t_chagを算出することができる。外部充電を開始する際の現在のSOCは、車両の走行を停止したときのメインバッテリ10のSOCを用いたり、外部充電時間t_chagを算出する際に、別途メインバッテリ10のSOCを算出したりしてもよい。
ステップS102において、コントローラ50は、充電開始時刻TIME_chagを算出する。充電開始時刻TIME_chagは、外部充電を開始するときの時刻であり、充電終了時刻TIME_eおよび外部充電時間t_chagに基づいて算出される。具体的には、充電開始時刻TIME_chagは、充電終了時刻TIME_eよりも外部充電時間t_chagだけ前の時刻である。充電開始時刻TIME_chagにおいて、外部充電を開始すれば、充電終了時刻TIME_eまでに外部充電を終了させることができる。
ステップS103において、コントローラ50は、時計26を用いて、現在時刻TIME_cを取得する。ステップS104において、コントローラ50は、ステップS103の処理で取得した現在時刻TIME_cが、充電開始時刻TIME_chagを経過したか否かを判別する。現在時刻TIME_cが充電開始時刻TIME_chagを経過していないとき、コントローラ50は、ステップS103の処理に戻る。
現在時刻TIME_cが充電開始時刻TIME_chagを経過したとき、コントローラ50は、ステップS105において、外部充電を開始する。具体的には、充電リレーCHR1,CHR2がオンの状態において、コントローラ50は、充電器41の動作を開始させる。これにより、充電器41からメインバッテリ10に電力が供給される。
ステップS106において、コントローラ50は、メインバッテリ10のSOCを算出する。ステップS107において、コントローラ50は、ステップS106の処理で算出したSOCが目標値SOC_tag以上であるか否かを判別する。メインバッテリ10のSOCが目標値SOC_tagよりも低いとき、コントローラ50は、ステップS106の処理に戻り、外部充電が継続される。メインバッテリ10のSOCが目標値SOC_tag以上であるとき、コントローラ50は、ステップS108において、充電器41の動作を停止して、外部充電を終了させる。
なお、充電終了時刻TIME_eが設定されていないときには、コネクタ43がコネクタ42に接続され、ユーザが外部充電の開始を指示することにより、外部充電が開始される。すなわち、コネクタ43がコネクタ42に接続され、外部充電の開始の指示をコントローラ50が受けたとき、図2に示すステップS105〜ステップS108の処理が行われる。
このように外部充電を行うことで、外部充電後にメインバッテリ10の電力を用いた車両走行(EV走行)を行うことができるが、車両走行の際のメインバッテリ10の温度が低いと、メインバッテリ10の入出力性能が低下するため、車両要求に対して十分な電力供給を行えなかったり、回生電力の充電効率が低下したりするなど、燃費が悪化してしまう。
そこで、本実施例では、図3に示すように、設定される充電終了時刻TIME_eに合わせてヒータ38を用いてバッテリを目標温度TB_tagまで昇温し、外部充電後の車両走行時のバッテリの入出力性能を確保する。
図3は、ヒータ38の駆動制御の処理フローを示す図である。図3に示す処理は、コントローラ50によって実行される。なお、後述するように、本実施例では、環境温度Toutは、外気温センサ等のセンサ機器類を用いずに、予め設定された推定値を用いている。
コントローラ50は、温度センサ23を用いて、バッテリ温度TBsを検出し(S301)、検出されたバッテリ温度TBsが目標温度TB_tagよりも低いか否かを判別する(S302)。
ステップS302において、バッテリ温度TBsが目標温度TB_tag以上であるとき、コントローラ50は、図3に示す処理を終了する。一方、バッテリ温度TBsが目標温度TB_tagよりも低いとき、コントローラ50は、ステップS303の処理に進む。
ステップS303において、コントローラ50は、時計26を用いて、現在時刻TIME_cを取得する。ステップS301の処理で検出されたバッテリ温度TBsは、現在時刻TIME_cにおけるバッテリ温度TBsとなる。ステップS304において、コントローラ50は、現在時刻TIME_cから充電終了時刻TIME_eまでの残り時間t_rを算出する。また、ステップS305において、コントローラ50は、メモリ51に記憶された推定値である環境温度Toutを読み出す。
後述するように、推定値である環境温度Toutは、補正処理が施される。補正後の環境温度Toutがメモリ51に記憶され、ステップS305の処理では、補正後の最新の環境温度Toutがメモリ51から読み出される。なお、補正処理が行われる前は、予め設定された環境温度Toutを適用することができる。
ステップS306において、コントローラ50は、昇温時間t_hを特定する。昇温時間t_hの特定方法は、以下の通りである。昇温時間t_hとは、ヒータ38を駆動して、バッテリ温度TBsを目標温度TB_tagまで上昇させるための昇温に必要な時間である。
昇温時間t_hは、現在時刻TIME_cにおけるバッテリ温度TBsと、環境温度Toutと、目標温度TB_tagと、残り時間t_rとに依存する。このため、昇温時間t_hと、現在時刻TIME_cにおけるバッテリ温度TBsと、環境温度Toutと、目標温度TB_tagと、残り時間t_rとの対応関係を予め求めておくことができる。ここで、目標温度TB_tagは予め設定された固定値となるため、昇温時間t_hと、現在時刻TIME_cにおけるバッテリ温度TBsと、環境温度Toutと、残り時間t_rとの対応関係を予め求めておけばよい。
この対応関係は、演算式又はマップとして表すことができ、この対応関係の情報は、メモリ51に記憶しておくことができる。この対応関係を演算式で表すとき、下記式(1)に示す演算式を用いることができる。
上記式(1)において、cおよびβは、予め定められた定数である。各定数c,βは、目標温度TB_tagや、環境温度Toutの影響を受けてバッテリ温度TBsが低下するときのメインバッテリ10の放熱特性や、ヒータ38の駆動によってバッテリ温度TBsが上昇するときのメインバッテリ10の受熱特性などを考慮して設定される。定数c,βの情報は、メモリ51に記憶しておくことができる。
上記式(1)に示すバッテリ温度TBsとしては、ステップS301の処理で検出されたバッテリ温度TBsが用いられる。充電終了時刻TIME_eが設定されたときから充電終了時刻TIME_eまでの間では、環境温度Toutが変化しにくく、環境温度Toutを一定とみなすことができる。
そこで、本実施例では、上記式(1)に示す環境温度Toutとして、ステップS305の処理でメモリ51から読み出された環境温度Toutを用いている。上記式(1)に示す時間t_rとしては、ステップS304の処理で算出された残り時間t_rが用いられる。これにより、上記式(1)に基づいて、昇温時間t_hを特定(算出)することができる。
一方、上述した対応関係をマップで表したとき、このマップを用いることにより、ステップS301の処理で検出したバッテリ温度TBsおよびステップS305で読み出された環境温度Toutと、ステップS304の処理で算出された残り時間t_rとに対応する昇温時間t_hを特定することができる。例えば、環境温度Tout毎に、バッテリ温度TBsと、残り時間t_rと、昇温時間t_hとの対応関係を示すマップを用意しておく。
ステップS306では、コントローラ50は、駆動開始時刻TIME_hも算出する。上述したように昇温時間t_hを特定すれば、駆動開始時刻TIME_hを算出することができる。駆動開始時刻TIME_hとは、ヒータ38の駆動を開始する時刻であり、充電終了時刻TIME_eよりも、昇温時間t_hだけ前の時刻となる。
次に、コントローラ50は、駆動開始時刻TIME_hにおけるバッテリ温度TBw、すなわち、ヒータ38の駆動を開始するときのバッテリ温度TBwを特定(推定)し、バッテリ温度TBwの情報をメモリ51に記憶する(S307)。
後述するように、推定値であるバッテリ温度TBwは、ヒータ38の駆動開始時刻TIME_hにおいて実際の温度センサ23によって検出されるバッテリ温度TBs´と比較し、推定値と実測値との乖離を把握して、環境温度Toutを補正するために利用される。
バッテリ温度TBwは、現在時刻TIME_cにおけるバッテリ温度TBsと、環境温度Toutと、待機時間t_wとに依存する。このため、バッテリ温度TBwと、現在時刻TIME_cにおけるバッテリ温度TBsと、環境温度Toutと、待機時間t_wとの対応関係を予め求めておくことができる。この対応関係は、演算式又はマップとして表すことができ、この対応関係の情報は、メモリ51に記憶しておくことができる。
待機時間t_wは、現在時刻TIME_cから、駆動開始時刻TIME_hまでの時間である。すなわち、算出された残り時間t_rから昇温時間t_hを減算することにより、待機時間t_wを算出することができる。
バッテリ温度TBw,TBsと、環境温度Toutと、待機時間t_wとの対応関係を演算式で表すとき、下記式(2)に示す演算式を用いることができる。
上記式(2)において、TBwは、駆動開始時刻TIME_hにおけるバッテリ温度の推定値である。TBsは、現在時刻TIME_cにおけるバッテリ温度であり、温度センサ23によって検出されるバッテリ温度TBsが用いられる。Toutは環境温度であり、メモリ51から読み出された環境温度Toutが用いられる。t_wは待機時間であり、残り時間t_rから昇温時間t_hを減算することにより求めることができる。cは、予め設定された定数であり、上記式(1)で説明した定数cと同じである。上記式(2)を用いることにより、現在時刻TIME_cにおけるバッテリ温度TBsと、環境温度Toutと、待機時間t_wとに基づいて、駆動開始時刻TIME_hにおけるバッテリ温度TBwを推定(算出)することができる。
一方、上述した対応関係をマップで表したとき、このマップを用いることにより、現在時刻TIME_cにおけるバッテリ温度TBsと、環境温度Toutと、待機時間t_wとに基づいて、バッテリ温度TBwを推定することができる。マップは、環境温度Tout毎に、用意しておくことができる。
コントローラ50は、ステップS308の処理で取得した現在時刻TIME_cが、駆動開始時刻TIME_hを経過したか否かを判別する(S309)。コントローラ50は、現在時刻TIME_cが駆動開始時刻TIME_hを経過したとき、ステップS310の処理に進む。
なお、ステップS308,S309の処理の代わりに、例えば、ステップS307の処理を行った後、タイマを用いた時間t_cの計測を開始する。そして、計測時間t_cが待機時間t_w以上であるか否かを判別し、計測時間t_cが待機時間t_w以上であるとき、コントローラ50は、ステップS310の処理に進むことができる。ここで、待機時間t_wは、ステップS307の処理において算出されている。また、この場合には、ステップS306の処理において、駆動開始時刻TIME_hを算出する必要は無い。
ステップS310において、コントローラ50は、温度センサ23を用いて、駆動開始時刻TIME_hにおける実測値のバッテリ温度TBs´を検出し、環境温度Toutの環境温度補正処理を行う(S311)。環境温度補正処理については、後述する。
コントローラ50は、ステップS312において、ヒータ38の駆動を開始する。ステップS313において、コントローラ50は、温度センサ23を用いてバッテリ温度TBsを検出する。ステップS314において、コントローラ50は、検出されたバッテリ温度TBsが目標温度TB_tag以上であるか否かを判別する。
ステップS314において、バッテリ温度TBsが目標温度TB_tagよりも低いとき、コントローラ50は、ステップS313の処理に戻り、バッテリ温度TBsが目標温度TB_tag以上であるとき、コントローラ50は、ステップS315において、ヒータ38の駆動を停止させる。
図4は、バッテリ温度TBsの挙動(一例)を示す。図4において、縦軸はバッテリ温度TBsであり、横軸は時間である。図4に示すように、現在時刻TIME_c以降、環境温度Toutの影響を受けて、バッテリ温度TBsが低下する。このため、充電終了時刻TIME_eにおいて、バッテリ温度TBsが目標温度TB_tagよりも低くなり、上述したように、充電終了後の車両走行において十分なバッテリの入出力特性を得ることができないおそれがある。
このため、本実施例では、図4に示すように、充電終了時刻TIME_eに対して、当該充電終了時刻TIME_eのときに、バッテリ温度TBsが目標温度TB_tagよりも高くなるように、駆動開始時刻TIME_hを設定して、ヒータ38を駆動する。ヒータ38の駆動を開始した後、バッテリ温度TBsが目標温度TB_tag以上となるまで、ヒータ38が継続して駆動される。ヒータ38を駆動する時間が、昇温時間t_hとなる。ヒータ38の駆動を停止した時刻が、充電終了時刻TIME_eとなり、充電終了時刻TIME_eにおいて、バッテリ温度TBsを目標温度TB_tagに到達させることができる。
また、図4の例において、昇温時間t_hが長いほど、ヒータ38の駆動によって、バッテリ温度TBsが上昇しやすくなる。また、待機時間t_wが長いほど、環境温度Toutの影響を受けて、バッテリ温度TBsが低下しやすくなる。ここで、バッテリ温度TBsの温度低下量は、現在時刻TIME_cにおけるバッテリ温度TBsと、環境温度Toutとに依存する。これらの点を考慮することにより、バッテリ温度TBsの挙動を把握でき、図4に示すように、現在時刻TIME_cにおけるバッテリ温度TBsと、環境温度Toutと、残り時間t_rとに基づいて、昇温時間t_hを特定することができる。
なお、ヒータ38は、駆動開始時刻TIME_hから充電終了時刻TIME_eまで駆動されるが、外部充電も充電終了時刻TIME_eまで行われる。このため、外部充電を行う時間と、ヒータ38を駆動する時間とが重複する。外部充電を行う時間と、ヒータ38を駆動する時間とが重複するとき、充電器41からの電力の一部は、ヒータ38に供給され、充電器41からの残りの電力は、メインバッテリ10に供給される。
ここで、昇温時間t_hが変化すると、ヒータ38に供給される電力量が変化するとともに、メインバッテリ10に供給される電力量が変化する。メインバッテリ10に供給される電力量が変化すると、外部充電時間t_chagも変化する。このため、図2に示すステップS101の処理では、昇温時間t_hを考慮して、外部充電時間t_chagを算出することができる。図2に示すステップS101の処理を行うときには、昇温時間t_hが算出されるため、外部充電時間t_chagを算出するときに、昇温時間t_hを考慮することができる。例えば、算出された外部充電時間t_chagに対して、ヒータへの電力供給によって不足分の外部充電電力分の充電時間を加算することにより、ヒータ38を駆動するときの外部充電時間t_chagを算出することができる。
本実施例によれば、充電終了時刻TIME_eに対して、充電終了時刻TIME_eのときに、バッテリ温度TBsが目標温度TB_tagよりも高くなるように、駆動開始時刻TIME_h(昇温時間t_h)を設定して、ヒータ38を駆動するため、充電終了時刻TIME_eの車両走行におけるメインバッテリ10の入出力性能を確保することができ、燃費の悪化を抑制することができる。
特に、本実施例の昇温制御では、駆動開始時刻TIME_hよりも前の時間帯では、ヒータ38を駆動する必要が無い。例えば、バッテリ温度TBsを目標温度TB_tagに維持する手法として、ヒータ38を駆動して昇温を行い、目標温度TB_tagに達したときに、ヒータ38の駆動を停止し、ヒータ38の駆動停止及び環境温度Toutによって低下するバッテリ温度TBsに対し、ヒータ38を再駆動して昇温を行うことができる。しかしながら、このような手法では、充電終了時刻TIME_eまでの間、バッテリ温度TBsを目標温度TB_tag付近で維持させるために、断続的にヒータ38の駆動及び停止を繰り返すことになり、それまでにヒータ38の駆動に要した電力が無駄になってしまう。
本実施例では、車両の走行を開始するときには、バッテリ温度TBsが目標温度TB_tagに到達するように制御され、原則、ヒータ38の駆動及び停止を繰り返さずに、充電終了時刻TIME_eに対して、設定される駆動開始時刻TIME_hからヒータ38による昇温を継続して一括で行うため、無駄な電力消費を抑制することができる。
次に、図5及び図6を参照して、環境温度Toutの補正処理について説明する。上述のように本実施例では、外気温センサを用いずに、環境温度Toutとして推定値を用いている。これにより、図1に示すハイブリッドシステムの部品点数が削減され、コストアップを抑制することができる。
また、外気温センサは、図1に示すハイブリッドシステムの全体を制御するコントローラ50の監視下ではなく、別のコントローラ(制御装置)によって制御されることがある。この場合、例えは、外部充電の際に、コントローラ50とは別に、外気温センサを管理する他のコントローラを起動しなければならず、コントローラを起動及び動作させるための電力が余分に必要となる。このため、本実施例では、部品点数削減と共に、余分な消費電力の抑制のため、外気温センサを用いずに、推定値である環境温度Toutを用いている。
一方で、環境温度Toutは、あくまでも推定値であるため、実際の環境温度と乖離するおそれがある。このため、環境温度Toutを補正する必要がある。環境温度Toutの補正処理は、図3に示すヒータ38の駆動制御の度に行うことができ、補正された環境温度Toutをメモリ51に記憶し、次回のヒータ38の駆動制御では、最新の補正された(学習された)環境温度Toutが用いられる。
推定値である環境温度Toutを学習することで、上記式(2)に示した駆動開始時刻TIME_hにおけるバッテリ温度TBw、言い換えれば、将来のメインバッテリ10の温度変化を精度良く算出することができる。バッテリ温度TBwが精度良く算出されることで、駆動開始時刻TIME_hを精度良く算出することができる。
図5は、図3に示したステップS311における環境温度Toutの補正処理を示すフローチャートである。図6は、補正係数の算出例を示すマップである。
まず、例えば、図3のステップS310で実測したバッテリ温度TBs´に対し、環境温度Toutの温度ずれがΔαである場合、上記式(2)の左辺を、バッテリ温度TBs´に置き換えて表すと、以下の式(3)となる。
ここで、式(2)及び式(3)からToutを消去すると、以下の式(4)となる。
式(4)において、λは、補正係数であり、t_wは上述した待機時間である。つまり、式(4)によると、駆動開始時刻TIME_hにおけるバッテリ温度の推定値TBwと、実測値であるTBs´の差から、待機時間t_wに応じてずれ量Δαを算出することができる。したがって、図6に示すように、予め実験等により、待機時間t_wに応じた補正係数λの算出し、待機時間t_wと補正係数λの対応関係をマップなどで表すことができる。
このように、待機時間t_wに基づいて補正係数λを算出し、駆動開始時刻TIME_hにおけるバッテリ温度の推定値TBwと実測値であるTBs´の差から、推定値である環境温度Toutのずれ量Δαを求めることができる。なお、式(4)及び図6に示すように、待機時間t_wが短いと、補正係数が極度に大きくなる。このため、補正処理を行うトリガーとして、待機時間t_wがある一定時間以上であることを条件とすることで、補正処理の精度を向上させることができる。
図5に示すように、コントローラ50は、環境温度Toutの補正処理を開始するにあたり、待機時間t_wが所定の閾値よりも大きいか否かを判別する(S3111)。コントローラ50は、待機時間t_wが所定の閾値未満であるとき、処理を終了して補正処理を行わないようにする。
一方、ステップS3111において、待機時間t_wが所定の閾値よりも大きいと判別された場合、コントローラ50は、待機時間t_wを用いて、図6に示したマップから補正係数λを算出する(S3112)。なお、待機時間t_wは、上述したように、現在時刻TIME_cから、駆動開始時刻TIME_hまでの時間であるので、算出された残り時間t_rから昇温時間t_hを減算することにより、待機時間t_wを算出することができる。待機時間t_wは、ステップS306で予め求めておいたり、ステップS3112において求めておいたりすることができる。
コントローラ50は、補正係数λを算出すると、ずれ量Δαを算出する(S3113)。ずれ量Δαは、式(4)に示すように、駆動開始時刻TIME_hにおけるバッテリ温度の推定値TBw、実測値であるTBs´及び補正係数λから算出することができる。
次に、コントローラ50は、算出されたずれ量Δαに基づいて、推定値である環境温度Toutを補正する。一例として、例えば、ずれ量Δαをそのまま利用し、現時点での環境温度Toutにずれ量Δαを加減算して、補正後の環境温度Toutを算出することができる。一方、図5に示すように、ずれ量Δαに対し、ずれ量Δαの許容範囲を設定し、ずれ量Δαが所定の閾値の範囲内である場合(第1閾値≦Δα≦第2閾値)、環境温度Toutを補正しない(現行の環境温度Toutを維持する)ように制御することができる。
図5の例において、コントローラ50は、算出されたずれ量Δαが第1閾値よりも小さいか否かを判別し(S3114)、ずれ量Δαが第1閾値よりも大きいと判別された場合、さらにステップS3115に進み、ずれ量Δαが第2閾値よりも大きいか否かを判別する。コントローラ50は、第1閾値≦ずれΔα≦第2閾値である場合、ステップS3118に進み、算出されたずれ量Δαを現行の環境温度Toutで更新しない(補正しない)ようにする。
一方、ステップS3114において、算出されたずれ量Δαが第1閾値よりも小さいと判別された場合、推定値である環境温度Toutを補正する(S3116)。このとき、上述したように、ずれ量Δαをそのまま利用して、環境温度Toutからずれ量Δαを減算して補正後の環境温度Toutを算出することができるが、例えば、ずれ量Δαに所定値Δγを上乗せした補正値Δα1を、現行の環境温度Toutに適用して更新することができる。
ここで、Δγは、任意に設定することができ、固定値又はずれ量Δαの値に応じた変動値であってもよい。例えば、ずれ量Δαがマイナス3℃である場合、Δγとしてマイナス2℃を上乗せしてマイナス5℃の補正値Δα1を算出することができる。このようにΔγを適用することで、実測値であるTBs´と推定値のTBwとの乖離方向に対して多めに補正し、実際の環境温度に変化をより正確に反映することができる。
さらに、ステップS3115において、算出されたずれ量Δαが第2閾値よりも大きいと判別された場合、推定値である環境温度Toutを補正する(S3117)。このとき、ずれ量Δαをそのまま利用して、環境温度Toutからずれ量Δαを加算して補正後の環境温度Toutを算出することができるが、ステップS3116同様に、ずれ量Δαに所定値Δγを上乗せした補正値Δα2を、現行の環境温度Toutに適用して更新することができる。ステップS3117でのΔγは、例えば、ずれ量Δαがプラス3℃である場合、Δγとしてプラス2℃を上乗せしてプラス5℃の補正値Δα2を算出することができる。
このように本実施例では、現在時刻TIME_c(第1時刻)におけるバッテリ温度TBs(温度実測値)と推定値である環境温度とを用いて、現在時刻TIME_cよりも先の駆動開始時刻TIME_h(所定時刻)におけるバッテリ温度の推定値TBwを算出するとともに、駆動開始時刻TIME_hにおけるバッテリ温度TBs´と推定値TBwとの差に基づく待機時間t_wに応じた温度ずれ量Δα(ΔαにΔγを適用した補正値を含む)を算出し、温度ずれ量Δαを用いて環境温度Toutを補正するので、環境温度の変化に対して将来時刻である駆動開始時刻TIME_hにおけるバッテリ温度の推定値TBwを精度良く行うことができる。
すなわち、外気温センサを用いずに、環境温度Toutとして推定値を用い、かつ駆動開始時刻TIME_hにおけるバッテリ温度の推定値TBw及び実測値であるTBs´の差と待機時間t_wに基づく待機時間t_wに応じた温度ずれ量Δαを算出し、環境温度Toutを補正(学習)する。このため、図1に示すハイブリッドシステムの部品点数が削減され、コストアップを抑制することができるとともに、実際の環境温度に変化をより正確に反映して駆動開始時刻TIME_hにおけるバッテリ温度の推定値TBwを精度良く算出することができる。