(57)【要約】【課題】工具本体が出力軸周りに振り回されたことと、被加工材を打撃することによって出力軸に加わる負荷とを、工具本体の大型化を招くことなく検出できるようにする。【解決手段】電動工具は、モータの回転により出力軸を軸周りに回転させると共に出力軸を軸方向に往復動させる動力伝達機構と、モータ制御部と、これらを収容するハウジングと、ハウジングの出力軸周りの回転から振り回され状態を検出する振り回され検出部と、ハウジングの出力軸方向の振動から先端工具から出力軸に加わる負荷を検出する負荷状態検出部とを備える。振り回され検出部及び負荷状態検出部は、ハウジングの運動状態を検出する共通のセンサを利用して、ハウジングの回転及び出力軸方向の振動を検知する。【選択図】図１
2018058188.tif 000002
【特許請求の範囲】
【請求項１】
モータと、
軸方向一端側に先端工具を装着可能な出力軸と、
前記モータの回転を前記出力軸に伝達することで、前記出力軸を軸周りに回転させると共に、前記出力軸を軸方向に往復動させる動力伝達機構と、
外部からの指令に従い前記モータを駆動制御するモータ制御部と、
前記モータ、前記出力軸、前記動力伝達機構及び前記モータ制御部を収容するハウジングと、
前記ハウジングの前記出力軸周りの回転から前記ハウジングの振り回され状態を検出し、前記モータ制御部に前記モータの駆動を停止又は抑制させる振り回され検出部と、
前記ハウジングの前記出力軸方向の振動から前記先端工具を介して前記出力軸に負荷が加わっているか否かを判定し、無負荷時には、前記モータ制御部に対し前記モータの回転速度を無負荷時回転速度以下に制限させる負荷状態検出部と、
を備え、前記振り回され検出部及び前記負荷状態検出部は、前記ハウジングの運動状態を検出する共通のセンサからの検出信号に基づき、前記ハウジングの前記出力軸周りの回転及び前記出力軸方向の振動を検知するよう構成されている、電動工具。
【請求項２】
前記センサは、前記ハウジングに加わる加速度を検出する加速度センサであり、
前記振り回され検出部は、前記加速度センサから前記ハウジングが前記出力軸周りに回転する方向の加速度を取得し、該加速度に基づき前記振り回され状態を検出するよう構成され、
前記負荷状態検出部は、前記加速度センサから前記出力軸方向の加速度を取得し、該加速度から前記出力軸に負荷が加わっているか否かを判定するよう構成されている、請求項１に記載の電動工具。
【請求項３】
前記振り回され検出部及び前記負荷状態検出部の少なくとも一方は、前記加速度センサからの検出信号を、ハイパスフィルタとして機能するデジタルフィルタにてフィルタリング処理することで、低周波の不要信号成分を除去した加速度を取得するよう構成されている、請求項２に記載の電動工具。
【請求項４】
前記振り回され検出部又は前記負荷状態検出部は、前記フィルタリング処理により得られる前記加速度を、前記モータ制御部が前記モータの駆動を停止しているときにリセットするよう構成されている、請求項３に記載の電動工具。
【請求項５】
前記加速度センサは、２軸以上の検出軸方向の加速度を検出可能な多軸加速度センサである、請求項２〜請求項４の何れか１項に記載の電動工具。
【請求項６】
前記加速度センサは、加速度の検出軸が１軸であり、該検出軸が、前記出力軸と、前記出力軸と直交し前記出力軸周りの回転を検出可能な直交軸とで形成される平面上で、前記出力軸及び前記直交軸に対し斜めになるよう、前記ハウジングに固定されている、請求項２〜請求項４の何れか１項に記載の電動工具。
【請求項７】
前記モータに流れる電流から前記先端工具を介して前記出力軸に加わる負荷を検出する電流負荷検出部を備え、
前記モータ制御部は、前記電流負荷検出部と前記負荷状態検出部との両方で無負荷状態が検出されているときに、前記モータの回転速度を無負荷時回転速度以下に制限するよう構成されている、請求項１〜請求項６の何れか１項に記載の電動工具。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、先端工具が装着される出力軸を軸方向に往復動させる打撃動作と、出力軸を軸周りに回転させる回転動作とを実施可能な電動工具に関する。
【背景技術】
【０００２】
この種の電動工具においては、出力軸の回転動作によって先端工具が被加工材に食い付き、工具本体が出力軸周りに振り回されることがある。このため、工具本体が出力軸周りに回転して振り回されたことを、加速度センサを用いて検出し、動力源であるモータの駆動を停止することが提案されている（例えば、特許文献１参照）。
【０００３】
また、この種の電動工具は、先端工具を被加工材に当接させることにより、被加工材のハツリ作業や穴あけ作業を実施できるが、先端工具が被加工材に当接されず、先端工具から出力軸に負荷が加わっていないときには、モータの回転速度を上昇させる必要がない。
【０００４】
このため、出力軸に負荷が加わっていない無負荷時にはモータを低回転で駆動し、出力軸に負荷が加わると、モータの回転速度を上昇させる無負荷時低速回転制御（以下、本明細書ではソフトノーロード制御ともいう）を実施することも提案されている（例えば、特許文献２参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第３６３８９７７号公報
【特許文献２】特開２００８−１７８９３５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
こうしたソフトノーロード制御を実施する場合、先端工具に負荷が加わっているか否かを検出する必要がある。そして、この負荷検出には、特許文献１に記載されているように、通常、モータに流れる電流が利用される。
【０００７】
しかしながら、モータに流れる電流にて負荷・無負荷を判定する場合、出力軸の回転に対する負荷状態は検出できるものの、出力軸の往復動による被加工材の打撃に対する負荷状態は、打撃によって生じる電流変化が小さいことから、良好に検出できないことがある。
【０００８】
このため、モータに流れる電流に基づき、出力軸の負荷・無負荷を検出して、ソフトノーロード制御を実施すると、先端工具による被加工材の打撃が開始されても、その旨を検出できず、モータの回転速度を上昇させることができなくなることがある。
【０００９】
一方、被加工材の打撃によって出力軸に負荷が加わったことを検出できるようにする方法として、打撃時に工具本体に発生する振動を検出することが考えられる。この方法で出力軸に加わる負荷を検出するには、工具本体に振動検出用（換言すれば負荷検出用）のセンサを設けるようにすればよい。
【００１０】
しかし、工具本体に、出力軸周りに振り回されたことを検出するためのセンサが設けられている場合、振動検出用（負荷判定用の検出用）のセンサを別途設けるには、センサ設置用のスペースを確保しなければならず、電動工具の小型化の妨げになる。また、電動工具の部品点数が増加し、センサ組み付けのための工数も増加するため、電動工具のコストアップを招く。
【００１１】
本開示の一局面は、電動工具において、工具本体が出力軸周りに振り回されたことと、被加工材を打撃することによって出力軸に加わる負荷とを、検出でき、しかも、工具本体の大型化を招くことなく実現できるようにすることが望ましい。
【課題を解決するための手段】
【００１２】
本開示の一局面の電動工具は、モータと、軸方向一端側に先端工具を装着可能な出力軸と、モータの回転を出力軸に伝達する動力伝達機構と、外部からの指令に従いモータを駆動制御するモータ制御部とを備える。
【００１３】
動力伝達機構は、モータの回転を出力軸に伝達することで、出力軸を軸周りに回転させると共に、出力軸を軸方向に往復動させる。このため、本開示の電動工具は、所謂ハンマドリルのように、被加工材のハツリ作業や穴あけ作業を実施できる。
【００１４】
また、モータ、出力軸、動力伝達機構及びモータ制御部は、工具本体を構成するハウジング内に収容されている。
また、本開示の電動工具には、振り回され検出部と負荷状態検出部が備えられている。振り回され検出部は、ハウジングの出力軸周りの回転からハウジングの振り回され状態を検出し、モータ制御部にモータの駆動を停止又は抑制させるためのものである。
【００１５】
また、負荷状態検出部は、ハウジングの出力軸方向の振動から先端工具を介して出力軸に負荷が加わっているか否かを判定し、無負荷時には、モータ制御部に対しモータの回転速度を無負荷時回転速度以下に制限させるためのものである。
【００１６】
そして、振り回され検出部及び負荷状態検出部は、ハウジングの運動状態を検出する共通のセンサからの検出信号に基づき、ハウジングの出力軸周りの回転及び出力軸方向の振動を検知するよう構成されている。
【００１７】
このため、本開示の電動工具によれば、ハウジングが出力軸周りに振り回されたことと、先端工具から出力軸に負荷が加わっているか否かを、共通のセンサを利用して検出できるようになり、これらの状態を検出するために、個々に専用のセンサを設ける必要がない。
【００１８】
よって、本開示の電動工具は、センサ配置用のスペースを確保するために、工具本体を大きくする必要がなく、容易に実現できる。また、部品点数も少なくすることができるので、電動工具のコストも低減できる。
【００１９】
ここで、振り回され検出部及び負荷状態検出部が共用するセンサとしては、ハウジングに加わる加速度を検出する加速度センサを利用することができる。
この場合、振り回され検出部は、加速度センサからハウジングが出力軸周りに回転する方向の加速度を取得し、その加速度に基づき振り回され状態を検出するよう構成されていてもよい。また、負荷状態検出部は、加速度センサから出力軸方向の加速度を取得し、その加速度から出力軸に負荷が加わっているか否かを判定するよう構成されていてもよい。
【００２０】
また、振り回され検出部及び負荷状態検出部の少なくとも一方は、加速度センサからの検出信号を、ハイパスフィルタとして機能するデジタルフィルタにてフィルタリング処理することで、低周波の不要信号成分を除去した加速度を取得するよう構成されていてもよい。
【００２１】
このようにすれば、加速度センサからの検出信号をアナログフィルタ（ハイパスフィルタ）に入力することで、低周波の不要信号成分を除去するようにした場合に比べ、加速度の検出精度を高めることができる。
【００２２】
つまり、加速度の検出信号をアナログフィルタで信号処理するようにした場合、電動工具への電源投入直後には、ハイパスフィルタを含む検出回路の基準電圧が０Ｖから規定電圧に急上昇するので、検出回路から出力される検出信号が安定するのに時間がかかる。
【００２３】
これに対し、加速度の検出信号をデジタルフィルタにてフィルタリング処理するようにすれば、電源投入直後の検出信号の信号レベルを初期値に設定できるので、検出信号（データ）が変動することがない。
【００２４】
このため、電動工具への電源投入直後から加速度を精度よく検出できるようになり、加速度の検出誤差によって、振り回され状態の有・無を誤検出するのを抑制できる。
なお、このように、振り回され検出部又は負荷状態検出部において、加速度センサからの検出信号をデジタルフィルタにてフィルタリング処理するようにした場合、その処理により得られる加速度は、モータ制御部がモータの駆動を停止しているときにリセットするようにしてもよい。
【００２５】
これはモータの停止時には、ハウジングが出力軸周りに振り回されることはなく、また、打撃動作も実施されないためであり、モータの停止時にデジタルフィルタによる演算結果である加速度をリセットすることで、演算結果に誤差が蓄積されるのを防止できる。
【００２６】
また、加速度センサは、２軸以上の検出軸方向の加速度を検出可能な多軸加速度センサであってもよく、加速度の検出軸が１軸の加速度センサであってもよい。
多軸加速度センサの場合、振り回され検出部及び負荷状態検出部は、多軸加速度センサにて検出された各検出軸方向の加速度のうち、ハウジングの出力軸周りの回転若しくはハウジングの出力軸方向の振動を検出するのに適した加速度を利用するようにすればよい。
【００２７】
一方、検出軸が１軸の加速度センサの場合、出力軸と、出力軸と直交し出力軸周りの回転を検出可能な直交軸とで形成される平面上で、加速度の検出軸が、出力軸及び直交軸に対し斜めになるよう、ハウジングに固定されているとよい。
【００２８】
つまり、このように加速度センサが配置されていれば、振り回され検出部及び負荷状態検出部は、加速度センサにて検出された検出軸方向の加速度から、直交軸方向或いは出力軸方向の加速度を求めることができる。
【００２９】
よって、加速度センサが１軸方向の加速度しか検出できない場合であっても、振り回され検出部及び負荷状態検出部において、ハウジングの振り回され状態或いは出力軸の負荷状態を検出することができるようになる。
【００３０】
また本開示の一局面の電動工具には、モータに流れる電流から先端工具を介して出力軸に加わる負荷を検出する電流負荷検出部が備えられていてもよい。この場合、電流負荷検出部では、出力軸の回転によって外部から先端工具に加わる負荷を検出できることになるので、モータ制御部は、電流負荷検出部と負荷状態検出部との両方で無負荷状態が検出されているときに、モータの回転速度を無負荷時回転速度以下に制限するようにしてもよい。
【００３１】
このようにすれば、外部から出力軸に加わる負荷を、負荷状態検出部と電流負荷検出部の両方で検出できるので、出力軸に負荷が加わったときには、その旨を速やかに検出して、モータを外部からの指令に従い駆動することができるようになる。つまり、出力軸に負荷が加わっているにもかかわらず、ソフトノーロード制御によってモータの回転速度が制限されるのを抑制できる。
【図面の簡単な説明】
【００３２】
【図１】実施形態のハンマドリルの構成を表す断面図である。
【図２】ハンマドリルの外観を表す斜視図である。
【図３】集塵装置が取り付けられたハンマドリルを表す側面図である。
【図４】ハンマドリルの駆動系の電気的構成を表すブロック図である。
【図５】モータ制御部の制御回路にて実行される制御処理を表すフローチャートである。
【図６】図５に示す入力処理の詳細を表すフローチャートである。
【図７】図５に示すモータ制御処理の詳細を表すフローチャートである。
【図８】図７に示すソフトノーロード処理の詳細を表すフローチャートである。
【図９】図５に示すＡ／Ｄ変換処理にて実行される電流負荷検出処理を表すフローチャートである。
【図１０】図５に示す出力処理の詳細を表すフローチャートである。
【図１１】図１０に示すモータ駆動、回転方向出力処理の詳細を表すフローチャートである。
【図１２】振り回され検出部の加速度検出回路にて実行される加速度負荷検出処理を表すフローチャートである。
【図１３】振り回され検出部の加速度検出回路にて実行される振り回され検出処理を表すフローチャートである。
【図１４】図１２及び図１３に示す検出処理におけるハイパスフィルタの動作をアナログフィルタと比較して表す説明図である。
【図１５】検出軸が１軸の加速度センサをハンマドリルへ設ける場合の配置方法を説明する説明図である。
【発明を実施するための形態】
【００３３】
以下に本発明の実施形態を図面と共に説明する。
本実施形態のハンマドリル２は、ハンマビット等の先端工具４を、長軸方向に打撃動作させたり、長軸周りに回転動作させたりすることで、被加工材（例えば、コンクリート）に対しハツリ作業や穴あけ作業を行うためのものである。
【００３４】
図１に示すように、ハンマドリル２は、ハンマドリル２の外郭を形成する本体ハウジング１０を主体として構成されており、本体ハウジング１０の先端領域には、先端工具４が、出力軸としての筒状のツールホルダ６を介して取り外し可能に取り付けられる。
【００３５】
先端工具４は、ツールホルダ６のビット挿入孔６ａ内に挿入され、ツールホルダ６に対して、長軸方向への相対的な往復動が可能で、且つ、長軸方向周りの周方向への相対的な回動が規制された状態で保持される。
【００３６】
本体ハウジング１０は、モータ８を収容するモータハウジング１２と、運動変換機構２０、打撃要素３０、回転伝達機構４０、及び、モード切替機構５０を収容するギヤハウジング１４と、を主体として構成されている。なお、運動変換機構２０、打撃要素３０、及び、回転伝達機構４０は、本開示の動力伝達機構に相当する。
【００３７】
本体ハウジング１０において、先端工具４が取り付けられるツールホルダ６とは反対側には、ハンドグリップ１６が連接されている。ハンドグリップ１６には、作業者が把持する把持部１６Ａが形成されている。この把持部１６Ａは、先端工具４の長軸（換言すればツールホルダ６の中心軸）に交差する方向（図１の上下方向）に長くなっており、その把持部１６Ａの一部は、先端工具の長軸の延長線（長軸線）上に位置する。
【００３８】
ハンドグリップ１６において、把持部１６Ａの一端側（先端工具４の長軸線に近接した側）は、ギヤハウジング１４に連接されており、把持部１６Ａの他端部（先端工具４の長軸線から離間した側）は、モータハウジング１２に連接されている。
【００３９】
ハンドグリップ１６は、モータハウジング１２に対し支持軸１３を介してその軸周りに揺動可能に固定され、ハンドグリップ１６とギヤハウジング１４とは、防振用のスプリング１５を介して接続されている。
【００４０】
このため、先端工具４の打撃動作によってギヤハウジング１４（換言すれば本体ハウジング１０）に発生した振動は、スプリング１５により抑制され、ハンドグリップ１６は、本体ハウジング１０に対し防振されることになる。
【００４１】
なお、以下の説明では、説明の便宜上、先端工具４の長軸方向に関して、先端工具４側を前側と規定し、ハンドグリップ１６側を後側と規定する。また、先端工具４の長軸方向に直交し、把持部１６Ａが延在する方向（図１の上下方向）に関して、ハンドグリップ１６とギヤハウジング１４との連接部側を上側と規定し、ハンドグリップ１６とモータハウジング１２との連接部側を下側と規定する。
【００４２】
また、以下の説明では、ツールホルダ６に装着された先端工具４の長軸（換言すれば出力軸としてのツールホルダ６の中心軸）をＺ軸、このＺ軸に直交する上下方向をＹ軸、これら各軸に直交する左右方向（換言すれば本体ハウジング１０の幅方向）をＸ軸と規定する（図２参照）。
【００４３】
本体ハウジング１０には、先端工具４の長軸方向に関して、前方側にギヤハウジング１４が配置され、ギヤハウジングの１４の下方側にモータハウジング１２が配置されている。そして、ギヤハウジング１４の後方にハンドグリップ１６が連結されている。
【００４４】
本実施形態では、モータハウジング１２に収容されるモータ８として、ブラシレスモータが利用される。モータ８は、回転軸８Ａが先端工具４の長軸方向に延在する軸線（つまりＺ軸）に交差するように配置されている。すなわち、モータ８の回転軸８Ａは、ハンマドリル２の上下方向に延在する。
【００４５】
図２に示すように、ギヤハウジング１４において、先端工具４が突出される先端領域の外周部分には、環状の固定部材３６を介して、保持グリップ３８が取り付けられている。保持グリップ３８は、ハンドグリップ１６と同様、使用者が把持するためのものであり、使用者は左右の手でハンドグリップ１６と保持グリップ３８を把持することで、ハンマドリル２をしっかり保持することができる。
【００４６】
図３に示すように、モータハウジング１２の前側には集塵装置６６を装着できるようになっている。このため、図１、図２に示すように、モータハウジング１２において、モータ８の下方の前側には、集塵装置６６を固定するための凹部が設けられており、この凹部には、集塵装置６６と電気的に接続するためのコネクタ６４が設けられている。
【００４７】
また、モータハウジング１２において、モータ８の下方には、穴あけ作業のために先端工具４を回転動作させた際に先端工具４が被加工材に食い付いて本体ハウジング１０が振り回されたことを検出する振り回され検出部９０が収納されている。
【００４８】
次に、モータハウジング１２において、振り回され検出部９０の収納領域よりも後方には、ハンマドリル２の電源となる２つのバッテリパック６２Ａ、６２Ｂが設けられている。この２つのバッテリパック６２Ａ、６２Ｂは、モータハウジング１２の下方に設けられたバッテリ装着部６０に着脱自在に装着されている。
【００４９】
バッテリ装着部６０は、振り回され検出部９０の収納領域の下方端面（換言すれば底部）よりも上方に位置し、バッテリパック６２Ａ、６２Ｂを装着した際に、バッテリパック６２Ａ、６２Ｂの下方端面が、振り回され検出部９０の収納領域の下方端面と一致するようになっている。
【００５０】
また、モータハウジング１２において、バッテリ装着部６０の上方には、バッテリパック６２Ａ、６２Ｂから電力供給を受けて、モータ８を駆動制御するためのモータ制御部７０が設けられている。
【００５１】
モータ８の回転は、運動変換機構２０によって直線運動に変換された上で打撃要素３０に伝達され、打撃要素３０によって先端工具４の長軸方向の衝撃力が発生される。また、モータ８の回転は、回転伝達機構４０によって減速された上で先端工具４に伝達され、先端工具４が長軸周りに回転駆動される。なお、モータ８は、ハンドグリップ１６に配置されたトリガ１８の引き操作に基づいて駆動される。
【００５２】
図１に示すように、運動変換機構２０は、モータ８の回転軸８Ａの上方に配置されている。
運動変換機構２０は、回転軸８Ａによって回転駆動される中間軸２１と、中間軸２１に取り付けられた回転体２３と、中間軸２１（回転体２３）の回転に伴いハンマドリル２の前後方向に揺動される揺動部材２５と、揺動部材２５の揺動に伴ってハンマドリル２の前後方向に往復移動する筒状のピストン２７と、ピストン２７を収容するシリンダ２９を主体として構成されている。
【００５３】
中間軸２１は回転軸８Ａに交差するように配置される。ピストン２７は有底筒状部材であり、内部にストライカ３２を摺動可能に収容している。シリンダ２９は、ツールホルダ６の後方領域を形成しており、ツールホルダ６と一体に形成されている。
【００５４】
図１に示すように、打撃要素３０は、運動変換機構２０の前方であって、ツールホルダ６の後方に配置されている。打撃要素３０は、ピストン２７内に摺動可能に配置された打撃子としてのストライカ３２と、ストライカ３２の前方に配置され、ストライカ３２が衝突するインパクトボルト３４を主体として構成されている。
【００５５】
なお、ストライカ３２の後方のピストン２７内部の空間は、空気バネとして機能する空気室２７ａを形成している。したがって、ハンマドリル２の前後方向に関する揺動部材２５の揺動によって、ピストン２７が前後方向に往復移動され、これにより、ストライカ３２が駆動される。
【００５６】
すなわち、ピストン２７が前方に向かって移動することで、空気バネの作用によりストライカ３２が前方に移動されて、インパクトボルト３４に衝突する。これにより、インパクトボルト３４が前方に移動され、先端工具４に衝突する。その結果、先端工具４が被加工材を打撃する。従って、本実施形態では、ツールホルダ６に加え、インパクトボルト３４を含む打撃要素３０も本開示の出力軸である。
【００５７】
また、ピストン２７が後方に向かって移動することで、空気室２７ａ内の空気の圧力が大気圧より負圧となり、ストライカ３２が後方に移動される。また、先端工具４が被加工材を打撃した時の反力によっても、ストライカ３２およびインパクトボルト３４が後方に移動される。
【００５８】
これにより、ストライカ３２およびインパクトボルト３４が、ハンマドリル２の前後方向に往復移動する。なお、ストライカ３２およびインパクトボルト３４は、空気室２７ａの空気バネの作用によって駆動されるため、ピストン２７の前後方向の動きに対して遅れるように前後方向に動く。
【００５９】
図１に示すように、回転伝達機構４０は、運動変換機構２０の前方であって、打撃要素３０の下方に配置されている。回転伝達機構４０は、中間軸２１と共に回転する第１ギヤ４２と、第１ギヤ４２と係合する第２ギヤ４４等の複数のギヤからなるギヤ減速機構を主体として構成されている。なお、モータ８の出力軸８Ａの先端に設けられた第１ベベルギヤと、中間軸２１の後端に設けられ第１ベベルギヤと噛合する第２ベベルギヤによっても減速がなされる。
【００６０】
第２ギヤ４４は、ツールホルダ６（シリンダ２９）と一体に取り付けられており、第１ギヤ４２の回転をツールホルダ６に伝達する。これにより、ツールホルダ６に保持された先端工具４が回転される。
【００６１】
次に、本実施形態のハンマドリル２は、駆動モードとして、ハンマモード、ハンマドリルモード、及び、ドリルモードを備えている。
ハンマモードにおいては、先端工具４が長軸方向の打撃動作を行い、被加工材に対し打撃作業が行われる。ハンマドリルモードにおいては、先端工具４が長軸方向の打撃動作と長軸周りの回転動作を行う。これにより、被加工材に対してハンマドリル作業が行われる。ドリルモードにおいては、先端工具４は打撃動作を行わず、長軸周りの回転動作だけを行う。これにより、被加工材に対してドリル作業が行われる。
【００６２】
この駆動モードは、モード切替機構５０によって切り替えられる。モード切替機構５０は、図１に示す回転伝達部材５２，５４と、図３に示す切替ダイヤル５８を主体として構成されている。
【００６３】
回転伝達部材５２，５４は、略円筒状部材であり、中間軸２１に対して中間軸２１の軸方向に移動可能である。この回転伝達部材５２，５４は、中間軸２１とスプライン結合しており、中間軸２１と一体に回転する。
【００６４】
そして、回転伝達部材５２は、中間軸２１の後方に移動することで、回転体２３の前側に形成された係合溝と係合して、モータ８の回転を回転体２３に伝達する。この結果、ハンマドリル２の駆動モードは、ハンマモード又はハンマドリルモードとなる。
【００６５】
また、回転伝達部材５４は、中間軸２１の前方に移動することで、第１ギヤ４２と係合して、モータ８の回転を第１ギヤ４２に伝達する。この結果、ハンマドリル２の駆動モードは、ハンマドリルモード又はドリルモードとなる。
【００６６】
切替ダイヤル５８は、使用者により回動操作されることにより、回転伝達部材５２，５４を中間軸２１上で変位させる。そして、切替ダイヤル５８は、図３に示す３つの回動位置に切り替えられることで、ハンマドリル２の駆動モードを、ハンマモード、ハンマドリルモード、及び、ドリルモードの何れかに設定する。
【００６７】
次に、モータ制御部７０及び振り回され検出部９０の構成について図４を用いて説明する。
まず、振り回され検出部９０は、３軸（Ｘ，Ｙ，Ｚ）方向の加速度を検出する加速度センサ９２と、この加速度センサ９２からの検出信号を信号処理して本体ハウジング１０が振り回されたことを検出する加速度検出回路９４とを備える。なお、これら各部は、共通の回路基板に実装され、ケース内に収納されている。
【００６８】
加速度検出回路９４は、ＣＰＵ、ＲＯＭ、ＲＡＭ等を含むＭＣＵ（Micro Controller Unit）にて構成されている。そして、加速度検出回路９４は、後述する振り回され検出処理にて、本体ハウジング１０が先端工具４の長軸方向のＺ軸周りに所定角度以上回転したことを、加速度センサ９２からの検出信号（詳しくは加速度のＸ軸方向の出力）に基づき検出する。
【００６９】
また、加速度検出回路９４は、加速度センサ９２を利用して、先端工具４の打撃動作によって本体ハウジング１０に生じる３軸方向の振動を検出する、加速度負荷検出処理も実行する。そして、この加速度負荷検出処理では、本体ハウジング１０の振動（つまり加速度）が閾値を越えると、先端工具４に負荷が加わったことを検出する。
【００７０】
一方、モータ制御部７０は、駆動回路７２と、制御回路８０とを備える。なお、これら各部は、後述する各種検出回路と共に共通の回路基板に実装され、ケース内に収納されている。
【００７１】
駆動回路７２は、バッテリパック６２（詳しくはバッテリパック６２Ａと６２Ｂの直列回路）から電力供給を受けて、モータ８（詳しくは３相ブラシレスモータ）の各相巻線に電流を流すためのものであり、ＦＥＴからなる６つのスイッチング素子Ｑ１〜Ｑ６を備える。
【００７２】
駆動回路７２において、スイッチング素子Ｑ１〜Ｑ３は、モータ８の各端子Ｕ，Ｖ，Ｗと、バッテリパック６２の正極側に接続された電源ラインとの間に、所謂ハイサイドスイッチとして設けられている。
【００７３】
また、スイッチング素子Ｑ４〜Ｑ６は、モータ８の各端子Ｕ，Ｖ，Ｗと、バッテリパック６２の負極側に接続されたグランドラインとの間に、所謂ローサイドスイッチとして設けられている。
【００７４】
なお、バッテリパック６２から駆動回路７２に至る電力供給経路には、バッテリ電圧の電圧変動を抑制するためのコンデンサＣ１が設けられている。
制御回路８０は、加速度検出回路９４と同様、ＣＰＵ、ＲＯＭ、ＲＡＭ等を含むＭＣＵにて構成されており、駆動回路７２内のスイッチング素子Ｑ１〜Ｑ６をオン／オフさせることで、モータ８の各相巻線に電流を流し、モータ８を回転させるものである。
【００７５】
つまり、制御回路８０は、トリガスイッチ１８ａ、変速指令部１８ｂ、上限速度設定部９６及び回転方向設定部１９からの指令に従い、モータ８の指令回転速度及び回転方向を設定して、モータ８を駆動制御する。
【００７６】
ここで、トリガスイッチ１８ａは、トリガ１８が引き操作されることによりオン状態となって、制御回路８０にモータ８の駆動指令を入力するためのものである。また、変速指令部１８ｂは、トリガ１８の引き操作量（換言すれば操作割合）に応じた信号を発生することで、その操作量に応じて指令回転速度を変化させるためのものである。
【００７７】
また、上限速度設定部９６は、使用者により操作位置が段階的に切り替えられるダイヤル等にて構成されており、その操作位置によって、モータ８の回転速度の上限を設定するためのものである。
【００７８】
なお、この上限速度設定部９６は、後述のソフトノーロード制御での無負荷回転速度よりも高い回転速度から低い回転速度までの範囲内で、モータ８の回転速度の上限を設定できるようにされている。
【００７９】
また、回転方向設定部１９は、使用者が、外部操作によって、モータ８を穴あけ作業時の正方向に回転させるか、逆転させるかを設定するためのものであり、図２、図３に示すように、本実施形態ではトリガ１８の上方に設けられている。
【００８０】
制御回路８０は、変速指令部１８ｂからの信号と上限速度設定部９６を介して設定された上限回転速度とに基づき、モータ８の指令回転速度を設定する。具体的には、制御回路８０は、上限速度設定部９６にて設定された上限回転速度をトリガ１８の最大操作時の回転速度として、トリガ１８の操作量（操作割合）に応じた指令回転速度を設定する。
【００８１】
そして、制御回路８０は、設定した指令回転速度及び回転方向に応じて、駆動回路７２を構成するスイッチング素子Ｑ１〜Ｑ６の駆動デューティ比を設定し、その駆動デューティ比に応じた制御信号を駆動回路７２に出力することで、モータ８を回転駆動させる。
【００８２】
次に、モータハウジング１２の前方には、照明用のＬＥＤ（照明ＬＥＤ）８４が設けられており、制御回路８０は、トリガスイッチ１８ａがオン状態となると、照明ＬＥＤ８４を点灯させて、先端工具４による被加工材の加工位置を照らすようになっている。
【００８３】
また、モータ８には、モータ８の回転速度や回転位置を検出するための回転位置センサ８１が設けられており、モータ制御部７０には、この回転位置センサ８１からの検出信号に基づきロータ位置を検出するロータ位置検出回路８２が備えられている。
【００８４】
また、モータ制御部７０には、電圧検出回路７８、電流検出回路７４、温度検出回路７６、及び、ロータ位置検出回路８２が備えられおり、制御回路８０には、これら各検出回路からの検出信号や、振り回され検出部９０からの検出信号も入力される。
【００８５】
そして、制御回路８０は、これら各検出回路からの検出信号に基づき、モータ８駆動時の回転速度を制限したり、モータ８の駆動を停止したりする。
なお、電圧検出回路７８は、バッテリパック６２から供給されるバッテリ電圧を検出するためのものであり、電流検出回路７４は、モータ８への通電経路に設けられた抵抗Ｒ１を介してモータ８に流れた電流を検出するためのものである。
【００８６】
また、温度検出回路７６は、モータ制御部７０の温度を検出するためのものであり、ロータ位置検出回路８２は、回転位置センサ８１からの検出信号に基づき、モータ８の各巻線への通電タイミングを設定するのに必要なロータ位置を検出するためのものである。
【００８７】
一方、制御回路８０は、ＭＣＵにて構成されているため、一定の電源電圧Ｖｃｃを供給する必要がある。このため、モータ制御部７０には、バッテリパック６２から電力供給を受けて一定の電源電圧Ｖｃｃを生成し、制御回路８０に供給するレギュレータ（図示せず）も設けられている。
【００８８】
また、振り回され検出部９０の加速度検出回路９４には、このレギュレータにて生成された電源電圧Ｖｃｃが供給される。そして、加速度検出回路９４は、Ｘ軸方向の加速度から本体ハウジング１０が振り回されたことを検出すると、エラー有り信号を制御回路８０に出力する。
【００８９】
なお、このエラー有り信号は、モータ８の駆動を停止させるためのものである。そして、加速度検出回路９４は、本体ハウジング１０が振り回されていないときには、エラー無し信号を制御回路８０に出力する。
【００９０】
また、加速度検出回路９４は、本体ハウジング１０の振動（つまり加速度）から先端工具４に負荷が加わっていることを検出すると、制御回路８０に、先端工具４は負荷状態であることを表すロード信号を出力する。また、加速度検出回路９４は、先端工具４に負荷が加わっていることを検出できなければ、制御回路８０に、先端工具４は無負荷状態であることを表すノーロード信号を出力する。
【００９１】
一方、モータハウジング１２の前側に装着される集塵装置６６は、上記各駆動モードでの先端工具４の打撃動作や回転動作によって被加工材のハツリ作業や穴あけ作業を行ったときに発生する粉塵を吸引するためのものである。
【００９２】
このため、図４に示すように、集塵装置６６には、集塵モータ６７とこれを駆動するための回路基板６９が設けられている。また、集塵装置６６をモータハウジング１２に装着すると、モータハウジング１２に設けられた照明ＬＥＤ８４が隠れてしまうので、集塵装置６６には、この照明ＬＥＤ８４に代えて被加工材の加工位置を照らすための照明ＬＥＤ６８が備えられている。
【００９３】
そして、集塵装置６６がモータハウジング１２に装着されると、回路基板６９に形成された通電経路を介して、バッテリパック６２から集塵モータ６７に駆動電流を供給できるようになっている。
【００９４】
また、集塵装置６６がモータハウジング１２に装着されると、回路基板６９は、コネクタ６４を介して、制御回路８０に接続される。そして、回路基板６９には、集塵モータ６７への通電経路を導通・遮断するためのスイッチング素子Ｑ７が設けられており、このスイッチング素子Ｑ７は、制御回路８０によりオン・オフ状態が切り替えられる。また、照明ＬＥＤ６８も、制御回路８０からの駆動信号により点灯できるようになっている。
【００９５】
次に、制御回路８０にて実行される制御処理について、図５〜図１１に示すフローチャートに沿って説明する。なお、この制御処理は、制御回路８０を構成するＣＰＵが、不揮発性の記憶媒体であるＲＯＭに記憶されたプログラムを実行することにより実現される。
【００９６】
図５に示すように、この制御処理では、まず、Ｓ１１０（Ｓはステップを表す）にて、モータ駆動の制御周期である所定のタイムベースが経過したか否かを判断することにより、前回Ｓ１２０以降の処理を実行してからタイムベースが経過するのを待つ。
【００９７】
そして、Ｓ１１０にてタイムベースが経過したと判断すると、Ｓ１２０の入力処理、Ｓ１３０のＡ／Ｄ変換処理、Ｓ１４０のモータ制御処理、及び、Ｓ１５０の出力処理を順次実行し、再度Ｓ１１０に移行する。つまり、この制御処理では、Ｓ１２０〜Ｓ１５０の一連の処理を、所定のタイムベースで周期的に実行する。
【００９８】
ここで、Ｓ１２０の入力処理では、図６に示すように、まず、Ｓ２１０にて、トリガスイッチ１８ａからトリガ１８の操作状態を取り込むトリガスイッチ（トリガＳＷ）入力処理を実行する。また、続くＳ２２０では、回転方向設定部１９から、モータ８の回転方向を取り込む回転方向入力処理を実行する。
【００９９】
次に、続くＳ２３０、Ｓ２４０では、振り回され検出部９０から振り回され検出結果（エラー有り信号又はエラー無し信号）及び加速度負荷検出結果（ロード信号又はノーロード信号）をそれぞれ取り込む、振り回され検出入力処理及び加速度負荷検出入力処理を実行する。
【０１００】
そして、最後に、Ｓ２５０にて、バッテリ電圧を集塵装置６６のコネクタ６４を経由して検出する集塵装置入力処理を実行し、Ｓ１２０の入力処理を終了する。なお、Ｓ２５０の集塵装置入力処理でバッテリ電圧を検出するのは、集塵装置６６がモータハウジング１２に装着されているか否かを判断できるようにするためである。
【０１０１】
次に、Ｓ１３０のＡ／Ｄ変換処理では、変速指令部１８ｂ、上限速度設定部９６、電圧検出回路７８、電流検出回路７４、温度検出回路７６等から、トリガ１８の引き操作量や上限速度、或いは、電圧、電流、温度等の検出信号（電圧）をＡ／Ｄ変換して取り込む。
【０１０２】
また、Ｓ１４０のモータ制御処理では、図７に示すように、まずＳ３１０にて、モータ８を駆動するか否かを判断する。
この判断は、トリガスイッチ１８ａがオン状態で、Ｓ１３０で取り込んだ電圧、電流、温度が正常であり、振り回され検出部９０にて本体ハウジング１０の振り回され状態が検出されていない（エラー無し信号入力）、というモータ駆動条件が成立しているか否かを判断することにより実行される。
【０１０３】
モータ駆動条件が成立していて、Ｓ３１０にてモータ８を駆動すると判断されると、Ｓ３２０に移行して、変速指令部１８ｂからの信号と上限速度設定部９６を介して設定された上限回転速度とに基づき指令回転速度を設定する、指令回転速度設定処理を実行する。
【０１０４】
また、続くＳ３３０では、先端工具４が無負荷（ノーロード）状態であるときに、モータ８の指令回転速度を、予め設定された無負荷回転速度Ｎｔｈ以下に制限する、ソフトノーロード処理を実行し、Ｓ３４０に移行する。
【０１０５】
Ｓ３４０では、Ｓ３２０にて設定されるか、或いは、Ｓ３３０にて無負荷回転速度Ｎｔｈ以下に制限された指令回転速度から、モータ８の駆動デューティ比を設定する制御量設定処理を実行し、当該モータ制御処理を終了する。
【０１０６】
なお、Ｓ３４０において、モータ８の駆動デューティ比を設定する際には、指令回転速度がトリガ操作等で設定される回転速度から無負荷回転速度、或いは、その逆方向に切り替わったときに、その変化に応じて駆動デューティ比が急変することのないようにされている。
【０１０７】
つまり、Ｓ３４０では、駆動デューティ比の変化速度（換言すれば傾き）を制限することで、モータ８の回転速度を徐々に変化させる。これは、先端工具４が被加工材に当接されたときや、被加工材から離されたときに、モータ８の回転速度が急変するのを抑制するためである。
【０１０８】
また、モータ駆動条件が成立しておらず、Ｓ３１０にてモータ８を駆動しないと判断されると、Ｓ３５０に移行して、モータ８の駆動停止を設定するモータ停止設定処理を実行し、当該モータ制御処理を終了する。
【０１０９】
次に、図８に示すように、Ｓ３３０のソフトノーロード処理においては、まずＳ３３２にて、モータ８の指令回転速度を無負荷回転速度Ｎｔｈ以下に制限するソフトノーロード制御の実行条件（ソフトノーロード条件）が成立しているか否かを判断する。
【０１１０】
なお、ソフトノーロード条件は、図９に示す電流負荷検出処理、及び、振り回され検出部９０の加速度検出回路９４にて、先端工具４が無負荷状態であると判定され、且つ、ハンマドリル２に集塵装置６６が装着されていないときに成立するように予め設定されている。
【０１１１】
そして、Ｓ３３２にて、ソフトノーロード条件が成立していると判断されると、Ｓ３３４に移行して、指令回転速度が、ソフトノーロード制御の上限回転速度である無負荷回転速度Ｎｔｈ（例えば、１１０００ｒｐｍ）を越えているか否かを判断する。
【０１１２】
Ｓ３３４にて、指令回転速度が無負荷回転速度Ｎｔｈを越えていると判断されると、Ｓ３３６に移行して、指令回転速度に無負荷回転速度Ｎｔｈを設定し、ソフトノーロード処理を終了する。
【０１１３】
また、Ｓ３３２にて、ソフトノーロード条件は成立していないと判断されるか、或いは、Ｓ３３４にて、指令回転速度は無負荷回転速度Ｎｔｈを超えていないと判断された場合にも、ソフトノーロード処理を終了する。
【０１１４】
従って、ソフトノーロード処理によれば、図９の電流負荷検出処理及び加速度検出回路９４の両方で先端工具４が無負荷状態にあると判定され、且つ、ハンマドリル２に集塵装置６６が装着されていないときに、指令回転速度を無負荷回転速度Ｎｔｈ以下に制限することになる。
【０１１５】
次に、図９に示す電流負荷検出処理は、Ｓ１３０のＡ／Ｄ変換処理において、電流検出回路７４からモータ８に流れる電流を取り込んだ際に、その取り込んだ電流値に基づき先端工具４が無負荷状態であるか否かを判断するために実行される処理である。
【０１１６】
この電流負荷検出処理においては、まずＳ４１０にて、Ａ／Ｄ変換して取り込んだ電流値（検出電流）が、予め設定された負荷判定用の電流閾値Ｉｔｈを越えているか否かを判断する。
【０１１７】
そして、検出電流が電流閾値Ｉｔｈを越えている場合には、Ｓ４２０にて、負荷判定用の負荷カウンタをインクリメント（＋１）し、Ｓ４３０にて、無負荷判定用の無負荷カウンタをデクリメント（−１）し、Ｓ４４０に移行する。
【０１１８】
Ｓ４４０では、負荷カウンタの値が負荷判定用に予め設定された負荷判定値Ｔ１を越えたか否かを判断する。そして、負荷カウンタの値が負荷判定値Ｔ１を越えていれば、Ｓ４５０に移行して、先端工具４が負荷状態であることを表す電流負荷検出フラグをセットした後、電流負荷検出処理を終了する。
【０１１９】
また、負荷カウンタの値が負荷判定値Ｔ１を越えていなければ、そのまま電流負荷検出処理を終了する。なお、電流負荷検出フラグは、ソフトノーロード処理のＳ３３２にて、先端工具４の負荷状態が電流値から検出されていること（電流負荷）を検知するのに用いられる。
【０１２０】
次に、Ｓ４１０にて、検出電流が電流閾値Ｉｔｈ以下であると判断された場合には、Ｓ４６０に移行して、無負荷カウンタをインクリメント（＋１）し、続くＳ４７０にて、負荷カウンタをデクリメント（−１）する。
【０１２１】
そして、続くＳ４８０では、無負荷カウンタの値が無負荷判定用に予め設定された無負荷判定値Ｔ２を越えたか否かを判断する。そして、無負荷カウンタの値が無負荷判定値Ｔ２を越えていれば、Ｓ４９０に移行して、先端工具４が無負荷状態であると判断して、電流負荷検出フラグをクリアし、電流負荷検出処理を終了する。
【０１２２】
また、無負荷カウンタの値が無負荷判定値Ｔ２を越えていなければ、そのまま電流負荷検出処理を終了する。
なお、負荷カウンタ及び無負荷カウンタは、検出電流が電流閾値Ｉｔｈを越えている時間と越えていない時間を計測するためのものであり、電流負荷検出処理では、負荷判定値Ｔ１及び無負荷判定値Ｔ２を用いて、その計測時間が所定時間に達したか否かを判断する。
【０１２３】
そして、本実施形態では、先端工具４の負荷状態をより早く検出して、モータ８の回転速度をトリガ操作量に対応した指令回転速度に制御できるようにするため、負荷判定値Ｔ１には、無負荷判定値Ｔ２よりも小さい値（短い時間）が設定される。例えば、負荷判定値Ｔ１には１００ｍｓに対応した値が設定され、無負荷判定値Ｔ２には５００ｍｓに対応した値が設定される。
【０１２４】
次に、Ｓ１５０の出力処理では、図１０に示すように、まず、Ｓ５１０にて、駆動回路７２にモータ８を指令回転速度で駆動するための制御信号と回転方向を出力するモータ駆動、回転方向出力処理を実行する。
【０１２５】
また、続くＳ５２０では、ハンマドリル２に装着された集塵装置６６に対し、集塵モータ６７の駆動信号を出力する集塵出力処理を実行する。そして、Ｓ５３０にて、照明ＬＥＤ８４に駆動信号を出力して照明ＬＥＤ８４を点灯させる照明出力処理を実行し、当該出力処理を終了する。
【０１２６】
なお、Ｓ５３０において、ハンマドリル２に集塵装置６６が装着されているときには、集塵装置６６に設けられた照明ＬＥＤ６８に駆動信号を出力して照明ＬＥＤ６８を点灯させる。
【０１２７】
また、Ｓ５１０のモータ駆動、回転方向出力処理においては、図１１に示すように、まずＳ５１１にて、モータ８を駆動するか否かを判断する。なお、Ｓ５１１の処理は、モータ制御処理のＳ３１０と同様に実行される。
【０１２８】
つまり、Ｓ５１１では、トリガスイッチ１８ａがオン状態で、Ｓ１３０で取り込んだ電圧、電流、温度が正常であり、振り回され検出部９０にて本体ハウジング１０の振り回され状態が検出されていない（エラー無し信号入力）、というモータ駆動条件が成立しているか否かを判断する。
【０１２９】
そして、モータ駆動条件が成立していて、Ｓ５１１にて、モータ８を駆動すると判断されると、Ｓ５１２に移行し、モータ駆動出力をオン状態にして、駆動回路７２への制御信号の出力を開始させる。
【０１３０】
また、続くＳ５１３では、モータ８の回転方向は正方向（正転）であるか否かを判断し、モータ８の回転方向が正方向（正転）であれば、Ｓ５１４に移行して、駆動回路７２にモータ８の回転方向として「正転」を出力し、当該モータ駆動、回転方向出力処理を終了する。
【０１３１】
また、５１３にて、モータ８の回転方向は正方向ではないと判断されると、Ｓ５１５に移行して、駆動回路７２にモータ８の回転方向として「逆転」を出力し、当該モータ駆動、回転方向出力処理を終了する。
【０１３２】
また、モータ駆動条件が成立しておらず、Ｓ５１１にて、モータ８は駆動しないと判断されると、Ｓ５１６にて、モータ駆動出力をオフ状態にして、駆動回路７２への制御信号の出力を停止させる。
【０１３３】
次に、振り回され検出部９０の加速度検出回路９４において実行される加速度負荷検出処理及び振り回され検出処理を、図１２及び図１３のフローチャートに沿って説明する。
図１２に示すように、加速度負荷検出処理においては、Ｓ６１０にて、先端工具４の負荷判定のために予め設定されたサンプリング時間が経過したか否かを判断することにより、前回Ｓ６２０以降の処理を実行してから所定のサンプリング時間が経過するのを待つ。
【０１３４】
そして、Ｓ６１０にて、サンプリング時間が経過したと判断されると、Ｓ６２０に移行して、トリガスイッチ１８ａがオン状態であるか否か（つまり、使用者からモータ８の駆動指令が入力されているか否か）を判断する。
【０１３５】
Ｓ６２０にて、トリガスイッチ１８ａがオン状態であると判断されると、Ｓ６３０に移行する。Ｓ６３０では、加速度センサ９２から３軸（Ｘ，Ｙ，Ｚ）方向の加速度をＡ／Ｄ変換して取り込み、続くＳ６４０にて、その取り込んだ加速度データをフィルタリング処理することで、各軸方向の加速度データから、それぞれ、重力加速度成分を除去する。
【０１３６】
なお、Ｓ６４０でのフィルタリング処理は、重力加速度成分を除去するための処理であるため、重力加速度に対応した低周波成分を除去するために、カットオフ周波数が１〜１０Ｈｚ程度のハイパスフィルタ（ＨＰＦ）としての処理が実行される。
【０１３７】
次に、Ｓ６４０にて、３軸方向の加速度がそれぞれフィルタリング処理されると、Ｓ６５０に移行して、フィルタリング処理後の加速度をＤ／Ａ変換し、例えば、Ｄ／Ａ変換後の加速度信号を全波整流することで、加速度［Ｇ］の絶対値を取得する。
【０１３８】
また、続くＳ６６０では、Ｓ６５０で取得した３軸方向の加速度［Ｇ］の絶対値を、ローパスフィルタ（ＬＰＦ）を使って平滑化させることで、平滑加速度を取得し、Ｓ６７０に移行する。
【０１３９】
Ｓ６７０では、各軸の平滑加速度と負荷・無負荷判定用に予め設定された設定された閾値とを比較し、３軸のうちの何れかの平滑加速度が閾値を越える状態が、連続的に一定時間以上経過したか否かを判断する。
【０１４０】
Ｓ６７０にて、３軸のうちの何れかの平滑加速度が閾値を越える状態が、連続的に一定時間以上経過したと判断されると、先端工具４が負荷状態にあると判断して、Ｓ６８０に移行する。そして、Ｓ６８０では、先端工具４が負荷状態であることを表すロード信号を制御回路８０へ出力し、Ｓ６１０に移行する。
【０１４１】
また、Ｓ６７０にて、３軸のうちの何れかの平滑加速度が閾値を越える状態が、連続的に一定時間以上経過していないと判断されるか、或いは、Ｓ６２０にて、トリガスイッチ１８ａはオフ状態であると判断されると、Ｓ６９０に移行する。
【０１４２】
Ｓ６９０では、制御回路８０へノーロード信号を出力することで、先端工具４は無負荷状態であることを制御回路８０に通知し、Ｓ６１０に移行する。
この結果、制御回路８０側では、加速度検出回路９４から出力されるロード信号又はノーロード信号を取り込むことで、先端工具４の負荷状態（加速度負荷）が検出されているか否か、延いては、ソフトノーロード条件が成立しているか否か、を判断できることになる。
【０１４３】
次に、図１３に示すように、振り回され検出処理においては、Ｓ７１０にて、振り回され検出のために予め設定されたサンプリング時間が経過したか否かを判断することにより、前回Ｓ７２０以降の処理を実行してから所定のサンプリング時間が経過するのを待つ。
【０１４４】
そして、Ｓ７１０にて、サンプリング時間が経過したと判断されると、Ｓ７２０に移行して、トリガスイッチ１８ａがオン状態であるか否かを判断し、トリガスイッチ１８ａがオン状態であれば、Ｓ７３０に移行する。
【０１４５】
Ｓ７３０では、当該振り回され検出処理にてハンマドリル２が振り回されたことが検出されて、現在エラー状態になっているか否かを判断し、エラー状態になっていれば、Ｓ７１０に移行し、エラー状態になっていなければ、Ｓ７４０に移行する。
【０１４６】
Ｓ７４０では、加速度センサ９２からＸ軸方向の加速度をＡ／Ｄ変換して取り込む。そして、続く７５０では、上述したＳ６４０と同様、ＨＰＦとしてのフィルタリング処理にて、その取り込んだＸ軸方向の加速度データから、重力加速度成分を除去する。
【０１４７】
次に、Ｓ７６０では、フィルタリング処理後のＸ軸方向の加速度［Ｇ］から、Ｚ軸周りの角加速度［rad/s２］を、演算式「角加速度＝加速度Ｇ×９．８／距離Ｌ」を用いて算出し、Ｓ７７０に移行する。なお、この演算式において、距離Ｌは、加速度センサ９２とＺ軸との間の距離である。
【０１４８】
Ｓ７７０では、Ｓ７６０で求めた角加速度を１サンプリング時間分積分し、続くＳ７８０にて、角加速度の積分初期値を更新する。この積分初期値は、過去一定時間内の角加速度の積分値であり、Ｓ７８０では、Ｓ７６０にて今回新たに角加速度を算出したので、一定時間以上前にサンプリングした角加速度の１サンプリング時間分の積分値を積分初期値から除去する。
【０１４９】
そして、続くＳ７９０では、Ｓ７８０にて更新した角加速度の積分初期値と、Ｓ７７０にて算出した最新の角加速度の積分値とを加算することで、Ｚ軸周りの角速度［rad/s］ を算出する。
【０１５０】
また次に、Ｓ８００では、Ｓ７９０で算出した角速度を１サンプリング時間分積分し、続くＳ８１０にて、角速度の積分初期値を更新する。この積分初期値は、過去一定時間内の角速度の積分値であり、Ｓ８１０では、Ｓ７９０にて今回新たに角速度を算出したので、一定時間以上前に求めた角速度の１サンプリング時間分の積分値を積分初期値から除去する。
【０１５１】
そして、続くＳ８２０では、Ｓ８１０にて更新した角速度の積分初期値と、Ｓ８００にて算出した最新の角速度の積分値とを加算することで、ハンマドリル２のＺ軸周りの回転角度［rad］ を算出する。
【０１５２】
次に、Ｓ８３０では、Ｓ７９０にて求めた現在の角速度に基づき、ハンマドリル２がＺ軸周りに振り回されたことを検出してからモータ８が停止するのに要する回転角度を算出し、Ｓ８４０に移行する。なお、この回転角度は、角速度に、予め設定された予測時間を乗じること（回転角度＝角速度×予測時間）で算出される。
【０１５３】
Ｓ８４０では、Ｓ８２０で算出したＺ軸周りの回転角度に、Ｓ８３０で算出した回転角度を加算することで、モータ８の駆動停止後の回転角度を含めたＺ軸周りの回転角度を予測角度として算出する。
【０１５４】
次に、Ｓ８５０では、Ｓ８４０で算出した予測角度が振り回され検出用角度として予め設定されている閾値を越え、しかも、その状態が連続して一定時間以上経過したか否かを判断する。
【０１５５】
そして、Ｓ８５０にて肯定判断されると、Ｓ８６０に移行して、制御回路８０へエラー有り信号を出力することで、被加工材の穴開け作業時に先端工具４が被加工材に食い付き、ハンマドリル２の振り回されが始まったことを通知し、Ｓ７１０に移行する。
【０１５６】
この結果、制御回路８０側では、モータ駆動条件が成立していないと判断されて、モータ８の駆動が停止され、ハンマドリル２が大きく振り回されるのを抑制できることになる。
【０１５７】
一方、Ｓ８５０にて否定判断された場合には、Ｓ８７０に移行して、制御回路８０へエラー無し有り信号を出力することで、ハンマドリル２は振り回されていないことを通知し、Ｓ７１０に移行する。
【０１５８】
また、Ｓ７２０にて、トリガスイッチ１８ａはオン状態ではないと判断された場合には、ハンマドリル２は動作を停止しているので、Ｓ８８０に移行して、角加速度及び角速度の積分値及び積分初期値をリセットし、Ｓ８７０に移行する。
【０１５９】
以上説明したように、本実施形態のハンマドリル２においては、モータ制御部７０の制御回路８０が、図９に示す電流負荷検出処理を実行することで、モータ８に流れる電流に基づき、先端工具４が無負荷状態であるのか負荷状態（電流負荷）であるのかを判定する。
【０１６０】
また、振り回され検出部９０の加速度検出回路９４が、図１２に示す加速度負荷検出処理を実行することで、加速度センサ９２にて検出されるＸ軸、Ｙ軸、Ｚ軸方向の加速度に基づき、先端工具４が無負荷状態であるのか負荷状態（加速度負荷）であるのかを判定する。
【０１６１】
そして、制御回路８０は、これらの処理で電流負荷及び加速度負荷が検出されておらず、しかも、ハンマドリル２に集塵装置６６が装着されていないときに、図８に示すソフトノーロード処理にて、モータ８の回転速度を無負荷回転速度Ｎｔｈ以下に制限する。
【０１６２】
従って、本実施形態のハンマドリル２によれば、駆動モードがハンマモードであれば、加速度負荷検出処理で、先端工具４に負荷が加わったことを検出でき、駆動モードがドリルモードであれば、電流負荷検出処理で、先端工具４に負荷が加わったことを検出できるようになる。また、駆動モードがハンマドリルモードであれば、加速度負荷検出処理と電流負荷検出処理の両方で、先端工具４に負荷が加わったことを検出できるようになる。
【０１６３】
よって、本実施形態のハンマドリル２によれば、ハンマモード、ハンマドリルモード、及び、ドリルモードの何れの駆動モードであっても、被加工材から先端工具４に負荷が加わったときには、その旨を速やかに検出して、モータ８を指令回転速度で駆動することができる。
【０１６４】
なお、本実施形態においては、制御回路８０にて実行される電流負荷検出処理が、本開示の電流負荷検出部として機能し、加速度検出回路９４にて実行される加速度負荷検出処理が、本開示の負荷状態検出部として機能する。
【０１６５】
また、本実施形態のハンマドリル２においては、振り回され検出部９０の加速度検出回路９４が振り回され検出処理を実行することで、先端工具４の回転駆動時に本体ハウジング１０がＺ軸（出力軸）周りに振り回されたか否かを判定する。
【０１６６】
そして、本体ハウジング１０がＺ軸周りに振り回されたことが検出されると、制御回路８０がモータ８の駆動を停止し、本体ハウジング１０がより大きく振り回されるのを抑制する。
【０１６７】
また、本実施形態では、本開示の負荷状態検出部としての機能を、振り回され検出部９０の加速度検出回路９４で実現させることで、振り回され状態の検出及び負荷状態の検出に、共通の加速度センサ９２を利用するようにしている。
【０１６８】
このため、本実施形態のハンマドリル２によれば、振り回され状態の検出及び負荷状態の検出を検出するために、それぞれ、専用のセンサを設ける必要がなく、センサ配置用のスペースを確保するために、本体ハウジング１０を大きくする必要がない。また、部品点数も少なくすることができるので、ハンマドリル２のコストも低減できる。
【０１６９】
一方、本実施形態において、負荷状態検出部として機能する加速度負荷検出処理では、加速度センサ９２から３軸（Ｘ，Ｙ，Ｚ）方向の加速度をＡ／Ｄ変換して取り込み、その取り込んだ加速度データをフィルタリング処理することで、各軸方向の加速度データから、重力加速度成分を除去する。
【０１７０】
また、振り回され検出部としての機能を実現する振り回され検出処理においても、加速度センサ９２からＸ軸方向の加速度をＡ／Ｄ変換して取り込み、その取り込んだ加速度データをフィルタリング処理することで、Ｘ軸方向の加速度データから、重力加速度成分を除去する。
【０１７１】
このため、加速度センサ９２からの検出信号をアナログフィルタ（ハイパスフィルタ）に入力することで、重力加速度成分を除去するようにした場合に比べ、加速度の検出精度を高めることができる。
【０１７２】
つまり、本体ハウジング１０が振動して加速度が発生すると、加速度センサ９２からの検出信号は、その加速度に応じて変動するが、ハンマドリル２に電源が投入されていないときには、変動中心がグラウンド電位となる。
【０１７３】
そして、ハンマドリル２に電源が投入されると、図１４の上段に示すように、加速度検出信号の変動中心は、入力回路の基準電圧（一般に電源電圧Ｖｃｃの中間電圧：Ｖｃｃ／２）に重力加速度成分（Ｖｇ）を加えた電圧値まで持ち上げられる。
【０１７４】
また、ハンマドリル２への電源投入時には、モータ８も駆動停止しているので、本体ハウジング１０に加速度は発生していないと考えられる。従って、加速度センサ９２からの入力信号（加速度検出信号）は一定電圧「（Ｖｃｃ／２）＋Ｖｇ」まで立ち上がることになる。
【０１７５】
この場合、加速度検出信号を、アナログフィルタ（ハイパスフィルタ：ＨＰＦ）に入力して、重力加速度成分（Ｖｇ）を除去するようにしていると、図１４の中段に示すように、アナログフィルタからの出力は、電源投入力後に急峻に立ち上がり、基準電圧（Ｖｃｃ／２）よりも高くなる。そして、その後は、基準電圧（Ｖｃｃ／２）に収束することになるが、そのように安定するまでには、時間がかかる。
【０１７６】
これに対し、本実施形態のように、加速度の検出信号をデジタルフィルタにてフィルタリング処理するようにすれば、図１４の下段に示すように、電源投入直後の検出信号の信号レベルを初期値に設定できるので、検出信号（データ）が変動することがない。
【０１７７】
従って、本実施形態によれば、ハンマドリル２への電源投入直後から加速度を精度よく検出できるようになり、加速度の検出誤差によって、先端工具の負荷・無負荷及び振り回され状態の有・無を誤検出するのを抑制できる。
【０１７８】
また、第２負荷検出部として機能する振り回され検出部９０は、モータ制御部７０とは別体に構成されていることから、これらを一体化した場合に比べて小型化できる。このため、振り回され検出部９０は、本体ハウジング１０内の空きスペースを利用して、本体ハウジング１０の挙動（加速度）を検出し易い位置に配置できるようになる。
【０１７９】
以上、本発明を実施するための形態について説明したが、本発明は上述の実施形態に限定されることなく、種々変形して実施することができる。
例えば、上記実施形態では、振り回され検出部９０には、検出軸が３軸（Ｘ、Ｙ、Ｚ）の加速度センサ９２が設けられるものとして説明したが、加速度センサ９２には、検出軸が１軸の加速度センサを利用することもできる。
【０１８０】
この場合、加速度負荷検出処理及び振り回され検出処理にて負荷状態や振り回され状態を検出するには、少なくとも、１軸の加速度センサを使って、Ｚ軸方向の加速度とＸ軸方向の加速度を検知できるようにする必要がある。
【０１８１】
そして、このためには、図１５に示すように、出力軸であるＺ軸と、出力軸と直交し出力軸周りの回転を検出可能な直交軸であるＸ軸とで形成される平面上で、加速度センサの検出軸ＷがＺ軸とＸ軸に対し斜めになるように、振り回され検出部９０Ａを、本体ハウジング１０内に固定するようにすればよい。
【０１８２】
つまり、このように振り回され検出部９０Ａを本体ハウジング１０内に収納すれば、加速度検出回路９４での演算により、加速度センサにて検出された検出軸Ｗ方向の加速度を、Ｚ軸方向の加速度とＸ軸方向の加速度とに分けることができる。
【０１８３】
従って、加速度負荷検出処理及び振り回され検出処理では、その演算により得られたＺ軸方向の加速度とＸ軸方向の加速度とを使って、負荷状態及び振り回され状態をそれぞれ検出できるようになる。
【０１８４】
なお、図１５においては、上方にハンマドリル２の側面図が記載され、下方にその底面図を記載されており、各図に点線で、１軸の加速度センサを備えた振り回され検出部９０Ａが記載されている。この図では、振り回され検出部９０Ａの設置角度と、加速度センサの検出軸Ｗ方向とを対応させているが、実際には、加速度センサの検出軸方向を上記のように設定できればよいので、振り回され検出部９０Ａの配置は適宜変更できる。
【０１８５】
また、上記実施形態における１つの構成要素が有する複数の機能を、複数の構成要素によって実現したり、１つの構成要素が有する１つの機能を、複数の構成要素によって実現したりしてもよい。また、複数の構成要素が有する複数の機能を、１つの構成要素によって実現したり、複数の構成要素によって実現される１つの機能を、１つの構成要素によって実現したりしてもよい。また、上記実施形態の構成の一部を省略してもよい。また、上記実施形態の構成の少なくとも一部を、他の上記実施形態の構成に対して付加又は置換してもよい。なお、特許請求の範囲に記載した文言のみによって特定される技術思想に含まれるあらゆる態様が本発明の実施形態である。
【符号の説明】
【０１８６】
２…ハンマドリル、４…先端工具、６…ツールホルダ、８…モータ、１０…本体ハウジング、１２…モータハウジング、１４…ギヤハウジング、１６…ハンドグリップ、１８…トリガ、１８ａ…トリガスイッチ、１８ｂ…変速指令部、２０…運動変換機構、３０…打撃要素、３８…保持グリップ、４０…回転伝達機構、５０…モード切替機構、５８…切替ダイヤル、６０…バッテリ装着部、６２，６２Ａ，６２Ｂ…バッテリパック、６４…コネクタ、６６…集塵装置、７０…モータ制御部、７４…電流検出回路、８０…制御回路、９０，９０Ａ…振り回され検出部、９２…加速度センサ、９４…加速度検出回路、９６…上限速度設定部。
【図１】
2018058188.tif 000003
【図２】
2018058188.tif 000004
【図３】
2018058188.tif 000005
【図４】
2018058188.tif 000006
【図５】
2018058188.tif 000007
【図６】
2018058188.tif 000008
【図７】
2018058188.tif 000009
【図８】
2018058188.tif 000010
【図９】
2018058188.tif 000011
【図１０】
2018058188.tif 000012
【図１１】
2018058188.tif 000013
【図１２】
2018058188.tif 000014
【図１３】
2018058188.tif 000015
【図１４】
2018058188.tif 000016
【図１５】
2018058188.tif 000017