(57)【特許請求の範囲】
【請求項１】
蓄電池（１０）の等価回路を構成する抵抗成分（Ｒ１，Ｒ２）及び容量成分（Ｃ１，Ｃ２）の並列回路（Ｐ１，Ｐ２）について、前記抵抗成分を学習する電池特性学習装置（５０）であって、
電圧検出部（４０）によって検出される前記蓄電池の端子間電圧の検出値及び電流検出部（３０）によって検出される前記蓄電池に流れる充放電電流の検出値をそれぞれ取得し、その取得した検出値を時系列で記憶する取得部と、
前記取得部により取得された前記充放電電流の検出値に基づいて、前記充放電電流に変化が生じ、その変化の後に所定時間にわたって一定電流が流れている場合に、所定の変化が生じたと判定する第１判定部と、
前記充放電電流の検出値に基づいて、前記並列回路の電圧を算出する電圧算出部と、
前記端子間電圧の検出値に基づいて、前記所定の変化が生じた時点から、前記一定電流が流れることで前記容量成分が飽和するまでに生じる前記並列回路の電圧の変化量を算出する変化量算出部と、
前記所定の変化が生じたと判定された場合に、前記電圧算出部による前記所定の変化時における前記並列回路の電圧の算出値と、前記変化量算出部による算出値との和を前記一定電流で除算することで、前記抵抗成分を算出するとともに、その算出値を学習する学習部と、
前記所定の変化時における前記並列回路の電圧の算出値、及び、前記一定電流の少なくとも一方に基づいて、前記学習部による前記抵抗成分の学習を実施するか否かを判定する第２判定部と、を備えることを特徴とする電池特性学習装置。
【請求項２】
前記第２判定部は、前記所定の変化時における前記並列回路の電圧の算出値と、前記一定電流との比に基づいて、前記学習部による前記抵抗成分の算出及び学習を実施するか否かを判定することを特徴とする請求項１に記載の電池特性学習装置。
【請求項３】
前記電圧算出部は、前記抵抗成分及び前記容量成分の学習値と、前記充放電電流の検出値と、に基づいて、前記並列回路の電圧を算出することを特徴とする請求項１又は２に記載の電池特性学習装置。
【請求項４】
前記学習部は、前記蓄電池の端子間電圧の検出値、及び、前記抵抗成分の算出値に基づいて、前記容量成分を算出するとともに、その算出値を学習し、
第２判定部は、前記所定の変化時における前記並列回路の電圧の算出値、及び、前記一定電流の少なくとも一方に基づいて、前記学習部による前記容量成分の学習を実施するか否かを判定することを特徴とする請求項１乃至３のいずれか１項に記載の電池特性学習装置。
【発明の詳細な説明】
【技術分野】
【０００１】
蓄電池の等価回路を構成する抵抗成分を学習する電池特性学習装置に関する。
【背景技術】
【０００２】
蓄電池の内部抵抗値を算出し、その抵抗値に基づいて蓄電池の寿命を診断する方法が知られている。また、蓄電池の内部抵抗値、蓄電池の端子間電圧、及び、蓄電池に流れる電流に基づいて、蓄電池の開放端電圧（ＯＣＶ：  Ｏｐｅｎ  Ｃｉｒｃｕｉｔ  Ｖｏｌｔａｇｅ）を算出し、そのＯＣＶに基づいて蓄電池の充電率（ＳＯＣ：  Ｓｔａｔｅ  ｏｆ  Ｃｈａｒｇｅ）を推定する方法が知られている。
【０００３】
蓄電池の等価回路は、内部抵抗を表す回路定数（抵抗成分及び容量成分）と、電圧源とから構成される。蓄電池に流れる電流が変化する過渡応答時における蓄電池の内部抵抗値を算出するには、蓄電池の等価回路が備える各回路定数を算出する必要がある。一定期間において検出された蓄電池の端子間電圧の検出値、及び、蓄電池に流れる電流の検出値に基づいて回路定数を算出する方法が知られている（例えば、特許文献１）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１５−９０３４２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１に記載の方法を用いて、回路定数を精度よく算出するためには、蓄電池に流れる電流に所定の変化が生じる前に、所定時間にわたって一定電流が流れていることを要する。これは、容量成分において電荷が飽和していることを前提にしているためである。このため、等価回路を構成する抵抗成分及び容量成分の算出機会が限られる。
【０００６】
本発明は、上記課題を解決するためになされたものであり、蓄電池の等価回路における抵抗成分の学習値を精度よく算出し、さらに、その算出の機会を多く確保することが可能な、電池特性学習装置を提供することを主たる目的とする。
【課題を解決するための手段】
【０００７】
本構成は、蓄電池（１０）の等価回路を構成する抵抗成分（Ｒ１，Ｒ２）及び容量成分（Ｃ１，Ｃ２）の並列回路（Ｐ１，Ｐ２）について、前記抵抗成分を学習する電池特性学習装置（５０）であって、電圧検出部（４０）によって検出される前記蓄電池の端子間電圧の検出値及び電流検出部（３０）によって検出される前記蓄電池に流れる充放電電流の検出値をそれぞれ取得し、その取得した検出値を時系列で記憶する取得部と、前記取得部により取得された前記充放電電流の検出値に基づいて、前記充放電電流に変化が生じ、その変化の後に所定時間にわたって一定電流が流れている場合に、所定の変化が生じたと判定する第１判定部と、前記充放電電流の検出値に基づいて、前記並列回路の電圧を算出する電圧算出部と、前記端子間電圧の検出値に基づいて、前記所定の変化が生じた時点から、前記一定電流が流れることで前記容量成分が飽和するまでに生じる前記並列回路の電圧の変化量を算出する変化量算出部と、前記所定の変化が生じたと判定された場合に、前記電圧算出部による前記所定の変化時における前記並列回路の電圧の算出値と、前記変化量算出部による算出値との和を前記一定電流で除算することで、前記抵抗成分を算出するとともに、その算出値を学習する学習部と、前記所定の変化時における前記並列回路の電圧の算出値、及び、前記一定電流の少なくとも一方に基づいて、前記学習部による前記抵抗成分の学習を実施するか否かを判定する第２判定部と、を備えることを特徴とする。
【０００８】
抵抗成分の算出において、蓄電池の端子間電圧及び蓄電池の充放電電流の検出値に加えて、並列回路の電圧の算出値を用いる構成とした。これにより、充放電電流において所定の変化が生じた時点で、並列回路を構成する容量成分が飽和していない状態であっても、抵抗成分を算出することが可能になる。しかしながら、並列回路の電圧の算出値の精度が、抵抗成分の算出値の精度に与える悪影響が問題となる。ここで、並列回路の電圧の算出誤差が、抵抗成分の算出精度に与える影響は、所定の変化時における並列回路の電圧の大きさに比例とするともに、一定電流の大きさに逆比例する。そこで、所定の変化時における並列回路の電圧の算出値、及び、一定電流の少なくとも一方に基づいて、抵抗成分の学習を実施するか否かを判定する構成とした。このような構成にすることで、抵抗成分の学習値の精度を向上させることができる。
【図面の簡単な説明】
【０００９】
【図１】蓄電池及び電池特性学習装置を備える回路図。
【図２】蓄電池の等価回路を示す回路図。
【図３】蓄電池の端子間電圧の変化を示す図。
【図４】パラメータＡに関する電圧の検出値と理論電圧曲線とのフィッティング処理を表す図。
【図５】パラメータＢに関する電圧の検出値と理論電圧曲線とのフィッティング処理を表す図。
【図６】容量成分Ｃ１に関する電圧の検出値と理論電圧曲線とのフィッティング処理を表す図。
【図７】電流変化の一例を示すタイミングチャート。
【図８】抵抗成分の学習値における誤差と、回路電圧の算出値の誤差との関係を表す図。
【図９】回路電圧の算出値の大きさと、回路電圧の算出値の誤差との関係を表す図。
【図１０】本実施形態における回路定数（抵抗成分、容量成分）の学習処理を表すフローチャート。
【図１１】従来技術が適用可能な電流、電圧変化を表すタイミングチャート。
【図１２】従来技術を適用すると精度が悪化する場合の電流、電圧変化を表すタイミングチャート。
【図１３】変形例における回路定数（抵抗成分、容量成分）の学習処理を表すフローチャート。
【発明を実施するための形態】
【００１０】
本実施形態における蓄電池１０及び電池特性学習装置としての制御部５０を備える電気回路図を図１に示す。
【００１１】
蓄電池１０及び制御部５０は、車両に搭載されている。蓄電池１０は、電気負荷２０に接続され、電気負荷２０に対し電力を供給する。また、蓄電池１０は、交流−直流変換を行うインバータ２１を介して発電機２２に接続されており、発電機２２から電力供給されることで充電を行う。なお、蓄電池１０は、リチウムイオン蓄電池である。
【００１２】
蓄電池１０と、電気負荷２０及びインバータ２１とを接続する経路上には電流センサ３０（電流検出部）が設けられており、蓄電池１０の両端子には、その両端子間の電圧を検出するための電圧センサ４０（電圧検出部）が設けられている。これら電流センサ３０及び電圧センサ４０は、それぞれ蓄電池１０に流れる電流及び蓄電池１０の端子間電圧Ｖに応じた検出信号を出力し、その検出信号は制御部５０に入力される。制御部５０は、電流センサ３０及び電圧センサ４０により検出される検出値を取得し、その取得した蓄電池１０に流れる電流Ｉの検出値及び端子間電圧Ｖの検出値に基づいて、蓄電池１０の特性を学習する。
【００１３】
蓄電池１０の等価回路を図２に示す。蓄電池１０の等価回路は、内部抵抗１１と、内部抵抗１１を除く電圧源１２とから構成される。
【００１４】
電圧源１２の出力電圧は、定常状態において蓄電池１０に電流が流れていない場合の蓄電池１０の端子間電圧、即ち、開放端電圧と等しい。また、内部抵抗１１は、直流抵抗（Ｒｓ）、正極及び負極における反応抵抗を表す第１反応抵抗（Ｒ１，Ｃ１）、及び、第１反応抵抗とは異なる反応抵抗を表す第２反応抵抗（Ｒ２，Ｃ２）という３組の回路定数の直列接続体として構成される。言い換えると、蓄電池１０は、回路定数として、抵抗成分Ｒｓ，Ｒ１，Ｒ２と容量成分Ｃ１，Ｃ２とを有する。
【００１５】
内部抵抗１１に対して流れる電流が変化することで、内部抵抗１１において電圧変化Ｖｔが生じる。電流変化に伴い蓄電池１０の内部抵抗１１において生じる時刻ｔにおける電圧変化Ｖｔ（ｔ）は、
Ｖｔ（ｔ）
＝Ｖｓ＋Ｖ１（ｔ）＋Ｖ２（ｔ）
＝（Ｉ１−Ｉ０）・Ｒｓ＋（Ｉ１・Ｒ１−Ｖ１（０））（１−ｅｘｐ（−ｔ／τ１））＋（Ｉ１・Ｒ２−Ｖ２（０））（１−ｅｘｐ（−ｔ／τ２））…（１）
として表すことができる。
【００１６】
ここで、時定数τ１及びτ２は、τ１＝Ｒ１・Ｃ１，τ２＝Ｒ２・Ｃ２であり、その値は、例えば、τ１は約０．０１ｓｅｃ、τ２は約１０ｓｅｃである。なお、直流抵抗は容量成分を持たないため、直流抵抗の時定数τｓは０ｓｅｃである。
【００１７】
上記式（１）中の「Ｖｓ＝（Ｉ１−Ｉ０）・Ｒｓ」は、直流抵抗によって生じる電圧変化である。「Ｖ１（ｔ）＝（Ｉ１・Ｒ１−Ｖ１（０））（１−ｅｘｐ（−ｔ／τ１））」は、第１反応抵抗を表す並列回路Ｐ１に生じる回路電圧変化である。「Ｖ２（ｔ）＝（Ｉ１・Ｒ２−Ｖ２（０））（１−ｅｘｐ（−ｔ／τ２））」は、第２反応抵抗を表す並列回路Ｐ２に生じる回路電圧変化である。
【００１８】
また、「Ｖ１（０）」は、所定の電流変化が生じた時点（ｔ＝０）での第１反応抵抗を表す並列回路Ｐ１に生じる回路電圧である。「（Ｉ１・Ｒ１−Ｖ１（０））」は、所定の電流変化が生じた時点（ｔ＝０）から、一定電流Ｉ１が流れることで容量成分Ｃ１が飽和するまでに生じる並列回路Ｐ１の電圧の変化量である。「Ｖ２（０）」は、所定の電流変化が生じた時点（ｔ＝０）での第２反応抵抗を表す並列回路Ｐ２に生じる回路電圧である。「（Ｉ１・Ｒ２−Ｖ２（０））」は所定の電流変化が生じた時点（ｔ＝０）から、一定電流Ｉ１が流れることで容量成分Ｃ２が飽和するまでに生じる並列回路Ｐ２の電圧の変化量である。
【００１９】
図３に、蓄電池１０に流れる電流の検出値Ｉ（ｔ）がＩ０からＩ１に増加する場合における端子間電圧の検出値Ｖ（ｔ）の時間変化を示す。電圧変化Ｖｔ（ｔ）は、電流変化の開始時点（ｔ＝０）における端子間電圧Ｖの電流変化前の検出値Ｖ０ａを基準電圧として、その基準電圧に対する端子間電圧の検出値Ｖ（ｔ）の変化量として算出することができる（Ｖｔ（ｔ）＝Ｖ（ｔ）−Ｖ０ａ）。
【００２０】
図３のように蓄電池１０に流れる電流の検出値Ｉ（ｔ）がＩ０からＩ１に増加する場合において、電圧変化Ｖｔ（ｔ）に基づいて、蓄電池１０の等価回路の回路定数（Ｒｓ，Ｒ１，Ｃ１，Ｒ２，Ｃ２）の学習値を算出することが可能である。その算出方法を以下に記載する。
【００２１】
まず、回路定数Ｒｓ，Ｒ１，Ｃ１，Ｒ２，Ｃ２のうち、Ｒｓ，Ｒ１，Ｃ１の算出方法を示す。電流の増減変化の開始時点ｔ＝０から時定数τ１に相当する時間が経過した時刻ｔ１近傍において、ｔ≪τ２である。このため、時刻ｔ１近傍における電圧変化Ｖｔ（ｔ）は、
Ｖｔ（ｔ）
＝Ｖｓ＋Ｖ１（ｔ）
＝（Ｉ１−Ｉ０）・Ｒｓ＋（Ｉ１・Ｒ１−Ｖ１（０））（１−ｅｘｐ（−ｔ／τ１））  …（２）
と、近似することができる。
【００２２】
ここで、電流変化の開始時点ｔ＝０を始点、電流変化の開始時点ｔ＝０から時定数τ１に相当する時間が経過した時点ｔ＝ｔ１を終点とする時間範囲（０〜ｔ１）をサンプリング期間として設定する。そしてサンプリング期間中の各時点において取得された端子間電圧Ｖ（ｔ）の検出値から、各時点における電圧変化Ｖｔ（ｔ）を算出する。算出された電圧変化Ｖｔ（ｔ）を上記式（２）にあてはめ、フィッティングすることで、回路定数Ｒｓ，Ｒ１，Ｃ１を算出することができる。
【００２３】
式（２）と、電圧変化Ｖｔの検出値、一定電流Ｉ０，Ｉ１の検出値、及び、時刻ｔ＝０における回路電圧Ｖ１（０）の算出値と、を用いて、抵抗成分Ｒｓ，Ｒ１及び容量成分Ｃ１を取得する方法について、以下に説明する。以下の説明において、「（Ｉ１−Ｉ０）・Ｒｓ」をパラメータＡ、「Ｉ１・Ｒ１−Ｖ１（０）」をパラメータＢと呼ぶ。
【００２４】
図４に、パラメータＡを変化させ、電圧変化Ｖｔの理論値（理論電圧曲線）を検出値にフィッティングさせる方法を示す。パラメータＡは直流成分であるため、パラメータＡを大きく設定すると、理論電圧曲線全体が図面上方向（増加方向）にシフトする。また、パラメータＡを小さく設定すると、理論電圧曲線全体が図面下方向（減少方向）にシフトする。
【００２５】
図５にパラメータＢを変化させ、電圧変化Ｖｔの理論値を検出値にフィッティングさせる方法を示す。パラメータＢは、指数関数的減衰を表す関数「１−ｅｘｐ（−ｔ／（Ｒ１・Ｃ１））」の係数であり、パラメータＢを大きく設定すると、理論電圧曲線の収束値が図面上方向（増加方向）に変化する。また、パラメータＢを小さく設定すると、理論電圧曲線の収束値が図面下方向（減少方向）に変化する。パラメータＢは、所定の変化が生じた時点（ｔ＝０）から、一定電流Ｉ１が流れることで容量成分Ｃ１が飽和するまでに生じる並列回路Ｐ１の電圧の変化量に相当する。
【００２６】
図６に容量成分Ｃ１を変化させ、電圧変化Ｖｔの理論値を検出値にフィッティングさせる方法を示す。指数関数的減衰を表す関数「（１−ｅｘｐ（−ｔ／（Ｒ１・Ｃ１）））」の時定数τ１は、容量成分Ｃ１と抵抗成分Ｒ１との積として表される。つまり、容量成分Ｃ１を大きく設定すると、時定数τ１が大きくなり、理論電圧曲線の傾きが小さくなる。また、容量成分Ｃ１を小さく設定すると、時定数τ１が小さくなり、理論電圧曲線の傾きが大きくなる。時定数τ１は、一定電流Ｉ１が流れることで容量成分Ｃ１が飽和するまでの飽和時間に相当する。
【００２７】
「変化量算出部」及び「学習部」としての制御部５０は、図４〜６で示したように、パラメータＡ，Ｂ、及び、容量成分Ｃ１の大きさを変化させ、理論電圧曲線を検出値にフィッティングさせることで、パラメータＡ，Ｂ、及び、容量成分Ｃ１の値を取得する。フィッティングには、例えば、非線形最小二乗法などを用いるとよい。
【００２８】
フィッティングによりパラメータＢが算出されると、パラメータＢの値と、「（Ｉ１・Ｒ１−Ｖ１（０））＝Ｂ」を変形して得られる式（３）
Ｒ１＝（Ｂ＋Ｖ１（０））／Ｉ１  …（３）
を用いて抵抗成分Ｒ１の値を算出することが可能になる。「Ｂ＋Ｖ１（０）」は、並列回路Ｐ１に対し、一定電流Ｉ１が流れることで、定常状態で並列回路Ｐ１に生じる回路電圧Ｖ１（ｔ）である。
【００２９】
ここで、回路電圧Ｖ１（ｔ）は、
Ｖ１（ｔ＋Δｔ）＝Ｖ１（ｔ）＋（Ｉ（ｔ）・Ｒ１−Ｖ１（ｔ））（１−ｅｘｐ（−Δｔ／（Ｒ１・Ｃ１）））  …（４）
として算出することができる。つまり、Ｖ１（ｔ）は、周期Δｔごとに算出されて更新される。「電圧算出部」としての制御部５０は、周期Δｔごとに、回路電圧Ｖ１（ｔ）の前回値と、抵抗成分Ｒ１、及び、容量成分Ｃ１と、電流の検出値Ｉ（ｔ）と、を用いて、新たな回路電圧Ｖ１（ｔ＋Δｔ）を算出する。回路電圧Ｖ１（ｔ）の算出において用いられる抵抗成分Ｒ１、及び、容量成分Ｃ１の値は、前回の学習値を用いる。
【００３０】
次に、回路定数Ｒ２及びＣ２の算出方法を示す。電流の増減変化の開始時点ｔ＝０から時定数τ２に相当する時間が経過した時刻ｔ２近傍において、ｔ≫τ１である。このため、時刻ｔ２近傍における電圧変化Ｖｔ（ｔ）は、
Ｖｔ（ｔ）
＝Ｖｓ＋Ｖ１（ｔ）＋Ｖ２（ｔ）
＝（Ｉ１−Ｉ０）・Ｒｓ＋（Ｉ１・Ｒ１−Ｖ１（０））＋（Ｉ１・Ｒ２−Ｖ２（０））（１−ｅｘｐ（−Δｔ／τ２））  …（５）
と、近似することができる。
【００３１】
ここで、電流変化の開始時点ｔ＝０から時定数τ２に相当する時間が経過した時間ｔ２近傍の所定の時間範囲ｔ３〜ｔ４（例えば、ｔ３＝τ２／２，ｔ４＝３・τ２／２）をサンプリング期間として設定する。そしてサンプリング期間において取得された蓄電池１０の端子間電圧の検出値Ｖ（ｔ）から、各時点における電圧変化Ｖｔ（ｔ）を算出する。そして、算出された電圧変化Ｖｔ（ｔ）を上記式（５）にあてはめ、フィッティングすることで、回路定数Ｒ２，Ｃ２を算出することができる。
【００３２】
「Ｉ１・Ｒ２−Ｖ２（０）」をパラメータＤと呼ぶ。パラメータＤは、所定の変化が生じた時点（ｔ＝０）から、一定電流Ｉ１が流れることで容量成分Ｃ２が飽和するまでに生じる並列回路Ｐ２の電圧の変化量に相当する。「変化量算出部」及び「学習部」としての制御部５０は、パラメータＢ、及び、容量成分Ｃ１のフィッティングと同様に、パラメータＤ、及び、容量成分Ｃ２の大きさを変化させ、理論電圧曲線を検出値にフィッティングさせることで、パラメータＤ、及び、容量成分Ｃ２の値を取得する。
【００３３】
フィッティングによりパラメータＤが算出されると、パラメータＤの値と、「（Ｉ１・Ｒ２−Ｖ２（０））＝Ｄ」を変形して得られる式（６）
Ｒ２＝（Ｄ＋Ｖ２（０））／Ｉ１  …（６）
を用いて抵抗成分Ｒ２の値を算出することが可能になる。「Ｄ＋Ｖ２（０）」は、並列回路Ｐ２に対し、一定電流Ｉ１が流れることで、定常状態で並列回路Ｐ２に生じる回路電圧Ｖ２（ｔ）である。
【００３４】
回路電圧Ｖ２（ｔ）は、
Ｖ２（ｔ＋Δｔ）＝Ｖ２（ｔ）＋（Ｉ（ｔ）・Ｒ２−Ｖ２（ｔ））（１−ｅｘｐ（−Δｔ／（Ｒ２・Ｃ２）））  …（７）
として算出することができる。つまり、Ｖ２（ｔ）は、周期Δｔごとに算出されて更新される。「電圧算出部」としての制御部５０は、周期Δｔごとに、回路電圧Ｖ２（ｔ）の前回値と、抵抗成分Ｒ２、及び、容量成分Ｃ２と、電流の検出値Ｉ（ｔ）と、を用いて、新たな回路電圧Ｖ２（ｔ＋Δｔ）を算出する。回路電圧Ｖ２（ｔ）の算出において用いられる抵抗成分Ｒ２、及び、容量成分Ｃ２の値は、前回の学習値を用いる。
【００３５】
回路電圧Ｖ１（ｔ）の算出に用いる抵抗成分Ｒ１、又は、容量成分Ｃ１の学習値と、現在の抵抗成分Ｒ１、又は、容量成分Ｃ１の実際値との間に誤差が生じている場合、Ｖ１（ｔ）の算出値に誤差が生じることになる。同様に、回路電圧Ｖ２（ｔ）の算出に用いる抵抗成分Ｒ２、又は、容量成分Ｃ２の学習値と、現在の抵抗成分Ｒ２、又は、容量成分Ｃ２の実際値との間に誤差が生じている場合、Ｖ２（ｔ）の算出値に誤差が生じることになる。
【００３６】
例えば、図６に示すような蓄電池１０に流れる電流Ｉ（ｔ）に変化が生じた場合、回路電圧Ｖ１（ｔ）は図７に示すように変化する。ここで、抵抗成分Ｒ１の学習値に所定の誤差（１０％）が生じていたとすると、図８に示すように、回路電圧Ｖ１（ｔ）の算出値について、最大で抵抗成分Ｒ１の誤差と同じ割合の誤差（１０％）が生じることになる。そして、図９に示すように、抵抗成分Ｒ１の学習値の誤差に起因するＶ１（ｔ）の誤差は、回路電圧Ｖ１（ｔ）の大きさに比例する。同様に、抵抗成分Ｒ２の学習値に所定の誤差（１０％）が生じていたとすると、回路電圧Ｖ２（ｔ）に最大で抵抗成分Ｒ２の誤差と同じ割合の誤差（１０％）が生じることになる。つまり、抵抗成分Ｒ２の誤差に起因する回路電圧Ｖ２（ｔ）の誤差は、回路電圧Ｖ２（ｔ）の大きさに比例する。
【００３７】
回路電圧Ｖ１（０）の算出誤差をＶ１ｅとして表すと、式（３）から、
Ｒ１＝（Ｂ＋Ｖ１（０）＋Ｖ１ｅ）／Ｉ１＝（Ｂ＋Ｖ１（０））／Ｉ１＋Ｖ１ｅ／Ｉ１
という式が得られる。つまり、Ｖ１ｅに起因する抵抗成分Ｒ１の算出値の誤差は、一定電流Ｉ１の大きさに反比例する。
【００３８】
同様に、回路電圧Ｖ２（０）の算出誤差をＶ２ｅとして表すと、式（６）から、
Ｒ２＝（Ｄ＋Ｖ２（０）＋Ｖ２ｅ）／Ｉ１＝（Ｂ＋Ｖ２（０））／Ｉ１＋Ｖ２ｅ／Ｉ１
という式が得られる。つまり、Ｖ２ｅに起因する抵抗成分Ｒ２の算出値の誤差は、一定電流Ｉ１の大きさに反比例する。
【００３９】
上述したとおり、Ｖ１（０）の誤差Ｖ１ｅは、主としてＶ１（０）の大きさに比例する。そして、誤差Ｖ１ｅに起因する抵抗成分Ｒ１の算出値の誤差は、誤差Ｖ１ｅに比例するとともに、一定電流Ｉ１の大きさに反比例する。そこで、制御部５０は、Ｖ１（０）とＩ１との比「Ｖ１（０）／Ｉ１」が所定値未満であることを条件として、抵抗成分Ｒ１の算出値と容量成分Ｃ１の算出値を学習するか否かを判断する。また、Ｖ２（０）の誤差Ｖ２ｅは、主としてＶ２（０）の大きさに比例する。そして、誤差Ｖ２ｅに起因する抵抗成分Ｒ２の算出値の誤差は、誤差Ｖ２ｅに比例するとともに、一定電流Ｉ１の大きさに反比例する。そこで、制御部５０は、Ｖ２（０）とＩ１との比「Ｖ２（０）／Ｉ１」が所定値未満であることを条件として、抵抗成分Ｒ２の算出値と容量成分Ｃ２の算出値を学習するか否かを判断する。
【００４０】
図１０に本実施形態における回路定数Ｒｓ，Ｒ１，Ｃ１，Ｒ２，Ｃ２の学習値の算出処理を表すフローチャートを示す。この学習値算出処理は、「電池特性学習装置」としての制御部５０によって所定周期ごとに実施される。
【００４１】
ステップＳ１１において、蓄電池１０の端子間電圧Ｖの検出値及び蓄電池１０に流れる電流Ｉの検出値を取得し、その取得値を時系列で記憶する。ステップＳ１２において、蓄電池１０に流れる電流Ｉの検出値、蓄電池１０の端子間電圧Ｖの検出値に基づいて、現在の蓄電池１０が、所定時間にわたって一定電流が流れている定常状態であるか否かを判定する。定常状態であると判定されると（Ｓ１２：ＹＥＳ）、ステップＳ１３において、過去に取得された蓄電池１０に流れる電流Ｉの検出値に基づき、今現在の定常状態の直前に蓄電池１０に流れる電流Ｉが上昇又は下降変化し、一定電流Ｉ１へと推移する電流変化が生じたか否かを判定する。
【００４２】
電流変化が生じていると判定されると（Ｓ１３：ＹＥＳ）、ステップＳ１４において、内部抵抗１１を構成する各回路定数Ｒｓ，Ｒ１，Ｃ１，Ｒ２，Ｃ２の算出を実施する。具体的には、上述したように、ステップＳ１１において時系列で記憶された端子間電圧の検出値Ｖ（ｔ）から電圧変化Ｖｔ（ｔ）を算出する。そして、パラメータＡ，Ｂ及び容量成分Ｃ１の値を変更し、理論電圧曲線を電圧変化Ｖｔ（ｔ）にフィッティングすることで、回路定数Ｒｓ，Ｒ１，Ｃ１を算出する。また、パラメータＤ及び容量成分Ｃ２の値を変更し、理論電圧曲線を電圧変化Ｖｔ（ｔ）にフィッティングすることで、回路定数Ｒ２，Ｃ２を算出する。
【００４３】
ステップＳ１５において、並列回路の電圧Ｖ１（０）の値と、一定電流Ｉ１の値との比「Ｖ１（０）／Ｉ１」に基づいて、回路定数Ｒ１，Ｃ１の算出値を学習するか否かを判定する。より具体的には、比「Ｖ１（０）／Ｉ１」が所定値より小さい場合に、回路定数Ｒ１，Ｃ１の算出値の誤差が小さいと判定し、回路定数Ｒ１，Ｃ１の算出値を学習する。比「Ｖ１（０）／Ｉ１」が所定値以上の場合（Ｓ１５：ＮＯ）、ステップＳ１６において、抵抗成分Ｒｓの算出値のみを学習し、処理を終了する。
【００４４】
ステップＳ１７において、並列回路の電圧Ｖ２（０）の値と、一定電流Ｉ１の値との比「Ｖ２（０）／Ｉ１」に基づいて、回路定数Ｒ２，Ｃ２の算出値を学習するか否かを判定する。より具体的には、比「Ｖ２（０）／Ｉ１」が所定値より小さい場合に、回路定数Ｒ２，Ｃ２の算出値の誤差が小さいと判定し、回路定数Ｒ２，Ｃ２の算出値を学習し、処理を終了する。比「Ｖ２（０）／Ｉ１」が所定値以上の場合（Ｓ１７：ＮＯ）、ステップＳ１８において、抵抗成分Ｒｓ，Ｒ１及び容量成分Ｃ１の算出値のみを学習する。比「Ｖ２（０）／Ｉ１」が所定値未満の場合（Ｓ１７：ＹＥＳ）、ステップＳ１９において、抵抗成分Ｒｓ，Ｒ１，Ｒ２及び容量成分Ｃ１，Ｃ２の算出値を学習し、処理を終了する。
【００４５】
ステップＳ１１の処理が「取得部」、ステップＳ１２の処理が「第１判定部」、ステップＳ１４，Ｓ１６，Ｓ１８，Ｓ１９の処理が「学習部」、ステップＳ１５，Ｓ１７の処理が「第２判定部」に相当する。
【００４６】
以下、本実施形態の奏する効果を述べる。
【００４７】
図１１，図１２に、充放電電流Ｉ（ｔ）に時刻ｔ＝０において一定電流Ｉ０から一定電流Ｉ１への電流変化が生じた場合の、回路電圧Ｖ１（ｔ）の時間変化を示す。図１１に示す場合では、電流変化の前の期間（ｔ＜０の期間）において、充放電電流Ｉ（ｔ）として所定の期間にわたって一定電流Ｉ０が流れ、時刻ｔ＝０において、容量成分Ｃ１が飽和している。このため、時刻ｔ＝０において、回路電圧Ｖ１（０）が定常状態となっている。一方、図１２に示す場合では、電流変化の前の期間（ｔ＜０の期間）において、充放電電流Ｉ（ｔ）として一定電流Ｉ０が流れた期間が短く、時刻ｔ＝０において、容量成分Ｃ１が飽和していない。このため、時刻ｔ＝０において、回路電圧Ｖ１（０）が定常状態となっていない。
【００４８】
図１１に示すように、一定電流Ｉ０が流れた期間が長く、電流変化が生じた時刻ｔ＝０において容量成分Ｃ１が飽和している場合には、従来技術（特開２０１５−９０３４２号公報）を用いて精度よく回路定数Ｒ１，Ｃ１を算出することが可能である。しかしながら、図１２に示すように、一定電流Ｉ０が流れた期間が短く、電流変化が生じた時刻ｔ＝０において容量成分Ｃ１が飽和していない場合には、従来技術を用いて精度よく回路定数Ｒ１，Ｃ１を算出することができない。これは、従来技術が、容量成分Ｃ１において電荷が飽和していることを前提にしたモデルを採用しているためである。
【００４９】
本実施形態では、抵抗成分Ｒ１，Ｒ２の算出において、蓄電池１０の端子間電圧Ｖ（ｔ）及び蓄電池１０の充放電電流Ｉ（ｔ）の検出値に加えて、並列回路Ｐ１，Ｐ２の電圧Ｖ１（ｔ），Ｖ２（ｔ）の算出値を用いる構成とした。これにより、充放電電流Ｉ（ｔ）において所定の変化が生じた時点（ｔ＝０）で、並列回路Ｐ１，Ｐ２を構成する容量成分Ｃ１，Ｃ２が飽和していない状態であっても、抵抗成分Ｒ１，Ｒ２及び容量成分Ｃ１，Ｃ２を算出することが可能になる。
【００５０】
しかしながら、並列回路Ｐ１，Ｐ２の電圧Ｖ１（ｔ），Ｖ２（ｔ）の算出値の精度が、抵抗成分Ｒ１，Ｒ２の算出値の精度に与える悪影響が問題となる。ここで、抵抗成分Ｒ１，Ｒ２の算出精度に与える並列回路Ｐ１，Ｐ２の電圧の誤差Ｖ１ｅ，Ｖ２ｅの影響は、所定の変化時における並列回路Ｐ１，Ｐ２の電圧Ｖ１（０）、Ｖ２（０）の大きさに比例とするともに、一定電流Ｉ１の大きさに逆比例する。そこで、所定の変化時における並列回路Ｐ１，Ｐ２の電圧Ｖ１（０），Ｖ２（０）、及び、一定電流Ｉ１の少なくとも一方に基づいて、抵抗成分Ｒ１，Ｒ２の算出値を学習するか否かを判定する構成とした。このような構成にすることで、抵抗成分Ｒ１，Ｒ２の学習値の精度を向上させることができる。
【００５１】
並列回路Ｐ１の電圧Ｖ１（０）の算出値の誤差Ｖ１ｅは、並列回路Ｐ１の電圧Ｖ１（０）の大きさに比例して生じる。また、並列回路Ｐ１の電圧Ｖ１（０）の算出値の誤差Ｖ１ｅによって生じる抵抗成分Ｒ１の誤差は、一定電流Ｉ１の大きさに反比例する。そこで、並列回路Ｐ１の電圧Ｖ１（０）の値と、一定電流Ｉ１の値との比「Ｖ１（０）／Ｉ１」に基づいて、抵抗成分Ｒ１の算出値を学習するか否かを判定する構成とした。より具体的には、比Ｖ１（０）／Ｉ１が所定値より小さい場合に、抵抗成分Ｒ１の算出値の誤差が小さいと判定し、抵抗成分Ｒ１の算出値を学習するか否かを判定する構成とした。同様に、比Ｖ２（０）／Ｉ１が所定値より小さい場合に、抵抗成分Ｒ２の算出値の誤差が小さいと判定し、抵抗成分Ｒ２の算出値を学習するか否かを判定する構成とした。これにより、抵抗成分Ｒ１，Ｒ２の学習値の精度を向上させることができる。
【００５２】
並列回路Ｐ１の電圧Ｖ１（ｔ）は、抵抗成分Ｒ１及び容量成分Ｃ１の学習値と、充放電電流Ｉ（ｔ）の検出値に基づいて算出する構成としている。抵抗成分Ｒ１及び容量成分Ｃ１の学習値の精度が向上することで、並列回路Ｐ１の電圧Ｖ１（ｔ）の算出値の精度も向上することになり、抵抗成分Ｒ１及び容量成分Ｃ１の学習値の精度をより向上させることが可能になる。
【００５３】
同様に、並列回路Ｐ２の電圧Ｖ２（ｔ）は、抵抗成分Ｒ２及び容量成分Ｃ２の学習値と、充放電電流Ｉ（ｔ）の検出値に基づいて算出する構成としている。抵抗成分Ｒ２及び容量成分Ｃ２の学習値の精度が向上することで、並列回路Ｐ２の電圧Ｖ２（ｔ）の算出値の精度も向上することになり、抵抗成分Ｒ２及び容量成分Ｃ２の学習値の精度をより向上させることが可能になる。
【００５４】
所定の変化が生じた時点（ｔ＝０）から、一定電流Ｉ１が流れることで容量成分Ｃ１が飽和するまでの飽和時間が、並列回路Ｐ１の時定数τ１に相当する。また、並列回路Ｐ１の時定数τ１は、抵抗成分Ｒ１と容量成分Ｃ１との積である。そこで、端子間電圧Ｖ（ｔ）の検出値に基づいて飽和時間（時定数τ１）を取得し、その飽和時間を抵抗成分Ｒ１の算出値で除算することで、容量成分Ｃ１を算出する構成としている。容量成分Ｃ１の算出値の精度は、抵抗成分Ｒ１の算出値の精度に依存するため、容量成分Ｃ１の算出値を学習するか否かの判断を、抵抗成分Ｒ１の算出値を学習するか否かの判断と同様とする構成とした。同様に、容量成分Ｃ２の算出値の精度は、抵抗成分Ｒ２の算出値の精度に依存するため、容量成分Ｃ２の算出値を学習するか否かの判断を、抵抗成分Ｒ２の算出値を学習するか否かの判断と同様とする構成とした。このような構成にすることで、容量成分Ｃ１，Ｃ２の学習値の精度を向上させることができる。
【００５５】
（他の実施形態）
・図１０に示す学習処理では、回路定数Ｒｓ，Ｒ１，Ｃ１，Ｒ２，Ｃ２の算出後に、電流変化直前における回路電圧Ｖ１（０），Ｖ２（０）と、一定電流Ｉ１との比に基づいて、回路定数Ｒｓ，Ｒ１，Ｃ１，Ｒ２，Ｃ２の算出値を学習するか否かの判定を行う構成としたが、これを変更してもよい。具体的には、回路定数の算出前に、電流変化直前における回路電圧Ｖ１（０），Ｖ２（０）と、一定電流Ｉ１との比に基づいて、回路定数Ｒｓ，Ｒ１，Ｃ１，Ｒ２，Ｃ２の算出及び学習を行うか否かを判定する構成としてもよい。
【００５６】
また、蓄電池１０において電流変化が生じた後に端子間電圧Ｖの検出値が一定値となる定常状態となっていると判定される場合に、回路定数Ｒｓ，Ｒ１，Ｃ１，Ｒ２，Ｃ２の算出を実施する構成としたがこれを変更してもよい。つまり、端子間電圧Ｖの検出値が一定値となる定常状態となる前に、回路定数Ｒｓ，Ｒ１，Ｃ１，Ｒ２，Ｃ２の算出を実施する構成としてもよい。具体的には、図１３に示すような回路定数Ｒｓ，Ｒ１，Ｃ１，Ｒ２，Ｃ２の学習値の算出処理を実施してもよい。
【００５７】
図１３に示す回路定数Ｒｓ，Ｒ１，Ｃ１，Ｒ２，Ｃ２の学習値の算出処理では、ステップＳ３１において、蓄電池１０の端子間電圧Ｖの検出値及び蓄電池１０に流れる電流Ｉの検出値を取得し、その取得値を時系列で記憶する。次に、ステップＳ３２において、蓄電池１０に流れる電流Ｉの検出値に基づいて、蓄電池１０に一定電流が現在流れているか否かを判定する。蓄電池１０に一定電流が流れていると判定される場合（Ｓ３２：ＹＥＳ）、ステップＳ３３において、直前に電流変化が生じてから現在まで一定電流が維持されている期間がｔ４以上であるか否かを判定する。
【００５８】
一定電流が維持されている期間がｔ４未満であると判定された場合（Ｓ３３：ＮＯ）、ステップＳ３４において、一定電流が維持されている期間がｔ１以上であるか否かを判定する。一定電流が維持されている期間がｔ１以上ｔ４未満の場合（Ｓ３４：ＹＥＳ）、ステップＳ３５において、電流変化直前における回路電圧Ｖ１（０）と一定電流Ｉ１との比「Ｖ１（０）／Ｉ１」が所定値Ｔｈ１より小さいか否かを判定する。回路電圧Ｖ１（０）が所定値Ｔｈ１より小さく、抵抗成分Ｒ１及び容量成分Ｃ１における誤差が小さいと判定されると（Ｓ３５：ＹＥＳ）、ステップＳ３６において、時間範囲０〜ｔ１の期間に取得された端子間電圧の検出値Ｖ（ｔ）を用いて、抵抗成分Ｒｓ，Ｒ１及び容量成分Ｃ１の算出を実施する。そして、ステップＳ３７において、抵抗成分Ｒｓ，Ｒ１及び容量成分Ｃ１の算出値を学習し、処理を終了する。
【００５９】
ステップＳ３３において、一定電流が維持されている期間がｔ４以上であると判定された場合（Ｓ３３：ＹＥＳ）、ステップＳ３８において、電流変化直前における回路電圧Ｖ１（０）と一定電流Ｉ１との比「Ｖ１（０）／Ｉ１」が所定値Ｔｈ１より小さいか否かを判定する。比「Ｖ１（０）／Ｉ１」が所定値より小さい場合（Ｓ３８：ＹＥＳ）、ステップＳ３９において、電流変化直前における回路電圧Ｖ２（０）と一定電流Ｉ１との比「Ｖ２（０）／Ｉ１」が所定値Ｔｈ２より小さいか否かを判定する。
【００６０】
比「Ｖ２（０）／Ｉ１」が所定値より小さい場合（Ｓ３９：ＹＥＳ）、ステップＳ４０において、時間範囲０〜ｔ１の期間に取得された端子間電圧の検出値Ｖ（ｔ）を用いて回路定数Ｒｓ，Ｒ１，Ｃ１の算出を実施する。また、時間範囲ｔ３〜ｔ４の期間に取得された端子間電圧の検出値Ｖ（ｔ）を用いて回路定数Ｒ２，Ｃ２の算出を実施する。そして、ステップＳ４１において、抵抗成分Ｒｓ，Ｒ１，Ｒ２及び容量成分Ｃ１，Ｃ２の算出値を学習し、処理を終了する。ステップＳ３９において、電流変化直前における回路電圧Ｖ２（０）と一定電流Ｉ１との比「Ｖ２（０）／Ｉ１」が所定値Ｔｈ２以上であると判定された場合（Ｓ３９：ＮＯ）、ステップＳ３６，Ｓ３７の処理を実施し、処理を終了する。
【００６１】
なお、ステップＳ３２，Ｓ３４，Ｓ３５，Ｓ３８のいずれかで否定的な判断が行われたときは、学習値の算出を実施せずに処理を終了する。このような回路定数の学習処理を行えば、回路定数の算出機会を多く確保することが可能になる。また、回路定数の算出前に、学習及び算出の可否を判断する構成であるため、処理の負荷を低減することが可能になる。
【００６２】
・上記実施形態では、電流Ｉの変化時における回路電圧Ｖ１（０）と電流変化後の一定電流Ｉ１との比「Ｖ１（０）／Ｉ１」に基づいて、抵抗成分Ｒ１の学習を実施するか否かを判定する構成とした。これを変更し、電流Ｉの変化時における回路電圧Ｖ１（０）と所定値との比較に基づいて、抵抗成分Ｒ１の学習を実施するか否かを判定する構成としてもよい。具体的には、電流の変化時における回路電圧Ｖ１（０）が所定値未満の場合に、抵抗成分Ｒ１の学習を実施する構成としてもよい。また、一定電流Ｉ１と所定値との比較に基づいて、抵抗成分Ｒ１の学習を実施するか否かを判定する構成としてもよい。具体的には、一定電流Ｉ１が所定値より大きい場合に、抵抗成分Ｒ１の学習を実施する構成としてもよい。ここで、一定電流Ｉ１と比較する所定値は、蓄電池１０に対して流すことが許容される最大電流に基づいて設定するとよい。このような構成においても、抵抗成分Ｒ１などの学習値の精度の悪化を抑制できる。
【００６３】
・上記実施形態では、蓄電池１０の内部抵抗１１が３組の回路定数を有するというモデルを用い、各回路定数を算出する構成とした。このモデルを変更してもよい。例えば、内部抵抗を第１反応抵抗のみで表すモデルを用いてもよい。
【００６４】
・上記実施形態では、電流変化が生じる前に一定電流が流れているか否かに関わらず回路定数の算出を実施する構成としたが、これを変更し、電流変化が生じる前に一定電流の流れていた期間が存在する場合に、回路定数の算出を実施する構成としてもよい。
【００６５】
・蓄電池は、リチウムイオン蓄電池でなくてもよい。例えば、鉛蓄電池やニッケル水素蓄電池であってもよい。
【符号の説明】
【００６６】
１０…蓄電池、３０…電流センサ（電流検出部）、４０…電圧センサ（電圧検出部）、５０…制御部（電池特性学習装置）。
【図１】
0006459914.tif 000002
【図２】
0006459914.tif 000003
【図３】
0006459914.tif 000004
【図４】
0006459914.tif 000005
【図５】
0006459914.tif 000006
【図６】
0006459914.tif 000007
【図７】
0006459914.tif 000008
【図８】
0006459914.tif 000009
【図９】
0006459914.tif 000010
【図１０】
0006459914.tif 000011
【図１１】
0006459914.tif 000012
【図１２】
0006459914.tif 000013
【図１３】
0006459914.tif 000014