(57)【特許請求の範囲】
【請求項１】
充放電可能なバッテリと、
前記バッテリの満充電容量を算出する満充電容量算出部と、
前記満充電容量算出部にて算出された満充電容量の中から最大値を検出し、記憶媒体に記憶する最大値検出部と、
前記満充電容量算出部にて算出された現在の満充電容量と、前記記憶媒体に記憶された満充電容量の最大値とに基づき、前記バッテリの劣化度を算出する劣化度算出部と、
を備え、
前記満充電容量算出部は、前記バッテリへの充電終了後又は放電終了後、電流が流れない状態が所定時間経過したときに、前記満充電容量を算出することを特徴とするバッテリ装置。
【請求項２】
前記最大値検出部は、前記満充電容量算出部にて前記バッテリの満充電容量が算出されたときに、該算出された満充電容量が前記記憶媒体に記憶されている最大値よりも大きいか否かを判断して、該算出された満充電容量が前記記憶媒体に記憶されている最大値よりも大きい場合に、該算出された満充電容量にて、前記記憶媒体に記憶された最大値を更新することを特徴とする請求項１に記載のバッテリ装置。
【請求項３】
前記最大値検出部は、前記満充電容量算出部にて前記バッテリの満充電容量が算出されるまでは、前記バッテリの満充電容量の最小値として予め設定された初期値を、前記満充電容量の最大値として前記記憶媒体に記憶することを特徴とする請求項１又は請求項２に記載のバッテリ装置。
【請求項４】
前記劣化度算出部は、前記満充電容量算出部にて算出された現在の満充電容量と、前記記憶媒体に記憶された満充電容量の最大値とに基づき、該最大値を基準とする現在の満充電容量の比率を前記バッテリの劣化度として算出するよう構成されている、請求項１〜請求項３の何れか１項に記載のバッテリ装置。
【請求項５】
前記劣化度算出部は、前記劣化度を算出すると、該算出した劣化度を前記記憶媒体に記憶すると共に、該記憶媒体に記憶されている前回の劣化度を前回値として前記記憶媒体に残すことを特徴とする請求項４に記載のバッテリ装置。
【請求項６】
前記記憶媒体に記憶された前記バッテリの劣化度が予め設定された閾値以下であるとき、前記バッテリへの充電及び前記バッテリからの放電の少なくとも一方を禁止するバッテリ制御部を備えたことを特徴とする請求項５に記載のバッテリ装置。
【請求項７】
前記バッテリ制御部は、前記バッテリの劣化度が前記閾値よりも大きい場合、該劣化度に応じて、前記バッテリへの充電及び前記バッテリからの放電の少なくとも一方を制限することを特徴とする請求項６に記載のバッテリ装置。
【請求項８】
前記記憶媒体に記憶された前記バッテリの劣化度が、該劣化度の前回値に比べ、所定値以上増加している場合に、前記バッテリの異常を判定して、前記バッテリへの充電及び放電を禁止する充放電禁止部を備えたことを特徴とする請求項５に記載のバッテリ装置。
【請求項９】
前記劣化度算出部は、前記バッテリの劣化度を表示部に表示することを特徴とする請求項１〜請求項８の何れか１項に記載のバッテリ装置。
【請求項１０】
前記バッテリに流れる電流に基づき前記バッテリの残容量を検出する残容量検出部と、
前記残容量検出部にて検出された前記バッテリの残容量と、前記記憶媒体に記憶された前記満充電容量の最大値とに基づき、前記満充電容量の最大値を基準とする前記残容量の比率を求め、該比率を表示部に表示する残容量表示制御部と、
を備えたことを特徴とする請求項１〜請求項９の何れか１項に記載のバッテリ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、充放電可能なバッテリを備えたバッテリ装置に関する。
【背景技術】
【０００２】
この種のバッテリ装置においては、バッテリの満充電容量を検出し、その検出値と、満充電容量の初期値との比（＝検出値／初期値）を、バッテリの劣化度として求めることが提案されている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第５０８４３９４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記提案のバッテリ装置では、バッテリの劣化度を求める際、満充電容量の初期値として、予め設定された固定値を利用するため、バッテリの劣化度を正確に求めることができないという問題があった。
【０００５】
つまり、満充電容量の初期値は、劣化していないバッテリの満充電容量を表す値であるが、この初期値は、バッテリを構成するセルの容量のばらつきやセルの製造ロットのばらつき等によって、バッテリ毎に異なることから、上記提案の装置では、バッテリの劣化度を正確に求めることができない。
【０００６】
本発明は、こうした問題に鑑みなされたものであり、バッテリが劣化していないときのバッテリの満充電容量を、セルのばらつきの影響を受けることなく、バッテリ毎に設定することのできるバッテリ装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明のバッテリ装置においては、満充電容量算出部が、バッテリの満充電容量を算出し、最大値検出部が、満充電容量算出部にて算出された満充電容量の中から最大値を検出し、記憶媒体に記憶する。
【０００８】
このため、本発明のバッテリ装置によれば、記憶媒体に記憶された満充電容量の最大値を、バッテリが劣化していないときの満充電容量の初期値として利用することで、上記特許文献１に記載のようなバッテリ制御を行うことができる。
【０００９】
また、バッテリが劣化していないときの満充電容量は、バッテリのばらつきによりバッテリ毎に異なるだけでなく、バッテリの出荷後の使用時に上昇することがあるが、本発明によれば、その上昇に応じて満充電容量の初期値（最大値）を更新することができる。
【００１０】
よって、本発明のバッテリ装置によれば、バッテリが劣化していないときのバッテリの満充電容量を正確に設定することができる。
なお、バッテリの満充電容量が、バッテリの出荷後の使用時に上昇するのは、バッテリを構成するセルが、使用時の充放電によって活性化するためであると考えられる。
【００１１】
ここで、最大値検出部は、バッテリの劣化度の算出等のために満充電容量の最大値を利用する際に、満充電容量算出部にて算出された複数の満充電容量の中から最大値を選択するようにしてもよいが、次のようにしてもよい。
【００１２】
つまり、最大値検出部は、満充電容量算出部にてバッテリの満充電容量が算出されたときに、その算出された満充電容量が記憶媒体に記憶されている最大値よりも大きいか否かを判断する。
【００１３】
そして、その算出された満充電容量が記憶媒体に記憶されている最大値よりも大きい場合に、記憶媒体に記憶された最大値を、満充電容量算出部にて今回算出された満充電容量に書き換える。
【００１４】
このようにすれば、記憶媒体に記憶される満充電容量を常に最新の最大値に設定することができ、その最大値を使用する制御を、速やかに実行することが可能となる。
一方、満充電容量算出部は、バッテリへの充電終了後又は放電終了後、電流が流れない状態が所定時間経過したときに、満充電容量を算出するようにしてもよい。
【００１５】
このようにすれば、充電電流若しくは放電電流によってバッテリ電圧が変動していない条件下で、バッテリ電圧を測定して、満充電容量を算出することができるので、満充電容量の算出、延いては、最大値の検出を、より正確に行うことが可能となる。
【００１６】
また、最大値検出部は、満充電容量算出部にてバッテリの満充電容量が算出されるまでは、バッテリの満充電容量の最小値として予め設定された初期値を、満充電容量の最大値として記憶媒体に記憶するようにするとよい。
【００１７】
このようにすれば、満充電容量算出部にてバッテリの満充電容量が算出されるまでの初期状態では、実際の満充電容量よりも低めの満充電容量を最大値とすることが可能となり、その後満充電容量算出部にて実際に算出された満充電容量を、最大値として設定することができる。
【００１８】
次に、バッテリ装置には、満充電容量算出部にて算出された現在の満充電容量と、記憶媒体に記憶された満充電容量の最大値とに基づき、その最大値を基準とする現在の満充電容量の比率を劣化度として算出する、劣化度算出部を設けるとよい。
【００１９】
つまり、このようにすれば、劣化度算出部にてバッテリの劣化度を算出することができるようになり、その算出した劣化度に基づき、バッテリへの充・放電をより適切に行うことが可能となる。
【００２０】
なお、劣化度算出部は、満充電容量の最大値を基準として、バッテリの劣化度を算出するため、劣化度は、『劣化度＝現在の満充電容量／満充電容量の最大値』として記述でき、バッテリの満充電容量が最大値から低下するほど、小さい値となる。
【００２１】
また、劣化度算出部は、算出した劣化度を記憶媒体に記憶する際、前回算出した劣化度を前回値として記憶媒体に記憶するようにしてもよい。
また、劣化度算出部は、劣化度を算出すると、その算出した劣化度を記憶媒体に記憶すると共に、記憶媒体に記憶されている前回の劣化度を前回値として記憶媒体に残すようにするとよい。
【００２２】
このようにすれば、記憶媒体に記憶されたバッテリの劣化度とその前回値とから、バッテリの劣化度の変化状態を監視することができる。そして、劣化度の変化に異常があるときには、バッテリ自体に異常があると判断して、バッテリへの充・放電を禁止することができる。
【００２３】
次に、上記のように劣化度算出部を設けた場合、バッテリ装置には、更に、記憶媒体に記憶されたバッテリの劣化度が予め設定された閾値以下であるとき、バッテリへの充電及びバッテリからの放電の少なくとも一方を禁止するバッテリ制御部を設けるとよい。
【００２４】
このようにすれば、バッテリの劣化度が閾値以下であるときに、バッテリへの充電若しくは放電を禁止することで、バッテリが更に劣化するのを防止できる。
また、この場合、バッテリ制御部は、バッテリの劣化度が閾値よりも大きいときには、その劣化度に応じて、バッテリへの充電及びバッテリからの放電の少なくとも一方を制限するようにしてもよい。
【００２５】
つまり、このようにすれば、バッテリ充電時の充電電流や充電電圧、或いは、バッテリ放電時の放電電流の上限値や過放電判定用の電圧値を、バッテリの劣化度に応じて設定することができるようになり、バッテリの寿命を延ばすことが可能となる。
【００２６】
また、劣化度算出部を、今回算出した劣化度と前回算出した劣化度とを記憶媒体に記憶するように構成した場合には、記憶媒体に記憶されたバッテリの劣化度が前回値に比べ所定値以上増加している場合に、バッテリへの充電及び放電を禁止する、充放電禁止部を設けるようにしてもよい。
【００２７】
つまり、バッテリの劣化度が前回値に比べて所定値以上増加しているときには、バッテリが、劣化していない新しいもの（非正規品）に交換された可能性がある。
そこで、充放電禁止部を設けて、バッテリが非正規品に交換されたことを検出できるようにし、バッテリが非正規品に交換された場合には、バッテリが異常であると判定して、バッテリへの充電及び放電を禁止するのである。
【００２８】
このようにすれば、バッテリが非正規品に交換されることにより生じる充放電時の事故を未然に防止し、バッテリ装置の安全性を確保することができる。
なお、劣化度算出部は、バッテリの劣化度を算出した際、その算出結果を表示部に表示するようにしてもよい。そして、このようにすれば、使用者は、バッテリの劣化度を視認し、その劣化度に応じてスペアバッテリを準備する、といった対策を行うことができる。また、その対策により、バッテリ装置から電力供給を受ける機器の動作（例えば電動工具による作業）を中断する時間を短くして、作業効率を高めることができる。
【００２９】
一方、本発明のバッテリ装置には、バッテリに流れる電流に基づきバッテリの残容量を検出する残容量検出部と、残容量表示制御部を設けるようにしてもよい。
そして、残容量表示制御部は、残容量検出部にて検出されたバッテリの残容量と、記憶媒体に記憶された満充電容量の最大値とに基づき、満充電容量の最大値を基準とする残容量の比率を求め、その比率を、所謂絶対容量として、表示部に表示するように構成する。
【００３０】
このようにすれば、最も多くの作業が可能だった当時の満充電容量（つまり満充電容量の最大値）を１００％として、現状のバッテリの残容量を表示することができる。
このため、使用者は、バッテリ装置を用いて作業可能な時間（例えば、電動工具により締め付け可能なネジの本数等）を容易に推測することができるようになり、バッテリ装置の使い勝手を向上できる。
【図面の簡単な説明】
【００３１】
【図１】実施形態のバッテリ装置の外観を表す斜視図である。
【図２】実施形態のバッテリ装置の回路構成を表すブロック図である。
【図３】バッテリ装置に対する充電を行う充電器の回路構成を表すブロック図である。
【図４】バッテリ装置から電力供給を受ける電動工具の回路構成を表すブロック図である。
【図５】バッテリ装置内の制御回路にて実行されるメインルーチンを表すフローチャートである。
【図６】図５のＳ１２０にて実行される学習処理を表すフローチャートである。
【図７】図５のＳ１３０にて実行される残容量表示処理を表すフローチャートである。
【図８】図５のＳ１５０にて実行される充電制御処理を表すフローチャートである。
【図９】図５のＳ１７０にて実行される放電制御処理を表すフローチャートである。
【発明を実施するための形態】
【００３２】
以下に本発明の実施形態を図面と共に説明する。
図１に示すように、本実施形態のバッテリパック２は、充電器４０（図３参照）や電動工具６０（図４参照）に装着するための装着部４が形成されたケース６内に、充放電可能なバッテリ１０（例えばリチウムイオン電池、図２参照）を収納したバッテリ装置である。
【００３３】
バッテリパック２の装着部４には、バッテリ１０に対し充放電を行うための正負一対の電源端子１１、１２、及び、充電器４０や電動工具６０との間で信号を入出力するための複数の端子が形成された端子部１３が設けられている。
【００３４】
また、端子部１３には、充電器４０との間で通信を行うための通信端子１４、充電器４０から電源電圧Ｖｃｃ（例えば直流５Ｖ）を取り込むための入力端子１５、及び、電動工具６０から動作状態を表す信号を取り込むための入力端子１６が設けられている（図２参照）。
【００３５】
次に、バッテリ１０は、図２に示すように、充放電可能な複数のセルを直列に接続することにより構成されており、その正極側は電源端子１１に接続され、負極側は電源端子１２に接続されている。
【００３６】
また、バッテリパック２内には、バッテリ１０の両端電圧（バッテリ電圧）や各セルの電圧を監視する監視回路（ＩＣ）２０、及び、バッテリ１０のセルの温度を検出する温度検出回路２２が設けられている。
【００３７】
なお、バッテリ１０の負極側と電源端子１２との間の電流経路には、例えば抵抗にて構成される電流検出素子２４が設けられており、監視回路２０は、その両端電圧を取り込むことで、バッテリ１０への充電時及び放電時に流れるバッテリ電流を監視する。
【００３８】
そして、監視回路２０による監視結果（バッテリ電圧、バッテリ電流等）、及び、温度検出回路２２による検出結果（バッテリ温度）は、バッテリ制御回路３０に入力され、バッテリ制御回路３０がバッテリ１０への充放電を制御するのに利用される。
【００３９】
バッテリ制御回路３０は、ＣＰＵ、ＲＯＭ、ＲＡＭ等を中心とするワンチップのマイクロコンピュータ（マイコン）にて構成されており、本発明の記憶媒体として不揮発性メモリ３２を備える。
【００４０】
また、バッテリパック２には、ＬＥＤの点灯状態を制御することによりバッテリ１０の残容量を表示する残容量ＬＥＤ制御回路２６、及び、充電器４０から入力端子１５に入力される電源電圧Ｖｃｃを検出するためのＶｃｃ検出回路２８が設けられている。
【００４１】
この残容量ＬＥＤ制御回路２６及びＶｃｃ検出回路２８は、バッテリ制御回路３０に接続されており、バッテリ制御回路３０は、これら各回路を介して、バッテリ１０の残容量を表示すると共に、バッテリパック２が充電器４０に装着されたことを検出する。
【００４２】
次に、充電器４０及び電動工具６０には、バッテリパック２の装着部４を嵌合可能な装着部（図示せず）が設けられている。
そして、図３に示すように、充電器４０の装着部には、バッテリパック２が装着された際に、バッテリパック２の電源端子１１、１２、通信端子１４及び入力端子１５にそれぞれ接続される、電源端子４１、４２、通信端子４４及び出力端子４５が設けられている。
【００４３】
また、充電器４０には、外部電源（商用電源等）から交流電力を受けてバッテリ１０を充電するのに必要な充電電圧を生成し、電源端子４１、４２へ出力する電源回路５２と、電源回路５２からの出力電力を制御する充電制御回路５０と、が備えられている。
【００４４】
充電制御回路５０は、バッテリ制御回路３０と同様、マイコンにて構成されている。そして、充電制御回路５０は、バッテリパック２が充電器４０に装着されているときに、通信端子４４、１４を介して接続されるバッテリ制御回路３０との間で通信を行うことで、バッテリ１０への充電を制御する。
【００４５】
また、電源回路５２は、バッテリ１０への充電電圧を生成するだけではなく、充電制御回路５０を動作させるための電源電圧Ｖｃｃ（例えば直流５Ｖ）を生成する。そして、電源回路５２にて生成された電源電圧Ｖｃｃは、出力端子４５からバッテリパック２の入力端子１５へ出力される。
【００４６】
このため、バッテリパック２側では、Ｖｃｃ検出回路２８が、入力端子１５に所定の直流電圧（例えば直流５Ｖ）が印加されたことを検出することにより、バッテリパック２が充電器４０に接続されたことを検知できる。
【００４７】
一方、図４に示すように、電動工具６０の装着部には、バッテリパック２が装着された際に、バッテリパック２の電源端子１１、１２及び入力端子１６にそれぞれ接続される、電源端子６１、６２及び出力端子６６が設けられている。
【００４８】
また、電動工具６０には、動力源として、電源端子６１、６２を介してバッテリパック２内のバッテリ１０から供給される電流により回転するモータ７０が備えられている。
そして、電源端子６１からモータ７０に至る通電経路には、使用者により操作されて当該通電経路を導通・遮断させるトリガスイッチ７２が設けられ、モータ７０から電源端子６２に至る通電経路には、モータ電流を制御するためのスイッチング素子７４が設けられている。
【００４９】
スイッチング素子７４は、ドライブ回路７８を介してデューティ駆動されることによりモータ電流を制御するためのものであり、ドライブ回路７８は、トリガスイッチ７２を介してバッテリ電圧を受ける電源回路７６から電源供給を受けて、モータ電流を制御する。
【００５０】
また、電源回路７６からドライブ回路７８への信号経路は、出力端子６６に接続されている。このため、バッテリパック２の入力端子１６には、トリガスイッチ７２が操作されているときに電源回路７６からの電源電圧が入力され、バッテリ制御回路３０は、その電圧信号により、電動工具６０側でのトリガスイッチ７２の操作（換言すれば電動工具６０の動作）を検知できる。
【００５１】
また、バッテリ制御回路３０は、例えば、入力端子１６を接地することで、電源回路７６からドライブ回路７８への電源供給、延いては、ドライブ回路７８によるモータ７０の駆動、を停止させることができる。
【００５２】
次に、バッテリ制御回路３０の動作を、図５〜図９に示すフローチャートに沿って説明する。
バッテリ制御回路３０は、バッテリ電圧（バッテリ電圧低下時には充電器４０から入力端子１５に入力される電源電圧Ｖｃｃ）を受けて動作し、動作時には、図５に示す手順でバッテリ制御のための処理を繰り返し実行する。
【００５３】
図５に示すように、バッテリ制御回路３０は、Ｓ１１０（Ｓはステップを表す）にて、監視回路２０にて監視されるバッテリ電流（充電電流及び放電電流）が一定時間以上流れていないか否かを判断する。
【００５４】
そして、バッテリ電流が一定時間以上流れていなければ、バッテリ電圧は安定していると判断して、Ｓ１２０に移行し、バッテリ１０の満充電容量を学習する学習処理を実行する。
【００５５】
また、Ｓ１２０の学習処理を実行するか、或いは、Ｓ１１０にて一定時間内にバッテリ電流が流れたと判断された場合には、Ｓ１３０に移行し、残容量ＬＥＤ制御回路２６を介してバッテリ１０の残容量を表示する残容量表示処理を実行し、Ｓ１４０に移行する。
【００５６】
Ｓ１４０では、Ｖｃｃ検出回路２８にて、充電器４０から入力端子１５に入力される電源電圧Ｖｃｃが検出されているか否かを判断することにより、バッテリパック２が充電器４０に装着されているか否かを判断する。
【００５７】
そして、Ｓ１４０にて、バッテリパック２が充電器４０に装着されていると判断されると、Ｓ１５０に移行して、充電器４０からバッテリ１０への充電を制御する充電制御処理を実行する。
【００５８】
次に、Ｓ１５０による充電制御処理が完了するか、或いは、Ｓ１４０にて、バッテリパック２は充電器４０に装着されていないと判断された場合には、Ｓ１６０に移行する。
Ｓ１６０では、入力端子１６の端子電圧から、現在バッテリパック２が電動工具６０に装着されていて、電動工具６０のトリガスイッチ７２が使用者により操作されているか否かを判断する。
【００５９】
そして、Ｓ１６０にて、電動工具６０のトリガスイッチ７２が操作されていると判断されると、Ｓ１７０に移行して、バッテリ１０から電動工具（詳しくはモータ７０）への放電を制御する放電制御処理を実行する。
【００６０】
また、Ｓ１７０による放電制御処理が完了するか、或いは、Ｓ１６０にて、バッテリパック２は電動工具６０に装着されていない、若しくは、電動工具６０のトリガスイッチ７２は操作されていない、と判断された場合には、Ｓ１１０に戻り、上述の処理を再度実行する。
【００６１】
次に、Ｓ１２０にて実行される学習処理は、バッテリ電流の積算値及びバッテリ電圧からバッテリ１０の満充電容量を学習し、その学習値ＦＣＣに基づき、満充電容量の生涯最大値ＦＣＣ＿ＭＡＸの更新、及び、バッテリ１０の劣化度ＣＤＩの算出、を行うための処理である。
【００６２】
図６に示すように、この学習処理では、Ｓ２１０にて、バッテリパック２の出荷後、当該学習処理にてバッテリ１０の満充電容量が学習されて、その学習値ＦＣＣが不揮発性メモリ３２に記憶されているか否かを判断する。
【００６３】
そして、不揮発性メモリ３２に学習値ＦＣＣが記憶されていなければ、Ｓ２２０に移行して、満充電容量の学習値ＦＣＣ及びその最大値ＦＣＣ＿ＭＡＸとして、予め設定された初期値ＦＣＣ＿ＩＮＩＴを設定する。
【００６４】
なお、この初期値ＦＣＣ＿ＩＮＩＴには、バッテリ１０のばらつきを考慮して、そのばらつきの許容範囲内で最小となる満充電容量（つまり最小値）が予め設定されている。
次に、Ｓ２２０にて、満充電容量の学習値ＦＣＣ及び最大値ＦＣＣ＿ＭＡＸが初期設定されるか、或いは、Ｓ２１０にて、学習値ＦＣＣは不揮発性メモリ３２に記憶されていると判断された場合には、Ｓ２３０に移行する。
【００６５】
Ｓ２３０では、バッテリ１０の満充電容量を算出し、その算出結果を、満充電容量の学習値ＦＣＣとして、不揮発性メモリ３２に記憶する。
なお、満充電容量は、例えば、バッテリ１０への充電電流若しくはバッテリ１０からの放電電流を逐次積算して、その積算値とバッテリ電圧の変化量とから算出することができるが、この算出方法については、従来から各種方法が知られているので、ここでは詳細な説明は省略する。
【００６６】
次に、Ｓ２４０では、Ｓ２３０にて算出した満充電容量の学習値ＦＣＣは、現在設定されている最大値ＦＣＣ＿ＭＡＸよりも大きいか否かを判断する。
そして、今回算出した学習値ＦＣＣが最大値ＦＣＣ＿ＭＡＸよりも大きい場合には、Ｓ２５０にて、不揮発性メモリ３２に記憶されている最大値ＦＣＣ＿ＭＡＸを、今回算出した学習値ＦＣＣに書き換えることで、最大値ＦＣＣ＿ＭＡＸを更新し、Ｓ２６０に移行する。
【００６７】
また、Ｓ２４０にて、今回算出した学習値ＦＣＣは、現在設定されている最大値ＦＣＣ＿ＭＡＸ以下であると判断された場合には、そのままＳ２６０に移行する。
Ｓ２６０では、不揮発性メモリ３２に記憶されている劣化度ＣＤＩ（初期値：１）を、劣化度の前回値ＣＤＩ＿ＢＦＲとして、不揮発性メモリ３２に記憶する。
【００６８】
そして、続くＳ２７０では、不揮発性メモリ３２に記憶されている満充電容量の学習値ＦＣＣとその最大値ＦＣＣ＿ＭＡＸとに基づき、次式（１）を用いて、バッテリ１０の現在の劣化度ＣＤＩを算出する。
【００６９】
ＣＤＩ＝ＦＣＣ／ＦＣＣ＿ＭＡＸ  …  （１）
つまり、Ｓ２７０では、最大値ＦＣＣ＿ＭＡＸを基準として、現在の満充電容量（学習値ＦＣＣ）の最大値ＦＣＣ＿ＭＡＸに対する比率を求め、これをバッテリ１０の劣化度とする。
【００７０】
そして、Ｓ２７０では、その算出した劣化度ＣＤＩを、不揮発性メモリ３２に記憶することで、不揮発性メモリ３２内の劣化度ＣＤＩを更新し、当該学習処理を一旦終了する。
なお、劣化度ＣＤＩは、現在の満充電容量（学習値ＦＣＣ）の最大値ＦＣＣ＿ＭＡＸに対する比率であるため、「１」以下の値となる。
【００７１】
次に、図５のＳ１３０にて実行される残容量表示処理について説明する。
図７に示すように、残容量表示処理では、まずＳ３１０にて、監視回路２０から、電流検出素子２４を介して得られる電流測定値ＣＵＲＲ（充放電時に流れるバッテリ電流）を取り込み、電流積算カウンタを更新することで、バッテリ１０の残容量ＲＣを算出する。
【００７２】
Ｓ３１０の処理は、バッテリ１０の満充電時に現在の満充電容量（学習値ＦＣＣ）に対応したカウント値となる電流積算カウンタを用いて、バッテリ１０の残容量ＲＣを計測するための処理である。
【００７３】
つまり、Ｓ３１０では、放電時には、電流測定値ＣＵＲＲに対応した減算値にて電流積算カウンタを減算し、充電時には、電流測定値ＣＵＲＲに対応した加算値にて電流積算カウンタを加算することで、バッテリ１０の残容量ＲＣを算出する。
【００７４】
次に、Ｓ３２０では、例えば、バッテリパック２に設けられた操作スイッチ（図示せず）等を介して、残容量ＲＣの表示要求が設定されているか否かを判断する。
そして、残容量ＲＣの表示要求が設定されていなければ、そのまま残容量表示処理を終了し、残容量ＲＣの表示要求が設定されていれば、Ｓ３３０に移行して、残容量ＲＣの表示形態として、絶対容量表示が設定されているか否かを判断する。
【００７５】
ここで、絶対容量表示とは、バッテリ１０の満充電容量の最大値ＦＣＣ＿ＭＡＸを基準として、現在の残容量ＲＣの比率を表示することである。
このため、Ｓ３３０にて、絶対容量表示が設定されていると判断されると、Ｓ３４０に移行して、絶対容量表示を行うための表示値ＳＯＣを、次式（２）を用いて算出する。
【００７６】
ＳＯＣ＝ＲＣ／ＦＣＣ＿ＭＡＸ＊１００  …  （２）
一方、Ｓ３３０にて、残容量ＲＣの表示形態として絶対容量表示は設定されていないと判断されると、バッテリ１０の現在の満充電容量（学習値ＦＣＣ）を基準とする残容量表示（相対容量表示）を行うために、次式（３）を用いて表示値ＳＯＣを算出する。
【００７７】
ＳＯＣ＝ＲＣ／ＦＣＣ＊１００  …  （３）
そして、Ｓ３４０又はＳ３５０にて、残容量表示のための表示値ＳＯＣが算出されると、Ｓ３６０に移行し、その表示値ＳＯＣに応じて、残容量ＬＥＤ制御回路２６を介して、残容量ＬＥＤを数秒間点灯させ、当該残容量表示処理を終了する。
【００７８】
なお、Ｓ３６０での残容量表示は、例えば、残容量表示用として用意されている複数のＬＥＤの点灯個数を、表示値ＳＯＣに応じて変更することで実施される。
つまり、例えば、表示値ＳＯＣが５０％以上であれば、複数のＬＥＤの全てを点灯させ、表示値ＳＯＣが２０％未満であれば、ＬＥＤを１個だけ点灯させる、というように、ＬＥＤの点灯個数を変更することで、バッテリ１０の残容量を表示する。
【００７９】
次に、図５のＳ１５０にて実行される充電制御処理について説明する。
図８に示すように、充電制御処理では、まずＳ４１０にて、不揮発性メモリ３２からバッテリ１０の劣化度ＣＤＩを読み出し、その値が予め設定された閾値α１（例えば、０．３）よりも小さいか否かを判断する。
【００８０】
そして、劣化度ＣＤＩが閾値α１よりも小さい場合には、バッテリ１０が著しく劣化しているので、Ｓ４７０に移行し、バッテリ１０への充電を禁止して、当該充電制御処理を終了する。
【００８１】
一方、Ｓ４１０にて、劣化度ＣＤＩが閾値α１以上であると判断された場合には、Ｓ４２０に移行する。
Ｓ４２０では、不揮発性メモリ３２からバッテリ１０の劣化度ＣＤＩとその前回値ＣＤＩ＿ＢＦＲとを読み出し、その差「ＣＤＩ−ＣＤＩ＿ＢＦＲ」が、予め設定された閾値α２（例えば、０．３）よりも大きいか否かを判断する。
【００８２】
そして、差「ＣＤＩ−ＣＤＩ＿ＢＦＲ」が閾値α２よりも大きく、バッテリ１０の劣化が大きく改善している場合には、バッテリ１０が意図しない状態となっていて、充電を実施すると危険である可能性があるので、Ｓ４７０に移行し、充電を禁止する。
【００８３】
つまり、バッテリ１０の劣化度ＣＤＩが大きく改善している場合は、使用者がバッテリ１０若しくはバッテリ１０を構成するセルの一部を交換したことが考えられる。この場合、バッテリ１０に対する充・放電を継続して実施すると、バッテリ１０が過熱して危険な状態になる虞がある。そこで、Ｓ４２０にて、バッテリ１０の劣化度ＣＤＩが大きく改善していると判断した場合には、Ｓ４７０に移行し、バッテリ１０への充電を禁止するのである。
【００８４】
次に、Ｓ４２０にて、バッテリ１０の劣化度ＣＤＩと前回値ＣＤＩ＿ＢＦＲとの差「ＣＤＩ−ＣＤＩ＿ＢＦＲ」は、閾値α２以下であると判断されると、Ｓ４３０〜Ｓ４５０に移行し、バッテリ１０の劣化度ＣＤＩに基づき充電制御パラメータを設定する。
【００８５】
つまり、Ｓ４３０〜Ｓ４５０では、バッテリ１０の充電制御パラメータとして、ＣＣ−ＣＶ充電を行うための充電電圧、充電電流、カットオフ電流を、劣化度ＣＤＩに応じて設定する。
【００８６】
具体的には、Ｓ４３０では、充電電圧の設定値ＣＶＳＥＴを、設定可能最大値ＣＶＭＡＸと、劣化度ＣＤＩと、補正係数Ｘとに基づき、次式（４）を用いて算出する。
ＣＶＳＥＴ＝ＣＶＭＡＸ−（１−ＣＤＩ）＊Ｘ … （４）
また、Ｓ４４０では、充電電流の設定値ＣＣＳＥＴを、設定可能最大値ＣＣＭＡＸと、劣化度ＣＤＩと、補正係数Ｙとに基づき、次式（５）を用いて算出する。
【００８７】
ＣＣＳＥＴ＝ＣＣＭＡＸ−（１−ＣＤＩ）＊Ｙ … （５）
また、Ｓ４５０では、カットオフ電流の設定値ＣＵＴＳＥＴを、基準値ＣＵＴＳＴＤと、劣化度ＣＤＩと、補正係数Ｚとに基づき、次式（６）を用いて算出する。
【００８８】
ＣＵＴＳＥＴ＝ＣＵＴＳＴＤ＋（１−ＣＤＩ）＊Ｚ … （６）
このようにＳ４３０〜Ｓ４５０にて、充電制御パラメータを設定すると、Ｓ４６０に移行する。そして、Ｓ４６０では、充電器４０の充電制御回路５０に対し制御信号を出力することで、上記各充電制御パラメータに基づきバッテリ１０への充電を実施させる、充電出力制御を実行し、当該充電制御処理を終了する。
【００８９】
次に、図５のＳ１７０にて実行される放電制御処理について説明する。
図９に示すように、放電制御処理では、まずＳ５１０にて、不揮発性メモリ３２からバッテリ１０の劣化度ＣＤＩを読み出し、その値が予め設定された閾値β１（例えば、０．３）よりも小さいか否かを判断する。
【００９０】
そして、劣化度ＣＤＩが閾値β１よりも小さい場合には、バッテリ１０が著しく劣化しているので、Ｓ５７０に移行し、バッテリ１０から電動工具６０への放電を禁止して、当該放電制御処理を終了する。
【００９１】
一方、Ｓ５１０にて、劣化度ＣＤＩが閾値β１以上であると判断された場合には、Ｓ５２０に移行する。
Ｓ５２０では、不揮発性メモリ３２からバッテリ１０の劣化度ＣＤＩと前回値ＣＤＩ＿ＢＦＲとを読み出し、その差「ＣＤＩ−ＣＤＩ＿ＢＦＲ」が、予め設定された閾値β２（例えば、０．３）よりも大きいか否かを判断する。
【００９２】
そして、差「ＣＤＩ−ＣＤＩ＿ＢＦＲ」が閾値β２よりも大きく、バッテリ１０の劣化が大きく改善している場合には、バッテリ１０が意図しない状態となっていて、放電を実施すると危険である可能性があるので、Ｓ５７０に移行し、放電を禁止する。なお、この処理は、充電制御処理においてＳ４２０からＳ４７０へ移行する処理と同様である。
【００９３】
次に、Ｓ５２０にて、バッテリ１０の劣化度ＣＤＩと前回値ＣＤＩ＿ＢＦＲとの差「ＣＤＩ−ＣＤＩ＿ＢＦＲ」は、閾値β２以下であると判断されると、Ｓ５３０〜Ｓ５５０に移行し、バッテリ１０の劣化度ＣＤＩに基づき放電制御パラメータを設定する。
【００９４】
つまり、Ｓ５３０〜Ｓ５５０では、バッテリ１０の放電制御パラメータとして、バッテリ１０から電動工具６０への放電を自動停止させる放電終止電圧、放電終止電流、放電終止温度を、劣化度ＣＤＩに応じて設定する。
【００９５】
具体的には、Ｓ５３０では、放電終止電圧の設定値ＶＳＥＴを、基準値ＶＳＴＤ、劣化度ＣＤＩと、補正係数Ｕとに基づき、次式（７）を用いて算出する。
ＶＳＥＴ＝ＶＳＴＤ＋（１−ＣＤＩ）＊Ｕ … （７）
また、Ｓ５４０では、放電終止電流の設定値ＣＳＥＴを、基準値ＣＳＴＤと、劣化度ＣＤＩと、補正係数Ｖとに基づき、次式（８）を用いて算出する。
【００９６】
ＣＳＥＴ＝ＣＳＴＤ−（１−ＣＤＩ）＊Ｖ … （８）
また、Ｓ５５０では、放電終止温度の設定値ＴＳＥＴを、基準値ＴＳＴＤと、劣化度ＣＤＩと、補正係数Ｗとに基づき、次式（９）を用いて算出する。
【００９７】
ＴＳＥＴ＝ＴＳＴＤ−（１−ＣＤＩ）＊Ｗ … （９）
そして、このようにＳ５３０〜Ｓ５５０にて、放電制御パラメータを設定すると、Ｓ５６０に移行して、上記放電制御パラメータと監視回路２０による監視結果とに基づき、放電を停止させるか否かを自動判定する、放電制御を実行し、当該放電制御処理を終了する。
【００９８】
以上説明したように、本実施形態のバッテリパック２においては、バッテリ制御回路３０が、バッテリ電流の積算値等に基づきバッテリ１０の満充電容量を学習する。そして、その学習値ＦＣＣが不揮発性メモリ３２に記憶された最大値ＦＣＣ＿ＭＡＸよりも大きい場合に、その最大値ＦＣＣ＿ＭＡＸを、今回算出した学習値ＦＣＣに書き換える。
【００９９】
このため、バッテリ１０のばらつきやバッテリ１０の出荷後の使用等によって、満充電容量が初期値ＦＣＣ＿ＩＮＴから上昇したとしても、不揮発性メモリ３２には、バッテリ１０が劣化していないときの満充電容量が、最大値ＦＣＣ＿ＭＡＸとして記憶されることになる。
【０１００】
また、バッテリ制御回路３０は、バッテリ１０への充放電が一定時間以上停止しているときに、学習処理を実行することで、満充電容量を算出するため、満充電容量を、バッテリ電圧が変動していない条件下で、正確に算出することができる。
【０１０１】
また、本実施形態では、学習処理で算出した満充電容量の学習値ＦＣＣと、不揮発性メモリ３２に記憶した満充電容量の最大値ＦＣＣ＿ＭＡＸとから、バッテリ１０の劣化度ＣＤＩを算出する。
【０１０２】
そして、その劣化度ＣＤＩが閾値α１又はβ１よりも小さいときには、バッテリ１０への充電又は放電を禁止する。
このため、バッテリ１０が劣化しているときに、充電器４０からの充電、若しくは、電動工具６０への放電を行うことで、バッテリ１０に加わる負荷が大きくなって、バッテリ１０が破損するのを防止できる。
【０１０３】
また、本実施形態では、バッテリ１０の劣化度ＣＤＩが、前回値ＣＤＩ＿ＢＦＲから閾値α２又はβ２以上改善されると、バッテリ１０の交換等、バッテリ１０に何らかの異常があると判断して、バッテリ１０への充電及び放電を禁止する。
【０１０４】
このため、本実施形態によれば、バッテリパック２の使用時の安全性を向上することができる。
また、本実施形態のバッテリパック２には、バッテリ１０の残容量を、ＬＥＤの点灯により表示する残容量ＬＥＤ制御回路２６が備えられている。そして、バッテリ制御回路３０は、バッテリ１０の残容量ＲＣを算出し、その残容量ＲＣを、満充電容量の最大値ＦＣＣ＿ＭＡＸを基準とする絶対容量として、残容量ＬＥＤ制御回路２６に表示させることができる。
【０１０５】
このため、本実施形態のバッテリパック２によれば、使用者は、バッテリ１０の残容量ＲＣを、満充電容量の最大値ＦＣＣ＿ＭＡＸを１００％とする比率で確認することができ、バッテリパック２を用いて作業可能な残り時間を容易に推測できるようになる。
【０１０６】
なお、本実施形態においては、不揮発性メモリ３２が、本発明の記憶媒体に相当し、残容量ＬＥＤ制御回路２６が、本発明の表示部に相当する。また、バッテリ制御回路３０は、本発明の満充電容量算出部、最大値検出部、劣化度算出部、バッテリ制御部、充放電禁止部、及び、残容量表示制御部として機能する。
【０１０７】
具体的には、バッテリ制御回路３０にて実行される処理の内、Ｓ２３０の処理が、本発明の満充電容量算出部として機能し、Ｓ２４０、Ｓ２５０の処理が、本発明の最大値検出部として機能し、Ｓ２６０、Ｓ２７０の処理が、本発明の劣化度算出部として機能する。
【０１０８】
また、バッテリ制御回路３０にて実行される充電制御処理及び放電制御処理は、本発明のバッテリ制御部及び充放電禁止部として機能し、残容量表示処理は、本発明の残容量表示制御部として機能する。
【０１０９】
以上、本発明の一実施形態について説明したが、本発明は、上記実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内にて、種々の態様をとることができる。
例えば、上記実施形態では、バッテリ１０の劣化度ＣＤＩは、不揮発性メモリ３２に記憶するものとして説明したが、例えば、バッテリ１０の劣化度ＣＤＩの表示要求が入力された際には、残容量ＬＥＤ制御回路２６を介して、劣化度ＣＤＩを表示するようにしてもよい。
【０１１０】
この場合、劣化度ＣＤＩは、値０から値１迄の数値であることから、そのまま表示値として利用し、バッテリ１０の残容量表示を行う場合と同様、その表示値に応じて、点灯させるＬＥＤの個数（若しくは点滅状態等の表示形態）を変更するようにするとよい。
【０１１１】
このようにすれば、使用者は、バッテリ１０の劣化度ＣＤＩを視認し、その劣化度ＣＤＩに応じてスペアバッテリを準備する、といった対策を行うことができる。
また、上記実施形態では、電動工具用のバッテリパック２について説明したが、本発明は、電動工具や電動作業具等の電動機器に装着して使用されるバッテリパックであっても、或いは、充放電可能なバッテリを内蔵した電気機器であっても、上記実施形態と同様に適用して、同様の効果を得ることができる。
【符号の説明】
【０１１２】
２…バッテリパック、４…装着部、６…ケース、１０…バッテリ、１１，１２…電源端子、１３…端子部、１４…通信端子、１５，１６…入力端子、２０…監視回路、２２…温度検出回路、２４…電流検出素子、２６…残容量ＬＥＤ制御回路、２８…Ｖｃｃ検出回路、３０…バッテリ制御回路、３２…不揮発性メモリ、４０…充電器、４１，４２…電源端子、４４…通信端子、４５…出力端子、５０…充電制御回路、５２…電源回路、６０…電動工具、６１，６２…電源端子、６６…出力端子、７０…モータ、７２…トリガスイッチ、７４…スイッチング素子、７６…電源回路、７８…ドライブ回路。
【図１】
0006408295.tif 000002
【図２】
0006408295.tif 000003
【図３】
0006408295.tif 000004
【図４】
0006408295.tif 000005
【図５】
0006408295.tif 000006
【図６】
0006408295.tif 000007
【図７】
0006408295.tif 000008
【図８】
0006408295.tif 000009
【図９】
0006408295.tif 000010