(57)【要約】【課題】電動工具において、モータの過負荷運転をモータの放熱状態に応じて判定することで、モータを過負荷運転から良好に保護できるようにする。【解決手段】モータの過負荷運転は、モータの駆動時に流れるモータ電流と、しきい値１〜しきい値３とを順次比較することで更新される累積値が、過負荷判定用のしきい値以上になったとき（Ｓ６３０−ＹＥＳ）に判定する。そして、加算値設定処理（Ｓ５４０）にて、トリガスイッチのオン／オフ回数が多く、且つ、モータの駆動停止期間が短いほど、大きくなるように、累積値を更新するのに用いられる加算値１〜３を設定する。【選択図】図１０
2015013327.tif 000002
【特許請求の範囲】
【請求項１】
モータと、
前記モータの過負荷運転を検出する過負荷検出手段と、
操作部からの指令に従い前記モータを駆動すると共に、前記過負荷検出手段にて前記モータの過負荷運転が検出されると、前記モータの駆動を停止する制御手段と、
前記制御手段は、
前記過負荷検出手段にて前記モータの過負荷運転が検出されて、前記モータの駆動を停止すると、その後、所定期間が経過するまでの間、前記過負荷検出手段による前記過負荷運転の判定条件を変更することを特徴とする電動工具。
【請求項２】
前記制御手段は、前記所定期間が経過するまでの間、前記過負荷検出手段による前記過負荷運転の検出感度が高くなるよう、前記過負荷運転の判定条件を変更することを特徴とする請求項１に記載の電動工具。
【請求項３】
前記制御手段が前記過負荷運転の判定条件を変更する前記所定期間は、前記モータの過負荷運転により、前回、前記モータの駆動を停止してからの経過時間にて設定されていることを特徴とする請求項１又は請求項２に記載の電動工具。
【請求項４】
前記制御手段が前記過負荷運転の判定条件を変更する前記所定期間は、前記モータの過負荷運転により前記モータの駆動を停止してから前記モータの蓄熱量が所定値以下になるのに要する放熱期間、に基づき設定されていることを特徴とする請求項１〜請求項３の何れか１項に記載の電動工具。
【請求項５】
前記過負荷検出手段は、前記モータの発熱量相当値を積算し、該積算値が所定の過負荷判定しきい値以上であるとき、前記モータが過負荷状態であることを判定することを特徴とする請求項１〜請求項４の何れか１項に記載の電動工具。
【請求項６】
前記モータの発熱量相当値は、前記モータに流れる電流及び前記モータの温度の少なくとも一方であることを特徴とする請求項５に記載の電動工具。
【請求項７】
前記制御手段は、前記所定期間内での前記操作部の操作回数に応じて、前記積算値若しくは前記過負荷判定しきい値を変更することで、前記過負荷運転の判定条件を変更することを特徴とする請求項５又は請求項６に記載の電動工具。
【請求項８】
モータと、
前記モータの過負荷運転を検出する過負荷検出手段と、
操作部からの指令に従い前記モータを駆動すると共に、前記過負荷検出手段にて前記モータの過負荷運転が検出されると、前記モータの駆動を停止する制御手段と、
を備え、
前記制御手段は、前記過負荷検出手段が最初に過負荷を検出したときに比べ、前記過負荷検出手段が２回目以降に過負荷を検出したときの方が、前記操作部から前記モータの駆動が指令されてから前記モータの駆動を停止するまでの時間が短くなるよう、前記モータの駆動停止制御を実行することを特徴とする電動工具。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、モータの駆動時に過負荷運転が検出されるとモータの駆動を停止するよう構成された電動工具に関する。
【背景技術】
【０００２】
従来、電動工具においては、モータの制御回路付近に過電流・熱保護回路を設け、過電流・熱保護回路にて検出された温度が、設定温度以上に上昇すると、モータの出力を低下させることが提案されている（例えば、特許文献１参照）。
【０００３】
この提案の電動工具によれば、モータが過負荷運転されて、制御回路の温度が上昇すると、モータの出力を低下させるので、モータを過負荷運転から保護することができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００３−３０５６６７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、モータは、過負荷運転されることにより発熱するが、その熱はモータに蓄積される。このため、モータが頻繁に駆動されて、モータの停止時間が短くなると、モータに蓄積された熱が充分放熱されないうちに、モータが再度駆動されることになり、モータの蓄熱量が増加する。
【０００６】
このため、上記従来の電動工具のように、制御回路に流れる過電流により生じる温度上昇を検出して、モータの出力を低下させるだけでは、モータを充分保護することができないという問題があった。
【０００７】
本発明は、こうした問題に鑑みなされたものであり、電動工具において、モータの過負荷運転をモータの放熱状態に応じて判定することで、モータを過負荷運転から良好に保護できるようにすることを目的とする。
【課題を解決するための手段】
【０００８】
請求項１に記載の電動工具においては、過負荷検出手段が、モータの過負荷運転を検出し、制御手段が、操作部からの指令に従いモータを駆動すると共に、その駆動時に過負荷検出手段にてモータの過負荷運転が検出されると、モータの駆動を停止する。
【０００９】
また、制御手段は、過負荷検出手段にてモータの過負荷運転が検出されて、モータの駆動を停止すると、その後、所定期間が経過するまでの間、過負荷検出手段による過負荷運転の判定条件を変更する。
【００１０】
このため、本発明の電動工具によれば、モータの過負荷運転によりモータの駆動が停止された後、モータが充分放熱されないうちに、駆動が再開された際には、過負荷運転の判定条件を変更することで、過負荷運転が検出され易くすることができる。
【００１１】
よって、モータの過負荷運転をより適正に検出して、モータを過負荷運転から保護することが可能となる。
なお、このためには、制御手段は、請求項２に記載のように構成するとよい。すなわち、請求項２に記載の電動工具において、制御手段は、所定期間が経過するまでの間、過負荷検出手段による過負荷運転の検出感度が高くなるよう、過負荷運転の判定条件を変更する。従って、請求項２に記載の電動工具によれば、モータの過負荷運転を適正に検出して、モータを過負荷運転から保護することができる。
【００１２】
次に、請求項３に記載の電動工具においては、制御手段が過負荷運転の判定条件を変更する所定期間は、モータの過負荷運転によって前回モータの駆動を停止してからの経過時間により設定することができる。
【００１３】
また、その所定期間は、請求項４に記載のように、モータの過負荷運転によりモータの駆動を停止してからモータの蓄熱量が所定値以下になるのに要する放熱期間に基づき、設定するとよい。
【００１４】
一方、過負荷検出手段は、請求項５に記載のように、モータの発熱量相当値を積算し、その積算値が所定の過負荷判定しきい値以上であるときに、モータが過負荷状態であることを判定するよう構成するとよい。
【００１５】
つまり、このようにすれば、モータの過負荷状態を、モータの発熱量に基づき検出することができ、上記従来のように、制御回路の温度から過負荷運転を検出するようにした場合に比べ、モータを過負荷運転からより良好に保護することができる。
【００１６】
なお、モータの発熱量相当値としては、モータに流れる電流及びモータの温度の少なくとも一方を利用するとよい。
また、過負荷検出手段を請求項５又は請求項６に記載のように構成した場合、制御手段は、請求項７に記載のように、所定期間内での操作部の操作回数に応じて、積算値若しくは過負荷判定しきい値を変更することで、過負荷運転の判定条件を変更するように構成するとよい。
【００１７】
つまり、このようにすれば、モータ停止後所定期間経過する間に、操作部が何度も操作されて、モータの駆動が短時間で繰り返し実行される場合に、モータの駆動回数に応じて、過負荷運転の判定条件を変更できることになる。
【００１８】
このため、請求項７に記載の電動工具によれば、過負荷運転の判定条件をより適正に設定して、モータを過負荷運転から保護することが可能となる。
一方、請求項８に記載の電動工具においては、請求項１〜請求項７に記載の電動工具と同様、過負荷検出手段が、モータの過負荷運転を検出し、制御手段が、操作部からの指令に従いモータを駆動すると共に、その駆動時に過負荷検出手段にてモータの過負荷運転が検出されると、モータの駆動を停止する。
【００１９】
そして、制御手段は、過負荷検出手段が最初に過負荷運転を検出したときに比べ、過負荷検出手段が２回目以降に過負荷運転を検出したときの方が、操作部からモータの駆動が指令されてからモータの駆動を停止するまでの時間が短くなるよう、モータの駆動停止制御を実行する。
【００２０】
従って、本発明の電動工具においても、請求項１〜請求項７に記載の電動工具と同様の効果を得ることができる。
【図面の簡単な説明】
【００２１】
【図１】実施形態のドライバドリルの外観を表す斜視図である。
【図２】ドライバドリルの内部構成を表す断面図である。
【図３】ドライバドリルに搭載されたモータ駆動装置の構成を表すブロック図である。
【図４】制御回路にて実行されるモータ駆動処理を表すフローチャートである。
【図５】図４に示すモータ制御処理にてモータ駆動直後に回転方向を確認するために実行される制御動作を表すタイムチャートである。
【図６】図４に示すモータオン／オフ時間計測処理を表すフローチャートである。
【図７】制御回路にて実行される外部割り込み処理を表すフローチャートである。
【図８】ホールＩＣからの出力信号及びロック発生時のカウント動作を表す説明図である。
【図９】図４に示すロック判定処理を表すフローチャートである。
【図１０】図４に示す過負荷判定処理を表すフローチャートである。
【図１１】図１０に示す加算値設定処理を表すフローチャートである。
【図１２】過負荷判定処理の動作を説明するタイムチャートである。
【発明を実施するための形態】
【００２２】
以下に、本発明の実施形態を図面に基づいて説明する。
本実施形態では、電動工具として、充電式ドライバドリルに本発明を適用した場合について説明する。
【００２３】
図１、図２に示すように、本実施形態の充電式ドライバドリル１は、工具本体１０と、工具本体１０に電力を供給するバッテリパック３０とにより構成されている。
工具本体１０は、使用者が手で握るためのグリップ部１２が下方に突出するように形成されたハウジング１１を備え、そのハウジング１１内に各種構成部品を収納することにより構成されている。
【００２４】
ハウジング１１の後方（図の左側）は、当該充電式ドライバドリル１の動力源となるモータ４を収納するモータ収納部１４となっており、モータ収納部１４よりも前方には、減速機構６が収納されている。
【００２５】
そして、ハウジング１１の先端（図の右側）には、減速機構６の出力軸７に工具ビット（図示略）を装着するためのチャック部１６が突設されている。
次に、グリップ部１２には、使用者がグリップ部１２を把持しつつ指で操作するためのトリガスイッチ２１が設けられている。
【００２６】
トリガスイッチ２１は、作業者により引き操作される操作部２１ａと、この操作部２１ａの引き操作によりオン・オフされるとともにこの操作部２１ａの操作量（引き量）に応じて抵抗値が変化するように構成されたスイッチ本体部２１ｂとを備えている。
【００２７】
そして、トリガスイッチ２１の上側（ハウジング１１の下端側）には、モータ４の回転方向を正転又は逆転方向に切り換えるための正逆切換スイッチ２２が設けられている。
また、ハウジング１１の下部前方には、操作部２１ａが引き操作されたときに当該充電式ドライバドリル１の前方を光で照射するための照明ＬＥＤ２３が設けられている。
【００２８】
また、グリップ部１２における前方下部には、バッテリパック３０内のバッテリ２９の残容量を表示する残容量表示部２４が設けられている。
次に、グリップ部１２の下端には、バッテリ２９を収容したバッテリパック３０が、着脱自在に装着されている。なお、バッテリパック３０は、グリップ部１２の下端に対してその前方側から後方側へとスライドさせることにより装着される。
【００２９】
バッテリパック３０に収容されたバッテリ２９は、例えばリチウムイオン２次電池など、繰り返し充電可能な２次電池である。
また、モータ４は、３相ブラシレスＤＣモータにて構成されている。そして、モータ４には、モータ４の回転位置を検出するホールＩＣ５０（図３参照）が設けられている。
【００３０】
なお、ホールＩＣ５０は、モータ４の各相に対応して配置される３つのホール素子を備え、モータ４の所定回転角度毎に後述の回転検出信号（図８参照）を発生する周知のものである。
【００３１】
また、グリップ部１２には、バッテリパック３０から電力供給を受けて、モータ４を駆動制御するモータ駆動装置４０（図３参照）が設けられている。
図３に示すように、モータ駆動装置４０には、駆動回路４２、ゲート回路４４、制御回路４６、及び、レギュレータ４８が設けられている。
【００３２】
駆動回路４２は、バッテリ２９から電源供給を受けて、モータ４各相の巻線に電流を流すためのものであり、本実施形態では、６つのスイッチング素子Ｑ１〜Ｑ６からなる３相フルブリッジ回路として構成されている。なお、各スイッチング素子Ｑ１〜Ｑ６は、本実施形態ではＭＯＳＦＥＴである。
【００３３】
駆動回路４２において、３つのスイッチング素子Ｑ１〜Ｑ３は、モータ４の各端子Ｕ，Ｖ，Ｗと、バッテリ２９の正極側に接続された電源ラインとの間に、いわゆるハイサイドスイッチとして設けられている。
【００３４】
また、他の３つのスイッチング素子Ｑ４〜Ｑ６は、モータ４の各端子Ｕ，Ｖ，Ｗと、バッテリ２９の負極側に接続されたグランドラインとの間に、いわゆるローサイドスイッチとして設けられている。
【００３５】
また、ゲート回路４４は、制御回路４６から出力された制御信号に従い、駆動回路４２内の各スイッチング素子Ｑ１〜Ｑ６をオン／オフさせることで、モータ４の各相巻線に電流を流し、モータ４を回転させるものである。
【００３６】
次に、制御回路４６は、ＣＰＵ４６ａ、ＲＯＭ４６ｂ、ＲＡＭ４６ｃを中心とするマイクロコンピュータ（マイコン）にて構成されている。そして、制御回路４６には、上述したトリガスイッチ２１（詳しくはスイッチ本体部２１ｂ）、正逆切換スイッチ２２、照明ＬＥＤ２３、残容量表示部２４が接続されている。
【００３７】
また、モータ駆動装置４０において、駆動回路４２からバッテリ２９の負極側に至る通電経路には、モータ４に流れた電流を検出する電流検出回路５４が設けられており、電流検出回路５４から制御回路４６には、電流検出信号が入力される。
【００３８】
また、モータ駆動装置４０には、バッテリ２９からの供給電圧（バッテリ電圧）を検出するバッテリ電圧検出部５２も設けられている。そして、制御回路４６には、バッテリ電圧検出部５２からの検出信号、及び、モータ４に設けられたホールＩＣ５０からの検出信号も入力される。
【００３９】
次に、制御回路４６は、トリガスイッチ２１が操作されると、ホールＩＣ５０からの回転検出信号に基づきモータ４の回転位置及び回転速度を求め、正逆切換スイッチ２２からの回転方向設定信号に従い、モータ４を所定の回転方向に駆動する。
【００４０】
また、制御回路４６は、モータ４の駆動時には、トリガスイッチ２１の操作量（引き量）に応じてモータ４の制御量を設定する。なお、モータ４の制御量は、駆動回路４２を構成するスイッチング素子Ｑ１〜Ｑ６をオン／オフさせるためにゲート回路４４に出力する制御信号の駆動デューティ比である。
【００４１】
そして、制御回路４６は、その設定した制御量に応じた制御信号をゲート回路４４に出力することで、モータ４を回転駆動する。
また、制御回路４６は、こうしたモータ４駆動のための駆動制御とは別に、モータ駆動時に照明ＬＥＤ２３を点灯させる制御や、残容量表示部２４にバッテリ２９の残容量を表示する表示処理も実行する。
【００４２】
なお、レギュレータ４８は、バッテリ２９から電源供給を受けて、制御回路４６を動作させるのに必要な一定の電源電圧Ｖｃｃ（例えば、直流５Ｖ）を生成するものであり、制御回路４６は、レギュレータ４８から電源電圧Ｖｃｃが供給されることにより動作する。
【００４３】
次に、制御回路４６にて実行される各種制御処理の内、使用者によるトリガスイッチ２１の操作に応じてモータ４を駆動するために実行されるモータ駆動処理について説明する。
【００４４】
なお、このモータ駆動処理は、制御回路４６を構成するＣＰＵ４６ａが、不揮発性の記憶媒体であるＲＯＭ４６ｂに記憶されたプログラムを実行することにより実現される。
図４に示すように、モータ駆動処理では、まず、Ｓ１１０（Ｓはステップを表す）にて、モータ駆動の制御周期である所定のタイムベースが経過したか否かを判断することにより、前回Ｓ１２０以降の処理を実行してからタイムベースが経過するのを待つ。
【００４５】
そして、Ｓ１１０にてタイムベースが経過したと判断すると、Ｓ１２０の駆動指令処理、Ｓ１３０のモータ制御処理、Ｓ１４０のモータオン／オフ時間計測処理、Ｓ１５０の電流検出処理、Ｓ１６０のロック判定処理、及び、Ｓ１７０の過負荷判定処理を順次実行し、再度Ｓ１１０に移行する。
【００４６】
つまり、本実施形態のモータ駆動処理では、Ｓ１２０〜Ｓ１７０の一連の処理を、所定のタイムベースで周期的に実行する。
ここで、Ｓ１２０の駆動指令処理では、トリガスイッチ２１が操作されたことを検出し、トリガスイッチ２１の操作量（引き量）に応じて、モータ４の制御量（駆動デューティ比）を設定する。
【００４７】
なお、Ｓ１２０では、トリガスイッチ２１が操作された直後には、制御量を、トリガスイッチ２１の操作量（引き量）に対応した値まで徐々に増加させることで、モータ４の回転数を徐々に上昇させるソフトスタート制御を行う。
【００４８】
また、Ｓ１３０のモータ制御処理では、駆動指令処理にて設定された制御量にて、正逆切換スイッチ２２を介して設定された回転方向にモータ４を駆動するための制御信号（詳しくは通電制御パターン）を生成する。
【００４９】
また、モータ制御処理では、Ｓ１６０のロック判定処理及びＳ１７０の過負荷判定処理にて、モータ４のロック若しくは過負荷が判定されている場合には、モータ４への通電を遮断して、モータ４を過電流や過熱から保護する。
【００５０】
なお、モータ制御処理にて生成される制御信号（通電制御パターン）は、後述の外部割り込み処理にてモータ４の回転に同期してゲート回路４４に駆動信号を出力するのに用いられる。
【００５１】
また、図５に示すように、モータ制御処理では、トリガスイッチ２１が操作されると（時点ｔ１：トリガスイッチオン）、一定時間経過後に、正逆切換スイッチ２２から使用者により設定された設定回転方向を読み込み（時点ｔ２）、その設定回転方向に従い制御信号を生成することで、モータ４の駆動を開始させる。
【００５２】
そして、モータ４の駆動開始後、一定時間が経過すると、正逆切換スイッチ２２から再度設定回転方向を読み込み（時点ｔ３）、その読み込んだ設定回転方向がモータ４の駆動開始時に読み込んだ設定回転方向と異なる場合には、モータ４の駆動を停止させる。
【００５３】
これは、使用者が正逆切換スイッチ２２を操作した際、接点の接触状態等により所謂チャタリングが発生して、出力が安定しないことがあるためである。
つまり、図５に示すように、本実施形態では、正逆切換スイッチ２２は、設定回転方向が「正転」方向であるときハイレベルの信号（電源電圧）を出力し、設定回転方向が「逆転」方向であるときローレベルの信号（グランド電位）を出力するよう構成されている。
【００５４】
そして、図５の中段（正逆切換スイッチの出力異常時）の説明図に示すように、使用者が、トリガスイッチ２１と略同時に正逆切換スイッチ２２を操作して、設定回転方向を「正転」から「逆転」に切り換えた場合にチャタリングが発生すると、時点ｔ２で読み込んだ設定回転方向が「正転」方向になり、モータ４を使用者の指示に従い駆動することができなくなる。
【００５５】
そこで、本実施形態では、モータ４の駆動時だけでなく、モータ４の駆動開始後一定時間が経過したときにも、正逆切換スイッチ２２から設定回転方向を読み込み、その読み込んだ設定回転方向が異なる場合には、モータ４の駆動を停止するようにしている。
【００５６】
また、モータ４の駆動開始直後には、例えば、チャック部１６に装着された工具ビットの回転停止（ロック）によって、モータ４の回転方向とは逆方向の力が加わり、ホールＩＣ５０からの出力により得られる回転方向が、設定回転方向から逆方向に変化することがある。
【００５７】
そこで、モータ制御処理では、図５の上段（正常時）及び下段（モータ逆転異常時）の説明図に示すように、モータ４の駆動開始後、一定時間が経過すると（時点ｔ４）、ホールＩＣ５０からの出力により得られる実回転方向を確認し、その回転方向が、モータ４の駆動方向と異なる場合（モータ逆転異常時）には、モータ４の駆動を停止させる。
【００５８】
なお、図５において、モータ４の駆動開始後、モータ４の実回転方向を確認する時点ｔ４までの時間は、正逆切換スイッチ２２による設定回転方向を再確認する時点ｔ３までの時間よりも長い時間が設定されているが、これら各時間は、適宜設定すればよい。
【００５９】
また、モータ４の駆動開始後、モータ４の実回転方向を確認する時点ｔ４までの時間は、ホールＩＣ５０からの出力が変化した回数に基づき設定するようにしてもよい。また、モータ４の実回転方向の確認は、モータ４の駆動開始後一定時間間隔で複数回行うようにしてもよい。
【００６０】
次に、Ｓ１４０のモータオン／オフ時間計測処理は、モータ４が通電により駆動されるオン時間、及び、モータ４への通電が停止されるオフ時間、を計測するための処理であり、図６に示す手順で実行される。
【００６１】
すなわち、モータオン／オフ時間計測処理では、Ｓ２１０にて、モータ４がオン状態か否か（つまり駆動されているか否か）を判断し、モータ４がオン状態であれば、Ｓ２２０にて、モータオンフラグがセットされているか否かを判断する。
【００６２】
Ｓ２２０にて、モータオンフラグがセットされていないと判断された場合には、モータ４への通電（つまり駆動）が開始された直後であるので、Ｓ２３０に移行して、今まで計測していたモータオン／オフ時間をクリアし、モータオンフラグをセットした後、当該モータオン／オフ時間計測処理を終了する。
【００６３】
また、Ｓ２２０にて、モータオンフラグがセットされていると判断された場合には、Ｓ２４０に移行して、モータオン／オフ時間（詳しくは時間計測用のカウンタ）をインクリメント（＋１）することにより、モータオン／オフ時間を更新し、当該モータオン／オフ時間計測処理を終了する。
【００６４】
また、Ｓ２１０にて、モータ４がオン状態ではない（つまり、モータ４の駆動が停止されている）と判断された場合には、Ｓ２５０に移行して、モータオンフラグがセットされているか否かを判断する。
【００６５】
Ｓ２５０にて、モータオンフラグがセットされていると判断された場合には、モータ４への通電（つまり駆動）が停止された直後であるので、Ｓ２６０に移行して、今まで計測していたモータオン／オフ時間をクリアし、モータオンフラグをクリアした後、当該モータオン／オフ時間計測処理を終了する。
【００６６】
また、Ｓ２５０にて、モータオンフラグがセットされていないと判断された場合には、Ｓ２４０に移行して、モータオン／オフ時間（詳しくは時間計測用のカウンタ）をインクリメント（＋１）することにより、モータオン／オフ時間を更新し、当該モータオン／オフ時間計測処理を終了する。
【００６７】
従って、モータオン／オフ時間計測処理では、モータ４が通電により駆動されているとき、及び、モータ４への通電が停止されているときに、それぞれ、モータ４のオン時間及びオフ時間が計測されることになる。
【００６８】
次に、Ｓ１５０の電流検出処理は、電流検出回路５４からの検出信号をＡ／Ｄ変換して取り込むことで、モータ４への通電電流（モータ電流）を検出するための処理である。
また、Ｓ１６０のロック判定処理は、Ｓ１５０にて検出されたモータ電流が所定の電流しきい値以上で、モータ４の回転が停止しているときに、モータ４（換言すれば工具ビット）がロックしたと判定するための処理である。
【００６９】
このロック判定処理では、ホールＩＣ５０からの出力が変動しなくなったときではなく、モータ４の回転位置が正逆切換スイッチ２２を介して設定された回転方向及びその回転方向とは逆方向に交互に変動しているとき（つまり、モータ４が微振動しているとき）に、モータ４の回転停止を判断する。
【００７０】
そして、この判断のために、ホールＩＣ５０からの検出信号を取り込む外部割り込み処理にて、モータ４の微振動時に逆回転カウンタ及び比較カウンタをカウントし、ロック判定処理では、比較カウンタの値に基づき、モータ４の回転停止（延いては、モータ４のロック）を判断する。
【００７１】
すなわち、外部割り込み処理は、ホールＩＣ５０からモータ４の所定回転角度毎（例えば、３０度毎）に出力されるパルス信号に同期して実行される処理であり、図７に示すように、処理が開始されると、ホールＩＣ５０からの検出信号に基づき、モータ４の回転位置を検出する。
【００７２】
そして、続くＳ３２０では、Ｓ３１０にて検出された回転位置の最新値と前回値とから、モータ４の回転方向が、正逆切換スイッチ２２を介して設定された回転方向と一致しているか否かを判断することで、モータ４の回転方向が正常であるか否かを判断する。
【００７３】
Ｓ３２０にて、モータ４の回転方向が、正逆切換スイッチ２２にて設定された回転方向と一致し、正常であると判断されると、Ｓ３３０に移行して、逆回転カウンタの値が「０」であるか否かを判断し、逆回転カウンタの値が「０」であれば、Ｓ３４０に移行する。
【００７４】
そして、Ｓ３４０では、比較カウンタをクリアし、Ｓ３５０にて、モータ制御処理にて生成された制御信号（通電制御パターン）に従い、ゲート回路４４に駆動信号を出力するゲート出力処理を実行した後、外部割り込み処理を終了する。
【００７５】
また、Ｓ３２０にて、モータ４の回転方向が、正逆切換スイッチ２２にて設定された回転方向とは逆方向であると判断された場合には、Ｓ３６０に移行して、逆回転カウンタをインクリメント（＋１）し、Ｓ３８０に移行する。
【００７６】
また、Ｓ３３０にて、逆回転カウンタの値は「０」ではないと判断された場合には、逆回転カウンタをデクリメント（−１）し、Ｓ３８０に移行する。そして、Ｓ３８０では、比較カウンタをインクリメント（＋１）し、Ｓ３５０のゲート出力処理に移行する。
【００７７】
つまり、ホールＩＣ５０から出力されるＵ、Ｖ、Ｗ各相の検出信号は、モータ４の基準回転角度（例えば９０度）毎にレベルが反転するパルス信号であり、各相Ｕ、Ｖ、Ｗ毎に基準回転角度の１／３（例えば３０度）だけ位相がずれるように設定されている。
【００７８】
このため、図８（ａ）、（ｂ）に示すように、モータ４の正転時と逆転時とでは、ホールＩＣ５０から出力される各相の検出信号の変化パターンが異なり、その変化パターンから、モータ４の回転方向を検出できる。
【００７９】
そして、例えば、ネジ締め時等、モータ４の正方向への回転駆動時に工具ビットがロックし、モータ４の回転が停止すると、ホールＩＣ５０から出力されるＵ、Ｖ、Ｗ各相の検出信号も、その停止位置に対応した信号レベル（ハイ又はロー）に一旦固定される。
【００８０】
しかし、実際には、通電により発生する駆動トルクの変動によって、モータ４は微振動する。そして、その微振動により、図８（ｃ）に示すように、ホールＩＣ５０から出力されるＵ、Ｖ、Ｗ各相の検出信号は、ホールＩＣ５０にて検出可能な回転角度の分解能（例えば３０度）を越えて変化する。
【００８１】
このため、例えば、特許文献１に記載のように、単に、モータ４の回転停止時に、モータ４のロックを判定するようにすると、モータ４の微振動により検出信号が変動しているときに、モータ４のロックを判定できないことが考えられる。
【００８２】
そこで、本実施形態では、工具ビットの回転がロックすることにより、モータ４が微振動しているときに、正常にロック判定を実施できるように、モータ４の逆転時及び正転時に、逆転カウンタ及び比較カウンタを更新する。
【００８３】
また、この更新は、モータ４の逆回転時及び正転時に逆回転カウンタを加算及び減算し、その加・減算に連動して、比較カウンタを加算してゆくことで、モータ４の回転位置が逆転する前の位置に戻るまで（逆回転カウンタ＝０になるまで）の間にモータ４が微振動した回数をカウントする。
【００８４】
そして、Ｓ１６０のロック判定処理では、この回数（つまり比較カウンタの値）が所定のしきい値に達した時点で、モータ４が停止したと判断する。
すなわち、図９に示すように、Ｓ１６０のロック判定処理では、まず、Ｓ４１０にて、トリガスイッチ２１がオン状態であるか否かを判断する。そして、トリガスイッチ２１がオン状態でなければ（つまり、トリガスイッチ２１が操作されていなければ）、Ｓ４２０に移行して、ロック判定を解除すると共に、比較カウンタ及び逆回転カウンタをクリアし、当該ロック判定処理を終了する。
【００８５】
一方、Ｓ４１０にてトリガスイッチ２１がオン状態であると判断されると、Ｓ４３０に移行して、当該ロック判定処理若しくはＳ１７０の過負荷判定処理にて、モータ４のロック若しくは過負荷が既に判定されているか否かを判断する。
【００８６】
そして、モータ４のロック若しくは過負荷が判定されていれば、そのまま当該ロック判定処理を終了し、モータ４のロック若しくは過負荷が判定されていなければ、Ｓ４４０に移行する。
【００８７】
Ｓ４４０では、Ｓ１５０の電流検出処理にて検出されたモータ電流（検出電流）が、予めロック判定用として設定された電流しきい値以上になっているか否かを判断し、検出電流が電流しきい値に達していなければ、Ｓ４２０の処理を実行した後、当該ロック判定処理を終了する。
【００８８】
また、Ｓ４４０にて、検出電流が電流しきい値以上になっていると判断されると、Ｓ４５０に移行し、図７の外部割り込み処理にて更新される比較カウンタの値が、予めロック判定用として設定されたしきい値以上であるか否か（換言すれば、モータ４が所定回数以上微振動したか否か）を判断する。
【００８９】
そして、比較カウンタの値がしきい値に達していなければ、Ｓ４２０の処理を実行した後、当該ロック判定処理を終了する。また、比較カウンタの値がしきい値以上でれば、Ｓ４６０にて、モータ４のロックを判定して、その旨をメモリ（ＲＡＭ４６ｃ等）に記憶した後、当該ロック判定処理を終了する。
【００９０】
次に、Ｓ１７０の過負荷判定処理は、Ｓ１５０の電流検出処理にて検出されたモータ電流に基づき、モータ４の駆動時にモータ４に加わる負荷の累積値を更新し、その負荷の累積値が所定の過負荷判定用のしきい値以上になったときに、モータ４の過負荷運転を判定するための処理である。
【００９１】
図１０に示すように、この過負荷判定処理では、まずＳ５１０にて、トリガスイッチ２１がオン状態であるか否かを判断する。そして、トリガスイッチ２１がオン状態でなければ（つまり、トリガスイッチ２１が操作されていなければ）、Ｓ５２０に移行して、累積値をクリアし、後述の加算値設定処理による加算値の設定を解除し、当該過負荷判定処理を終了する。
【００９２】
一方、Ｓ５１０にてトリガスイッチ２１がオン状態であると判断されると、Ｓ５３０に移行して、累積値の更新に用いる加算値が既に設定されているか否かを判断する。
そして、加算値が設定されていなければ、Ｓ５４０の加算値設定処理を実行することで、加算値を設定した後、Ｓ５５０に移行し、加算値が設定されていれば、そのままＳ５５０に移行する。
【００９３】
Ｓ５５０では、モータ４のロック若しくは過負荷が既に判定されているか否かを判断する。そして、モータ４のロック若しくは過負荷が判定されていれば、そのまま過負荷判定処理を終了し、モータ４のロック若しくは過負荷が判定されていなければ、Ｓ５６０に移行する。
【００９４】
Ｓ５６０では、Ｓ１５０の電流検出処理にて検出されたモータ電流が、予め過負荷判定用として設定されたしきい値１（例えば、図１２に示す２０Ａ）以上になっているか否かを判断し、モータ電流がしきい値１に達していなければ、Ｓ５７０に移行する。そして、Ｓ５７０では、累積値をクリアし、当該過負荷判定処理を終了する。
【００９５】
次に、Ｓ５６０にて、モータ電流がしきい値１以上であると判断されると、Ｓ５８０に移行し、モータ電流が、しきい値１よりも大きいしきい値２（例えば、図１２に示す３０Ａ）以上になっているか否かを判断する。
【００９６】
そして、モータ電流がしきい値２に達していなければ、Ｓ５９０に移行し、現在の累積値に加算値設定処理で設定された加算値１を加算することで、累積値を更新し、Ｓ６３０に移行する。
【００９７】
また、Ｓ５８０にて、モータ電流がしきい値２以上であると判断されると、Ｓ６００に移行し、モータ電流が、しきい値２よりも大きいしきい値３（例えば、図１２に示す４０Ａ）以上になっているか否かを判断する。
【００９８】
そして、モータ電流がしきい値３に達していなければ、Ｓ６１０に移行し、現在の累積値に、加算値設定処理で設定された加算値２（加算値２＞加算値１）を加算することで、累積値を更新し、Ｓ６３０に移行する。
【００９９】
また、Ｓ６００にて、モータ電流がしきい値３以上であると判断されると、Ｓ６２０に移行し、現在の累積値に、加算値設定処理で設定された加算値３（加算値３＞加算値２）を加算することで、累積値を更新し、Ｓ６３０に移行する。
【０１００】
Ｓ６３０では、Ｓ５９０、Ｓ６１０、又はＳ６２０にて更新された累積値が、過負荷判定用のしきい値（図１２に示す過負荷しきい値）以上になったか否かを判断する。
そして、累積値が過負荷判定用のしきい値以上になっていれば、Ｓ６４０にて、モータ４が過負荷状態にあることを判定し、その旨をメモリ（ＲＡＭ４６ｃ等）に記憶した後、当該過負荷判定処理を終了する。また、累積値が過負荷判定用のしきい値に達していなければ、そのまま当該過負荷判定処理を終了する。
【０１０１】
従って、この過負荷判定処理では、モータ４の駆動時に、モータ電流が大きくなるに従い、累積値が増加し、その累積値に基づき、モータ４の過負荷運転が判定されることになる。
【０１０２】
ところで、累積値を更新するのに使用される加算値１〜加算値３を固定値にしていると、モータ４が頻繁に駆動されて、モータ４が充分冷却されていないときに、モータ４の過負荷状態を良好に判定できないことが考えられる。
【０１０３】
そこで、本実施形態では、モータ４の過負荷状態を表す累積値を更新するのに用いられる加算値１〜加算値３を、Ｓ５４０の加算値設定処理にて、Ｓ１４０のモータオン／オフ時間計測処理にて計測されたモータオン／オフ時間（詳しくはオフ時間）や、トリガスイッチ２１のオン／オフ回数に基づき設定する。
【０１０４】
図１１に示すように、加算値設定処理では、Ｓ７１０にて、モータ４の前回の駆動時に過負荷運転を判定していたか否かを判断し、過負荷運転を判定していた場合には、Ｓ７２０に移行して、過負荷判定を解除し、Ｓ７３０に移行する。
【０１０５】
Ｓ７３０では、モータオン／オフ時間（この場合、トリガスイッチがオン操作された直後であることから、モータ４のオフ時間）が、予め設定された判定時間△Ｔ（例えば１０秒）以上であるか否かを判断する。
【０１０６】
そして、Ｓ７３０では、モータオン／オフ時間が判定時間△Ｔ以上であれば、モータ４の停止期間は充分長く、モータ４は冷却されていると判断し、Ｓ７４０に移行する。
なお、Ｓ７３０にて用いられる判定時間△Ｔは、モータ４の過負荷運転を判定し、モータ４の駆動を停止してから、モータの蓄熱量が所定値以下になるのに要する放熱期間を実験等で求め、その値に所定のオフセット時間を加えることにより設定されている。
【０１０７】
また、Ｓ７１０にて、モータ４の前回の駆動時には過負荷運転を判定していないと判断された場合にも、Ｓ７４０に移行する。
そして、Ｓ７４０では、トリガオン／オフ回数、及び、その回数計算用のレジスタの値をクリアし、Ｓ８１０に移行する。
【０１０８】
次に、Ｓ７３０にて、モータオン／オフ時間が判定時間△Ｔに達していない（換言すれば、モータ４は充分冷却されていない）と判断された場合には、Ｓ７５０に移行して、モータオン／オフ時間及びトリガオンオフ回数を、時間計算用レジスタ及び回数計算用レジスタに格納する。
【０１０９】
そして、続くＳ７６０では、時間計算用レジスタの値が「０」であるか否かを判断し、時間計算用レジスタの値が「０」でなければ、Ｓ７７０に移行する。
Ｓ７７０では、回数計算用レジスタの値を２で除算することで、回数計算用レジスタの値を更新し、Ｓ７８０にて、回数計算用レジスタの値が０（詳しくは１未満）になったか否かを判断する。
【０１１０】
そして、回数計算用レジスタの値が１未満であれば、Ｓ８００に移行して、トリガオン／オフ回数をインクリメントし、Ｓ８１０に移行する。
また、Ｓ７８０にて、回数計算用レジスタの値は、１未満になっていないと判断されると、Ｓ７９０に移行して、時間計算用レジスタの値をデクリメント（−１）することで、時間計算用レジスタの値を更新し、再度Ｓ７６０に移行する。
【０１１１】
次に、Ｓ８１０では、回数計算用レジスタの値を加算値として設定し、続くＳ８２０にて、その設定した加算値を、予め設定されている初期加算値１〜３にそれぞれ加算することで、累積値更新用の加算値１〜３を設定する。
【０１１２】
そして、続くＳ８３０では、加算値１〜３を設定済みであることを記憶し、当該加算値設定処理を終了する。
ここで、Ｓ７６０〜Ｓ７９０の処理は、モータ４の駆動の度に過負荷が判定されているときのトリガスイッチ２１のオン／オフ回数（トリガオン／オフ回数）と、過負荷判定後のモータ４の駆動停止期間（モータオン／オフ時間）とに基づき、Ｓ８１０にて設定される加算値（換言すれば、加算値１〜３の補正値）の値を設定するための処理である。
【０１１３】
そして、本実施形態では、Ｓ７６０〜Ｓ７９０の処理により、トリガオン／オフ回数が多いほど、また、モータオン／オフ時間（詳しくはオフ時間）が短いほど、Ｓ８１０にて設定される加算値が大きくなるように設定される。
【０１１４】
従って、本実施形態の充電式ドライバドリル１においては、図１２に示すように、累積値がしきい値に達して、モータ４の過負荷運転が判定され、モータ４の駆動が停止されてから（時点ｔ１）、次に、トリガスイッチ２１が操作されて、モータ４の駆動を開始するまで（時点ｔ２）の時間が、短い場合には、累積値を更新する際に用いられる加算値１〜３が前回値より大きい値に設定され、累積値がより早く過負荷しきい値に達するようになる。
【０１１５】
また、トリガスイッチ２１のオン／オフ回数が多い場合（つまりモータ４が高頻度で駆動される場合）にも、累積値を更新する際に用いられる加算値１〜３が前回値より大きい値に設定され、累積値がより早く過負荷しきい値に達するようになる。
【０１１６】
つまり、本実施形態では、モータ４の過負荷運転を最初に検出したときに比べ、２回目以降に過負荷運転を検出したときの方が、トリガスイッチ２１がオンされてからモータ４の駆動を停止するまでの時間が短くなるように、モータ４の駆動を制御するようにされている。
【０１１７】
よって、本実施形態の充電式ドライバドリル１によれば、モータ４の過負荷運転が検出された後のモータ４の停止時間（換言すれば冷却時間）が短い場合や、モータ４の駆動頻度が高い場合にでも、モータ４の過負荷運転を適正に検出して、モータ４を過負荷運転から保護することができる。
【０１１８】
また、本実施形態では、モータ４のロック判定は、ホールＩＣ５０からの出力が変動しなくなったとき（つまり、モータ４の回転が停止しているとき）ではなく、モータ４が微振動しているときに行うようにしている。
【０１１９】
このため、本実施形態の充電式ドライバドリル１によれば、モータ４が略停止状態で微振動しているときに、モータ４のロックを判定できず、モータ４への通電が継続されてしまうのを防止できる。
【０１２０】
なお、モータ４のロック判定は、減速機構６の出力軸７にチャック部１６を介して接続される工具ビットの回転停止（つまりロック）を検出するために行われるものである。
そこで、本実施形態では、制御手段としての制御回路４６において、モータ４の正転と逆転とが繰り返されたことを比較カウンタにてカウントし、そのカウント値が所定のしきい値以上になると、モータ４がロックしたと判定するようにし、更に、比較カウンタは、モータ４の回転位置が逆転する前の元の位置に戻ったときに（逆転カウンタ＝０）、クリアするようにしている。
【０１２１】
しかし、こうしたロック判定は、必ずしも本実施形態のように行う必要はなく、単に、モータ４の逆転と正転とが繰り返されたことをカウントして、そのカウント値が所定値以上になったときに、モータ４（延いては工具ビット等の先端工具）のロックを判定して、モータ４の駆動を停止するようにしてもよい。
【０１２２】
また、モータ４の逆転と正転とが繰り返されているときだけでなく、モータ４の回転位置（詳しくはホールＩＣ５０等の回転位置センサからの位置検出信号）が一定時間以上変化しないときにも、モータ４のロックを判定して、モータ４の駆動を停止するようにしてもよい。
【０１２３】
また、操作部であるトリガスイッチ２１が操作されているにもかかわらず、モータ４により回転駆動される工具ビット等の先端工具が停止し、且つ、モータ４が微振動しているときに、モータ４（延いては工具ビット等の先端工具）のロックを判定して、モータ４の駆動を停止するようにしてもよい。
【０１２４】
また次に、本実施形態では、モータ４の駆動時に、モータ４の過負荷判定及びロック判定を行い、モータ４の駆動を停止するだけでなく、モータ４の駆動開始直後に、正逆切換スイッチ２２による設定回転方向及びモータ４の実回転方向を確認し、設定回転方向や実回転方向がモータ駆動時の設定とは異なる場合にも、モータ４の駆動を停止する。
【０１２５】
従って、本実施形態の充電式ドライバドリル１によれば、正逆切換スイッチ２２からの出力に異常が生じたときや、モータ４の駆動開始時に既に工具ビットがロックしているときに、モータ４の駆動開始後、速やかにモータ４の駆動を停止させ、使用者に対し異常を通知することができる。
【０１２６】
なお、本実施形態においては、制御回路４６が本発明の過負荷判定手段及び制御手段として機能する。そして、特に、制御回路４６にて実行されるモータ駆動処理のうち、図１０に示した過負荷判定処理にて、本発明の過負荷判定手段としての機能が実現され、図１１に示す加算値設定処理にて、過負荷検出手段による過負荷運転の判定条件を変更する機能が実現される。
【０１２７】
以上、本発明の一実施形態について説明したが、本発明は、上記実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内にて、種々の態様をとることができる。
例えば、上記実施形態では、モータ電流を、モータの発熱量相当値として利用し、モータの過負荷状態を表す累積値（換言すれば積算値）を更新するものとして説明したが、この累積値（積算値）を更新するのに用いるモータの発熱量相当値としては、モータ電流に代えてモータ温度を利用するようにしてもよく、或いは、モータ電流とモータ温度の両方を利用して、累積値（積算値）を更新するようにしてもよい。
【０１２８】
なお、この場合、モータ４若しくはモータ駆動装置４０内に温度センサを設け、その温度センサによる検出温度に基づき、図１０に示したＳ５６０〜Ｓ６２０と同様の手順で、累積値（積算値）を更新するようにすればよい。
【０１２９】
また、上記実施形態では、モータ４の過負荷運転の判定条件を変更するために、図１１に示す加算値設定処理を実行するようにしているが、過負荷運転の判定条件を変更するには、必ずしも、累積値を更新するための加算値１〜加算値３を変更する必要はない。
【０１３０】
つまり、図１０に示すＳ５６０、Ｓ５８０、Ｓ６００にて用いられるしきい値１〜３、若しくは、Ｓ６３０にて過負荷判定に用いられるしきい値を変更するようにしても、過負荷運転の判定条件を変更することができる。
【０１３１】
そして、このためには、図１１に示す加算値設定処理と同様の手順で、しきい値設定処理を実行し、トリガオン／オフ回数が多いほどしきい値が小さくなり、また、モータオン／オフ時間（詳しくはオフ時間）が短いほどしきい値が小さくなるように、しきい値を設定するようにすればよい。
【０１３２】
具体的には、図１１のＳ８２０にて、モータ電流判定用のしきい値１〜３、若しくは、累積値から過負荷運転を判定するためのしきい値を、これら各しきい値の初期値から回数計算用レジスタから読み取った加算値を減じることで、更新するようにすればよい。
【符号の説明】
【０１３３】
１…充電式ドライバドリル、４…モータ、５…ロータ、６…減速機構、７…出力軸、１０…工具本体、１１…ハウジング、１２…グリップ部、１４…モータ収納部、１６…チャック部、２１…トリガスイッチ、２１ａ…操作部、２１ｂ…スイッチ本体部、２２…正逆切換スイッチ、２３…照明ＬＥＤ、２４…残容量表示部、２９…バッテリ、３０…バッテリパック、４０…モータ駆動装置、４２…駆動回路、４４…ゲート回路、４６…制御回路、４６ａ…ＣＰＵ、４６ｂ…ＲＯＭ、４６ｃ…ＲＡＭ、４８…レギュレータ、５０…ホールＩＣ、５２…バッテリ電圧検出部、５４…電流検出回路。
【図３】
2015013327.tif 000003
【図４】
2015013327.tif 000004
【図５】
2015013327.tif 000005
【図６】
2015013327.tif 000006
【図７】
2015013327.tif 000007
【図８】
2015013327.tif 000008
【図９】
2015013327.tif 000009
【図１０】
2015013327.tif 000010
【図１１】
2015013327.tif 000011
【図１２】
2015013327.tif 000012
【図１】
2015013327.tif 000013
【図２】
2015013327.tif 000014