図1は、本実施例である電池システム(本発明の蓄電システムに相当する)の構成を示す図である。図1に示す電池システムは、車両に搭載されている。この車両としては、ハイブリッド自動車や電気自動車がある。ハイブリッド自動車は、車両を走行させるための動力源として、後述する組電池に加えて、内燃機関又は燃料電池といった他の動力源を備えている。また、電気自動車は、車両を走行させるための動力源として、後述する組電池だけを備えている。
組電池(本発明の蓄電装置に相当する)10は、直列に接続された複数の単電池11を有する。単電池11としては、ニッケル水素電池やリチウムイオン電池といった二次電池を用いることができる。また、二次電池の代わりに、電気二重層キャパシタを用いることもできる。
単電池11の数は、組電池10の要求出力などに基づいて、適宜設定することができる。本実施例では、すべての単電池11が直列に接続されることによって、組電池10が構成されているが、これに限るものではない。組電池10には、並列に接続された複数の単電池11を含めることができる。
監視ユニット21は、組電池10の電圧値Vbを検出したり、各単電池11の電圧値Vbを検出したりし、検出結果をコントローラ30に出力する。電流センサ22は、組電池10に流れる電流Ibを検出し、検出結果をコントローラ30に出力する。本実施例において、組電池10を放電するときには、電流値(放電電流)Ibとして正の値が用いられる。また、組電池10を充電するときには、電流値(充電電流)Ibとして負の値が用いられる。
本実施例では、組電池10の正極端子と接続された正極ラインPLに電流センサ22を設けている。ここで、電流センサ22は、組電池10に流れる電流Ibを検出できればよく、電流センサ22を設ける位置は適宜設定することができる。例えば、組電池10の負極端子と接続された負極ラインNLに電流センサ22を設けることができる。また、複数の電流センサ22を設けることもできる。
温度センサ23は、組電池10(単電池11)の温度Tbを検出し、検出結果をコントローラ30に出力する。組電池10に含まれる単電池11の位置に応じて温度Tbが異なるときには、組電池10における複数の箇所に温度センサ23を配置することができる。これにより、各単電池11の温度Tbを精度良く検出することができる。
コントローラ30は、メモリ31およびタイマ32を有する。メモリ31は、コントローラ30が所定処理(例えば、本実施例で説明する処理)を行うための各種の情報を記憶している。また、タイマ32は、時間の計測に用いられる。本実施例では、メモリ31およびタイマ32が、コントローラ30に内蔵されているが、メモリ31およびタイマ32の少なくとも一方を、コントローラ30の外部に設けることもできる。
外気温センサ41は、車両の外部における気温(外気温)Toutを検出し、検出結果をコントローラ30に出力する。照度センサ42は、車両の外部における照度Ecを検出し、検出結果をコントローラ30に出力する。
正極ラインPLには、システムメインリレーSMR−Bが設けられている。システムメインリレーSMR−Bは、コントローラ30からの制御信号を受けることにより、オンおよびオフの間で切り替わる。負極ラインNLには、システムメインリレーSMR−Gが設けられている。システムメインリレーSMR−Gは、コントローラ30からの制御信号を受けることにより、オンおよびオフの間で切り替わる。
システムメインリレーSMR−Gには、システムメインリレーSMR−Pおよび電流制限抵抗Rが並列に接続されている。システムメインリレーSMR−Pおよび電流制限抵抗Rは、直列に接続されている。システムメインリレーSMR−Pは、コントローラ30からの制御信号を受けることにより、オンおよびオフの間で切り替わる。
電流制限抵抗Rは、組電池10を負荷(具体的には、後述するインバータ24)と接続するときに、コンデンサCに突入電流が流れることを抑制するために用いられる。コンデンサCは、正極ラインPLおよび負極ラインNLと接続されており、正極ラインPLおよび負極ラインNLの間における電圧変動を平滑化するために用いられる。
組電池10をインバータ24と接続するとき、コントローラ30は、まず、システムメインリレーSMR−Bをオフからオンに切り替えるとともに、システムメインリレーSMR−Pをオフからオンに切り替える。これにより、組電池10の放電電流を電流制限抵抗Rに流すことができ、突入電流がコンデンサCに流れることを抑制できる。
次に、コントローラ30は、システムメインリレーSMR−Gをオフからオンに切り替えるとともに、システムメインリレーSMR−Pをオンからオフに切り替える。これにより、組電池10およびインバータ24の接続が完了し、図1に示す電池システムは、起動状態(Ready-On)となる。コントローラ30には、車両のイグニッションスイッチのオン/オフに関する情報が入力され、コントローラ30は、イグニッションスイッチがオフからオンに切り替わることに応じて、図1に示す電池システムを起動する。
一方、イグニッションスイッチがオンからオフに切り替わったとき、コントローラ30は、システムメインリレーSMR−B,SMR−Gをオンからオフに切り替える。これにより、組電池10およびインバータ24の接続が遮断され、図1に示す電池システムは、停止状態(Ready-Off)となる。
インバータ24は、組電池10から出力された直流電力を交流電力に変換し、交流電力をモータ・ジェネレータ(MG)25に出力する。モータ・ジェネレータ25としては、例えば、三相交流モータを用いることができる。モータ・ジェネレータ25は、インバータ24から出力された交流電力を受けて、車両を走行させるための運動エネルギを生成する。モータ・ジェネレータ25によって生成された運動エネルギは、車輪に伝達され、車両を走行させることができる。
車両を減速させたり、停止させたりするとき、モータ・ジェネレータ25は、車両の制動時に発生する運動エネルギを電気エネルギ(交流電力)に変換する。インバータ24は、モータ・ジェネレータ25が生成した交流電力を直流電力に変換し、直流電力を組電池10に出力する。これにより、組電池10は、回生電力を蓄えることができる。
本実施例では、組電池10をインバータ24に接続しているが、これに限るものではない。具体的には、組電池10およびインバータ24の間の電流経路に、昇圧回路を設けることができる。昇圧回路は、組電池10の出力電圧を昇圧し、昇圧後の電力をインバータ24に出力することができる。また、昇圧回路は、インバータ24の出力電圧を降圧し、降圧後の電力を組電池10に出力することができる。
本実施例の電池システムにおいて、イグニッションスイッチがオンであるときには、温度センサ23によって組電池10(単電池11)の温度を検出することができる。一方、イグニッションスイッチがオフであるときには、温度センサ23によって組電池10(単電池11)の温度を検出することができない。
そこで、本実施例では、以下に説明するように、イグニッションスイッチがオフの間における組電池10(単電池11)の温度を推定するようにしている。ここで、イグニッションスイッチがオフの間における組電池10(単電池11)の温度を、放置温度という。
本実施例において、組電池10の放置温度は、組電池10が使用される地域(環境)の外気温に基づいて推定される。具体的には、組電池10の使用地域を特定し、この使用地域の外気温に基づいて、組電池10の放置温度を推定している。使用地域とは、組電池10が搭載された車両の走行地域に相当する。
本実施例では、組電池10の使用地域を特定するために、まず、昼夜を区別しながら、外気温を検出している。これにより、昼間の外気温と、夜間の外気温とを検出することができる。昼夜の外気温を検出する処理について、図2に示すフローチャートを用いて説明する。図2に示す処理は、コントローラ30によって実行される。また、所定期間Δtが経過するたびに、図2に示す処理が繰り返して行われる。
ステップS101において、コントローラ30は、照度センサ42の出力に基づいて、照度Ecを検出するとともに、外気温センサ41の出力に基づいて、外気温Toutを検出する。ステップS102において、コントローラ30は、ステップS101の処理で検出した照度Ecが閾値Eth以上であるか否かを判別する。閾値Ethは、昼夜を区別するための照度であり、適宜設定することができる。閾値Ethに関する情報は、メモリ31に記憶しておくことができる。
照度Ecが閾値Eth以上であるとき、コントローラ30は、ステップS103の処理を行う。また、照度Ecが閾値Ethよりも低いとき、コントローラ30は、ステップS104の処理を行う。ステップS103において、コントローラ30は、カウント値Cをインクリメントする。カウント値Cは、昼夜の判別を確定するために用いられる値である。カウント値Cに関する情報は、メモリ31に記憶される。
ステップS104において、コントローラ30は、判別期間Δtが経過したか否かを判別する。判別期間Δtは、昼夜の判別を行うための期間であり、適宜設定することができる。例えば、判別期間Δtとしては、1日よりも短い期間とすることができる。判別期間Δtに関する情報は、メモリ31に記憶しておくことができる。具体的には、コントローラ30は、図2に示す処理を開始するときに、タイマ32を用いて、時間tmの計測を開始する。そして、コントローラ30は、計測時間tmが判別期間Δtに到達しているか否かを判別する。
計測時間tmが判別期間Δtに到達したとき、コントローラ30は、ステップS105の処理を行う。一方、計測時間tmが判別期間Δtに到達していないとき、コントローラ30は、ステップS101の処理に戻る。このように、判別期間Δtが経過するまでは、照度Ecおよび外気温Toutの検出が繰り返され、照度Ecが閾値Eth以上であるたびに、カウント値Cが増加する。
ステップS105において、コントローラ30は、カウント値Cが閾値Cth以上であるか否かを判別する。閾値Cthは、昼夜の判別を確定するための値であり、適宜設定することができる。すなわち、カウント値Cが閾値Cth以上であるとき、判別期間Δtの間は、昼であると判別するようにしている。一方、カウント値Cが閾値Cthよりも小さいとき、判別期間Δtの間は、夜であると判別するようにしている。
ここで、照度Ecだけに基づいて、昼夜の判別を行うことも考えられる。例えば、照度Ecが閾値Eth以上であるときに、昼と判別し、照度Ecが閾値Ethよりも低いときに、夜と判別することができる。しかし、この場合には、判別期間Δtの間に、昼夜が混在した判別を行ってしまうことがある。
例えば、車両が昼間に走行しているにもかかわらず、車両がトンネルに進入したときには、照度Ecが低下することにより、夜と判別してしまうことがある。また、車両が夜間に走行しているにもかかわらず、昼間の照度に相当する照明の下に車両が存在しているときには、照度Ecが上昇することにより、昼と判別してしまうことがある。
上述したような場合には、判別期間Δtの間において、昼夜が混在してしまい、昼夜の判別が誤って行われてしまうことがある。そこで、本実施例では、カウント値Cを設定し、カウント値Cが閾値Cth以上であるときに、昼と判別するようにしている。
判別期間Δtの間において、閾値Eth以上の照度Ecが得られる割合が、照度Ethよりも低い照度Ecが得られる割合よりも高ければ、カウント値Cが閾値Cth以上になりやすい。これにより、車両が昼間に走行しているときに、照度Ecが一時的に低下しても、判別期間Δtの間が昼であると判別しやすくなる。
一方、判別期間Δtの間において、閾値Ethよりも低い照度Ecが得られる割合が、照度Eth以上の照度Ecが得られる割合よりも高ければ、カウント値Cが閾値Cthを超えにくくなる。これにより、車両が夜間に走行しているときに、照度Ecが一時的に上昇しても、判別期間Δtの間が夜であると判別しやすくなる。
カウント値Cが閾値Cth以上であるとき、コントローラ30は、ステップS106において、判別期間Δtの間が昼であると判別する。一方、カウント値Cが閾値Cthよりも小さいとき、コントローラ30は、ステップS108において、判別期間Δtの間が夜であると判別する。
ステップS107において、コントローラ30は、判別期間Δtの間に検出した外気温Toutを、昼間の外気温としてメモリ31に記憶する。ステップS109において、コントローラ30は、判別期間Δtの間に検出した外気温Toutを、夜間の外気温としてメモリ31に記憶する。
図3には、図2に示す処理を行ったときの照度Ec、カウント値Cおよび外気温Toutの挙動(一例)を示している。図3において、縦軸は、照度Ec、カウント値Cおよび外気温Toutをそれぞれ示している。また、図3の横軸は、時間を示している。
図3に示すように、照度Ecが閾値Eth以上であるときには、カウント値Cが増加し続ける。また、照度Ecが閾値Ethよりも低いときには、カウント値Cが増加せず、照度Ecが閾値Ethよりも低くなる前のカウント値Cに維持される。図3に示す例では、判別期間Δtの間が昼間と判別される。そして、判別期間Δtの間における外気温Toutは、昼間の外気温Toutとしてメモリ31に記憶される。
一方、図4に示す例では、照度Ecが一時的に閾値Eth以上となるが、カウント値Cが閾値Cthに到達していないため、判別期間Δtの間が夜間と判別される。そして、判別期間Δtの間における外気温Toutは、夜間の外気温Toutとしてメモリ31に記憶される。
次に、組電池10の使用地域を特定する処理について、図5に示すフローチャートを用いて説明する。図5に示す処理は、コントローラ30によって実行され、図2に示す処理が行われた後に、図5に示す処理が行われる。
ステップS201において、コントローラ30は、所定期間内における最高気温Tmaxを特定する。所定期間(本発明における第1期間に相当する)とは、図2に示す処理で説明した判別期間Δtよりも長い期間であり、所定期間には、複数の判別期間Δtが含まれる。所定期間は、適宜設定することができ、例えば、1ヶ月とすることができる。所定期間に関する情報は、メモリ31に記憶しておくことができる。
最高気温Tmaxは、所定期間内における外気温Toutの変化において、最も高い外気温Toutを示す。図2に示す処理によって、判別期間Δtにおける外気温Toutの変化を取得することができる。したがって、この外気温Toutの変化に基づいて、最高気温Tmaxを特定することができる。
ステップS202において、コントローラ30は、所定期間内における最低気温Tminを特定する。ここでいう所定期間は、ステップS201の処理で説明した所定期間と同じである。最低気温Tminは、所定期間内における外気温Toutの変化において、最も低い外気温Toutを示す。図2に示す処理によって、判別期間Δtにおける外気温Toutの変化を取得することができる。したがって、この外気温Toutの変化に基づいて、最低気温Tminを特定することができる。
ステップS203において、コントローラ30は、所定期間内において、昼間の外気温Toutの平均気温Tout_ave_dを算出する。ここでいう所定期間も、ステップS201の処理で説明した所定期間と同じである。図2に示す処理によれば、判別期間Δtが昼間であるときの外気温Toutを取得することができる。このため、所定期間に含まれ、昼間と判別された判別期間Δtにおける外気温Toutの平均値を算出することにより、平均気温Tout_ave_dを得ることができる。
ステップS204において、コントローラ30は、所定期間内において、夜間の外気温Toutの平均気温Tout_ave_nを算出する。ここでいう所定期間も、ステップS201の処理で説明した所定期間と同じである。図2に示す処理によれば、判別期間Δtが夜間であるときの外気温Toutを取得することができる。このため、所定期間に含まれ、夜間と判別された判別期間Δtにおける外気温Toutの平均値を算出することにより、平均気温Tout_ave_nを得ることができる。
ステップS205において、コントローラ30は、所定期間内における外気温Toutの平均気温Tout_ave_allを算出する。ここでいう所定期間も、ステップS201の処理で説明した所定期間と同じである。平均気温Tout_ave_allは、昼夜を問わず、所定期間内における外気温Toutの平均値である。
本実施例では、ステップS203,204の処理によって、平均気温Tout_ave_d,Tout_ave_nを算出しているため、平均気温Tout_ave_d,Tout_ave_nを用いて、平均気温Tout_ave_allを算出している。具体的には、平均気温Tout_ave_allは、下記式(1)に基づいて算出される。
上記式(1)に示すαは、平均気温Tout_ave_dに関する係数であり、βは、平均気温Tout_ave_nに関する係数である。係数α,βは、予め設定しておくことができる。そして、係数α,βに関する情報は、メモリ31に記憶しておくことができる。
例えば、平均気温Tout_ave_dが実測値(昼間の平均気温)に沿った値を示すとともに、平均気温Tout_ave_nが実測値(夜間の平均気温)に沿った値を示せば、係数α,βを「0.5」に設定することができる。これにより、平均気温Tout_ave_allとして、実測値に沿った値を得ることができる。なお、係数α,βは、適宜設定することができる。
ステップS206において、コントローラ30は、年間平均気温Tout_ave_yを算出する。1年間(本発明における第2期間に相当する)は、複数の所定期間に分けることができる。したがって、1年間に含まれる複数の所定期間のそれぞれにおいて、平均気温Tout_ave_allを算出すれば、年間平均気温Tout_ave_yを算出することができる。具体的には、年間平均気温Tout_ave_yは、下記式(2)に基づいて算出することができる。
上記式(2)において、ΣTout_ave_allは、1年間に含まれる複数の所定期間における平均気温Tout_ave_allを合計した値である。また、Nは、1年間に含まれる所定期間の数である。例えば、所定期間を1ヶ月に設定したとき、Nは、「12」となる。
ステップS207において、コントローラ30は、気温Tmax,Tmin,Tout_ave_all,Tout_ave_yに基づいて、組電池10の使用地域を特定する。地域に応じて、気温Tmax,Tmin,Tout_ave_all,Tout_ave_yの少なくとも1つが異なることがある。例えば、酷暑地と、寒冷地と、酷暑地および寒冷地に属さない地域とを比較すると、気温Tmax,Tmin,Tout_ave_all,Tout_ave_yが異なりやすい。
そこで、地域毎に、気温Tmax,Tmin,Tout_ave_all,Tout_ave_yを予め測定しておけば、図5に示す処理で得られた気温Tmax,Tmin,Tout_ave_all,Tout_ave_yに基づいて、組電池10の使用地域を特定することができる。
具体的には、複数の地域に関して、地域および気温Tmax,Tmin,Tout_ave_all,Tout_ave_yの対応関係を予め求めておき、この対応関係に関する情報をメモリ31に記憶しておくことができる。そして、この対応関係を用いれば、図5に示す処理で得られた気温Tmax,Tmin,Tout_ave_all,Tout_ave_yに対応する地域を特定することができる。このように特定された地域が、組電池10の使用地域となる。
上述したように地域を特定するときには、図5に示す処理で得られた気温Tmax,Tmin,Tout_ave_all,Tout_ave_yが、メモリ31に記憶された気温Tmax,Tmin,Tout_ave_all,Tout_ave_yと一致しなくてもよい。具体的には、気温Tmax,Tmin,Tout_ave_all,Tout_ave_yのそれぞれを比較したときに、最もずれが少ない気温Tmax,Tmin,Tout_ave_all,Tout_ave_yを特定して、組電池10の使用地域を特定することができる。
本実施例では、気温Tmax,Tmin,Tout_ave_all,Tout_ave_yを考慮して、組電池10の使用地域を特定しているが、これに限るものではない。具体的には、気温Tmax,Tmin,Tout_ave_all,Tout_ave_yのうち少なくとも1つを考慮して、組電池10の使用地域を特定することができる。ただし、地域を特定するための気温の情報(気温Tmax,Tmin,Tout_ave_all,Tout_ave_y)が増えるほど、組電池10の使用地域を特定しやすくなる。
本実施例では、年間平均気温Tout_ave_yを算出しているが、これに限るものではない。すなわち、複数の所定期間における平均気温Tout_ave_allを用いて、所定期間よりも長い期間における平均気温を算出すればよい。ここで、組電池10の使用地域が変更されなければ、1年間を周期とした外気温Toutの変化は、同じ挙動を示しやすい。そこで、本実施例のように、年間平均気温Tout_ave_yを算出することにより、組電池10の使用地域を特定しやすくなる。
次に、組電池10の放置温度を推定する処理について、図6に示すフローチャートを用いて説明する。図6に示す処理は、コントローラ30によって実行され、図5に示す処理が行われた後に行われる。
ステップS301において、コントローラ30は、組電池10の使用地域における年間平均気温Tout_ave_yを特定する。図5に示す処理を行うことにより、組電池10の使用地域を特定することができる。ここで、図5に示すステップS207の処理では、地域および年間平均気温Tout_ave_yの対応関係が用いられており、ステップS301の処理でも、この対応関係を用いて年間平均気温Tout_ave_yを特定している。
具体的には、図5に示す処理によって、組電池10の使用地域が特定されるため、地域および年間平均気温Tout_ave_yの対応関係を用いれば、特定された使用地域に対応する年間平均気温Tout_ave_yを特定することができる。なお、ステップS301の処理では、図5に示すステップS206の処理で算出された年間平均気温Tout_ave_yを用いることもできる。
ステップS302において、コントローラ30は、組電池10の放置温度Tb_restを推定する。例えば、イグニッションスイッチがオフであるとき、組電池10の温度Tbが外気温Toutと等しくなると想定すれば、放置温度Tb_restとして、ステップS301で特定された年間平均気温Tout_ave_yを用いることができる。
一方、車両の室内温度が外気温Toutよりも高いと想定するときには、車両に搭載される組電池10の温度Tbも外気温Toutよりも高いと想定することができる。この場合には、放置温度Tb_restとして、年間平均気温Tout_ave_yよりも高い温度を用いることができる。
具体的には、温度上昇量ΔTを実験などによって予め求めておくことができる。この温度上昇量ΔTは、車両の室内温度および外気温Toutの差分に相当する。ここで、年間平均気温Tout_ave_yに温度上昇量ΔTを加算した温度を、放置温度Tb_restとすることができる。
図7には、組電池10の温度Tbおよび外気温Toutの挙動を示す。図7において、縦軸は温度を示し、横軸は時間を示す。図7において、イグニッションスイッチがオンであるときには、温度センサ23を用いて、組電池10(単電池11)の温度Tbを検出することができる。一方、イグニッションスイッチがオフであるときには、温度センサ23を用いて、組電池10(単電池11)の温度Tbを検出していない。
図7において、点線は、年間平均気温Tout_ave_yを示し、年間平均気温Tout_ave_yよりも温度上昇量ΔTだけ高い温度が、組電池10の放置温度Tb_restとなる。実際の外気温Toutは、図7に示すように、年間平均気温Tout_ave_yよりも高くなったり、年間平均気温Tout_ave_yよりも低くなったりする。
後述するように、本実施例では、組電池10の放置温度Tb_restに基づいて、組電池10の劣化量を推定している。通常、短期間に組電池10の劣化が進行するものではなく、長期間をかけて組電池10の劣化が進行する。したがって、組電池10の劣化量を推定するために、放置温度Tb_restを特定するときには、時間に応じて変化する外気温Toutを考慮しなくてもよく、外気温Toutの平均値を考慮すれば足りる。そこで、本実施例では、組電池10の劣化量を推定する上で、1年間を基準に設定し、年間平均気温Tout_ave_yに基づいて、組電池10の放置温度Tb_restを推定している。
なお、本実施例では、年間平均気温Tout_ave_yに基づいて放置温度Tb_restを推定しているが、これに限るものではない。例えば、図5に示すステップS205の処理で算出された所定期間内の平均気温Tout_ave_allに基づいて、放置温度Tb_restを推定することもできる。この場合には、所定期間内の平均気温Tout_ave_allを放置温度Tb_restとしたり、平均気温Tout_ave_allに温度上昇量ΔTを加算した温度を放置温度Tb_restとしたりすることができる。
ここで、所定期間は、1年間よりも短い期間であるため、時期に応じて、平均気温Tout_ave_allが変化することがある。この場合には、例えば、ユーザが現在の時期を入力することにより、現在の時期に対応した所定期間を特定し、この所定期間における平均気温Tout_ave_allを特定することができる。
本実施例では、照度センサ42によって検出された照度Ecに基づいて、昼夜の判別を行っているが、これに限るものではない。具体的には、電波時計が搭載された車両では、電波時計の時刻情報に基づいて、昼夜の判別を行うことができる。電波時計とは、標準電波を受信して誤差を自動修正する機能を備えた時計である。ここで、昼の時間帯と、夜の時間帯とを予め設定しておけば、電波時計から取得した現在の時刻が属する時間帯を特定することにより、昼夜の判別を行うことができる。
本実施例では、図5に示す処理において、年間平均気温Tout_ave_yを算出しているが、外気温Toutの検出を開始してから1年が経過しないと、年間平均気温Tout_ave_yを算出することができない。そこで、年間平均気温Tout_ave_yを算出することができない間は、使用地域の年間平均気温Tout_ave_yとして、予め設定された気温を用いることができる。この気温設定は、適宜行うことができ、予め設定した年間平均気温Tout_ave_yに関する情報は、メモリ31に記憶しておくことができる。
図5に示す処理によって、年間平均気温Tout_ave_yを算出した後は、予め設定された年間平均気温Tout_ave_yを、算出された年間平均気温Tout_ave_yに変更することができる。そして、変更後の年間平均気温Tout_ave_yに関する情報をメモリ31に記憶しておくことができる。
また、図5に示すステップS206の処理で算出された年間平均気温Tout_ave_yに基づいて、放置温度Tb_restを推定するときには、ステップS206の処理によって年間平均気温Tout_ave_yを算出するたびに、メモリ31に記憶される年間平均気温Tout_ave_yを更新することができる。
本実施例のように組電池10の放置温度Tb_restを推定したときには、放置温度Tb_restに基づいて、組電池10の劣化量を推定することができる。また、推定した劣化量に基づいて、組電池10の入出力(充放電)を制御することができる。
劣化量に基づいて組電池10の入出力を制御する処理について、図8に示すフローチャートを用いて説明する。図8に示す処理は、コントローラ30によって実行される。
ステップS401において、コントローラ30は、イグニッションスイッチがオンであるときの組電池10の劣化率DR_onを算出する。劣化率DR_onとは、単位時間当たりにおける劣化量の増加量である。組電池10の劣化は、組電池10の温度Tbに依存するため、電池温度Tbに基づいて、劣化率DR_onを算出することができる。
具体的には、電池温度Tbおよび劣化率DR_onの対応関係を予め求めておけば、電池温度Tbを検出することにより、この電池温度Tbに対応する劣化率DR_onを特定することができる。ここで、電池温度Tbおよび劣化率DR_onの対応関係に関して、電池温度Tbが高くなるほど、劣化率DR_onを高くすることができる。
一方、組電池10の劣化は、組電池10のSOC(State of Charge)にも依存する。SOCとは、満充電容量に対する、現在の充電容量の割合である。このため、劣化率DR_onおよびSOCの対応関係を予め求めておけば、組電池10のSOCを推定することにより、このSOCに対応する劣化率DR_onを特定することができる。SOCを推定する方法としては、公知の方法を適宜用いることができる。例えば、組電池10を充放電したときの電流値を積算し続けることにより、組電池10のSOCを推定することができる。
劣化率DR_onは、組電池10の温度TbおよびSOCに基づいて算出することもできる。具体的には、図9に示すように、劣化率DR_on、電池温度TbおよびSOCの対応関係を予め求めておけば、この対応関係を用いて、劣化率DR_onを算出することができる。図9において、縦軸は劣化率DR_onを示し、横軸はSOCを示す。
図9に示す曲線k1,k2,k3は、劣化率DR_onおよびSOCの対応関係を示している。曲線k1,k2,k3に示すように、組電池10のSOCが高くなるほど、劣化率DR_onが高くなる。言い換えれば、組電池10のSOCが低くなるほど、劣化率DR_onが低くなる。
曲線k1,k2,k3では、電池温度Tbが互いに異なっている。曲線k1を規定する電池温度Tb1は、曲線k2を規定する電池温度Tb2よりも高い。また、電池温度Tb2は、曲線k3を規定する電池温度Tb3よりも高い。このように、電池温度Tbが高くなるほど、劣化率DR_onが高くなる。言い換えれば、電池温度Tbが低くなるほど、劣化率DR_onが低くなる。
ステップS402において、コントローラ30は、イグニッションスイッチがオフであるときの組電池10の劣化率DR_offを算出する。劣化率DR_onと同様に、劣化率DR_offは、組電池10の温度TbおよびSOCの少なくとも一方に基づいて算出することができる。電池温度Tbを考慮して劣化率DR_offを算出するとき、電池温度Tbとしては、図6に示す処理で推定された放置温度Tb_restが用いられる。
ステップS403において、コントローラ30は、組電池10における現在の劣化量DEを算出する。具体的には、ステップS401の処理で算出された劣化率DR_onを、イグニッションスイッチがオンとなっている期間で積分することにより、劣化量DE_onを算出することができる。
また、ステップS402の処理で算出された劣化率DR_offを、イグニッションスイッチがオフとなっている期間で積分することにより、劣化量DE_offを算出することができる。そして、劣化量DE_on,DE_offを加算することにより、現在の劣化量DEを算出することができる。
本実施例では、劣化量DE_onだけでなく、劣化量DE_offも算出することにより、現在の劣化量DEの推定精度を向上させることができる。一般的に、イグニッションスイッチがオフとなっている時間は、イグニッションスイッチがオンとなっている時間よりも長い。このため、イグニッションスイッチがオフとなっているときの電池温度Tb(放置温度Tb_rest)が組電池10の劣化に与える影響が大きい。そこで、本実施例のように、劣化量DE_onだけでなく、劣化量DE_offも算出することにより、現在の劣化量DEを精度良く推定することができる。
ステップS404において、コントローラ30は、ステップS403の処理で算出した劣化量DEが閾値DE_th以上であるか否かを判別する。閾値DE_thは、組電池10の入出力を制限するか否かを判別するための値であり、適宜設定することができる。
ここで、閾値DE_thを小さくするほど、後述するように、組電池10の入出力が制限されやすくなる。入出力が制限されやすくなれば、車両のドライバビリティに悪影響を与えるおそれがある。一方、閾値DE_thを大きくするほど、後述するように、組電池10の入出力が制限されにくくなる。入出力が制限されにくくなれば、組電池10の劣化を促進させてしまうおそれがある。
上述した点を考慮して、閾値DE_thを設定することができ、閾値DE_thに関する情報は、メモリ31に記憶しておくことができる。劣化量DEが閾値DE_th以上であるとき、コントローラ30は、ステップS405において、組電池10の入出力を制限する。一方、劣化量DEが閾値DE_thよりも少ないとき、コントローラ30は、ステップS406において、組電池10の入出力を制限しない。
組電池10の入出力を制御するときには、入力(充電)を許容する上限電力と、出力(放電)を許容する上限電力とが設定される。ここで、入出力に関するそれぞれの上限電力は、予め設定されており、例えば、組電池10の温度TbやSOCに応じて、上限電力を変更することができる。ステップS405の処理において、入出力を制限するときには、予め設定された上限電力を低下させる。ステップS406の処理において、入出力の制限を行わないときには、入出力に対応する上限電力として、予め設定された値が用いられる。