(57)【要約】【課題】出力される残容量のデータが不連続に変化することが防止される二次電池の残容量データ生成方法、該残容量データ生成方法によって生成した残容量のデータを出力するパック電池を提供する。【解決手段】２５０ｍｓ周期で時系列的に検出した最小のセル電圧が、所定の低電圧（３．３Ｖ又は３．６Ｖ）以下に低下し、且つ、それまでに積算した残容量が、前記所定の低電圧に対して予め設定された４％又は８％の修正容量より大きい場合、前記残容量を８秒毎に１％ずつ低減した容量を補正容量として、該補正容量のデータを出力する。また、補正容量のデータを出力し始めた後に、前記修正容量を基準容量とする第２の残容量の積算を開始し、出力している補正容量が第２の残容量と一致したときから、第２の残容量のデータを出力する。【選択図】図２
2011233414.tif 000002
【特許請求の範囲】
【請求項１】
二次電池の電圧及び充放電電流を時系列的に検出して所定の満充電条件を検知すると共に残容量を積算し、積算した残容量のデータを生成する方法において、
検出した電圧が所定電圧以下に低下しているか（又は前記満充電条件を検知したか）否かを判定し、
低下していると判定した場合、積算した残容量が予め設定された所定容量より大きい（又は小さい）か否かを判定し、
大きい（又は小さい）と判定した後に、前記残容量を所定の単位時間当たり変化率で低減（又は増加）した補正容量のデータを生成すること
を特徴とする二次電池の残容量データ生成方法。
【請求項２】
検出した充放電電流に基づいて、前記二次電池が放電（又は充電）しているか否かを判定し、
放電（又は充電）していると判定している間、前記補正容量のデータを生成すること
を特徴とする請求項１に記載の二次電池の残容量データ生成方法。
【請求項３】
前記補正容量のデータ生成を開始した後に、前記所定容量を基準容量とする第２の残容量を積算し、
積算した第２の残容量が、データを低減（又は増加）して生成中の補正容量より小さい（又は大きい）か否かを判定し、
小さい（又は大きい）と判定している間、前記補正容量のデータを生成すること
を特徴とする請求項１又は２に記載の二次電池の残容量データ生成方法。
【請求項４】
検出した電圧が前記所定電圧以下に低下していない（又は前記満充電条件を検知していない）と判定した場合、前記残容量が、前記所定容量より小さい（又は大きい）か否かを判定し、
小さい（又は大きい）と判定した場合、前記所定容量のデータを生成すること
を特徴とする請求項１から３の何れか１項に記載の二次電池の残容量データ生成方法。
【請求項５】
前記所定電圧（又は前記満充電条件）は、所定の報知を行うべき電圧（又は検出した充電電流が所定電流以下となること）であることを特徴とする請求項１から４の何れか１項に記載の二次電池の残容量データ生成方法。
【請求項６】
１又は複数の二次電池と、該二次電池の電圧及び充放電電流を時系列的に検出して所定の満充電条件を検知すると共に残容量を積算し、積算した残容量のデータを出力する制御部とを備えるパック電池において、
前記制御部は、
検出した電圧が所定電圧以下に低下しているか（又は前記満充電条件を検知したか）否かを判定する手段と、
該手段が低下していると判定した場合、積算した残容量が予め設定された所定容量より大きい（又は小さい）か否かを判定する手段と、
該手段が大きい（又は小さい）と判定した後に、前記残容量を所定の単位時間当たり変化率で低減（又は増加）した補正容量のデータを出力する手段とを有すること
を特徴とするパック電池。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、二次電池の残容量を積算し、積算した残容量のデータを生成する二次電池の残容量データ生成方法、該残容量データ生成方法によって生成した残容量のデータを出力するパック電池に関する。
【背景技術】
【０００２】
従来、パーソナルコンピュータ（ＰＣ）等の電子機器に搭載される二次電池の残容量は、満充電での電気量（電流値×時間）又は電力量（電力値×時間）から、夫々充放電電流又は充放電電力の積算値を加減算して算出されている。このような積算による残容量と、実際の残容量との差が拡大するのを防止するため、例えば特許文献１では、満充電の報知、低電圧報知等の報知を行うべき電池電圧を検出した時に、残容量を補正する技術が開示されている。但し、特許文献１に開示された技術では、電池電圧が所定の電圧に達した時に、残容量を予め設定された容量に補正するため、残容量のデータが生成されて表示されている場合は、表示されている残容量が不連続に変化して使用者に不自然な印象を与えることが避けられない。
【０００３】
上述した残容量を補正する技術では、単に表示が不自然になるだけでなく、ＰＣをハイバネーションに移行させるべき電圧まで電池電圧が低下した時に残容量を補正した場合は、ＰＣをハイバネーションに移行させることができない低容量に補正されることがある。これに対し、特許文献２では、ＰＣをハイバネーションに移行させることが可能な容量に残容量を補正した後、所定の勾配で残容量を減少させる技術が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平５−８７８９６号公報
【特許文献２】特開２００１−２８３９３６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献２に開示された技術を用いた場合であっても、残容量が不連続に補正される問題を解消することはできない。
【０００６】
本発明は斯かる事情に鑑みてなされたものであり、その目的とするところは、生成される残容量のデータが不連続に変化することが防止される二次電池の残容量データ生成方法、該残容量データ生成方法によって生成した残容量のデータを出力するパック電池を提供することにある。
【課題を解決するための手段】
【０００７】
本発明に係る二次電池の残容量データ生成方法は、二次電池の電圧及び充放電電流を時系列的に検出して所定の満充電条件を検知すると共に残容量を積算し、積算した残容量のデータを生成する方法において、検出した電圧が所定電圧以下に低下しているか（又は前記満充電条件を検知したか）否かを判定し、低下していると判定した場合、積算した残容量が予め設定された所定容量より大きい（又は小さい）か否かを判定し、大きい（又は小さい）と判定した後に、前記残容量を所定の単位時間当たり変化率で低減（又は増加）した補正容量のデータを生成することを特徴とする。
【０００８】
本発明に係る二次電池の残容量データ生成方法は、検出した充放電電流に基づいて、前記二次電池が放電（又は充電）しているか否かを判定し、放電（又は充電）していると判定している間、前記補正容量のデータを生成することを特徴とする。
【０００９】
本発明に係る二次電池の残容量データ生成方法は、前記補正容量のデータ生成を開始した後に、前記所定容量を基準容量とする第２の残容量を積算し、積算した第２の残容量が、データを低減（又は増加）して生成中の補正容量より小さい（又は大きい）か否かを判定し、小さい（又は大きい）と判定している間、前記補正容量のデータを生成することを特徴とする。
【００１０】
本発明に係る二次電池の残容量データ生成方法は、検出した電圧が前記所定電圧以下に低下していない（又は前記満充電条件を検知していない）と判定した場合、前記残容量が、前記所定容量より小さい（又は大きい）か否かを判定し、小さい（又は大きい）と判定した場合、前記所定容量のデータを生成することを特徴とする。
【００１１】
本発明に係る二次電池の残容量データ生成方法は、前記所定電圧（又は前記満充電条件）は、所定の報知を行うべき電圧（又は検出した充電電流が所定電流以下となること）であることを特徴とする。
【００１２】
本発明に係るパック電池は、１又は複数の二次電池と、該二次電池の電圧及び充放電電流を時系列的に検出して所定の満充電条件を検知すると共に残容量を積算し、積算した残容量のデータを出力する制御部とを備えるパック電池において、前記制御部は、検出した電圧が所定電圧以下に低下しているか（又は前記満充電条件を検知したか）否かを判定する手段と、該手段が低下していると判定した場合、積算した残容量が予め設定された所定容量より大きい（又は小さい）か否かを判定する手段と、該手段が大きい（又は小さい）と判定した後に、前記残容量を所定の単位時間当たり変化率で低減（又は増加）した補正容量のデータを出力する手段とを有することを特徴とする。
【００１３】
本発明にあっては、時系列的に検出した二次電池の電圧（以下、電池電圧という）が、所定電圧以下に低下し（又は所定の満充電条件を検知し）、且つ、それまでに積算した残容量が、前記所定電圧（又は前記満充電条件）に対して予め設定された所定容量より大きい（又は小さい）場合、前記残容量を所定の時間変化率で低減（又は増加）した容量を補正容量として、該補正容量のデータを生成する。
これにより、電池電圧が所定電圧まで低下した時（又は満充電条件を検知した時）に、残容量を予め設定された所定容量（以下、修正容量という）に一度に修正することによって、データとして生成される残容量が不連続に減少（又は増加）するような場合は、前記修正容量のデータをそのまま生成せずに、その時点まで積算した残容量を所定の時間変化率で滑らかに低減（又は増加）した補正容量のデータを生成する。
【００１４】
本発明にあっては、時系列的に検出した充放電電流に基づいて判定される充電／放電の状態に応じて、二次電池が放電（又は充電）している間だけ前記補正容量のデータを生成する。
これにより、二次電池が充電（又は放電）状態に切り替わった時は、その時点まで低減（又は増加）した補正容量を基準容量として、充電（又は放電）中の残容量の積算を再開する。
【００１５】
本発明にあっては、補正容量のデータを生成し始めた後に、前記修正容量を基準容量とする第２の残容量の積算を開始し、第２の残容量が、所定の時間変化率で低減（又は増加）している補正容量より小さい（又は大きい）間だけ、その補正容量のデータを生成する。
これにより、補正容量が、修正容量から積算を開始した第２の残容量まで低下（又は上昇）した場合、補正容量のデータの生成を停止し、その時点から第２の残容量のデータを生成する。
【００１６】
本発明にあっては、電池電圧が所定電圧以下まで低下しておらず（又は満充電条件を検知しておらず）、且つ、その時点まで積算した残容量が、修正容量より小さい（又は大きい）場合、残容量に代えて修正容量のデータを固定的に生成する。
これにより、本来なら修正容量より大きく（又は小さく）なるべき残容量が修正容量を下回った（又は上回った）場合、後に電池電圧が所定電圧まで低下した時（又は満充電条件を検知した時）に、残容量を修正容量まで引き戻すことになるのを未然に防止する。
【００１７】
本発明にあっては、電池電圧が、所定の報知を行うべき電圧以下（又は充電電流が、満充電条件とされる所定電流以下）に低下した時の残容量が、修正容量より大きい（又は小さい）場合、滑らかに低減（又は増加）した補正容量のデータを生成する。
これにより、電池電圧（又は充電電流）が、使用者に注目される特定値以下となった場合に、補正容量のデータを生成し、所定の報知（又は満充電への到達）の前後において、残容量の表示が不連続に変化することを防止する。
【発明の効果】
【００１８】
本発明によれば、残容量を補正する場合は、補正を開始する時点まで積算した残容量を所定の時間変化率で低減（又は増加）した補正容量のデータを生成する。これにより、電池電圧が所定電圧まで低下した時（又は満充電条件を検知した時）に、残容量を修正容量に一度に修正することによって、データとして生成される残容量が不連続に減少（又は増加）するような場合は、前記修正容量のデータをそのまま生成せずに、その時点まで積算した残容量を所定の時間変化率で滑らかに低減（又は増加）した補正容量のデータを生成する。
従って、生成される残容量のデータが不連続に変化するのを防止することが可能となる。
【図面の簡単な説明】
【００１９】
【図１】本発明の実施の形態に係るパック電池の構成例を示すブロック図である。
【図２】放電時に残容量が低下する様子を模式的に示すグラフである。
【図３】放電時に残容量が低下する様子を模式的に示すグラフである。
【図４】残容量が満充電まで上昇した後に低下する様子を模式的に示すグラフである。
【図５】残容量が満充電まで上昇した後に低下する様子を模式的に示すグラフである。
【図６】充電中フラグをセット／クリアするＣＰＵの処理手順を示すフローチャートである。
【図７】積算又は補正した残容量のデータを出力するＣＰＵの処理手順を示すフローチャートである。
【図８】放電中に残容量を補正・修正するＣＰＵの処理手順を示すフローチャートである。
【図９】充電中に残容量を補正・修正するＣＰＵの処理手順を示すフローチャートである。
【図１０】充電中に残容量を補正・修正するＣＰＵの処理手順を示すフローチャートである。
【発明を実施するための形態】
【００２０】
以下、本発明をその実施の形態を示す図面に基づいて詳述する。
図１は、本発明の実施の形態に係るパック電池の構成例を示すブロック図である。図中１０はパック電池であり、パック電池１０は、パーソナルコンピュータ（ＰＣ）、携帯端末等の負荷機器２０に着脱可能に装着されている。パック電池１０は、リチウムイオン二次電池からなる電池セル１１，１２，１３，２１，２２，２３，３１，３２，３３を３個ずつ順に並列接続してなる電池ブロックＢ１，Ｂ２，Ｂ３を、この順番に直列接続してなる電池１を備える。電池１は、電池ブロックＢ３の正極及び電池ブロックＢ１の負極が夫々正極端子及び負極端子となるようにしてある。
【００２１】
電池ブロックＢ１，Ｂ２，Ｂ３の電圧は、夫々独立してＡ／Ｄ変換部４のアナログ入力端子に与えられ、デジタルの電圧値に変換されてＡ／Ｄ変換部４のデジタル出力端子から、マイクロコンピュータからなる制御部５に与えられる。Ａ／Ｄ変換部４のアナログ入力端子には、また、電池１に密接して配置されており、サーミスタを含む回路によって電池１の温度を検出する温度検出器３の検出出力と、電池１の負極端子側の充放電路に介装されており、電池１の充電電流及び放電電流を検出する抵抗器からなる電流検出器２の検出出力とが与えられている。これらの検出出力は、デジタルの検出値に変換されてＡ／Ｄ変換部４のデジタル出力端子から制御部５に与えられる。
【００２２】
電池１の正極端子側の充放電路には、充電電流及び放電電流を夫々遮断するＰチャネル型のＭＯＳＦＥＴ７１，７２からなる遮断器７が介装されている。ＭＯＳＦＥＴ７１，７２は、ドレイン電極同士を突き合わせて直列に接続してある。ＭＯＳＦＥＴ７１，７２夫々のドレイン電極及びソース電極間に並列接続されているダイオードは、寄生ダイオード（ボディダイオード）である。
【００２３】
制御部５は、ＣＰＵ５１を有し、ＣＰＵ５１は、プログラム等の情報を記憶するＲＯＭ５２、一時的に発生した情報を記憶するＲＡＭ５３、時間を計時するタイマ５４、及びパック電池１０内の各部に対して入出力を行うＩ／Ｏポート５５と互いにバス接続されている。Ｉ／Ｏポート５５は、Ａ／Ｄ変換部４のデジタル出力端子、ＭＯＳＦＥＴ７１，７２夫々のゲート電極、及び負荷機器２０が有する制御・電源部（充電器）２１と通信する通信部９に接続されている。ＲＯＭ５２は、ＥＥＰＲＯＭ（Electrically Erasable Programmable ROM ）又はフラッシュメモリからなる不揮発性メモリであり、ＲＯＭ５２には、プログラムの他に、電池容量の学習値、充放電のサイクル数、検出した温度の最大・最小値、検出値、積算値等の保存データ、及び各種設定データが記憶される。
尚、制御部５、電流検出器２、温度検出器３、Ａ／Ｄ変換部４、遮断器７及び通信部９が、電池１の充電制御装置を構成する。
【００２４】
ＣＰＵ５１は、ＲＯＭ５２に予め格納されている制御プログラムに従って、演算及び入出力等の処理を実行する。例えば、ＣＰＵ５１は、定周期（例えば２５０ｍｓ）で電池ブロックＢ１〜Ｂ３の電圧値と、電池１の充放電電流の検出値とを取り込み、取り込んだ電圧値及び検出値に基づいて電池１の残容量を積算してＲＡＭ５３に記憶する。ＣＰＵ５１は、また、残容量のデータを生成し、生成したデータを通信部９の図示しないレジスタに書き込むことによって、残容量のデータを出力する（以下、単に残容量を出力するという）。
【００２５】
遮断器７は、通常の充放電時にＩ／Ｏポート５５からＭＯＳＦＥＴ７１，７２のゲート電極にＬ（ロウ）レベルのオン信号が与えられることにより、ＭＯＳＦＥＴ７１，７２夫々のドレイン電極及びソース電極間が導通するようになっている。電池１の充電電流を遮断する場合、Ｉ／Ｏポート５５からＭＯＳＦＥＴ７１のゲート電極にＨ（ハイ）レベルのオフ信号が与えられることにより、ＭＯＳＦＥＴ７１のドレイン電極及びソース電極間の導通が遮断される。同様に電池１の放電電流を遮断する場合、Ｉ／Ｏポート５５からＭＯＳＦＥＴ７２のゲート電極にＨ（ハイ）レベルのオフ信号が与えられることにより、ＭＯＳＦＥＴ７２のドレイン電極及びソース電極間の導通が遮断される。電池１が適当に充電された状態にある場合、遮断器７のＭＯＳＦＥＴ７１，７２は共にオンしており、電池１は放電及び充電が可能な状態となっている。
【００２６】
負荷機器２０は、制御・電源部２１に接続された負荷２２を備える。制御・電源部２１は、図示しない商用電源より電力を供給されて負荷２２を駆動すると共に、電池１の充放電路に充電電流を供給する。制御・電源部２１は、また、商用電源から電力の供給が絶たれた場合、電池１の充放電路から供給される放電電流により、負荷２２を駆動する。制御・電源部２１が充電する電池１がリチウムイオン電池の場合は、最大の電流、及び最大の電圧を規制した定電流（ＭＡＸ電流０．５〜１Ｃ程度）・定電圧（ＭＡＸ４．２〜４．４Ｖ／電池セル程度）充電が行われ、電池１の電池電圧が所定値以上、及び充電電流が所定値以下の条件のときに満充電とされる。
【００２７】
制御・電源部２１及び通信部９間では、制御・電源部２１をマスタに、通信部９を含む制御部５をスレーブにしてＳＭＢｕｓ（System Management Bus ）方式による通信が行われる。この場合、シリアルクロック（ＳＣＬ）は制御・電源部２１から供給され、シリアルデータ（ＳＤＡ）は制御・電源部２１及び通信部９間で双方向に授受される。本実施の形態では、制御・電源部２１が通信部９を２秒周期でポーリングして通信部９の前記レジスタの内容を読み出す。このポーリングにより、例えば、電池１の残容量のデータが、通信部９から制御・電源部２１に２秒周期で受け渡され、負荷機器２０が有する図示しない表示器に残容量の値（％）として表示される。
尚、上述したポーリング周期の２秒は、制御・電源部２１で決められる値である。
【００２８】
電池１の残容量は、電池１の学習容量（Ａｈ又はＷｈで表される値）から放電容量が減算され、電流の積算量又は電力の積算量として算出される。本実施の形態では、学習容量を１００％とする百分率で残容量（％）を表す。電池１の学習容量は、電池１が満充電の状態から放電終止電圧まで放電する間の、放電電流又は放電電力の積算量でもよいし、放電終止電圧まで放電した状態から満充電の状態となるまでの、充電電流又は充電電力の積算量であってもよい。
【００２９】
以下では、充電時及び放電時の残容量の補正方法について説明する。
図２及び３は、放電時に残容量が低下する様子を模式的に示すグラフである。また、図４及び５は、残容量が満充電まで上昇した後に低下する様子を模式的に示すグラフである。図において横軸は時間（ｔ）を表し、縦軸は残容量（％）を表す。図２から５では、通信部９から出力される残容量を実線で示し、出力されることがない残容量を破線で示す。また、図２及び図３では、所定の低電圧が検知されたときの修正容量が、４％又は８％であるものとする。
【００３０】
最初に図２には、放電している電池１の電池電圧が、学習容量の４％（又は８％）に対応する低電圧まで低下したことが検出された時に、積算中の残容量が、４％（又は８％）の修正容量より大きい場合の例が示されている。この場合、制御部５が積算する残容量（第２の残容量）は、破線で示すように修正容量に修正された後に積算が継続されるが、実際に出力される残容量は、前記低電圧が検出された時の残容量を基準にして８秒毎に１％の割合で低減された補正容量である。補正容量の低減は、積算中の残容量と補正容量が一致するまで続けられる。このようにして、出力される残容量が滑らかに低減されることにより、負荷機器２０で表示される残容量の値が不連続に変化することが防止される。
【００３１】
図３には、放電している電池１の電池電圧が、学習容量の４％（又は８％）に対応する低電圧まで低下したことが検出される前に、積算中の残容量が、４％（又は８％）の修正容量より小さくなる場合の例が示されている。この場合、制御部５が積算する残容量は、前記低電圧が検出されるまで修正容量の大きさに維持されてそのまま出力され、前記低電圧が検出された時から、修正容量を基準容量とする残容量の積算が再開される。
仮に、前記低電圧が検出されるまで、残容量が修正容量の大きさに維持されなかった場合は、破線で示すように残容量の積算が継続されるが、前記低電圧が検出された時に、残容量を修正容量まで増加して修正することになるため、負荷機器２０において表示される残容量の値が不連続に変化する結果となる。
【００３２】
次に図４には、充電している電池１の電池電圧が、満充電の電圧まで上昇したことが検出された時に、積算中の残容量が、満充電に対応する１００％の容量より小さい場合の例が示されている。この場合、満充電が検出されて充電が停止され、放電が始まったときは、制御部５が積算する残容量（第２の残容量）は、破線で示すように１００％の容量に修正された後に低下し始めるが、実際に出力される残容量は、満充電が検出された時の残容量を基準にして８秒毎に１％の割合で増加される補正容量である。補正容量の増加は、補正容量が１００％になるまで続けられる。このようにして、出力される残容量が滑らかに増加されることにより、負荷機器２０で表示される残容量の値が不連続に変化することが防止される。その後、制御部５が積算する残容量が９５％まで低下した場合、出力される補正容量は、８秒毎に１％の割合で低減される。これは、出力される残容量の急激な低下を防ぐためのものである。補正容量の低減は、積算中の残容量と補正容量が一致するまで続けられる。
【００３３】
図５には、充電している電池１の電池電圧が、満充電の電圧まで上昇したことが検出される前に、満充電に対応する１００％の容量より、積算中の残容量が大きくなる場合の例が示されている。この場合、制御部５が積算する残容量は、１００％になった時から１００％の大きさに維持されてそのまま出力されるべきであるが、実際に満充電となっていないのに１００％が表示された場合は、使用者に誤解を与える。このため、本実施の形態では、積算中の残容量が９９％になった時から９９％の残容量を出力し続け、実際に満充電が検出された時から１００％の残容量を出力するようにしてある。また、満充電が検出されて充電が停止され、制御部５が積算する残容量が９５％まで低下した場合に、出力される補正容量が８秒毎に１％の割合で低減されるのは、図４の場合と同様である。図４において、満充電が検出された時の残容量が９９％を越えている場合は、図５の場合に準ずるものとする。
【００３４】
尚、本実施の形態では、電池１が所定の満充電条件を満たすことを検知して満充電とする例を説明する。より具体的には、充電電流の大きさ及び継続時間と電池電圧との組合せによって予め定められた満充電条件（例えば、電池電圧が４０００ｍＶ以上であり、且つ充電電流が７６ｍＡより小さい状態が２０秒継続した場合、又は電池電圧が４２１０ｍＶ以上であり、且つ充電電流が４００ｍＡより小さい状態が０．５秒継続した場合）を検知して満充電とする。満充電条件の検知は上記に限定されるものではなく、例えば、充電電流が所定の電流以下となる状態が所定時間以上継続したときに検知してもよいし、電池電圧が所定電圧以上（例えば、４２３０ｍＶ以上）となったときに検知してもよい。
尚、満充電条件が検知された場合は、負荷機器２０においてその旨が表示される。
【００３５】
以上の構成及び残容量の補正方法に基づく制御部５の処理手順を、フローチャートを用いて詳細に説明する。以下の処理は、ＲＯＭ５２に予め格納された制御プログラムに従ってＣＰＵ５１により実行される。尚、残容量の積算処理は、以下に示す処理を実行するタスクとは異なるタスクにおいて公知の手順で実行される。
図６は、充電中フラグをセット／クリアするＣＰＵ５１の処理手順を示すフローチャートである。図６の処理は２５０ｍｓ周期で起動されるが、起動される周期は２５０ｍｓに限定されるものではない（以下同様）。以下の処理で用いる充電中フラグは、後述する残容量の積算処理において参照されるものであり、ＲＡＭ５３に記憶してプログラムの初期化時にゼロクリアする（以下のフラグについても同様）。
【００３６】
図６の処理が起動された場合、ＣＰＵ５１は、電流検出器２の検出値をＩ／Ｏポート５５から取り込み（Ｓ１１）、取り込んだ検出値の符号に基づいて、電池１が充電中であるか否かを判定し（Ｓ１２）、充電中、即ち充電方向に電流が流れていると判定した場合（Ｓ１２：ＹＥＳ）、充電中フラグに１をセットして（Ｓ１３）処理を終了する。充電中ではないと判定した場合（Ｓ１２：ＮＯ）、充電中フラグをゼロクリアして（Ｓ１４）処理を終了する。
尚、電流検出器２の検出値の符号に基づいて充電中であるか否かの判定を行っているが、電池１に対する電流の方向を検出して、充電中であるか否かを判定するようにしてもよい。また、電池１が充電されていない場合であっても、電池１が自己放電するため、電池１が充電中ではない場合は、常に放電中と判定される。
【００３７】
次に、図７は、積算又は補正した残容量のデータを出力するＣＰＵ５１の処理手順を示すフローチャートである。図７の処理は２５０ｍｓ周期で起動される。
図７の処理が起動された場合、ＣＰＵ５１は、後述する補正中フラグが１にセットされているか否かを判定し（Ｓ２１）、セットされていない場合（Ｓ２１：ＮＯ）、積算中の残容量のデータを出力して（Ｓ２２）処理を終了する。補正中フラグが１にセットされている場合（Ｓ２１：ＹＥＳ）、ＣＰＵ５１は、所定の時間変化率で低減又は増加している補正容量のデータを出力して（Ｓ２３）処理を終了する。
【００３８】
以下では、残容量の積算処理について説明する。
図８及び９，１０の夫々は、放電中及び充電中に残容量を補正・修正するＣＰＵ５１の処理手順を示すフローチャートである。図８及び９の処理は、同時に２つの処理が起動されることはない。図８の処理は、電池１の放電中に１又は複数回起動され、その都度残容量を補正・修正する。図９の処理は、電池１が充電中となったときに起動される。
尚、図９の処理を、満充電電圧より小さい電圧を検出する処理に適用し、図８の処理と同様に、電池１の充電中に１又は複数回起動して、その都度残容量を補正・修正するようにしてもよい。
【００３９】
図８の処理が起動された場合、ＣＰＵ５１は、Ａ／Ｄ変換部４で変換された電池ブロックＢ１〜Ｂ３の電圧値（即ち電池セル１１，１２，１３、２１，２２，２３、及び３１，３２，３３の電圧値）をＩ／Ｏポート５５から取り込み、特定した最小のセル電圧が所定の低電圧以下になったか否かを判定する（Ｓ３１）。本実施の形態では、所定の低電圧が３．３Ｖ（又は３．６Ｖ）である。この電圧は、学習容量の４％（又は８％）に対応する電池電圧であって、電池電圧が低下したときに、負荷機器２０において低電圧警報が発せられる電圧である。尚、所定の低電圧は、３．３Ｖ（又は３．６Ｖ）に限定されるものではない。
【００４０】
最小のセル電圧が所定の低電圧以下になっていない場合（Ｓ３１：ＮＯ）、ＣＰＵ５１は、別タスクで積算中の残容量が、学習容量の４％（又は８％に）に相当する修正容量より小さいか否かを判定し（Ｓ３２）、小さくない場合（Ｓ３２：ＮＯ）、つまり図２が適用される場合、処理をステップＳ３１に戻す。積算中の残容量が、修正容量より小さい場合（Ｓ３２：ＹＥＳ）、つまり図３が適用される場合、ＣＰＵ５１は、別タスクで積算中の残容量を固定的に修正容量（４％又は８％）とし（Ｓ３３）、処理をステップＳ３１に戻す。
【００４１】
ステップＳ３１で、最小のセル電圧が所定の低電圧以下になった場合（Ｓ３１：ＹＥＳ）、つまり所定の低電圧を検出した場合、ＣＰＵ５１は、別タスクで積算中の残容量が、学習容量の４％（又は８％に）に相当する修正容量より大きいか否か、つまり図２が適用される場合か否かを判定する（Ｓ３４）。修正容量より大きくない場合（Ｓ３４：ＮＯ）、つまり図３に示すように既に修正容量に修正されている場合、以後、残容量を補正する必要がないため、ＣＰＵ５１は処理を終了する。残容量が修正容量より大きい場合（Ｓ３４：ＹＥＳ）、ＣＰＵ５１は、補正中フラグを１にセットする（Ｓ３５）。これにより、図７に示す処理によって、補正容量のデータが出力されるようになる。
【００４２】
次いで、ＣＰＵ５１は、その時点まで積算された残容量を基準容量とするために、補正容量を残容量と一致させ（Ｓ３６）、更に、図２に破線で示すように、残容量を修正容量に修正する（Ｓ３７）。これらにより、図２に示す低電圧の検出が行われた時刻から右下がりの実線及び破線によって夫々示される補正容量及び残容量の初期値が定まる。
【００４３】
その後、ＣＰＵ５１は、図６の処理でセット／クリアされる充電中フラグが、１にセットされているか否かを判定し（Ｓ３８）セットされている場合（Ｓ３８：ＹＥＳ）、つまり電池１が充電中に切り替わった場合、後述するステップＳ４１に処理を移す。充電中フラグが１にセットされてない場合（Ｓ３８：ＮＯ）、つまり電池１が依然として放電中である場合、補正容量を基準容量から８秒毎に１％ずつ低減する処理を行い（Ｓ３９）、別タスクで積算中の残容量が、低減中の補正容量より小さいか否かを判定する（Ｓ４０）。
【００４４】
残容量が補正容量より小さい場合（Ｓ４０：ＹＥＳ）、ＣＰＵ５１は、処理をステップＳ３８に戻す。残容量が補正容量より小さくない場合（Ｓ４０：ＮＯ）、つまり、図２に示す残容量の破線が補正容量の実線に一致した場合、ＣＰＵ５１は、補正中フラグをゼロクリアして（Ｓ４１）処理を終了する。これにより、以後、図７に示す処理では、補正容量に代えて残容量のデータが出力される。
【００４５】
次に、図９の処理が起動された場合、ＣＰＵ５１は、所定の満充電条件を検知したか否か（具体的には、上述したように電池電圧が４０００ｍＶ以上であり、且つ充電電流が７６ｍＡより小さい状態が２０秒継続した場合、又は電池電圧が４２１０ｍＶ以上であり、且つ充電電流が４００ｍＡより小さい状態が０．５秒継続した場合、という満充電条件を検知したか否か）を判定する（Ｓ５１）。満充電条件を検知していない場合（Ｓ５１：ＮＯ）、ＣＰＵ５１は、別タスクで積算中の残容量が、９９％の容量より大きいか否かを判定し（Ｓ５２）、大きくない場合（Ｓ５２：ＮＯ）、つまり図４が適用される場合、処理をステップＳ５１に戻す。積算中の残容量が、９９％の容量より大きい場合（Ｓ５２：ＹＥＳ）、つまり図３が適用される場合、ＣＰＵ５１は、別タスクで積算中の残容量を固定的に９９％の容量とし（Ｓ５３）、処理をステップＳ５１に戻す。
【００４６】
ステップＳ５１で、満充電条件を検知した場合（Ｓ５１：ＹＥＳ）、つまり満充電を検出した場合、ＣＰＵ５１は、補正中フラグを１にセットする（Ｓ５４）。これにより、図７に示す処理によって、補正容量のデータが出力されるようになる。その後、ＣＰＵ５１は、別タスクで積算中の残容量が、９９％の容量より小さいか否か、つまり図４が適用される場合か否かを判定する（Ｓ５５）。９９％の容量より小さくない場合（Ｓ５５：ＮＯ）、つまり図５に示すように既に９９％の容量に修正されている場合、満充電となった後の処理を行うために、後述するステップＳ６２に処理を移す。
【００４７】
ステップＳ５５で、残容量が９９％の容量より小さい場合（Ｓ５５：ＹＥＳ）、つまり図４が適用される場合、ＣＰＵ５１は、その時点まで積算された残容量を基準容量とするために、補正容量を残容量と一致させ（Ｓ５６）、更に、図４に破線で示すように、残容量を１００％の容量に修正する（Ｓ５７）。これらにより、図４に示す満充電が検出された時刻から右上がりの実線及び破線によって夫々示される補正容量及び残容量の初期値が定まる。
【００４８】
その後、ＣＰＵ５１は、図６の処理でセット／クリアされる充電中フラグが、１にセットされているか否かを判定し（Ｓ５８）セットされていない場合（Ｓ５８：ＮＯ）、Ｉ／Ｏポート５５から取り込んだ電流検出器２の検出値が０であるか否かによって充放電電流が０であるか否かを判定する（Ｓ５９）。充放電電流が０ではない場合（Ｓ５９：ＮＯ）、つまり電池１が放電中に切り替わった場合、ＣＰＵ５１は、後述するステップＳ６２に処理を移す。充放電電流が０であって電池１が自己放電している場合（Ｓ５９：ＹＥＳ）、又はステップＳ５８で充電中フラグが１にセットされており、電池１が依然として充電中である場合（Ｓ５８：ＹＥＳ）、ＣＰＵ５１は、補正容量を基準容量から８秒毎に１％ずつ増加する処理を行い（Ｓ６０）、別タスクで積算中の残容量が、増加中の補正容量より大きいか否かを判定する（Ｓ６１）。残容量が補正容量より大きい場合（Ｓ６１：ＹＥＳ）、ＣＰＵ５１は、処理をステップＳ５８に戻す。残容量が補正容量より大きくない場合（Ｓ６１：ＮＯ）、つまり、図４に示す残容量（１００％）の破線が補正容量の実線に一致した場合、ＣＰＵ５１は、図１０のステップＳ６２に処理を進める。
【００４９】
図１０の処理では、ＣＰＵ５１は、補正容量を１００％に固定する（Ｓ６２）。その後、ＣＰＵ５１は、別タスクで積算中の残容量が９５％より小さくなったか否かを判定し（Ｓ６３）、９５％より小さくなっていない場合（Ｓ６３：ＮＯ）、処理をステップＳ６２に戻す。これにより、電池１が満充電となって充電が停止された後は、残容量が９５％より小さくなるまで１００％の補正容量を出力し続ける。残容量が９５％より小さくなった場合（Ｓ６３：ＹＥＳ）、ＣＰＵ５１は、充電中フラグが１にセットされているか否かを判定し（Ｓ６４）、セットされている場合（Ｓ６４：ＹＥＳ）、処理をステップＳ６２に戻す。これにより、後述するように所定の時間変化率で低減した補正容量を出力している間に充電が再開された場合は、再び１００％の補正容量を出力し続ける。
【００５０】
ステップＳ６４で充電中フラグが１にセットされていない場合（Ｓ６４：ＮＯ）、つまり残容量が９５％より小さく、且つ充電中でない場合、ＣＰＵ５１は、Ｉ／Ｏポート５５から取り込んだ電流検出器２の検出値が０であるか否かによって充放電電流が０であるか否かを判定する（Ｓ６５）。充放電電流が０であって電池１が自己放電している場合（Ｓ６５：ＹＥＳ）、ＣＰＵ５１は、処理をステップＳ６２に戻す。充放電電流が０ではない場合（Ｓ６５：ＮＯ）、つまり電池１が放電中に切り替わった場合、ＣＰＵ５１は、その時点での補正容量を８秒毎に１％ずつ低減する処理を行い（Ｓ６６）、別タスクで積算中の残容量が、低減中の補正容量より小さいか否かを判定する（Ｓ６７）。補正容量より小さい場合（Ｓ６７：ＹＥＳ）、ＣＰＵ５１は、処理をステップＳ６４に戻す。残容量が補正容量より小さくない場合（Ｓ６７：ＮＯ）、つまり、別タスクで積算中の残容量が、低減中の補正容量に一致した場合、ＣＰＵ５１は、補正中フラグをゼロクリアして（Ｓ６８）処理を終了する。これにより、以後、図７に示す処理では、補正容量に代えて残容量のデータが出力される。
【００５１】
以上のように本実施の形態によれば、２５０ｍｓ周期で時系列的に検出した最小のセル電圧が所定の低電圧（３．３Ｖ又は３．６Ｖ）以下に低下し（又は所定の満充電条件を検知し）、且つ、それまでに積算した残容量が、前記所定の低電圧に対して予め設定された４％又は８％の修正容量より大きい（又は満充電に対する９９％の修正容量より小さい）場合、前記残容量を８秒毎に１％ずつ低減（又は増加）した容量を補正容量として、該補正容量のデータを出力する。
これにより、電池電圧が所定の低電圧まで低下した時（又は満充電条件を検知した時）に、残容量を修正容量に一度に修正することによって、データとして出力される残容量が不連続に減少（又は増加）するような場合は、前記修正容量のデータをそのまま出力せずに、その時点まで積算した残容量を８秒毎に１％ずつ滑らかに低減（又は増加）した補正容量のデータを出力する。
従って、出力される残容量のデータが不連続に変化するのを防止することが可能となる。
【００５２】
また、時系列的に検出した充放電電流に基づいて判定される充電／放電の状態に応じて、各電池セルが放電（又は充電）している間だけ前記補正容量のデータを出力する。
従って、各電池セルが充電（又は放電）状態に切り替わった時は、その時点まで低減（又は増加）した補正容量を基準容量として、充電（又は放電）中の残容量の積算を再開することが可能となり、残容量の積算の連続性が担保される。
【００５３】
更にまた、補正容量のデータを出力し始めた後に、前記修正容量を基準容量とする第２の残容量の積算を開始し、第２の残容量が、８秒毎に１％ずつ低減（又は増加）している補正容量より小さい（又は大きい）間だけ、その補正容量のデータを出力する。
従って、補正容量が、修正容量から積算を開始した第２の残容量まで低下（又は上昇）した場合、補正容量のデータの出力を停止し、その時点から第２の残容量のデータを出力することが可能となる。
【００５４】
更にまた、時系列的に検出した最小のセル電圧が所定の低電圧以下まで低下しておらず（又は満充電条件を検知しておらず）、且つ、その時点まで積算した残容量が、４％又は８％の修正容量より小さい（又は９９％の修正容量より大きい）場合、残容量に代えて修正容量のデータを固定的に出力する。
従って、本来なら修正容量より大きく（又は小さく）なるべき残容量が修正容量を下回った（又は上回った）場合、後にセル電圧が所定電圧まで低下した時（又は満充電条件を検知した時）に、残容量を修正容量まで引き戻すことになるのを未然に防止することが可能となる。
【００５５】
更にまた、セル電圧が、低電圧警報が発せられる電圧以下（又は充電電流が、満充電条件とされる所定電流以下）に低下した時の残容量が、修正容量より大きい（又は小さい）場合、８秒毎に１％ずつ滑らかに低減（又は増加）した補正容量のデータを出力する。
従って、セル電圧（又は充電電流）が、使用者に注目される特定値以下となった場合に、補正容量のデータを生成し、低電圧警報（又は満充電の報知）の前後において、残容量の表示が不連続に変化するのを防止することが可能となる。
【００５６】
尚、本実施の形態にあっては、補正容量の時間変化率を、８秒毎に±１％としているが、これに限定されるものではなく、例えば、充電中と放電中とで異なる時間変化率にしてもよく、検出する電圧の高低に応じて変化させるようにしてもよい。
【００５７】
今回開示された実施の形態は、全ての点で例示であって、制限的なものではないと考えられるべきである。本発明の範囲は、上述した意味ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内での全ての変更が含まれることが意図される。
【符号の説明】
【００５８】
１  電池
１１、１２、１３、２１、２２、２３、３１、３２、３３  電池セル（二次電池）
２  電流検出器
５  制御部
５１  ＣＰＵ
５２  ＲＯＭ
５３  ＲＡＭ
５４  タイマ
７  遮断器
７１、７２  ＭＯＳＦＥＴ（スイッチング素子）
９  通信部
１０  パック電池
２０  負荷機器
２１  制御・電源部
【図１】
2011233414.tif 000003
【図２】
2011233414.tif 000004
【図３】
2011233414.tif 000005
【図４】
2011233414.tif 000006
【図５】
2011233414.tif 000007
【図６】
2011233414.tif 000008
【図７】
2011233414.tif 000009
【図８】
2011233414.tif 000010
【図９】
2011233414.tif 000011
【図１０】
2011233414.tif 000012