(57)【特許請求の範囲】
【請求項１】
電動工具用装置に設けられ、電動工具の電源であるバッテリに流れる充放電電流を検出する電流検出手段からの検出電流に基づき、前記バッテリの発熱量を推定する電動工具用バッテリの発熱量推定装置であって、
前記バッテリからの放電時、若しくは、前記バッテリへの充電時に、前記電流検出手段からの検出電流を周期的に読み込み、該読み込んだ検出電流値に応じて発熱量相当値を加減算する演算手段を備え、
前記演算手段にて加減算された発熱量相当値を、前記バッテリの発熱量を表す推定値として出力するよう構成されると共に、
前記演算手段は、
前記検出電流値が所定の閾値未満であるとき、該検出電流値が小さいほど絶対値が大きくなるよう零を含む負の加減算値を設定し、前記検出電流値が所定の閾値以上であるとき、該検出電流値が大きいほど値が大きくなるよう正の加減算値を設定する加減算値設定手段を備え、
前記加減算値設定手段にて設定された負又は正の加減算値を発熱量相当値に加算することで、発熱量相当値を更新することを特徴とする電動工具用バッテリの発熱量推定装置。
【請求項２】
前記加減算値設定手段は、前記検出電流値と、前記バッテリの温度を検出する温度検出手段からの検出温度に基づき、前記検出電流値が大きく、前記検出温度が高いほど、前記加減算値が大きくなるよう、前記加減算値を設定することを特徴とする請求項１に記載の電動工具用バッテリの発熱量推定装置。
【請求項３】
請求項１又は請求項２に記載の電動工具用バッテリの発熱量推定装置と、
前記発熱量推定装置にて得られた前記バッテリの発熱量を表す推定値が、予め設定された過熱判定用の設定値を越えたか否かを判定する判定手段と、
前記判定手段にて前記推定値が前記設定値を超えたと判断されると、前記バッテリからの放電若しくは前記バッテリへの充電を停止又は制限し、前記バッテリを保護する保護手段と、
を備えたことを特徴とする電動工具用装置。
【請求項４】
前記保護手段は、前記判定手段にて前記推定値が前記設定値を超えたと判断されると、前記バッテリの充・放電制御で用いられる制御閾値を補正することにより、バッテリからの放電若しくは前記バッテリへの充電を制限することを特徴とする請求項３に記載の電動工具用装置。
【請求項５】
前記保護手段は、前記バッテリからの放電時若しくは前記バッテリへの充電時に、前記判定手段にて前記推定値が前記設定値を超えたと判断されると、次回のバッテリへの充電時若しくは次回のバッテリからの放電時に用いられる制御閾値を補正することを特徴とする請求項４に記載の電動工具用装置。
【請求項６】
前記電動工具用装置は、前記バッテリが収納されたバッテリパック、該バッテリパックが着脱自在に装着される電動工具本体、又は、前記バッテリパックが着脱自在に装着される充電器、であることを特徴とする請求項３〜請求項５の何れか１項に記載の電動工具用装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電動工具の電源として使用されるバッテリの発熱量を推定する発熱量推定装置、及び、この発熱量推定装置を備えた電動工具用装置に関する。
【背景技術】
【０００２】
従来、電子機器の電源として使用されるバッテリは、充放電時の温度が所定の温度範囲から外れると劣化するという問題があった。
そこで、従来、バッテリからの放電電流やバッテリへの充電電流を検出し、その検出電流が所定の閾値を越えると、バッテリが発熱してバッテリ性能が劣化すると判断して、充放電を停止することが提案されている（例えば、特許文献１等参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平６−２２５４５１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、バッテリ温度は、放電電流や充電電流だけで変化するわけではなく、これらの電流値とその電流が流れる時間とで変化する。
このため、上記従来技術では、バッテリの発熱量が少なく、バッテリが問題なく充放電できる状態であるにもかかわらず、検出電流値が閾値に達して、充放電を停止させてしまうことがあった。
【０００５】
また、上記従来技術では、バッテリの充電時間若しくは放電時間が長く、バッテリが高温になっているにもかかわらず、検出電流値が閾値に達しないので、バッテリへの充電若しくは放電が停止されず、バッテリが劣化してしまうこともある。
【０００６】
そして、特に、電動工具では、モータ等の動力源に大電流が流れ、しかも、その電流値や通電時間は、電動工具の使用状態によって大きく変化することから、上記従来技術ではバッテリを充分保護することができないという問題がある。
【０００７】
なお、この問題を防止するために、サーミスタ等の温度センサを用いてバッテリ温度を検出し、その検出温度が所定の過熱判定温度に達したときに、バッテリへの充放電を停止又は制限することも考えられる。
【０００８】
しかし、温度センサを用いて検出できるのは、バッテリの表面温度であり、バッテリの寿命に影響を与える内部温度を検出することはできないことから、温度センサを用いた過熱保護では、バッテリを充分保護することができない。
【０００９】
本発明は、こうした問題に鑑みなされたものであり、電動工具用装置において、電動工具用バッテリの発熱量を推定して、その発熱量（換言すれば内部温度）が許容温度範囲の上限である限界温度に達するのを防止できるようにすることを目的とする。
【課題を解決するための手段】
【００１０】
かかる目的を達成するためになされた請求項１に記載の発明は、電動工具の電源であるバッテリに流れる充放電電流を検出する電流検出手段からの検出電流に基づき、バッテリの発熱量を推定する発熱量推定装置に関するものである。
【００１１】
そして、本発明の発熱量推定装置においては、演算手段が、バッテリからの放電時、若しくは、バッテリへの充電時に、電流検出手段からの検出電流を周期的に読み込み、その読み込んだ検出電流値に応じて発熱量相当値を加減算し、その発熱量相当値を、バッテリの発熱量を表す推定値として出力する。
【００１２】
つまり、バッテリの発熱量は、バッテリの充放電時に流れる電流と充放電時間とに応じて変化し、充放電電流が大きく充放電時間が長いほど、発熱量が大きくなる。そこで、本発明では、バッテリの充放電時に流れる電流を周期的に検出し、その検出した電流値に応じて発熱量相当値を加減算することで、バッテリの発熱量を推定するのである。
【００１３】
このため、本発明の発熱量推定装置によれば、バッテリの充電時若しくは放電時に流れる電流から、バッテリの発熱量（換言すれば内部温度）を正確に推定できることになる。従って、この推定値を用いてバッテリの充放電を制御するようにすれば、充放電を不必要に停止又は制限することなく、過熱によりバッテリが劣化するのを防止することができる。
【００１４】
また、演算手段は、加減算値設定手段を備え、加減算値設定手段にて設定された負又は正の加減算値を発熱量相当値に加算することで、発熱量相当値を更新する。そして、加減算値設定手段は、検出電流値が所定の閾値未満であるとき、検出電流値が小さいほど絶対値が大きくなるよう零を含む負の加減算値を設定し、検出電流値が所定の閾値以上であるとき、検出電流値が大きいほど値が大きくなるよう正の加減算値を設定する。
【００１５】
このため、本発明の発熱量推定装置によれば、発熱量相当値（推定値）は、バッテリの充電時や放電時に流れる電流に応じて、電流値が大きいほど大きく、電流値が小さいほど小さくなるよう、周期的に更新されることになり、その値から、バッテリの発熱量を正確に推定できるようになる。
【００１６】
ところで、バッテリの発熱量は、バッテリに流れる電流量だけでなく、バッテリの表面温度（延いては周囲温度）によっても変化し、バッテリの表面温度が低い場合には発熱量も小さくなる。このため、加減算値設定手段は、請求項２に記載のように構成してもよい。
【００１７】
つまり、請求項２において、加減算値設定手段は、電流検出手段から得られる検出電流値と、バッテリの温度（詳しくは表面温度若しくは周囲温度）を検出する温度検出手段からの検出温度に基づき、検出電流値が大きく、検出温度が高いほど、加減算値が大きくなるよう、加減算値を設定する。
【００１８】
従って、請求項２に記載の発熱量推定装置によれば、電動工具の使用状態によってバッテリの温度が大きく変化しても、その温度に応じて発熱量相当値を加減算することができるようになり、バッテリの発熱量をより正確に推定することが可能となる。
【００１９】
次に請求項３に記載の発明は、上述した本発明（請求項１又は請求項２）の発熱量推定装置を備えた電動工具用装置に関する発明である。
そして、請求項３に記載の電動工具用装置においては、判定手段が、発熱量推定装置にて得られたバッテリの発熱量を表す推定値が、予め設定された過熱判定用の設定値を越えたか否かを判定し、判定手段にて推定値が設定値を超えたと判断されると、保護手段が、バッテリからの放電若しくはバッテリへの充電を停止又は制限することで、バッテリを保護する。
【００２０】
このため、本発明の電動工具用装置によれば、充電時若しくは放電時に、バッテリの発熱量が過熱判定用の設定値を越えてしまい、バッテリが過熱により劣化若しくは破損するのを防止できる。
【００２１】
ここで、保護手段において、バッテリからの放電若しくはバッテリへの充電を制限する際には、請求項４に記載のように、バッテリの充・放電制御で用いられる制御閾値を補正するようにするとよい。
【００２２】
つまり、バッテリの放電時の制御としては、
・放電電流を所定の閾値以下に抑える放電電流制限、
・バッテリ電圧が所定の閾値以下に低下するのを防止する過放電制限、
・バッテリ温度（サーミスタ等を用いて検出される表面温度）が所定の閾値を超えるのを防止するバッテリ温度制限、
等が知られており、バッテリの充電時の制御としては、
・充電電流を所定の閾値以下に抑える充電電流制限、
・バッテリ電圧が満充電判定用の閾値に達したときに充電を停止させる過充電制限、
・バッテリ温度が所定の閾値を超えるのを防止するバッテリ温度制限、
等が知られている。
【００２３】
そして、請求項４に記載の電動工具用装置においては、保護手段が、こうした充放電時の制御に用いられる閾値を補正することで、バッテリの充放電時に流れる電流を制限し、バッテリの温度上昇（過熱）を抑える。
【００２４】
このため、請求項４に記載の電動工具用装置によれば、バッテリの発熱量が過熱判定用の設定値を越えた際に、バッテリの充放電を簡単且つ確実に制限することができるようになる。
【００２５】
なお、保護手段は、こうした充放電の制限に加え、充放電を停止させる制御も実行するようにしてもよい。具体的には、バッテリの発熱量が第１の設定値を越えた際に充放電を制限し、バッテリの発熱量が第１の設定値よりも大きい第２の設定値を越えた際に充放電を停止するようにするのである。そして、このようにすれば、バッテリをより確実に保護することができる。
【００２６】
また、保護手段は、請求項５に記載のように、バッテリからの放電時若しくはバッテリへの充電時に、判定手段にて発熱量の推定値が設定値を超えたと判断されると、次回のバッテリへの充電時若しくは次回のバッテリからの放電時に用いられる制御閾値を補正することで、次回の充電又は放電を制限するようにしてもよい。
【００２７】
また、本発明（請求項３〜５）の電動工具用装置は、請求項６に記載のように、バッテリが収納されたバッテリパックであっても、このバッテリパックが着脱自在に装着される電動工具本体であっても、或いは、バッテリパックが着脱自在に装着される充電器であってもよい。
【図面の簡単な説明】
【００２８】
【図１】実施形態の電動工具の本体にバッテリパックを装着した状態を表す側面図である。
【図２】実施形態の電動工具の本体からバッテリパックを離脱させた状態を表す側面図である。
【図３】実施形態のバッテリパック及び充電器の外観を表す斜視図である。
【図４】実施形態の電動工具の本体とバッテリパックに設けられた電子回路を表す回路図である。
【図５】実施形態のバッテリパックと充電器に設けられた電子回路を表す回路図である。
【図６】バッテリパックのＭＣＵにて実行される放電禁止判定処理を表すフローチャートである。
【図７】図６の放電禁止判定処理の動作を説明する説明図である。
【図８】実施形態の過電流カウンタのカウント値の変化及び放電停止動作を表す説明図である。
【図９】図８に対応して従来技術による放電停止動作を表す説明図である。
【発明を実施するための形態】
【００２９】
以下に本発明の実施形態を図面と共に説明する。
（電動工具全体の構成）
図１は、本発明が適用された実施形態の電動工具の側面図である。
【００３０】
図１に示すように、本実施形態の電動工具は、所謂ドライバドリルとして構成された電動工具本体（以下単に本体ともいう）１０と、本体１０に着脱可能に装着されて、本体１０に直流電源を供給するためのバッテリパック４０とを備える。
【００３１】
本体１０は、モータハウジング１４と、モータハウジング１４の前方に位置するギアハウジング１６と、ギアハウジング１６の前方に位置するドリルチャック１８と、モータハウジング１４の下方に位置するハンドグリップ２０とを備えている。
【００３２】
モータハウジング１４は、ドリルチャック１８を回転駆動させる駆動力を発生する駆動モータＭ１（図４参照）を収容している。
ギアハウジング１６は、駆動モータＭ１の駆動力をドリルチャック１８に伝達するギア機構（図示せず）を収容している。
【００３３】
ドリルチャック１８は、当該ドリルチャック１８の前端部に工具ビット（図示せず）を着脱自在に装着する装着機構（図示せず）を備えている。
ハンドグリップ２０は、電動工具の使用者が当該ハンドグリップ２０を片手で把持可能に成形されている。そして、ハンドグリップ２０の上部前方には、電動工具の使用者が駆動モータＭ１を駆動／停止するためのトリガスイッチ２２が設けられている。
【００３４】
また、ハンドグリップ２０の下端部には、バッテリパック４０を着脱可能に本体１０に装着ためのバッテリパック装着部２４が設けられている。
より具体的には、図２に示すように、バッテリパック装着部２４は、電動工具の使用者がバッテリパック４０を前方に摺動させることでバッテリパック４０を当該バッテリパック装着部２４から離脱できるように構成されている。なお、図２は、電動工具の本体１０からバッテリパック４０を離脱させた様子を示す側面図である。
【００３５】
つまり、図３（ａ）に示すように、バッテリパック４０の上部には、本体１０のバッテリパック装着部２４や、図３（ｂ）に示す充電器８０に接続するためのコネクタ部４２が形成されている。また、コネクタ部４２には、バッテリパック４０内のバッテリや制御回路と接続するための電源端子部４４及び接続端子部４６が設けられている。
【００３６】
そして、バッテリパック４０は、コネクタ部４２を介して本体１０のバッテリパック装着部２４に装着することで、電源端子部４４及び接続端子部４６を介して、本体１０の内部回路と電気的に接続され、本体１０に直流電源を供給できるようになる（図４参照）。
【００３７】
また、図３（ｂ）に示すように、充電器８０の上部には、バッテリパック装着部８２と、バッテリパック４０への充電中等を表示するための複数の表示ランプが設けられた表示部８８とが形成されている。
【００３８】
充電器８０のバッテリパック装着部８２は、バッテリパック４０のコネクタ部４２を下方に向けた状態で、コネクタ部４２の先端部分を嵌合させて、装着方向にスライドさせることによりバッテリパック４０を装着できるように構成されている。
【００３９】
そして、このバッテリパック装着部８２には、バッテリパック４０を装着した際、バッテリパック４０の電源端子部４４及び接続端子部４６と電気的に接続される電源端子部８４及び接続端子部８６が設けられており、これら各端子部同士が互いに接続されることにより、充電器８０からバッテリパック４０へ充電できるようになる（図５参照）。
【００４０】
なお、本体１０のバッテリパック装着部２４は、充電器８０と同様、バッテリパック４０のコネクタ部４２と嵌合可能に構成されている。
（電動工具本体１０の回路構成）
次に、図４は、バッテリパック４０を本体１０に装着した際に、バッテリパック４０と本体１０とで形成される駆動モータＭ１制御用の回路を表す回路図である。
【００４１】
図４に示すように、本体１０には、バッテリパック４０の電源端子部４４に接続するための端子として、正極側端子３２Ａ、負極側端子３２Ｂが備えられ、同じく接続端子部４６に接続するための端子として、信号端子３４Ａが備えられている。
【００４２】
正極側端子３２Ａは、メインスイッチＳＷ１及び正極側電源ラインＬ１Ａを介して、駆動モータＭ１の一端に接続されており、負極側端子３２Ｂは、駆動モータＭ１への通電制御用のトランジスタＱ１及び負極側電源ラインＬ１Ｂを介して、駆動モータＭ１の他端に接続されている。
【００４３】
本実施形態では、駆動モータＭ１は、ブラシ付き直流モータにて構成されており、メインスイッチＳＷ１がオン状態であるとき、トランジスタＱ１がバッテリパック４０からの入力信号によりオンされることにより、通電されて、回転する。
【００４４】
なお、駆動モータＭ１には、トランジスタＱ１のターンオフ時に負極側電源ラインＬ１Ｂに発生した高電圧を正極側電源ラインＬ１Ａに戻すためのダイオード（所謂フライホイールダイオード）Ｄ１が接続されている。
【００４５】
また、メインスイッチＳＷ１は、上述したトリガスイッチ２２と連動してオン・オフ状態が切り換えられるものであり、トリガスイッチ２２が引かれるとメインスイッチＳＷ１がオンし、トリガスイッチ２２が放されるとメインスイッチＳＷ１がオフする。
【００４６】
また、トランジスタＱ１には、Ｎチャネル型ＭＯＳＦＥＴが用いられている。
次に、本体１０には、内部回路駆動用の電源電圧を生成する制御用電源回路３６と、バッテリパック４０との間で信号を入出力する入出力回路３８とが備えられている。
【００４７】
制御用電源回路３６は、ツェナーダイオードＺＤ１と、コンデンサＣ１とを備えている。そして、ツェナーダイオードＺＤ１のカソードは、抵抗Ｒ１を介して正極側電源ラインＬ１Ａに接続されており、ツェナーダイオードＺＤ１のアノードは、本体１０のグランドに接地されている。
【００４８】
また、コンデンサＣ１は、電解コンデンサからなる。そして、コンデンサＣ１の正極側は、ツェナーダイオードＺＤ１のカソードとともに、抵抗Ｒ１を介して、正極側電源ラインＬ１Ａに接続され、コンデンサＣ１の負極側は、本体１０のグランドに接地されている。
【００４９】
なお、本体１０のグランドには、負極側端子３２Ｂが接続されており、本体１０にバッテリパック４０が装着された際には、この負極側端子３２Ｂを介して、バッテリパック４０の負極側電源ラインＬ２Ｂ（延いてはバッテリ５０の負極側端子５２Ｂ）に接続される。
【００５０】
また、メインスイッチＳＷ１がオン状態であるとき、正極側電源ラインＬ１Ａには、正極側端子３２Ａを介して、バッテリパック４０の正極側電源ラインＬ２Ａ（延いてはバッテリ５０の正極側端子５２Ａ）に接続される。
【００５１】
従って、制御用電源回路３６では、メインスイッチＳＷ１がオンされているときに、正極側電源ラインＬ１Ａから、抵抗Ｒ１を介してツェナーダイオードＺＤ１のアノードにバッテリ電圧（例えば直流３６Ｖ）が印加され、ツェナーダイオードＺＤ１によって所定の一定電圧（例えば直流５Ｖ）に降圧される。
【００５２】
そして、コンデンサＣ１は、その降圧された直流電圧により充電され、コンデンサＣ１の両端電圧は、本体１０の内部回路を動作させるための電源電圧Ｖｃｃとして、各種内部回路に供給される。
【００５３】
次に、入出力回路３８は、トランジスタＱ２と、抵抗Ｒ２，Ｒ３，Ｒ４，Ｒ５とを備える。
トランジスタＱ２は、ＮＰＮ型バイポーラトランジスタにて構成されており、そのベースは、抵抗Ｒ３を介して、信号端子３４Ａに接続されるとともに、抵抗Ｒ４を介して、グランドに接地されている。
【００５４】
また、信号端子３４Ａには、抵抗Ｒ２を介して電源電圧Ｖｃｃが印加され、トランジスタＱ２のコレクタにも、抵抗Ｒ５を介して電源電圧Ｖｃｃが印加されている。また、トランジスタＱ２のコレクタは、トランジスタＱ１のゲートにも接続されており、トランジスタＱ２のエミッタは、グランドに接地されている。
【００５５】
抵抗Ｒ２，Ｒ３，Ｒ４の抵抗値は、メインスイッチＳＷ１がオンされてから電源電圧Ｖｃｃが所定電圧に達したときにトランジスタＱ２がオンし、信号端子３４Ａの電位が電源電圧Ｖｃｃ近傍のハイレベルになるように設定されている。
【００５６】
そして、トランジスタＱ２がオン状態であるときには、トランジスタＱ１のゲートがトランジスタＱ２を介してグランドに接地されることから、トランジスタＱ１はオフ状態となって、駆動モータＭ１への通電経路を遮断する。
【００５７】
また、バッテリパック４０の内部回路(後述するトランジスタＱ４)により、信号端子３４Ａがグランドに接地されると、トランジスタＱ２はオフ状態となる。そして、この状態では、抵抗Ｒ５を介してトランジスタＱ１のゲートに電源電圧Ｖｃｃが印加されることから、トランジスタＱ１はオン状態となって、駆動モータＭ１への通電経路を形成する。
【００５８】
なお、本実施形態では、トランジスタＱ２のコレクタがトランジスタＱ１のゲートに直接接続されるが、トランジスタＱ２のコレクタは、トランジスタＱ１をスイッチングするための駆動回路を介して、トランジスタＱ１のゲートに接続してもよい。
（バッテリパック４０の回路構成）
一方、バッテリパック４０には、電源端子部４４に設けられた正極側端子４４Ａ及び負極側端子４４Ｂと、接続端子部４６に設けられた３つの信号端子４６Ａ，４６Ｂ，４６Ｃと、バッテリ５０と、バッテリ制御回路６０とが備えられている。
【００５９】
正極側端子４４Ａには、正極側電源ラインＬ２Ａを介してバッテリ５０の正極側端子５２Ａが接続され、負極側端子４４Ｂには、負極側電源ラインＬ２Ｂを介してバッテリ５０の負極側端子５２Ｂが接続されている。
【００６０】
そして、バッテリパック４０を本体１０に装着した際、正極側端子４４Ａは、本体１０の正極側端子３２Ａと接続され、負極側端子４４Ｂは、本体１０の負極側端子３２Ｂと接続され、信号端子４６Ａは、本体１０の信号端子３４Ａに接続される。
【００６１】
なお、信号端子４６Ｂ，４６Ｃは、バッテリパック４０を充電器８０に装着した際、充電器８０の接続端子部８６に接続するためのものであり、バッテリパック４０を本体１０に装着した際には、開放状態となる。
【００６２】
バッテリ５０は、正極側端子５２Ａと負極側端子５２Ｂとの間に、複数（例えば１０個）のバッテリセルを直列接続することにより構成されており、駆動モータＭ１を駆動するための駆動電圧（例えば、直流３６Ｖ）を発生する。
【００６３】
なお、バッテリセルは、例えば、単体で３．６Ｖの直流電圧を発生するリチウムイオン二次電池にて構成される。このため、バッテリ５０は、高出力可能であり、例えば、出力可能な放電電流は１０Ａ以上である。
【００６４】
バッテリ制御回路６０は、電流測定回路６２と、電圧測定回路６４と、温度測定回路６６と、スイッチ操作検出回路６８と、充電器検出回路７２と、主制御ユニット（Main Control Unit ：ＭＣＵ）７０と、トランジスタＱ４とを備えている。
【００６５】
ここで、電流測定回路６２は、正極側電源ラインＬ２Ａ若しくは負極側電源ラインＬ２Ｂに流れる電流を検出するためのものであり、その電流に応じた電圧値を有する電流検出信号をＭＣＵ７０に出力する。
【００６６】
また、電圧測定回路６４は、バッテリ５０を構成する各バッテリセルの電圧を順番に測定し、測定電圧に応じた電圧値を有する電圧検出信号をＭＣＵ７０に出力する。
また、温度測定回路６６は、バッテリ５０周囲に配置されるサーミスタを含み、サーミスタを介してバッテリ温度を測定して、その測定温度に応じた電圧値を有する温度検出信号をＭＣＵ７０に出力する。
【００６７】
次に、スイッチ操作検出回路６８は、本体１０のトリガスイッチ２２が操作されたことを検出するためのものであり、トランジスタＱ３と、抵抗Ｒ６，Ｒ７，Ｒ８とを備えている。
【００６８】
トランジスタＱ３は、ＮＰＮ型バイポーラトランジスタにて構成されており、そのベースは、抵抗Ｒ６を介して、信号端子４６Ａに接続されるとともに、抵抗Ｒ７を介して、バッテリパック４０におけるグランドに接地されている。また、トランジスタＱ３のエミッタは、グランドに接地されている。
【００６９】
なお、バッテリパック４０のグランドは、負極側電源ラインＬ２Ｂに接続されている。このため、バッテリパック４０が本体１０に装着された際には、バッテリパック４０と本体１０のグランドが同電位となり、これら各グランドはバッテリ５０の負極とも同電位になる。
【００７０】
また、トランジスタＱ３のコレクタは、ＭＣＵ７０に接続されると共に、抵抗Ｒ８を介して、バッテリパック４０に設けられた制御用電源回路（図示せず）からの電源電圧Ｖｄｄ（例えば、直流５Ｖ）の出力経路に接続されている。
【００７１】
なお、制御用電源回路は、バッテリ５０から電源供給を受けて一定の電源電圧Ｖｄｄを生成し、バッテリパック４０内の各種電子回路に電源供給を行うものであり、例えば、スイッチング電源回路等で構成されている。
【００７２】
一方、トランジスタＱ４は、Ｎチャネル型ＭＯＳＦＥＴにて構成されており、そのドレインは、トランジスタＱ３のベースが抵抗Ｒ６を介して接続される信号端子４６Ａに接続されている。また、トランジスタＱ４のソースは、グランドに接地され、トランジスタＱ４のゲートは、ＭＣＵ７０に接続されている。
【００７３】
このため、トランジスタＱ４は、ＭＣＵ７０からの出力信号（後述する放電制御信号）にてオン・オフされ、トランジスタＱ４のオフ時には、信号端子４６Ａが開放状態となる。
【００７４】
従って、バッテリパック４０が本体１０に装着されて、トリガスイッチ２２が操作された際（メインスイッチＳＷ１：オン）、トランジスタＱ４がオフ状態であれば、本体１０の信号端子３４Ａからバッテリパック４０の信号端子４６Ａに、バッテリパック４０内の電源電圧Ｖｃｃに対応したハイレベルの信号が入力され、スイッチ操作検出回路６８内のトランジスタＱ３がオン状態となって、スイッチ操作検出回路６８からＭＣＵ７０への入力信号はローレベルとなる。
【００７５】
また、バッテリパック４０が本体１０に装着されても、トリガスイッチ２２が操作されなければ（メインスイッチＳＷ１：オフ）、本体１０の信号端子３４Ａはローレベル（グランド電位）となるため、スイッチ操作検出回路６８内のトランジスタＱ３はオフ状態となって、スイッチ操作検出回路６８からＭＣＵ７０への入力信号はハイレベルとなる。
【００７６】
次に、充電器検出回路７２は、バッテリパック４０が充電器８０に装着されて、充電器８０から信号端子４６Ｃにハイレベル（例えば直流５Ｖ）の信号が入力されたときに、その旨を表す検出信号を入力するものであり、スイッチ操作検出回路６８と同様に構成されている。
【００７７】
つまり、充電器検出回路７２は、信号端子４６Ｃが開放状態にあるときには、プルアップ抵抗を介して、電源電圧Ｖｄｄに対応したハイレベルの信号をＭＣＵ７０に入力し、充電器８０から信号端子４６Ｃにハイレベルの信号が入力されると、ＭＣＵ７０への信号経路に接続されたトランジスタがオン状態となって、信号経路をグランドに接地し、ＭＣＵ７０への出力をローレベルにする。
【００７８】
このため、ＭＣＵ７０側では、スイッチ操作検出回路６８からの入力信号に基づき、バッテリパック４０が装着された本体１０側でトリガスイッチ２２が操作されたことを検知でき、充電器検出回路７２からの入力信号に基づきバッテリパック４０が充電器８０に装着されたことを検知できる。
【００７９】
また、ＭＣＵ７０は、ＣＰＵ、ＲＯＭ、ＲＡＭ、書換可能な不揮発性メモリ、入出力（Ｉ／Ｏ）ポート、Ａ／Ｄ変換器等からなる周知のマイクロコンピュータにて構成されており、ＲＯＭに記憶された各種プログラムに従って動作する。なお、ＭＣＵ７０の動作については、後述する。
（充電器８０の回路構成）
次に、図５は、バッテリパック４０を充電器８０に装着した際に、バッテリパック４０と充電器８０とで形成されるバッテリ充電用の回路を表す回路図である。
【００８０】
図５に示すように、充電器８０には、電源端子部８４として、バッテリパック４０の正極側端子４４Ａ及び負極側端子４４Ｂに接続するための正極側端子８４Ａ及び負極側端子８４Ｂが備えられ、接続端子部８６として、バッテリパック４０の信号端子４６Ｂ，４６Ｃに接続するための信号端子８６Ｂ及び８６Ｃが備えられている。
【００８１】
また、充電器８０には、整流回路９２、充電用スイッチング電源回路９４、主制御ユニット（ＭＣＵ）９６、及び、制御用スイッチング電源回路９８が備えられている。
整流回路９２は、商用電源等の交流電源から供給される交流電圧を整流するものであり、その整流出力は、充電用スイッチング電源回路９４及び制御用スイッチング電源回路９８に出力される。
【００８２】
充電用スイッチング電源回路９４は、整流回路９２からの出力に基づきバッテリ５０への充電を行うスイッチング回路であり、ＭＣＵ９６により駆動制御される。
ＭＣＵ９６は、バッテリパック４０内のＭＣＵ７０と同様、マイクロコンピュータにて構成されており、バッテリ制御回路６０内のＭＣＵ７０から信号端子４６Ｂ、８６Ｂを介して、バッテリ状態を取り込み、充電用スイッチング電源回路９４を駆動制御することで、バッテリ５０への充電パターン（充電電流、充電電圧等）を制御する。
【００８３】
また、制御用スイッチング電源回路９８は、ＭＣＵ９６等の内部回路を動作させるための電源電圧Ｖｅｅ（例えば直流５Ｖ）を生成するものである。
そして、充電器８０のグランドは、負極側端子８４Ｂ、及び、バッテリパック４０の負極側端子４４Ｂを介して、バッテリ５０の負極側端子５２Ｂに接続され、充電用スイッチング電源回路９４にて生成された充電電圧は、正極側端子８４Ａ、及び、バッテリパック４０の正極側端子４４Ａを介して、バッテリ５０の正極側端子５２Ａに印加される。
【００８４】
また、充電器８０の信号端子８６Ｃには、制御用スイッチング電源回路９８にて生成された電源電圧Ｖｅｅが印加される。
このため、バッテリパック４０が充電器８０に装着されて、制御用スイッチング電源回路９８にて電源電圧Ｖｅｅが生成されると、バッテリパック４０側では、この電源電圧Ｖｅｅに対応したハイレベルの信号が、信号端子８６Ｃ、４６Ｃを介して、充電器検出回路７２に入力され、充電器検出回路７２からＭＣＵ７０に入力される検出信号の信号レベルが、ハイレベルからローレベルに変化することになる。
【００８５】
なお、充電器８０には、複数の表示ランプが設けられた表示部８８が設けられているが、この表示部８８の表示ランプは、バッテリ５０への充電状態に応じてＭＣＵ９６により点灯される。
（バッテリパック４０内のＭＣＵ７０の動作）
次に、バッテリパック４０内のＭＣＵ７０の動作について説明する。
【００８６】
ＭＣＵ７０は、通常、スイッチ操作検出回路６８若しくは充電器検出回路７２からの検出信号がハイレベルからローレベルになるのを監視するスリープモード（換言すれば低消費電力モード）で動作しており、スイッチ操作検出回路６８若しくは充電器検出回路７２からの検出信号がハイレベルからローレベルになると起動し、バッテリ５０を保護する通常モードに移行する。
【００８７】
なお、ＭＣＵ７０がスリープモードであるときには、ＭＣＵ７０からトランジスタＱ４のゲートに出力される放電制御信号はローレベルであり、トランジスタＱ４はオフ状態に保持される。
【００８８】
そして、ＭＣＵ７０は、スイッチ操作検出回路６８からの検出信号（ローレベル）により起動した際には、放電制御信号をハイレベルにして、トランジスタＱ４をオンさせ、バッテリ５０から駆動モータＭ１への放電を許可する。
【００８９】
つまり、トランジスタＱ４がオン状態になると、本体１０の入出力回路３８内のトランジスタＱ２がオフ状態となり、駆動モータＭ１への通電経路に設けられたトランジスタＱ１がオン状態となるので、駆動モータＭ１に電流が流れ、駆動モータＭ１が回転する。
【００９０】
また、このように放電制御信号をハイレベルにして、バッテリ５０から駆動モータＭ１への放電を許可しているとき（つまりバッテリ５０からの放電時）には、ＭＣＵ７０は、バッテリ５０を過放電等から保護する放電制御処理を実行する。
【００９１】
この放電制御処理では、電流測定回路６２、電圧測定回路６４、及び、温度測定回路６６による検出結果に基づき、バッテリ５０から駆動モータＭ１への放電を制限する、放電電流制限処理、過放電制限処理、及びバッテリ温度制限処理が実行される。
【００９２】
ここで、放電電流制限処理は、放電時に電流測定回路６２にて検出された放電電流が予め設定された閾値を越えたときに、過電流が流れていると判定して、放電制御信号をローレベルにし、バッテリ５０から駆動モータＭ１への放電を停止させる処理である。
【００９３】
また、過放電制限処理は、放電時に電圧測定回路６４にて検出されたバッテリ電圧が予め設定された閾値よりも低下したときに、バッテリ５０が過放電状態にあると判定して、放電制御信号をローレベルにし、バッテリ５０から駆動モータＭ１への放電を停止させる処理である。
【００９４】
また、バッテリ温度制限処理は、放電時に温度測定回路６６にて検出されたバッテリ温度が予め設定された閾値を越えたときに、バッテリ５０が過熱状態にあると判定して、放電制御信号をローレベルにし、バッテリ５０から駆動モータＭ１への放電を停止させる処理である。
【００９５】
そして、上述した何れかの制限処理にて、放電制御信号をローレベルにして、バッテリ５０から駆動モータＭ１への放電を停止させると、使用者は異常を検知して、トリガスイッチ２２を離す。すると、メインスイッチＳＷ１がオフ状態となり、本体１０側では、制御用電源回路３６から出力される電源電圧Ｖｃｃが低下し、信号端子３４Ａから信号端子４６Ａへの入力信号はローレベルとなる。
【００９６】
このため、ＭＣＵ７０は、上述した制限処理によりバッテリ５０から駆動モータＭ１への放電を停止させた際には、スイッチ操作検出回路６８からの検出信号がハイレベルになったか否かを判定することにより、メインスイッチＳＷ１がオフされたことを認識する。
【００９７】
そして、ＭＣＵ７０は、メインスイッチＳＷ１がオフされたことを認識すると、その後、所定時間が継続するまで、メインスイッチＳＷ１がオンされるのを待ち、所定時間が経過するまでの間にメインスイッチＳＷ１がオンされると、再度、放電制御信号をハイレベルにして、放電（換言すれば駆動モータＭ１の駆動）を許可し、所定時間が経過するまでの間に、メインスイッチＳＷ１がオンされなければ、スリープモードに移行する。
【００９８】
なお、ＭＣＵ７０は、上述した制限処理により過電流等の異常を判定しなければ、放電制御信号（ハイレベル）の出力を継続するため、スイッチ操作検出回路６８を介して、メインスイッチＳＷ１のオフ状態（換言すればトリガスイッチ２２の操作停止）を検出することができない。
【００９９】
このため、ＭＣＵ７０は、スリープモードから通常モードへの移行後、放電制御信号（ハイレベル）を出力しているときには、電流測定回路６２からの検出信号等に基づき、駆動モータＭ１への通電停止期間を計測し、通電停止期間が所定時間に達すると、スリープモードに移行する。
【０１００】
また、ＭＣＵ７０は、上記放電制御処理にて、バッテリ５０の過放電を判定して放電を停止させると、その過放電の履歴を不揮発性メモリに記憶する。
次に、ＭＣＵ７０は、充電器検出回路７２からの検出信号（ローレベル）により起動した際には、バッテリ５０の状態（バッテリ電圧、バッテリ容量等）を表す各種情報を、信号端子４６Ｂ、８６Ｂを介して充電器８０のＭＣＵ９６に出力し、その後、充電器８０からバッテリ５０への充電が開始されると、バッテリ保護のための充電制御処理を実行する。
【０１０１】
この充電制御処理は、上記各測定回路６２，６４，６６による検出結果に基づき、バッテリ５０への過充電やバッテリ５０の過熱等の異常が生じていないか否かを判定して、異常判定時には、信号端子４６Ｂ、８６Ｂを介して、充電器８０に、充電停止若しくは充電電流を低減させる指令信号を送信するといった手順で実行される。
【０１０２】
そして、ＭＣＵ７０は、この充電制御処理にて、バッテリ５０の過充電を判定して充電を停止させると、その過充電の履歴を不揮発性メモリに記憶する。
また、充電制御処理は、充電器検出回路７２からの検出信号がハイレベルになるまで（換言すれば充電器８０から電源電圧Ｖｅｅが入力されなくなるまで）継続され、検出信号がハイレベルになると、ＭＣＵ７０は、バッテリパック４０が充電器８０から取り外されたものと判断して、スリープモードに移行する。
【０１０３】
上記のように、バッテリパック４０内のＭＣＵ７０は、バッテリ５０から駆動モータＭ１への放電時、及び、充電器８０からバッテリ５０への充電時には、電流測定回路６２、電圧測定回路６４、温度測定回路６６を介して充放電電流、バッテリ電圧、バッテリ温度等を監視し、これら各パラメータが所定の閾値を越えるか下回ると、放電若しくは充電を停止させてバッテリ５０を保護する。
【０１０４】
しかし、こうした従来の制御では、バッテリ５０の発熱量（換言すれば内部温度）を検出できないことから、バッテリ５０を過熱から確実に保護することが難しく、例えば、電動工具の駆動状態によっては、放電電流や表面温度が閾値よりも小さいにも関わらず、バッテリ５０の内部温度が適正温度範囲を超えて、バッテリ５０を劣化させてしまうことがあった。
【０１０５】
そこで、本実施形態では、ＭＣＵ７０が通常モードにあるとき、上述した制御処理に加えて、図６に示す放電禁止判定処理を実行するようにされている。
以下、この放電禁止判定処理について説明する。
（放電禁止判定処理）
この放電禁止判定処理は、ＭＣＵ７０において、一定周期（例えば、０．５秒毎）で繰り返し実行される処理であり、処理が開始されると、まず、Ｓ１１０（Ｓはステップを表す）にて、現在、バッテリ５０からの放電中であるか、バッテリ５０への充電中であるか否かを判断する。
【０１０６】
そして、現在、バッテリ５０からの放電中であれば、続くＳ１２０に移行して、電流測定回路６２及び温度測定回路６６から放電電流Ｉ及びバッテリ温度Ｔを読み込む。なお、Ｓ１２０では、放電電流Ｉ及びバッテリ温度Ｔを単に読み込むだけでなく、その読み込んだ放電電流Ｉ及びバッテリ温度Ｔを、それぞれ、過去複数回分（換言すれば一定時間分）平均化するか、或いは、移動平均することにより、電流測定回路６２及び温度測定回路６６により得られる放電電流Ｉ及びバッテリ温度Ｔの誤差成分（換言すれば不要ノイズ成分）を除去する。
【０１０７】
次に、Ｓ１３０では、Ｓ１２０の処理で得られた現在の放電電流Ｉ及びバッテリ温度Ｔに基づき、過電流カウンタ更新用の加減算値を算出し、続くＳ１４０にて、その算出した加減算値を過電流カウンタに加算することで、過電流カウンタを更新する。
【０１０８】
ここで、過電流カウンタは、バッテリ５０の発熱量相当値をカウント値として記憶するものであり、その値は、バッテリ５０の発熱量を表す推定値となる。
また、Ｓ１３０では、この過電流カウンタを更新するための加減算値を、放電電流Ｉ及びバッテリ温度Ｔに基づき算出するが、その算出には、例えば、マップが使用される。
【０１０９】
このマップには、例えば、図７に示すように、放電電流Ｉが閾値未満であれば加減算値として零若しくは負の値を設定し、放電電流Ｉが閾値以上であれば加減算値として正の値を設定するように構成されたものが、バッテリ５０の所定の温度範囲毎に複数用意されている。そして、ＭＣＵ７０は、Ｓ１３０において、バッテリ温度Ｔに対応するマップを選択し、そのマップを用いて、放電電流Ｉに対応した加減算値を算出する。
【０１１０】
図７の加減算値算出用のマップは、バッテリ５０の温度範囲毎に、放電電流Ｉが大きいほど加減算値が大きくなるように設定されており、温度範囲が異なるマップ間では、バッテリ温度が高いほど、放電電流に対する加減算値が大きくなるように設定される。これは、バッテリ５０は、放電電流Ｉが大きいほど発熱し易く、バッテリ温度Ｔ（詳しくはバッテリ５０の表面温度、延いては周囲温度）が過熱し易いためである。
【０１１１】
なお、Ｓ１３０にて加減算値を算出する際には、必ずしも上記マップを用いる必要はなく、放電電流Ｉ及びバッテリ温度Ｔをパラメータする２次元マップや、これら各値Ｉ、Ｔをパラメータとする演算式Ｆ（Ｉ，Ｔ）を用いるようにしてもよい。
【０１１２】
次に、Ｓ１４０にて、過電流カウンタが更新されると、Ｓ１５０に移行して、その更新された過電流カウンタの値は、過電流判定用の第１設定値Ｘ１以上であるか否かを判定する。
【０１１３】
そして、過電流カウンタの値が第１設定値Ｘ１以上であれば、バッテリ５０の内部温度が許容範囲を超えていると判断して、Ｓ１６０に移行し、上述した放電電流制限処理、過放電制限処理、及びバッテリ温度制限処理にて放電停止を判定するのに用いられる閾値を補正することで、バッテリ５０の放電を制限する。
【０１１４】
具体的には、放電電流制御処理にて使用される過電流判定用の閾値を下げ、過放電制限処理にて使用される過放電判定用の閾値を上げ、バッテリ温度制限処理にて使用される過熱判定用の閾値を下げることで、各制限処理によって放電停止が実行され易くする。
【０１１５】
なお、Ｓ１６０にて、上記各閾値を補正する際の補正値は、それぞれ、一定値にしてもよく、或いは、過電流カウンタの大きさに応じて、過電流カウンタの値が大きいほど補正値が大きくなるように設定してもよい。
【０１１６】
また次に、Ｓ１５０にて、過電流カウンタの値が第１設定値Ｘ１以上ではないと判断されるか、Ｓ１６０にて、上記各閾値を補正することでバッテリ５０の放電を制限すると、今度は、Ｓ１７０に移行して、過電流カウンタの値は、上記第１設定値Ｘ１よりも大きい第２設定値Ｘ２以上であるか否かを判定する。
【０１１７】
そして、過電流カウンタの値が第２設定値Ｘ２以上であれば、バッテリ５０の内部温度がバッテリ５０の劣化を招く限界温度に達していると判断して、Ｓ１８０に移行し、放電制御信号をハイレベルからローレベルに切り換えることでバッテリ５０からの放電を停止させる。
【０１１８】
また、Ｓ１７０にて、過電流カウンタの値が第２設定値Ｘ１以上ではないと判断されるか、Ｓ１８０にて、バッテリ５０からの放電を停止させると、当該放電禁止判定処理を一旦終了し、その後、所定時間が経過した後、再度Ｓ１１０以降の処理を実行する。
【０１１９】
次に、Ｓ１１０にて、現在、バッテリ５０への充電中であると判断された場合には、Ｓ１９０に移行する。そして、Ｓ１９０では、前回の放電時にバッテリ５０の過電流カウンタの値が第１設定値Ｘ１若しくは第２設定値Ｘ２に達し、バッテリ５０の放電を制限又は停止したか否かを判定する。
【０１２０】
そして、前回の放電時に、バッテリ５０の放電を制限又は停止している場合には、バッテリ５０は内部温度が上昇し易くなっていると判断して、Ｓ２００に移行し、充電器８０のＭＣＵ９６に対し充電電流制限信号を送信することで、バッテリ５０への充電電流の上限を通常時よりも低下させ、当該放電禁止判定処理を終了する。
【０１２１】
また、Ｓ１９０にて、前回の放電時にバッテリ５０の放電を制限又は停止していないと判断された場合には、そのまま当該放電禁止判定処理を終了する。
（実施形態の効果）
以上説明したように、本実施形態では、バッテリパック４０に設けられたＭＣＵ７０が、図６に示した放電禁止判定処理を実行する。
【０１２２】
そして、この放電禁止判定処理では、バッテリパック４０から駆動モータＭ１への放電時に、放電電流Ｉとバッテリ温度Ｔとを用いて過電流カウンタの加減算値を周期的に算出し、その算出した加減算値にて過電流カウンタを更新することで、バッテリ５０の発熱量を表す推定値（＝過電流カウンタの値）を求める（Ｓ１１０〜Ｓ１４０）。
【０１２３】
また、その推定値が第１設定値Ｘ１以上であれば、放電制御に用いられる閾値を補正することでバッテリ５０の放電に制限をかけ、推定値が第２設定値Ｘ２以上であれば、バッテリ５０からの放電を停止させる（Ｓ１５０〜Ｓ１８０）。
【０１２４】
このように本実施形態では、過電流カウンタが、図７に示すマップを用いて放電電流Ｉから算出される加減算値を用いて周期的に更新されることから、過電流カウンタの値は、放電電流Ｉが大きいときには、短時間で第１設定値Ｘ１或いは第２設定値Ｘ２に到達し、放電電流Ｉが小さいときには、第１設定値Ｘ１或いは第２設定値Ｘ２に到達するのに要する時間が長くなる。
【０１２５】
これは、過電流カウンタの値がバッテリ５０の発熱量（換言すれば内部温度）に対応しているためであり、本実施形態によれば、過電流カウンタを用いてバッテリ５０の発熱量（換言すれば内部温度）を正確に推定することができる。
【０１２６】
そして、本実施形態では、その推定した発熱量（過電流カウンタの値）に基づき、バッテリ５０からの放電を制限若しくは停止することから、放電を不必要に停止又は制限することなく、バッテリ５０を過熱から保護することができる。
【０１２７】
つまり、例えば、図８は、使用者がねじ止め等のためにトリガスイッチ２２を繰り返し操作することを想定して、放電電流の電流値と過電流カウンタのカウント値とを測定した測定結果を表している。
【０１２８】
この図８から明らかなように、使用者がトリガスイッチ２２を繰り返し操作した場合、過電流カウンタのカウント値は、トリガスイッチ２２の操作時に流れる電流値に応じて上昇し、トリガスイッチ２２の操作停止時に減少する。そして、このカウント値の変化は、図７に示したマップにより、バッテリ５０の発熱量（延いては内部温度）の変化に対応するよう設定されている。
【０１２９】
このため、本実施形態によれば、バッテリ５０の発熱量（延いては内部温度）が放電を停止すべき高温になると、過電流カウンタのカウント値が閾値「Ｙ」（＝第２設定値Ｘ２）に達し、放電が停止されることになる。
【０１３０】
これに対し、従来技術では、放電電流だけでバッテリ５０の過熱を判定して、放電を停止するため、図９に示すように、使用者がトリガスイッチ２２を上記と同様に操作した際、放電電流が高くなれば、内部温度が高温になっていないにも関わらず、放電を停止させてしまう。なお、図９は、バッテリ５０の放電電流が閾値「Ｘ」以上になり、その状態が１sec.以上経過したこと放電停止条件とした場合の説明図である。
【０１３１】
従って、本実施形態によれば、放電を不必要に停止又は制限することなく、バッテリ５０を過熱から保護することができるようになり、電動工具の使い勝手を向上することが可能となる。
【０１３２】
また、本実施形態の放電禁止判定処理では、バッテリ５０からの放電時に、過電流カウンタ（発熱量の推定値）に基づき放電を制限若しくは停止すると、次回のバッテリ５０への充電時に、充電器８０のＭＣＵに対して充電電流制限信号を送信し、充電電流の上限を通常時よりも制限させる。このため、本実施形態によれば、次回のバッテリ５０への充電時に、バッテリ５０の過熱するのを防止できる。
【０１３３】
ここで、本実施形態では、バッテリパック４０に設けられた電流測定回路６２が電流検出手段に相当し、同じく温度測定回路６６が温度検出手段に相当する。
また、図６に示した放電禁止判定処理におけるＳ１２０〜Ｓ１４０の処理が、本発明の演算手段に相当し、このうち、Ｓ１３０の処理が、本発明の加減算値設定手段に相当する。
【０１３４】
また、図６に示した放電禁止判定処理におけるＳ１５０，Ｓ１７０の判定処理が、本発明の判定手段に相当し、同じくＳ１６０、Ｓ１８０、Ｓ２００の処理が、本発明の保護手段に相当する。
（変形例）
以上、本発明の一実施形態について説明したが、本発明は、上記実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内にて、種々の態様をとることができる。
【０１３５】
例えば、上記実施形態では、過電流カウンタの加減算値を算出する際、放電電流Ｉとバッテリ温度Ｔを用いるものとして説明したが、放電電流Ｉだけで加減算値を算出するようにしてもよい。
【０１３６】
また、上記実施形態では、過電流カウンタの値（発熱量の推定値）に応じて、放電の制限及び放電の停止を行うものとして説明したが、放電の制限及び放電の停止の何れか一方を行うようにしても、従来装置に比べて、バッテリ５０を良好に保護することができる。
【０１３７】
また、上記実施形態では、バッテリ５０の放電時に、過電流カウンタを用いてバッテリ５０の発熱量を推定し、放電の制限及び停止を制御するものとして説明したが、バッテリ５０の充電時に、上記実施形態と同様の手順でバッテリ５０の発熱量を推定し、充電を制限若しくは停止するようにしてもよい。
【０１３８】
また、上記実施形態では、図６に示した放電禁止判定処理は、バッテリパック４０内のＭＣＵ７０が実行するものとして説明したが、本体１０側に放電制御用のＭＣＵを設けて、このＭＣＵにて実行するようにしてもよい。
【０１３９】
また、上記のようにバッテリ５０の充電時に、バッテリ５０の発熱量を推定して、バッテリ５０への充電を制限若しくは停止するようにする際には、そのための充電禁止判定処理を、バッテリパック４０内のＭＣＵ７０にて実行するようにしてもよく、或いは、充電器８０内のＭＣＵ９６にて実行するようにしてもよい。
【０１４０】
一方、上記実施形態では、本発明をドライバドリルに適用した場合について説明したが、ドライバドリル以外の電動工具に本願発明を適用してもよい。
また、上記実施形態では、ブラシ付き直流モータが駆動モータＭ１として用いられていたが、ブラシレス直流モータや交流モータが用いられてもよい。ただし、ブラシレス直流モータや交流モータを駆動モータＭ１として用いる場合には、本体１０をそのように構成する必要はある。
【０１４１】
また、上記実施形態におけるトランジスタは、バイポーラトランジスタやＭＯＳＦＥＴであったが、これら以外のスイッチング素子が用いられてもよい。
【符号の説明】
【０１４２】
１０…本体（電動工具本体）、１４…モータハウジング、１６…ギアハウジング、１８…ドリルチャック、２０…ハンドグリップ、２２…トリガスイッチ、ＳＷ１…メインスイッチ、２４…バッテリパック装着部、３２Ａ…正極側端子、３２Ｂ…負極側端子、３４Ａ…信号端子、３６…制御用電源回路、３８…入出力回路、Ｌ１Ａ…正極側電源ライン、Ｌ１Ｂ…負極側電源ライン、Ｍ１…駆動モータ、Ｑ１…トランジスタ（Ｎチャネル型ＭＯＳＦＥＴ）、４０…バッテリパック、４２…コネクタ部、４４…電源端子部、４４Ａ…正極側端子、４４Ｂ…負極側端子、４６…接続端子部、４６Ａ〜４６Ｃ…信号端子、５０…バッテリ、５２Ａ…正極側端子、５２Ｂ…負極側端子、６０…バッテリ制御回路、６２…電流測定回路、６４…電圧測定回路、６６…温度測定回路、６８…スイッチ操作検出回路、７０…ＭＣＵ、７２…充電器検出回路、Ｌ２Ａ…正極側電源ライン、Ｌ２Ｂ…負極側電源ライン、Ｑ４…トランジスタ（Ｎチャネル型ＭＯＳＦＥＴ）、８０…充電器、８２…バッテリパック装着部、８４…電源端子部、８４Ａ…正極側端子、８４Ｂ…負極側端子、８６…接続端子部、８６Ｂ，８６Ｃ…信号端子、８８…表示部、９２…整流回路、９４…充電用スイッチング電源回路、９６…ＭＣＵ、９８…制御用スイッチング電源回路。
【図１】
0005524694.tif 000002
【図２】
0005524694.tif 000003
【図３】
0005524694.tif 000004
【図４】
0005524694.tif 000005
【図５】
0005524694.tif 000006
【図６】
0005524694.tif 000007
【図７】
0005524694.tif 000008
【図８】
0005524694.tif 000009
【図９】
0005524694.tif 000010