(57)【特許請求の範囲】
【請求項１】
複数の電池温度に対する内部抵抗を演算する電池の内部抵抗の検出方法であって、
電池温度を検出する工程と、
前記電池温度が含まれる所定の温度帯域において、所定のサンプリング周期で、電池の電流、電圧を含む複数の検出データを検出する工程と、
前記複数の検出データのうち、同期して検出される電池の電流および電圧のデータ組を用い、複数の温度帯域に対して実測内部抵抗を演算する工程と、
ルックアップテーブル又は関数を用いて、ある温度帯域における前記実測内部抵抗から任意の温度帯域における推定内部抵抗を推定する工程と、
同じ温度帯域における前記推定内部抵抗と前記実測内部抵抗とを比較し、前記推定内部抵抗と前記実測内部抵抗のいずれかの内部抵抗を取得する工程と、
前記内部抵抗を取得する工程によって取得される前記内部抵抗を用いて、前記電池温度および電池の電圧から電池を充放電する最大電流を特定する工程と、を備えることを特徴とする電池の内部抵抗の検出方法。
【請求項２】
請求項１に記載の電池の内部抵抗の検出方法であって、
前記内部抵抗を取得する工程は、
同じ温度帯域における前記推定内部抵抗と前記実測内部抵抗とを比較する工程と、
前記実測内部抵抗と前記推定内部抵抗の差が予め設定される設定差よりも大きい状態となる場合に、該温度帯域における内部抵抗として、前記推定内部抵抗を取得する工程と、
前記実測内部抵抗と前記推定内部抵抗の差が予め設定される設定値よりも小さい状態となる場合に、該温度帯域における内部抵抗として、前記実測内部抵抗を取得する工程と、を含むことを特徴とする電池の内部抵抗の検出方法。
【請求項３】
請求項１または請求項２に記載の電池の内部抵抗の検出方法であって、
さらに、所定の温度帯域における内部抵抗に対する電池の劣化度を示す内部抵抗−劣化度データに基づいて、特定の温度で検出される前記実測内部抵抗から電池の劣化度を判定する工程を備えることを特徴とする電池の内部抵抗の検出方法。
【請求項４】
請求項１または請求項２に記載の電池の内部抵抗の検出方法であって、
前記実測内部抵抗を演算する工程は、
前記複数の検出データのうち、あらかじめ設定される測定時間帯において検出されると共に、あらかじめ設定される設定電流の範囲に含まれるデータ組を特定する工程と、
前記特定する工程によって特定されたデータ組でもって、前記実測内部抵抗を演算する工程と、を含むことを特徴とする電池の内部抵抗の検出方法。
【請求項５】
請求項４に記載の電池の内部抵抗の検出方法であって、
前記設定電流は、放電電流では、［電池の開放電圧−電池の下限電圧］に比例し、かつ電池の内部抵抗に反比例するように設定し、充電電流では、［電池の上限電圧−電池の開放電圧］に比例し、かつ電池の内部抵抗に反比例するように設定されることを特徴とする電池の内部抵抗の検出方法。
ただし、電池の開放電圧は、電流を流さない状態での電池の電圧、
電池の下限電圧は、電池として許容できる下限の電圧、
電池の上限電圧は、電池として許容できる上限の電圧である。
【請求項６】
請求項１または請求項２に記載の電池の内部抵抗の検出方法であって、
前記実測内部抵抗を演算する工程は、
前記複数の検出データのうち、あらかじめ設定される測定時間帯において検出されると共に、あらかじめ設定される設定電圧の範囲に含まれるデータ組を特定する工程と、
前記特定する工程によって特定されたデータ組でもって、前記実測内部抵抗を演算する工程と、を含むことを特徴とする電池の内部抵抗の検出方法。
【請求項７】
請求項６に記載の電池の内部抵抗の検出方法であって、
前記設定電圧の範囲は、
電池の上限電圧と、電池の下限電圧と、［電池の上限電圧−電池の下限電圧］の１０％〜５０％の電圧幅と、によって特定される電圧範囲であって、
前記電池の上限電圧から前記電圧幅の分だけ低い電圧までの電圧範囲と、
前記電池の下限電圧から前記電圧幅の分だけ高い電圧までの電圧範囲と、を含む電圧範囲に設定してなる電池の内部抵抗の検出方法。
ただし、電池の下限電圧は、電池として許容できる下限の電圧、
電池の上限電圧は、電池として許容できる上限の電圧である。
【請求項８】
請求項１乃至７のいずれかに記載の電池の内部抵抗の検出方法であって、
内部抵抗を検出する電池が、車両に搭載されて車両を走行させるモータに電力を供給する電池である電池の内部抵抗の検出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電池の温度と電圧と電流から、電池の温度における内部抵抗を検出する方法に関し、とくに、車両に搭載されて、車両を走行させるモータに電力を供給する大出力の電池の内部抵抗を検出するのに最適な電池の内部抵抗の検出方法に関する。
【背景技術】
【０００２】
電池の内部抵抗は電池の劣化度を示すパラメーターとして使用される。したがって、電池の内部抵抗を検出して電池の劣化度を判定することができる。電池は、劣化度によって許容する最大電流をコントロールすることで、寿命を長くできる。劣化して内部抵抗の大きくなった電池を大電流で放電すると電気特性が急激に低下して、著しく劣化させる原因となるからである。電池は、最大電流を制限すると、出力も制限されて大きな電力を出力できなくなる。大きな出力を得るためには、最大電流を大きくする必要があり、また、電池の劣化を防止するには、最大電流を小さく設定する必要がある。すなわち、電池の放電を許容する最大電流の大きさと電池の劣化度は、互いに相反する特性であって、出力を大きくしながら、劣化を少なくすることができない。電池は、その劣化度によって最大電流をコントロールすることで、出力を大きくしながら劣化を最小限にできる。このことを実現するには、電池の内部抵抗を正確に検出して、内部抵抗から劣化度を判定する必要がある。
【０００３】
電池の内部抵抗は、電池の電圧と電流から演算できる。電池の内部抵抗は、所定の電流を流す状態における電池の検出電圧と、そのときの電流から以下の式で演算できる。
内部抵抗＝（電池の開放電圧−検出電圧）／電流
さらに、電池の電圧と電流を多く検出することで、電池の内部抵抗をより正確に検出できる。ただ、電池の内部抵抗は温度によって変化する。図１は、電池の温度に対する内部抵抗の変化を示している。この図において、曲線Ａは寿命初期の内部抵抗を、曲線Ｂは寿命末期の内部抵抗を、曲線Ｃは寿命中期の内部抵抗を示している。この図に示すように、電池の内部抵抗は温度をパラメーターとして変化する。
【０００４】
電池の内部抵抗を正確に検出するために、電池の温度と電圧と電流を検出して、その温度における内部抵抗を演算している。ただ、電池は常に全ての温度帯域において使用されるわけではない。したがって、図１に示すように、常温において電池の内部抵抗を検出することができても、−１０℃や−２０℃において電池が使用されないかぎり、その温度における電池の内部抵抗を検出できない。電池が、内部抵抗の検出ができていない温度で放電されると、内部抵抗から最大電流を特定できなくなる。このため、たとえば、急に低温で電池を放電するとき、最大電流を特定できず、電池を保護しながら使用できなくなる欠点がある。
【０００５】
この欠点を解消するために、たとえば、電池の内部抵抗が常温で検出される場合、検出された温度における内部抵抗から、異なる温度における内部抵抗を推測する方法が開発されている。（特許文献１参照）
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０００−１２１０４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
以上の公報は、検出される特定の温度における電池の内部抵抗から、電池を使用する温度における内部抵抗を推測し、推定内部抵抗から電池の寿命を判定している。この方法は、測定されない温度における電池の内部抵抗を検出することができる。ただ、特定の温度の内部抵抗から、現実には検出されなかった温度における電池の内部抵抗を推測するので、広い温度範囲において電池の内部抵抗を正確に検出できない欠点がある。
【０００８】
本発明は、さらに以上の欠点を解決することを目的に開発されたものである。本発明の重要な目的は、広い温度範囲において、より正確に電池の内部抵抗を検出できる電池の内部抵抗の検出方法を提供することにある。
【課題を解決するための手段及び発明の効果】
【０００９】
本発明の電池の内部抵抗の検出方法は、電池１の温度と内部抵抗を検出して、各々の温度に対する内部抵抗を演算する。内部抵抗の検出方法は、電池１の温度を検出すると共に、検出温度における電池１の電圧と電流を検出し、検出される電圧と電流から内部抵抗を演算し、さらに、演算された実測内部抵抗を検出温度に対する電池１の内部抵抗として、電池１の複数温度に対する内部抵抗を検出する。
【００１０】
以上のようにして電池の内部抵抗を検出する方法は、特定の温度で検出された内部抵抗から、他の温度における電池の内部抵抗を推測するのではなく、複数の温度において検出される実測内部抵抗を複数の温度における内部抵抗として検出するので、広い温度範囲において、より正確に電池の内部抵抗を検出できる特徴がある。
【００１１】
本発明の電池の内部抵抗の検出方法は、実測内部抵抗と、所定の温度帯域における内部抵抗に対する電池１の劣化度を示す内部抵抗−劣化度データをメモリ１１に記憶し、メモリ１１に記憶される内部抵抗−劣化度データに基づいて、特定の温度で検出される実測内部抵抗から電池の劣化度を判定することができる。
以上の内部抵抗の検出方法は、電池を広い温度範囲で使用しながら、劣化度を正確に判定できる特徴がある。
【００１２】
本発明の電池の内部抵抗の検出方法は、電池の温度と、検出される電池の内部抵抗と、電池の電圧から電池を充放電する最大電流を特定することができる。
以上の検出方法によると、電池の劣化を最小限に制限しながら、許容される大きな電流で放電できる。
【００１３】
本発明の電池の内部抵抗の検出方法は、電池の電圧と電流を所定のサンプリング周期で検出すると共に、あらかじめ設定している測定時間帯において検出される複数の電圧と電流からなる検出データから電池の内部抵抗を演算し、測定時間帯において検出される電池の電流が、あらかじめ設定している設定電流よりも大きな電流を含む検出データでもって、電池の内部抵抗を演算することができる。
以上の検出方法は、電池の内部抵抗をより正確に演算できる。それは、複数の検出データから内部抵抗を演算することに加えて、電池の内部抵抗をより正確に検出できる大電流領域で内部抵抗を検出するからである。
【００１４】
さらに、本発明の電池の内部抵抗の検出方法は、設定電流を、放電電流においては、［電池の開放電圧−電池の下限電圧］に比例し、かつ電池の内部抵抗に反比例するように設定し、充電電流においては、［電池の上限電圧−電池の開放電圧］に比例し、かつ電池の内部抵抗に反比例するように設定することができる。
ただし、電池の開放電圧は、電流を流さない状態での電池の電圧、
電池の下限電圧は、電池として許容できる下限の電圧、
電池の上限電圧は、電池として許容できる上限の電圧である。
以上の検出方法は、電池の内部抵抗を検出する電流を特定の範囲よりも大きく設定することで、より正確に内部抵抗を検出できる。
【００１５】
本発明の電池の内部抵抗の検出方法は、電池の電圧と電流を所定のサンプリング周期で検出すると共に、あらかじめ設定している測定時間帯において検出される複数の電圧と電流からなる検出データから電池の内部抵抗を演算し、測定時間帯において検出される電池の電圧が、あらかじめ設定している設定電圧範囲にある電圧を含む検出データでもって、電池の内部抵抗を演算すると共に、電池の設定電圧範囲を電池の温度で特定することができる。
以上の検出方法も、電池の内部抵抗をより正確に検出できる。それは、設定電圧範囲を、電池の内部抵抗を正確に検出できる領域に設定することで、電池の内部抵抗を正確に検出できるからである。
【００１６】
さらに、本発明の電池の内部抵抗の検出方法は、設定電圧範囲を、［電池の上限電圧−電池の下限電圧］の１０％〜５０％の範囲外にある電圧に設定することができる。
以上の検出方法は、電池の設定電圧範囲を特定することで、より正確に内部抵抗を検出できる。
【００１７】
本発明の電池の内部抵抗の検出方法は、電池の温度と、検出される電池の内部抵抗と、電池の電圧から電池を充放電する最大電流を特定すると共に、電池の現在の温度において所定期間以上、現在温度での内部抵抗の演算が行われず、現在温度における電池の旧内部抵抗がメモリ１１に記憶される状態においては、旧内部抵抗を検出するよりも最近に検出された現在温度とは異なる温度における新内部抵抗から、あらかじめ記憶しているルックアップテーブル又は関数から現在温度における電池の内部抵抗を推定し、旧内部抵抗と推定内部抵抗のいずれかで電池の最大電流を特定することができる。
以上の検出方法は、電池の温度が、長い間、内部抵抗を検出していない温度となっても、電池を保護しながら放電できる。
【００１８】
本発明の電池の内部抵抗の検出方法は、電池の温度と、検出される電池の内部抵抗と、電池の電圧から電池を充放電する最大電流を特定すると共に、電池の現在の温度において所定期間以上、現在温度での内部抵抗の演算が行われず、現在温度における電池の旧内部抵抗がメモリ１１に記憶される状態においては、旧内部抵抗を検出するよりも最近に検出された現在温度とは異なる温度における新内部抵抗から、あらかじめ記憶しているルックアップテーブル又は関数から現在温度における電池の内部抵抗を推定し、旧内部抵抗と推定内部抵抗の差が設定差よりも大きい状態で、推定内部抵抗から電池の最大電流を特定することができる。
以上の検出方法は、電池の温度が、長い間、内部抵抗を検出していない温度となっても、電池を保護しながら放電できる。とくに、この方法は、電池の温度が、相当に長い期間、内部抵抗を検出していない温度となっても、電池の劣化を防止しながら大きな電流で放電できる。
【００１９】
本発明の電池の内部抵抗の検出方法は、内部抵抗を検出する電池を、車両に搭載されて車両を走行させるモータに電力を供給する電池とすることができる。
以上の検出方法は、車両を走行させるモータに電池から電力を供給しながら、電池を広い温度範囲で保護しながら、劣化を少なくする最大電流で放電できる特徴がある。
【図面の簡単な説明】
【００２０】
【図１】電池の温度に対する内部抵抗の変化を示すグラフである。
【図２】本発明の一実施例にかかる電池の内部抵抗の検出方法に使用する電源装置のブロック図である。
【図３】内部抵抗を有する電池の等価回路を示す図である。
【図４】電池の充放電時における電流−電圧特性を示すグラフである。
【図５】測定時間帯における複数の電圧と電流の検出データの分布を示すグラフである。
【図６】メモリに保存されている旧内部抵抗と、最近に検出された新内部抵抗から推測される推定内部抵抗を示すグラフである。
【図７】判定回路が電池の内部抵抗を演算する示すフローチャートである。
【図８】判定回路が旧内部抵抗からより正確な内部抵抗を推測するフローチャートである。
【発明を実施するための形態】
【００２１】
以下、本発明の実施例を図面に基づいて説明する。ただし、以下に示す実施例は、本発明の技術思想を具体化するための電池の内部抵抗の検出方法を例示するものであって、本発明は内部抵抗の検出方法を以下の方法には特定しない。さらに、この明細書は、特許請求の範囲に示される部材を、実施例の部材に特定するものでは決してない。
【００２２】
図２は、本発明の電池の内部抵抗の検出方法に使用する電源装置のブロック図である。この図は、ハイブリッドカーに搭載される電池１の内部抵抗を検出するブロック図を示している。この電池１は、車両の走行用のモータ６に電力を供給して放電され、また、発電機７で充電される。電池１の内部抵抗は判定回路２で検出される。判定回路２は、電池１の内部抵抗を検出するために、電池１に流れる充放電の電流を検出する電流検出回路３と、電池１の温度を検出する温度センサ４と、電池１の電圧を検出する電圧検出回路５とを接続している。
【００２３】
車両側は、電池１から供給される電力をモータ６に供給し、また発電機７の電力を電池１に供給する双方向電力変換装置８を備える。双方向電力変換装置８は、電池１の直流電力を三相の交流電力に変換してモータ６に供給し、発電機７から出力される交流を直流に変換して電池１に供給する。この双方向電力変換装置８は、制御回路９で制御されて、電池１からモータ６への供給電流と、発電機７から電池１への充電電流をコントロールする。制御回路９は、電源装置側の判定回路２から通信回線１０を介して伝送される電池１の情報信号で、双方向電力変換装置８をコントロールして電池１の電流を制御する。
【００２４】
判定回路２は、電池１の内部抵抗を検出し、検出する内部抵抗から劣化度を判定し、劣化度から電池１を充放電する最大電流を特定して、電池情報を車両側の制御回路９に伝送する。制御回路９は、電池側から伝送される情報に基づいて、双方向電力変換装置８を制御する。制御回路９は、電池１を充放電する電流が電池側から伝送される最大電流を超えないように、双方向電力変換装置８をコントロールして電池１を充放電する。このように、制御回路９が双方向電力変換装置８を介して、モータ６や発電機７の出力をコントロールすることで、電池１の劣化を最小限としながら、電池１の充放電電流を大きくして、電池１の寿命を目標年数に近づける。
【００２５】
判定回路２は、メモリ１１を内蔵しており、このメモリ１１に、電池１の各温度に対する内部抵抗を記憶している。判定回路２は、内部抵抗から劣化度を検出し、劣化度から最大電流を検出して、通信回線１０を介して車両側の制御回路９に伝送する。判定回路２は、電池１の温度と、充放電の電流と、電圧から内部抵抗を演算する。この判定回路２は、以下の式で電池１の内部抵抗を演算する。
【００２６】
内部抵抗を有する電池１の等価回路を図３に示す。この等価回路の電池１を充放電して、電流（Ｉ）と出力電圧（ＶL）を検出すると図４に示すようになる。図４において、電池１の電流−電圧特性を示すラインＡの傾きから内部抵抗（Ｒ0）が演算される。
電池１の開放電圧をＶoとし、電流（Ｉ）のときの電圧をＶLとすれば、
ＶL＝Ｖo−Ｒ0×Ｉ
この式から、
Ｒ0＝（Ｖo−ＶL）／I  で演算される。
【００２７】
以上の方法において、多数の電圧と電流からより正確に電池の内部抵抗を演算できる。このことを実現するために、判定回路２は、所定のサンプリング周期で、多数の電圧及び電流を検出し、複数の電圧及び電流を含む検出データからより正確に電池１の内部抵抗を演算する。電池１の内部抵抗は、温度によって変化する。したがって、判定回路２は、電池１の電圧及び電流と一緒に電池１の温度を検出して、検出温度に対する内部抵抗を演算する。電圧及び電流は、同じタイミングに同期して一緒に検出されるのを理想とする。ただ、電圧及び電流を検出するタイミングのずれによって、演算される内部抵抗の誤差を無視できる程度であれば、電圧と電流を同時に検出せず、わずかにタイミングがずれる状態、たとえば１００ｍｓｅｃ以下のずれで検出することもできる。
【００２８】
判定回路２は、電池１の温度と、電圧及び電流を所定のサンプリング周期で検出して、デジタル信号に変換するＡ／Ｄコンバータ１２と、このＡ／Ｄコンバータ１２から出力される検出データから電池１の内部抵抗を演算する演算回路１３と、演算回路１３で演算される電池１の内部抵抗を保存するメモリ１１とを備えている。
【００２９】
判定回路２は、電池１の内部抵抗をより正確に検出するために、Ａ／Ｄコンバータ１２でもって、電池１の温度と電圧と電流を所定のサンプリング周期でデジタル信号に変換する。変換されたデジタル信号は、演算回路１３に入力される。演算回路１３は、入力される電圧と電流を含む検出データから電池１の内部抵抗を演算する。さらに、演算される内部抵抗から電池１の劣化度を検出し、劣化度から電池１を充放電する最大電流を検出する。
【００３０】
Ａ／Ｄコンバータ１２は、たとえば１００ｍｓｅｃの周期で、温度と電圧及び電流をデジタル信号に変換して演算回路１３に出力する。ただし、Ａ／Ｄコンバータのサンプリング周期は、３０ｍｓｅｃ〜５００ｍｓｅｃとすることもできる。Ａ／Ｄコンバータ１２のサンプリング周期は、短くして電池１の内部抵抗をより正確に検出できる。ただ、Ａ／Ｄコンバータのサンプリング周期を短くすると、高速処理するＡ／Ｄコンバータと演算回路を使用する必要があって部品コストが高くなる。Ａ／Ｄコンバータや演算回路のコストは、サンプリング周期を遅くして安価にできる。ただ、サンプリング周期が遅いと、電池の内部抵抗を正確に検出するのが難しくなる。したがって、Ａ／Ｄコンバータのサンプリング周期は、部品コストと検出精度とを考慮して最適値に設定される。
【００３１】
演算回路１３は、あらかじめ設定している測定時間帯、例えば１０秒間において検出される複数の電圧及び電流を含む検出データから電池１の内部抵抗を演算する。サンプリング周期を１００ｍｓｅｃ、測定時間帯を１０ｓｅｃとすれば、電圧と電流の検出データ数は１００である。測定時間帯における複数の電圧と電流の検出データは、たとえば図５に示すように分布する。演算回路は、この分布から、たとえば最小二乗法で、電流−電圧特性を示すラインＡの傾きを検出して内部抵抗を演算する。
【００３２】
測定時間帯の１０秒間において電池１の温度が変化すると、検出温度における内部抵抗を検出できなくなる。したがって、測定時間帯において電池１の温度が変化すると、判定回路２は、検出データからの電池１の内部抵抗の演算を中止して、次に入力される検出データから電池１の内部抵抗を演算する。内部抵抗の検出を中止する電池１の温度変化は、あらかじめメモリ１１に記憶している。たとえば、測定時間帯において電池１の温度変化が０．５℃〜３℃以下であると、電池１の温度変化を無視できるとして、電池１の内部抵抗を演算し、この温度よりも大きく電池温度が変化すると、電池１の温度が変化したとして、検出データから内部抵抗の演算をしない。
【００３３】
判定回路２は、電池１の内部抵抗を演算する測定時間帯を長くして、より多数のデータから内部抵抗をより正確に検出できる。ただ、測定時間帯を長くすると、その時間帯に電池の温度が変化して、特定の温度における内部抵抗を演算できなくなる。測定時間帯を短くすると、測定時間帯において電池の温度変化を少なくできる。ただ、測定時間帯を短くすると、電池の内部抵抗の演算に使用する電圧と電流の検出データ数が少なくなって、内部抵抗を正確に演算するのが難しくなる。このことから、内部抵抗を演算する測定時間帯は、たとえば、１ｓｅｃないし６０ｓｅｃの範囲として、電池の温度変化が少なく、かつ電池の内部抵抗を正確に検出できる時間帯に設定される。
【００３４】
さらに、電池１の内部抵抗は、より大きな電流で充放電される状態でより正確に演算できる。したがって、演算回路１３は、測定時間帯において検出される電池１の電流が、あらかじめ設定している設定電流よりも大きな電流を含む検出データによってのみ、電池１の内部抵抗を演算する。演算回路は、例えば、測定時間帯に検出される複数の電流値の検出データに対して、設定電流より大きな電流値となる検出データが所定の割合を超える場合に、これらの検出データから電池１の内部抵抗を演算することができる。
【００３５】
この設定電流は、放電電流においては、［電池の開放電圧−電池の下限電圧］に比例し、かつ電池の内部抵抗に反比例するように設定することができ、また、充電電流においては、［電池の上限電圧−電池の開放電圧］に比例し、かつ電池の内部抵抗に反比例するように設定することができる。ここで、電池の開放電圧は、電流を流さない状態での電池の電圧でり、電池の下限電圧は、電池として許容できる下限の電圧であり、また、電池の上限電圧は、電池として許容できる上限の電圧である。
【００３６】
たとえば、図５において、放電時における電池１の内部抵抗（Ｒ0）を演算する設定放電電流（ＩＤ）は、［Ｖo−Ｖmin］に比例し、かつ電池１の内部抵抗（Ｒ0）に反比例するように設定する。内部抵抗（Ｒ0）は、最も最近の電池温度における内部抵抗、あるいは特定の温度から推定される現在の電池温度における内部抵抗である。
ただし、Ｖoは、電池の開放電圧、
Ｖminは、電池の下限電圧である。
たとえば、ＩＤ＝０．５×（Ｖo−Ｖmin）／Ｒ0として、設定放電電流（ＩＤ）を特定する。
この式において、
Ｖo＝２２０Ｖ
Ｖmin＝１６０Ｖ
Ｒ0＝０．５Ωとすれば、
設定放電電流（ＩＤ）は６０Ａとなる。設定放電電流（ＩＤ）を６０Ａとする状態では、放電電流が６０Ａを超える電流信号を含む検出データから電池１の内部抵抗を検出し、複数の放電電流値が全て６０Ａを超えない検出データからは電池１の内部抵抗を演算しない。
【００３７】
また、図５において、充電時における電池１の内部抵抗（Ｒ0）を演算する設定充電電流（ＩＣ）は、［Ｖmax−Ｖo］に比例し、かつ電池１の内部抵抗（Ｒ0）に反比例するように設定する。内部抵抗（Ｒ0）は、最も最近の電池温度における内部抵抗、あるいは特定の温度から推定される現在の電池温度における内部抵抗である。
ただし、Ｖoは、電池の開放電圧、
Ｖmaxは、電池の上限電圧である。
たとえば、ＩＣ＝０．５×［Ｖmax−Ｖo］／Ｒ0として、設定充電電流（ＩＣ）を特定する。
この式において、
Ｖo＝２２０Ｖ
Ｖmax＝２６０Ｖ
Ｒ0＝０．５Ωとすれば、
設定充電電流（ＩＣ）は４０Ａとなる。設定充電電流（ＩＣ）を４０Ａとする状態では、充電電流が４０Ａを超える電流信号を含む検出データから電池１の内部抵抗を検出し、複数の充電電流値が全て４０Ａを超えない検出データからは電池１の内部抵抗を演算しない。
【００３８】
さらに、電池は、複数の素電池を並列に接続して電流を大きくできるので、素電池を並列に接続している電池にあっては、設定電流を、並列に接続している電池の個数の整数倍とする。
【００３９】
同じように、検出データに含まれる電圧も考慮することで、電池の内部抵抗を正確に検出できる。この方法は、測定時間帯において検出される電池の電圧が、あらかじめ設定している設定電圧範囲にある電圧を含む検出データでもって、電池の内部抵抗を演算する。
【００４０】
設定電圧範囲は、電池の（Ｖmax−Ｖmin）の２５％の範囲外にある電圧に設定する。ただし、設定電圧範囲は（Ｖmax−Ｖmin）の１０％〜５０％の範囲外とすることもできる。
以上の式において、Ｖmaxは電池の上限電圧、Ｖminは電池の下限電圧である。
【００４１】
設定電圧範囲を２５％、Ｖmaxを２６０Ｖ、Ｖminを１６０Ｖとするとき、設定電圧範囲は２３５Ｖ〜２６０Ｖと、１６０Ｖ〜１８５Ｖの範囲となる。この範囲を図５においてハッチングで示している。
この図に示すように、少なくともひとつの電圧が、図のハッチングで示す領域にある検出データのみから電池の内部抵抗を演算する。演算回路は、例えば、測定時間帯に検出される複数の電圧値の検出データに対して、設定電圧範囲内にある検出データが所定の割合を超える場合に、これらの検出データから電池１の内部抵抗を演算することができる。検出データに含まれる全ての電圧値がハッチングに示す領域にないとき、その検出データからは電池の内部抵抗を演算しない。
【００４２】
さらに、電池１の使用環境が変化して、電池１の温度が変化し、変化した電池温度が長い間使用されなかった温度となるとき、その温度における内部抵抗は相当に昔に検出されたものがメモリ１１に保存されている。たとえば、電池１の温度が、数年も使用されなかった温度である−２０℃となるとき、数年前に検出された−２０℃における電池１の内部抵抗がメモリ１１に保存されているが、現実の内部抵抗は、保存された内部抵抗から相当に変化している可能性がある。この状態においても、電池１の最大電流を特定する必要がある。すなわち、−２０℃における電池の内部抵抗を検出する以前に、電池の最大電流を特定して車両側に出力する必要がある。電池の内部抵抗が検出される以前にも、電池を充放電する必要があるからである。
【００４３】
以上の状態を図６に示している。この図において、Ａ点は、以前に−２０℃において検出されたメモリ１１に保存されている旧内部抵抗である。Ｂ点は、−２０℃に温度が低下する前に、２５℃において最近に検出された新内部抵抗を示している。電池１の内部抵抗は温度によって変化するので、判定回路２は、最近に検出された新内部抵抗から、あらかじめ記憶しているルックアップテーブルや関数から、現在温度における電池１の内部抵抗を推定することができる。Ｃ点は新内部抵抗から、ルックアップテーブルや関数から推測された−２０℃における電池１の推定内部抵抗である。Ｃ点の内部抵抗は異なる温度から推測された内部抵抗、Ａ点の内部抵抗は昔に検出された内部抵抗であって、いずれの内部抵抗も現在の正確な内部抵抗を示すものではない。ただ、旧内部抵抗は相当に昔に測定された内部抵抗とすれば、現在の内部抵抗から相当にずれた内部抵抗となっている確率が高いので、旧内部抵抗よりも、推測されたＣ点の内部抵抗をより正確な内部抵抗と判定することができる。
【００４４】
したがって、新内部抵抗から推定される推定内部抵抗と、旧内部抵抗とを比較して、その差が設定差よりも大きい状態では、推定内部抵抗をより正確な内部抵抗として、推定内部抵抗から電池の最大電流を特定する。最大電流が特定される状態で電池が充放電されると、その電圧及び電流から電池の内部抵抗は正確に検出される。
【００４５】
以上の方法で、電池の使用温度における内部抵抗が検出され、検出された内部抵抗はメモリ１１に保存される。このとき、メモリ１１に保存していた旧内部抵抗を実測内部抵抗に書き換えることもできるが、以下のように演算して内部抵抗を書き換えることで、より正確に内部抵抗を検出できる。
【００４６】
メモリ１１に保存される内部抵抗＝ウェイト１×旧内部抵抗＋ウェイト２×実測内部抵抗
ただし、ウェイト１＋ウェイト２＝１であって、ウェイト２を大きくして、実測内部抵抗の比率を大きく、ウェイト１を大きくして旧内部抵抗の比率を大きくできる。好ましくは、ウェイト２は０．１〜０．５に設定される。
【００４７】
以上の判定回路２は、図７のフローチャートで電池１の内部抵抗を演算する。
［ｎ＝１のステップ］
このステップで、電池１の電流と電圧と温度を検出する。このステップにおいて、電流と電圧と温度は、一定の周期で複数回検出される。たとえば、１００ｍｓｅｃのサンプリング周期で、１０ｓｅｃ間、すなわち電流と電圧と温度を１００回検出して、内部抵抗を演算する検出データとする。
［ｎ＝２のステップ］
このステップで、電池１の温度に対する内部抵抗をメモリ１１から読み出す。
［ｎ＝３のステップ］
このステップで、検出データが内部抵抗を演算する条件を満足しているかどうかを判定する。たとえば、検出データに含まれる電圧のいずれかが設定電圧範囲にあるかどうか、または電流のいずれかがあらかじめ設定している設定電流範囲にあるかどうか、さらに、電池１の温度が変化していないか等を判定し、検出データが条件を満足していないと、ｎ＝７のステップにジャンプする。
［ｎ＝４のステップ］
検出データが、内部抵抗を演算する条件を満足していると、このステップにおいて、演算回路１３は検出データから電池１の内部抵抗を演算する。
［ｎ＝５のステップ］
演算された電池１の内部抵抗を、あるいはメモリ１１に記憶している旧内部抵抗と実測内部抵抗から演算される内部抵抗を、電池１の温度に対する内部抵抗としてメモリ１１に保存する。
［ｎ＝６のステップ］
電池１の内部抵抗と温度から、電池１を充放電する最大電流を特定して、車両側に伝送する。電池の内部抵抗と温度から最大電流を特定するために、あらかじめメモリ１１には、内部抵抗と温度から最大電流を特定するルックアップテーブルや関数を記憶している。メモリ１１に記憶しているルックアップテーブルや関数は、内部抵抗が大きくなると最大電流を大きくし、また、電池１の温度が高くても低くても小さくなるようにする。
【００４８】
さらに、判定回路２は、図８に示す以下のフローチャートで、旧内部抵抗より正確な内部抵抗を推測することができる。
［ｎ＝８のステップ］
このステップで、現在の電池１の温度(例えば−２０℃)における旧内部抵抗をメモリ１１から読み込む。
［ｎ＝９のステップ］
このステップで、現在の電池の温度(−２０℃)における内部抵抗を、現在の電池温度と異なる温度(例えば２５℃)において最近に検出された内部抵抗から推測して推定内部抵抗とする。
判定回路は、このことを実現するために、電池温度に対して内部抵抗が変化する状態をルックアップテーブルや関数としてメモリ１１に記憶している。
［ｎ＝１０〜１２のステップ］
このステップで、現在の温度と異なる温度から推定された現在の温度の推定内部抵抗と、メモリ１１に記憶している現在の温度の旧内部抵抗とを比較して、推定内部抵抗が旧内部抵抗の１．５倍よりも大きいかどうかを判定する。１．５倍よりも大きいと、旧内部抵抗が相当に昔に検出された内部抵抗であって、現在の内部抵抗と相当に異なると判定して、推定内部抵抗を現在の温度の内部抵抗としてメモリ１１に保存する。
推定内部抵抗と旧内部抵抗との差、すなわち比率が１．５よりも小さいと、メモリ１１に保存している旧内部抵抗を書き換えることなく、現在の温度の内部抵抗とする。
【００４９】
以上のようにして、判定回路は、メモリ１１に保存する内部抵抗を旧内部抵抗から推定内部抵抗に書き換え、あるいは書き換えることなく旧内部抵抗をそのまま保存して現在の温度の内部抵抗とする。
【００５０】
メモリ１１に保存される電池１の内部抵抗からは、常に電池１の劣化度が検出される。メモリ１１は、所定の温度帯域において、内部抵抗に対する電池１の劣化度を示す内部抵抗−劣化度データを記憶している。判定回路２は、メモリ１１に記憶される内部抵抗−劣化度データに基づいて、特定の温度で検出される実測内部抵抗から電池１の劣化度を判定し、さらに、電池１の劣化度から電池１を充放電する最大電流を検出して車両側に伝送する。また、必要であれば、電池１の劣化度も車両側に伝送される。車両側では、制御回路９が伝送される最大電流や劣化度に基づいて、双方向電力変換回路８をコントロールして、電池１の充放電を制御する。
【符号の説明】
【００５１】
１…電池
２…判定回路
３…電流検出回路
４…温度センサ
５…電圧検出回路
６…モータ
７…発電機
８…双方向電力変換装置
９…制御回路
１０…通信回線
１１…メモリ
１２…Ａ／Ｄコンバータ
１３…演算回路
【図１】
0005558941.tif 000002
【図２】
0005558941.tif 000003
【図３】
0005558941.tif 000004
【図４】
0005558941.tif 000005
【図５】
0005558941.tif 000006
【図６】
0005558941.tif 000007
【図７】
0005558941.tif 000008
【図８】
0005558941.tif 000009