(57)【要約】【課題】内部抵抗又は開放電圧の演算誤差を抑制する演算装置を提供することである。【解決手段】二次電池の充電及び放電を切り替える充放電切替手段と、二次電池の電圧を検出する電圧検出手段と、二次電池の電流を検出する電流検出手段と、電圧検出手段及び前記電流検出手段により検出された電圧及び電流を含む、検出データから二次電池の内部抵抗又は開放電圧を演算する演算手段を備え、演算手段は、充放電切替手段による充放電の切替時点より所定時間内の二次電池の電圧及び電流のデータを用いず、当該所定時間の経過後に検出された、充電又は放電のうちの少なくとも一方の検出データを用いて、ＩＶ特性から内部抵抗又は開放電圧を演算する。【選択図】  図２
2011257219.tif 000002
【特許請求の範囲】
【請求項１】
二次電池の充電及び放電を切り替える充放電切替手段と、
前記二次電池の電圧を検出する電圧検出手段と、
前記二次電池の電流を検出する電流検出手段と、
前記電圧検出手段及び前記電流検出手段により検出された電圧及び電流を含む、検出データから前記二次電池の内部抵抗又は開放電圧を演算する演算手段を備え、
前記演算手段は、前記充放電切替手段による充放電の切替時点より所定時間内の前記二次電池の電圧及び電流のデータを用いず、前記切替時点より前記所定時間の経過後に検出された、充電又は放電のうちの少なくとも一方の前記検出データを用いて、ＩＶ特性から前記内部抵抗又は前記開放電圧を演算することを特徴とする演算装置。
【請求項２】
前記所定時間は、前記充放電の切替時点から前記二次電池の電圧及び電流が安定するまでの時間であることを特徴とする請求項１記載の演算装置。
【請求項３】
前記二次電池を電力源とする電池負荷をさらに有し、
前記充放電切換手段は、前記二次電池から前記電池負荷への電力供給が可能な状態で、前記充電及び前記放電を切替え、
前記演算手段は、前記所定時間以外の時間に検出された前記検出データを用いて、前記内部抵抗又は前記開放電圧を演算することを特徴とする請求項１又は２記載の演算装置。
【請求項４】
前記演算手段は、放電時又は充電時の、複数の前記検出データを用いて、前記内部抵抗又は前記開放電圧を演算することを特徴とする請求項１〜３のいずれか一項に記載の演算装置。
【請求項５】
前記演算手段は、放電時及び充電時の前記検出データを用いて、前記内部抵抗又は前記開放電圧を演算することを特徴とする請求項１〜３のいずれか一項に記載の演算装置。
【請求項６】
前記演算手段は、充電から放電に切り替わる時点より第１の所定時間の経過後である、放電時の前記検出データと、放電から充電に切り替わる時点より前記第１の所定時間と同じ長さの第２の所定期間の経過後である、充電時の前記検出データとを用いて、前記内部抵抗又は前記開放電圧を演算することを特徴とする請求項１〜３のいずれか一項に記載の演算装置。
【請求項７】
前記充放電の切替時点は、充電から放電に切り替わる時点であり、
前記演算手段は、放電時の前記検出データと充電時の前記検出データとを用いて、前記内部抵抗又は前記開放電圧を演算し、
前記充電時の検出データの検出電流は、検出時間の経過に伴って減少し、
前記放電時の検出データの検出電流は、検出時間の経過に伴って増加することを特徴とする請求項１〜３のいずれか一項に記載の演算装置。
【請求項８】
前記演算手段は、充電から放電に切り替わる時点より第１の所定時間の経過後である、放電時の前記検出データと、放電から充電に切り替わる時点より第２の所定期間の経過後である、充電時の前記検出データとを用いて、前記内部抵抗又は前記開放電圧を演算し、
前記充電から放電に切り変わる時点から前記放電時の検出データの検出時点までの時間は、前記放電から充電に切り変わる時点から前記充電時の検出データの検出時点までの時間と等しいことを特徴とする請求項１〜３のいずれか一項に記載の演算装置。
【請求項９】
前記演算手段は、充電から放電に切り替わる時点より第１の所定時間の経過後である、放電時の前記検出データと、放電から充電に切り替わる時点より第２の所定期間の経過後である、充電時の前記検出データとを用いて、前記内部抵抗又は前記開放電圧を演算し、
前記充電から放電に切り変わる時点から前記放電時の検出データの検出時点までの時間と、前記放電から充電に切り変わる時点から前記充電時の検出データの検出時点までの時間との時間差が所定の範囲内であることを特徴とする請求項１〜３のいずれか一項に記載の演算装置。
【請求項１０】
前記演算手段は、前記検出データの中から所定の条件を満たすデータを用いて、前記内部抵抗又は前記開放電圧を演算することを特徴とする請求項１〜９のいずれか一項に記載の演算装置。
【請求項１１】
前記二次電池の温度を検出する温度検出手段をさらに備え、
前記演算手段は、前記温度検出手段の検出温度に応じて、前記所定の条件を設定することを特徴とする請求項１０記載の演算装置。
【請求項１２】
前記二次電池の温度を検出する温度検出手段をさらに備え、
前記演算手段は、前記温度検出手段の検出温度に応じて、前記所定時間を設定することを特徴とする請求項１〜１０のいずれか一項に記載の演算装置。
【請求項１３】
前記二次電池の劣化度を検出する劣化度演算手段をさらに備え、
前記演算手段は、前記劣化度演算手段により検出された劣化度に応じて、前記所定の条件を設定することを特徴とする請求項１０記載の演算装置。
【請求項１４】
前記二次電池の劣化度を検出する劣化度演算手段をさらに備え、
前記演算手段は、前記劣化度演算手段により検出された劣化度に応じて、前記所定時間を設定することを特徴とする請求項１〜１０のいずれか一項に記載の演算装置。
【請求項１５】
前記演算手段により演算される内部抵抗又は開放電圧の演算頻度を算出する演算頻度算出手段をさらに備え、
前記演算手段は、前記演算頻度が所定の頻度値より高い場合に、前記所定の条件の範囲を狭くすることを特徴とする請求項１０記載の演算装置。
【請求項１６】
前記演算手段により演算される内部抵抗又は開放電圧の演算頻度を算出する演算頻度算出手段をさらに備え、
前記演算手段は、前記演算頻度が所定の頻度値より低い場合に、前記所定の検出条件の範囲を広くすることを特徴とする請求項１０記載の演算装置。
【請求項１７】
前記二次電池の充電状態（ＳＯＣ）と前記内部抵抗又は前記開放電圧とを対応づけたテーブルを予め記録した記録手段をさらに備え、
前記演算手段は、前記テーブルを参照して、演算された内部抵抗又は開放電圧を、基準の充電状態に対応する内部抵抗又は前記開放電圧に変換することを特徴とする請求項１〜１６のいずれか一項に記載の演算装置。
【請求項１８】
前記二次電池の温度を検出する温度検出手段と、
前記二次電池の温度と前記内部抵抗又は前記開放電圧とを対応づけたテーブルを予め記録した記録手段をさらに備え、
前記演算手段は、前記テーブルを参照して、演算された内部抵抗又は開放電圧を、基準の温度に対応する内部抵抗又は開放電圧に変換することを特徴とする請求項１〜１０のいずれか一項に記載の演算装置。
【請求項１９】
前記演算手段は、充放電の切替時点より前記二次電池の分極解除時間の経過後に検出された前記検出データを用いて、前記内部抵抗又は前記開放電圧を演算することを特徴とする請求項１〜１８のいずれか一項に記載の演算装置。
【請求項２０】
前記分極解除時間は、充放電の切替前の放電時間又は充電時間に応じて設定されることを特徴とする請求項１９記載の演算装置。
【請求項２１】
二次電池の充電及び放電を切り替える充放電切替手段と、
前記二次電池の電圧を検出する電圧検出手段と、
前記二次電池の電流を検出する電流検出手段と、
前記電圧検出手段及び前記電流検出手段により検出された検出電圧及び検出電流を含む、検出データから前記二次電池の内部抵抗又は開放電圧を演算する演算手段を備え、
前記演算手段は、充電時間又は放電時間に対して、単位時間当たりの検出電圧の変化量が所定の閾値変化量より小さくなった検出電圧を含む前記検出データを用いて、ＩＶ特性から前記内部抵抗又は前記開放電圧を演算することを特徴とする演算装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、二次電池の内部抵抗又は開放電圧を演算する演算装置に関する。
【背景技術】
【０００２】
電池の放電電流及び放電電圧のサンプリングデータからＩＶ特性により、電池の内部抵抗及び開放電圧を演算し、当該内部抵抗及び開放電圧から電池の最大放電電力を演算する演算方法が知られている（特許文献１）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平１０−１０４３２５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記の従来の演算方法では、ＩＶ特性の演算に用いられた電池の検出電圧及び電池の検出電流が、車両の走行中における電池状態により変動するため、演算された内部抵抗に誤差が生じる可能性があった。
【０００５】
本発明が解決しようとする課題は、内部抵抗又は開放電圧の演算誤差を抑制する演算装置を提供することである。
【課題を解決するための手段】
【０００６】
本発明は、充放電の切替時点より所定時間の経過後に検出された、充電又は放電のうちの少なくとも一方の検出データを用いて、ＩＶ特性から内部抵抗又は開放電圧を演算する演算装置を提供することにより上記課題を解決する。
【発明の効果】
【０００７】
本発明によれば、充放電切換後の不安定な電圧及び電流を含まない検出データに基づき、内部抵抗又は開放電圧が演算するため、内部抵抗又は開放電圧の演算誤差を抑制することができる。
【図面の簡単な説明】
【０００８】
【図１】発明の実施形態に係る演算装置を備えた車両のブロック図である。
【図２】発明の実施形態に係る演算装置のブロック図である。
【図３】図２のバッテリーにおける、放電時間に対する変化電圧の特性を示すグラフである。
【図４】図２のバッテリーにおける、充電時間に対する変化電圧の特性を示すグラフである。
【図５】図２のバッテリーにおける、電流に対する電圧の特性を示すグラフである。
【図６】図２の演算装置の制御手順を示すフローチャートである。
【図７】図２のバッテリーにおける、充電状態（ＳＯＣ）に対する開放電圧の特性を示すグラフである。
【図８】図２のバッテリーにおける、充電状態（ＳＯＣ）に対する内部抵抗の特性を示すグラフである。
【図９】図２のバッテリーにおける、充電状態（ＳＯＣ）に対する内部抵抗の変換係数の特性を示すグラフである。
【図１０】図２のバッテリーにおける、電池温度に対する内部抵抗の変換係数の特性を示すグラフである。
【図１１】発明の他の実施形態に係る演算装置の制御手順を示すフローチャートである。
【図１２】発明の他の実施形態に係る演算装置のブロック図である。
【図１３】発明の他の実施形態に係る演算装置の制御手順を示すフローチャートである。
【図１４】発明の他の実施形態に係る演算装置の制御手順を示すフローチャートである。
【図１５】発明の他の実施形態に係る演算装置の制御手順を示すフローチャートである。
【発明を実施するための形態】
【０００９】
以下、本発明の実施形態を図面に基づいて説明する。
【００１０】
《第１実施形態》
本例の演算装置について、図１及び図２を用いて説明する。図１は本例の演算装置を備えた車両のブロック図を示す。図１において、実線は機械力伝達経路の線を、矢印線は制御線を、一点破線は電力線を、二重線は油圧系統の線を示す。また図２は、本例の演算装置のブロック図を示す。
【００１１】
図１に示すように、本例の演算装置を備えた車両は、モータ１、エンジン２、クラッチ３、モータ４、無段変速機５、減速装置６、差動装置７及び駆動輪８を備えている。モータ１は、三相同期電動機又は三相誘導電動機などの交流機であって、インバータ９を介して、バッテリー１２からの電力に基づき、エンジン２を始動させる。またモータ１は、エンジン２の動力により、発電機として機能し、バッテリー１２を充電する。エンジン２は、車両の動力源の一つであって、ガソリン又は軽油を燃料として作動する内燃機関である。クラッチ３は、エンジン１０の出力軸とモータ４の回転軸との間に介装され、エンジン１０とモータ４との間の動力伝達を断続する、パウダークラッチである。伝達トルクと励磁電流がほぼ比例関係にあるため、クラッチ３において、伝達トルクが調整される。
【００１２】
モータ４は、車両の推進と制動に用いられ、三相同期電動機又は三相誘導電動機などの交流機であって、インバータ１０を介してバッテリー１２からの電力に基づき動作する。無段変速機５は、変速比を自動的且つ連続的に変化させることが可能な変速機（ＣＶＴ：Continuously Variable Transmission）であり、ベルト式やトロイダル式の変速機である。無段変速機５には油圧装置１１から圧油が供給され、ベルトのクランプの潤滑がなされる。油圧装置１１のオイルポンプ（図示しない）は、モータ１４により駆動される。モータ１４は、相同期電動機又は三相誘導電動機などの交流機であって、インバータ１３を介してバッテリー１２からの電力に基づき駆動する。
【００１３】
モータ１の出力軸、エンジン２の出力軸及びクラッチ３の入力軸は互いに連結されており、クラッチ３の出力軸、モータ４の出力軸及び無段変速機５の入力軸は互いに連結されている。クラッチ３の締結時には、エンジン２及びモータ４が車両の推進源となり、クラッチ３の解放時には、モータ４が車両の推進源となる。クラッチ３の締結時には、モータ１を車両の推進と制動に用いることもでき、モータ４をエンジン２の始動や発電に用いることもできる。
【００１４】
インバータ９、インバータ１０及びインバータ１２は、バッテリー１２から供給される直流電力を交流電力に変替して、モータ１、モータ４及びモータ１４にそれぞれ供給する。またインバータ９、インバータ１０及びインバータ１２は、モータ１、モータ４及びモータ１４により発電される交流電力を直流電力に変替し、バッテリー１２に供給し、バッテリー１２は充電される。またインバータ９、インバータ１０及びインバータ１２は、ＤＣリンクである電力線を介して互いに接続されているため、回生運転中のモータ１、モータ４及びモータ１４により発電される電力を、バッテリー１２を介さずに、力行運転中のモータ１、モータ４及びモータ１４に供給する。
【００１５】
バッテリー１２には、例えばリチウムイオン電池、ニッケル水素電池又は鉛電池等の二次電池が用いられる。
【００１６】
コントローラ１００は、マイクロコンピュータや記録媒体及びその周辺部品、さらに各種アクチュエータを備える。コントローラ１００は、エンジン２の回転トルクや出力トルク、無段変速機５の変速比などを制御する。またコントローラ１００は、モータ１、モータ４及びモータ１４と、インバータ９、インバータ１０及びインバータ１２と、バッテリー１２とを制御することにより、モータ１、モータ４及びモータ１４の回転数や出力トルク、バッテリー１２からの出力電力、バッテリー１２への充電電力を制御し、さらにバッテリー１２の充放電の管理を行う。
【００１７】
なお、モータ１、モータ４及びモータ１０に直流電動機を用いる場合には、インバータ９、インバータ１０及びインバータ１３の代わりにＤＣ／ＤＣコンバータを用いてもよい。
【００１８】
図２に示すように、コントローラ１００には、補助バッテリー１５、ＤＣ／ＤＣコンバータ１６、バッテリー１２及び車両のキースイッチ１７が接続されている。補助バッテリー１５は、コントローラ１００を含む制御機器及び補機（図示しない）等へ電力を供給する。また補助バッテリー１５は、バッテリー１２からＤＣ／ＤＣコンバータ１６を介して充電される。車両のキースイッチ１７は、ユーザにより切り替えられ、車両の駆動スイッチである。
【００１９】
電流センサ１０６は、バッテリー１２と補助バッテリー１５との間に接続され、バッテリー１２と補助バッテリー１５との間を流れる電流を検出する。バッテリー１２と補助バッテリー１５との間には、バッテリー１２からモータ等に出力される電流に比べて、低電流が流れるため、電流センサ１０６の定格電流は、後述する電流センサ１０３の定格電流より低く設定されている。
【００２０】
電流センサ１０３及び電圧センサ１０４は、バッテリー１２に接続されており、電流センサ１０３は、バッテリー１２からインバータ１０及びモータ４等への出力される電流及びバッテリー１２への充電電流を検出し、電圧センサ１０４はバッテリー１２の電圧を検出する。また電流センサ１０３及び電圧センサ１０４は、所定のサンプリング周期で、バッテリー１２の電流及び電圧を検出する。温度センサ１０５は、バッテリー１２の温度を検出する。
【００２１】
コントローラ１００は、電流センサ１０３、電圧センサ１０４及び温度センサ１０５を通じて、バッテリー１２の放電電流、充電電流、端子電圧及び電池温度を検出し、検出電流及び検出電圧含む検出データを取得することにより、バッテリー１２を管理し、電流センサ１０６を通じて、補助バッテリー１０６の放電電流及び充電電流を検出し、検出電流及び検出電圧含む検出データを取得することにより、補助バッテリー１５を管理する。
【００２２】
またコントローラ１００には、充放電切替部１０１及び演算部１０２が設けられている。充放電切替部１０１は、バッテリー１２からモータ１、モータ４及びモータ１４への放電と、モータ１、モータ４及びモータ１４からバッテリー１２への充電を切り替える制御部分である。例えばドライバーによりモータに対して出力トルクの要求がある場合には、バッテリー１２は放電し、例えばモータの回生制御の場合には、バッテリー１２は充電される。つまり、バッテリー１２の放電及び充電の切替は、車両の走行状況に応じて切り換えられ、一定の周期性をもつものではない。演算部１０２は、バッテリー１２の内部抵抗及び開放電圧を演算する演算部分である。
【００２３】
またコントローラ１００には、記憶部１０７が設けられ、メモリー等の記録媒体等により形成される。
【００２４】
次に、図３〜図５を用いて、本例の演算装置による、バッテリー１２の内部抵抗（Ｒ）及び開放電圧（Ｖｏ）の演算方法を説明する。図３はバッテリー１２において、放電時間に対する変化電圧を示すグラフであり、図４は、バッテリー１２において、充電時間に対する変化電圧を示すグラフであり、図５はバッテリー１２の電流に対するバッテリー１２の電圧の特性を示すグラフである。
【００２５】
まず、コントローラ１００は、電流センサ１０３及び電圧センサ１０４を通じて、走行中の車両のバッテリー１２の電流及び電圧を、所定のサンプリング周期で検出する。また充電切替部１０１は、車両の走行状況に応じて、モータ４及びインバータ１０等を制御し、バッテリー１２の充電及び放電を切り替える。例えば、車両の発進時等、モータ４に対して負荷の要求がある場合に、充放電切替部１０１はバッテリー１２を放電させる制御を行い、回生動作になると、充放電切替部１０１はバッテリー１２を放電から充電に切り替える制御を行う。すなわち充放電切換部１０１は、バッテリー１２からモータ４棟の各電池負荷に対して電力供給が可能な状態で、バッテリー１２の充電及び放電を切り換える。演算部１０２は、充放電切替部１０１による充放電の切替のタイミングと、上記の所定のサンプリング周期で検出される検出データとから、バッテリー１２の内部抵抗及び開放電圧を演算する。
【００２６】
バッテリー１２の内部抵抗及び開放電圧を演算について、充放電切替部１０１により充電から放電に切り替えた場合に、演算部１０２は、充電時の検出データと、放電時の検出データを用いて、内部抵抗及び開放電圧を演算する。ここで、当該放電時の検出データは、充電から放電への切替時点を基準に、第１の所定時間の経過後に検出された検出電圧及び検出電流のデータである。
【００２７】
また充放電切替部１０１により放電から充電に切り替えた場合に、演算部１０２は、充電時の検出データと、放電時の検出データを用いて、内部抵抗及び開放電圧を演算する。ここで、充電時の検出データは、放電から充電への切替時点を基準に、第２の所定期間の経過後に検出された検出電圧及び検出電流のデータである。
【００２８】
演算部１０２は、所定のサンプリング周期と、充放電切換部１０１による充放電の切替のタイミングから、演算対象となる検出データを抽出する。すなわち、電流センサ１０３及び電圧センサ１０４は、所定のサンプリング周期でバッテリー１２の電圧及び電流を検出する中で、充放電切換部１０１による充放電の切替があった場合に、演算部１０２は、切替時点から第１の所定時間又は第２の所定時間の間に検出された検出データを演算対象から除外し、切替時点から第１の所定時間又は第２の所定時間の経過後に検出された検出データを演算対象とのデータとして抽出する。
【００２９】
ところで、図３及び図４に示すように、充放電の切替時には、バッテリー１２の端子電圧が変動する。図３に示すように、充電から放電に切り換えた時点から時間（Ｔ１）の間は放電時間に対する電圧降下が大きく、当該時間（Ｔ１）の経過後には、放電時間に対して電圧が安定して降下していることが確認できる。同様に、図４に示すように、放電から充電に切り換えた時点から時間（Ｔ２）の間は充電時間に対する電圧上昇が大きく、当該時間（Ｔ２）の経過後には、充電時間に対して電圧が安定して上昇していることが確認できる。そして、バッテリー１２の端子電圧の変動が大きい検出電圧に基づき、内部抵抗及び開放電圧を演算した場合には、演算精度が低くなってしまう。
【００３０】
そこで、本例は、演算部１０２は、切替時点から第１の所定時間又は第２の所定時間の間に検出された検出データを演算対象から除外し、充放電の切替時点より、所定時間後に検出された検出データを用いて、バッテリー１２の内部抵抗及び開放電圧を演算する。当該所定時間とは、充電から放電に切り替わる場合には、第１の所定時間に相当し、放電から充電に切り換わる場合には、第２の所定時間に相当する。そして、第１の所定時間及び第２の所定時間は、充放電切換部１０１による充放電の切替時点から充放電時間に対してバッテリー１２の電圧が安定するまでの時間である。充放電切換時から安定するまでの時間は、バッテリー１２の特性に依存し、予め、図３及び図４に示す、充放電時間に対するバッテリー１２の電圧の変化特性をとることで、設定される時間である。
【００３１】
演算部１０２において、バッテリー１２の開放電圧及び内部抵抗は、演算対象となる検出データに含まれる検出電圧及び検出電流から演算され、例えば、下記の通りＩＶ直線特性により演算される。なお、本例は必ずしもＩＶ直線特性を用いる必要はなく、例えば近似二次曲線等を用いて、演算してもよい。
【００３２】
また本例は、演算精度をより高めるため、検出データから所定の条件を満たすデータを演算対象となるデータとして抽出した上で、ＩＶ直線特性を導く。充放電時間に対する電圧の特性は、正常なデータであれば、所定の電圧値の範囲内に収まる。そして、当該所定の電圧値の範囲内に収まらない検出データを用いて、後述する演算処理を行った場合に、演算誤差が生じる可能性がある。そのため、演算部１０２は、当該所定の条件として、検出電圧及び検出電流の閾値を設定し、当該所定の条件の範囲内にある検出データを用いて、内部抵抗及び開放電圧を演算する。
【００３３】
以下、充電から放電に切り換える場合の、内部抵抗及び開放電圧の演算方法を説明する。
【００３４】
図５に示すように、放電電流Ｉｄ（＞０）が流れると、バッテリー１２の内部抵抗により、バッテリー１２の端子電圧がＶｄまで下がる。一方、充電電流Ｉｃ（＜０）が流れると、バッテリー１２の内部抵抗により、バッテリー１２の端子電圧がＶｃまで上昇する。そして、放電時の検出電流及び検出電圧である、放電電流Ｉｄ及び端子電圧Ｖｄと、充電時の検出電流及び検出電圧である、充電電流Ｉｃ及び端子電圧Ｖｃとから決まるＩＶ特性の傾きに相当する、内部抵抗Ｒは（式１）により導かれる。
【００３５】
Ｒ＝｜（Ｖｄ−Ｖｃ）／（Ｉｄ−Ｉｃ）｜            （式１）
またＩＶ特性の傾きに相当する、開放電圧は（式２）又は（式３）により導かれる。
【００３６】
Ｖｏ＝Ｖｄ−（Ｖｄ−Ｖｃ）／（Ｉｄ−Ｉｃ）×Ｉｄ          （式２）
Ｖｏ＝Ｖｃ−（Ｖｄ−Ｖｃ）／（Ｉｄ−Ｉｃ）×Ｉｃ          （式３）
これにより、バッテリー１２の内部抵抗及び開放電圧が演算される。
【００３７】
次に、図６を用いて、本例の演算装置による、バッテリー１２の内部抵抗及び開放電圧の演算手順を説明する。図６は、本例の演算装置による演算手順を示すフローチャートである。なお、図６において、充電から放電に切り替える場合の内部抵抗及び開放電圧の演算手順を示す。
【００３８】
ステップＳ１にて、コントローラ１００は、電流センサ１０３及び電圧センサ１０４から、充電時のバッテリー１２の充電電流及び充電電圧を検出する。ステップＳ２にて、コントローラ１００は、充放電切替部１０１により充電から放電に切り替わったか否かを判断する。放電に切り替わっていない場合には、ステップＳ１に戻り、充電電流及び充電電圧を検出する。一方、放電に切り替わった場合には、ステップＳ３にて、コントローラ１００は、電流センサ１０３及び電圧センサ１０４から、放電時のバッテリー１２の放電電流及び放電電圧を検出する。
【００３９】
次に、ステップＳ４にて、充電から放電への切替時点から第１の所定時間が経過したか否かを判定する。第１の所定期間が経過していない場合には、ステップＳ３にて検出されたデータはバラツキの大きいデータであるため、演算対象のデータとして適切ではなく、ステップＳ３に戻り、再度、バッテリー１２の電圧及び電流を検出する。一方、第１の所定期間が経過した場合には、ステップＳ５に遷移する。
【００４０】
次に、ステップＳ５にて、検出データに含まれる、充電電流が、充電電流下限値（Ｉｃｈｇ＿ｍｉｎ）より高く、充電電流上限値（Ｉｃｈｇ＿ｍａｘ）より低いか否かを判断する。充電電流下限値（Ｉｃｈｇ＿ｍｉｎ）及び充電電流上限値（Ｉｃｈｇ＿ｍａｘ）は、ＩＶ特性を導く際に用いられるデータの閾値を示しており、予め設定される値である。充電電流下限値（Ｉｃｈｇ＿ｍｉｎ）より低い検出電流又は充電電流上限値（Ｉｃｈｇ＿ｍａｘ）より高い検出電流は、ＩＶ直線特性に載らないため、本例の演算対象から除外される。ＩＶ特性はバッテリー１２の状況に応じて異なる直線で導き出されるが、ＩＶ特性の変動範囲は、バッテリー１２の特性及び通常の想定される使用環境及びバッテリー１２の状態によって、予め決まるため、当該変動範囲から、充電電流上限値（Ｉｃｈｇ＿ｍａｘ）及び充電電流下限値（Ｉｃｈｇ＿ｍｉｎ）が設定される。
【００４１】
ステップＳ５にて、検出された充電電流が、充電電流下限値（Ｉｃｈｇ＿ｍｉｎ）より高く、充電電流上限値（Ｉｃｈｇ＿ｍａｘ）より低い場合には、ステップＳ６にうつる。一方、検出された充電電流が、充電電流下限値（Ｉｃｈｇ＿ｍｉｎ）より低い、又は、充電電流上限値（Ｉｃｈｇ＿ｍａｘ）より高い場合には、当該充電電流を含む第１の検出データは演算対象から除外され、ステップＳ３に戻る。
【００４２】
同様に、ステップＳ６にて、検出データに含まれる、検出された放電電流が、放電電流下限値（Ｉｄｃｈｇ＿ｍｉｎ）より高く、放電電流上限値（Ｉｄｃｈｇ＿ｍａｘ）より低いか否かを判断する。放電電流下限値（Ｉｃｈｇ＿ｍｉｎ）及び放電電流上限値（Ｉｃｈｇ＿ｍａｘ）は、充電電流下限値（Ｉｃｈｇ＿ｍｉｎ）及び充電電流上限値（Ｉｃｈｇ＿ｍａｘ）と同様に、ＩＶ特性を導く際に用いられるデータの閾値を示しており、予め設定される値である。充電電流下限値（Ｉｃｈｇ＿ｍｉｎ）より低い検出電流又は充電電流上限値（Ｉｃｈｇ＿ｍａｘ）より高い検出電流は、ＩＶ直線特性にのらないため、本例の演算対象から除外される。
【００４３】
ステップＳ６にて、検出された充電電流が、放電電流下限値（Ｉｄｃｈｇ＿ｍｉｎ）より高く、放電電流上限値（Ｉｄｃｈｇ＿ｍａｘ）より低い場合には、ステップＳ７にうつる。一方、検出された放電電流が、放電電流下限値（Ｉｄｃｈｇ＿ｍｉｎ）より低い、又は、放電電流上限値（Ｉｄｃｈｇ＿ｍａｘ）より高い場合には、当該放電電流を含む第２の検出データは、演算対象から除外され、演算処理を終了する。
【００４４】
次に、ステップＳ７にて、コントローラ１００は、検出された充電電流と検出された放電電流との電流差が電流差分閾値（ΔＩｃ）より大きいか否かを判定する。電流差分閾値（ΔＩｃ）は、演算精度を確保するための閾値である。つまり、本例では、電流差の大きい検出電流を用いることにより演算精度を高めるため、充電電流と放電電流との電流差が電流差分閾値（ΔＩｃ）より小さい場合には、演算対象から除外され、ステップＳ３に戻る。
【００４５】
ステップＳ７にて、検出された充電電流と検出された放電電流との差が電流差分閾値（ΔＩｃ）より大きいには、ステップＳ８にうつる。一方、検出された充電電流と検出された放電電流との差が電流差分閾値（ΔＩｃ）より小さい場合には、当該充電電流又は放電電流を含む検出データは、演算対象から除外される。
【００４６】
なお、検出データの中に、複数の充電電流のデータと複数の放電電流データが含まれる場合には、それぞれのデータについて差分をとってもよく、または、例えば、複数の充電電流の中で最も大きい電流と、複数の放電電流の中で最も大きい電流と
の差分をとってもよい。
【００４７】
次に、ステップＳ８にて、コントローラ１００は、検出された充電電圧と検出された充電電圧との電圧差が電圧差分閾値（ΔＶｃ）より大きいか否かを判定する。電圧差分閾値（ΔＶｃ）は、演算精度を確保するための閾値である。つまり、本例では、電圧差の大きい検出電圧を用いることにより演算精度を高めるため、充電電圧と放電電圧との電流差が電流差分閾値（ΔＩｃ）より小さい場合には、演算対象から除外され、ステップＳ３に戻る。
【００４８】
ステップＳ８にて、検出された充電電圧と検出された放電電圧との差が電圧差分閾値（ΔＶｃ）より大きいには、ステップＳ９にうつる。一方、検出された充電電圧と検出された放電電圧との差が電圧差分閾値（ΔＶｃ）より小さい場合には、当該充電電圧又は放電電圧を含む検出データは、演算対象から除外される。
【００４９】
なお、検出データの中に、複数の充電電圧のデータと複数の放電電圧データが含まれる場合には、それぞれのデータについて差分をとってもよく、または、例えば、複数の充電電流の中で最も大きい電流と、複数の放電電流の中で最も大きい電流と
の差分をとってもよい。
【００５０】
ステップＳ９にて、コントローラ１００は、内部抵抗及び開放電圧を演算するための演算対象となるデータが所定数まで蓄積された否かを判定する。本例では、所定のサンプリング周期で、放電電流及び放電電圧を検出するため、データの所定数とは、検出回数にも相当する。当該所定数は、予め設定されており、求める演算の精度等に依存する。所定数のデータがコントローラ１００に蓄積された場合には、ステップＳ１０に遷移し、所定数のデータがコントローラ１００に蓄積されていない場合には、ステップＳ３に戻る。
【００５１】
そして、ステップＳ１０にて、ステップＳ５〜ステップＳ８に示す所定の条件を満たす検出データを用いて、ＩＶ特性を導き出し、バッテリー１２の内部抵抗及び開放電圧を演算する。
【００５２】
上記のように、本例の演算装置は、充放電の切替時点より所定期間内のバッテリー１２の電圧及び電流のデータを用いず、充放電の切替時点より所定時間の経過後に検出された、充電又は放電の検出データを用いて、ＩＶ特性からバッテリー１２の内部抵抗又はバッテリー１２の開放電圧を演算する。これにより、本例は、バッテリー１２が不安定な状態で電圧のバラツキが大きい時間を避けて、バッテリー１２の電圧及び電流を検出し検出データを用いて内部抵抗等を演算するため、精度よくＩＶ特性を導き出すことができ、内部抵抗及び開放電圧の演算精度を高めることができる。
【００５３】
またバッテリー１２の充放電のタイミングが車両の車両走行状態に応じて変動する状況下において、充放電切換部１０１による充放電の切替のタイミングと電圧及び電流をサンプリングする周期との間に規則性はない。そのため、所定の周期でサンプリングした検出データには、充放電の切替直後のバラツキの大きいデータを含む可能性がある。しかし、本例は、バッテリ１２からモータ等の負荷に対して電力供給ができる状態において、充放電の切替時点から所定期間内に検出された検出データを用いず、当該所定期間以外の時間に検出された検出データを用いてバッテリー１２の内部抵抗等を演算する。これにより、任意のタイミングで生じる充放電の切替直後の電圧の過度変動による検出データのバラツキを排除し、安定している検出データから内部抵抗等を演算することができ、内部抵抗及び開放電圧の演算精度を高めることができる。
【００５４】
また本例は、放電時及び充電時の検出データを用いて、内部抵抗及び開放電圧を演算する。これにより、本例は、充電時の検出電圧と検出電流及び放電時の検出電圧と検出電流を用いるため、検出電圧の差分及び検出電流の差分が大きくなり、精度よくＩＶ特性を導き出すことができ、内部抵抗及び開放電圧の演算精度を高めることができる。
【００５５】
また本例は、充電から放電に切り換える時点から第１の所定期間の経過後に検出された検出データと、放電から充電に切り換える時点から第２の所定期間の経過後に検出された検出データとを用いて、内部抵抗又は開放電圧を演算する。これにより、ＩＶ特性を導くために用いられる検出データは、充電から放電及び放電から充電への切替時の過度変動による不安定な電圧及び電流を含まないため、内部抵抗及び開放電圧の演算精度を高めることができ、内部抵抗又は開放電圧の演算のばらつきを抑制することができる。
【００５６】
また本例は、検出データに含まれる検出電流と、所定の条件である、充電電流上限値（Ｉｃｈｇ＿ｍａｘ）、充電電流下限値（Ｉｃｈｇ＿ｍｉｎ）、放電電流上限値（Ｉｄｃｈｇ＿ｍａｘ）又は放電電流下限値（Ｉｄｃｈｇ＿ｍｉｎ）とを比較し、ＩＶ特性から外れるデータを排除し、演算処理を行う。これにより、演算対象となるデータは、ＩＶ特性を導くために適切なデータとなり、内部抵抗及び開放電圧の演算精度を高めることができる。
【００５７】
また本例は、検出データに含まれる検出電流の電流差と、所定の条件である電流差分閾値（ΔＩｃ）とを比較し、ＩＶ特性から外れるデータを排除し、演算処理を行う。また本例は、検出データに含まれる検出電圧の電圧差と、所定の検出条件である電圧差分閾値（ΔＶｃ）とを比較し、ＩＶ特性から外れるデータを排除し、演算処理を行う。これにより、演算対象となるデータは、ＩＶ特性を導くために適切なデータとなり、内部抵抗及び開放電圧の演算精度を高めることができる。
【００５８】
なお、本例は放電時及び充電時の検出データを用いて、内部抵抗及び開放電圧を演算するが、放電時又は充電時のいずれか一方の検出データを用いて、内部抵抗及び開放電圧を演算してもよい。また必ずしも内部抵抗及び開放電圧の両方を演算する必要はなく、いずれか一方を演算すればよい。
【００５９】
また本例は、第１の所定時間の長さと第２の所定時間の長さを同じ時間の長さにしてもよい。これにより、本例は、内部抵抗及び開放電圧の演算精度を高めることができる。
【００６０】
また本例は、上記の演算方法により演算された開放電圧に基づき、ステップＳ１０により演算された内部抵抗を補正し、バッテリー１２の内部抵抗を演算してもよい。バッテリー１２の内部抵抗は、電池の充電状態ＳＯＣ：Ｓｔａｔｅ  ｏｆ  Ｃｈａｒｇｅ（％））に応じて変化するため、内部抵抗を演算する際に、電池の充電状態を反映させることにより、演算精度を高めることができる。以下、図７〜図９を用いて、ＳＯＣを用いた、バッテリー１２の内部抵抗の演算方法について説明する。図７はバッテリー１２の充電状態（ＳＯＣ：Ｓｔａｔｅ  ｏｆ  Ｃｈａｒｇｅ（％））に対する開放電圧の特性を示すグラフであり、図８はバッテリー１２のＳＯＣに対する内部抵抗の特性を示すグラフであり、図９はバッテリー１２のＳＯＣに対する内部抵抗の変換係数の特性を示すグラフである。
【００６１】
まず、上記の演算方法により演算された開放電圧（Ｖｏ）から、バッテリー１２の充電状態（ＳＯＣ（％））を演算する。図７に示すように、バッテリー１２の開放電圧とＳＯＣとは、二次電池の特性に応じて、予め特性が決まっている。そのため、バッテリー１２の開放電圧とＳＯＣとの関係を示すテーブルをコントローラ１００に予め保存し、当該テーブルを参照することにより、開放電圧（Ｖｏ）からバッテリー１２のＳＯＣを演算することができる。
【００６２】
図８に示すように、バッテリー１２のＳＯＣが上昇すると、バッテリー１２の内部抵抗が減少する。この特性は、バッテリー１２に使用される電池の特性に応じて決まる。本例では、図９に示すように、バッテリー１２のＳＯＣに対する内部抵抗の変換係数（Ｒａ）を予め設定し、コントローラ１２にテーブルとして保存する。ＳＯＣと変換係数（Ｒａ）との対応関係について、内部抵抗の変換係数（Ｒａ）は、例えば、ＳＯＣが５０％である場合に基準の１．０倍として、ＳＯＣが低くなると変換係数（Ｒａ）は高くなり、ＳＯＣが高くなると変換係数（Ｒａ）は低くなる。そして、コントローラ１００は、ＳＯＣとＲａとの対応関係を示すテーブルを参照し、ステップＳ１０により演算されたＳＯＣに対する変換係数（Ｒａ）を抽出し、ステップＳ１０で演算された内部抵抗に、当該変換係数（Ｒａ）を乗ずることで、バッテリー１２の内部抵抗を演算する。これにより、上記のステップＳ１０により演算された内部抵抗が補正され、バッテリー１２の内部抵抗が演算される。
【００６３】
上記のように、本例は、バッテリー１２の充電状態（ＳＯＣ）に基づき、上記のＩＶ特性から演算された内部抵抗を補正して、バッテリー１２の内部抵抗を演算する。これにより、内部抵抗の演算精度を高めることができる。
【００６４】
また本例は、温度センサ１０４により検出された電池温度に基づいて、ステップＳ１０により演算された内部抵抗を補正することにより、バッテリー１２の内部抵抗を演算してもよい。以下、図１０を用いて、温度センサ１０４による検出温度を用いた、内部抵抗の演算方法について説明する。図１０は、バッテリー１２の電池温度に対する内部抵抗の変換係数（Ｒａ）の特性を示すグラフである。
【００６５】
バッテリー１２は、電池温度に応じて内部抵抗が変化する特性をもつため、本例では、温度センサ１０４の検出温度を用いて演算処理を行う。バッテリー１２の内部抵抗は、高温時よりも低温時の方が高く、内部抵抗は温度上昇に伴い減少する特性をもつ。そのため、当該特性から、図１０に示すように、バッテリー１２の電池温度に対する内部抵抗の変換係数（Ｒｂ）を予め計測し、コントローラ１００に保存する。内部抵抗の変換係数（Ｒｂ）は、例えば、電池温度２０度の場合に基準の１．０倍として、電池温度が低くなると変換係数（Ｒｂ）は高くなり、電池温度が高くなると変換係数（Ｒｂ）は低くなる。
【００６６】
コントローラ１００は、温度センサ１０４の検出温度を検出し、ステップＳ１０による内部抵抗を演算する。そして、コントローラ１００は、予め保存された、電池温度と変換係数（Ｒｂ）との対応関係を示すテーブルを参照し、当該検出温度に対応する変換係数（Ｒｂ）を抽出する。そして、ステップＳ１０により演算された内部抵抗を、変換係数（Ｒｂ）に基づき補正し、補正された内部抵抗を演算する。
【００６７】
上記の通り、本例は、温度センサ１０４により検出されたバッテリー１２の電池温度に基づいて内部抵抗を補正することにより、内部抵抗の演算精度を高めることができる。
【００６８】
また本例は、温度センサ１０５により検出されたバッテリー１２の電池温度に応じて、所定条件であるステップＳ５〜ステップＳ８により用いた閾値、あるいは、所定時間を設定してもよい。バッテリー１２は、電池温度に応じて、充放電電流が変化する特性をもち、又は、充放電電流を一定にする場合には充放電時間が変化する特性をもつ。例えば、電池温度が高くなると放電電流が高くなり、また、充放電電流を一定にする場合には放電時間が長くなる。そして、電池温度が高い場合には、検出データに含まれる検出電圧及び検出電流の値が高くなる。また充放電の切替時から、バッテリー１２の電圧及び電流が安定するまでの時間も長くなる。
【００６９】
そのため、本例は、バッテリー１２の検出温度が高くなった場合には、充電電流上限値（Ｉｃｈｇ＿ｍａｘ）、充電電流下限値（Ｉｃｈｇ＿ｍｉｎ）、放電電流上限値（Ｉｄｃｈｇ＿ｍａｘ）又は放電電流下限値（Ｉｄｃｈｇ＿ｍｉｎ）を高くし、一方、バッテリー１２の検出温度が低くなった場合には、充電電流上限値（Ｉｃｈｇ＿ｍａｘ）、充電電流下限値（Ｉｃｈｇ＿ｍｉｎ）、放電電流上限値（Ｉｄｃｈｇ＿ｍａｘ）又は放電電流下限値（Ｉｄｃｈｇ＿ｍｉｎ）を低くする。これにより、バッテリー１２の電池温度に応じて、ＩＶ特性が変化したとしても、当該変化に応じて、演算対象となるデータの電流の範囲である、所定の検出条件を設定することができるため、本例は演算精度を高めることができる。
【００７０】
また、本例において、バッテリー１２の検出温度が高くなった場合には、充放電の切替時点から、電圧及び電流が安定する時点までの時間が短くなるため、所定時間を短くする。一方、バッテリー１２の検出温度が低くなった場合には、充放電の切替時点から、電圧及び電流が安定する時点までの時間が長くなるため、所定時間を長くする。これにより、バッテリー１２の電池温度に応じて、充放電の切替時点から、電圧及び電流が安定する時点までの時間が変化しても、変化に応じて、所定時間を設定するため、演算対象となるデータを抽出するタイミングを精度よく定めることができ、演算精度を高めることができる。
【００７１】
また本例は、バッテリー１２の劣化度に応じて、所定条件であるステップＳ５〜ステップＳ８により用いた閾値、あるいは、所定時間を設定してもよい。バッテリー１２は、電池の劣化度に応じて、充放電電流が変化する特性をもち、充放電電流を一定にする場合には充放電時間が変化する特性をもつ。例えば、電池劣化度が低い場合には、放電電流が高く、充放電電流を一定にする場合には放電時間が長くなる。そして、電池劣化度が低い場合には、検出データに含まれる検出電圧及び検出電流の値が高くなる。また充放電の切替時から、バッテリー１２の電圧及び電流が安定するまでの時間も長くなる。
【００７２】
バッテリー１２の劣化度の演算は、例えばコントローラ１００の一部に劣化度演算部を設ける。そして当該劣化度演算部は、例えば、満充電の電池容量を演算し、初期のバッテリー１２の電池容量との比を演算することで、劣化度を算出する。満充電の電池容量は、例えば電流センサ１０３の放電電流の積算値から演算できる。
【００７３】
そして、本例は、バッテリー１２の劣化度が低い場合には、充電電流上限値（Ｉｃｈｇ＿ｍａｘ）、充電電流下限値（Ｉｃｈｇ＿ｍｉｎ）、放電電流上限値（Ｉｄｃｈｇ＿ｍａｘ）又は放電電流下限値（Ｉｄｃｈｇ＿ｍｉｎ）を高くし、一方、バッテリー１２の劣化度が高い場合には、充電電流上限値（Ｉｃｈｇ＿ｍａｘ）、充電電流下限値（Ｉｃｈｇ＿ｍｉｎ）、放電電流上限値（Ｉｄｃｈｇ＿ｍａｘ）又は放電電流下限値（Ｉｄｃｈｇ＿ｍｉｎ）を低くする。これにより、バッテリー１２の劣化度に応じて、ＩＶ特性が変化したとしても、当該変化に応じて、演算対象となるデータの電流又電圧の範囲である、所定の条件を設定することができるため、本例は演算精度を高めることができる。
【００７４】
また、本例において、バッテリー１２の劣化度が高い場合には、充放電の切替時点から、電圧及び電流が安定する時点までの時間が短くなるため、所定時間を短くする。一方、バッテリー１２の劣化度が低い場合には、充放電の切替時点から、電圧及び電流が安定する時点までの時間が長くなるため、所定時間を長くする。これにより、バッテリー１２の劣化度に応じて、充放電の切替時点から、電圧及び電流が安定する時点までの時間が変化しても、変化に応じて、演算対象となるデータを抽出するタイミングを精度よく定めることができ、演算精度を高めることができる。
【００７５】
なお、バッテリー１２の温度及び劣化度は、予め設定される閾値と比較することによって、高低を判定すればよく、所定時間及び所定の検出条件は、予め設定される閾値に対して、変更すればよい。またバッテリー１２の劣化度の算出方法は、他の周知の方法を用いてもよい。
【００７６】
また本例は、バッテリー１２の充電状態（ＳＯＣ）や走行状態が演算毎に異なる状況で、内部抵抗及び開放電圧を演算するため、ステップＳ１０で演算された内部抵抗及び開放電圧を、標準状態（例えば、バッテリー１２の電池温度：２５度、又は、バッテリー１２の充電状態：５０％）に変換することにより、正規化してもよい。演算された内部抵抗及び開放電圧と、バッテリー１２の電池温度、又は、バッテリー１２のＳＯＣとの間には、予め設定されている相関関係があるため、コントローラ１００に設けられる記憶部１０７に、テーブルとして当該相関関係を記憶する。そして、コントローラ１００は、演算された内部抵抗又は開放電圧に基づき、記録されたテーブルを参照して、標準の電池温度又は標準の電池状態に変換する。これにより、本例は、標準状態以外のバッテリー１２の状態で、データを検出し、内部抵抗及び開放電圧を演算することができる。また、標準状態に変換した上で、他の演算結果等と比較することもできる。
【００７７】
なお、本例は、ステップＳ５からステップＳ８において、電流センサ１０３の検出電流及び電圧センサ１０４の検出電圧と、電流閾値及び電圧閾値とを、それぞれ比較し、検出データを抽出するが、必ずしもステップＳ５からステップＳ８までの演算処理を行う必要はない。またステップＳ５からステップＳ８までの全ての演算処理を行う必要はなく、いずれか一つの演算処理を行ってもよい。またステップＳ５及びステップＳ６について、上限値又は下限値のいずれ一方のみであってもよい。
【００７８】
なお、バッテリー１２は、複数の電池セルを有する電池パックにより構成してもよい。そして、本例は、電池セル毎に電圧を検出し、上記と同様に、各電池セルの内部抵抗及び開放電圧を演算してもよい。これにより、例えば電池セルの容量調整の際に、本例による演算結果を用いることができるため、精度よく容量調整を行うことができ、バッテリー１２の保護することができる。
【００７９】
なお、セル毎に電圧を検出し、セル毎に内部抵抗又は開放電圧を演算し、セル毎の内部抵抗又は開放電圧の積算値を算出することで、電池パックの内部抵抗又は開放電圧を演算することができる。しかし、演算負荷が大きくなるため、電池パックの内部抵抗又は開放電圧を演算する際には、電池パックの端子間電圧を用いて、演算すればよい。
【００８０】
また、本例は、充電から放電又は放電から充電への切替をトリガとして、上記による内部抵抗又は開放電圧の演算処理を行ってもよい。
【００８１】
なお、本例はステップＳ４にて、充放電の切替時からの充放電時間と第１の所定時間とを比較するが、充放電の切替時からの検出電圧の変化量を所定の閾値電圧と比較してもよい、図３及び図４に示すように、充放電の切替後の時間（Ｔ１）及び時間（Ｔ２）の間、バッテリー１２の電圧は不安定であり、充放電時間に対する電圧の変化量が大きい。一方、時間（Ｔ１）及び時間（Ｔ２）の経過後、バッテリー１２の電圧は安定しており、充放電時間に対する電圧の変化量は小さくなる。そして、図３及び図４に示す特性は、バッテリー１２の電池特性に依存し、バッテリー１２に使用される二次電池により予め決まる。そのため、本例は予め変化量の閾値を設定し、検出電圧の変化量が閾値変化量より大きい場合には、バッテリー１２の電圧不安定であり、演算対象として適切でないと判断し、検出電圧の変化量が閾値変化量より小さい場合には、バッテリー１２の電圧は安定しており、演算対象として適切であると判断する。すなわち、ステップＳ４にて、コントローラ１００は、ステップＳ３にて検出された検出電圧と、前回のサンプリング周期で検出された検出電圧との変化量から、単位時間当たりの変化量を算出する。そして、コントローラ１００は、変化量と、予め設定されている閾値変化量とを比較する。変化量が閾値変化量より大きい場合には、ステップＳ３にて検出されたデータはバラツキの大きいデータであるため、演算対象のデータとして適切ではなく、ステップＳ３に戻り、再度、バッテリー１２の電圧及び電流を検出する。一方、変化量が閾値変化量より小さい場合には、ステップＳ５に遷移する。
【００８２】
これにより、本例の演算装置は、単位時間当たりの検出電圧の変化量が所定の閾値変化量より小さくなった場合の検出電圧を含む、充電又は放電の検出データを用いて、ＩＶ特性からバッテリー１２の内部抵抗又はバッテリー１２の開放電圧を演算する。これにより、本例は、バッテリー１２が不安定な状態で電圧のバラツキが大きい検出電圧を避けた上で、安定した検出電圧を含む検出データを用いて内部抵抗等を演算するため、精度よくＩＶ特性を導き出すことができ、内部抵抗及び開放電圧の演算精度を高めることができる。
【００８３】
なお、図６において、本例は充電から放電に切り替わる場合の制御内容及び制御手順を説明するが、放電から充電に切り替わる場合も、本例は適用できる。ただし、ステップＳ４の第１の所定時間は第２の所定時間となる。
【００８４】
なお本例は、演算部１０２により、切替時点から第１の所定時間又は第２の所定時間の間に検出された検出データを演算対象から除外することにより、充放電の切替時点より所定期間内のバッテリー１２の電圧及び電流のデータを用いないようにするが、コントローラ１００により、切替時点から第１の所定時間又は第２の所定時間の間は、バッテリー１２の電流及び電圧を検出しないように制御してもよい。すなわち、充放電切替部１０１により充放電が切り変わった場合に、コントローラ１００は、電流センサ１０３及び電圧センサ１０４を制御し、切替時点から第１の所定時間又は第２の所定時間の間、バッテリー１２の電圧及び電流を検出しない。これにより、演算部１０２がバッテリー１２の内部抵抗等を演算する際に、切替時点から第１の所定時間又は第２の所定時間の間のバッテリー１２の電圧及び電流のデータを用いずに、演算することができる。
【００８５】
なお、本例の充放電切換部１０１は本発明の「充放電切換手段」に相当し、電流センサ１０３は「電流検出手段」に、電圧センサ１０４は「電圧検出手段」に、温度センサ１０５は「温度検出手段」に、演算部１０２は「演算手段」に、記憶部１０７が「記憶手段」に、コントローラ１００の一部となる劣化度演算部が「劣化度演算部」に相当する。
【００８６】
《第２実施形態》
本例は上述した第１実施形態に対して、制御内容の一部が異なる。これ以外の構成で上述した第１実施形態と同じ構成及び効果は、その記載を適宜、援用する。図１１は、本例の演算装置の制御手順を示すフローチャートである。
【００８７】
本例は、電流センサ１０３及び電圧センサ１０５により検出される検出電流の経時的な変化を検出した上で、バッテリー１２の内部抵抗及び開放電圧を演算する。以下、図１１を用いて、本例の制御手順及び制御内容を説明する。
【００８８】
ステップＳ１１にて、コントローラ１００は、電流センサ１０３及び電圧センサ１０４から、所定のサンプリング周期で、充電時のバッテリー１２の充電電流及び充電電圧を検出する。
【００８９】
次に、ステップＳ１２にて、コントローラ１００は、前回検出した検出データの充電電流と、ステップＳ１の検出データの充電電流とを比較し、充電電流が経時的に減少しているか否かを判定する。充電電流が減少していない場合には、本例の制御処理を終了する。一方、充電電流が減少している場合には、ステップＳ１３へ遷移する。なお、ステップＳ１２について、前回検出した検出データが充電時に検出されたデータではない場合には、充電電流が減少しているとみなし、ステップＳ１３に遷移すればよい。
【００９０】
ステップＳ１３にて、コントローラ１００は、充放電切替部１０１により充電から放電に切り替わったか否かを判断する。放電に切り替わっていない場合には、ステップＳ１１に戻り、充電電流及び充電電圧を検出する。一方、放電に切り替わった場合には、ステップＳ１４に遷移する。
【００９１】
ステップＳ１４にて、コントローラ１００は、電流センサ１０３及び電圧センサ１０４から、所定のサンプリング周期で、放電時のバッテリー１２の放電電流及び放電電圧を検出する。
【００９２】
そして、ステップＳ１５にて、充電から放電への切替時点から第１の所定時間が経過したか否かを判定する。第１の所定期間が経過していない場合には、ステップＳ１４にて検出されたデータはバラツキの大きいデータであるため、演算対象のデータとして適切ではなく、ステップＳ１４に戻り、再度、バッテリー１２の電圧及び電流を検出する。一方、第１の所定期間が経過した場合には、ステップＳ１６に遷移する。
【００９３】
ステップＳ１６にて、コントローラ１００は、前回検出した検出データの放電電流と、ステップＳ１４の検出データの放電電流とを比較し、放電電流が経時的に増加しているか否かを判定する。放電電流が増加していない場合には、本例の制御処理を終了する。一方、放電電流が増加している場合には、ステップＳ１７へ遷移する。なお、ステップＳ１７について、前回検出した検出データが放電時に検出されたデータではない場合には、放電電流が増加しているとみなし、ステップＳ１７に遷移すればよい。
【００９４】
ステップＳ１７にて、コントローラ１００は、内部抵抗及び開放電圧を演算するための演算対象となるデータが所定数まで蓄積された否かを判定する。所定数のデータがコントローラ１００に蓄積された場合には、ステップＳ１８に遷移し、所定数のデータがコントローラ１００に蓄積されていない場合には、ステップＳ１４に戻る。
【００９５】
そして、ステップＳ１８にて、検出データに含まれる検出電圧及び検出電流からＩＶ特性を導き出し、バッテリー１２の内部抵抗及び開放電圧を演算する。
【００９６】
上記のように、本例は、検出時間の経過に伴って減少する充電電流を含む検出データと、検出時間の経過に伴って増加する放電電流を含む検出データとを、演算対象のデータとした上で、内部抵抗及び開放電圧を演算する。これにより、内部抵抗の演算精度を高めることができる。充放電の切替の直後の検出データは、バッテリー１２の電圧及び電流が不安定なため、当該検出データを含めて演算を行う場合に、演算精度が低下する可能性がある。本例では、検出時間に伴う、充電電流又は放電電流の変化の条件を課した上で、演算対象となるデータを抽出するため、ＩＶ特性を導く際に適切ではないデータを除外した上で、内部抵抗及び開放電圧を演算することができ、その結果として、演算精度を高めることができる。
【００９７】
《第３実施形態》
本例は上述した第１実施形態に対して、コントローラ１００に演算頻度算出部３０１を設ける点が異なる。これ以外の構成で上述した第１実施形態と同じ構成及び効果は、その記載を適宜、援用する。図１２は、本例の演算装置のブロック図を示す。
【００９８】
図１２に示すように、本例の演算装置には、演算頻度算出部３０１がコントローラ１００に設けられている。演算頻度算出部３０１は、単位時間当たりの演算部１０２の演算回数を算出している。
【００９９】
ここで、バッテリー１２の検出電圧及び検出電流は、バッテリー１２の劣化度や電池温度等によって異なる。そのため、図６のステップＳ５からステップＳ８に示す所定の検出条件を満たす検出データの量は、バッテリー１２の劣化度や電池温度等に応じて、異なる。すなわち、例えば、バッテリー１２の電池温度が高い場合、又は、バッテリー１２の劣化度が小さい場合には、電池から取り出せる電流値が大きくなるため、放電電流値を一定にすると、放電可能な時間が長くなる。そのため、演算対象となる検出データを抽出する際に、充放電電流値を大きくとることができ、また充放電の切替時からデータを検出するための検出時間を長くとることができる。
【０１００】
そして、検出時間が長くなる場合には、当該所定の検出条件を変更しない限り、所定の検出条件を満たすデータ量が多くなるため、演算頻度は高くなる。そこで、本例は、演算頻度算出部３０１による演算頻度が高くなる場合には、所定の検出条件の範囲を狭めることで、演算対象となるデータの抽出条件を厳しくして、演算頻度を抑える代わりに、演算精度を高める。
【０１０１】
一方、バッテリー１２の電池温度が低い場合、又は、バッテリー１２の劣化度が大きい場合には、電池から取り出せる電流値が大きくなるため、放電電流値を一定にすると、放電可能な時間が短くなる。そのため、演算対象となる検出データを抽出する際に、充放電電流値が小さくなり、また充放電の切替時からデータを検出するための検出時間が短くなり、演算頻度が低くなる。そこで、本例は、演算頻度算出部３０１による演算頻度が低くなる場合には、所定の検出条件の範囲を広げることで、演算対象となるデータの抽出条件を緩くして、演算精度を下げる代わりに、演算頻度を高くする。
【０１０２】
次に、図１３を参照し、本例の演算装置の制御手順を説明する。図１３は、本例の演算装置の制御手順を示すフローチャートである。
【０１０３】
ステップＳ２１にて、演算頻度算出部３０１は、単位時間当たりの内部抵抗又は開放電圧の演算頻度を検出する。ステップＳ２２にて、コントローラ１００は、当該演算頻度と演算頻度閾値とを比較する。演算頻度閾値は、予め設定されている値であって、条件を変えるための閾値を示す。演算頻度が演算頻度閾値より低い場合には、図６のステップＳ５からステップＳ８に示す条件を変更せずに、本例の処理を終了する。一方、演算頻度が演算頻度閾値より高い場合には、ステップＳ２３に遷移する。
【０１０４】
ステップＳ２３にて、コントローラ１００は、ステップＳ５からステップＳ８に示す条件を変更し、条件の範囲を狭くする。つまり、ステップＳ５の条件を変更する場合には、充電電流上限値（Ｉｃｈｇ＿ｍａｘ）を小さくする、または、充電電流下限値（Ｉｃｈｇ＿ｍｉｎ）を大きくする、のうち少なくとも一方を行う。またステップＳ６の条件を変更する場合には、放電電流上限値（Ｉｄｃｈｇ＿ｍａｘ）を小さくする、または、放電電流下限値（Ｉｄｃｈｇ＿ｍｉｎ）を大きくする、のうち少なくとも一方を行う。またステップＳ７の条件を変更する場合には、電流差分閾値（ΔＩｃ）を小さくする。またステップＳ８の条件を変更する場合には、電圧差分閾値（ΔＶｃ）を小さくする。そして、所定の条件を厳しくして、図１３の制御手順を終了する。なお、図６に示す制御手順は、ステップＳ２３の条件変更に伴い、ステップＳ５〜Ｓ８の条件を変更した上で、制御手順を実行する。
【０１０５】
上記のように、本例は、演算頻度算出部３０１により、演算部１０２の演算頻度を算出し、演算頻度が所定の演算頻度閾値より高い場合に、所定の検出条件の範囲を狭くすることで、当該所定の検出条件を厳しくする。これにより、一回の演算に対する演算精度を高めることができる。
【０１０６】
なお、図１１の制御手順では、演算頻度が演算頻度閾値より低い場合に、所定の検出条件を変更せずに処理を終了したが、演算頻度が演算頻度閾値より低い場合に、当該所定の検出条件の範囲を広くするように制御してもよい。すなわち、コントローラ１００は、ステップＳ２２の判定により、演算頻度が演算頻度閾値より低い場合に、図６のステップＳ５からステップＳ８に示す条件を変更し、条件の範囲を広くする。ステップＳ５の条件を変更する場合には、充電電流上限値（Ｉｃｈｇ＿ｍａｘ）を大きくする、または、充電電流下限値（Ｉｃｈｇ＿ｍｉｎ）を小さくする、のうち少なくとも一方を行う。またステップＳ６の条件を変更する場合には、放電電流上限値（Ｉｄｃｈｇ＿ｍａｘ）を大きくする、または、放電電流下限値（Ｉｄｃｈｇ＿ｍｉｎ）を小さくする、のうち少なくとも一方を行う。またステップＳ７の条件を変更する場合には、電流差分閾値（ΔＩｃ）を大きくする。またステップＳ８の条件を変更する場合には、電圧差分閾値（ΔＶｃ）を大きくする。そして、所定の検出条件を緩くして、本例の制御手順を終了する。また、演算頻度が演算頻度閾値より高い場合には、ステップＳ２３と同様に、所定の検出条件を変更してもよく、所定の検出条件を変更しなくてもよい。
【０１０７】
上記のように、本例は、演算頻度算出部３０１により、演算部１０２の演算頻度を算出し、演算頻度が所定の演算頻度閾値より低い場合に、所定の検出条件の範囲を広くすることで、当該所定の検出条件を緩くする。これにより、本例は演算頻度を高めることができる。そして、複数の演算結果に対し、移動平均又は加重平均を算出することにより、全体として、内部抵抗又は開放電圧の演算精度を高めることができる。
【０１０８】
なお本例の演算頻度算出部３０１が本発明の「演算頻度算出手段」に相当する。
【０１０９】
《第４実施形態》
本例は上述した第１実施形態に対して、制御内容の一部が異なる。これ以外の構成で上述した第１実施形態と同じ構成及び効果は、その記載を適宜、援用する。図１４は、本例の演算装置の制御手順を示すフローチャートである。
【０１１０】
本例は、充電時間又は放電時間に応じて、演算対象となる検出データを特定した上で、バッテリー１２の内部抵抗又は開放電圧を演算する。バッテリー１２の充電及び放電が切り替わる状況において、バッテリー１２には分極が発生する場合がある。例えば、バッテリー１２が長時間放電され、その後、短時間充電され、再び放電される状況において、充電時間に対して放電時間が長い場合には、長時間の放電の間にバッテリー１２の電池内でイオンが不均一になり、分極が発生していることがある。その後、短時間の充電が行われたとしても、分極が充分に解消されないため、充電時の検出電圧及び検出電流は、分極を持った状態の検出値となる。そして、当該検出値に基づいて算出された内部抵抗及び開放電圧の演算精度は低くなる。
【０１１１】
そこで、本例の演算装置では、充放電の切替時点から分極解除時間の経過後に検出された検出データを用いて、内部抵抗及び開放電圧を演算する。以下、図１４を用いて、本例の制御内容及び制御手順を説明する。図１４は、本例の演算装置の制御手順を示すフローチャートである。
【０１１２】
ステップＳ３１にて、コントローラ１００は、電流センサ１０３及び電圧センサ１０４から、所定のサンプリング周期で、放電時のバッテリー１２の放電電流及び放電電圧を検出する。
【０１１３】
ステップＳ３２にて、コントローラ１００は、充放電切替部１０１により放電から充電に切り替わったか否かを判断する。充電に切り替わっていない場合には、ステップＳ３１に戻り、放電電流及び放電電圧を検出する。一方、充電に切り替わった場合には、ステップＳ３３に遷移する。
【０１１４】
ステップＳ３３にて、コントローラ１００は、電流センサ１０３及び電圧センサ１０４から、所定のサンプリング周期で、充電時のバッテリー１２の充電電流及び充電電圧を検出する。
【０１１５】
そして、ステップＳ３４にて、放電から充電への切替時点から第２の所定時間が経過したか否かを判定する。第２の所定期間が経過していない場合には、ステップＳ３３にて検出されたデータはバラツキの大きいデータであるため、演算対象のデータとして適切ではなく、ステップＳ３３に戻り、再度、バッテリー１２の電圧及び電流を検出する。一方、第２の所定期間が経過した場合には、ステップＳ３５に遷移する。
【０１１６】
ステップＳ３５にて、分極解消時間を設定する。分極解消時間は、充電への切替え前の放電により生じた分極を解消するために必要な時間である。また分極解消時間は、放電時間に応じて設定される。分極の発生度合いは、放電時間に影響し、放電時間が長い場合には、分極の発生度合いが大きい。そのためコントローラ１００は、ステップＳ３２の切替前の放電時間に応じて、分極解消時間を設定する。なお、充電から放電に切り替わり、放電時の分極解消時間を設定する場合には、コントローラ１００は、切替前の充電時間に応じて、分極解消時間を設定する。分極解消時間は、バッテリー１２の特性に応じて予め設定されている。
【０１１７】
ステップＳ３６にて、コントローラ１００は、放電時間と分極解消時間とを比較する。放電時間は、ステップＳ３２の切替時点からステップＳ３３の検出する時点までの時間である。放電時間が分極解消時間より短い場合には、ステップＳ３３で検出された検出データは、分極が発生している場合の検出データになるため、演算対象となるデータとして適切ではない。放電時間が分極解消時間より短い場合には、コントローラ１００はステップＳ３３に戻り、充電電流及び充電電圧を検出する。一方、放電時間が分極解消時間より長い場合には、ステップＳ３３で検出された検出データは、分極が解消された状態のバッテリー１２の検出電圧及び検出電流を含み、コントローラ１００はステップＳ３７にうつる。
【０１１８】
ステップＳ３７にて、コントローラ１００は、内部抵抗及び開放電圧を演算するための演算対象となるデータが所定数まで蓄積された否かを判定する。所定数のデータがコントローラ１００に蓄積された場合には、ステップＳ３８に遷移し、所定数のデータがコントローラ１００に蓄積されていない場合には、ステップＳ３３に戻る。
【０１１９】
そして、ステップＳ３８にて、検出データに含まれる検出電圧及び検出電流からＩＶ特性を導き出し、バッテリー１２の内部抵抗及び開放電圧を演算する。
【０１２０】
上記のように、本例は、分極解消時間の経過後に検出された検出データを用いて、バッテリー１２の内部抵抗又は開放電圧を演算する。これにより、演算対象となる検出データには、分極状態のバッテリー１２の検出電圧及び検出電流が含まれないため、精度よくＩＶ特性を導き出すことができ、内部抵抗及び開放電圧の演算精度を高めることができる。
【０１２１】
また本例は、充放電の切替前の充電時間又は放電時間に応じて、切替後の分極解消時間を設定する。これにより、充放電の切替前のバッテリー１２の分極度合いに応じて、分極を解消するための適切な時間を設定することができるため、内部抵抗及び開放電圧の演算精度を高めることができる。
【０１２２】
なお、本例は放電から充電に切り替わる場合の制御手順を説明したが、充電から放電に切り替わる場合には、図１４に示す各ステップにおいて、充電と放電を入れ替えればよく、ステップＳ３４の第２の所定時間は第１の所定時間に変更し、ステップＳ３５の分極解消時間は、充電時間に応じて設定すればよい。
【０１２３】
なお、本例では、分極解消時間の経過後に検出された検出データを、分極解消時間と充放電時間とを比較することにより、特定するが、時間の代わりに、積算容量値、電流値又は電流二乗積を用いてよい。積算容量値、電流積算値又は電流二乗積は、切替時点から充放電時間の経過と共に変化する値である。そのため、これらの値を検出することで、充放電時間を間接的に計測することになる。また分極解消時間については、積算容量値、電流積算値又は電流二乗積に基づく閾値として設定すればよい。
【０１２４】
《第４実施形態》
本例は上述した第１実施形態に対して、制御内容の一部が異なる。これ以外の構成で上述した第１実施形態と同じ構成及び効果は、その記載を適宜、援用する。図１５は、本例の演算装置の制御手順を示すフローチャートである。
【０１２５】
本例は、充電時の検出データ及び放電時の検出データの両方データを用いて、ＩＶ特性を導き、バッテリー１２の内部抵抗及び開放電圧を演算する。演算の際は、演算対象となる検出データについて、充電から放電への切替時点から放電時のデータの検出時点までの時間と、放電から充電への切替時点から充電時のデータの検出時点までの時間とが等しくなるよう（以下、「第１の抽出条件」と称す）に、コントローラ１００は、検出データを抽出して、演算対象のデータとする。
【０１２６】
例えば、コントローラ１００は、電流センサ１０３及び電圧センサ１０４のサンプリングを充放電の切替のタイミングから開始するように、切替のタイミングとサンプリング周期との間で同期を図るよう制御する。ここで、サンプリング周期を１００ｍｓとする。そして、充電から放電への切替時からバッテリー１２の電流又は電圧が安定するまでの時間を１５０ｍｓとし、放電から充電への切替時からバッテリー１２の電流又は電圧が安定するまでの時間を２７０ｍｓと仮定する。この場合、安定した電流及び電圧を含む放電時のデータの検出タイミングは、切替時から２００ｍｓ、３００ｍｓと、４００ｍｓ、後は１００ｍｓ刻みのタイミングとなる。また安定した電流及び電圧を含む充電時のデータの検出タイミングは、切替時から３００ｍｓ、４００ｍｓ、後は１００ｍｓ刻みのタイミングとなる。
【０１２７】
第１の抽出条件を満たすデータは、放電データでは、３００ｍｓ、４００ｍｓとなり、充電データでは、３００ｍｓ、４００ｍｓとなる。すなわち、放電データ（２００ｍｓ）は、安定した電流及び電圧を含むデータであるが、第１の抽出条件を満たさないため、コントローラ１００は、当該データを演算対象から除外する。
【０１２８】
また、第１の抽出条件以外の条件として、充電から放電への切替時点から放電時のデータの検出時点までの時間と、電から充電への切替時点から充電時のデータの検出時点までの時間との時間差が、所定の範囲内になる（以下、「第２の抽出条件」と称す）ように、本例は、検出データを抽出して、演算対象のデータとする。なお、所定の範囲とは、充電時の検出データと放電時の検出データとの間で生じる検出タミングのズレの許容される範囲を表しており、予め設定される時間の範囲である。
【０１２９】
例えば、コントローラ１００は、電流センサ１０３及び電圧センサ１０４を所定のサンプリング周期（１００ｍｓ）で動作させる。そして、充電から放電への切替時からバッテリー１２の電流又は電圧が安定するまでの時間を１５０ｍｓとし、放電から充電への切替時からバッテリー１２の電流又は電圧が安定するまでの時間を２７０ｍｓと仮定する。また所定の範囲を１５ｍｓと設定する。
【０１３０】
仮に、充電から放電への切り替わりについて、切替時点から２０ｍｓ後に、電流センサ１０３及び電圧センサ１０４によるサンプリングがされたとする。この場合、電流センサ１０３及び電圧センサ１０４は、充電から放電への切替時点から、２０ｍｓ後、１２０ｍｓ後、２２０ｍｓ後、３２０ｍｓ後、と続くタイミングで、電流及び電圧を検出する。そして、放電時の検出データの中で、安定した電流及び電圧を含む検出データは、充電から放電への切替時点から、２２０ｍｓ後、３２０ｍｓ後、と続くタイミングで検出されたデータである。
【０１３１】
さらに、仮に放電から充電への切り替わりについて、切替時点から３０ｍｓ後に、電流センサ１０３及び電圧センサ１０４によるサンプリングがされたとする。この場合、電流センサ１０３及び電圧センサ１０４は、充電から放電への切替時点から、３０ｍｓ後、１３０ｍｓ後、２３０ｍｓ後、３３０ｍｓ後、と続くタイミングで、電流及び電圧を検出する。そして、充電時の検出データの中で、安定した電流及び電圧を含む検出データは、放電から充電への切替時点から、３３０ｍｓ後、４３０ｍｓ後、と続くタイミングで検出されたデータである。
【０１３２】
放電時の検出データ（２２０ｍｓ）と充電時の検出データ（３３０ｍｓ）との時間差は１１０ｍｓとなり、所定の範囲（１５ｍｓ）外であるため、当該放電時の検出データ（２２０ｍｓ）は、演算対象から外される。一方、放電時の検出データ（３２０ｍｓ）と充電時の検出データ（３３０ｍｓ）との時間差は１０ｍｓとなり、所定の範囲（１５ｍｓ）内であるため、当該放電時の検出データ（３２０ｍｓ）及び充電時の検出データ（３３０ｍｓ）は、演算対象となる。
【０１３３】
すなわち、コントローラ１００は、バッテリー１２の内部抵抗等を演算する際に、第１の抽出条件又は第２の抽出条件を用いて、検出データを抽出した上で、演算を行う。これにより、本例は、充電時の検出データ及び放電時の検出データを用いて演算する場合に、充電時の検出データと放電時の検出データとの間で充放電の切替時からの検出タイミングが大きくずれるデータを除外して、バッテリー１２の内部抵抗等を演算する。その結果として、ＩＶ特性を導く際に、演算精度を高めることができ、内部抵抗又は開放電圧の演算誤差を抑制することができる。
【０１３４】
以下、図１５を用いて、本例の演算装置による、演算手順を説明する。なお、図１５において、充電から放電に切り変わった時点から、放電から充電に切り変わり、再び充電から放電に切り変わる時点までの演算手順を示す。
【０１３５】
ステップＳ４１にて、コントローラ１００は、電流センサ１０３及び電圧センサ１０４から、放電時のバッテリー１２の放電電流及び放電電圧を検出する。ステップＳ４２にて、充電から放電への切替時点から第１の所定時間が経過したか否かを判定する。第１の所定期間が経過していない場合には、ステップＳ４１に戻る。第１の所定期間が経過した場合には、ステップＳ４３にて、コントローラ１００は、第１の所定期間の経過後の放電時のデータを蓄積する。
【０１３６】
ステップＳ４４にて、放電から充電に切り変わった否かを判定する。切り変わっていない場合には、ステップＳ４１に戻り、所定のサンプリング周期で放電電流及び放電電圧を検出する。一方、放電から充電切り変わった場合には、ステップＳ４５にて、充電時の充電電流及び放電電圧を検出する。
【０１３７】
ステップＳ４６にて、放電から充電への切替時点から第２の所定時間が経過したか否かを判定する。第２の所定期間が経過していない場合には、ステップＳ４５に戻る。第２の所定期間が経過した場合には、ステップＳ４７にて、コントローラ１００は、第２の所定期間の経過後の充電時のデータを蓄積する。
【０１３８】
ステップＳ４８にて、充電から放電に切り変わった否かを判定する。切り変わっていない場合には、ステップＳ４５に戻り、所定のサンプリング周期で充電電流及び充電電圧を検出する。一方、放電から充電切り変わった場合には、ステップＳ４９に遷移する。
【０１３９】
ステップＳ４９にて、コントローラ１００は、第１の抽出条件又は第２の抽出条件を用いて、ステップＳ４３及びステップＳ４７により蓄積された検出データから、抽出条件を満たすデータを抽出する。なお、第１の抽出条件又は第２の抽出条件のいずれの条件を用いるかは、演算前に予め設定される。
【０１４０】
そして、ステップＳ５０にて、コントローラ１００は、ステップＳ４９により抽出されたデータを用いて、ＩＶ特性を導き出し、バッテリー１２の内部抵抗及び開放電圧を演算する。
【０１４１】
上記のように、本例は、充電から放電に切り変わる時点から放電時の検出データの検出時点までの時間と、放電から充電に切り変わる時点から充電時の検出データの検出時点までの時間とが等しい検出データを用いて、バッテリー１２の内部抵抗等を演算する。これにより、ＩＶ特性を導く際に、演算精度を高めることができ、内部抵抗又は開放電圧の演算誤差を抑制することができる。
【０１４２】
また本例は、充電から放電に切り変わる時点から放電時の検出データの検出時点までの時間と、放電から充電に切り変わる時点から充電時の検出データの検出時点までの時間との時間差が所定の範囲内である、検出データを用いて、バッテリー１２の内部抵抗等を演算する。これにより、ＩＶ特性を導く際に、演算精度を高めることができ、内部抵抗又は開放電圧の演算誤差を抑制することができる。  なお、コントローラ１００は、充電時のデータ及び放電時のデータがそれぞれ複数のデータを用いて演算する場合には、それぞれ対応するデータの間で、第１の抽出条件又は第２の抽出条件を満たせばよい。
【符号の説明】
【０１４３】
１、４、１４…モータ
２…エンジン
３…クラッチ
５…無段変速機
６…減速装置
７…差動装置
８…駆動輪
９、１０、１３…インバータ
１１…油圧装置
１２…バッテリー
１５…補助バッテリー
１６…ＤＣ／ＤＣコンバータ
１７…キースイッチ
１００…コントローラ
１０１…充放電切換部
１０２…演算部
１０３、１０５…電流センサ
１０４、１０６…電圧センサ
１０７…記憶部
３０１…演算頻度算出部
【図１】
2011257219.tif 000003
【図２】
2011257219.tif 000004
【図３】
2011257219.tif 000005
【図４】
2011257219.tif 000006
【図５】
2011257219.tif 000007
【図６】
2011257219.tif 000008
【図７】
2011257219.tif 000009
【図８】
2011257219.tif 000010
【図９】
2011257219.tif 000011
【図１０】
2011257219.tif 000012
【図１１】
2011257219.tif 000013
【図１２】
2011257219.tif 000014
【図１３】
2011257219.tif 000015
【図１４】
2011257219.tif 000016
【図１５】
2011257219.tif 000017