本発明の実施例1である電池システムについて、図1を用いて説明する。図1は、電池システムの構成を示す図である。本実施例の電池システムは、車両に搭載されている。
車両としては、ハイブリッド自動車や電気自動車がある。ハイブリッド自動車は、車両を走行させる動力源として、後述する組電池に加えて、エンジン又は燃料電池を備えている。電気自動車は、車両を走行させる動力源として、後述する組電池だけを備えている。本実施例では、車両で用いられる組電池について説明するが、車両以外の機器で用いられる組電池に対しても本発明を適用することができる。
組電池10は、直列に接続された複数の単電池11を有する。単電池11としては、ニッケル水素電池やリチウムイオン電池といった二次電池を用いることができる。また、二次電池の代わりに、電気二重層キャパシタ(コンデンサ)を用いることができる。単電池11の数は、組電池10の要求出力などに基づいて、適宜設定することができる。本実施例では、組電池10を構成する、すべての単電池11が直列に接続されているが、並列に接続された複数の単電池11が組電池10に含まれていてもよい。
監視ユニット20は、図2に示すように、第1監視ユニット21および第2監視ユニット22を有する。第1監視ユニット21は、各単電池11の端子間電圧(電池電圧という)を検出し、検出結果をコントローラ30(図1参照)に出力する。本実施例において、組電池10を構成する複数の単電池11は、複数の電池ブロック12に分けられている。複数の電池ブロック12は、直列に接続されている。各電池ブロック12では、複数の単電池11が直列に接続されている。
電池ブロック12を構成する単電池11の数は、適宜設定することができる。また、組電池10に含まれる電池ブロック12の数も適宜設定することができる。複数の電池ブロック12において、各電池ブロック12を構成する単電池11の数は、互いに等しくなっている。第1監視ユニット21は、各電池ブロック12に対して設けられており、第1監視ユニット21は、電池ブロック12の数だけ設けられている。第2監視ユニット22は、各電池ブロック12の端子間電圧(ブロック電圧という)を検出し、検出結果をコントローラ30に出力する。
コントローラ30は、メモリ31を有する。メモリ31は、コントローラ30が所定の処理を行うための各種の情報を記憶している。本実施例では、メモリ31が、コントローラ30に内蔵されているが、コントローラ30の外部にメモリ31を設けることもできる。
電流センサ41は、組電池10に流れる電流値を検出し、検出結果をコントローラ30に出力する。組電池10を放電するときには、電流値を正の値とし、組電池10を充電するときには、電流値を負の値とすることができる。
組電池10の正極ラインPLには、システムメインリレーSMR−Bが設けられている。システムメインリレーSMR−Bは、コントローラ30からの制御信号を受けることにより、オンおよびオフの間で切り替わる。組電池10の負極ラインNLには、システムメインリレーSMR−Gが設けられている。システムメインリレーSMR−Gは、コントローラ30からの制御信号を受けることにより、オンおよびオフの間で切り替わる。
システムメインリレーSMR−Gに対しては、システムメインリレーSMR−Pおよび電流制限抵抗Rが並列に接続されている。システムメインリレーSMR−Pおよび電流制限抵抗Rは、直列に接続されている。システムメインリレーSMR−Pは、コントローラ30からの制御信号を受けることにより、オンおよびオフの間で切り替わる。電流制限抵抗Rは、組電池10を負荷(後述する昇圧回路42など)と接続するときに、突入電流が流れるのを抑制するために用いられる。
組電池10を負荷と接続するとき、コントローラ30は、システムメインリレーSMR−B,SMR−Pをオフからオンに切り替える。これにより、電流制限抵抗Rに電流を流すことができる。次に、コントローラ30は、システムメインリレーSMR−Gをオフからオンに切り替えた後に、システムメインリレーSMR−Pをオンからオフに切り替える。これにより、組電池10および負荷の接続が完了する。組電池10および負荷の接続を遮断するとき、コントローラ30は、システムメインリレーSMR−B,SMR−Gをオンからオフに切り替える。
昇圧回路42は、正極ラインPLおよび負極ラインNLを介して、組電池10と接続されており、組電池10の出力電圧を昇圧する。昇圧回路42は、昇圧後の電力をインバータ43に出力する。また、昇圧回路42は、インバータ43の出力電圧を降圧し、降圧後の電力を組電池10に出力することができる。本実施例の電池システムでは、昇圧回路42を用いているが、昇圧回路42を省略することもできる。
インバータ43は、昇圧回路42から出力された直流電力を交流電力に変換し、交流電力をモータ・ジェネレータ44に出力する。モータ・ジェネレータ44としては、例えば、三相交流モータを用いることができる。モータ・ジェネレータ44は、インバータ43から出力された交流電力を受けて、車両を走行させるための運動エネルギを生成する。モータ・ジェネレータ44によって生成された運動エネルギは、車輪に伝達される。
車両を減速させたり、停止させたりするとき、モータ・ジェネレータ44は、車両の制動時に発生する運動エネルギを電気エネルギ(交流電力)に変換する。インバータ43は、モータ・ジェネレータ44が生成した交流電力を直流電力に変換し、直流電力を昇圧回路42に出力する。昇圧回路42は、インバータ43の出力電圧を降圧し、降圧後の電力を組電池10に出力する。これにより、組電池10は、回生電力を蓄えることができる。
正極ラインPLおよび負極ラインNLには、DC/DCコンバータ45が接続されている。DC/DCコンバータ45は、組電池10の出力電圧を降圧し、降圧後の電力を補機46に出力する。DC/DCコンバータ45は、コントローラ30からの制御信号を受けて動作する。補機46は、組電池10からの電力を受けて作動することができる電子機器である。補機46としては、例えば、コントローラ30、システムメインリレーSMR−B,SMR−G,SMR−Pを駆動する回路、空調設備、ランプ、音響設備、ディスプレイがある。
次に、組電池10の劣化を診断する処理について説明する。図3は、劣化診断処理を説明するフローチャートである。図3に示す処理は、コントローラ30によって実行される。劣化診断処理は、コントローラ30が劣化診断処理の要求を受けたときに開始される。
ステップS101において、コントローラ30は、電池ブロック12の電圧異常を判定する閾値(異常判定閾値)を変更する。図3に示す処理を行う場合において、異常判定閾値は、電池ブロック12が過放電状態(電圧異常)であるか否かを判定するための閾値である。電池ブロック12のブロック電圧が異常判定閾値よりも低いとき、コントローラ30は、電池ブロック12が過放電状態であると判定し、電池ブロック12(組電池10)の入出力(充放電)を制限することができる。
組電池10の入出力を制限するとき、コントローラ30は、組電池10の入出力を許容する上限電力を低下させることができる。上限電力は、組電池10の入力(充電)および出力(放電)のそれぞれに対して設定される。組電池10の入力および出力のそれぞれに対して設定される上限電力は、同じ値であってもよいし、互いに異なっていてもよい。上限電力を低下させることには、上限電力を0[kW]に設定することも含まれる。上限電力を0[kW]に設定することにより、組電池10の入出力が行われないことになる。
コントローラ30は、劣化診断処理を行うときには、異常判定閾値を低下させる。図4に示すように、劣化診断処理を行うときの異常判定閾値Vth(D)は、劣化診断処理を行わないときの異常判定閾値Vth(N)よりも低い。劣化診断処理を行わないときとは、組電池10を負荷(昇圧回路42)と接続して、組電池10の充放電を制御するときである。
異常判定閾値Vth(D)は、単電池11の安全性を確保するために必要な最低限の電圧値に基づいて、設定することができる。単電池11の安全性を確保するための電圧値が分かれば、この電圧値に対して、電池ブロック12を構成する単電池11の数を乗算すれば、異常判定閾値Vth(D)を求めることができる。
ステップS102において、コントローラ30は、組電池10の放電を開始させる。例えば、組電池10の電力を補機46に供給することにより、組電池10を放電させることができる。また、組電池10の正極ラインPLおよび負極ラインNLに負荷を接続して、組電池10を放電させることができる。
ステップS103において、コントローラ30は、監視ユニット20(第2監視ユニット22)の出力に基づいて、電池ブロック12のブロック電圧Vbを取得する。そして、コントローラ30は、ブロック電圧Vbが開始電圧(第1電圧に相当する)Vsよりも低いか否かを判別する。複数の電池ブロック12において、ブロック電圧Vbにバラツキが発生しているときには、例えば、最も高いブロック電圧Vbが開始電圧Vsよりも低いか否かを判別することができる。
開始電圧Vsは、組電池10に流れる電流値を取得し始めるタイミングを決定する電圧値であり、適宜設定することができる。本実施例では、後述するように、組電池10を放電したときの電流積算量ΣIを取得するため、電流積算量ΣIを取得しやすいように、開始電圧Vsは、電池ブロック12のSOC(State of Charge)が高い状態にあるときのブロック電圧に設定しておくことが好ましい。開始電圧Vsに関する情報は、メモリ31に記憶することができる。
劣化診断処理を行うときには、電池ブロック12のブロック電圧Vbを開始電圧Vs以上としておく必要がある。例えば、劣化診断処理を行う前には、組電池10が満充電状態となるまで、組電池10を充電しておくことができる。組電池10の放電によって、ブロック電圧Vbが開始電圧Vsよりも低くなったときには、ステップS104の処理に進む。
ステップS104において、コントローラ30は、電流センサ41の出力に基づいて、組電池10に流れる電流値Iを取得する。組電池10を放電し続けている間、コントローラ30は、電流値Iを取得し続ける。取得した電流値Iは、メモリ31に記憶することができる。
ステップS105において、コントローラ30は、監視ユニット20(第2監視ユニット22)の出力に基づいて、電池ブロック12のブロック電圧Vbを取得する。組電池10は放電し続けているため、ブロック電圧Vbは低下する。コントローラ30は、ブロック電圧Vbが終了電圧(第2電圧に相当する)Veよりも低いか否かを判別する。終了電圧Veは、組電池10に流れる電流値Iの取得を終了させるタイミングを決定する電圧値である。終了電圧Veに関する情報は、メモリ31に記憶することができる。
終了電圧Veは、開始電圧Vsよりも低い電圧値であり、適宜設定することができる。後述する電流積算量ΣIを取得しやすいように、終了電圧Veは、電池ブロック12のSOCが低い状態にあるときのブロック電圧に設定しておくことが好ましい。
ブロック電圧Vbが終了電圧Veよりも低いときには、ステップS106の処理に進み、ブロック電圧Vbが終了電圧Veよりも高いときには、ステップS104の処理に戻る。すなわち、ブロック電圧Vbが、開始電圧Vsから終了電圧Veに変化(低下)するまで、電流値Iが取得される。
ステップS106において、コントローラ30は、組電池10の放電を停止させる。具体的には、コントローラ30は、システムメインリレーSMR−B,SMR−Gをオンからオフに切り替えることができる。組電池10の放電を停止させた後では、図4に示すように、ブロック電圧Vbは上昇する。組電池10の放電を停止した直後では、電池ブロック12(単電池11)に分極が発生している。分極状態は、時間の経過とともに解消するため、分極状態の解消によって、ブロック電圧Vbが上昇する。
ステップS107において、コントローラ30は、ステップS104で取得した電流値Iを積算して、電流積算量ΣI(放電量)を算出する。ステップS108において、コントローラ30は、ステップS107で算出した電流積算量ΣIを、基準となる電流積算量ΣIと比較することにより、組電池10が劣化しているか否かを判別する。
基準となる電流積算量ΣIは、組電池10の劣化を判別するときに基準となる電流積算量ΣIである。基準となる電流積算量ΣIとしては、例えば、初期状態の組電池10を放電させたときに取得された電流積算量ΣIを用いることができる。初期状態とは、組電池10を製造した直後の状態をいう。基準となる電流積算量ΣIを算出するときにも、ブロック電圧Vbを、開始電圧Vsから終了電圧Veまで変化させながら、電流値Iを取得する。
図5は、電池ブロック12(組電池10)を放電させたときの電圧の変動(放電カーブ)を示す図である。図5の縦軸は、ブロック電圧を示し、図5の横軸は、電池ブロック12の放電容量[Ah]を示す。図5の実線は、電池ブロック12(組電池10)が劣化していないときの放電カーブを示し、図5の点線は、電池ブロック12(組電池10)が劣化したときの放電カーブを示す。点線に示す放電カーブは、電池ブロック12(組電池10)の劣化状態に応じて変化する。
図5に示すように、電池ブロック12(組電池10)が劣化すると、電池ブロック12(組電池10)の容量は低下してしまう。言い換えれば、電池ブロック12(組電池10)が劣化すると、電流積算量ΣIは低下してしまう。単電池11がリチウムイオン二次電池であるときには、例えば、リチウムの析出や摩耗劣化によって、電池ブロック12が劣化してしまう。
このため、ステップS107で算出された電流積算量ΣIが、基準となる電流積算量ΣIに対して低下するほど、電池ブロック12(組電池10)が劣化していることになる。したがって、ステップS107で算出された電流積算量ΣIと、基準となる電流積算量ΣIとを比較することにより、電池ブロック12(組電池10)の劣化状態を判定することができる。劣化診断処理を行った後は、組電池10は、充電することが好ましい。
劣化診断処理を行った後において、コントローラ30は、異常判定閾値Vth(D)を異常判定閾値Vth(N)に戻す。ここで、図4に示すように、ブロック電圧Vbは、電池ブロック12の分極状態が解消することに応じて変化する。このため、電池ブロック12の分極状態が解消されるのを待ってから、異常判定閾値Vth(D)を異常判定閾値Vth(N)に戻すことができる。具体的には、分極状態が解消される時間(解消時間)を予め求めておき、組電池10の放電を停止したときからの経過時間が解消時間よりも長くなったときに、異常判定閾値Vth(D)を異常判定閾値Vth(N)に変更することができる。または、劣化診断処理を行った後に、組電池10を充電し、ブロック電圧Vbが異常判定閾値Vth(N)よりも一度でも高くなったときに、異常判定閾値Vth(D)を異常判定閾値Vth(N)に変更することができる。
図3に示す処理では、組電池10を継続的に放電することによって、電流積算量ΣI(放電量)を算出しているが、これに限るものではない。具体的には、組電池10を継続的に充電することによって、電流積算量ΣI(充電量)を算出することができる。
例えば、外部電源の電力を組電池10に供給することにより、組電池10を継続的に充電することができる。外部電源は、車両の外部において、車両とは別に設けられた電源である。外部電源としては、例えば、商用電源を用いることができる。
図1に示す電池システムにおいては、充電器を追加することができる。具体的には、組電池10の正極ラインPLおよび負極ラインNLに対して、充電器を接続することができる。外部電源が交流電力を供給するとき、充電器は、外部電源からの交流電力を直流電力に変換し、直流電力を組電池10に供給することができる。外部電源が直流電力を供給するとき、外部電源からの直流電力を組電池10に供給することができる。
組電池10を継続的に充電するときにも、電流値Iを取得し始めるときのブロック電圧(開始電圧)と、電流値Iの取得を終了させるときのブロック電圧(終了電圧)とを設定しておく。そして、ブロック電圧Vbが開始電圧から終了電圧に変化(上昇)するまでの間で電流値Iを取得し、電流積算量ΣIを算出すればよい。複数の電池ブロック12において、ブロック電圧Vbにバラツキが発生しているときには、例えば、最も低いブロック電圧Vbが開始電圧から終了電圧に上昇するまでの間において、電流値Iを取得することができる。
開始電圧および終了電圧は、適宜設定することができる。例えば、開始電圧を、本実施例で説明した終了電圧Veとし、終了電圧を、本実施例で説明した開始電圧Vsとすることができる。組電池10の充電を開始するときには、ブロック電圧Vbを、開始電圧よりも低くしておく必要がある。
組電池10を充電することによって、電流積算量ΣIを算出するときにも、本実施例で説明したように、異常判定閾値を変更することができる。この異常判定閾値は、電池ブロック12が過充電状態(電圧異常)であるか否かを判定するための閾値である。電池ブロック12のブロック電圧Vbが、過充電を抑制するための異常判定閾値よりも高くなったときには、組電池10の入出力を制限することができる。組電池10の入出力を制限する方法は、上述した通りである。過充電を抑制するための異常判定閾値を変更するときには、異常判定閾値を上昇させればよい。
過放電又は過充電を抑制するための異常判定閾値を変更するときには、変更量を固定値とすることもできるし、変更量を変化させることもできる。変更量を固定値とするときには、固定値を予め決めておき、固定値に関する情報をメモリ31に記憶することができる。
一方、異常判定閾値の変更量を変化させるときには、例えば、図6に示すように、劣化診断処理を開始するときのブロック電圧Vbの差ΔVbと、異常判定閾値の変更量ΔVthとの関係を予め決めておけばよい。図6に示す情報は、メモリ31に記憶することができる。劣化診断処理を開始するときにブロック電圧Vbの差ΔVbを算出すれば、図6に示す関係から、異常判定閾値の変更量を決定することができる。
ブロック電圧Vbの差ΔVbとしては、複数の電池ブロック12において、ブロック電圧Vbの差の最大値を用いることができる。ブロック電圧Vbの差ΔVbが大きくなるほど、異常判定閾値の変更量ΔVthを大きくすることができる。
本実施例によれば、劣化診断処理を行うときに、ブロック電圧Vbが異常判定閾値Vth(N)よりも低くなってしまうのを抑制することができる。複数の電池ブロック12では、電池ブロック12の入出力特性の差などによって、ブロック電圧Vbにバラツキが発生することがある。ブロック電圧Vbにバラツキが発生しているときにおいて、例えば、図4に示すように、最も高いブロック電圧Vbを終了電圧Veまで低下させようとすると、最も低いブロック電圧Vbが異常判定閾値Vth(N)よりも低くなってしまうことがある。
最も低いブロック電圧Vbを監視し、最も低いブロック電圧Vbが終了電圧Veに到達したときに、電流値Iの取得を終了させることもできる。しかし、この場合には、高い側のブロック電圧Vbが終了電圧Veに到達していないことがある。電流積算量ΣIの算出精度を向上させるためには、最も高いブロック電圧Vbを終了電圧Veまで低下させることが好ましい。最も高いブロック電圧Vbを終了電圧Veまで低下させると、最も低いブロック電圧Vbが異常判定閾値Vth(N)よりも低くなってしまうことがある。
ブロック電圧Vbが異常判定閾値Vth(N)よりも低くなると、電池ブロック12(組電池10)の入出力が制限されてしまい、例えば、最も高いブロック電圧Vbを終了電圧Veまで低下させにくくなってしまう。この場合には、最も高いブロック電圧Vbが終了電圧Veに到達するまでの電流値Iを取得し難くなってしまい、電流積算量ΣIを算出することができなくなってしまうことがある。
本実施例では、劣化診断処理を行うときだけ、異常判定閾値Vth(N)を異常判定閾値Vth(D)に低下させることにより、ブロック電圧Vbが異常判定閾値Vth(D)よりも低下し難くしている。これにより、ブロック電圧Vbを開始電圧Vsから終了電圧Veまで低下させることができ、電流積算量ΣIを算出することができる。電流積算量ΣIを算出することにより、組電池10(電池ブロック12)の劣化状態を判定することができる。
一方、複数の電池ブロック12に対して、ブロック電圧Vbを均等化させる処理を行うことができる。均等化処理では、例えば、ブロック電圧Vbが高い側の電池ブロック12を放電させることにより、複数の電池ブロック12において、ブロック電圧Vbのバラツキを抑制することができる。
均等化処理を行えば、ブロック電圧Vbのバラツキを抑制することはできるが、ブロック電圧Vbが一致しないこともある。また、ブロック電圧Vbのバラツキを抑制しても、各電池ブロック12の劣化状態やSOCに応じて、均等化処理を行った後のブロック電圧Vbの挙動が変化してしまうことがある。例えば、電池ブロック12のSOCが低下しているときには、ブロック電圧Vbが急激に低下して、異常判定閾値Vth(N)よりも低下してしまうおそれがある。そこで、均等化処理を行うときであっても、本実施例のように、異常判定閾値Vth(N)を異常判定閾値Vth(D)に変更することが好ましい。
ブロック電圧Vbが、変更後の異常判定閾値Vth(D)よりも低下したときには、組電池10(電池ブロック12)の放電を終了させることができる。ここで、一部の電池ブロック12において、ブロック電圧Vbが終了電圧Veまで到達していないときには、ブロック電圧Vbが終了電圧Veに到達した電池ブロック12だけに対して、劣化状態の診断を行うことができる。
具体的には、算出した電流積算量ΣIと、基準となる電流積算量ΣIとを比較した結果、電池ブロック12の劣化が進行していないと判定したときには、ブロック電圧Vbが終了電圧Veに到達した電池ブロック12について、使用し続けることができると判定することができる。
組電池10の充電によって電流積算値ΣIを算出するときに、異常判定閾値を上昇させた場合であっても、本実施例と同様の効果を得ることができる。すなわち、複数の電池ブロック12において、ブロック電圧Vbのバラツキが発生しているとき、例えば、最も低いブロック電圧Vbを終了電圧まで上昇させようとすると、最も高いブロック電圧が、過充電を抑制する異常判定閾値よりも高くなってしまうことがある。
最も高いブロック電圧Vbを監視し、最も高いブロック電圧Vbが終了電圧に到達したときに、電流値Iの取得を終了させることもできる。しかし、この場合には、低い側のブロック電圧Vbが終了電圧に到達していないことがある。電流積算量ΣIの算出精度を向上させるためには、最も低いブロック電圧Vbを終了電圧Veまで上昇させることが好ましい。最も低いブロック電圧Vbを終了電圧まで上昇させると、最も高いブロック電圧Vbが、過充電を抑制する異常判定閾値よりも高くなってしまうことがある。
ブロック電圧Vbが、過充電を抑制する異常判定閾値よりも高くなると、電池ブロック12(組電池10)の入出力が制限されてしまい、例えば、最も低いブロック電圧Vbを終了電圧まで上昇させにくくなってしまう。この場合には、最も低いブロック電圧Vbが終了電圧に到達するまでの電流値Iを取得し難くなってしまい、電流積算量ΣIを算出することができなくなってしまうことがある。
ここで、劣化診断処理を行うときだけ、異常判定閾値を上昇させることにより、ブロック電圧Vbが、過充電を抑制する異常判定閾値よりも高くなりにくくしている。これにより、ブロック電圧Vbを開始電圧から終了電圧まで上昇させることができ、電流積算量ΣIを算出することができる。電流積算量ΣIを算出することにより、組電池10(電池ブロック12)の劣化状態を判定することができる。
本実施例では、ブロック電圧Vbが開始電圧Vsから終了電圧Veに変化するまでの電流積算量ΣIを算出しているが、これに限るものではない。具体的には、単電池11の電池電圧を監視し、電池電圧が開始電圧から終了電圧に変化するまでの電流積算量ΣIを算出することができる。
この場合において、開始電圧および終了電圧は、電池電圧に対応した値となる。また、異常判定閾値も、電池電圧に対応した値となる。異常判定閾値には、単電池11が過放電状態(電圧異常)であるか否かを判定するための閾値や、単電池11が過充電状態(電圧異常)であるか否かを判定するための閾値が含まれる。
電池電圧が開始電圧から終了電圧に変化するまでの間で電流値を取得するときには、本実施例と同様に、異常判定閾値を変更することができる。これにより、最も低い電池電圧が、過放電を抑制する異常判定閾値よりも低くなってしまうのを抑制することができる。また、最も高い電池電圧が、過充電を抑制する異常判定閾値よりも高くなってしまうのを抑制することができる。したがって、電池電圧が開始電圧から終了電圧に変化するまでの間において、電流値Iを取得することができる。
本発明の実施例2である電池システムについて説明する。本実施例において、実施例1で説明した構成要素と同一の構成要素については、同一の符号を用い、詳細な説明は省略する。
本実施例では、組電池10を構成する複数の電池ブロック12におけるブロック電圧Vbの差に基づいて、電池ブロック12が異常状態であるか否かを判別するようにしている。特定の電池ブロック12に異常状態(例えば、短絡による異常)が発生していると、特定の電池ブロック12のブロック電圧Vbは、他の電池ブロック12のブロック電圧Vbよりも低くなり、ブロック電圧Vbの差が増加する。
そこで、ブロック電圧Vbの差を監視することにより、電池ブロック12が異常状態であるか否かを判別することができる。電池ブロック12が異常状態であるときには、実施例1で説明したように、組電池10の入出力を制限することができる。
具体的には、ブロック電圧Vbの差に関する閾値(電圧差)ΔVthを予め設定しておき、ブロック電圧Vbの差が閾値(電圧差)ΔVthよりも高いときには、電池ブロック12が異常状態であると判別することができる。ここで、ブロック電圧Vbの差は、ブロック電圧Vbの差の最大値とすることができる。すなわち、最大値を示すブロック電圧Vbと、最小値を示すブロック電圧Vbとの差を、ブロック電圧Vbの差とすることができる。
ブロック電圧Vbの差の最大値を監視することにより、すべての電池ブロック12に対して、異常状態の判別を行うことができる。閾値(電圧差)ΔVthは、電池ブロック12の異常状態を特定する観点に基づいて、適宜設定することができる。閾値(電圧差)ΔVthに関する情報は、メモリ31に記憶しておくことができる。
実施例1で説明したように、劣化診断処理を行うときには、組電池10を放電し続けることになる。組電池10の放電によって、電池ブロック12のSOCが低下すると、ブロック電圧Vbの差が広がりやすくなる。この点に関して、以下に具体的に説明する。
図7は、電池ブロック12のSOCおよび開放電圧(OCV、Open Circuit Voltage)の関係を示す図である。図7に示すように、電池ブロック12のSOCが低下することに応じて、電池ブロック12のOCVも低下する。また、SOCが低い側の領域では、電池ブロック12のOCVが急激に低下してしまう。このため、電池ブロック12のSOCが低下すると、SOCの変化量ΔSOCに対するOCVの変化量ΔOCVが増加する。
図7に示すように、同一の変化量ΔSOCに対して、電池ブロック12のSOCが低い側でのOCV変化量ΔOCV1は、電池ブロック12のSOCが高い側でのOCV変化量ΔOCV2よりも大きくなる。したがって、組電池10の放電によって、電池ブロック12のSOCを低下させると、OCVの変化量(低下量)が増加する。ここで、OCV(又はSOC)のバラツキが発生している複数の電池ブロック12を放電させると、電池ブロック12のSOCが低下するにつれて、複数の電池ブロック12におけるOCVの差が広がってしまう。
また、単電池11として、リチウムイオン二次電池を用いたときには、単電池11のSOCが低下するほど、単電池11の内部抵抗が増加する傾向がある。ここで、監視ユニット20(第2監視ユニット22)によって検出されたブロック電圧Vb(CCV、Closed Circuit Voltage)と、電池ブロック12のOCVとは、下記式(1)の関係を有する。
CCV=OCV+I×R ・・・(1)
式(1)において、Iは、電池ブロック12に流れる電流値であり、Rは、電池ブロック12の内部抵抗である。電流値Iおよび内部抵抗Rの積は、電池ブロック12の内部抵抗による電圧変化量に相当する。
電池ブロック12のSOCが低下することに応じて、電池ブロック12の内部抵抗が増加すると、IRに相当する電圧変化量が増加する。複数の電池ブロック12において、OCVの差が発生しているときには、OCVの差の影響だけでなく、IRに相当する電圧変化量の影響を受けて、複数の電池ブロック12におけるブロック電圧Vb(CCV)の差が広がってしまう。
一方、劣化診断処理を行うときには、組電池10(電池ブロック12)のSOCを、できるだけ低下させることが好ましい。具体的には、車両の走行時において、組電池10の充放電制御で用いられるSOCの下限値よりも、組電池10(電池ブロック12)のSOCを低下させることが好ましい。組電池10(電池ブロック12)のSOCを低下させることにより、幅広いSOCの範囲内において、電流積算量ΣIを取得することができる。このように電流積算量ΣIを取得すれば、図5に示すような放電容量を確認しやすくなり、劣化診断処理の精度を向上させることができる。
劣化診断処理において、電池ブロック12のSOCを低下させてしまうと、上述した理由により、ブロック電圧Vbの差が広がりやすくなってしまう。すなわち、ブロック電圧Vbの差が閾値(電圧差)ΔVthよりも大きくなりやすくなってしまう。ブロック電圧Vbの差が閾値(電圧差)ΔVthよりも大きくなったときには、電池ブロック12が異常状態であると判別され、組電池10の入出力が制限されてしまう。ここで、劣化診断処理を行っているときに、組電池10の入出力が制限されると、劣化診断処理を完了させることができなくなってしまうおそれがある。
本実施例では、劣化診断処理を行うときには、ブロック電圧Vbの差が広がることを考慮して、閾値(電圧差)ΔVthを変更するようにしている。具体的には、劣化診断処理で用いられる閾値(電圧差)ΔVthを、劣化診断処理を行わないときの閾値(電圧差)ΔVthよりも大きくしている。これにより、劣化診断処理が中断してしまうのを抑制することができる。
本実施例の処理について、図8に示すフローチャートを用いて説明する。図8に示す処理は、コントローラ30によって実行される。
ステップS201において、コントローラ30は、劣化診断処理を実行するか否かを判別する。具体的には、コントローラ30は、劣化診断処理の要求を受けているか否かを判別する。劣化診断処理を実行するときには、ステップS202の処理に進み、劣化診断処理を実行しないときには、ステップS206の処理に進む。
ステップS202において、コントローラ30は、監視ユニット20(第2監視ユニット22)の出力に基づいて、各電池ブロック12のブロック電圧Vbを取得する。このブロック電圧Vbは、劣化診断処理を開始するときのブロック電圧Vbである。また、コントローラ30は、取得したブロック電圧Vbに基づいて、ブロック電圧Vbの差(最大値)ΔVmaxを算出する。
ステップS203において、コントローラ30は、上述した閾値(電圧差)ΔVthとして、第2閾値(電圧差)ΔVth2を設定する。第2閾値(電圧差)ΔVth2は、ステップS202で算出したブロック電圧Vbの差ΔVmaxに応じて設定される。具体的には、第2閾値(電圧差)ΔVth2は、図9に示すマップに基づいて設定することができる。図9に示すマップ(一例)では、ブロック電圧Vbの差ΔVmaxが増加するほど、第2閾値(電圧差)ΔVth2が増加している。
劣化診断処理を開始するときのブロック電圧Vbの差ΔVmaxが増加するほど、劣化診断処理(組電池10の放電)によって、ブロック電圧Vbの差ΔVmaxが広がりやすい。したがって、図9に示すマップでは、ブロック電圧Vbの差ΔVmaxが増加するほど、第2閾値(電圧差)ΔVth2を増加させている。ブロック電圧Vbの差ΔVmaxの変化量に対する第2閾値(電圧差)ΔVth2の変化量は、予め実験を行うことにより、決めておくことができる。図9では、ブロック電圧Vbの差ΔVmaxと、第2閾値(電圧差)ΔVth2との関係を、一次関数として表しているが、これは例示であって、これに限るものではない。図9に示すマップは、メモリ31に予め記憶しておくことができる。
本実施例では、劣化診断処理を開始するときのブロック電圧Vbの差ΔVmaxに基づいて、第2閾値(電圧差)ΔVth2を設定しているが、これに限るものではない。具体的には、劣化診断処理を行っている間のブロック電圧Vbの差(最大値)ΔVmaxに基づいて、第2閾値(電圧差)ΔVth2を設定することもできる。ブロック電圧Vbは、所定の周期で取得することができるため、ブロック電圧Vbの差ΔVmaxも所定の周期で算出することができる。したがって、劣化診断処理を行っている間において、ブロック電圧Vbの差ΔVmaxを算出するたびに、第2閾値(電圧差)ΔVth2を更新することができる。
ステップS204において、コントローラ30は、劣化診断処理を行う。劣化診断処理の方法は、実施例1で説明した方法と概ね同様である。ここで、実施例1では、異常判定閾値Vthを変更しているが、本実施例では、異常判定閾値Vthを変更してもよいし、変更しなくてもよい。本実施例では、図3に示す処理において、少なくともステップS102〜ステップS108の処理が行われればよい。
劣化診断処理を終了した後、ステップS205において、コントローラ30は、監視ユニット20(第2監視ユニット22)の出力に基づいて、最小値としてのブロック電圧Vbを取得する。そして、コントローラ30は、ブロック電圧(最小値)Vbが正常閾値Vokよりも高いか否かを判別する。
劣化診断処理を完了したとき、組電池10(電池ブロック12)のSOCは、車両の走行時において組電池10の充放電制御で用いられるSOCの下限値(下限SOCという)よりも低くなっている。劣化診断処理を行った後は、車両の走行が行われるため、組電池10(電池ブロック12)のSOCを下限SOCよりも高い値に上昇させる必要がある。このため、正常閾値Vokとしては、下限SOCに対応したブロック電圧Vbに設定したり、このブロック電圧Vbよりも高いブロック電圧Vbに設定したりすることができる。
ブロック電圧(最小値)Vbを正常閾値Vokよりも高くしておけば、すべての電池ブロック12におけるブロック電圧Vbを正常閾値Vokよりも高くすることができる。正常閾値Vokの設定は、組電池10の充放電によって車両の走行を確保することができる観点に基づいて、適宜設定することができる。正常閾値Vokに関する情報は、メモリ31に予め記憶しておくことができる。
ブロック電圧(最小値)Vbが正常閾値Vokよりも高くなると、ステップS206の処理に進む。ステップS206において、コントローラ30は、閾値(電圧差)ΔVthとして、第1閾値(電圧差)ΔVth1に設定する。ここで、ブロック電圧(最小値)Vbが正常閾値Vokに到達するまでは、第2閾値(電圧差)ΔVth2が維持される。
第1閾値(電圧差)ΔVth1は、劣化診断処理を行わないときに設定される閾値(電圧差)ΔVthであり、第2閾値(電圧差)ΔVth2よりも小さい値である。一方、ステップS201の処理からステップS206の処理に進んだときにも、コントローラ30は、閾値(電圧差)ΔVthとして、第1閾値(電圧差)ΔVth1を設定する。
劣化診断処理を行わないとき、言い換えれば、車両を走行させるときには、電池ブロック12のSOCが下限SOCよりも高い範囲内で変化するように、組電池10の充放電が制御される。この場合には、ブロック電圧が急激に低下しないSOCの範囲内において、電池ブロック12のSOCが変化することになるため、ブロック電圧Vbの差ΔVmaxが広がり難くなる。したがって、劣化診断処理を行わないときの閾値(電圧差)ΔVthとしては、第2閾値(電圧差)ΔVth2よりも小さい第1閾値(電圧差)ΔVth1が設定される。
本実施例では、劣化診断処理が完了した後であっても、ブロック電圧(最小値)Vbが正常閾値Vokに到達するまでは、第2閾値(電圧差)ΔVth2を維持している。劣化診断処理が完了した直後では、ブロック電圧Vbの差ΔVmaxが第1閾値(電圧差)ΔVth1よりも大きいままとなっていることがある。ここで、劣化診断処理が完了した直後に、第2閾値(電圧差)ΔVth2から第1閾値(電圧差)ΔVth1に変更すると、劣化診断処理を完了した後の車両の走行において、組電池10の入出力が直ぐに制限されてしまうことがある。
そこで、本実施例では、ブロック電圧(最小値)Vbが正常閾値Vokに到達するのを待ってから、第2閾値(電圧差)ΔVth2から第1閾値(電圧差)ΔVth1に変更している。ブロック電圧(最小値)Vbを正常閾値Vokよりも高くすれば、ブロック電圧Vbの差ΔVmaxを狭めることができ、第1閾値(電圧差)ΔVth1に変更しても、組電池10の入出力が直ぐに制限されてしまうのを抑制することができる。
図10には、図8に示す処理を行ったときにおいて、ブロック電圧Vbの変化、組電池10に流れる電流値の変化、閾値(電圧差)ΔVthの変化を示す。図10では、放電電流値を正の値とし、充電電流値を負の値としている。
劣化診断処理を開始するまでは、閾値(電圧差)ΔVthは、第1閾値(電圧差)ΔVth1に設定されている。劣化診断処理を行うために、時刻t1において、放電を開始させると、閾値(電圧差)ΔVthは、第1閾値(電圧差)ΔVth1から第2閾値(電圧差)ΔVth2に変更される。
劣化診断処理を行っている間は、定電流で放電が行われる。ここで、放電電流値は、適宜設定することができる。なお、図10では、定電流で放電しているが、劣化診断処理を行っている間において、電流値を変化させてもよい。例えば、ブロック電圧Vbが開始電圧Vsよりも低下してから、ブロック電圧Vbが終了電圧Veに到達する前までの間において、電流値を増加させることができる。これにより、ブロック電圧Vbを開始電圧Vsから終了電圧Veまで素早く変化させることができ、劣化診断処理に要する時間を短縮することができる。
時刻t2において、ブロック電圧(最大値)Vbが終了電圧Veに到達すると、劣化診断処理を終了する。終了電圧Veは、正常閾値Vokよりも低い値である。時刻t2では、組電池10(電池ブロック12)の放電が停止し、電流値が0[A]となる。電流値が0[A]となった後は、組電池10(電池ブロック12)の分極状態に応じて、ブロック電圧Vbが上昇した後に特定の電圧値に維持される。
ブロック電圧Vbが正常閾値Vokよりも低いときには、組電池10の充電が積極的に行われ、ブロック電圧Vbが上昇する。図10では、時刻t3以降において、組電池10の充電が行われ、ブロック電圧Vbが上昇している。時刻t4において、ブロック電圧(最小値)Vbが正常閾値Vokに到達したときには、閾値(電圧差)ΔVthが、第2閾値(電圧差)ΔVth2から第1閾値(電圧差)ΔVth1に変更される。ここで、ブロック電圧(最小値)Vbが正常閾値Vokよりも一度でも高くなったときに、第2閾値(電圧差)ΔVth2から第1閾値(電圧差)ΔVth1に変更することができる。
本実施例によれば、ブロック電圧Vbの差ΔVmaxと閾値(電圧差)ΔVthとを比較して、電池ブロック12の異常状態を判別するシステムにおいて、劣化診断処理を行う間は、閾値(電圧差)ΔVthを変更することにより、劣化診断処理が中断されてしまうのを抑制することができる。また、劣化診断処理を行っている間も、第2閾値(電圧差)ΔVth2を設定しておくことにより、ブロック電圧Vbの差ΔVmaxおよび第2閾値(電圧差)ΔVth2の関係を監視し続けることができる。ブロック電圧Vbの差ΔVmaxおよび第2閾値(電圧差)ΔVth2の関係を監視するうえでは、本実施例で説明したように、ブロック電圧Vbの差ΔVmaxに応じて、第2閾値(電圧差)ΔVth2を変更することが好ましい。
本実施例では、ブロック電圧Vbを監視しているが、実施例1でも説明したように、ブロック電圧Vbの代わりに、単電池11の電圧を監視することができる。単電池11の電圧を監視するときには、閾値(電圧差)ΔVth1,ΔVth2や正常閾値Vokは、単電池11が取り得る電圧に対応した値とすればよい。
次に、本実施例の変形例について、図11に示すフローチャートを用いて説明する。図11に示す処理は、コントローラ30によって実行される。図11に示す処理において、図8で説明した処理と同じ処理については、同一の符号を用い、詳細な説明は省略する。以下、図8に示す処理とは異なる処理について、主に説明する。
劣化診断処理を実行するときには、ステップS207において、コントローラ30は、図8のステップS202の処理と同様に、ブロック電圧Vbの差(最大値)ΔVmaxを算出する。また、コントローラ30は、複数の電池ブロック12におけるブロック電圧Vbのうち、最小値としてのブロック電圧Vb_minを取得する。
ステップS208において、コントローラ30は、ブロック電圧Vbの差ΔVmaxと、ブロック電圧(最小値)Vb_minとに基づいて、第2閾値(電圧差)ΔVth2を設定する。具体的には、図9に示すマップと、図12に示すマップとを用いて、第2閾値(電圧差)ΔVth2を設定することができる。図12に示すマップ(一例)では、ブロック電圧(最小値)Vb_minが低下するほど、第2閾値(電圧差)ΔVth2が増加している。
本変形例では、ブロック電圧Vbの差ΔVmaxと、ブロック電圧(最小値)Vb_minと、第2閾値(電圧差)ΔVth2とを座標軸とした3次元のマップが用いられる。3次元のマップは、実験によって予め求めておくことができ、3次元のマップに関する情報は、メモリ31に記憶しておくことができる。コントローラ30は、ブロック電圧Vbの差ΔVmaxと、ブロック電圧(最小値)Vb_minとを特定すれば、3次元のマップから、第2閾値(電圧差)ΔVth2を特定することができる。
本変形例において、第2閾値(電圧差)ΔVth2を特定するためのブロック電圧Vbの差ΔVmaxは、劣化診断処理を開始するときに取得したブロック電圧Vbの差ΔVmaxであってもよいし、劣化診断処理を行っている間に取得したブロック電圧Vbの差ΔVmaxであってもよい。劣化診断処理を行っている間では、所定の周期において、ブロック電圧Vbの差ΔVmaxを取得することができ、ブロック電圧Vbの差ΔVmaxを取得するたびに、第2閾値(電圧差)ΔVth2を更新することができる。
同様に、第2閾値(電圧差)ΔVth2を特定するためのブロック電圧(最小値)Vb_minは、劣化診断処理を開始するときに取得したブロック電圧(最小値)Vb_minであってもよいし、劣化診断処理を行っている間に取得したブロック電圧(最小値)Vb_minであってもよい。劣化診断処理を行っている間では、所定の周期において、ブロック電圧(最小値)Vb_minを取得することができ、ブロック電圧(最小値)Vb_minを取得するたびに、第2閾値(電圧差)ΔVth2を更新することができる。
本実施例および本変形例では、組電池10(電池ブロック12)の温度も考慮して、第2閾値(電圧差)ΔVth2を設定することができる。組電池10の温度を取得するためには、例えば、温度センサを用いればよい。具体的には、図13に示すように、組電池10の温度と、第2閾値(電圧差)ΔVth2との関係を示すマップを予め用意しておき、このマップを用いて、第2閾値(電圧差)ΔVth2を設定することができる。図13に示すマップ(一例)では、組電池10の温度が上昇するにつれて、第2閾値(電圧差)ΔVth2は低下する。
本実施例および本変形例では、ブロック電圧Vbの差ΔVmaxなどに基づいて、第2閾値(電圧差)ΔVth2を設定しているが、これに限るものではない。具体的には、ブロック電圧Vbの差ΔVmaxなどの値に拘わらず、第2閾値(電圧差)ΔVth2を固定値として設定しておくことができる。この場合において、第2閾値(電圧差)ΔVth2としては、設定できる値の最大値を用いることができる。
本実施例および本変形例では、劣化診断処理を行っている間、第2閾値(電圧差)ΔVth2を設定しているが、これに限るものではない。具体的には、劣化診断処理を行っている間は、閾値(電圧差)ΔVthを設定せずに、ブロック電圧Vbの差ΔVmaxと閾値(電圧差)ΔVthとを比較する処理を省略することができる。この場合には、劣化診断処理が中断されることなく、劣化診断処理を完了させることができる。