(57)【特許請求の範囲】
【請求項１】
モータと、
前記モータの回転力によって回転するハンマ、そのハンマの回転力を受けて回転するアンビル、及びそのアンビルに工具要素を装着するための装着部を有し、前記アンビルに対して外部から所定値以上のトルクが加わると、前記ハンマが前記アンビルから外れて空転し、前記アンビルを回転方向に打撃する打撃機構と、
前記ハンマによる前記アンビルの打撃を検出する打撃検出部と、
前記モータが目標回転状態となるよう前記モータを駆動制御する制御部と、
を備え、
前記制御部は、
前記モータの駆動を開始してから、前記打撃検出部にて前記打撃が所定回数検出されるまでの初期駆動期間中は、前記モータが前記目標回転状態よりも低速で回転するよう前記モータの制御量を設定し、前記初期駆動期間が経過すると、前記制御量を前記目標回転状態に対応した最終制御量に切り替える、
ように構成されている、回転打撃工具。
【請求項２】
モータと、
前記モータの回転力によって回転するハンマ、そのハンマの回転力を受けて回転するアンビル、及びそのアンビルに工具要素を装着するための装着部を有し、前記アンビルに対して外部から所定値以上のトルクが加わると、前記ハンマが前記アンビルから外れて空転し、前記アンビルを回転方向に打撃する打撃機構と、
前記ハンマによる前記アンビルの打撃を検出する打撃検出部と、
を備えた回転打撃工具であって、
当該回転打撃工具の動作モードを、前記目標回転状態が異なる複数の動作モードの中から選択するための操作部と、
前記操作部を介して設定された動作モードに対応した目標回転状態となるよう、前記モータを駆動制御する制御部と、
を備え、
前記制御部は、
前記モータの駆動を開始してから、前記打撃検出部にて前記打撃が検出され、更に、所定期間が経過するまでの初期駆動期間中は、前記モータが前記目標回転状態よりも低速で回転するよう前記モータの制御量を設定し、前記初期駆動期間が経過すると、前記制御量を前記目標回転状態に対応した最終制御量に切り替えると共に、
前記操作部を介して設定された動作モードが、前記モータを他の動作モードでの回転速度よりも低速で回転させる低速モードである場合には、該低速モードでの目標回転状態に対応した制御量にて前記モータの駆動を開始し、前記モータの駆動開始後の制御量の切り換えを実施しない、
ように構成されている、回転打撃工具。
【請求項３】
前記制御部は、
前記初期駆動期間の経過後に前記モータの制御量を前記最終制御量に切り替える際には、前記モータの回転速度が漸次増加するよう、前記制御量を前記最終制御量まで徐々に変化させる、
ように構成されている、請求項２に記載の回転打撃工具。
【請求項４】
モータと、
前記モータの回転力によって回転するハンマ、そのハンマの回転力を受けて回転するアンビル、及びそのアンビルに工具要素を装着するための装着部を有し、前記アンビルに対して外部から所定値以上のトルクが加わると、前記ハンマが前記アンビルから外れて空転し、前記アンビルを回転方向に打撃する打撃機構と、
前記ハンマによる前記アンビルの打撃を検出する打撃検出部と、
を備えた回転打撃工具であって、
当該回転打撃工具の動作モードを、前記目標回転状態が異なる複数の動作モードの中から選択するための操作部と、
前記操作部を介して設定された動作モードに対応した目標回転状態となるよう、前記モータを駆動制御する制御部と、
を備え、
前記制御部は、
前記モータの駆動を開始してから、前記打撃検出部にて前記打撃が検出され、更に、所定期間が経過するまでの初期駆動期間中は、前記モータが前記目標回転状態よりも低速で回転するよう前記モータの制御量を設定し、前記初期駆動期間が経過すると、前記制御量を前記目標回転状態に対応した最終制御量に切り替えると共に、
前記初期駆動期間の経過後に前記モータの制御量を前記最終制御量に切り替える際には、前記モータの回転速度が漸次増加するよう、前記動作モード毎に異なる変化率にて前記制御量を前記最終制御量まで徐々に変化させる、
ように構成されている、回転打撃工具。
【請求項５】
前記制御部は、
前記動作モードが前記モータを低速回転させる低速モードであるときには、前記動作モードが前記モータを高速回転させる高速モードであるときに比べて、前記制御量を前記最終制御量まで徐々に変化させるときの前記制御量の変化率が大きくなるよう、前記モータの制御量を設定する、
ように構成されている、請求項４に記載の回転打撃工具。
【請求項６】
前記制御部は、
前記動作モードが前記モータを低速回転させる低速モードにあるときには、前記動作モードが前記モータを高速回転させる高速モードであるときに比べて、前記制御量を前記最終制御量まで徐々に変化させるときの前記制御量の変化率が小さくなるよう、前記モータの制御量を設定する、
ように構成されている、請求項４に記載の回転打撃工具。
【請求項７】
モータと、
前記モータの回転力によって回転するハンマ、そのハンマの回転力を受けて回転するアンビル、及びそのアンビルに工具要素を装着するための装着部を有し、前記アンビルに対して外部から所定値以上のトルクが加わると、前記ハンマが前記アンビルから外れて空転し、前記アンビルを回転方向に打撃する打撃機構と、
前記ハンマによる前記アンビルの打撃を検出する打撃検出部と、
前記モータが目標回転状態となるよう前記モータを駆動制御する制御部と、
を備え、
前記制御部は、
前記モータの駆動を開始してから、前記打撃検出部にて前記打撃が検出され、更に、所定期間が経過するまでの初期駆動期間中は、前記モータが前記目標回転状態よりも低速で回転するよう前記モータの制御量を設定し、前記初期駆動期間が経過すると、前記制御量を前記目標回転状態に対応した最終制御量に切り替えると共に、
前記初期駆動期間の経過後に前記モータの制御量を前記最終制御量に切り替える際には、前記モータの回転速度が漸次増加するよう、前記モータの駆動開始時に前記モータの回転を上昇させるときの前記制御量の変化率である初期変化率に比べて小さい一定の変化率にて、前記制御量を前記最終制御量まで徐々に変化させる、
ように構成されている、回転打撃工具。
【請求項８】
モータと、
前記モータの回転力によって回転するハンマ、そのハンマの回転力を受けて回転するアンビル、及びそのアンビルに工具要素を装着するための装着部を有し、前記アンビルに対して外部から所定値以上のトルクが加わると、前記ハンマが前記アンビルから外れて空転し、前記アンビルを回転方向に打撃する打撃機構と、
前記ハンマによる前記アンビルの打撃を検出する打撃検出部と、
前記モータが目標回転状態となるよう前記モータを駆動制御する制御部と、
を備え、
前記制御部は、
前記モータの駆動を開始してから、前記打撃検出部にて前記打撃が検出され、更に、所定期間が経過するまでの初期駆動期間中は、前記モータが前記目標回転状態よりも低速で回転するよう前記モータの制御量を設定し、前記初期駆動期間が経過すると、前記制御量を前記目標回転状態に対応した最終制御量に切り替えると共に、
前記初期駆動期間の経過後に前記モータの制御量を前記最終制御量に切り替える際には、前記モータの回転速度が漸次増加するよう、前記初期駆動期間の経過直後には、前記モータの駆動開始時に前記モータの回転を上昇させるときの前記制御量の変化率である初期変化率に比べて、前記制御量の変化率が小さくなり、その後の時間経過に伴い、前記制御量の変化率が前記初期変化率よりも大きくなるよう、前記モータの制御量を前記最終制御量まで徐々に変化させる、
ように構成されている、回転打撃工具。
【請求項９】
前記制御部は、
前記モータの駆動開始後、前記打撃検出部にて前記打撃が所定回数検出されると、前記初期駆動期間が経過したと判断して、前記モータの制御量を前記最終制御量に切り替える、
ように構成されている、請求項２〜請求項８の何れか１項に記載の回転打撃工具。
【請求項１０】
前記制御部は、
前記モータの駆動開始後、前記打撃検出部にて前記打撃が検出されてから、予め設定された時間が経過すると、前記初期駆動期間が経過したと判断して、前記モータの制御量を前記最終制御量に切り替える、
ように構成されている、請求項２〜請求項８の何れか１項に記載の回転打撃工具。
【請求項１１】
前記モータの回転速度を検出する速度検出部を備え、
前記制御部は、
前記速度検出部にて検出される回転速度が目標回転速度となるように前記制御量を設定する回転制御を行い、前記初期駆動期間経過後の前記モータの制御量の切り換えは、前記目標回転速度を切り替えることにより実施する、
ように構成されている、請求項１〜請求項１０の何れか１項に記載の回転打撃工具。
【請求項１２】
前記制御部は、
前記モータの制御量として、前記モータを駆動制御するのに用いるＰＷＭ信号のデューティ比を増加させることで、前記初期駆動期間経過後の前記モータの回転状態を前記目標回転状態に制御する、
ように構成されている、請求項１〜請求項１１の何れか１項に記載の回転打撃工具。
【請求項１３】
前記制御部は、
前記モータの制御量として、前記モータ駆動時の通電角を広げることにより、前記初期駆動期間経過後の前記モータの回転状態を前記目標回転状態に制御する、
ように構成されている、請求項１〜請求項１１の何れか１項に記載の回転打撃工具。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、モータの回転力により回転動作し、外部から所定値以上のトルクが加わると回転方向へ打撃力を加えるよう構成された回転打撃工具に関する。
【背景技術】
【０００２】
この種の回転打撃工具には、モータの回転力を受けて回転するハンマと、ハンマの回転力を受けて回転するアンビルと、を備えた打撃機構が備えられている。打撃機構において、アンビルに対し外部から所定値以上のトルクが加わると、ハンマがアンビルから外れて空転し、アンビルを回転方向に打撃する（例えば、特許文献１参照）。
【０００３】
従って、回転打撃工具によれば、モータを正方向に回転させて、ねじやナット等の対象物を板やボルトに固定するときは、ハンマによるアンビルの打撃によって、対象物をしっかりと締め付けることができる。また、対象物の締め付けを緩めるときには、モータを締付時とは逆方向に回転させて、ハンマによりアンビルを打撃させることで、対象物の締め付けを簡単に緩めることができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−２０７９５１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、上記従来の回転打撃工具においては、例えば、使用者がトリガスイッチ等の操作部を最大操作量で操作した際には、モータを駆動デューティ１００％の最大駆動電力にて駆動することで、モータ（延いては工具ビット）を高速回転させる。
【０００６】
しかしながら、このように、駆動開始直後からモータを高速駆動するようにすると、ドライバビット等の工具ビットが、ねじ等の対象物から外れ易くなり、打撃機構による締め付けを良好に実施できないことがある。
【０００７】
例えば、回転打撃工具により長ねじを被削材に固定する場合、長ねじが被削材に充分入り込んでいない状態で打撃が開始されると、打撃開始時の急激な負荷変動と長ねじのたわみによって工具ビットがねじ頭から外れ、被削材、工具ビット、ねじ頭等を傷付けてしまうことがある。
【０００８】
本発明の一つの目的は、回転打撃工具において、打撃開始前後でモータの制御を切り替えることにより、打撃発生後に工具ビットが対象物から外れるのを防止することにある。
【課題を解決するための手段】
【０００９】
本発明の一局面の回転打撃工具は、モータと、打撃機構と、打撃検出部と、制御部とを備える。
打撃機構は、上述した従来の回転打撃工具と同様、ハンマ、アンビル、及び装着部を有し、アンビルに対して外部から所定値以上のトルクが加わると、ハンマがアンビルから外れて空転し、アンビル（延いては装着部に装着された対象物）を回転方向に打撃する。
【００１０】
打撃検出部は、打撃機構のハンマによるアンビルの打撃を検出するためのものであり、制御部は、モータが目標回転状態となるようにモータを駆動制御するためのものである。
そして、制御部は、モータの駆動開始後、打撃検出部にて打撃が検出されて、所定期間が経過するまでの初期駆動期間中は、目標回転状態よりも低速で回転するように、モータの制御量を設定する。
【００１１】
また、制御部は、モータを目標回転状態よりも低速で駆動する初期駆動期間が経過すると、モータの制御量を、目標回転状態に対応した最終制御量に切り替え、モータを目標回転状態に制御する。
【００１２】
従って、当該回転打撃工具によれば、目標回転状態としてモータの最大駆動電力を要する回転状態が設定されていたとしても、モータの駆動開始後、打撃機構による打撃が開始されて所定期間が経過するまでは、モータの回転上昇は抑制されることになる。
【００１３】
従って、初期駆動期間中は、打撃機構による打撃力が抑制されることになり、長ねじ等の対象物が被削材に充分入り込んでいない状態で、打撃機構による打撃が開始された際に、工具ビットが対象物から外れるのを防止できる。
【００１４】
また、初期駆動期間を、その期間中に打撃機構による打撃が実施されるように設定すれば、初期駆動期間中に実施される打撃によって、長ねじ等の対象物を被削材にしっかりと固定させることができる。
【００１５】
そして、初期駆動期間が経過すると、モータの制御量が最終制御量に切り替えられて、モータの回転が上昇するので、打撃機構による打撃力が強くなり、長ねじ等の対象物を被削材に締め付けるのに要する時間が長くなるのを抑制できる。
【００１６】
ここで、制御部は、モータの駆動開始後、打撃検出部にて打撃が所定回数検出されると、初期駆動期間が経過したと判断するようにしてもよい。また、モータの駆動開始後、打撃検出部にて打撃が検出されてから、予め設定された時間が経過すると、初期駆動期間が経過したと判断するようにしてもよい。
【００１７】
つまり、モータの駆動開始後、制御量を最終制御量に切り替えるまでの初期駆動期間は、打撃機構による打撃回数により設定してもよく、或いは、打撃機構による打撃開始後の経過時間により設定してもよい。
【００１８】
一方、制御部は、単にモータ駆動時の駆動電力（例えば、モータへの通電電流やＰＷＭ制御時の駆動デューティ比等）を制御する所謂オープンループ制御にてモータを駆動するよう構成されていてもよい。
【００１９】
また、制御部は、速度検出部を介してモータの回転速度を検出し、その検出された回転速度が目標回転速度となるようにモータの回転速度を制御する、回転制御（所謂フィードバック制御）にてモータを駆動するように構成されていてもよい。
【００２０】
制御部がフィードバック制御にてモータを駆動するように構成されている場合、初期駆動期間の経過に伴うモータの制御量の切り替えは、フィードバック制御の目標回転速度を、初期駆動期間中よりも高速側に切り替えることにより実施するようにしてもよい。
【００２１】
つまり、モータをフィードバック制御にて駆動制御する場合、モータの回転速度と目標回転速度との偏差に応じて、モータの駆動電力を制御するための制御量が設定される。
このため、初期駆動期間中の目標回転速度を低速にし、初期駆動期間経過後の目標回転速度を高速側に切り替えるようにすれば、制御部がフィードバック制御にてモータを駆動するように構成されていても、上述した効果を発揮することができる。
【００２２】
次に、回転打撃工具には、その動作モードを、例えば、高速と低速、或いは、高速と中速と低速、…というように、目標回転状態が異なる複数の動作モードの中から選択するための操作部を設けてもよい。
【００２３】
そして、この場合、制御部は、操作部を介して設定された動作モードに応じて、モータの回転速度が、高速・低速、或いは、高速・中速・低速、となるように、制御量を設定するようにすればよい。
【００２４】
また、制御部は、動作モード毎に、初期駆動期間中には、目標回転状態よりも低速で回転するようにモータの制御量を設定し、初期駆動期間が経過すると、モータの制御量を目標回転状態に対応した最終制御量に切り替える、ように構成してもよい。
【００２５】
一方、このように複数の動作モードを選択できるようにした場合、モータの回転速度が低く設定される動作モードでは、モータの駆動開始直後から制御量を最終制御量に設定しても、打撃発生時に工具ビットが対象物から外れる確率が低くなる。
【００２６】
このため、制御部は、操作部を介して設定された動作モードが、モータを他の動作モードでの回転速度よりも低速で回転させる低速モードである場合には、低速モードでの目標回転状態に対応した最終制御量にてモータの駆動を開始するようにしてもよい。
【００２７】
つまり、低速モードでは、モータの駆動開始後の制御量の切り替えを実施せず、目標回転状態（この場合、低速）に対応した最終制御量にてモータの駆動を開始するようにしてもよい。
【００２８】
このようにすれば、低速モードで、初期駆動期間中の制御量が、目標回転状態よりも低速でモータを駆動させる制御量に設定されることにより、打撃発生前のモータの回転速度が低くなりすぎ、対象物の締め付けに要する時間が長くなるのを抑制できる。
【００２９】
ところで、上記のように、モータの駆動中に制御量を切り替えるようにすると、その切り替えによってモータの回転速度が急変し、これによって、工具ビットが対象物から外れることも考えられる。
【００３０】
そこで、初期駆動期間経過後にモータの制御量を最終制御量に切り替える際には、モータの回転速度が漸次増加するように、制御量を最終制御量まで徐々に変化させるようにしてもよい。
【００３１】
このようにすれば、モータの回転速度が徐々に上昇することになるので、制御量の切り替えによって、工具ビットが対象物から外れるのを防止できる。
また、動作モード設定用の操作部が備えられている場合には、モータの制御量を最終制御量に切り替える際に、モータの回転速度が漸次増加するよう、動作モード毎に異なる変化率にて、制御量を最終制御量まで徐々に変化させるようにしてもよい。
【００３２】
この場合、制御部は、動作モードがモータを低速回転させる低速モードであるときには、動作モードがモータを高速回転させる高速モードであるときに比べて、制御量を最終制御量まで徐々に変化させるときの制御量の変化率が大きくなるように構成してもよい。
【００３３】
このようにすれば、動作モードが低速モードであるとき、初期駆動期間経過後のモータの回転状態を目標回転状態までより早く移行させることができ、延いては、低速モードで対象物の締め付けに要する時間が長くなるのを抑制できる。
【００３４】
また逆に、制御部は、動作モードが低速モードであるときには、動作モードが高速モードであるときに比べて、制御量を最終制御量まで徐々に変化させるときの制御量の変化率が小さくなるように構成してもよい。
【００３５】
このようにすれば、動作モードが低速モードであるとき、初期駆動期間経過後のモータの回転状態を目標回転状態までゆっくりと移行させることができるようになり、低速モードでの制御量の切り替えによって工具ビットが対象物から外れるのを抑制できる。
【００３６】
次に、初期駆動期間経過後にモータの制御量を最終制御量まで徐々に変化させる場合、制御部は、制御量を一定の変化率で（換言すれば、所定時間に所定量の割合で段階的に）変化させるようにしてもよい。
【００３７】
この場合、制御部は、初期駆動期間経過後の制御量の変化率が、モータの駆動開始時にモータの回転を上昇させるときの制御量の変化率である初期変化率に比べて小さくなるように構成されていてもよい。
【００３８】
このようにすれば、初期駆動期間経過後の制御量の変化率をモータの駆動開始時の制御量の変化率よりも小さくして、制御量の最終制御量への切り換えをゆっくりと実施させることができる。よって、このようにしても、初期駆動期間経過後の制御量の切り替えによって工具ビットが対象物から外れるのを抑制できる。
【００３９】
また、初期駆動期間経過後にモータの制御量を最終制御量まで徐々に変化させる場合、制御部は、制御量の変化率が経過時間に応じて徐々に大きくなるよう、制御量を変化させるようにしてもよい。
【００４０】
このようにすれば、初期駆動期間経過後には、モータの回転速度は弓なりに上昇することになり、初期駆動期間経過直後には、モータの回転上昇を抑えて工具ビットが対象物から外れるのを抑制することができる。
【００４１】
また、初期駆動期間からの時間経過と共にモータの回転速度が弓なりに上昇するため、対象物の締め付けに要する時間が長くなるのを抑制することもできる。
またこのように、初期駆動期間経過後、制御量を変化率が徐々に大きくなるように変化させる場合、制御部は、初期駆動期間経過直後には、制御量の変化率が、初期変化率に比べて小さくするように構成されていてもよい。
【００４２】
そして、この場合、初期駆動期間経過後の時間経過に伴い、制御量の変化率が、初期変化率よりも大きくなるようにすれば、初期駆動期間経過後に工具ビットが対象物から外れるのを抑制しつつ、対象物の締め付けに要する時間が長くなるのを抑制することができる。
【００４３】
次に、制御部は、モータの制御量として、モータを駆動制御するのに用いるＰＷＭ信号のデューティ比を増加させることで、初期駆動期間経過後のモータの回転状態を目標回転状態に制御するように構成されていてもよい。
【００４４】
また、制御部は、モータの制御量として、モータ駆動時の通電角を広げることにより、初期駆動期間経過後のモータの回転状態を目標回転状態に制御するように構成されていてもよい。
【００４５】
そして、通電角を広げることで、初期駆動期間経過後のモータの回転状態を目標回転状
態に制御する際には、例えば、モータ駆動に用いるＰＷＭ信号のデューティ比を１００％に固定して、モータコイルへの通電開始及び終了タイミングを制御すればよい。
【００４６】
この場合、ＰＷＭ信号のデューティ比を制御するようにした場合に比べて、通電制御用のスイッチング素子を高速に切り替える必要がないので、そのスイッチング素子の発熱を抑えることができる。
【図面の簡単な説明】
【００４７】
【図１】実施形態の充電式インパクトドライバの縦断面図である。
【図２】充電式インパクトドライバに搭載されたモータ駆動装置の電気的構成を表すブロック図である。
【図３】制御回路にて実行される制御処理を表すフローチャートである。
【図４】図３のＳ１４０にて実行される打撃回数処理を表すフローチャートである。
【図５】図３のＳ１５０にて実行されるモータ制御処理を表すフローチャートである。
【図６】図５のＳ３５０にて実行されるモータ駆動処理を表すフローチャートである。
【図７】実施形態のモータ制御により設定される制御目標とモータの回転速度及び電流の変化を表すタイムチャートである。
【図８】変形例１のモータ駆動処理を表すフローチャートである。
【図９】変形例１の制御目標とモータの回転速度及び電流の変化を表すタイムチャートである。
【図１０】変形例２の制御目標とモータの回転速度及び電流の変化を表すタイムチャートである。
【図１１】変形例２のモータ駆動処理を表すフローチャートである。
【図１２】変形例４のモータ制御による制御目標の設定手順の一例を説明するタイムチャートである。
【図１３】変形例４のモータ制御による制御目標の設定手順の他の例を説明するタイムチャートである。
【図１４】変形例６の制御目標とモータの回転速度及び電流の変化を表すタイムチャートである。
【図１５】変形例６のモータ駆動処理を表すフローチャートである。
【発明を実施するための形態】
【００４８】
以下に、本発明の実施形態を図面に基づいて説明する。
本実施形態では、回転打撃工具の一例である充電式インパクトドライバ１に本発明を適用した場合について説明する。
【００４９】
図１に示すように、本実施形態の充電式インパクトドライバ１は、工具本体１０と、工具本体１０に電力を供給するバッテリパック３０とにより構成されている。
工具本体１０は、後述するモータ４や打撃機構６等が収容されたハウジング２と、ハウジング２の下部（図１の下側）から突出するように形成されたグリップ部３とにより構成されている。
【００５０】
ハウジング２内には、その後部（図１の左側）にモータ４が収容されていると共に、そのモータ４の前方（図１の右側）に釣鐘状のハンマケース５が組み付けられており、このハンマケース５内に打撃機構６が収容されている。
【００５１】
すなわち、ハンマケース５内には、後端側に中空部が形成されたスピンドル７が同軸で収容されており、ハンマケース５内の後端側に設けられたボールベアリング８が、このス
ピンドル７の後端外周を軸支している。
【００５２】
スピンドル７におけるボールベアリング８の前方部位には、回転軸に対して点対称で軸支された２つの遊星歯車からなる遊星歯車機構９が、ハンマケース５の後端側内周面に形成されたインターナルギヤ１１に噛合している。
【００５３】
この遊星歯車機構９は、モータ４の出力軸１２の先端部に形成されたピニオン１３と噛合するものである。
そして、打撃機構６は、スピンドル７と、スピンドル７に外装されたハンマ１４と、このハンマ１４の前方側で軸支されるアンビル１５と、ハンマ１４を前方へ付勢するコイルバネ１６とから構成される。
【００５４】
つまり、ハンマ１４は、スピンドル７に対して一体回転可能且つ軸方向へ移動可能に連結されており、コイルバネ１６により前方（アンビル１５側）に付勢されている。
また、スピンドル７の先端部は、アンビル１５の後端に同軸で遊挿されることで回転可能に軸支されている。
【００５５】
アンビル１５は、ハンマ１４による回転力及び打撃力を受けて軸回りに回転するものであり、ハウジング２の先端に設けられた軸受２０によって、軸回りに回転自在かつ軸方向に変位不能に支持されている。
【００５６】
また、アンビル１５の先端部には、ドライバビットやソケットビット等の各種工具ビット（図示略）を装着するためのチャックスリーブ１９が設けられている。
なお、モータ４の出力軸１２、スピンドル７、ハンマ１４、アンビル１５、及びチャックスリーブ１９は、いずれも同軸状となるように配置されている。
【００５７】
また、ハンマ１４の前端面には、アンビル１５に打撃力を与えるための２つの打撃突部１７，１７が周方向に１８０°の間隔を隔てて突設されている。
一方、アンビル１５には、その後端側に、ハンマ１４の各打撃突部１７，１７が当接可能に構成された２つの打撃アーム１８，１８が周方向に１８０°の間隔を隔てて形成されている。
【００５８】
そして、ハンマ１４がコイルバネ１６の付勢力でスピンドル７の前端側に付勢・保持されることで、そのハンマ１４の各打撃突部１７，１７がアンビル１５の各打撃アーム１８，１８に当接するようになる。
【００５９】
この状態で、モータ４の回転力により遊星歯車機構９を介してスピンドル７が回転すると、ハンマ１４がスピンドル７と共に回転し、そのハンマ１４の回転力が打撃突部１７，１７と打撃アーム１８，１８とを介してアンビル１５に伝達される。
【００６０】
これにより、アンビル１５の先端に装着されたドライバビット等が回転し、ねじ締めが可能となる。
そして、ねじが所定位置まで締め付けられることにより、アンビル１５に対して外部から所定値以上のトルクが加わると、そのアンビル１５に対するハンマ１４の回転力（トルク）も所定値以上になる。
【００６１】
これにより、ハンマ１４がコイルバネ１６の付勢力に抗して後方に変位し、ハンマ１４の各打撃突部１７，１７がアンビル１５の各打撃アーム１８，１８を乗り越えるようになる。つまり、ハンマ１４の各打撃突部１７，１７がアンビル１５の各打撃アーム１８，１８から一旦外れ、空転する。
【００６２】
このようにハンマ１４の各打撃突部１７，１７がアンビル１５の各打撃アーム１８，１８を乗り越えると、ハンマ１４は、スピンドル７と共に回転しつつコイルバネ１６の付勢力で再び前方へ変位し、ハンマ１４の各打撃突部１７，１７がアンビル１５の各打撃アーム１８，１８を回転方向に打撃する。
【００６３】
従って、本実施形態の充電式インパクトドライバ１においては、アンビル１５に対して所定値以上のトルクが加わる毎に、そのアンビル１５に対してハンマ１４による打撃が繰り返し行われる。そして、このようにハンマ１４の打撃力がアンビル１５に間欠的に加えられることにより、ねじを高トルクで増し締めすることができる。
【００６４】
次に、グリップ部３は、作業者が当該充電式インパクトドライバ１を使用する際に把持する部分であり、その上方にトリガスイッチ２１が設けられている。
このトリガスイッチ２１は、作業者により引き操作されるトリガ２１ａと、このトリガ２１ａの引き操作によりオン・オフされるとともにこのトリガ２１ａの操作量（引き量）に応じて抵抗値が変化するように構成されたスイッチ本体部２１ｂとを備えている。
【００６５】
また、トリガスイッチ２１の上側（ハウジング２の下端側）には、モータ４の回転方向を正転方向（本実施形態では、工具の後端側から前方を見た状態で右回り方向）又は逆転方向（正転方向とは逆の回転方向）の何れか一方に切り替えるための正逆切替スイッチ２２が設けられている。
【００６６】
また、ハウジング２の下部前方には、トリガ２１ａが引き操作されたときに当該充電式インパクトドライバ１の前方を光で照射するための照明ＬＥＤ２３が設けられている。
また、グリップ部３における前方下部には、当該充電式インパクトドライバ１の動作モード（高速・低速）やバッテリ２９の残容量等を表示するための表示パネル２４が設けられている。
【００６７】
なお、表示パネル２４近傍には、当該充電式インパクトドライバ１の動作モードを高速モードにするか低速モードにするかを設定するための速度切替スイッチ２６が設けられている（図２参照）。
【００６８】
次に、グリップ部３の下端には、バッテリ２９を収容したバッテリパック３０が、着脱自在に装着されている。このバッテリパック３０は、装着時にはグリップ部３の下端に対してその前方側から後方側へとスライドさせることにより装着される。
【００６９】
バッテリパック３０に収容されたバッテリ２９は、本実施形態では、例えばリチウムイオン電池など、繰り返し充電可能な２次電池である。
また、モータ４は、本実施形態では、Ｕ，Ｖ，Ｗ各相の電機子巻線を備えた３相ブラシレスモータにて構成されている。そして、モータ４には、モータ４の回転位置（角度）を検出するための回転センサ５０（図２参照）が設けられている。
【００７０】
なお、回転センサ５０は、例えば、モータ４の各相に対応して配置される３つのホール素子を備え、モータ４の所定回転角度毎に回転検出信号を発生するよう構成されたホールＩＣ等にて構成される。
【００７１】
また、グリップ部３の内部には、バッテリパック３０から電力供給を受けて、モータ４を駆動制御するモータ駆動装置４０（図２参照）が設けられている。
このモータ駆動装置４０には、図２に示すように、駆動回路４２、ゲート回路４４、制御回路４６、及び、レギュレータ４８が設けられている。
【００７２】
駆動回路４２は、バッテリ２９から電源供給を受けて、モータ４の各相巻線に電流を流すためのものであり、本実施形態では、６つのスイッチング素子Ｑ１〜Ｑ６からなる３相フルブリッジ回路として構成されている。なお、各スイッチング素子Ｑ１〜Ｑ６は、本実施形態ではＭＯＳＦＥＴである。
【００７３】
駆動回路４２において、３つのスイッチング素子Ｑ１〜Ｑ３は、モータ４の各端子Ｕ，Ｖ，Ｗと、バッテリ２９の正極側に接続された電源ラインとの間に、いわゆるハイサイドスイッチとして設けられている。
【００７４】
また、他の３つのスイッチング素子Ｑ４〜Ｑ６は、モータ４の各端子Ｕ，Ｖ，Ｗと、バッテリ２９の負極側に接続されたグランドラインとの間に、いわゆるローサイドスイッチとして設けられている。
【００７５】
また、ゲート回路４４は、制御回路４６から出力された制御信号に従い、駆動回路４２内の各スイッチング素子Ｑ１〜Ｑ６をオン／オフさせることで、モータ４の各相巻線に電流を流し、モータ４を回転させるものである。
【００７６】
次に、制御回路４６は、ＣＰＵ、ＲＯＭ、ＲＡＭ等を中心とするマイクロコンピュータ（マイコン）にて構成されている。そして、制御回路４６には、上述したトリガスイッチ２１（詳しくはスイッチ本体部２１ｂ）、正逆切替スイッチ２２、照明ＬＥＤ２３、表示パネル２４、及び、速度切替スイッチ２６が接続されている。
【００７７】
また、モータ駆動装置４０において、駆動回路４２からバッテリ２９の負極側に至る通電経路には、モータ４に流れた電流を検出するための電流検出回路５４が設けられている。なお、電流検出回路５４は、例えば、電流検出用の抵抗とその両端電圧を電流検出信号として制御回路４６に入力する入力回路とにより構成される。
【００７８】
そして、制御回路４６には、電流検出回路５４からの電流検出信号、及び、モータ４に設けられた回転センサ５０からの回転検出信号も入力される。
次に、制御回路４６は、トリガスイッチ２１が操作されると、回転センサ５０からの回転検出信号に基づきモータ４の回転位置及び回転速度を求め、正逆切替スイッチ２２からの回転方向設定信号に従い、モータ４を所定の回転方向に駆動する。
【００７９】
また、制御回路４６は、モータ４の駆動時には、トリガスイッチ２１の操作量（引き量）及び速度切替スイッチ２６を介して設定される動作モード（高速又は低速）に応じて、モータ４の速度指令値を設定する。
【００８０】
そして、制御回路４６は、その速度指令値に従い駆動回路４２を構成する各スイッチング素子Ｑ１〜Ｑ６の駆動デューティ比を設定し、その駆動デューティ比に応じた制御信号（ＰＷＭ信号）をゲート回路４４に出力することで、モータ４の回転速度を制御する。
【００８１】
なお、制御回路４６は、こうしたモータ４駆動のための駆動制御とは別に、モータ駆動時に照明ＬＥＤ２３を点灯させる制御等も実行する。
また、レギュレータ４８は、バッテリ２９から電源供給を受けて、制御回路４６を動作させるのに必要な一定の電源電圧Ｖｃｃ（例えば、直流５Ｖ）を生成するものであり、制御回路４６は、レギュレータ４８から電源電圧Ｖｃｃが供給されることにより動作する。
【００８２】
次に、制御回路４６にて実行される制御処理について説明する。
図３に示すように、制御回路４６は、所定の制御周期（タイムベース）でＳ１２０〜Ｓ
１６０（Ｓはステップを表す）の一連の処理を繰り返し実行する。
【００８３】
すなわち、制御回路４６は、Ｓ１１０にて、タイムベースが経過したか否かを判断することにより、所定の制御周期が経過するのを待ち、Ｓ１１０にてタイムベースが経過したと判断すると、Ｓ１２０に移行する。
【００８４】
そして、Ｓ１２０では、トリガスイッチ２１、正逆切替スイッチ２２、速度切替スイッチ２６からの信号入力を確認することで、これら各スイッチの操作を検出するスイッチ操作検出処理を実行する。
【００８５】
また、続くＳ１３０では、トリガスイッチ２１の操作量（引き量）、電流検出回路５４や回転センサ５０からの検出信号、バッテリパック３０から供給されるバッテリ電圧等をＡ／Ｄ変換して取り込むＡ／Ｄ変換処理を実行する。
【００８６】
そして、続くＳ１４０では、回転センサ５０からの検出信号により得られるモータ４の回転速度の変化等から、打撃機構６による打撃やその発生回数（打撃回数）を検出する、打撃回数処理を実行する。
【００８７】
また、続くＳ１５０では、トリガスイッチ２１の操作量、速度切替スイッチ２６を介して設定される動作モード、及び、打撃回数処理による打撃検出結果に基づき、モータ４を駆動制御する、モータ制御処理を実行する。
【００８８】
そして、最後に、Ｓ１６０にて、使用者からの指令（動作設定）に従い、表示パネル２４へのバッテリ２９の残容量表示、照明ＬＥＤ２３の点灯、等を行う表示処理を実行し、Ｓ１１０に移行する。
【００８９】
次に、Ｓ１４０にて実行される打撃回数処理について説明する。
図４に示すように、打撃回数処理が開始されると、まずＳ２１０にて、トリガスイッチ２１が使用者により操作されて、オン状態になっているか否かを判断する。そして、トリガスイッチがオン状態になっていれば、Ｓ２２０に移行し、トリガスイッチ２１の操作量等からモータ４を駆動するか否かを判断する。
【００９０】
Ｓ２２０にてモータ４を駆動しないと判断された場合、若しくは、Ｓ２１０にてトリガスイッチ２１はオフ状態であると判断された場合には、Ｓ２９５に移行する。そして、Ｓ２９５では、後述の時間カウンタ、打撃回数フラグ、及び、打撃回数判定フラグ、をそれぞれクリアし、当該打撃回数処理を終了する。
【００９１】
一方、Ｓ２２０にて、モータ４を駆動すると判断された場合には、Ｓ２３０に移行し、打撃回数フラグがセットされているか否かを判断する。そして、Ｓ２３０にて、打撃回数フラグはセットされていない（つまり、クリアされている）と判断されると、Ｓ２４０に移行し、打撃判定処理を実行する。
【００９２】
打撃判定処理では、モータ４の回転速度の変化から打撃機構６による打撃を検出し、その検出回数（つまり打撃回数）をカウントする。
なお、打撃判定処理での打撃検出は、電流検出回路５４にて検出される電流の変化を検出することによっても実施できる。また、打撃により発生する振動を加速度センサ等で検出することによっても実施できる。
【００９３】
Ｓ２４０の打撃判定処理が完了すると、Ｓ２５０に移行し、打撃判定処理にてカウントされた打撃回数が、規定回数以上であるか否かを判断する。そして、打撃回数が規定回数
以上であれば、Ｓ２６０にて、打撃回数フラグをセットした後、当該打撃回数処理を終了し、打撃回数が規定回数以上でなければ、そのまま当該打撃回数処理を終了する。
【００９４】
次に、Ｓ２３０にて、打撃回数フラグはセットされていると判断された場合には、Ｓ２７０に移行して、Ｓ２６０にて打撃回数フラグがセットされてからのモータ４の駆動時間を計時するための時間カウンタをインクリメント（＋１）し、Ｓ２８０に移行する。
【００９５】
Ｓ２８０では、その時間カウンタのカウント値に基づき、打撃回数が規定回数に達してからの経過時間が、予め設定された規定時間以上になったか否かを判定し、経過時間が規定時間以上であれば、Ｓ２９０に移行し、打撃回数判定フラグをセットする。
【００９６】
そして、Ｓ２９０にて、打撃回数判定フラグをセットするか、或いは、Ｓ２８０にて経過時間は規定時間に達していないと判断した場合には、当該打撃回数処理を終了する。
次に、図３のＳ１５０にて実行されるモータ制御処理について説明する。
【００９７】
図５に示すように、モータ制御処理が開始されると、まずＳ３１０にて、トリガスイッチ２１が使用者により操作されて、オン状態になっているか否かを判断する。そして、トリガスイッチがオン状態になっていれば、Ｓ３２０に移行し、トリガスイッチ２１の操作量等からモータ４を駆動するか否かを判断する。
【００９８】
Ｓ３２０にてモータ４を駆動しないと判断された場合、若しくは、Ｓ３１０にてトリガスイッチ２１はオフ状態であると判断された場合には、Ｓ４００に移行し、モータ４を停止させるモータ停止処理を実行する。
【００９９】
なお、このモータ停止処理では、駆動回路４２を介してモータ４に制動力を発生させるか、或いは、単に通電を遮断してモータ４をフリーラン状態にすることで、モータ４を停止させる。
【０１００】
そして、続くＳ４１０では、後述の高速切替フラグ、及び、駆動回路４２を介してモータ４を駆動するための出力値（換言すればモータ４の制御量）である駆動デューティ比、をそれぞれクリアし、当該モータ制御処理を終了する。
【０１０１】
次に、Ｓ３２０にて、モータ４を駆動すると判断された場合には、Ｓ３３０に移行し、速度切替スイッチ２６を介して設定される動作モードは、高速モードになっているか否かを判断する。
【０１０２】
そして、Ｓ３３０にて、当該充電式インパクトドライバ１の動作モードは、高速モードではない（つまり、低速モードである）と判断されると、Ｓ３４０に移行して、モータ４を低速モードで駆動するための低速目標値を設定する低速設定処理を実行し、Ｓ３５０に移行する。
【０１０３】
なお、低速目標値は、モータ４の無負荷時の回転速度をトリガスイッチ２１の操作量に応じた設定回転数Ｎ１（図７参照）に制御するのに必要な出力値（駆動デューティ比）である。
【０１０４】
そして、Ｓ３４０では、トリガスイッチ２１の操作量をパラメータとする低速モード用のマップ若しくは演算式を用いて、低速目標値（図７に示す低速目標Ｄｕｔｙ）を設定する。
【０１０５】
次に、Ｓ３３０にて、当該充電式インパクトドライバ１の動作モードは、高速モードで
あると判断された場合には、Ｓ３６０に移行し、高速切替フラグはセットされているか否かを判断する。
【０１０６】
また、Ｓ３６０にて、高速切替フラグはセットされていないと判断された場合には、Ｓ３７０に移行し、打撃回数判定フラグはセットされているか否かを判断する。
そして、Ｓ３７０にて、打撃回数判定フラグはセットされていないと判断されると、Ｓ３４０にて低速設定処理を実行した後、Ｓ３５０に移行する。
【０１０７】
一方、Ｓ３６０にて、高速切替フラグはセットされていると判断されるか、或いは、Ｓ３７０にて、打撃回数判定フラグはセットされていると判断されると、Ｓ３８０に移行し、モータ４を高速モードで駆動するための高速目標値を設定する、高速設定処理を実行する。
【０１０８】
そして、続くＳ３９０では、高速切替フラグをセットし、Ｓ３５０に移行する。
なお、Ｓ３８０にて設定される高速目標値は、モータ４の無負荷時の回転速度をトリガスイッチ２１の操作量に応じた設定回転数Ｎ２（図７参照）に制御するのに必要な出力値（駆動デューティ比）である。
【０１０９】
そして、Ｓ３８０では、トリガスイッチ２１の操作量をパラメータとする高速モード用のマップ若しくは演算式を用いて、高速目標値（図７に示す高速目標Ｄｕｔｙ）を設定する。
【０１１０】
次に、Ｓ３５０では、Ｓ３４０にて設定された低速目標値、若しくは、Ｓ３８０にて設定された高速目標値に基づき、モータ４を実際に制御するための制御量である出力値を設定する。そして、その設定した出力値に基づき制御信号を生成してゲート回路４４に出力するモータ駆動処理を実行する。なお、Ｓ３５０のモータ駆動処理実行後は、当該モータ制御処理を終了する。
【０１１１】
次に、モータ駆動処理について、図６に示すフローチャートに沿って説明する。
図６に示すように、モータ制御処理では、まずＳ５１０にて、高速切替フラグがセットされているか否かを判断する。
【０１１２】
そして、高速切替フラグがセットされていなければ、Ｓ５２０にて、後述の段階時間カウンタをクリアした後、Ｓ５３０にて、モータ４の駆動制御に用いる出力値（駆動デューティ比）を、現在の出力値に所定の加算値Ａを加えることで更新し、Ｓ５４０に移行する。
【０１１３】
Ｓ５４０では、出力値が低速目標値を超えたか否かを判定し、出力値が低速目標値を超えていれば、Ｓ５５０にて、出力値を低速目標値に設定した後、当該モータ駆動処理を終了する。また、出力値が低速目標値を超えていなければ、そのまま当該モータ駆動処理を終了する。
【０１１４】
なお、この出力値は、制御回路４６にて別途実施される制御信号出力処理にて、モータ４への供給電力を、ゲート回路４４を介してＰＷＭ制御するための制御信号（ＰＷＭ信号）を生成するのに利用される。
【０１１５】
そして、この出力値は、駆動デューティ比であり、モータ停止時には「零」であることから、モータ４の駆動開始後、Ｓ５３０の処理が繰り返し実行されることにより、初期値「零」から加算値Ａにて徐々に増加し、低速目標値（図７に示す低速目標Ｄｕｔｙ）に達することになる。
【０１１６】
次に、Ｓ５１０にて、高速切替フラグはセットされていると判断された場合、つまり、動作モードが高速モードであり、打撃機構６による打撃回数が規定回数に達し、その後、規定時間が経過して、Ｓ３８０にて高速目標値が設定された場合には、Ｓ５６０に移行する。
【０１１７】
そして、Ｓ５６０では、出力値が高速目標値になっているか否かを判断し、出力値が高速目標値になっていれば、当該モータ駆動処理を終了し、出力値が高速目標値になっていなければ、Ｓ５７０に移行する。
【０１１８】
Ｓ５７０では、段階時間カウンタをインクリメント（＋１）し、Ｓ５８０に移行する。そして、Ｓ５８０では、段階時間カウンタにて計時される段階時間が、予め設定された設定時間になったか否かを判断し、段階時間が設定時間になっていなければ、当該モータ駆動処理を終了し、段階時間が設定時間になっていれば、Ｓ５９０に移行する。
【０１１９】
Ｓ５９０では、段階時間カウンタをクリアし、出力値（駆動デューティ比）を、現在の出力値に所定の加算値Ｂを加えることで更新する。なお、加算値Ｂは、加算値Ａに比べて小さい値が設定されている。
【０１２０】
また続くＳ６００では、出力値が高速目標値を超えたか否かを判定し、出力値が高速目標値を超えていれば、Ｓ６１０にて、出力値を高速目標値に設定した後、当該モータ駆動処理を終了する。また、出力値が高速目標値を超えていなければ、そのまま当該モータ駆動処理を終了する。
【０１２１】
以上説明したように、本実施形態の充電式インパクトドライバ１においては、トリガスイッチ２１が操作されて、モータ４を駆動する際には、モータ４への出力値（駆動デューティ比）を、低速目標値（低速目標Ｄｕｔｙ）まで徐々に増加させる（Ｓ５３０〜Ｓ５５０）。
【０１２２】
このため、図７に示すように、モータ４の駆動開始後（時点ｔ１）、モータ４の回転速度は設定回転数Ｎ１まで徐々に上昇し、設定回転数Ｎ１に保持される。
従って、本実施形態の充電式インパクトドライバ１を利用してねじを締め付ける場合、締め付け開始直後のモータ４の回転上昇を抑制し、ドライバビットがねじから外れ、ねじ頭や被削剤を傷つけてしまうのを防止できる。
【０１２３】
また、ねじ締めによりモータ４に負荷が加わり始めると（時点ｔ２）、モータ４の回転速度は低下し、その後、打撃機構６による打撃が開始される。
そして、動作モードが低速モードであれば、モータ４への出力値（駆動デューティ比）は低速目標Ｄｕｔｙに保持され、打撃機構６による打撃が継続される。
【０１２４】
これに対し、動作モードが高速モードであれば、打撃機構６による打撃回数が規定回数に達し、その後、規定時間が経過すると（時点ｔ３）、制御目標が、低速目標値（低速目標Ｄｕｔｙ）から高速目標値（高速目標Ｄｕｔｙ）に切り替えられる。
【０１２５】
そして、制御目標が切り替えられると、段階時間カウンタにて計時される段階時間が設定時間に達する度に出力値（駆動デューティ比）に加算値Ｂが加算され、出力値（駆動デューティ比）が、高速目標値（高速目標Ｄｕｔｙ）まで段階的に増加する（Ｓ５６０〜Ｓ６１０）。
【０１２６】
つまり、動作モードが高速モードである場合、モータ４の駆動を開始してから、打撃機
構６による打撃回数が規定回数に達して規定時間が経過する迄の初期駆動期間と、初期駆動期間が経過した後とで、モータ４の駆動電力が低電力から高電力へと切り替えられる。
【０１２７】
従って、高速モードでは、モータ４の初期駆動期間中、打撃機構６による打撃力が通常よりも抑制されることになり、ねじが被削材に充分入り込んでいないときに、打撃機構６による打撃が開始されて、ドライバビットがねじから外れるのを防止できる。
【０１２８】
また、高速モードで、初期駆動期間が経過すると、モータ４の制御目標が最終制御量である高速目標値（高速目標Ｄｕｔｙ）に切り替えられて、打撃機構６による打撃力が強くなるので、ねじを被削材に締め付けるのに要する時間を短くすることができる。
【０１２９】
また、高速モードで、出力値である駆動デューティ比を低速目標Ｄｕｔｙから高速目標Ｄｕｔｙに切り替える際には、駆動デューティ比を段階的に増加させることから、出力値の切り替えによってモータ４の回転が急上昇するのを防止することもできる。
【０１３０】
特に、本実施形態では、駆動デューティ比を低速目標Ｄｕｔｙから高速目標Ｄｕｔｙへ増加させるのに用いられる加算値Ｂは、駆動デューティ比を駆動停止時の初期値「０」から低速目標Ｄｕｔｙへ増加させるのに用いられる加算値Ａよりも小さい。
【０１３１】
このため、本実施形態によれば、駆動デューティ比を低速目標Ｄｕｔｙから高速目標Ｄｕｔｙへ増加させる際の目標Ｄｕｔｙの増加率を、モータ４の駆動開始直後の増加率（換言すれば、初期変化率）よりも小さくして、モータ４の回転上昇を、モータ４の駆動開始時よりも抑制できる。
【０１３２】
よって本実施形態によれば、この構成によっても、打撃機構６による打撃開始後にドライバビットがねじから外れるのを抑制できる。
なお、本実施形態においては、速度切替スイッチ２６が、本発明の操作部に相当する。また、制御回路４６は、本発明の打撃検出部及び制御部に相当し、特に、制御回路４６にて実行される打撃回数処理は、本発明の打撃検出部として機能し、制御回路４６にて実行されるモータ制御処理は、本発明の制御部として機能する。
【０１３３】
以上、本発明の一実施形態について説明したが、本発明は、上記実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内にて種々の態様をとることができる。
（変形例１）
例えば、上記実施形態では、高速モードで、モータ４の制御量である出力値を切り替える際には、モータ４の駆動デューティ比を、低速目標Ｄｕｔｙから高速目標Ｄｕｔｙに切り替えるものとして説明した。
【０１３４】
これに対し、モータ４の制御量として、ＰＷＭ信号の駆動デューティ比ではなく、モータ４の駆動時の通電角を変更するようにしても、上記実施形態と同様の効果を得ることができる。そして、このためには、モータ駆動処理を、図８に示す手順で実行するようにすればよい。
【０１３５】
なお、このモータ駆動処理では、モータ４の駆動デューティ比には、トリガスイッチ２１の操作量が最大操作量であるとき１００％となるよう、トリガスイッチ２１の操作量に応じて設定される目標Ｄｕｔｙが利用される。
【０１３６】
このため、図８のモータ駆動処理では、出力値として、モータ４駆動時の各相巻線への通電開始タイミングである進角値、及び、その通電期間である通電角を設定するものとして説明する。
【０１３７】
図８に示すように、このモータ制御処理では、まずＳ７１０にて、高速切替フラグがセットされているか否かを判断し、高速切替フラグがセットされていなければ、Ｓ７２０にて、段階時間カウンタ及び通電角切替フラグをクリアする。
【０１３８】
そして、続くＳ７３０では、モータ４の駆動制御に用いる進角値を、現在の進角値に所定の加算値Ｘを加えることで更新し、Ｓ７４０に移行する。
Ｓ７４０では、進角値が低速目標値（例えば、２２．５°）を超えたか否かを判定し、進角値が低速目標値を超えていれば、Ｓ７５０にて、進角値を低速目標値に設定した後、当該モータ駆動処理を終了する。また、進角値が低速目標値を超えていなければ、そのまま当該モータ駆動処理を終了する。
【０１３９】
なお、進角値の初期値は、低速目標値よりも小さい値（例えば零）である。このため、Ｓ７３０の処理によって、モータ４駆動時の進角値が徐々に増加して、モータ４への通電開始タイミングが進角側に移動し、モータ４の駆動電力（延いては駆動トルク）が増加する。
【０１４０】
次に、Ｓ７１０にて、高速切替フラグはセットされていると判断された場合には、Ｓ７６０に移行し、進角値が高速目標値（例えば、３７．５°）になっているか否かを判断し、進角値が高速目標値になっていなければ、Ｓ７７０に移行する。また、進角値が高速目標値になっていれば、Ｓ８２０に移行する。
【０１４１】
Ｓ７７０では、段階時間カウンタをインクリメント（＋１）し、Ｓ７８０に移行する。そして、Ｓ７８０では、段階時間カウンタにて計時される段階時間が予め設定された設定時間になったか否かを判断し、段階時間が設定時間になっていなければ、当該モータ駆動処理を終了し、段階時間が設定時間になっていれば、Ｓ７９０に移行する。
【０１４２】
Ｓ７９０では、段階時間カウンタをクリアし、進角値を、現在の進角値に所定の加算値Ｙを加えることで更新し、Ｓ８００に移行する。
そして、Ｓ８００では、進角値が高速目標値を超えたか否かを判定し、進角値が高速目標値を超えていれば、Ｓ８１０にて、進角値を高速目標値に設定した後、当該モータ駆動処理を終了する。また、進角値が高速目標値を超えていなければ、そのまま当該モータ駆動処理を終了する。
【０１４３】
次に、Ｓ８２０では、通電角切替フラグがセットされているか否かを判断する。そして、通電角切替フラグがセットされていれば、そのまま当該モータ駆動処理を終了し、通電角切替フラグがセットされていなければ（つまり、クリアされていれば）、Ｓ８３０に移行する。
【０１４４】
Ｓ８３０では、段階時間カウンタをインクリメント（＋１）し、続くＳ８４０にて、段階時間カウンタにて計時される段階時間が予め設定された設定時間になったか否かを判断する。なお、この設定時間は、Ｓ７８０の判定に用いられる設定時間と同じであってもよく、異なる時間であってもよい。
【０１４５】
そして、Ｓ８４０にて、段階時間は設定時間になっていないと判断されると、当該モータ駆動処理を終了し、段階時間が設定時間になったと判断されると、Ｓ８５０に移行し、モータ４駆動時の通電角を拡大する。
【０１４６】
つまり、Ｓ８５０では、モータ駆動時の通電角が、低速目標値（例えば１２０°）よりも広い高速目標値（例えば１５０°）となるよう、各相巻線への通電終了タイミングを所
定角度（例えば１５°）だけ遅延させる。
【０１４７】
そして、続くＳ８６０では、段階時間カウンタをクリアすると共に、通電角切替フラグをセットし、当該モータ駆動処理を終了する。
このように、図８に示すモータ駆動処理では、図９に示すように、モータ４の駆動開始後（時点ｔ１）、モータ４駆動時の進角値を低速目標値（低速目標進角値）まで徐々に増加させることで、モータ４の回転速度を設定回転数Ｎ１まで上昇させる（Ｓ７２０〜Ｓ７５０）。
【０１４８】
そして、ねじ締めによりモータ４に負荷が加わり始めると（時点ｔ２）、モータ４の回転速度は低下し、その後、打撃機構６による打撃が開始されるが、動作モードが低速モードであれば、進角値は低速目標進角値に保持され、モータ４への通電角も、所定の低速目標値に固定される。
【０１４９】
これに対し、動作モードが高速モードであれば、打撃機構６による打撃回数が規定回数に達し、その後、規定時間が経過すると（時点ｔ３）、進角値の制御目標が、低速目標進角値から高速目標進角値に切り替えられる。
【０１５０】
そして、進角値の制御目標が切り替えられると、段階時間カウンタにて計時される段階時間が設定時間に達する度に、進角値に加算値Ｙが加算され、進角値が、高速目標進角値まで段階的に増加する（Ｓ７７０〜Ｓ８１０）。
【０１５１】
つまり、動作モードが高速モードである場合、モータ４の駆動を開始してから、打撃機構６による打撃回数が規定回数に達して規定時間が経過すると、モータ４駆動時の進角値が、低速モードでの進角値よりも進角側に補正され、モータ４への通電角が徐々に増加する。
【０１５２】
従って、高速モードでは、モータ４の初期駆動期間中、打撃機構６による打撃力が低速モードと同程度に抑制されることになり、変形例１でも、上記実施形態と同様の効果を得ることができる。
【０１５３】
また、高速モードでは、図９に示すように、進角値が、高速目標進角値に達すると（時点ｔ４）、所定の設定時間経過後に、通電角が高速目標値（例えば１５０°）となるよう、各相巻線への通電終了タイミングを所定角度だけ遅延させる（Ｓ８３０〜Ｓ８６０）。
【０１５４】
この結果、変形例１によれば、高速モードでは、この通電角の切り替えにより、モータ４の回転数が更に増加し、ねじを被削材に締め付けるのに要する時間をより短くすることができる。
【０１５５】
また、変形例１では、トリガスイッチ２１の操作量が最大操作量であれば、モータ４の駆動デューティ比を１００％にすることができるので、モータ４の駆動デューティ比を制御するようにした場合に比べて、駆動回路４２内のスイッチング素子の発熱を抑えることができる。
（変形例２）
次に、上記実施形態及び変形例では、高速モードで制御量（駆動デューティ比若しくは進角値）を最終制御量（高速目標Ｄｕｔｙ若しくは高速目標進角値）に切り替える際には、制御量を加算値Ｂ又はＹにて決まる一定の変化率にて徐々に変化させるものとした。
【０１５６】
しかし、このように制御量を最終制御量に切り替える際には、図１０に例示するように、制御量の変化率（増加率）を、経過時間に応じて徐々に大きくなるよう変化させてもよ
い。
【０１５７】
つまり、図１０においては、実施形態の充電式インパクトドライバ１において、動作モードが高速モードで、初期駆動期間が経過し、モータ４の制御目標を高速目標Ｄｕｔｙに切り替える際に、駆動デューティ比を弓なりに変化（増加）させるようにしている。
【０１５８】
具体的には、初期駆動期間経過後（時点ｔ３以降）の駆動デューティ比の増加率が、初期駆動期間経過直後にはモータ４の駆動開始直後の増加率よりも小さく、その後、徐々に増加率が増加し、最終的には、モータ４の駆動開始直後の増加率よりも大きくなっている。
【０１５９】
このように、初期駆動期間経過後に駆動デューティ比を高速目標Ｄｕｔｙまで弓なりに増加させるようにすれば、初期駆動期間経過直後には、モータ４の回転上昇を抑えることができる。
【０１６０】
特に、図１０に示すタイムチャートでは、初期駆動期間経過直後の駆動デューティ比の増加率が、モータ４の駆動開始直後の増加率よりも小さくなっているので、モータ４の回転が急上昇するのをより良好に抑制することができる。
【０１６１】
従って、変形例２によれば、打撃開始後にドライバビットがねじから外れるのを、より確実に抑制することができる。
また、初期駆動期間からの時間経過と共にモータの回転速度が弓なりに上昇することから、ねじの締め付けに要する時間が長くなるのを抑制することもできる。
【０１６２】
そして、このように初期駆動期間経過後に駆動デューティ比を弓なりに変化させるためには、図６に示したモータ駆動処理を、図１１に示すように変更すればよい。以下、この変更点について説明する。
【０１６３】
図１１に示すモータ駆動処理においては、Ｓ５１０にて、高速切替フラグはセットされていると判断されてから、Ｓ５６０にて出力値が高速目標値になったと判断されるか、Ｓ５７０にて段階時間が設定時間になったと判断されるまで、Ｓ５８２、Ｓ５８４の処理を実行する。
【０１６４】
Ｓ５８２では、Ｓ５２０にて段階時間カウンタと共にクリアされる切替時間カウンタを更新（＋１）することで、高速切替フラグがセットされてから、出力値が高速目標値に達するまでの経過時間を計時する。
【０１６５】
また、続くＳ５８４では、切替時間カウンタのカウント値（つまり、初期駆動期間終了後の経過時間）に基づき、加算値Ｂを設定する。このＳ５８４の処理は、初期駆動期間終了後の経過時間に応じて加算値Ｂが大きい値となるようにすることで、出力値を弓なりに変化させるための処理であり、加算値Ｂの設定には、切替時間カウンタのカウント値をパラメータとする演算式、若しくは、マップが用いられる。
【０１６６】
そして、Ｓ５８０にて、加算値Ｂが設定されると、Ｓ５９０に移行し、その設定された加算値Ｂを出力値に加えることで、出力値を更新し、Ｓ６００以降の処理を実行する。
従って、初期駆動期間経過後、出力値であるモータ４の駆動デューティ比は、図１０に示したように弓なりに増加することになり、上記効果を発揮することができる。
（変形例３）
次に、上記実施形態及び変形例では、モータ４の駆動開始後、駆動デューティ比の制御目標を低速目標Ｄｕｔｙから高速目標Ｄｕｔｙに切り替えるまでの初期駆動期間は、打撃
機構６による打撃回数が規定回数に達し、その後、所定の設定時間が経過する迄の期間とした。
【０１６７】
しかし、この初期駆動期間は、打撃機構６による打撃回数だけで規定するようにしてもよく、或いは、モータ４の駆動開始後の経過時間だけで規定するようにしてもよい。
（変形例４）
次に、上記実施形態及び変形例においては、低速モードでは制御量（駆動デューティ比若しくは進角値）の切り替えを実施しないものとして説明した。
【０１６８】
これは、低速モードでは、最終目標となる駆動デューティ比若しくは進角値が低く、この制御量でモータ４を駆動制御しても、打撃発生時にドライバビットがねじから外れることがないと考えられるためである。
【０１６９】
しかし、低速モードでも、打撃発生時にドライバビットがねじから外れることもあるので、このような場合には、高速モードと同様、駆動デューティ比を切り替えるようにすればよい。
【０１７０】
また、上記実施形態及び変形例では、速度切替スイッチ２６を介して、動作モードを低速と高速の２段階に切替可能な充電式インパクトドライバ１について説明した。しかし、本発明は、例えば、動作モードを低速と中速と高速の３段階、若しくはそれ以上に切替可能な充電式インパクトドライバであっても、上記実施形態と同様に適用することができる。
【０１７１】
そして、動作モードを３段階に切替可能にする場合には、図１２又は図１３に例示するように、低速モード、中速モードでも、高速モードと同様、駆動デューティ比を切り替えるようにすればよい。
【０１７２】
なお、このように複数の動作モードで駆動デューティ比を切り替える際には、動作モード毎に、各動作モード用のモータ制御処理（図５参照）を実行し、初期駆動期間と初期駆動期間経過後の最終駆動期間とで制御量（駆動デューティ比若しくは通電角）を切り替えるようにすればよい。
【０１７３】
またこの場合、図１２に示す拡大図から明らかなように、初期駆動期間経過後、制御量を最終制御量まで変化させる際には、例えば、動作モード毎に異なる加算値Ｂ、Ｙを設定することにより、制御量の変化率を動作モード毎に設定するようにしてもよい。
【０１７４】
なお、図１２の拡大図において、駆動デューティ比を最終目標Ｄｕｔｙまで変化させる際の駆動デューティ比の変化率(増加方向への傾き）は、高速モードよりも低速モードの
方が大きくなっているが、高速モードの方が大きくなっていてもよい。つまり、この変化率の違いについては、制御対象となるモータ（換言すれば工具）の特性に応じて適宜設定すればよい。
【０１７５】
また、図１３は、変形例２で説明したように、制御量の変化率を時間経過と共に増加させて制御量を弓なりに変化させること表しているが、この場合、経過時間に応じて加算値Ｂ、加算値Ｙを設定するのに用いるマップを、動作モード毎に用意するようにすればよい。
（変形例５）
また次に、上記実施形態及び変形例では、動作モードが高速モードである場合には、モータ４の制御量（駆動デューティ比若しくは通電角）を必ず切り替えるものとして説明した。
【０１７６】
しかし、この切り替えは常時実行させる必要はなく、例えば、上記実施形態と同様の切り替え制御を実行するか、或いは、切り替え制御を実行することなく高速モードでの最終制御量にて制御を実行するか、を使用者が選択できるようにしてもよい。
【０１７７】
そして、このようにすれば、充電式インパクトドライバ１の使い勝手をより向上することが可能となる。
（変形例６）
次に、上記実施形態及び変形例では、制御回路４６は、動作モード（高速又は低速）に応じて設定される速度指令値に基づきモータ４の制御量（駆動デューティ比若しくは通電角）を設定するものとして説明した。
【０１７８】
しかし、制御回路４６は、動作モード（高速又は低速）に応じてモータ４の目標回転速度を設定し、モータ４の駆動時には、モータ４の回転速度が目標回転速度となるよう、モータ４を駆動制御するように構成されていてもよい。
【０１７９】
例えば、図１４に示すように、動作モード（低速モード、高速モード）に応じて、目標回転速度ＮＴ１、ＮＴ２を設定し、モータ４の回転速度がその設定された目標回転速度ＮＴ１、ＮＴ２となるように、モータ４をフィードバック制御するのである。
【０１８０】
そして、この変形例６においても、上述した実施形態と同様、高速モードでは、時点ｔ１〜ｔ３の初期駆動期間中、低速モードの目標回転速度ＮＴ１にてモータ４を駆動制御し、初期駆動期間経過後、目標回転速度を目標回転速度ＮＴ２に切り替えるようにするとよい。
【０１８１】
なお、図１４においては、初期駆動期間の経過に伴い目標回転速度を切り替えると、その後、モータ４の回転速度が目標回転速度ＮＴ２に達するまで、制御量である駆動デューティ比を徐々に（詳しくは変形例２と同様、弓なりに）変化させることを表している。
【０１８２】
そして、このようにモータ４の回転速度を制御する際には、図５に示したモータ制御処理のＳ３４０にて、モータ４の目標回転状態として目標回転速度ＮＴ１を設定し、Ｓ３８０にて、モータ４の目標回転状態として目標回転速度ＮＴ２を設定するようにすればよい。
【０１８３】
また、この場合、Ｓ３５０のモータ駆動処理は、図１５に示す手順で実施するようにすればよい。以下、図１５のモータ駆動処理について説明する。
図１５のモータ駆動処理においては、図１１に示したモータ駆動処理と同様、Ｓ５１０にて、高速切替フラグはセットされていないと判断されると、Ｓ５２０にて、段階時間カウンタと切替時間カウンタとをクリアする。
【０１８４】
続くＳ５２２では、モータ４に対する回転速度指令が、目標回転速度ＮＴ１よりも小さいか否かを判断し、回転速度指令が目標回転速度ＮＴ１よりも小さい場合には、Ｓ５３２に移行して、回転速度指令に加算値Ａを加えることで、回転速度指令を更新する。
【０１８５】
そして、Ｓ５３２で回転速度指令が更新されるか、Ｓ５２２で回転速度指令が目標回転速度ＮＴ１に達していると判断されると、Ｓ６２０に移行する。
一方、高速切替フラグがセットされていれば、Ｓ５６２にて、回転速度指令は、目標回転速度ＮＴ２よりも小さいか否かを判断する。
【０１８６】
そして、回転速度指令が目標回転速度ＮＴ２よりも小さい場合には、Ｓ５７０にて段階
時間カウンタをインクリメント（＋１）し、Ｓ５８０にて段階時間カウンタにて計時される段階時間が設定時間になったか否かを判断する。
【０１８７】
Ｓ５６２にて、回転速度指令は目標回転速度ＮＴ２に達していると判断されるか、或いは、Ｓ５８０にて、段階時間は設定時間になっていないと判断されると、Ｓ６２０に移行する。
【０１８８】
また、Ｓ５８０にて、段階時間は設定時間になったと判断されると、図１１に示したモータ駆動処理と同様、Ｓ５８２にて、切替時間カウンタを更新（＋１）し、Ｓ５８４にて、切替時間カウンタのカウント値に基づき、加算値Ｂを設定する。
【０１８９】
そして、Ｓ５９２では、段階時間カウンタをクリアし、続くＳ５９４では、回転速度指令に加算値Ｂを加えることで、回転速度指令を更新し、Ｓ６２０に移行する。
Ｓ６２０では、モータ４の回転速度と回転速度指令との速度差に基づき、出力値（駆動デューティ比）を更新（増減）し、モータ駆動処理を終了する。
【０１９０】
この結果、モータ４の回転速度は、目標回転速度ＮＴ１又はＮＴ２に制御されることになる。
以上、本発明の実施形態及び変形例について説明したが、本発明は、充電式インパクトドライバ１に限定されるものではなく、例えば、インパクトレンチ等、モータにより駆動される打撃機構を備えた回転打撃工具であれば適用することができる。
【０１９１】
また、上記実施形態では、モータ４は、３相ブラシレスモータにて構成されるものとして説明したが、打撃機構６を回転駆動可能なモータであればよい。つまり、例えば、本発明の回転打撃工具は、バッテリ式ものに限らず、コードを介して電力の供給を受けるものに適用されてもよいし、交流モータによって工具要素を回転駆動させるように構成されたものであってもよい。
【符号の説明】
【０１９２】
１…充電式インパクトドライバ、２…ハウジング、３…グリップ部、４…モータ、５…ハンマケース、６…打撃機構、７…スピンドル、８…ボールベアリング、９…遊星歯車機構、１０…工具本体、１１…インターナルギヤ、１２…出力軸、１３…ピニオン、１４…ハンマ、１５…アンビル、１６…コイルバネ、１７…打撃突部、１８…打撃アーム、１９…チャックスリーブ、２０…軸受、２１…トリガスイッチ、２２…正逆切替スイッチ、２３…照明ＬＥＤ、２４…表示パネル、２６…速度切替スイッチ、２９…バッテリ、３０…バッテリパック、４０…モータ駆動装置、４２…駆動回路、４４…ゲート回路、４６…制御回路、４８…レギュレータ、５０…回転センサ、５４…電流検出回路。
【図１】
0006705632.tif 000002
【図２】
0006705632.tif 000003
【図３】
0006705632.tif 000004
【図４】
0006705632.tif 000005
【図５】
0006705632.tif 000006
【図６】
0006705632.tif 000007
【図７】
0006705632.tif 000008
【図８】
0006705632.tif 000009
【図９】
0006705632.tif 000010
【図１０】
0006705632.tif 000011
【図１１】
0006705632.tif 000012
【図１２】
0006705632.tif 000013
【図１３】
0006705632.tif 000014
【図１４】
0006705632.tif 000015
【図１５】
0006705632.tif 000016