以下、本発明を実施するための形態について図面を参照しながら説明する。なお、ここでは蓄電装置を車両に適用した場合について説明する。
(実施の形態1)
図1は、本発明の実施の形態1における蓄電装置のブロック回路図である。図2は、本発明の実施の形態1における蓄電装置の電流検出回路における異常判断を行うフローチャートである。なお、図1において、太線は電力系配線を、細線は信号系配線を、それぞれ示す。
図1において、蓄電装置10は充放電回路11を介して、車両のエンジン(図示せず)と機械的に接続された発電機13と、電装品である負荷15に電力系配線で接続されている。充放電回路11は、蓄電装置10の充放電を制御する。また、負荷15には前記車両を駆動するモータが含まれる。なお、本実施の形態1では、発電機13と前記モータを別体としたが、一体構成のものとしてもよい。
蓄電装置10は次の構成を有する。まず、電力を蓄える第1蓄電素子17と第2蓄電素子19が電気的に並列回路になるように接続される。この並列回路は充放電回路11に接続される。ここで、第1蓄電素子17と第2蓄電素子19は、いずれも複数の電気二重層キャパシタを直列接続した構成を有する。従って、第1蓄電素子17と第2蓄電素子19は、それぞれがキャパシタブロックを構成していることになる。以下、2個の前記キャパシタブロックを第1蓄電素子17、および第2蓄電素子19と呼ぶ。なお、前記キャパシタブロックは2個より多くてもよいが、ここでは2個の場合について説明する。また、第1蓄電素子17の容量値C1と第2蓄電素子19の容量値C2は、計測誤差範囲内で等しくなるように構成した。
第1蓄電素子17と第2蓄電素子19には、それぞれ直列に第1電流検出回路21、および第2電流検出回路23が接続されている。第1電流検出回路21は第1蓄電素子17に流れる第1電流I1を、第2電流検出回路23は第2蓄電素子19に流れる第2電流I2を、それぞれ検出して出力する機能を有する。第1電流検出回路21と第2電流検出回路23の構成として、本実施の形態1ではシャント抵抗と、オペアンプ等の周辺回路(いずれも図示せず)からなるものを用いた。なお、第1電流検出回路21と第2電流検出回路23は上記した構成に限定されるものではなく、例えばホール素子を用いた磁気的な検出構成のものでもよい。
第1蓄電素子17の両端には、電圧検出回路25が電気的に接続されている。ここで、図1に示すように、第1蓄電素子17の一端(負極)はグランドに接続されているので、電圧検出回路25は前記グランドと第1蓄電素子17の他端(正極)に接続される構成としている。これにより、電圧検出回路25は第1蓄電素子17の両端電圧、すなわち、第1蓄電素子電圧V1を検出して出力する機能を有する。電圧検出回路25の具体的な構成として、本実施の形態1では第1蓄電素子17の両端に2個の直列抵抗器を接続し、その中点電圧を第1蓄電素子電圧V1として出力する構成とした。
なお、電圧検出回路25は第1蓄電素子17の両端に接続しているが、第1蓄電素子17と第2蓄電素子19は並列接続されているので、両者の全体的な電圧(蓄電素子電圧)を検出していることになる。従って、電圧検出回路25は、第2蓄電素子19の両端に接続しても電気的には等価となるので、第1蓄電素子17または第2蓄電素子19のいずれかの両端に接続すればよいが、高信頼に電圧を検出するために、両者にそれぞれ接続する構成としてもよい。なお、本実施の形態1では、電圧検出回路25を第1蓄電素子17の両端に接続しているので、以下、前記蓄電素子電圧を第1蓄電素子電圧V1と呼ぶ。
第1電流検出回路21、第2電流検出回路23、および電圧検出回路25は、制御回路27が信号系配線で電気的に接続される。制御回路27はマイクロコンピュータとメモリ等の周辺回路で構成され、第1電流検出回路21で検出した第1電流I1、第2電流検出回路23で検出した第2電流I2、および電圧検出回路25で検出した第1蓄電素子電圧V1を、それぞれ読み込む。また、充放電回路11を制御する制御信号contを出力する。さらに、制御回路27は車両側制御回路(図示せず)と信号系配線で接続され、データ信号dataにより各種信号の送受信を行う。
次に、蓄電装置10の動作について説明する。
まず、通常の車両走行時の動作を述べる。車両が走行している状態からブレーキにより制動状態になると、前記車両側制御回路は発電機13が回生電力を発生するように制御すると同時に、制動状態にあることをデータ信号dataにより制御回路27に送信する。これを受け、制御回路27は充放電回路11に対し、回生電力を第1蓄電素子17、および第2蓄電素子19に充電するように制御信号contを送信する。その結果、発電機13で発生した回生電力は、充放電回路11により第1蓄電素子17と第2蓄電素子19に充電される。この時、制御回路27は、第1電流検出回路21で検出された第1電流I1、および第2電流検出回路23で検出された第2電流I2が過電流に至らないように充放電回路11を制御する。
このようにして制御回路27は、第1蓄電素子17と第2蓄電素子19に回生電力を充電し、電圧検出回路25で検出された第1蓄電素子電圧V1が既定の満充電電圧に至れば、充放電回路11に対し充電を停止するように制御信号contを送信する。
以上の動作により、制動時に発生する回生電力を蓄電装置11に充電することができる。
その後、車両が停止、または加速すると、制御回路27は前記車両側制御回路から停車信号、または加速信号をデータ信号dataとして受信する。これにより、制御回路27は蓄電装置10に蓄えた回生電力を負荷15に対して放電するように制御信号contを充放電回路11に送信する。その結果、蓄電装置10から充放電回路11を介して負荷15に回生電力が供給される。このような動作により、蓄電装置10から負荷15に電力が供給されている間は、発電機13による発電が不要となるので、前記エンジンへの負担が軽減され、省燃費化が図れる。なお、この時も制御回路27は、第1電流I1や第2電流I2を読み込んで過電流を監視するとともに、第1蓄電素子電圧V1を読み込んで、第1蓄電素子17と第2蓄電素子19の過放電を監視している。
このような動作を繰り返すことにより、蓄電装置10が車両の制動エネルギを回生電力として回収し、非制動時に負荷15へ供給することで、高効率な車両を実現することができる。
次に、このような蓄電装置10の制御回路27において、第1電流検出回路21、第2電流検出回路23、および電圧検出回路25の異常判断を行う動作、すなわち判定手段について、図2を用いて説明する。なお、図2に示すフローチャート(前記判定手段)は、制御回路27において、既定時間間隔(例えば1秒)毎にメインルーチン(図示せず)から割り込み実行される。従って、図2はサブルーチンとして記載している。
また、前記判定手段は図2のフローチャートそのものであると定義し、動作を行う主体は制御回路27であるので、以下の説明では前記判定手段が行う動作について、制御回路27が行うものとする。さらに、本実施の形態1に限らず、以後の説明における全てのフローチャートは判定手段であると定義し、その動作は制御回路27が行うものとして説明する。
また、異常判断の対象である第1電流検出回路21と第2電流検出回路23が同時に異常になることは確率的に低いため、以下に説明する全ての実施の形態において、複数の電流検出回路の内、いずれかの異常を判断する動作について述べる。なお、全ての実施の形態において、電圧検出回路25の異常も判断しているが、これも第1電流検出回路21や第2電流検出回路23と同時に異常になる確率は低いため、第1電流検出回路21、第2電流検出回路23または電圧検出回路25の内の1つについて異常判断を行う動作を述べる。
図2のサブルーチンが実行されると、制御回路27は、まず第1電流検出回路21より第1電流I1を読み込む(ステップ番号S13)。次に、第2電流検出回路23より第2電流I2を読み込む(S17)。
その後、第1電流I1が0で、かつ第2電流I2が0であるか否かを判断する(S21)。これにより、第1蓄電素子17と第2蓄電素子19が充放電時であるか否かを判断している。このような判断を行う理由は、両方の電流が0であれば、後述する実測比Dの計算が正しく行えないためである。なお、第1電流I1や第2電流I2が0であるとの判断は、第1電流検出回路21や第2電流検出回路23の検出精度内で0と出力された場合であると定義する。また、第1電流検出回路21、第2電流検出回路23、および電圧検出回路25が断線した場合は、それらの出力が常時0になる等、明らかに正常時の出力とは異なる挙動となるため、前記メインルーチンにて断線検知を行うようにしている。従って、図2のサブルーチンは第1電流検出回路21、第2電流検出回路23、および電圧検出回路25のいずれも断線異常を起こしていない状態で実行される。
S21において、もし、両方の電流が0であれば(S21のYes)、第1蓄電素子17と第2蓄電素子19は充放電が行われておらず、前記異常判断の動作ができないので、図2のサブルーチンを終了して、割り込み元に戻る。
一方、第1電流I1と第2電流I2が、いずれも0でなければ(S21のNo)、第1蓄電素子17と第2蓄電素子19は充放電中であるので、次に制御回路27は電圧検出回路25より第1蓄電素子電圧V1を読み込む(S23)。この第1蓄電素子電圧V1は、制御回路27に内蔵した前記メモリ(図示せず)による一時記憶用変数V1oに代入される(S27)。なお、図2においてS27に示すように、V1o=V1と記載した場合は、判断を行うステップを除き、右辺の値を左辺の変数に代入する動作であるとして以下定義する。
次に、制御回路27はS27の動作終了後から既定期間Δtが経過したか否かを判断する(S29)。ここで、既定期間Δtは後述する電圧変化幅ΔV1を求めるための期間であり、第1電流I1と第2電流I2が大きく変化しない程度の期間として、あらかじめ実験的に求めて前記メモリに記憶してある。本実施の形態では既定期間Δtを0.01秒とした。また、制御回路27にはカウンタが内蔵されているので、それにより既定期間Δtを求めることができる。
もし、既定期間Δtが経過していなければ(S29のNo)、S29に戻って既定期間Δtが経過するまで待つ。
既定期間Δtが経過すれば(S29のYes)、制御回路27は、電圧検出回路25より再び第1蓄電素子電圧V1を読み込む(S31)。
次に、制御回路27は、既定期間Δtにおける第1蓄電素子電圧V1の電圧変化幅ΔV1を、ΔV1=|V1o−V1|より求める(S35)。この電圧変化幅ΔV1と、既定期間Δt、および第1蓄電素子17の容量値C1から、制御回路27は第1電流計算値I1cを、I1c=C1・ΔV1/Δtより求める(S39)。ここで、容量値C1は、あらかじめ実測値を求めて前記メモリに記憶してある。
次に、制御回路27は、第1電流I1と第1電流計算値I1cとの第2相関値を求める。具体的には、S13で読み込んだ第1電流I1と、第1電流計算値I1cとの差の絶対値から第1実測計算差Sc1を、Sc1=|I1c−I1|より求める(S41)。この第1実測計算差Sc1が第2相関値となる。さらに、第1電流I1と第2電流I2との第1相関値を求める。具体的には、第1電流I1と第2電流I2との実測比Dを、D=I1/I2より求める(S43)。この実測比Dが第1相関値となる。ここで、上記したように第1蓄電素子17の容量値C1と第2蓄電素子19の容量値C2は計測誤差範囲内で等しくなるように構成しているので、実測比Dは1近傍となる。また、第1相関値(ここでは実測比D)と第2相関値(ここでは第1実測計算差Sc1)を求める順番は、どちらが先でも構わない。
次に、制御回路27は第1相関値である実測比Dが既定最小値Minから既定最大値Maxまでの範囲に入っているか否かを判断する(S45)。ここで、実測比Dの正常値範囲として、計測や計算の誤差等を考慮して±5%以内とした。従って、既定最小値Minは実測比Dの正常値(=1)から5%小さい0.95、既定最大値Maxは5%大きい1.05と決定した。これらの値は前記メモリに記憶してある。
もし、実測比Dが既定最小値Min以上、かつ既定最大値Max以下であれば、すなわち、実測比Dが0.95≦D≦1.05であれば(S45のYes)、制御回路27は第1電流検出回路21と第2電流検出回路23が両方とも正常であると判断する。この場合は、後述するS53にジャンプする。
一方、実測比Dが既定最小値Min未満か既定最大値Maxを超えている場合は(S45のNo)、第1電流検出回路21、または第2電流検出回路23のいずれかが異常である。但し、この時点では、どちらが異常であるかを判断することはできない。
そこで、制御回路27は、第2相関値である第1実測計算差Sc1が第1既定範囲以内であるか、もしくは超えているかを判断する。ここで、第1実測計算差Sc1はS41より第1電流計算値I1cと第1電流I1(実測値)の差の絶対値であるので、第1実測計算差Sc1が前記第1既定範囲を超えていれば、計算値と実測値がずれていることになる。なお、前記第1既定範囲は、第1実測計算差Sc1(前記ずれに相当)の上限値から下限値までの範囲を示す。ここでは、上記したように第1実測計算差Sc1は前記ずれの絶対値で求められるので、前記下限値は0となる。このことから、本実施の形態1のように、前記ずれを第1実測計算差Sc1として求めた場合は、前記第1既定範囲は0(前記下限値)から前記上限値までとなる。従って、第1実測計算差Sc1が第1既定範囲以内であるか、もしくは超えているかを判断するという動作は、第1実測計算差Sc1が前記第1既定範囲の上限値(以下、第1既定値K1と定義する)より大きいか否かを判断することと等価になる。
以上のことから、制御回路27は、S45でNoの場合、第1実測計算差Sc1と第1既定値K1を比較する(S47)。第1実測計算差Sc1が第1既定値K1より大きければ(S47のYes)、第1電流検出回路21が異常と判断できる。このように判断できる理由は次の通りである。S47の動作はS45においてNoの時に行われるので、上記したように第1電流検出回路21、または第2電流検出回路23のいずれかが異常である。従って、上記したように複数の検出回路が同時に異常となる確率が低いため、電圧検出回路25は正常である。ゆえに、前記ずれが大きい(S47でYes)の場合は、第1電流検出回路21が異常であることになる。この場合、制御回路27は、第1電流検出回路21の異常信号をデータ信号dataとして前記車両側制御回路に出力する(S49)。これを受け、前記車両側制御回路は第1電流検出回路21が異常であることを運転者に知らせ、修理を促す。ここで、第1電流検出回路21が異常であることがわかっているので、効率的な修理が可能となる。なお、本実施の形態1において、第1既定値K1(前記ずれの上限値)は、計測や計算の精度を考慮して第1電流I1の最大値の5%と定義し、前記メモリに記憶してある。
S49の後は、図2のサブルーチンを終了して、割り込み元に戻る。
一方、第1実測計算差Sc1が第1既定値K1以下であれば(S47のNo)、第1電流検出回路21は正常であることがわかる。しかし、S45でNoの場合は、第1電流検出回路21と第2電流検出回路23のいずれかが異常であるので、S47でもNoであれば、第2電流検出回路23が異常であると判断できる。この場合、制御回路27は、第2電流検出回路23の異常信号をデータ信号dataとして前記車両側制御回路に出力し(S51)、図2のサブルーチンを終了して、割り込み元に戻る。このような動作から、第2電流検出回路23の異常を判断できるので、第1電流検出回路21の異常時と同様に効率的な修理が可能となる。
ここで、S45に戻り、実測比Dが既定最小値Min以上、かつ既定最大値Max以下であれば(S45のYes)、第1電流検出回路21と第2電流検出回路23が正常と判断されたので、次に、制御回路27は、第1実測計算差Sc1と、前記第1既定範囲としての第1既定値K1を比較する(S53)。なお、ここでの第1既定値K1の値はS47の場合と同じである。もし、第1実測計算差Sc1が第1既定値K1以下であれば(S53のNo)、第1電流計算値I1cと、正常値である第1電流I1とのずれが第1既定値K1以下であることになる。従って、第1電流計算値I1cも正常に計算されていることになる。ここで、S23からS39で説明したように、既定期間Δtと容量値C1は定数であるので、第1電流計算値I1cは第1蓄電素子電圧V1の関数となる。この第1電流計算値I1cが正常に計算されているので、第1蓄電素子電圧V1が正常に検出されていることになる。従って、S53でNoの場合は、制御回路27は電圧検出回路25が正常であると判断する。この場合は、第1電流検出回路21、第2電流検出回路23、および電圧検出回路25の全てが正常と判断されたので、そのまま図2のサブルーチンを終了して、割り込み元に戻る。
一方、第1実測計算差Sc1が第1既定値K1より大きければ(S53のYes)、第1電流計算値I1cが異常であるので、制御回路27は、第1電流計算値I1cを求めるために必要な第1蓄電素子電圧V1を検出した電圧検出回路25が異常であると判断する。この場合、制御回路27は、電圧検出回路25の異常信号をデータ信号dataとして前記車両側制御回路に出力し(S55)、図2のサブルーチンを終了して、割り込み元に戻る。
このように動作することにより、第1電流検出回路21と第2電流検出回路23の異常を区別して判断できるだけでなく、電圧検出回路25の異常も判断することが可能となる。その結果、さらに効率的な修理が可能となる。
以上に説明した判定手段の動作をまとめると、次のようになる。制御回路27は、検出された第1電流I1および第2電流I2を読み込むとともに、既定期間(Δt)における前記第1蓄電素子電圧V1の電圧変化幅ΔV1に基いて、第1電流計算値I1cを求め、第1電流I1と第2電流I2との第1相関値と、第1電流I1と第1電流計算値I1cとの第2相関値から、前記第1電流検出回路と前記第2電流検出回路の異常を区別して判断している。
以上の構成、動作により、複数の電流検出回路の異常を区別して判断することにより、効率よく修理することが可能な蓄電装置10が実現できる。
なお、本実施の形態1では、第1相関値として、第1電流I1と第2電流I2との実測比Dを用いたが、これは第1電流I1と第2電流I2との差の絶対値から求めた実測差Sであってもよい。ここで、実測差Sは、S=|I1−I2|より求められる。第1相関値として、実測差Sを用いた場合でも、実測比Dを用いた場合に比べ、複数の電流検出回路の異常を区別して判断する効果は同じである。但し、動作において、次の点が異なる。
まず、図2において、S21における第1電流I1と第2電流I2がいずれも0であるか否かの判断が不要となる。これは、実測比Dの場合のように0で除する可能性がないためである。次に、S43において、実測比Dの代わりに、上式により実測差Sを求める。次に、S45において、実測差Sが既定最小値Minから既定最大値Maxの範囲内であるか否かを判断する。ここで、既定最小値Minと既定最大値Maxは実測差Sに対応した値として前記メモリに記憶しておく。但し、実測差Sは第1電流I1や第2電流I2の絶対値により大きく変化する。すなわち、前記絶対値が小さければ、実測差Sは第1電流検出回路21や第2電流検出回路23が異常であっても小さくなり、前記絶対値が大きければ、実測差Sは第1電流検出回路21や第2電流検出回路23の計測誤差範囲内の違いであっても大きくなる。従って、実測差Sの大小に応じて既定最小値Minと既定最大値Maxの相関をあらかじめ求めておき、例えば前記相関をテーブルとして前記メモリに記憶しておけばよい。これにより、実測差Sに応じた最適な既定最小値Minと既定最大値Maxを決定してから、S45の判断を行うことができるので、実測差Sを用いても高精度な異常判断が可能となる。
また、本実施の形態1では、第2相関値として、第1電流I1と第1電流計算値I1cとの差の絶対値である第1実測計算差Sc1を用いたが、これは第1電流I1と第1電流計算値I1cとの比から求めた第1実測計算比Dc1であってもよい。ここで、第1実測計算比Dc1は、Dc1=I1/I1cより求められる。第2相関値として、第1実測計算比Dc1を用いた場合でも、第1実測計算差Sc1を用いた場合に比べ、複数の電流検出回路の異常を区別して判断する効果は同じである。また、図2の動作については、S41で上式により第1実測計算比Dc1を求めるとともに、S47とS53における第1既定値K1を第1実測計算比Dc1に対応した第1既定範囲に変えればよい。すなわち、第1実測計算比Dc1を用いる場合は、実測比Dと同様に正常であれば1近傍の値となるので、例えば計測や演算の誤差等を考慮して第1実測計算比Dc1が±5%の範囲に入っていれば正常であると決定すれば、前記第1既定範囲は0.95〜1.05の範囲となる。従って、S47とS53では、第1実測計算比Dc1が0.95〜1.05の範囲(前記第1既定範囲)以内であるか、または超えているかを判断すればよい。なお、第1実測計算比Dc1に対応した前記第1既定範囲も、あらかじめ求めて前記メモリに記憶しておく。また、第1実測計算比Dc1を用いる場合は、0による除算の可能性があるため、S21の動作は必要である。
これらのことから、第1相関値としては実測差S、もしくは実測比Dの一方を、第2相関値としては第1実測計算差Sc1、もしくは第1実測計算比Dc1の一方を、それぞれ選択すればよく、その組み合わせ(4通り)は、どのようであっても構わないことがわかる。すなわち、第1相関値と第2相関値の内容をどのように組み合わせても、複数の電流検出回路の異常を区別して判断することが可能となる。
また、本実施の形態1において、第1蓄電素子17に対し第1電流計算差I1cを求めているが、これは第2蓄電素子19に対する第2電流計算値I2cを求めてもよい。この場合、図2のS39における計算式は、I2c=C2・ΔV1/Δtとなる。ここで、C2は第2蓄電素子19の容量値である。この場合、S41において、第2相関値としての第1実測計算差Sc1を求めているが、これは第3相関値としての第2実測計算差Sc2を、第2電流I2と第2電流計算値I2cとの差の絶対値、すなわちSc2=|I2c−I2|から求めればよい。また、第1蓄電素子17の容量値C1と第2蓄電素子19の容量値C2は、上記したようにほぼ等しい構成としているが、厳密には差が存在するので、それに応じて、S47とS53の判断における第1既定値K1は第2蓄電素子19の容量値C2に対応した第2既定値K2とする必要がある。従って、S47とS53の判断では、第2実測計算差Sc2と第2既定値K2との比較を行うことになる。
但し、第2実測計算差Sc2を用いて異常判断を行う場合は、第2電流検出回路23に対する判断となるので、S47の判断(YesとNo)を逆転させる必要がある。すなわち、第3相関値(第2実測計算差Sc2)が第2既定範囲(第2既定値K2)以内であれば、第2電流検出回路23は正常であるので、第1電流検出回路21が異常と判断する。一方、第3相関値(第2実測計算差Sc2)が第2既定範囲(第2既定値K2)を超えれば、第2電流検出回路23が異常と判断する。なお、S53の判断(YesとNo)は、第3相関値(第2実測計算差Sc2)と第2既定範囲(第2既定値K2)を比較した場合でも図2の通りでよい。
以上のように、図2のフローチャートで説明した動作(第1相関値と第2相関値から異常判断を行う)に対して、第1相関値と第3相関値から異常判断を行ってもよいことがわかる。
さらに、上記したように、第2相関値が第1実測計算差Sc1、もしくは第1実測計算比Dc1の一方を選択すればよいのと同様に、第3相関値としても、第2実測計算差Sc2、もしくは第2実測計算比Dc2(Dc2=I2/I2c)の一方を選択すればよい。
また、本実施の形態1における図1の構成では、第1蓄電素子17と第2蓄電素子19の2つのキャパシタブロックを用いているが、これはさらに複数のキャパシタブロックを用いた構成に対しても適用できる。すなわち、3つ以上の複数のキャパシタブロックがある場合は、任意の2つのキャパシタブロックに対して本実施の形態1で説明した電流検出回路の異常判断を行い、次に他の2つのキャパシタブロックに対して電流検出回路の異常判断を行うという動作を繰り返せばよい。また、奇数個のキャパシタブロックがある場合は、任意の1つのキャパシタブロックの電流検出回路の異常判断を2回行うことで、全てのキャパシタブロックの電流検出回路の異常判断ができる。
また、本実施の形態1では、図2のサブルーチンが実行された直後に1回だけ第1電流I1と第2電流I2を読み込んでいるが、これは、S29で既定期間Δtの経過を待つ間、それぞれを繰り返し読み込み、既定期間Δtが経過した後に例えば各々を平均するようにしてもよい。この場合、図2の動作に比べて演算が複雑になるものの、ノイズ等による第1電流I1や第2電流I2への影響を低減することができ、高精度な異常判断が可能となる。
また、本実施の形態1では、上記したように図2のサブルーチンが実行された直後に1回だけ第1電流I1と第2電流I2を読み込んでいるが、既定期間Δtが経過する間に、急に発電機13の回生電力や負荷15の消費電力が大きく変化して蓄電装置10への充放電電流が急変したり、もしくは充電と放電が急に逆転する可能性がある場合、実測値である第1電流I1に対して第1電流計算値I1cが大きく異なる値になることがある。この場合は、全ての検出回路が正常であるにも関わらず異常と判断してしまう場合がある。そこで、このような状態が想定される用途では、図2のサブルーチンのS31を実行する前に第1電流I1と第2電流I2を再度読み込み、これらの電流値の少なくとも一方がS13とS17で読み込んだ第1電流I1と第2電流I2の値に対し、あらかじめ決定した範囲を超えるか、もしくは電流値の正負が逆転した場合は異常判断を中止し、図2のサブルーチンを終了するようにすればよい。なお、前記範囲は実際の蓄電装置10の使用環境下における電流の急変幅から求めればよい。
(実施の形態2)
図3は、本発明の実施の形態2における蓄電装置の電流検出回路における異常判断を行うフローチャートである。
本実施の形態2において、構成は図1と同一であるので、詳細な説明を省略する。本実施の形態2の特徴は動作にあるので、動作について以下説明する。
まず、通常の車両走行時の動作は実施の形態1と同じである。
次に、第1電流検出回路21、第2電流検出回路23、および電圧検出回路25の異常判断動作について図3を用いて説明する。なお、図3に示すフローチャートもサブルーチンとして記載している。また、図3のサブルーチンにおいて、図2のサブルーチンと同じ動作を行う部分には同一のステップ番号を付して詳細な説明を省略する。
まず、図3のS13からS41までの動作は図2と同じである。次に、制御回路27は、電圧変化幅ΔV1、既定期間Δtおよび第2蓄電素子19の容量値C2から第2電流計算値I2cを、I2c=C2・ΔV1/Δtより求める(S63)。ここで、容量値C2は容量値C1と同様に、あらかじめ実測値を求めて前記メモリに記憶してある。
次に、制御回路27は、第2電流I2と第2電流計算値I2cとの第3相関値を求める。具体的には、S17で読み込んだ第2電流I2と、第2電流計算値I2cとの差の絶対値から第2実測計算差Sc2を、Sc2=|I2c−I2|より求める(S65)。この第2実測計算差Sc2が第3相関値となる。
次に、制御回路27は、第2相関値である第1実測計算差Sc1と、第1既定範囲としての第1既定値K1とを比較する(S67)。なお、前記第1既定範囲としての第1既定値K1の扱いは、図2のS47で説明したものと同じである。また、第1既定値K1の具体的な値も実施の形態1と同じである。
ここで、実施の形態1で述べたように、S67において第1実測計算差Sc1が大きければ、計算値と実測値がずれていることになる。従って、第1実測計算差Sc1が第1既定値K1以下であれば(S67のNo)、前記ずれが小さいので、第1実測計算差Sc1を求めるために必要な第1電流I1と第1蓄電素子電圧V1が正しく出力されていることになる。従って、第1電流検出回路21と電圧検出回路25は正常と判断できる。この場合は、後述するS75へジャンプする。
一方、第1実測計算差Sc1が第1既定値K1より大きければ(S67のYes)、前記ずれが大きいので、第1電流検出回路21と電圧検出回路25のいずれかが異常と判断できる。そこで、制御回路27は第2実測計算差Sc2と、第2既定範囲としての第2既定値K2とを比較する(S69)。なお、前記第2既定範囲としての第2既定値K2の扱いや、その具体的な値も、第1既定値K1と同様である。もし、第2実測計算差Sc2が第2既定値K2以下であれば(S69のNo)、第2電流計算値I2cと第2電流I2とのずれが第2既定値K2以下であることになる。従って、上記したように、複数の検出回路が同時に異常になることはないとの前提から、第2電流計算値I2cを求めるために必要な第1蓄電素子電圧V1と第2電流I2は、いずれも正常値である。ゆえに、S69でNoの場合は、第2電流検出回路23と電圧検出回路25が正常であることになる。ここで、上記したように、S67でYesであれば、第1電流検出回路21と電圧検出回路25のいずれかが異常と判断できるが、S69でNoであれば、第2電流検出回路23と電圧検出回路25が正常であるので、ここでは第1電流検出回路21が異常であると判断できる。この場合、制御回路27は、第1電流検出回路21の異常信号をデータ信号dataとして前記車両側制御回路に出力する(S71)。これを受け、前記車両側制御回路は第1電流検出回路21が異常であることを運転者に知らせるので、効率的な修理が可能となる。その後、図3のサブルーチンを終了して、割り込み元に戻る。
一方、第2実測計算差Sc2が第2既定値K2より大きければ(S69のYes)、第2電流計算値I2cと第2電流I2とのずれが第2既定値K2より大きいことになるため、第2電流検出回路23、または電圧検出回路25が異常であることがわかる。ここで、S67でYesの場合は、上記したように第1電流検出回路21、または電圧検出回路25が異常である。これらの結果と、複数の検出回路が同時に異常になることはないとの前提から、S67とS69の両方で異常と判断された電圧検出回路25が異常であることになる。この場合、制御回路27は、電圧検出回路25の異常信号をデータ信号dataとして前記車両側制御回路に出力し(S73)、図3のサブルーチンを終了して、割り込み元に戻る。
ここで、S67に戻り、第1実測計算差Sc1が第1既定値K1以下であれば(S67のNo)、制御回路27は第2実測計算差Sc2と第2既定値K2を比較する(S75)。もし、第2実測計算差Sc2が第2既定値K2以下であれば(S75のNo)、第2電流計算値I2cと第2電流I2とのずれが第2既定値K2以下であることになる。従って、S69のNoの場合と同様に、第2電流検出回路23と電圧検出回路25が正常であることになる。ここで、上記したように、S67でNoであれば、第1電流検出回路21と電圧検出回路25が正常であると判断されているので、第1電流検出回路21、第2電流検出回路23および電圧検出回路25が全て正常であると判断できる。この場合は、そのまま図3のサブルーチンを終了して、割り込み元に戻る。
一方、第2実測計算差Sc2が第2既定値K2より大きければ(S75のYes)、第2電流計算値I2cと第2電流I2とのずれが第2既定値K2より大きいので、S69のYesの場合と同様に第2電流検出回路23または電圧検出回路25のいずれかが異常であることになる。しかし、ここではS67でNoであったので、第1電流検出回路21と電圧検出回路25の両方が正常である。従って、S75でYesの場合は第2電流検出回路23が異常であると判断できる。この場合、制御回路27は、第2電流検出回路23の異常信号をデータ信号dataとして前記車両側制御回路に出力し(S77)、図3のサブルーチンを終了して、割り込み元に戻る。
以上の前記判定手段による動作をまとめると、次のようになる。制御回路27は、第2相関値が第1既定範囲を超える(ここでは第1既定値K1より大きい)場合、第3相関値が第2既定範囲以内(ここでは第2既定値K2以下)であれば、第1電流検出回路21が異常と判断する。一方、第3相関値が第2既定範囲を超える(ここでは第2既定値K2より大きい)のであれば、電圧検出回路25が異常と判断する。また、第2相関値が第1既定範囲以内(ここでは第1既定値K1以下)の場合は、第3相関値が第2既定範囲を超える(ここでは第2既定値K2より大きい)のであれば、第2電流検出回路23が異常と判断する。一方、第3相関値が第2既定範囲以内(ここでは第2既定値K2以下)であれば、第1電流検出回路21、第2電流検出回路23および電圧検出回路25が正常と判断する。
以上の構成、動作により、複数の電流検出回路の異常を区別して判断することにより、効率よく修理することが可能な蓄電装置10が実現できる。
なお、本実施の形態2では、第2相関値と第3相関値により第1電流検出回路21と第2電流検出回路23の異常を区別して判断しているが、実施の形態1では第1相関値と第2相関値、または第1相関値と第3相関値の組み合わせにより異常判断を行っている。これらのことから、第1電流I1と第2電流I2との第1相関値、第1電流I1と第1電流計算値I1cとの第2相関値、もしくは第2電流I2と第2電流計算値I2cとの第3相関値のいずれか2つの組み合わせにより、第1電流検出回路21と第2電流検出回路23の異常を区別して判断することができる。なお、第1相関値と第2相関値の組み合わせの場合は第1電流計算値I1cを、第1相関値と第3相関値の組み合わせの場合は第2電流計算値I2cを、それぞれ計算すればよいが、第2相関値と第3相関値の組み合わせの場合は第1電流計算値I1cと第2電流計算値I2cの両方を計算する必要がある。
また、本実施の形態2では、第3相関値を第2電流I2と第2電流計算値I2cとの差の絶対値から求めた第2実測計算差Sc2として求めているが、これは第2相関値の場合と同様に、第2電流I2と第2電流計算値I2cとの第2実測計算比Dc2であってもよい。この場合も、第2実測計算比Dc2に応じて前記第2既定範囲を、例えば実施の形態1で述べた範囲(0.95〜1.05の範囲)に変更すればよい。
また、本実施の形態2においては、第2相関値として第1実測計算差Sc1を、第3相関値として第2実測計算差Sc2を、それぞれ用いて異常判断を行っているが、実施の形態1および本実施の形態2で述べたように、第1相関値および第2相関値として、それぞれ第1実測計算比Dc1、第2実測計算比Dc2を用いてもよい。従って、本実施の形態2においても、第2相関値と第3相関値には4通りの組み合わせが存在することになるが、これらの内、どの組み合わせを選択しても、複数の電流検出回路の異常を区別して判断することが可能である。
以上に説明した実施の形態1、2より、複数の電流検出回路の異常を区別して判断するためには、第1相関値、第2相関値および第3相関値のいずれか2つの組み合わせにより3通りの方法があり、これらの相関値に対しても、それぞれ差と比の2通りの方法がある。ゆえに、異常判断方法の組み合わせとしては合計12通り(前記相関値の差と比の組み合わせが4通りであり、第1〜第3相関値の組み合わせが3通りであるので、4×3=12通り)が存在することになる。これらの内、どの組み合わせであっても複数の電流検出回路の異常を区別して判断することができる。
(実施の形態3)
図4は、本発明の実施の形態3における蓄電装置のブロック回路図である。図5は、本発明の実施の形態3における蓄電装置の電流検出回路における異常判断を行うフローチャートである。なお、図4において、太線は電力系配線を、細線は信号系配線を、それぞれ示す。
図4に示す本実施の形態3の構成において、図1と同一の構成には同一の符号を付して詳細な説明を省略する。すなわち、本実施の形態3における構成の特徴は、図4において、第1蓄電素子17と第2蓄電素子19とに共通の温度検出器29を設けたことである。具体的には、第1蓄電素子17と第2蓄電素子19の間に温度検出器29を設ける構成とした。これにより、両者の平均温度を検出することができる。なお、温度検出器29として、本実施の形態3では温度に対する感度(抵抗値変化)が大きいサーミスタを用いた。また、温度検出器29は、制御回路27と信号系配線で電気的に接続されており、検出された温度Tは制御回路27に読み込まれる。
上記以外の構成は図1と同じである。
次に、本実施の形態3における動作について説明する。
まず、通常の車両走行時の動作は実施の形態1と同じであるので、詳細な説明を省略する。すなわち、本実施の形態3における特徴となる前記判定手段の動作は、第1電流検出回路21、第2電流検出回路23、および電圧検出回路25の異常判断であるので、この動作について図5を用いて説明する。なお、図5の動作において、実施の形態1における図2と同じ動作については、同一のステップ番号を付して詳細な説明を省略する。また、図5に示すフローチャートも、図2と同様に、制御回路27において、既定時間間隔毎にメインルーチンから割り込み実行されるので、図5はサブルーチンとして記載している。
図5のサブルーチンが実行されると、制御回路27は、まず温度検出器29より第1蓄電素子17と第2蓄電素子19の温度Tを読み込む(S111)。次に、第1電流検出回路21より第1電流I1を読み込む(S13)が、この動作は図2と同じである。
次に、制御回路27は第1電流I1を温度Tで補正する(S115)。ここで、第1電流検出回路21は前記シャント抵抗により第1電流I1を検出しているので、温度Tが変化すれば、それに応じて前記シャント抵抗の抵抗値も変化する。従って、第1電流検出回路21の出力である第1電流I1は温度Tに応じて変化する。この変化は、前記シャント抵抗の抵抗温度特性と、第1電流検出回路21における前記シャント抵抗以外の回路の温度特性を、あらかじめ実験的に求めることにより得られた、温度Tに対する第1電流I1の相関関係として、制御回路27に内蔵した前記メモリに記憶してある。ゆえに、制御回路27はS111で読み込んだ温度Tに応じて、前記相関関係から第1電流I1の温度補正を行うことができる。
次に、制御回路27は第2電流検出回路23より第2電流I2を読み込む(S17)が、この動作も図2と同じである。次に、制御回路27は第2電流I2を温度Tで補正する(S119)が、この補正方法は第1電流I1におけるS115で説明した方法と同様であり、温度Tと第2電流I2の相関関係に基いて補正する。
次に、S21とS23の動作は図2と同じであるので、説明を省略する。その後、制御回路27は、S23で読み込んだ第1蓄電素子電圧V1に対し、温度Tによる補正を行う(S125)。ここで、温度補正方法はS115で説明した第1電流I1の補正方法と同様に、あらかじめ実験的に求めて前記メモリに記憶した温度Tと電圧検出回路25の出力(第1蓄電素子電圧V1)との相関関係に基いて補正する。
次に、S27からS31までの動作は図2と同じである。その後、制御回路27は、S31で読み込んだ第1蓄電素子電圧V1に対し、温度Tによる補正を行う(S133)が、この動作はS125と同じである。
次にS35の動作は図2と同じであるので、説明を省略する。その後、制御回路27は、第1蓄電素子17の容量値C1を温度Tで補正する(S137)。ここで、前記メモリには、あらかじめ実験的に求めた温度Tに対する容量値C1の相関関係が記憶してあるので、前記相関関係を用いて、現在の温度Tにおける容量値C1を求めている。
その後の動作(S39からS55)は図2と同じであるので、説明を省略する。
以上の構成、動作により、温度検出器29で検出された温度Tに応じて、第1電流I1、第2電流I2、第1蓄電素子電圧V1、および容量値C1が、温度Tに対する、それぞれの相関関係から補正されるので、第1電流検出回路21、第2電流検出回路23、および電圧検出回路25の異常を区別して高精度に判断することが可能な蓄電装置10を実現できる。
なお、本実施の形態3では、第1蓄電素子17と第2蓄電素子19とに共通して温度検出器29を1つだけ設ける構成としたが、この温度検出器29は、第1蓄電素子17と第2蓄電素子19の少なくとも一方に設ける構成としてもよい。すなわち、第1蓄電素子17と第2蓄電素子19が隣接して配置されている構成であれば、第1蓄電素子17と第2蓄電素子19の温度はいずれもほぼ同じであるとみなすことができるので、例えば第1蓄電素子17にのみ温度検出器29を設ければよい。また、第1蓄電素子17と第2蓄電素子19の両方に温度検出器29を設けた場合は、第1蓄電素子17に関連する温度補正(第1電流I1、第1蓄電素子電圧V1、および容量値C1)と、第2蓄電素子19に関連する温度補正(第2電流I2)を、それぞれの温度に応じて補正できるので、さらに高精度な異常判断を行うことができる。
また、本実施の形態3においても、第1相関値として実測比Dを、第2相関値として第1実測計算差Sc1を、それぞれ用いて異常判断を行っているが、実施の形態1で述べたように、第1相関値および第2相関値として4通りの組み合わせの内、どの組み合わせを選択しても、複数の電流検出回路の異常を区別して判断することが可能である。
また、本実施の形態3において、実施の形態1で述べたように、第2相関値に替わって第3相関値(例えば第2実測計算差Sc2)を用いてもよいし、実施の形態2で述べたように、第2相関値と第3相関値により異常判断を行ってもよい。
また、本実施の形態3においても、実施の形態1で述べたように、ノイズの影響を低減するために既定期間Δtの間、第1電流I1と第2電流I2を読み込む動作を繰り返すようにしてもよい。但し、本実施の形態3では温度検出器29により検出された温度Tで第1電流I1と第2電流I2を補正している。従って、既定期間Δtの間に読み込んだ第1電流I1と第2電流I2を都度、温度補正しても構わないが、前記温度補正に時間がかかり、第1電流I1と第2電流I2を十分な回数まで読み込めない可能性がある。この場合は、既定期間Δtの経過後に第1電流I1と第2電流I2を各々平均した値に対して前記温度補正をすればよい。
(実施の形態4)
図6は、本発明の実施の形態4における蓄電装置の電流検出回路における異常判断を行うフローチャートである。
本実施の形態4において、構成は図1と同一であるので、詳細な説明を省略する。本実施の形態4の特徴は動作にあるので、動作について以下説明する。
まず、通常の車両走行時の動作は実施の形態1と同じである。
次に、第1電流検出回路21、第2電流検出回路23、および電圧検出回路25の異常判断動作について図6を用いて説明する。なお、図6に示すフローチャートもサブルーチンとして記載している。
図6のサブルーチンが実行されると、制御回路27は、まず電圧検出回路25より第1蓄電素子電圧V1を読み込む(S213)。この第1蓄電素子電圧V1は、一時記憶用変数V1oに代入される。同時に、制御回路27に内蔵した前記メモリ上に変数として定義された第1電荷量Q1に0を代入してクリアする。同様に、前記メモリ上の変数である第2電荷量Q2にも0を代入してクリアする(以上、S217)。
この後、図6には示していないが、後述する既定期間Δtを計測するために、実施の形態1で述べたカウンタがスタートする。
次に、制御回路27は第1電流検出回路21より第1電流I1を読み込む(S219)。次に、第2電流検出回路23より第2電流I2を読み込む(S223)。
こうして読み込んだ第1電流I1と第2電流I2は、それぞれ実行期間dtを乗じて、第1電荷量Q1と第2電荷量Q2に加算される。すなわち、第1電荷量Q1の値に第1電流I1と実行期間dtとの積を加算し、その結果を第1電荷量Q1に代入する。第2電荷量Q2も同様に第2電流I2と実行期間dtとの積が加算され、その結果が第2電荷量Q2に代入される(以上、S227)。なお、実行期間dtは、第1電流I1や第2電流I2を、後述する既定期間Δtの間、繰り返し読み込む際の時間間隔のことであり、S219からS229までの動作を行う期間に相当する。この実行期間dtは、あらかじめ前記マイクロコンピュータの演算速度等から求めて、前記メモリに記憶してある。
次に、制御回路27は前記カウンタにより既定期間Δtが経過したか否かを判断する(S229)。ここで、既定期間Δtは後述する電圧変化幅ΔV1を求めるための期間であり、第1蓄電素子17や第2蓄電素子19に電荷がある程度蓄えられるか、または放出される期間として1秒とした。
もし、既定期間Δtが経過していなければ(S229のNo)、S219に戻って既定期間Δtが経過するまでの間、読み込んだ第1電流I1と第2電流I2の値に、各々実行期間dtを乗じた値を、第1電荷量Q1と第2電荷量Q2の値に、それぞれ加算する動作を繰り返す。このように動作することで、既定期間Δtにおいて、第1蓄電素子17および第2蓄電素子19の充放電による第1電流I1と第2電流I2の時間積分値が近似的に得られる。これらの値が第1電荷量Q1および第2電荷量Q2に相当する。
既定期間Δtが経過すれば(S229のYes)、制御回路27は、電圧検出回路25より再び第1蓄電素子電圧V1を読み込む(S231)。
その後、求められた第1電荷量Q1が0以外であり、かつ第2電荷量Q2が0以外であるかを判断する(S235)。このような判断を行う理由は、いずれかの電荷量が0であれば、後述する実測比Dの計算が正しく行えないためである。
S235の判断では、第1電流検出回路21や第2電流検出回路23が断線し、出力が常時0になる等、明らかに正常時の出力とは異なる挙動となる場合も含まれるが、これは実施の形態1と同様にメインルーチンで検出できる。しかし、本実施の形態4では、第1電流検出回路21や第2電流検出回路23が正常であっても、既定期間Δtの間に充電から放電、あるいは放電から充電が行われ、電流の時間積分値(=電荷量)が0になる場合がある。この場合も、S235で判断できる。
なお、第1電荷量Q1や第2電荷量Q2が0であるとの判断は、第1電流検出回路21や第2電流検出回路23の検出精度や、時間積分の演算誤差の範囲内で0と出力された場合であると定義する。
S235において、もし、第1電荷量Q1か第2電荷量Q2のいずれかが0であれば(S235のNo)、前記異常判断動作ができないので、図6のサブルーチンを終了して、割り込み元に戻る。
一方、第1電荷量Q1と第2電荷量Q2が、いずれも0でなければ(S235のYes)、制御回路27は既定期間Δtにおける第1蓄電素子電圧V1の電圧変化幅ΔV1を、ΔV1=|V1o−V1|より求める(S237)。この電圧変化幅ΔV1および第1蓄電素子17の容量値C1から、制御回路27は第1電荷量計算値Q1cを、Q1c=C1・ΔV1より求める(S241)。ここで、容量値C1は、あらかじめ実測値を求めて前記メモリに記憶してある。
次に、制御回路27は、第1電荷量Q1と第1電荷量計算値Q1cとの第2相関値を求める。具体的には、S227で求めた第1電荷量Q1と、第1電荷量計算値Q1cとの差の絶対値から第1実測計算差Sc1を、Sc=|Q1c−Q1|より求める(S243)。この第1実測計算差Sc1が第2相関値となる。さらに、第1電荷量Q1と第2電荷量Q2との第1相関値を求める。具体的には、第1電荷量Q1と第2電荷量Q2との実測比Dを、D=Q1/Q2より求める(S245)。この実測比Dが第1相関値となる。
この第1相関値(実測比D)と第2相関値(第1実測計算差Sc1)は、実施の形態1において、第1電流I1、第2電流I2および第1電流計算値I1cから求めているのに替わって、本実施の形態4では、第1電荷量Q1、第2電荷量Q2および第1電荷量計算値Q1cから求めていることになる。
ここで、実施の形態1で述べたように、第1蓄電素子17の容量値C1と第2蓄電素子19の容量値C2は計測誤差範囲内で等しくなるように構成しているので、実測比Dは1近傍となる。また、第1相関値と第2相関値を求める順番は、どちらが先でも構わない。
次に、制御回路27は第1相関値である実測比Dが既定最小値Minから既定最大値Maxまでの範囲に入っているか否かを判断する(S247)。ここで、既定最小値Minと既定最大値Maxは、実施の形態1と同じ値とした。
もし、実測比Dが既定最小値Min以上、かつ既定最大値Max以下であれば(S247のYes)、制御回路27は第1電流検出回路21と第2電流検出回路23が両方とも正常であると判断する。この場合は、後述するS255にジャンプする。
一方、実測比Dが既定最小値Min未満か既定最大値Maxを超えている場合は(S247のNo)、第1電流検出回路21、または第2電流検出回路23のいずれかが異常であるので、制御回路27は、第2相関値である第1実測計算差Sc1と、第1既定範囲としての第1既定値K1とを比較する(S249)。なお、前記第1既定範囲としての第1既定値K1の扱いは実施の形態1と同じである。もし、第1実測計算差Sc1が第1既定値K1より大きければ(S249のYes)、実施の形態1で説明した理由により、第1電流検出回路21が異常と判断できる。この場合、制御回路27は、第1電流検出回路21の異常信号をデータ信号dataとして前記車両側制御回路に出力する(S251)。これにより、第1電流検出回路21が異常であることがわかっているので、効率的な修理が可能となる。なお、本実施の形態4における第1既定値K1は、第1電荷量Q1と第1電荷量計算値Q1cとの差(ずれ)の上限値のことで、例えば計測や計算の精度を考慮して第1電荷量Q1の最大値の5%と定義し、前記メモリに記憶してある。
S251の後は、図6のサブルーチンを終了して、割り込み元に戻る。
一方、第1実測計算差Sc1が第1既定値K1以下であれば(S249のNo)、実施の形態1で説明した理由により、第2電流検出回路23が異常であると判断できる。この場合、制御回路27は、第2電流検出回路23の異常信号をデータ信号dataとして前記車両側制御回路に出力し(S253)、図6のサブルーチンを終了して、割り込み元に戻る。このような動作から、第2電流検出回路23の異常を判断できるので、第1電流検出回路21の異常時と同様に効率的な修理が可能となる。
ここで、S247に戻り、実測比Dが既定最小値Min以上、かつ既定最大値Max以下であれば(S247のYes)、第1電流検出回路21と第2電流検出回路23が正常と判断されたので、次に、制御回路27は、第1実測計算差Sc1と第1既定値K1を比較する(S255)。もし、第1実測計算差Sc1が第1既定値K1以下であれば(S255のNo)、第1電荷量計算値Q1cと、正常値である第1電荷量Q1とのずれが第1既定値K1以下であることになる。従って、第1電荷量計算値Q1cも正常に計算されていることになる。ここで、S241で説明したように、容量値C1は定数であるので、第1電荷量計算値Q1cは第1蓄電素子電圧V1の関数となる。この第1電荷量計算値Q1cが正常に計算されているので、第1蓄電素子電圧V1が正常に検出されていることになる。従って、S255でNoの場合は、制御回路27は電圧検出回路25が正常であると判断する。この場合は、第1電流検出回路21、第2電流検出回路23、および電圧検出回路25の全てが正常と判断されたので、そのまま図6のサブルーチンを終了して、割り込み元に戻る。
一方、第1実測計算差Sc1が第1既定値K1より大きければ(S255のYes)、第1電荷量計算値Q1cが異常であるので、制御回路27は、第1電荷量計算値Q1cを求めるために必要な第1蓄電素子電圧V1を検出した電圧検出回路25が異常であると判断する。この場合、制御回路27は、電圧検出回路25の異常信号をデータ信号dataとして前記車両側制御回路に出力し(S257)、図6のサブルーチンを終了して、割り込み元に戻る。
このように動作することにより、第1電流検出回路21と第2電流検出回路23の異常を区別して判断できるだけでなく、電圧検出回路25の異常も判断することが可能となる。その結果、さらに効率的な修理が可能となる。
また、本実施の形態4では、実施の形態1の各電流値(瞬時値、または平均値)に基く異常判断に替わって、各電荷量(=積算値)に基く異常判断を行っている。この場合、積算期間(=既定期間Δt)は実施の形態1に比べ2桁大きいので、ノイズの影響が極めて低減される。しかし、既定期間Δtが長くなるので、異常判断に時間がかかる。従って、蓄電装置10のノイズ環境や、異常判断の許容期間に応じて、適宜電流値、または電荷量のいずれかを選択すればよい。
また、本実施の形態4においても、3つ以上の複数のキャパシタブロックがある場合、実施の形態1で述べたように、任意の2つのキャパシタブロックに対する異常判断を繰り返せばよい。
以上の構成、動作により、ノイズが多い環境下でも、複数の電流検出回路の異常を高精度に区別して判断することにより、効率よく確度の高い修理をすることが可能な蓄電装置10が実現できる。
なお、本実施の形態4においても、第1相関値として実測比Dを、第2相関値として第1実測計算差Sc1を、それぞれ用いて異常判断を行っているが、実施の形態1で述べたように、第1相関値および第2相関値として4通りの組み合わせの内、どの組み合わせを選択しても、複数の電流検出回路の異常を区別して判断することが可能である。この場合、除算が不要な組み合わせであれば、S235の動作は不要である。
また、本実施の形態4において、実施の形態1で述べたように、第2相関値に替わって第3相関値(例えば電荷量に対する第2実測計算差Sc2)を用いてもよいし、実施の形態2で述べたように、第2相関値と第3相関値により異常判断を行ってもよい。
これらをまとめると、第1電荷量Q1と第2電荷量Q2との第1相関値、第1電荷量Q1と第1電荷量計算値Q1cとの第2相関値、もしくは第2電荷量Q2と第2電荷量計算値Q2cとの第3相関値のいずれか2つの組み合わせから、第1電流検出回路と第2電流検出回路の異常を区別して判断すればよいことになる。
また、前記判断の詳細な動作(実施の形態1で述べた動作も含む)をまとめると、次のようになる。制御回路27は、第1相関値が既定最小値Min未満か既定最大値Maxを超えている場合、第2相関値が第1既定範囲を超えるか、または第3相関値が第2既定範囲以内であれば、第1電流検出回路17が異常と判断する。一方、第2相関値が第1既定範囲以内であるか、または第3相関値が第2既定範囲を超えれば、第2電流検出回路19が異常と判断する。さらに、第1相関値が既定最小値Min以上、かつ既定最大値Max以下であれば、第1電流検出回路17と第2電流検出回路19が正常と判断する。なお、第1電流検出回路17と第2電流検出回路19が正常と判断された場合は、第2相関値が第1既定範囲を超えるか、または第3相関値が第2既定範囲を超えれば、電圧検出回路25が異常と判断する。一方、第2相関値が第1既定範囲以内であるか、または第3相関値が第2既定範囲以内であれば、電圧検出回路25が正常と判断する。
さらに、本実施の形態4において、実施の形態2と同様に第2相関値と第3相関値を用いて異常判断する場合は、次のような動作になる。制御回路27は、第2相関値が第1既定範囲を超える場合、第3相関値が第2既定範囲以内であれば、前記第1電流検出回路17が異常と判断する。一方、第3相関値が第2既定範囲を超えれば、電圧検出回路25が異常と判断する。さらに、第2相関値が第1既定範囲以内の場合、第3相関値が第2既定範囲を超えれば、第2電流検出回路19が異常と判断する。一方、第3相関値が第2既定範囲以内であれば、第1電流検出回路17、第2電流検出回路19および電圧検出回路25が正常と判断する。
これらの動作から明らかなように、本実施の形態4に記載した電荷量に基いて異常判断を行う動作は、実施の形態1、2に記載した電流値に基いて異常判断を行う動作と実質的に同等である。
(実施の形態5)
図7は、本発明の実施の形態5における蓄電装置の電流検出回路における異常判断を行うフローチャートである。
本実施の形態5において、構成は図4と同一であるので、詳細な説明を省略する。本実施の形態5の特徴は動作にあるので、動作について以下説明する。
まず、通常の車両走行時の動作は実施の形態1と同じである。
次に、第1電流検出回路21、第2電流検出回路23、および電圧検出回路25の特徴となる異常判断動作について図7を用いて説明する。なお、図7の動作において、実施の形態4における図6と同じ動作については、同一のステップ番号を付して詳細な説明を省略する。また、図7に示すフローチャートも、図6と同様に、制御回路27において、既定時間間隔毎にメインルーチンから割り込み実行されるので、図7はサブルーチンとして記載している。
図7のサブルーチンが実行されると、制御回路27は、まず温度検出器29より第1蓄電素子17と第2蓄電素子19の温度Tを読み込む(S311)。次に、電圧検出回路25より第1蓄電素子電圧V1を読み込む(S213)が、この動作は図6と同じである。
次に、制御回路27は第1蓄電素子電圧V1を温度Tで補正する(S315)。この温度補正は、実施の形態3で述べたように、温度Tとの相関関係に基いて行われる。
次に、S217とS219の動作は図6と同じであるので、説明を省略する。その後、制御回路27は、S219で読み込んだ第1電流I1に対し、温度Tによる補正を行う(S321)。この補正方法も実施の形態3と同じである。
次に、制御回路27は第2電流検出回路23より第2電流I2を読み込む(S223)が、この動作も図6と同じである。次に、制御回路27は第2電流I2を温度Tで補正する(S325)。この補正方法も実施の形態3と同じである。なお、ここでは第1電流I1や第2電流I2を読み込む毎に温度補正を行っているが、これは既定期間Δtが実施の形態1に比べ2桁大きいので、都度、前記温度補正をしても十分な回数の読み込みができる。
次に、S227からS231までの動作は図6と同じであるので、説明を省略する。その後、制御回路27は、S231で読み込んだ第1蓄電素子電圧V1に対し、温度Tによる補正を行う(S333)。この補正方法もS315と同じである。
次に、S235とS237の動作は図6と同じであるので、説明を省略する。その後、制御回路27は、第1蓄電素子17の容量値C1を温度Tで補正する(S339)。この補正方法も実施の形態3と同じである。
その後の動作(S241からS257)は図6と同じであるので、説明を省略する。
以上の構成、動作により、温度検出器29で検出された温度Tに応じて、第1電流I1、第2電流I2、第1蓄電素子電圧V1、および容量値C1が、温度Tに対する、それぞれの相関関係から補正される上、各電荷量により異常判断を行うので、ノイズが多い環境下でも、第1電流検出回路21、第2電流検出回路23、および電圧検出回路25の異常を区別して高精度に判断することが可能な蓄電装置10を実現できる。
なお、本実施の形態5においても、実施の形態3と同様に、温度検出器29を第1蓄電素子17と第2蓄電素子19の少なくとも一方に設ける構成としてもよいし、第1蓄電素子17と第2蓄電素子19の両方に温度検出器29を設けてもよい。
また、本実施の形態5においても、第1相関値として実測比Dを、第2相関値として第1実測計算差Sc1を、それぞれ用いて異常判断を行っているが、実施の形態1で述べたように、第1相関値および第2相関値として4通りの組み合わせの内、どの組み合わせを選択しても、複数の電流検出回路の異常を区別して判断することが可能である。
また、本実施の形態5においても、実施の形態4で述べたように、第2相関値に替わって第3相関値を用いてもよいし、第2相関値と第3相関値により異常判断を行ってもよい。
また、実施の形態1、3において、図2や図5のサブルーチンのS53以降で電圧検出回路25の異常判断を行っているが、これは、例えば前記メインルーチンや他のサブルーチンで別途異常判断を行う構成の場合は省略してもよい。この場合、図2と図5のいずれのサブルーチンも、S45でYesの場合は、そのままサブルーチンを終了し、割り込み元に戻ればよい。なお、実施の形態2に対して前記メインルーチンや他のサブルーチンで別途異常判断を行う構成の場合は、図3のサブルーチンのS73を省き、S69でYesの場合は、そのままサブルーチンを終了し、割り込み元に戻ればよい。
同様に、実施の形態4、5においても、図6や図7のサブルーチンにおける電圧検出回路25の異常判断(S255以降)を前記メインルーチン等で行ってもよい。この場合、図6と図7のいずれのサブルーチンも、S247でYesの場合は、そのままサブルーチンを終了し、割り込み元に戻ればよい。
また、実施の形態1〜5において、実測比D、第1実測計算比Dc1および第2実測計算比Dc2の計算式は、分子と分母が逆であってもよい。この場合、既定最小値Min、既定最大値Max、第1既定範囲および第2既定範囲は、分子と分母を逆にした場合に応じて、適宜変更すればよい。
また、実施の形態1〜5では、第1蓄電素子17と第2蓄電素子19に電気二重層キャパシタを用いたが、これは、電気化学キャパシタ等の大容量キャパシタであってもよい。
さらに、ニッケル水素電池やリチウムイオン電池のように、実使用電圧範囲において充放電電圧が経時的に変化する特性を有する二次電池を第1蓄電素子17と第2蓄電素子19に用いてもよい。但し、特にニッケル水素電池のように充放電電圧の経時特性が非線形の場合は、容量値C1が一定ではなくなるので、例えば第1蓄電素子電圧V1に応じた容量値C1の相関関係をあらかじめ求め、現在の第1蓄電素子電圧V1から容量値C1を補正するようにすればよい。
また、実施の形態1〜5において、蓄電装置10を車両に適用した場合について説明したが、これに限らず、建設機械やエレベータ等のように回生電力を充放電する機器や、非常用電源の蓄電部分として適用してもよい。