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