(58)【調査した分野】(Int.Cl.,DB名)
前記算出手段は、前記パルス放電の一つにおける複数の前記電圧値または複数の前記差分値を、前記電圧値または前記差分値が測定された時点の電流値でそれぞれ除算して得られた値を用いて、前記所定の関数のパラメータを算出することを特徴とする請求項1または2に記載の二次電池状態検出装置。
前記検出手段は、前記指数関数の係数から、前記二次電池の反応抵抗の抵抗値を算出し、この抵抗値に基づいて前記二次電池の状態を検出することを特徴とする請求項5に記載の二次電池状態検出装置。
前記検出手段は、前記指数関数の係数から、前記二次電池の電気二重層容量の容量値および/またはオーミック抵抗の抵抗値を算出し、この容量値および/または抵抗値を用いて前記二次電池の状態を検出することを特徴とする請求項5または6に記載の二次電池状態検出装置。
前記算出手段は、最小自乗演算またはカルマンフィルタ演算に基づいて、時間を変数とする前記所定の関数によってフィッティングすることを特徴とする請求項1乃至7のいずれか1項に記載の二次電池状態検出装置。
前記検出手段は、前記算出手段によって算出されたパラメータに基づいて、前記二次電池の初期容量、劣化度および放電能力の内、少なくとも一つを算出することを特徴とする請求項1乃至8のいずれか1項に記載の二次電池状態検出装置。
【発明の概要】
【発明が解決しようとする課題】
【0005】
ところで、特許文献1に開示された技術では、一定回数以上の多数回のパルス放電を実行する必要があることから、二次電池の容量低下を招来するという問題点がある。
【0006】
また、特許文献2に開示された技術では、フーリエ変換の処理の演算負荷が大きいため、処理能力が高いプロセッサが必要になり、コストが高くつくという問題点がある。
【0007】
そこで、本発明は、二次電池の容量低下を少なくするとともに、演算コストが低い二次電池状態検出装置および二次電池状態検出方法を提供することを目的としている。
【課題を解決するための手段】
【0008】
上記課題を解決するために、本発明は、二次電池の状態を検出する二次電池状態検出装置において、前記二次電池をパルス放電させる放電手段と、前記放電手段を制御して前記二次電池を少なくとも1回パルス放電させ、前記パルス放電の一つにおける前記パルス放電中の電圧値を複数回測定し、電圧値の時間的変化を取得する取得手段と、前記取得手段によって取得された前記パルス放電の一つにおける複数の前記電圧値の時間的変化を、時間を変数とする所定の関数によってフィッティングすることで前記所定の関数のパラメータを算出する算出手段と、前記算出手段によって算出された前記所定の関数のパラメータに基づいて、前記二次電池の状態を検出する検出手段と、を有することを特徴とする。
このような構成によれば、二次電池の容量低下を少なくするとともに、演算コストを低くすることができる。
また、本発明は、二次電池の状態を検出する二次電池状態検出装置において、前記二次電池をパルス放電させる放電手段と、前記放電手段を制御して前記二次電池を少なくとも1回パルス放電させ、前記パルス放電の一つにおける放電開始前の電圧値
を1回測定し、前記パルス放電中の電圧値を複数回測定し、電圧値の時間的変化を取得する取得手段と、前記取得手段によって取得された前記パルス放電の一つにおける放電開始前の電圧値と前記パルス放電中の複数の前記電圧値のそれぞれとの差分値の時間的変化を、時間を変数とする所定の関数によってフィッティングすることで前記所定の関数のパラメータを算出する算出手段と、前記算出手段によって算出された前記所定の関数のパラメータに基づいて、前記二次電池の状態を検出する検出手段と、を有することを特徴とする。
このような構成によれば、二次電池の容量低下を少なくするとともに、演算コストを低くすることができる。
【0009】
また、本発明は、前記パルス放電
の一つにおける複数の前記電圧値または
複数の前記差分値を、
前記電圧値または前記差分値が測定された時点の電流値で
それぞれ除算して得られた値を用いて、前記所定の関数のパラメータを算出することを特徴とする。
このような構成によれば、電流の変動の影響を小さくし、二次電池の状態を正確に検出することができる。
【0010】
また、本発明の一側面は、前記所定の関数は時間を変数とする一次関数であり、前記検出手段は、前記一次関数の傾きに基づいて、前記二次電池の状態を検出することを特徴とする。
このような構成によれば、パラメータの少ない一次関数を用いることで計算の負荷を軽減することができる。
【0011】
また、本発明の一側面は、前記所定の関数は時間を変数とする指数関数であり、前記検出手段は、前記指数関数の係数に基づいて、前記二次電池の状態を検出することを特徴とする。
このような構成によれば、一次関数に比較して、より正確に二次電池の状態を検出することができる。
【0012】
また、本発明の一側面は、前記検出手段は、前記指数関数の係数から、前記二次電池の反応抵抗の抵抗値を算出し、この抵抗値に基づいて前記二次電池の状態を検出することを特徴とする。
このような構成によれば、劣化による変化が大きい反応抵抗に基づいて、二次電池の状態を正確に検出することができる。
【0013】
また、本発明の一側面は、前記検出手段は、前記指数関数の係数から、前記二次電池の電気二重層容量の容量値および/またはオーミック抵抗の抵抗値を算出し、この容量値および/または抵抗値を用いて前記二次電池の状態を検出することを特徴とする。
このような構成によれば、反応抵抗のみを使用する場合に比較して、より正確に二次電池の状態を検出することができる。
【0014】
また、本発明の一側面は、前記算出手段は、最小自乗演算またはカルマンフィルタ演算に基づいて、時間を変数とする前記所定の関数によってフィッティングすることを特徴とする。
このような構成によれば、例えば、フーリエ変換を実行する場合に比較して、処理負荷を軽減することができる。
【0015】
また、本発明の一側面は、前記検出手段は、前記算出手段によって算出されたパラメータに基づいて、前記二次電池の劣化度および放電能力の少なくとも一方を算出することを特徴とする。
このような構成によれば、二次電池の劣化度および放電能力の少なくとも一方に基づいて、二次電池の状態を正確に判断することができる。
【0016】
また、本発明は、二次電池の状態を検出する二次電池状態検出方法において、前記二次電池をパルス放電させる放電ステップと、前記放電ステップにおいて前記二次電池を少なくとも1回パルス放電させ、前記パルス放電の一つにおける
前記パルス放電中の
電圧値を複数回測定し、電圧値の時間的変化を取得する取得ステップと、前記取得ステップにおいて取得された前記パルス放電
の一つにおける複数の前記電圧値の
時間的変化を、時間を変数とする所定の関数によってフィッティングすることで前記所定の関数のパラメータを算出する算出ステップと、前記算出ステップにおいて算出された前記所定の関数のパラメータに基づいて、前記二次電池の状態を検出する検出ステップと、を有することを特徴とする。
このような方法によれば、二次電池の容量低下を少なくするとともに、演算コストを低くすることができる。
【発明の効果】
【0017】
本発明によれば、二次電池の容量低下を少なくするとともに、演算コストを低くすることが可能な二次電池状態検出装置および二次電池状態検出方法を提供することが可能となる。
【発明を実施するための形態】
【0019】
次に、本発明の実施形態について説明する。
【0020】
(A)第1実施形態の構成の説明
図1は、本発明の第1実施形態に係る二次電池状態検出装置を有する車両の電源系統を示す図である。この図において、二次電池状態検出装置1は、制御部10、電圧センサ11、電流センサ12、温度センサ13、および、放電回路15を主要な構成要素としており、二次電池14の状態を検出する。ここで、制御部10は、電圧センサ11、電流センサ12、および、温度センサ13からの出力を参照し、二次電池14の状態を検出する。電圧センサ11は、二次電池14の端子電圧を検出し、制御部10に通知する。電流センサ12は、二次電池14に流れる電流を検出し、制御部10に通知する。温度センサ13は、二次電池14自体または周囲の環境温度を検出し、制御部10に通知する。放電回路15は、例えば、直列接続された半導体スイッチと抵抗素子等によって構成され、制御部10によって半導体スイッチがオン/オフ制御されることにより二次電池14をパルス放電させる。なお、抵抗素子を介して放電するのではなく、例えば、定電流回路を介して放電することで、放電電流が一定になるようにしてもよい。
【0021】
二次電池14は、例えば、鉛蓄電池、ニッケルカドミウム電池、ニッケル水素電池、または、リチウムイオン電池等によって構成され、オルタネータ16によって充電され、スタータモータ18を駆動してエンジンを始動するとともに、負荷19に電力を供給する。オルタネータ16は、エンジン17によって駆動され、交流電力を発生して整流回路によって直流電力に変換し、二次電池14を充電する。
【0022】
エンジン17は、例えば、ガソリンエンジンおよびディーゼルエンジン等のレシプロエンジンまたはロータリーエンジン等によって構成され、スタータモータ18によって始動され、トランスミッションを介して駆動輪を駆動し車両に推進力を与えるとともに、オルタネータ16を駆動して電力を発生させる。スタータモータ18は、例えば、直流電動機によって構成され、二次電池14から供給される電力によって回転力を発生し、エンジン17を始動する。負荷19は、例えば、電動ステアリングモータ、デフォッガ、イグニッションコイル、カーオーディオ、および、カーナビゲーション等によって構成され、二次電池14からの電力によって動作する。
【0023】
図2は、
図1に示す制御部10の詳細な構成例を示す図である。この図に示すように、制御部10は、CPU(Central Processing Unit)10a、ROM(Read Only Memory)10b、RAM(Random Access Memory)10c、通信部10d、I/F(Interface)10eを有している。ここで、CPU10aは、ROM10bに格納されているプログラム10baに基づいて各部を制御する。ROM10bは、半導体メモリ等によって構成され、プログラム10ba等を格納している。RAM10cは、半導体メモリ等によって構成され、プログラムbaを実行する際に生成されるデータや、後述する数式等のパラメータ10caを格納する。通信部10dは、上位の装置であるECU(Electric Control Unit)等との間で通信を行い、検出した情報を上位装置に通知する。I/F10eは、電圧センサ11、電流センサ12、および、温度センサ13から供給される信号をデジタル信号に変換して取り込むとともに、放電回路15に駆動電流を供給してこれを制御する。
【0024】
(B)第1実施形態の動作の説明
つぎに、図を参照して、第1実施形態の動作について説明する。以下では、第1実施形態の動作の原理について説明した後、フローチャートを参照して、詳細な動作を説明する。
【0025】
制御部10のCPU10aは、二次電池14の状態を検出する場合、放電回路15を制御して、二次電池14をパルス放電させ、そのときの電圧および電流の時間的変化を測定する。
図3は、パルス放電時における電圧と電流の時間的変化を示す図である。この
図3において横軸は時間を示し、縦軸は電流または電圧を示している。まず、CPU10aは、放電開始前電圧Vbと放電開始前電流Ibを測定する。つぎに、CPU10aは、放電回路15を制御して、二次電池14をパルス放電させる。このとき、CPU10aは、電圧センサ11および電流センサ12の出力を所定の周期でサンプリングする。
図3の例では、タイミングt1,t2,t3,・・・,tNでサンプリングが実行され、二次電池14の電圧値と電流値が取得される。
【0026】
つぎに、CPU10aは、タイミングt1,t2,t3,・・・,tNでサンプリングされた時系列の電圧値V(tn)を、同じタイミングでサンプリングされた時系列の電流値I(tn)によってそれぞれ除算し、時系列の抵抗値R(tn)を得る。なお、電圧値をそのまま使用するのではなく、放電開始前電圧Vbからのドロップ電圧ΔV(tn)を求めて、このドロップ電圧ΔV(tn)を、電流値I(tn)によってそれぞれ除算し、時系列の抵抗値R(tn)を得るようにしてもよい。
【0027】
つぎに、CPU10aは、時系列の抵抗値R(tn)を、以下の式(1)に示す一次関数f(tn)によってフィッティングし、係数a,bを求める。具体的には、最小自乗演算またはカルマンフィルタ演算によって、フィッティングを行うことで、係数a,bを求める。
【0028】
f(tn)=a・tn+b ・・・(1)
【0029】
図4は、複数の種類の二次電池14に対する実測値を示している。この
図4において、batt1,2、batt3,4、および、batt5,6はそれぞれ同じ初期容量(または公称容量)の二次電池を示しており、batt1,2は中程度の初期容量の二次電池を示し、batt3,4、および、batt5,6はbatt1,2よりも大きい初期容量の二次電池を示している。これらの図に示すように、二次電池の容量によって抵抗値は異なるが、容量が同じであれば、種類が異なっても傾きは殆ど変化しない。なお、グラフの傾きに対応する係数aの値は、二次電池14の反応抵抗値との相関が高い。この反応抵抗は、二次電池14の劣化に応じて値が大きくなることから、式(1)に示す一次関数f(tn)の係数aを求めることで、二次電池14の状態を、その種類に拘わらず正確に求めることができる。
【0030】
図5は、一次関数の傾きと、二次電池14の初期容量の関係を示す図である。この
図5の横軸は一次関数の傾きaを示し、縦軸はSOH(State of Health)を示している。また、図中の菱形(SOH_ini)は実測された初期容量を示し、矩形(SOH_nom)は公称容量を示している。この
図5に示すように、公称容量と傾きとは0.7915程度の決定係数を有している。また、実測された初期容量と傾きとは0.7971程度の決定係数を有している。このように、二次電池14の公称値または実測値と、傾きとは高い相関を有しているということができる。このため、SOHと傾きの間にも高い相関が存在すると推定することができる。
【0031】
つぎに、
図6を参照して、
図1に示す制御部10において実行される処理の一例について説明する。
図6に示すフローチャートは、二次電池14の状態を検出する場合に実行され、ROM10bに格納されているプログラム10baが読み出されてCPU10aに実行されることで実現される。なお、実行されるタイミングとしては、例えば、エンジン17が停止されてから所定の時間(例えば、数時間)が経過した場合がある。もちろん、これ以外のタイミングでもよい。このフローチャートの処理が開始されると、以下のステップが実行される。
【0032】
ステップS10では、CPU10aは、電圧センサ11の出力を参照し、
図3に示す放電開始前電圧Vbを検出する。
【0033】
ステップS11では、CPU10aは、電流センサ12の出力を参照し、
図3に示す放電開始前電流Ibを検出する。
【0034】
ステップS12では、CPU10aは、放電回路15を制御し、二次電池14のパルス放電を開始する。なお、パルス放電の方法としては、例えば、抵抗素子を介して放電する方法や、定電流回路を介して放電する方法がある。なお、後者の方法では、一定の電流が流れることから、後述する抵抗値を算出する処理が簡易化することができる。また、電流値を制限することにより、二次電池14の負荷を軽減することができる。
【0035】
ステップS13では、CPU10aは、二次電池14の電圧を測定する。より詳細には、CPU10aは、電圧センサ11の出力を参照し、二次電池14のタイミングtnにおける電圧V(tn)を測定し、RAM10cにパラメータ10caとして格納する。
【0036】
ステップS14では、CPU10aは、二次電池14の電流を測定する。より詳細には、CPU10aは、電流センサ12の出力を参照し、二次電池14のタイミングtnにおける電流I(tn)を測定し、RAM10cにパラメータ10caとして格納する。
【0037】
ステップS15では、CPU10aは、パルス放電の開始から所定の時間が経過したか否かを判定し、所定の時間が経過したと判定した場合(ステップS15:Yes)にはステップS16に進み、それ以外の場合(ステップS15:No)にはステップS13に戻って前述の場合と同様の処理を繰り返す。例えば、
図3に示すように、N回のサンプリングが終了した場合には、Yesと判定してステップS16に進む。
【0038】
ステップS16では、CPU10aは、パルス放電を終了する。より詳細には、CPU10aは、放電回路15を制御して、パルス放電を終了する。
【0039】
ステップS17では、CPU10aは、時系列の抵抗値R(tn)を求める。より詳細には、CPU10aは、ステップS13で測定した時系列の電圧値V(tn)を、時系列の電流値I(tn)によってそれぞれ除算することで、時系列の抵抗値R(tn)を求める。得られた時系列の抵抗値R(tn)はパラメータ10caとしてRAM10cに格納する。
【0040】
ステップS18では、CPU10aは、ステップS17で求めた時系列の抵抗値R(tn)を前述した式(1)に示す一次関数f(tn)によってフィッティングし、係数a,bを求める。より具体的には、例えば、最小自乗演算またはカルマンフィルタ演算を用いることで、一次関数のフィッティングを行い、係数a,bを得ることができる。
【0041】
ステップS19では、CPU10aは、ステップS18で求めた一次関数の傾きである係数aを取得する。
【0042】
ステップS20では、ステップS19で取得した係数aに基づいて、二次電池14の状態を検出する。より詳細には、二次電池14の劣化が進行すると、係数aの値が大きくなるので、係数aの値の大小に基づいて、二次電池14の劣化状態を検出することができる。
【0043】
なお、以上の処理では、ステップS13で測定した電圧値を、ステップS14で測定した電流値で直接除算することで抵抗値を得るようにしたが、例えば、測定された電圧値から放電開始前電圧Vbを減算して得られる差分の電圧ΔV(tn)を、電流値I(tn)で除算することで、抵抗値R(tn)を求めるようにしてもよい。
【0044】
また、二次電池14の温度による抵抗値の変化をテーブルとしてROM10bに格納しておき、温度センサ13の出力を参照して、二次電池14の温度を検出し、検出した温度に基づいて、ステップS17で求めた抵抗値を温度補正するようにしてもよい。そのような方法によれば、温度による誤差の発生を防ぐことができる。
【0045】
(C)第2実施形態の説明
つぎに、第2実施形態について説明する。なお、第2実施形態の構成は、
図1および
図2の場合と同様であるので、その説明は省略する。第2実施形態では、一次関数ではなく、指数関数を用いてフィッティングを行う点が、第1実施形態とは異なっている。以下では、第2実施形態の動作の原理について説明した後、フローチャートを参照して、詳細な動作を説明する。
【0046】
図7は、第2実施形態において使用する二次電池14の等価回路である。
図7に示すように、第2実施形態では、オーミックな抵抗Rohmと、反応抵抗Rctと、電気二重層容量Cによって二次電池14を近似する。ここで、抵抗Rohmは、例えば、二次電池14の液抵抗を示している。また、反応抵抗Rct(Charge Transfer Resistance)は、電荷が移動する際の抵抗である。また、電気二重層容量Cは、電場に応じて荷電粒子が移動した結果、界面に正負の荷電粒子が対を形成して層状に並ぶことによって形成される容量の値を示す。
【0047】
また、第2実施形態では、例えば、以下の式(2)に示す指数関数によって、フィッティングを行う。なお、これ以外の式であってもよい。
【0048】
f(tn)=A×(1−exp(−tn/τ))+B ・・・(2)
【0049】
ここで、A=Rctであり、B=Rohmであり、また、τ=C×Rct(Cは電気二重層容量)である。
【0050】
図8は、式(2)によるフィッティングの結果を示す図である。
図8では、「meas」は測定結果を示し、「fitted」はフィッティング結果を示す。この図に示すように、測定結果とフィッティング結果はよく一致している。
【0051】
図9は、式(2)によって求めた反応抵抗と27個の二次電池の初期容量の実測値との関係を示す図である。
図9において、横軸は反応抵抗Rctを示し、縦軸はSOHを示している。この図に示すように、反応抵抗Rctと、SOHとは0.8777程度の高い決定係数を有している。これより、式(2)に示す指数関数を用いても二次電池14の状態を検出することができる。
【0052】
以上に示すように、第2実施形態では、二次電池14に対してパルス放電を行わせるとともに、そのときの電圧値を電流値によって除算して時系列データとして記録し、記録された抵抗値の時系列データを、式(2)に示す指数関数を用いてフィッティングを行い、係数A(=Rct)を用いて二次電池14の状態を検出するようにした。このため、複数回の放電を実行しないことから、二次電池14の消耗を防ぐことができる。また、複雑な計算を必要としないことから、CPU10aとして処理能力が高くない安価なものを使用することができる。
【0053】
つぎに、
図10を参照して、第2実施形態におい実行される処理について説明する。なお、
図10において、
図6と対応する処理については同じ符号を付してあるので、その説明は省略する。
図10では、
図6と比較すると、ステップS18〜S20がステップS50〜S52に置換されている。これ以外の処理は
図6と同様であるので、以下では、ステップS50〜S52を中心に説明する。
【0054】
ステップS50では、CPU10aは、ステップS17で求めた時系列の抵抗値R(tn)を前述した式(2)に示す指数関数f(tn)によってフィッティングし、係数A,B,τを求める。より具体的には、例えば、最小自乗演算またはカルマンフィルタ演算を用いることで、指数関数のフィッティングを行い、これらの係数の値を得ることができる。
【0055】
ステップS51では、CPU10aは、ステップS50で求めた指数関数の係数Aを取得する。
【0056】
ステップS52では、ステップS51で取得した係数Aに基づいて、二次電池14の状態を検出する。より詳細には、二次電池14の劣化が進行すると、係数Aの値が大きくなるので、係数Aの値の大小に基づいて、二次電池14の劣化状態を検出することができる。
【0057】
なお、以上の処理では、ステップS13で測定した電圧値を、ステップS14で測定した電流値で直接除算することで抵抗値を得るようにしたが、例えば、測定された電圧値から放電開始前電圧Vbを減算して得られる差分の電圧ΔV(tn)を、電流値I(tn)で除算することで、抵抗値R(tn)を求めるようにしてもよい。
【0058】
また、二次電池14の温度による抵抗値の変化をテーブルとしてROM10bに格納しておき、温度センサ13の出力を参照して、二次電池14の温度を検出し、検出した温度に基づいて、ステップS17で求めた抵抗値を温度補正するようにしてもよい。そのような方法によれば、温度による誤差の発生を防ぐことができる。
【0059】
(D)変形実施形態の説明
以上の実施形態は一例であって、本発明が上述したような場合のみに限定されるものでないことはいうまでもない。例えば、以上の各実施形態で、使用した式(1)および式(2)は一例であってこれ以外の式を用いるようにしてもよい。例えば、式(2)の例では、自然対数の底数eを用いるようにしたが、これ以外の底数を用いるようにしてもよい。また、「1−exp(−tn/τ)」はこれ以外の式であったり、これ以外の項を含んでいたりしてもよい。
【0060】
また、以上の各実施形態では、1回の放電に基づいて二次電池14の状態を検出するようにしたが、もちろん、複数回の放電に基づいて状態を検出するようにしてもよい。その場合、例えば、数分から数時間程度時間を空けて2回目以降の放電を実行するようにし、得られた結果の平均値から二次電池14の状態を判断するようにしてもよい。
【0061】
また、以上の各実施形態では、電圧と電流の双方を検出するようにしたが、例えば、電流の変動が少ない場合や定電流回路で放電する場合には、電圧だけを検出するようにしてもよい。
【0062】
また、以上の第2実施形態では、反応抵抗Rctに対応する係数Aのみを用いて二次電池14の状態を検出するようにしたが、オーミック抵抗Rohmおよび電気二重層容量Cの少なくとも一方を用いて判定するようにしてもよい。例えば、反応抵抗Rctとオーミック抵抗Rohmまたは反応抵抗Rctと電気二重層容量Cを用いて検出を行ったり、あるいは、反応抵抗Rctとオーミック抵抗Rohmと電気二重層容量Cの全てを用いて状態を検出したりすることも可能である。なお、これらを用いて判定を行う場合には、SOHまたはSOF(State of Function(放電能力))と、これらの係数との関係を導く関数を求め、この関数に基づいてSOHまたはSOFを求めることができる。
【0063】
また、
図6および
図10に示すフローチャートは一例であって、これ以外の順序で処理を実行するようにしたり、あるいは、これ以外の処理を実行するようにしたりしてもよい。
【0064】
また、以上の各実施形態では、反応抵抗の値およびSOHを求めるようにしたが、例えば、求めた反応抵抗に基づいて、例えば、エンジン17のアイドリングを停止する、いわゆる、アイドリングストップの実行を制御するようにしてもよい。具体的には、反応抵抗の値が所定の閾値よりも低いと判定された場合には、アイドリングストップを実行し、所定の閾値よりも高いと判定された場合には、アイドリングストップを実行しないようにしてもよい。あるいは、反応抵抗Rctと、スタータモータ18に流れる電流から、電圧降下を求めて、この電圧降下が所定の電圧以上になった場合には、エンジンを停止しないようにすることができる。また、SOHが前述した閾値に近づいている場合には、例えば、負荷19の動作を停止させ、二次電池14のさらなる消耗を防ぐようにしてもよい。さらに、SOHが所定の値よりも小さい場合には、二次電池14を交換するように指示するメッセージを表示するようにしてもよい。