(57)【特許請求の範囲】
【請求項１】
二次電池の推定開放電圧値に基づいて求められる充電率である電圧起因推定充電率を取得する電圧起因推定充電率取得部と、
前記二次電池の実測電流値と、前記実測電流値に含まれ得る誤差と、前記電圧起因推定充電率に含まれ得る誤差とに基づいて、充電率上限値または充電率下限値の少なくとも一方を設定する制限値設定部と、
前記電圧起因推定充電率取得部が取得した前記電圧起因推定充電率が、前記制限値設定部が設定した範囲内にある場合、当該電圧起因推定充電率を充電率演算結果として選択し、前記電圧起因推定充電率取得部が取得した前記電圧起因推定充電率が、前記制限値設定部が設定した範囲内にない場合、前記制限値設定部が充電率上限値を設定しており、かつ、前記電圧起因推定充電率が、当該充電率上限値より大きいときは、当該充電率上限値を充電率演算結果として選択し、前記制限値設定部が充電率下限値を設定しており、かつ、前記電圧起因推定充電率が、当該充電率下限値より小さいときは、当該充電率下限値を充電率演算結果として選択する充電率選択部と、
を具備し、
前記制限値設定部は、前記充電率上限値を設定する場合、前記推定開放電圧値の変化に対する前記電圧起因推定充電率の変化の割合が小さいほど、前記充電率上限値を大きく設定し、前記充電率下限値を設定する場合、前記推定開放電圧値の変化に対する前記電圧起因推定充電率の変化の割合が小さいほど、前記充電率下限値を小さく設定することを特徴とする充電率演算システム。
【請求項２】
充放電演算システムの充放電演算方法であって、
二次電池の推定開放電圧値に基づいて求められる充電率である電圧起因推定充電率を取得する電圧起因推定充電率取得ステップと、
前記二次電池の実測電流値と、前記実測電流値に含まれ得る誤差と、前記電圧起因推定充電率に含まれ得る誤差とに基づいて、充電率上限値または充電率下限値の少なくとも一方を設定する制限値設定ステップと、
前記電圧起因推定充電率取得ステップにて取得した前記電圧起因推定充電率が、前記制限値設定ステップにて設定した範囲内にある場合、当該電圧起因推定充電率を充電率演算結果として選択し、前記電圧起因推定充電率取得ステップにて取得した前記電圧起因推定充電率が、前記制限値設定ステップにて設定した範囲内にない場合、前記制限値設定ステップにて充電率上限値を設定しており、かつ、前記電圧起因推定充電率が、当該充電率上限値より大きいときは、当該充電率上限値を充電率演算結果として選択し、前記制限値設定ステップにて充電率下限値を設定しており、かつ、前記電圧起因推定充電率が、当該充電率下限値より小さいときは、当該充電率下限値を充電率演算結果として選択する充電率選択ステップと、
を具備し、
前記制限値設定ステップでは、前記充電率上限値を設定する場合、前記推定開放電圧値の変化に対する前記電圧起因推定充電率の変化の割合が小さいほど、前記充電率上限値を大きく設定し、前記充電率下限値を設定する場合、前記推定開放電圧値の変化に対する前記電圧起因推定充電率の変化の割合が小さいほど、前記充電率下限値を小さく設定することを特徴とする充電率演算方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、充電率演算システムおよび充電率演算方法に関する。
【背景技術】
【０００２】
二次電池の充電率（ＳＯＣ；State Of Charge）を算出する方法として、電池の充放電電流の積分値を元に算出する方法が一般に用いられている。しかし、この方法では、電流積分誤差の蓄積により、得られる充電率が実態と異なるおそれがある。また、電池が劣化して電池容量が低下した場合にも、得られる充電率が実態と異なるおそれがある。
そこで、特許文献１では、電流検出誤差の影響を考慮することにより充電率演算精度を向上させる技術が示されている。より具体的には、特許文献１に記載の充電率演算システムは、推定開放電圧に基づいて演算した推定充電率ＳＯＣＶと、実測電流の誤差を反映した推定充電率の上限ＳＯＣ−Ｈおよび下限ＳＯＣ−Ｌとの関係から、最適であろうと推定できる値を現在の充電率に決定する。
これにより、演算した充電率の値について、過去の累積的な誤差の混入を削減するとともに、電池容量の低下も考慮されるため、充電率の演算結果の精度を向上させることができる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】国際公開第２０１１／１０４７５２号
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１において考慮されている電流検出誤差に加えて、電池端子電圧にも検出誤差が含まれ得る。充電率算出に際して電池端子電圧の検出誤差を考慮することができれば、充電率の演算結果の精度をさらに向上させ得る。
【０００５】
本発明は、このような事情を考慮してなされたものであり、その目的は、充電率の演算結果の精度を、より向上させることのできる充電率演算システムおよび充電率演算方法を提供することにある。
【課題を解決するための手段】
【０００６】
この発明は上述した課題を解決するためになされたもので、本発明の一態様による充電率演算システムは、二次電池の推定開放電圧値に基づいて求められる充電率である電圧起因推定充電率を取得する電圧起因推定充電率取得部と、前記二次電池の実測電流値と、前記実測電流値に含まれ得る誤差と、前記電圧起因推定充電率に含まれ得る誤差とに基づいて、充電率上限値または充電率下限値の少なくとも一方を設定する制限値設定部と、前記電圧起因推定充電率取得部が取得した前記電圧起因推定充電率が、前記制限値設定部が設定した範囲内にある場合、当該電圧起因推定充電率を充電率演算結果として選択し、前記電圧起因推定充電率取得部が取得した前記電圧起因推定充電率が、前記制限値設定部が設定した範囲内にない場合、前記制限値設定部が充電率上限値を設定しており、かつ、前記電圧起因推定充電率が、当該充電率上限値より大きいときは、当該充電率上限値を充電率演算結果として選択し、前記制限値設定部が充電率下限値を設定しており、かつ、前記電圧起因推定充電率が、当該充電率下限値より小さいときは、当該充電率下限値を充電率演算結果として選択する充電率選択部と、を具備し、前記制限値設定部は、前記充電率上限値を設定する場合、前記推定開放電圧値の変化に対する前記電圧起因推定充電率の変化の割合が小さいほど、前記充電率上限値を大きく設定し、前記充電率下限値を設定する場合、前記推定開放電圧値の変化に対する前記電圧起因推定充電率の変化の割合が小さいほど、前記充電率下限値を小さく設定することを特徴とする。
【０００９】
また、本発明の一態様による充電率演算方法は、充放電演算システムの充放電演算方法であって、二次電池の推定開放電圧値に基づいて求められる充電率である電圧起因推定充電率を取得する電圧起因推定充電率取得ステップと、前記二次電池の実測電流値と、前記実測電流値に含まれ得る誤差と、前記電圧起因推定充電率に含まれ得る誤差とに基づいて、充電率上限値または充電率下限値の少なくとも一方を設定する制限値設定ステップと、前記電圧起因推定充電率取得ステップにて取得した前記電圧起因推定充電率が、前記制限値設定ステップにて設定した範囲内にある場合、当該電圧起因推定充電率を充電率演算結果として選択し、前記電圧起因推定充電率取得ステップにて取得した前記電圧起因推定充電率が、前記制限値設定ステップにて設定した範囲内にない場合、前記制限値設定ステップにて充電率上限値を設定しており、かつ、前記電圧起因推定充電率が、当該充電率上限値より大きいときは、当該充電率上限値を充電率演算結果として選択し、前記制限値設定ステップにて充電率下限値を設定しており、かつ、前記電圧起因推定充電率が、当該充電率下限値より小さいときは、当該充電率下限値を充電率演算結果として選択する充電率選択ステップと、を具備し、前記制限値設定ステップでは、前記充電率上限値を設定する場合、前記推定開放電圧値の変化に対する前記電圧起因推定充電率の変化の割合が小さいほど、前記充電率上限値を大きく設定し、前記充電率下限値を設定する場合、前記推定開放電圧値の変化に対する前記電圧起因推定充電率の変化の割合が小さいほど、前記充電率下限値を小さく設定することを特徴とする。
【発明の効果】
【００１０】
本発明によれば、充電率の演算結果の精度を、より向上させることができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の一実施形態における充電率演算システムの機能構成を示す概略ブロック図である。
【図２】同実施形態において、充電率選択部が行う充電率の選択と、制限値設定部が算出する充電率上限値および充電率下限値の関係の例を示す説明図である。
【図３】同実施形態の充電率テーブルにおける、充電率（電圧起因推定充電率）と推定開放電圧値との関係の例を示す説明図である。
【図４】同実施形態において、充電率上限値および充電率下限値が真の充電率から乖離する例を示す説明図である。
【図５】同実施形態において、充電率選択部が選択した充電率が回復する例を示す説明図である。
【発明を実施するための形態】
【００１２】
以下、図面を参照して、本発明の実施の形態について説明する。図１は、本発明の一実施形態における充電率演算システムの機能構成を示す概略ブロック図である。同図において、充電率演算システム１は、温度センサ１１と、電圧センサ１２と、電流センサ１３と、電池インピーダンスモデル部２０と、推定開放電圧演算部３１と、電圧起因推定充電率取得部（ＳＯＣＶ取得部）３２と、誤差設定部４１と、電池容量取得部４２と、演算周期通知部４３と、制限値設定部４４と、充電率選択部５１と、演算結果送信部５２とを具備する。電池インピーダンスモデル部２０は、推定インピーダンス管理部２１と、推定インピーダンス電圧演算部２２とを具備する。
【００１３】
温度センサ１１は、充電率演算対象の二次電池（以下、単に「二次電池」と称する）の電池容器の温度を測定し、測定結果の温度（を示す信号）を電池インピーダンスモデル部２０と電圧起因推定充電率取得部３２とに出力する。以下では、二次電池の電池容器の温度を「電池温度」と称する。
【００１４】
電圧センサ１２は、二次電池の両端電圧値を測定し、測定結果の電圧値（を示す信号）を推定開放電圧演算部３１に出力する。
電流センサ１３は、二次電池を流れる電流値（出力電流値または充電電流値）を測定し、測定結果の電流値（を示す信号）を電池インピーダンスモデル部２０（推定インピーダンス電圧演算部２２）と、制限値設定部４４とに出力する。以下では、電流センサ１３が測定した二次電池を流れる電流の値を「電池電流値」と称する。
【００１５】
電池インピーダンスモデル部２０は、充電率演算対象の二次電池のインピーダンスモデルにおけるインピーダンス電圧を求める。
推定インピーダンス管理部２１は、電池温度および二次電池の充電率と、二次電池内部の推定インピーダンスとを対応付けて記録したデータテーブルであるインピーダンステーブルを、当該推定インピーダンス管理部２１の有するメモリ内に複数記憶している。具体的には、推定インピーダンス管理部２１は、所定温度ごとに（例えば、２０℃、２１℃、２２℃など１℃毎に）インピーダンステーブルを備え、１つのインピーダンステーブルには、所定充電率ごとの（例えば、４０％、４５％、５０％など５％毎の）推定インピーダンスの値を記憶している。
【００１６】
そして、推定インピーダンス管理部２１は、温度センサ１１が出力した電池温度と、後述するように充電率選択部５１が出力した充電率とに基づいて、これら電池温度と充電率とに対応する推定インピーダンス値をインピーダンステーブルから読み出して推定インピーダンス電圧演算部２２へ出力する。
その際、推定インピーダンス管理部２１は、温度センサ１１からの電池温度（電池温度の実測値）が、インピーダンステーブルに対応付けられた温度と相違する（中間値である）場合や、充電率選択部５１からの充電率が、インピーダンステーブルに用意された充電率と相違する（中間値である）場合、線形補間等の補間を行って推定インピーダンス値を求める。
【００１７】
例えば、備えられたインピーダンステーブルのうち温度センサ１１からの電池温度Ｔ［℃］に直近のものがＴ１とＴ２である場合（Ｔ１［℃］＜Ｔ［℃］＜Ｔ２［℃］）、推定インピーダンス管理部２１は、Ｔ１［℃］に対応するインピーダンステーブルと、Ｔ２［℃］に対応するインピーダンステーブルとを選択する。
そして、例えば、各インピーダンステーブルに用意された充電率のうち、充電率選択部５１からの充電率ＳＯＣ［％］に直近のものがＳＯＣ１とＳＯＣ２である場合（ＳＯＣ１［％］＜ＳＯＣ［％］＜ＳＯＣ２［％］）、推定インピーダンス管理部２１は、選択したインピーダンステーブルの各々について、ＳＯＣ１［％］に対応する推定インピーダンス値と、ＳＯＣ２［％］に対応する推定インピーダンス値とを補間（例えば、線形補間）して、ＳＯＣ［％］に対応する推定インピーダンス値を求める。
そして、推定インピーダンス管理部２１は、インピーダンステーブル毎に得られた推定インピーダンス値を補間（例えば、線形補間）して、温度センサ１１からの電池温度と充電率選択部５１からの充電率とに対応する推定インピーダンス値を求め、得られた推定インピーダンス値をインピーダンス電圧演算部２２へ出力する。
【００１８】
より具体的には、例えば、電池温度の実測値が２０．４℃で、備えられたインピーダンステーブルがその温度直近では２０℃と２１℃の２つである場合、推定インピーダンス管理部２１は、２０℃のインピーダンステーブルと、２１℃のインピーダンステーブルとを選択する。
【００１９】
そして、充電率選択部５１からの充電率が４３％で、選択したインピーダンステーブルにおいて用意された当該充電率に直近の充電率が４０％と４５％の２つである場合、推定インピーダンス管理部２１は、充電率４０％に対応する推定インピーダンス値と、充電率４５％に対応する推定インピーダンス値とを線形補間して、選択したインピーダンステーブル毎に推定インピーダンス値を求める。すなわち、推定インピーダンス管理部２１は、充電率４０％に対応する推定インピーダンス値と、４５％に対応する推定インピーダンス値とを２：３（（４５−４３）：（４３−４０））で加重平均して推定インピーダンス値を算出する。
【００２０】
さらに、推定インピーダンス管理部２１は、インピーダンステーブル毎に得られた推定インピーダンス値を線形補間して、温度センサ１１からの電池温度と充電率選択部５１からの充電率とに対応する推定インピーダンス値を求める。すなわち、推定インピーダンス管理部２１は、電池温度２０℃のインピーダンステーブルから得られた推定インピーダンス値と、２１℃のインピーダンステーブルから得られた推定インピーダンス値とを６：４（（２１−２０．４）：（２０．４−２０））で加重平均して推定インピーダンス値を算出する。
そして、推定インピーダンス管理部２１は、算出した推定インピーダンス値を推定開放電圧演算部３１に出力する。
【００２１】
推定インピーダンス電圧演算部２２は、電流センサ１３からの電池電流値と推定インピーダンス管理部２１からの推定インピーダンス値とに基づいて、推定インピーダンス電圧値を算出して、推定開放電圧演算部３１に出力する。具体的には、推定インピーダンス電圧演算部２２は、電池電流値と推定インピーダンス値とを乗算することにより推定インピーダンス電圧値を算出する。
【００２２】
推定開放電圧演算部３１は、電圧センサ１２からの二次電池の両端電圧値と、推定インピーダンス電圧演算部２２からの推定インピーダンス電圧値とに基づいて、両端電圧値から推定インピーダンス電圧値を減算することにより、二次電池の推定開放電圧値を算出する。そして、推定開放電圧演算部３１は、算出した推定開放電圧値を電圧起因推定充電率取得部３２へ出力する。
【００２３】
電圧起因推定充電率取得部３２は、二次電池の推定開放電圧値に基づいて求められる充電率である電圧起因推定充電率を取得し、得られた電圧起因推定充電率を充電率選択部５１へ出力する。
具体的には、電圧起因推定充電率取得部３２は、電池温度および推定開放電圧値と、充電率とを対応付けて記録したデータテーブルである充電率テーブルを、当該電圧起因推定充電率取得部３２の有するメモリ内に複数記憶している。さらに具体的には、電圧起因推定充電率取得部３２は、所定温度ごとに（例えば、２０℃、２１℃、２２℃など１℃毎に）充電率テーブルを備え、１つの充電率テーブルには、所定の推定開放電圧値ＶＯ［Ｖ］ごとの（例えば、５.０Ｖ、５.１Ｖ、５.２Ｖなど０.１Ｖ毎の）ＳＯＣＶ［％］の値をそれぞれについて記憶している。
【００２４】
そして、電圧起因推定充電率取得部３２は、温度センサ１１が出力した電池温度と、推定開放電圧演算部３１が出力した推定開放電圧値とに基づいて、これら電池温度と推定開放電圧値とに対応する充電率を充電率テーブルから読み出して充電率選択部５１へ出力する。
その際、電圧起因推定充電率取得部３２は、電池インピーダンスモデル部２０における処理と同様に、温度センサ１１からの電池温度が、充電率テーブルに対応付けられた温度と相違する（中間値である）場合や、推定開放電圧演算部３１からの推定開放電圧値が、充電率テーブルに用意された電圧率と相違する（中間値である）場合、線形補間等の補間を行って充電率を求める。
【００２５】
例えば、備えられた充電率テーブルのうち温度センサ１１からの電池温度Ｔ［℃］に直近のものがＴ１とＴ２である場合（Ｔ１［℃］＜Ｔ［℃］＜Ｔ２［℃］）、電圧起因推定充電率取得部３２は、Ｔ１［℃］に対応する充電率テーブルと、Ｔ２［℃］に対応する充電率テーブルとを選択する。
そして、例えば、各充電率テーブルに用意された推定開放電圧値のうち、推定開放電圧演算部３１からの推定開放電圧値ＶＯ［Ｖ］に直近のものがＶＯ１とＶＯ２である場合（ＶＯ１［Ｖ］＜ＶＯ［Ｖ］＜ＶＯ２［Ｖ］）、電圧起因推定充電率取得部３２は、選択した充電率テーブルの各々について、ＶＯ１［Ｖ］に対応する充電率と、ＶＯ２［Ｖ］に対応する充電率とを補間（例えば、線形補間）して、ＶＯ［Ｖ］に対応する充電率を求める。
そして、電圧起因推定充電率取得部３２は、充電率テーブル毎に得られた充電率を補間（例えば、線形補間）して、温度センサ１１からの電池温度と推定開放電圧演算部３１からの推定開放電圧値とに対応する充電率を求め、得られた充電率を充電率選択部５１へ出力する。
【００２６】
より具体的には、例えば、電池温度の実測値が２０．４℃で、備えられたインピーダンステーブルがその温度直近では２０℃と２１℃の２つである場合、電圧起因推定充電率取得部３２は、２０℃の充電率テーブルと、２１℃の充電率テーブルとを選択する。
【００２７】
そして、推定開放電圧演算部３１からの推定開放電圧値が５．０４Ｖで、選択した充電率テーブルにおいて用意された当該推定開放電圧値に直近の推定開放電圧値が５.０Ｖと５．１Ｖの２つである場合、電圧起因推定充電率取得部３２は、５.０Ｖの推定開放電圧値に対応する充電率と、５.１Ｖの推定開放電圧値に対応する充電率とを線形補間して、選択した充電率テーブル毎に充電率を求める。すなわち、電圧起因推定充電率取得部３２は、推定開放電圧値５.０Ｖに対応する充電率と、５.１Ｖに対応する充電率とを６：４（（５．１−５．０４）：（５．０４−５．０））で加重平均して推定インピーダンス値を算出する。
【００２８】
さらに、電圧起因推定充電率取得部３２は、充電率テーブル毎に得られた充電率を線形補間して、温度センサ１１からの電池温度と推定開放電圧演算部３１からの推定開放電圧値とに対応する充電率を求める。すなわち、電圧起因推定充電率取得部３２は、電池温度２０℃の充電率テーブルから得られた充電率と、２１℃の充電率テーブルから得られた充電率とを６：４（（２１−２０．４）：（２０．４−２０））で加重平均して充電率を算出する。
そして、電圧起因推定充電率取得部３２は、算出した充電率を充電率選択部５１へ出力する。
【００２９】
なお、複数のセルよりなる組電池では、二次電池の両端電圧値ＶＡ［Ｖ］が複数ある。例えば、セルがＮ個ある場合、充電率演算システム１は、セル電圧値ＶＡ１、ＶＡ２、・・・ＶＡＮ[Ｖ]の最大セル電圧値ＶＡＭＡＸ[Ａ]、最小セル電圧値ＶＡＭＩＮ［Ｖ］、平均セル電圧値ＶＡＶＲ＝（ＶＡ１＋ＶＡ２＋・・・＋ＶＡＮ)／Ｎ[Ｖ]、中間セル電圧値ＶＡＭＩＤ＝（ＶＡＭＡＸ＋ＶＡＭＩＮ）／２［Ｖ］等のいずれかを、二次電池の両端電圧値として用いる。これにより、充電率演算システム１は組電池にも対応可能である。
【００３０】
あるいは、電圧起因推定充電率取得部３２が、セル毎の充電率を求めるようにしてもよい。例えば、まず、電圧センサ１２が、セル電圧値ＶＡ１、ＶＡ２、・・・ＶＡＮ[Ｖ]を求める。また、推定インピーダンス電圧演算部２２が、推定インピーダンス電圧値ＶＺ１、ＶＺ２、・・・ＶＺＮ［Ｖ］を求める。次に、両者の差ＶＡ１−ＶＺ1、ＶＡ２−ＶＺ２、・・・、ＶＡＮ−ＶＺＮに基づいて、推定開放電圧演算部３１が、推定開放電圧値ＶＯ１、ＶＯ２、・・・ＶＯＮ[Ｎ]を求める。そして、その値を元に、電圧起因推定充電率取得部３２が、電圧起因推定充電率ＳＯＣＶ１、ＳＯＣＶ２、・・・ＳＯＣＶＮを求め、これを元に、電圧起因推定充電率取得部３２が、ＳＯＣ最大ＳＯＣＶＭＡＸ[％]、ＳＯＣ最小ＳＯＣＶＭＩＮ［Ｖ］、ＳＯＣ平均ＳＯＣＶＡＶＲ＝(ＳＯＣＶ１＋ＳＯＣＶ２＋・・・＋ＳＯＣＶＮ)／Ｎ[Ｖ]、ＳＯＣ中間ＳＯＣＭＩＤ＝（ＳＯＣＶＭＡＸ＋ＳＯＣＶＭＩＮ)／２［％］等のいずれかを、組電池における電圧起因推定充電率として取得するようにしてもよい。
【００３１】
誤差設定部４１は、電流センサ１３の電流測定値に含まれ得る誤差の上限値と下限値とを取得して制限値設定部４４に出力する。例えば、誤差設定部４１は、電流センサ１３の特性に基づいて推定される測定誤差の大きさの最大値を定数にて予め記憶しておき、当該最大値を誤差の上限値とし、当該最大値のマイナス値を誤差の下限値とする。
また、誤差設定部４１は、電池容量取得部４２が取得する電池容量に含まれ得る誤差の上限値と下限値とを取得して制限値設定部４４に出力する。例えば、誤差設定部４１は、電池容量取得部４２における推定誤差の目標値（許容値）を定数（単位［Ａｈ］）にて予め記憶しておき、当該目標値を誤差の上限値とし、当該目標値のマイナス値を誤差の下限値とする。
なお、以下では、誤差設定部４１が取得する誤差（電流測定値に含まれ得る誤差、および、電池容量に含まれ得る誤差）の上限値および下限値を総称して「誤差上下限値」と表記する。
【００３２】
電池容量取得部４２は、二次電池の電池容量（二次電池に充電可能な電力量の最大値）を取得して制限値設定部４４に出力する。
具体的には、電池容量取得部４２は、電池温度および電池電流値と、電池容量とを対応付けて記録したデータテーブルである容量テーブルを、当該電池容量取得部４２の有するメモリ内に複数記憶している。さらに具体的には、電池容量取得部４２は、所定温度ごとに（例えば、２０℃、２１℃、２２℃など１℃毎に）容量テーブルを備え、１つの容量テーブルには、所定の電池電流値Ｉ［Ａ］ごとの（例えば、１.０Ａ、１.１Ａ、１.２Ａなど０.１Ａ毎の）電池容量Ａｈ［Ａｈ］の値をそれぞれについて記憶している。
【００３３】
そして、電池容量取得部４２は、温度センサ１１が出力した電池温度と、電流センサ１３が出力した電池電流値とに基づいて、これら電池温度と電池電流値とに対応する電池容量を容量テーブルから読み出して制限値設定部４４へ出力する。
その際、電池容量取得部４２は、推定インピーダンス管理部２１における処理と同様に、温度センサ１１からの電池温度が、容量テーブルに対応付けられた温度と相違する（中間値である）場合や、電流センサ１３からの電池電流値が、容量テーブルに用意された電流値と相違する（中間値である）場合、線形補間等の補間を行って電池容量を求める。
【００３４】
例えば、備えられた容量テーブルのうち温度センサ１１からの電池温度Ｔ［℃］に直近のものがＴ１とＴ２である場合（Ｔ１［℃］＜Ｔ［℃］＜Ｔ２［℃］）、電池容量取得部４２は、Ｔ１［℃］に対応する容量テーブルと、Ｔ２［℃］に対応する容量テーブルとを選択する。
そして、例えば、各容量テーブルに用意された電池電流値のうち電流センサ１３からの電池電流値Ｉ［Ａ］に直近のものがＩ１とＩ２である場合（Ｉ１［Ａ］＜Ｉ［Ａ］＜Ｉ２［Ｉ］）、電池容量取得部４２は、選択した容量テーブルの各々について、Ｉ１［Ａ］に対応する電池容量と、Ｉ２［Ａ］に対応する電池容量とを補間（例えば、線形補間）して、Ｉ［Ａ］に対応する電池容量を求める。
そして、電池容量取得部４２は、容量テーブル毎に得られた電池容量を補間（例えば、線形補間）して、温度センサ１１からの電池温度と電流センサ１３からの電池電流値とに対応する電池容量を求め、得られた電池容量を制限値設定部４４へ出力する。
【００３５】
より具体的には、例えば、電池温度の実測値が２０．４℃で、備えられた容量テーブルがその温度直近では２０℃と２１℃の２つである場合、電池容量取得部４２は、２０℃の容量テーブルと、２１℃の容量テーブルとを選択する。
【００３６】
そして、電流センサ１３からの電池電流値が１．０５Ａで、選択した容量テーブルにおいて用意された当該電池電流値に直近の電池電流値が１.０Ａと１．１Ａの２つである場合、電池容量取得部４２は、１.０Ａの電池電流値に対応する電池容量と、１.１Ａの電池電流値に対応する電池容量とを線形補間して、選択した容量テーブル毎に電池容量を求める。すなわち、電池容量取得部４２は、電池電流値が１.０Ａに対応する電池容量と、電池電流値が１.１Ａに対応する電池容量とを５：５（（１．１−１．０５）：（１．０５−１．０））で加重平均して電池容量を算出する。
【００３７】
さらに、電池容量取得部４２は、容量テーブル毎に得られた電池容量を線形補間して、温度センサ１１からの電池温度と電流センサ１３からの電池電流値とに対応する電池容量を求める。すなわち、電池容量取得部４２は、電池温度２０℃の容量テーブルから得られた電池容量と、２１℃の容量テーブルから得られた電池容量とを６：４（（２１−２０．４）：（２０．４−２０））で加重平均して電池容量を算出する。
そして、電池容量取得部４２は、算出した電池容量を制限値設定部４４へ出力する。
【００３８】
演算周期通知部４３は、一定周期毎にトリガー信号を生成して制限値設定部４４に出力する。当該トリガー信号は、制限値設定部４４が演算を行うタイミングを通知する信号として用いられる。
【００３９】
制限値設定部４４は、電流センサ１３からの電池電流値と、誤差設定部４１からの誤差上下限値と、電圧起因推定充電率取得部３２が求める電圧起因推定充電率に含まれ得る誤差とに基づいて、充電率上限値または充電率下限値の少なくとも一方を設定する。その際、制限値設定部４４は、予め取得した、推定開放電圧値と電圧起因推定充電率との関係と、充電率選択部５１が選択した充電率演算結果とに基づいて、電圧起因推定充電率に含まれ得る誤差を求める。
制限値設定部４４が求める充電率上限値および充電率下限値については後述する。
【００４０】
充電率選択部５１は、電圧起因推定充電率取得部３２が取得した電圧起因推定充電率と、制限値設定部４４が設定した充電率上限値または充電率下限値の何れかを、充電率演算システム１の充電率演算結果として選択し、演算結果送信部５２に出力する。
具体的には、充電率選択部５１は、電圧起因推定充電率取得部３２が取得した電圧起因推定充電率が、制限値設定部４４が設定した範囲内にある場合、当該電圧起因推定充電率を充電率演算結果として選択する。
【００４１】
一方、充電率選択部５１は、電圧起因推定充電率取得部３２が取得した電圧起因推定充電率が、制限値設定部４４が設定した範囲内にない場合、制限値設定部４４が設定した制限値（充電率上限値または充電率下限値）を充電率演算結果として選択する。具体的には、制限値設定部４４が充電率上限値を設定しており、かつ、電圧起因推定充電率が当該充電率上限値より大きいときは、当該充電率上限値を充電率演算結果として選択する。一方、制限値設定部４４が充電率下限値を設定しており、かつ、電圧起因推定充電率が当該充電率下限値より小さいときは、当該充電率下限値を充電率演算結果として選択する。
【００４２】
演算結果送信部５２は、充電率選択部５１から出力される充電率演算結果としての充電率を、充電率演算システム１の外部に送信する。例えば、演算結果送信部５２は、当該充電率を、上位機器（例えば、充電率演算システム１を備える電気自動車）に送信し、当該上位機器が、自らの具備する表示画面に充電率を表示する。
【００４３】
次に、制限値設定部４４が求める充電率上限値および充電率下限値と、充電率選択部５１が行う充電率の選択について説明する。
推定開放電圧演算部３１が求める推定開放電圧値に含まれる誤差等に起因して、電圧起因推定充電率取得部３２が求める電圧起因推定充電率には誤差が含まれ得る。そこで、制限値設定部４４は、演算周期通知部４３からの信号に基づく所定の演算周期で、電圧起因推定充電率取得部３２が求める充電率とは別に、電池電流値の積分に基づいて充電率を求め、誤差上下限値（電流センサ１３が測定した電流値に含まれ得る誤差）等を考慮した充電率上限値および充電率下限値を算出する。
制限値設定部４４がｎ回目の演算時（以下、「時刻ｎ」と称する）に求める充電率上限値ＳＯＣＨ（ｎ）は、式（１）のように示される。
【００４４】
【数１】
0005794933.tif 000002
【００４５】
ここで、右辺の第１項「ＳＯＣ（ｎ−１）」は、時刻ｎ−１（ｎ−１番目の演算時）における充電率演算システム１の演算結果としての充電率（充電率選択部５１が選択した充電率）を示す。また、右辺の第２項の係数Ａは、式（２）のように示される。
【００４６】
【数２】
0005794933.tif 000003
【００４７】
このように、係数Ａは、演算周期Ｔｓに、百分率換算のための１００を乗算し、秒から時間への換算のために３６００で除算した値を有する。
そして、式（１）の右辺の第２項は、時刻ｎ−１から時刻ｎまでの時間を示す係数Ａに電流値Ｉ（ｎ）［Ａ］を乗算した電流の積算値を、電池容量Ａｈ［Ａｈ］で除算して充電率の変化量を求めている。この充電率の変化量と、第１項（前回の充電率「ＳＯＣ（ｎ−１）」）との合計が、電池電流値から求めた現在の充電率に該当する。なお、電流値Ｉ（ｎ）は、時刻ｎにおける充放電電流の測定値を、充電側を＋、放電側を−として示している。
【００４８】
また、式（１）の右辺の第３項「ΔＳＯＣ（ｍａｘ）（ｎ）」は、式（１）の右辺の第１項および第２項の示す電池電流値から求めた現在の充電率に対する、充電率演算システム１の求める充電率の差分の許容値の上限を示す。この第３項の詳細については後述する。
【００４９】
また、時刻ｎにおける充電率下限値ＳＯＣＬ（ｎ）は、式（３）のように示される。
【００５０】
【数３】
0005794933.tif 000004
【００５１】
式（３）の右辺の第１項および第２項は、式（１）と同様である。また、第３項「ΔＳＯＣ（ｍｉｎ）（ｎ）」は、第１項および第２項の示す電池電流値から求めた現在の充電率に対する、充電率演算システム１の求める充電率の差分の許容値の下限を示す。この第３項の詳細については後述する。
【００５２】
制限値設定部４４が求めた充電率上限値ＳＯＣＨ（ｎ）および充電率下限値ＳＯＣＬ（ｎ）と、電圧起因推定充電率取得部３２が求めた電圧起因推定充電率ｆ（Ｖｏｃｖ）とを比較して、充電率選択部５１は、式（４）に示される充電率の選択を行う。
【００５３】
【数４】
0005794933.tif 000005
【００５４】
ここで、Ｖｏｃｖは、推定開放電圧演算部３１が求めた推定開放電圧値を示し、ｆ（Ｖｏｃｖ）は、推定開放電圧値に基づいて電圧起因推定充電率取得部３２が求めた電圧起因推定充電率を示している。
式（４）に示されるように、電圧起因推定充電率が充電率上限値と充電率下限値との範囲内にある場合、充電率選択部５１は、電圧起因推定充電率を選択する。一方、電圧起因推定充電率が充電率上限値より大きい場合、充電率選択部５１は、充電率上限値を選択する。また、電圧起因推定充電率が充電率下限値より小さい場合、充電率選択部５１は、充電率下限値を選択する。
【００５５】
図２は、充電率選択部５１が行う充電率の選択と、制限値設定部４４が算出する充電率上限値および充電率下限値の関係の例を示す説明図である。同図のグラフの横軸は、時刻を充電率選択部５１の演算回数にて示している。また、縦軸は充電率を示している。
ｎ−１回目の演算にて、充電率選択部５１が選択した充電率（充電率演算システム１の充電率演算結果）が点Ｐ１１１に示される充電率であった場合、ｎ回目の演算において、充電率選択部５１は、点Ｐ１１１に示される充電率に、電池電流の積分値から求めた変化量を加算して、点Ｐ１２２に示される充電率を算出する。そして、充電率選択部５１は、点Ｐ１２２に示される充電率を基準として、求めた変化量に含まれ得る誤差等を加味して、点Ｐ１２３に示される充電率上限値、および、点Ｐ１２１に示される充電率下限値を算出する。
一方、電圧起因推定充電率取得部３２は、点Ｐ１２４に示される電圧起因推定充電率を取得している。
【００５６】
ｎ回目の演算の例では、電圧起因推定充電率が充電率上限値より大きい。そこで、充電率選択部５１は、充電率演算システム１の充電率演算結果として充電率上限値（点Ｐ１２３）を選択している。
この充電率上限値に基づいて、ｎ＋１回目の演算において充電率選択部５１は、点Ｐ１３３に示される充電率を求め、この充電率を基準として、点Ｐ１３４に示される充電率上限値、および、点Ｐ１３２に示される充電率下限値を算出している。
一方、電圧起因推定充電率取得部３２は、点Ｐ１３１に示される電圧起因推定充電率を取得している。
【００５７】
ｎ＋１回目の演算の例では、電圧起因推定充電率が充電率下限値より小さい。そこで、充電率選択部５１は、充電率演算システム１の充電率演算結果として充電率下限値（点Ｐ１３２）を選択している。
この充電率下限値に基づいて、ｎ＋２回目の演算において充電率選択部５１は、点Ｐ１４２に示される充電率を求め、この充電率を基準として、点Ｐ１４４に示される充電率上限値、および、点Ｐ１４１に示される充電率下限値を算出している。
一方、電圧起因推定充電率取得部３２は、点Ｐ１４３に示される電圧起因推定充電率を取得している。
【００５８】
ｎ＋２回目の演算の例では、電圧起因推定充電率が充電率上限値と充電率下限値との範囲内にある。そこで、充電率選択部５１は、充電率演算システム１の充電率演算結果として電圧起因推定充電（点Ｐ１４３）を選択している。
この充電率下限値に基づいて、ｎ＋３回目の演算において充電率選択部５１は、点Ｐ１５１に示される充電率を求めている。
【００５９】
このように、制限値設定部４４が充電率に制限値（充電率上限値および充電率下限値）を設けることで、電圧起因推定充電率取得部３２が求めた電圧起因推定充電率に含まれる誤差が大きい場合でも、充電率演算システム１は、演算結果としての充電率に含まれる誤差を低減させ得る。
一方、制限値設定部４４が、前回値に基づいて充電率上限値および充電率下限値を算出することから、充電率に誤差が蓄積される可能性がある。この点について、図３および図４を参照して説明する。
【００６０】
図３は、充電率テーブルにおける、充電率（電圧起因推定充電率）と推定開放電圧値との関係（以下、「電池充電率−開放電圧特性」と称する）の例を示す説明図である。同図のグラフの横軸は充電率を示し、縦軸は推定開放電圧値を示す。また、線Ｌ２１は、充電率テーブルにおける電池充電率−開放電圧特性を示す。なお、線Ｌ２２は、参考のため、推定開放電圧値の変化に対する電圧起因推定充電率の変化の割合が一定となる場合の、電池充電率−開放電圧特性を示している。
【００６１】
同図において、線Ｌ２１が示す、充電率テーブルにおける電池充電率−開放電圧特性は非線形な特性となっており、推定開放電圧値の変化に対する電圧起因推定充電率の変化の割合が大きい部分と小さい部分とがある。すなわち、線Ｌ２１の傾きが比較的急（グラフの縦軸側から見た場合の傾きが比較的緩やか）な部分では、変化の割合は比較的小さい。一方、線Ｌ２１の傾きが比較的緩やか（グラフの縦軸側から見た場合の傾きが比較的急）な部分では、変化の割合が大きい。
【００６２】
ここで、電圧起因推定充電率取得部３２が推定開放電圧値に基づいて電圧起因推定充電率を求める際、当該推定開放電圧値は誤差を含み得る。そして、推定開放電圧値の変化に対する電圧起因推定充電率の変化の割合が大きいほど、推定開放電圧値に含まれる誤差に起因して電圧起因推定充電率に含まれる誤差の大きさ（誤差の絶対値）が大きくなる。
【００６３】
このように、推定開放電圧値の変化に対する電圧起因推定充電率の変化の割合が大きい部分では、電圧起因推定充電率取得部３２が求める電圧起因推定充電率が、充電率上限値および充電率下限値の範囲外に位置し続け、充電率上限値および充電率下限値が真の充電率から乖離する（すなわち、充電率上限値および充電率下限値に誤差が蓄積する）可能性がある。
【００６４】
図４は、充電率上限値および充電率下限値が真の充電率から乖離する例を示す説明図である。同図のグラフの横軸は時刻を示し、縦軸は充電率を示す。また、線Ｌ３１は二次電池の真の充電率を示し、線Ｌ３２は、電圧起因推定充電率取得部３２が取得する電圧起因推定充電率を示し、線Ｌ３３は、充電率選択部５１が選択した充電率、すなわち、充電率演算システム１の演算結果としての充電率を示している。
なお、ここでは、式（１）の第３項「ＳＯＣ（ｍａｘ）（ｎ）」および式（３）の第３項「ＳＯＣ（ｍｉｎ）（ｎ）」が固定値を有していると仮定して、これらの値を変化させる必要性について説明する。
【００６５】
時刻ｔ３１からｔ３２までは、図３で説明した、推定開放電圧値の変化に対する電圧起因推定充電率の変化の割合が大きい部分にあり、電圧起因推定充電率に含まれる誤差が大きくなっている。ここで、時刻ｔ３１からｔ３２までは、電圧起因推定充電率（線Ｌ３２）が真の充電率(線Ｌ３１)から乖離しているが、充電率下限値に制限されて、充電率選択部５１が選択した充電率（線Ｌ３３）に含まれる誤差の大きさは、電圧起因推定充電率に含まれる誤差の大きさよりも小さくなっている。
ただし、制限値設定部４４が、前回値に基づいて充電率下限値を算出することから、充電率下限値に誤差が蓄積され、その結果、充電率選択部５１が選択した充電率は、徐々に真の充電率から乖離している。
【００６６】
また、時刻ｔ３３に近づくにつれて、電圧起因推定充電率に含まれる誤差の大きさが小さくなっており、時刻ｔ３２以降は、電圧起因推定充電率の値のほうが、充電率選択部５１が選択した充電率の値よりも大きくなっている。
すると、充電率選択部５１が選択した充電率は、充電率上限値によって制限されている。この充電率上限値による制限のため、時刻ｔ３２以降は、充電率選択部５１が選択した充電率に含まれる誤差の大きさのほうが、電圧起因推定充電率に含まれる誤差の大きさよりも大きくなっている。
特に、時刻ｔ３２以降、電圧起因推定充電率が回復しても（すなわち、電圧起因推定充電率の含む誤差の大きさが小さくなっても）、充電率上限値のために、充電率選択部５１が選択した誤差の回復が遅くなっている。そして、時刻ｔ３３において電圧起因推定充電率に含まれる誤差の大きさが充分小さくなった後も、充電率選択部５１が選択した充電率には誤差が残存している。
【００６７】
このように、充電率選択部５１が選択した充電率や充電率上限率や充電率下限値に誤差が蓄積した場合、充電率選択部５１が選択した充電率の回復が、電圧起因推定充電率の回復よりも遅れてしまうおそれがある。
【００６８】
そこで、式（１）の第３項「ＳＯＣ（ｍａｘ）（ｎ）」の値や、式（３）の第３項「ＳＯＣ（ｍｉｎ）（ｎ）」の値を、推定開放電圧値の変化に対する電圧起因推定充電率の変化の割合に応じて変化させ、変化の割合が小さい部分（従って、推定開放電圧値に含まれる誤差の電圧起因推定充電率に対する影響が小さく、電圧起因推定充電率を精度よく求められると期待される部分）において、充電率選択部５１が選択した充電率をより速やかに回復可能とする。
【００６９】
この点について説明するにあたり、まず、電池電流値から求めた充電率（以下、「電流積算充電率」と称する）に含まれ得る誤差について説明する。
まず、時刻ｎにおける電流積算充電率Ｓ（ｎ）は、式（５）のように示される。
【００７０】
【数５】
0005794933.tif 000006
【００７１】
ここで、電流積算充電率の初期値をＳ（０）［％］として、Ｓ（ｎ−１）［％］は、時刻ｎ−１における電流積算充電率を示す。また、Ｑｔ［Ａｈ］は、真の電池容量を示し、Ｉｔ（ｎ）［Ａ］は、時刻ｎにおける真の充放電電流を、充電側を＋、放電側を−として示す。また、係数Ａについては、式（２）のとおりである。
そして、式（５）の右辺の第２項は、時刻ｎ−１から時刻ｎまでの時間を示す係数Ａに真の電流値Ｉｔ（ｎ）［Ａ］を乗算した電流の積算値を、真の電池容量Ｑｔ［Ａｈ］で除算して充電率の変化量を求めている。
【００７２】
このように、真の電流値と真の充電率とが得られ、かつ、充放電率の初期値が真値にて得られれば、電流積算充電率を真値にて算出することができる。
しかし、実際には、電流センサ１３の測定値には誤差（ゲインや、オフセットや、ヒステリシス等）が含まれている。時刻ｎにおいて電流測定値に含まれる誤差（電流測定誤差）をΔＩ（ｎ）とすると、真の電流値Ｉｔ（ｎ）は式（６）のように示される。
【００７３】
【数６】
0005794933.tif 000007
【００７４】
また、電池劣化等に伴う電池容量の変化を想定し、電池容量推定値Ａｈに含まれる推定誤差（電池容量推定誤差）をΔＱとすると、真の電池容量Ｑｔは式（７）のように示される。
【００７５】
【数７】
0005794933.tif 000008
【００７６】
これら式（６）および式（７）を式（５）に代入すると、式（８）のようになる。
【００７７】
【数８】
0005794933.tif 000009
【００７８】
ここで、例えば電池容量の推定誤差の目標値を５％以下とすると、Ａｈ２−ΔＱ２≧０．９９７５Ａｈとなる。このように、ある程度の精度で電池容量を推定している場合、Ａｈ２≫ΔＱ２とみなせるので、式（８）は式（９）のように変換できる。
【００７９】
【数９】
0005794933.tif 000010
【００８０】
ここで、ΔＳｅｒｒ（ｎ）は、電流測定誤差ΔＩ（ｎ）および電池容量推定誤差ΔＱに起因する、時刻ｎにおける充電率演算誤差であり、式（１０）のように示される。
【００８１】
【数１０】
0005794933.tif 000011
【００８２】
ただし、電流測定誤差ΔＩ（ｎ）および電池容量推定誤差ΔＱの符号や大きさを正確に把握することはできない。そこで、制限値設定部４４は、誤差設定部４１が出力する誤差上下限値に基づいて、充電率演算誤差の最大値および最小値を求める。具体的には、制限値設定部４４は、式（１１）に示す充電率演算誤差ΔＳｅｒｒ１（ｎ）からΔＳｅｒｒ４（ｎ）までの各々を求め、最も大きな値を充電率演算誤差の最大値とし、最も小さな値を充電率演算誤差の最小値とする。
【００８３】
【数１１】
0005794933.tif 000012
【００８４】
ここで、ΔＩは、誤差設定部４１が出力する電流測定誤差の最大値を示し、−ΔＩは、電流測定誤差の最小値を示す。また、ΔＡｈは、誤差設定部４１が出力する電池容量推定誤差の最大値を示し、−ΔＡｈは、電流容量推定誤差の最小値を示す。
そして、制限値設定部４４は、式（１１）を用いて得られる充電率演算誤差の最大値および最小値に、それぞれ、電圧起因推定充電率の信頼係数を乗算して、式（１）の右辺第３項に示される差分の許容値の上限「ΔＳＯＣ（ｍａｘ）（ｎ）」、および、式（３）の右辺第３項に示される差分の許容値の下限「ΔＳＯＣ（ｍｉｎ）（ｎ）」を求める。この電圧起因推定充電率の信頼係数について、次に説明する。
【００８５】
図３を参照して説明したように、充電率テーブルにおける電池充電率−開放電圧特性には、推定開放電圧値の変化に対する電圧起因推定充電率の変化の割合が大きい部分と小さい部分とがあり、電圧起因推定充電率に含まれる誤差の大きさに影響する。
そこで、制限値設定部４４は、電圧起因推定充電率の信頼係数を設定するに際して、まず、推定開放電圧値の変化に対する電圧起因推定充電率の変化の割合を取得する。
【００８６】
なお、以下では、推定開放電圧値の変化に対する電圧起因推定充電率の変化の割合を「充電率分解能」と称する。この充電率分解能の大きさが小さいほど、推定開放電圧値に含まれる誤差の、電圧起因推定充電率に含まれる誤差への影響が小さくなる。このため、以下では、充電率分解能の大きさが小さいことを「分解能がよい」と称し、充電率分解能の大きさが大きいことを「分解能が悪い」と称する。
【００８７】
この充電率分解能は、例えば、電圧起因推定充電率取得部３２が求めて制限値設定部４４に出力する。電圧起因推定充電率取得部３２は、例えば、二次電池の開放電圧値を入力として充電率分解能を出力する関数を予め記憶しておき、推定開放電圧演算部３１からの推定開放電圧値を当該関数に代入して充電率分解能を算出する。なお、当該関数は、例えば充電率演算システム１の管理者が、予め実験等に基づいて求め、電圧起因推定充電率取得部３２に記憶させておく。
【００８８】
あるいは、電圧起因推定充電率取得部３２が、開放電圧値と充電率分解能との関係を示す表（テーブル）を記憶しておくようにしてもよい。例えば、電圧起因推定充電率取得部３２は、式（１２）に示されるように、開放電圧値を幾つかの区分に分割した区分毎に、充電率分解能を記憶しておく。
【００８９】
【数１２】
0005794933.tif 000013
【００９０】
ここで、∂ＳＯＣ／∂Ｖは、電圧起因推定充電率取得部３２が求める充電率分解能を示す。また、∂ＳＯＣ１／∂Ｖ、∂ＳＯＣ２／∂Ｖ、・・・、∂ＳＯＣＮ／∂Ｖの各々は、開放電圧値の区分における充電率分解能を示す。
そして、電圧起因推定充電率取得部３２は、推定開放電圧演算部３１からの推定開放電圧値に該当する区分に対応付けられた充電率分解能を読み出す。
【００９１】
電圧起因推定充電率取得部３２から充電率分解能を取得した制限値設定部４４は、式（１３）に基づいて、電圧起因推定充電率の信頼係数∂ＳＯＣｒｅｆ／∂ＳＯＣを算出する。
【００９２】
【数１３】
0005794933.tif 000014
【００９３】
ここで、∂ＳＯＣｒｅｆ／∂Ｖは、充電率分解能の基準値を示す。この充電率分解能の基準値としては、例えば、式（１４）に示されるように、電圧起因推定充電率取得部３２が取得し得る充電率分解能の最小値（例えば、電圧起因推定充電率取得部３２が記憶しているテーブルにおける最小値）を予め設定しておく。
【００９４】
【数１４】
0005794933.tif 000015
【００９５】
あるいは、充電率演算システム１の管理者が実運用において∂ＳＯＣｒｅｆ／∂Ｖの値を調整するなど、他の方法で当該∂ＳＯＣｒｅｆ／∂Ｖの値を設定するようにしてもよい。
【００９６】
制限値設定部４４は、式（１１）を用いて得られる、充電率演算誤差の最大値と、式（１３）を用いて得られる、電圧起因推定充電率の信頼係数とに基づいて、式（１５）に示されるように、式（１）の右辺の第３項ΔＳＯＣ（ｍａｘ）（ｎ）、すなわち、電池電流値から求めた現在の充電率に対する、充電率演算システム１の求める充電率の差分の許容値の上限を算出する。
【００９７】
【数１５】
0005794933.tif 000016
【００９８】
ここで、ｍａｘ（ΔＳｅｒｒ１（ｎ），ΔＳｅｒｒ２（ｎ），ΔＳｅｒｒ３（ｎ），ΔＳｅｒｒ４（ｎ））は、式（１１）に示す充電率演算誤差ΔＳｅｒｒ１（ｎ）からΔＳｅｒｒ４（ｎ）までのうち最も大きな値を示しており、これは、式（１１）において得られる充電率演算誤差の最大値に該当する。
式（１５）の右辺では、この充電率演算誤差の最大値に、電圧起因推定充電率の信頼係数が乗算されている。この電圧起因推定充電率の信頼係数の値は、充電率分解能の基準値と、電圧起因推定充電率取得部３２が取得した充電率分解能の逆数とを乗算した値となっている。
従って、ΔＳＯＣ（ｍａｘ）（ｎ）の値は、充電率演算誤差の最大値が大きいほど大きい値となり、また、電圧起因推定充電率取得部３２が取得した充電率分解能の値が小さいほど（すなわち、充電率分解能がよいほど）大きい値となる。
【００９９】
同様に、制限値設定部４４は、充電率演算誤差の最大値と電圧起因推定充電率の信頼係数とに基づいて、式（１６）に示されるように、式（３）の右辺の第３項ΔＳＯＣ（ｍｉｎ）（ｎ）、すなわち、電池電流値から求めた現在の充電率に対する、充電率演算システム１の求める充電率の差分の許容値の下限を算出する。
【０１００】
【数１６】
0005794933.tif 000017
【０１０１】
ここで、ｍｉｎ（ΔＳｅｒｒ１（ｎ），ΔＳｅｒｒ２（ｎ），ΔＳｅｒｒ３（ｎ），ΔＳｅｒｒ４（ｎ））は、式（１１）に示す充電率演算誤差ΔＳｅｒｒ１（ｎ）からΔＳｅｒｒ４（ｎ）までのうち最も小さな値を示しており、これは、式（１１）において得られる充電率演算誤差の最小値に該当する。
そして、ΔＳＯＣ（ｍｉｎ）（ｎ）の値は、充電率演算誤差の最小値が小さいほど小さい値となり、また、電圧起因推定充電率取得部３２が取得した充電率分解能の値が小さいほど（すなわち、充電率分解能がよいほど）小さい値となる。
【０１０２】
このように、式（１）の第３項は、充電率分解能がよいほど大きな値を取る。充電率分解能がよいほど、式（１）の第３項が大きな値を取ることで、式（１）に示される充電率上限値ＳＯＣＨ（ｎ）は、充電率分解能がよいほど、大きな値を取る（すなわち、制限を緩やかにする）。
【０１０３】
同様に、式（３）の第３項は、充電率分解能がよいほど小さい値を取る。従って、式（３）に示される充電率下限値ＳＯＣＬ（ｎ）は、充電率分解能がよいほど、小さい値を取る（すなわち、制限を緩やかにする）。
【０１０４】
このように、制限値設定部４４は、充電率分解能が悪い場合に、充電率上限値や充電率下限値による制限を厳しくする（いわば、電流起因充電率の信頼度評価を高める）。これにより、電圧起因推定充電率の変化の割合が大きい領域における充電率の誤差を低減させることができる。
一方、電圧起因推定充電率の分解能がよい場合、制限値設定部４４は、充電率上限値や充電率下限値による制限を緩やかにする。これにより、充電率分解能が悪い領域（すなわち、推定開放電圧値の変化に対する電圧起因推定充電率の変化の割合が大きい領域）を通過して、電圧起因推定充電率の値が回復した（誤差の大きさが小さくなった）際に、充電率選択部５１が選択する充電率の値を、より速やかに回復させることができる。
【０１０５】
図５は、充電率選択部５１が選択した充電率が回復する例を示す説明図である。図５のグラフの横軸は時刻を示し、縦軸は充電率を示す。また、線Ｌ４１は二次電池の真の充電率を示し、線Ｌ４２は、電圧起因推定充電率取得部３２が取得する電圧起因推定充電率を示し、線Ｌ４３は、充電率選択部５１が選択した充電率、すなわち、充電率演算システム１の演算結果としての充電率を示している。
【０１０６】
時刻ｔ４１からｔ４２までは、図４における時刻ｔ３１からｔ３２までと同様、充電率分解能が悪い領域にある。この場合、式（３）の右辺第３項の値の大きさは比較的小さく、充電率下限値の値は、図４の例の場合とほぼ同様である。従って、図４の例の場合と同様に、充電率選択部５１が選択した充電率（線Ｌ４３）に含まれる誤差の大きさを、電圧起因推定充電率（線Ｌ４２）に含まれる誤差の大きさよりも小さくすることができる。
【０１０７】
一方、時刻ｔ４２以降では、充電率分解能がよくなっている。このため、式（１）の右辺第３項の値の大きさは比較的大きく、充電率上限の値は、図４の例の場合よりも大きい値となっている（すなわち、制限が緩やかになっている）。従って、充電率選択部５１が選択した充電率（線Ｌ４３）を、より大きく変化させることができ、当該充電率選択部５１が選択した充電率を、より急速に回復させる（誤差の大きさを小さくする）ことができる。
【０１０８】
なお、以上では、制限値設定部４４が、充電率上限値と充電率下限値との両方を設定する場合について説明したが、制限値設定部４４が、充電率上限値と充電率下限値とのいずれか一方のみを設定するようにしてもよい。
例えば、制限値設定部４４が、充電率下限値のみを設定する場合、充電率選択部５１が選択する充電率の、真の充電率からの、小さい値側への乖離の程度（すなわち誤差の大きさ）を低減させることができる。
【０１０９】
特に、電圧起因推定充電率取得部３２が取得する電圧起因推定充電率が真の充電率よりも小さい値になる傾向があることが予め分かっている場合、制限値設定部４４が充電率下限値を設定するようにして、充電率選択部５１が選択する充電率の、真の充電率からの、小さい値側への乖離の程度を低減させる。かつ、制限値設定部４４が充電率上限値を設定しないようにすることで、充電率選択部５１が選択する充電率が真の充電率より小さい場合に、速やかに回復可能となる。
【０１１０】
以上のように、制限値設定部４４は、充電率選択部５１の選択する充電率を制限する（充電率上限値または充電率下限値を設定する）際に、電池電流と、誤差上下限値と、電圧起因推定充電率に含まれ得る誤差とに基づいて、充電率上限値または充電率下限値の少なくとも一方を設定する。従って、電圧起因推定充電率が回復した（誤差が減少した）際に、充電率選択部５１の選択する充電率を、より速やかに回復させ得る。
【０１１１】
その際、制限値設定部４４は、例えば、予め取得した、推定開放電圧と前記電圧起因推定充電率との関係と、充電率選択部５１が選択した充電率演算結果とに基づいて、電圧起因推定充電率に含まれ得る誤差を求めることができる。
【０１１２】
また、制限値設定部４４は、さらに電池容量に含まれる誤差に基づいて、充電率上限値または充電率下限値の少なくとも一方を設定する。これにより、充電率の演算結果の精度をさらに向上させ得る。
【０１１３】
なお、電池インピーダンスモデル部２０、推定開放電圧演算部３１、電圧起因推定充電率取得部３２、誤差設定部４１、電池容量取得部４２、演算周期通知部４３、制限値設定部４４、充電率選択部５１および演算結果送信部５２の全部または一部の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより各部の処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。
また、「コンピュータシステム」は、ＷＷＷシステムを利用している場合であれば、ホームページ提供環境（あるいは表示環境）も含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含むものとする。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよい。
【０１１４】
以上、本発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計変更等も含まれる。
【符号の説明】
【０１１５】
１  充電率演算システム
１１  温度センサ
１２  電圧センサ
１３  電流センサ
２０  電池インピーダンスモデル部
２１  推定インピーダンス管理部
２２  推定インピーダンス電圧演算部
３１  推定開放電圧演算部
３２  電圧起因推定充電率取得部
４１  誤差設定部
４２  電池容量取得部
４３  演算周期通知部
４４  制限値設定部
５１  充電率選択部
５２  演算結果送信部
【図１】
0005794933.tif 000018
【図２】
0005794933.tif 000019
【図３】
0005794933.tif 000020
【図４】
0005794933.tif 000021
【図５】
0005794933.tif 000022