(57)【特許請求の範囲】
【請求項１】
電池の交換時期を推定する電池状態推定装置において、
電池の使用期間を求める手段と、
所定の電気負荷における電池の最低電圧を計測する手段と、
前記最低電圧および使用期間に基づいて交換判定閾値を決定する手段と、
前記最低電圧が前記交換判定閾値を下回ると電池の交換時期と判定する手段とを具備したことを特徴とする電池状態推定装置。
【請求項２】
前記交換判定閾値を決定する手段は、電池の使用期間が長くなるほど交換判定閾値を高く設定することを特徴とする請求項１に記載の電池状態推定装置。
【請求項３】
前記交換判定閾値を決定する手段は、電池の使用期間が所定の基準時間よりも短ければ、使用期間が長くなるほど交換判定閾値を高く設定することを特徴とする請求項１または２に記載の電池状態推定装置。
【請求項４】
前記所定の電気負荷がエンジンをクランキング中のオルタネータであることを特徴とする請求項１ないし３のいずれかに記載の電池状態推定装置。
【請求項５】
前記交換判定閾値を決定する手段が、前記最低電圧、使用期間および電池の開放電圧に基づいて交換判定閾値を計算することを特徴とする請求項１ないし４のいずれかに記載の電池状態推定装置。
【請求項６】
前記電池が鉛二次電池であることを特徴とする請求項１ないし５のいずれかに記載の電池状態推定装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電池状態推定装置に係り、特に、車載二次電池の状態推定に好適な電池状態推定装置に関する。
【背景技術】
【０００２】
近年、省エネルギや排ガス削減による環境保護の観点から、アイドリング・ストップ・システム（ISS）機能を有する車両や、さらに制動時の回生エネルギを充電する機能を備えた車両が注目されている。
【０００３】
このような車両はμHEVまたはマイクロハイブリッドと呼ばれ、搭載される二次電池が各機能に応じた状態を維持できるように、その状態推定にはより高い精度が求められる。電池状態を代表する指標としては、充電状態や充電率を表すSOC（State of Charge）および健康状態や劣化度を表すSOH（State of Health）が知られている。
【０００４】
特許文献１には、SOCを開放電圧（OCV）に基づいて推定する技術が開示されている。特許文献２には、SOHをOCVおよび内部抵抗に基づいて推定する技術が開示されている。特許文献３には、SOCを微分内部抵抗（電圧電流直線の傾き）から求める技術、充放電の電流を積算する技術が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平4-264371号公報
【特許文献２】特開2006-10601号公報
【特許文献３】特開平6-242193号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
μHEVでは、車載電池が劣化するとアイドリングストップ機能がキャンセルされて停車中もアイドリングが継続されるようになり、また回生エネルギの充電効率も低下することから、期待されている省エネルギ性能や環境性能を発揮できなくなる。したがって、電池の性能劣化による交換時期をより正確に推定する技術が求められている。
【０００７】
このような技術課題に対して、電池の状態をSOCおよびSOHで代表し、電池状態の推定結果に基づいて電池交換の時期を推定することが考えられる。しかしながら、電池性能の劣化原因はさまざまであり、経年劣化のみならず、過放電やバッテリ液の減少等によっても劣化することが知られている。そして、発明者等の実験結果によれば、SOCやSOHが同等の値を示していても、劣化原因によってエンジン始動性能や回生充電性能が異なることが確認されている。
【０００８】
一般的に、電池の劣化判定は、同一仕様の電池を劣化状態において予め測定したSOHやSOCに基づいて判断されるが、このときの劣化条件と車載電池の劣化原因とが合致していないと、上記の理由から判定誤差が大きくなってしまう。
【０００９】
本発明の目的は、上記の技術課題を解決し、劣化した車載二次電池の交換時期をその劣化原因に関わらず正確に推定できる電池状態推定装置を提供することにある。
【課題を解決するための手段】
【００１０】
上記の目的を達成するために、本発明は、電池の交換時期を推定する電池状態推定装置において、以下の構成を具備した点に特徴がある。
【００１１】
(1) 電池の使用期間を求める手段と、所定の電気負荷における電池の最低電圧を計測する手段と、最低電圧および使用期間に基づいて交換判定閾値を決定する手段と、最低電圧が交換判定閾値を下回ると電池の交換時期と判定する手段とを具備した。
【００１２】
(2) 交換判定閾値を決定する手段は、使用期間が長くなるほど交換判定閾値を高く設定するようにした。
【００１３】
(3) 交換判定閾値を決定する手段は、使用期間が所定の基準時間よりも短ければ、使用期間が長くなるほど交換判定閾値を高く設定し、使用期間が前記基準時間よりも長ければ、使用期間に関わらず交換判定閾値を一定値にするようにした。
【００１４】
(4) 前記所定の電気負荷がエンジンをクランキング中のオルタネータであることを特徴とする。
【発明の効果】
【００１５】
本発明によれば、以下のような効果が達成される。
【００１６】
(1) 電池の交換時期をその最低電圧に基づいて判定する際の閾値を電池の使用期間の関数としたので、経年劣化とそれ以外の劣化との両者を反映した形で電池の交換時期を正確に推定できるようになる。
【００１７】
(2) 電池性能は劣化原因にかかわらず使用期間が長いほど低下する傾向にあるので、使用期間が長くなるほど交換判定閾値を高くすることで電池の交換時期をより正確に推定できるようになる。
【００１８】
(3) 発明者の実験結果によれば、使用期間が基準期間以上の電池では経年劣化の影響が使用年数に関わらずほぼ一定になるのに対して、使用期間が基準期間未満の電池では経年劣化の影響が使用年数に比例するので、使用期間が所定の基準時間よりも短ければ、使用期間が長くなるほど交換判定閾値を高く設定し、使用期間が前記基準時間よりも長ければ、使用期間に関わらず交換判定閾値を一定値にすることで、使用期間にかかわらず電池の交換時期を正確に推定できるようになる。
【図面の簡単な説明】
【００１９】
【図１】本発明の一実施形態に係る鉛二次電池用の電池コントローラ（BC）が搭載されるμHEVの構成を示した図である。
【図２】電池コントローラBCの一実施形態の構成を示したブロック図である。
【図３】電池コントローラBCの動作モードに関する遷移図である。
【図４】μHEVの駐車中および走行中における電池電圧VおよびIGN信号の典型的な変化を示した図である。
【図５】電池コントローラBCの主要動作を示したメインフローである。
【図６】電池コントローラBCの主要動作を実現するCPUおよびBCIAの機能ブロック図である。
【図７】スリープ中計測指令の内容を示したフローチャートである。
【図８】IGNオン中処理の手順を示したフローチャートである。
【図９】内部抵抗Rの２５℃換算テーブルの一例を示した図である。
【図１０】10msタイマ割込処理の手順を示したフローチャートである。
【図１１】2msタイマ割込処理の手順を示したフローチャートである。
【図１２】OCV推定処理の手順を示したフローチャートである。
【図１３】開放電圧OCVの２５℃変換テーブルの一例を示した図である。
【図１４】ARにより時刻無限大としてOCV25の収束値を計算する手順を示した図である。
【図１５】SOC初期値およびSOH計算の手順を示したフローチャートである。
【図１６】SOC初期値およびSOH計算の手順を実現するCPUおよびBCIAの機能ブロック図である。
【図１７】同一仕様の鉛二次電池を種々の劣化状態において予め測定したSOH、SOCおよびOCV25の関係を示した図である。
【図１８】同一仕様の鉛二次電池を種々の劣化状態において予め測定したR25、SOC指標xおよびSOHの関係を示した図である。
【図１９】ISS可否判定の手順を示したフローチャートである。
【図２０】電池交換推奨判定の手順を示したフローチャートである。
【図２１】電池交換推奨判定を実現するCPUおよびBCIAの機能ブロック図である。
【図２２】電池交換判定閾値Vst_thの決定手順を示したフローチャートである。
【発明を実施するための形態】
【００２０】
以下、図面を参照して本発明の実施の形態について詳細に説明する。図１は、本発明の一実施形態に係る鉛二次電池用の電池コントローラ（BC）が搭載されるμHEVの構成を示した図であり、ここでは本発明の説明に不要な構成は図示が省略されている。
【００２１】
エンジンENG１の出力軸には変速機２を介して駆動輪Wが連結され、さらにオルタネータベルト３を介してスタータ兼オルタネータISG（Integrated Starter Generator）４が連結されている。ISG４がスタータとして消費する電力は電池５から供給され、オルタネータとして発電した電力は各補機で消費されると共に電池５へ充電される。電池コントローラBC６は、電池５の充電状態SOC（State of Charge）や健康状態SOH（State of Health）を計算してエンジン・コントロール・ユニットECU７へ通知する。
【００２２】
図２は、前記電池コントローラBC６の一実施形態の構成を示したブロック図であり、計測用ICとしての電池コントローラIC（BCIA）９、演算用ICとしてのCPU８および通信用のCAN（Controller Area Network）ドライバ１０を主要な構成とし、これらをシリアルバス１１で相互に接続して構成される。CANドライバ１０は、制御機器向け通信プロトコルの一種であり、ECU７と通信して各種の電池情報を提供する。
【００２３】
本発明のBC６は、アイドリングストップ機能や回生充電機能を備えたμHEV向け鉛二次電池５の電圧V，電流I，温度Tを計測し、イグニッション信号の入力を契機に、これらの計測結果に基づいて電池５のSOCやSOHを計算してCANドライバ１０へ出力する。μHEVのECU７は、BC６のCANドライバ１０から取得した情報に基づいて、アイドリングストップ、回生充電あるいは電池診断を含む各種の制御を実行する。
【００２４】
BCIA９には、電池５の温度Tを検知する温度センサ１２、電池５の充放電電流Iを計測するシャント抵抗１３が接続され、更に電池５の端子電圧Vを計測するために、その正極および負極の各端子が接続されている。CPU８の割込端子INTにはイグニッション（IGN）スイッチ１４が接続されている。
【００２５】
本実施形態では、駐車中は電池５の消費電流を小さくするために、CPU８はスリープ状態、BCIA９はスタンバイ状態で待機する。その間、BCIA９は１分毎のタイマ割り込みで起動されて電池５のV，I，Tをそれぞれ計測し、それらの時系列データを蓄積する。CPU８は、IGNオン信号に応答してスリープ状態から復帰し、スリープ中にBCIA９が計測、蓄積したV，I，Tの時系列データを一括取得する。
【００２６】
図３は、BC６の動作モードに関する遷移図であり、運用モードとメンテナンスモードとに大別され、運用モードは駐車中モードと走行中モードとを有する。運用モードでは、駐車中モードにおいてIGNオンが検知されると走行中モードへ遷移し、走行中モードにおいてIGNオフが検知されると駐車中モードへ遷移する。また、走行中モードにおいてメンテナンスモードへの移行を要求するCANパケットを受信するとメンテナンスモードへ遷移し、メンテナンスモードおいてメンテナンスモードの終了操作が検知されると走行中モードへ遷移する。
【００２７】
図４は、μHEVの駐車中および走行中における電池電圧VおよびIGN信号の典型的な変化を示した図である。時刻t1ではIGNオンとなって各補機への給電が開始され、時刻t2ではクランキング負荷により電池電圧Vが一気に低下し、時刻t3でエンジン始動が完了すると定電圧充電が開始され、時刻t4ではISS機能によりアイドリングが停止され、時刻t5ではISS機能によりクランキングが行われ、時刻t6でIGNオフとされている。
【００２８】
図５は前記BC６の主要動作を示したメインフローであり、図６は、この主要動作を実現するCPU８およびBCIA９の機能ブロック図である。本実施形態では、車両に搭載されて電池５からの給電が開始されるか、あるいはCPUリセットによる再起動後に処理を開始し、それ以降は所定の周期で各処理が繰り返される。
【００２９】
初めに図６を参照し、BCIA９は、CPU８から計測指令を受信する計測指令受信部９１と、前記計測指令に応答して電池５のV，I，Tを計測する計測部９２と、計測結果の時系列を一時記憶するメモリ９３と、前記計測部９２の計測周期を前記計測指令に応じた周期に設定する計測周期設定部９４と、計測結果の時系列をCPU８へ応答する計測結果応答部９５とを含む。
【００３０】
CPU８は、自身のスリープ中に第１周期での計測をBCIA９へ要求するためのスリープ中計測指令を発するスリープ中計測指令部８１と、スリープ復帰後の走行中に第２周期での計測をBCIA９へ要求するための走行中計測指令を発する走行中計測指令部８２と、BCIA９から各計測結果を取得する計測結果取得部８３と、取得した各計測結果に基づいて電池状態を推定する電池状態推定部８４と、スリープ遷移前に前記走行中計測指令を解除する走行中計測指令解除部８５とを含む。
【００３１】
図５を参照し、ステップS１ではCPU８において初期化処理が実施され、フラッシュメモリ（図示省略）に記憶されている各種の参照定数がRAM（図示省略）上に展開される。また、パワー・オン・リセットフラグFporがセットされる。ステップS２では、CPU８に対する外部割り込みの有無が判定される。本実施形態では、CPU８のINT端子にIGNスイッチ１４が接続されており、IGNオンによりCPU８への割込要求が発生するまでは、スリープ状態を維持したままステップS９へ進む。
【００３２】
ステップS９では、BCIA９において６０秒周期のタイマ割り込みが発生したか否かが判定され、タイマ割り込みが発生していなければステップS２へ戻る。タイマ割り込みが発生するとステップS１０へ進み、後述するステップS７でCPU８のスリープ中計測指令部８１からBCIA９へ通知される計測指令に応じて当該BCIA９の計測部９２が電池５のV，I，Tを計測し、その時系列データをメモリ９３に蓄積する。
【００３３】
その後、IGNオンによりCPU８への割込要求が発生し、これがステップS２で検知されると、ステップS３へ進んでCPU８のスリープモードが解除される。ステップS４では、IGNオン後の経過時間を表す起動時間変数TMがリセットされて新規計測を開始する。ステップS５では、後に詳述する「IGNオン中処理」が実行される。ステップS６では、IGNオン中処理において計算された各種のデータがフラッシュメモリにログ情報として書き込まれる。
【００３４】
ステップS７では、CPU８のスリープ中にタイマ割り込みでBCIA９に周期的に電池５のV，I，Tを計測させるためのスリープ中計測指令が、前記スリープ中計測指令部８１からBCIA９へ通知される。ステップS８では、CPU８をスリープモードへ遷移させてステップS２へ戻り、次のIGNオンの割込要求に備えて待機する。
【００３５】
図７は、メインフローの前記ステップS７においてBCIA９へ通知されるスリープ中計測指令の内容を示したフローチャートであり、BCIA９は、６０秒周期のタイマ割り込みで当該計測指令に応答した計測処理を前記ステップS１０において実行する。
【００３６】
図７において、ステップS２１では、BCIAタイマカウンタTMbciaにタイマ割り込みの周期に相当するカウント値が加算される。本実施形態では、タイマ割り込みの周期が６０秒に設定されているので、６０秒相当のカウント値が加算される。
【００３７】
ステップS２２では、IGNオフ後のCPUスリープ中に１５分周期で電池のV，I，Tを計測するために、TMbciaを１５分で割った余りがゼロ（TMbcia mod 15=0）であるか否かが判定される。余りがゼロであればステップS２３以降へ進み、BCIA９の計測部９２により電池５のV，I，Tがそれぞれ２０ミリ秒ごとに１０回ずつ計測され、その平均値が一時記憶される。
【００３８】
すなわち、ステップS２３では計測回数カウンタNがリセットされる。ステップS２４では電池５のV，I，Tが計測される。ステップS２５では計測回数カウンタNがインクリメントされる。ステップS２６では計測回数カウンタN=１０になるまで、ステップS２４へ戻ってV，I，Tの各計測が２０ミリ秒ごとに繰り返される。ステップS２７では、V，I，Tごとに１０個の計測値の平均値が前記メモリ９３に一時記憶される。
【００３９】
このように、本実施形態ではIGNオンによる外部割り込み要求が検知されるまでのCPUスリープ中は、BCIA９により１５分周期で電池のV，I，Tがそれぞれ１０回ずつ計測されてその平均値が計算され、V，I，Tの時系列データとして一時記憶される。
【００４０】
図８は、IGNオンを契機とする割込処理として前記メインフローのステップS５で実行されるIGNオン中処理の手順を示したフローチャートであり、IGNオフとなるまで実行される。当該IGNオン中処理は、SOCおよびSOHの計算を行うメインルーチンと２つのタイマ割込処理（10msタイマ割込処理および2msタイマ割込処理）とで構成される。各タイマ割込処理については、後に図１０，１１を参照して詳述する。
【００４１】
IGNオン中処理のメインルーチンでは、電池５のOCV（開放電圧）がIGNオフ直後は安定せず、かつSOHおよびSOCの関数となる一方、電池５の内部抵抗Rは安定しており、かつSOHおよびSOCの関数になっているという鉛蓄電池に固有の特性に着目して、OCVおよびRが決定される初回のクランキングの直後に、OCVおよびRの連立方程式を解くことでSOHを求め、さらにSOC初期値を求める。それ以降、SOHは固定され、SOCは定期的に補正される。
【００４２】
図８において、ステップS３１ではCPU８によりSOCおよびSOHの暫定値が読み込まれる。さらに、IGNオフのCPUスリープ中にBCIA９が前記ステップS１０で計測、蓄積したV、I、Tの各時系列データがCPU８に取り込まれてRAM上に展開される。
【００４３】
ステップS３２では、CPU８の走行中計測指令部８２からBCIA９へV、I、Tの計測指令が出力される。本実施形態では、V，Iについては1ミリ秒周期での計測指令が出力され、温度Tに関しては１秒周期での計測指令が出力される。この計測指令はBCIA９の計測指令受信部９１により受信され、これ以降はBCIA９において、V，Iについては1ミリ秒周期、Tに関しては1秒周期での計測が繰り返され、その時系列データが蓄積される。
【００４４】
ステップS３３では、エンジン起動回数Nstartがリセットされる。ステップS３４では、10msタイマ割込処理および2msタイマ割込処理の設定が行われて各処理が開始される。ステップS３５では、IGNオフ中に計測された電池５のV，I，Tに基づいてその開放電圧OCVを推定するOCV推定処理が実施され、さらにその２５℃換算値OCV25が求められる。当該OCV推定処理につては、後に図１２，１３を参照して詳述する。
【００４５】
ステップS３６では、前記IGNオフ中に計測されたV，I，Tがログデータとしてフラッシュメモリに不揮発に記憶される。ステップS３７では、依然としてIGNオン中であるか否かが判定される。IGNオン中であればステップS３８へ進み、エンジンの起動が完了しているか否かが電圧電流波形に基づいて判定される。エンジン起動が完了していると判定されればステップS３９へ進み、エンジン起動回数Nstartがインクリメントされる。ステップS４０では、クランキング中フラグFcrankがセットされる。
【００４６】
ステップS４１では、今回のエンジン始動がIGNオン後の最初のエンジン始動およびISSによる再始動のいずれであるかが判定される。最初のエンジン起動であればステップS４２へ進み、クランキング前の電流電圧変化に基づいて電池５の内部抵抗Rが算出され、その２５℃換算値（R25）が求められる。
【００４７】
本実施形態では、IGNオン後のクランキング前の期間であって、補機等への給電が開始されて電圧降下が生じたタイミング（図４の時刻t1〜t2）で計測されたV，I，Tに基づいて内部抵抗Rが算出され、さらにその２５℃換算値R25が計算される。R25は、内部抵抗Rおよび温度Tの計測結果を図９に示した換算テーブルに適用することで求められる。
【００４８】
なお、内部抵抗Rの算出タイミングおよび算出方法は上記に限定されるものではなく、クランキングの際に-1Aから-100A（マイナス符号は放電電流を意味する）の範囲で計測された各電流I(t)およびその際の電圧V(t)、時刻tを抽出してクランキング中の電流・電圧相関（I-V特性）を求め、これに基づいて内部抵抗Rを算出するようにしても良い。
【００４９】
ステップS４３では、後に詳述するように、内部抵抗Rおよび開放電圧OCVの各２５℃換算値R25，OCV25に基づいてSOHおよびSOC初期値が求められる。本実施形態では、OCV25，R25が決定される初回のクランキングの直後に、R25およびOCV25の連立方程式を解くことでSOC初期値およびSOHが求められる。
【００５０】
ステップS４４では、SOH，クランキング中の最低電圧VstおよびOCV25に基づいて電池５を交換すべきか否かを判定する「電池交換推奨判定」が行われ、その結果が交換推奨フラグFrmdに登録される。この「電池交換推奨判定」については、後に図１９を参照して詳述する。
【００５１】
ステップS４５では、電池交換済みであるか否かを判定する電池交換済み判定が行われる。本実施形態では、初期化処理直後のクランキングにて、SOHの更新値と前回のSOHを比較し、SOHが若返っていた場合に電池が交換されたと判定し、電池交換済みフラグFchangedがセットされる。また、判定結果に関わらず前記パワー・オン・リセットフラグFporがリセットされる。
【００５２】
ステップS４６では、CPU８のメモリ不足および突然の電源オフ対策として、これまでに計測、計算されたデータが中間ログとしてフラッシュメモリに書き出されて不揮発に記憶される。ステップS４７では、クランキング中フラグFcrankが解除される。ステップS４８では、クランキング回数カウンタNcrankがインクリメントされる。
【００５３】
一方、前記ステップS３７において、INGオン中ではなくなったと判定されるとステップS４９へ進み、タイマ割り込みの許可が解除される。ステップS５０では、前記ステップS３２でBCIA９へ通知した走行中計測指令が解除される。
【００５４】
図１０は、前記IGNオン中処理において１０ミリ秒周期のタイマ割込で起動される10msタイマ割込処理の手順を示したフローチャートであり、INGオン中処理のステップS３４でタイマ割り込みが許可されると、ステップS４９で当該許可を解除されるまで１０ミリ秒周期で繰り返し実行される。
【００５５】
ステップS６１では、BCIA９が前記走行中計測指令に応答して計測した電池５のV，I，Tが取得される。ステップS６２では、取得した電流Iの積算値によりSOCを更新するSOC算出処理が実施される。本実施形態では、2ミリ秒周期で計測された直近の５個の電流値の平均値にその期間長（10ミリ秒）を乗じて今回の電荷量が求められ、これを前回のSOCに加算することでSOCが最新値に更新される。
【００５６】
ステップS６３では、前記BCIA９により計測されたV，I，TがCANドライバ３へ送信される。本実施形態では、電圧V，電流Iに関しては１０ミリ秒毎、温度Tに関しては8秒毎にCANドライバ３へ送信される。CANドライバ３は、受信したV，I，TをECU７へ送信する。
【００５７】
ステップS６４では、前記クランキング中フラグFcrankを参照することによりクランキング中であるか否かが判断される。クランキング中でなければステップS６５へ進んでCANパケットの受信が試行される。ステップS６６では、受信できたCANパケットによりメンテナンスモードへの移行が要求されているか否かが判定される。
【００５８】
メンテナンスモードへの移行が要求されていればステップS６７へ進み、タイマ割り込みが禁止されてBCIA９がスリープモードへ移行する。ステップS６８では、メンテナンスモードが実行される。メンテナンスモードが終了すると、ステップS６９では、タイマ割り込みの禁止が解除され、BCIA９がスリープモードから復帰する。
【００５９】
これに対して、前記ステップS６６において、メンテナンスモードへの移行が要求されていないと判定されるとステップS７０へ進み、故障判定のタイミングであるか否かが判定される。本実施形態では、所定の周期τ2で故障判定を行うべく起動時間変数TM mod τ2が計算され、これがゼロであれば、ステップS７１へ進んで故障判定が行われる。本実施形態では、V，I，Tの各計測値が有りえない値を示した時に故障判定がなされる。
【００６０】
ステップS７２では、満充電判定のタイミングであるか否かが判定される。本実施形態では、所定の周期τ5で満充電判定を行うべく、TM mod τ5が計算され、これがゼロであれば、ステップS７３へ進んで満充電判定が行われる。その結果、電圧Vが所定の満充電電圧（例えば、13.5 V）以上であって充電電流Iが少ない（例えば、1A未満）状態が所定時間以上継続して観測されると、満充電状態と判定されてSOCに100%が設定される。
【００６１】
ステップS７４では、アイドリングストップ可否判定のタイミングであるか否かが判定される。本実施形態では、所定の周期τ4で判定を行うべく、TM mod τ4が計算され、これがゼロであれば、ステップS７５へ進んでアイドリングストップ（ISS）可否判定が行われる。この「ISS可否判定」については、後に図１９を参照して詳述する。
【００６２】
ステップS７６では、SOC，SOH，電池交換推奨判定結果、故障判定結果、ISS可否判定結果がCANへ送出される。ステップS７７では、起動時間変数TMに１０ミリ秒が加算される。
【００６３】
図１１は、前記IGNオン中処理において2ミリ秒周期のタイマ割り込みで起動される2msタイマ割込処理の手順を示したフローチャートであり、前記ステップS３４で割り込みが許可されると、前記ステップS４９で当該許可を解除されるまで2ミリ秒周期で実行される。
【００６４】
ステップS８１では、クランキング中であるか否かが判断される。本実施形態では、クランキングの継続時間が平均的に1秒であり、その際には数百Aの放電電流が生じるのに対して、通常の補機電流は20A程度であることから、90A以上の放電電流が2ミリ秒以上継続するとクランキングの開始と判断するようにしている。その結果、クランキング中と判断されると、ステップS８２へ進んでクランキング中フラグFcrankがセットされる。
【００６５】
ステップS８３では、クランキング開始後８ミリ秒以内であるか否かが判断される。８ミリ秒以内であればステップS８４へ進み、BCIA９から取得した電圧Vの中で最小電圧を求め、これが１回のクランキング時の最低電圧Vstとされる。
【００６６】
これに対して、前記ステップS８１において、クランキング中ではないと判定されるとステップS８６へ進み、イグニッションON後の最初のクランキング前であるか否かが判定される。最初のクランキング前であればステップS８７へ進み、BCIA９により計測されたV，Iを切り出し、現在時刻tと対応付けた時系列Vt，Itとして蓄積する。
【００６７】
図１２は、前記イグニッションON中処理のステップS３５で実施されるOCV推定処理の手順を示したフローチャートであり、本実施形態では、IGNオフ後の経過時間に応じてOCVの推定アルゴリズムを異ならせている。
【００６８】
ステップS１０１、S１０２では、前回のIGNオフからの経過時間が参照され、経過時間が６時間以上であれば、前記2msタイマ割込処理で計測された最新のV，Tに基づいてOCVを計算すべくステップS１０６へ進む。ステップS１０６では、最新のV、Tおよび予め設定されている暗電流値を、図１３に一例を示したOCVの２５℃変換テーブルに適用することで、２５℃換算のOCV（OCV25）が次式(1)に基づいて計算され、その定数項pおよびSOH項qがそれぞれ求められる。
【００６９】
【数１】
0006642795.tif 000002
【００７０】
これに対して、経過時間が２時間以上６時間未満であればステップS１０３へ進み、OCVが駐車中に計測されたV，I，Tに基づいて推定される。本実施形態では、駐車中に電池電圧Vが時間経過と共に指数関数的に低下してOCVへと収束して行く鉛二次電池に固有の特性に着目した。そして、AR（自己回帰モデル）により電圧Vの収束値をOCVとして推定すべく、以下に詳述するように、電圧Vの時系列に基づいて３次のyule-walker方程式を決定し、そのAR係数を求めるようにした。
【００７１】
本実施形態では、電圧Vに関する過去の時系列データV(1)，V(2)…より漸化式を作成して未来を予測することを考える。漸化式は過去の時系列データによる最小二乗法により決定するものとし、m個の指数関数の和として次式(2)で表される。
【００７２】
【数２】
0006642795.tif 000003
【００７３】
ここで、nは電圧Vを予測したい時刻、a1，a2…amは中間出力、mはARの次数、cは誤差項であり、入力を電圧Vの過去の時系列V(1)，V(2)…V(k)とし、最終出力をV(∞)とする。ステップS１０４では、AR係数の計算に成功したか否かが判定され、成功していればステップS１０５へ進む。
【００７４】
ステップS１０５では、前記AR係数の計算結果に基づいて25℃換算のOCVが電圧Vの収束値として求められる。図１４は、前記ステップS１０３，S１０５において、ARにより時刻無限大として電圧Vの収束値V(∞)を計算する手順を示した図である。
【００７５】
これに対して、AR係数の計算に失敗していると判定されるか、あるいは前記ステップS１０２において前回のIGNオフからの経過時間が２時間未満と判定されていればステップS１０７へ進み、OCV計算失敗フラグFocv-failをセットして今回の処理を終了する。
【００７６】
図１５は、前記イグニッションON中処理のステップS４３で実施される「SOC初期値およびSOH計算」の手順を示したフローチャートであり、図１６は、当該手順を実現するBCIA９およびCPU８の機能ブロック図である。
【００７７】
前記BCIA９は、電池５のR25を計測する内部抵抗計測部９６および開放電圧OCV25を計測する開放電圧計測部９７を具備する。前記CPU８は、OCV25とSOHおよびSOCとの関係を表す第１方程式（次式(3)）、およびR25とSOHおよびSOCとの関係を表す第２方程式（次式(4)）、を記憶する方程式記憶部８６ならびに前記R25およびOCV25の計測結果を前記各方程式に適用し、その連立方程式の解としてSOHおよびSOCを求める求解部８７を具備する。
【００７８】
図１５を参照し、ステップS２０１では、OCV失敗フラグFocv-failに基づいて、前記開放電圧計測部１０１によるOCV25計算の成否が判定され、OCV25の計算に成功していればステップS２０２へ進む。ステップS２０２では、前記内部抵抗計測部１０２によるR25計算の成否が判定され、R25計算に成功していればステップS２０３へ進む。
【００７９】
ステップS２０３では、前記求解部８７において、OCV25およびR25に関する以下の２つの連立方程式(3)，(4)を解くことでSOHが求められる。各方程式は前記方程式記憶部８６に記憶されている。なお、SOCは次式(5)で定義され、100-SOHから100までの値を取る。SOC指標xは現在の充電量×100/現在の満充電容量であって0-100の値を取る。
【００８０】
【数３】
0006642795.tif 000004
【００８１】
【数４】
0006642795.tif 000005
【００８２】
【数５】
0006642795.tif 000006
【００８３】
本実施形態では、SOCとSOHとの間にはOCV25ごとに上式(3)の関係が成立することに着目し、同一仕様の鉛二次電池を種々の劣化状態において予め測定したSOH、SOCおよびOCV25の関係（図１７）に基づいて、上式(3)の係数a，b，cを予め計算、登録しておく。また、係数p，qは前記OCV推定処理で求められたOCV25計算式の定数項の値およびSOH項の係数値である。
【００８４】
さらに、本実施形態ではR25がSOCの指標となるxとSOHとの関数であることに着目し、同一仕様の鉛二次電池を種々の劣化状態において予め測定したR25、SOC指標xおよびSOHの関係（図１８）に基づいて上式(4)を予め求めておく。
【００８５】
ステップS２０４では、前記パワー・オン・リセットフラグFporが参照され、フラグFpor=1であれば、ステップS２０５へ進んでSOHに「100％」をセットした後にステップS２０６へ進む。これに対して、フラグFpor=1でなければ直ちにステップS２０６へ進み、次式(6)，(7)に基づいてSOCが計算される。
【００８６】
【数６】
0006642795.tif 000007
【００８７】
【数７】
0006642795.tif 000008
【００８８】
なお、前記ステップS２０１において、OCV25計算に失敗していると判定されるとステップS２０７へ進み、今回のSOHとして前回のSOHが登録される。ただし、パワーオン・リセット直後はSOH=１００％が登録される。
【００８９】
図１９は、前記10msタイマ割込処理のステップS７５で実施されるISS可否判定の手順を示したフローチャートである。
【００９０】
ステップS１６１では、SOCおよびSOHがアイドリングストップ禁止の要件を満たしているか否かが判定される。本実施形態では、SOCがアイドリングストップ可否の判定閾値SOCiss以下であるか、あるいは現在のSOHが50%未満であるか否かが判定される。いずれかの要件が満たされるとステップS１６５へ進み、ISS禁止フラグFiss_ngをセットして当該処理を終了する。
【００９１】
これに対して、いずれの要件も満たされなければステップS１６２へ進み、アイドリングストップ禁止中であるか否かが前記ISS禁止フラグFiss_ngに基づいて判断される。禁止中でなければステップS１６３へ進み、クランキング中の最低電圧Vstがアイドリングストップ禁止の要件を満たしているか否かが判定される。本実施形態では、最低電圧Vstがアイドリングストップ可否の判定閾値Vst_iss以下であればステップS１６５へ進み、ISS禁止フラグFiss_ngをセットして当該処理を終了する。
【００９２】
これに対して、最低電圧Vstが判定閾値Vst_issを超えていればステップS１６４へ進み、電圧Vがアイドリングストップ禁止の要件を満たしているか否かが判定される。本実施形態では、電圧Vがアイドリングストップ可否の判定閾値Viss（例えば、11.5V）以下であればステップS１６５へ進み、ISS禁止フラグFiss_ngをセットして当該処理を終了する。
【００９３】
一方、前記ステップS１６２において、アイドリングストップ禁止中と判定されればステップS１６６へ進み、連続充電中であるか否かが判定される。連続充電中であればステップS１６７へ進み、ISS禁止フラグFiss_ngをリセット（アイドリングストップを許可）して当該処理を終了する。
【００９４】
図２０は、IGNオン中処理のステップS４４で実行される電池交換推奨判定の手順を示したフローチャートであり、図２１は、電池交換推奨判定を実現するCPU８およびBCIA９の機能ブロック図である。本実施形態では、初回のクランキング時のみ、SOHおよびクランキング中最低電圧Vstに基づいて電池交換の推奨判定がなされる。
【００９５】
初めに図２１を参照し、BCIA９において、最低電圧検知部９８は、エンジンのクランキング中に計測部９２で計測された電池電圧Vの時系列から最低電圧Vstを検知する。CPU８において、使用年累計部８８は、電池５の累計使用年を計算する。交換判定閾値決定部８９は、前記最低電圧Vstおよび使用期間に基づいて交換判定閾値Vst_thを決定する。本実施形態では、後に詳述するように、使用期間が長くなるほど交換判定閾値Vst_thが高く設定される。交換時期判定部９０は、前記最低電圧Vstが交換判定閾値Vst_thを下回ると電池の交換時期と判定する。
【００９６】
図２０を参照し、ステップS１７１では、電池交換推奨フラグFchangeがリセットされる。ステップS１７２では、SOHが所定の交換判定閾値SOH_thと比較され、SOH＜SOH_thであれば、ステップS１７３へ進んで電池交換推奨フラグFchangeがセットされる。ステップS１７４では、クランキング中最低電圧Vstの２５℃換算値Vst25がVst，TおよびOCV25の関数として計算され、今回周期の結果として一時記憶される。
【００９７】
ステップS１７５では、直近の複数のVst25に基づいて、その平均値Vst0が算出される。ステップS１７６では、後に図２２を参照して詳述するように、Vstに関する交換判定閾値Vst_thが、前記交換判定閾値決定部８９により、前記Vst0およびOCV25の関数として算出される。ステップS１７７では、前記交換時期判定部９０により前記VstとVst_thとが比較され、Vst＜Vst_thであれば、ステップS１７８へ進んで電池交換推奨フラグFchangeがセットされる。
【００９８】
図２２は、前記交換判定閾値Vst_thの決定手順を示したフローチャートである。本実施形態では、クランキング中最低電圧Vstが電池交換のタイミングを推定する一つの代表的な指標とはなるものの経年劣化の影響が反映されにくいことを新たに知見し、経年劣化の進んでいる可能性の高い電池に関してはより高い閾値で交換判定がなされるようにした。
【００９９】
ステップS１８１では、Vst_thの標準値が前記Vst0およびOCV25の関数として算出される。ステップS１８２，S１８３では、前記使用年類型部８８により求められた電池５の使用年数が判定され、使用年数が７年以上であればステップS１８４へ進み、次式(8)のように、Vst_thが0.2Vを加えた値に校正される。このような閾値校正は、使用年数が７年以上の電池では経年劣化の影響が使用年数に関わらずほぼ一定になるとの考察に基づくものである。
【０１００】
【数８】
0006642795.tif 000009
【０１０１】
また、使用年数が３年以上７年未満であればステップS１８５へ進み、次式(9)のように、Vst_thが使用年数から３年を引いた年数に０．０５Vを乗じた値を加えた値に校正される。このような閾値校正は、使用年数が７年未満の電池では経年劣化の影響が使用年数に比例するとの考察に基づくものである。
【０１０２】
【数９】
0006642795.tif 000010
【０１０３】
このように、本実施形態では電池の経年劣化を使用年数で代表し、交換判定閾値Vst_thが電池の使用年数に応じて動的に変更されるので、交換判定閾値をより適正値に設定することができ、電池の交換判定をより正確に行えるようになる。
【符号の説明】
【０１０４】
１…エンジンENG，２…変速機，３…オルタネータベルト，４…スタータ兼オルタネータISG，５…電池，６…電池コントローラBC，７…エンジン・コントロール・ユニットECU，８…CPU，９…電池コントローラIC（BCIA），１０…CANドライバ，１１…シリアルバス，１２…温度センサ，１３…シャント抵抗，１４…IGNスイッチ
【図１】
0006642795.tif 000011
【図２】
0006642795.tif 000012
【図３】
0006642795.tif 000013
【図４】
0006642795.tif 000014
【図５】
0006642795.tif 000015
【図６】
0006642795.tif 000016
【図７】
0006642795.tif 000017
【図８】
0006642795.tif 000018
【図９】
0006642795.tif 000019
【図１０】
0006642795.tif 000020
【図１１】
0006642795.tif 000021
【図１２】
0006642795.tif 000022
【図１３】
0006642795.tif 000023
【図１４】
0006642795.tif 000024
【図１５】
0006642795.tif 000025
【図１６】
0006642795.tif 000026
【図１７】
0006642795.tif 000027
【図１８】
0006642795.tif 000028
【図１９】
0006642795.tif 000029
【図２０】
0006642795.tif 000030
【図２１】
0006642795.tif 000031
【図２２】
0006642795.tif 000032