(57)【要約】【課題】小さな処理負担でバッテリの充電率を推定すること。【解決手段】複数のセル１３１からなるバッテリ１３０の充電率を推定するバッテリコントローラ１４４は、バッテリの電流値およびセル毎の電圧値を記憶するメモリ１２と、電流センサ１４８の検出するバッテリ電流値および単電池電圧検出部１５の検出するセル電圧値をメモリ内に記憶させてバッテリの充電率を推定する充電率推定部１７とを備えて、充電率推定部が、サンプリング時間ｔ毎にバッテリ電流値およびセル電圧値を一組とする検出データをメモリ内に記憶させ、当該検出データ数が設定必要数を超える場合に、そのバッテリ電流積算値が設定必要範囲内に収まって、そのバッテリ電流値およびセル電圧値が設定分散状態を満たすとき、セル電圧積算値を検出データ数で除してバッテリの開放電圧とし、当該開放電圧からバッテリの充電率を推定する。【選択図】図１
2017062149.tif 000002
【特許請求の範囲】
【請求項１】
複数の単電池により構成されるバッテリの充電率を推定する推定装置であって、
前記バッテリの電流値および前記単電池毎の電圧値を記憶する記憶部と、
電流検出部により検出される前記バッテリの電流値および電圧検出部により検出される前記単電池毎の電圧値を前記記憶部内に適宜記憶させて当該バッテリの電流値および当該単電池毎の電圧値から前記バッテリの充電率を推定する推定部と、を備えて、
前記推定部は、予め設定されているサンプリング時間毎に、前記電流検出部の検出する前記バッテリの電流値および前記電圧検出部の検出する前記単電池の電圧値を前記記憶部内に記憶させて、前記サンプリング時間毎の前記バッテリの電流値および一つの前記単電池の電圧値の一組を検出データとし、当該検出データ数が予め設定されている必要数を超える場合に、前記検出データにおける前記バッテリの電流値を積算する電流積算値が予め設定されている必要範囲内に収まって、前記検出データの前記バッテリの電流値および前記単電池の電圧値が予め設定されている分散状態にあるときに、前記検出データにおける前記単電池の電圧値を積算する電圧積算値を、前記検出データ数で除して前記バッテリの開放電圧値とし、当該開放電圧値から前記バッテリの充電率を推定する、バッテリの充電率推定装置。
【請求項２】
前記推定部は、前記バッテリの出力可能な電流値の大きさを複数に区分した当該区分毎に、前記バッテリの電流値が含まれる前記検出データのデータ数をカウントし、該区分毎のデータ数が全て予め設定されている分散閾値を超える場合に、前記分散状態を満たすとする、請求項１に記載のバッテリの充電率推定装置。
【請求項３】
複数の単電池により構成されるバッテリの充電率を推定する方法であって、
予め設定されているサンプリング時間毎に前記バッテリの電流値および前記単電池毎の電圧値を取得して保持する取得ステップと、
前記取得ステップにおいて取得した前記バッテリの電流値および前記単電池の電圧値の一組を検出データとして、当該検出データ数をカウントする計数ステップと、
前記計数ステップにおいてカウントした検出データ数が予め設定されている必要数を超えた場合に、前記検出データにおける前記バッテリの電流値を積算する電流積算値が予め設定されている必要範囲内にあるか否かを判定する電流積算値判定ステップと、
前記電流積算値判定ステップにおいて前記電流積算値が前記必要範囲内にあると判定された場合に、前記検出データの前記バッテリの電流値および前記単電池の電圧値が予め設定されている分散状態にあるか否か判定する分散判定ステップと、
前記分散判定ステップにおいて前記検出データの前記バッテリの電流値および前記単電池の電圧値が分散状態にあると判定された場合に、前記検出データにおける前記単電池の電圧値を積算する電圧値積算値を、前記計数ステップにおいてカウントした前記検出データ数で除して前記バッテリの開放電圧値を算出する開放電圧算出ステップと、
前記開放電圧算出ステップにおいて算出された前記バッテリの開放電圧値に基づいて前記バッテリの充電率を推定する充電率推定ステップと、を含むバッテリ充電率推定方法。
【請求項４】
前記分散判定ステップは、
前記検出データにおける前記バッテリの電流値が、該バッテリの出力可能な電流値の大きさを複数に区分した当該区分毎のいずれに含まれるか判定し、
前記区分毎に前記バッテリの電流値の含まれる前記検出データのデータ数をカウントし、
前記区分毎のデータ数が全て予め設定されている分散閾値を超える場合に、前記分散状態を満たすと判定する、請求項３に記載のバッテリの充電率推定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の単電池により構成されるバッテリの充電率の推定装置および推定方法に関する。
【背景技術】
【０００２】
複数の単電池により構成されるバッテリ（組電池）を搭載する装置においては、バッテリから出力される電流値を検出して積算し、バッテリの充電残量の変化を算出することにより、バッテリの充電率（ＳＯＣ：State Of Charge）を推定することが行われている。
【０００３】
しかし、このようなバッテリの充電率推定装置では、電流値の検出誤差が積算されていくため、バッテリの充電率を算出する際には、その検出誤差を補正する処理を行う必要がある。
【０００４】
また、特許文献１には、瞬時の電流値と電圧値とを複数検出して、最小二乗法により求めた直線が出力電流値ゼロＡ（アンペア）と交差する切片の電圧値をバッテリの開放電圧（ＯＣＶ：Open Circuit Voltage）とし、その開放電圧値からバッテリの充電率を推定するバッテリの充電率推定装置が開示されている。
【０００５】
しかし、この特許文献１に記載のバッテリの充電率推定装置では、次式に示すような処理負担の大きな計算式を用いて、精度を高くするために、瞬時の電流値と電圧値のデータ数を多く収集することにより、バッテリの開放電圧値Ｖｏｃを算出している。
【０００６】
【数１】
2017062149.tif 000003
ｋ：１、２、３、〜ｎ（自然数）
Ｖｏｃ：開放電圧値
Ｖｃｃｋ：ｋ番目に取得した単電池のセル電圧値
Ｉｋ：ｋ番目に取得した瞬時の電流値
【０００７】
このような検出誤差の補正処理や複雑な演算処理を短時間に終わらせるには、高価な演算処理装置が必要であり、また、その演算処理装置の消費電力も大きいことからバッテリの容量も大きくしなければならず、コストアップに繋がってしまう。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００５−３４５１３５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
そこで、本発明は、小さな処理負担で迅速にバッテリの充電率を推定することのできるバッテリの充電率推定装置およびバッテリの充電率推定方法を提供することを目的としている。
【課題を解決するための手段】
【００１０】
上記課題を解決するバッテリの充電率推定装置の発明の一態様は、複数の単電池により構成されるバッテリの充電率を推定する推定装置であって、前記バッテリの電流値および前記単電池毎の電圧値を記憶する記憶部と、電流検出部により検出される前記バッテリの電流値および電圧検出部により検出される前記単電池毎の電圧値を前記記憶部内に適宜記憶させて当該バッテリの電流値および当該単電池毎の電圧値から前記バッテリの充電率を推定する推定部と、を備えて、前記推定部は、予め設定されているサンプリング時間毎に、前記電流検出部の検出する前記バッテリの電流値および前記電圧検出部の検出する前記単電池の電圧値を前記記憶部内に記憶させて、前記サンプリング時間毎の前記バッテリの電流値および一つの前記単電池の電圧値の一組を検出データとし、当該検出データ数が予め設定されている必要数を超える場合に、前記検出データにおける前記バッテリの電流値を積算する電流積算値が予め設定されている必要範囲内に収まって、前記検出データの前記バッテリの電流値および前記単電池の電圧値が予め設定されている分散状態にあるときに、前記検出データにおける前記単電池の電圧値を積算する電圧積算値を、前記検出データ数で除して前記バッテリの開放電圧値とし、当該開放電圧値から前記バッテリの充電率を推定するようになっている。
【００１１】
上記課題を解決するバッテリの充電率推定方法の発明の一態様は、複数の単電池により構成されるバッテリの充電率を推定する方法であって、予め設定されているサンプリング時間毎に前記バッテリの電流値および前記単電池毎の電圧値を取得して保持する取得ステップと、前記取得ステップにおいて取得した前記バッテリの電流値および前記単電池の電圧値の一組を検出データとして、当該検出データ数をカウントする計数ステップと、前記計数ステップにおいてカウントした検出データ数が予め設定されている必要数を超えた場合に、前記検出データにおける前記バッテリの電流値を積算する電流積算値が予め設定されている必要範囲内にあるか否かを判定する電流積算値判定ステップと、前記電流積算値判定ステップにおいて前記電流積算値が前記必要範囲内にあると判定された場合に、前記検出データの前記バッテリの電流値および前記単電池の電圧値が予め設定されている分散状態にあるか否か判定する分散判定ステップと、前記分散判定ステップにおいて前記検出データの前記バッテリの電流値および前記単電池の電圧値が分散状態にあると判定された場合に、前記検出データにおける前記単電池の電圧値を積算する電圧値積算値を、前記計数ステップにおいてカウントした前記検出データ数で除して前記バッテリの開放電圧値を算出する開放電圧算出ステップと、前記開放電圧算出ステップにおいて算出された前記バッテリの開放電圧値に基づいて前記バッテリの充電率を推定する充電率推定ステップと、を含む。
【発明の効果】
【００１２】
このような本発明の一態様によれば、小さな処理負担で迅速にバッテリの充電率を推定することのできるバッテリの充電率推定装置またはバッテリの充電率推定方法を提供することができる。
【図面の簡単な説明】
【００１３】
【図１】図１は、本発明の第１の実施形態に係るバッテリの充電率推定装置を搭載する車両の一例を示す図であり、その概略全体構成を示すブロック図である。
【図２】図２は、バッテリの充電率を推定する処理において取得するバッテリの電流値とセル電圧のデータの分散状態を確認するために区分する領域を示すグラフである。
【図３】図３は、バッテリの開放電圧から充電率を求める際に用いるマップを示すグラフである。
【図４】図４は、バッテリの充電率を推定する処理（推定方法）を説明するフローチャートである。
【図５】図５は、本発明の第２の実施形態に係るバッテリの充電率推定装置とその充電率推定方法を説明する図であり、図４の推定処理により推定したバッテリの充電率を補正する処理を説明するフローチャートである。
【図６】図６は、バッテリの充電率を推定する処理に用いるバッテリの電流値とセル電圧のデータの分散状態を確認するために区分する領域を示す図２と異なるグラフである。
【図７】図７は、バッテリの充電率を推定する処理に用いるバッテリの電流値とセル電圧のデータの分散状態を確認するために区分する領域を示す図２および図６と異なるグラフである。
【発明を実施するための形態】
【００１４】
以下、図面を参照して、本発明の実施形態について詳細に説明する。図１〜図４は本発明の第１の実施形態に係るバッテリの充電率推定装置を搭載する車両の一例を示す図である。
【００１５】
図１において、バッテリ１３０は、例えば、走行用動力源として、内燃機関型のエンジン１１０とモータジェネレータ１２０とを備える車両１００に搭載されている。バッテリ１３０は、エンジン１１０およびモータジェネレータ１２０に加えて、ハイブリッドコントローラ１４１やエンジンコントローラ１４２やモータジェネレータコントローラ１４３やバッテリコントローラ１４４を含む車載の各種電気負荷１４０に駆動電力を供給可能に接続されている。
【００１６】
これら各種コントローラ１４１〜１４４は、ＣＰＵやメモリなどにより構築されており、メモリ内に予め格納されている制御プログラムを設定情報や取得情報の各種パラメータに従って実行することにより、それぞれに割り当てられている制御処理を行うようになっている。
【００１７】
ハイブリッドコントローラ１４１は、単独で、あるいは他のコントローラ１４２〜１４４と連携して、車載の電気負荷１４０の駆動を制御することにより、車両１００の全体を統括制御する。エンジンコントローラ１４２は、走行条件などに従ってモータジェネレータコントローラ１４３と協働して高効率に稼動するようにエンジン１１０の一時停止を含めて駆動を制御する。モータジェネレータコントローラ１４３は、走行条件などに従ってエンジンコントローラ１４２と協働して高効率に稼動するようにモータジェネレータ１２０の一時停止を含めて駆動を制御する。
【００１８】
バッテリコントローラ１４４は、バッテリ１３０の充電率（ＳＯＣ：State Of Charge）に応じて、ハイブリッドコントローラ１４１を介してエンジンコントローラ１４２やモータジェネレータコントローラ１４３と連携し、エンジン１１０やモータジェネレータ１２０の駆動停止と共に動力の出力を制御することにより、バッテリ１３０の充電処理を適宜実行するようになっている。
【００１９】
バッテリ１３０は、それぞれが単電池として機能する複数のセル１３１を接続して組電池構造に構築されている。なお、図１には、バッテリ１３０をモデル化して、３つのセル１３１を直列接続する回路構成として図示するが、これに限るものではない。バッテリ１３０のセル１３１の個数や接続（直列・並列）回路は、必要な電力（電流・電圧）に応じて構成される。
【００２０】
バッテリ１３０は、接続端子１３０ａ、１３０ｂに電気負荷１４０が接続されている。バッテリ１３０の電気負荷１４０に供給する電力の電圧値は、接続端子１３０ａ、１３０ｂ間の端子間電圧が後述するセル（単電池）１３１のセル電圧Ｖｃｃの合計値として検出される。バッテリ１３０の電気負荷１４０に供給する電力の電流値Ｉは、接続端子１３０ｂに直列接続する電流センサ（電流検出部）１４８により検出される。
【００２１】
バッテリコントローラ１４４は、接続端子１３０ａ、１３０ｂ間の開放電圧値Ｖｏｃや電流センサ１４８の検出する電流値Ｉに基づいてバッテリ１３０の充電率ＳＯＣを推定し、ハイブリッドコントローラ１４１などと連携することにより、バッテリ１３０から電気負荷１４０への電力供給制御や、バッテリ１３０の充電制御を実行するようになっている。このバッテリコントローラ１４４は、バッテリ１３０に設置されている電池温度センサ１４９からセル１３１の温度に関するセンサ情報を取得して、例えば、バッテリ１３０の充電率ＳＯＣの演算処理等に適宜修正を加えるようになっている。
【００２２】
バッテリコントローラ１４４は、制御部１１と、メモリ（記憶部）１２と、通信処理部１３と、単電池電圧検出部（電圧検出部）１５と、充電率推定部１７と、を備えて、ハイブリッドコントローラ１４１（エンジンコントローラ１４２やモータジェネレータコントローラ１４３）と連携するようになっている。
【００２３】
制御部１１は、バッテリ制御用のプログラムを各種パラメータに基づいて実行することにより、ハイブリッドコントローラ１４１（エンジンコントローラ１４２やモータジェネレータコントローラ１４３）と連携してバッテリ１３０の充放電制御処理を実行する。
【００２４】
メモリ１２は、ＣＰＵが使用する制御プログラムや設定情報などを予め不揮発に記憶させて格納する。メモリ１２は、電流センサ１４８が検出するバッテリ１３０からの出力電流値Ｉや、電池温度センサ１４９が検出するセル１３１の温度情報や、後述する単電池電圧検出部１５が検出するセル１３１毎の出力電圧値（セル電圧）Ｖｃｃなどの取得情報を一時記憶して保持する。メモリ１２は、制御プログラムに基づく制御処理や充電率推定部１７による後述の推定処理等を実行する際のワークエリアとして利用される。
【００２５】
通信処理部１３は、ハイブリッドコントローラ１４１との間で各種通信プロトコルを実行することにより、充電率推定部１７などから受け取る各種情報を送信するとともに、そのハイブリッドコントローラ１４１から送られてくる各種情報を受信する。
【００２６】
単電池電圧検出部１５は、バッテリ１３０のセル１３１毎の端子１３１ａ、１３１ｂ間の端子間電圧値Ｖｃｃを検出する回路を内蔵して、セル１３１毎の端子間電圧値Ｖｃｃを充電率推定部１７に出力する。
【００２７】
充電率推定部１７は、メモリ１２内に一時記憶する、電流センサ１４８の検出するバッテリ１３０からの出力電流値Ｉや、単電池電圧検出部１５の検出するセル１３１毎の出力電圧値Ｖｃｃなどに基づいて、バッテリ１３０全体の端子間電圧である開放電圧値Ｖｏｃを算出する処理を実行し、予め格納する図２に示す充電率マップにおいて、その開放電圧値Ｖｏｃに対応する値をバッテリ１３０の充電率ＳＯＣと推定する。すなわち、バッテリコントローラ１４４がバッテリの充電率推定装置を構成する。
【００２８】
そして、制御部１１は、充電率推定部１７の推定したバッテリ１３０の充電率ＳＯＣを受け取って、その充電率ＳＯＣに応じた充放電制御の指示情報を作成して通信処理部１３を介してハイブリッドコントローラ１４１に送るようになっている。ハイブリッドコントローラ１４１は、その指示情報に基づいてエンジンコントローラ１４２やモータジェネレータコントローラ１４３の駆動を制御しつつ、バッテリコントローラ１４４と連携してバッテリ１３０の充放電を実行する。
【００２９】
このバッテリコントローラ１４４の充電率推定部１７は、メモリ１２内のバッテリ充電率推定処理プログラムに基づいて、予め設定されているサンプリング時間ｔ毎にバッテリ１３０の充電率ＳＯＣを推定する推定処理を実行する。このバッテリ１３０の充電率ＳＯＣの推定処理では、充電率推定部１７は、電流センサ１４８の検出するバッテリ１３０の電流値Ｉおよび単電池電圧検出部１５の検出するバッテリ１３０のセル１３１毎の電圧値Ｖｃｃをメモリ１２内に記憶させて、サンプリング時間ｔ毎のバッテリ１３０の電流値Ｉおよび一つのセル１３１の電圧値Ｖｃｃの一組を検出データとする。サンプリング時間ｔは、例えば、バッテリコントローラ１４４が演算処理を繰り返す際の間隔時間であり、ｍｓｅｃオーダの短時間となるが、任意の時間を設定しても良い。
【００３０】
この充電率推定部１７は、メモリ１２内のバッテリ充電率推定制御プログラムに基づいて、バッテリ１３０の電流値Ｉおよび一つのセル１３１の電圧値Ｖｃｃを一組とする検出データ数が予め設定されている必要数を超える場合に、その検出データにおけるバッテリ１３０の電流値Ｉを積算する電流積算値が予め設定されている必要範囲内に収まって、検出データのバッテリ１３０の電流値Ｉおよびセル１３１の電圧値Ｖｃｃが予め設定されている分散状態（分散条件）を満たすときに、検出データにおけるセル１３１の電圧値Ｖｃｃを積算する電圧積算値を、検出データ数で除してバッテリ１３０の開放電圧値Ｖｏｃとし、当該開放電圧値Ｖｏｃからバッテリ１３０の充電率ＳＯＣを推定する。
【００３１】
このバッテリ１３０の充電率ＳＯＣの推定処理において、充電率推定部１７は、図３に示すように、バッテリ１３０の出力可能な電流値Ｉの大きさを複数に区分した領域Ａ〜Ｄ毎に、バッテリ１３０の電流値Ｉが含まれる検出データのデータ数をカウントし、該領域Ａ〜Ｄ毎のデータ数が全て予め設定されている分散閾値を超える場合に、上記の分散状態を満たすと判断するようになっている。なお、領域Ａ、Ｂは、バッテリ１３０への充電時の電流・電圧特性を示し、また、領域Ｃ、Ｄは、バッテリ１３０からの放電時の電流・電圧特性を示している。
【００３２】
ここで、バッテリ１３０の充電率ＳＯＣの推定処理において、検出データ数が設定必要数を超えることを条件とするのは、推定確度の水準を確保するためである。この設定必要数は、求められる推定確度の水準に応じて設定すればよい。この設定必要数の条件は、分散状態にあるか否かを判断するために電流領域Ａ〜Ｄに求める分散閾値の値（データ数）をある程度高くすることにより、省略しても良い。
【００３３】
また、この推定処理において、検出データにおけるバッテリ１３０の電流値Ｉの電流積算値が設定必要範囲内に収まることを条件とするのは、後述するように、出力電流値ＩをゼロＡ（アンペア）としてバッテリ１３０の開放電圧値Ｖｏｃを推定するためである。この設定必要範囲は、検出データの電流値Ｉの積算値をゼロＡとみなして、バッテリ１３０の充電率ＳＯＣを推定してもよい値を設定すればよい。
【００３４】
さらに、この推定処理において、バッテリ１３０の電流値Ｉの領域Ａ〜Ｄ毎の検出データのデータ数が分散していると判断する分散閾値は、分散状態にあるとする各領域Ａ〜Ｄに求める最低限のデータ数を設定すればよい。なお、領域Ａ〜Ｄ毎のデータ数に推定処理を実行するのに適当でないほどの偏りが生じている場合、例えば、バッテリ１３０の充放電がバランスよく行われておらず、ゼロＡ付近から外れたデータしかない場合には、電流値Ｉの電流積算値が設定必要範囲内に収まる、という条件から外れることになる。
【００３５】
ところで、バッテリ１３０の各セル１３１毎の開放電圧値Ｖｏｃ（ｎ）は、各セル１３１のセル電圧値Ｖｃｃ（ｎ）と内部抵抗ｒ（ｎ）と瞬時電流値Ｉ（ｎ）とを用いて次式のようになる。なお、式中の（ｎ）は、サンプリング回数を示している。
Ｖｏｃ（ｎ）＝Ｖｃｃ（ｎ）＋ｒ（ｎ）×Ｉ（ｎ）
【００３６】
このバッテリ１３０の各セル１３１の開放電圧値Ｖｏｃ（ｎ）は、サンプリング時間ｔ毎に次のように算出される。
１回目  ：  Ｖｏｃ（１）＝Ｖｃｃ（１）＋ｒ（１）×Ｉ（１）
２回目  ：  Ｖｏｃ（２）＝Ｖｃｃ（２）＋ｒ（２）×Ｉ（２）
３回目  ：  Ｖｏｃ（３）＝Ｖｃｃ（３）＋ｒ（３）×Ｉ（３）
・
・
・
ｎ回目  ：  Ｖｏｃ（ｎ）＝Ｖｃｃ（ｎ）＋ｒ（ｎ）×Ｉ（ｎ）
【００３７】
これを積算すると、次式の関係となり、
ΣＶｏｃ（ｋ）＝Σ（Ｖｃｃ（ｋ）＋ｒ（ｋ）×Ｉ（ｋ））  ｋ：１〜ｎ
短時間のサンプリング期間中には、開放電圧値Ｖｏｃ（ｎ）と内部抵抗ｒ（ｎ）とに変化はほとんどないことから、次式のように変形することができる。
ｎ×Ｖｏｃ＝ΣＶｃｃ（ｋ）＋ｒ×ΣＩ（ｋ）  ｋ：１〜ｎ
【００３８】
このバッテリ１３０の充電率ＳＯＣの推定処理では、検出データの電流値Ｉの積算値をゼロＡとすることから、バッテリ１３０の開放電圧値Ｖｏｃの推定値を、次式により算出することができる。
Ｖｏｃ＝ΣＶｃｃ（ｋ）／ｎ  ｋ：１〜ｎ
【００３９】
具体的に、バッテリコントローラ１４４の充電率推定部１７は、メモリ１２内のバッテリ充電率推定処理プログラムに基づいて、図４のフローチャートに示す推定処理（推定方法）を実行し、ハイブリッドコントローラ１４１に送るバッテリ１３０の充電率ＳＯＣを推定する。なお、この充電率推定部１７は、バッテリ１３０の充電率ＳＯＣを算出するためにメモリ１２内に一時記憶するバッテリ１３０のセル１３１毎の電圧値Ｖｃｃや出力電流値Ｉなどは、１回の推定処理毎にリセットした後にステップＳ１１より実行する。
【００４０】
まず、ステップＳ１１（取得ステップ）において、充電率推定部１７は、サンプリング時間ｔ毎に、単電池電圧検出部１５の検出するバッテリ１３０のセル１３１毎の電圧値Ｖｃｃと、電流センサ１４８の検出する瞬時のバッテリ１３０の出力電流値Ｉとを取得する。
【００４１】
次いで、ステップＳ１２において、充電率推定部１７は、取得したバッテリ１３０のセル１３１毎の電圧値Ｖｃｃと出力電流値Ｉとの一組を検出データとしてメモリ１２内に記憶する。
【００４２】
次いで、ステップＳ１３において、充電率推定部１７は、メモリ１２内に記憶したバッテリ１３０のセル１３１毎の電圧値Ｖｃｃと出力電流値Ｉとを一組とする検出データのデータ数をカウントする。すなわち、ステップＳ１２、Ｓ１３が計数ステップを構成している。
【００４３】
次いで、ステップＳ１４（推定確度判定ステップ）において、充電率推定部１７は、メモリ１２内に記憶するバッテリ１３０のセル１３１毎の電圧値Ｖｃｃと出力電流値Ｉとを一組とする検出データのデータ数のカウント数ｎが設定必要数を超えた否か確認する。充電率推定部１７は、バッテリ１３０のセル１３１毎の電圧値Ｖｃｃと出力電流値Ｉの検出データカウント数ｎが設定必要数を超えていない場合にはステップＳ１１に戻って同様の処理を繰り返してデータ収集を継続し、その検出データカウント数ｎが推定確度を満足するだけの検出データ数を超えている場合に次のステップに進む。
【００４４】
次いで、ステップＳ１５（電流積算値判定ステップ）において、充電率推定部１７は、メモリ１２内に記憶するバッテリ１３０の出力電流値Ｉの積算値がゼロＡとすることができる程度の設定必要範囲内に収まっているか否かを確認する。充電率推定部１７は、バッテリ１３０の出力電流値Ｉの積算値が設定必要範囲から外れてしまっている場合にはステップＳ１１に戻って同様の処理を繰り返してデータ収集を継続し、そのバッテリ１３０の出力電流値Ｉの積算値（バッテリ１３０の出力電流値）がゼロＡとすることができる程度の範囲内に収まっている場合に次のステップに進む。
【００４５】
次いで、ステップＳ１６（分散判定ステップ）において、充電率推定部１７は、メモリ１２内に記憶するバッテリ１３０の出力電流値Ｉを図３に示す領域Ａ〜Ｄ毎のいずれに含まれるか判定して区分けしたときのデータ数をカウントして、その領域Ａ〜Ｄ毎のデータカウント数が設定分散閾値を超えて分散状態にあるか否かを確認する。充電率推定部１７は、バッテリ１３０の出力電流値Ｉの領域Ａ〜Ｄ毎のデータカウント数が領域Ａ〜Ｄの全てにおいて超えていない場合にはステップＳ１１に戻って同様の処理を繰り返してデータ収集を継続し、その領域Ａ〜Ｄ毎のデータカウント数が領域Ａ〜Ｄの全てにおいて超えている場合に分散状態を満たすとして次のステップに進む。
【００４６】
次いで、ステップＳ１７（開放電圧算出ステップ）において、充電率推定部１７は、メモリ１２内に記憶するバッテリ１３０のセル１３１毎の電圧値Ｖｃｃを積算して、バッテリ１３０の出力電流値Ｉと一組とした検出データ数ｎで除算することによりバッテリ１３０の開放電圧値Ｖｏｃの推定値を算出する。
【００４７】
次いで、ステップＳ１８（充電率推定ステップ）において、充電率推定部１７は、推定したバッテリ１３０の開放電圧値Ｖｏｃに対応するバッテリ１３０の充電率ＳＯＣの推定値を図２に示す充電率マップを利用して算出し、メモリ１２内のバッテリ１３０の充電率ＳＯＣを書き換えて更新する。
【００４８】
したがって、充電率推定部１７は、バッテリ１３０の出力電流値Ｉと共にセル１３１毎のセル電圧値Ｖｃｃを所定数以上の検出データ数ｎになるまで検出したときに、その検出データの電流値Ｉが領域Ａ〜Ｄ毎に分散されている状態にあって、その積算電流値がゼロＡとすることができる程度の範囲内にあることを条件に、セル電圧値Ｖｃｃを積算してサンプリング数ｎで除算するだけの簡易な演算により、バッテリ１３０の開放電圧値Ｖｏｃをセル電圧値Ｖｃｃの平均値として算出して推定することができる。
【００４９】
このように、本実施形態のバッテリコントローラ１４４にあっては、煩雑で計算負荷の大きな、例えば、最小二乗法などによらなくても、バッテリ１３０の開放電圧値Ｖｏｃをセル１３１毎のセル電圧値Ｖｃｃの平均値として負担なく算出し推定することができる。
【００５０】
したがって、小さな処理負担の推定処理（推定方法）で迅速にバッテリ１３０の充電率ＳＯＣを推定することを実現することができ、バッテリコントローラ１４４を安価なマイクロコンピュータなどで構築することができる。
【００５１】
次に、図５は本発明の第２の実施形態に係るバッテリの充電率推定装置を搭載する車両の一例を示す図である。ここで、本実施形態は、上述実施形態と略同様に構成されていることから、図面を流用して、同様の構成には同一の符号を付し特徴部分を説明する。
【００５２】
図１において、バッテリコントローラ１４４の充電率推定部１７は、制御部１１に渡してハイブリッドコントローラ１４１（エンジンコントローラ１４２やモータジェネレータコントローラ１４３）と連携する際に推定するバッテリ１３０の充電率ＳＯＣに適宜補正を加えるようになっている。
【００５３】
具体的に、バッテリコントローラ１４４の充電率推定部１７は、メモリ１２内のバッテリ充電率推定処理プログラムに基づいて、図４のフローチャートに示す推定処理（推定方法）を実行するのと並行して、図５のフローチャートに示す補正処理を実行し、ハイブリッドコントローラ１４１に送るバッテリ１３０の充電率ＳＯＣを補正する。
【００５４】
充電率推定部１７は、ステップＳ１１〜Ｓ１８を実行して、バッテリ１３０の開放電圧値Ｖｏｃに対応するバッテリ１３０の充電率ＳＯＣを図２に示す充電率マップを利用して算出するのと並行して、まず、ステップＳ２１において、メモリ１２内におけるバッテリ１３０の充電率ＳＯＣを初期値ＳＯＣｉにリセットする。ここで、初期値ＳＯＣｉは、先の推定処理で推定して更新した充電率ＳＯＣを不揮発に保持しておく値である。
【００５５】
次いで、ステップＳ２２において、充電率推定部１７は、サンプリング時間ｔ毎に電流センサ１４８の検出する瞬時のバッテリ１３０の出力電流値Ｉを取得する。
【００５６】
次いで、ステップＳ２３において、充電率推定部１７は、サンプリング時間ｔ毎に取得するバッテリ１３０の出力電流値Ｉを積算する。
【００５７】
次いで、ステップＳ２４において、充電率推定部１７は、バッテリ１３０の充電率ＳＯＣを、バッテリ１３０の出力電流容量Ｗと満充電容量ＳＯＣｆとを用いる次式により積算推定値ＳＯＣｔとして算出して補正する。
Ｗ（ｋ）    ＝Σ（電流値Ｉ（ｋ）×サンプリング時間ｔ）  ｋ：１〜ｎ
ＳＯＣ（ｋ）＝ＳＯＣ（ｋ−１）＋（Ｗ（ｋ）／ＳＯＣｆ）×１００
＝ＳＯＣｔ（ｋ）
【００５８】
次いで、ステップＳ２５において、充電率推定部１７は、図４のフローチャートに示すステップＳ１８で算出された推定充電率ＳＯＣａをメモリ１２内に充電率ＳＯＣとして記憶する更新処理を実行したか否か確認する。充電率推定部１７は、充電率ＳＯＣを更新していない場合には、ステップＳ２２に戻って同様の処理を繰り返し、充電率ＳＯＣを更新している場合に次のステップに進む。
【００５９】
次いで、ステップＳ２６において、充電率推定部１７は、メモリ１２内のバッテリ１３０の充電率ＳＯＣを更新した推定充電率ＳＯＣａを、次式のように、バッテリ１３０の充電率ＳＯＣの推定値として更新した後に、ステップＳ２２に戻って同様の処理を繰り返す。
ＳＯＣ（ｋ）＝ＳＯＣａ（ｋ）
【００６０】
なお、充電率推定部１７は、サンプリング時間ｔ毎に取得してメモリ１２内に一時記憶するバッテリ１３０のセル１３１毎の電圧値Ｖｃｃや出力電流値Ｉなどは、１回の推定処理毎にリセットすることから、ステップＳ１８においてバッテリ１３０の充電率ＳＯＣを次の充電率ＳＯＣａに更新するまでは、バッテリ１３０の充電率ＳＯＣはステップＳ２５において算出する充電率ＳＯＣｔに繰り返し補正されることになる。
【００６１】
したがって、充電率推定部１７は、バッテリ１３０の充電率ＳＯＣを正確な充電率ＳＯＣａに更新するまでは、バッテリ１３０の出力電流値Ｉを積算して推定する充電率ＳＯＣｔにより補正することができる。
【００６２】
このように、本実施形態のバッテリコントローラ１４４にあっては、上述実施形態による作用効果に加えて、バッテリ１３０の充電率ＳＯＣの精度を保つように更新する前にも、バッテリ１３０の推定充電率ＳＯＣａを、バッテリ１３０の出力電流値Ｉの積算値により推定する充電率ＳＯＣｔを用いて補正することができ、その精度をできるだけ高く保つことができる。そのバッテリ１３０の出力電流値Ｉの積算値による補正後の充電率ＳＯＣは、推定処理毎に推定充電率ＳＯＣａに適宜更新することができ、高い確度に保つことができる。
【００６３】
ここで、上述の第２の実施形態の他の態様としては、ステップＳ２５において、バッテリ１３０の充電率ＳＯＣを更新する際、充電率推定部１７は、上述のように、新たに推定した充電率ＳＯＣａに置き換えて更新するだけでなく、次のような、補正式１、２により補正して更新するようにしてもよい。
【００６４】
例えば、補正式１としては、更新前の充電率ＳＯＣと推定充電率ＳＯＣａとに異なる所定の重み付けαを付ける、次式により充電率ＳＯＣを算出するようにしてもよい。
ＳＯＣ（ｋ）＝ＳＯＣ（ｋ−１）×α＋ＳＯＣａ（ｋ）×（１−α）
【００６５】
また、補正式２としては、更新前の充電率ＳＯＣと推定充電率ＳＯＣａとの間の差分を取って、その差分に所定の割合βを付けて加算する、次式により充電率ＳＯＣを算出するようにしてもよい。
ＳＯＣ（ｋ）＝ＳＯＣ（ｋ−１）＋（ＳＯＣ（ｋ−１）−ＳＯＣａ（ｋ））×β
【００６６】
また、上述の第１、第２の実施形態においては、バッテリ１３０の充電率ＳＯＣを更新する毎に、メモリ１２内に一時記憶するバッテリ１３０のセル１３１毎の電圧値Ｖｃｃや出力電流値Ｉをリセットするが、これに限るものではない。上述の第１、第２の実施形態の他の態様として、例えば、充電率推定部１７は、検出データ数が設定必要数を超える条件１、バッテリ１３０の電流値Ｉの電流積算値が設定必要範囲内に収まる条件２、バッテリ１３０の電流値Ｉの領域Ａ〜Ｄ毎の検出データ数が分散閾値を超えて分散している条件３の全てを満たして、バッテリ１３０の充電率ＳＯＣの推定処理を実行した後に、メモリ１２内の一時記憶する検出データをリセットすることなく、一定量の検出データの取得（増加）の度に推定処理を実行するようにしてもよい。または、充電率推定部１７は、その検出データの一部を古いものから更新するようにして、一定量の蓄積の度に推定処理を実行するようにしても良い。このようにすることにより、推定処理のインターバルを短くして、バッテリ１３０の充電率ＳＯＣの信頼性をより高くすることができる。
【００６７】
さらに、上述の第１、第２の実施形態においては、図３に示すように、バッテリ１３０の出力可能な電流値Ｉの大きさを領域Ａ〜Ｄの４つに区分する場合を一例として説明するが、これに限るものではない。上述の第１、第２の実施形態の他の態様としては、例えば、図６に示すように、バッテリ１３０の充放電の中心のゼロＡを中心として、バッテリ１３０の出力可能な電流値Ｉの大きさを領域Ａ〜Ｈの８つ区分しても、あるいは、それ以外の数に区分しても良い。
【００６８】
また、上述の第１、第２の実施形態や他の態様においては、図３や図６に示すように、バッテリ１３０の出力可能な電流値Ｉの大きさを連続する領域で区分する場合を一例として説明するが、これに限るものではない。上述の第１、第２の実施形態の別の他の態様としては、例えば、図７に示すように、バッテリ１３０の充放電の中心のゼロＡを中心として、対称の電流値と範囲になる領域Ａ〜Ｄの４つに区分しても、あるいは、それ以外の数に区分しても良い。
【００６９】
本発明の実施形態を開示したが、当業者によっては本発明の範囲を逸脱することなく変更が加えられうることは明白である。すべてのこのような修正及び等価物が次の請求項に含まれることが意図されている。
【符号の説明】
【００７０】
１１ 制御部
１２ メモリ（記憶部）
１３ 通信処理部
１５ 単電池電圧検出部
１７ 充電率推定部
１００ 車両
１１０ エンジン
１２０ モータジェネレータ
１３０ バッテリ
１３０ａ、１３０ｂ 接続端子
１３１ セル（単電池）
１３１ａ、１３１ｂ 端子
１４０ 電気負荷
１４１ ハイブリッドコントローラ
１４２ エンジンコントローラ
１４３ モータジェネレータコントローラ
１４４ バッテリコントローラ（充電率推定装置）
１４８ 電流センサ（電流検出部）
１４９ 電池温度センサ
【図１】
2017062149.tif 000004
【図２】
2017062149.tif 000005
【図３】
2017062149.tif 000006
【図４】
2017062149.tif 000007
【図５】
2017062149.tif 000008
【図６】
2017062149.tif 000009
【図７】
2017062149.tif 000010