以下、この発明の実施の形態について図面を参照して詳しく説明する。なお、図中同一符号は同一または相当部分を示し、説明は繰返さない。
[実施の形態に従う車両の構成]
図1は、この発明の実施の形態に従う電池システムが搭載された車両の構成を説明するブロック図である。
図1を参照して、ハイブリッド車両は、バッテリパックBPと、システムメインリレーSMRと、充放電部19と、エンジンENGと、制御装置15と、エアコン150と、充電器146と、インレット147とを含む。
インレット147には、外部電源149につながっている充電プラグ148が接続される。バッテリパックBPは、電池200と、温度センサ142と、電流センサ143と、電圧監視部DVとを含む。
充放電部19は、電池200の充放電を行なう。充放電部19は、PCU(Power Control Unit)20と、モータジェネレータMG1,MG2と、動力分割機構PGとを含む。
電池200は、直流電源であり、たとえばニッケル水素電池やリチウムイオン電池等の二次電池を含む。電池200は、直流電圧をPCU20へ供給するとともに、PCU20からの直流電圧によって充電される。
制御装置15へは、運転状況・車両状況を示す各種センサからのセンサ出力17が入力される。センサ出力17には、アクセルペダルに配置された位置センサによって検出されるアクセル踏込み量に応じたアクセル開度や、車輪速度センサ出力等が含まれる。制御装置15は、入力されたこれらのセンサ出力に基づき、ハイブリッド車両に関する種々の制御を統括的に行なう。
エンジンENGと、モータジェネレータMG1,MG2とは動力分割機構PGを介して機械的に連結される。そして、ハイブリッド車両の走行状況に応じて、動力分割機構を介して上記3者の間で駆動力の配分および結合が行なわれ、その結果として駆動輪が駆動される。
なお、モータジェネレータMG1,MG2は、発電機としても電動機としても機能し得るが、モータジェネレータMG1が、主として発電機として動作し、モータジェネレータMG2が、主として電動機として動作する。
詳細には、モータジェネレータMG1は、加速時において、エンジンを始動する電動機として用いられる。このとき、モータジェネレータMG1は、電池200からの電力の供給を受けて電動機として駆動し、クランク軸を回転させエンジンを始動する。
さらに、エンジンの始動後において、モータジェネレータMG1は、動力分割機構PGを介して伝達されたエンジンの駆動力によって回転されて発電する。
モータジェネレータMG2は、電池200に蓄えられた電力およびモータジェネレータMG1の発電した電力の少なくともいずれか一方によって駆動される。モータジェネレータMG2の駆動力は、差動ギヤ等を介して駆動軸に伝達される。これにより、モータジェネレータMG2は、エンジンをアシストして車両を走行させたり、自己の駆動力のみによって車両を走行させたりする。
また、車両の回生制動時には、モータジェネレータMG2は、駆動輪の回転力により駆動されて発電機として動作する。このとき、モータジェネレータMG2により発電された回生電力は、PCU20を介して電池200に充電される。
PCU20は、モータジェネレータMG1,MG2の力行動作時には、制御装置15からの制御指示に従って、電池200からの直流電圧を昇圧するとともに、その昇圧した直流電圧を交流電圧に変換して、動力出力装置30に含まれるモータジェネレータMG1,MG2を駆動制御する。
また、PCU20は、モータジェネレータMG1,MG2の回生制動時には、制御装置15からの制御指示に従って、モータジェネレータMG1,MG2の発電した交流電圧を直流電圧に変換して電池200を充電する。
このように、ハイブリッド車両では、電池200と、PCU20と、制御装置15のうちのPCU20を制御する部分とによって、モータジェネレータMG1,MG2を駆動制御する電源装置が構成される。
PCU20は、コンバータ110と、平滑コンデンサ120と、モータジェネレータMG1,MG2にそれぞれ対応するモータ駆動装置131,132と、コンバータ/インバータ制御部140とを含む。この実施の形態では、交流モータであるモータジェネレータMG1,MG2が駆動制御されるので、モータ駆動装置131,132はインバータで構成される。以下では、モータ駆動装置131,132をインバータ131,132と称する。
制御装置15は、各種センサ出力17に基づき、エンジンENGとの出力配分等を考慮したモータジェネレータMG1,MG2への要求トルクを決定する。さらに、制御装置15は、モータジェネレータMG1,MG2の動作状態に応じて、最適なモータ動作電圧を算出する。
制御装置15は、さらに、要求トルクおよび最適モータ動作電圧と、電圧監視部DVからの直流電圧VB1〜VBnとに基づいて、モータ動作電圧Vmの電圧指令値VmrおよびモータジェネレータMG1,MG2でのトルク指令値Trefを生成する。電圧指令値Vmrおよびトルク指令値Trefは、コンバータ/インバータ制御部140へ与えられる。
コンバータ/インバータ制御部140は、制御装置15からの電圧指令値Vmrに従って、コンバータ110の動作を制御するコンバータ制御信号Scnvを生成する。また、コンバータ/インバータ制御部140は、制御装置15からのトルク指令値Trefに従って、インバータ131,132の動作をそれぞれ制御するインバータ制御信号Spwm1,Spwm2を生成する。
図2は、図1のバッテリパックBPの構成を示した回路図である。
図2を参照して、バッテリパックBPは、電池200と、電圧監視部DVと、温度センサ142と、電流センサ143とを含む。電池200は、直列に接続された電池ブロックBU1〜BUnを含む。電池ブロックBU1〜BUnの各々は、直列に接続された複数の電池セル201〜205を含む。
電圧監視部DVは、電池ブロックBU1〜BUnにそれぞれ対応して設けられる電圧監視部DV1〜DVnを含む。
電圧監視部DV1は、直列に接続された複数の電池セル201〜205の両端の電圧VB1を検出する電圧センサ227を含む。なお、電圧監視部DV1は、図示しないが、各セルの電圧と過電圧に対応するしきい値とを比較する比較回路を含んでいても良い。
電圧監視部DV2〜DVnは、電圧監視部DV1と同様な構成を有し、それぞれ電圧VB2〜VBnを出力する。温度センサ142は、電池ブロックの温度TBを検出する。また電流センサ143は、電池200に流れる電流IBを検出する。温度TBと、電流IBとは図1の制御装置15に向けて出力される。
[実施の形態1]
実施の形態1では、図1の制御装置によって過放電セルの発生を精度良く検出する処理を行なう。
図2に示したように、複数個の電池セルを直列に接続し電池ブロックを構成して使用する場合、深い放電を行なうと、容量の低い電池が逆充電されて転極が発生することがある。転極が発生した電池セルでは、たとえばニッケル水素電池の場合では、セル電圧が1.2Vから−0.2V程度に急変する。このとき後に図6で説明するように、電池ブロックBU1〜BUnのうち過放電による転極が発生したブロックは他のブロックの電圧とは異なる電圧の変化を示すので、隣接する電池ブロックとの電圧差も急変する。
そして転極が発生した電池セルは外部から強制充電を行なうと、逆充電も解消しセル電圧が速やかに1.2V程度に復帰する。
そこで実施の形態1では、放電時に、隣接する電池ブロックの電圧間の電圧差が急変したことと、電圧差の大きさが所定値を超えたこととを同時に見ることによって仮異常と判定し、さらに、仮異常時に強制充電を行なうことによって電圧差が元に戻るようであれば、過放電セル発生という異常診断を確定させる。
図3は、実施の形態1において図1の制御装置15で実行される過放電セルの診断に関する処理を説明するためのフローチャートである。
図3を参照して、処理が開始されると、まずステップS10において隣接する電池ブロックの電圧差の変化率が判定され、フラグF1のON/OFFが決定される。
続いて、ステップS20において隣接する電池ブロックの電圧差の判定が行なわれ、フラグF2のON/OFFが決定される。
図4は、図3のステップS10の処理の詳細を説明するためのフローチャートである。
図4を参照して、電圧差変化率判定処理が開始されると、ステップS11において電圧差変化率(V/sec)がしきい値以上であるか否かが判断される。ここで電圧差とは、隣接する電池ブロックの電圧の差を示す。具体的には、電圧差は、図2におけるVB1−VB2、VB2−VB3、・・・、VB(n−1)−VBnの各々の値である。そして電圧差の変化率とは、時間当たりの電圧差の変化である。具体的には、電圧差の変化率は(VB1−VB2)/dt、(VB2−VB3)/dt、・・・、(VB(n−1)−VBn)/dtである。
ステップS11において、電圧差変化率(V/sec)のいずれかがしきい値以上であった場合には、ステップS12に処理が進む。ステップS12では、検出カウンタ(カウント値をC1とする)が1加算される。
一方で、ステップS11において電圧差変化率(V/sec)のいずれもがしきい値以上ではなかった場合には、ステップS15に処理が進む。ステップS15に処理が進むと、カウント値C1はゼロにクリアされ、フラグF1はOFF状態にセットされ、さらにステップS16において制御は図3のフローチャートに戻される。
ステップS12においてカウント値C1が加算された後には、ステップS13においてカウント値C1がしきい値よりも大きいか否かが判断される。実際には、ステップS13では、電圧差変化率がしきい値よりも大きい状態がある時間継続したかを判断することになる。
ステップS13においてカウント値C1がしきい値よりも大きい場合には、ステップS14に処理が進みフラグF1はON状態に設定され、その後ステップS16に処理が進む。一方、ステップS13においてカウント値C1がしきい値以下である場合には、ステップS14の処理は実行されず、フラグF1の状態は変更されずにステップS16に処理が進む。ステップS16では、制御は図3のフローチャートに戻される。
このように、図3のステップS10の処理では、隣接する電池ブロックの電圧差の変化率がそれぞれ制御装置15において計算され、そしていずれかの電圧差の変化率がしきい値以上となった時間が所定時間継続した場合にフラグF1がON状態に設定される。また、電圧差の変化率がいずれもしきい値未満となると、フラグF1はOFF状態に設定される。
図5は、図3のステップS20の処理の詳細を説明するためのフローチャートである。
図5を参照して、電圧差判定処理が開始されると、ステップS21において電圧差(V)がしきい値以上であるか否かが判断される。ここで電圧差とは、隣接する電池ブロックの電圧の差を示す。具体的には、電圧差は、図2におけるVB1−VB2、VB2−VB3、・・・、VB(n−1)−VBnの各々の値である。
ステップS21において、電圧差(V)のいずれかがしきい値VT以上であった場合には、ステップS22に処理が進む。ステップS22では、検出カウンタ(カウント値をC2とする)が1加算される。
一方で、ステップS21において電圧差(V)のいずれもがしきい値VT以上ではなかった場合には、ステップS25に処理が進む。ステップS25に処理が進むと、カウント値C2はゼロにクリアされ、フラグF2はOFF状態にセットされ、さらにステップS26において制御は図3のフローチャートに戻される。
ステップS22においてカウント値C2が加算された後には、ステップS23においてカウント値C2がしきい値よりも大きいか否かが判断される。実際には、ステップS23では、電圧差がしきい値VTよりも大きい状態がある時間継続したかを判断することになる。
ステップS23においてカウント値C2がしきい値よりも大きい場合には、ステップS24に処理が進みフラグF2がON状態に設定され、その後ステップS26に処理が進む。一方、ステップS23においてカウント値C2がしきい値以下である場合には、ステップS24の処理は実行されず、フラグF2の状態は変更されずにステップS26に処理が進む。ステップS26では、制御は図3のフローチャートに戻される。
このように、図3のステップS20の処理では、隣接する電池ブロックの電圧差がそれぞれ制御装置15において計算され、そしていずれかの電圧差がしきい値VT以上となった時間が所定時間継続した場合にフラグF2がON状態に設定される。また、電圧差がいずれもしきい値VT未満となると、フラグF2はOFF状態に設定される。
再び図3を参照して、ステップS10,S20の処理によってフラグF1,F2が決定されると、ステップS40に処理が進む。ステップS40ではフラグF1=ON、かつF2=ONという条件が満たされているか否かが判断される。
ステップS40の条件が成立した場合にはステップS41に処理が進み、ステップS40の条件が成立しない場合にはステップS47に処理が進む。ステップS41では過放電仮異常フラグFTがON状態に設定される。一方で、ステップS47では、過放電仮異常フラグFTがON状態に設定される。
ステップS41において過放電仮異常フラグFTがON状態に設定された場合には、ステップS42に処理が進み、制御装置15は電池200の強制充電を開始する。強制充電は、図1のエンジンENGを使用してモータジェネレータMG1によって発電を行ない、発電された電力によって行なわれる。なお、インレット147に充電プラグ148が挿入されている状態であれば、充電器146によって強制充電を行なっても良い。そして、ステップS42ではさらに、制御装置15は充電電流IBを積算し強制充電を行なっている際の充電量を算出する。
続いて、ステップS43において、制御装置15は、電池電流IBを積算することによって充電量がしきい値以上となったか否かを判断する。そして、ステップS43において充電量がしきい値以上になった場合にはステップS44に処理が進み、制御装置15は電圧差がしきい値以内に戻ったか否かを判断する。
ステップS44において電圧差がしきい値以内に戻った場合には、ステップS45に処理が進み、制御装置15は過放電セル有りの診断を確定させる。
図6は、過放電セルが発生した場合に図3に示す制御を行なった際の電圧差の変化を示した波形図である。
図6を参照して、走行中等、電池負荷が大きくある程度の充放電電流が流れている場合について説明する。図6の上段には、隣り合う電池ブロックの電圧VB(m−1)、VBmが示されており、図6の下段には、隣り合う電池ブロックの電圧差ΔVBm=(VBm−VB(m−1))が示されている。
時刻t1〜t2においてセルの過放電により転極が発生すると、過放電セルを含む電池ブロックの電圧VBm−1が急激に減少し、電池ブロック間の電圧差ΔVBmが一気に増加する。この時刻t1〜t2の時間は、非常に短時間でありたとえば1秒以下の時間である。
この電圧差ΔVBmが増加する挙動を、電圧差ΔVBmの変化率を変化率判定のしきい値と比較することによって(図4のステップS11)判定し、フラグF1をON状態に変化させる。
さらに、この電圧差ΔVBmが増加する挙動を、しきい値VTと電圧差ΔVBmとを比較することによって(図5のステップS21)検出し、フラグF2をON状態に変化させる。
電圧差ΔVBmの変化率と電圧差ΔVBmとの両方が、それぞれ対応するしきい値よりも大きい状態が所定の時間経過したら、フラグF1およびF2が両方ON状態となるので、時刻t3において強制充電が開始される(図3のステップS42)。このように、転極による電圧差の拡大状態が一定時間継続した後に、強制的な充電が実行される。すると時刻t3〜t4に示すように充電によって電圧差ΔVBmはただちに元に戻るので、転極による過放電であったことが分かり、過放電セルが発生していたという診断を確定させる(図3のステップS45)。
なお、電圧差ΔVBmは、電流と温度の依存性を持つので、電池温度TBと電流IBからマップを参照することにより決定すると良い。
図7は、低温時の温度バラツキによる電圧差の挙動を示した波形図である。
電池セルの過放電検出には電池ブロックの電圧差ΔVBmを利用するが、低温時に発生する組電池の温度バラツキによって過放電の誤検出がされがちであった。図7は、過放電の誤検出を起こしやすい参考例である。しかし図6と図7とを比較すると、過放電セルによる電圧差ΔVBmと低温時による温度バラツキによる電圧差ΔVBmとでは電圧差が発生するまでの電圧の挙動が異なることがわかる。
さらに、一旦電圧差が発生した状態で充電した場合の電圧差の解消スピードも過放電セル発生時(図6)と温度バラツキ時(図7)とでは大きく異なる。したがって、本実施の形態ではこの電圧の2つの動き(電圧差の発生時と解消時)を検知して過放電セルを検出することを特徴とする。
図6の波形では、電圧差ΔVBmの拡大(電圧差の発生)と縮小(電圧差の解消)とは瞬時に起こる。これに比べて図7の波形では、電圧差が発生するには長時間放電する必要がある。また、分極電圧解消スピードが異なるため、充電を行なった場合の電圧差の解消も図6の場合と比べて遅い。
図3〜図5のフローチャートで説明した処理を行なうことによって、図7に示した場合(低温時のバッテリパック内の電池ブロック間の温度バラツキ発生時)を検出せずに図6に示した場合(過放電による転極発生時)を検出することが可能となる。したがって、実施の形態1では、誤検出を低減させて過放電セルの発生を精度良く検出することができる。
[実施の形態2]
実施の形態1では転極の発生を電圧差の変化率と電圧差の大きさを観測することによって検出し、その後強制充電することによって電圧差の変化を見て電圧差が元に戻るようであれば過放電セルが発生したと診断した。
しかし、電池からの放電電流が小さい場合には、電圧差の変化がゆっくりであるので、電圧差の変化率を図7に示した場合と区別しにくい場合がある。車両ではモータを使用しない低負荷の場合(たとえば、パーキングレンジに設定したまま車両を放置している場合など)には電圧差がゆっくり拡大していくことも考えられる。
実施の形態2では、実施の形態1で実行した過放電セル発生の検出方法に加えて、放電電流が小さい場合の過放電セル発生の検出を行なう。
図8は、実施の形態2において図1の制御装置15で実行される過放電セルの診断に関する処理を説明するためのフローチャートである。
図8のフローチャートは、図3で説明した実施の形態1のフローチャートに対して、ステップS20の処理の後に実行される放電電流を判定するステップS30の処理と、ステップS40の仮異常判定の処理に加えてステップS40Aの仮異常判定の処理が追加されている。他の処理については、図3で説明しているのでここでは説明は繰返さない。
図9は、図8のステップS30の処理の詳細を示すフローチャートである。
図10は、放電電流が小さい場合に図9の処理が適用された場合の電圧差の変化を説明するための波形図である。
図9を参照して、放電電流判定処理が開始されると、ステップS31において放電電流がしきい値以下であるか否かが判断される。ここで放電電流とは、電池200から放電される電流を示し、電流センサ143で検出される電流IBを示す。そして判定しきい値は、電圧差の変化が図10に示すようにゆっくりであり、図6に示すほどは急にならない程度の放電電流の値に設定される。実施の形態1の場合でも、走行するなどして放電電流が増加すれば過放電セルの発生は検出できるが、実施の形態2では実施の形態1では検出できなかった使用条件(放電電流小)での過放電セルの発生が早期に発見できる。
ステップS31において、放電電流がしきい値以下であった場合には、ステップS32に処理が進む。ステップS32では、検出カウンタ(カウント値をC3とする)が1加算される。
一方で、ステップS31において放電電流がしきい値以下ではなかった場合には、ステップS35に処理が進む。ステップS35に処理が進むと、カウント値C3はゼロにクリアされ、フラグF3はOFF状態にセットされ、さらにステップS36において制御は図3のフローチャートに戻される。
ステップS32においてカウント値C3が加算された後には、ステップS33においてカウント値C3がしきい値よりも大きいか否かが判断される。実際には、ステップS33では、放電電流がしきい値以下である状態がある時間継続したかを判断することになる。
ステップS33においてカウント値C3がしきい値よりも大きい場合には、ステップS34に処理が進みフラグF3がON状態に設定され、その後ステップS36に処理が進む。一方、ステップS33においてカウント値C3がしきい値以下である場合には、ステップS34の処理は実行されず、フラグF3の状態は変更されずにステップS36に処理が進む。ステップS36では、制御は図8のフローチャートに戻される。
このように、図8のステップS20の処理では、隣接する電池ブロックの電圧差がそれぞれ制御装置15において計算され、そしていずれかの電圧差がしきい値VT以上となった時間が所定時間継続した場合にフラグF2がON状態に設定される。また、電圧差がいずれもしきい値VT未満となると、フラグF2はOFF状態に設定される。
そしてさらにステップS30の処理では、放電電流がしきい値以下である時間が所定時間継続した場合にフラグF3がON状態に設定される。加えて、ステップS40AにおいてフラグF2=ONかつF3=ONが過放電仮異常の判定条件として追加されている。
実施の形態1の図6に比べると、図10の低電流放電中では時刻t11〜t12に示すように、電圧降下が非常に緩やかに発生する。したがって、電圧差変化の挙動による仮異常判定が出来ない。
そこで時刻t11〜t12においてしきい値VT以上の電圧差が発生しその時点からの一定期間内の平均電流値が所定値以下であると判断できたら、時刻t13において強制充電を開始する。そして充電による電圧差減少の挙動を検知して、過放電セル有りの診断を確定させる。
なお、電圧差ΔVBmは、電流と温度の依存性を持つので、電池温度TBと電流IBからマップを参照することにより決定すると良いのは、実施の形態1と同様である。
実施の形態2では使用条件によっては実施の形態1では検出しにくかった過放電セル発生を早期に検出することが可能となる。
[実施の形態3]
実施の形態1では転極の発生を電圧差の変化率と電圧差の大きさを観測することによって検出し、その後強制充電することによって電圧差の変化を見て電圧差が元に戻るようであれば過放電セルが発生したと診断した。実施の形態2では、実施の形態1の処理に加えて、電流値が小さい場合に電圧差が大きくなった場合にも過放電を確認する処理を行なった。
実施の形態3では、電流値が小さい場合に電圧差が拡大し始めたときには、放電電流を増加させることによってその後実施の形態1と同様な判定を行なうものである。このような手法によっても、電流値が小さい場合の過放電セルの早期発見が可能となる。
図11は、実施の形態3において図1の制御装置15で実行される過放電セルの診断に関する処理を説明するためのフローチャートである。
図11のフローチャートは、図3で説明した実施の形態1のフローチャートに対して、ステップS30B,S37B,S38Bの処理をステップS10の処理の前に実行している。ステップS10以降の他の処理については、図3で説明しているのでここでは説明は繰返さない。
図12は、放電電流が小さい場合に図11の処理が適用された場合の電圧差の変化を説明するための波形図である。
図11を参照して、まずステップS30Bにおいて放電電流判定および電圧差判定の処理が行なわれる。ここで放電電流とは、電池200から放電される電流を示し、電流センサ143で検出される電流IBを示す。そして判定しきい値は、電圧差の変化が図12の時刻t21〜t22に示すようにゆっくりであり、図6に示すほどは急にならない程度の放電電流の値に設定される。
ステップS30Bでは、電圧差ΔVBmの判定もあわせて行なわれる。ただし、判定しきい値は、ステップS20のしきい値VTよりも低いしきい値VTLに設定される。この電流IBがしきい値よりも小さくかつ電圧差ΔVBmがしきい値VTLより高いという条件が成立した場合に、フラグF4がON状態に設定される。この条件が成立しなければフラグF4はOFF状態に設定される。
ステップS30Bの処理の詳細はフローチャートで示さないが、図9の処理と図5の処理を各しきい値を適宜変更して組み合わせることによって実現可能である。
ステップS30Bの判定処理によってフラグF4が確定したら、ステップS37BにおいてフラグF4がON状態であるか否かが判断される。
ステップS37BにおいてフラグF4がON状態であると判断された場合にはステップS38Bに処理が進み、放電電流を増加させる。放電電流の増加は、たとえば、図1のエアコン150を作動させても良いし、モータ駆動装置131,132でモータジェネレータMG1またはMG2にトルクを発生させない電流成分(d軸電流)を流すようにしてもよい。なお、他の方法によって放電電流を増加させるのでもよい。
放電電流を増加させることによって、図12の時刻t22〜t23に示すように電圧差が急拡大し、しきい値VTを超えるようになるとともに電圧差ΔVBmの変化率も大きくなる。そこでステップS10およびステップS20の処理を行なえば、実施の形態1と同様にフラグF1およびフラグF2がともにON状態になるため、図11のステップS11以降の処理が実施の形態1と同様に働く。
すなわち、図12の時刻t24〜t25の強制充電によって、電圧差ΔVBmが速やかに元に戻ることが観測できれば、過放電セルが発生していたことがわかるので、異常診断を確定させることができる。
[実施の形態4]
電池セルの過放電時には、他の正常な電池セルよりも電圧が急激に低下する。電池が低温であるときには、温度バラツキによっても同様に電池セルの電圧が低下するが、その低下速度は緩やかである。実施の形態1および3では、過放電を検出する際には誤検出を防ぐために、隣接ブロック間の電圧差とともに電圧低下速度も監視した。これにより、電圧差発生の原因が過放電かそれとも温度バラツキかを切り分けて異常を確定した。
しかし、ブロックあたりのセル数が増加した場合、または寒冷地での使用等で想定以上に電池パック内に温度差が発生した場合に、正確に異常判定を行なうには、まだ改良の余地がある。
上記状況下では、ブロック間の内部抵抗の差が増加するため、今まで影響なしと考えていた抵抗差に起因する電圧差が拡大してしまう。この抵抗差に起因する電圧差は、過放電時の電圧差と同様に発生速度が速く、過放電発生の異常を正確に切り分けるのが難しくなる。
まず、ブロックあたりのセル数の増加時に生じる問題について説明する。図13は、電池パック全体の温度バラツキ分布を示した図である。図13において、縦軸は各電池ブロックの温度を示し、横軸は、電池ブロックの位置を示す。図13の例では、複数の電池ブロック(0ch〜13ch)が電池パックに順に配置されている。
電池が使用によって発熱しており、かつ電池の外部が低温雰囲気であれば、両端からの放熱量が多いため、電池パック中央が温度が高く電池パック両端に近づくにつれて温度が低くなる。そして、図13に示すように電池パック両端部では、隣接電池ブロック間の温度差は中央部よりも大きくなる。
図14は、電池ブロックあたりのセル数が6セルの場合の隣接ブロックの温度差を示す図である。図15は、電池ブロックあたりのセル数が24セルの場合の隣接ブロックの温度差を示す図である。図14、図15は、図13の斜線ハッチングされた四角枠部分を拡大して示したものに相当する。
電池ブロックあたりのセル数を増加させると、電池パックや電池監視ユニットの構造が簡素化してコストを削減することができる。しかし、図14、図15に示されるように、電池パック両端部における隣接ブロック間の温度差は拡大してしまう。たとえば、図14に示すように電池ブロックあたりのセル数が6セルの場合には、電池ブロック(1ch)と電池ブロック(0ch)との温度差が5℃である。しかし電池パック全体では同様な温度分布であっても、たとえば図14に示すように電池ブロックあたりのセル数が24セルに増加した場合には、電池ブロック(1ch)と電池ブロック(0ch)との温度差は8℃に拡大する。
ブロック間温度差が拡大すると、それに伴いブロック間の内部抵抗差も同時に増加し、これに起因する電圧差の増加も生じる。このような内部抵抗差に起因する電圧差の増加は加速時など電流が増加するときに変化速度が大きい。
図16は、電池ブロックに流れる電流の変化と隣接ブロック間の電圧差の変化を示す図である。図16において上段には電流の変化が示されており、下段には1ブロック6セルの場合と1ブロック24セルの場合の隣接ブロック間の電圧差の変化が示されている。上段、下段とも横軸は時間である。
ブロックあたりのセル数が6セルと少ない場合には、内部抵抗差による隣接ブロック間の電圧差が小さいため、電圧変化速度が遅い分極によって生じる電圧差だけを考慮しても過放電と温度バラツキとを区別することは可能である。
しかし、ブロックあたりのセル数が24セルと多い場合には、内部抵抗差による隣接ブロック間の電圧差が大きくなる場合がある。図16に示すように加速などで電池電流が急増した場合には隣接ブロック間の電圧差が瞬間的に増加する。この場合、隣接ブロック間の電圧差だけを考慮したのでは、過放電と温度バラツキとを区別することが難しくなる。
したがって、実施の形態4では、電圧差の変化速度だけでなく、電流変動も同時に監視することによって、過放電と温度バラツキとを区別する。実施の形態4では、電流変動を監視し、これに基づいて算出される電池電圧差の予測変化率を、過放電の判定に使用する。
図17は、電池電圧差の予測変化率の算出処理を説明するためのフローチャートである。図17を参照して、電池電圧差の予測変化率算出処理が開始されると、まずステップS101において電池パック内の最高温度および最低温度を取得する処理が実行される。そして、ステップS102において、各ブロック間の推定温度バラツキを算出する処理が実行される。
図18は、図17のステップS102における推定温度バラツキの算出について説明するための図である。
図18を参照して、バッテリパックには、代表的な電池ブロックに温度を検出するためのサーミスタが設けられている。図18では、説明の簡単のため、0ch〜6chの電池ブロックの場合の例を示しており、両端の電池ブロック(0ch)、電池ブロック(6ch)と、中央の電池ブロック(3ch)にそれぞれサーミスタが設けられている。これらのサーミスタの測定値TB0,TB3,TB6と、外気温、ファン風量などに基づいて、各サーミスタ間に存在するサーミスタが取り付けられていない電池ブロックの電池温度を推定する。予め求めておいた各種条件を振った場合での適合結果を反映させることによって、各電池ブロック(0ch〜6ch)の電池温度を推定することができる。
たとえば、サーミスタの測定値、外気温、ファン風量を入力パラメータとし各電池ブロックの電池温度を出力とするマップによって温度が推定される。
再び図17を参照して、ステップS102において各電池ブロック間の推定温度バラツキが算出されると、ステップS103において各電池ブロック間の推定抵抗差を算出する処理が実行される。たとえば、電池ブロックの温度と抵抗値との関係を記録したマップを参照することによって、ステップS102において推定した電池ブロックの推定温度から電池ブロックの抵抗値を推定することができる。ステップS103において、抵抗値が推定できれば、隣接ブロック間の抵抗差の推定値(推定抵抗差)も算出することができる。
続いてステップS104において、電池電流IBを取得して記憶する処理が実行される。そしてステップS105において記憶されている所定時間(T1)分の電池電流IBから電流変化率を算出する処理が行なわれる。
ステップS106では所定時間(T2)分の電流変化率を記憶する処理が行なわれる。次にステップS107において、記憶されていた所定時間(T2)分の電流変化率の最大値(放電側)を求める処理が実行される。
ただしT2>T1であり、複数回ステップS105の処理が行なわれた結果を用いてステップS106の処理が行なわれる。たとえば、ステップS104の電流値の取得を8ms毎に行ない、ステップS105の処理を104msごとに行ない、ステップS106,S107の処理を104msより長く設定することができる。電流変化に対応する電圧差の変化は、必ずしも同期して起こるわけではない。図16に示したように若干の遅延が生じるので、ステップS106,S107の処理周期をステップS105の処理周期より長くし、その間の電流変化率の最大値を使用する。これにより、多少の電圧差の遅延に対応できるように過放電検出処理が設計されている。
なお、ステップS101〜S103の処理群とステップS104〜S107の処理群とは、どちらを先に行なっても良く、並行して実行されても良い。
最後にステップS108において、温度バラツキによって発生しうる電池電圧の予測変化率を算出する。以下に、この算出処理を説明する。
電池電圧Vは次式(1)で算出される。なお、OCVは開放端電圧を示し、Rは電池の内部抵抗を示し、Vdynは分極電圧を示す。
V=OCV−IR+Vdyn …(1)
ここで、瞬時的な電流変動のみを考慮すると、分極電圧Vdynは無視することができるため、式(1)は、次式(2)のように表すことができる。
V=OCV−IR …(2)
さらに、隣接する電池ブロックの容量が同一であるとすると電池ブロック間のOCVが等しいので、電圧差は次式(3)のように表すことができる。なお、ΔVは隣接電池ブロックとの電圧差を示し、ΔRは隣接電池ブロックとの抵抗差を示す。
ΔV=I×ΔR …(3)
以上より、電流変化率dI/dtと電圧差変化率dΔV/dtとの関係は、次式(4)で示される。
dΔV/dt=dI/dt×ΔR …(4)
ステップS108では、式(4)の電流変化率にステップS107で求めた電流変化率の最大値を適用することによって、ブロック電圧差の予測変化率を算出する。
図19は、実施の形態4の過放電検出処理を説明するためのフローチャートである。
図19を算出して、このフローチャートの処理が開始されると、ステップS201において電池電圧を取得して記憶する処理が実行される。この処理では、電池ブロックごとの電圧が記憶される。そしてステップS202において、記憶されている所定時間分の電池電圧から、隣接電池ブロック間の電圧差変化率を算出する処理が実行される。
そして、ステップS203において算出した電圧差変化率(V/sec)がしきい値以上であるか否かが判断される。このときのしきい値は、図17のステップS108で算出した電圧差の予測変化率である。
ステップS203において、電圧差変化率(V/sec)のいずれかがしきい値以上であった場合には、ステップS204に処理が進む。ステップS204では、検出カウンタ(カウント値をC4とする)が1加算される。
一方で、ステップS203において電圧差変化率(V/sec)のいずれもがしきい値以上ではなかった場合には、ステップS209に処理が進み、制御はメインルーチンに戻される。なお、ここで、カウント値C4をゼロにクリアしても良い。
ステップS204においてカウント値C4が加算された後には、ステップS205においてカウント値C4がしきい値よりも大きいか否かが判断される。実際には、ステップS205では、算出した電圧差変化率がしきい値よりも大きい状態がある時間継続したかを判断することになる。
ステップS205においてカウント値C4がしきい値よりも大きい場合には、ステップS206に処理が進み過放電セル有りの診断が確定し、対応するフラグがON状態に設定され、その後ステップS207において処理が終了する。
一方、ステップS205においてカウント値C4がしきい値以下である場合には、ステップS208に処理が進み、カウント値C4はクリアされる。この場合、算出した電圧差変化率がしきい値よりも大きい状態がある時間継続する前に中断したことを示す。そして、ステップS209に処理が進み、制御はメインルーチンに戻される。
図20は、実施の形態4の第1の動作例を説明するための動作波形図である。第1の動作例は、定常走行中に実際にセルが過放電して電圧差が発生した場合の例である。第1の動作例は電池ブロック間の温度バラツキは無視できる状態である。
図20に示すように、定常走行中では電流変動は少ない。変動の大きさに関わらず過放電したセルは容量が空になると転極して電圧が負電圧となる。
転極が発生すると、破線で囲んだように電圧差が急変して、電圧差の変化率が増加する。このとき電流変化率は小さく、ブロック間抵抗差も小さいことから判断して、破線で囲んだ部分の電圧差の変化が過放電によるものであると診断される。
図21は、実施の形態4の第2の動作例を説明するための動作波形図である。第2の動作例は、電池パック内の温度バラツキが大きい状態でエンジン始動やWOT(アクセル全開動作)をした場合の例である。
図21に示すように、エンジン始動やWOT時は放電電流が破線で囲んだように急激に増加する。このとき電池パック内の温度バラツキから電池ブロック間抵抗差を算出しておく。そして電圧変動とブロック間抵抗差から、温度バラツキによって発生しうる電圧変動しきい値を算出する。この電圧変動しきい値は、図17のステップS108で算出される電池電圧差の予測変化率に基づいて決定されるしきい値であり、図19のステップS203で使用されるしきい値である。
そして、発生した電圧差の変化率が、電圧変動しきい値以下であれば過放電を検出しないため、過放電の誤検出、誤診断が抑制される。
なお、図17、図19の処理では、電池電流に基づいて電圧変動しきい値を変化させる例を示したが、電池電流がしきい値よりも大きい場合に、しばらくの間は、過放電の判定を行なわないようにしても良い。
実施の形態4によれば、低温時の電池温度バラツキによって発生する電圧差と、過放電によって発生する電圧差とを区別することが可能になり、低温時に過放電を誤検出しにくくなる。
特に、電流の挙動と温度バラツキとを同時に監視することで、過度に温度差が発生した場合や、ブロックあたりのセル数が多い場合でも、低温時に過放電を誤検出することが抑制される。
最後に、本実施の形態について再び図面を用いて総括する。図1、図2を参照して、本実施の形態に開示される電池システムは、直列接続された複数の電池セル201〜205を各々が含む複数の電池ブロックBU1〜BUnを備える。複数の電池ブロックBU1〜BUnは直列に接続される。電池システムは、複数の電池ブロックBU1〜BUnの電圧をそれぞれ測定する複数の電圧監視部DV1〜DVnと、複数の電池ブロックBU1〜BUnの充放電を制御する制御装置15とをさらに備える。図3、図8、図11のステップS20で示したように、制御装置15は、放電中に複数の電池ブロックBU1〜BUnのうちの2つの電池ブロックの電圧差が所定値VT以上となったことを含む判定実行条件が成立した場合には、複数の電池ブロックBU1〜BUnの中に過放電となった電池セルが存在するか否かを判定する。
好ましくは、制御装置15は、判定実行条件が成立した場合には、ステップS42において複数の電池ブロックBU1〜BUnに強制的な充電を行ない、ステップS43〜S45において、強制的な充電を行なったときの電圧差ΔVBmの変化に基づいて、複数の電池ブロックBU1〜BUnの中に過放電となった電池セルが存在するか否かを判定する。
より好ましくは、判定実行条件は、放電中に複数の電池ブロックBU1〜BUnのうちの2つの電池ブロックの電圧差ΔVBmが所定値VT以上となったことに加えて、図3、図8、図11のステップS10に示したように、電圧差の変化率の大きさがしきい値以上であることを含む。
より好ましくは、判定実行条件は、放電中に複数の電池ブロックBU1〜BUnのうちの2つの電池ブロックの電圧差ΔVBmが所定値以上となったこと(ステップS20)に加えて、複数の電池ブロックBU1〜BUnに流れる電流IBがしきい値以下(ステップS30)であることを含む。
より好ましくは、判定実行条件は、放電中に複数の電池ブロックBU1〜BUnのうちの2つの電池ブロックの電圧差が所定値VT以上となったことに加えて、電圧差の変化率の大きさがしきい値以上であることを含む。制御部は、複数の電池ブロックBU1〜BUnに流れる電流IBがしきい値以下であり、電圧差が所定値よりも小さいしきい値VTLを超えたときには(ステップS37BにおいてYES)、複数の電池ブロックBU1〜BUnに流れる電流IBを増加させる(ステップS38B)。
好ましくは、制御装置15は、判定実行条件が成立した場合には、複数の電池ブロックBU1〜BUnのうちの隣接する電池ブロック間の電圧差変化率と、隣接する電池ブロック間の温度差から推定される隣接する電池ブロック間の内部抵抗差および電流変化率から図17のステップS108で算出される電圧差の予測変化率と、に基づいて、複数の電池ブロックの中に過放電となった電池セルが存在するか否かを判定する(ステップS203)。
なお、上記実施の形態ではハイブリッド自動車の例を示して説明したが、本発明はハイブリッド自動車に限定されず、燃料電池自動車や電気自動車にも適用が可能である。また車両に限られるものでもない。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。