(57)【特許請求の範囲】
【請求項１】
バッテリの出力電流及び回生電流を検出する電流検出手段（３０，４０）と、
前記バッテリの出力電圧を検出する電圧検出手段（４４）と、
前記電流検出手段及び前記電圧検出手段の検出結果に対し、ローパスフィルタによるフィルタ処理を施すフィルタ手段（４６，５０）と、
前記電流検出手段によって検出された電流値に基づいて、前記ローパスフィルタの時定数を変更する時定数変更手段（５２）と、
前記電流検出手段の検出結果を積算して前記バッテリの残容量を求める積算手段（５４）と、
前記フィルタ手段によってフィルタ処理が施された電流値に基づいて前記バッテリの残容量が前記所定の値の場合の閾電圧値を算出する閾電圧値算出手段（５６）と、
前記閾電圧値算出手段によって算出された閾電圧値と、前記フィルタ手段によりフィルタ処理が施された電圧値とを比較する比較手段（５８）と、
前記比較手段によって、フィルタ処理が施された電圧値が前記閾電圧値を越えていると判断された場合に、前記バッテリの残容量を前記所定の値に設定する設定手段（６０）と
を具備することを特徴とするバッテリ残容量検出装置。
【請求項２】
前記時定数変更手段は、前記電流値が大である場合には時定数を小とすることを特徴とする請求項１記載のバッテリ残容量検出装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、バッテリ残容量検出装置に係り、特に車両に搭載されるバッテリの残容量を検出するバッテリ残容量検出装置に関する。
【０００２】
【従来の技術】
近年、温暖化問題等を考慮し、二酸化炭素等の排出量を低減するために電気自動車やハイブリッド車両の開発が盛んに行われている。これらの車両は、排出ガス量がゼロであるモータを備えており、そのエネルギー供給源としてバッテリ（蓄電池）を装備している。
上記電気自動車においては常時モータの駆動力によってのみ走行しており、ハイブリッド車両はエンジンの補助としてモータを用いているが、モータから得られる駆動力によってのみ走行する場合がある。
従って、これらの車両においては、エネルギー供給源であるバッテリの残容量を正確に検出することが充電の必要性の有無、残りの使用可能時間、及び寿命判定を行う上で極めて重要である。
【０００３】
バッテリの残容量を測定する方法として、バッテリへの充電電流及びバッテリからモータへ供給される時の放電電流値を積算し、その電流値の積分量から現在のバッテリの残存容量を求める方法がある。すなわち、残容量は、現在のバッテリ内に貯留されている電荷の総量に相当し、電流値を時間積算する（充電電流は正、放電電流は負）ことによりバッテリーへの電荷の供給量と放出量の総和が求められるからである。この方法の詳細については、例えば特開昭６３−２０８７７３号公報を参照されたい。
【０００４】
また、バッテリの出力電圧に関して、充電末期（残容量が多い）の場合、及び放電末期（残容量が少ない）の場合にバッテリの残容量に対する出力電圧値の変化率が大きくなることが一般的に知られている。これは、バッテリの残容量に応じてバッテリ内の内部抵抗が変化するために生ずる現象である。
この特性に着目し、上述のようにバッテリの残容量に対する出力電圧値の変化率が大きくなった場合（充電末期、放電末期）にはバッテリの出力電圧値を用いて残容量の値を修正する技術が案出されている。
【０００５】
つまり、バッテリが充電末期と放電末期との中間状態にある場合にはバッテリの出力電流値を時間積算して残容量を求め、出力電圧値の変化率が大きくなって変曲点が現れて充電末期又は放電末期の状態が検出された場合には、バッテリの出力電圧値を用いて、電流を時間積算して得られた残容量の値の修正を行い、バッテリの出力電圧値に基づいて残容量を求める。この技術の詳細については、例えば、特開平６−３４２０４４号公報、特開平５−８７８９６号公報を参照されたい。
【０００６】
図９は、バッテリ出力電圧値の推移の一例を示す図である。図９中横軸はバッテリの残容量であり、縦軸はバッテリの出力電圧値である。
図９に示されたように、バッテリ残容量が放電末期（残容量が２０％）と充電末期（残容量が８０％）との間の状態にある場合には、符号Ｒ１が付された曲線で示したように、バッテリの残容量の低下に伴って出力電圧値も比較的小さい変化率で変化する。ただし、ハイブリッド車両の場合には、バッテリの充放電が繰り返されているため、実電圧の挙動は図中符号Ｒ２が付された線のように変化する。上記変化率が小さいという意味は細かな変動があったとしても、平均値の変化率が小さいという意味である。
【０００７】
これに対し、バッテリの残容量が充電末期（残容量が８０％）以上となると、出力電圧値の変化率が大となる。また、バッテリの残容量が放電末期（残容量が２０％）以下となった場合も同様である。このように、バッテリの出力電圧値はバッテリの残容量に応じて変化し、特に充電末期（残容量が８０％）又は放電末期（残容量が２０％）の場合には、その出力特性が変化する。
【０００８】
【発明が解決しようとする課題】
ところで、一般的に電流検出器は必ず検出誤差を有する。瞬時的な電流値を測定する場合であれば、この検出誤差は許容されるが、上記のように電流値を時間積算する場合には、その検出誤差も時間積算され、時間を経るにつれ誤差が大となり、その値が無視できない値になってしまい検出精度が低下しやすいという問題があった。
【０００９】
また、上述したバッテリ残容量修正マップを用いて残容量の測定精度を向上させる技術は、バッテリ残容量修正マップ自体が定常状態での特性を測定して得られたものであり、過渡状態（充電及び放電を交互に繰り返し、その電流値も変動する状態）の場合には、バッテリの応答遅れによって各検出値が定常時の値とは異なってしまうため、残容量の検出精度が低下するという問題があった。つまり、バッテリの出力電流及び回生電流が変化してもバッテリは直ちに（瞬時的に）その電流での安定した電圧値（定常状態の値）にはならず、所定時間遅れて安定値に達する。よって、検出された電圧、電流（の瞬時値）で残容量を検出すると検出誤差が生ずるという問題があった。
特に電気自動車やハイブリット車両に用いられるバッテリは、電気機器用のバッテリとは異なり。エンジンの始動及び停止が繰り返され、充電及び放電が繰り返されるので、検出精度が低下しやすいという問題があった。
【００１０】
本発明は上記事情に鑑みてなされたものであり、バッテリが過渡状態で頻繁に使用される場合であってもバッテリの残容量を高い精度で検出することができるマバッテリ残容量検出装置を提供することを目的とする。
【００１１】
【課題を解決するための手段】
上記課題を解決するために、本発明は、バッテリの出力電流及び回生電流を検出する電流検出手段（３０，４０）と、
前記バッテリの出力電圧を検出する電圧検出手段（４４）と、
前記電流検出手段及び前記電圧検出手段の検出結果に対し、ローパスフィルタによるフィルタ処理を施すフィルタ手段（４６，５０）と、
前記電流検出手段によって検出された電流値に基づいて、前記ローパスフィルタの時定数を変更する時定数変更手段（５２）と、
前記電流検出手段の検出結果を積算して前記バッテリの残容量を求める積算手段（５４）と、
前記フィルタ手段によってフィルタ処理が施された電流値に基づいて前記バッテリの残容量が前記所定の値の場合の閾電圧値を算出する閾電圧値算出手段（５６）と、
前記閾電圧値算出手段によって算出された閾電圧値と、前記フィルタ手段によりフィルタ処理が施された電圧値とを比較する比較手段（５８）と、
前記比較手段によって、フィルタ処理が施された電圧値が前記閾電圧値を越えていると判断された場合に、前記バッテリの残容量を前記所定の値に設定する設定手段（６０）と
を具備することを特徴としている。
【００１２】
上記積算手段は電流検出手段によって検出された電流値を積算することによってバッテリの残容量を算出している。ところで、本発明においては、フィルタ手段が、電流検出手段及び電圧検出手段の検出値に対してローパスフィルタによるフィルタ処理を行い、フィルタ処理が施された電流値及び電圧値に基づいてマップを用いてバッテリの残容量が所定の値となる閾電圧値を算出し、この閾電圧値とフィルタ処理が施された電圧値とを比較し、当該電圧値が閾電圧値を越えた場合には設定手段がバッテリの残容量を上記所定の値に設定している。
上記閾電圧値はフィルタ処理を施した電流値を用いて閾電圧値が算出され、当該閾電圧値と比較される電圧はフィルタ処理が施された電圧値であるのでバッテリの残容量がより高い精度で所定の値に設定されるとともに、積算誤差をリセットすることができる。従って、以降の検出においてはバッテリが過渡状態で頻繁に使用される場合であってもバッテリ残容量を高い精度で検出することができる。
【００１３】
また、本発明は、前記時定数変更手段が、前記電流値が大である場合には時定数を小とすることが好ましい。
電流値（駆動電流又は回生電流）が大である場合は充放電電流の値が大きいために残容量が急激に変化するが、このときにフィルタ手段の時定数が大きいとフィルタ手段の出力が定常状態になったときにはすでに充電又は放電が進んでしまい、バッテリの残容量が８０％より大となったり、２０％より小となったりする。本発明では電流値が大きい場合にはフィルタ手段の時定数を小さく（フィルタを弱く）してなるべく電流検出手段が検出した値を使用するようにしている。よって、閾電圧値を算出する精度の向上に資することができる。
【００１４】
【発明の実施の形態】
以下、図面を参照して本発明の一実施形態によるバッテリ残容量検出装置について詳細に説明する。
図１は、本発明の一実施形態によるバッテリ残容量検出装置が用いられる車両の全体構成を示すブロック図である。本実施形態においては、ハイブリッド車両に適用した場合について説明する。
【００１５】
図１において、１０はエンジンであり、その駆動力はトランスミッション１２を介して車輪１４，１４に伝達される。また、エンジン１０と並列に三相交流で動作するモータ／発電機１６が設けられている。モータ／発電機１６の回転軸とエンジン１０の回転軸とは直結されている。このモータ／発電機１６は、エンジン１０が停止している場合には、その駆動力がトランスミッション１２を介して車輪１４，１４に伝達され、エンジン１０が駆動している状態では、エンジン１０によって回転されて発電機の役割を果たす。
【００１６】
１８は、エンジン制御装置であり、信号線１０ａ，１０ｂ，１０ｃ各々を介してエンジン１０から出力されるエンジン回転数Ｎｅ、吸気管負圧Ｐｂ、水温Ｔｗを示す信号が入力されるとともに、信号線２０ａを介してアクセルペダル２０の踏み込み角度を示す信号θＴｈが入力され、これらの信号の値に応じてエンジンに供給する燃料量や点火時期を演算し、信号線１８ａ，１８ｂを介してエンジンに供給する燃料を制御する信号及び点火時期を制御する信号を出力する。
【００１７】
また、エンジン制御装置１８はモータ／発電機１６の動作の制御も行う。エンジン制御装置１８は信号線１８ｃ，２２ａを介してモータ制御装置２２と接続されている。エンジン制御装置１８からモータ制御装置２２へは信号線１８ｃを介してモータ／発電機１６の出力パワーを指示する制御信号が出力される。また、モータ制御装置２２からエンジン制御装置１８へは信号線２２ａを介して後述するバッテリ２６の残容量がそれぞれ出力される。エンジン制御装置１８は、バッテリ２６の残容量及びエンジン１０の運転状態（アクセル開度、エンジン回転数等）によって、モータ／発電機１６の駆動力又は回生力を演算し、信号線１８ｃによりモータ制御装置２２に送信する。
【００１８】
２４はバッテリ２６に接続されたインバータであり、モータ制御装置２２から信号線２２ｃを介して出力される制御信号に基づいてバッテリ２６から供給される電力を所定の値を有する三相交流に変換し、モータ／発電機１６に供給する。また、モータ／発電機１６には角度検出器２８が設けられており、検出された角度が信号線２８ａを介してインバータ２４へ入力される。この角度検出器２８はモータ／発電機１６の回転軸に設けられ、回転軸の回転角を検出する。検出された回転角は信号線２４ａを介してインバータ２４からモータ制御装置２２へ出力される。
【００１９】
また、インバータ２４は、モータ／発電機１６を流れる相電流及び全電流を検出しており、検出された相電流及び全電流は、信号線２４ｂ，２４ｃ各々を介してモータ制御装置２２へ出力される。モータ制御装置２２は、前述のエンジン制御装置１８から信号線１８ｃを介して出力される制御信号で指示されるモータの出力パワーが実際に得られるよう、インバータ２４から信号線２４ａ，２４ｂ，２４ｃを介して各々入力される回転角、相電流、及び全電流を考慮して、モータ／発電機１６へ供給する電力指示量を演算し、信号線２２ｃを介して制御信号として出力する。
【００２０】
バッテリ２６とインバータ２４との間にはバッテリ２６の出力電流を検出する電流検出器３０が設けられ、その検出値は信号線３０ａを介してバッテリ監視装置３２へ出力される。
また、バッテリ２６は、１０個のサブバッテリを直列に接続してなる構成であり、各々のサブバッテリには電圧検出器及び温度検出器（各々図示省略）が設けられ、それらの検出電圧及び検出温度は信号線２６ａ及び２６ｂを介して各々バッテリ監視装置３２へ出力される。
【００２１】
バッテリ監視装置３２は、バッテリ２６の状態、例えば残容量や温度を監視しており、信号線３２ａを介してバッテリ２６の残容量を、信号線３２ｂを介してバッテリ２６の出力電流をモータ制御装置２２へ出力する。
また、バッテリ監視装置３２は、信号線２６ｂを介して入力されるサブバッテリの温度に基づき、信号線３２ｃを介してファン３４を駆動制御する駆動制御信号を出力することによってバッテリ２６の温度を制御する。
また、３６はバッテリ２６の残容量を表示する残容量表示装置であり、例えば運転席の表示パネルに設けられ、運転者にバッテリ２６の残容量を表示する。
【００２２】
次に、上記構成における本発明の一実施形態によるバッテリ残容量検出装置が用いられる車両の全体の動作について説明する。
まず、エンジン１０によって走行する場合について説明する。
運転者がアクセルペダル２０を踏み込むと、信号線２０ａを介してアクセルペダル２０の踏み込み角度を示す信号θＴｈがエンジン制御装置１８に入力される。この信号θＴｈが入力されると、エンジン制御装置１８は信号線１８ａを介してエンジンに供給する燃料を制御する信号をエンジン１０に出力し、信号線１８ｂを介して点火時期を制御する信号をエンジン１０に出力する。
【００２３】
エンジン１０はこれらの信号に基づいて、シリンダ内に所定量の燃料を噴射するとともに、所定のタイミングで点火を行って駆動する。エンジン１０の駆動力はトランスミッション１２を介して車輪１４，１４に伝達され、走行が行われる。エンジン１０が駆動すると、エンジン１０から信号線１０ａ，１０ｂ，１０ｃを介して、エンジン回転数、吸気管負圧、及び水温を示す信号がそれぞれ出力され、エンジン制御装置１８に入力される。エンジン制御装置１８は、これらの信号及び前述のアクセルペダル２０の踏み込み角度を示す信号θＴｈに基づき、エンジン１０を制御する信号を信号線１８ａ，１８ｂを介して出力する。
【００２４】
一方、前述したように、エンジン１０の回転軸にはモータ／発電機１６の回転軸が直結されているので、エンジン１０の回転によってモータ／発電機１６は発電を行う。モータ／発電機１６によって発電された電力は、インバータ２４を介してバッテリ２６へ供給され、バッテリ２６の充電が行われる。
また、電流検出器３０はバッテリ２６が充電されている間、インバータ２４からバッテリ２６へ流れる電流の値を検出し、その電流検出値を信号線３０ａを介してバッテリ監視装置３２へ出力する。
【００２５】
次に、モータ／発電機１６の駆動力によって走行する場合について説明する。
運転者がアクセルペダル２０を踏み込むと、信号線２０ａを介してアクセルペダル２０の踏み込み角度を示す信号θＴｈがエンジン制御装置１８に入力される。この信号θＴｈが入力されると、エンジン制御装置１８は信号線２２ａを介して入力されるバッテリ２６の残容量が所定の値以上であれば信号線１８ｃを介してアクセルペダル２０の踏み込み角度を示す信号θＴｈに応じた制御信号を出力する。
【００２６】
モータ制御装置２２は、信号線１８ｃを介して入力される制御信号に基づいて信号線２２ｃを介してインバータ２４へ制御信号を出力する。制御信号が入力されるとインバータ２４はバッテリ２６から供給される電流を、入力される制御信号に応じた値を有する三相交流に変換してモータ／発電機１６へ供給する。これによって、モータ／発電機１６が回転を行い、その駆動力がトランスミッション１２を介して車輪１４，１４に伝達され走行が開始される。
【００２７】
モータ／発電機１６が回転を開始すると、角度検出器２８からインバータ２４へ検出された角度が出力され、インバータ２４からモータ制御装置２２へ検出された角度、相電流、及び全電流が出力される。モータ制御装置２２は、エンジン制御装置１８から信号線１８ｃを介して出力される制御信号で指示されるモータの出力パワーが実際に得られるよう、インバータ２４から出力されるこれらの信号を考慮して、モータ／発電機１６へ供給する電力指示量を演算し、信号線２２ｃを介して制御信号として出力する。インバータ２４はバッテリ２６から供給される電力をこの制御信号に基づいた値を有する三相交流に変換しモータ／発電機１６へ供給する。
【００２８】
エンジン１０によって走行を行う場合、及びモータ／発電機１６によって走行を行う場合の何れの場合であっても、バッテリ監視装置３２には、電流検出器３０によって検出された電流、バッテリ２６から出力される検出電圧及び検出温度が入力される。バッテリ監視装置３２はこれらの検出値に基づいて、ファン３４を制御してバッテリ２６の温度制御を行うとともに、バッテリ２６の残容量を求め、信号線３２ａを介してバッテリ２６の残容量をモータ制御装置２２へ出力する。モータ制御装置２２に出力されたバッテリ２６の残容量は、エンジン制御装置１８に出力されるとともに残容量表示装置３６へ出力される。
バッテリ２６の残容量が少ない場合には、エンジン制御装置１８は強制的にエンジン１０による走行に切り替える制御を行う。また、残容量表示装置３６の表示内容に応じて運転者が強制的にエンジン１０のみによる走行に切り替えることも可能である。
【００２９】
次に、本発明の一実施形態によるバッテリ残容量検出装置について詳細に説明する。
図２は、本発明の一実施形態によるバッテリ残容量検出装置の構成を示すブロック図である。
図２に示された本実施形態のバッテリ残容量検出装置は、図１中のバッテリ監視装置３２内に設けられる。このバッテリ残容量検出装置は、本実施形態においては、ＣＰＵ（中央処理装置）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）（何れも図示省略）等を備えた一般的なコンピュータによって実現される。以下に示す処理はＲＯＭ内に格納されたプログラムをＣＰＵが逐次読み出して実行することにより実現される。
【００３０】
図２において、４０は電流検出器であり、図１中の電流検出器３０相当するものである。また、４２は温度検出器、４４は電圧検出器であり、各々前述したサブバッテリに設けられる温度検出器及び電圧検出器に相当する。電流検出器４０、温度検出器４２、及び電圧検出器の検出結果は一次遅れフィルタ４６，４８，５０にそれぞれ入力される。一次遅れフィルタ４６，４８，５０はいわゆるローパスフィルタである。尚、一次遅れフィルタ４６，４８，５０へ入力される信号は電流検出器４０、温度検出器４２、及び電圧検出器４４の検出値をサンプリング及び量子化してディジタル化されている。尚、温度センサ４２の一次遅れフィルタ４８は、温度センサ検出値に含まれるノイズ（電気的なノイズ）を除去するためのものであり、バッテリ２６の応答特性とは無関係である。よって一次遅れフィルタ４８は省略しても良い。
【００３１】
電気回路によるローパスフィルタの最も簡単なものはコンデンサと抵抗とからなる回路であるが、本実施形態による一次遅れフィルタ４６，４８，５０はソフトウェアで実現されている。つまり、前回の一次遅れフィルタ４６，４８，５０の出力をＤｎ−１、今回の出力をＤｎ、現在検出された値をＤとすると一次遅れフィルタ４６，４８，５０は、以下の式で表される。
Ｄｎ＝τ１Ｄｎ−１＋τ２Ｄ
【００３２】
ここで、τ１，τ２は一次遅れフィルタ４６，４８，５０の時定数を決定する変数であり、τ１＋τ２＝１なる関係がある。ここで、一次遅れフィルタ４６，４８，５０の特性を考えてみると、変数τ２の値を大きくすると、現在検出された値Ｄが今回の出力Ｄｎに与える影響は大となる、逆に変数τ２の値を小さくすると、現在検出された値Ｄが今回の出力Ｄｎに与える影響は小となる。
【００３３】
よって、変数τ２の値を大とすると、一次遅れフィルタ４６，４８，５０の変数は小となり、変数τ２の値を小とすると、一次遅れフィルタ４６，４８，５０の変数は大となる。換言すると変数τ１の値を大とすると、一次遅れフィルタ４６，４８，５０の変数は大となり、変数τ１の値を小とすると、一次遅れフィルタ４６，４８，５０の変数は小となる。
変数τ１，τ２の一例を示すと、下式のような値が考えられる
Ｄｎ＝０．９５Ｄｎ−１＋０．０５Ｄ
【００３４】
図２に戻り、５２は時定数変更手段であり、電流検出器４０の出力に応じて、一次遅れフィルタ４６，５０の時定数を変更する。
５４は積算手段であり、電流検出器４０の検出結果を積算し、図１中のバッテリ２６から出力される電流量及びバッテリ２６に回生電流量を積算し、バッテリ２６の残容量を算出するものである。バッテリ２６は流入する電流に比例して充電される訳ではなく、バッテリ２６の温度及びバッテリ２６の残容量に依存して充電効率が変化する。よって、予めバッテリ２６の残容量及び温度と充電効率との関係を示したマップを求めておき、実測されたバッテリ２６の温度及び残容量から充電効率ηを求め、この充電効率η及びバッテリ２６に流入する電流からその状況におけるバッテリ２６の残容量を求める。
【００３５】
５６は、残容量判定マップであり、バッテリ２６のサブバッテリの残容量が一定である場合（８０％又は２０％）のバッテリ２６の温度、バッテリ２６の出力電流、及びバッテリの出力電圧の関係を示したマップを用い、一次遅れフィルタ４６から出力される電流値と一次遅れフィルタ４８から出力される温度値とからバッテリ２６の残容量が８０％となる電圧値（上限電圧値：閾電圧値）及び残容量が２０％となる電圧値（下限電圧値：閾電圧値）とを求めるものである。
【００３６】
ここで、残容量判定マップ５６について詳細に説明する。
図３は、充電末期（残容量が８０％）及び放電末期（残容量が２０％）となる点を求める際に用いられる、バッテリの温度、バッテリの出力電流値、及びバッテリの出力電圧値の関係を予め求めたバッテリ残容量修正マップ図である。図３（ａ）は、バッテリの残容量が８０％である場合の、バッテリの温度、バッテリの出力電流値、及びバッテリの出力電圧値の関係を示すバッテリ残容量修正マップであり、図３（ｂ）は残容量が２０％の場合である。
【００３７】
図３（ａ）中符号ｍ１が付された面は、残容量を８０％に設定した場合のバッテリ残容量修正マップを示しており、図３（ｂ）中符号ｍ２が付された面は、残容量を２０％に設定した場合のバッテリ残容量修正マップを示す。仮に、バッテリの残容量が電流又は温度の変化に依存しないとすると、バッテリ残容量修正マップｍ１，ｍ２は平面になる。図３において、バッテリ残容量修正マップｍ１，ｍ２が平面でないことから、バッテリの残容量はバッテリの温度、出力電流値、及び出力電圧値に依存することが確認できる。
【００３８】
バッテリの出力電圧に基づいて残容量を測定する場合には、まずバッテリの温度、バッテリの出力電流を測定する。次に、測定された温度及び出力電流から、残容量が８０％又は２０％である場合の出力電圧値を求める。残容量が８０％である場合の出力電圧値（上限電圧値）は、図３（ａ）に示したバッテリ残容量修正マップｍ１を用い。残容量が２０％である場合の出力電圧値（下限電圧値）は、図３（ｂ）に示したバッテリ残容量修正マップｍ２を用いる。そして、実際に測定されたバッテリの出力電圧値と上限電圧値又は下限電圧値とを比較し、バッテリの出力電圧値が上限電圧値以上となった場合には充電末期であると判断し、下限電圧値以下となった場合には放電末期であると判断する。
【００３９】
尚、図１に示したバッテリ２６は、前述したように１０個のサブバッテリからなり、各々には電圧検出器が設けられている。本実施形態においては、サブバッテリの何れかの出力電圧が上限電圧値となった場合にバッテリ２６の残容量が８０％であると判断し、また、サブバッテリの何れかの出力電圧が下限電圧値となった場合にバッテリ２６の残容量が２０％であると判断する。
【００４０】
比較器５８は、残容量判定マップ５６を用いて求められた上限電圧値及び下限電圧値と一次遅れフィルタ５０から出力された電圧値とを比較し、当該電圧値が上限電圧値以上の値であるか又は下限電圧値以下の電圧値であるかを判断する。比較器５８は現在の電圧値が上限電圧値以上の値であるか又は下限電圧値以下の値であると判断した場合にはその旨を出力する。
リセット手段６０は、比較器５８の出力に応じて、積算手段５４から出力される値をリセットする。
【００４１】
つまり、リセット手段６０は、現在の電圧値がバッテリ２６の残容量８０％の場合に示される電圧値である旨の信号が比較器５０から出力された場合には、積算手段５４から出力される値をリセットし、バッテリ２６の現在の残容量Ｚを８０％に設定する。同様に、現在の電圧値がバッテリ２６の残容量２０％の場合に示される電圧値である旨の信号が比較器５０から出力された場合には、積算手段５４から出力される値をリセットし、バッテリ２６の現在の残容量Ｚを２０％に設定する。また、現在の電圧値がバッテリ２６の残容量が８０％と２０％の間の場合に示される電圧値である旨の信号が比較器５０から出力された場合には、積算手段５４から出力される値を残容量Ｚとする。
【００４２】
次に、上記構成における本発明の一実施形態によるバッテリ残容量検出装置の動作について図４〜図８を参照して詳細に説明する。
図４は、本発明の一実施形態によるバッテリ残容量検出装置の動作のメインルーチンでを示したフローチャートである。
図４に示したフローチャートの各ステップは所定の時間間隔をもって実行される。各処理の時間間隔は各ステップの動作を説明する際に示す。
【００４３】
まず、運転者が図１に示した車両を起動させると、本実施形態におけるバッテリ残容量検出装置が動作を開始する。
本実施形態によるバッテリ残容量検出装置が動作を開始すると、電流検出器４０、温度検出器４２、及び電圧検出器４４が、バッテリ２６とインバータ２４との間に流れる電流値、バッテリ２６内のサブバッテリの出力電圧値、及びバッテリ２６内のサブバッテリの温度を検出し、検出結果を出力する処理が行われる（ステップＳ１０）。この処理は１０ｍｓｅｃの時間間隔をもって行われ、従って、各検出値は、１０ｍｓｅｃの時間間隔でサンプリングされることになる。尚、本実施形態においては、サブバッテリは１０個設けられているので、サブバッテリの出力電圧値及びサブバッテリの温度は１０種類の信号である。
【００４４】
電流検出器４０で検出された電流値は積算手段５４、時定数変更手段５２、及び一次遅れフィルタ４６に入力される。積算手段５４においては、入力される電流値を積算する処理が行われる。積算手段５４によって積算された電流値はバッテリ２６に充電及び放電される電荷の総量を示しているので、この積算値に基づいてバッテリ２６の残容量が求められる。
【００４５】
電流検出器４０で検出された電流値は一次遅れフィルタ４６へ入力されるとともに時定数変更手段５２へ入力され、フィルタ処理が行われる。同様に、一次遅れフィルタ４８，５０においてもフィルタ処理が行われる（ステップＳ２０）。この処理は、１０ｍｓｅｃの時間間隔をもって行われる。
次に、ステップＳ２０に示すフィルタ処理について説明する。
図５は、フィルタ処理の処理手順を示すフローチャートである。図５においては、一次遅れフィルタ４２で行われる処理が示してある。尚、一次遅れフィルタ４８，５０で行われる処理も同様である。
【００４６】
フィルタ処理が開始すると、まず第１フィルタ（時定数１ｓｅｃ）ＬＰＦ１を用いてフィルタ処理が行われる（ステップＳ２００）。第１フィルタＬＰＦ１を用いてフィルタ処理が行われ、得られた電流値をＩＬＰＦ１とする。次に、電流値の大きさ（電流レンジ）を判断する処理が行われる（ステップＳ２０２）。この処理は、検出された電流値に応じて適した時定数に設定するために必要な処理である。ステップＳ２０２において、検出された電流値が−３０〜０Ａの大きさであると判断されると、処理はステップＳ２０４へ進む。ステップＳ２０４においては、第２フィルタ（時定数２０ｓｅｃ）ＬＰＦ２を用いてフィルタ処理が行われる（ステップＳ２０４）。第２フィルタＬＰＦ２を用いてフィルタ処理が行われ、得られた電流値をＩＬＰＦ２とする。上記のように、第１フィルタＬＰＦ１の時定数は１ｓｅｃであり、第２，第３フィルタＬＰＦ２，ＬＰＦ３の時定数は２０ｓｅｃである。
【００４７】
一方、ステップＳ２０２において、電流値が０〜３０Ａであると判断された場合には、第３フィルタ（時定数２０ｓｅｃ）ＬＰＦ３を用いてフィルタ処理が行われる（ステップＳ２０６）。第３フィルタＬＰＦ３を用いてフィルタ処理が行われ、得られた電流値をＩＬＰＦ３とする。
上記第２フィルタＬＰＦ２はバッテリ２６が充電される場合であって、電流値が比較的小さい場合の時定数を有するフィルタであり、第３フィルタＬＰＦ３はバッテリ２６が放電される場合であって、電流値が比較的小さい場合の時定数を有するフィルタである。
【００４８】
本実施形態においては、第２フィルタＬＰＦ２の時定数と第３フィルタＬＰＦ３の時定数が同じ値に設定されているが、異なった値でもよいことはもちろんである。
ステップＳ２０４、ステップＳ２０６、及びステップＳ２０２において、電流値が−３０Ａ以下又は３０Ａ以上であると判断された場合には、処理はステップＳ２０８へ進む。
【００４９】
以上の処理によって、フィルタ処理を行った後の電流値が得られる訳であるが、電流値がー３０〜３０Ａである場合には、電流値ＩＬＰＦ１及び電流値ＩＬＰＦ２又は電流値ＩＬＰＦ１及び電流値ＩＬＰＦ３が得られる。図２から、一見すると電流検出器４０から出力される電流値に応じて時定数変更手段５２が一次遅れフィルタ４６の時定数を変更し、一次遅れフィルタ４６が変更された時定数のフィルタによってフィルタ処理を行っているように見えるが、本実施形態においては処理の高速化及び簡略化のため異なる時定数を有する第１フィルタＬＰＦ１及び第２フィルタＬＰＦ２又は第３フィルタＬＰＦ３を用いてフィルタ処理を行った後、後述するように、電流値の大きさに応じて電流値ＩＬＰＦ１、ＩＬＰＦ２、又はＩＬＰＦ３を選択するようにして実現している。
尚、電流値の大きさが−３０Ａ以下又は３０Ａ以上である場合には、電流値ＩＬＰＦ２，ＩＬＰＦ３は得られない。
【００５０】
図５に戻り、ステップＳ２０８では、フィルタ処理が開始してから１ｓｅｃ経過したか否かが判断される。この処理は、後述するように、図４中のステップＳ３０以降の処理が１ｓｅｃの時間間隔で行われるため、時間を調整するためのものである。ステップＳ２０８における判断結果が「ＮＯ」である場合には、ステップＳ２０８の処理を繰り返し、判断結果が「ＹＥＳ」である場合には処理がステップＳ２１０へ進む。
ステップＳ２１０ではステップＳ２００，Ｓ２０４，Ｓ２０６の処理で得られた電流値ＩＬＰＦ１，ＩＬＰＦ２，ＩＬＰＦ３の値が、レジスタ（図示省略）へ出力される。尚、電流値ＩＬＰＦ２若しくは電流値ＩＬＰＦ３、又は電流値ＩＬＰＦ２及び電流値ＩＬＰＦ３が得られない場合があるが、その場合にはそれらの値として値「０」が出力される。以上でフィルタ処理が終了する。
【００５１】
次に、図４に示された残容量計算を行う処理（ステップＳ３０）が行われる。
図６は、残容量計算を行う処理手順を示すフローチャートである。この処理は図２中の積算手段５４によって行われる。尚、ステップＳ３０の処理は１ｓｅｃの時間間隔で行われる。
残容量計算処理が開始すると、入力される電流が負の値であるか否かが判断される（ステップＳ３００）。電流が負であるとは、バッテリ２６に電流が流入していることを意味する。この判断結果が「ＹＥＳ」である場合には、充電効率マップを検索する処理が行われる（ステップＳ３０２）。この処理は、バッテリ２６が充電される場合にはバッテリ２６に流入する電流に比例して充電される訳ではなく、バッテリ２６の温度及びバッテリ２６の残容量に依存して充電効率が変化するため、バッテリ２６の残容量を正確に求めるために行う処理である。
【００５２】
より具体的には、温度検出手段４２で検出されたサブバッテリの温度と、現在のバッテリ２６の残容量から充電効率マップを検索して、その状況における充電効率ηを求める。尚、受電効率マップを検索する場合には温度検出手段４２から出力される値を用いるよりも、一次遅れフィルタ４８から出力される値を用いた方がより正確な値の充電効率ηが得られる。尚、前述したように、バッテリ２６は１０個のサブバッテリからなるので、充電効率ηも各々のサブバッテリに対して求められる。
充電効率ηを求める処理を終えると、得られた充電効率ηと電流検出器４０から出力される電流値をとの積の絶対値を、現在のバッテリの残容量（ＳＯＣ：Ｓｔａｔｅ  Ｏｆ  Ｃｈａｒｇｅ）に加算し、新たなバッテリの残容量とする処理が行われる。この処理は、１０個のサブバッテリ各々に対して行われる。
【００５３】
一方、ステップＳ３０６における判断結果が「ＮＯ」でる場合、つまり電流検出器４０で検出された電流値が正であると判断された場合には、処理はステップＳ３０６へ進む。上記電流値が正のときは、バッテリ２６から電流が出力されていることを意味する。
ステップＳ３０６では、電流検出器４０によって検出された電流値を現在の残容量から減算し、新たな残容量とする処理が行われる。この処理は、１０個のサブバッテリ各々に対して行われる。
ステップＳ３０４の処理が終了した場合、及びステップＳ３０６の処理が終了した場合には、処理は図４に示すメインルーチンに戻る。
【００５４】
ステップＳ４０における残容量計算処理が終了すると、残容量マップ検索を行う処理が行われる（ステップＳ４０）。この処理は、１ｓｅｃの時間間隔で行われる。
図７は、残容量マップ検索の処理を示すフローチャートである。図７に示した処理は、図２中の残容量判定マップ５６を用いて行われる。
残容量マップ検索処理が開始すると、まず図５中のステップＳ２１０で出力され、レジスタに格納されている電流値ＩＬＰＦ１の値が負であるか否かが判断される（ステップＳ４００）。つまり、バッテリ２６へ電流が流入しているか否かが判断される。この判断結果が「ＹＥＳ」である場合には、処理がステップＳ４０２へすすむ。
【００５５】
ステップＳ４０２では、電流値ＩＬＰＦ１が−３０Ａより小さいか否かが判断される。この判断結果が「ＹＥＳ」の場合は、ステップＳ４０４へ進み、電流値Ｉ１，電流値ＩＬＰＦ２，電流値ＩＬＰＦ３から電流値ＩＬＰＦ１を選択する処理が行われる。
次に、選択された電流値ＩＬＰＦ１及び一次遅れフィルタ４８から出力される温度を用い、残容量判定マップ５６からサブバッテリの残容量が８０％となる電圧値（上限電圧値）を求める処理が行われる（ステップＳ４０６）。求められた上限電圧値は図示しないレジスタに格納されるとともに、処理は図４に示すメインルーチンに戻る。尚、ステップＳ４０６に示した処理は１０個のサブバッテリ各々に対して行われる。
【００５６】
また、ステップＳ４０２における判断結果が「ＮＯ」である場合には、処理はステップＳ４０８へ進み、電流値Ｉ１，電流値ＩＬＰＦ２，電流値ＩＬＰＦ３から電流値ＩＬＰＦ２を選択する処理が行われる。つまり、電流値の変化率が小さいため、時定数の小さなローパスフィルタＬＰＦ２を用いて算出された電流値が選択される。
次に、選択された電流値ＩＬＰＦ２及び一次遅れフィルタ４８から出力される温度を用い、残容量判定マップ５６からサブバッテリの残容量が８０％となる電圧値（上限電圧値）を求める処理が行われる（ステップＳ４１０）。求められた上限電圧値は図示しないレジスタに格納されるとともに、処理は図４に示すメインルーチンに戻る。尚、ステップＳ４１０に示した処理は１０個のサブバッテリ各々に対して行われる。
【００５７】
一方、ステップＳ４００における判断結果が「ＮＯ」である場合、つまりいてレジスタに格納されている電流値ＩＬＰＦ１の値が正であり、バッテリ２６から電流が出力されていると判断された場合には、処理はステップＳ４１２へ進む。
ステップＳ４１２では、電流値ＩＬＰＦ１が３０Ａより小さいか否かが判断される。この判断結果が「ＹＥＳ」の場合は、ステップＳ４１４へ進み、電流値Ｉ１，電流値ＩＬＰＦ２，電流値ＩＬＰＦ３から電流値ＩＬＰＦ３を選択する処理が行われる。
次に、選択された電流値ＩＬＰＦ３及び一次遅れフィルタ４８から出力される温度を用い、残容量判定マップ５６からサブバッテリの残容量が２０％となる電圧値（下限電圧値）を求める処理が行われる（ステップＳ４１６）。求められた下限電圧値は図示しないレジスタに格納されるとともに、処理は図４に示すメインルーチンに戻る。尚、ステップＳ４１６に示した処理は１０個のサブバッテリ各々に対して行われる。
【００５８】
また、ステップＳ４１２における判断結果が「ＮＯ」である場合には、処理はステップＳ４１８へ進み、電流値Ｉ１，電流値ＩＬＰＦ２，電流値ＩＬＰＦ３から電流値ＩＬＰＦ１を選択する処理が行われる。
次に、選択された電流値ＩＬＰＦ１及び一次遅れフィルタ４８から出力される温度を用い、残容量判定マップ５６からサブバッテリの残容量が２０％となる電圧値（下限電圧値）を求める処理が行われる（ステップＳ４２０）。求められた下限電圧値は図示しないレジスタに格納されるとともに、処理は図４に示すメインルーチンに戻る。尚、ステップＳ４２０に示した処理は１０個のサブバッテリ各々に対して行われる。
【００５９】
図７に示したステップＳ４０６，Ｓ４１０，Ｓ４１６，Ｓ４２０の何れかの処理を終了すると、図４示す残容量上下限判断処理が行われる（ステップＳ５０）。この処理は図２中の比較器５８及びリセット手段６０によって１ｓｅｃの時間間隔で行われる。
図８は、残容量上下限判断処理の手順を示すフローチャートである。
図８には、４つのフローチャートが示されているが、図７に示した残容量マップ検索処理で行われた処理に応じて実行されるフローチャートが決定される。つまり、図７中のステップＳ４０６が行われた場合には、図８中のフローチャートｆ１が実行され、図７中のステップＳ４１０が行われた場合には、図８中のフローチャートｆ２が実行され、図７中のステップＳ４１６が行われた場合には、図８中のフローチャートｆ３が実行され、図７中のステップＳ４２０が行われた場合には、図８中のフローチャートｆ４が実行される。
【００６０】
図８中で用いられている記号「Ｃ」はカウンタの値を示し、サブバッテリの残容量をより正確に８０％又は２０％とするために用いられる。つまり、一次遅れフィルタ５０から出力される電圧値は時間とともに変化している訳であり、例えば一度上限電圧値ＶｔｈＨ以上になったとしてもすぐに電圧値が低下する場合が考えられる。よって、瞬時的に一次遅れフィルタ５０から出力される電圧値が上限電圧値ＶｔｈＨを越えたとしてもバッテリ２６の残容量を８０％とせずに、ある時間の間、一次遅れフィルタ５０から出力される電圧値が上限電圧値ＶｔｈＨを越えた場合に初めてバッテリ２６の残容量を８０％とすることにより残容量の正確さを期すためにカウンタが用いられる。
【００６１】
まず、フローチャートｆ１に示された処理について説明する。処理が開始すると、一次遅れフィルタ５０から出力される電圧値ＶＬＰＦ１と図７中のステップＳ４０６で求めた上限電圧値ＶｔｈＨとの比較が行われる（ステップＳ５００）。この処理はサブバッテリ各々から出力される電圧値に対して行われる。ステップＳ５００において、サブバッテリの各々に対応する電圧値ＶＬＰＦ１の何れか１つが上限電圧値ＶｔｈＨ以上であると判断されると、処理はステップＳ５０２へ進む。
ステップＳ５０２ではカウンタＣの値をインクリメントする処理が行われる。尚カウンタＣの値は０である。ステップＳ５０４ではカウンタの値が「２」であるか否かが判断される。ステップＳ５０４の判断結果が「ＹＥＳ」である場合には処理はステップＳ５０６へ進み、バッテリ２６の残容量を８０％に設定する処理（リセット）が行われる。
一方、ステップＳ５００において、サブバッテリの各々に対応する電圧値ＶＬＰＦ１の何れもが上限電圧値電圧値ＶｔｈＨより小さいと判断されると、処理はステップＳ５０８へ進み、カウンタＣの値を「０」に設定する処理が行われる。
ステップＳ５０６の処理が終了した場合、ステップＳ５０８の処理が終了した場合、及びステップＳ５０４において「ＮＯ」と判断された場合には、バッテリ２６の残容量が８０％以下の値であり、この場合は、バッテリ２６の残容量として積算手段５４の積算値が用いられるため、バッテリ２６の残容量をリセットせずに図４に示すメインルーチンに戻る。
【００６２】
次に、フローチャートｆ２に示された処理について説明する。処理が開始すると、一次遅れフィルタ５０から出力される電圧値ＶＬＰＦ２と図７中のステップＳ４１０で求めた上限電圧値ＶｔｈＨとの比較が行われる（ステップＳ５１０）。尚、図２を参照すると、時定数変更手段５２は一次遅れフィルタ５０の時定数も変更しているため、電流と同様にその変化率に応じて異なる時定数を用いてフィルタ処理が行われた電圧値が求められる。この処理はサブバッテリ各々から出力される電圧値に対して行われる。ステップＳ５１０において、サブバッテリの各々に対応する電圧値ＶＬＰＦ２の何れか１つが上限電圧値ＶｔｈＨ以上であると判断されると、処理はステップＳ５１２へ進む。
ステップＳ５１２ではカウンタＣの値をインクリメントする処理が行われる。尚カウンタＣの値は０である。ステップＳ５１４ではカウンタの値が「１０」であるか否かが判断される。フローチャートｆ１においては、カウンタＣの値が「２」であるか否かが判断されていたが、フローチャートｆ２においては、より大きな値「１０」であるか否かが判断される。これは、図７中のステップＳ４０２において電流値ＩＬＰＦ１の変化率が小さいと判断されたため、単位時間にバッテリ２６が単位時間に充電される割合が小さく、バッテリ２６の残容量が８０％に達したことをより正確に判断するためである。
ステップＳ５１４の判断結果が「ＹＥＳ」である場合には処理はステップＳ５１６へ進み、バッテリ２６の残容量を８０％に設定する処理（リセット）が行われる。
一方、ステップＳ５１０において、サブバッテリの各々に対応する電圧値ＶＬＰＦ２の何れもが上限電圧値電圧値ＶｔｈＨより小さいと判断されると、処理はステップＳ５１８へ進み、カウンタＣの値を「０」に設定する処理が行われる。
ステップＳ５１６の処理が終了した場合、ステップＳ５１８の処理が終了した場合、及びステップＳ５１４において「ＮＯ」と判断された場合には、バッテリ２６の残容量が８０％以下の値であり、この場合は、バッテリ２６の残容量として積算手段５４の積算値が用いられるため、バッテリ２６の残容量をリセットせずに図４に示すメインルーチンに戻る。
【００６３】
次に、フローチャートｆ３に示された処理について説明する。処理が開始すると、一次遅れフィルタ５０から出力される電圧値ＶＬＰＦ３と図７中のステップＳ４１０で求めた下限電圧値ＶｔｈＬとの比較が行われる（ステップＳ５２０）。この処理はサブバッテリ各々から出力される電圧値に対して行われる。ステップＳ５２０において、サブバッテリの各々に対応する電圧値ＶＬＰＦ３の何れか１つが下限電圧値ＶｔｈＬ以下であると判断されると、処理はステップＳ５２２へ進む。
ステップＳ５２２ではカウンタＣの値をインクリメントする処理が行われる。尚カウンタＣの値は０である。ステップＳ５２４ではカウンタの値が「１０」であるか否かが判断される。カウンタＣの値を「１０」と比較する理由は、フローチャートｆ２で説明した理由と同様の理由である。
ステップＳ５２４の判断結果が「ＹＥＳ」である場合には処理はステップＳ５２６へ進み、バッテリ２６の残容量を２０％に設定する処理（リセット）が行われる。
一方、ステップＳ５２０において、サブバッテリの各々に対応する電圧値ＶＬＰＦ３の何れもが下限電圧値電圧値ＶｔｈＬより大きいと判断されると、処理はステップＳ５２８へ進み、カウンタＣの値を「０」に設定する処理が行われる。
ステップＳ５２６の処理が終了した場合、ステップＳ５２８の処理が終了した場合、及びステップＳ５２４において「ＮＯ」と判断された場合には、バッテリ２６の残容量が２０％以上の値であり、この場合は、バッテリ２６の残容量として積算手段５４の積算値が用いられるため、バッテリ２６の残容量をリセットせずに図４に示すメインルーチンに戻る。
【００６４】
次に、フローチャートｆ４に示された処理について説明する。処理が開始すると、一次遅れフィルタ５０から出力される電圧値ＶＬＰＦ１と図７中のステップＳ４１０で求めた下限電圧値ＶｔｈＬとの比較が行われる（ステップＳ５３０）。この処理はサブバッテリ各々から出力される電圧値に対して行われる。ステップＳ５３０において、サブバッテリの各々に対応する電圧値ＶＬＰＦ１の何れか１つが下限電圧値ＶｔｈＬ以下であると判断されると、処理はステップＳ５３２へ進む。
ステップＳ５３２ではカウンタＣの値をインクリメントする処理が行われる。尚カウンタＣの値は０である。ステップＳ５３４ではカウンタの値が「２」であるか否かが判断される。カウンタＣの値を「２」と比較するのは、図７中のステップＳ４１２でその絶対値が大きいため単位時間の充電率が大きいという理由に基づく。
ステップＳ５３４の判断結果が「ＹＥＳ」である場合には処理はステップＳ５３６へ進み、バッテリ２６の残容量を２０％に設定する処理（リセット）が行われる。
一方、ステップＳ５３０において、サブバッテリの各々に対応する電圧値ＶＬＰＦ３の何れもが下限電圧値電圧値ＶｔｈＬより大きいと判断されると、処理はステップＳ５３８へ進み、カウンタＣの値を「０」に設定する処理が行われる。
ステップＳ５３６の処理が終了した場合、ステップＳ５３８の処理が終了した場合、及びステップＳ５３４において「ＮＯ」と判断された場合には、バッテリ２６の残容量が２０％以上の値であり、この場合は、バッテリ２６の残容量として積算手段５４の積算値が用いられるため、バッテリ２６の残容量をリセットせずに図４に示すメインルーチンに戻る。
【００６５】
以上説明した処理により、残容量上下限判断処理は終了して残容量が求められる。求められた残容量は図１中のバッテリ監視装置３２から信号線３２ａを介してモータ制御装置２２へ出力される。モータ制御装置２２に残容量が入力されると信号線２２ａを介してエンジン制御装置１８へ出力されるとともに、残容量表示装置３６へ出力される。残容量表示装置３６は入力される残容量を、例えば数値化したり、グラフ化して表示する。
以上、本発明の一実施形態によるバッテリ残容量検出装置について説明したが、本発明は上記実施形態に制限されず、本発明の範囲内で自由に変更が可能である。
【００６６】
【発明の効果】
以上説明したように、本発明によれば、積算手段は電流検出手段によって検出された電流値を積算することによってバッテリの残容量を算出しているが、フィルタ手段が、電流検出手段及び電圧検出手段の検出値に対してローパスフィルタによるフィルタ処理を行い、フィルタ処理が施された電流値及び電圧値に基づいてマップを用いてバッテリの残容量が所定の値となる閾電圧値を算出し、この閾電圧値とフィルタ処理が施された電圧値とを比較し、当該電圧値が閾電圧値を越えた場合には設定手段がバッテリの残容量を上記所定の値に設定している。
上記閾電圧値はフィルタ処理を施した電流値を用いて閾電圧値が算出され、当該閾電圧値と比較される電圧はフィルタ処理が施された電圧値であるのでバッテリの残容量がより高い精度で所定の値に設定されるとともに、積算誤差をリセットすることができる。従って、以降の検出においてはバッテリが過渡状態で頻繁に使用される場合であってもバッテリ残容量を高い精度で検出することができるという効果がある。
また、電流値（駆動電流又は回生電流）が大である場合は充放電電流の値が大きいために残容量が急激に変化するが、このときにフィルタ手段の時定数が大きいとフィルタ手段の出力が定常状態になったときにはすでに充電又は放電が進んでしまい、バッテリの残容量が８０％より大となったり、２０％より小となったりする。本発明では電流値が大きい場合にはフィルタ手段の時定数を小さく（フィルタを弱く）してなるべく電流検出手段が検出した値を使用するようにしている。よって、閾電圧値を算出する精度の向上に資することができるという効果がある。
【図面の簡単な説明】
【図１】本発明の一実施形態によるバッテリ残容量検出装置が用いられる車両の全体構成を示すブロック図である。
【図２】本発明の一実施形態によるバッテリ残容量検出装置の構成を示すブロック図である。
【図３】充電末期（残容量が８０％）及び放電末期（残容量が２０％）となる点を求める際に用いられる、バッテリの温度、バッテリの出力電流値、及びバッテリの出力電圧値の関係を予め求めたバッテリ残容量修正マップ図である。
【図４】本発明の一実施形態によるバッテリ残容量検出装置の動作のメインルーチンでを示したフローチャートである。
【図５】フィルタ処理の処理手順を示すフローチャートである。
【図６】残容量計算を行う処理手順を示すフローチャートである。
【図７】残容量マップ検索の処理を示すフローチャートである。
【図８】残容量上下限判断処理の手順を示すフローチャートである。
【図９】バッテリ出力電圧値の推移の一例を示す図である。
【符号の説明】
２６                バッテリ
３０，４０          電流検出器（電流検出手段）
４２                温度検出器（温度検出手段）
４４                電圧検出器（電圧検出手段）
４６，４８，５０    一次遅れフィルタ（フィルタ手段）
５２                時定数変更手段
５４                積算手段
５６                残容量マップ（閾電圧値算出手段）
５８                比較器（比較手段）
６０                リセット手段（設定手段）
Ｚ                  残容量
ＶｔｈＨ                上限電圧値（閾電圧値）
ＶｔｈＬ                下限電圧値（閾電圧値）
【図１】
0003607105.tif 000002
【図２】
0003607105.tif 000003
【図３】
0003607105.tif 000004
【図４】
0003607105.tif 000005
【図５】
0003607105.tif 000006
【図６】
0003607105.tif 000007
【図７】
0003607105.tif 000008
【図８】
0003607105.tif 000009
【図９】
0003607105.tif 000010