(57)【要約】      （修正有）【課題】タイマ充電の終了時刻において、バッテリの温度を所定温度に到達させるヒータの駆動制御を提供する。【解決手段】外部充電の終了時刻（ＴＩＭＥ＿ｅ）が設定されたとき、この設定時の現在時刻（ＴＩＭＥ＿ｃ）から終了時刻までの残り時間（ｔ＿ｒ）を算出するＳ３０５。所定の対応関係を用いることにより、ヒータを駆動して蓄電装置の温度を目標温度まで上昇させるための昇温に必要な昇温時間（ｔ＿ｈ）を特定するＳ３０６。所定の対応関係は、残り時間と、現在時刻における蓄電装置の温度と、環境温度（Ｔｏｕｔ）と、昇温時間との対応関係である。終了時刻および昇温時間に基づいて、終了時刻における蓄電装置の温度が目標温度に到達するように、ヒータの駆動を開始するＳ３０９。昇温時間の間だけ、ヒータを駆動し、ヒータの駆動によって、終了時刻において、蓄電装置の温度を目標温度に到達させる。【選択図】図４
2016051590.tif 000002
【特許請求の範囲】
【請求項１】
車両の外部に設置された外部電源からの電力を用いた外部充電が行われ、前記車両を走行させるための動力源となる蓄電装置と、
前記蓄電装置の温度を検出する第１温度センサと、
前記蓄電装置の周辺環境における環境温度を検出する第２温度センサと、
前記外部電源からの電力を受けて発熱することにより、前記蓄電装置を温めるヒータと、
前記ヒータの駆動を制御するコントローラと、を有し、
前記コントローラは、
前記外部充電の終了時刻が設定されたとき、この設定時の現在時刻から前記終了時刻までの残り時間を算出し、
前記残り時間と、前記現在時刻における前記蓄電装置の温度と、前記環境温度と、前記ヒータを駆動して前記蓄電装置の温度を目標温度まで上昇させるための昇温に必要な昇温時間との対応関係を用い、算出した前記残り時間と、前記第１温度センサによって検出された前記現在時刻における前記蓄電装置の温度と、前記第２温度センサによって検出された前記環境温度とに対応する前記昇温時間を特定し、
前記終了時刻および前記昇温時間に基づいて、前記終了時刻における前記蓄電装置の温度が前記目標温度に到達するように、前記ヒータの駆動を開始する、
ことを特徴とする車両。
【請求項２】
車両の外部に設置された外部電源からの電力を用いた外部充電が行われ、前記車両を走行させるための動力源となる蓄電装置と、
前記蓄電装置の温度を検出する温度センサと、
前記蓄電装置の周辺環境における環境温度を記憶するメモリと、
前記外部電源からの電力を受けて発熱することにより、前記蓄電装置を温めるヒータと、
前記ヒータの駆動を制御するコントローラと、を有し、
前記コントローラは、
前記外部充電の終了時刻が設定されたとき、この設定時の現在時刻から前記終了時刻までの残り時間を算出し、
前記残り時間と、前記現在時刻における前記蓄電装置の温度と、前記環境温度と、前記ヒータを駆動して前記蓄電装置の温度を目標温度まで上昇させるための昇温に必要な昇温時間との対応関係を用い、算出した前記残り時間と、前記温度センサによって検出された前記現在時刻における前記蓄電装置の温度と、前記メモリに記憶された前記環境温度とに対応する前記昇温時間を特定し、
前記終了時刻および前記昇温時間に基づいて、前記終了時刻における前記蓄電装置の温度が前記目標温度に到達するように、前記ヒータの駆動を開始する、
ことを特徴とする車両。
【請求項３】
前記コントローラは、
前記現在時刻における前記蓄電装置の温度と、前記ヒータの駆動を開始するときの前記蓄電装置の温度と、前記環境温度と、前記現在時刻から前記ヒータの駆動を開始するまでの待機時間との対応関係を用いて、前記温度センサによって検出された前記現在時刻における前記蓄電装置の温度と、前記メモリに記憶された前記環境温度と、前記残り時間および前記昇温時間から算出される前記待機時間とに対応した、前記ヒータの駆動を開始するときの前記蓄電装置の温度を特定し、
前記ヒータの駆動を開始するとき、前記温度センサを用いて前記蓄電装置の温度を検出し、
特定した前記蓄電装置の温度が、検出した前記蓄電装置の温度よりも低く、これらの温度の差が許容値よりも大きいとき、前記メモリに記憶された前記環境温度を所定温度だけ上昇させる、
ことを特徴とする請求項２に記載の車両。
【請求項４】
前記コントローラは、
前記現在時刻における前記蓄電装置の温度と、前記ヒータの駆動を開始するときの前記蓄電装置の温度と、前記環境温度と、前記現在時刻から前記ヒータの駆動を開始するまでの待機時間との対応関係を用いて、前記温度センサによって検出された前記現在時刻における前記蓄電装置の温度と、前記メモリに記憶された前記環境温度と、前記残り時間および前記昇温時間から算出される前記待機時間とに対応した、前記ヒータの駆動を開始するときの前記蓄電装置の温度を特定し、
前記ヒータの駆動を開始するとき、前記温度センサを用いて前記蓄電装置の温度を検出し、
特定した前記蓄電装置の温度が、検出した前記蓄電装置の温度よりも高く、これらの温度の差が許容値よりも大きいとき、前記メモリに記憶された前記環境温度を所定温度だけ低下させる、
ことを特徴とする請求項２又は３に記載の車両。
【請求項５】
前記車両を走行させるための動力源となるエンジンを備えており、
前記車両は、前記蓄電装置のＳＯＣが基準値以上であるときには、ＣＤモードでの走行を行い、前記ＳＯＣが基準値よりも低いときには、ＣＳモードでの走行を行い、
前記外部充電を終了したときの前記ＳＯＣは、前記基準値よりも高く、
前記目標温度は、前記ＣＤモードでの走行に応じた前記蓄電装置の出力を確保する前記蓄電装置の温度であることを特徴とする請求項１から４のいずれか１つに記載の車両。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、外部電源からの電力によって充電される蓄電装置と、外部電源からの電力を受けて蓄電装置を温めるヒータとを備えた車両に関する。
【背景技術】
【０００２】
特許文献１では、バッテリの温度が作動開始温度まで低下すると、バッテリヒータの作動を開始させ、バッテリの温度が、作動開始温度よりも高い作動停止温度まで上昇すると、バッテリヒータの作動を停止させている。また、特許文献１では、タイマ充電を行うときに、バッテリヒータを作動させるようにしている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】国際公開第２０１２／１２４４８６号パンフレット
【発明の概要】
【発明が解決しようとする課題】
【０００４】
タイマ充電の終了時刻を設定したとき、この終了時刻以降に車両の走行が開始されるため、車両の走行を開始するとき、言い換えれば、タイマ充電の終了時刻において、バッテリの入出力性能（特に、出力性能）を確保することが好ましい。バッテリの入出力性能は、バッテリの温度に依存するため、タイマ充電の終了時刻において、バッテリの温度が所定温度に到達していればよい。
【０００５】
特許文献１では、バッテリヒータの作動を制御することにより、バッテリの温度を作動停止温度（所定温度）以上に維持するようにしており、タイマ充電の終了時刻においても、バッテリの温度を所定温度以上とすることができる。
【０００６】
しかし、特許文献１では、タイマ充電中において、バッテリヒータの作動が繰り返されることがある。すなわち、バッテリの温度が作動停止温度まで上昇してバッテリヒータの作動を停止させると、外気温度の影響を受けて、バッテリの温度が低下する。そして、バッテリの温度が作動開始温度まで低下すると、バッテリヒータの作動が再開される。これにより、バッテリヒータの作動が繰り返されてしまう。
【０００７】
このように、バッテリヒータの作動が繰り返されてしまうと、バッテリヒータの作動に伴う電力が無駄になってしまう。すなわち、バッテリヒータの作動を停止した後に、バッテリの温度が低下してしまうと、バッテリの温度が低下する前にバッテリヒータを作動したときの電力が無駄になってしまう。上述したように、タイマ充電の終了時刻において、バッテリの温度を所定温度に到達させればよいため、バッテリヒータの作動を繰り返してしまうと、バッテリヒータの作動に伴う電力が無駄になってしまう。
【課題を解決するための手段】
【０００８】
車両は、蓄電装置と、第１温度センサと、第２温度センサと、ヒータと、コントローラとを有する。蓄電装置は、車両を走行させるための動力源となり、車両の外部に設置された外部電源からの電力を用いた充電（外部充電）が行われる。第１温度センサは、蓄電装置の温度を検出し、第２温度センサは、蓄電装置の周辺環境における環境温度を検出する。ヒータは、外部電源からの電力を受けて発熱することにより、蓄電装置を温める。コントローラは、ヒータの駆動を制御する。
【０００９】
コントローラは、外部充電の終了時刻が設定されたとき、この設定時の現在時刻から終了時刻までの残り時間を算出する。コントローラは、所定の対応関係を用いることにより、ヒータを駆動して蓄電装置の温度を目標温度まで上昇させるための昇温に必要な時間（昇温時間）を特定する。所定の対応関係は、残り時間と、現在時刻における蓄電装置の温度と、環境温度と、昇温時間との対応関係である。
【００１０】
所定の対応関係を用いれば、算出した残り時間と、第１温度センサによって検出された現在時刻における蓄電装置の温度と、第２温度センサによって検出された環境温度とに対応する昇温時間を特定することができる。所定の対応関係は、演算式又はマップとして表すことができる。コントローラは、終了時刻および昇温時間に基づいて、終了時刻における蓄電装置の温度が目標温度に到達するように、ヒータの駆動を開始する。
【００１１】
一方、車両は、蓄電装置と、温度センサと、メモリと、ヒータと、コントローラとを有する。蓄電装置は、車両を走行させるための動力源となり、車両の外部に設置された外部電源からの電力を用いた充電（外部充電）が行われる。温度センサは、蓄電装置の温度を検出する。メモリは、蓄電装置の周辺環境における環境温度を記憶する。ヒータは、外部電源からの電力を受けて発熱することにより、蓄電装置を温める。コントローラは、ヒータの駆動を制御する。
【００１２】
コントローラは、外部充電の終了時刻が設定されたとき、この設定時の現在時刻から終了時刻までの残り時間を算出する。コントローラは、所定の対応関係を用いることにより、ヒータを駆動して蓄電装置の温度を目標温度まで上昇させるための昇温に必要な時間（昇温時間）を特定する。所定の対応関係は、残り時間と、現在時刻における蓄電装置の温度と、環境温度と、昇温時間との対応関係である。
【００１３】
所定の対応関係を用いれば、算出した残り時間と、温度センサによって検出された現在時刻における蓄電装置の温度と、メモリに記憶された環境温度とに対応する昇温時間を特定することができる。所定の対応関係は、演算式又はマップとして表すことができる。コントローラは、終了時刻および昇温時間に基づいて、終了時刻における蓄電装置の温度が目標温度に到達するように、ヒータの駆動を開始する。
【００１４】
昇温時間の間だけ、ヒータを駆動することにより、終了時刻において、蓄電装置の温度を目標温度に到達させることができる。終了時刻以降では、外部充電が終了しており、車両の走行が開始される。車両の走行が開始されれば、蓄電装置の温度が上昇しやすくなるため、ヒータの駆動を停止した後に、蓄電装置の温度が低下することを防止できる。ヒータの駆動を停止した後に、蓄電装置の温度が低下してしまうと、蓄電装置の温度を上昇させるためにヒータを駆動したときの電力が無駄になってしまう。上述したように、昇温時間の間、ヒータを駆動して、終了時刻における蓄電装置の温度を目標温度に到達させることにより、ヒータの駆動を停止した後に、蓄電装置の温度が低下することを防止できるため、ヒータの駆動に伴う電力が無駄になることを防止できる。
【００１５】
メモリに記憶された環境温度は、以下に説明するように補正することができる。このように環境温度を補正することにより、補正後の環境温度を、実際の環境温度に近づけることができ、実際の環境温度に応じた昇温時間を特定することができる。
【００１６】
コントローラは、所定の対応関係を用いて、ヒータの駆動を開始するときの蓄電装置の温度を特定（推定）する。ここでいう所定の対応関係とは、現在時刻における蓄電装置の温度と、ヒータの駆動を開始するときの蓄電装置の温度と、環境温度と、現在時刻からヒータの駆動を開始するまでの時間（待機時間）との対応関係であり、演算式又はマップとして表すことができる。この対応関係を用いれば、温度センサによって検出された現在時刻における蓄電装置の温度と、メモリに記憶された環境温度と、残り時間および昇温時間から算出される待機時間とに対応した、ヒータの駆動を開始するときの蓄電装置の温度を特定できる。
【００１７】
コントローラは、ヒータの駆動を開始するとき、温度センサを用いて蓄電装置の温度を検出する。そして、特定（推定）した蓄電装置の温度が、検出した蓄電装置の温度よりも低く、これらの温度の差が許容値よりも大きいとき、コントローラは、メモリに記憶された環境温度を所定温度だけ上昇させることができる。
【００１８】
蓄電装置の温度（推定値）が、蓄電装置の温度（検出値）よりも低いときには、蓄電装置の温度（推定値）を特定するときの環境温度が、実際の環境温度よりも低いことになる。そこで、上述したように、メモリに記憶された環境温度を所定温度だけ上昇させることにより、蓄電装置の温度（推定値）を特定するときの環境温度を実際の環境温度に近づけることができる。
【００１９】
一方、特定（推定）した蓄電装置の温度が、検出した蓄電装置の温度よりも高く、これらの温度の差が許容値よりも大きいとき、コントローラは、メモリに記憶された環境温度を所定温度だけ低下させることができる。
【００２０】
蓄電装置の温度（推定値）が、蓄電装置の温度（検出値）よりも高いときには、蓄電装置の温度（推定値）を特定するときの環境温度が、実際の環境温度よりも高いことになる。そこで、上述したように、メモリに記憶された環境温度を所定温度だけ低下させることにより、蓄電装置の温度（推定値）を特定するときの環境温度を実際の環境温度に近づけることができる。
【００２１】
車両には、車両を走行させるための動力源となるエンジンを備えることができる。ここで、車両は、蓄電装置のＳＯＣが基準値以上であるときには、ＣＤモードでの走行を行い、ＳＯＣが基準値よりも低いときには、ＣＳモードでの走行を行う。また、外部充電を終了したときのＳＯＣは、基準値よりも高くなる。上述した目標温度としては、ＣＤモードでの走行に応じた蓄電装置の出力を確保する蓄電装置の温度とすることができる。
【００２２】
外部充電を終了した後では、蓄電装置のＳＯＣが基準値よりも高くなるため、ＣＤモードでの走行が行われる。上述したように目標温度を設定することにより、ＣＤモードでの走行において、蓄電装置を充放電させやすくなる。
【図面の簡単な説明】
【００２３】
【図１】ハイブリッドシステムの構成を示す図である。
【図２】充電終了時刻が設定されたときの外部充電の処理を示すフローチャートである。
【図３】車両の走行モードを設定する処理を示すフローチャートである。
【図４】実施例１において、ヒータの駆動を制御する処理を示すフローチャートである。
【図５】特定の環境温度において、バッテリ温度、残り時間および昇温時間の対応関係（マップ）を示す図である。
【図６】実施例１の変形例において、ヒータの駆動を制御する処理を示すフローチャートである。
【図７】バッテリ温度の挙動を示す図である。
【図８】実施例２において、ヒータの駆動を制御する処理を示すフローチャートである。
【図９】実施例２において、ヒータの駆動を制御する処理を示すフローチャートである。
【図１０】特定の環境温度において、バッテリ温度（検出値）、バッテリ温度（推定値）および待機時間の対応関係（マップ）を示す図である。
【図１１】バッテリ温度の挙動を示す図である。
【発明を実施するための形態】
【００２４】
以下、本発明の実施例について説明する。
【実施例１】
【００２５】
図１は、本実施例のハイブリッドシステムの構成を示す図である。図１に示すハイブリッドシステムは、車両（いわゆるハイブリッド車両）に搭載されている。
【００２６】
メインバッテリ（本発明の蓄電装置に相当する）１０は、直列に接続された複数の単電池１１を有する。単電池１１としては、ニッケル水素電池やリチウムイオン電池といった二次電池を用いることができる。また、二次電池の代わりに、電気二重層キャパシタを用いることもできる。メインバッテリ１０には、並列に接続された複数の単電池１１が含まれていてもよい。
【００２７】
電圧センサ２１は、メインバッテリ１０の電圧値ＶＢを検出し、検出結果をコントローラ５０に出力する。電流センサ２２は、メインバッテリ１０の電流値ＩＢを検出し、検出結果をコントローラ５０に出力する。ここで、メインバッテリ１０を放電しているときの電流値ＩＢを正の値とし、メインバッテリ１０を充電しているときの電流値ＩＢを負の値とする。温度センサ２３は、メインバッテリ１０の温度（バッテリ温度という）ＴＢｓを検出し、検出結果をコントローラ５０に出力する。ここで、メインバッテリ１０のうち、互いに異なる位置に対して、複数の温度センサ２３を設けることもできる。
【００２８】
メインバッテリ１０の正極端子には、正極ラインＰＬが接続され、メインバッテリ１０の負極端子には、負極ラインＮＬが接続されている。メインバッテリ１０は、正極ラインＰＬおよび負極ラインＮＬを介して、インバータ３１と接続されている。正極ラインＰＬにはシステムメインリレーＳＭＲ−Ｂが設けられ、負極ラインＮＬにはシステムメインリレーＳＭＲ−Ｇが設けられている。システムメインリレーＳＭＲ−Ｂ，ＳＭＲ−Ｇは、コントローラ５０からの制御信号を受けることにより、オンおよびオフの間で切り替わる。
【００２９】
車両のイグニッションスイッチがオフからオンに切り替わったとき、コントローラ５０は、システムメインリレーＳＭＲ−Ｂ，ＳＭＲ−Ｇをオフからオンに切り替えることにより、メインバッテリ１０をインバータ３１と接続する。これにより、図１に示すハイブリッドシステムが起動状態（Ready-On）になる。ハイブリッドシステムが起動状態にあるとき、車両を走行させることができる。
【００３０】
一方、イグニッションスイッチがオンからオフに切り替わったとき、コントローラ５０は、システムメインリレーＳＭＲ−Ｂ，ＳＭＲ−Ｇをオンからオフに切り替えることにより、メインバッテリ１０およびインバータ３１の接続を遮断する。これにより、図１に示すハイブリッドシステムが停止状態（Ready-Off）になる。ハイブリッドシステムが停止状態にあるとき、車両を走行させることができない。
【００３１】
インバータ３１は、メインバッテリ１０から出力された直流電力を交流電力に変換し、交流電力をモータ・ジェネレータＭＧ２に出力する。モータ・ジェネレータＭＧ２は、インバータ３１から出力された交流電力を受けて、車両を走行させるための運動エネルギ（動力）を生成する。モータ・ジェネレータＭＧ２が生成した運動エネルギを駆動輪３２に伝達することにより、車両を走行させることができる。
【００３２】
動力分割機構３３は、エンジン３４の動力を、駆動輪３２に伝達したり、モータ・ジェネレータＭＧ１に伝達したりする。モータ・ジェネレータＭＧ１は、エンジン３４の動力を受けて発電する。モータ・ジェネレータＭＧ１が生成した電力（交流電力）は、インバータ３１を介して、モータ・ジェネレータＭＧ２に供給されたり、メインバッテリ１０に供給されたりする。モータ・ジェネレータＭＧ１が生成した電力を、モータ・ジェネレータＭＧ２に供給すれば、モータ・ジェネレータＭＧ２が生成した運動エネルギによって、駆動輪３２を駆動することができる。モータ・ジェネレータＭＧ１が生成した電力をメインバッテリ１０に供給すれば、メインバッテリ１０を充電することができる。
【００３３】
車両を減速させたり、停止させたりするとき、モータ・ジェネレータＭＧ２は、車両の制動時に発生する運動エネルギを電気エネルギ（交流電力）に変換する。インバータ３１は、モータ・ジェネレータＭＧ２が生成した交流電力を直流電力に変換し、直流電力をメインバッテリ１０に出力する。これにより、メインバッテリ１０は、回生電力を蓄えることができる。
【００３４】
本実施例のハイブリッドシステムにおいて、メインバッテリ１０およびインバータ３１の間の電流経路には、昇圧回路を設けることができる。昇圧回路は、メインバッテリ１０の出力電圧を昇圧し、昇圧後の電力をインバータ３１に出力することができる。また、昇圧回路は、インバータ３１の出力電圧を降圧し、降圧後の電力をメインバッテリ１０に出力することができる。
【００３５】
システムメインリレーＳＭＲ−Ｂおよびインバータ３１の間の正極ラインＰＬと、システムメインリレーＳＭＲ−Ｇおよびインバータ３１の間の負極ラインＮＬとには、ＤＣ／ＤＣコンバータ３５が接続されている。ＤＣ／ＤＣコンバータ３５には、補機３６、補機バッテリ３７およびヒータ３８が接続されている。ハイブリッドシステムが起動状態にあるとき、ＤＣ／ＤＣコンバータ３５は、メインバッテリ１０の出力電圧を降圧し、降圧後の電力を補機３６や補機バッテリ３７に供給する。これにより、補機３６を動作させたり、補機バッテリ３７を充電したりすることができる。ＤＣ／ＤＣコンバータ３５の動作は、コントローラ５０によって制御される。
【００３６】
ヒータ３８は、メインバッテリ１０を温めるために用いられる。ＤＣ／ＤＣコンバータ３５およびヒータ３８の間の電流経路には、スイッチ３９が設けられており、スイッチ３９は、コントローラ５０からの制御信号を受けて、オンおよびオフの間で切り替わる。スイッチ３９がオンであるとき、ＤＣ／ＤＣコンバータ３５からヒータ３８に所定の電力が供給され、ヒータ３８を発熱させることができる。ヒータ３８から発生した熱がメインバッテリ１０に伝達されることにより、メインバッテリ１０が温められる。
【００３７】
メインバッテリ１０の正極端子およびシステムメインリレーＳＭＲ−Ｂの間の正極ラインＰＬには、充電ラインＣＨＬ１が接続されており、充電ラインＣＨＬ１には、充電リレーＣＨＲ１が設けられている。メインバッテリ１０の負極端子およびシステムメインリレーＳＭＲ−Ｇの間の負極ラインＮＬには、充電ラインＣＨＬ２が接続されており、充電ラインＣＨＬ２には、充電リレーＣＨＲ２が設けられている。充電リレーＣＨＲ１，ＣＨＲ２は、コントローラ５０からの制御信号を受けて、オンおよびオフの間で切り替わる。
【００３８】
充電ラインＣＨＬ１，ＣＨＬ２には、充電器４１が接続されている。充電器４１には、充電ラインＣＨＬ１，ＣＨＬ２を介してコネクタ（いわゆるインレット）４２が接続されている。コネクタ４２には、コネクタ（いわゆる充電プラグ）４３を接続することができる。コネクタ４３には外部電源（例えば、商用電源）４４が接続されており、コネクタ４３および外部電源４４は、車両の外部に設置されている。
【００３９】
コネクタ４３がコネクタ４２に接続され、充電リレーＣＨＲ１，ＣＨＲ２がオンであるとき、充電器４１は、外部電源４４からの交流電力を直流電力に変換し、直流電力を出力する。充電器４１の動作は、コントローラ５０によって制御される。充電器４１から出力された直流電力は、メインバッテリ１０に供給され、メインバッテリ１０を充電することができる。外部電源４４からの電力を用いたメインバッテリ１０の充電を外部充電という。外部充電を行うときには、メインバッテリ１０のＳＯＣ（State of Charge）が目標値ＳＯＣ＿ｔａｇ以上となるまで、メインバッテリ１０が充電される。ここで、目標値ＳＯＣ＿ｔａｇは予め設定される。
【００４０】
外部充電を行うとき、ハイブリッドシステムを起動状態にすることにより、充電器４１からの電力を、メインバッテリ１０だけでなく、ＤＣ／ＤＣコンバータ３５にも供給することができる。ここで、スイッチ３９をオンにすれば、ＤＣ／ＤＣコンバータ３５は、充電器４１の出力電圧を降圧し、降圧後の電力（一定の電力）をヒータ３８に供給することができる。これにより、外部充電を行うとき、外部電源４４からの電力の一部を用いて、ヒータ３８を駆動してメインバッテリ１０を温めることができる。
【００４１】
なお、充電ラインＣＨＬ１は、システムメインリレーＳＭＲ−Ｂおよびインバータ３１の間の正極ラインＰＬに接続することができる。また、充電ラインＣＨＬ２は、システムメインリレーＳＭＲ−Ｇおよびインバータ３１の間の負極ラインＮＬに接続することができる。この構成において、外部充電を行うときには、充電リレーＣＨＲ１，ＣＨＲ２をオンにするとともに、ハイブリッドシステムを起動状態にする必要がある。
【００４２】
温度センサ２４は、環境温度Ｔｏｕｔを検出し、検出結果をコントローラ５０に出力する。環境温度Ｔｏｕｔとは、メインバッテリ１０の周辺環境における温度である。例えば、車両の外気温度を環境温度Ｔｏｕｔとすることができ、温度センサ２４としては、車両に搭載された外気温センサを用いることができる。
【００４３】
設定部２５は、外部充電を終了する時刻（充電終了時刻という）ＴＩＭＥ＿ｅを設定するために用いられる。設定部２５で設定された充電終了時刻ＴＩＭＥ＿ｅの情報は、コントローラ５０に入力される。充電終了時刻ＴＩＭＥ＿ｅが設定されたとき、充電終了時刻ＴＩＭＥ＿ｅまでに外部充電が終了するように、外部充電が開始される。
【００４４】
時計２６は、現在時刻ＴＩＭＥ＿ｃを計測するために用いられ、時計２６によって計測された現在時刻ＴＩＭＥ＿ｃの情報は、コントローラ５０に入力される。コントローラ５０は、メモリ５１を有しており、メモリ５１には、所定の情報が記憶されている。なお、メモリ５１は、コントローラ５０の内部ではなく、コントローラ５０の外部に設けることもできる。
【００４５】
なお、本実施例では、ハイブリッド車両について説明しているが、いわゆる電動車両についても、本発明を適用することができる。電動車両では、車両を走行させるための動力源として、メインバッテリ１０だけを備えている。電動車両に搭載されるシステムでは、例えば、図１に示す構成において、動力分割機構３３、エンジン３４およびモータ・ジェネレータＭＧ１が省略される。
【００４６】
次に、外部充電を行うときの処理について、図２に示すフローチャートを用いて説明する。図２に示す処理は、コントローラ５０によって実行される。また、図２に示す処理は、コネクタ４３がコネクタ４２に接続され、設定部２５において充電終了時刻ＴＩＭＥ＿ｅが設定されたときに開始される。
【００４７】
ステップＳ１０１において、コントローラ５０は、外部充電時間ｔ＿ｃｈａｇを算出する。外部充電時間ｔ＿ｃｈａｇとは、外部充電を開始してから終了するまでの時間である。メインバッテリ１０の現在のＳＯＣと、目標値ＳＯＣ＿ｔａｇと、外部充電を行うときの電流値とに基づいて、外部充電時間ｔ＿ｃｈａｇを算出することができる。具体的には、現在のＳＯＣおよび目標値ＳＯＣ＿ｔａｇの差を、外部充電時の電流値で除算すれば、外部充電時間ｔ＿ｃｈａｇを算出することができる。
【００４８】
ここで、目標値ＳＯＣ＿ｔａｇは、予め設定されている。また、外部充電では、定電流での充電が行われ、この電流値は予め設定されている。このため、メインバッテリ１０の現在のＳＯＣを算出することにより、外部充電時間ｔ＿ｃｈａｇを算出することができる。車両の走行中では、後述するようにメインバッテリ１０のＳＯＣが算出されているため、外部充電時間ｔ＿ｃｈａｇを算出するときのメインバッテリ１０のＳＯＣとしては、車両の走行を停止したときのメインバッテリ１０のＳＯＣを用いることができる。なお、外部充電時間ｔ＿ｃｈａｇを算出するときに、メインバッテリ１０のＳＯＣを算出してもよい。
【００４９】
ステップＳ１０２において、コントローラ５０は、充電開始時刻ＴＩＭＥ＿ｃｈａｇを算出する。充電開始時刻ＴＩＭＥ＿ｃｈａｇは、外部充電を開始するときの時刻であり、充電終了時刻ＴＩＭＥ＿ｅおよび外部充電時間ｔ＿ｃｈａｇに基づいて算出される。具体的には、充電開始時刻ＴＩＭＥ＿ｃｈａｇは、充電終了時刻ＴＩＭＥ＿ｅよりも外部充電時間ｔ＿ｃｈａｇだけ前の時刻である。充電開始時刻ＴＩＭＥ＿ｃｈａｇにおいて、外部充電を開始すれば、充電終了時刻ＴＩＭＥ＿ｅまでに外部充電を終了させることができる。
【００５０】
ステップＳ１０３において、コントローラ５０は、時計２６を用いて、現在時刻ＴＩＭＥ＿ｃを取得する。ステップＳ１０４において、コントローラ５０は、ステップＳ１０３の処理で取得した現在時刻ＴＩＭＥ＿ｃが、ステップＳ１０２の処理で算出した充電開始時刻ＴＩＭＥ＿ｃｈａｇを経過したか否かを判別する。現在時刻ＴＩＭＥ＿ｃが充電開始時刻ＴＩＭＥ＿ｃｈａｇを経過していないとき、コントローラ５０は、ステップＳ１０３の処理に戻る。
【００５１】
現在時刻ＴＩＭＥ＿ｃが充電開始時刻ＴＩＭＥ＿ｃｈａｇを経過したとき、コントローラ５０は、ステップＳ１０５において、外部充電を開始する。具体的には、充電リレーＣＨＲ１，ＣＨＲ２がオンの状態において、コントローラ５０は、充電器４１の動作を開始させる。これにより、充電器４１からメインバッテリ１０に電力が供給される。
【００５２】
ステップＳ１０６において、コントローラ５０は、メインバッテリ１０のＳＯＣを算出する。ステップＳ１０７において、コントローラ５０は、ステップＳ１０６の処理で算出したＳＯＣが目標値ＳＯＣ＿ｔａｇ以上であるか否かを判別する。メインバッテリ１０のＳＯＣが目標値ＳＯＣ＿ｔａｇよりも低いとき、コントローラ５０は、ステップＳ１０６の処理に戻り、外部充電が継続される。メインバッテリ１０のＳＯＣが目標値ＳＯＣ＿ｔａｇ以上であるとき、コントローラ５０は、ステップＳ１０８において、外部充電を終了させる。具体的には、コントローラ５０は、充電器４１の動作を停止させる。
【００５３】
なお、充電終了時刻ＴＩＭＥ＿ｅが設定されていないときには、コネクタ４３がコネクタ４２に接続され、ユーザが外部充電の開始を指示することにより、外部充電が開始される。すなわち、コネクタ４３がコネクタ４２に接続され、外部充電の開始の指示をコントローラ５０が受けたとき、図２に示すステップＳ１０５〜ステップＳ１０８の処理が行われる。
【００５４】
本実施例の車両では、走行モードとして、公知のＣＤ（Charge Depleting）モードおよびＣＳ（Charge Sustain）モードがある。ＣＤモードでは、メインバッテリ１０の出力だけを用いた走行、言い換えれば、モータ・ジェネレータＭＧ２の動力だけを用いた走行が優先的に行われる。ＣＳモードでは、メインバッテリ１０およびエンジン３４の出力を併用した走行が優先的に行われる。
【００５５】
ＣＤモードおよびＣＳモードでは、モータ・ジェネレータＭＧ２の動力だけを用いて走行する状態と、エンジン３４およびモータ・ジェネレータＭＧ２の動力を用いて走行する状態とが存在する。ここで、ＣＤモードおよびＣＳモードでは、エンジン３４を始動させる要求パワー（エンジン始動パワーという）が異なる。具体的には、ＣＤモードでのエンジン始動パワーは、ＣＳモードでのエンジン始動パワーよりも大きい。ＣＤモードおよびＣＳモードにおけるエンジン始動パワーは、予め設定することができる。エンジン始動パワーは、エンジン３４の回転数およびトルクによって規定される。
【００５６】
アクセルペダルの操作などによって車両に要求されるパワーが、ＣＤモードでのエンジン始動パワーよりも低いときには、エンジン３４が停止した状態において、モータ・ジェネレータＭＧ２の動力だけを用いて車両の走行が行われる。一方、車両に要求されるパワーが、ＣＤモードでのエンジン始動パワー以上であるときには、エンジン３４およびモータ・ジェネレータＭＧ２の動力を用いて車両の走行が行われる。
【００５７】
なお、ＷＯＴ（Wide Open Throttle）などの限られた走行状態において、車両に要求されるパワーが、ＣＤモードでのエンジン始動パワー以上となる。このため、ＣＤモードでは、モータ・ジェネレータＭＧ２の動力だけを用いた走行が優先的に行われる。
【００５８】
車両に要求されるパワーが、ＣＳモードでのエンジン始動パワーよりも低いときには、エンジン３４が停止した状態において、モータ・ジェネレータＭＧ２の動力だけを用いた車両の走行が行われる。一方、車両に要求されるパワーが、ＣＳモードでのエンジン始動パワー以上であるときには、エンジン３４およびモータ・ジェネレータＭＧ２の動力を用いて車両の走行が行われる。
【００５９】
なお、車両に要求されるパワーが、ＣＳモードでのエンジン始動パワーよりも低くなるときは、アイドリング運転などの運転状態に限られている。このため、ＣＳモードでは、エンジン３４およびモータ・ジェネレータＭＧ２の動力を用いた走行が優先的に行われる。
【００６０】
車両の走行モードを設定する処理について、図３に示すフローチャートを用いて説明する。図３に示す処理は、所定の周期において、コントローラ５０によって実行される。
【００６１】
ステップＳ２０１において、コントローラ５０は、メインバッテリ１０のＳＯＣを算出する。公知のように、メインバッテリ１０のＳＯＣは、電圧値ＶＢや電流値ＩＢに基づいて算出することができる。ステップＳ２０２において、コントローラ５０は、ステップＳ２０１の処理で算出されたＳＯＣが基準値ＳＯＣ＿ｒｅｆ以上であるか否かを判別する。基準値ＳＯＣ＿ｒｅｆは、予め設定されており、基準値ＳＯＣ＿ｒｅｆの情報は、メモリ５１に記憶されている。
【００６２】
ステップＳ２０２において、メインバッテリ１０のＳＯＣが基準値ＳＯＣ＿ｒｅｆ以上であるとき、コントローラ５０は、ステップＳ２０３において、車両の走行モードとして、ＣＤモードを設定する。一方、メインバッテリ１０のＳＯＣが基準値ＳＯＣ＿ｒｅｆよりも低いとき、コントローラ５０は、ステップＳ２０４において、車両の走行モードとして、ＣＳモードを設定する。
【００６３】
ここで、外部充電を行うと、基準値ＳＯＣ＿ｒｅｆよりも高いＳＯＣまで、メインバッテリ１０が充電される。すなわち、外部充電時の目標値ＳＯＣ＿ｔａｇは、基準値ＳＯＣ＿ｒｅｆよりも高いＳＯＣに設定されている。このため、外部充電を行った直後の車両の走行では、ＣＤモードが設定される。ＣＤモードでの走行に応じて、メインバッテリ１０のＳＯＣが低下するため、メインバッテリ１０のＳＯＣが基準値ＳＯＣ＿ｒｅｆよりも低くなれば、車両の走行モードがＣＤモードからＣＳモードに切り替わる。
【００６４】
次に、ヒータ３８の駆動を制御する処理について、図４に示すフローチャートを用いて説明する。図４に示す処理は、コントローラ５０によって実行される。コネクタ４３がコネクタ４２に接続されるとともに、設定部２５において充電終了時刻ＴＩＭＥ＿ｅが設定されたとき、図４に示す処理が開始される。
【００６５】
ステップＳ３０１において、コントローラ５０は、温度センサ２３を用いて、バッテリ温度ＴＢｓを検出するとともに、温度センサ２４を用いて、環境温度Ｔｏｕｔを検出する。ステップＳ３０２において、コントローラ５０は、ステップＳ３０１の処理で検出したバッテリ温度ＴＢｓが目標温度ＴＢ＿ｔａｇよりも低いか否かを判別する。
【００６６】
目標温度ＴＢ＿ｔａｇは予め設定され、目標温度ＴＢ＿ｔａｇの情報は、メモリ５１に記憶しておくことができる。目標温度ＴＢ＿ｔａｇは、以下に説明する点を考慮して設定することができる。
【００６７】
充電終了時刻ＴＩＭＥ＿ｅが設定されて、充電終了時刻ＴＩＭＥ＿ｅまで外部充電が行われたとき、充電終了時刻ＴＩＭＥ＿ｅ以降では、ＣＤモードでの走行が行われる。ＣＤモードでの走行では、メインバッテリ１０の出力だけを用いた走行が優先的に行われる。このため、充電終了時刻ＴＩＭＥ＿ｅ以降では、メインバッテリ１０の入出力性能（特に、出力性能）を確保しておくことが好ましい。
【００６８】
メインバッテリ１０の入出力性能は、バッテリ温度ＴＢｓに依存し、バッテリ温度ＴＢｓが低いほど、メインバッテリ１０の入出力性能が低下しやすい。そこで、メインバッテリ１０の入出力性能を確保できるバッテリ温度ＴＢｓとして、目標温度ＴＢ＿ｔａｇを設定することができる。具体的には、メインバッテリ１０の入出力性能およびバッテリ温度ＴＢｓの対応関係を考慮し、ＣＤモードの走行に応じた入出力性能（特に、出力性能）が得られるときのバッテリ温度ＴＢｓを、目標温度ＴＢ＿ｔａｇとして設定することができる。
【００６９】
ここで、ＣＤモードの走行に応じた入出力性能（特に、出力性能）が得られるときのバッテリ温度ＴＢｓの下限値を特定しておき、この下限値以上の任意のバッテリ温度ＴＢｓを、目標温度ＴＢ＿ｔａｇとして設定できる。ＣＤモードの走行に応じた出力性能とは、車両に要求されるパワーが、ＣＤモードでのエンジン始動パワーよりも低いときにおいて、メインバッテリ１０の出力だけを用いて車両を走行させることができるメインバッテリ１０の出力性能である。
【００７０】
ここで、複数の温度センサ２３を設けた場合には、ステップＳ３０１の処理において、複数の温度センサ２３によって検出されたバッテリ温度ＴＢｓが互いに異なることがある。このとき、ステップＳ３０２の処理では、最も低いバッテリ温度ＴＢｓが目標温度ＴＢ＿ｔａｇよりも低いか否かを判別することができる。後述するようにヒータ３８を駆動して、メインバッテリ１０の全体におけるバッテリ温度ＴＢｓを目標温度ＴＢ＿ｔａｇ以上とするためには、ステップＳ３０２の処理において、最も低いバッテリ温度ＴＢｓが目標温度ＴＢ＿ｔａｇよりも低いか否かを判別すればよい。
【００７１】
ステップＳ３０２において、バッテリ温度ＴＢｓが目標温度ＴＢ＿ｔａｇよりも低いとき、コントローラ５０は、ヒータ３８を駆動する必要があると判別し、ステップＳ３０４以降の処理を行う。一方、バッテリ温度ＴＢｓが目標温度ＴＢ＿ｔａｇ以上であるとき、ステップＳ３０３において、コントローラ５０は、ステップＳ３０１の処理で検出した環境温度Ｔｏｕｔが目標温度ＴＢ＿ｔａｇよりも低いか否かを判別する。
【００７２】
ステップＳ３０３において、環境温度Ｔｏｕｔが目標温度ＴＢ＿ｔａｇ以上であるとき、コントローラ５０は、ヒータ３８を駆動する必要が無いと判別し、図４に示す処理を終了する。一方、環境温度Ｔｏｕｔが目標温度ＴＢ＿ｔａｇよりも低いとき、コントローラ５０は、ヒータ３８を駆動する必要があると判別し、ステップＳ４０４以降の処理を行う。
【００７３】
バッテリ温度ＴＢｓが目標温度ＴＢ＿ｔａｇ以上であっても、環境温度Ｔｏｕｔが目標温度ＴＢ＿ｔａｇよりも低いと、充電終了時刻ＴＩＭＥ＿ｅを設定したときから充電終了時刻ＴＩＭＥ＿ｅまでの間に、バッテリ温度ＴＢｓは、環境温度Ｔｏｕｔの影響を受けて目標温度ＴＢ＿ｔａｇよりも低くなる。このため、本実施例では、環境温度Ｔｏｕｔが目標温度ＴＢ＿ｔａｇよりも低いとき、ヒータ３８を駆動するようにしている。
【００７４】
ステップＳ３０４において、コントローラ５０は、時計２６を用いて、現在時刻ＴＩＭＥ＿ｃを取得する。ステップＳ３０１の処理で検出されたバッテリ温度ＴＢｓおよび環境温度Ｔｏｕｔは、現在時刻ＴＩＭＥ＿ｃにおけるバッテリ温度ＴＢｓおよび環境温度Ｔｏｕｔとなる。ステップＳ３０５において、コントローラ５０は、現在時刻ＴＩＭＥ＿ｃから充電終了時刻ＴＩＭＥ＿ｅまでの残り時間ｔ＿ｒを算出する。
【００７５】
ステップＳ３０６において、コントローラ５０は、昇温時間ｔ＿ｈを特定する。昇温時間ｔ＿ｈとは、ヒータ３８を駆動して、バッテリ温度ＴＢｓを目標温度ＴＢ＿ｔａｇまで上昇させるための昇温に必要な時間である。
【００７６】
ここで、ヒータ３８の駆動を休止することなく、ヒータ３８を継続して駆動するとき、昇温時間ｔ＿ｈは、ヒータ３８の駆動を開始してからヒータ３８の駆動を停止するまでの時間となる。一方、ヒータ３８の駆動中に、ヒータ３８の駆動を一時的に休止させるとき、昇温時間ｔ＿ｈには、ヒータ３８を駆動している時間だけでなく、ヒータ３８の駆動を休止させている時間を含めることができる。なお、ヒータ３８の駆動を休止させる時間が僅かであれば、ヒータ３８を駆動している時間だけを、昇温時間ｔ＿ｈとすることもできる。
【００７７】
ヒータ３８の駆動を一時的に休止させるときとしては、例えば、補機バッテリ３７のＯＣＶ（Open Circuit Voltage）を測定するときがある。補機バッテリ３７およびヒータ３８は、ＤＣ／ＤＣコンバータ３５に接続されているため、ヒータ３８を駆動しているときには、補機バッテリ３７が通電状態にあり、補機バッテリ３７のＯＣＶを測定することができない。そこで、ヒータ３８の駆動を一時的に休止させて、補機バッテリ３７のＯＣＶを測定することがある。
【００７８】
昇温時間ｔ＿ｈは、現在時刻ＴＩＭＥ＿ｃにおけるバッテリ温度ＴＢｓと、環境温度Ｔｏｕｔと、目標温度ＴＢ＿ｔａｇと、残り時間ｔ＿ｒとに依存する。このため、昇温時間ｔ＿ｈと、現在時刻ＴＩＭＥ＿ｃにおけるバッテリ温度ＴＢｓと、環境温度Ｔｏｕｔと、目標温度ＴＢ＿ｔａｇと、残り時間ｔ＿ｒとの対応関係を予め求めておくことができる。ここで、目標温度ＴＢ＿ｔａｇは予め設定された固定値となるため、昇温時間ｔ＿ｈと、現在時刻ＴＩＭＥ＿ｃにおけるバッテリ温度ＴＢｓと、環境温度Ｔｏｕｔと、残り時間ｔ＿ｒとの対応関係を予め求めておけばよい。
【００７９】
この対応関係は、演算式又はマップとして表すことができ、この対応関係の情報は、メモリ５１に記憶しておくことができる。この対応関係を演算式で表すとき、下記式（１）に示す演算式を用いることができる。
【００８０】
【数１】
2016051590.tif 000003
【００８１】
上記式（１）において、ｃおよびβは、予め定められた定数である。各定数ｃ，βは、目標温度ＴＢ＿ｔａｇや、環境温度Ｔｏｕｔの影響を受けてバッテリ温度ＴＢｓが低下するときのメインバッテリ１０の放熱特性や、ヒータ３８の駆動によってバッテリ温度ＴＢｓが上昇するときのメインバッテリ１０の受熱特性などを考慮して設定される。また、上述したように、ヒータ３８の駆動を一時的に休止させるときには、ヒータ３８の駆動を休止させる時間を考慮して、定数ｃ，βを設定することができる。定数ｃ,βの情報は、メモリ５１に記憶しておくことができる。
【００８２】
上記式（１）に示すバッテリ温度ＴＢｓとしては、ステップＳ３０１の処理で検出されたバッテリ温度ＴＢｓが用いられる。充電終了時刻ＴＩＭＥ＿ｅが設定されたときから充電終了時刻ＴＩＭＥ＿ｅまでの間では、環境温度Ｔｏｕｔが変化しにくく、環境温度Ｔｏｕｔを一定とみなすことができる。そこで、本実施例では、上記式（１）に示す環境温度Ｔｏｕｔとして、ステップＳ３０１の処理で検出された環境温度Ｔｏｕｔを用いている。上記式（１）に示す時間ｔ＿ｒとしては、ステップＳ３０５の処理で算出された残り時間ｔ＿ｒが用いられる。これにより、上記式（１）に基づいて、昇温時間ｔ＿ｈを特定（算出）することができる。
【００８３】
一方、上述した対応関係をマップで表したとき、このマップを用いることにより、ステップＳ３０１の処理で検出したバッテリ温度ＴＢｓおよび環境温度Ｔｏｕｔと、ステップＳ３０５の処理で算出された残り時間ｔ＿ｒとに対応する昇温時間ｔ＿ｈを特定することができる。例えば、環境温度Ｔｏｕｔ毎に、図５に示すマップを用意しておく。図５に示すマップは、バッテリ温度ＴＢｓと、残り時間ｔ＿ｒと、昇温時間ｔ＿ｈとの対応関係を示す。
【００８４】
図５に示すマップを、環境温度Ｔｏｕｔ毎に用意しておくことにより、ステップＳ３０１の処理で検出した環境温度Ｔｏｕｔに対応する、図５に示すマップを特定できる。次に、この特定したマップを用いることにより、ステップＳ３０１の処理で検出したバッテリ温度ＴＢｓと、ステップＳ３０５の処理で算出した残り時間ｔ＿ｒとに対応する昇温時間ｔ＿ｈを特定することができる。
【００８５】
ここで、複数の温度センサ２３を設けた場合には、ステップＳ３０１の処理において、複数の温度センサ２３によって検出されたバッテリ温度ＴＢｓが互いに異なることがある。このときには、最も低いバッテリ温度ＴＢｓを、昇温時間ｔ＿ｈの特定に用いられるバッテリ温度ＴＢｓとすることができる。ヒータ３８を駆動して、メインバッテリ１０の全体におけるバッテリ温度ＴＢｓを目標温度ＴＢ＿ｔａｇ以上とするためには、昇温時間ｔ＿ｈの特定において、最も低いバッテリ温度ＴＢｓを考慮すればよい。
【００８６】
ステップＳ３０６において、コントローラ５０は、駆動開始時刻ＴＩＭＥ＿ｈも算出する。上述したように昇温時間ｔ＿ｈを特定すれば、駆動開始時刻ＴＩＭＥ＿ｈを算出することができる。駆動開始時刻ＴＩＭＥ＿ｈとは、ヒータ３８の駆動を開始する時刻であり、充電終了時刻ＴＩＭＥ＿ｅよりも、昇温時間ｔ＿ｈだけ前の時刻となる。
【００８７】
ステップＳ３０７において、コントローラ５０は、時計２６を用いて現在時刻ＴＩＭＥ＿ｃを取得する。ステップＳ３０８において、コントローラ５０は、ステップＳ３０７の処理で取得した現在時刻ＴＩＭＥ＿ｃが、ステップＳ３０６の処理で算出した駆動開始時刻ＴＩＭＥ＿ｈを経過したか否かを判別する。現在時刻ＴＩＭＥ＿ｃが駆動開始時刻ＴＩＭＥ＿ｈを経過していないとき、コントローラ５０は、ステップＳ３０７の処理に戻る。
【００８８】
一方、現在時刻ＴＩＭＥ＿ｃが駆動開始時刻ＴＩＭＥ＿ｈを経過したとき、コントローラ５０は、ステップＳ３０９において、ヒータ３８の駆動を開始する。ここで、ヒータ３８の駆動を開始した実際の時刻は、駆動開始時刻ＴＩＭＥ＿ｈと一致することもあるし、駆動開始時刻ＴＩＭＥ＿ｈからずれてしまうこともある。例えば、ヒータ３８の駆動開始に要する時間などによって、ヒータ３８の駆動を開始した実際の時刻が、駆動開始時刻ＴＩＭＥ＿ｈからずれてしまうことがある。
【００８９】
ステップＳ３１０において、コントローラ５０は、温度センサ２３を用いてバッテリ温度ＴＢｓを検出する。ステップＳ３１１において、コントローラ５０は、ステップＳ３１０の処理で検出したバッテリ温度ＴＢｓが目標温度ＴＢ＿ｔａｇ以上であるか否かを判別する。ここで、複数の温度センサ２３を設けた場合には、ステップＳ３１０の処理において、複数の温度センサ２３によって検出されたバッテリ温度ＴＢｓが互いに異なることがある。このとき、ステップＳ３１１の処理では、最も低いバッテリ温度ＴＢｓが目標温度ＴＢ＿ｔａｇ以上であるか否かを判別することができる。
【００９０】
ステップＳ３１１において、バッテリ温度ＴＢｓが目標温度ＴＢ＿ｔａｇよりも低いとき、コントローラ５０は、ステップＳ３１０の処理に戻る。一方、バッテリ温度ＴＢｓが目標温度ＴＢ＿ｔａｇ以上であるとき、コントローラ５０は、ステップＳ３１２において、ヒータ３８の駆動を停止させる。
【００９１】
なお、図４に示す処理では、駆動開始時刻ＴＩＭＥ＿ｈを算出し、現在時刻ＴＩＭＥ＿ｃが駆動開始時刻ＴＩＭＥ＿ｈであるときに、ヒータ３８の駆動を開始しているが、これに限るものではない。具体的には、図４に示す処理の代わりに、図６に示す処理を行うことができる。図６において、図４で説明した処理と同じ処理については、同一の符号を用い、詳細な説明は省略する。以下、図６において、図４に示す処理と異なる処理について、主に説明する。
【００９２】
ステップＳ３０５の処理の後、コントローラ５０は、ステップＳ３１３において、昇温時間ｔ＿ｈを特定するとともに、待機時間ｔ＿ｗを算出する。ここで、図４に示すステップＳ３０６の処理と同様の方法により、昇温時間ｔ＿ｈを特定することができる。待機時間ｔ＿ｗは、ステップＳ３０４の処理によって取得された現在時刻ＴＩＭＥ＿ｃから、駆動開始時刻ＴＩＭＥ＿ｈまでの時間である。すなわち、待機時間ｔ＿ｗは、充電終了時刻ＴＩＭＥ＿ｅが設定されたときの現在時刻ＴＩＭＥ＿ｃから、ヒータ３８の駆動が開始されるまでの時間である。ステップＳ３０５の処理で算出された残り時間ｔ＿ｒから昇温時間ｔ＿ｈを減算することにより、待機時間ｔ＿ｗを算出することができる。
【００９３】
ステップＳ３１３の処理の後、コントローラ５０は、ステップＳ３１４において、時間ｔ＿ｃの計測を開始する。時間ｔ＿ｃの計測は、タイマを用いることができる。ステップＳ３１５において、コントローラ５０は、計測時間ｔ＿ｃが、ステップＳ３１３の処理で算出された待機時間ｔ＿ｗ以上であるか否かを判別する。
【００９４】
ステップＳ３１５において、計測時間ｔ＿ｃが待機時間ｔ＿ｗよりも短いとき、コントローラ５０は、計測時間ｔ＿ｃが待機時間ｔ＿ｗ以上となるまで待機する。計測時間ｔ＿ｃが待機時間ｔ＿ｗ以上であるとき、コントローラ５０は、ステップＳ３０９以降の処理を行う。ステップＳ３１５の処理は、図４に示すステップＳ３０８の処理と実質的に同じである。すなわち、駆動開始時刻ＴＩＭＥ＿ｈにおいて、ヒータ３８の駆動を開始することができる。ここで、ヒータ３８の駆動を開始した実際の時刻は、駆動開始時刻ＴＩＭＥ＿ｈと一致することもあるし、駆動開始時刻ＴＩＭＥ＿ｈからずれてしまうこともある。例えば、時間ｔ＿ｃの計測に用いられるタイマの分解能によっては、ヒータ３８の駆動を開始した実際の時刻が、駆動開始時刻ＴＩＭＥ＿ｈからずれてしまうことがある。
【００９５】
一方、図４又は図６に示す処理では、ステップＳ３０２，Ｓ３０３の処理を行っているが、これに限るものではない。具体的には、ステップＳ３０２，Ｓ３０３の処理の一方だけを行うことができる。ステップＳ３０２の処理だけを行うときにおいて、バッテリ温度ＴＢｓが目標温度ＴＢ＿ｔａｇ以上であるときには、図４又は図６に示す処理を終了することができる。一方、ステップＳ３０３の処理だけを行うとき、ステップＳ３０１の処理が行われた後に、ステップＳ３０３の処理が行われる。
【００９６】
図７には、バッテリ温度ＴＢｓの挙動（一例）を示す。図７において、縦軸はバッテリ温度ＴＢｓであり、横軸は時間である。
【００９７】
車両の走行を行うと、メインバッテリ１０が充放電されるため、バッテリ温度ＴＢｓは環境温度Ｔｏｕｔよりも高くなる。車両の走行を停止して、車両を放置した後では、バッテリ温度ＴＢｓは、環境温度Ｔｏｕｔの影響を受けて低下する。ここで、車両を放置し続ければ、バッテリ温度ＴＢｓは環境温度Ｔｏｕｔまで低下する。車両を放置した後において、コネクタ４３がコネクタ４２に接続されるとともに、充電終了時刻ＴＩＭＥ＿ｅが設定されることにより、図４又は図６に示す処理が開始される。
【００９８】
図７に示す現在時刻ＴＩＭＥ＿ｃは、図４又は図６に示すステップＳ３０４の処理で取得された現在時刻ＴＩＭＥ＿ｃである。図４又は図６に示す処理によれば、図７に示す現在時刻ＴＩＭＥ＿ｃにおけるバッテリ温度ＴＢｓおよび環境温度Ｔｏｕｔが検出される。図７に示す例では、現在時刻ＴＩＭＥ＿ｃにおけるバッテリ温度ＴＢｓが目標温度ＴＢ＿ｔａｇよりも高く、現在時刻ＴＩＭＥ＿ｃにおける環境温度Ｔｏｕｔが目標温度ＴＢ＿ｔａｇよりも低くなっている。なお、現在時刻ＴＩＭＥ＿ｃにおけるバッテリ温度ＴＢｓが目標温度ＴＢ＿ｔａｇよりも低くなることもある。図７に示す現在時刻ＴＩＭＥ＿ｃ以降では、環境温度Ｔｏｕｔの影響を受けて、バッテリ温度ＴＢｓが低下する。
【００９９】
図４に示す処理によれば、図７に示す現在時刻ＴＩＭＥ＿ｃにおいて、昇温時間ｔ＿ｈが特定されるとともに、駆動開始時刻ＴＩＭＥ＿ｈが算出される。時間が経過して、現在時刻ＴＩＭＥ＿ｃが駆動開始時刻ＴＩＭＥ＿ｈを経過すると、ヒータ３８の駆動が開始される。一方、図６に示す処理によれば、図７に示す現在時刻ＴＩＭＥ＿ｃにおいて、昇温時間ｔ＿ｈが特定されるとともに、待機時間ｔ＿ｗが算出される。時間が経過して、計測時間ｔ＿ｃが待機時間ｔ＿ｗ以上になると、ヒータ３８の駆動が開始される。
【０１００】
なお、一般的に、メインバッテリ１０のＳＯＣが基準値ＳＯＣ＿ｒｅｆよりも低く、ＣＳモードが設定されているときに、外部充電が行われる。このため、外部充電時間ｔ＿ｃｈａｇは昇温時間ｔ＿ｈよりも長くなりやすく、充電開始時刻ＴＩＭＥ＿ｃｈａｇは、駆動開始時刻ＴＩＭＥ＿ｈよりも前の時刻となりやすい。
【０１０１】
ここで、駆動開始時刻ＴＩＭＥ＿ｈにおけるバッテリ温度ＴＢｓは、図７に示す待機時間ｔ＿ｗに応じて変化する。図７に示す例において、駆動開始時刻ＴＩＭＥ＿ｈにおけるバッテリ温度ＴＢｓは、環境温度Ｔｏｕｔよりも高くなっているが、環境温度Ｔｏｕｔまで低下することもある。
【０１０２】
駆動開始時刻ＴＩＭＥ＿ｈにおいて、ヒータ３８の駆動を開始すると、バッテリ温度ＴＢｓが上昇する。図４又は図６に示す処理によれば、ヒータ３８の駆動を開始した後、バッテリ温度ＴＢｓが目標温度ＴＢ＿ｔａｇ以上となるまで、ヒータ３８が駆動される。ここで、ヒータ３８を駆動する時間が、昇温時間ｔ＿ｈとなる。また、ヒータ３８の駆動を停止した時刻が、充電終了時刻ＴＩＭＥ＿ｅとなり、充電終了時刻ＴＩＭＥ＿ｅにおいて、バッテリ温度ＴＢｓを目標温度ＴＢ＿ｔａｇに到達させることができる。
【０１０３】
図４に示すステップＳ３０６の処理や、図６に示すステップＳ３１３の処理では、図７に示すバッテリ温度ＴＢｓの挙動を推定して昇温時間ｔ＿ｈを特定している。昇温時間ｔ＿ｈが長いほど、ヒータ３８の駆動によって、バッテリ温度ＴＢｓが上昇しやすくなる。また、待機時間ｔ＿ｗが長いほど、環境温度Ｔｏｕｔの影響を受けて、バッテリ温度ＴＢｓが低下しやすくなる。ここで、バッテリ温度ＴＢｓの低下量は、図７に示す現在時刻ＴＩＭＥ＿ｃにおけるバッテリ温度ＴＢｓと、環境温度Ｔｏｕｔとに依存する。これらの点を考慮することにより、バッテリ温度ＴＢｓの挙動を把握でき、図４に示すステップＳ３０６の処理や、図６に示すステップＳ３１３の処理で説明したように、現在時刻ＴＩＭＥ＿ｃにおけるバッテリ温度ＴＢｓと、環境温度Ｔｏｕｔと、残り時間ｔ＿ｒとに基づいて、昇温時間ｔ＿ｈを特定することができる。
【０１０４】
ヒータ３８は、駆動開始時刻ＴＩＭＥ＿ｈから充電終了時刻ＴＩＭＥ＿ｅまで駆動されるが、外部充電も充電終了時刻ＴＩＭＥ＿ｅまで行われる。このため、外部充電を行う時間と、ヒータ３８を駆動する時間とが重複する。ここで、外部充電を行っているときには、メインバッテリ１０が通電状態になるが、ヒータ３８を駆動する環境下では、メインバッテリ１０の通電に伴うバッテリ温度ＴＢｓの上昇は僅かである。このため、本実施例では、昇温時間ｔ＿ｈを算出するとき、メインバッテリ１０の通電に伴うバッテリ温度ＴＢｓの上昇は考慮していない。
【０１０５】
また、外部充電を行う時間と、ヒータ３８を駆動する時間とが重複するとき、充電器４１からの電力の一部は、ヒータ３８に供給され、充電器４１からの残りの電力は、メインバッテリ１０に供給される。
【０１０６】
ここで、昇温時間ｔ＿ｈが変化すると、ヒータ３８に供給される電力量が変化するとともに、メインバッテリ１０に供給される電力量が変化する。メインバッテリ１０に供給される電力量が変化すると、外部充電時間ｔ＿ｃｈａｇも変化する。このため、図２に示すステップＳ１０１の処理では、昇温時間ｔ＿ｈを考慮して、外部充電時間ｔ＿ｃｈａｇを算出することができる。図２に示すステップＳ１０１の処理を行うときには、図４又は図６に示す処理に基づいて、昇温時間ｔ＿ｈが算出されるため、外部充電時間ｔ＿ｃｈａｇを算出するときに、昇温時間ｔ＿ｈを考慮することができる。
【０１０７】
例えば、以下に説明するように、ヒータ３８を駆動するときの外部充電時間ｔ＿ｃｈａｇを算出することができる。
【０１０８】
まず、図２に示すステップＳ１０１の処理で説明したように、充電器４１からの電力をメインバッテリ１０だけに供給するときの外部充電時間ｔ＿ｃｈａｇを算出する。この外部充電時間ｔ＿ｃｈａｇに対して、以下に説明する不足分の外部充電時間ｔ＿ｃｈａｇを加算することにより、ヒータ３８を駆動するときの外部充電時間ｔ＿ｃｈａｇを算出することができる。
【０１０９】
上述したように、充電器４１からの電力の一部がヒータ３８に供給されるため、ヒータ３８に供給される電力量の分だけ、メインバッテリ１０に供給される電力量が減少する。ここで、ヒータ３８を駆動するときの電力は固定値となるため、この電力および昇温時間ｔ＿ｈ（具体的には、ヒータ３８を駆動する時間）に基づいて、ヒータ３８に供給される電力量を算出することができる。
【０１１０】
また、この電力量をメインバッテリ１０に供給したときにおけるメインバッテリ１０のＳＯＣの上昇量を把握することができる。このＳＯＣの上昇量は、メインバッテリ１０の満充電容量と、メインバッテリ１０に供給される電力量とから算出することができる。ヒータ３８を駆動したときには、このＳＯＣの上昇量だけ、メインバッテリ１０の充電が不足するため、この不足分を補う分だけ、外部充電を行えばよい。この不足分を補うための外部充電時間ｔ＿ｃｈａｇは、上述したＳＯＣの上昇量と、充電器４１からメインバッテリ１０に供給される電力とに基づいて算出できる。
【０１１１】
本実施例によれば、昇温時間ｔ＿ｈを特定することにより、駆動開始時刻ＴＩＭＥ＿ｈから充電終了時刻ＴＩＭＥ＿ｅまでの時間帯（すなわち、昇温時間ｔ＿ｈ）において、ヒータ３８を駆動するだけで、充電終了時刻ＴＩＭＥ＿ｅにおいて、バッテリ温度ＴＢｓを目標温度ＴＢ＿ｔａｇに到達させることができる。ここで、駆動開始時刻ＴＩＭＥ＿ｈよりも前の時間帯では、ヒータ３８を駆動する必要が無い。
【０１１２】
上述したように、充電終了時刻ＴＩＭＥ＿ｅ以降では、ＣＤモードでの車両の走行が開始される。車両の走行が開始されれば、バッテリ温度ＴＢｓが上昇しやすくなるため、ヒータ３８の駆動を停止した後に、バッテリ温度ＴＢｓが低下することを防止できる。ヒータ３８の駆動を停止した後に、バッテリ温度ＴＢｓが低下してしまうと、バッテリ温度ＴＢｓを上昇させるためにヒータ３８を駆動したときの電力が無駄になってしまう。本実施例によれば、ヒータ３８の駆動を停止した後に、バッテリ温度ＴＢｓが低下することを防止できるため、ヒータ３８の駆動に伴う電力が無駄になることを防止できる。
【０１１３】
また、車両の走行を開始するときには、バッテリ温度ＴＢｓが目標温度ＴＢ＿ｔａｇに到達しており、メインバッテリ１０の入出力性能を確保することができる。バッテリ温度ＴＢｓが低下するほど、メインバッテリ１０の入出力性能が低下しやすくなるが、バッテリ温度ＴＢｓを目標温度ＴＢ＿ｔａｇに到達させておくことにより、メインバッテリ１０の入出力性能の低下を抑制できる。車両の走行を開始するときに、メインバッテリ１０の入出力性能を確保しておけば、ＣＤモードでの走行において、メインバッテリ１０を充放電させやすくなる。
【０１１４】
ＣＤモードでの走行を行うときにおいて、メインバッテリ１０の入出力性能が低下していると、例えば、メインバッテリ１０の出力だけを用いても、車両に要求されるパワーを満たすことができなくなることがある。この場合には、エンジン３４を始動して、不足分のパワーを補う必要があり、燃費が低下してしまう。本実施例のように、メインバッテリ１０の入出力性能を確保すれば、メインバッテリ１０の出力だけを用いて、車両に要求されるパワーを満たしやすくなり、エンジン３４の始動を抑制して燃費を向上させることができる。
【実施例２】
【０１１５】
本発明の実施例２について説明する。本実施例において、実施例１で説明した構成要素と同じ構成要素については同一の符号を用い、詳細な説明は省略する。以下、実施例１と異なる点について、主に説明する。
【０１１６】
実施例１では、昇温時間ｔ＿ｈを特定するとき、温度センサ２４によって検出された環境温度Ｔｏｕｔを用いているが、本実施例では、昇温時間ｔ＿ｈを特定するとき、温度センサ２４によって検出される環境温度Ｔｏｕｔを用いていない。具体的には、本実施例では、環境温度Ｔｏｕｔを予め設定しておき、この設定された環境温度Ｔｏｕｔを用いて、昇温時間ｔ＿ｈを特定している。設定された環境温度Ｔｏｕｔの情報は、メモリ５１に記憶されている。本実施例において、ヒータ３８の駆動を制御する上では、温度センサ２４が省略される。
【０１１７】
本実施例におけるヒータ３８の駆動制御について、図８および図９に示すフローチャートを用いて説明する。図８および図９に示す処理は、コントローラ５０によって実行される。また、コネクタ４３がコネクタ４２に接続されるとともに、設定部２５において充電終了時刻ＴＩＭＥ＿ｅが設定されたとき、図８および図９に示す処理が開始される。
【０１１８】
ステップＳ４０１において、コントローラ５０は、温度センサ２３を用いて、バッテリ温度ＴＢｓを検出する。ステップＳ４０２において、バッテリ温度ＴＢｓが目標温度ＴＢ＿ｔａｇよりも低いか否かを判別する。ここで、複数の温度センサ２３を設けた場合には、ステップＳ４０１の処理において、複数の温度センサ２３によって検出されたバッテリ温度ＴＢｓが互いに異なることがある。このとき、ステップＳ４０２の処理では、最も低いバッテリ温度ＴＢｓが目標温度ＴＢ＿ｔａｇよりも低いか否かを判別することができる。
【０１１９】
ステップＳ４０２において、バッテリ温度ＴＢｓが目標温度ＴＢ＿ｔａｇ以上であるとき、コントローラ５０は、図８および図９に示す処理を終了する。一方、バッテリ温度ＴＢｓが目標温度ＴＢ＿ｔａｇよりも低いとき、コントローラ５０は、ステップＳ４０３の処理に進む。
【０１２０】
ステップＳ４０３，Ｓ４０４の処理は、図４に示すステップＳ３０４，Ｓ３０５の処理とそれぞれ同じである。ステップＳ４０５において、コントローラ５０は、メモリ５１に記憶された環境温度Ｔｏｕｔを読み出す。
【０１２１】
後述するように、環境温度Ｔｏｕｔが補正されたときには、補正後の環境温度Ｔｏｕｔがメモリ５１に記憶されるため、ステップＳ４０５の処理では、補正後の環境温度Ｔｏｕｔがメモリ５１から読み出される。一方、環境温度Ｔｏｕｔが補正されていないとき、初期値としての環境温度Ｔｏｕｔがメモリ５１に記憶されているため、ステップＳ４０５の処理では、初期値としての環境温度Ｔｏｕｔがメモリ５１から読み出される。初期値としての環境温度Ｔｏｕｔは、予め設定されている。
【０１２２】
ステップＳ４０６において、コントローラ５０は、昇温時間ｔ＿ｈを特定する。昇温時間ｔ＿ｈの特定方法は、実施例１で説明した方法と同じである。ただし、本実施例では、昇温時間ｔ＿ｈを特定するとき、ステップＳ４０５の処理において、メモリ５１から読み出された環境温度Ｔｏｕｔが用いられる。すなわち、ステップＳ４０１の処理で検出されたバッテリ温度ＴＢｓと、ステップＳ４０４の処理で算出された残り時間ｔ＿ｒと、ステップＳ４０５の処理で読み出された環境温度Ｔｏｕｔとに基づいて、昇温時間ｔ＿ｈが特定される。
【０１２３】
また、コントローラ５０は、ステップＳ４０６において、昇温時間ｔ＿ｈおよび充電終了時刻ＴＩＭＥ＿ｅに基づいて、駆動開始時刻ＴＩＭＥ＿ｈを算出する。図４に示すステップＳ３０６の処理で説明したように、駆動開始時刻ＴＩＭＥ＿ｈは、充電終了時刻ＴＩＭＥ＿ｅよりも、昇温時間ｔ＿ｈだけ前の時刻となる。
【０１２４】
ステップＳ４０７において、コントローラ５０は、駆動開始時刻ＴＩＭＥ＿ｈにおけるバッテリ温度ＴＢｗ、すなわち、ヒータ３８の駆動を開始するときのバッテリ温度ＴＢｗを特定（推定）する。また、コントローラ５０は、ステップＳ４０７において、特定したバッテリ温度ＴＢｗの情報をメモリ５１に記憶する。
【０１２５】
バッテリ温度ＴＢｗは、ステップＳ４０３の処理で取得された現在時刻ＴＩＭＥ＿ｃにおけるバッテリ温度ＴＢｓと、環境温度Ｔｏｕｔと、待機時間ｔ＿ｗとに依存する。このため、バッテリ温度ＴＢｗと、現在時刻ＴＩＭＥ＿ｃにおけるバッテリ温度ＴＢｓと、環境温度Ｔｏｕｔと、待機時間ｔ＿ｗとの対応関係を予め求めておくことができる。この対応関係は、演算式又はマップとして表すことができ、この対応関係の情報は、メモリ５１に記憶しておくことができる。
【０１２６】
待機時間ｔ＿ｗは、実施例１（図６に示すステップＳ３１３の処理）で説明したように、ステップＳ４０３の処理によって取得された現在時刻ＴＩＭＥ＿ｃから、駆動開始時刻ＴＩＭＥ＿ｈまでの時間である。すなわち、ステップＳ４０４の処理で算出された残り時間ｔ＿ｒから昇温時間ｔ＿ｈを減算することにより、待機時間ｔ＿ｗを算出することができる。
【０１２７】
バッテリ温度ＴＢｗ，ＴＢｓと、環境温度Ｔｏｕｔと、待機時間ｔ＿ｗとの対応関係を演算式で表すとき、下記式（２）に示す演算式を用いることができる。
【０１２８】
【数２】
2016051590.tif 000004
【０１２９】
上記式（２）において、ＴＢｗは、駆動開始時刻ＴＩＭＥ＿ｈにおけるバッテリ温度（推定値）である。ＴＢｓは、現在時刻ＴＩＭＥ＿ｃにおけるバッテリ温度であり、ステップＳ４０１の処理で検出されたバッテリ温度ＴＢｓが用いられる。Ｔｏｕｔは環境温度であり、ステップＳ４０５の処理で読み出された環境温度Ｔｏｕｔが用いられる。ｔ＿ｗは待機時間であり、上述したように、残り時間ｔ＿ｒから昇温時間ｔ＿ｈを減算することにより、待機時間ｔ＿ｗを算出することができる。ｃは、予め設定された定数であり、上記式（１）で説明した定数ｃと同じである。上記式（２）を用いることにより、現在時刻ＴＩＭＥ＿ｃにおけるバッテリ温度ＴＢｓと、環境温度Ｔｏｕｔと、待機時間ｔ＿ｗとに基づいて、バッテリ温度ＴＢｗを特定（算出）することができる。
【０１３０】
一方、上述した対応関係をマップで表したとき、このマップを用いることにより、現在時刻ＴＩＭＥ＿ｃにおけるバッテリ温度ＴＢｓと、環境温度Ｔｏｕｔと、待機時間ｔ＿ｗとに基づいて、バッテリ温度ＴＢｗを特定することができる。例えば、環境温度Ｔｏｕｔ毎に、図１０に示すマップを用意しておく。図１０に示すマップは、バッテリ温度ＴＢｓ,ＴＢｗおよび待機時間ｔ＿ｗの対応関係を示す。
【０１３１】
図１０に示すマップを、環境温度Ｔｏｕｔ毎に用意しておくことにより、ステップＳ４０５の処理で読み出した環境温度Ｔｏｕｔに対応する、図１０に示すマップを特定できる。次に、この特定したマップを用いることにより、ステップＳ４０１の処理で検出したバッテリ温度ＴＢｓと、残り時間ｔ＿ｒおよび昇温時間ｔ＿ｈから算出される待機時間ｔ＿ｗとに対応するバッテリ温度ＴＢｗを特定することができる。
【０１３２】
ここで、複数の温度センサ２３を設けた場合には、ステップＳ４０１の処理において、複数の温度センサ２３によって検出されたバッテリ温度ＴＢｓが互いに異なることがある。上述した演算式又はマップを用いてバッテリ温度ＴＢｗを特定するときには、最も低いバッテリ温度ＴＢｓを用いることができる。
【０１３３】
ステップＳ４０８，Ｓ４０９の処理は、図４に示すステップＳ３０７，Ｓ３０８の処理とそれぞれ同じである。ステップＳ４０９において、コントローラ５０は、ステップＳ４０８の処理で取得した現在時刻ＴＩＭＥ＿ｃが、ステップＳ４０６の処理で算出した駆動開始時刻ＴＩＭＥ＿ｈを経過したか否かを判別する。ここで、現在時刻ＴＩＭＥ＿ｃが駆動開始時刻ＴＩＭＥ＿ｈを経過していないとき、コントローラ５０は、ステップＳ４０８の処理に戻る。一方、現在時刻ＴＩＭＥ＿ｃが駆動開始時刻ＴＩＭＥ＿ｈを経過したとき、コントローラ５０は、ステップＳ４１０の処理に進む。
【０１３４】
なお、ステップＳ４０８，Ｓ４０９の処理の代わりに、図６に示すステップＳ３１４，Ｓ３１５の処理を行うことができる。具体的には、ステップＳ４０７の処理を行った後、タイマを用いた時間ｔ＿ｃの計測を開始する。そして、計測時間ｔ＿ｃが待機時間ｔ＿ｗ以上であるか否かを判別し、計測時間ｔ＿ｃが待機時間ｔ＿ｗ以上であるとき、コントローラ５０は、ステップＳ４１０の処理に進むことができる。ここで、待機時間ｔ＿ｗは、ステップＳ４０７の処理において算出されている。また、この場合には、ステップＳ４０６の処理において、駆動開始時刻ＴＩＭＥ＿ｈを算出する必要は無い。
【０１３５】
ステップＳ４１０において、コントローラ５０は、温度センサ２３を用いて、バッテリ温度ＴＢｓを検出する。このバッテリ温度ＴＢｓは、駆動開始時刻ＴＩＭＥ＿ｈにおけるバッテリ温度ＴＢｓである。
【０１３６】
ステップＳ４１１において、コントローラ５０は、ステップＳ４０７の処理で特定（推定）したバッテリ温度ＴＢｗが下限温度ＴＢ＿ｍｉｎよりも低いか否かを判別する。下限温度ＴＢ＿ｍｉｎは、ステップＳ４１０の処理で検出したバッテリ温度ＴＢｓから許容値（正の値）ΔＴＢ１を減算した温度である。許容値ΔＴＢ１は、昼夜における環境温度Ｔｏｕｔの変化に応じたバッテリ温度ＴＢｓの変化などを考慮して、適宜設定することができる。許容値ΔＴＢ１の情報は、メモリ５１に記憶しておくことができる。
【０１３７】
バッテリ温度ＴＢｗが下限温度ＴＢ＿ｍｉｎよりも低いとき、バッテリ温度ＴＢｗはバッテリ温度ＴＢｓよりも低く、バッテリ温度ＴＢｗ，ＴＢｓの差は、許容値ΔＴＢ１よりも大きくなる。一方、バッテリ温度ＴＢｗが下限温度ＴＢ＿ｍｉｎ以上であるときには、バッテリ温度ＴＢｗがバッテリ温度ＴＢｓ以上であるときと、バッテリ温度ＴＢｗがバッテリ温度ＴＢｓよりも低く、かつ、バッテリ温度ＴＢｗ，ＴＢｓの差が許容値ΔＴＢ１以下であるときとが含まれる。
【０１３８】
ステップＳ４１１において、バッテリ温度ＴＢｗが下限温度ＴＢ＿ｍｉｎよりも低いとき、コントローラ５０は、ステップＳ４１２において、環境温度Ｔｏｕｔを補正する。具体的には、コントローラ５０は、現在設定されている環境温度Ｔｏｕｔに補正値（正の値）ΔＴ１を加算することにより、環境温度Ｔｏｕｔを補正する。これにより、補正後の環境温度Ｔｏｕｔは、補正前の環境温度Ｔｏｕｔよりも高くなる。
【０１３９】
補正値ΔＴ１は、許容値ΔＴＢ１に基づいて適宜設定でき、補正値ΔＴ１の情報は、メモリ５１に記憶しておくことができる。また、コントローラ５０は、ステップＳ４１１において、補正後の環境温度Ｔｏｕｔの情報をメモリ５１に記憶する。これにより、図８および図９に示す処理を次回行うとき、ステップＳ４０５の処理では、補正後の環境温度Ｔｏｕｔがメモリ５１から読み出される。
【０１４０】
上記式（２）から分かるように、バッテリ温度ＴＢｗが下限温度ＴＢ＿ｍｉｎよりも低いときには、バッテリ温度ＴＢｗを特定するときの環境温度Ｔｏｕｔを、実際の環境温度Ｔｏｕｔよりも低い温度に推定していることになる。そこで、上述したように環境温度Ｔｏｕｔに補正値ΔＴ１を加算して環境温度Ｔｏｕｔを上昇させることにより、バッテリ温度ＴＢｗを特定するときの環境温度Ｔｏｕｔを実際の環境温度Ｔｏｕｔに近づけることができる。
【０１４１】
ステップＳ４１１において、バッテリ温度ＴＢｗが下限温度ＴＢ＿ｍｉｎ以上であるとき、コントローラ５０は、ステップＳ４１３において、ステップＳ４０７の処理で特定したバッテリ温度ＴＢｗが上限温度ＴＢ＿ｍａｘよりも高いか否かを判別する。上限温度ＴＢ＿ｍａｘは、ステップＳ４１０の処理で検出したバッテリ温度ＴＢｓに許容値（正の値）ΔＴＢ２を加算した温度である。許容値ΔＴＢ２は、昼夜における環境温度Ｔｏｕｔの変化に応じたバッテリ温度ＴＢｓの変化などを考慮して、適宜設定することができる。許容値ΔＴＢ２の情報は、メモリ５１に記憶しておくことができる。許容値ΔＴＢ２は、上述した許容値ΔＴＢ１と同じであってもよいし、異なっていてもよい。
【０１４２】
バッテリ温度ＴＢｗが上限温度ＴＢ＿ｍａｘよりも高いとき、バッテリ温度ＴＢｗはバッテリ温度ＴＢｓよりも高く、バッテリ温度ＴＢｗ，ＴＢｓの差は、許容値ΔＴＢ１よりも大きくなる。一方、バッテリ温度ＴＢｗが上限温度ＴＢ＿ｍａｘ以下であるときには、バッテリ温度ＴＢｗがバッテリ温度ＴＢｓ以下であるときと、バッテリ温度ＴＢｗがバッテリ温度ＴＢｓよりも高く、かつ、バッテリ温度ＴＢｗ，ＴＢｓの差が許容値ΔＴＢ２以下であるときとが含まれる。
【０１４３】
ステップＳ４１３において、バッテリ温度ＴＢｗが上限温度ＴＢ＿ｍａｘよりも高いとき、コントローラ５０は、ステップＳ４１４において、環境温度Ｔｏｕｔを補正する。具体的には、コントローラ５０は、現在設定されている環境温度Ｔｏｕｔから補正値（正の値）ΔＴ２を減算することにより、環境温度Ｔｏｕｔを補正する。これにより、補正後の環境温度Ｔｏｕｔは、補正前の環境温度Ｔｏｕｔよりも低くなる。
【０１４４】
補正値ΔＴ２は、許容値ΔＴＢ２に基づいて適宜設定でき、補正値ΔＴ２の情報は、メモリ５１に記憶しておくことができる。補正値ΔＴ２は、上述した補正値ΔＴ１と同じであってもよいし、異なっていてもよい。また、コントローラ５０は、ステップＳ４１４において、補正後の環境温度Ｔｏｕｔの情報をメモリ５１に記憶する。これにより、図８および図９に示す処理を次回行うとき、ステップＳ４０５の処理では、補正後の環境温度Ｔｏｕｔがメモリ５１から読み出される。
【０１４５】
上記式（２）から分かるように、バッテリ温度ＴＢｗが上限温度ＴＢ＿ｍａｘよりも高いときには、バッテリ温度ＴＢｗを特定するときの環境温度Ｔｏｕｔを、実際の環境温度Ｔｏｕｔよりも高い温度に推定していることになる。そこで、上述したように環境温度Ｔｏｕｔから補正値ΔＴ２を減算して環境温度Ｔｏｕｔを低下させることにより、バッテリ温度ＴＢｗを特定するときの環境温度Ｔｏｕｔを実際の環境温度Ｔｏｕｔに近づけることができる。
【０１４６】
ステップＳ４１３において、バッテリ温度ＴＢｗが上限温度ＴＢ＿ｍａｘ以下であるとき、コントローラ５０は、ステップＳ４１５において、ヒータ３８の駆動を開始する。ステップＳ４１２，４１４の処理を行った後も、コントローラ５０は、ステップＳ４１５において、ヒータ３８の駆動を開始する。ここで、バッテリ温度ＴＢｗが下限温度ＴＢ＿ｍｉｎ以上であり、かつ、上限温度ＴＢ＿ｍａｘ以下であるときには、メモリ５１に記憶された環境温度Ｔｏｕｔが補正されない。ステップＳ４１５〜ステップＳ４１８の処理は、図４に示すステップＳ３０９〜ステップＳ３１２の処理とそれぞれ同じである。
【０１４７】
図８および図９に示す処理では、バッテリ温度ＴＢｓが目標温度ＴＢ＿ｔａｇよりも低いとき、ヒータ３８を駆動するようにしているが、これに限るものではない。具体的には、メモリ５１に記憶された環境温度Ｔｏｕｔが目標温度ＴＢ＿ｔａｇよりも低いときに、ヒータ３８を駆動することもできる。すなわち、バッテリ温度ＴＢｓおよび環境温度Ｔｏｕｔの少なくとも一方が目標温度ＴＢ＿ｔａｇよりも低いとき、ステップＳ４０３以降の処理を行うことができる。一方、バッテリ温度ＴＢｓおよび環境温度Ｔｏｕｔのいずれもが目標温度ＴＢ＿ｔａｇ以上であるときには、ステップＳ４０３以降の処理を行わないことができる。この場合には、ヒータ３８が駆動されない。
【０１４８】
図１１には、バッテリ温度ＴＢｓの挙動（一例）を示す。図１１において、縦軸はバッテリ温度ＴＢｓであり、横軸は時間である。
【０１４９】
図１１に示す現在時刻ＴＩＭＥ＿ｃは、図８に示すステップＳ４０３の処理で取得された現在時刻ＴＩＭＥ＿ｃである。図８および図９に示す処理によれば、図１１に示す現在時刻ＴＩＭＥ＿ｃにおけるバッテリ温度ＴＢｓが検出される。図１１に示す例では、現在時刻ＴＩＭＥ＿ｃにおけるバッテリ温度ＴＢｓが目標温度ＴＢ＿ｔａｇよりも低くなっている。図１１に示す現在時刻ＴＩＭＥ＿ｃ以降では、環境温度Ｔｏｕｔの影響を受けて、バッテリ温度ＴＢｓが低下する。
【０１５０】
一方、図８および図９に示す処理によれば、図１１に示す現在時刻ＴＩＭＥ＿ｃにおいて、昇温時間ｔ＿ｈやバッテリ温度ＴＢｗが特定されるとともに、駆動開始時刻ＴＩＭＥ＿ｈが算出される。時間が経過して、現在時刻ＴＩＭＥ＿ｃが駆動開始時刻ＴＩＭＥ＿ｈを経過すると、ヒータ３８の駆動が開始される。
【０１５１】
また、現在時刻ＴＩＭＥ＿ｃが駆動開始時刻ＴＩＭＥ＿ｈを経過すると、温度センサ２３によってバッテリ温度ＴＢｓが検出され、図９に示すステップＳ４１１，４１３の処理が行われる。すなわち、ヒータ３８の駆動を開始するとき、温度センサ２３によってバッテリ温度ＴＢｓが検出され、図９に示すステップＳ４１１，４１３の処理が行われる。このとき、補正値ΔＴ１又は補正値ΔＴ２を用いて、環境温度Ｔｏｕｔが補正されることがある。図１１に示す例では、バッテリ温度ＴＢｗが、駆動開始時刻ＴＩＭＥ＿ｈにおいて、温度センサ２３によって検出されたバッテリ温度ＴＢｓと一致しており、この場合には、環境温度Ｔｏｕｔが補正されない。
【０１５２】
駆動開始時刻ＴＩＭＥ＿ｈにおいて、ヒータ３８の駆動を開始すると、バッテリ温度ＴＢｓが上昇する。本実施例においても、実施例１と同様に、ヒータ３８の駆動を開始した後、バッテリ温度ＴＢｓが目標温度ＴＢ＿ｔａｇ以上となるまで、ヒータ３８が駆動される。ここで、ヒータ３８を駆動する時間が、昇温時間ｔ＿ｈとなる。また、ヒータ３８の駆動を停止した時刻が、充電終了時刻ＴＩＭＥ＿ｅとなり、充電終了時刻ＴＩＭＥ＿ｅにおいて、バッテリ温度ＴＢｓを目標温度ＴＢ＿ｔａｇに到達させることができる。
【０１５３】
本実施例によれば、実施例１と同様の効果を得ることができる。また、本実施例によれば、温度センサ２４を用いなくても、メモリ５１に記憶された環境温度Ｔｏｕｔを用いて、昇温時間ｔ＿ｈを特定することができる。ここで、メモリ５１に記憶された環境温度Ｔｏｕｔは、実際の環境温度Ｔｏｕｔからずれるおそれもあるが、環境温度Ｔｏｕｔを補正することにより、補正後の環境温度Ｔｏｕｔを、実際の環境温度Ｔｏｕｔに近づけることができる。これにより、実際の環境温度Ｔｏｕｔに応じた昇温時間ｔ＿ｈを特定しやすくなる。
【符号の説明】
【０１５４】
１０：メインバッテリ（蓄電装置）、１１：単電池、２１：電圧センサ、２２：電流センサ、２３，２４：温度センサ、２５：設定部、２６：時計、３１：インバータ、３２：駆動輪、３３：動力分割機構、３４：エンジン、３５：ＤＣ／ＤＣコンバータ、３６：補機、３７：補機バッテリ、３８：ヒータ、３９：スイッチ、４１：充電器、４２，４３：コネクタ、４４：外部電源、５０：コントローラ、５１：メモリ
【図１】
2016051590.tif 000005
【図２】
2016051590.tif 000006
【図３】
2016051590.tif 000007
【図４】
2016051590.tif 000008
【図５】
2016051590.tif 000009
【図６】
2016051590.tif 000010
【図７】
2016051590.tif 000011
【図８】
2016051590.tif 000012
【図９】
2016051590.tif 000013
【図１０】
2016051590.tif 000014
【図１１】
2016051590.tif 000015