(57)【要約】  暗電流の影響によらず、開回路電圧を正確に推定すること。  充電可能電池の状態を検出する充電可能電池状態検出装置は、１または複数のプロセッサと、１または複数の前記プロセッサと通信可能に接続された１または複数のメモリと、を有し、１または複数のプロセッサは、１または複数のメモリに格納された命令群を読み取り、電圧測定部１１および電流測定部１２から出力される信号に基づいて充電可能電池の電圧および電流を検出する検出処理、充電可能電池の充放電の停止後に、検出処理によって異なる時間に検出される複数の電圧値を記憶する記憶処理、記憶処理によって記憶された複数の電圧値に対して、所定の関数の係数を調整することでフィッティングするフィッティング処理、フィッティング処理によって係数が調整された関数に基づいて開回路電圧を算出する算出処理、検出された電流値または電圧値が所定の閾値以上変動した場合には、記憶処理によって記憶されている複数の電圧値の少なくとも一部を棄却する棄却処理、を実行する。
2020175667.tif 000002
【特許請求の範囲】
【請求項１】
充電可能電池の状態を検出する充電可能電池状態検出装置において、  １または複数のプロセッサと、  １または複数の前記プロセッサと通信可能に接続された１または複数のメモリと、を有し、  １または複数のプロセッサは、１または複数の前記メモリに格納された命令群を読み取り、  電圧検出部および電流検出部から出力される信号に基づいて前記充電可能電池の電圧および電流を検出する検出処理、  前記充電可能電池の充放電の停止後に、前記検出処理によって異なる時間に検出される複数の電圧値を記憶する記憶処理、  前記記憶処理によって記憶された複数の電圧値に対して、所定の関数の係数を調整することでフィッティングするフィッティング処理、  前記フィッティングによって係数が調整された関数に基づいて開回路電圧を算出する算出処理、  前記検出処理によって検出された電流値または電圧値が所定の閾値以上変動した場合には、前記記憶処理によって記憶されている複数の電圧値の少なくとも一部を棄却する棄却処理、を実行することを特徴とする充電可能電池状態検出装置。
【請求項２】
前記関数は、１または複数の項を有する指数減衰関数または反比例関数であることを特徴とする請求項１に記載の充電可能電池状態検出装置。
【請求項３】
前記棄却処理は、前記検出処理によって検出された電流値または電圧値が所定の閾値以上変動した場合には、前記記憶処理によって記憶されている複数の電圧値の全てを棄却することを特徴とする請求項１または２に記載の充電可能電池状態検出装置。
【請求項４】
前記関数は、１または複数の項を有する指数減衰関数であり、前記棄却処理によって電圧値の全てが棄却された後に電圧値の記憶を再開する場合には、その時点の経過時間に応じて、指数減衰関数の項数を減少させることを特徴とする請求項３に記載の充電可能電池状態検出装置。
【請求項５】
前記棄却処理による棄却が実行されたことで、所定の期間以上前記開回路電圧の算出ができない場合には、前記棄却処理の前記閾値が大きくなるように調整することを特徴とする請求項１乃至４のいずれか１項に記載の充電可能電池状態検出装置。
【請求項６】
前記開回路電圧に基づいて前記充電可能電池の充電率を計算し、得られた充電率に基づいて前記充電可能電池の充電制御を自身が実行するか、または、外部のＥＣＵに実行させることを特徴とする請求項１乃至５のいずれか１項に記載の充電可能電池状態検出装置。
【請求項７】
前記記憶処理は、前記充電可能電池の充放電の停止後に前記検出処理によって検出される電圧値の検出回数を記録し、  前記棄却処理による棄却が実行される場合には、前記検出回数がゼロリセットされることを特徴とする請求項１乃至６のいずれか１項に記載の充電可能電池状態検出装置。
【請求項８】
前記フィッティング処理は、所定の個数以上の電圧値に対して行われ、  前記棄却処理によって棄却される電圧値は前記所定の個数に含まれないことを特徴とする請求項１乃至７のいずれか１項に記載の充電可能電池状態検出装置。
【請求項９】
前記記憶処理によって記憶されている電圧値が前記所定の個数以上になる前に、電圧値の所定の閾値以上の変動が所定の回数以上繰り返された場合には、前記充電可能電池の状態の検出を停止することを特徴とする請求項８に記載の充電可能電池状態検出装置。 
【請求項１０】
充電可能電池の状態を検出する充電可能電池状態検出方法において、  電圧検出部および電流検出部から出力される信号に基づいて前記充電可能電池の電圧および電流を検出する検出ステップと、  前記充電可能電池の充放電の停止後に、前記検出ステップにおいて異なる時間に検出される複数の電圧値をメモリに記憶させる記憶ステップと、  前記メモリに記憶された複数の電圧値に対して、所定の関数の係数を調整することでフィッティングするフィッティングステップと、  前記フィッティングによって係数が調整された関数に基づいて開回路電圧を算出する算出ステップと、  前記検出ステップにおいて検出された電流値または電圧値が所定の閾値以上変動した場合には、前記メモリに記憶されている複数の電圧値の少なくとも一部を棄却する棄却ステップと、  を有することを特徴とする充電可能電池状態検出方法。
【発明の詳細な説明】
【技術分野】
【０００１】  本発明は、充電可能電池状態検出装置および充電可能電池状態検出方法に関するものである。
【背景技術】
【０００２】  特許文献１には、充電可能電池に対する充放電が停止された後に、充電可能電池の電圧を複数回測定し、所定の関数を用いてフィッティングすることで、比較的短時間の間に開回路電圧（ＳＯＶ：Open Circuit Voltage）を推定し、推定した開回路電圧に基づいて、充電率（ＳＯＣ：State of Charge）を推定する技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−４３３３９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】  ところで、電子機器を多数搭載した昨今の車両等の場合、これら複数の電子機器がそれぞれ独自に動作するため、車両が停止した状態であっても暗電流の値が時間に応じて変動する。このような場合、本来の分極の時間に応じた電圧変化挙動以外に、電流による電圧変動が重畳されてしまい、開回路電圧を正しく推定することが困難になるという問題がある。【０００５】  本発明は、以上のような状況に鑑みてなされたものであり、暗電流の影響によらず、開回路電圧を正確に推定することが可能な充電可能電池状態検出装置および充電可能電池状態検出方法を提供することを目的としている。
【課題を解決するための手段】
【０００６】  上記課題を解決するために、本発明は、充電可能電池の状態を検出する充電可能電池状態検出装置において、１または複数のプロセッサと、１または複数の前記プロセッサと通信可能に接続された１または複数のメモリと、を有し、１または複数のプロセッサは、１または複数の前記メモリに格納された命令群を読み取り、電圧検出部および電流検出部から出力される信号に基づいて前記充電可能電池の電圧および電流を検出する検出処理、前記充電可能電池の充放電の停止後に、前記検出処理によって異なる時間に検出される複数の電圧値を記憶する記憶処理と、前記記憶処理に記憶された複数の電圧値に対して、所定の関数の係数を調整することでフィッティングするフィッティング処理、前記フィッティング処理によって係数が調整された関数に基づいて開回路電圧を算出する算出処理、前記検出処理によって検出された電流値または電圧値が所定の閾値以上変動した場合には、前記記憶処理によって記憶されている複数の電圧値の少なくとも一部を棄却する棄却処理、を実行することを特徴とする。  暗電流の影響によらず、開回路電圧を正確に推定することが可能となる。【０００７】  また、本発明は、前記関数は、１または複数の項を有する指数減衰関数または反比例関数であることを特徴とする。  このような構成によれば、簡単な計算で精度よく開回路電圧を求めることができる。【０００８】  また、本発明は、前記棄却処理は、前記検出処理によって検出された電流値または電圧値が所定の閾値以上変動した場合には、前記記憶処理によって記憶されている複数の電圧値の全てを棄却することを特徴とする。  このような構成によれば、全ての電圧値を棄却することで、補間処理等を必要としないため、処理を簡易化することができる。【０００９】  また、本発明は、前記関数は、１または複数の項を有する指数減衰関数であり、前記棄却処理によって電圧値の全てが棄却された後に電圧値の記憶を再開する場合には、その時点の経過時間に応じて、指数減衰関数の項数を減少させることを特徴とする。  このような構成によれば、再開されたタイミングに応じて、適切な項数を設定することができる。【００１０】  また、本発明は、前記棄却処理による棄却が実行されたことで、所定の期間以上前記開回路電圧の算出ができない場合には、前記棄却処理の前記閾値が大きくなるように調整することを特徴とする。  このような構成によれば、適切な閾値を選択することができる。【００１１】  また、前記開回路電圧に基づいて前記充電可能電池の充電率を計算し、得られた充電率に基づいて前記充電可能電池の充電制御を自身が実行するか、または、外部のＥＣＵに実行させることを特徴とする。  このような構成によれば、開回路電圧に基づいて計算された充電率に基づいて正確な充放電制御を実行することができる。【００１２】  また、前記記憶処理は、前記充電可能電池の充放電の停止後に前記検出処理によって検出される電圧値の検出回数を記録し、前記棄却処理による棄却が実行される場合には、前記検出回数がゼロリセットされることを特徴とする。  このような構成によれば、棄却処理を実施した場合にも適正に開回路電圧を計算可能となる。【００１３】  また、前記フィッティング処理は、所定の個数以上の電圧値に対して行われ、前記棄却処理によって棄却される電圧値は前記所定の個数に含まれないことを特徴とする。  このような構成によれば、棄却処理を実施した場合にも電圧のデータ数が減少することなく開回路電圧計算の精度を維持することが可能となる。【００１４】  また、前記記憶処理によって記憶されている電圧値が所定の個数以上になる前に、電圧値の所定の閾値以上の変動が所定の回数以上繰り返された場合には、前記充電可能電池の状態の検出を停止することを特徴とする。  このような構成によれば、棄却処理の繰り返しによる無駄な処理の発生を最小限とすることができる。【００１５】  また、本発明は、充電可能電池の状態を検出する充電可能電池状態検出方法において、電圧検出部および電流検出部から出力される信号に基づいて前記充電可能電池の電圧および電流を検出する検出ステップと、前記充電可能電池の充放電の停止後に、前記検出ステップにおいて異なる時間に検出される複数の電圧値をメモリに記憶させる記憶ステップと、前記メモリに記憶された複数の電圧値に対して、所定の関数の係数を調整することでフィッティングするフィッティングステップと、前記フィッティングによって係数が調整された関数に基づいて開回路電圧を算出する算出ステップと、前記検出ステップにおいて検出された電流値または電圧値が所定の閾値以上変動した場合には、前記メモリに記憶されている複数の電圧値の少なくとも一部を棄却する棄却ステップと、を有することを特徴とする。  このような方法によれば、暗電流の影響によらず、開回路電圧を正確に推定することが可能となる。
【発明の効果】
【００１６】  本発明によれば、暗電流の影響によらず、開回路電圧を正確に推定することが可能な充電可能電池状態検出装置および充電可能電池状態検出方法を提供することができる。
【図面の簡単な説明】
【００１７】
【図１】本発明の実施形態に係る充電可能電池状態検出装置の構成例を示す図である。
【図２】図１の制御部の詳細な構成例を示すブロック図である。
【図３】充放電停止後における充電可能電池の電圧および電流の変化を示す図である。
【図４】本発明の実施形態において、エンジンが停止された場合に実行される処理の一例を説明するためのフローチャートである。
【図５】図４に示す端子電圧Ｖ（ｎ）の測定処理の一例を説明するためのフローチャートである。
【図６】電圧測定タイミングと指数減衰関数の項数との関係を示す図である。
【発明を実施するための形態】
【００１８】  次に、本発明の実施形態について説明する。
【００１９】（Ａ）本発明の実施形態の構成の説明  図１は、本発明の実施形態に係る充電可能電池状態検出装置を有する車両の電源系統を示す図である。この図において、充電可能電池状態検出装置１は、制御部１０を主要な構成要素とし、電圧検出部である電圧測定部１１、電流検出部である電流測定部１２、温度検出部である温度測定部１３、および、放電回路１５が外部に接続され、充電可能電池１４の状態を検出する。なお、制御部１０、電圧測定部１１、電流測定部１２、温度測定部１３、および、放電回路１５を別々の構成とするのではなく、これらの一部または全てをまとめた構成としてもよい。
【００２０】  ここで、制御部１０は、電圧測定部１１、電流測定部１２、および、温度測定部１３からの出力を参照し、充電可能電池１４の状態を検出して検出結果の情報を外部に出力するとともに、オルタネータ１６の発電電圧を制御することで充電可能電池１４の充電状態を制御する。なお、制御部１０がオルタネータ１６の発電電圧を制御することで充電可能電池１４の充電状態を制御するのではなく、例えば、図示しないＥＣＵ（Electric Control Unit）（外部の制御部）が制御部１０からの情報に基づいて充電状態を制御するようにしてもよい。
【００２１】  電圧測定部１１は、充電可能電池１４の端子電圧を検出し、制御部１０に電圧信号として供給する。電流測定部１２は、充電可能電池１４に流れる電流を検出し、制御部１０に電流信号として供給する。
【００２２】  温度測定部１３は、充電可能電池１４の電解液または充電可能電池１４の周囲の温度（例えば、絶対温度）を検出し、制御部１０に温度信号として供給する。温度測定部１３としては、例えば、サーミスタ、測温抵抗体、熱電対、ＩＣ（Integrated Circuit）温度測定部を使用することができる。なお、赤外線を感知する赤外線測定部を用いるようにしてもよい。
【００２３】  放電回路１５は、例えば、直列接続された半導体スイッチおよび抵抗素子等によって構成され、制御部１０の制御に応じて半導体スイッチをオン／オフすることで、充電可能電池１４を所望の波形にて放電させることができる。
【００２４】  オルタネータ１６は、エンジン１７によって駆動され、交流電力を発生して整流回路によって直流電力に変換し、充電可能電池１４を充電する。オルタネータ１６は、制御部１０によって制御され、発電電圧を調整することが可能とされている。
【００２５】  エンジン１７は、例えば、ガソリンエンジンおよびディーゼルエンジン等のレシプロエンジンまたはロータリーエンジン等によって構成され、スタータモータ１８によって始動され、トランスミッションを介して駆動輪を駆動し、車両に推進力を与えるとともに、オルタネータ１６を駆動して電力を発生させる。スタータモータ１８は、例えば、直流電動機によって構成され、充電可能電池１４から供給される電力によって回転力を発生し、エンジン１７を始動する。なお、エンジン１７の代わりに、電気モータを使用するようにしてもよい。
【００２６】  負荷１９は、例えば、電動ステアリングモータ、デフォッガ、シートヒータ、イグニッションコイル、カーオーディオ、および、カーナビゲーション等によって構成され、充電可能電池１４から供給される電力によって動作する。なお、図１の例では、エンジン１７のみが駆動力を出力する構成としたが、例えば、エンジン１７をアシストする電動モータを具備したハイブリッド車であってもよい。ハイブリッド車の場合、充電可能電池１４は、リチウム電池等によって構成される高圧システム（電動モータを駆動するシステム）を起動し、高圧システムがエンジン１７を始動する。
【００２７】  図２は、図１に示す制御部１０の詳細な構成例を示す図である。この図に示すように、制御部１０は、例えば、１チップのマイコンであり、プロセッサとしてのＣＰＵ（Central Processing Unit）１０ａ、ＲＯＭ（Read Only Memory）１０ｂ、ＲＡＭ（Random Access Memory）１０ｃ、通信部１０ｄ、Ｉ／Ｆ（Interface）１０ｅ、および、バス１０ｆを有している。ここで、ＣＰＵ１０ａは、ＲＯＭ１０ｂに格納されているプログラム１０ｂａに基づいて各部を制御する。ＲＯＭ１０ｂは、半導体メモリ等によって構成され、プログラム１０ｂａ等を格納している。ＲＡＭ１０ｃは、半導体メモリ等によって構成され、プログラム１０ｂａを実行する際に生成されるデータや、テーブル等のデータ１０ｃａを格納する。通信部１０ｄは、上位の装置であるＥＣＵ等との間で通信を行い、検出した情報または制御情報を上位装置に通知する。Ｉ／Ｆ１０ｅは、電圧測定部１１、電流測定部１２、および、温度測定部１３から供給される電圧信号、電流信号、および、温度信号をデジタル信号に変換して取り込むとともに、放電回路１５、オルタネータ１６、および、スタータモータ１８等に駆動電流を供給してこれらを制御する。バス１０ｆは、ＣＰＵ１０ａ、ＲＯＭ１０ｂ、ＲＡＭ１０ｃ、通信部１０ｄ、および、Ｉ／Ｆ１０ｅを相互に接続し、これらの間で情報の授受を可能とするための信号線群である。なお、オルタネータ１６、および、スタータモータ１８等の制御は、ＥＣＵが実行するようにしてもよい。図１の構成には限定されない。
【００２８】  なお、図２の例では、ＣＰＵ１０ａ、ＲＯＭ１０ｂ、および、ＲＡＭ１０ｃをそれぞれ１つずつ有するようにしたが、これらを複数有するようにしてもよい。また、１または複数のＣＰＵ１０ａが、１または複数のＲＯＭ１０ｂ、及び、ＲＡＭ１０ｃに格納された命令群を読み取るようにしてもよい。また、複数のＣＰＵによって分散処理を実行するようにしてもよい。また、ＣＰＵ１０ａの代わりに、ＤＳＰ（Digital Signal Processor）、ＦＰＧＡ（Field Programmable Gate Array）、または、ＡＳＩＣ（Application Specific Integrated Circuit）等によって構成するようにしてもよい。あるいは、ソフトウエアプログラムを読み込むことで機能を実行する汎用プロセッサまたはクラウドコンピューティングによりサーバー上のコンピュータで処理が行われるようにしてもよい。また、図２では、ＲＯＭ１０ｂおよびＲＡＭ１０ｃを有するようにしているが、例えば、これら以外の記憶装置（例えば、磁気記憶装置であるＨＤＤ（Hard Disk Drive））を用いるようにしてもよい。
【００２９】（Ｂ）本発明の実施形態の動作の説明  つぎに、本発明の実施形態の動作について説明する。なお、以下では、本発明の実施形態の動作について説明した後、このような動作を実現するためのフローチャートの処理について説明する。
【００３０】  まず、本発明の実施形態の動作の概略について説明する。充電可能電池１４の充電状態を制御する場合、充電率であるＳＯＣに基づいてオルタネータ１６を制御する必要がある。このため、充電可能電池１４が過充電になったり、過放電になったりしないように適切な状態に保つためには、正確なＳＯＣを知る必要がある。
【００３１】  ＳＯＣは、開回路電圧であるＯＣＶとの相関があることから、ＯＣＶを正確に求めることで、正確なＳＯＣを得ることができる。ところで、車両が動作している場合には、充電および放電が繰り返されることから分極が生じ、この分極の影響で正確なＯＣＶを求めることが困難となる。分極が解消するには、エンジン１７が停止されてから、例えば、十数時間から数日という極めて長い期間を要することから、車両が毎日使用されるような使用態様においては、正確なＯＣＶを測定することが困難である。
【００３２】  そこで、本実施形態では、車両のエンジン１７が停止されて、充電可能電池１４が安定状態になった場合に、充電可能電池１４の電圧を複数回測定し、測定した電圧を所定の関数でフィッティング（係数を調整）することで、ＯＣＶを推定する。そして、推定したＯＣＶとＳＯＣとの相関関係から、正確なＳＯＣを求め、求めた正確なＳＯＣに基づいて充電可能電池１４の充放電制御を実行する。
【００３３】  ところで、車両に搭載される充電可能電池１４では、エンジン１７の停止後も、負荷１９に、いわゆる、暗電流が流れる場合がある。すなわち、負荷１９は、エンジン１７が停止されると同時に電力の供給が遮断されるのではなく、例えば、負荷１９の終了動作を待って電力の供給が停止される。このため、図３に示すように、時刻Ｔ０でエンジン１７が停止された後、一点鎖線で示すように、充電可能電池１４に流れる電流は、徐々に減少（図３では段階的に減少）する。なお、図３において、横軸は時間（秒）を示し、左側の縦軸は電流（Ａ）を示し（マイナスは充電可能電池１４からの放電を示し）、右側の縦軸は電圧（Ｖ）を示す。
【００３４】  このため、図３に実線で示すように、充電可能電池１４の電圧が、電流の変化に応じて不連続に変化することになる。このように、電圧が不連続に変化すると、関数を用いたフィッティングを精度良く行うことができなくなる。
【００３５】  そこで、本実施形態では、電圧を複数回測定する際に、電流も併せて測定し、所定の閾値以上の電流（暗電流）が流れた場合には、電圧の連続性が担保できなくなるので、そこまでに得られた測定データ（電圧値）は廃棄し、電圧の測定を最初から実行する。そして、一定量の測定データに基づいてフィッティングを実行し、ＯＣＶを計算する。これにより、より正確なＯＣＶを推定することができる。
【００３６】  つぎに、より具体的な動作について説明する。本実施形態においては、フィッティング関数として、４次以上の指数減衰関数を使用する。もちろん、これ以外の関数を用いることも可能である。以下の式（１）は、ｎ次の指数減衰関数を示している。但し、ａ１，ａ２，・・・ａｎ，ｂ１，ｂ２，・・・ｂｎ，ｃは係数を示す。
【００３７】
【数１】
2020175667.tif 000003
・・・（１）
【００３８】  前述した式（１）において、入力Ｘを経過時間とし、出力Ｙを開回路電圧とした場合に、充電可能電池１４の電圧の実測値と、式（１）の値が一致するように各係数の値を定める（フィッティングする）ことで、任意の時点における開回路電圧を求めることができる。
【００３９】  なお、実験により、式（１）において、ｎ＝４以上に設定すれば、十分な精度が得られることが判明した。そこで、以下では、ｎ＝４の場合を例に挙げて説明する。
【００４０】  図４は、本実施形態において実行される処理の一例を説明するためのフローチャートである。図４に示すフローチャートの処理が開始されると、以下のステップが実行される。
【００４１】  ステップＳ１０では、制御部１０のＣＰＵ１０ａは、演算処理に必要なパラメータの初期設定を行う。初期設定の対象となるパラメータとしては、充電可能電池１４の電圧サンプル値を取得する際のサンプリング間隔ΔＴｓ、サンプル取得数Ｎｓ、および、充電可能電池１４の開回路電圧が安定するまでに要する安定時間Ｔｘがある。一例として、ΔＴｓ＝１０（秒）、Ｎｓ＝６０（個）、Ｔｘ＝１０００００（秒）等の値を設定することができる。充電可能電池１４の特性に応じた固定的な初期設定値を予め定めておくことができるが、動作状況などに応じて初期設定値を適宜に変更できるようにしてもよい。
【００４２】  ステップＳ１１では、ＣＰＵ１０ａは、充電可能電池１４の端子電圧を測定する処理を実行する。より詳細には、前述した初期設定値に基づき、サンプリング間隔ΔＴｓで測定されるＮｓ個の電圧サンプル値が順次測定されることになる。ＣＰＵ１０ａは、測定された各電圧サンプル値及び測定回数をＲＡＭ１０ｃにデータ１０ｃａとして格納し、必要に応じて読み出す。以下では、ステップＳ１１で取得されたｎ番目（ｎ＝１，２，３・・・Ｎｓ）の電圧サンプル値をＶ（ｎ）と表すものとする。なお、ステップＳ１１の処理の詳細については、図５を参照して後述する。
【００４３】  ステップＳ１２では、ＣＰＵ１０ａは、充電可能電池１４の開放電圧特性を近似するための４次の指数減衰関数に対応する係数の初期設定を行う。ここで、図４の演算処理における上述した４次の指数減衰関数としては、以下の式（２）に示すように、時間Ｔに対するＦ（Ｔ）を用いるものとする。より詳細には、式（２）に含まれる係数Ａ１〜Ａ９について、ＲＡＭ１０ｃに予め記憶されている初期値を読み出して設定する。これらの係数Ａ１〜Ａ９は、フィッティングにより、最小二乗法に基づく最適解を導き出すために用いられ、後述するように計算の過程で値が順次更新されていく。なお、各係数Ａ１〜Ａ９の初期値としては、予め実験的に得られた値を用いることができる。
【００４４】
【数２】
2020175667.tif 000004
・・・（２）
【００４５】  ステップＳ１３では、ＣＰＵ１０ａは、式（２）に示す、指数減衰関数Ｆ（Ｔ）を、ｎ番目のサンプルタイミングのそれぞれに対し適用することにより、以下に示す式（３）で表されるＦ（ｎ）を計算する。この結果、Ｆ（ｎ）について全部でＮｓ個の計算値が得られることになる。
【００４６】
【数３】
2020175667.tif 000005
・・・（３）
【００４７】  ステップＳ１４では、ＣＰＵ１０ａは、ステップＳ１３で求めたＦ（ｎ）と、ステップＳ１１で測定した電圧サンプル値Ｖ（ｎ）との差であるＲ（ｎ）を、各サンプルタイミングについて計算する。すなわち、以下の式（４）で表されるＮｓ個のＲ（ｎ）を求める。
【００４８】
【数４】
2020175667.tif 000006
・・・（４）
【００４９】  ステップＳ１５では、ＣＰＵ１０ａは、最小二乗法の適用に際しての各係数Ａ１〜Ａ９に対応する偏微分項を計算する。より詳細には、以下の式（５）で表される各係数Ａ１〜Ａ９に対応する偏微分項を各サンプルタイミングについて求める。
【００５０】
【数５】
2020175667.tif 000007
・・・（５）
【００５１】  ステップＳ１６では、ＣＰＵ１０ａは、ステップＳ１５で計算した各偏微分項を用いて最小二乗法の連立方程式に適合する行列Ｂを計算する。具体的には、以下の式（６）で表される行列Ｂを求める。
【００５２】
【数６】
2020175667.tif 000008
・・・（６）
【００５３】  なお、式（６）に示す行列Ｂは、９×９の正方行列であり、また、Ｂ（ｘ，ｙ）＝Ｂ（ｙ，ｘ）の対称行列である。
【００５４】  ステップＳ１７では、ＣＰＵ１０ａは、ステップＳ１４で得られたＲ（ｎ）と、ステップＳ１５で得られた偏微分項とを用いて、以下の式（７）で表されるｄＲを計算する。
【００５５】
【数７】
2020175667.tif 000009
・・・（７）
【００５６】  ステップＳ１８では、ＣＰＵ１０ａは、ステップＳ１７で得られた行列Ｂと、ステップＳ１８で得られたｄＲとを用いて、次の（８）式で表される差分ｄｄを計算する。この結果、係数Ａ１〜Ａ９のそれぞれに対応する９個の差分ｄｄ１〜ｄｄ９が得られ、これらに基づき最小二乗法の最適解を評価することができる。
【００５７】
【数８】
2020175667.tif 000010
・・・（８）
【００５８】  ステップＳ１９では、ＣＰＵ１０ａは、ステップＳ１８で求めた９個の差分ｄｄ１〜ｄｄ９について、つぎの式（９）を満たすか否かを判定し、満たすと判定した場合（ステップＳ１９：Ｙ）には各差分ｄｄ１〜ｄｄ９が十分ゼロに近いため、その時点で最小二乗法の最適解が得られたものとしてステップＳ２１に進み、それ以外の場合（ステップＳ１９：Ｎ）には各差分ｄｄ１〜ｄｄ９が大きく最小二乗法の最適解が得られていないものとしてステップＳ２０に進む。なお、式（９）の右辺は、１０−１２には限定されず、ゼロに近いと判断し得る所定の値を用いることができる。
【００５９】
【数９】
2020175667.tif 000011
・・・（９）
【００６０】  ステップＳ２０では、ＣＰＵ１０ａは、各差分ｄｄ１〜ｄｄ９が大きく、最小二乗法の最適解が得られていないものとして、以下の式（１０）に基づき、各々の係数Ａ１〜Ａ９を更新する。なお、ステップＳ２０において、係数Ａ１〜Ａ９が更新されると、再びステップＳ１３に移行して、新しい係数Ａ１〜Ａ９を用いて最小二乗法を適用したステップＳ１３〜Ｓ１９の処理を繰り返し実行する。【数１０】
2020175667.tif 000012
・・・（１０）
【００６１】  ステップＳ２１では、ＣＰＵ１０ａは、開回路電圧ＯＣＶが長期的に十分安定するときの収束値Ｖ０を、以下の式（１１）により計算する。
【００６２】
【数１１】
2020175667.tif 000013
・・・（１１）
【００６３】  ステップＳ２２では、ＣＰＵ１０ａは、ステップＳ２２で求めた開回路電圧ＯＣＶの収束値Ｖ０と、その時点の係数Ａ１〜Ａ９をＲＡＭ１０ｃにデータ１０ｃａとして格納する。これにより、安定状態の開回路電圧ＯＣＶが推定されたことになり、必要に応じてＲＡＭ１０ｃから読み出して利用することができる。
【００６４】  ステップＳ２３では、ＣＰＵ１０ａは、ステップＳ２２で求めた開回路電圧ＯＣＶの収束値Ｖ０に基づき、充電可能電池１４の充電率を計算する。一般に、充電可能電池１４の充電率は、開回路電圧の収束値Ｖ０および周囲温度から所定の関数に基づき一律に決定できる。よって、充電可能電池１４に適合する関数を予め求めておき、ステップＳ２３で計算を行うことにより、充電可能電池１４の充電率ＳＯＣを推定することができる。
【００６５】  つぎに、図５を参照して、図４に示す端子電圧Ｖ（ｎ）の測定処理の詳細について説明する。図５に示すフローチャートの処理が開始されると、以下のステップが実行される。
【００６６】  ステップＳ３０では、ＣＰＵ１０ａは、処理回数をカウントする変数ｎに対して、初期値１を代入する。
【００６７】  ステップＳ３１では、ＣＰＵ１０ａは、所定の時間が経過するまで待機する。より詳細には、サンプリング間隔ΔＴｓが経過するまで待機する。なお、サンプリング間隔ΔＴｓは、例えば、前述のように１０秒とすることができる。もちろん、これ以外の値を設定してもよい。
【００６８】  ステップＳ３２では、ＣＰＵ１０ａは、電流測定部１２からの出力信号を参照して、充電可能電池１４に流れる電流を検出する。
【００６９】  ステップＳ３３では、ＣＰＵ１０ａは、電流の変動値を計算する。例えば、今回の測定値と前回の測定値の差分値から変動値を求める。なお、２回分の測定値から変動値を求めるのではなく、複数回分の測定値の平均値と、同じく複数回分の測定値の平均値の差分値から求めるようにしてもよい。なお、このように平均値を用いるのは、突発的なノイズ（フィッティング処理に影響を与えない短い時間に生じる電圧変動）の影響を排除するためである。また、これ以外にも、例えば、複数回の測定値の標準偏差を求め、当該標準偏差を電流の測定値の平均値で除することで、変動値を求めるようにしてもよい。このステップＳ３３の目的は、図３に実線で示す電圧波形の不連続に変化する部分を、電圧変化の原因となる電流波形の不連続変化から検出することである。
【００７０】  ステップＳ３４では、ＣＰＵ１０ａは、ステップＳ３３で求めた電流の変動値と、所定の閾値Ｔｈとを比較し、変動値が所定の閾値Ｔｈ以上である場合（ステップＳ３４：Ｙ）の場合にはステップＳ３５に進み、それ以外の場合（ステップＳ３４：Ｎ）にはステップＳ３７に進む。一例として、電流の変動値が０．０５〜０．５Ａ以上である場合には、Ｙと判定してステップＳ３５に進む。もちろん、閾値は、車両の種類、負荷１９の種類、外部温度等によって変化するので、前述した以外の値であってもよい。具体例として、図３の例では、時刻Ｔ１からフィッティングを開始した場合に、時刻Ｔ２において一点鎖線で示す電流が０．１Ａ程度変動している。また、時刻Ｔ３でも０．１Ａ程度変動している。このため、時刻Ｔ１および時刻Ｔ２ではＹと判定されてステップＳ３５に進む。
【００７１】  ステップＳ３５では、ＣＰＵ１０ａは、電圧サンプル値Ｖ（ｎ）のデータを棄却する。すなわち、電圧サンプル値Ｖ（ｎ）としてＲＡＭ１０ｃのデータ１０ｃａに格納されている全データを棄却する。
【００７２】  ステップＳ３６では、ＣＰＵ１０ａは、処理回数をカウントする変数ｎに、１を代入する。これにより、電圧サンプリング値が、Ｖ（１）から再度格納されることになる。即ち、電圧サンプル値Ｖ（ｎ）のデータの棄却が判定されると、電圧サンプル値Ｖ（ｎ）の処理回数はゼロリセットされる。なお、処理回数の情報はＣＰＵ１０ａに格納される。
【００７３】  ステップＳ３７では、ＣＰＵ１０ａは、電圧サンプル値Ｖ（ｎ）のサンプリングを実行する。より詳細には、ＣＰＵ１０ａは、電圧測定部１１から出力される信号を参照し、充電可能電池１４の端子電圧を測定し、Ｖ（ｎ）に格納する。
【００７４】  ステップＳ３８では、ＣＰＵ１０ａは、処理回数をカウントする変数ｎの値を１インクリメントする。
【００７５】  ステップＳ３９では、ＣＰＵ１０ａは、処理回数をカウントする変数ｎの値が定数Ｎｓよりも小さいか否かを判定し、ｎ＜Ｎｓが成立すると判定した場合（ステップＳ３９：Ｙ）にはステップＳ３０に戻って前述の場合と同様の処理を繰り返し、それ以外の場合（ステップＳ３９：Ｎ）には元の処理に復帰（リターン）する。即ち、本実施形態では、所定の個数以上の電圧サンプル値Ｖ（ｎ）に対してフィッティング処理が行われ、ＯＣＶが計算される。なお、電圧サンプル値Ｖ（ｎ）の棄却が実行された場合には、棄却した電圧サンプル値Ｖ（ｎ）は所定の個数に含まれない。
【００７６】  以上に説明したように、本発明の実施形態では、電圧サンプル値Ｖ（ｎ）のサンプリングを実行する際に、電流値も併せてサンプリングし、電圧の変動値が所定の閾値以上である場合には、それまでの電圧サンプル値Ｖ（ｎ）を棄却するようにした。これにより、例えば、図３に示すように、電流値が変動する場合には、電圧値もそれに応じて変動する。このため、例えば、時刻Ｔ２，Ｔ３において、電流値が変動すると、電圧値も変動し、図３に実線で示すように、電圧値が不連続に変化する状態となる。このような場合に、関数を用いてフィッティングを実行しても、正確なフィッティングを行うことができない。そこで、本実施形態では、電流の変動値が所定の閾値以上である場合には、それまでに測定した電圧サンプル値Ｖ（ｎ）を棄却することで、このような不具合を回避できる。
【００７７】  図３の例では、時刻Ｔ１からサンプリングが開始されるが、時刻Ｔ２において電流の変動値が閾値よりも大きいことから電圧サンプル値が棄却され、ｎ＝１に再設定されて、電圧サンプル値Ｖ（ｎ）が最初から測定される。図３の例では、時刻Ｔ３でも電流の変動値が閾値よりも大きいことから電圧サンプル値が棄却され、ｎ＝１に再設定されて、電圧サンプル値Ｖ（ｎ）が最初から測定される。この結果、図３の例では、時刻Ｔ３の直後からＴ４までサンプリングが実行されて、開回路電圧ＯＣＶを求めることができる。
【００７８】（Ｃ）変形実施形態の説明  以上の実施形態は一例であって、本発明が上述したような場合のみに限定されるものでないことはいうまでもない。例えば、以上の実施形態では、指数減衰関数として４次の関数を用いるようにしたが、３次以下または５次以上の指数減衰関数を用いるようにしてもよい。
【００７９】  また、測定を開始するタイミングに応じて、指数減衰関数の次数を変更するようにしてもよい。具体的には、図６に示すように、測定開始のタイミングが０〜１０秒の場合には、第１〜４項の全てを含む形の指数減衰関数を適用する。このような初期段階では、指数減衰関数の各項の影響は比較的大きいため、演算精度を十分に確保するには、４項全てを用いて本来の４次の指数減衰関数を適用して演算を行う必要があるためである。
【００８０】  これに対し、演算処理の開始時点から１０秒経過したタイミングでは、指数減衰関数の第１項が無視できる程度に減衰するので、第１項を除き第２〜４項を含む形の指数減衰関数を適用する。また、演算処理の開始時点から６０秒経過したタイミングでは、指数減衰関数の第１項に加えて第２項も無視できる程度に減衰するので、第１、２項を除き第３、４項を含む形の指数減衰関数を適用する。さらに、演算処理の開始時点から６００秒経過したタイミングでは、指数減衰関数の第１、２項に加えて第３項も無視できる程度に減衰するので、第１〜３項を除き第４項のみを含む形の指数減衰関数を適用する。
【００８１】  このため、例えば、図５に示す処理により、電流の変動値＞Ｔｈと判定されてＶ（ｎ）データが棄却された場合、最初から測定を行うことになるため、図６に示す表に応じて、指数減衰関数の項数を減少させるようにしてもよい。例えば、図３に示すように、時刻Ｔ２において、Ｖ（ｎ）データが棄却され、演算開始から８００秒後に、測定が再開された場合には、第４項だけを用いるようにしてもよい。
【００８２】  また、以上の実施形態では、指数減衰関数を用いるようにしたが、これ以外にも、例えば、反比例曲線等を用いるようにしてもよい。
【００８３】  また、以上の実施形態では、図５のステップＳ３４において、電流の変動値が閾値よりも大きくなった場合には、電圧サンプルＶ（ｎ）を全て棄却するようにしたが、全て棄却するのではなく、変動が大きい付近のデータのみを棄却するようにしてもよい。
【００８４】  また、棄却することで、フィッティングに必要な十分なデータが測定できなくなる場合には、ステップＳ３４の閾値Ｔｈを変更するようにしてもよい。例えば、棄却が繰り返されて、開回路電圧ＯＣＶの測定が所望の頻度（例えば、１日または２日に１回）で実行できない場合には、所望の頻度で実行できるようになるまで閾値Ｔｈの値を大きくするようにしてもよい。また、所望の頻度で実行されている場合には、閾値Ｔｈの値を小さくし、精度を高めるようにしてもよい。
【００８５】  また、以上の実施形態では、図５のフローチャートでは、電流の変動値と閾値を比較して棄却の要否を判断するようにしたが、電圧の変動値に基づいて棄却の要否を判定するようにしてもよい。例えば、電圧の変動値が所定の閾値よりも大きい場合にはそれまでの測定データを棄却するようにしたり、電圧の変動値と電流の変動値がともに所定の閾値よりも大きい場合には棄却したりするようにしてもよい。
【００８６】  また、ＣＰＵ１０ａに格納されている電圧値が所定の個数以上になる前に、電圧値の所定の閾値以上の変動が所定の回数以上繰り返された場合には、充電可能電池の状態の検出を停止してもよい。
【００８７】  また、以上の実施形態では、開回路電圧ＯＣＶからＳＯＣを求めるまでについて説明したが、このようにして求めたＳＯＣに基づいて、オルタネータ１６の発電電圧を制御し、充電可能電池１４が過放電または過充電にならないように、所定のＳＯＣになるように制御するようにしてもよい。このような制御によれば、エンジン１７の再始動が不能になることを防止できるので、例えば、車両のアイドリング時にエンジン１７を停止させるいわゆるアイドリングストップにより、燃費効率を改善することができる。また、過充電を防ぐことで、エンジン１７の負荷を低減させ、同様に燃費効率を改善することができる。なお、図１の例では、制御部１０が充放電の制御を行うようにしたが、図示しないＥＣＵが制御部１０からＳＯＣまたはＯＣＶ等のデータを受信し、これらの値に基づいてＥＣＵが制御するようにしてもよい。
【００８８】  また、以上の実施形態では、温度による影響については説明していないが、温度測定部１３によって検出される温度も考慮して、ＯＣＶを測定するようにしてもよい。例えば、測定された電圧を標準温度における電圧に補正し、補正の結果得られた電圧に基づいて、ＯＣＶを計算するようにしてもよい。
【００８９】  また、以上の実施形態では、充電可能電池状態検出装置１が放電回路１５を有する形態を示したが、放電回路１５を備えない構成としてもよい。充電可能電池状態検出装置１が放電回路１５を備えない場合であっても、上述のようにＯＣＶを計算することができる。
【００９０】  また、図４および図５に示すフローチャートは一例であって、本発明がこれらのフローチャートの処理のみに限定されるものではない。
【符号の説明】
【００９１】  １  充電可能電池状態検出装置  １０  制御部  １０ａ  ＣＰＵ  １０ｂ  ＲＯＭ  １０ｃ  ＲＡＭ  １０ｄ  通信部  １０ｅ  Ｉ／Ｆ  １１  電圧検出部（電圧測定部）  １２  電流検出部（電流測定部）  １３  温度検出部（温度測定部）  １４  充電可能電池  １５  放電回路  １６  オルタネータ  １７  エンジン  １８  スタータモータ  １９  負荷
【図１】
2020175667.tif 000014
【図２】
2020175667.tif 000015
【図３】
2020175667.tif 000016
【図４】
2020175667.tif 000017
【図５】
2020175667.tif 000018
【図６】
2020175667.tif 000019
【国際調査報告】
2020175667.tif 000020
2020175667.tif 000021
2020175667.tif 000022
2020175667.tif 000023
2020175667.tif 000024
2020175667.tif 000025