(57)【特許請求の範囲】
【請求項１】
蓄電池に流れる電流または前記蓄電池の電圧が、所定時間内に所定値を超える変化があった旨の急峻変化条件を満たしているか否かを判定する急峻変化条件判定部と、
前記急峻変化条件が満たされていることを条件として、前記蓄電池の内部抵抗の前記電流に対する関数である抵抗関数を同定する抵抗関数同定部と、
同定された前記抵抗関数を用いて、前記蓄電池に特定負荷が接続された際の前記電流である特定電流を算出する特定電流算出部と、
を有し、
前記抵抗関数同定部は、
縦、横方向のスケーリングを調整するスケーリング電流と、縦、横方向のスケーリングを調整するスケーリング電圧と、高さ方向のスケーリングを調整するスケーリング抵抗とを前記抵抗関数のパラメータとし、前記スケーリング抵抗によって求めた電圧降下と実際の電圧降下との偏差を求める機能と、
前記スケーリング電流を、前記偏差に比例した値で更新し、前記偏差の二乗和が最小になるように前記スケーリング電圧と、前記スケーリング抵抗と、前記スケーリング電流とを求める機能と、
を有することを特徴とする電池状態検出装置。
【請求項２】
前記特定負荷は、車両に搭載されたエンジンを始動するものであり、
前記特定電流は、前記車両が停止した際に前記エンジンを停止させ、しかる後に前記エンジンを始動した場合に前記特定負荷に流れる前記電流であり、
前記特定電流に基づいて、前記エンジンを始動した際の前記電圧の推定値である電圧推定値を算出する電圧推定部と、
前記電圧推定値に基づいて、起動中の前記エンジンの停止の可否、または停止している前記エンジンの始動の要否を判定するエンジン制御部と、
をさらに有することを特徴とする請求項１に記載の電池状態検出装置。
【請求項３】
前記急峻変化条件判定部は、
前記エンジンの始動を開始した後に前記電流に極小値が現れるまでの期間、前記電流に前記極小値が現れた後に前記電流が零になるまでの期間、または、前記エンジンが停止された後に前記電流が零になるまでの期間のうち、一または複数の期間において、前記急峻変化条件を満たしたものと判定する
ことを特徴とする請求項２に記載の電池状態検出装置。
【請求項４】
前記抵抗関数同定部は、前記抵抗関数を、バトラーボルマー式に基づいて算出する
ことを特徴とする請求項３に記載の電池状態検出装置。
【請求項５】
前記特定電流算出部は、前記蓄電池の非定常開放電圧を推定する機能と、前記非定常開放電圧に基づいて前記特定電流を算出する機能と、前記特定電流に基づいて、前記蓄電池に前記特定負荷が接続された際の前記蓄電池の電圧推定値を算出する機能と、
を有することを特徴とする請求項１に記載の電池状態検出装置。
【請求項６】
前記特定電流算出部は、前記非定常開放電圧を、現在の前記電圧と、現在の前記電流と、バトラーボルマー式と、前記スケーリング抵抗とに基づいて推定する
ことを特徴とする請求項５に記載の電池状態検出装置。
【請求項７】
前記特定電流算出部は、前記特定負荷に前記蓄電池を接続した際の前記蓄電池の前記電圧と、前記特定負荷に流れた実際の前記電流とに基づいて、前記特定負荷の抵抗値である特定負荷抵抗値を算出する機能を有する
ことを特徴とする請求項６に記載の電池状態検出装置。
【請求項８】
前記特定電流算出部は、前記特定負荷に前記蓄電池を接続した際に前記蓄電池に流れる前記電流と、事前に求めた前記特定電流とに基づいて、前記蓄電池の分極抵抗値を求める機能と、
前記分極抵抗値に基づいて、次回に前記特定負荷を前記蓄電池に接続する際の前記特定電流の推定値を更新する
ことを特徴とする請求項６に記載の電池状態検出装置。
【請求項９】
前記急峻変化条件は、０．１秒以下の期間内に、前記蓄電池に流れる前記電流に２０アンペア以上の変化が生じたという条件である
ことを特徴とする請求項１に記載の電池状態検出装置。
【請求項１０】
蓄電池と、
前記蓄電池を適宜充電するエンジンと、
前記蓄電池に流れる電流または前記蓄電池の電圧が、所定の急峻変化条件を満たしているか否かを判定する急峻変化条件判定部と、
前記急峻変化条件が満たされていることを条件として、前記蓄電池の内部抵抗の前記電流に対する関数である抵抗関数を同定する抵抗関数同定部と、
同定された前記抵抗関数を用いて、前記蓄電池に特定負荷が接続された際の前記電流である特定電流を算出する特定電流算出部と、
を有し、
前記抵抗関数同定部は、
縦、横方向のスケーリングを調整するスケーリング電流と、縦、横方向のスケーリングを調整するスケーリング電圧と、高さ方向のスケーリングを調整するスケーリング抵抗とを前記抵抗関数のパラメータとし、前記スケーリング抵抗によって求めた電圧降下と実際の電圧降下との偏差を求める機能と、
前記スケーリング電流を、前記偏差に比例した値で更新し、前記偏差の二乗和が最小になるように前記スケーリング電圧と、前記スケーリング抵抗と、前記スケーリング電流とを求める機能と、
を有することを特徴とする車両。
【請求項１１】
コンピュータを、
蓄電池に流れる電流または前記蓄電池の電圧が、所定の急峻変化条件を満たしているか否かを判定する急峻変化条件判定手段、
前記急峻変化条件が満たされていることを条件として、前記蓄電池の内部抵抗の前記電流に対する関数である抵抗関数を同定する抵抗関数同定手段、
同定された前記抵抗関数を用いて、前記蓄電池に特定負荷が接続された際の前記電流である特定電流を算出する特定電流算出手段、
として機能させ、
前記抵抗関数同定手段を、
縦、横方向のスケーリングを調整するスケーリング電流と、縦、横方向のスケーリングを調整するスケーリング電圧と、高さ方向のスケーリングを調整するスケーリング抵抗とを前記抵抗関数のパラメータとし、前記スケーリング抵抗によって求めた電圧降下と実際の電圧降下との偏差を求める手段、
前記スケーリング電流を、前記偏差に比例した値で更新し、前記偏差の二乗和が最小になるように前記スケーリング電圧と、前記スケーリング抵抗と、前記スケーリング電流とを求める手段、
として機能させるためのプログラム。
【請求項１２】
蓄電池に流れる電流または前記蓄電池の電圧が、所定の急峻変化条件を満たしているか否かを判定する過程と、
前記急峻変化条件が満たされていることを条件として、前記蓄電池の内部抵抗の前記電流に対する関数である抵抗関数を同定する抵抗関数同定過程と、
同定された前記抵抗関数を用いて、前記蓄電池に特定負荷が接続された際の前記電流である特定電流を算出する過程と、
を有し、
前記抵抗関数同定過程は、
縦、横方向のスケーリングを調整するスケーリング電流と、縦、横方向のスケーリングを調整するスケーリング電圧と、高さ方向のスケーリングを調整するスケーリング抵抗とを前記抵抗関数のパラメータとし、前記スケーリング抵抗によって求めた電圧降下と実際の電圧降下との偏差を求める過程と、
前記スケーリング電流を、前記偏差に比例した値で更新し、前記偏差の二乗和が最小になるように前記スケーリング電圧と、前記スケーリング抵抗と、前記スケーリング電流とを求める過程と、
を有することを特徴とする電池状態検出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電池状態検出装置、車両、プログラムおよび電池状態検出方法に関する。
【背景技術】
【０００２】
近年、エンジンで駆動される車両には、アイドリングストップ機能を有するものが増えている。これらの車両においては、車両が停止した際、次にエンジンをクランキング（再起動）する際の蓄電池の状態を推定し、再起動が困難であると推定される場合にはアイドリングストップを行わないようになっている。蓄電池の状態は、蓄電池の電圧、電流等の測定値に基づいて推定されるが、その推定のために、如何なるタイミングの測定値を用いるかが問題になる。
【０００３】
その一例として、下記特許文献１の段落００２８には、「まず蓄電装置101の電流Ib・電圧Vbの計測を開始(201)し、大電流放電(スタータ始動)があったことを検知する(202)。その際、電流が所定の最大電流値Ｉｍａｘまで低下したらクランキング期間が開始されたと判断して電流Ib・電圧Vbのペアの採取を開始し、この採取を電流が所定の最小電流値Ｉｍｉｎとなるまでの期間（クランキング期間）の間、継続し、採取した電圧・電流ペア群を記憶する。」と記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−２２３５３０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記特許文献１の技術は、蓄電装置101の状態を推定するために、電流値に基づいて、測定値（電圧・電流ペア群）を記憶するタイミング（すなわち、如何なるタイミングの測定値を用いるか）を決定するものである。しかし、電流値の大小に応じてタイミングを決定するよりも、電流値が急峻に、あるいは不連続的に変化したタイミングで測定値を取得し、その測定値を用いる方が蓄電池の状態を正確に推定できることが判明した。
この発明は上述した事情に鑑みてなされたものであり、蓄電池の状態を正確に推定できる電池状態検出装置、車両、プログラムおよび電池状態検出方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するため本発明の電池状態検出装置にあっては、蓄電池に流れる電流または前記蓄電池の電圧が、所定時間内に所定値を超える変化があった旨の急峻変化条件を満たしているか否かを判定する急峻変化条件判定部と、前記急峻変化条件が満たされていることを条件として、前記蓄電池の内部抵抗の前記電流に対する関数である抵抗関数を同定する抵抗関数同定部と、同定された前記抵抗関数Ｒ（Ｉ）を用いて、前記蓄電池に特定負荷が接続された際の前記電流である特定電流を算出する特定電流算出部と、を有し、前記抵抗関数同定部は、縦、横方向のスケーリングを調整するスケーリング電流と、縦、横方向のスケーリングを調整するスケーリング電圧と、高さ方向のスケーリングを調整するスケーリング抵抗とを前記抵抗関数のパラメータとし、前記スケーリング抵抗によって求めた電圧降下と実際の電圧降下との偏差を求める機能と、前記スケーリング電流を、前記偏差に比例した値で更新し、前記偏差の二乗和が最小になるように前記スケーリング電圧と、前記スケーリング抵抗と、前記スケーリング電流とを求める機能と、
を有することを特徴とする電池状態検出装置。
【発明の効果】
【０００７】
本発明によれば、蓄電池の状態を正確に推定できる。
【図面の簡単な説明】
【０００８】
【図１】本発明の第１実施形態による車両のブロック図である。
【図２】電池監視装置のブロック図である。
【図３】アイドリングストップ制御ルーチンのフローチャートである。
【図４】電池状態監視ルーチンのフローチャートである。
【図５】電流Ｉの波形図の一例である。
【図６】（ａ）ＳＯＣが８０％、（ｂ）ＳＯＣが９０％、であるときの電流Ｉと電圧変化量ΔＶの相関図である。
【図７】本発明の第２実施形態による車両のブロック図である。
【図８】バトラーボルマー方程式による（ａ）関数Ｆ（ｘ）および（ｂ）関数Ｆ’（ｘ）のグラフである。
【発明を実施するための形態】
【０００９】
［第１実施形態］
〈第１実施形態の構成〉
次に、図１に示すブロック図を参照し、本発明の第１実施形態による車両１の詳細を説明する。
車両１は、アイドリングストップ機能を有するいわゆるアイドリングストップ車であり、車両１を駆動するエンジン１１と、エンジン１１に機械的に結合された発電機１２と、発電機１２から出力された電力を蓄電する蓄電池１０と、ライト、空気調和機、スタータ（特定負荷）１４ａ等の電気負荷である補機負荷１４と、車両１の各部を制御するＥＣＵ（Electronic Control Unit，エンジン制御部、電池状態検出装置）１５と、蓄電池１０の状態を検知する電池監視装置（電池状態検出装置）３０とを有している。蓄電池１０としては、例えば鉛蓄電池やニッケル水素蓄電池等を適用することができる。
【００１０】
ＥＣＵ１５は、ＣＰＵ（Central Processing Unit）、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）等、一般的なコンピュータとしてのハードウエアをそれぞれ備えており、ＲＯＭには、ＣＰＵによって実行されるプログラム（詳細は後述する）や、各種データ等が格納されている。電池監視装置３０は、ＳＯＣ（State of Charge）、ＳＯＦ（State of Function）等の値を計測する。ここで、ＳＯＣとは充電率であり、ＳＯＦとはクランキング時（エンジン１１の始動時）における蓄電池１０の電圧推定値である。
【００１１】
エンジン１１を停止させるアイドリングストップ時には、補機負荷１４への電力は蓄電池１０から供給される。また、車両１の減速時には、タイヤからの回転力で発電機１２を回転、動作させ、発電機１２によって発生した電気エネルギーを補機負荷１４に電力として供給してもよい。また、ＥＣＵ１５は、蓄電池１０のＳＯＣが不足している場合には、エンジン１１によって発電機１２を駆動し、蓄電池１０を充電させる。
【００１２】
次に、図２に示すブロック図を参照し、電池監視装置３０の詳細構成を説明する。電池監視装置３０は、蓄電池１０の出力電圧を測定する電圧センサ３１と、蓄電池１０に流れる電流を測定する電流センサ３２と、ＣＰＵ３３と、各種データを格納するＲＡＭ３４と、ＣＰＵ３３によって実行される制御プログラム（詳細は後述する）を記憶するＲＯＭ３５と、ＥＣＵ１５とＣＰＵ３３との通信を仲介する通信ドライバ３６と、蓄電池１０の温度Ｔを測定する温度センサ３７と、を有している。各センサ３１，３２，３７は、ＡＤコンバータを含んでおり、ＣＰＵ３３に対して測定値をデジタル値として供給する。
【００１３】
図２において、ＣＰＵ３３の内部は、上記制御プログラムによって実現される主な機能を示している。急峻変化条件判定部３０１は、蓄電池１０に流れる電流Ｉが急峻に変化したか否かを判定するものである。抵抗関数同定部３０２は、蓄電池１０の内部抵抗である抵抗関数Ｒ（Ｉ）（詳細は後述する）を同定するものである。また、クランキング電流算出部（特定電流算出部）３０４は、クランキング時（エンジン１１の始動時）における電流Ｉすなわちクランキング電流（特定電流）Ｉcを推定するものである。また、電圧推定部３０６は、クランキング電流Ｉcに基づいてＳＯＦを推定するものである。
【００１４】
ＥＣＵ１５と電池監視装置３０とは通信線１６を介して接続されている。ここで、通信線１６は、ＣＡＮ（Controller Area Network）等を用いて構成してもよい。また、電流センサ３２は、ホール素子やシャント抵抗器等を用いて構成することができる。
【００１５】
〈第１実施形態の動作〉
（ＥＣＵ１５の動作）
次に、本実施形態の動作を説明する。
まず、図３は、ＥＣＵ１５で実行されるアイドリングストップ制御ルーチンのフローチャートである。本ルーチンは、車両１にキーを差し込み、イグニッションをオンにした際に起動され、キーをオフにするまで継続される。
【００１６】
図３において処理がステップＳ２に進むと、車両１の車両速度が正値から零値に変化したか否かが判定される。車両１が継続して走行中である場合、あるいは車両１が継続して停止中である場合は「Ｎｏ」と判定され、ステップＳ２のループが繰り返される。一方、車両速度が正値から零値に変化すると、「Ｙｅｓ」と判定され処理はステップＳ４に進む。ここでは、ＥＣＵ１５は、電池監視装置３０からＳＯＦを受信する。
【００１７】
次に、処理がステップＳ６に進むと、ＥＣＵ１５は、ＳＯＦが所定の最低電圧を超えているか否かを判定する。なお、最低電圧とは、アイドリングストップを許容する最低電圧である。ここで「Ｎｏ」と判定されると、処理はステップＳ２に戻り、アイドリングを続行したままステップＳ２が繰り返し実行される。一方、ステップＳ６において「Ｙｅｓ」と判定されると、処理はステップＳ８に進み、ＥＣＵ１５はアイドリングをストップする。すなわち、エンジン１１を停止させる。
【００１８】
次に、処理がステップＳ１０に進むと、ＥＣＵ１５は、再び、電池監視装置３０からＳＯＦを受信する。次に、処理がステップＳ１２に進むと、ＳＯＦが最低電圧を超えているか否かが再び判定される。ここで「Ｙｅｓ」と判定されると、処理はステップＳ１４に進み、車両１のブレーキペダルがオフ状態であるか否かが判定される。ここで「Ｎｏ」と判定されると、処理はステップＳ１０に戻る。以後、ＳＯＦが最低電圧を超え、ブレーキペダルがオン状態（運転者が踏んでいる状態）である限り、アイドリングストップ状態のままステップＳ１０〜Ｓ１４のループが繰り返される。
【００１９】
ここで、ＳＯＦが最低電圧以下になった場合、またはブレーキペダルがオフ状態になった場合は、処理はステップＳ１６に進み、アイドリングストップ状態が解除される。すなわち、エンジン１１が再起動される。その後、処理はステップＳ２に戻り、上述した動作が繰り返される。
【００２０】
（電池監視装置３０の動作）
次に、図４は、電池監視装置３０で実行される電池状態監視ルーチンのフローチャートである。本ルーチンも、車両１にキーを差し込み、イグニッションをオンにした際に起動され、キーをオフにするまで継続される。
図４において処理がステップＳ１０１に進むと、急峻変化条件判定部３０１（図２参照）は、現在時刻が測定タイミングに至ったか否かを判定する。なお、「測定タイミング」とは、例えば数ミリ秒程度のサンプリング周期毎のタイミングである。サンプリング周期は、０．１秒以下の周期にすることが望ましく、０．０１秒以下の周期にすることがより望ましい。ここで「Ｎｏ」と判定されると、現在時刻が測定タイミングに至るまで、ステップＳ１０１にて処理が待機する。
【００２１】
ステップＳ１０１において「Ｙｅｓ」と判定されると、処理はステップＳ１０２に進み、急峻変化条件判定部３０１は各種の値を測定する。すなわち、電圧センサ３１、電流センサ３２、温度センサ３７を介して、蓄電池１０の電圧Ｖ、電流Ｉ、温度Ｔを取得する。次に、処理がステップＳ１０３に進むと、急峻変化条件判定部３０１は、電流変化量ΔＩ（今回の測定タイミングにおける電流Ｉから前回の測定タイミングにおける電流Ｉを減算した値）の絶対値が、電流差閾値ΔＩthを超えているか否かを判定する。すなわち、電流Ｉが急峻に変化したか否かを判定される。以下、この条件（｜ΔＩ｜＞ΔＩth）を「急峻変化条件（｜ΔＩ｜＞ΔＩth）」と呼ぶ。閾値ΔＩthは、例えば、２０[Ａ]にするとよい。閾値ΔＩthは、より好ましくは５０[Ａ]以上の値にするとよく、さらに好ましくは１００[Ａ]以上の値にするとよい。
【００２２】
急峻変化条件判定部３０１がステップＳ１０３において「Ｙｅｓ」と判定すると、処理はステップＳ１０４に進む。ステップＳ１０４において、抵抗関数同定部３０２は、今回の測定タイミングと、前回の測定タイミングにおける電圧Ｖ、電流Ｉ、温度Ｔのデータを、ＲＡＭ３４内の所定のバッファ領域に蓄積する。なお、抵抗関数同定部３０２は、バッファ領域が満杯になると、蓄積されたデータは古い順に破棄する。
【００２３】
次に、処理がステップＳ１０６に進むと、抵抗関数同定部３０２は抵抗関数Ｒ（Ｉ）をアップデートする。ここで、抵抗関数Ｒ（Ｉ）とは、蓄電池１０の内部抵抗であるが、該内部抵抗は電流Ｉに応じて変化するため、「抵抗関数」と呼ぶ。
具体的には、抵抗関数Ｒ（Ｉ）は、下式（１）によって表現される。
Ｒ（Ｉ）＝（Ｖ0／Ｉ0）×Ｆ（Ｉ／Ｉ0;α）×Ｉ0／Ｉ＋Ｒ0  …式（１）
【００２４】
式（１）において、αは定数、Ｖ0は縦方向スケーリング電圧、Ｉ0は横方向スケーリング電流（スケーリング電流）、Ｒ0は高さスケーリング抵抗である。また、電流Ｉは、充電方向を正値とする。また、関数Ｆ（ｘ；α）は、「ｘ＝exp｛−（１−α）Ｆ｝−exp｛−αＦ｝」となる関数である。関数Ｆ（ｘ；α）は、バトラーボルマー方程式と呼ばれ、液抵抗分の電圧を示す式である。
【００２５】
式（１）においては、縦方向スケーリング電圧Ｖ0および横方向スケーリング電流Ｉ0によって縦、横方向のスケーリングを調整し、高さスケーリング抵抗Ｒ0で高さ方向のスケーリングを調整する。
ここで、関数Ｆ（ｘ；α）の微分値である関数Ｆ’（ｘ；α）は下式（２）で表されるため、関数Ｆ（ｘ；α）は、下式（３）に示すニュートン法による漸化式で計算することができる。
【００２６】
Ｆ’＝１/｛（１−α）ｘ＋ｅｘｐ（−αＦ）｝    …式（２）
Ｆ［ｎ＋１］＝Ｆ［ｎ］−｛exp（（１−α）Ｆ［ｎ］）−exp（−αＦ［ｎ］）−ｘ｝／｛ （１−α）exp（（１−α）Ｆ［ｎ］）＋αexp（−αＦ［ｎ］）｝    …式（３）
但し、式（３）において、ｘが関数Ｆ（ｘ；α）の変曲点以下である場合は、Ｆ［０］＝２arcsinh（ｘ／２）とし、ｘが関数Ｆ（ｘ；α）の変曲点を超える場合は、Ｆ［０］＝ln（｜ｘ｜）／（１−α）にするとよい。ここで、関数Ｆ（ｘ；α）の変曲点は、（２−１／α）×（１／α−１）(2α-1)である。
【００２７】
抵抗関数Ｒ（Ｉ）のアップデートに際して電流Ｉが急峻に変化した時のデータを用いる理由は、分極の影響を避けつつ、正確なデータを取得できるためである。ここで、電流Ｉが急峻に変化する前の電流Ｉ、電圧ＶをＩａ、Ｖａとし、電流Ｉが急峻に変化した後の電流Ｉ、電圧ＶをＩｂ、Ｖｂとすると、電圧誤差をＥとしたときのその二乗誤差Ｅ2は、下式（４）によって求められる。
Ｅ2＝｜Ｖ0×｛Ｆ（Ｉａ/Ｉ0；α）− Ｆ（Ｉｂ/Ｉ0；α）｝＋Ｒ0×（Ｉａ−Ｉｂ）−（Ｖａ−Ｖｂ）｜2    …式（４）
【００２８】
ステップＳ１０６にて「抵抗関数Ｒ（Ｉ）をアップデートする」とは、望ましくは「Ｖ0，Ｉ0，Ｒ0，αを同定する（最適化する）こと」である。但し、定数αを最適化すると演算時間が不足する場合には、αは所定値、例えば０．６９（または０．５から０．９までの値のいずれか）に固定してもよい。定数αを固定すると、式（４）における未知数は、パラメータＶ0，Ｉ0，Ｒ0の三者になる。過去のデータも含めて式（４）の二乗誤差の総和を最小にしするならば、過去ｎ回（ｎは３以上の自然数）の、急峻変化条件が満たされた際のデータを用いて、下式（５）に示す総和誤差Ｅｍを最小化させるＶ0，Ｉ0，Ｒ0を同定するとよい。ここで、過去ｎ回とは電流不連続な急峻変化条件となるデータの時刻が連続的なものを１群と数え、ｎ群以上のデータを指すものとする。このデータ群の例は後述する。
【００２９】
Ｅｍ＝Σ｜Ｖ0×｛Ｆ（Ｉａ（ｊ）/Ｉ0；α）− Ｆ（Ｉｂ（ｊ）/Ｉ0；α）｝＋Ｒ0×（Ｉａ（ｊ）−Ｉｂ（ｊ））−（Ｖａ（ｊ）−Ｖｂ（ｊ））｜2    …式（５）
（但し、ｊ＝１，２，…，ｎ）
換言すると、ステップＳ１０６は、抵抗関数Ｒ（Ｉ）のパラメータＶ0，Ｉ0，Ｒ0に基づいて、高さスケーリング抵抗Ｒ0によって求めた電圧降下実際の電圧降下との偏差（Ｒ0×（Ｉａ−Ｉｂ）−（Ｖａ−Ｖｂ））を求め、横方向スケーリング電流Ｉ0を偏差に比例した値（微小値）で更新し、偏差の二乗和（Ｅｍ）が最小になるように、パラメータＶ0，Ｉ0，Ｒ0を求めていることになる。
【００３０】
抵抗関数同定部３０２は、ステップＳ１０６を実行する毎にＶ0，Ｉ0，Ｒ0を更新してゆくが、ステップＳ１０６を最初に実行する際には、直前のクランキング時のデータ、または前回キーオフした時の値を初期値として用いるとよい。また、横方向スケーリング電流Ｉ0の初期値については、所定値（例えば２０［Ａ］）を用いてもよい。工場出荷時には横方向スケーリング電流Ｉ0として所定値（例えば２０［Ａ］）を設定し、式（５）を繰り返し演算することにより、Ｖ0，Ｉ0，Ｒ0を設定するとよい。
【００３１】
ステップＳ１０６が終了すると、処理はステップＳ１０１に戻る。以後、急峻変化条件（｜ΔＩ｜＞ΔＩth）が満たされる限り、測定タイミング毎に抵抗関数Ｒ（Ｉ）がアップデートされる。その後、急峻変化条件が満たされなくなると、ステップＳ１０３において「Ｎｏ」と判定され、処理はステップＳ１０８に進む。ステップＳ１０８では、クランキング電流算出部３０４（図２参照）は、非定常開放電圧ＯＣＶを算出する。ここで、開放電圧とは、蓄電池１０が開放状態である場合の電圧Ｖを指し、非定常開放電圧ＯＣＶとは、分極電圧を含めた開放電圧を指す。
【００３２】
非定常開放電圧ＯＣＶは、下式（６）によって求められる。
ＯＣＶ＝Ｖ−Ｒ（Ｉ）×Ｉ      …式（６）
ここで、電圧Ｖおよび電流Ｉは、電圧センサ３１および電流センサ３２で得られた測定値である。抵抗関数Ｒ（Ｉ）は、式（１）に示した通りである。
【００３３】
次に、処理がステップＳ１１０に進むと、クランキング電流算出部３０４は、下式（７）に基づいて、クランキングにおける電流Ｉ（以下、クランキング電流Ｉcという）を推定する。
Ｒ（Ｉc）×Ｉc＋ｒ0×Ｉc＝ＯＣＶ    …式（７）
ここで、ｒ0は、補機負荷１４に含まれるスタータ１４ａの抵抗値（以下、スタータ抵抗値（特定負荷抵抗値）という）である。なお、スタータ抵抗値ｒ0は、配線抵抗を含む値である。スタータ抵抗値ｒ0は、温度Ｔによって変化するため、クランキング時毎に計算することが望ましい。例えば、直前のクランキング時における電圧Ｖの最低値を電圧Ｖstとし、該電圧Ｖstが現れた際の電流Ｉを電流Ｉstとすると、スタータ抵抗値ｒ0は「ｒ0＝Ｖst／Ｉst」によって求めるとよい。
【００３４】
ところで、上式（７）は下式（８）のように変形できるため、式（８）の非線形方程式を解くことにより、クランキング電流Ｉcを求めることができる。
Ｖ0×Ｆ（Ｉc/Ｉ0；α）＋（Ｒ0＋ｒ0）×Ｉc＝ＯＣＶ    …式（８）
【００３５】
式（８）内のクランキング電流Ｉcは、式（９）に示す、関数ｘ（ｎ）を用いたニュートン法による漸化式で計算することができる。
ｘ（ｎ＋１）＝ｘ（ｎ）−｛exp（ｘ（ｎ））−１＋（Ａｘ（ｎ）−Ｂ）exp（αｘ（ｎ））｝／｛ （１−α）exp（ｘ（ｎ））＋α＋Ａexp（αｘ（ｎ））｝    …式（９）
【００３６】
但し、式（９）において、
Ａ＝Ｖ0/（Ｒ0＋ｒ0）であり、
Ｂ＝ＯＣＶ／（Ｒ0＋ｒ0）である。
Ｂが関数Ｆ（ｘ；α）の変曲点以下である場合は、ｘ（０）＝arcsinh（Ｂ／２）／Ｂとすればよく、Ｂが関数Ｆ（ｘ；α）の変曲点を超える場合は、ｘ（０）＝ln（｜Ｂ｜）／（１−α）とするとよい。上述したように、関数Ｆ（ｘ；α）の変曲点は（２−１／α）×（１／α−１）(2α-1)である。
【００３７】
クランキング電流算出部３０４は、「Ｉc＝｛ＯＣＶ−Ｖ0×ｘ（ｎ＋１）｝／（Ｒ0＋ｒ0）」によってクランキング電流Ｉcを推定する。なお、「ｘ（ｎ＋１）」は、適切な範囲で式（９）が収束したときの「ｎ＋１」である。例えば、｜ｘ（ｎ＋１）−ｘ（ｎ）｜＜１ｅ-6の収束条件を充足したときの関数ｘ（ｎ＋１）を用いるとよい。
【００３８】
ステップＳ１１０においてクランキング電流Ｉcが算出されると、次に処理はステップＳ１１２に進み、電圧推定部３０６は、クランキング電流Ｉcと、スタータ抵抗値ｒ0とに基づいて、下式（１０）に基づいてＳＯＦ、すなわちクランキング時における電圧Ｖの推定値を算出する。
ＳＯＦ＝Ｉc×ｒ0      …式（１０）
【００３９】
次に、処理がステップＳ１１４に進むと、電圧推定部３０６は、算出したＳＯＦを出力（送信）する。電圧推定部３０６は、ＳＯＦを通信ドライバ３６に記憶させ、ＥＣＵ１５によって、随時読み出すことが可能な状態にする。以上の処理が終了すると、処理はステップＳ１０１に戻り、ステップＳ１０１以降の処理が繰り返される。
【００４０】
ここで、本実施形態における電流Ｉの波形図の一例を図５に示す。図５において、時刻ｔ2以前の区間は、アイドリングストップ状態であるとする。この区間では、スタータ１４ａを除く補機負荷１４に小電流が供給されているため、電流Ｉは零より僅かに小さい値（放電状態）になっている。時刻ｔ2には、アイドリングストップが解除された、すなわちエンジン１１の始動が開始されたこととする。スタータ１４ａに大きな電流が流れるため、電流Ｉは急激に下がり、時刻ｔ4には電流Ｉは極小値に達している。ここで、前述した「データ群」とは、t2からt4を１群、t6からt8を1群、t10からt12をそれぞれ１群としたものである。前述した抵抗関数の最適化には過去の３群以上のデータを全て使用する。
【００４１】
エンジン１１がクランキングされた後、時刻ｔ6には電流Ｉが負値から正値（充電状態）に戻り、時刻ｔ8には電流Ｉに極大値が現れる。すなわち、充電電流が最大になる。時刻ｔ8以降は、蓄電池１０のＳＯＣが徐々に上昇するため、電流Ｉも徐々に低下している。時刻ｔ10には、車両１が停止したため、アイドリングストップが開始される。すなわち、エンジン１１が停止するため、電流Ｉは急峻に低下し、時刻ｔ12には零値に達している。その後は、時刻ｔ2以前と同様に、スタータ１４ａを除く補機負荷１４に小電流が供給される状態になる。
【００４２】
図５において、時刻ｔ2〜ｔ8、時刻ｔ10〜ｔ12の区間は、電流Ｉの変化が比較的大きいので、ステップＳ１０３の急峻変化条件（｜ΔＩ｜＞ΔＩth）が満たされる可能性が多く、ステップＳ１０６にて抵抗関数Ｒ（Ｉ）がアップデートされる傾向が強い。逆に、他の区間は、電流Ｉの変化が比較的小さいので、急峻変化条件が満たされない可能性が高く、ステップＳ１１２にてＳＯＦが算出される傾向が強くなる。
【００４３】
〈実測データ〉
本実施形態によるデータを図６（ａ），（ｂ）に示す。図６（ａ），（ｂ）は、ＳＯＣがそれぞれ８０％、９０％であるときに、軽自動車用鉛蓄電池に０［Ａ］から所定の電流Ｉ（図示の例では−３００〜１００［Ａ］）までステップ応答させたときの電圧変化量をΔＶとし、縦軸に電圧変化量ΔＶ、横軸を電流Ｉとした相関図である。
【００４４】
黒塗りの正方形（◆）が実測データであり、実線の曲線がバトラーボルマーの式（関数Ｆ（ｘ；α））に基づいて算出した理論値である。図６（ａ），（ｂ）では、実測データが理論値にほぼ一致していることが判る。この理由として、硫酸による抵抗は液のためバトラーボルマー式に従い、それに線形抵抗（主に金属鉛と二酸化鉛）が直列に繋がっているためであると考えられる。また、定数αは０．５より大きくなるが、その理由は、鉛蓄電池は充電し難いためであると考えられる。
【００４５】
以上のように、本実施形態によれば、急峻変化条件が充足された場合（ステップＳ１０３において「Ｙｅｓ」と判定された場合）に、ステップＳ１０４〜Ｓ１０６にて抵抗関数Ｒ（Ｉ）をアップデートし、それ以外の場合にステップＳ１０８〜Ｓ１１４を介してＳＯＦを算出するため、精密な抵抗関数（Ｒ（Ｉ））を得ることができ、蓄電池１０の状態を正確に推定できる。
【００４６】
［第２実施形態］
次に、図７に示すブロック図を参照し、本発明の第２実施形態による車両２の詳細を説明する。
本実施形態の車両２は、第１実施形態の車両１における電池監視装置３０に代えて、測定部４０が設けられている点で相違する。測定部４０は、電圧センサ３１、電流センサ３２、温度センサ３７等のセンサ（図１参照）を有しており、これらセンサの検出信号はＥＣＵ１５に供給される。
【００４７】
本実施形態においては、ＥＣＵ１５においてアイドリングストップ制御ルーチン（図３）および電池状態監視ルーチン（図４）が別プロセスで並列して実行される。本実施形態によれば、第１実施形態においてＥＣＵ１５および電池監視装置３０の双方で実行されていた処理内容がＥＣＵ１５のみで実行できるため、第１実施形態の効果に加えて、装置の実装スペースを節約できるという効果を奏する。
【００４８】
［変形例］
本発明は上述した実施形態に限定されるものではなく、種々の変形が可能である。上述した実施形態は本発明を理解しやすく説明するために例示したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施形態の構成の一部を他の実施形態の構成に置き換えることが可能であり、また、ある実施形態の構成に他の実施形態の構成を加えることも可能である。また、各実施形態の構成の一部について削除し、若しくは他の構成の追加・置換をすることが可能である。上記実施形態に対して可能な変形は、例えば以下のようなものである。
【００４９】
○上記各実施形態においては、抵抗関数Ｒ（Ｉ）をアップデートする急峻変化条件は「｜ΔＩ｜＞ΔＩthが成立すること」であった（ステップＳ１０３）。
しかし、電圧Ｖの変化を測定し、電圧変化量ΔＶの絶対値が電圧閾値ΔＶthを超える場合に、急峻変化条件を満たすことにしてもよい。
【００５０】
○また、急峻変化条件として、例えば「｜ｄＩ/ｄｔ｜＞｜Ｉ｜／（Ｒ0×Ｃ）が成立すること」を適用してもよい。ここで、Ｒ0は高さスケーリング抵抗であり、Ｃは分極容量である。分極容量Ｃとしては予め設定した値、例えば「１００ファラッド」にしてもよい。
【００５１】
○また、「急峻変化条件」は、「所定の期間内であること」であってもよい。ここで、「所定の期間」とは、電流変化量ΔＩが閾値ΔＩthを超える傾向が強いと予測される期間である。より具体的には、「クランキング中の期間」（図５における時刻ｔ2〜ｔ4）、「クランキングの後、充電に至るまでの期間」（同時刻ｔ4〜ｔ6）、および「アイドリングストップの開始期間」（同時刻ｔ10〜ｔ12）を「所定の期間」として、抵抗関数Ｒ（Ｉ）をアップデートしてもよい。
また、「上記各期間内（時刻ｔ2〜ｔ4、ｔ4〜ｔ6、ｔ10〜ｔ12）であること」と、「｜ΔＩ｜＞ΔＩthが成立すること」との双方を充足した場合に急峻変化条件が満たされることとしてもよい。
【００５２】
○また、抵抗関数Ｒ（Ｉ）の同定のためには、特に、絶対値が大きい負値の電流Ｉが得られる期間のデータを重視することが望ましいため、上記各期間のうち、電流Ｉが負値である期間のデータのみを用いるようにしてもよい。また、「クランキング中の期間」（同時刻ｔ2〜ｔ4）のデータのみを用いてもよい。なお、特にクランキング中は、複数の測定タイミングで連続して急峻変化条件が満たされる場合が多い。この場合も、測定タイミング毎にステップＳ１０４，Ｓ１０６を実行し、抵抗関数Ｒ（Ｉ）をアップデートしてもよく、連続した複数の測定タイミングのデータを１セットのデータ（セットデータ）として扱ってもよい。
【００５３】
○また、充電状態から放電または電流零になる時には、ガッシングにより抵抗が大きくなることがある。このような場合は、「アイドリングストップの開始期間」（同時刻ｔ10〜ｔ12）は、上記「所定の期間」から除外してもよい。
【００５４】
○上述した式（５）に基づいて総和誤差Ｅｍを最小化させることは、計算量が大きくなるため、計算量を削減したい場合には、計算内容を簡略化するとよい。例えば、直近の「クランキング中の期間」、「クランキングの後、充電に至るまでの期間」、および「アイドリングストップの開始期間」の３期間のセットデータを用いて、次の式（１１）によって、Ｖ0，Ｉ0，Ｒ0を更新してもよい。
ｅ（ｊ）＝Ｖ0×｛Ｆ（Ｉａ（ｊ）/Ｉ0；α）− Ｆ（Ｉｂ（ｊ）/Ｉ0；α）｝＋Ｒ0×（Ｉａ（ｊ）−Ｉｂ（ｊ））−（Ｖａ（ｊ）−Ｖｂ（ｊ）），
Ｖ0（ｎ＋１）＝Ｖ0（ｎ）−ε×Σｅ（ｊ）×｛Ｆ（Ｉａ（ｊ）/Ｉ0；α）− Ｆ（Ｉｂ（ｊ）/Ｉ0；α）｝，
Ｒ0（ｎ＋１）＝Ｒ0（ｎ）−ε×Σｅ（ｊ）×｛ Ｉａ（ｊ）−Ｉｂ（ｊ）｝，
１/Ｉ0（ｎ＋１）＝１/Ｉ0（ｎ）−ε×Ｖ0（ｎ）×Σｅ（ｊ）×｛Ｆ’（Ｉａ（ｊ）/Ｉ0；α）− Ｆ’（Ｉｂ（ｊ）/Ｉ0；α）｝
…式（１１）
【００５５】
式（１１）は、Σ|ｅ（ｊ）|2が例えば１ｅ-6以下になるまで複数回繰り返す。εは予め定められた微小定数（例えば１ｅ-3）としてもよいし、εはアップデート回数ｎの逆数としてもよい。Ｖ0，Ｉ0，Ｒ0の初期値は前回のアップデート時の値をそのま使用してもよい。また、αも変化させる場合には式（１１）でなく、式（５）をαとI0で偏微分して最急降下またはニュートン法を用いて計算させてもよい。ここでＦと、αとI0によるＦの偏微分値とは、予め数値的に計算してテーブル等に保持してもよい。
【００５６】
○上述した式（１１）は、Ｖ0，Ｉ0，Ｒ0の三者を若干ずつ変化させるものであったが、これに代えて、横方向スケーリング電流Ｉ0を若干ずつ変化させ、Ｉ0からＶ0，Ｒ0を求めるようにしてもよい。その一例を式（１２）に示す。式（１２）においては、Ｉ0を固定の元とし、最小二乗法でＲ0，Ｖ0を求めるものである。また、式（１２）は、Ｒ0，Ｖ0の二次元連立方程式のため、該連立方程式を解くことでＲ0，Ｖ0を求める。
【００５７】
【数１】
0006701936.tif 000002
【００５８】
○上記各実施形態においては、高さスケーリング抵抗Ｒ0は可変であることとしたが、例えば、蓄電池１０が鉛蓄電池である場合、高さスケーリング抵抗Ｒ0は主として金属鉛と二酸化鉛によるものと考えることができる。この場合、高さスケーリング抵抗Ｒ0を温度Ｔの関数として同定し、Ｖ0，Ｉ0を漸化式に基づいて同定してもよい。より具体的には、これは上式（１１）において高さスケーリング抵抗Ｒ0を更新しない、ということであるから、上式（１２）に代えて、下式（１３）を適用するとよい。
【００５９】
【数２】
0006701936.tif 000003
【００６０】
○上記各実施形態においては、式（７）、式（８）に基づいてクランキング電流Ｉcを算出する際、分極抵抗値は無視していた。しかし、分極抵抗値を加味したほうが望ましい場合もあるため、分極抵抗値を加味した計算方法について述べる。クランキング時には、車両１，２の車種にもよるが、放電電流が３００［Ａ］程度になる。その際、分極によって生じるインピーダンスは、近似的に抵抗成分のみと考えることができる。
【００６１】
その際の分極抵抗値をｒとすると、「ｒ×クランキング電流Ｉc」が、次回のクランキング時における非定常開放電圧ＯＣＶの誤差になる。これは、クランキングによって電圧Ｖが最低電圧となるとき、実績電流Ｉr、推定電流Ｉe、抵抗関数Ｒ（Ｉ）を用いると、下式（１４）によって分極抵抗値ｒを表すことができる。
ｒ＝Ｒ（Ｉ）×（Ｉe／Ｉr−１）      …式（１４）
【００６２】
従って、クランキング後に式（１４）に基づいて分極抵抗値ｒを求め、次回のクランキング時には、上述した式（７）に代えて、下式（１５）に基づいてクランキング電流Ｉcを推定するとよい。
Ｒ（Ｉc）×Ｉc＋（ｒ＋ｒ0）×Ｉc＝ＯＣＶ  …式（１５）
なお、式（１５）において、ｒ0はスタータ抵抗値、ｒはクランキング時の分極抵抗値、ＯＣＶは非定常開放電圧である。もしくは、“クランキング時最低電圧補正電圧＝ＯＣＶ推定値×定数１＋クランキング中の電荷×定数２＋定数３”としてもよい。定数１、定数２、定数３は過去のクランキング時のデータより最小二乗で推定してもよい。クランキング時最低電圧補正電圧の過去実績値とは、クランキング開始電圧―クランキング中最低電圧とし、クランキング中の電荷は、クランキング開始から最低クランキング電圧を与えるまでの電流積分とする。この場合、推定ＳＯＦは、式（１０）にクランキング時最低電圧補正電圧を加えたものとして出力させる。
【００６３】
○上記各実施形態において、電池監視装置３０またはＥＣＵ１５はＳＯＣ、ＳＯＦ等を演算したが、これらに加えてＳＯＨ(State Of Health)を算出するようにしてもよい。ここで、ＳＯＨとは蓄電池１０の劣化状態を表す指標であり、「（満充電容量／初期満充電容量）×１００％」で定義される。ＳＯＨの計算方法としては、例えば特開２００５−２５９６２４号公報に掲載されたものを適用するとよい。
【００６４】
○上記各実施形態においては、関数Ｆ（ｘ；α）およびその微分である関数Ｆ’（ｘ；α）を演算によって求めたが、関数Ｆ（ｘ；α）およびＦ’（ｘ；α）は、テーブルとして、ＲＯＭ３５（図２参照）に記憶させてもよい。定数αを「０．６９」に固定した場合における関数Ｆ（ｘ）および関数Ｆ’（ｘ）のグラフを図８（ａ），（ｂ）に示す。なお、これらのグラフを表すテーブルには、離散的な値を記憶させ、線形補間またはスプライン補間等を用いて関数Ｆ（ｘ）または関数Ｆ’（ｘ）を求めるようにしてもよい。
【００６５】
この場合、下式（１６）の漸化式によってクランキング電流Ｉcを求めるとよい。
Ｉc（ｎ＋１）＝Ｉc（ｎ）−｛Ｖ0×Ｆ（Ｉc（ｎ）/Ｉ0）＋（ｒ0＋Ｒ0）×Ｉc（ｎ）−ＯＣＶ｝／｛Ｖ0×Ｆ’（Ｉc（ｎ）/Ｉ0）／Ｉ0＋（ｒ0＋Ｒ0）｝
…式（１６）
【００６６】
○また、抵抗関数Ｒ（Ｉ）をアップデートする急峻変化条件として、「｜ε（Ｉ）／ΔＩ｜＋｜ε（Ｖ）／ΔＶ｜＜δ／２を満たすこと」を採用してもよい。ここでΔＩは、現在の測定タイミングにおける電流Ｉと前回の（１サンプリング周期前の）電流Ｉとの偏差である。また、ε（Ｉ）は、電流センサ３２の誤差であり、例えば０．１［Ａ］である。また、ε（Ｖ）は、電圧センサ３１の誤差であり、例えば、３０［ｍＶ］である。誤差ε（Ｉ），ε（Ｖ）は、量子化誤差、ゲイン誤差、ホワイトノイズ等を含む。但し、オフセット誤差は、計測値の差分でキャンセルされるため、特に考慮しなくてもよい。
【００６７】
また、δは｜ΔＶ／ΔＩ｜の目標誤差であり、例えば５％にするとよい。例えば、ε（Ｉ）＝０．１［Ａ］、ε（Ｖ）＝３０［ｍＶ］、目標誤差δ＝０．０５とすると、「｜０．１／ΔＩ｜＋｜０．０３／ΔＶ｜＜０．０２５」となるとき、急峻変化条件を満たすものと判定される。換言すると、「｜０．１／ΔＩ｜＋｜０．０３／ΔＶ｜≧０．０２５」となる場合のデータを使用すると、抵抗関数Ｒ（Ｉ）の誤差が大きくなる。但し、目標誤差δは、状況に応じて、１０％にしてもよく、２０％にしてもよい。
【００６８】
○また、電圧センサ３１の誤差ε（Ｖ）が小さい場合には、誤差ε（Ｖ）を無視し、電流センサ３２のε（Ｉ）に着目して、抵抗関数Ｒ（Ｉ）のアップデート条件を定めてもよい。すなわち、「｜ε（Ｉ）／ΔＩ｜＜δ／２を満たすこと」を急峻変化条件として採用してもよい。例えば、誤差ε（Ｉ）が０．１［Ａ］であって、目標誤差δを０．０１としたとき、「｜ΔＩ｜＞２０[Ａ]」が急峻変化条件になる。換言すると、「｜ΔＩ｜≦２０[Ａ]」となる場合のデータを使用すると、抵抗関数Ｒ（Ｉ）の誤差が大きくなる。この場合も、目標誤差δは、状況に応じて、１０％にしてもよく、２０％にしてもよい。
【００６９】
○上記各実施形態においては、測定タイミング間の電流Ｉの電流変化量ΔＩを用いて急峻変化条件を満たしたか否かを判定したが、微分回路を設けて電流Ｉの微分値を出力し、「この微分値が所定値を超えたこと」を急峻変化条件としてもよい。
【００７０】
○上記各実施形態におけるＥＣＵ１５、電池監視装置３０のハードウエアは一般的なコンピュータによって実現できるため、図３，図４に示したフローチャートに係るプログラム等を記憶媒体に格納し、または伝送路を介して頒布してもよい。
【００７１】
○図３，図４に示した処理は、上記実施形態ではプログラムを用いたソフトウエア的な処理として説明したが、その一部または全部をＡＳＩＣ(Application Specific Integrated Circuit；特定用途向けＩＣ)、あるいはＦＰＧＡ(field-programmable gate array)等を用いたハードウエア的な処理に置き換えてもよい。
【００７２】
［構成・効果の総括］
以上のように、各実施形態における電池状態検出装置（１５，３０）は、
蓄電池（１０）に流れる電流（Ｉ）または蓄電池（１０）の電圧（Ｖ）が、所定時間内に所定値を超える変化があった旨の急峻変化条件を満たしているか否かを判定する急峻変化条件判定部（３０１）と、
急峻変化条件が満たされていることを条件として、蓄電池（１０）の内部抵抗の電流（Ｉ）に対する関数である抵抗関数（Ｒ（Ｉ））を同定する抵抗関数同定部（３０２）と、
同定された抵抗関数（Ｒ（Ｉ））を用いて、蓄電池（１０）に特定負荷（１４ａ）が接続された際の電流（Ｉ）である特定電流（Ｉc）を算出する特定電流算出部（３０４）と、
を有することを特徴とする。
これにより、急峻変化条件が生じた場合に抵抗関数（Ｒ（Ｉ））を同定することができ、精密な抵抗関数（Ｒ（Ｉ））を得ることによって蓄電池の状態を正確に推定できる。
【００７３】
また、特定負荷（１４ａ）は、車両（１，２）に搭載されたエンジン（１１）を始動するものであり、
特定電流（Ｉc）は、車両（１，２）が停止した際にエンジン（１１）を停止させ、しかる後にエンジン（１１）を始動した場合に特定負荷（１４ａ）に流れる電流であり、
電池状態検出装置（１５，３０）は、
特定電流（Ｉc）に基づいて、エンジン（１１）を始動した際の電圧（Ｖ）の推定値である電圧推定値（ＳＯＦ）を算出する電圧推定部（３０６）と、
電圧推定値（ＳＯＦ）に基づいて、起動中のエンジン（１１）の停止の可否、または停止しているエンジン（１１）の始動の要否を判定するエンジン制御部（１５）と、
をさらに有することを特徴とする。
これにより、エンジン（１１）の停止の可否、または、停止しているエンジン（１１）の始動の要否を適切に判定することができる。
【００７４】
また、急峻変化条件判定部（３０１）は、
エンジン（１１）の始動を開始した後に電流（Ｉ）に極小値が現れるまでの期間（ｔ2〜ｔ4）、電流（Ｉ）に極小値が現れた後に電流（Ｉ）が零になるまでの期間（ｔ4〜ｔ6）、または、エンジン（１１）が停止された後に電流（Ｉ）が零になるまでの期間（ｔ10〜ｔ12）のうち、一または複数の期間において、急峻変化条件を満たしたものと判定する
ことを特徴とする。
これにより、適切な期間内に抵抗関数（Ｒ（Ｉ））を同定することができる。
【００７５】
また、抵抗関数同定部（３０２）は、抵抗関数（Ｒ（Ｉ））を、バトラーボルマー式に基づいて算出し、
スケーリング電流（Ｉ0）と、スケーリング電圧（Ｖ0）と、スケーリング抵抗（Ｒ0）とを抵抗関数（Ｒ（Ｉ））のパラメータとし、スケーリング抵抗（Ｒ0）によって求めた電圧降下と実際の電圧降下との偏差（Ｅ）を求める機能と、
スケーリング電流（Ｉ0）を、偏差（Ｅ）に比例した値（微小値）で更新し、偏差（Ｅ）の二乗和（Ｅｍ）が最小になるようにスケーリング電圧（Ｖ0）と、スケーリング抵抗（Ｒ0）と、スケーリング電流（Ｉ0）とを求める機能と、
を有することを特徴とする。
これにより、正確なスケーリング電圧（Ｖ0）、スケーリング抵抗（Ｒ0）およびスケーリング電流（Ｉ0）を求めることができる。
【００７６】
また、特定電流算出部（３０４）は、蓄電池（１０）の非定常開放電圧（ＯＣＶ）を推定する機能と、非定常開放電圧（ＯＣＶ）に基づいて特定電流（Ｉc）を算出する機能と、特定電流（Ｉc）に基づいて、蓄電池（１０）に特定負荷（１４ａ）が接続された際の蓄電池（１０）の電圧推定値（ＳＯＦ）を算出する機能と、
を有することを特徴とする
これにより、エンジン（１１）の停止の可否、または、停止しているエンジン（１１）の始動の要否を適切に判定することができる。
【００７７】
また、特定電流算出部（３０４）は、非定常開放電圧（ＯＣＶ）を、現在の電圧（Ｖ）と、現在の電流（Ｉ）と、バトラーボルマー式と、スケーリング抵抗（Ｒ0）とに基づいて推定する
ことを特徴とする。
これにより、非定常開放電圧（ＯＣＶ）を正確に推定することができる。
【００７８】
また、特定電流算出部（３０４）は、特定負荷（１４ａ）に蓄電池（１０）を接続した際の蓄電池（１０）の電圧（Ｖ）と、特定負荷（１４ａ）に流れた実際の電流（Ｉ）とに基づいて、特定負荷（１４ａ）の抵抗値である特定負荷抵抗値（ｒ0）を算出する機能を有する
ことを特徴とする。
これにより、特定負荷抵抗値（ｒ0）を正確に算出することができ、蓄電池（１０）の状態をより正確に検出することができる。
【００７９】
また、特定電流算出部（３０４）は、特定負荷（１４ａ）に蓄電池（１０）を接続した際に蓄電池（１０）に流れる電流（Ｉ）と、事前に求めた特定電流（Ｉc）とに基づいて、蓄電池（１０）の分極抵抗値（ｒ）を求める機能と、
分極抵抗値（ｒ）に基づいて、次回に特定負荷（１４ａ）を蓄電池（１０）に接続する際の特定電流（Ｉc）の推定値を更新する
ことを特徴とする。
これにより、特定電流（Ｉc）を正確に推定でき、蓄電池（１０）の状態をより正確に検出することができる。
【符号の説明】
【００８０】
１，２  車両
１０  蓄電池
１１  エンジンン
１２  発電機
１４  補記負荷
１４ａ  スタータ（特定負荷）
１５  ＥＣＵ（エンジン制御部、電池状態検出装置）
３０  電池監視装置（電池状態検出装置）
３０１  急峻変化条件判定部（急峻変化条件判定手段）
３０２  抵抗関数同定部（抵抗関数同定手段）
３０４  クランキング電流算出部（特定電流算出部、特定電流算出手段）
３０６  電圧推定部（電圧推定手段）
ΔＩth  （閾値）
Ｉ0  横方向スケーリング電流（スケーリング電流）
Ｉc  クランキング電流（特定電流）
ｒ0  スタータ抵抗値（特定負荷抵抗値）
【図１】
0006701936.tif 000004
【図２】
0006701936.tif 000005
【図３】
0006701936.tif 000006
【図４】
0006701936.tif 000007
【図５】
0006701936.tif 000008
【図６】
0006701936.tif 000009
【図７】
0006701936.tif 000010
【図８】
0006701936.tif 000011