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