図1は、本実施例である電池システム(蓄電システムに相当する)の構成を示す図である。図1に示す電池システムは、車両に搭載されている。車両としては、例えば、ハイブリッド自動車や電気自動車がある。ハイブリッド自動車は、車両を走行させるための動力源として、後述する組電池に加えて、エンジン又は燃料電池といった他の動力源を備えている。一方、電気自動車は、車両を走行させるための動力源として、後述する組電池だけを備えている。
ここで、電気自動車では、外部電源からの電力供給を受けて、組電池を充電することができる。また、組電池を外部電源と接続することができるハイブリッド自動車でも、外部電源からの電力を用いて、組電池を充電することができる。外部電源とは、車両の外部において、車両とは別に設置された電源(例えば、商用電源)である。
組電池(蓄電装置に相当する)100は、直列に接続された複数の単電池10を有する。単電池10としては、ニッケル水素電池やリチウムイオン電池といった二次電池を用いることができる。また、二次電池の代わりに、電気二重層キャパシタを用いることができる。
単電池10の数は、組電池100の要求出力などに基づいて、適宜設定することができる。本実施例の組電池100では、すべての単電池10が直列に接続されているが、組電池100には、並列に接続された複数の単電池10が含まれていてもよい。監視ユニット200は、組電池100の端子間電圧を検出したり、各単電池10の端子間電圧を検出したりし、検出結果をECU(Electric Control Unit)300に出力する。ここで、ECU300は、本発明におけるコントローラに相当する。
温度センサ201は、組電池100(単電池10)の温度を検出し、検出結果をECU300に出力する。ここで、温度センサ201は、組電池100の一箇所に設けることもできるし、組電池100のうち、互いに異なる複数の箇所に設けることもできる。複数の温度センサ201によって検出された温度が互いに異なるときには、例えば、複数の検出温度の中央値を、組電池100の温度として用いることができる。
電流センサ202は、組電池100に流れる電流を検出し、検出結果をECU300に出力する。本実施例では、組電池100を放電しているときに電流センサ202によって検出された電流値を正の値としている。また、組電池100を充電しているときに電流センサ202によって検出された電流値を負の値としている。
本実施例では、組電池100の正極端子と接続された正極ラインPLに電流センサ202を設けているが、電流センサ202は、組電池100に流れる電流を検出できればよく、電流センサ202を設ける位置は適宜設定することができる。例えば、組電池100の負極端子と接続された負極ラインNLに電流センサ202を設けることができる。なお、複数の電流センサ202を用いることもできる。
ECU300は、メモリ301を有しており、メモリ301は、ECU300が所定の処理(例えば、本実施例で説明する処理)を行うための各種の情報を記憶している。本実施例では、メモリ301が、ECU300に内蔵されているが、メモリ301をECU300の外部に設けることもできる。
正極ラインPLには、システムメインリレーSMR−Bが設けられている。システムメインリレーSMR−Bは、ECU300からの制御信号を受けることにより、オンおよびオフの間で切り替わる。負極ラインNLには、システムメインリレーSMR−Gが設けられている。システムメインリレーSMR−Gは、ECU300からの制御信号を受けることにより、オンおよびオフの間で切り替わる。
システムメインリレーSMR−Gには、システムメインリレーSMR−Pおよび電流制限抵抗203が並列に接続されている。ここで、システムメインリレーSMR−Pおよび電流制限抵抗203は、直列に接続されている。システムメインリレーSMR−Pは、ECU300からの制御信号を受けることにより、オンおよびオフの間で切り替わる。電流制限抵抗203は、組電池100を負荷(具体的には、後述するインバータ204)と接続するときに、突入電流が流れることを抑制するために用いられる。
組電池100をインバータ204と接続するとき、ECU300は、まず、システムメインリレーSMR−Bをオフからオンに切り替えるとともに、システムメインリレーSMR−Pをオフからオンに切り替える。これにより、電流制限抵抗203に電流が流れることになる。
次に、ECU300は、システムメインリレーSMR−Gをオフからオンに切り替えた後に、システムメインリレーSMR−Pをオンからオフに切り替える。これにより、組電池100およびインバータ204の接続が完了し、図1に示す電池システムは、起動状態(Ready−On)となる。ECU300には、車両のイグニッションスイッチのオン/オフに関する情報が入力され、ECU300は、イグニッションスイッチがオフからオンに切り替わることに応じて、電池システムを起動する。
一方、イグニッションスイッチがオンからオフに切り替わったとき、ECU300は、システムメインリレーSMR−B,SMR−Gをオンからオフに切り替える。これにより、組電池100およびインバータ204の接続が遮断され、電池システムは、停止状態(Ready−Off)となる。
インバータ204は、組電池100から出力された直流電力を交流電力に変換し、交流電力をモータ・ジェネレータ205に出力する。モータ・ジェネレータ205としては、例えば、三相交流モータを用いることができる。モータ・ジェネレータ205は、インバータ204から出力された交流電力を受けて、車両を走行させるための運動エネルギを生成する。モータ・ジェネレータ205によって生成された運動エネルギを、車輪に伝達することにより、車両を走行させることができる。
車両を減速させたり、停止させたりするとき、モータ・ジェネレータ205は、車両の制動時に発生する運動エネルギを電気エネルギ(交流電力)に変換する。インバータ204は、モータ・ジェネレータ205が生成した交流電力を直流電力に変換し、直流電力を組電池100に出力する。これにより、組電池100は、回生電力を蓄えることができる。
本実施例では、組電池100をインバータ204に接続しているが、これに限るものではない。具体的には、組電池100を昇圧回路に接続するとともに、昇圧回路をインバータ204に接続することができる。昇圧回路を用いることにより、組電池100の出力電圧を昇圧することができる。また、昇圧回路は、インバータ204から組電池100への出力電圧を降圧することができる。
ディスプレイ302は、ECU300からの制御信号を受けて、所定の情報を表示する。所定の情報としては、例えば、車両の走行速度、航続可能距離、組電池100のSOCが含まれる。走行速度、航続可能距離やSOCなどは、これらの内容が乗員に理解される状態でディスプレイ302に表示される。すなわち、走行速度、航続可能距離やSOCなどをディスプレイ302に表示させるときの形態は、適宜設定することができる。言い換えれば、ディスプレイ302に表示される情報は、走行速度、航続可能距離やSOCに関する情報となる。
本実施例において、航続可能距離とは、組電池100の出力を用いて車両を走行させることができる距離である。電気自動車では、車両の動力源として、組電池100だけが搭載されているため、航続可能距離は、組電池100のSOCだけに基づいて算出される。一方、ハイブリッド自動車では、組電池100以外にも、他の動力源が搭載されている。この場合において、航続可能距離とは、組電池100の出力だけを用いて車両を走行させることができる距離である。
ハイブリッド自動車では、組電池100の出力だけを用いて、車両を走行させることができるモード(EV(Electric Vehicle)走行モードという)を設定できることがある。ここで、EV走行モードが設定されているときには、航続可能距離を表示することができる。
車両を加速するときには、組電池100の放電が行われ、組電池100から出力された電気エネルギが、モータ・ジェネレータ205によって、車両を走行させるための運動エネルギに変換される。ここで、組電池100の放電に伴い、組電池100のSOCは低下することになる。
本実施例では、ディスプレイ302に航続可能距離を表示させているが、ECU300は、表示用SOCに基づいて、航続可能距離を算出している。表示用SOCとは、ディスプレイ302に表示される組電池100のSOC(State of Charge)であって、航続可能距離を算出するために用いられるSOCである。ここで、SOCとは、満充電容量に対する、現在の充電容量の割合である。
表示用SOCおよび航続可能距離の対応関係を予め求めておけば、表示用SOCから航続可能距離を算出することができる。ここで、表示用SOCおよび航続可能距離の対応関係は、マップ又は演算式として用意しておくことができ、この対応関係に関する情報は、メモリ301に記憶しておくことができる。
組電池100の充放電を制御するときには、組電池100のSOCを把握する必要がある。すなわち、組電池100の過充電又は過放電を抑制するために、組電池100のSOCが上限SOCおよび下限SOCの間で変化するように、組電池100の充放電を制御する必要がある。組電池100の充放電制御で用いられるSOCを、制御用SOCという。
本実施例では、組電池100のSOCとして、表示用SOCおよび制御用SOCを用いている。ここで、表示用SOCは、ディスプレイ302に表示されるものであるため、車両の乗員に対して、組電池100のSOCを把握しやすくする観点に基づいて算出される。
一方、制御用SOCは、組電池100の充放電制御で用いられるものであり、組電池100を保護する観点に基づいて算出される。このため、表示用SOCおよび制御用SOCは、互いに異なる算出方法によって算出している。後述するように、表示用SOCは、制御用SOCを考慮して算出されており、制御用SOCとは異なることがある。
上限SOCは、組電池100の充電を許容するSOCの上限値であり、下限SOCは、組電池100の放電を許容するSOCの下限値である。組電池100のSOCが上限SOCに到達したときには、組電池100を充電しないようにすることができる。また、組電池100のSOCが下限SOCに到達したときには、組電池100を放電しないようにすることができる。
制御用SOCは、例えば、組電池100を充放電したときの電流値を積算することによって算出することができる。また、組電池100のOCV(Open Circuit Voltage)を測定すれば、OCVおよびSOCの対応関係に基づいて、制御用SOCを算出することができる。ここで、OCVおよびSOCは、特定の対応関係があり、予め求めておくことができる。
組電池100のOCVは、組電池100が負荷(インバータ204)と接続されていないときに、組電池100に微弱な電流を流すことによって検出することができる。ここで、微弱な電流としては、組電池100の内部抵抗に伴う電圧降下を抑制できる程度の電流を用いることができる。
一方、組電池100が負荷(インバータ204)と接続されているときでも、組電池100のOCVを算出することができる。具体的には、まず、組電池100を充放電している間に、電流値および電圧値の関係を複数取得し、これらの関係を、電流値および電圧値のそれぞれを座標軸とした座標系にプロットする。この座標系において、複数のプロットに近似する直線を算出し、電流値を0[A]としたときに近似直線が取り得る電圧値を、組電池100のOCVと見なすことができる。
組電池100を充放電しているときには、制御用SOCを正確に把握することは難しい。すなわち、組電池100を充放電しているときには、組電池100の分極などが発生しており、制御用SOCを把握しにくい。一方、組電池100を負荷(インバータ204)と接続していないときには、組電池100のOCVを精度良く算出することができ、OCVおよびSOCの対応関係に基づいて、組電池100のSOCも精度良く推定することができる。
ここで、組電池100を負荷(インバータ204)と接続しているときには、組電池100のOCVを把握することができない。また、上述したように、近似直線からOCVを算出するときでも、電流値が分散していなければ、近似直線を算出しにくくなり、近似直線から算出されるOCVが、実際のOCVからずれやすくなってしまう。
また、組電池100の温度が低下するほど、組電池100の抵抗値が増加しやすくなる。このため、組電池100の温度が一時的に低下したときには、電流値および電圧値の関係が、本来の近似直線から大きく外れてしまい、近似直線を算出しにくくなってしまう。近似直線を算出しにくくなれば、近似直線から算出されるOCVが、実際のOCVからずれやすくなってしまう。
ここで、組電池100のOCVからSOCを推定したときには、組電池100の充放電中に推定したSOCとずれていないか否かを判別することができる。そして、OCVから推定したSOCと、充放電中に推定したSOCとがずれているときには、制御用SOCとして、OCVから推定したSOCを用いることができる。これにより、制御用SOCの精度を向上させることができる。
このように制御用SOCを算出するときには、組電池100を充電しているにもかかわらず、制御用SOCが低下したり、組電池100を放電しているにもかかわらず、制御用SOCが上昇したりしてしまうおそれがある。ここで、表示用SOCとして、制御用SOCを用いると、制御用SOCが切り替わったときに、表示用SOCも切り替わってしまうことになる。
制御用SOCの上昇に伴って表示用SOCを上昇させる場合において、組電池100を放電しているときに、表示用SOCを上昇させてしまうと、表示用SOCを確認する乗員に違和感を与えてしまう。また、制御用SOCの低下に伴って表示用SOCを低下させる場合において、組電池100を充電しているときに、表示用SOCを低下させてしまうと、表示用SOCを確認する乗員に違和感を与えてしまう。
組電池100を充電しているにもかかわらず、表示用SOCが低下すれば、航続可能距離も減少してしまうことがある。また、組電池100を放電しているにもかかわらず、表示用SOCが上昇すれば、航続可能距離も増加してしまうことがある。
このような場合には、ディスプレイ302に表示された表示用SOCや航続可能距離を確認する乗員に対して違和感を与えてしまうことになる。そこで、本実施例では、表示用SOCとして、制御用SOCを用いず、乗員に違和感を与えないように、表示用SOCを変化させるようにしている。なお、表示用SOCの算出方法については、後述する。
車両を加速すれば、組電池100の放電に伴って、組電池100のSOCが低下するとともに、航続可能距離も減少することになる。ここで、車両を加速するほど、組電池100の放電量が増加するため、組電池100のSOCが極端に低下したり、航続可能距離が極端に減少したりしてしまうことがある。
車両を加速した後には、通常、車両を減速することになる。車両を減速すれば、減速時に発生する運動エネルギが、モータ・ジェネレータ205によって電気エネルギに変換され、この電気エネルギを組電池100に蓄えることができる。組電池100を充電すれば、組電池100のSOCが上昇するとともに、航続可能距離も増加することになる。ここで、車速が高いほど、減速によって組電池100に蓄えられる電力が増加するため、組電池100のSOCが極端に上昇したり、航続可能距離が極端に増加したりしてしまうことがある。
このように、車両の加速および減速に応じて、ディスプレイ302に表示されるSOCや航続可能距離が変化してしまうと、車両の乗員(特に、運転者)は、組電池100のSOCや航続可能距離を把握しにくくなってしまう。特に、航続可能距離が極端に減少した後に、極端に増加するとき、乗員は、航続可能距離の把握が困難となってしまう。
乗員は、ディスプレイ302に表示された航続可能距離を確認することにより、実際に車両を走行させることができる距離を把握している。このため、航続可能距離の減少および増加が頻繁に繰り返されると、航続可能距離に関して、乗員が必要としている情報を提供しにくくなってしまう。
そこで、本実施例では、車速を考慮して表示用SOCを補正することにより、車両が加速および減速しても、ディスプレイ302に表示されるSOCや航続可能距離の変動を抑制するようにしている。以下、具体的に説明する。
車両を加速した後に減速するときには、車両の走行に用いられている運動エネルギが電気エネルギに変換され、この電気エネルギが組電池100に蓄えられることになる。すなわち、車両を走行させている運動エネルギには、電気エネルギに変換される運動エネルギが含まれており、電気エネルギに変換される運動エネルギは、組電池100のSOCを上昇させる成分と見なすことができる。
このため、本実施例では、電気エネルギに変換される運動エネルギを考慮して、表示用SOCを補正するようにしている。ディスプレイ302に表示されるSOCとして、電気エネルギに変換される運動エネルギを予め考慮しておけば、車両の加速および減速に伴って、ディスプレイ302に表示されるSOCが変動してしまうことを抑制できる。
これにより、ディスプレイ302を確認する乗員は、組電池100のSOCを把握しやすくなる。また、ディスプレイ302に表示されるSOCの変動を抑制することにより、航続可能距離の変動も抑制でき、ディスプレイ302を確認する乗員は、航続可能距離を把握しやすくなる。
次に、航続可能距離の算出に用いられる表示用SOCを補正する処理について、図2に示すフローチャートを用いて説明する。図2に示す処理は、ECU300によって実行される。図2に示す処理は、所定の期間で繰り返して行われる。
ステップS101において、ECU300は、表示用SOCの基準値を算出する。組電池100を放電するとき、ECU300は、下記式(1)に基づいて、表示用SOC(基準値)を算出する。また、組電池100を充電するとき、ECU300は、下記式(2)に基づいて、表示用SOC(基準値)を算出する。なお、組電池100を充放電しないとき、ECU300は、今回の表示用SOC(基準値)として、前回の表示用SOC(基準値)を用いる。
上記式(1),(2)において、SOC_dis(n)は、今回の表示用SOCであり、SOC_dis(n−1)は、前回算出された表示用SOCである。ΣIは、前回から今回までの間において、組電池100の電流値を積算した値であり、組電池100の電流値は、電流センサ202を用いて取得することができる。
FCCは、組電池100の満充電容量であり、予め測定しておくことができる。ここで、組電池100の劣化によって、組電池100の満充電容量が低下することもあるため、FCCとしては、劣化後の組電池100における満充電容量を用いることができる。
劣化後の組電池100における満充電容量は、例えば、組電池100の充電又は放電によって、組電池100のSOCを0%から100%の間で変化させたときの電流積算値から算出することができる。また、外部電源からの電力を用いて、組電池100を充電することができるときには、下記式(3)に基づいて、組電池100の満充電容量を算出することができる。
上記式(3)において、FCCは、組電池100の満充電容量である。Iは、組電池100を充電するときに、組電池100に流れる電流値である。ここで、外部電源からの電力を組電池100に供給するときには、一定の充電電流を組電池100に流すことができるため、電流値を一定とすることができる。ΣIは、組電池100を充電している間の電流値の積算値である。SOC_sは、充電を開始するときの組電池100のSOCであり、SOC_eは、充電を終了したときの組電池100のSOCである。
上記式(1),(2)において、ΣI/FCCの値は、前回から今回までの間における組電池100のSOCの変化量を示す。そして、上記式(1),(2)では、SOCの変化量に対してゲインを乗算している。上記式(1)において、ゲインは、SOC_min、SOC_dis(n−1)およびSOC(n−1)から算出している。また、上記式(2)において、ゲインは、SOC_max、SOC_dis(n−1)およびSOC(n−1)から算出している。
上記式(1)において、SOC_minは、組電池100を放電するときの目標値である。例えば、SOC_minとしては、航続可能距離が0[km]となるときの組電池100のSOCとすることができる。SOC(n−1)は、前回における制御用SOCである。
上記式(1)によれば、組電池100を放電するときには、前回のSOC_dis(n−1)から、ゲインを乗算したSOC変化量を減算することによって、今回のSOC_dis(n)を算出することができる。
ここで、組電池100を放電するときには、制御用SOCに対して、表示用SOCを図3に示すように変化させることができる。図3では、表示用SOCが制御用SOCよりも高い場合と、表示用SOCが制御用SOCよりも低い場合とを併せて示している。
表示用SOCが制御用SOCよりも高いときには、表示用SOCの変化量は、制御用SOCの変化量よりも大きくなる。ここでいう変化量とは、所定時間あたりのSOCの変化量(低下量)である。一方、表示用SOCが制御用SOCよりも低いときには、表示用SOCの変化量は、制御用SOCの変化量よりも小さくなる。そして、図3に示すように、表示用SOCは、目標値SOC_minにおいて、制御用SOCと一致するようになっている。
上記式(2)において、SOC_maxは、組電池100を充電するときの目標値である。例えば、SOC_maxとしては、組電池100の充電制御で用いられる上限SOCとすることができる。SOC(n−1)は、前回における制御用SOCである。
上記式(2)によれば、組電池100を充電するときには、前回のSOC_dis(n−1)に、ゲインを乗算したSOC変化量を加算することによって、今回のSOC_dis(n)を算出することができる。
ここで、組電池100を充電するときには、制御用SOCに対して、表示用SOCを図4に示すように変化させることができる。図4では、表示用SOCが制御用SOCよりも高い場合と、表示用SOCが制御用SOCよりも低い場合とを併せて示している。
表示用SOCが制御用SOCよりも高いときには、表示用SOCの変化量は、制御用SOCの変化量よりも小さくなる。ここでいう変化量とは、所定時間あたりのSOCの変化量(上昇量)である。一方、表示用SOCが制御用SOCよりも低いときには、表示用SOCの変化量は、制御用SOCの変化量よりも大きくなる。そして、図4に示すように、表示用SOCは、目標値SOC_maxにおいて、制御用SOCと一致するようになっている。
上記式(1)に示すように、組電池100を放電するときには、前回の表示用SOCに対して、SOC変化量(ΣI/FCC)を減算することにより、今回の表示用SOCを算出しているため、組電池100を放電するときに、表示用SOCが上昇してしまうことはない。これにより、表示用SOCを確認する乗員に対して、違和感を与えてしまうことを防止できる。また、組電池100を放電しているときに、表示用SOCから算出される航続可能距離が増加してしまうこともなく、乗員に違和感を与えてしまうことを防止できる。
また、上記式(1)では、SOC変化量に対してゲインを乗算することにより、図3を用いて説明したように、表示用SOCを制御用SOCに近づけることができる。これにより、表示用SOCおよび制御用SOCが乖離したままとなることを抑制できる。
一方、上記式(2)に示すように、組電池100を充電するときには、前回の表示用SOCに対して、SOC変化量(ΣI/FCC)を加算することにより、今回の表示用SOCを算出しているため、組電池100を充電するときに、表示用SOCが低下してしまうことはない。これにより、表示用SOCを確認する乗員に対して、違和感を与えてしまうことを防止できる。また、組電池100を充電しているときに、表示用SOCから算出される航続可能距離が減少してしまうこともなく、乗員に違和感を与えてしまうことを防止できる。
また、上記式(2)では、SOC変化量に対してゲインを乗算することにより、図4を用いて説明したように、表示用SOCを制御用SOCに近づけることができる。これにより、表示用SOCおよび制御用SOCが乖離したままとなることを抑制できる。
図2に示すステップS102において、ECU300は、車速に応じたSOCの変化量ΔSOCを算出する。車速は、スピードセンサを用いて取得することができる。変化量ΔSOCは、現在の車両の走行状態において、減速によって運動エネルギから変換される電気エネルギの量に相当する。すなわち、運動エネルギから変換される電気エネルギの量を、SOCに換算したものが、変化量ΔSOCとなる。
具体的には、ECU300は、図5に示すマップを用いて、現在の車速に対応した変化量ΔSOCを算出することができる。図5に示すマップは、予め求めておくことができ、マップに関する情報は、メモリ301に記憶することができる。図5に示すように、車速が高くなるほど、変化量ΔSOCが大きくなる。言い換えれば、車速が低くなるほど、変化量ΔSOCが小さくなる。
車速が高いほど、車両を減速したときに組電池100に流れる充電電流は多くなる。充電電流が多くなるほど、組電池100のSOCは上昇しやすくなるため、図5に示すように、車速が高いほど、変化量ΔSOCを大きくしている。
一方、車速が低いほど、車両を減速したときに組電池100に流れる充電電流は少なくなる。充電電流が少なくなるほど、組電池100のSOCは上昇しにくくなるため、図5に示すように、車速が低いほど、変化量ΔSOCを小さくしている。
車両が特定の速度で走行し続けている状態(定常状態)から、車両が停止するまでの間に、組電池100に蓄えることができる回生電力は、予め測定しておくことができる。この回生電力は、車速毎に測定しておくことができる。一般的に、車速が高くなるほど、回生電力が高くなる。
車速毎の回生電力を測定しておけば、この回生電力が組電池100に供給されたときのSOCの変化量(増加量)ΔSOCを算出することができる。具体的には、組電池100の満充電容量と、組電池100に入力される回生電力とに基づいて、組電池100におけるSOCの変化量ΔSOCを算出することができる。
ステップS103において、ECU300は、表示用SOC(基準値)を補正する。具体的には、ECU300は、ステップS101の処理で算出した表示用SOC(基準値)に対して、ステップS102の処理で算出した変化量ΔSOCを加算することにより、表示用SOC(補正値)を算出する。
ステップS104において、ECU300は、ステップS103の処理で算出した表示用SOC(補正値)に関する情報をディスプレイ302に表示する。また、ECU300は、表示用SOC(補正値)に基づいて、航続可能距離を算出し、この航続可能距離に関する情報をディスプレイ302に表示する。
本実施例によれば、現在の表示用SOC(基準値)に対して、車速に応じた回生電力を考慮した表示用SOC(補正値)を用いることにより、車両の加速および減速に応じて、表示用SOCが変動することを抑制できる。すなわち、車両が加速している状態において、組電池100に蓄えられると予測される回生電力も考慮して、表示用SOC(補正値)を算出しているため、車両の加速後に減速したときの表示用SOCの変動を抑制することができる。
これにより、表示用SOCに関する情報をディスプレイ302に表示するとき、乗員は、組電池100のSOCを把握しやすくなる。表示用SOCが変動しすぎると、乗員は、組電池100のSOCを把握しにくくなるが、表示用SOCの変動を抑制することにより、乗員は、組電池100のSOCを把握しやすくなる。
表示用SOCの変動を抑制できれば、表示用SOCから算出される航続可能距離の変動も抑制することができる。これにより、航続可能距離に関する情報をディスプレイ302に表示するとき、乗員は、航続可能距離を把握しやすくなる。
一方、本実施例では、車速に基づいて、変化量ΔSOCを算出しているが、これに限るものではない。ここで、組電池100に入力される回生電力は、車両の重量、車両が走行しているときの抵抗(空気抵抗や摩擦抵抗)、車両を減速させるときのブレーキの操作量などの影響を受ける。
そこで、実際の車両の走行状態を考慮することにより、車速に応じた航続可能距離を算出(学習)することができる。この処理について、図6に示すフローチャートを用いて説明する。図6に示す処理は、ECU300によって実行される。
ステップS201において、ECU300は、所定時間あたりの車速の変動量ΔSpdを算出して、この変動量ΔSpdを閾値ΔSpd_thと比較する。閾値ΔSpd_thは、車両が略一定の速度で走行しているか否かを判別するものであり、予め設定しておくことができる。
一般的に、車速は変動しやすいため、閾値ΔSpd_thは、0よりも大きい値とすることが好ましい。また、閾値ΔSpd_thを大きくしすぎると、車両が一定の速度で走行していることを判別しにくくなる。この点に基づいて、閾値ΔSpd_thを適宜設定することができる。閾値ΔSpd_thに関する情報は、メモリ301に記憶しておくことができる。
変動量ΔSpdが閾値ΔSpd_th以下であるときには、ステップS202の処理に進み、変動量ΔSpdが閾値ΔSpd_thよりも大きいときには、図6に示す処理を終了する。変動量ΔSpdが閾値ΔSpd_thよりも大きいとき、ECU300は、車速が定常状態ではなく、車速に応じた航続可能距離の学習を行うことができないと判別する。
ステップS202において、ECU300は、変動量ΔSpdが閾値ΔSpd_th以下となっている間の時間(継続時間)Δt1を測定する。継続時間Δt1は、タイマを用いて測定することができる。そして、ECU300は、継続時間Δt1が、閾値Δt1_th以上であるか否かを判別する。
閾値Δt1_thは、車速が一定の速度で継続しているか否かを判別するために用いられる。閾値Δt1_thは、適宜設定することができ、閾値Δt1_thに関する情報は、メモリ301に記憶することができる。
継続時間Δt1が閾値Δt1_th以上であるときには、ステップS203の処理に進み、継続時間Δt1が閾値Δt1_thよりも短いときには、図6に示す処理を終了する。継続時間Δt1が閾値Δt1_thよりも短いとき、ECU300は、車速が定常状態ではなく、車速に応じた航続可能距離の学習を行うことができないと判別する。
ステップS203において、ECU300は、現時点において、ディスプレイ302に表示されている航続可能距離dis1に関する情報をメモリ301に記憶する。ここでの航続可能距離dis1は、本実施例で説明した表示用SOC(基準値)から算出される航続可能距離である。また、ステップS203において、ECU300は、継続時間Δt1を測定している間における車速の平均値Spd_aveを算出し、平均値Spd_aveに関する情報をメモリ301に記憶する。
変動量ΔSpdが閾値ΔSpd_th以下であっても、閾値ΔSpd_thの範囲内において、車速は変動しやすいことがある。そこで、ステップS203の処理では、車速が変動することを考慮して、車速の平均値Spd_aveを算出するようにしている。なお、当然のことながら、継続時間Δt1の間において、車速が変化しないときには、このときの車速に関する情報がメモリ301に記憶される。
ステップS204において、ECU300は、現在における車速Spd_cを検出し、車速Spd_cが閾値Spd_th以下であるか否かを判別する。閾値Spd_thは、車両が停止しているか否かを判別するために用いられる。閾値Spd_thは、予め定めておくことができ、閾値Spd_thに関する情報は、メモリ301に記憶しておくことができる。
例えば、閾値Spd_thとしては、0[km/h]に設定することができる。ここで、閾値Spd_thは、0[km/h]よりも高くてもよい。すなわち、車両が停止したと見なせる状態を判別できるだけでもよい。
車速Spd_cが閾値Spd_th以下であるときには、ステップS205の処理に進み、車速Spd_cが閾値Spd_thよりも高いときには、図6に示す処理を終了する。車速Spd_cが閾値Spd_thよりも高いとき、ECU300は、車両が未だ走行しており、車速に応じた航続可能距離の学習を行うことができないと判別する。
ステップS205において、ECU300は、車速Spd_cが閾値Spd_th以下となっている間の時間(継続時間)Δt2を測定する。継続時間Δt2は、タイマを用いて測定することができる。そして、ECU300は、継続時間Δt2が、閾値Δt2_th以上であるか否かを判別する。
閾値Δt2_thは、車両が停止しているか否かを判別するために用いられる。閾値Δt2_thは、適宜設定することができ、閾値Δt2_thに関する情報は、メモリ301に記憶することができる。
継続時間Δt2が閾値Δt2_th以上であるときには、ステップS206の処理に進み、継続時間Δt2が閾値Δt2_thよりも短いときには、図6に示す処理を終了する。継続時間Δt2が閾値Δt2_thよりも短いとき、ECU300は、車両が停止していなく、車速に応じた航続可能距離の学習を行うことができないと判別する。
ステップS206において、ECU300は、現時点において、ディスプレイ302に表示されている航続可能距離dis2に関する情報をメモリ301に記憶する。ここでの航続可能距離dis2は、本実施例で説明した表示用SOC(基準値)から算出される航続可能距離である。
ステップS207において、ECU300は、ステップS206の処理で得られた航続可能距離dis2から、ステップS203の処理で得られた航続可能距離dis1を減算する。ここで、航続可能距離dis2は、車両を減速した後に算出される航続可能距離であり、減速に伴う回生電力の分だけ、航続可能距離dis1よりも長くなる。
このため、航続可能距離dis2から航続可能距離dis1を減算することにより、組電池100に蓄えられる回生電力を用いた航続可能距離を算出することができる。そして、減算して得られた航続可能距離Δdis(dis2−dis1)は、ステップS203の処理で得られた平均速度(車速)Spd_aveに対応する航続可能距離となる。
車速Spd_aveに対応する航続可能距離Δdis(dis2−dis1)を算出したとき、ECU300は、ステップS208において、図5に示すマップを更新する。具体的には、ECU300は、航続可能距離Δdis(dis2−dis1)を、組電池100におけるSOCの変化量ΔSOCに変換する。
車両の電費を考慮すれば、航続可能距離Δdis(dis2−dis1)を変化量ΔSOCに変換することができる。すなわち、航続可能距離Δdis(dis2−dis1)に電費を乗算すれば、車速Spd_aveに対応した回生電力を算出することができる。回生電力を算出できれば、上述したように、組電池100におけるSOCの変化量ΔSOCを算出することができる。ECU300は、図5に示すマップにおいて、車速Spd_aveに対応する変化量ΔSOCとして、新たに算出された変化量ΔSOCに置き換える。
このように、変化量ΔSOCを学習して、図5に示すマップを更新することにより、車速に対応した変化量ΔSOCの精度を向上させることができる。すなわち、変化量ΔSOCとして、実際の車両の走行状態を考慮した値を用いることができる。また、変化量ΔSOCの精度を向上させることができれば、図2に示す処理において、表示用SOC(補正値)の精度を向上させることができるとともに、航続可能距離の精度も向上させることができる。