(57)【要約】【課題】充電率の推定精度の劣化を防止できる推定プログラム等を提供する。【解決手段】コンピュータに実行させる推定プログラムの処理として、コンピュータに、電池の測定電流および測定端子電圧に基づいて、カルマンフィルタを用いて電池の充電率を算出する処理を実行させる。また、コンピュータに、カルマンフィルタのＰ行列の充電率に対応する成分が所定値を超えた場合に、Ｐ行列を初期値に設定する処理を実行させる。【選択図】図１
2015105876.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、
電池の測定電流および測定端子電圧に基づいて、カルマンフィルタを用いて前記電池の充電率を算出し、
前記カルマンフィルタのＰ行列の前記充電率に対応する成分が所定値を超えた場合に、前記Ｐ行列を初期値に設定する
処理を実行させることを特徴とする推定プログラム。
【請求項２】
前記設定する処理は、所定の間隔で前記Ｐ行列を初期値に設定することを特徴とする請求項１に記載の推定プログラム。
【請求項３】
コンピュータに、
電池の測定電流および測定端子電圧に基づいて、カルマンフィルタを用いて前記電池の充電率を算出し、
前記測定電流の変化量が所定値を超える場合に、前記カルマンフィルタの予測ノイズを表す行列のうち、前記充電率に対応する成分を異なる値に設定する
処理を実行させることを特徴とする推定プログラム。
【請求項４】
前記設定する処理は、前記測定電流の変化量として、前記測定電流が同一の向きに増加して前記所定値を超える場合に、前記カルマンフィルタの予測ノイズを表す行列のうち、前記充電率に対応する成分を異なる値に設定することを特徴とする請求項３に記載の推定プログラム。
【請求項５】
前記設定する処理は、前記異なる値として、前記充電率の補正幅を狭くする値に設定することを特徴とする請求項３または４に記載の推定プログラム。
【請求項６】
コンピュータが、
電池の測定電流および測定端子電圧に基づいて、カルマンフィルタを用いて前記電池の充電率を算出し、
前記カルマンフィルタのＰ行列の前記充電率に対応する成分が所定値を超えた場合に、前記Ｐ行列を初期値に設定する
処理を実行することを特徴とする推定方法。
【請求項７】
電池の測定電流および測定端子電圧に基づいて、カルマンフィルタを用いて前記電池の充電率を算出する算出部と、
前記カルマンフィルタのＰ行列の前記充電率に対応する成分が所定値を超えた場合に、前記Ｐ行列を初期値に設定する設定部と
を有することを特徴とする推定装置。
【請求項８】
コンピュータが、
電池の測定電流および測定端子電圧に基づいて、カルマンフィルタを用いて前記電池の充電率を算出し、
前記測定電流の変化量が所定値を超える場合に、前記カルマンフィルタの予測ノイズを表す行列のうち、前記充電率に対応する成分を異なる値に設定する
処理を実行することを特徴とする推定方法。
【請求項９】
電池の測定電流および測定端子電圧に基づいて、カルマンフィルタを用いて前記電池の充電率を算出する算出部と、
前記測定電流の変化量が所定値を超える場合に、前記カルマンフィルタの予測ノイズを表す行列のうち、前記充電率に対応する成分を異なる値に設定する設定部と
を有することを特徴とする推定装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、推定プログラム、推定方法および推定装置に関する。
【背景技術】
【０００２】
近年、電気自動車や電動バイク等では、二次電池をモジュールごと交換することで、充電時間による使用時間のロスを無くす運用が知られている。また、電気自動車や電動バイク等に用いられる二次電池として、リチウムイオン二次電池が用いられる場合がある。電池モジュールを交換する運用では、個々の電池モジュールにおけるリチウムイオン二次電池の充電率であるＳｏＣ（States  of  Charge）を管理することが必要である。ＳｏＣは、リチウムイオン二次電池内部の電気量を測ることで測定可能であるが、実運用中に測定することは難しい。このため、実運用中のＳｏＣは、測定可能な端子電圧と電流から推定する。ＳｏＣの推定は、リチウムイオン二次電池を電気回路としてとらえた等価電気回路モデルに対して、カルマンフィルタを適用することで推定する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−０１０４２０号公報
【特許文献２】特開２０１２−１４９９４７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、カルマンフィルタは、リチウムイオン二次電池の予測端子電圧の誤差をもとにＳｏＣを補正するが、補正能力を修正する特徴があるため、時間を追うごとに誤差が蓄積する。従って、カルマンフィルタが大きな誤差を予測した場合には、蓄積された誤差が大きな誤差を含むことになる。このため、カルマンフィルタは、時間の経過とともにＳｏＣを過剰に補正するので、ＳｏＣの推定精度を著しく劣化させる。
【０００５】
一つの側面では、本発明は、充電率の推定精度の劣化を防止できる推定プログラム、推定方法および推定装置を提供することにある。
【課題を解決するための手段】
【０００６】
一つの態様では、コンピュータに実行させる推定プログラムの処理として、コンピュータに、電池の測定電流および測定端子電圧に基づいて、カルマンフィルタを用いて前記電池の充電率を算出する処理を実行させる。また、コンピュータに、前記カルマンフィルタのＰ行列の前記充電率に対応する成分が所定値を超えた場合に、前記Ｐ行列を初期値に設定する処理を実行させる。
【発明の効果】
【０００７】
充電率の推定精度の劣化を防止できる。
【図面の簡単な説明】
【０００８】
【図１】図１は、実施例の推定装置の構成の一例を示すブロック図である。
【図２】図２は、リチウムイオン二次電池の等価電気回路モデルの一例を示す説明図である。
【図３】図３は、ＯＣＶ特性曲線の一例を示すグラフである。
【図４】図４は、カルマンフィルタを用いたＳｏＣ推定処理の一例を示す説明図である。
【図５】図５は、予測ノイズΣｖの切り替えの一例を示す説明図である。
【図６】図６は、実施例の推定装置の処理の一例を示すフローチャートである。
【図７】図７は、推定プログラムを実行するコンピュータの一例を示す説明図である。
【発明を実施するための形態】
【０００９】
以下、図面に基づいて、本願の開示する推定プログラム、推定方法および推定装置の実施例を詳細に説明する。なお、本実施例により、開示技術が限定されるものではない。また、以下の実施例は、矛盾しない範囲で適宜組みあわせてもよい。
【実施例】
【００１０】
図１は、実施例の推定装置の構成の一例を示すブロック図である。図１に示す推定装置１００は、測定部１０１と、出力部１０２と、記憶部１２０と、制御部１３０とを有する。推定装置１００は、例えば、リチウムイオン二次電池モジュールに組み込まれる。また、推定装置１００は、セルの充放電を制御する制御部を含んでもよい。なお、推定装置１００は、例えば、電気自動車や電動バイク等の制御装置の一機能として実装して、リチウムイオン二次電池モジュールを制御するようにしてもよい。
【００１１】
測定部１０１は、リチウムイオン二次電池の電流および端子電圧を測定する。測定部１０１は、例えば、電流計および電圧計で、それぞれ電流および端子電圧を測定する。測定部１０１は、測定された電流および端子電圧を、それぞれ測定電流および測定端子電圧として制御部１３０に出力する。また、測定部１０１は、リチウムイオン二次電池の動作モードを取得して制御部１３０に出力する。
【００１２】
出力部１０２は、制御部１３０から充電率情報が入力されると、充電率情報を、例えば、他の装置に出力する。ここで、他の装置は、例えば、電気自動車や電動バイク等であれば、車両の制御装置であり、例えば、スマートフォン等の携帯情報端末であれば、画面を表示する表示部である。他の装置は、充電率情報が入力されると、例えば、使用者が視認できるように、車両のメータや表示部に充電率を表示する。
【００１３】
記憶部１２０は、例えば、ＲＡＭ（Random  Access  Memory）、フラッシュメモリ（Flash  Memory）等の半導体メモリ素子、ハードディスクや光ディスク等の記憶装置によって実現される。記憶部１２０は、条件記憶部１２１を有する。また、記憶部１２０は、制御部１３０での処理に用いる情報を記憶する。
【００１４】
条件記憶部１２１は、ＯＣＶ（Open  Circuit  Voltage）特性曲線、カルマンフィルタの各種パラメータ、等価電気回路モデルの各パラメータ、測定電流の変化量の所定値、閾値ａ等を記憶する。ＯＣＶ特性曲線は、リチウムイオン二次電池のＯＣＶ−ＳｏＣ特性を示すグラフであり、詳細は後述する。カルマンフィルタの各種パラメータとしては、例えば、予測ノイズを示すΣｖ、および、測定ノイズを示すΣｗ等が挙げられる。予測ノイズを示すΣｖは、通常時に使用する値と、測定電流の変化量が所定値を超えた場合に使用する値の少なくとも２種類以上を記憶する。
【００１５】
等価電気回路モデルの各パラメータは、後述するＲ０、Ｒ１、Ｒ２、Ｃ１、Ｃ２等が挙げられる。なお、等価電気回路モデルの各パラメータは、予め実際のリチウムイオン二次電池に合致するように設定する。測定電流の変化量の所定値は、測定電流が同一の向きに増加した場合の所定の変化量を示す。測定電流の変化量の所定値は、測定電流の変化量が当該所定値を超える場合に、カルマンフィルタの予測ノイズを表す行列のうち、ＳｏＣに対応する成分を切り替える閾値である。
【００１６】
閾値ａは、カルマンフィルタの共分散行列Ｐ（以下、単にＰ行列ともいう）のＳｏＣに対応する成分が当該閾値ａを超えた場合に、Ｐ行列をリセットする、つまり初期値に設定するための閾値である。閾値ａは、通常１ステップでずれる可能性のあるＳｏＣのずれの値を示し、下記の式（１）で表される。ここで、ｃは、ＯＣＶ特性曲線の中間領域の平均傾きであり、例えば、ＳｏＣが５０％のときの傾きを用いることができる。Ｉは、想定される最大電流を示す。ｓｃａは、リチウムイオン二次電池の充電容量を示す。つまり、閾値ａは、ＳｏＣの許容変化量を端子電圧に変換したものである。
【００１７】
【数１】
2015105876.tif 000003
【００１８】
制御部１３０は、例えば、ＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）等によって、内部の記憶装置に記憶されているプログラムがＲＡＭを作業領域として実行されることにより実現される。また、制御部１３０は、例えば、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）等の集積回路により実現されるようにしてもよい。制御部１３０は、算出部１３１と、設定部１３２とを有し、以下に説明する情報処理の機能や作用を実現または実行する。なお、制御部１３０の内部構成は、図１に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。
【００１９】
算出部１３１は、測定部１０１から測定電流および測定端子電圧が入力されると、カルマンフィルタを用いて、ＳｏＣ（充電率）、および、予測端子電圧を算出する。また、算出部１３１は、測定端子電圧と予測端子電圧との差分ｙ＊（ｋ）を誤差として算出する。さらに、算出部１３１は、カルマンフィルタの共分散行列Ｐ（ｋ）を、１ステップごとに設定部１３２に出力する。また、算出部１３１は、設定部１３２から当該設定部１３２での処理が完了した共分散行列Ｐ（ｋ）が１ステップごとに入力される。算出部１３１は、設定部１３２から予測ノイズΣｖの切り替え情報が入力される。
【００２０】
ここで、図２および図３を用いて、カルマンフィルタを用いたＳｏＣ推定処理について説明する。図２は、リチウムイオン二次電池の等価電気回路モデルの一例を示す説明図である。図２に示すように、リチウムイオン二次電池の等価電気回路モデルは、ＳｏＣの変化に応じて変化する電位差ＯＣＶを表す電流源ＶＯＣＶ＿ＤＣ（ＳｏＣ）、および、ＶＯＣＶ＿ＣＣ（ＳｏＣ）を有する。ここで、電流源ＶＯＣＶ＿ＤＣ（ＳｏＣ）、および、ＶＯＣＶ＿ＣＣ（ＳｏＣ）は、それぞれ、放電時の電位差ＯＣＶおよび充電時の電位差ＯＣＶを表す。また、図２に示す等価電気回路モデルは、電流変化に対して発生する電圧ｖ０の変化を表す抵抗Ｒ０、電流変化に対して過渡的な電圧ｖ１、ｖ２の変化を表すＲＣ回路（Ｒ１Ｃ１、および、Ｒ２Ｃ２）を有する。つまり、等価電気回路モデルは、リチウムイオン二次電池の内部抵抗を、測定電流ｉに依存する関数とするために用いる。なお、内部抵抗の正確性は、カルマンフィルタを用いたＳｏＣ推定精度に大きな影響を与える。
【００２１】
図２に示す等価電気回路モデルの端子電圧ｖは、電位差ＯＣＶと、電圧ｖ０と、電圧ｖ１と、電圧ｖ２との和で表現される。つまり、端子電圧ｖは、下記の式（２）で表すことができる。算出部１３１は、カルマンフィルタを用いて、ＯＣＶがＳｏＣに応じて変化することを利用して、ＳｏＣの推定を行う。
【００２２】
【数２】
2015105876.tif 000004
【００２３】
図３は、ＯＣＶ特性曲線の一例を示すグラフである。図３に示すＯＣＶ特性曲線は、条件記憶部１２１に記憶されている。算出部１３１は、カルマンフィルタを用いてＳｏＣの推定を行う際に、条件記憶部１２１に記憶されたＯＣＶ特性曲線を参照する。
【００２４】
算出部１３１は、等価電気回路モデルを用いて、１ステップ前のｖ１、ｖ２、およびＯＣＶと、入力される測定電流ｉとに基づいて、現在のｖ１、ｖ２、およびＯＣＶと、予測端子電圧とを予測する。また、算出部１３１は、ＯＣＶ特性曲線を用いてＯＣＶからＳｏＣを算出する。ここで、下記の式（３）〜（５）に、対応する式を示す。ここで、式（３）は現在の状態推定値を示す。式（４）は、ＯＣＶ特性に基づく端子電圧を示す。式（５）は、１ステップ前の状態推定値を示す。
【００２５】
【数３】
2015105876.tif 000005
【数４】
2015105876.tif 000006
【数５】
2015105876.tif 000007
【００２６】
次に、算出部１３１は、実際に測定された測定端子電圧と、予測端子電圧との差分を算出する。算出部１３１は、ｖ１、ｖ２、およびＳｏＣと、端子電圧とに想定されるノイズを考慮して、測定端子電圧と予測端子電圧との誤差の原因となるｖ１、ｖ２、およびＳｏＣの誤差を推定する。算出部１３１は、推定したｖ１、ｖ２、およびＳｏＣの誤差を、予測したｖ１、ｖ２、およびＳｏＣに加えて補正することで、正しいＳｏＣの推定値を充電率情報として出力部１０２に出力する。
【００２７】
続いて、図４を用いてカルマンフィルタを用いたＳｏＣ推定処理の詳細について説明する。図４は、カルマンフィルタを用いたＳｏＣ推定処理の一例を示す説明図である。まず、図４の説明に用いる文字を説明する。ｋは、カルマンフィルタのステップ数を示す。
［文字１］
2015105876.tif 000008
は、ステップｋ−１のカルマンフィルタの状態推定値を示し、以下、１ステップ前の状態推定値という。
［文字２］
2015105876.tif 000009
は、ステップｋのカルマンフィルタの状態推定値を示し、以下、状態推定値という。
［文字３］
2015105876.tif 000010
は、ステップｋの測定端子電圧を示し、以下、測定端子電圧という。
［文字４］
2015105876.tif 000011
は、ステップｋのカルマンフィルタの状態推定値の逆行列を示し、以下、状態推定値の逆行列という。
［文字５］
2015105876.tif 000012
は、ステップｋのカルマンフィルタの状態推定値の修正値を示し、以下、修正値という。Ｇ（ｋ）は、ステップｋのカルマンゲインを示す。Ａは、ヤコビアンを示す。Ｐ（ｋ）は、ステップｋの誤差の共分散行列、つまり推定値の精度を示す。Σｖは、予測ノイズを示す。Σｗは、測定ノイズを示す。
【００２８】
ここで、共分散行列Ｐ（ｋ）は、予測誤差の原因が内部抵抗の誤差とＳｏＣの誤差のどちらに起因するかの比率を表す。共分散行列Ｐ（ｋ）は、等価電気回路モデルの誤差に起因する誤差によって、本来大きくなりにくいＳｏＣに対する比率が大きくなることにより、推定能力が劣化する。
【００２９】
カルマンフィルタは、フィードバック系の処理であるので、図４のＳｏＣ推定処理の説明では、便宜上「Ｓ」から処理を説明する。ここで、本実施例では、以下のカルマンフィルタのステップＳ１１〜Ｓ１６、および、ステップＳ２０〜Ｓ２２に相当する処理を算出部１３１で実行し、ステップＳ１７〜Ｓ１９に相当する処理を設定部１３２で実行する。従って、以下の説明では、制御部１３０がカルマンフィルタの処理を実行するものとして説明する。
【００３０】
制御部１３０は、測定電流ｉ（ｋ）が入力されると、１ステップ前の状態推定値と、測定電流ｉ（ｋ）とに基づいて、下記の式（６）を用いて状態推定値の逆行列、つまり予測値を算出する（ステップＳ１１）。ここで、測定電流ｉ（ｋ）は、１秒ごとに入力される場合を示しており、下記に示す式（７）の関係となる。
【００３１】
【数６】
2015105876.tif 000013
【数７】
2015105876.tif 000014
【００３２】
制御部１３０は、測定端子電圧が入力されると、測定端子電圧と、状態推定値の逆行列と、測定電流ｉ（ｋ）とに基づいて、下記の式（８）を用いて測定端子電圧と予測端子電圧ｙ（ｋ）との差分ｙ＊（ｋ）を算出する（ステップＳ１２）。また、式（８）は、予測端子電圧ｙ（ｋ）を用いて、下記の式（９）とも表現できる。ここで、測定端子電圧は、下記の式（１０）の関係となる。
【００３３】
【数８】
2015105876.tif 000015
【数９】
2015105876.tif 000016
【数１０】
2015105876.tif 000017
【００３４】
次に、制御部１３０は、１ステップ前の状態推定値に基づいて、下記の式（１１）を用いてヤコビアンＡを算出する（ステップＳ１３）。
【００３５】
【数１１】
2015105876.tif 000018
【００３６】
制御部１３０は、ヤコビアンＡと、１ステップ前の共分散行列Ｐ（ｋ−１）と、予測ノイズΣｖとに基づいて、下記の式（１２）を用いて共分散行列の逆行列Ｐ−（ｋ）を算出する（ステップＳ１４）。ここで、制御部１３０は、ステップＳ１４を実行する場合に、後述するステップＳ１９で判定された結果に基づく予測ノイズΣｖを用いて、共分散行列の逆行列Ｐ−（ｋ）を算出する。
【００３７】
【数１２】
2015105876.tif 000019
【００３８】
制御部１３０は、共分散行列の逆行列Ｐ−（ｋ）と、測定ノイズΣｗとに基づいて、下記の式（１３）を用いてカルマンゲインＧ（ｋ）を算出する（ステップＳ１５）。
【００３９】
【数１３】
2015105876.tif 000020
【００４０】
制御部１３０は、カルマンゲインＧ（ｋ）と、共分散行列の逆行列Ｐ−（ｋ）とに基づいて、下記の式（１４）を用いて共分散行列Ｐ（ｋ）を算出する（ステップＳ１６）。
【００４１】
【数１４】
2015105876.tif 000021
【００４２】
制御部１３０は、共分散行列Ｐ（ｋ）のＳｏＣに対応する成分が閾値ａより大きいか否かを判定する（ステップＳ１７）。ここで、図４の例では、共分散行列Ｐ（ｋ）は、等価電気回路モデルにおいて、ｖ１、ｖ２、ＳｏＣの３つの要素を用いているので、３×３の行列となり、ＳｏＣに対応する成分は（３，３）成分となる。なお、等価電気回路モデルにおいて、例えば、ｖ１、ｖ２、ｖ３、ＳｏＣのように４つの要素を用いた場合には、ＳｏＣに対応する成分は（４，４）成分となるので、ＳｏＣに対応する成分は、用いる等価電気回路モデルによって適宜変化する。
【００４３】
制御部１３０は、共分散行列Ｐ（ｋ）のＳｏＣに対応する成分が閾値ａより大きい場合には（ステップＳ１７：肯定）、共分散行列Ｐ（ｋ）をリセットしてステップＳ１４に戻る。つまり、制御部１３０は、共分散行列Ｐ（ｋ）に初期値を設定してステップＳ１４に戻る（ステップＳ１８）。制御部１３０は、共分散行列Ｐ（ｋ）のＳｏＣに対応する成分が閾値ａ以下の場合には（ステップＳ１７：否定）、共分散行列Ｐ（ｋ）をリセットせずにステップＳ１４に戻る。制御部１３０は、ステップＳ１４〜Ｓ１８を１ステップごとに繰り返す。
【００４４】
また、制御部１３０は、測定電流ｉ（ｋ）の変化量が所定値を超える場合に、予測ノイズΣｖを切り替える（ステップＳ１９）。つまり、制御部１３０は、測定電流ｉ（ｋ）の変化量が所定値を超える場合に、予測ノイズΣｖの行列のうち、ＳｏＣに対応する成分を異なる値に設定する。ここで、予測ノイズΣｖの一例を下記の式（１５）に示す。なお、式（１５）中のｓｃａは、リチウムイオン二次電池の充電容量を示し、ｌ、ｍは、それぞれｖ１、ｖ２に対応するパラメータを示す。
【００４５】
【数１５】
2015105876.tif 000022
【００４６】
制御部１３０は、予測ノイズΣｖの切り替えとして、式（１５）の例では、ＳｏＣに対応する成分である（３，３）成分を、例えば、１０分の１にする。すなわち、制御部１３０は、ＳｏＣの補正幅を狭くするような値に設定する。制御部１３０は、切り替えられた予測ノイズΣｖを用いて、ステップＳ１４の処理を実行する。また、制御部１３０は、測定電流ｉ（ｋ）の変化量が所定値以下である場合には、予測ノイズΣｖを切り替えない。また、制御部１３０は、従前の予測ノイズΣｖがＳｏＣの補正幅が狭くなるような値に切り替え済みであり、測定電流ｉ（ｋ）の変化量が、測定電流ｉ（ｋ）が小さくなる方向に所定値を超える量である場合には、初期値に切り替える。つまり、制御部１３０は、等価電気回路モデルの誤差が大きいことが原因で発生している予測誤差に合わせて、予測ノイズΣｖを切り替える。
【００４７】
次に、制御部１３０は、ステップＳ１２で算出された差分ｙ＊（ｋ）と、ステップＳ１５で算出されたカルマンゲインＧ（ｋ）とに基づいて、下記の式（１６）を用いて、状態推定値を修正するための修正値を算出する（ステップＳ２０）。
【００４８】
【数１６】
2015105876.tif 000023
【００４９】
制御部１３０は、ステップＳ１１で算出された状態推定値の逆行列と、ステップＳ２０で算出された修正値とに基づいて、下記の式（１７）を用いて状態推定値を算出する（ステップＳ２１）。ここで、状態推定値は、下記の式（１８）とも表すことができる。
【００５０】
【数１７】
2015105876.tif 000024
【数１８】
2015105876.tif 000025
【００５１】
制御部１３０は、状態推定値に基づいて、下記の式（１９）を用いてＳｏＣを算出する（ステップＳ２２）。
【００５２】
【数１９】
2015105876.tif 000026
【００５３】
このように、制御部１３０は、ＳｏＣ推定処理として、ステップＳ１１〜Ｓ２２の処理を１ステップごとに繰り返すことによって、例えば、１秒ごとにＳｏＣを算出できる。
【００５４】
図１に戻って、設定部１３２は、まず、初期設定として、制御部１３０が条件記憶部１２１を参照して、閾値ａと、予測ノイズΣｖと、共分散行列Ｐ（ｋ）の初期値が設定される。設定部１３２は、測定部１０１から測定電流、つまり、当該ステップの測定電流ｉ（ｋ）が入力される。また、設定部１３２は、算出部１３１から共分散行列Ｐ（ｋ）が１ステップごとに入力される。
【００５５】
設定部１３２は、算出部１３１から共分散行列Ｐ（ｋ）が入力されると、共分散行列Ｐ（ｋ）のＳｏＣに対応する成分が閾値ａより大きいか否かを判定する。設定部１３２は、共分散行列Ｐ（ｋ）のＳｏＣに対応する成分が閾値ａより大きい場合には、共分散行列Ｐ（ｋ）をリセットする。つまり、設定部１３２は、誤差の蓄積により肥大した共分散行列Ｐ（ｋ）をリセットする。一方、設定部１３２は、共分散行列Ｐ（ｋ）のＳｏＣに対応する成分が閾値ａ以下の場合には、共分散行列Ｐ（ｋ）をリセットしない。設定部１３２は、共分散行列Ｐ（ｋ）の判定が完了すると、初期化された共分散行列Ｐ（ｋ）、または、入力された共分散行列Ｐ（ｋ）を算出部１３１に出力する。
【００５６】
また、設定部１３２は、測定部１０１から測定電流ｉ（ｋ）が入力されると、測定電流ｉ（ｋ）の変化量が所定値を超えるか否かを判定する。設定部１３２は、測定電流ｉ（ｋ）の変化量が所定値を超える場合には、条件記憶部１２１を参照して、予測ノイズΣｖをＳｏＣの補正幅が狭くなるような値に切り替える切り替え情報を生成する。設定部１３２は、測定電流ｉ（ｋ）の変化量が所定値以下の場合には、予測ノイズΣｖを切り替えない切り替え情報を生成する。また、設定部１３２は、従前の予測ノイズΣｖがＳｏＣの補正幅が狭くなるような値に切り替え済みであり、測定電流ｉ（ｋ）の変化量が、測定電流ｉ（ｋ）が小さくなる方向に所定値を超える量である場合には、初期値に切り替える切り替え情報を生成する。設定部１３２は、生成した切り替え情報を算出部１３１に出力する。
【００５７】
ここで、図５を用いて予測ノイズΣｖの切り替えの一例を説明する。図５は、予測ノイズΣｖの切り替えの一例を示す説明図である。図５の例で示すように、測定電流ｉ（ｋ）が電流値５１で示す状態では、等価電気回路モデルが信用できるとして、カルマンフィルタの予測ノイズΣｖに初期値の値を用いる。ところが、カルマンフィルタは、測定電流ｉ（ｋ）が、例えば、放電から放電、または、充電から充電のように同じ向きに電流が大きくなる場合には、想定外の電圧変化が起こりやすいため、ＳｏＣの誤差を大きく見積もってしまい、ＳｏＣの値が悪化してしまう。
【００５８】
カルマンフィルタを用いるＳｏＣ推定では、例えば、測定電流ｉ（ｋ）が電流値５１から電流値５２に変化した場合、想定外の電圧変化が起こりやすいため、電流値５２の状態では、ＳｏＣの誤差が大きくなる。このため、当該変化が発生した場合には、次の測定電流ｉ（ｋ）の変化、例えば、電流値５２から再び電流値５１になった場合等まで、カルマンフィルタの予測ノイズΣｖの行列のうち、ＳｏＣに対応する成分をＳｏＣの補正幅を狭くするような値に設定する。ＳｏＣの補正幅を狭くするような値は、例えば、初期値の１０分の１にすることができる。つまり、設定部１３２は、等価電気回路モデルの信頼度に応じて予測ノイズΣｖ（共分散行列Σｖ）を切り替える。これにより、制御部１３０は、ＳｏＣの誤差の範囲、つまりぶれ幅を狭くできるので、ＳｏＣの推定値の劣化を防止することができる。
【００５９】
次に、実施例の推定装置１００の動作について説明する。
【００６０】
図６は、実施例の推定装置の処理の一例を示すフローチャートである。推定装置１００の制御部１３０は、条件記憶部１２１から各種パラメータを読み込んで、算出部１３１および設定部１３２に初期値として設定する。制御部１３０は、例えば、条件記憶部１２１を参照して、測定電流の変化量の所定値、および、閾値ａを設定部１３２に設定し、予測ノイズΣｖを算出部１３１に設定する（ステップＳ１０１）。
【００６１】
推定装置１００は、接続されたリチウムイオン二次電池のＳｏＣの推定を開始する。測定部１０１は、測定された電流および端子電圧を、それぞれ測定電流および測定端子電圧として制御部１３０に出力する。また、測定部１０１は、リチウムイオン二次電池の動作モードを取得して制御部１３０に出力する。
【００６２】
算出部１３１は、測定部１０１から測定電流および測定端子電圧が入力されると、カルマンフィルタを用いて、ＳｏＣ（充電率）、および、予測端子電圧を算出する。また、算出部１３１は、測定端子電圧と予測端子電圧との差分ｙ＊（ｋ）を誤差として算出する。さらに、算出部１３１は、カルマンフィルタの共分散行列Ｐ（ｋ）を、１ステップごとに算出し、設定部１３２に出力する（ステップＳ１０２）。
【００６３】
設定部１３２は、算出部１３１から共分散行列Ｐ（ｋ）が入力されると、共分散行列Ｐ（ｋ）のＳｏＣに対応する成分が閾値ａより大きいか否かを判定する（ステップＳ１０３）。設定部１３２は、共分散行列Ｐ（ｋ）のＳｏＣに対応する成分が閾値ａより大きい場合には（ステップＳ１０３：肯定）、共分散行列Ｐ（ｋ）に初期値を設定してリセットする（ステップＳ１０４）。設定部１３２は、共分散行列Ｐ（ｋ）のＳｏＣに対応する成分が閾値ａ以下の場合には（ステップＳ１０３：否定）、共分散行列Ｐ（ｋ）をリセットしない。設定部１３２は、共分散行列Ｐ（ｋ）の判定が完了すると、初期化された共分散行列Ｐ（ｋ）、または、入力された共分散行列Ｐ（ｋ）を算出部１３１に出力する。
【００６４】
設定部１３２は、測定部１０１から測定電流ｉ（ｋ）が入力されると、測定電流ｉ（ｋ）の変化量が所定値を超えるか否かを判定する（ステップＳ１０５）。設定部１３２は、測定電流ｉ（ｋ）の変化量が所定値を超える場合には（ステップＳ１０５：肯定）、条件記憶部１２１を参照して、予測ノイズΣｖをＳｏＣの補正幅が狭くなるような値に切り替える切り替え情報を生成する。なお、設定部１３２は、従前の予測ノイズΣｖがＳｏＣの補正幅が狭くなるような値に切り替え済みであり、測定電流ｉ（ｋ）の変化量が、測定電流ｉ（ｋ）が小さくなる方向に所定値を超える量である場合には、初期値に切り替える切り替え情報を生成する。算出部１３１は、設定部１３２から予測ノイズΣｖの切り替え情報が入力されると、切り替え情報に応じて予測ノイズΣｖを切り替える（ステップＳ１０６）。設定部１３２は、測定電流ｉ（ｋ）の変化量が所定値以下の場合には（ステップＳ１０５：否定）、予測ノイズΣｖを切り替えない切り替え情報を生成する。
【００６５】
算出部１３１は、共分散行列Ｐ（ｋ）、および、予測ノイズΣｖの処理が完了すると、カルマンフィルタに基づいて、ＳｏＣの状態推定値を算出する（ステップＳ１０７）。なお、算出部１３１は、リチウムイオン二次電池の動作モードに応じて、カルマンフィルタの算出結果を用いず、クーロンカウンタのみでＳｏＣを推定するようにしてもよい。
【００６６】
算出部１３１は、算出された状態推定値から式（１９）によってＳｏＣを算出する（ステップＳ１０８）。算出部１３１は、算出されたＳｏＣを出力部１０２に出力する（ステップＳ１０９）。算出部１３１は、カルマンフィルタを次のステップに進めるために、ｋをインクリメントして（ステップＳ１１０）、ステップＳ１０２の処理に戻る。推定装置１００は、ステップＳ１０２〜Ｓ１１０を繰り返す。これにより、ＳｏＣの経時的な誤差の蓄積による推定精度の劣化を防止し、電流が増大することによるＳｏＣの誤差の拡大に基づく推定精度の劣化を防止する。
【００６７】
このように、推定装置１００は、電池の測定電流および測定端子電圧に基づいて、カルマンフィルタを用いて電池の充電率を算出する。また、推定装置１００は、カルマンフィルタのＰ行列の充電率に対応する成分が所定値を超えた場合に、Ｐ行列を初期値に設定する。その結果、充電率の推定精度の劣化を防止できる。すなわち、推定装置１００は、ＳｏＣの経時的な誤差の蓄積による推定精度の劣化を防止できる。
【００６８】
また、推定装置１００は、電池の測定電流および測定端子電圧に基づいて、カルマンフィルタを用いて電池の充電率を算出する。また、推定装置１００は、測定電流の変化量が所定値を超える場合に、カルマンフィルタの予測ノイズを表す行列のうち、充電率に対応する成分を異なる値に設定する。その結果、充電率の推定精度の劣化を防止できる。
【００６９】
また、推定装置１００は、測定電流の変化量として、測定電流が同一の向きに増加して所定値を超える場合に、カルマンフィルタの予測ノイズを表す行列のうち、充電率に対応する成分を異なる値に設定する。その結果、電流が増大することによるＳｏＣの誤差の拡大に基づく推定精度の劣化を防止できる。
【００７０】
また、推定装置１００は、異なる値として、充電率の補正幅を狭くする値に設定する。その結果、カルマンフィルタのＳｏＣの補正のぶれ幅を狭くでき、等価電気回路モデルの信頼性に応じたＳｏＣの補正を行うことができる。
【００７１】
なお、上記実施例では、カルマンフィルタのＰ行列（共分散行列Ｐ（ｋ））のＳｏＣに対応する成分が閾値ａを超えた場合に、共分散行列Ｐ（ｋ）を初期値にリセットしたが、これに限定されない。推定装置１００は、例えば、所定の間隔、つまり一定間隔で、所定時間経過後に共分散行列Ｐ（ｋ）を初期値にリセットしてもよい。所定の間隔は、例えば、５００秒とすることができる。これにより、誤差の蓄積が所定の間隔の時間よりも多く蓄積されることを防止できる。
【００７２】
このように、推定装置１００は、所定の間隔でＰ行列を初期値に設定する。その結果、誤差の蓄積が所定の間隔の時間よりも多く蓄積されることがないので、ＳｏＣの経時的な誤差の蓄積による推定精度の劣化を防止できる。
【００７３】
また、上記実施例では、カルマンフィルタのＰ行列の充電率に対応する成分が所定値を超えた場合の処理と、測定電流の変化量が所定値を超える場合の処理とを合わせて行ったが、これに限定されない。推定装置１００は、カルマンフィルタのＰ行列の充電率に対応する成分が所定値を超えた場合の処理のみ、または、測定電流の変化量が所定値を超える場合の処理のみを行うようにしてもよい。これにより、コストに応じたＳｏＣの補正処理を行うことができる。
【００７４】
なお、上記実施例では、二次電池の一例として、リチウムイオン二次電池を挙げたが、これに限定されない。推定装置１００は、対象となる電池のＯＣＶ特性曲線と、等価電気回路モデルとが得られれば、他の種類の電池に対してもＳｏＣを推定することができる。他の電池としては、例えば、リチウムイオンポリマー二次電池、カルシウムイオン二次電池、ナノワイヤバッテリ、ニッケル水素二次電池、鉛蓄電池等にも適用できる。また、リチウムイオン二次電池としては、コバルト酸リチウムイオン電池、リン酸鉄リチウムイオン電池等に適用できる。これにより、多種の電池のＳｏＣを推定できる。
【００７５】
また、上記実施例では、等価電気回路モデルとして、電流変化に対して過渡的な電圧の変化を表すＲＣ回路として、Ｒ１Ｃ１、および、Ｒ２Ｃ２の２組のＲＣ回路を用いたが、これに限定されない。推定装置１００は、等価電気回路モデルとして、例えば、３組以上とした等価電気回路モデルを用いてもよい。これにより、等価電気回路モデルの精度が上がるので、カルマンフィルタによるＳｏＣの推定精度が向上する。
【００７６】
また、図示した各部の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各部の分散・統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。例えば、算出部１３１と設定部１３２とを統合して、共分散行列Ｐ（ｋ）のリセットと予測ノイズΣｖの切り替えを算出部１３１で行うようにしてもよい。
【００７７】
さらに、各部で行われる各種処理機能は、ＣＰＵ（又はＭＰＵ、ＭＣＵ（Micro  Controller  Unit）等のマイクロ・コンピュータ）上で、その全部又は任意の一部を実行するようにしてもよい。また、各種処理機能は、ＣＰＵ（又はＭＰＵ、ＭＣＵ等のマイクロ・コンピュータ）で解析実行されるプログラム上、又はワイヤードロジックによるハードウェア上で、その全部または任意の一部を実行するようにしても良いことは言うまでもない。
【００７８】
ところで、上記の実施例で説明した各種の処理は、予め用意されたプログラムをコンピュータで実行することで実現できる。そこで、以下では、上記の実施例と同様の機能を有するプログラムを実行するコンピュータの一例を説明する。図７は、推定プログラムを実行するコンピュータの一例を示す説明図である。
【００７９】
図７が示すように、コンピュータ２００は、各種演算処理を実行するＣＰＵ２０１と、ユーザからのデータ入力を受け付ける入力装置２０２と、モニタ２０３とを有する。また、コンピュータ２００は、記憶媒体からプログラム等を読み取る媒体読取装置２０４と、他の装置と接続するためのインタフェース装置２０５と、他の装置と有線または無線により接続するための通信装置２０６とを有する。また、コンピュータ２００は、各種情報を一時記憶するＲＡＭ２０７と、ハードディスク装置２０８とを有する。また、各装置２０１〜２０８は、バス２０９に接続される。コンピュータ２００は、例えば、電気自動車や電動バイクの制御装置、スマートフォン、ノート型のパーソナルコンピュータ等である。
【００８０】
ハードディスク装置２０８には、図１に示した算出部１３１および設定部１３２の各処理部と同様の機能を有する情報処理プログラムが記憶される。また、ハードディスク装置２０８には、条件記憶部１２１が記憶される。また、ハードディスク装置２０８には、情報処理プログラムを実現するための各種データが記憶される。モニタ２０３は、図１に示した出力部１０２と同様の機能を有する。インタフェース装置２０５は、図１に示した測定部１０１と同様の機能を有する。インタフェース装置２０５は、例えば印刷装置が接続された場合には印刷装置と一体として、図１に示した出力部１０２と同様の機能を有する。また、インタフェース装置２０５は、例えば、データロガー等が接続され、リチウムイオン二次電池の充放電の状態を記録できるようにしてもよい。通信装置２０６は、例えば他のコンピュータからコンピュータ２００の状態を把握する場合に、入力部１０１および出力部１０２と同様の機能を有する。
【００８１】
ＣＰＵ２０１は、ハードディスク装置２０８に記憶された各プログラムを読み出して、ＲＡＭ２０７に展開して実行することで、各種の処理を行う。また、これらのプログラムは、コンピュータ２００を図１に示した算出部１３１および設定部１３２として機能させることができる。
【００８２】
なお、上記の情報処理プログラムは、必ずしもハードディスク装置２０８に記憶されている必要はない。例えば、コンピュータ２００が読み取り可能な記憶媒体に記憶されたプログラムを、コンピュータ２００が読み出して実行するようにしてもよい。コンピュータ２００が読み取り可能な記憶媒体は、例えば、ＣＤ−ＲＯＭやＤＶＤディスク、ＵＳＢ（Universal  Serial  Bus）メモリ等の可搬型記録媒体、フラッシュメモリ等の半導体メモリ、ハードディスクドライブ等が対応する。また、公衆回線、インターネット、ＬＡＮ（Local  Area  Network）等に接続された装置にこの情報処理プログラムを記憶させておき、コンピュータ２００がこれらから情報処理プログラムを読み出して実行するようにしてもよい。なお、コンピュータ２００は、ＣＰＵ２０１と、ＲＡＭ２０７と、ハードディスク装置２０８を代替する不揮発性メモリ（例えば、フラッシュメモリ）と、測定部１０１および出力部１０２と同様の機能を有するインタフェース装置２０５とを有する構成としてもよい。当該構成では、コンピュータ２００は、例えば、リチウムイオン二次電池に組み込まれるモジュールや、ＭＰＵを用いたいわゆる組込用マイコン等としてもよい。
【符号の説明】
【００８３】
１００  推定装置
１０１  測定部
１０２  出力部
１２０  記憶部
１２１  条件記憶部
１３０  制御部
１３１  算出部
１３２  設定部
【図１】
2015105876.tif 000027
【図２】
2015105876.tif 000028
【図３】
2015105876.tif 000029
【図４】
2015105876.tif 000030
【図５】
2015105876.tif 000031
【図６】
2015105876.tif 000032
【図７】
2015105876.tif 000033