以下、実施形態である電池システム10について図面を参照して説明する。図1は、電池システム10の構成を示す図である。この電池システム10は、回転電機100を動力源の一つとする電動車両(例えば電気自動車やハイブリッド自動車等)に搭載される。
電池システム10は、走行用の回転電機100に電力を供給するバッテリ12を備えている。バッテリ12は、複数の単電池14を直列または並列(図示例では直列)に接続して構成されている。一つのバッテリ12を構成する単電池14の個数は、バッテリ12の要求出力等に基づいて、適宜、設定できる。単電池14は、充放電可能な二次電池、例えば、リチウムイオン二次電池や、ニッケル水素二次電池等である。単電池14は、電極巻回体と電解液とをケースに収容してなる。なお、電極巻回体は、シート状の正極電極、セパレータ、負極電極を積層した後、渦巻き状に巻回して構成される。
バッテリ12は、システムメインリレー(以下「SMR」と呼ぶ)20を介してインバータ102に接続されている。SMR20は、バッテリ12とインバータ102を電気的に接続または接続解除する。SMR20がオンされると、バッテリ12の充放電が許容される。ユーザは、車両を起動する際には、当該車両に搭載されたスタートスイッチをオンするが、このSMR20は、当該スタートスイッチに連動してオン/オフが切り替わる。
インバータ102は、バッテリ12と回転電機100との間で、電力を直流から交流に、または、交流から直流に変換しながら、電流制御を行なう。回転電機100は、車両の走行用動力を出力するモータとして機能するとともに、動力を電力に変換するジェネレータとしても機能する。回転電機100で発電された電力は、インバータ102を介して、バッテリ12に送られ、これにより、バッテリ12が充電される。また、回転電機100は、モータとして機能する場合には、バッテリ12から送られた電力で駆動する。なお、図1では、回転電機100の個数を一つとしているが、回転電機100は、複数設けてもよい。例えば、主にモータとして機能する第二回転電機と、主にジェネレータとして機能する第一回転電機と、を設けてもよい。この場合、第一回転電機は、主に、エンジンの余剰動力で発電される。
バッテリ12は、さらに、充電リレー22、充電器24、インレット26を介して、外部電源(図示せず)に接続可能となっている。インレット26は、外部電源、例えば、商用電源に接続可能なコネクタである。このインレット26を外部電源に接続するとともに充電リレー22をオンにすることで、外部電力によるバッテリ12の充電が可能となる。充電器24は、交流電力である外部電力を直流電力に変換し、バッテリ12に出力する。
バッテリ12の近傍には、温度センサ28が設けられている。温度センサ28は、バッテリ12の温度を電池温度Tbとして検出する。検出された電池温度Tbは、後述する制御部32に送られ、記憶部36に一時記憶される。なお、温度センサ28は、単一でもよいし、複数でもよい。温度センサ28が複数あり、複数の検出温度が同時に得られる場合は、これら複数の検出温度を統計処理して得られる一つの代表値、例えば、平均温度や最高温度、最低温度等を、電池温度Tbとして取り扱えばよい。また、温度センサ28を設ける替わりに、バッテリ12の排気ダクトの温度や、外気温度等に基づいて、バッテリ12の温度(電池温度Tb)を推測するようにしてもよい。
また、バッテリ12には、電流センサ30が接続されている。電流センサ30は、バッテリ12の入出力電力(充放電電力)を電池電流Ibとして検出する。検出された電池電流Ibは、制御部32に送られ、記憶部36に一時記憶される。なお、電池電流Ibは、放電時に正の値であり、充電時に負の値になる。
バッテリ12には、さらに、電圧センサ31が、並列接続されている。電圧センサ31は、バッテリ12の電圧を検出電圧Vbとして検出する。なお、なお、電圧センサ31は、単一でもよいし、複数でもよい。換言すれば、バッテリ全体の電圧を、検出電圧Vbとして検出してもよいし、単電池14ごと、または、複数個の単電池14からなる電池ブロックごとの電圧を検出電圧Vbとして検出してもよい。検出された検出電圧Vbは、制御部32に送られ、記憶部36に一時記憶される。
バッテリ12の充放電は、制御部32により管理制御される。制御部32は、各種演算を行うCPU34と、各種プログラムやパラメータを記憶する記憶部36と、を備えている。なお、図1では、制御部32を、単一のユニットとしているが、制御部32は、それぞれがCPU34および記憶部36を有する制御ユニットを複数、組み合わせて構成されてもよい。したがって、制御部32は、CPU34および記憶部36を複数有する構成としてもよい。また、制御部32の一部の機能は、車両の外部に設けられるとともに、車載の制御ユニットと通信可能な車外制御ユニットで実現されてもよい。
制御部32は、入力電力許容値Winおよび出力電力許容値Woutを設定し、バッテリ12の入出力電力が、これら許容値Win,Woutを超えないように、バッテリ12の充放電を制御する。ここで、既述した通り、充電電流が負、放電電流が正であるため、入力電力許容値Winは、正の値、出力電力許容値Woutは、負の値となる。
記憶部36には、電池温度Tbに対する入出力電力許容値Win,Woutの値を記録したWin/Woutマップが記憶されている。制御部32は、温度センサ28で検知された電池温度TbをWin/Woutマップに照らし合わせて、入出力電力許容値Win,Woutを特定する。
制御部32は、さらに、入出力電力許容値Win,Woutの制限値も特定する。制限値が特定されれば、制御部32は、入出力電力許容値Win,Woutが、これら制限値を超えないように、入出力電力許容値Win,Woutを制限値でクリッピングする。特定される制限値としては、種々あるが、ここでは、SOCを基準とする入出力制限値SWin,SWoutと、電池内圧Pbを基準とする入力制限値PWinのみを簡単に説明する。
SOCが規定の上限値Cmax以上の状態で充電を続けると過充電となるため、SOCが上限値Cmax以上になった場合、制御部32は、入力制限値SWinをゼロに設定する。同様に、SOCが規定の下限値Cmin未満の状態で放電を続けると過放電となるため、SOCが下限値Cmin未満になった場合、制御部32は、出力制限値SWoutをゼロに設定する。入力制限値SWinがゼロになれば、入力電力許容値Winは、ゼロに制限され、充電が禁止される。同様に、出力制限値SWoutがゼロになれば、出力電力許容値Woutは、ゼロに制限され、放電が禁止される。
また、制御部32は、電池内圧Pbを基準とする入力制限値PWinも設定している。入力制限値PWinは、電池内圧Pbが、規定の上限圧力値Pmaxを超えないようにするために設定される。すなわち、バッテリ12を構成する単電池14は、既述した通り、電極巻回体および電解液を、ケースに収容してなる。この単電池14は、充電の副反応としてガスが発生する。このガスに起因して単電池14の内圧(電池内圧Pb)が規定の上限圧力値Pmaxを超えると、単電池14に設けられた安全弁が作動して不可逆的に開放される。こうした安全弁の作動を防止するために、電池内圧Pbが高い場合には、入力制限値PWinを設定し、入力電力許容値Winを制限している。
次に、制御部32の機能を、入力制限値PWin設定に関係する機能を中心として説明する。図2は、制御部32のうち、入力制限値PWin設定に関係する機能を示した機能ブロック図である。
制御部32は、電池内圧Pbを基準とする入力制限値PWinを決定するために、電池内圧Pbを算出する内圧算出部40と、電池電圧Voを算出する電圧算出部42と、を備えている。電圧算出部42は、バッテリ12の開放電圧(OCV)を、電池電圧Voとして算出する。ここで算出される開放電圧(電池電圧Vo)は、バッテリ12全体の開放電圧でもよいし、バッテリ12を構成する単電池14ごとの開放電圧でもよい。また、複数個の単電池14で一つの電池ブロックを構成し、複数個の電池ブロックで一つのバッテリ12を構成する場合には、この電池ブロックの開放電圧を電池電圧Voとして求めてもよい。
単電池14の開放電圧、または、電池ブロックの開放電圧の値は、当該単電池14の個数分、または、電池ブロックの個数分、存在する。このように複数の開放電圧が存在する場合には、これら複数の開放電圧を統計処理して得られた一つの代表値を、電池電圧Voとして用いればよい。統計処理して得られる代表値としては、最大値、最小値、平均値等があるが、電池内圧Pbを基準とする入力制限値PWinを求める場合には、複数の開放電圧の最大値を電池電圧Voとして取り扱うことが望ましい。
電池電圧Vo(開放電圧)の算出には、公知の従来技術を用いることができる。一例として、電池電圧Voは、電圧センサ31で検知された検出電圧Vbに、内部抵抗Rbに起因するドロップ電圧Vrを加算することで得られる。さらに、ドロップ電圧Vrは、バッテリ12の内部抵抗Rbに、電池電流Ibを乗算することで得られる。すなわち、電池電圧Voは、次の式1に基づいて算出される。なお、バッテリ12の内部抵抗Rbは、電池温度Tbに応じて変化するため、記憶部36には、電池温度Tbに対する内部抵抗Rbを示すマップ(図示せず)が記憶されている。電圧算出部42は、温度センサ28で検出された電池温度Tbを、当該マップに照らし合わせて内部抵抗Rbを特定する。
Vo=Vb+Vr=Vb+Ib×Rb 式1
内圧算出部40は、バッテリ12を構成する単電池14の内圧、すなわち、電池内圧Pbを算出する。電池内圧Pbの算出には、公知の従来技術を用いることができる。一例として、バッテリ12が、ニッケル水素二次電池の場合、電池内圧Pbは、バッテリ12内の平衡水素圧と酸素圧との和により算出される。バッテリ12内の平衡水素圧は、電池温度Tbに基づいて算出される。バッテリ12内の酸素圧は、バッテリ12内の酸素ガス発生量と酸素ガス減少量との差により求められる。また、酸素ガス発生量は、電池電流Ibと充電効率に基づいて算出され、酸素ガス減少量は、電池温度Tbに基づいて算出される。
具体的には、バッテリ12内の平衡水素圧は、電池温度Tbに依存するため、例えば、電池温度Tbとバッテリ12内の平衡水素圧との関係を表すマップ(図示せず)を予め記憶部36に記憶させ、該マップに、温度センサ28で検知された電池温度Tbを照らし合わせることにより、バッテリ12内の平衡水素圧が算出される。
また、バッテリ12内の酸素圧は、前述したように、酸素ガス発生量と酸素ガス減少量との差により算出される。これは、充電の際の副反応により酸素ガスが発生するが、その一方でガス発生した電極と反対の電極で酸素ガスが吸収されるためである。具体的には、次の式2により算出される。なお、式2において、P0は、酸素圧、Pxは、前回算出した酸素圧、αは、酸素ガス発生量、γは、酸素ガス減少量、Kpは、バッテリ12内の酸素ガス量を酸素圧に換算するための定数である。
P0=Px+Kp×(α−γ)×ΔT 式2
ここで、初回の酸素圧P0を算出する場合において、式2における前回算出した酸素圧(Px)は、所定値(例えば、大気圧等)に設定される。また、初回の酸素圧P0を算出する場合において、酸素ガス減少量(γ)は、予め記憶部36に記憶させたバッテリ12内の酸素圧と単位時間当たりの酸素ガス減少量との関係を表すマップ(図示せず)に、バッテリ12内の酸素圧として所定値(例えば、大気圧等)を当てはめることにより算出される。また、ΔT後の酸素圧P0を算出する場合において、酸素ガス減少量(γ)は、予め記憶部36に記憶させたバッテリ12内の酸素圧と単位時間当たりの酸素ガス減少量との関係を表すマップ(図示せず)に、バッテリ12内の酸素圧として前回算出した酸素圧(Px)を当てはめることにより、算出される。
酸素ガス発生量αは、次の式3または式4により算出される。なお、式3、式4においてαは、単位時間ΔT当たりの酸素ガス発生量で、Ibは、電池電流、β,ηは、バッテリ12の充電効率、Kαは、所定の定数である。
α=(−Ib)×β×Kα 式3
α=(−Ib)×(1−η)×Kα 式4
式3、式4におけるバッテリ12の充電効率β,ηとは、充電可能電荷量に対する実際に蓄えられた電気量の比(η)、または、ガス発生等により蓄えることができなかった電気量の比(β=1−η)である。バッテリ12の充電効率の算出には、例えば、電池電圧Vo(バッテリ12のOCV)と充電効率との関係を表すマップ(図示せず)が用いられる。
通常制限値特定部44、例外制限値特定部46、入力制限値決定部48は、入力電力許容値Winを制限する入力制限値PWinを決定するために設けられている。これら各部44〜48の機能について説明する前に、本願における入力制限値PWinについて簡単に説明する。入力制限値PWinは、電池内圧Pbを基準として決められる制限値であり、電池内圧Pbが、上限圧力値Pmaxを超えないように設定される制限値である。この入力制限値PWinは、原則として、電池内圧Pbが、上限圧力値Pmaxよりも低い第一切替圧力P1以上になればゼロに設定される。入力制限値PWinがゼロとなれば、入力電力許容値Winは、ゼロにクリッピングされることになり、バッテリ12の充電が禁止される。この状態が長らく続くと、バッテリ12のSOCが低下し、バッテリ12の放電まで制限されるおそれがある。この場合、車両の走行用の回転電機100の駆動が制限されてしまい、車両の走行に悪影響を与える場合がある。
そこで、入力制限値PWinがゼロとなる期間を少しでも短縮するために、本願で開示する電池システム10では、電池内圧Pbが、第一切替圧力P1以上であっても、電池電圧Voが、規定の切替電圧V1未満であれば、入力制限値PWinを非ゼロとし、充電を例外的に許容する。これは、電池電圧Voが低い状態では、充電時におけるガス吸収量が、ガス発生量を上回り、電池内圧Pbの上昇を抑制できるからである。つまり、本願で開示する電池システム10では、原則として、電池内圧Pbが高ければ充電を禁止するものの、電池内圧Pbが高くても、電池電圧Voが低ければ、例外的に、充電を許容する。通常制限値特定部44は、原則に従った制限値である通常制限値PWin_nを、例外制限値特定部46は、例外的に設定される制限値である例外制限値PWin_aを、それぞれ特定する。
より具体的に説明すると、通常制限値特定部44は、内圧算出部40で算出された電池内圧Pbを、記憶部36に記憶された通常マップ52に照らし合わせて通常制限値PWin_nを特定する。図3は、通常マップ52の一例を示す図である。図3において横軸は、電池内圧Pbを、縦軸は、通常制限値PWin_nを示している。通常マップ52は、電池内圧Pbに対する通常制限値PWin_nの値を示すマップである。通常マップ52では、通常制限値PWin_nの絶対値は、電池内圧Pbが、所定の圧力値P0未満であれば、十分に大きい値Waであるが、所定の圧力値P0以上になれば、比例的に、減少していき、規定の第一切替圧力P1以上では、ゼロとなる。この第一切替圧力P1は、単電池14に設けられた安全弁が作動する上限圧力値Pmaxよりも十分に低い。
例外制限値特定部46は、電圧算出部42で算出された電池電圧Voを、記憶部36に記憶された例外マップ54に照らし合わせて例外制限値PWin_aを特定する。図4は、例外マップ54の一例を示す図である。図4において、横軸は、電池電圧Voを、縦軸は、例外制限値PWin_aを示している。また、図4において、実線は、Pb<P2の場合の、破線は、Pb≧P2の場合の例外制限値PWin_aを示している。
例外制限値PWin_aは、電池内圧Pbが、規定の第二切替圧力P2を境界として、異なる挙動をとる。第二切替圧力P2は、第一切替圧力P1よりも高く、上限圧力値Pmaxよりも低い値である。Pb≧P2(破線)の場合、例外制限値PWin_aは、電池電圧Voの値に関わらず、常にゼロとなる。一方、Pb<P2の場合、例外制限値PWin_aの絶対値は、電池電圧Voが、所定の電圧値V0未満であれば一定の値Wbであるが、所定の電圧値V0以上となれば、比例的に減少していく。そして、電池電圧Voが、規定の切替電圧V1以上になれば、例外制限値PWin_aは、ゼロとなる。ここで、Vb<V0における例外制限値PWin_aの絶対値Wbは、Pb<P0における通常制限値PWin_nの絶対値Waよりも小さい。
また、切替電圧V1は、バッテリ12のガス発生電圧またはガス吸収電圧に基づいて決められる。これについて図5を参照して説明する。図5は、ガス発生電圧およびガス吸収電圧を示すグラフである。図5において、横軸は電池内圧Pbを、縦軸は、電池電圧Voを示している。また、図5において破線のラインL2は、ガス発生電圧を、実線のラインL1は、ガス吸収電圧を示している。ガス発生電圧は、充電に伴いガスが発生するときの電池電圧Voである。充電時の電池電圧Voが、このガス発生電圧よりも高い場合には、ガスの発生量が、ガスの吸収量よりも大きく、電池内圧Pbが上昇する。ガス吸収電圧は、充電に伴いガスが吸収されるときの電池電圧Voである。充電時の電池電圧Voが、このガス吸収電圧よりも低い場合には、ガスの発生量が、ガスの吸収量を下回るため、電池内圧Pbは、減少する。したがって、充電時における電池内圧Pbおよび電池電圧Voが、ガス発生電圧(ラインL2)より上の領域(図5における濃墨領域)にある場合には、電池内圧Pbは、上昇し、ガス吸収電圧(ラインL1)より下の領域(図5における薄墨領域)にある場合には、電池内圧Pbは、減少する。また、充電時における電池内圧Pbおよび電池電圧Voが、ガス吸収電圧よりも上、かつ、ガス発生電圧よりも下の領域(図5における白領域)にある場合、電池内圧Pbは、殆ど変化しない。
ガス吸収電圧およびガス発生電圧は、いずれも、電池内圧Pbの上昇に伴い、徐々に、減少していく。例外制限値PWin_aを非ゼロにするか否かの基準となる切替電圧V1は、第二切替圧力P2におけるガス発生電圧a未満であれば、特に限定されない。また、切替電圧V1は、固定値でもよいが、電池内圧Pbに応じて変化する可変値でもよい。本願で開示する電池システム10では、第一切替圧力P1におけるガス吸収電圧bを切替電圧V1としている。
通常制限値特定部44で特定された通常制限値PWin_n、および、例外制限値特定部46で特定された例外制限値PWin_aは、いずれも、入力制限値決定部48に入力される。入力制限値決定部48は、通常制限値PWin_nが非ゼロであれば、当該通常制限値PWin_nを入力制限値PWinとして決定する。以下では、PWin=PWin_nとなっている状態を、「通常マップ参照状態」と呼ぶ。一方、通常制限値PWin_nがゼロであれば、例外制限値PWin_aを入力制限値PWinとして決定する。以下では、PWin=PWin_aとなっている状態を「例外マップ参照状態」と呼ぶ。
例外マップ参照状態において、通常制限値PWin_nが、規定の復帰閾値PWin_cに達すれば(|PWin_n|≧|PWin_c|になれば)、例外マップ参照状態から通常マップ参照状態に、徐々に移行していく。具体的には、0から1に経時的に変化するゲインGを通常制限値PWin_nの重み係数として、ゲインGが1になるまで、通常制限値PWin_nと例外制限値PWin_aを重み付け加算していく。すなわち、ゲインGが1になるまで、入力制限値PWinを、次の式5で求める。
PWin=G×PWin_n+(1−G)×PWin_a 式5
ゲインGが1になった後は、通常制限値PWin_nを入力制限値PWinとする通常マップ参照状態になる。このように、例外マップ参照状態から通常マップ参照状態に復帰する際に、重み付け加算を行うのは、入力制限値PWinの急激な変化を避けるためであるが、これについては、後述する。
図6は、入力制限値決定部48で決定される入力制限値PWinのイメージを示す図である。図6において、横軸は電池内圧Pbを、縦軸は、電池電圧Voを示している。本願に開示する電池システム10では、図6に示す通り、電池内圧Pbが、第一切替圧力P1未満(図6の白領域)の場合、入力制限値PWinは、通常制限値PWin_nとなる。また、電池内圧Pbが、第二切替圧力P2以上の場合、入力制限値PWinは、電池電圧Voに関わらず、ゼロとなる。さらに、電池内圧Pbが、第一切替圧力P1以上かつ第二切替圧力P2未満の場合、入力制限値PWinは、電池電圧Voが、切替電圧V1以上であれば、ゼロとなり、電池電圧Voが切替電圧V1未満であれば、例外制限値PWin_aとなる。
入力制限値決定部48で決定された入力制限値PWinは、Win/Wout設定部50に入力される。Win/Wout設定部50は、電池温度TbをWin/Woutマップ56に照らし合わせることで、標準の入出力電力許容値Win,Woutを特定する。そして、入力制限値決定部48は、特定された標準の入出力電力許容値Win,Woutを、必要に応じて、各種制限値でクリッピングした値を、入出力電力許容値Win,Woutとして設定する。クリッピングに用いられる制限値としては、上述した電池内圧Pbを基準とした入力制限値PWinの他に、SOCを基準とした入出力制限値SWin,SWout等がある。入力制限値SWinは、バッテリ12のSOCが規定の上限値Cmax以上となれば、入力電力許容値Winをゼロに制限し、出力制限値SWoutは、バッテリ12のSOCが規定の下限値Cmin未満となれば、出力電力許容値Woutをゼロに制限する。
次に、電池内圧Pbを基準とする入力制限値PWinの決定処理について図7を参照して説明する。入力制限値PWinを決定する際、制御部32は、まず、通常制限値PWin_nおよび例外制限値PWin_aを特定する(S10)。通常制限値PWin_nは、電池内圧Pbを、通常マップ52に照らし合わせることで特定される。例外制限値PWin_aは、電池電圧Voおよび電池内圧Pbを、例外マップ54に照らし合わせることで特定される。
次に、現在が、PWin=PWin_nとなっている通常マップ参照状態か否かを確認する(S12)。通常マップ参照状態である場合には、続いて、ステップS10で特定された通常制限値PWin_nがゼロか否かを確認する(S14)。PWin_n≠0であれば、そのまま通常マップ参照状態で問題ないため、ステップS16に進み、通常制限値PWin_nを入力制限値PWinとして決定する。
一方、ステップS14において、PWin_n=0であった場合には、例外マップ参照状態に移行するため、ステップS20に進む。また、ステップS12,S18において、現在が、通常マップ参照状態でなく、例外マップ参照状態であると判断された場合もステップS20に進む。例外マップ参照状態の場合は、まず、通常制限値PWin_nが、規定の復帰閾値PWin_cに達しているか否か(|PWin_n|≧|PWin_c|を満たすか否か)を確認する(S20)。確認の結果、|PWin_n|<|PWin_c|であれば、例外マップ参照状態のままで問題が無いため、ステップS22に進み、例外制限値PWin_aを入力制限値PWinとして決定する。
一方、ステップS20において、|PWin_n|≧|PWin_c|と判断された場合は、例外マップ参照状態から、通常マップ参照状態への移行を開始する。具体的には、まず、ゲインGのカウントを開始し(S24)、ステップS26に進む。また、ステップS12,S18において、現在が、通常マップ参照状態でも、例外マップ参照状態でもない移行期間中であると判断された場合もステップS26に進む。ステップS26では、ゲインGが1以上か否かを判断する(S24)。ゲインGが1以上であれば、例外マップ参照状態から通常マップ参照状態への移行は、完了しているため、ステップS14に進む。一方、ゲインGが、1未満の場合は、通常制限値PWin_nと例外制限値PWin_aを、ゲインGを用いて重み付け加算した値を、入力制限値PWinとして決定する(S28)。
次に、本願で開示する電池システム10における入力制限値PWinについて、従来技術と比較しながら説明する。図8は、入力制限値PWinの変化の一例を示す図で、上から順に、入力制限値PWin、電池電圧Vo、電池内圧Pb、SOCを示すグラフである。図8の上段(入力制限値PWin)において、太線は、本願で開示する電池システム10における入力制限値PWinを、一点鎖線は、従来の電池システムにおける入力制限値PWinを示している。また、図8の下段(SOC)において、太線は、本願で開示する電池システム10におけるSOCを、一点鎖線は、従来の電池システムにおけるSOCを示している。
従来の電池システムでは、電池電圧Voに関わらず、電池内圧Pbが、規定の第一切替圧力P1以上であれば、入力制限値PWinをゼロにしていた。すなわち、従来の電池システムでは、図6における濃墨領域だけでなく、薄墨領域も、PWin=0としていた。
この場合、従来技術では、図8の上段において一点鎖線で示すように、電池内圧Pbが、第一切替圧力P1以上となった時刻t1から、第一切替圧力P1未満となる時刻t5までの間、入力制限値PWinは、ゼロとなる。入力制限値PWinがゼロとなることで、バッテリ12の充電が禁止される。充電が禁止された状態で、放電のみが許容されるため、バッテリ12のSOCは、徐々に低下する。結果として、従来技術では、図8の下段において一点鎖線で示すように、時刻t3において、SOCが、下限値Cmin未満となる。この場合、過放電を防止するために、出力電力許容値Woutも制限され、バッテリ12の放電が制限される。バッテリ12の放電が制限されると、駆動源の一つである回転電機100の駆動が制限されるため、車両の良好な走行が妨げられることになる。
一方、本願で開示する電池システム10では、既述した通り、電池内圧Pbが、第一切替圧力P1以上であっても、電池内圧Pbが第二切替圧力P2未満、かつ、電池電圧Voが切替電圧V1未満であれば、入力制限値PWinを非ゼロとし、充電を許容する。切替電圧V1は、既述した通り、ガス発生電圧またはガス吸収電圧よりも低い。そのため、Vo<V1の状態であれば、充電を行っても電池内圧Pbの上昇は、抑制できる。
図8の例では、電池電圧Voが切替電圧V1未満となる時刻t2以降において、入力制限値PWinが非ゼロとなり、充電が許容される。充電が許容されても、ガスの発生は、抑制されるため、電池内圧Pbは、上昇することなく、徐々に低下する。また、充電が許容されることで、図8の下段において太線で示すように、時刻t2以降でのSOCの低下が抑制され、SOCが下限値Cmin未満となることが効果的に防止される。結果として、車両の良好な走行が維持される。そして、電池内圧Pbが十分に低下した時刻t5になれば、例外マップ参照状態から通常マップ参照状態に徐々に移行する。
以上の説明から明らかな通り、本願で開示する電池システム10によれば、電池内圧Pbが、第一切替圧力P1以上であっても、電池電圧Voが、ガス発生電圧またはガス吸収電圧よりも低い切替電圧V1未満であれば充電を許容する。そのため、電池内圧Pbの過度な上昇を抑えつつ、SOCの過度の低下を防止でき、車両の良好な走行が維持できる。
次に、本願で開示する電池システム10における入力制限値PWinの他の変化例について図9を参照して説明する。図9は、上段から順に、入力制限値PWin、通常制限値PWin_n、例外制限値PWin_a、電池電圧Vo、電池内圧Pb、ゲインGを示すグラフである。
図9の例では、時刻t1において、電池内圧Pbが、第一切替圧力P1以上となり、時刻t3において、電池内圧Pbが、第一切替圧力P1未満となる。したがって、通常制限値PWin_nは、時刻t1からt3の期間中、ゼロとなる。そして、時刻t4において、通常制限値PWin_nは、規定の復帰閾値PWin_cに達する。
一方、電池電圧Voは、時刻t2以前においては、切替電圧V1以上であり、時刻t2以降においては、切替電圧V1未満となる。したがって、例外制限値PWin_aは、時刻t2までは、ゼロであるが、時刻t2以降は、所定の値−Wbとなる。
入力制限値PWinに着目すると、通常制限値PWin_nが非ゼロである時刻t1までの期間中、入力制限値PWinは、PWin=PWin_n≠0となる。時刻t1において、通常制限値PWin_nがゼロになると、制御部32は、例外制限値PWin_aを入力制限値PWinとする。ただし、時刻t1から時刻t2までの間は、例外制限値PWin_aもゼロであるため、入力制限値PWinもゼロとなる。時刻t2において、電池電圧Voが切替電圧V1未満となり、例外制限値PWin_aが非ゼロとなれば、入力制限値PWinも非ゼロとなり、バッテリ12の充電が許容される。
その後、電池内圧Pbが徐々に低下し、時刻t4において、通常制限値PWin_nが規定の復帰閾値PWin_cに達すれば、例外マップ参照状態から通常マップ参照状態への移行を開始する。具体的には、時刻t4からゲインGのカウントを開始する。また、通常制限値PWin_nと例外制限値PWin_aとを重み付け加算した値(G×PWin_n+(1−G)×PWin_a)を、入力制限値PWinとして決定する。そして、時刻t5においてゲインGが1に達すれば、以降は、通常制限値PWin_nを入力制限値PWinとして決定する。このように、通常制限値PWin_nと例外制限値PWin_aを重み付け加算することで、時刻t4(移行開始時刻)において、通常および例外制限値が乖離していても、入力制限値PWinの急変を防止できる。
なお、例外制限値PWin_aの下限値−Wbを、復帰閾値PWin_cと同じにすれば(−Wb=PWin_c)、時刻t4における、通常制限値PWin_n、例外制限値PWin_aを、同じ値にできる。この場合、重み付け加算を行わなくても、入力制限値PWinの急変は、防止できる。しかし、通常制限値PWin_nが復帰閾値PWin_cに達した時刻(移行開始時刻)において、例外制限値PWin_aが、下限値−Wbにあるとは限らず、ゼロとなっている場合もある。この場合、−Wb=PWin_cとなっていたとしても、例外マップ参照状態から通常マップ参照状態への移行に際して、重み付け加算を行わないと、入力制限値PWinの急変が生じる。これについて図10を参照して説明する。
図10は、入力制限値PWinの変化の他の例を示す図である。図10のグラフは、上段から順に、入力制限値PWin、通常制限値PWin_n、例外制限値PWin_a、電池電圧Vo、電池内圧Pb、ゲインGを示している。図10の例では、電池内圧Pbは、時刻t1において第一切替圧力P1以上となるが、充電が禁止され続けることで、徐々に低下し、時刻t2において、第一切替圧力P1未満となる。したがって、通常制限値PWin_nは、時刻t1〜t2の期間中、ゼロとなる。そして、時刻t2以降、通常制限値PWin_nは、徐々に増加し、時刻t3において、復帰閾値PWin_cに達する。一方、図10の例では、電池電圧Voは、全期間中において、切替電圧V1より高い。そのため、図10の例では、例外制限値PWin_aは、常に、ゼロとなっている。
この場合において、制御部32は、通常制限値PWin_nが非ゼロの時刻t1までは、当該通常制限値PWin_nを入力制限値PWinとする。通常制限値PWin_nがゼロとなった時刻t1から、通常制限値PWin_nが復帰閾値PWin_cに達するt3までの期間中、制御部32は、例外制限値PWin_aを入力制限値PWinとして設定する。ただし、例外制限値PWin_aは、常時、ゼロであるため、入力制限値PWinもゼロである。
時刻t3において、通常制限値PWin_nが復帰閾値PWin_cに達すると、制御部32は、例外制限値PWin_aから通常制限値PWin_nへの移行を開始する。すなわち、ゲインGのカウントを開始するとともに、例外制限値PWin_aおよび通常制限値PWin_nを重み付け加算した値を、入力制限値PWinとして決定する。そして、ゲインGが、1になった時刻t4以降は、通常制限値PWin_nを入力制限値PWinとする。
ここで、図10から明らかな通り、例外マップ参照状態から通常マップ参照状態に移行開始する時刻t3において、例外制限値PWin_a(=0)と、通常制限値PWin_n(=PWin_c)は、乖離している。かかる場合に、重み付け加算しないまま、例外制限値PWin_aから通常制限値PWin_nに切り替えると、入力制限値PWinが急変することになる。一方、本願で開示する電池システム10では、例外マップ参照状態から通常マップ参照状態に移行する際には、重み付け加算をすることで、入力制限値PWinの急変を防止できる。
次に、本願で開示する電池システム10における入力制限値PWinの他の変化例について図11を参照して説明する。図11のグラフは、上段から順に、入力制限値PWin、通常制限値PWin_n、例外制限値PWin_a、電池電圧Vo、電池内圧Pbを示している。図11の例では、電池内圧Pbは、時刻t1において、第一切替圧力P1を超え、時刻t2において第二切替圧力P2を超えた後、時刻t4において、第二切替圧力P2未満に低下している。また、電池電圧Voは、時刻t3において、切替電圧V1未満となっている。
この場合、通常制限値PWin_nは、時刻t1以降、ゼロとなる。また、例外制限値PWin_aは、電池電圧Voが切替電圧V1以上である時刻t3以前では、ゼロである。また、電池電圧Voが切替電圧V1未満となった時刻t3以降も、電池内圧Pbが第二切替圧力P2未満となる時刻t4までは、例外制限値PWin_aは、ゼロのままである。電池電圧Voが切替電圧V1未満、かつ、電池内圧Pbが第二切替圧力P2未満となった時刻t4以降に、例外制限値PWin_aは、非ゼロとなる。
この場合、制御部32は、通常制限値PWin_nが非ゼロとなる時刻t1までは、通常制限値PWin_nを入力制限値PWinとして決定する。時刻t1以降は、例外制限値PWin_aを入力制限値PWinとして決定するが、既述した通り、例外制限値PWin_aは、時刻t4まではゼロであるため、入力制限値PWinもゼロとなる。時刻t4において、例外制限値PWin_aが非ゼロとなれば、入力制限値PWinも非ゼロとなり充電が許容される。
以上の説明から明らかな通り、本願で開示する電池システム10によれば、電池電圧Voが低い場合であっても、電池内圧Pbが、第二切替圧力P2以上の場合には、入力制限値PWinがゼロとなる。その結果、充電が完全に禁止されるため、ガスの発生が確実に防止され、電池内圧Pbが、安全弁が作動する上限圧力値Pmaxに達することを効果的に防止できる。
ところで、これまでの説明では、入力制限値PWinをゼロとした後、非ゼロとするまでの期間に制限を設けていない。しかし、入力制限値PWinをゼロとしてから非ゼロにするまでの期間に制限を設けない場合、短時間で、入力制限値PWinが変動するハンチングを招くおそれがある。そこで、入力制限値PWinがゼロとなってから、一定期間は、入力制限値PWinのゼロから非ゼロへの変化を禁止するようにしてもよい。
図12は、入力制限値PWinのゼロから非ゼロへ移行を一定期間ta禁止した場合の例を示している。図12のグラフは、上段から順に、入力制限値PWin、通常制限値PWin_n、例外制限値PWin_a、電池電圧Vo、電池内圧Pbを示している。図12の例では、時刻t1において、電池内圧Pbが第一切替圧力P1以上になった直後の時刻t2において、電池電圧Voが、切替電圧V1未満になっている。そのため、本来であれば、入力制限値PWinは、時刻t1においてゼロになった後、例外制限値PWin_aが非ゼロになる時刻t2以降に非ゼロになる。しかし、ハンチング動作を防止するために、ゼロから非ゼロへの移行禁止の期間taを設けた場合、入力制限値PWinは、時刻t1から一定期間taが経過した時刻t3において、非ゼロへと変化する。このように、ゼロから非ゼロへの移行禁止期間taを設けることで、入力制限値PWinの増減が短期間で繰り返されるハンチングが防止され、より安定した制御が可能となる。
いずれにしても、これまでの説明から明らかな通り、本願で開示する電池システム10では、電池内圧Pbが第一切替圧力P1以上であっても、一定の条件を満たす場合には、入力制限値PWinを非ゼロとして、充電を許容するため、SOCの過度の低下が抑制される。また、電池内圧Pbが第一切替圧力P1以上の場合には、電池電圧Voが、規定の切替電圧V1未満と低く、ガスの発生が抑制されている場合にのみ、入力制限値PWinを非ゼロとして、充電を許容している。そのため、ガスの発生が抑制され、電池内圧Pbが過度に上昇することが防止できるため、バッテリ12を適切に保護できる。
なお、これまで説明した構成は、一例であり、電池内圧Pbが第一切替圧力P1以上、第二切替圧力P2未満、かつ、電池電圧Voが切替電圧V1未満のときに、入力制限値PWinが非ゼロとなるのであれば、その他の構成は、適宜、変更されてもよい。例えば、上述の説明では、通常制限値PWin_nと例外制限値PWin_aの双方を特定し、選択している。しかし、Pb<P1のときは、PWin≠0となり、Pb≧P1のときは、さらにPb<P2かつVo<V1であればPWin≠0、P≧P2またはVo≧V1であれば、PWin=0となるようなマップを用意しておき、当該マップに基づいて入力制限値PWinを特定するようにしてもよい。
また、上述の説明では、電池内圧Pbを演算により求めているが、各単電池14に電圧センサ等を設けておき、当該電圧センサで電池内圧Pbを計測してもよい。また、上述の説明では、検出電圧Vbからドロップ電圧Vrを減算した値を、電池電圧Voとしているが、さらに、分極電圧Vpも計算し、検出電圧Vbからドロップ電圧Vrおよび分極電圧Vpを減算した値を、電池電圧Voとしてもよい。