実施例1である電池システムについて、図1を用いて説明する。図1は、電池システムの構成を示す図である。
図1に示す電池システムは、例えば、車両に搭載することができる。車両としては、ハイブリッド自動車や電気自動車がある。ハイブリッド自動車は、車両を走行させるための動力源として、組電池の他に、燃料電池や内燃機関等を備えた車両である。電気自動車は、車両の動力源として、組電池だけを備えた車両である。
組電池10は、電気的に直列に接続された複数の単電池11を有する。組電池10を構成する単電池11の数は、組電池10の要求出力等に基づいて、適宜設定することができる。本実施例では、複数の単電池11が電気的に直列に接続されることによって組電池10が構成されているが、組電池10には、電気的に並列に接続された複数の単電池11が含まれていてもよい。単電池11としては、リチウムイオン二次電池などの二次電池を用いることができる。
単電池11の正極は、イオン(例えば、リチウムイオン)を吸蔵および放出できる材料で形成される。正極の材料としては、例えば、コバルト酸リチウムやマンガン酸リチウムを用いることができる。単電池11の負極は、イオン(例えば、リチウムイオン)を吸蔵および放出できる材料で形成される。負極の材料としては、例えば、カーボンを用いることができる。単電池11を充電するとき、正極は、イオンを電解液中に放出し、負極は、電解液中のイオンを吸蔵する。また、単電池11を放電するとき、正極は、電解液中のイオンを吸蔵し、負極は、イオンを電解液中に放出する。
組電池10は、システムメインリレー21a,21bを介して昇圧回路22に接続されており、昇圧回路22は、組電池10の出力電圧を昇圧する。昇圧回路22は、インバータ23と接続されており、インバータ23は、昇圧回路22から出力された直流電力を交流電力に変換する。
モータ・ジェネレータ24は、インバータ23からの交流電力を受けることにより、車両を走行させるための運動エネルギを生成する。モータ・ジェネレータ24によって生成された運動エネルギを車輪に伝達することにより、車両を走行させることができる。モータ・ジェネレータ24としては、三相交流モータを用いることができる。本実施例では、昇圧回路22を用いているが、昇圧回路22を省略することもできる。
車両を減速させるときや、車両を停止させるとき、モータ・ジェネレータ24は、車両の制動時に発生する運動エネルギを電気エネルギ(交流電力)に変換する。モータ・ジェネレータ24で生成された交流電力は、インバータ23によって直流電力に変換される。昇圧回路22は、インバータ23の出力電圧を降圧し、降圧後の電力を組電池10に供給する。これにより、回生電力を組電池10に蓄えることができる。
電流センサ25は、組電池10に流れる電流を検出し、検出結果をコントローラ30に出力する。電流センサ25によって検出される電流に関しては、放電電流を正の値とし、充電電流を負の値とする。
温度センサ26は、組電池10や単電池11の温度を検出し、検出結果をコントローラ30に出力する。温度センサ26の数は、適宜設定することができる。複数の温度センサ26を用いるときには、複数の温度センサ26によって検出された温度の平均値を組電池10や単電池11の温度として用いたり、特定の温度センサ26によって検出された温度を組電池10や単電池11の温度として用いたりすることができる。
監視ユニット27は、組電池10の電圧を検出したり、単電池11の電圧を検出したりし、検出結果をコントローラ30に出力する。ここで、組電池10を構成する複数の単電池11を複数の電池ブロックに分けたとき、監視ユニット27は、各電池ブロックの電圧を検出することができる。各電池ブロックは、電気的に直列に接続された複数の単電池11によって構成されており、複数の電池ブロックが電気的に直列に接続されることにより、組電池10が構成される。
コントローラ30は、システムメインリレー21a,21b、昇圧回路22およびインバータ23の動作を制御する。コントローラ30は、各種の情報を記憶するメモリ31を有する。メモリ31には、コントローラ30を動作させるためのプログラムも記憶されている。本実施例では、メモリ31がコントローラ30に内蔵されているが、コントローラ30の外部にメモリ31を設けることもできる。
コントローラ30には、車両のイグニッションスイッチに関する情報が入力される。コントローラ30は、イグニッションスイッチがオフからオンに切り替わると、システムメインリレー21a,21bをオフからオンに切り替えたり、昇圧回路22およびインバータ23を動作させたりする。また、コントローラ30は、イグニッションスイッチがオンからオフに切り替わると、システムメインリレー21a,21bをオンからオフに切り替えたり、昇圧回路22やインバータ23の動作を停止させたりする。
単電池11は、充放電によって劣化したり、時間の経過とともに劣化したりする。ここで、単電池11の劣化が進行するときには、単電池11の抵抗値が上昇するため、単電池11の抵抗値に基づいて、単電池11の劣化状態を把握することができる。単電池11の劣化には、単電池11を構成する材料(正極や負極など)が摩耗することに伴う劣化(摩耗劣化という)と、単電池11の内部におけるイオン濃度が偏ることに伴う劣化成分(ハイレート劣化)とが含まれる。
ハイレートで単電池11の充電又は放電が継続的に行われると、単電池11の内部抵抗が増加し、単電池11の入出力性能が急激に低下し始める現象が発生することがある。この現象が継続して発生すると、単電池11が劣化してしまうことがある。このような劣化を、ハイレート劣化とよぶ。ハイレート劣化の要因の1つとしては、ハイレートでの充電又は放電が継続的に行われることにより、単電池11の電解液中のイオン濃度が偏ってしまうことが考えられる。ハイレート充電およびハイレート放電では、イオン濃度の偏り状態が相反する状態となる。
摩耗劣化が発生するときには、単電池11の抵抗値が上昇するだけであるが、ハイレート劣化が発生するときには、単電池11の抵抗値が低下することがある。すなわち、ハイレート劣化は、イオン濃度の偏りによって発生するため、イオン濃度の偏りが解消されれば、ハイレート劣化に伴う抵抗値が低下することになる。
イオン濃度の分布が放電側に偏っているとき、単電池11の放電を制限すれば、イオン濃度の分布が放電側に偏るのを抑制でき、放電に伴うハイレート劣化を抑制することができる。また、イオン濃度の分布が充電側に偏っているとき、単電池11の充電を制限すれば、イオン濃度の分布が充電側に偏るのを抑制でき、充電に伴うハイレート劣化を抑制することができる。
このため、イオン濃度の偏りに基づいて、単電池11(組電池10)の充放電を制御すれば、ハイレート劣化を抑制し、ハイレート劣化に伴う抵抗値の上昇を抑制することができる。
ここで、組電池10の充放電を制御する方法について、図2に示すフローチャートを用いて説明する。図2に示す処理は、コントローラ30によって実行され、所定の周期で繰り返して行われる。
ステップS101において、コントローラ30は、組電池10の抵抗増加率(劣化値に相当する)を算出する。抵抗増加率dRは、下記式(1)に基づいて算出することができる。
上記式(1)において、Rcは、現在の組電池10における抵抗値であり、Riniは、初期状態にある組電池10の抵抗値である。初期状態とは、組電池10が劣化していない状態である。初期状態としては、例えば、組電池10を製造した直後の状態が挙げられる。
抵抗値Rc,Riniは、組電池10の電流および電圧を測定することによって算出することができる。組電池10に流れる電流としては、電流センサ25の検出結果を用いることができる。組電池10の電圧としては、監視ユニット27の検出結果を用いることができる。組電池10の電流および電圧を測定したとき、電流および電圧のそれぞれを座標軸とした座標系において、測定した電流および電圧の関係をプロットする。電流および電圧の関係を複数プロットし、複数のプロットに近似する直線を求めれば、近似直線の傾きが抵抗値Rc,Riniとなる。
組電池10が劣化していなければ、組電池10は初期状態のままであり、抵抗値Rcは、抵抗値Riniと等しくなる。このため、抵抗増加率dRは、1となる。一方、組電池10の劣化が進行するほど、抵抗値Rcが上昇し、抵抗値Riniよりも高くなる。このため、抵抗増加率dRは、1よりも大きくなる。このように、抵抗増加率dRを用いることにより、組電池10の劣化状態を評価することができる。
本実施例では、組電池10の抵抗増加率dRを算出しているが、これに限るものではない。具体的には、単電池11や、上述した電池ブロックに関して、抵抗増加率dRを算出することができる。以下の処理では、組電池10の抵抗増加率dRを用いているが、単電池11や電池ブロックの抵抗増加率dRを用いることもできる。
単電池11や電池ブロックの抵抗増加率dRを用いるときには、複数の単電池11における抵抗増加率dRが互いに異なったり、複数の電池ブロックにおける抵抗増加率dRが互いに異なったりすることがある。この場合には、例えば、複数の抵抗増加率dRのうち、最も高い抵抗増加率dRを用いたり、複数の抵抗増加率dRにおける中央値を用いたりすることができる。
ステップS102において、コントローラ30は、ステップS101の処理で算出した抵抗増加率dRが第1閾値dRth_onよりも大きいか否かを判別する。第1閾値dRth_onは、組電池10の充放電を制限する処理を開始させる条件であり、抵抗増加率dRが第1閾値dRth_onよりも大きいときには、組電池10の充放電を制限する処理が開始される。第1閾値dRth_onは、組電池10の抵抗増加率dRに対応した値であり、適宜設定することができる。第1閾値dRth_onに関する情報は、メモリ31に記憶しておくことができる。
抵抗増加率dRが第1閾値dRth_onよりも小さいとき、コントローラ30は、図2に示す処理を終了する。一方、抵抗増加率dRが第1閾値dRth_onよりも大きいとき、コントローラ30は、ステップS103の処理を行う。
本実施例では、抵抗増加率dRを算出し、抵抗増加率dRおよび第1閾値dRth_onを比較しているが、これに限るものではない。具体的には、組電池10(又は単電池11、電池ブロック)の抵抗値を算出し、この抵抗値と、第1閾値dRth_onに対応した閾値とを比較することもできる。この場合において、算出した抵抗値は、本発明における劣化値に相当する。
ここで、抵抗増加率dRは、初期状態にある組電池10の抵抗値Riniと、現在の組電池10の抵抗値Rcとの関係によって規定されるため、組電池10の劣化状態を把握しやすい。すなわち、組電池10の抵抗値自体を監視するよりは、抵抗増加率dRを監視したほうが、組電池10の劣化状態を把握しやすくなる。
ステップS103において、コントローラ30は、組電池10が放電過多の状態であるか否かを判別する。放電過多の状態とは、単電池11の内部におけるイオン濃度分布が、充電側よりも放電側に偏っている状態である。放電過多の状態を判別する方法については、後述する。組電池10が放電過多の状態であるとき、コントローラ30は、ステップS104の処理を行い、組電池10が放電過多の状態ではないとき、コントローラ30は、ステップS105の処理を行う。
ステップS104において、コントローラ30は、組電池10の出力(放電)を制限する処理を行う。具体的には、コントローラ30は、組電池10の出力を許容する上限電力を低下させる。この上限電力は、組電池10の放電制御で用いられ、組電池10の放電電力が上限電力よりも高くならないように、組電池10の放電が制御される。このため、上限電力を低下させることにより、組電池10の出力が制限されることになる。
ここで、上限電力を低下させることには、上限電力を0[kW]に近づかせるだけでなく、上限電力を0[kW]に設定することも含まれる。上限電力を0[kW]に設定したときには、組電池10の放電が行われないことになる。上限電力を低下させる量は、一定量であってもよいし、放電過多の状態に応じて変化させることもできる。ここで、放電過多の状態が進行しているほど、上限電力を低下させる量を増加させることができる。上限電力の低下量と放電過多の状態との対応関係を予め決めておけば、放電過多の状態に対応した低下量を設定することができる。
組電池10の出力を制限することにより、放電過多の状態が進行するのを抑制することができる。すなわち、イオン濃度分布が放電側に偏ることに伴う抵抗値の増加を抑制することができる。ステップS104の処理では、組電池10の出力を制限しているだけであり、組電池10の入力は制限していない。なお、組電池10の入力も制限することができるが、入力の制限量は、出力の制限量よりも少ないことが好ましい。
組電池10の入力を制限しないことにより、組電池10の入力を確保することができる。組電池10が放電過多の状態であるときには、組電池10の入力を確保することにより、イオン濃度分布を充電側に偏らせやすくすることができ、結果として、イオン濃度分布を均一化させることができる。イオン濃度分布を均一化させることにより、イオン濃度分布の偏りに伴う抵抗値を低減でき、抵抗増加率dRを低下させることができる。また、組電池10の入力を確保することにより、充電に関する組電池10の性能が低下してしまうのを抑制することができる。
ステップS105において、コントローラ30は、組電池10が充電過多の状態であるか否かを判別する。充電過多の状態とは、単電池11の内部におけるイオン濃度分布が、放電側よりも充電側に偏っている状態である。充電過多の状態を判別する方法については、後述する。組電池10が充電過多の状態であるとき、コントローラ30は、ステップS106の処理を行い、組電池10が充電過多の状態ではないとき、コントローラ30は、図2に示す処理を終了する。
ステップS106において、コントローラ30は、組電池10の入力(充電)を制限する処理を行う。具体的には、コントローラ30は、組電池10の入力を許容する上限電力を低下させる。この上限電力は、組電池10の充電制御で用いられ、組電池10の充電電力が上限電力よりも高くならないように、組電池10の充電が制御される。このため、上限電力を低下させることにより、組電池10の入力が制限されることになる。
ここで、上限電力を低下させることには、上限電力を0[kW]に近づかせるだけでなく、上限電力を0[kW]に設定することも含まれる。上限電力を0[kW]に設定したときには、組電池10の充電が行われないことになる。上限電力を低下させる量は、一定量であってもよいし、充電過多の状態に応じて変化させることもできる。ここで、充電過多の状態が進行しているほど、上限電力を低下させる量を増加させることができる。上限電力の低下量と充電過多の状態との対応関係を予め決めておけば、充電過多の状態に対応した低下量を設定することができる。
組電池10の入力を制限することにより、充電過多の状態が進行するのを抑制することができる。すなわち、イオン濃度分布が充電側に偏ることに伴う抵抗値の増加を抑制することができる。ステップS106の処理では、組電池10の入力を制限しているだけであり、組電池10の出力は制限していない。なお、組電池10の出力も制限することができるが、出力の制限量は、入力の制限量よりも少ないことが好ましい。
組電池10の出力を制限しないことにより、組電池10の出力を確保することができる。組電池10が充電過多の状態であるときには、組電池10の出力を確保することにより、イオン濃度分布を放電側に偏らせやすくすることができ、結果として、イオン濃度分布を均一化させることができる。イオン濃度分布を均一化させることにより、イオン濃度分布の偏りに伴う抵抗値を低減でき、抵抗増加率dRを低下させることができる。また、組電池10の出力を確保することにより、放電に関する組電池10の性能が低下してしまうのを抑制することができる。
ステップS107において、コントローラ30は、所定時間t0だけ待機する。具体的には、コントローラ30は、組電池10の出力又は入力を制限する処理(ステップS104又はステップS106の処理)を開始したときに、タイマを用いた時間の計測を開始する。そして、コントローラ30は、タイマの計測時間が所定時間t0に到達するまで待機する。
組電池10の出力又は入力を制限する処理を開始した直後では、制限処理に伴う抵抗値(具体的には、抵抗増加率dR)の変化を把握し難い。そこで、ステップS107の処理では、制限処理に伴う抵抗値(具体的には、抵抗増加率dR)の変化を把握し易くするために、制限処理を開始した後に、所定時間t0だけ待つようにしている。所定時間t0の具体的な値は、上述した点を考慮して適宜設定することができる。
ステップS108において、コントローラ30は、下記式(2)に示す条件を満たすか否かを判別する。
上記式(2)に示すdR/dtは、所定時間における抵抗増加率dRの変化、言い換えれば、抵抗増加率dRの変化速度を示す。ここで、上記式(2)の両辺に示す抵抗増加率dRの変化速度について、図3を用いて説明する。上記式(2)の右辺は、図3に示すように、時刻0よりも時間t1だけ前のタイミングから、時刻0までの間における抵抗増加率dRの変化を示す。時刻0において、組電池10の出力又は入力の制限(ステップS104又はステップS106の処理)が開始される。このため、上記式(2)の右辺は、組電池10の出力又は入力が制限される前における抵抗増加率dRの変化速度を示す。
上記式(2)の左辺は、図3に示すように、時刻t0よりも時間t1だけ前のタイミングから、時刻t0までの間における抵抗増加率dRの変化を示す。時刻t0は、ステップS107の処理で説明した所定時間t0に相当する。時刻0から時刻t0までの間では、組電池10の出力又は入力が制限されており、上記式(2)の左辺は、組電池10の出力又は入力が制限された後における抵抗増加率dRの変化速度を示す。上記式(2)の両辺における時間間隔(時間t1)は、同一であるため、上記式(2)では、抵抗増加率dRの変化量を比較していることにもなる。
ステップS108において、制限処理後の変化速度(dR/dt)が制限処理前の変化速度(dR/dt)よりも低いときには、コントローラ30は、ステップS110の処理を行う。組電池10の出力又は入力を制限することにより、放電過多又は充電過多が低減されると、組電池10の抵抗値(抵抗増加率dR)が低下することになる。これにより、制限処理後の変化速度(dR/dt)は、制限処理前の変化速度(dR/dt)よりも低くなる。
一方、制限処理後の変化速度(dR/dt)が制限処理前の変化速度(dR/dt)よりも高いときには、コントローラ30は、ステップS109の処理を行う。ステップS109において、コントローラ30は、組電池10の出力を制限する処理と、組電池10の入力を制限する処理とを切り替える。
具体的には、ステップS104の処理によって、組電池10の出力を制限しているときには、コントローラ30は、ステップS109の処理において、出力の制限を解除するとともに、組電池10の入力を制限する。ここで、出力の制限を解除するとき、コントローラ30は、出力に対応した上限電力を、出力制限(ステップS104の処理)を行う前の状態に戻す。これにより、組電池10の出力が確保されることになる。
一方、ステップS106の処理によって、組電池10の入力を制限しているときには、コントローラ30は、ステップS109の処理において、入力の制限を解除するとともに、組電池10の出力を制限する。ここで、入力の制限を解除するとき、コントローラ30は、入力に対応した上限電力を、入力制限(ステップS106の処理)を行う前の状態に戻す。これにより、組電池10の入力が確保されることになる。
ステップS109の処理を行った後において、コントローラ30は、ステップS107の処理を行い、所定時間t0だけ待機する。そして、ステップS108の処理では、出力制限処理および入力制限処理を切り替えた後において、変化速度(dR/dt)が低下しているか否かを判別する。
ステップS110において、コントローラ30は、下記式(3)の条件を満たすか否かを判別する。
上記式(3)に示す抵抗増加率の変化速度(dR/dt)は、時刻t0よりも時間t2だけ前のタイミングから、時刻t0までの間における抵抗増加率dRの変化である。ここで、時間t2は、時間t1と同じであってもよいし、時間t1と異なっていてもよい。
抵抗増加率の変化速度(dR/dt)が0以下であるとき、コントローラ30は、ステップS112の処理を行い、変化速度(dR/dt)が0よりも高いとき、コントローラ30は、ステップS111の処理を行う。
ステップS111において、コントローラ30は、出力又は入力を制限する量を増加させる。具体的には、組電池10の出力を制限しているとき、コントローラ30は、出力に対応した上限電力を更に0[kW]に近づけることにより、出力の制限量を増加させることができる。また、組電池10の入力を制限しているとき、コントローラ30は、入力に対応した上限電力を更に0[kW]に近づけることにより、入力の制限量を増加させることができる。
出力又は入力の制限量を増加させることにより、組電池10における抵抗増加率dRの増加を抑制でき、抵抗増加率の変化速度(dR/dt)を低下させることができる。ステップS111の処理において、出力又は入力の制限量を増加させた後は、図2に示す処理を終了する。
ステップS112において、コントローラ30は、組電池10の抵抗増加率dRを算出するとともに、算出した抵抗増加率dRが第2閾値dRth_offよりも小さいか否かを判別する。第2閾値dRth_offは、組電池10の入出力の制限を解除するための条件であり、適宜設定することができる。具体的には、第2閾値dRth_offは、第1閾値dRth_onよりも小さくすることができる。また、第2閾値dRth_offに関する情報は、メモリ31に記憶しておくことができる。
抵抗増加率dRが第2閾値dRth_offよりも小さいとき、コントローラ30は、ステップS114の処理を行い、抵抗増加率dRが第2閾値dRth_offよりも大きいとき、コントローラ30は、ステップS113の処理を行う。ステップS113において、コントローラ30は、所定時間t2だけ待機する。具体的には、コントローラ30は、タイマの計測時間が所定時間t2に到達するまで待機する。
所定時間t2だけ待機した後は、ステップS110の処理に戻る。ステップS110の処理において、コントローラ30は、時刻t0から時間t2が経過するまでの間において、抵抗増加率の変化速度(dR/dt)を算出し、変化速度(dR/dt)が0以下であるか否かを判別する。
ステップS114において、コントローラ30は、組電池10の入出力を制限する処理を解除する。具体的には、組電池10の出力を制限しているときには、コントローラ30は、出力に対応した上限電力を、制限処理を行う前の状態に戻す。また、組電池10の入力を制限しているときには、コントローラ30は、入力に対応した上限電力を、制限処理を行う前の状態に戻す。
抵抗増加率dRが第2閾値dRth_offよりも小さいときには、組電池10の入出力を制限する必要が無くなるため、組電池10の入出力を制限する処理を解除している。これにより、組電池10の入出力を制限せずに、組電池10の充放電を行うことができ、組電池10の入出力性能を十分に発揮させることができる。
なお、第2閾値dRth_offは、第1閾値dRth_onと等しくすることもできるが、この場合には、入出力の制限と、制限の解除とが頻繁に繰り返されるおそれがある、制御上のハンチングが発生してしまう。このため、第1閾値dRth_onおよび第2閾値dRth_offは、互いに異なる値を用いることが好ましい。また、入出力の制限を開始した後の抵抗増加率dRの挙動を考慮すれば、上述したように、第2閾値dRth_offは、第1閾値dRth_onよりも小さくすることが好ましい。
本実施例によれば、図4および図5に示すように、組電池10の抵抗増加率dRが、イオン濃度の偏りに伴って上昇したときに、抵抗増加率dRを低下させることができる。図4および図5に示すように、抵抗増加率dRが第1閾値dRth_onに到達したときには、組電池10の出力又は入力を制限する処理が開始される。
図4は、組電池10の入出力の制限が充放電過多の状態に対応しているときの抵抗増加率dRの変化を示す。具体的には、組電池10が放電過多の状態にあるときには、組電池10の出力が制限されており、組電池10が充電過多の状態にあるときには、組電池10の入力が制限されている。
図4において、点線は、組電池10の入出力を制限しないときの抵抗増加率dRの変化を示しており、実線は、図2に示す処理を行ったときの抵抗増加率dRの変化を示している。図2に示す処理を行わないときには、点線で示すように、イオン濃度の偏り等に応じて、抵抗増加率dRが上昇し続け、上限値dRlimに到達してしまう。
上限値dRlimは、抵抗増加率dRの上昇を許容することができる上限値であり、組電池10の寿命などを考慮して、適宜設定することができる。抵抗増加率dRが上限値dRlimに到達したときには、組電池10の充放電が行われないことになる。すなわち、組電池10を交換する必要がある。なお、上限値dRlimに関する情報は、メモリ31に記憶しておくことができる。
図4に示す場合には、抵抗増加率dRが第1閾値dRth_onよりも一次的に大きくなるものの、組電池10の出力又は入力を制限することにより、抵抗増加率dRを低下させることができる。ここで、抵抗増加率dRが第2閾値dRth_offよりも小さくなったときには、組電池10の出力又は入力の制限が解除される。
図5は、組電池10の入出力の制限が充放電過多の状態に対応していないときの抵抗増加率dRの変化を示す。具体的には、組電池10が放電過多の状態にあるときには、組電池10の入力が制限され、組電池10の出力が制限されていないときの抵抗増加率dRの変化を示す。また、組電池10が充電過多の状態にあるときには、組電池10の出力が制限され、組電池10の入力が制限されていないときの抵抗増加率dRの変化を示す。
図5において、点線は、組電池10の入出力を制限しないときの抵抗増加率dRの変化を示しており、実線は、図2に示す処理を行うときの抵抗増加率dRの変化を示している。
入出力の制限と充放電過多の状態とが対応していない状態において、組電池10の入出力を制限すると、図5に示すように、抵抗増加率dRが上昇しやすくなる。すなわち、組電池10の入力又は出力を制限した後における抵抗増加率dR(実線)は、組電池10の入出力を制限しないときの抵抗増加率dR(点線)よりも高くなってしまう。
ここで、本実施例では、ステップS108の処理において、制限処理の前後における変化速度(dR/dt)を比較しており、制限処理後の変化速度(dR/dt)が制限処理前の変化速度(dR/dt)よりも高いときには、出力の制限処理および入力の制限処理を切り替えている。これにより、入出力の制限を充放電過多の状態に対応させることができ、図5に示すように、抵抗増加率dRを低下させることができる。
ここで、本実施例のように、出力の制限処理および入力の制限処理を切り替えないと、図6に示すように、抵抗増加率dRの上昇を促進してしまう。また、ステップS107の処理で用いられる時間t0は、図5に示すように、点線で示す抵抗増加率dRが上限値dRlimに到達するまでの時間よりも短くしておく必要がある。さらに、図6の実線に示す抵抗増加率dRの変化も考慮して、時間t0を設定する必要がある。図5の点線で示す抵抗増加率dRの挙動や、図6の実線で示す抵抗増加率dRの挙動を予め特定しておけば、時間t0を特定することができる。
本実施例によれば、組電池10の出力又は入力を制限したときに、制限の前後における抵抗増加率の変化速度(dR/dt)を比較することにより、抵抗増加率dRの上昇を抑制できているか否かを確認することができる。そして、確認した結果を踏まえて、出力および入力のいずれを制限したらよいかを決定することができる。これにより、抵抗増加率dRを確実に低下させることができる。
本実施例では、組電池10の放電過多又は充電過多を判別した後に、組電池10の出力又は入力を制限しているが、これに限るものではない。具体的には、組電池10の放電過多又は充電過多を判別せずに、抵抗増加率dRが第1閾値dRth_onよりも高くなったときに、組電池10の出力および入力の一方を制限することができる。
ここで、出力制限および入力制限のいずれを行うかは、予め設定しておくことができる。組電池10の出力を用いて車両を走行させているときには、イオン濃度分布が放電側に偏りやすいことがある。この場合には、抵抗増加率dRが第1閾値dRth_onよりも高くなったときに、まず、組電池10の出力を制限することができる。
一方、外部電源からの電力を組電池10に供給して、組電池10を充電するときには、イオン濃度分布が充電側に偏りやすいことがある。この場合には、抵抗増加率dRが第1閾値dRth_onよりも高くなったときに、まず、組電池10の入力を制限することができる。ここで、外部電源とは、図1に示す電池システムとは別に設けられた電源であり、外部電源としては、例えば、商用電源がある。
外部電源が交流電力を供給するときには、外部電源からの交流電力を直流電力に変換し、直流電力を組電池10に供給する充電器を設ければよい。充電器は、図1に示す電池システムに追加してもよいし、図1に示す電池システムとは別に設けてもよい。
そして、ステップS108の処理において、抵抗増加率の変化速度(dR/dt)が低下しているか否かを判別し、変化速度(dR/dt)が低下しているときには、入力又は出力の制限を続けることになる。一方、変化速度(dR/dt)が上昇しているときには、ステップS109の処理において、出力制限および入力制限を切り替えることになる。この場合であっても、本実施例と同様に、抵抗増加率dRの上昇を抑制することができる。
次に、組電池10の放電過多又は充電過多を判別する処理について説明する。ここでは、2つの方法について説明するが、これに限るものではなく、単電池11におけるイオン濃度の偏りを推定することができれば、いかなる方法であってもよい。
第1の方法としては、まず、電流センサ25を用いて、組電池10を充電しているときの電流と、組電池10を放電しているときの電流とを取得する。そして、下記式(4)に示すように、比率kを算出する。
上記式(4)において、Icは、組電池10を充電しているときの電流値であり、Idは、組電池10を放電しているときの電流値である。上記式(4)に示すように、充電電流Icおよび放電電流Idの比率を算出することにより、イオン濃度分布が放電側および充電側のいずれに偏っているかを判別することができる。すなわち、充電電流Icが放電電流Idよりも大きければ、イオン濃度分布が充電側に偏っていると判別することができる。また、放電電流Idが充電電流Icよりも大きければ、イオン濃度分布が放電側に偏っていると判別することができる。
上記式(4)では、充電電流Icを二乗した値と、放電電流Idを二乗した値との比率kを算出しているが、これに限るものではなく、充電電流Icおよび放電電流Idの比率を算出するだけでもよい。ただし、充電電流Icや放電電流Idを二乗した値を用いることにより、充電電流Icを二乗した値と、放電電流Idを二乗した値との差を広げることができ、イオン濃度分布の偏りを確認し易くなる。
放電過多および充電過多を判別する第2の方法について、図7Aおよび図7Bに示すフローチャートを用いて説明する。第2の方法では、後述するように、イオン濃度の偏りを評価するための評価値を規定し、この評価値に基づいて、組電池10が放電過多および充電過多のいずれであるかを判別するようにしている。
図7Aおよび図7Bに示す処理は、予め設定された時間間隔(サイクルタイム)で繰り返して行われる。図7Aおよび図7Bに示す処理は、コントローラ30によって実行される。
ステップS201において、コントローラ30は、電流センサ25の出力に基づいて、放電電流を取得する。組電池10を放電しているときには、放電電流が正の値になり、組電池10を充電しているときには、放電電流が負の値になる。
ステップS202において、コントローラ30は、ステップS201の処理で得られた放電電流に基づいて、組電池10、単電池11又は、上述した電池ブロックのSOC(State Of Charge)を算出(推定)する。SOCは、満充電容量に対する、現在の充電容量の割合である。コントローラ30は、組電池10を充放電したときの電流を積算することにより、組電池10、単電池11又は電池ブロックのSOCを算出することができる。組電池10を充放電したときの電流は、電流センサ25の出力から取得することができる。
一方、監視ユニット27の検出電圧から、組電池10、単電池11又は電池ブロックのSOCを推定することもできる。SOCは、OCV(Open Circuit Voltage)と対応関係があるため、SOCおよびOCVの対応関係を予め求めておけば、OCVからSOCを特定することができる。OCVは、監視ユニット27の検出電圧(CCV:Closed Circuit Voltage)と、組電池10、単電池11又は電池ブロックの内部抵抗による電圧降下量とから求めることができる。なお、SOCの算出方法は、本実施例で説明する方法に限るものではなく、公知の方法を適宜選択することができる。
ステップS203において、コントローラ30は、温度センサ26の出力信号に基づいて、組電池10、単電池11又は電池ブロックの温度を取得する。ステップS204において、コントローラ30は、ステップS202の処理で算出したSOCと、ステップS203の処理で取得した温度とに基づいて、忘却係数を算出する。忘却係数は、単電池11の電解液中のイオンの拡散速度に関する係数である。忘却係数は、下記式(5)の条件を満たす範囲内で設定される。
上記式(5)において、Aは、忘却係数を示し、Δtは、図7Aおよび図7Bに示す処理を繰り返して行うときのサイクルタイムを示す。忘却係数Aは、組電池10、単電池11又は電池ブロックに対応した値を用いることができる。
例えば、コントローラ30は、図8に示すマップを用いて、忘却係数Aを特定することができる。図8において、縦軸は忘却係数Aであり、横軸は温度である。図8に示すマップは、実験等によって予め取得することができ、メモリ31に記憶しておくことができる。
図8に示すマップにおいて、ステップS202の処理で取得したSOCと、ステップS203の処理で取得した温度とを特定することにより、忘却係数Aを特定することができる。イオンの拡散速度が速いほど、忘却係数Aが大きくなる。図8に示すマップでは、温度が同じであれば、SOCが高いほど、忘却係数Aが大きくなる。また、SOCが同じであれば、温度が高くなるほど、忘却係数Aが大きくなる。
ステップS205において、コントローラ30は、評価値の減少量D(−)を算出する。評価値D(N)は、組電池10、単電池11又は電池ブロックの劣化状態(後述するハイレート劣化)を評価する値である。
単電池11のハイレート劣化が進行したときには、単電池11(組電池10)の充放電を抑制する必要がある。すなわち、単電池11(組電池10)の充放電を抑制しないと、単電池11のハイレート劣化が進行してしまう。本実施例では、ハイレート劣化を評価するための値として、評価値D(N)を設定している。評価値D(N)の算出方法については、後述する。
評価値の減少量D(−)は、前回(直前)の評価値D(N−1)を算出したときから、1回のサイクルタイムΔtが経過するまでの間において、イオンの拡散に伴うイオン濃度の偏りの減少に応じて算出される。例えば、コントローラ30は、下記式(6)に基づいて、評価値の減少量D(−)を算出することができる。
上記式(6)において、AおよびΔtは、上記式(5)と同様である。D(N−1)は、前回(直前)に算出された評価値を示す。初期値としてのD(0)は、例えば、0とすることができる。
上記式(5)に示すように、「A×Δt」の値は、0から1までの値である。したがって、「A×Δt」の値が1に近づくほど、評価値の減少量D(−)が大きくなる。言い換えれば、忘却係数Aが大きいほど、又は、サイクルタイムΔtが長いほど、評価値の減少量D(−)が大きくなる。なお、減少量D(−)の算出方法は、本実施例で説明した方法に限定されるものではなく、イオン濃度の偏りの減少を特定することができる方法であればよい。
ステップS206において、コントローラ30は、メモリ31に予め記憶された電流係数を読み出す。ステップS207において、コントローラ30は、ステップS202の処理で算出されたSOCと、ステップS203の処理で取得した温度とに基づいて、限界値を算出する。
例えば、コントローラ30は、図9に示すマップを用いて、限界値を算出することができる。図9に示すマップは、実験等によって予め取得することができ、メモリ31に記憶しておくことができる。図9において、縦軸は限界値であり、横軸は温度である。図9に示すマップにおいて、ステップS202の処理で取得したSOCと、ステップS203の処理で取得した温度とを特定することにより、限界値を特定することができる。
図9に示すマップでは、温度が同じであれば、SOCが高いほど、限界値が大きくなる。また、SOCが同じであれば、温度が高いほど、限界値が大きくなる。
ステップS208において、コントローラ30は、評価値の増加量D(+)を算出する。評価値の増加量D(+)は、前回(直前)の評価値D(N−1)を算出したときから、1回のサイクルタイムΔtが経過するまでの間において、放電に伴うイオン濃度の偏りの増加に応じて算出される。例えば、コントローラ30は、下記式(7)に基づいて、評価値の増加量D(+)を算出することができる。
上記式(7)において、Bは、電流係数を示し、ステップS206の処理で取得した値が用いられる。Cは、限界値を示し、ステップS207の処理で取得した値が用いられる。電流係数Bおよび限界値Cは、組電池10又は単電池11に対応した値が用いられる。Iは、放電電流を示し、ステップS201の処理で取得した値が用いられる。Δtは、サイクルタイムである。
上記式(7)から分かるように、放電電流Iが大きいほど、又は、サイクルタイムΔtが長いほど、評価値の増加量D(+)は大きくなる。なお、増加量D(+)の算出方法は、本実施例で説明した算出方法に限定されるものではなく、イオン濃度の偏りの増加を特定することができる方法であればよい。
ステップS209において、コントローラ30は、今回のサイクルタイムΔtにおける評価値D(N)を算出する。評価値D(N)は、下記式(8)に基づいて算出することができる。
上記式(8)において、D(N)は、今回のサイクルタイムΔtにおける評価値であり、D(N−1)は、前回(直前)のサイクルタイムΔtにおける評価値である。初期値としてのD(0)は、例えば、0に設定することができる。D(−)およびD(+)は、評価値Dの減少量および増加量をそれぞれ示し、ステップS205,S208の処理で算出された値が用いられる。
評価値D(N)を算出したとき、コントローラ30は、算出した評価値D(N)をメモリ31に記憶する。評価値D(N)をメモリ31に記憶することにより、評価値D(N)の変化を監視することができる。
本実施例では、上記式(8)に表すように、イオン濃度の偏りの増加(増加量D(+))と、イオン濃度の偏りの減少(減少量D(−))とを考慮して、評価値D(N)を算出することができる。これにより、ハイレート劣化の要因と考えられるイオン濃度の偏りの変化(増減)を、評価値D(N)に適切に反映させることができる。したがって、ハイレート劣化の生じる状態にどの程度近づいているのかを、評価値D(N)に基づいて把握することができる。ここで、評価値D(N)としては、組電池10、単電池11および電池ブロックのいずれかに対応した評価値D(N)を用いることができる。
ステップS210において、コントローラ30は、ステップS209の処理で算出した評価値D(N)が予め定められた目標値Dtar(−)よりも小さいか否かを判別したり、評価値D(N)が予め定められた目標値Dtar(+)よりも大きいか否かを判別したりする。すなわち、コントローラ30は、評価値D(N)の絶対値が、目標値Dtar(−),Dtar(+)の絶対値よりも大きいか否かを判別する。
目標値Dtar(−)は、充電によるハイレート劣化が発生し始める評価値D(N)よりも小さい値に設定され、予め設定しておくことができる。また、目標値Dtar(+)は、放電によるハイレート劣化が発生し始める評価値D(N)よりも小さい値に設定され、予め設定しておくことができる。評価値D(N)の絶対値が、目標値Dtar(−),Dtar(+)の絶対値よりも大きければ、ステップS211の処理に進み、そうでなければ、図7Aおよび図7Bに示す処理を終了する。
本実施例では、図10に示すように、目標値Dtar(−)は、評価値D(N)のマイナス側において設定されており、目標値Dtar(+)は、評価値D(N)のプラス側において設定されている。図10は、評価値D(N)の変化(一例)を示す図である。
ステップS211において、コントローラ30は、評価値D(N)の積算を行う。具体的には、図10に示すように、評価値D(N)が目標値Dtar(−)よりも小さいとき、評価値D(N)のうち、目標値Dtar(−)よりも小さい部分(図10のハッチング領域)について、積算を行う。評価値D(N)が目標値Dtar(−)よりも小さくなるたびに、積算処理が行われる。評価値D(N)が目標値Dtar(−)よりも小さいときには、評価値D(N)および目標値Dtar(−)の差分が積算される。ここでの評価値D(N)は、負の値であるため、積算値も負の値となる。
一方、評価値D(N)が目標値Dtar(+)よりも大きいとき、評価値D(N)のうち、目標値Dtar(+)よりも大きい部分(図10のハッチング領域)について、積算を行う。評価値D(N)が目標値Dtar(+)よりも大きくなるたびに、積算処理が行われる。評価値D(N)が目標値Dtar(+)よりも大きいときには、評価値D(N)および目標値Dtar(+)の差分が積算される。ここでの評価値D(N)は、正の値であるため、積算値も正の値となる。
本実施例では、下記式(9)に基づいて、積算値ΣDex(N)が算出される。
上記式(9)において、t_totalは、積算値ΣDex(N)を算出し始めたときから今回のサイクルタイムまでの時間(合計時間)である。t-は、評価値D(N)が目標値Dtar(−)よりも小さくなっている時間(合計時間)であり、t+は、評価値D(N)が目標値Dtar(+)よりも大きくなっている時間(合計時間)である。ΣDex-(N−1)は、前回までのサイクルタイムにおいて、負の値である評価値D(N)および目標値Dtar(−)の差分を積算した値である。ΣDex+(N−1)は、前回までのサイクルタイムにおいて、正の値である評価値D(N)および目標値Dtar(+)の差分を積算した値である。
積算値ΣDex(N)を算出したとき、コントローラ30は、算出した積算値ΣDex(N)をメモリ31に記憶する。積算値ΣDex(N)をメモリ31に記憶することにより、次回の評価値D(N+1)が目標値Dtar(+)よりも大きくなったり、目標値Dtar(−)よりも小さくなったりしたときに、積算値ΣDex(N)を更新することができる。
本実施例では、上記式(9)を用いて、積算値ΣDex(N)を算出しているが、これに限るものではない。例えば、評価値D(N)が各目標値Dtar(−),Dtar(+)を超えるたびに、評価値D(N)および各目標値Dtar(−),Dtar(+)の差分を積算するだけでもよい。すなわち、各積算値ΣDex-(N−1),ΣDex+(N−1)を求めて、これらの積算値ΣDex-(N−1),ΣDex+(N−1)を単に加算するだけでもよい。
また、本実施例では、評価値D(N)および各目標値Dtar(−),Dtar(+)の差分を積算しているが、これに限るものではない。具体的には、評価値D(N)が各目標値Dtar(−),Dtar(+)を超えるたびに、この評価値D(N)自体を積算することもできる。
ステップS212において、コントローラ30は、積算値ΣDex(N)が放電閾値Dthdよりも大きいか否かを判別する。放電閾値Dthdは、単電池11の内部におけるイオン濃度分布が放電側に偏っているか否かを判別するために用いられ、適宜設定することができる。例えば、放電閾値Dthdは、0よりも大きい値に設定することができ、放電閾値Dthdに関する情報は、メモリ31に記憶することができる。
積算値ΣDex(N)が放電閾値Dthdよりも大きいとき、コントローラ30は、ステップS213において、単電池11の内部におけるイオン濃度分布が放電側に偏っていると判別する。すなわち、コントローラ30は、組電池10が放電過多の状態であると判別する。一方、積算値ΣDex(N)が放電閾値Dthdよりも小さいとき、コントローラ30は、イオン濃度分布が放電側に偏っていないと判別し、ステップS214の処理に進む。
ステップS214において、コントローラ30は、積算値ΣDex(N)が充電閾値Dthcよりも小さいか否かを判別する。充電閾値Dthcは、単電池11の内部におけるイオン濃度分布が充電側に偏っているか否かを判別するために用いられ、適宜設定することができる。例えば、充電閾値Dthcは、0よりも小さい値に設定することができ、充電閾値Dthcに関する情報は、メモリ31に記憶することができる。ここで、放電閾値Dthdおよび充電閾値Dthcを同一の値とすることもできるが、この場合には、放電過多および充電過多の判別が頻繁に切り替わってしまうおそれがあり、制御上のハンチングが発生してしまう。
積算値ΣDex(N)が充電閾値Dthcよりも小さいとき、コントローラ30は、ステップS215において、単電池11の内部におけるイオン濃度分布が充電側に偏っていると判別する。すなわち、コントローラ30は、組電池10が充電過多の状態であると判別する。一方、積算値ΣDex(N)が充電閾値Dthcよりも大きいとき、コントローラ30は、イオン濃度分布が充電側に偏っていないと判別し、図7Aおよび図7Bに示す処理を終了する。