(57)【要約】【課題】複数の電流検出回路の異常を区別して判断することができる蓄電装置の提供。【解決手段】並列接続された第１蓄電素子１７と第２蓄電素子１９に、それぞれ直列接続され、第１電流Ｉ１と第２電流Ｉ２を検出する第１電流検出回路２１、および第２電流検出回路２３と、第１蓄電素子電圧Ｖ１を検出する電圧検出回路２５と、これらに接続された制御回路２７を備え、制御回路２７は、第１電流Ｉ１と第２電流Ｉ２を読み込み、既定期間Δｔにおける第１蓄電素子電圧Ｖ１の電圧変化幅ΔＶ１と第１蓄電素子１７の容量値Ｃ１から計算した第１電流計算値Ｉ１ｃと、第１電流Ｉ１の差から第１実測計算差Ｓｃ１を求め、実測比Ｄ（＝Ｉ１／Ｉ２）が既定最小値Ｍｉｎ未満か既定最大値Ｍａｘを超えている場合、第１実測計算差Ｓｃ１が第１既定値Ｋ１より大きければ、第１電流検出回路２１が異常と判断し、そうでなければ第２電流検出回路２３が異常と判断する。【選択図】図１
2010252594.tif 000002
【特許請求の範囲】
【請求項１】
電気的に並列接続された第１蓄電素子および第２蓄電素子と、
前記第１蓄電素子に直列接続され、前記第１蓄電素子に流れる第１電流（Ｉ１）を検出する第１電流検出回路と、
前記第２蓄電素子に直列接続され、前記第２蓄電素子に流れる第２電流（Ｉ２）を検出する第２電流検出回路と、
前記第１蓄電素子または前記第２蓄電素子の両端に電気的に接続され、その蓄電素子電圧（Ｖ１）を検出する電圧検出回路と、
前記第１電流検出回路、第２電流検出回路および電圧検出回路に電気的に接続された制御回路とを備え、
前記制御回路は、検出された前記第１電流（Ｉ１）および第２電流（Ｉ２）を読み込むとともに、既定期間（Δｔ）における前記蓄電素子電圧（Ｖ１）の電圧変化幅（ΔＶ１）に基いて、第１電流計算値（Ｉ１ｃ）および／または第２電流計算値（Ｉ２ｃ）を求め、
前記第１電流（Ｉ１）と前記第２電流（Ｉ２）との第１相関値、前記第１電流（Ｉ１）と前記第１電流計算値（Ｉ１ｃ）との第２相関値、もしくは前記第２電流（Ｉ２）と前記第２電流計算値（Ｉ２ｃ）との第３相関値のいずれか２つの組み合わせから、前記第１電流検出回路と前記第２電流検出回路の異常を区別して判断する判定手段を有する蓄電装置。
【請求項２】
前記判定手段は、前記第１相関値が既定最小値（Ｍｉｎ）未満か既定最大値（Ｍａｘ）を超えている場合、
前記第２相関値が第１既定範囲を超えるか、または前記第３相関値が第２既定範囲以内であれば、前記第１電流検出回路が異常と判断し、
前記第２相関値が前記第１既定範囲以内であるか、または前記第３相関値が前記第２既定範囲を超えれば、前記第２電流検出回路が異常と判断するとともに、
前記前記第１相関値が前記既定最小値（Ｍｉｎ）以上、かつ前記既定最大値（Ｍａｘ）以下であれば、前記第１電流検出回路と前記第２電流検出回路が正常と判断するようにした請求項１に記載の蓄電装置。
【請求項３】
前記判定手段は、前記第１電流検出回路と前記第２電流検出回路が正常と判断された場合、
前記第２相関値が前記第１既定範囲を超えるか、または前記第３相関値が前記第２既定範囲を超えれば、前記電圧検出回路が異常と判断し、
前記第２相関値が前記第１既定範囲以内であるか、または前記第３相関値が前記第２既定範囲以内であれば、前記電圧検出回路が正常と判断するようにした請求項２に記載の蓄電装置。
【請求項４】
前記判定手段は、前記第２相関値が第１既定範囲を超える場合、
前記第３相関値が第２既定範囲以内であれば、前記第１電流検出回路が異常と判断するとともに、
前記第３相関値が前記第２既定範囲を超えれば、前記電圧検出回路が異常と判断し、
前記第２相関値が前記第１既定範囲以内の場合、
前記第３相関値が前記第２既定範囲を超えれば、前記第２電流検出回路が異常と判断するとともに、
前記第３相関値が前記第２既定範囲以内であれば、前記第１電流検出回路、前記第２電流検出回路および前記電圧検出回路が正常と判断するようにした請求項１に記載の蓄電装置。
【請求項５】
前記第１相関値は、前記第１電流（Ｉ１）と前記第２電流（Ｉ２）との差の絶対値から求めた実測差（Ｓ）であるか、もしくは前記第１電流（Ｉ１）と前記第２電流（Ｉ２）との実測比（Ｄ）である請求項１に記載の蓄電装置。
【請求項６】
前記第２相関値は、前記第１電流（Ｉ１）と第１電流計算値（Ｉ１ｃ）との差の絶対値から求めた第１実測計算差（Ｓｃ１）であるか、もしくは前記第１電流（Ｉ１）と第１電流計算値（Ｉ１ｃ）との第１実測計算比（Ｄｃ１）である請求項１に記載の蓄電装置。
【請求項７】
前記第３相関値は、前記第２電流（Ｉ２）と第２電流計算値（Ｉ２ｃ）との差の絶対値から求めた第２実測計算差（Ｓｃ２）であるか、もしくは前記第２電流（Ｉ２）と第２電流計算値（Ｉ２ｃ）との第２実測計算比（Ｄｃ２）である請求項１に記載の蓄電装置。
【請求項８】
前記第１蓄電素子と前記第２蓄電素子の少なくとも一方に、前記制御回路と電気的に接続された温度検出器を設けるか、もしくは前記制御回路と電気的に接続された、前記第１蓄電素子と前記第２蓄電素子とに共通の温度検出器を設け、
前記判定手段は、前記温度検出器で検出された温度（Ｔ）に応じて、前記第１電流（Ｉ１）、第２電流（Ｉ２）および蓄電素子電圧（Ｖ１）を、前記温度（Ｔ）に対するそれぞれの相関関係から補正するようにした請求項１に記載の蓄電装置。
【請求項９】
電気的に並列接続された第１蓄電素子および第２蓄電素子と、
前記第１蓄電素子に直列接続され、前記第１蓄電素子に流れる第１電流（Ｉ１）を検出する第１電流検出回路と、
前記第２蓄電素子に直列接続され、前記第２蓄電素子に流れる第２電流（Ｉ２）を検出する第２電流検出回路と、
前記第１蓄電素子または前記第２蓄電素子の両端に電気的に接続され、その蓄電素子電圧（Ｖ１）を検出する電圧検出回路と、
前記第１電流検出回路、第２電流検出回路および電圧検出回路に電気的に接続された制御回路とを備え、
前記制御回路は、既定期間（Δｔ）において検出された前記第１電流（Ｉ１）および第２電流（Ｉ２）を積分することにより、第１電荷量（Ｑ１）および第２電荷量（Ｑ２）を求めるとともに、前記既定期間（Δｔ）における前記蓄電素子電圧（Ｖ１）の電圧変化幅（ΔＶ１）に基いて、第１電荷量計算値（Ｑ１ｃ）および／または第２電荷量計算値（Ｑ２ｃ）を求め、
前記第１電荷量（Ｑ１）と前記第２電荷量（Ｑ２）との第１相関値、前記第１電荷量（Ｑ１）と前記第１電荷量計算値（Ｑ１ｃ）との第２相関値、もしくは前記第２電荷量（Ｑ２）と前記第２電荷量計算値（Ｑ２ｃ）との第３相関値のいずれか２つの組み合わせから、前記第１電流検出回路と前記第２電流検出回路の異常を区別して判断する判定手段を有する蓄電装置。
【請求項１０】
前記判定手段は、前記第１相関値が既定最小値（Ｍｉｎ）未満か既定最大値（Ｍａｘ）を超えている場合、
前記第２相関値が第１既定範囲を超えるか、または前記第３相関値が第２既定範囲以内であれば、前記第１電流検出回路が異常と判断し、
前記第２相関値が前記第１既定範囲以内であるか、または前記第３相関値が前記第２既定範囲を超えれば、前記第２電流検出回路が異常と判断するとともに、
前記第１相関値が前記既定最小値（Ｍｉｎ）以上、かつ前記既定最大値（Ｍａｘ）以下であれば、前記第１電流検出回路と前記第２電流検出回路が正常と判断するようにした請求項９に記載の蓄電装置。
【請求項１１】
前記判定手段は、前記第１電流検出回路と前記第２電流検出回路が正常と判断された場合、
前記第２相関値が前記第１既定範囲を超えるか、または前記第３相関値が前記第２既定範囲を超えれば、前記電圧検出回路が異常と判断し、
前記第２相関値が前記第１既定範囲以内であるか、または前記第３相関値が前記第２既定範囲以内であれば、前記電圧検出回路が正常と判断するようにした請求項１０に記載の蓄電装置。
【請求項１２】
前記判定手段は、前記第２相関値が第１既定範囲を超える場合、
前記第３相関値が第２既定範囲以内であれば、前記第１電流検出回路が異常と判断するとともに、
前記第３相関値が前記第２既定範囲を超えれば、前記電圧検出回路が異常と判断し、
前記第２相関値が前記第１既定範囲以内の場合、
前記第３相関値が前記第２既定範囲を超えれば、前記第２電流検出回路が異常と判断するとともに、
前記第３相関値が前記第２既定範囲以内であれば、前記第１電流検出回路、前記第２電流検出回路および前記電圧検出回路が正常と判断するようにした請求項９に記載の蓄電装置。
【請求項１３】
前記第１相関値は、前記第１電荷量（Ｑ１）と前記第２電荷量（Ｑ２）との差の絶対値から求めた実測差（Ｓ）であるか、もしくは前記第１電荷量（Ｑ１）と前記第２電荷量（Ｑ２）との実測比（Ｄ）である請求項９に記載の蓄電装置。
【請求項１４】
前記第２相関値は、前記第１電荷量（Ｑ１）と第１電荷量計算値（Ｑ１ｃ）との差の絶対値から求めた第１実測計算差（Ｓｃ１）であるか、もしくは前記第１電荷量（Ｑ１）と第１電荷量計算値（Ｑ１ｃ）との第１実測計算比（Ｄｃ１）である請求項９に記載の蓄電装置。
【請求項１５】
前記第３相関値は、前記第２電荷量（Ｑ２）と第２電荷量計算値（Ｑ２ｃ）との差の絶対値から求めた第２実測計算差（Ｓｃ２）であるか、もしくは前記第２電荷量（Ｑ２）と第２電荷量計算値（Ｑ２ｃ）との第２実測計算比（Ｄｃ２）である請求項９に記載の蓄電装置。
【請求項１６】
前記第１蓄電素子と前記第２蓄電素子の少なくとも一方に、前記制御回路と電気的に接続された温度検出器を設けるか、もしくは前記制御回路と電気的に接続された、前記第１蓄電素子と前記第２蓄電素子とに共通の温度検出器を設け、
前記判定手段は、前記温度検出器で検出された温度（Ｔ）に応じて、前記第１電流（Ｉ１）、第２電流（Ｉ２）および蓄電素子電圧（Ｖ１）を、前記温度（Ｔ）に対するそれぞれの相関関係から補正するようにした請求項９に記載の蓄電装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、蓄電した電力を必要な時に負荷に供給する蓄電装置に関するものである。
【背景技術】
【０００２】
近年、車両の減速時に発電機（オルタネータ）から得られる回生電力を蓄電部に充電し、減速時以外に車両駆動用モータ等の負荷に前記回生電力を放電することで、高効率化を図る蓄電装置が開発されている。このような蓄電装置は、急峻に発生する前記回生電力を効率よく充電するために、前記蓄電部として、例えば急速充放電特性に優れる電気二重層キャパシタを複数個直列に接続し、それを１つのキャパシタブロックとして、複数のキャパシタブロックを並列に接続した構成を有する。これにより、前記回生電力を充電するために必要な電圧、および容量を確保した蓄電装置を実現できる。
【０００３】
上記の蓄電装置は、複数の前記キャパシタブロックが存在するので、それぞれに流れる電流を検出するために、前記キャパシタブロック毎に電流検出回路（電流センサ）を設けている。従って、前記蓄電装置の高信頼性確保のために、複数の電流検出回路に対する異常判断が重要となる。
【０００４】
このように複数の電流センサの異常を判断することができる電流検出装置が、例えば特許文献１に提案されている。このような電流検出装置のブロック回路図を図８に示す。
【０００５】
車両の各種制御を行う制御装置１１１は、バッテリ１１２からの電力がキースイッチ１１３を介して供給されることにより動作する。制御装置１１１の動作により、点火装置１１４や噴射装置１１５が制御され、エンジン（図示せず）が駆動する。また、前記エンジンに接続された発電機１１６を制御してバッテリ１１２への充電を行う。この際、バッテリ１１２の充放電電流を電流センサ１１７で検出しているので、制御装置１１１は電流センサ１１７の出力から求めたバッテリ１１２の充電状態が目標値になるように発電機１１６を制御している。
【０００６】
さらに、制御装置１１１には前記エンジンからの排出ガスの空燃比を検出する空燃比センサ１１８が接続されている。空燃比センサ１１８は空燃比に比例した出力を発生するセンサ素子１１９と、それを加熱し活性化させるヒータ１２０から構成される。なお、ヒータ１２０には、その電流を検出するヒータ電流検出回路１２１が制御装置１１１に内蔵されている。また、制御装置１１１には異常診断情報等が記憶されるバックアップＲＡＭ１２２も接続されている。
【０００７】
次に、このような電流検出装置における電流センサ１１７とヒータ電流検出回路１２１の異常判断動作について説明する。
【０００８】
制御装置１１１は、センサ素子１１９を一定温度に制御するためにヒータ１２０のオンオフ動作を繰り返す。この時、制御装置１１１は、例えばヒータ１２０がオンからオフになる直前と直後のバッテリ電流変化量ΔＩｂａｔとヒータ電流変化量ΔＩｓｅｎを、それぞれ電流センサ１１７とヒータ電流検出回路１２１の出力から求める。次に、両者の比を計算し、１を引くことにより公差Ｋを計算する。すなわち、Ｋ＝ΔＩｂａｔ／ΔＩｓｅｎ−１から公差Ｋを求める。この公差Ｋが所定範囲内になければ、電流センサ１１７とヒータ電流検出回路１２１のどちらかが異常と判断する。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００６−２０８１２６号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
上記の電流検出装置によると、確かに電流センサ１１７とヒータ電流検出回路１２１のどちらかが異常であることを判断できるのであるが、両者の内、異常のある方を区別して判断することができない。従って、上記電流検出装置による異常判断動作を、複数のキャパシタブロックを有する蓄電装置に適用した場合、それらに接続した、いずれかの前記電流検出回路の異常を判断することはできても、どの電流検出回路が異常であるかが区別できないので、修理する場合に、全てのキャパシタブロックを交換する必要があり、正常なキャパシタブロックも交換してしまうという無駄が発生するという課題があった。
【００１１】
本発明は、前記従来の課題を解決するもので、複数の電流検出回路の異常を区別して判断することにより、効率よく修理することができる蓄電装置を提供することを目的とする。
【課題を解決するための手段】
【００１２】
前記従来の課題を解決するために、本発明の蓄電装置は、電気的に並列接続された第１蓄電素子および第２蓄電素子と、前記第１蓄電素子に直列接続され、前記第１蓄電素子に流れる第１電流（Ｉ１）を検出する第１電流検出回路と、前記第２蓄電素子に直列接続され、前記第２蓄電素子に流れる第２電流（Ｉ２）を検出する第２電流検出回路と、前記第１蓄電素子または前記第２蓄電素子の両端に電気的に接続され、その蓄電素子電圧（Ｖ１）を検出する電圧検出回路と、前記第１電流検出回路、第２電流検出回路および電圧検出回路に電気的に接続された制御回路とを備え、前記制御回路は、検出された前記第１電流（Ｉ１）および第２電流（Ｉ２）を読み込むとともに、既定期間（Δｔ）における前記蓄電素子電圧（Ｖ１）の電圧変化幅（ΔＶ１）に基いて、第１電流計算値（Ｉ１ｃ）および／または第２電流計算値（Ｉ２ｃ）を求め、前記第１電流（Ｉ１）と前記第２電流（Ｉ２）との第１相関値、前記第１電流（Ｉ１）と前記第１電流計算値（Ｉ１ｃ）との第２相関値、もしくは前記第２電流（Ｉ２）と前記第２電流計算値（Ｉ２ｃ）との第３相関値のいずれか２つの組み合わせから、前記第１電流検出回路と前記第２電流検出回路の異常を区別して判断する判定手段を有するものである。
【００１３】
また、本発明の蓄電装置は、電気的に並列接続された第１蓄電素子および第２蓄電素子と、前記第１蓄電素子に直列接続され、前記第１蓄電素子に流れる第１電流（Ｉ１）を検出する第１電流検出回路と、前記第２蓄電素子に直列接続され、前記第２蓄電素子に流れる第２電流（Ｉ２）を検出する第２電流検出回路と、前記第１蓄電素子または前記第２蓄電素子の両端に電気的に接続され、その蓄電素子電圧（Ｖ１）を検出する電圧検出回路と、前記第１電流検出回路、第２電流検出回路および電圧検出回路に電気的に接続された制御回路とを備え、前記制御回路は、既定期間（Δｔ）において検出された前記第１電流（Ｉ１）および第２電流（Ｉ２）を積分することにより、第１電荷量（Ｑ１）および第２電荷量（Ｑ２）を求めるとともに、前記既定期間（Δｔ）における前記蓄電素子電圧（Ｖ１）の電圧変化幅（ΔＶ１）に基いて、第１電荷量計算値（Ｑ１ｃ）および／または第２電荷量計算値（Ｑ２ｃ）を求め、前記第１電荷量（Ｑ１）と前記第２電荷量（Ｑ２）との第１相関値、前記第１電荷量（Ｑ１）と前記第１電荷量計算値（Ｑ１ｃ）との第２相関値、もしくは前記第２電荷量（Ｑ２）と前記第２電荷量計算値（Ｑ２ｃ）との第３相関値のいずれか２つの組み合わせから、前記第１電流検出回路と前記第２電流検出回路の異常を区別して判断する判定手段を有するものである。
【発明の効果】
【００１４】
本発明の蓄電装置によれば、キャパシタブロック（第１蓄電素子、第２蓄電素子）毎に、それぞれ設けられた電流検出回路（第１電流検出回路、第２電流検出回路）の異常を区別して判断することができるので、異常のあるキャパシタブロックのみを交換することにより、高効率な修理ができるという効果が得られる。
【００１５】
また、各電荷量（第１電荷量Ｑ１、第２電荷量Ｑ２、第１電荷量計算値Ｑ１ｃおよび第２電荷量計算値Ｑ２ｃ）に基く異常判断を行うことにより、ノイズの影響を低減でき、より高精度に電流検出回路の異常を区別して判断できるので、高効率な修理の確度が向上するという効果が得られる。
【図面の簡単な説明】
【００１６】
【図１】本発明の実施の形態１における蓄電装置のブロック回路図
【図２】本発明の実施の形態１における蓄電装置の電流検出回路における異常判断を行うフローチャート
【図３】本発明の実施の形態２における蓄電装置の電流検出回路における異常判断を行うフローチャート
【図４】本発明の実施の形態３における蓄電装置のブロック回路図
【図５】本発明の実施の形態３における蓄電装置の電流検出回路における異常判断を行うフローチャート
【図６】本発明の実施の形態４における蓄電装置の電流検出回路における異常判断を行うフローチャート
【図７】本発明の実施の形態５における蓄電装置の電流検出回路における異常判断を行うフローチャート
【図８】従来の電流検出装置のブロック回路図
【発明を実施するための形態】
【００１７】
以下、本発明を実施するための形態について図面を参照しながら説明する。なお、ここでは蓄電装置を車両に適用した場合について説明する。
【００１８】
（実施の形態１）
図１は、本発明の実施の形態１における蓄電装置のブロック回路図である。図２は、本発明の実施の形態１における蓄電装置の電流検出回路における異常判断を行うフローチャートである。なお、図１において、太線は電力系配線を、細線は信号系配線を、それぞれ示す。
【００１９】
図１において、蓄電装置１０は充放電回路１１を介して、車両のエンジン（図示せず）と機械的に接続された発電機１３と、電装品である負荷１５に電力系配線で接続されている。充放電回路１１は、蓄電装置１０の充放電を制御する。また、負荷１５には前記車両を駆動するモータが含まれる。なお、本実施の形態１では、発電機１３と前記モータを別体としたが、一体構成のものとしてもよい。
【００２０】
蓄電装置１０は次の構成を有する。まず、電力を蓄える第１蓄電素子１７と第２蓄電素子１９が電気的に並列回路になるように接続される。この並列回路は充放電回路１１に接続される。ここで、第１蓄電素子１７と第２蓄電素子１９は、いずれも複数の電気二重層キャパシタを直列接続した構成を有する。従って、第１蓄電素子１７と第２蓄電素子１９は、それぞれがキャパシタブロックを構成していることになる。以下、２個の前記キャパシタブロックを第１蓄電素子１７、および第２蓄電素子１９と呼ぶ。なお、前記キャパシタブロックは２個より多くてもよいが、ここでは２個の場合について説明する。また、第１蓄電素子１７の容量値Ｃ１と第２蓄電素子１９の容量値Ｃ２は、計測誤差範囲内で等しくなるように構成した。
【００２１】
第１蓄電素子１７と第２蓄電素子１９には、それぞれ直列に第１電流検出回路２１、および第２電流検出回路２３が接続されている。第１電流検出回路２１は第１蓄電素子１７に流れる第１電流Ｉ１を、第２電流検出回路２３は第２蓄電素子１９に流れる第２電流Ｉ２を、それぞれ検出して出力する機能を有する。第１電流検出回路２１と第２電流検出回路２３の構成として、本実施の形態１ではシャント抵抗と、オペアンプ等の周辺回路（いずれも図示せず）からなるものを用いた。なお、第１電流検出回路２１と第２電流検出回路２３は上記した構成に限定されるものではなく、例えばホール素子を用いた磁気的な検出構成のものでもよい。
【００２２】
第１蓄電素子１７の両端には、電圧検出回路２５が電気的に接続されている。ここで、図１に示すように、第１蓄電素子１７の一端（負極）はグランドに接続されているので、電圧検出回路２５は前記グランドと第１蓄電素子１７の他端（正極）に接続される構成としている。これにより、電圧検出回路２５は第１蓄電素子１７の両端電圧、すなわち、第１蓄電素子電圧Ｖ１を検出して出力する機能を有する。電圧検出回路２５の具体的な構成として、本実施の形態１では第１蓄電素子１７の両端に２個の直列抵抗器を接続し、その中点電圧を第１蓄電素子電圧Ｖ１として出力する構成とした。
【００２３】
なお、電圧検出回路２５は第１蓄電素子１７の両端に接続しているが、第１蓄電素子１７と第２蓄電素子１９は並列接続されているので、両者の全体的な電圧（蓄電素子電圧）を検出していることになる。従って、電圧検出回路２５は、第２蓄電素子１９の両端に接続しても電気的には等価となるので、第１蓄電素子１７または第２蓄電素子１９のいずれかの両端に接続すればよいが、高信頼に電圧を検出するために、両者にそれぞれ接続する構成としてもよい。なお、本実施の形態１では、電圧検出回路２５を第１蓄電素子１７の両端に接続しているので、以下、前記蓄電素子電圧を第１蓄電素子電圧Ｖ１と呼ぶ。
【００２４】
第１電流検出回路２１、第２電流検出回路２３、および電圧検出回路２５は、制御回路２７が信号系配線で電気的に接続される。制御回路２７はマイクロコンピュータとメモリ等の周辺回路で構成され、第１電流検出回路２１で検出した第１電流Ｉ１、第２電流検出回路２３で検出した第２電流Ｉ２、および電圧検出回路２５で検出した第１蓄電素子電圧Ｖ１を、それぞれ読み込む。また、充放電回路１１を制御する制御信号ｃｏｎｔを出力する。さらに、制御回路２７は車両側制御回路（図示せず）と信号系配線で接続され、データ信号ｄａｔａにより各種信号の送受信を行う。
【００２５】
次に、蓄電装置１０の動作について説明する。
【００２６】
まず、通常の車両走行時の動作を述べる。車両が走行している状態からブレーキにより制動状態になると、前記車両側制御回路は発電機１３が回生電力を発生するように制御すると同時に、制動状態にあることをデータ信号ｄａｔａにより制御回路２７に送信する。これを受け、制御回路２７は充放電回路１１に対し、回生電力を第１蓄電素子１７、および第２蓄電素子１９に充電するように制御信号ｃｏｎｔを送信する。その結果、発電機１３で発生した回生電力は、充放電回路１１により第１蓄電素子１７と第２蓄電素子１９に充電される。この時、制御回路２７は、第１電流検出回路２１で検出された第１電流Ｉ１、および第２電流検出回路２３で検出された第２電流Ｉ２が過電流に至らないように充放電回路１１を制御する。
【００２７】
このようにして制御回路２７は、第１蓄電素子１７と第２蓄電素子１９に回生電力を充電し、電圧検出回路２５で検出された第１蓄電素子電圧Ｖ１が既定の満充電電圧に至れば、充放電回路１１に対し充電を停止するように制御信号ｃｏｎｔを送信する。
【００２８】
以上の動作により、制動時に発生する回生電力を蓄電装置１１に充電することができる。
【００２９】
その後、車両が停止、または加速すると、制御回路２７は前記車両側制御回路から停車信号、または加速信号をデータ信号ｄａｔａとして受信する。これにより、制御回路２７は蓄電装置１０に蓄えた回生電力を負荷１５に対して放電するように制御信号ｃｏｎｔを充放電回路１１に送信する。その結果、蓄電装置１０から充放電回路１１を介して負荷１５に回生電力が供給される。このような動作により、蓄電装置１０から負荷１５に電力が供給されている間は、発電機１３による発電が不要となるので、前記エンジンへの負担が軽減され、省燃費化が図れる。なお、この時も制御回路２７は、第１電流Ｉ１や第２電流Ｉ２を読み込んで過電流を監視するとともに、第１蓄電素子電圧Ｖ１を読み込んで、第１蓄電素子１７と第２蓄電素子１９の過放電を監視している。
【００３０】
このような動作を繰り返すことにより、蓄電装置１０が車両の制動エネルギを回生電力として回収し、非制動時に負荷１５へ供給することで、高効率な車両を実現することができる。
【００３１】
次に、このような蓄電装置１０の制御回路２７において、第１電流検出回路２１、第２電流検出回路２３、および電圧検出回路２５の異常判断を行う動作、すなわち判定手段について、図２を用いて説明する。なお、図２に示すフローチャート（前記判定手段）は、制御回路２７において、既定時間間隔（例えば１秒）毎にメインルーチン（図示せず）から割り込み実行される。従って、図２はサブルーチンとして記載している。
【００３２】
また、前記判定手段は図２のフローチャートそのものであると定義し、動作を行う主体は制御回路２７であるので、以下の説明では前記判定手段が行う動作について、制御回路２７が行うものとする。さらに、本実施の形態１に限らず、以後の説明における全てのフローチャートは判定手段であると定義し、その動作は制御回路２７が行うものとして説明する。
【００３３】
また、異常判断の対象である第１電流検出回路２１と第２電流検出回路２３が同時に異常になることは確率的に低いため、以下に説明する全ての実施の形態において、複数の電流検出回路の内、いずれかの異常を判断する動作について述べる。なお、全ての実施の形態において、電圧検出回路２５の異常も判断しているが、これも第１電流検出回路２１や第２電流検出回路２３と同時に異常になる確率は低いため、第１電流検出回路２１、第２電流検出回路２３または電圧検出回路２５の内の１つについて異常判断を行う動作を述べる。
【００３４】
図２のサブルーチンが実行されると、制御回路２７は、まず第１電流検出回路２１より第１電流Ｉ１を読み込む（ステップ番号Ｓ１３）。次に、第２電流検出回路２３より第２電流Ｉ２を読み込む（Ｓ１７）。
【００３５】
その後、第１電流Ｉ１が０で、かつ第２電流Ｉ２が０であるか否かを判断する（Ｓ２１）。これにより、第１蓄電素子１７と第２蓄電素子１９が充放電時であるか否かを判断している。このような判断を行う理由は、両方の電流が０であれば、後述する実測比Ｄの計算が正しく行えないためである。なお、第１電流Ｉ１や第２電流Ｉ２が０であるとの判断は、第１電流検出回路２１や第２電流検出回路２３の検出精度内で０と出力された場合であると定義する。また、第１電流検出回路２１、第２電流検出回路２３、および電圧検出回路２５が断線した場合は、それらの出力が常時０になる等、明らかに正常時の出力とは異なる挙動となるため、前記メインルーチンにて断線検知を行うようにしている。従って、図２のサブルーチンは第１電流検出回路２１、第２電流検出回路２３、および電圧検出回路２５のいずれも断線異常を起こしていない状態で実行される。
【００３６】
Ｓ２１において、もし、両方の電流が０であれば（Ｓ２１のＹｅｓ）、第１蓄電素子１７と第２蓄電素子１９は充放電が行われておらず、前記異常判断の動作ができないので、図２のサブルーチンを終了して、割り込み元に戻る。
【００３７】
一方、第１電流Ｉ１と第２電流Ｉ２が、いずれも０でなければ（Ｓ２１のＮｏ）、第１蓄電素子１７と第２蓄電素子１９は充放電中であるので、次に制御回路２７は電圧検出回路２５より第１蓄電素子電圧Ｖ１を読み込む（Ｓ２３）。この第１蓄電素子電圧Ｖ１は、制御回路２７に内蔵した前記メモリ（図示せず）による一時記憶用変数Ｖ１ｏに代入される（Ｓ２７）。なお、図２においてＳ２７に示すように、Ｖ１ｏ＝Ｖ１と記載した場合は、判断を行うステップを除き、右辺の値を左辺の変数に代入する動作であるとして以下定義する。
【００３８】
次に、制御回路２７はＳ２７の動作終了後から既定期間Δｔが経過したか否かを判断する（Ｓ２９）。ここで、既定期間Δｔは後述する電圧変化幅ΔＶ１を求めるための期間であり、第１電流Ｉ１と第２電流Ｉ２が大きく変化しない程度の期間として、あらかじめ実験的に求めて前記メモリに記憶してある。本実施の形態では既定期間Δｔを０．０１秒とした。また、制御回路２７にはカウンタが内蔵されているので、それにより既定期間Δｔを求めることができる。
【００３９】
もし、既定期間Δｔが経過していなければ（Ｓ２９のＮｏ）、Ｓ２９に戻って既定期間Δｔが経過するまで待つ。
【００４０】
既定期間Δｔが経過すれば（Ｓ２９のＹｅｓ）、制御回路２７は、電圧検出回路２５より再び第１蓄電素子電圧Ｖ１を読み込む（Ｓ３１）。
【００４１】
次に、制御回路２７は、既定期間Δｔにおける第１蓄電素子電圧Ｖ１の電圧変化幅ΔＶ１を、ΔＶ１＝｜Ｖ１ｏ−Ｖ１｜より求める（Ｓ３５）。この電圧変化幅ΔＶ１と、既定期間Δｔ、および第１蓄電素子１７の容量値Ｃ１から、制御回路２７は第１電流計算値Ｉ１ｃを、Ｉ１ｃ＝Ｃ１・ΔＶ１／Δｔより求める（Ｓ３９）。ここで、容量値Ｃ１は、あらかじめ実測値を求めて前記メモリに記憶してある。
【００４２】
次に、制御回路２７は、第１電流Ｉ１と第１電流計算値Ｉ１ｃとの第２相関値を求める。具体的には、Ｓ１３で読み込んだ第１電流Ｉ１と、第１電流計算値Ｉ１ｃとの差の絶対値から第１実測計算差Ｓｃ１を、Ｓｃ１＝｜Ｉ１ｃ−Ｉ１｜より求める（Ｓ４１）。この第１実測計算差Ｓｃ１が第２相関値となる。さらに、第１電流Ｉ１と第２電流Ｉ２との第１相関値を求める。具体的には、第１電流Ｉ１と第２電流Ｉ２との実測比Ｄを、Ｄ＝Ｉ１／Ｉ２より求める（Ｓ４３）。この実測比Ｄが第１相関値となる。ここで、上記したように第１蓄電素子１７の容量値Ｃ１と第２蓄電素子１９の容量値Ｃ２は計測誤差範囲内で等しくなるように構成しているので、実測比Ｄは１近傍となる。また、第１相関値（ここでは実測比Ｄ）と第２相関値（ここでは第１実測計算差Ｓｃ１）を求める順番は、どちらが先でも構わない。
【００４３】
次に、制御回路２７は第１相関値である実測比Ｄが既定最小値Ｍｉｎから既定最大値Ｍａｘまでの範囲に入っているか否かを判断する（Ｓ４５）。ここで、実測比Ｄの正常値範囲として、計測や計算の誤差等を考慮して±５％以内とした。従って、既定最小値Ｍｉｎは実測比Ｄの正常値（＝１）から５％小さい０．９５、既定最大値Ｍａｘは５％大きい１．０５と決定した。これらの値は前記メモリに記憶してある。
【００４４】
もし、実測比Ｄが既定最小値Ｍｉｎ以上、かつ既定最大値Ｍａｘ以下であれば、すなわち、実測比Ｄが０．９５≦Ｄ≦１．０５であれば（Ｓ４５のＹｅｓ）、制御回路２７は第１電流検出回路２１と第２電流検出回路２３が両方とも正常であると判断する。この場合は、後述するＳ５３にジャンプする。
【００４５】
一方、実測比Ｄが既定最小値Ｍｉｎ未満か既定最大値Ｍａｘを超えている場合は（Ｓ４５のＮｏ）、第１電流検出回路２１、または第２電流検出回路２３のいずれかが異常である。但し、この時点では、どちらが異常であるかを判断することはできない。
【００４６】
そこで、制御回路２７は、第２相関値である第１実測計算差Ｓｃ１が第１既定範囲以内であるか、もしくは超えているかを判断する。ここで、第１実測計算差Ｓｃ１はＳ４１より第１電流計算値Ｉ１ｃと第１電流Ｉ１（実測値）の差の絶対値であるので、第１実測計算差Ｓｃ１が前記第１既定範囲を超えていれば、計算値と実測値がずれていることになる。なお、前記第１既定範囲は、第１実測計算差Ｓｃ１（前記ずれに相当）の上限値から下限値までの範囲を示す。ここでは、上記したように第１実測計算差Ｓｃ１は前記ずれの絶対値で求められるので、前記下限値は０となる。このことから、本実施の形態１のように、前記ずれを第１実測計算差Ｓｃ１として求めた場合は、前記第１既定範囲は０（前記下限値）から前記上限値までとなる。従って、第１実測計算差Ｓｃ１が第１既定範囲以内であるか、もしくは超えているかを判断するという動作は、第１実測計算差Ｓｃ１が前記第１既定範囲の上限値（以下、第１既定値Ｋ１と定義する）より大きいか否かを判断することと等価になる。
【００４７】
以上のことから、制御回路２７は、Ｓ４５でＮｏの場合、第１実測計算差Ｓｃ１と第１既定値Ｋ１を比較する（Ｓ４７）。第１実測計算差Ｓｃ１が第１既定値Ｋ１より大きければ（Ｓ４７のＹｅｓ）、第１電流検出回路２１が異常と判断できる。このように判断できる理由は次の通りである。Ｓ４７の動作はＳ４５においてＮｏの時に行われるので、上記したように第１電流検出回路２１、または第２電流検出回路２３のいずれかが異常である。従って、上記したように複数の検出回路が同時に異常となる確率が低いため、電圧検出回路２５は正常である。ゆえに、前記ずれが大きい（Ｓ４７でＹｅｓ）の場合は、第１電流検出回路２１が異常であることになる。この場合、制御回路２７は、第１電流検出回路２１の異常信号をデータ信号ｄａｔａとして前記車両側制御回路に出力する（Ｓ４９）。これを受け、前記車両側制御回路は第１電流検出回路２１が異常であることを運転者に知らせ、修理を促す。ここで、第１電流検出回路２１が異常であることがわかっているので、効率的な修理が可能となる。なお、本実施の形態１において、第１既定値Ｋ１（前記ずれの上限値）は、計測や計算の精度を考慮して第１電流Ｉ１の最大値の５％と定義し、前記メモリに記憶してある。
【００４８】
Ｓ４９の後は、図２のサブルーチンを終了して、割り込み元に戻る。
【００４９】
一方、第１実測計算差Ｓｃ１が第１既定値Ｋ１以下であれば（Ｓ４７のＮｏ）、第１電流検出回路２１は正常であることがわかる。しかし、Ｓ４５でＮｏの場合は、第１電流検出回路２１と第２電流検出回路２３のいずれかが異常であるので、Ｓ４７でもＮｏであれば、第２電流検出回路２３が異常であると判断できる。この場合、制御回路２７は、第２電流検出回路２３の異常信号をデータ信号ｄａｔａとして前記車両側制御回路に出力し（Ｓ５１）、図２のサブルーチンを終了して、割り込み元に戻る。このような動作から、第２電流検出回路２３の異常を判断できるので、第１電流検出回路２１の異常時と同様に効率的な修理が可能となる。
【００５０】
ここで、Ｓ４５に戻り、実測比Ｄが既定最小値Ｍｉｎ以上、かつ既定最大値Ｍａｘ以下であれば（Ｓ４５のＹｅｓ）、第１電流検出回路２１と第２電流検出回路２３が正常と判断されたので、次に、制御回路２７は、第１実測計算差Ｓｃ１と、前記第１既定範囲としての第１既定値Ｋ１を比較する（Ｓ５３）。なお、ここでの第１既定値Ｋ１の値はＳ４７の場合と同じである。もし、第１実測計算差Ｓｃ１が第１既定値Ｋ１以下であれば（Ｓ５３のＮｏ）、第１電流計算値Ｉ１ｃと、正常値である第１電流Ｉ１とのずれが第１既定値Ｋ１以下であることになる。従って、第１電流計算値Ｉ１ｃも正常に計算されていることになる。ここで、Ｓ２３からＳ３９で説明したように、既定期間Δｔと容量値Ｃ１は定数であるので、第１電流計算値Ｉ１ｃは第１蓄電素子電圧Ｖ１の関数となる。この第１電流計算値Ｉ１ｃが正常に計算されているので、第１蓄電素子電圧Ｖ１が正常に検出されていることになる。従って、Ｓ５３でＮｏの場合は、制御回路２７は電圧検出回路２５が正常であると判断する。この場合は、第１電流検出回路２１、第２電流検出回路２３、および電圧検出回路２５の全てが正常と判断されたので、そのまま図２のサブルーチンを終了して、割り込み元に戻る。
【００５１】
一方、第１実測計算差Ｓｃ１が第１既定値Ｋ１より大きければ（Ｓ５３のＹｅｓ）、第１電流計算値Ｉ１ｃが異常であるので、制御回路２７は、第１電流計算値Ｉ１ｃを求めるために必要な第１蓄電素子電圧Ｖ１を検出した電圧検出回路２５が異常であると判断する。この場合、制御回路２７は、電圧検出回路２５の異常信号をデータ信号ｄａｔａとして前記車両側制御回路に出力し（Ｓ５５）、図２のサブルーチンを終了して、割り込み元に戻る。
【００５２】
このように動作することにより、第１電流検出回路２１と第２電流検出回路２３の異常を区別して判断できるだけでなく、電圧検出回路２５の異常も判断することが可能となる。その結果、さらに効率的な修理が可能となる。
【００５３】
以上に説明した判定手段の動作をまとめると、次のようになる。制御回路２７は、検出された第１電流Ｉ１および第２電流Ｉ２を読み込むとともに、既定期間（Δｔ）における前記第１蓄電素子電圧Ｖ１の電圧変化幅ΔＶ１に基いて、第１電流計算値Ｉ１ｃを求め、第１電流Ｉ１と第２電流Ｉ２との第１相関値と、第１電流Ｉ１と第１電流計算値Ｉ１ｃとの第２相関値から、前記第１電流検出回路と前記第２電流検出回路の異常を区別して判断している。
【００５４】
以上の構成、動作により、複数の電流検出回路の異常を区別して判断することにより、効率よく修理することが可能な蓄電装置１０が実現できる。
【００５５】
なお、本実施の形態１では、第１相関値として、第１電流Ｉ１と第２電流Ｉ２との実測比Ｄを用いたが、これは第１電流Ｉ１と第２電流Ｉ２との差の絶対値から求めた実測差Ｓであってもよい。ここで、実測差Ｓは、Ｓ＝｜Ｉ１−Ｉ２｜より求められる。第１相関値として、実測差Ｓを用いた場合でも、実測比Ｄを用いた場合に比べ、複数の電流検出回路の異常を区別して判断する効果は同じである。但し、動作において、次の点が異なる。
【００５６】
まず、図２において、Ｓ２１における第１電流Ｉ１と第２電流Ｉ２がいずれも０であるか否かの判断が不要となる。これは、実測比Ｄの場合のように０で除する可能性がないためである。次に、Ｓ４３において、実測比Ｄの代わりに、上式により実測差Ｓを求める。次に、Ｓ４５において、実測差Ｓが既定最小値Ｍｉｎから既定最大値Ｍａｘの範囲内であるか否かを判断する。ここで、既定最小値Ｍｉｎと既定最大値Ｍａｘは実測差Ｓに対応した値として前記メモリに記憶しておく。但し、実測差Ｓは第１電流Ｉ１や第２電流Ｉ２の絶対値により大きく変化する。すなわち、前記絶対値が小さければ、実測差Ｓは第１電流検出回路２１や第２電流検出回路２３が異常であっても小さくなり、前記絶対値が大きければ、実測差Ｓは第１電流検出回路２１や第２電流検出回路２３の計測誤差範囲内の違いであっても大きくなる。従って、実測差Ｓの大小に応じて既定最小値Ｍｉｎと既定最大値Ｍａｘの相関をあらかじめ求めておき、例えば前記相関をテーブルとして前記メモリに記憶しておけばよい。これにより、実測差Ｓに応じた最適な既定最小値Ｍｉｎと既定最大値Ｍａｘを決定してから、Ｓ４５の判断を行うことができるので、実測差Ｓを用いても高精度な異常判断が可能となる。
【００５７】
また、本実施の形態１では、第２相関値として、第１電流Ｉ１と第１電流計算値Ｉ１ｃとの差の絶対値である第１実測計算差Ｓｃ１を用いたが、これは第１電流Ｉ１と第１電流計算値Ｉ１ｃとの比から求めた第１実測計算比Ｄｃ１であってもよい。ここで、第１実測計算比Ｄｃ１は、Ｄｃ１＝Ｉ１／Ｉ１ｃより求められる。第２相関値として、第１実測計算比Ｄｃ１を用いた場合でも、第１実測計算差Ｓｃ１を用いた場合に比べ、複数の電流検出回路の異常を区別して判断する効果は同じである。また、図２の動作については、Ｓ４１で上式により第１実測計算比Ｄｃ１を求めるとともに、Ｓ４７とＳ５３における第１既定値Ｋ１を第１実測計算比Ｄｃ１に対応した第１既定範囲に変えればよい。すなわち、第１実測計算比Ｄｃ１を用いる場合は、実測比Ｄと同様に正常であれば１近傍の値となるので、例えば計測や演算の誤差等を考慮して第１実測計算比Ｄｃ１が±５％の範囲に入っていれば正常であると決定すれば、前記第１既定範囲は０．９５〜１．０５の範囲となる。従って、Ｓ４７とＳ５３では、第１実測計算比Ｄｃ１が０．９５〜１．０５の範囲（前記第１既定範囲）以内であるか、または超えているかを判断すればよい。なお、第１実測計算比Ｄｃ１に対応した前記第１既定範囲も、あらかじめ求めて前記メモリに記憶しておく。また、第１実測計算比Ｄｃ１を用いる場合は、０による除算の可能性があるため、Ｓ２１の動作は必要である。
【００５８】
これらのことから、第１相関値としては実測差Ｓ、もしくは実測比Ｄの一方を、第２相関値としては第１実測計算差Ｓｃ１、もしくは第１実測計算比Ｄｃ１の一方を、それぞれ選択すればよく、その組み合わせ（４通り）は、どのようであっても構わないことがわかる。すなわち、第１相関値と第２相関値の内容をどのように組み合わせても、複数の電流検出回路の異常を区別して判断することが可能となる。
【００５９】
また、本実施の形態１において、第１蓄電素子１７に対し第１電流計算差Ｉ１ｃを求めているが、これは第２蓄電素子１９に対する第２電流計算値Ｉ２ｃを求めてもよい。この場合、図２のＳ３９における計算式は、Ｉ２ｃ＝Ｃ２・ΔＶ１／Δｔとなる。ここで、Ｃ２は第２蓄電素子１９の容量値である。この場合、Ｓ４１において、第２相関値としての第１実測計算差Ｓｃ１を求めているが、これは第３相関値としての第２実測計算差Ｓｃ２を、第２電流Ｉ２と第２電流計算値Ｉ２ｃとの差の絶対値、すなわちＳｃ２＝｜Ｉ２ｃ−Ｉ２｜から求めればよい。また、第１蓄電素子１７の容量値Ｃ１と第２蓄電素子１９の容量値Ｃ２は、上記したようにほぼ等しい構成としているが、厳密には差が存在するので、それに応じて、Ｓ４７とＳ５３の判断における第１既定値Ｋ１は第２蓄電素子１９の容量値Ｃ２に対応した第２既定値Ｋ２とする必要がある。従って、Ｓ４７とＳ５３の判断では、第２実測計算差Ｓｃ２と第２既定値Ｋ２との比較を行うことになる。
【００６０】
但し、第２実測計算差Ｓｃ２を用いて異常判断を行う場合は、第２電流検出回路２３に対する判断となるので、Ｓ４７の判断（ＹｅｓとＮｏ）を逆転させる必要がある。すなわち、第３相関値（第２実測計算差Ｓｃ２）が第２既定範囲（第２既定値Ｋ２）以内であれば、第２電流検出回路２３は正常であるので、第１電流検出回路２１が異常と判断する。一方、第３相関値（第２実測計算差Ｓｃ２）が第２既定範囲（第２既定値Ｋ２）を超えれば、第２電流検出回路２３が異常と判断する。なお、Ｓ５３の判断（ＹｅｓとＮｏ）は、第３相関値（第２実測計算差Ｓｃ２）と第２既定範囲（第２既定値Ｋ２）を比較した場合でも図２の通りでよい。
【００６１】
以上のように、図２のフローチャートで説明した動作（第１相関値と第２相関値から異常判断を行う）に対して、第１相関値と第３相関値から異常判断を行ってもよいことがわかる。
【００６２】
さらに、上記したように、第２相関値が第１実測計算差Ｓｃ１、もしくは第１実測計算比Ｄｃ１の一方を選択すればよいのと同様に、第３相関値としても、第２実測計算差Ｓｃ２、もしくは第２実測計算比Ｄｃ２（Ｄｃ２＝Ｉ２／Ｉ２ｃ）の一方を選択すればよい。
【００６３】
また、本実施の形態１における図１の構成では、第１蓄電素子１７と第２蓄電素子１９の２つのキャパシタブロックを用いているが、これはさらに複数のキャパシタブロックを用いた構成に対しても適用できる。すなわち、３つ以上の複数のキャパシタブロックがある場合は、任意の２つのキャパシタブロックに対して本実施の形態１で説明した電流検出回路の異常判断を行い、次に他の２つのキャパシタブロックに対して電流検出回路の異常判断を行うという動作を繰り返せばよい。また、奇数個のキャパシタブロックがある場合は、任意の１つのキャパシタブロックの電流検出回路の異常判断を２回行うことで、全てのキャパシタブロックの電流検出回路の異常判断ができる。
【００６４】
また、本実施の形態１では、図２のサブルーチンが実行された直後に１回だけ第１電流Ｉ１と第２電流Ｉ２を読み込んでいるが、これは、Ｓ２９で既定期間Δｔの経過を待つ間、それぞれを繰り返し読み込み、既定期間Δｔが経過した後に例えば各々を平均するようにしてもよい。この場合、図２の動作に比べて演算が複雑になるものの、ノイズ等による第１電流Ｉ１や第２電流Ｉ２への影響を低減することができ、高精度な異常判断が可能となる。
【００６５】
また、本実施の形態１では、上記したように図２のサブルーチンが実行された直後に１回だけ第１電流Ｉ１と第２電流Ｉ２を読み込んでいるが、既定期間Δｔが経過する間に、急に発電機１３の回生電力や負荷１５の消費電力が大きく変化して蓄電装置１０への充放電電流が急変したり、もしくは充電と放電が急に逆転する可能性がある場合、実測値である第１電流Ｉ１に対して第１電流計算値Ｉ１ｃが大きく異なる値になることがある。この場合は、全ての検出回路が正常であるにも関わらず異常と判断してしまう場合がある。そこで、このような状態が想定される用途では、図２のサブルーチンのＳ３１を実行する前に第１電流Ｉ１と第２電流Ｉ２を再度読み込み、これらの電流値の少なくとも一方がＳ１３とＳ１７で読み込んだ第１電流Ｉ１と第２電流Ｉ２の値に対し、あらかじめ決定した範囲を超えるか、もしくは電流値の正負が逆転した場合は異常判断を中止し、図２のサブルーチンを終了するようにすればよい。なお、前記範囲は実際の蓄電装置１０の使用環境下における電流の急変幅から求めればよい。
【００６６】
（実施の形態２）
図３は、本発明の実施の形態２における蓄電装置の電流検出回路における異常判断を行うフローチャートである。
【００６７】
本実施の形態２において、構成は図１と同一であるので、詳細な説明を省略する。本実施の形態２の特徴は動作にあるので、動作について以下説明する。
【００６８】
まず、通常の車両走行時の動作は実施の形態１と同じである。
【００６９】
次に、第１電流検出回路２１、第２電流検出回路２３、および電圧検出回路２５の異常判断動作について図３を用いて説明する。なお、図３に示すフローチャートもサブルーチンとして記載している。また、図３のサブルーチンにおいて、図２のサブルーチンと同じ動作を行う部分には同一のステップ番号を付して詳細な説明を省略する。
【００７０】
まず、図３のＳ１３からＳ４１までの動作は図２と同じである。次に、制御回路２７は、電圧変化幅ΔＶ１、既定期間Δｔおよび第２蓄電素子１９の容量値Ｃ２から第２電流計算値Ｉ２ｃを、Ｉ２ｃ＝Ｃ２・ΔＶ１／Δｔより求める（Ｓ６３）。ここで、容量値Ｃ２は容量値Ｃ１と同様に、あらかじめ実測値を求めて前記メモリに記憶してある。
【００７１】
次に、制御回路２７は、第２電流Ｉ２と第２電流計算値Ｉ２ｃとの第３相関値を求める。具体的には、Ｓ１７で読み込んだ第２電流Ｉ２と、第２電流計算値Ｉ２ｃとの差の絶対値から第２実測計算差Ｓｃ２を、Ｓｃ２＝｜Ｉ２ｃ−Ｉ２｜より求める（Ｓ６５）。この第２実測計算差Ｓｃ２が第３相関値となる。
【００７２】
次に、制御回路２７は、第２相関値である第１実測計算差Ｓｃ１と、第１既定範囲としての第１既定値Ｋ１とを比較する（Ｓ６７）。なお、前記第１既定範囲としての第１既定値Ｋ１の扱いは、図２のＳ４７で説明したものと同じである。また、第１既定値Ｋ１の具体的な値も実施の形態１と同じである。
【００７３】
ここで、実施の形態１で述べたように、Ｓ６７において第１実測計算差Ｓｃ１が大きければ、計算値と実測値がずれていることになる。従って、第１実測計算差Ｓｃ１が第１既定値Ｋ１以下であれば（Ｓ６７のＮｏ）、前記ずれが小さいので、第１実測計算差Ｓｃ１を求めるために必要な第１電流Ｉ１と第１蓄電素子電圧Ｖ１が正しく出力されていることになる。従って、第１電流検出回路２１と電圧検出回路２５は正常と判断できる。この場合は、後述するＳ７５へジャンプする。
【００７４】
一方、第１実測計算差Ｓｃ１が第１既定値Ｋ１より大きければ（Ｓ６７のＹｅｓ）、前記ずれが大きいので、第１電流検出回路２１と電圧検出回路２５のいずれかが異常と判断できる。そこで、制御回路２７は第２実測計算差Ｓｃ２と、第２既定範囲としての第２既定値Ｋ２とを比較する（Ｓ６９）。なお、前記第２既定範囲としての第２既定値Ｋ２の扱いや、その具体的な値も、第１既定値Ｋ１と同様である。もし、第２実測計算差Ｓｃ２が第２既定値Ｋ２以下であれば（Ｓ６９のＮｏ）、第２電流計算値Ｉ２ｃと第２電流Ｉ２とのずれが第２既定値Ｋ２以下であることになる。従って、上記したように、複数の検出回路が同時に異常になることはないとの前提から、第２電流計算値Ｉ２ｃを求めるために必要な第１蓄電素子電圧Ｖ１と第２電流Ｉ２は、いずれも正常値である。ゆえに、Ｓ６９でＮｏの場合は、第２電流検出回路２３と電圧検出回路２５が正常であることになる。ここで、上記したように、Ｓ６７でＹｅｓであれば、第１電流検出回路２１と電圧検出回路２５のいずれかが異常と判断できるが、Ｓ６９でＮｏであれば、第２電流検出回路２３と電圧検出回路２５が正常であるので、ここでは第１電流検出回路２１が異常であると判断できる。この場合、制御回路２７は、第１電流検出回路２１の異常信号をデータ信号ｄａｔａとして前記車両側制御回路に出力する（Ｓ７１）。これを受け、前記車両側制御回路は第１電流検出回路２１が異常であることを運転者に知らせるので、効率的な修理が可能となる。その後、図３のサブルーチンを終了して、割り込み元に戻る。
【００７５】
一方、第２実測計算差Ｓｃ２が第２既定値Ｋ２より大きければ（Ｓ６９のＹｅｓ）、第２電流計算値Ｉ２ｃと第２電流Ｉ２とのずれが第２既定値Ｋ２より大きいことになるため、第２電流検出回路２３、または電圧検出回路２５が異常であることがわかる。ここで、Ｓ６７でＹｅｓの場合は、上記したように第１電流検出回路２１、または電圧検出回路２５が異常である。これらの結果と、複数の検出回路が同時に異常になることはないとの前提から、Ｓ６７とＳ６９の両方で異常と判断された電圧検出回路２５が異常であることになる。この場合、制御回路２７は、電圧検出回路２５の異常信号をデータ信号ｄａｔａとして前記車両側制御回路に出力し（Ｓ７３）、図３のサブルーチンを終了して、割り込み元に戻る。
【００７６】
ここで、Ｓ６７に戻り、第１実測計算差Ｓｃ１が第１既定値Ｋ１以下であれば（Ｓ６７のＮｏ）、制御回路２７は第２実測計算差Ｓｃ２と第２既定値Ｋ２を比較する（Ｓ７５）。もし、第２実測計算差Ｓｃ２が第２既定値Ｋ２以下であれば（Ｓ７５のＮｏ）、第２電流計算値Ｉ２ｃと第２電流Ｉ２とのずれが第２既定値Ｋ２以下であることになる。従って、Ｓ６９のＮｏの場合と同様に、第２電流検出回路２３と電圧検出回路２５が正常であることになる。ここで、上記したように、Ｓ６７でＮｏであれば、第１電流検出回路２１と電圧検出回路２５が正常であると判断されているので、第１電流検出回路２１、第２電流検出回路２３および電圧検出回路２５が全て正常であると判断できる。この場合は、そのまま図３のサブルーチンを終了して、割り込み元に戻る。
【００７７】
一方、第２実測計算差Ｓｃ２が第２既定値Ｋ２より大きければ（Ｓ７５のＹｅｓ）、第２電流計算値Ｉ２ｃと第２電流Ｉ２とのずれが第２既定値Ｋ２より大きいので、Ｓ６９のＹｅｓの場合と同様に第２電流検出回路２３または電圧検出回路２５のいずれかが異常であることになる。しかし、ここではＳ６７でＮｏであったので、第１電流検出回路２１と電圧検出回路２５の両方が正常である。従って、Ｓ７５でＹｅｓの場合は第２電流検出回路２３が異常であると判断できる。この場合、制御回路２７は、第２電流検出回路２３の異常信号をデータ信号ｄａｔａとして前記車両側制御回路に出力し（Ｓ７７）、図３のサブルーチンを終了して、割り込み元に戻る。
【００７８】
以上の前記判定手段による動作をまとめると、次のようになる。制御回路２７は、第２相関値が第１既定範囲を超える（ここでは第１既定値Ｋ１より大きい）場合、第３相関値が第２既定範囲以内（ここでは第２既定値Ｋ２以下）であれば、第１電流検出回路２１が異常と判断する。一方、第３相関値が第２既定範囲を超える（ここでは第２既定値Ｋ２より大きい）のであれば、電圧検出回路２５が異常と判断する。また、第２相関値が第１既定範囲以内（ここでは第１既定値Ｋ１以下）の場合は、第３相関値が第２既定範囲を超える（ここでは第２既定値Ｋ２より大きい）のであれば、第２電流検出回路２３が異常と判断する。一方、第３相関値が第２既定範囲以内（ここでは第２既定値Ｋ２以下）であれば、第１電流検出回路２１、第２電流検出回路２３および電圧検出回路２５が正常と判断する。
【００７９】
以上の構成、動作により、複数の電流検出回路の異常を区別して判断することにより、効率よく修理することが可能な蓄電装置１０が実現できる。
【００８０】
なお、本実施の形態２では、第２相関値と第３相関値により第１電流検出回路２１と第２電流検出回路２３の異常を区別して判断しているが、実施の形態１では第１相関値と第２相関値、または第１相関値と第３相関値の組み合わせにより異常判断を行っている。これらのことから、第１電流Ｉ１と第２電流Ｉ２との第１相関値、第１電流Ｉ１と第１電流計算値Ｉ１ｃとの第２相関値、もしくは第２電流Ｉ２と第２電流計算値Ｉ２ｃとの第３相関値のいずれか２つの組み合わせにより、第１電流検出回路２１と第２電流検出回路２３の異常を区別して判断することができる。なお、第１相関値と第２相関値の組み合わせの場合は第１電流計算値Ｉ１ｃを、第１相関値と第３相関値の組み合わせの場合は第２電流計算値Ｉ２ｃを、それぞれ計算すればよいが、第２相関値と第３相関値の組み合わせの場合は第１電流計算値Ｉ１ｃと第２電流計算値Ｉ２ｃの両方を計算する必要がある。
【００８１】
また、本実施の形態２では、第３相関値を第２電流Ｉ２と第２電流計算値Ｉ２ｃとの差の絶対値から求めた第２実測計算差Ｓｃ２として求めているが、これは第２相関値の場合と同様に、第２電流Ｉ２と第２電流計算値Ｉ２ｃとの第２実測計算比Ｄｃ２であってもよい。この場合も、第２実測計算比Ｄｃ２に応じて前記第２既定範囲を、例えば実施の形態１で述べた範囲（０．９５〜１．０５の範囲）に変更すればよい。
【００８２】
また、本実施の形態２においては、第２相関値として第１実測計算差Ｓｃ１を、第３相関値として第２実測計算差Ｓｃ２を、それぞれ用いて異常判断を行っているが、実施の形態１および本実施の形態２で述べたように、第１相関値および第２相関値として、それぞれ第１実測計算比Ｄｃ１、第２実測計算比Ｄｃ２を用いてもよい。従って、本実施の形態２においても、第２相関値と第３相関値には４通りの組み合わせが存在することになるが、これらの内、どの組み合わせを選択しても、複数の電流検出回路の異常を区別して判断することが可能である。
【００８３】
以上に説明した実施の形態１、２より、複数の電流検出回路の異常を区別して判断するためには、第１相関値、第２相関値および第３相関値のいずれか２つの組み合わせにより３通りの方法があり、これらの相関値に対しても、それぞれ差と比の２通りの方法がある。ゆえに、異常判断方法の組み合わせとしては合計１２通り（前記相関値の差と比の組み合わせが４通りであり、第１〜第３相関値の組み合わせが３通りであるので、４×３＝１２通り）が存在することになる。これらの内、どの組み合わせであっても複数の電流検出回路の異常を区別して判断することができる。
【００８４】
（実施の形態３）
図４は、本発明の実施の形態３における蓄電装置のブロック回路図である。図５は、本発明の実施の形態３における蓄電装置の電流検出回路における異常判断を行うフローチャートである。なお、図４において、太線は電力系配線を、細線は信号系配線を、それぞれ示す。
【００８５】
図４に示す本実施の形態３の構成において、図１と同一の構成には同一の符号を付して詳細な説明を省略する。すなわち、本実施の形態３における構成の特徴は、図４において、第１蓄電素子１７と第２蓄電素子１９とに共通の温度検出器２９を設けたことである。具体的には、第１蓄電素子１７と第２蓄電素子１９の間に温度検出器２９を設ける構成とした。これにより、両者の平均温度を検出することができる。なお、温度検出器２９として、本実施の形態３では温度に対する感度（抵抗値変化）が大きいサーミスタを用いた。また、温度検出器２９は、制御回路２７と信号系配線で電気的に接続されており、検出された温度Ｔは制御回路２７に読み込まれる。
【００８６】
上記以外の構成は図１と同じである。
【００８７】
次に、本実施の形態３における動作について説明する。
【００８８】
まず、通常の車両走行時の動作は実施の形態１と同じであるので、詳細な説明を省略する。すなわち、本実施の形態３における特徴となる前記判定手段の動作は、第１電流検出回路２１、第２電流検出回路２３、および電圧検出回路２５の異常判断であるので、この動作について図５を用いて説明する。なお、図５の動作において、実施の形態１における図２と同じ動作については、同一のステップ番号を付して詳細な説明を省略する。また、図５に示すフローチャートも、図２と同様に、制御回路２７において、既定時間間隔毎にメインルーチンから割り込み実行されるので、図５はサブルーチンとして記載している。
【００８９】
図５のサブルーチンが実行されると、制御回路２７は、まず温度検出器２９より第１蓄電素子１７と第２蓄電素子１９の温度Ｔを読み込む（Ｓ１１１）。次に、第１電流検出回路２１より第１電流Ｉ１を読み込む（Ｓ１３）が、この動作は図２と同じである。
【００９０】
次に、制御回路２７は第１電流Ｉ１を温度Ｔで補正する（Ｓ１１５）。ここで、第１電流検出回路２１は前記シャント抵抗により第１電流Ｉ１を検出しているので、温度Ｔが変化すれば、それに応じて前記シャント抵抗の抵抗値も変化する。従って、第１電流検出回路２１の出力である第１電流Ｉ１は温度Ｔに応じて変化する。この変化は、前記シャント抵抗の抵抗温度特性と、第１電流検出回路２１における前記シャント抵抗以外の回路の温度特性を、あらかじめ実験的に求めることにより得られた、温度Ｔに対する第１電流Ｉ１の相関関係として、制御回路２７に内蔵した前記メモリに記憶してある。ゆえに、制御回路２７はＳ１１１で読み込んだ温度Ｔに応じて、前記相関関係から第１電流Ｉ１の温度補正を行うことができる。
【００９１】
次に、制御回路２７は第２電流検出回路２３より第２電流Ｉ２を読み込む（Ｓ１７）が、この動作も図２と同じである。次に、制御回路２７は第２電流Ｉ２を温度Ｔで補正する（Ｓ１１９）が、この補正方法は第１電流Ｉ１におけるＳ１１５で説明した方法と同様であり、温度Ｔと第２電流Ｉ２の相関関係に基いて補正する。
【００９２】
次に、Ｓ２１とＳ２３の動作は図２と同じであるので、説明を省略する。その後、制御回路２７は、Ｓ２３で読み込んだ第１蓄電素子電圧Ｖ１に対し、温度Ｔによる補正を行う（Ｓ１２５）。ここで、温度補正方法はＳ１１５で説明した第１電流Ｉ１の補正方法と同様に、あらかじめ実験的に求めて前記メモリに記憶した温度Ｔと電圧検出回路２５の出力（第１蓄電素子電圧Ｖ１）との相関関係に基いて補正する。
【００９３】
次に、Ｓ２７からＳ３１までの動作は図２と同じである。その後、制御回路２７は、Ｓ３１で読み込んだ第１蓄電素子電圧Ｖ１に対し、温度Ｔによる補正を行う（Ｓ１３３）が、この動作はＳ１２５と同じである。
【００９４】
次にＳ３５の動作は図２と同じであるので、説明を省略する。その後、制御回路２７は、第１蓄電素子１７の容量値Ｃ１を温度Ｔで補正する（Ｓ１３７）。ここで、前記メモリには、あらかじめ実験的に求めた温度Ｔに対する容量値Ｃ１の相関関係が記憶してあるので、前記相関関係を用いて、現在の温度Ｔにおける容量値Ｃ１を求めている。
【００９５】
その後の動作（Ｓ３９からＳ５５）は図２と同じであるので、説明を省略する。
【００９６】
以上の構成、動作により、温度検出器２９で検出された温度Ｔに応じて、第１電流Ｉ１、第２電流Ｉ２、第１蓄電素子電圧Ｖ１、および容量値Ｃ１が、温度Ｔに対する、それぞれの相関関係から補正されるので、第１電流検出回路２１、第２電流検出回路２３、および電圧検出回路２５の異常を区別して高精度に判断することが可能な蓄電装置１０を実現できる。
【００９７】
なお、本実施の形態３では、第１蓄電素子１７と第２蓄電素子１９とに共通して温度検出器２９を１つだけ設ける構成としたが、この温度検出器２９は、第１蓄電素子１７と第２蓄電素子１９の少なくとも一方に設ける構成としてもよい。すなわち、第１蓄電素子１７と第２蓄電素子１９が隣接して配置されている構成であれば、第１蓄電素子１７と第２蓄電素子１９の温度はいずれもほぼ同じであるとみなすことができるので、例えば第１蓄電素子１７にのみ温度検出器２９を設ければよい。また、第１蓄電素子１７と第２蓄電素子１９の両方に温度検出器２９を設けた場合は、第１蓄電素子１７に関連する温度補正（第１電流Ｉ１、第１蓄電素子電圧Ｖ１、および容量値Ｃ１）と、第２蓄電素子１９に関連する温度補正（第２電流Ｉ２）を、それぞれの温度に応じて補正できるので、さらに高精度な異常判断を行うことができる。
【００９８】
また、本実施の形態３においても、第１相関値として実測比Ｄを、第２相関値として第１実測計算差Ｓｃ１を、それぞれ用いて異常判断を行っているが、実施の形態１で述べたように、第１相関値および第２相関値として４通りの組み合わせの内、どの組み合わせを選択しても、複数の電流検出回路の異常を区別して判断することが可能である。
【００９９】
また、本実施の形態３において、実施の形態１で述べたように、第２相関値に替わって第３相関値（例えば第２実測計算差Ｓｃ２）を用いてもよいし、実施の形態２で述べたように、第２相関値と第３相関値により異常判断を行ってもよい。
【０１００】
また、本実施の形態３においても、実施の形態１で述べたように、ノイズの影響を低減するために既定期間Δｔの間、第１電流Ｉ１と第２電流Ｉ２を読み込む動作を繰り返すようにしてもよい。但し、本実施の形態３では温度検出器２９により検出された温度Ｔで第１電流Ｉ１と第２電流Ｉ２を補正している。従って、既定期間Δｔの間に読み込んだ第１電流Ｉ１と第２電流Ｉ２を都度、温度補正しても構わないが、前記温度補正に時間がかかり、第１電流Ｉ１と第２電流Ｉ２を十分な回数まで読み込めない可能性がある。この場合は、既定期間Δｔの経過後に第１電流Ｉ１と第２電流Ｉ２を各々平均した値に対して前記温度補正をすればよい。
【０１０１】
（実施の形態４）
図６は、本発明の実施の形態４における蓄電装置の電流検出回路における異常判断を行うフローチャートである。
【０１０２】
本実施の形態４において、構成は図１と同一であるので、詳細な説明を省略する。本実施の形態４の特徴は動作にあるので、動作について以下説明する。
【０１０３】
まず、通常の車両走行時の動作は実施の形態１と同じである。
【０１０４】
次に、第１電流検出回路２１、第２電流検出回路２３、および電圧検出回路２５の異常判断動作について図６を用いて説明する。なお、図６に示すフローチャートもサブルーチンとして記載している。
【０１０５】
図６のサブルーチンが実行されると、制御回路２７は、まず電圧検出回路２５より第１蓄電素子電圧Ｖ１を読み込む（Ｓ２１３）。この第１蓄電素子電圧Ｖ１は、一時記憶用変数Ｖ１ｏに代入される。同時に、制御回路２７に内蔵した前記メモリ上に変数として定義された第１電荷量Ｑ１に０を代入してクリアする。同様に、前記メモリ上の変数である第２電荷量Ｑ２にも０を代入してクリアする（以上、Ｓ２１７）。
【０１０６】
この後、図６には示していないが、後述する既定期間Δｔを計測するために、実施の形態１で述べたカウンタがスタートする。
【０１０７】
次に、制御回路２７は第１電流検出回路２１より第１電流Ｉ１を読み込む（Ｓ２１９）。次に、第２電流検出回路２３より第２電流Ｉ２を読み込む（Ｓ２２３）。
【０１０８】
こうして読み込んだ第１電流Ｉ１と第２電流Ｉ２は、それぞれ実行期間ｄｔを乗じて、第１電荷量Ｑ１と第２電荷量Ｑ２に加算される。すなわち、第１電荷量Ｑ１の値に第１電流Ｉ１と実行期間ｄｔとの積を加算し、その結果を第１電荷量Ｑ１に代入する。第２電荷量Ｑ２も同様に第２電流Ｉ２と実行期間ｄｔとの積が加算され、その結果が第２電荷量Ｑ２に代入される（以上、Ｓ２２７）。なお、実行期間ｄｔは、第１電流Ｉ１や第２電流Ｉ２を、後述する既定期間Δｔの間、繰り返し読み込む際の時間間隔のことであり、Ｓ２１９からＳ２２９までの動作を行う期間に相当する。この実行期間ｄｔは、あらかじめ前記マイクロコンピュータの演算速度等から求めて、前記メモリに記憶してある。
【０１０９】
次に、制御回路２７は前記カウンタにより既定期間Δｔが経過したか否かを判断する（Ｓ２２９）。ここで、既定期間Δｔは後述する電圧変化幅ΔＶ１を求めるための期間であり、第１蓄電素子１７や第２蓄電素子１９に電荷がある程度蓄えられるか、または放出される期間として１秒とした。
【０１１０】
もし、既定期間Δｔが経過していなければ（Ｓ２２９のＮｏ）、Ｓ２１９に戻って既定期間Δｔが経過するまでの間、読み込んだ第１電流Ｉ１と第２電流Ｉ２の値に、各々実行期間ｄｔを乗じた値を、第１電荷量Ｑ１と第２電荷量Ｑ２の値に、それぞれ加算する動作を繰り返す。このように動作することで、既定期間Δｔにおいて、第１蓄電素子１７および第２蓄電素子１９の充放電による第１電流Ｉ１と第２電流Ｉ２の時間積分値が近似的に得られる。これらの値が第１電荷量Ｑ１および第２電荷量Ｑ２に相当する。
【０１１１】
既定期間Δｔが経過すれば（Ｓ２２９のＹｅｓ）、制御回路２７は、電圧検出回路２５より再び第１蓄電素子電圧Ｖ１を読み込む（Ｓ２３１）。
【０１１２】
その後、求められた第１電荷量Ｑ１が０以外であり、かつ第２電荷量Ｑ２が０以外であるかを判断する（Ｓ２３５）。このような判断を行う理由は、いずれかの電荷量が０であれば、後述する実測比Ｄの計算が正しく行えないためである。
【０１１３】
Ｓ２３５の判断では、第１電流検出回路２１や第２電流検出回路２３が断線し、出力が常時０になる等、明らかに正常時の出力とは異なる挙動となる場合も含まれるが、これは実施の形態１と同様にメインルーチンで検出できる。しかし、本実施の形態４では、第１電流検出回路２１や第２電流検出回路２３が正常であっても、既定期間Δｔの間に充電から放電、あるいは放電から充電が行われ、電流の時間積分値（＝電荷量）が０になる場合がある。この場合も、Ｓ２３５で判断できる。
【０１１４】
なお、第１電荷量Ｑ１や第２電荷量Ｑ２が０であるとの判断は、第１電流検出回路２１や第２電流検出回路２３の検出精度や、時間積分の演算誤差の範囲内で０と出力された場合であると定義する。
【０１１５】
Ｓ２３５において、もし、第１電荷量Ｑ１か第２電荷量Ｑ２のいずれかが０であれば（Ｓ２３５のＮｏ）、前記異常判断動作ができないので、図６のサブルーチンを終了して、割り込み元に戻る。
【０１１６】
一方、第１電荷量Ｑ１と第２電荷量Ｑ２が、いずれも０でなければ（Ｓ２３５のＹｅｓ）、制御回路２７は既定期間Δｔにおける第１蓄電素子電圧Ｖ１の電圧変化幅ΔＶ１を、ΔＶ１＝｜Ｖ１ｏ−Ｖ１｜より求める（Ｓ２３７）。この電圧変化幅ΔＶ１および第１蓄電素子１７の容量値Ｃ１から、制御回路２７は第１電荷量計算値Ｑ１ｃを、Ｑ１ｃ＝Ｃ１・ΔＶ１より求める（Ｓ２４１）。ここで、容量値Ｃ１は、あらかじめ実測値を求めて前記メモリに記憶してある。
【０１１７】
次に、制御回路２７は、第１電荷量Ｑ１と第１電荷量計算値Ｑ１ｃとの第２相関値を求める。具体的には、Ｓ２２７で求めた第１電荷量Ｑ１と、第１電荷量計算値Ｑ１ｃとの差の絶対値から第１実測計算差Ｓｃ１を、Ｓｃ＝｜Ｑ１ｃ−Ｑ１｜より求める（Ｓ２４３）。この第１実測計算差Ｓｃ１が第２相関値となる。さらに、第１電荷量Ｑ１と第２電荷量Ｑ２との第１相関値を求める。具体的には、第１電荷量Ｑ１と第２電荷量Ｑ２との実測比Ｄを、Ｄ＝Ｑ１／Ｑ２より求める（Ｓ２４５）。この実測比Ｄが第１相関値となる。
【０１１８】
この第１相関値（実測比Ｄ）と第２相関値（第１実測計算差Ｓｃ１）は、実施の形態１において、第１電流Ｉ１、第２電流Ｉ２および第１電流計算値Ｉ１ｃから求めているのに替わって、本実施の形態４では、第１電荷量Ｑ１、第２電荷量Ｑ２および第１電荷量計算値Ｑ１ｃから求めていることになる。
【０１１９】
ここで、実施の形態１で述べたように、第１蓄電素子１７の容量値Ｃ１と第２蓄電素子１９の容量値Ｃ２は計測誤差範囲内で等しくなるように構成しているので、実測比Ｄは１近傍となる。また、第１相関値と第２相関値を求める順番は、どちらが先でも構わない。
【０１２０】
次に、制御回路２７は第１相関値である実測比Ｄが既定最小値Ｍｉｎから既定最大値Ｍａｘまでの範囲に入っているか否かを判断する（Ｓ２４７）。ここで、既定最小値Ｍｉｎと既定最大値Ｍａｘは、実施の形態１と同じ値とした。
【０１２１】
もし、実測比Ｄが既定最小値Ｍｉｎ以上、かつ既定最大値Ｍａｘ以下であれば（Ｓ２４７のＹｅｓ）、制御回路２７は第１電流検出回路２１と第２電流検出回路２３が両方とも正常であると判断する。この場合は、後述するＳ２５５にジャンプする。
【０１２２】
一方、実測比Ｄが既定最小値Ｍｉｎ未満か既定最大値Ｍａｘを超えている場合は（Ｓ２４７のＮｏ）、第１電流検出回路２１、または第２電流検出回路２３のいずれかが異常であるので、制御回路２７は、第２相関値である第１実測計算差Ｓｃ１と、第１既定範囲としての第１既定値Ｋ１とを比較する（Ｓ２４９）。なお、前記第１既定範囲としての第１既定値Ｋ１の扱いは実施の形態１と同じである。もし、第１実測計算差Ｓｃ１が第１既定値Ｋ１より大きければ（Ｓ２４９のＹｅｓ）、実施の形態１で説明した理由により、第１電流検出回路２１が異常と判断できる。この場合、制御回路２７は、第１電流検出回路２１の異常信号をデータ信号ｄａｔａとして前記車両側制御回路に出力する（Ｓ２５１）。これにより、第１電流検出回路２１が異常であることがわかっているので、効率的な修理が可能となる。なお、本実施の形態４における第１既定値Ｋ１は、第１電荷量Ｑ１と第１電荷量計算値Ｑ１ｃとの差（ずれ）の上限値のことで、例えば計測や計算の精度を考慮して第１電荷量Ｑ１の最大値の５％と定義し、前記メモリに記憶してある。
【０１２３】
Ｓ２５１の後は、図６のサブルーチンを終了して、割り込み元に戻る。
【０１２４】
一方、第１実測計算差Ｓｃ１が第１既定値Ｋ１以下であれば（Ｓ２４９のＮｏ）、実施の形態１で説明した理由により、第２電流検出回路２３が異常であると判断できる。この場合、制御回路２７は、第２電流検出回路２３の異常信号をデータ信号ｄａｔａとして前記車両側制御回路に出力し（Ｓ２５３）、図６のサブルーチンを終了して、割り込み元に戻る。このような動作から、第２電流検出回路２３の異常を判断できるので、第１電流検出回路２１の異常時と同様に効率的な修理が可能となる。
【０１２５】
ここで、Ｓ２４７に戻り、実測比Ｄが既定最小値Ｍｉｎ以上、かつ既定最大値Ｍａｘ以下であれば（Ｓ２４７のＹｅｓ）、第１電流検出回路２１と第２電流検出回路２３が正常と判断されたので、次に、制御回路２７は、第１実測計算差Ｓｃ１と第１既定値Ｋ１を比較する（Ｓ２５５）。もし、第１実測計算差Ｓｃ１が第１既定値Ｋ１以下であれば（Ｓ２５５のＮｏ）、第１電荷量計算値Ｑ１ｃと、正常値である第１電荷量Ｑ１とのずれが第１既定値Ｋ１以下であることになる。従って、第１電荷量計算値Ｑ１ｃも正常に計算されていることになる。ここで、Ｓ２４１で説明したように、容量値Ｃ１は定数であるので、第１電荷量計算値Ｑ１ｃは第１蓄電素子電圧Ｖ１の関数となる。この第１電荷量計算値Ｑ１ｃが正常に計算されているので、第１蓄電素子電圧Ｖ１が正常に検出されていることになる。従って、Ｓ２５５でＮｏの場合は、制御回路２７は電圧検出回路２５が正常であると判断する。この場合は、第１電流検出回路２１、第２電流検出回路２３、および電圧検出回路２５の全てが正常と判断されたので、そのまま図６のサブルーチンを終了して、割り込み元に戻る。
【０１２６】
一方、第１実測計算差Ｓｃ１が第１既定値Ｋ１より大きければ（Ｓ２５５のＹｅｓ）、第１電荷量計算値Ｑ１ｃが異常であるので、制御回路２７は、第１電荷量計算値Ｑ１ｃを求めるために必要な第１蓄電素子電圧Ｖ１を検出した電圧検出回路２５が異常であると判断する。この場合、制御回路２７は、電圧検出回路２５の異常信号をデータ信号ｄａｔａとして前記車両側制御回路に出力し（Ｓ２５７）、図６のサブルーチンを終了して、割り込み元に戻る。
【０１２７】
このように動作することにより、第１電流検出回路２１と第２電流検出回路２３の異常を区別して判断できるだけでなく、電圧検出回路２５の異常も判断することが可能となる。その結果、さらに効率的な修理が可能となる。
【０１２８】
また、本実施の形態４では、実施の形態１の各電流値（瞬時値、または平均値）に基く異常判断に替わって、各電荷量（＝積算値）に基く異常判断を行っている。この場合、積算期間（＝既定期間Δｔ）は実施の形態１に比べ２桁大きいので、ノイズの影響が極めて低減される。しかし、既定期間Δｔが長くなるので、異常判断に時間がかかる。従って、蓄電装置１０のノイズ環境や、異常判断の許容期間に応じて、適宜電流値、または電荷量のいずれかを選択すればよい。
【０１２９】
また、本実施の形態４においても、３つ以上の複数のキャパシタブロックがある場合、実施の形態１で述べたように、任意の２つのキャパシタブロックに対する異常判断を繰り返せばよい。
【０１３０】
以上の構成、動作により、ノイズが多い環境下でも、複数の電流検出回路の異常を高精度に区別して判断することにより、効率よく確度の高い修理をすることが可能な蓄電装置１０が実現できる。
【０１３１】
なお、本実施の形態４においても、第１相関値として実測比Ｄを、第２相関値として第１実測計算差Ｓｃ１を、それぞれ用いて異常判断を行っているが、実施の形態１で述べたように、第１相関値および第２相関値として４通りの組み合わせの内、どの組み合わせを選択しても、複数の電流検出回路の異常を区別して判断することが可能である。この場合、除算が不要な組み合わせであれば、Ｓ２３５の動作は不要である。
【０１３２】
また、本実施の形態４において、実施の形態１で述べたように、第２相関値に替わって第３相関値（例えば電荷量に対する第２実測計算差Ｓｃ２）を用いてもよいし、実施の形態２で述べたように、第２相関値と第３相関値により異常判断を行ってもよい。
【０１３３】
これらをまとめると、第１電荷量Ｑ１と第２電荷量Ｑ２との第１相関値、第１電荷量Ｑ１と第１電荷量計算値Ｑ１ｃとの第２相関値、もしくは第２電荷量Ｑ２と第２電荷量計算値Ｑ２ｃとの第３相関値のいずれか２つの組み合わせから、第１電流検出回路と第２電流検出回路の異常を区別して判断すればよいことになる。
【０１３４】
また、前記判断の詳細な動作（実施の形態１で述べた動作も含む）をまとめると、次のようになる。制御回路２７は、第１相関値が既定最小値Ｍｉｎ未満か既定最大値Ｍａｘを超えている場合、第２相関値が第１既定範囲を超えるか、または第３相関値が第２既定範囲以内であれば、第１電流検出回路１７が異常と判断する。一方、第２相関値が第１既定範囲以内であるか、または第３相関値が第２既定範囲を超えれば、第２電流検出回路１９が異常と判断する。さらに、第１相関値が既定最小値Ｍｉｎ以上、かつ既定最大値Ｍａｘ以下であれば、第１電流検出回路１７と第２電流検出回路１９が正常と判断する。なお、第１電流検出回路１７と第２電流検出回路１９が正常と判断された場合は、第２相関値が第１既定範囲を超えるか、または第３相関値が第２既定範囲を超えれば、電圧検出回路２５が異常と判断する。一方、第２相関値が第１既定範囲以内であるか、または第３相関値が第２既定範囲以内であれば、電圧検出回路２５が正常と判断する。
【０１３５】
さらに、本実施の形態４において、実施の形態２と同様に第２相関値と第３相関値を用いて異常判断する場合は、次のような動作になる。制御回路２７は、第２相関値が第１既定範囲を超える場合、第３相関値が第２既定範囲以内であれば、前記第１電流検出回路１７が異常と判断する。一方、第３相関値が第２既定範囲を超えれば、電圧検出回路２５が異常と判断する。さらに、第２相関値が第１既定範囲以内の場合、第３相関値が第２既定範囲を超えれば、第２電流検出回路１９が異常と判断する。一方、第３相関値が第２既定範囲以内であれば、第１電流検出回路１７、第２電流検出回路１９および電圧検出回路２５が正常と判断する。
【０１３６】
これらの動作から明らかなように、本実施の形態４に記載した電荷量に基いて異常判断を行う動作は、実施の形態１、２に記載した電流値に基いて異常判断を行う動作と実質的に同等である。
【０１３７】
（実施の形態５）
図７は、本発明の実施の形態５における蓄電装置の電流検出回路における異常判断を行うフローチャートである。
【０１３８】
本実施の形態５において、構成は図４と同一であるので、詳細な説明を省略する。本実施の形態５の特徴は動作にあるので、動作について以下説明する。
【０１３９】
まず、通常の車両走行時の動作は実施の形態１と同じである。
【０１４０】
次に、第１電流検出回路２１、第２電流検出回路２３、および電圧検出回路２５の特徴となる異常判断動作について図７を用いて説明する。なお、図７の動作において、実施の形態４における図６と同じ動作については、同一のステップ番号を付して詳細な説明を省略する。また、図７に示すフローチャートも、図６と同様に、制御回路２７において、既定時間間隔毎にメインルーチンから割り込み実行されるので、図７はサブルーチンとして記載している。
【０１４１】
図７のサブルーチンが実行されると、制御回路２７は、まず温度検出器２９より第１蓄電素子１７と第２蓄電素子１９の温度Ｔを読み込む（Ｓ３１１）。次に、電圧検出回路２５より第１蓄電素子電圧Ｖ１を読み込む（Ｓ２１３）が、この動作は図６と同じである。
【０１４２】
次に、制御回路２７は第１蓄電素子電圧Ｖ１を温度Ｔで補正する（Ｓ３１５）。この温度補正は、実施の形態３で述べたように、温度Ｔとの相関関係に基いて行われる。
【０１４３】
次に、Ｓ２１７とＳ２１９の動作は図６と同じであるので、説明を省略する。その後、制御回路２７は、Ｓ２１９で読み込んだ第１電流Ｉ１に対し、温度Ｔによる補正を行う（Ｓ３２１）。この補正方法も実施の形態３と同じである。
【０１４４】
次に、制御回路２７は第２電流検出回路２３より第２電流Ｉ２を読み込む（Ｓ２２３）が、この動作も図６と同じである。次に、制御回路２７は第２電流Ｉ２を温度Ｔで補正する（Ｓ３２５）。この補正方法も実施の形態３と同じである。なお、ここでは第１電流Ｉ１や第２電流Ｉ２を読み込む毎に温度補正を行っているが、これは既定期間Δｔが実施の形態１に比べ２桁大きいので、都度、前記温度補正をしても十分な回数の読み込みができる。
【０１４５】
次に、Ｓ２２７からＳ２３１までの動作は図６と同じであるので、説明を省略する。その後、制御回路２７は、Ｓ２３１で読み込んだ第１蓄電素子電圧Ｖ１に対し、温度Ｔによる補正を行う（Ｓ３３３）。この補正方法もＳ３１５と同じである。
【０１４６】
次に、Ｓ２３５とＳ２３７の動作は図６と同じであるので、説明を省略する。その後、制御回路２７は、第１蓄電素子１７の容量値Ｃ１を温度Ｔで補正する（Ｓ３３９）。この補正方法も実施の形態３と同じである。
【０１４７】
その後の動作（Ｓ２４１からＳ２５７）は図６と同じであるので、説明を省略する。
【０１４８】
以上の構成、動作により、温度検出器２９で検出された温度Ｔに応じて、第１電流Ｉ１、第２電流Ｉ２、第１蓄電素子電圧Ｖ１、および容量値Ｃ１が、温度Ｔに対する、それぞれの相関関係から補正される上、各電荷量により異常判断を行うので、ノイズが多い環境下でも、第１電流検出回路２１、第２電流検出回路２３、および電圧検出回路２５の異常を区別して高精度に判断することが可能な蓄電装置１０を実現できる。
【０１４９】
なお、本実施の形態５においても、実施の形態３と同様に、温度検出器２９を第１蓄電素子１７と第２蓄電素子１９の少なくとも一方に設ける構成としてもよいし、第１蓄電素子１７と第２蓄電素子１９の両方に温度検出器２９を設けてもよい。
【０１５０】
また、本実施の形態５においても、第１相関値として実測比Ｄを、第２相関値として第１実測計算差Ｓｃ１を、それぞれ用いて異常判断を行っているが、実施の形態１で述べたように、第１相関値および第２相関値として４通りの組み合わせの内、どの組み合わせを選択しても、複数の電流検出回路の異常を区別して判断することが可能である。
【０１５１】
また、本実施の形態５においても、実施の形態４で述べたように、第２相関値に替わって第３相関値を用いてもよいし、第２相関値と第３相関値により異常判断を行ってもよい。
【０１５２】
また、実施の形態１、３において、図２や図５のサブルーチンのＳ５３以降で電圧検出回路２５の異常判断を行っているが、これは、例えば前記メインルーチンや他のサブルーチンで別途異常判断を行う構成の場合は省略してもよい。この場合、図２と図５のいずれのサブルーチンも、Ｓ４５でＹｅｓの場合は、そのままサブルーチンを終了し、割り込み元に戻ればよい。なお、実施の形態２に対して前記メインルーチンや他のサブルーチンで別途異常判断を行う構成の場合は、図３のサブルーチンのＳ７３を省き、Ｓ６９でＹｅｓの場合は、そのままサブルーチンを終了し、割り込み元に戻ればよい。
【０１５３】
同様に、実施の形態４、５においても、図６や図７のサブルーチンにおける電圧検出回路２５の異常判断（Ｓ２５５以降）を前記メインルーチン等で行ってもよい。この場合、図６と図７のいずれのサブルーチンも、Ｓ２４７でＹｅｓの場合は、そのままサブルーチンを終了し、割り込み元に戻ればよい。
【０１５４】
また、実施の形態１〜５において、実測比Ｄ、第１実測計算比Ｄｃ１および第２実測計算比Ｄｃ２の計算式は、分子と分母が逆であってもよい。この場合、既定最小値Ｍｉｎ、既定最大値Ｍａｘ、第１既定範囲および第２既定範囲は、分子と分母を逆にした場合に応じて、適宜変更すればよい。
【０１５５】
また、実施の形態１〜５では、第１蓄電素子１７と第２蓄電素子１９に電気二重層キャパシタを用いたが、これは、電気化学キャパシタ等の大容量キャパシタであってもよい。
【０１５６】
さらに、ニッケル水素電池やリチウムイオン電池のように、実使用電圧範囲において充放電電圧が経時的に変化する特性を有する二次電池を第１蓄電素子１７と第２蓄電素子１９に用いてもよい。但し、特にニッケル水素電池のように充放電電圧の経時特性が非線形の場合は、容量値Ｃ１が一定ではなくなるので、例えば第１蓄電素子電圧Ｖ１に応じた容量値Ｃ１の相関関係をあらかじめ求め、現在の第１蓄電素子電圧Ｖ１から容量値Ｃ１を補正するようにすればよい。
【０１５７】
また、実施の形態１〜５において、蓄電装置１０を車両に適用した場合について説明したが、これに限らず、建設機械やエレベータ等のように回生電力を充放電する機器や、非常用電源の蓄電部分として適用してもよい。
【産業上の利用可能性】
【０１５８】
本発明にかかる蓄電装置は、複数の電流検出回路の異常を区別して判断することにより、効率よく修理することができるので、蓄電した電力を必要な時に負荷へ供給するために複数のキャパシタブロックを有する蓄電装置等として有用である。
【符号の説明】
【０１５９】
１０  蓄電装置
１７  第１蓄電素子
１９  第２蓄電素子
２１  第１電流検出回路
２３  第２電流検出回路
２５  電圧検出回路
２７  制御回路
２９  温度検出器
【図１】
2010252594.tif 000003
【図２】
2010252594.tif 000004
【図３】
2010252594.tif 000005
【図４】
2010252594.tif 000006
【図５】
2010252594.tif 000007
【図６】
2010252594.tif 000008
【図７】
2010252594.tif 000009
【図８】
2010252594.tif 000010