(57)【特許請求の範囲】
【請求項１】
ニッケル水素電池からなるバッテリと、
前記バッテリの流出入電流を測定する電流センサと、
前記バッテリの端子電圧を測定する電圧センサと、
前記バッテリの温度を測定する温度センサと、
前記電流センサから測定された電流値を積算した電流積算値から前記バッテリのＳＯＣ推定値を算出するとともに、前記電流センサ、前記電圧センサ、及び前記温度センサからそれぞれ測定された電流値、端子電圧値、及び温度に基づいて求められた前記バッテリの開放端電圧値に対応する前記バッテリのＳＯＣ推定値を算出する演算部と、
を備える車載バッテリのＳＯＣ管理システムであって、
前記演算部は、
前記電流積算値ベースのＳＯＣ推定値が所定の低ＳＯＣ領域に含まれ、かつ、前記バッテリが放電状態であるときに、前記電流積算値ベースのＳＯＣ推定値と前記開放端電圧値ベースのＳＯＣ推定値との差分値に１未満の補正係数を掛けた値を前記電流積算値ベースのＳＯＣ推定値に加える補正を繰り返し行うことで、前記電流積算値ベースのＳＯＣ推定値を前記開放端電圧値ベースのＳＯＣ推定値に徐々に近づける第１の補正処理を実行し、
前記バッテリが放電状態から充電状態に切り替わったときに、前記第１の補正処理を中断して、前記第１の補正処理の開始時点から、前記放電状態から充電状態への切り替わり時点までにおける、前記電流積算値ベースのＳＯＣ推定値と前記開放端電圧値ベースのＳＯＣ推定値との最大差分値を、所定割合で順次経時的に前記電流積算値ベースのＳＯＣ推定値に加える第２の補正処理を実行する、
ことを特徴とする、車載バッテリのＳＯＣ管理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車両に搭載されたバッテリのＳＯＣ（Ｓｔａｔｅ  Ｏｆ  Ｃｈａｒｇｅ）を管理する管理システムに関する。
【背景技術】
【０００２】
回転電機を駆動源とする電気自動車やハイブリッド車両等には、二次電池からなるバッテリが搭載される。バッテリの過充電や過放電を抑制するために、バッテリの充電状態すなわちＳＯＣ［％］が管理される。例えばバッテリに電流センサを接続してバッテリに流出入する電流を測定し、その積算値（電流積算値）に基づいてバッテリのＳＯＣが推定される。
【０００３】
バッテリはその内部で化学反応等に伴う自己放電が生じる場合があり、これに起因してＳＯＣが低下する。しかしながら、自己放電はバッテリの内部反応であって外部への電流の流出入を伴わないため、自己放電が起こっても電流積算値には反映されない。その結果、自己放電が進むにつれて電流積算値ベースのＳＯＣ推定値と実際のＳＯＣとの乖離が大きくなる。そこで特許文献１では、バッテリの開放端電圧値（ＯＣＶ）に基づいてＳＯＣを推定し、これに基づいて電流積算値ベースのＳＯＣ推定値を補正している。
【０００４】
バッテリが低ＳＯＣ（例えば３０％以下）または高ＳＯＣ（例えば７０％以上）のとき、開放端電圧とＳＯＣとの間には高い精度で相関があることが知られている。そこで、バッテリが低ＳＯＣまたは高ＳＯＣのときの開放端電圧値を測定または推定し、これに対応するＳＯＣを求める。さらに、求めた開放端電圧値ベースのＳＯＣと積算電流値ベースのＳＯＣの差分を求める。
【０００５】
求められた差分をそのまま積算電流値ベースのＳＯＣに加えると当該ＳＯＣが急増または急減することになり、ＳＯＣを基準にしたバッテリ制御や車両制御が急変するおそれがある。制御の安定性を確保するため、ＳＯＣの差分値に１未満（例えば０．１）の補正係数を掛けた値を積算電流値ベースのＳＯＣに加える。その後再び開放端電圧値ベースのＳＯＣと積算電流値ベースのＳＯＣの差分を求めてこれに補正係数を掛けて積算電流値ベースのＳＯＣに加える。このようにして、積算電流値ベースのＳＯＣが徐々に開放端電圧値ベースのＳＯＣに近づけられる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００５−１１４６４６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ところで、バッテリがニッケル水素電池から構成される場合、ＳＯＣとバッテリの開放端電圧値（ＯＣＶ）との対応関係にずれが生じる、いわゆるメモリ効果が生じることがある。例えば、バッテリが低ＳＯＣのとき放電から充電に切り替わると、同一のＳＯＣであっても、充電時の開放端電圧は放電時の開放端電圧よりも高めに表れる。このように、ＳＯＣと開放端電圧との対応関係にずれが生じた状態で、開放端電圧値ベースのＳＯＣ推定値に基づく電流積算値ベースのＳＯＣ推定値の補正を行っても、高精度の補正を行うことは困難となる。そこで本発明は、メモリ効果によるＳＯＣ補正の精度の低下を抑制可能な、車載バッテリのＳＯＣ管理システムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明に係る車載バッテリのＳＯＣ管理システムは、ニッケル水素電池からなるバッテリと、前記バッテリの流出入電流を測定する電流センサと、前記バッテリの端子電圧を測定する電圧センサと、前記バッテリの温度を測定する温度センサを備える。さらに当該管理システムは、前記電流センサから測定された電流値を積算した電流積算値から前記バッテリのＳＯＣ推定値を算出するとともに、前記電流センサ、前記電圧センサ、及び前記温度センサからそれぞれ測定された電流値、端子電圧値、及び温度に基づいて求められた前記バッテリの開放端電圧値に対応する前記バッテリのＳＯＣ推定値を算出する演算部を備える。前記演算部は、前記電流積算値ベースのＳＯＣ推定値が所定の低ＳＯＣ領域に含まれ、かつ、前記バッテリが放電状態であるときに、前記電流積算値ベースのＳＯＣ推定値と前記開放端電圧値ベースのＳＯＣ推定値との差分値に１未満の補正係数を掛けた値を前記電流積算値ベースのＳＯＣ推定値に加える補正を繰り返し行うことで、前記電流積算値ベースのＳＯＣ推定値を前記開放端電圧値ベースのＳＯＣ推定値に徐々に近づける第１の補正処理を実行する。さらに前記演算部は、前記バッテリが放電状態から充電状態に切り替わったときに、前記第１の補正処理を中断して、前記第１の補正処理の開始時点から、前記放電状態から充電状態への切り替わり時点までにおける、前記電流積算値ベースのＳＯＣ推定値と前記開放端電圧値ベースのＳＯＣ推定値との最大差分値を、所定割合で順次経時的に前記電流積算値ベースのＳＯＣ推定値に加える第２の補正処理を実行する。
【発明の効果】
【０００９】
本発明によれば、バッテリが放電状態から充電状態に切り替わり、メモリ効果が生じたときには、それ以降の開放端電圧値ベースのＳＯＣ推定値を用いることなく、電流積算値ベースのＳＯＣ推定値の補正を行っている。このようにすることで、メモリ効果によるＳＯＣ補正精度の低下を抑制できる。
【図面の簡単な説明】
【００１０】
【図１】本実施形態に係るＳＯＣ管理システムを搭載した、車両のシステム構成図である。
【図２】本実施形態に係る、電流積算値ベースのＳＯＣ推定値の補正プロセスを説明するタイムチャートである。
【図３】本実施形態に係る、電流積算値ベースのＳＯＣ推定値の補正プロセスを説明するフローチャートである。
【図４】本実施形態の別例に係る、電流積算値ベースのＳＯＣ推定値の補正プロセスを説明するタイムチャートである。
【図５】本実施形態の別例に係る、電流積算値ベースのＳＯＣ推定値の補正プロセスを説明するフローチャートである。
【発明を実施するための形態】
【００１１】
図１には、本実施形態に係る車載バッテリのＳＯＣ管理システム及びその周辺機器の構成が例示されている。本実施形態に係るＳＯＣ管理システムは、回転電機１０を駆動源とする、電気自動車、ハイブリッド車両等に搭載される。ＳＯＣ管理システムは、バッテリ１２、演算部１４、電流センサ１６、電圧センサ１８、及び温度センサ１９を含んで構成される。後述するように、ＳＯＣ管理システムは、電流積算値ベースのＳＯＣ推定値ＳＯＣ＿Ｉの補正を行う。
【００１２】
バッテリ１２から出力される直流電力はＤＣ／ＤＣコンバータ２０によって昇圧される。さらに昇圧後の電力はインバータ２２によって直交変換され、車両の駆動源である回転電機１０に供給される。また、回転電機１０の回生時には回生電力がインバータ２２によって交直変換される。変換後の直流電力はＤＣ／ＤＣコンバータ２０によって降圧されてバッテリ１２に供給される。
【００１３】
バッテリ１２はニッケル水素電池から構成される。例えばバッテリ１２は、ニッケル水素単電池（電池セル）を複数直列接続させた積層体（スタック）から構成される。なお、一部の電池セル群を並列接続し、その電池セル群同士を直列接続させてもよい。
【００１４】
上述したように、ニッケル水素電池にはＳＯＣと開放端電圧値の対応関係にずれが生じる場合があり、その現象はメモリ効果と呼ばれている。具体的には、バッテリ１２のＳＯＣが所定の低ＳＯＣ領域（例えば３０％以下）に含まれるときに充電が行われると、同一のＳＯＣであっても、充電時の開放端電圧は、放電時の開放端電圧よりも高めに表れる。また、バッテリ１２のＳＯＣが所定の高ＳＯＣ領域（例えば７０％以上）に含まれるときに放電が行われると、同一のＳＯＣであっても、放電時の開放端電圧は、充電時の開放端電圧よりも低めに表れる。後述するように、本実施形態に係るＳＯＣ管理システムは、メモリ効果が発生した以降の開放端電圧値ベースのＳＯＣ推定値ＳＯＣ＿Ｖを用いることなく、電流積算値ベースのＳＯＣ推定値ＳＯＣ＿Ｉの補正を行う。
【００１５】
図１に示す車両には、回転電機１０の駆動制御やバッテリ１２の管理を行う制御部２４が設けられる。制御部２４は、コンピュータから構成されてよく、演算部１４、記憶部２６、クロック２７、及び図示しない機器・センサインターフェースが内部バスを介して互いに接続されている。
【００１６】
演算部１４は例えばＣＰＵ等の演算回路を含んで構成される。後述するように演算部１４は、クロック２７によりカウントされる演算周期ごとに演算処理を実行する。記憶部２６はＲＯＭ等の不揮発性メモリやＲＡＭ等の揮発性メモリを含む。記憶部２６には後述する電流積算値ベースのＳＯＣ推定値ＳＯＣ＿Ｉの補正フロー、電流積算値ベースのＳＯＣ推定値ＳＯＣ＿Ｉと開放端電圧値ベースのＳＯＣ推定値ＳＯＣ＿Ｖとの最大差分値ΔＳＯＣｍａｘ、及びバッテリ１２の開放端電圧値ＯＣＶとＳＯＣの対応関係が記憶されたＯＣＶ−ＳＯＣマップ等が記憶される。
【００１７】
制御部２４は、機器・センサインターフェースを介して、種々のセンサからの信号を受信する。具体的には、バッテリ１２の端子電圧（両端電圧）Ｖｂを検出する電圧センサ１８、バッテリ１２の流出入電流Ｉｂを検出する電流センサ１６、及びバッテリ１２の温度Ｔｂを検出する温度センサ１９から各測定値を受信する。また、制御部２４には、車両のスタートスイッチ２８から車両システムの始動（Ｒｅａｄｙ−Ｏｎ）及びシャットダウン（Ｒｅａｄｙ−Ｏｆｆ）の指令を受信する。
【００１８】
また制御部２４は、図示しないアクセルペダルセンサの踏み込み量に基づいて回転電機１０の出力を求め、これに基づいてＤＣ／ＤＣコンバータ２０及びインバータ２２の図示しないスイッチング素子をオン／オフ制御する。
【００１９】
さらに制御部２４は、演算部１４により求められた電流積算値ベースのＳＯＣ推定値ＳＯＣ＿Ｉに基づいて、バッテリ１２の充放電や負荷の挙動を制御する。例えばＳＯＣ推定値ＳＯＣ＿Ｉが所定の制限下限値に近い場合は、回転電機１０に供給する電力を制限してバッテリ１２の放電を絞る。また、ＳＯＣ推定値ＳＯＣ＿Ｉが所定の制限上限値に近い場合は、回転電機１０の回生駆動に制限を加えてバッテリ１２への充電を絞る。
【００２０】
演算部１４は、電流センサ１６から測定された電流値Ｉｂを受信する。さらに演算部１４は電流値Ｉｂを積算し、その電流積算値ΣＩｂから、バッテリ１２のＳＯＣ推定値ＳＯＣ＿Ｉ（以下単にＳＯＣ推定値ＳＯＣ＿Ｉとも呼ぶ）を求める。電流積算値ΣＩｂはバッテリ１２から流出した電流（放電電流）と流入する電流（充電電流）の収支を示すものであり、当該収支に応じてバッテリ１２の容量変化、すなわちＳＯＣの変化を求めることができる。
【００２１】
また、演算部１４は、電流センサ１６から受信した電流値Ｉｂの正負に応じて、バッテリ１２が放電状態であるか充電状態であるかを判定する。例えば電流値Ｉｂが正のときは放電状態、負のときは充電状態と判定する。
【００２２】
さらに演算部１４は、電圧センサ１８から測定された端子電圧値Ｖｂ及び温度センサ１９から測定されたバッテリ１２の温度Ｔｂを受信する。演算部１４は、これら端子電圧値Ｖｂ、バッテリ温度Ｔｂ、及び電流センサ１６から測定された電流値Ｉｂをもとに、バッテリ１２の開放端電圧（ＯＣＶ）を算出（推定）する。具体的には、開放端電圧値（ＯＣＶ）＝端子電圧値Ｖｂ−（電流値Ｉｂ×内部抵抗）との数式から、開放端電圧値（ＯＣＶ）を算出する。内部抵抗は、電流値Ｉｂとバッテリ温度Ｔｂに基づいて求めることができる。例えば、内部抵抗を抵抗マップまたは関数として記憶部２６に記憶してもよい。例えば抵抗マップを用いて、電流センサ１６から取得した電流値Ｉｂと、温度センサ１９から取得したバッテリ温度Ｔｂとに対応する、バッテリ１２の内部抵抗を求めることができる。
【００２３】
上述したようにバッテリ１２のＳＯＣと開放端電圧（ＯＣＶ）との間には相関関係があり、定性的にはＳＯＣが低いときには開放端電圧が低くなる。特に、バッテリ１２のＳＯＣが所定の高ＳＯＣ領域（例えば７０％以上）及び低ＳＯＣ領域（例えば３０％以下）に含まれるときであって、かつ、メモリ効果が表れていないとき、バッテリ１２の開放端電圧ＯＣＶとＳＯＣとの間には精度の高い（例えば一対一関係の）対応関係があることが従来から知られている。
【００２４】
記憶部２６には予め、高ＳＯＣ領域及び低ＳＯＣ領域におけるバッテリ１２の開放端電圧値ＯＣＶとこれに対応するＳＯＣ推定値ＳＯＣ＿Ｖの組み合わせがＯＣＶ−ＳＯＣマップとして記憶されている。ＯＣＶ−ＳＯＣマップとして、例えば低ＳＯＣ領域における、バッテリ１２の放電時の開放端電圧値とＳＯＣとの対応関係と、高ＳＯＣ領域における、バッテリ１２の充電時の開放端電圧値とＳＯＣとの対応関係が記憶部２６に記憶されている。演算部１４はＯＣＶ−ＳＯＣマップを参照して、演算部１４が求めた開放端電圧値に対応するＳＯＣ推定値ＳＯＣ＿Ｖを求める。
【００２５】
＜電流積算値ベースのＳＯＣ推定値ＳＯＣ＿Ｉの補正プロセス（１）＞
図２及び図３を用いて、本実施形態に係る電流積算値ベースのＳＯＣ推定値ＳＯＣ＿Ｉの補正プロセスについて説明する。図２には補正プロセス及びその前後のタイムチャートが例示されている。横軸は時間、縦軸はＳＯＣを示す。また、ＳＯＣ推定値ＳＯＣ＿Ｉを実線、ＳＯＣ推定値ＳＯＣ＿Ｖを二点鎖線、実ＳＯＣを一点鎖線で示す。ＳＯＣ推定値ＳＯＣ＿Ｖと実ＳＯＣとが重なる箇所については実ＳＯＣ（一点鎖線）のみを示す。図２では時刻ｔ２からｔ１０までＳＯＣ推定値ＳＯＣ＿Ｖと実ＳＯＣとが等しい例が示されている。さらに、縦軸に平行な破線は演算周期を表している。
【００２６】
上述したように、時間の経過に伴ってバッテリ１２の自己放電が進む。自己放電はバッテリ１２外部への電流の流出入を伴わないので、自己放電が進むにつれて電流積算値ベースのＳＯＣ推定値ＳＯＣ＿Ｉは実際のＳＯＣ（実ＳＯＣ）から乖離する。そこで、演算部１４は、開放端電圧値ベースのＳＯＣ推定値ＳＯＣ＿Ｖを利用して、電流積算値ベースのＳＯＣ推定値ＳＯＣ＿Ｉを補正する。
【００２７】
なお、理解を容易にするために、図２のタイムチャートで例示された補正プロセスの概要を予め説明すると、演算部１４は、Ｒｅａｄｙ＿Ｏｎから時刻ｔ１０まで第１の補正処理を実行し、時刻ｔ１０から時刻ｔ１１まで第２の補正処理を実行する。
【００２８】
図２に示されているように、直近の車両システムのシャットダウン時（Ｒｅａｄｙ−Ｏｆｆ）から起動時（Ｒｅａｄｙ−Ｏｎ）までの期間に生じた自己放電によりバッテリ１２の実ＳＯＣが低下する。一方で電流積算値ベースのＳＯＣ推定値ＳＯＣ＿ＩではＲｅａｄｙ−Ｏｆｆ時の値が維持される。これにより両者の差が徐々に開いていく。
【００２９】
演算部１４は、バッテリ１２のＳＯＣが所定の低ＳＯＣ領域に含まれる、すなわち、低ＳＯＣ領域の上限値ＳＯＣ＿ＴｈＬ以下であり、かつ、バッテリ１２が放電状態であるときに第１の補正処理を行う。第１の補正処理では、推定値ＳＯＣ＿Ｉ（ｔ）及び推定値ＳＯＣ＿Ｖ（ｔ）の差分値ΔＳＯＣ（ｔ）を算出し、さらにΔＳＯＣ（ｔ）に係数αを掛けた値を推定値ＳＯＣ＿Ｉ（ｔ）に加える。さらにこの処理を演算周期ごとに繰り返し行う。このような第１の補正処理を実行することで、推定値ＳＯＣ＿Ｉ（ｔ）が推定値ＳＯＣ＿Ｖ（ｔ）に徐々に近づけられる。
【００３０】
一方、時刻ｔ９にて放電状態から充電状態に切り替わったと判定されると、演算部１４は、その直後の演算周期である時刻ｔ１０から、第１の補正処理を中断し、第２の補正処理に切り替える。第２の補正処理では、第１の補正処理の開始時点（Ｒｅａｄｙ＿Ｏｎ）から、バッテリ１２が放電状態から充電状態に切り替わった切り替わり時点（時刻ｔ９）までの期間における、最大差分値ΔＳＯＣｍａｘを、所定割合で順次経時的にＳＯＣ推定値ＳＯＣ＿Ｉ（ｔ）に加算する。
【００３１】
具体的には、最大差分値ΔＳＯＣｍａｘを、毎秒βの割合で時刻ｔ１０から時刻ｔ１１に至るまで順次加算していく。係数βは１未満（例えば０．３）の実数である。このようにすることで、高い推定精度の推定値ＳＯＣ＿Ｖ（ｔ）から求めた最大差分値ΔＳＯＣｍａｘを、徐々に推定値ＳＯＣ＿Ｉ（ｔ）に加えていくことができる。
【００３２】
図３には、第１及び第２の補正処理を実行するためのフローチャートが例示されている。まず、スタートスイッチ２８が押され制御部２４が車両システムの起動指令（Ｒｅａｄｙ−Ｏｎ指令）を受信すると、制御部２４は図示しないシステムメインリレーを遮断状態から接続状態に切り替えてバッテリ１２と回転電機１０等の負荷とを導通させる。
【００３３】
このとき、演算部１４はシャットダウン時（Ｒｅａｄｙ−Ｏｆｆ）のバッテリ１２の開放端電圧値とシステム起動時（Ｒｅａｄｙ−Ｏｎ）のバッテリ１２の開放端電圧値との差ΔＯＣＶを求める。さらにこの値ΔＯＣＶが所定の閾値ΔＯＣＶ＿ｔｈ以上であるか否かを判定する（Ｓ１０）。上述したように、開放端電圧とＳＯＣとの間には相関があり、このステップでは、開放端電圧の差異をもとに、Ｒｅａｄｙ−Ｏｆｆ時からＲｅａｄｙ−Ｏｎ時までのＳＯＣ（実ＳＯＣ）の変化の大きさを判定している。
【００３４】
演算部１４はΔＯＣＶが閾値ΔＯＣＶ＿ｔｈ以上であるとき、次のステップＳ１２に進む。またΔＯＣＶが閾値ΔＯＣＶ＿ｔｈ未満であるときには、電流積算値ベースのＳＯＣ推定値ＳＯＣ＿Ｉと実ＳＯＣとの差がそれほど大きく開いていないと考えられることから、電流積算値ベースのＳＯＣ推定値ＳＯＣ＿Ｉの補正は行わずに、本フローを終了させる。
【００３５】
ステップＳ１２にて演算部１４は、時刻ｔにおける電流積算値ベースのＳＯＣ推定値ＳＯＣ＿Ｉ（ｔ）が、低ＳＯＣ領域の上限値ＳＯＣ＿ＴｈＬ以下であるか否かを判定する。このステップでは、バッテリ１２の実ＳＯＣが、開放端電圧値ベースのＳＯＣ推定値ＳＯＣ＿Ｖの推定精度の高い領域に含まれているか否かが判定される。低ＳＯＣ領域の上限値ＳＯＣ＿ＴｈＬは例えば３０％である。
【００３６】
ＳＯＣ推定値ＳＯＣ＿Ｉ（ｔ）が上限値ＳＯＣ＿ＴｈＬを超過する場合には、ＳＯＣ推定値ＳＯＣ＿Ｉの補正は行わずに、本フローを終了させる。ＳＯＣ推定値ＳＯＣ＿Ｉ（ｔ）が、低ＳＯＣ領域の上限値ＳＯＣ＿ＴｈＬ以下である場合、演算部１４は、電流センサ１６の測定値を参照して、バッテリ１２が放電状態であるか否かを判定する（Ｓ１４）。放電状態でない場合（充電状態の場合）、メモリ効果により、ＳＯＣ推定値ＳＯＣ＿Ｖの推定精度が低いため、ＳＯＣ推定値ＳＯＣ＿Ｉの補正は行わずに、本フローを終了させる。
【００３７】
バッテリ１２が放電中である場合、演算部１４は時刻ｔにおける電流積算値ベースのＳＯＣ推定値ＳＯＣ＿Ｉ（ｔ）と開放端電圧値ベースの推定値ＳＯＣ＿Ｖ（ｔ）との差分値ΔＳＯＣ（ｔ）を求める（Ｓ１６）。例えば図２の時刻ｔ１におけるＳＯＣ推定値ＳＯＣ＿Ｖ（ｔ１）からＳＯＣ推定値ＳＯＣ＿Ｉ（ｔ１）を引いた値を差分値ΔＳＯＣ（ｔ１）とする（ΔＳＯＣ（ｔ１）＝ＳＯＣ＿Ｖ（ｔ１）−ＳＯＣ＿Ｉ（ｔ１））。
【００３８】
さらに演算部１４は差分値ΔＳＯＣ（ｔ）に補正係数αを掛けた値を電流積算値ベースのＳＯＣ推定値ＳＯＣ＿Ｉ（ｔ）に加える（Ｓ１８）。補正係数αは１未満（例えば０．１）の実数であり、差分値ΔＳＯＣ（ｔ）がそのままＳＯＣ推定値ＳＯＣ＿Ｉ（ｔ）に加えられることを防止している。補正係数αによってＳＯＣ推定値ＳＯＣ＿Ｉ（ｔ）は徐々にＳＯＣ推定値ＳＯＣ＿Ｖ（ｔ）に近づいていく。このようななだらかな補正を行うことで、ＳＯＣ推定値ＳＯＣ＿Ｉ（ｔ）の急変が回避され、その結果、ＳＯＣ推定値ＳＯＣ＿Ｉ（ｔ）に基づくバッテリ制御及び車両制御の急変が回避される。
【００３９】
演算部１４はＳＯＣ推定値ＳＯＣ＿Ｉ（ｔ）に差分値ΔＳＯＣ（ｔ）×αが加えられた値と、ＳＯＣ推定値ＳＯＣ＿Ｖ（ｔ）との差が十分に詰められたか否かを判定する（Ｓ２０）。補正係数αが１未満の実数であることから、ＳＯＣ推定値ＳＯＣ＿Ｉ（ｔ）はＳＯＣ推定値ＳＯＣ＿Ｖ（ｔ）と完全には一致せず、徐々に漸近することになる。そこで、推定値ＳＯＣ＿Ｉ（ｔ）と推定値ＳＯＣ＿Ｖ（ｔ）との差が実質的になくなったと評価できる程度にまで両者の差が詰められた場合に、推定値ＳＯＣ＿Ｉの補正フローを終了させる。例えば、推定値ＳＯＣ＿Ｖ（ｔ）を推定値ＳＯＣ＿Ｉ（ｔ）で割った値が０．９以上１．１以下の範囲に含まれる場合に、演算部１４は図３に示す補正フローを終了させる。
【００４０】
推定値ＳＯＣ＿Ｉ（ｔ）に差分値ΔＳＯＣ（ｔ）×αを加えた値と、ＳＯＣ推定値ＳＯＣ＿Ｖ（ｔ）との差がまだ開いている場合には、演算部１４はステップＳ２２に進む。このステップでは、第１の補正処理の開始時点から現在時点（ステップＳ２２実行時点）までの差分値ΔＳＯＣの最大値（最大差分値）ΔＳＯＣｍａｘの更新可否を判定する。演算部１４は現在記憶されている最大差分値ΔＳＯＣｍａｘがステップＳ１６にて算出された差分値ΔＳＯＣ（ｔ）を下回るか否かを判定する。
【００４１】
ΔＳＯＣ（ｔ）  ＞  ΔＳＯＣｍａｘである場合、演算部１４は最大差分値ΔＳＯＣｍａｘをステップＳ１６にて算出された差分値ΔＳＯＣ（ｔ）に更新する（Ｓ２４）。具体的には記憶部２６に記憶された最大差分値ΔＳＯＣｍａｘを書き換える。一方、ステップＳ２２にてΔＳＯＣ（ｔ）  ≦  ΔＳＯＣｍａｘである場合には、現在の最大差分値ΔＳＯＣｍａｘを保持したまま次のステップＳ２６に進む。
【００４２】
例えば図２に示す例では、まず、時刻ｔ１における差分値ΔＳＯＣ（ｔ１）が最大差分値ΔＳＯＣｍａｘとして記憶部２６に記憶される。次に時刻ｔ２において、ΔＳＯＣｍａｘ（＝ΔＳＯＣ（ｔ１））  ＜  ΔＳＯＣ（ｔ２）であることから、ΔＳＯＣ（ｔ２）がΔＳＯＣｍａｘとして更新される。時刻ｔ３ではΔＳＯＣｍａｘ（＝ΔＳＯＣ（ｔ２））  ＞  ΔＳＯＣ（ｔ３）であることから、ΔＳＯＣｍａｘは更新されることなく維持される。さらに時刻ｔ４において、ΔＳＯＣｍａｘ（＝ΔＳＯＣ（ｔ２））  ＜  ΔＳＯＣ（ｔ４）であることから、ΔＳＯＣ（ｔ４）がΔＳＯＣｍａｘとして更新される。
【００４３】
ステップＳ２６では、次の演算周期まで待機する。このとき、演算周期のカウントがインクリメントされる（ｔ→ｔ＋１）。その後、演算部１４はステップＳ１２と同様に、推定値ＳＯＣ＿Ｉ（ｔ）が、低ＳＯＣ領域の上限値ＳＯＣ＿ＴｈＬ以下であるか否かを判定する（Ｓ２８）。推定値ＳＯＣ＿Ｉ（ｔ）が上限値ＳＯＣ＿ＴｈＬを超過する場合、開放端電圧値ベースのＳＯＣ推定値ＳＯＣ＿ＶによるＳＯＣ補正の精度が低くなるため、演算部１４は図３に示す補正フローを終了させる。
【００４４】
推定値ＳＯＣ＿Ｉ（ｔ）が上限値ＳＯＣ＿ＴｈＬ以下である場合、演算部１４は電流センサ１６の測定値を参照して、バッテリ１２が放電状態から充電状態に切り替わったか否かを判定する（Ｓ３０）。放電状態が継続されている場合、演算部１４はステップＳ１６に戻り、再び推定値ＳＯＣ＿Ｉ（ｔ）及び推定値ＳＯＣ＿Ｖ（ｔ）の差分値ΔＳＯＣ（ｔ）を算出し、さらにΔＳＯＣ（ｔ）に係数αを掛けた値を推定値ＳＯＣ＿Ｉ（ｔ）に加える（Ｓ１８）。このように、推定値ＳＯＣ＿Ｉ（ｔ）及び推定値ＳＯＣ＿Ｖ（ｔ）の差分値ΔＳＯＣ（ｔ）に係数αを掛けた値を推定値ＳＯＣ＿Ｉ（ｔ）に加える補正を繰り返す第１の補正処理を実行することで、推定値ＳＯＣ＿Ｉ（ｔ）が推定値ＳＯＣ＿Ｖ（ｔ）に徐々に近づけられる。
【００４５】
一方、ステップＳ３０にてバッテリ１２が放電状態から充電状態に切り替わったと判定されると、演算部１４は、放電状態から充電状態に切り替わった直後の演算周期（図２の時刻ｔ１０）において、第１の補正処理の開始時点（Ｒｅａｄｙ＿Ｏｎ）から、放電から充電への切り替わり時点（時刻ｔ９）までの期間における、最大差分値ΔＳＯＣｍａｘを、所定割合で順次経時的にＳＯＣ推定値ＳＯＣ＿Ｉ（ｔ）に加算する第２の補正処理を実行する（Ｓ３２）。
【００４６】
具体的には、最大差分値ΔＳＯＣｍａｘを、毎秒βの割合で順次加算していく。係数βは１未満（例えば０．３）の実数である。このようにすることで、高い推定精度の推定値ＳＯＣ＿Ｖ（ｔ）から求めた最大差分値ΔＳＯＣｍａｘを、徐々に推定値ＳＯＣ＿Ｉ（ｔ）に加えていくことができる。
【００４７】
また、図３に示すフローチャートでは、第１の補正処理の開始時点からバッテリ１２が放電から充電に切り替わる時点まで、すべての差分値ΔＳＯＣ（ｔ）を記憶するのではなく、ステップＳ２２及びＳ２４のように、最大差分値ΔＳＯＣｍａｘのみを記憶している。このようにすることで、記憶部２６の負荷を軽減することが可能となる。
【００４８】
＜電流積算値ベースのＳＯＣ推定値ＳＯＣ＿Ｉの補正プロセス（２）＞
図２、図３に示す補正プロセスでは、バッテリ１２のＳＯＣが低ＳＯＣ領域に含まれ、かつ、バッテリ１２が放電状態にあるときを狙ってＳＯＣ推定値ＳＯＣ＿Ｉの補正（第１の補正処理）を行っていたが、この形態に限らない。上述したように、バッテリ１２のＳＯＣが高ＳＯＣ領域に含まれ、かつ、バッテリ１２が充電状態にあるときにも、開放端電圧値ベースのＳＯＣ推定値ＳＯＣ＿Ｖの推定精度は高い。そこで、図４及び図５に示すように、バッテリ１２のＳＯＣが高ＳＯＣ領域に含まれ、かつ、バッテリ１２が充電状態にあるときを狙って、電流積算値ベースのＳＯＣ推定値ＳＯＣ＿Ｉの補正を行ってもよい。
【００４９】
図４には、本実施形態に係る補正プロセス及びその前後のタイムチャートが例示されている。タイムチャートに係る凡例は図２と同様である。また、なお、図５に示すフローチャートは、図３のフローチャートのステップＳ１２、Ｓ１４、Ｓ２８、Ｓ３０が、それぞれ、ステップＳ４２、Ｓ４４、Ｓ４８、Ｓ５０に置き換えられたものである。なお以下では、ステップ番号が重複するものについては適宜説明を省略する。
【００５０】
図４に示されているように、車両システムのシャットダウン時（Ｒｅａｄｙ−Ｏｆｆ）から車両システムの起動時（Ｒｅａｄｙ−Ｏｎ）までの期間に生じた自己放電によりバッテリ１２の実ＳＯＣが低下する。一方で電流積算値ベースのＳＯＣ推定値ＳＯＣ＿Ｉではシャットダウン時（Ｒｅａｄｙ−Ｏｆｆ）の値が維持される。これにより両者の差が徐々に開いていく。
【００５１】
スタートスイッチ２８が押され制御部２４がＲｅａｄｙ−Ｏｎ指令を受信すると、制御部２４は図示しないシステムメインリレーを遮断状態から接続状態に切り替えてバッテリ１２と回転電機１０等の負荷とを導通させる。
【００５２】
演算部１４はＲｅａｄｙ−Ｏｆｆ時のバッテリ１２の開放端電圧値とＲｅａｄｙ−Ｏｎ時のバッテリ１２の開放端電圧値との差ΔＯＣＶが、所定の閾値ΔＯＣＶ＿ｔｈ以上であるか否かを判定する（図５のＳ１０）。
【００５３】
ΔＯＣＶが閾値ΔＯＣＶ＿ｔｈ以上であるとき、演算部１４は、電流積算値ベースのＳＯＣ推定値ＳＯＣ＿Ｉ（ｔ）が、高ＳＯＣ領域の下限値ＳＯＣ＿ＴｈＨ以上であるか否かを判定する（Ｓ４２）。ＳＯＣ推定値ＳＯＣ＿Ｉ（ｔ）が下限値ＳＯＣ＿ＴｈＨ未満である場合には、ＳＯＣ推定値ＳＯＣ＿Ｉ（ｔ）の補正は行わずに、本フローを終了させる。ＳＯＣ推定値ＳＯＣ＿Ｉ（ｔ）が、下限値ＳＯＣ＿ＴｈＨ以上である場合、演算部１４は、電流センサ１６の測定値を参照して、バッテリ１２が充電状態であるか否かを判定する（Ｓ４４）。
【００５４】
ステップＳ４４にてバッテリ１２が充電状態でない場合（放電状態の場合）、メモリ効果により、ＳＯＣ推定値ＳＯＣ＿Ｖ（ｔ）の推定精度が低下するため、ＳＯＣ推定値ＳＯＣ＿Ｉ（ｔ）の補正は行わずに、本フローを終了させる。バッテリ１２が充電中である場合、演算部１４は次のステップＳ１６に進む。
【００５５】
車両システムの起動時にステップＳ４４を満たす、つまり起動直後にバッテリ１２が充電状態となるケースとして、例えば車両が下り坂で停車している場合が挙げられる。この停車状態で車両システムが起動（Ｒｅａｄｙ−Ｏｎ）されると、車両は下り坂を走行する。このとき回生制動によって回転電機１０からバッテリ１２に充電電流が供給される。このときバッテリ１２が高ＳＯＣであれば、ステップＳ４２の条件も満たされる。
【００５６】
ステップＳ１６にて電流積算値ベースのＳＯＣ推定値ＳＯＣ＿Ｉ（ｔ）と開放端電圧値ベースの推定値ＳＯＣ＿Ｖ（ｔ）との差分値ΔＳＯＣ（ｔ）が求められる。さらに演算部１４は差分値ΔＳＯＣ（ｔ）に補正係数αを掛けた値を電流積算値ベースのＳＯＣ推定値ＳＯＣ＿Ｉ（ｔ）に加える（Ｓ１８）。
【００５７】
演算部１４はＳＯＣ推定値ＳＯＣ＿Ｉ（ｔ）に差分値ΔＳＯＣ（ｔ）×αが加えられた値と、ＳＯＣ推定値ＳＯＣ＿Ｖ（ｔ）との差が十分に詰められたか否かを判定する（Ｓ２０）。両者の差がまだ開いている場合には、演算部１４はステップＳ２２、Ｓ２４に進み、最大差分値ΔＳＯＣｍａｘの更新可否を判定する。その後、次の演算周期まで待機する（Ｓ２６）。
【００５８】
ステップＳ２６で演算周期がインクリメントされると、演算部１４はステップＳ４２と同様に、推定値ＳＯＣ＿Ｉ（ｔ）が、高ＳＯＣ領域の下限値ＳＯＣ＿ＴｈＨ以上であるか否かを判定する（Ｓ４８）。推定値ＳＯＣ＿Ｉ（ｔ）が下限値ＳＯＣ＿ＴｈＨ未満である場合、演算部１４は図５に示す補正フローを終了させる。
【００５９】
推定値ＳＯＣ＿Ｉ（ｔ）が下限値ＳＯＣ＿ＴｈＨ以上である場合、演算部１４は電流センサ１６の測定値を参照して、バッテリ１２が充電状態から放電状態に切り替わったか否かを判定する（Ｓ５０）。充電状態が継続されている場合、演算部１４はステップＳ１６に戻り、再び推定値ＳＯＣ＿Ｉ（ｔ）及び推定値ＳＯＣ＿Ｖ（ｔ）の差分値ΔＳＯＣ（ｔ）を算出し、さらにΔＳＯＣ（ｔ）に係数αを掛けた値を推定値ＳＯＣ＿Ｉ（ｔ）に加える（Ｓ１８）。
【００６０】
ステップＳ５０にてバッテリ１２が充電状態から放電状態に切り替わったと判定されると、演算部１４は、図４の時刻ｔ３０に示すように、充電状態から放電状態に切り替わった（時刻ｔ２９）直後の演算周期において、第１の補正処理を中断し、第２の補正処理に切り替える。すなわち、第１の補正処理の開始時点（Ｒｅａｄｙ＿Ｏｎ）から切り替わり時点（時刻ｔ２９）までの期間における、最大差分値ΔＳＯＣｍａｘを、所定割合（β）で順次経時的にＳＯＣ推定値ＳＯＣ＿Ｉ（ｔ）に加算する（Ｓ３２）。図４に示す例では、この加算期間（すなわち、第２の補正処理期間）は時刻ｔ３０からｔ３１までの期間である。また、最大差分値ΔＳＯＣｍａｘは時刻ｔ２４における差分値ΔＳＯＣ（ｔ２４）である。
【００６１】
＜電流積算値ベースのＳＯＣ推定値ＳＯＣ＿Ｉの補正処理  その他の実施形態＞
なお、図２〜図５の実施形態では、車両システムの起動時、つまり車両システムの起動時（Ｒｅａｄｙ−Ｏｎ）に電流積算値ベースのＳＯＣ推定値ＳＯＣ＿Ｉの補正を行っていたが、この形態に限らない。電流センサ１６の誤差を補正する目的で図２〜図５の補正フローを実行してもよい。
【００６２】
ＳＯＣ推定値ＳＯＣ＿Ｉは電流センサ１６の測定値Ｉｂが積算されることで求められる。電流センサ１６の測定値に誤差が含まれる場合、測定値Ｉｂの積算過程で誤差も蓄積される。この誤差の蓄積により、ＳＯＣ推定値ＳＯＣ＿Ｉは実ＳＯＣから乖離するおそれがある。そこで、演算部１４は、前回のＳＯＣ推定値ＳＯＣ＿Ｉの補正フロー終了時点から所定時間経過後に、図２〜図５の補正フローを実行するようにしてもよい。
【００６３】
また、図２〜５に示す補正処理フローでは、メモリ効果が生じた以降の補正処理を、最大差分値ΔＳＯＣｍａｘに基づいて行っていたが、この形態に限らない。例えば、低ＳＯＣであれば放電から充電に切り替わったときの差分値ΔＳＯＣ（ｔ９）を、高ＳＯＣであれば充電から放電に切り替わったときの差分値ΔＳＯＣ（ｔ２９）を、所定割合（β）で順次経時的にＳＯＣ推定値ＳＯＣ＿Ｉ（ｔ）に加算するようにしてもよい。
【００６４】
最大差分値ΔＳＯＣｍａｘと差分値ΔＳＯＣ（ｔ９）またはΔＳＯＣ（ｔ２９）との差異が、開放端電圧に基づくＳＯＣ推定の推定誤差を上回るような場合には、最大差分値ΔＳＯＣｍａｘの代わりに差分値ΔＳＯＣ（ｔ９）またはΔＳＯＣ（ｔ２９）に基づいて補正処理を行うことで、より精度の高い補正を行うことができる。
【符号の説明】
【００６５】
１０  回転電機、１２  バッテリ、１４  演算部、１６  電流センサ、１８  電圧センサ、１９、温度センサ、２４  制御部、２６  記憶部、ＳＯＣ＿Ｉ  電流積算値ベースのＳＯＣ推定値、ＳＯＣ＿Ｖ  開放端電圧値ベースのＳＯＣ推定値。
【図１】
0006500795.tif 000002
【図２】
0006500795.tif 000003
【図３】
0006500795.tif 000004
【図４】
0006500795.tif 000005
【図５】
0006500795.tif 000006