(57)【特許請求の範囲】
【請求項１】
締付対象物へのねじの締め付けを行う電動工具であって、
工具要素が装着される出力軸を回転駆動するモータと、
前記モータを回転させるための外部からの操作入力を受け付ける操作入力受付手段と、
予め設定された最大回転数を上限として、前記操作入力受付手段により受け付けられた前記操作入力の内容に応じた回転数で前記モータが回転するように該モータを制御するモータ制御手段と、
前記モータの起動後、前記最大回転数を所定の通常最大回転数に設定する通常最大回転数設定手段と、
前記モータの負荷の大きさを直接又は間接的に検出する負荷検出手段と、
前記通常最大回転数設定手段により前記最大回転数が前記通常最大回転数に設定された後、前記負荷検出手段により検出された負荷が所定の第１規定負荷以上となった場合に、前記最大回転数を、前記通常最大回転数よりも小さい所定の低域最大回転数に設定する低域最大回転数設定手段と、
前記低域最大回転数設定手段により前記最大回転数が前記低域最大回転数に設定された後、前記負荷検出手段により検出された負荷が前記第１規定負荷よりも小さい所定の第２規定負荷以下となった場合に、前記最大回転数を前記通常最大回転数に復帰させる最大回転数復帰手段と、
を備えることを特徴とする電動工具。
【請求項２】
請求項１に記載の電動工具であって、
前記モータ制御手段による前記モータの制御時に用いられる少なくとも一種類のパラメータについて、異なる複数の値の何れかに段階的または連続的に設定するための外部からの設定入力を受け付ける設定入力受付手段と、
前記設定入力受付手段により受け付けられた前記設定入力に従って、前記パラメータをその設定入力により設定された何れかの値に設定するパラメータ設定手段と、
前記通常最大回転数、前記低域最大回転数、及び前記各規定負荷のうち前記通常最大回転数を含む少なくとも一つを、可変設定値として、前記パラメータ設定手段により設定されている前記パラメータの値に応じて設定変更する設定変更手段と、
を備えることを特徴とする電動工具。
【請求項３】
請求項２に記載の電動工具であって、
前記モータの回転をそのまま又は減速して前記出力軸へ伝達すると共に前記モータの回転駆動力を元に前記出力軸にその回転方向への間欠的な打撃を付与可能な回転打撃機構を備え、
前記パラメータの少なくとも一つは、前記回転打撃機構による打撃力を示す打撃力関連パラメータであり、
前記設定変更手段は、前記パラメータ設定手段により設定されている前記打撃力関連パラメータが示す前記打撃力が小さいほど前記可変設定値も小さくなるように該可変設定値を設定する
ことを特徴とする電動工具。
【請求項４】
請求項３に記載の電動工具であって、
前記負荷検出手段は、前記回転打撃機構による前記打撃が行われた場合に前記打撃を検出するよう構成されており、
前記低域最大回転数設定手段は、一定時間内に前記負荷検出手段により前記打撃が検出された回数が所定の第１の打撃判定閾値以上であった場合に、前記負荷が前記第１規定負荷以上になったものと判断する
ことを特徴とする電動工具。
【請求項５】
請求項４に記載の電動工具であって、
前記最大回転数復帰手段は、一定時間内に前記負荷検出手段により前記打撃が検出された回数が所定の第２の打撃判定閾値以下であった場合に、前記負荷が前記第２規定負荷以下になったものと判断する
ことを特徴とする電動工具。
【請求項６】
請求項４又は請求項５に記載の電動工具であって、
前記設定変更手段は、前記打撃判定閾値についても、前記可変設定値の一つとして、前記パラメータ設定手段により設定されている前記パラメータの値に応じて設定変更する
ことを特徴とする電動工具。
【請求項７】
請求項２に記載の電動工具であって、
前記パラメータの少なくとも一つは、前記モータの回転トルクを示すトルク関連パラメータであり、
前記モータ制御手段は、前記モータの回転トルクが、前記パラメータ設定手段により設定されている前記トルク関連パラメータが示す前記回転トルクとなるように前記モータを制御するよう構成されており、
前記設定変更手段は、前記パラメータ設定手段により設定されている前記トルク関連パラメータが示す前記回転トルクが小さいほど前記可変設定値も小さくなるように該可変設定値を設定する
ことを特徴とする電動工具。
【請求項８】
請求項７に記載の電動工具であって、
前記負荷検出手段は、前記負荷として前記モータの実際の回転トルクを直接又は間接的に検出するよう構成されており、
前記低域最大回転数設定手段は、前記負荷検出手段により検出された前記回転トルクが所定の第１のトルク判定閾値以上となった場合に、前記負荷が前記第１規定負荷以上になったものと判断する
ことを特徴とする電動工具。
【請求項９】
請求項８に記載の電動工具であって、
前記最大回転数復帰手段は、前記負荷検出手段により検出された前記回転トルクが所定の第２のトルク判定閾値以下となった場合に、前記負荷が前記第２規定負荷以下になったものと判断する
ことを特徴とする電動工具。
【請求項１０】
請求項８又は請求項９に記載の電動工具であって、
前記設定変更手段は、前記トルク判定閾値についても、前記可変設定値の一つとして、前記パラメータ設定手段により設定されている前記パラメータの値に応じて設定変更する
ことを特徴とする電動工具。
【請求項１１】
請求項１〜請求項１０の何れか１項に記載の電動工具であって、
前記最大回転数復帰手段は、前記最大回転数の前記通常最大回転数への復帰を、前記低域最大回転数から前記通常最大回転数まで所定の増加率で連続的又は段階的に増加させていくことにより行う
ことを特徴とする電動工具。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、モータにより回転駆動される電動工具に関する。
【背景技術】
【０００２】
電動工具により締め付けることが可能なねじとして、先端部がドリル状に形成されたドリルねじや木ねじのように、ねじ自ら締付対象物に穴を開けながら締め付けることが可能なねじが知られている（例えば、特許文献１参照。）。
【０００３】
このようなねじの締め付け作業を電動工具を用いて行う際は、作業者は、ねじの先端を締付対象物に突き当てると共に、ねじの頭を工具ビットで締付対象物に向けて押さえつけた状態で、電動工具のトリガスイッチを引く。すると、ねじが回転し、締付対象物に穴を開けながら締め付けられていく。ドリルねじの締め付け作業においては、ねじ先端のドリル部によって締付対象物に穴が開けられ、その後ねじ自身で締付対象物にタップを切りながら締め付けられていくことになる。
【０００４】
電動工具によっては、ドリルねじを適切に締め付けるためのモードを備えたものもある。なお、ドリルねじの代表的なものにテクス（登録商標。以下同様。）がある。そのため、例えば複数のモード（機能）を有する電動工具において上述したドリルねじの締め付けのためのモードがある場合には、そのモードのことをテクス用モードということもある。
【０００５】
テクス用モードなどの、ドリルねじの締め付け作業を対象としてモータを回転させる際のモータ制御技術として、締め付けトルクが一定レベル以上になったら回転数を低下させるという技術が知られている。具体例を挙げると、一定トルク以上で回転方向の打撃を加えるいわゆるインパクトドライバとしての機能を備えたものにおいて、打撃が検出されたらモータの回転数を低下させることで締め付けトルクを低下させるという技術がある。
【０００６】
このような技術によれば、締め付け作業の開始後、ねじが締付対象物に着座することによって締め付けトルクが上昇すると、回転数が低く抑えられるため、着座後にねじに過大なトルクがかかるのが抑制され、締め付け作業を適切な状態で仕上げることができる。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１０−２０７９５１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかし、締付対象物の状態やねじの状態などによっては、締め付け作業の途中段階でまだ着座していないにもかかわらず、一時的にねじにかかる負荷が大きくなって締め付けトルクが増加することがある。この場合も、その一時的な負荷増大よって締め付けトルクが一定レベル以上になると、まだ着座していなくても回転数は低下することになる。
【０００９】
このようにねじ締めの途中のトルク増加によって回転数が低下すると、その後着座するまで、その低下した低い回転数でねじの締め付けが行われることになるため、締め付け作業時間が全体として長くなってしまう。
【００１０】
本発明は上記課題に鑑みなされたものであり、ねじの締め付け作業を行う電動工具において、適切な仕上がり状態を得られるようにしつつ、締め付け作業を迅速に行えるようにすることを目的とする。
【課題を解決するための手段】
【００１１】
上記課題を解決するためになされた本発明は、締付対象物へのねじの締め付けを行う電動工具であって、工具要素が装着される出力軸を回転駆動するモータと、そのモータを回転させるための外部からの操作入力を受け付ける操作入力受付手段と、予め設定された最大回転数を上限として、操作入力受付手段により受け付けられた操作入力の内容に応じた回転数でモータが回転するように該モータを制御するモータ制御手段と、モータの起動後、最大回転数を所定の通常最大回転数に設定する通常最大回転数設定手段と、モータの負荷の大きさを直接又は間接的に検出する負荷検出手段と、通常最大回転数設定手段により最大回転数が通常最大回転数に設定された後、負荷検出手段により検出された負荷が所定の第１規定負荷以上となった場合に、最大回転数を、通常最大回転数よりも小さい所定の低域最大回転数に設定する低域最大回転数設定手段と、その低域最大回転数設定手段により最大回転数が低域最大回転数に設定された後、負荷検出手段により検出された負荷が第１規定負荷よりも小さい所定の第２規定負荷以下となった場合に、最大回転数を通常最大回転数に復帰させる最大回転数復帰手段と、を備えることを特徴とする。
【００１２】
このように構成された本発明の電動工具は、負荷が第１規定負荷以上になったら最大回転数を低域最大回転数に低下させるものの、その後負荷が第２規定負荷以下になったら最大回転数を再び通常最大回転数に上昇させる。そのため、当該電動工具を用いてねじを締め付けることで、適切な仕上がり状態を得ることができ、且つ、締め付け作業を迅速に行うことができる。
【００１３】
本発明の電動工具は、更に次のように構成してもよい。即ち、モータ制御手段によるモータの制御時に用いられる少なくとも一種類のパラメータについて、異なる複数の値の何れかに段階的または連続的に設定するための外部からの設定入力を受け付ける設定入力受付手段と、その設定入力受付手段により受け付けられた設定入力に従って、パラメータをその設定入力により設定された何れかの値に設定するパラメータ設定手段と、通常最大回転数、低域最大回転数、及び各規定負荷のうち通常最大回転数を含む少なくとも一つを、可変設定値として、パラメータ設定手段により設定されているパラメータの値に応じて設定変更する設定変更手段と、を備えたものとして構成してもよい。
【００１４】
このように、モータ制御時に用いられるパラメータの値に応じて可変設定値についても設定変更するようにすることで、パラメータの値に応じた適切な締め付け作業が可能となる。
【００１５】
パラメータの具体的種類は種々考えられるが、当該電動工具が、モータの回転をそのまま又は減速して出力軸へ伝達すると共にモータの回転駆動力を元に出力軸にその回転方向への間欠的な打撃を付与可能な回転打撃機構を備えたものである場合は、パラメータの少なくとも一を、回転打撃機構による打撃力を示す打撃力関連パラメータとするとよい。そしてその場合、設定変更手段は、パラメータ設定手段により設定されている打撃力関連パラメータが示す打撃力が小さいほど可変設定値も小さくなるように該可変設定値を設定するようにするとよい。
【００１６】
このように、設定されている打撃力が小さいほど可変設定値も小さくすることで、打撃力に応じた適切な締め付け作業が可能となる。
当該電動工具が回転打撃機構を備えている場合には、更に次のように構成することができる。即ち、負荷検出手段は、回転打撃機構による打撃が行われた場合にこれを検出するよう構成されており、低域最大回転数設定手段は、一定時間内に負荷検出手段により打撃が検出された回数が所定の第１の打撃判定閾値以上であった場合に、負荷が第１規定負荷以上になったものと判断する。
【００１７】
更に、最大回転数復帰手段は、一定時間内に負荷検出手段により打撃が検出された回数が所定の第２の打撃判定閾値以下であった場合に、負荷が第２規定負荷以下になったものと判断するようにしてもよい。
【００１８】
このように、負荷が第１規定負荷以上になったか否かの判断や、負荷が第２規定負荷以下になったか否かの判断を、打撃の回数に基づいて行うことで、最大回転数の設定変更を適切なタイミングで行うことができる。
【００１９】
そして、上記の打撃判定閾値についても、可変設定値の一つとして、パラメータ設定手段により設定されているパラメータの値に応じて設定変更されるものとしてもよい。このようにすることで、パラメータの値に応じたより適切な締め付け作業が可能となる。
【００２０】
また、パラメータの少なくとも一つが、モータの回転トルクを示すトルク関連パラメータであって、モータ制御手段が、モータの回転トルクが、パラメータ設定手段により設定されているトルク関連パラメータが示す回転トルクとなるようにモータを制御するよう構成されている場合は、設定変更手段は、パラメータ設定手段により設定されているトルク関連パラメータが示す回転トルクが小さいほど可変設定値も小さくなるように該可変設定値を設定するようにするとよい。
【００２１】
このように、設定されている回転トルクが小さいほど可変設定値も小さくすることで、設定されている回転トルクに応じた適切な締め付け作業が可能となる。
そして、負荷検出手段を、負荷としてモータの実際の回転トルクを直接又は間接的に検出するよう構成し、低域最大回転数設定手段は、負荷検出手段により検出された回転トルクが所定の第１のトルク判定閾値以上となった場合に、負荷が第１規定負荷以上になったものと判断するようにしてもよい。
【００２２】
更に、最大回転数復帰手段は、負荷検出手段により検出された回転トルクが所定の第２のトルク判定閾値以下となった場合に、負荷が第２規定負荷以下になったものと判断するようにしてもよい。
【００２３】
このように、負荷が第１規定負荷以上になったか否かの判断や、負荷が第２規定負荷以下になったか否かの判断を、モータの実際の回転トルクに基づいて行うことによっても、最大回転数の設定変更を適切なタイミングで行うことができる。
【００２４】
そして、上記のトルク判定閾値についても、可変設定値の一つとして、パラメータ設定手段により設定されているパラメータの値に応じて設定変更されるものとしてもよい。このようにすることで、パラメータの値に応じたより適切な締め付け作業が可能となる。
【００２５】
そして、最大回転数復帰手段は、最大回転数の通常最大回転数への復帰を、例えば低域最大回転数から通常最大回転数へ直接切り替えることにより行っても良いが、例えば、低域最大回転数から通常最大回転数まで、所定の増加率で連続的又は段階的に増加させていくことにより行うようにしてもよい。
【００２６】
このように、最大回転数を低域最大回転数から通常最大回転数へ徐々に増加させていくようにすることで、例えばモータに流れる電流のオーバーシュートを抑制できたり、モータの回転数の急変を抑制したりすることができる。
【図面の簡単な説明】
【００２７】
【図１】実施形態の電動工具の外観を表す斜視図である。
【図２】電動工具の駆動系全体の構成を表すブロック図である。
【図３】第１実施形態の、三種類の設定打撃数の各々に対して設定されている各閾値Ｉ−ｎ，Ｄ−ｎ及び各設定回転数Ｎｓ１−ｎ，Ｎｓ２−ｎ，Ｎｓ３−ｎの具体例を表す説明図である。
【図４】第１実施形態のモータ制御処理を表すフローチャートである。
【図５】図４のモータ制御処理における、Ｓ１５０の駆動制御処理の詳細を表すフローチャートである。
【図６】図５の駆動制御処理における、Ｓ２２０の初期設定回転数切替処理の詳細を表すフローチャートである。
【図７】第１実施形態の電動工具の動作例を表す説明図である。
【図８】第２実施形態の、九種類の設定トルクの各々に対して設定されている各閾値Ｎ−ｎ，Ｉ１−ｎ，Ｉ２−ｎ，Ｉ３−ｎ及び各設定回転数Ｎｓ１−ｎ，Ｎｓ２−ｎ，Ｎｓ３−ｎの具体例を表す説明図である。
【図９】第２実施形態のモータ制御処理を表すフローチャートである。
【図１０】図９のモータ制御処理における、Ｓ４５０の駆動制御処理の詳細を表すフローチャートである。
【図１１】図１０の駆動制御処理における、Ｓ５２０の初期設定回転数切替処理の詳細を表すフローチャートである。
【図１２】第２実施形態の電動工具の動作例を表す説明図である。
【図１３】第３実施形態の、九種類の設定トルクの各々に対して設定されている各閾値Ｔ−ｎ，Ｉ１−ｎ，Ｉ２−ｎ，Ｉｚ−ｎ及び各設定回転数Ｎｓ１−ｎ，Ｎｓ２−ｎ，Ｎｓ３−ｎの具体例を表す説明図である。
【図１４】第３実施形態のモータ制御処理を表すフローチャートである。
【図１５】図１４のモータ制御処理における、Ｓ８５０の駆動制御処理の詳細を表すフローチャートである。
【図１６】図１５の駆動制御処理における、Ｓ９２０の初期設定回転数切替処理の詳細を表すフローチャートである。
【図１７】第３実施形態の電動工具の動作例を表す説明図である。
【発明を実施するための形態】
【００２８】
以下に、本発明の好適な実施形態を図面に基づいて説明する。
［第１実施形態］
図１に示すように、本実施形態の電動工具１は、一台で５種類の動作モードでの動作が可能な、充電式の５モードインパクトドライバとして構成されている。
【００２９】
より具体的には、電動工具１は、本体ハウジング５と、バッテリパック６とを備えている。本体ハウジング５は、半割ハウジング２，３を組み付けることにより形成されており、当該本体ハウジング５の下方には、ハンドル部４が延設されている。バッテリパック６は、このハンドル部４の下端に離脱可能に装着されている。
【００３０】
本体ハウジング５の後部には、当該電動工具１の駆動源となるモータ２０を収納するモータ収納部７が設けられており、モータ収納部７よりも前方には、モータ２０の回転を工具先端側へ伝達するための複数種類の伝達機構（図示略）が収納されている。そして、本体ハウジング５の先端には、工具要素の一例である図示しない工具ビット（例えばドライバビット）を装着するためのスリーブ８が突設されている。
【００３１】
また、本体ハウジング５におけるハンドル部４の上端前方側には、モータ２０を回転駆動させて電動工具１を動作させるために当該電動工具１の使用（操作）者がハンドル部４を握った状態で操作可能な、トリガスイッチ１０が設けられている。また、本体ハウジング５におけるハンドル部４の上端中央部には、モータ２０の回転方向を切り替えるための正逆切替スイッチ１１が設けられている。
【００３２】
更に、本体ハウジング５の前部には、電動工具１を何れかの動作モードに設定するために使用者により回動（変位）操作されるモード切替リング１２が設けられている。
モード切替リング１２は、本体ハウジング５の前部において、スリーブ８の軸心と略同軸状に配置され、その軸心を中心に回動可能な、リング状の部材である。このモード切替リング１２の表面の一部領域には、５種類の動作モードを示す５つのマークが、周方向に沿って順次配置されている。一方、本体ハウジング５の上面における、モード切替リング１２の後部側には、三角形状の矢印１３が形成されている。
【００３３】
電動工具１の使用者は、このモード切替リング１２を回動操作して、所望の動作モードのマークを矢印１３の先端に合わせることで、電動工具１をその動作モードで動作させることができる。
【００３４】
バッテリパック６には、所定の直流電圧を発生させる二次電池セルが直列に接続されてなる、バッテリ１４が内蔵されている。そして、ハンドル部４内には、バッテリパック６内のバッテリ１４から電源供給を受けて動作し、トリガスイッチ１０の操作量に応じてモータ２０を回転させるためのモータ制御装置（後述するコントローラ３１やゲート回路３２，モータ駆動回路３３などからなる。図２参照。）が収納されている。
【００３５】
モータ２０は、トリガスイッチ１０が少しでも引き操作されたらすぐ回転を始めるのではなく、引き始めから所定量（わずかな量ではあるが）引き操作されるまでは回転しない。そして、引き操作が所定量を超えるとモータ２０が回転し始め、その後、引き量に応じて（例えば引き量に略比例して）モータ２０の回転数（回転速度）が上昇していく。そして、所定の位置まで引かれたところで（例えば完全に引き切ったところで）、モータ２０の回転数は、設定されている回転数上限に達する。
【００３６】
また、本体ハウジング５におけるトリガスイッチ１０の上部には、当該電動工具１の前方に光を照射するための照明ＬＥＤ９が設けられている。この照明ＬＥＤ９は、使用者がトリガスイッチ１０を操作したときに点灯するものである。
【００３７】
また、ハンドル部４の下端側には、電動工具１における各種設定値の表示や設定変更操作の受け付け、バッテリ１４の残量の表示などの、各種情報表示および操作入力受付を行うための、操作・表示パネル３０が設けられている。なお、操作・表示パネル３０の具体的構成の説明については省略する。
【００３８】
本実施形態の電動工具１は、動作モードとして、インパクトモード（回転＋回転方向の打撃）、震動ドリルモード（回転＋軸方向の打撃）、ドリルモード（回転のみ）、クラッチモード（回転＋電子クラッチ）、及びテクス用モード（回転＋回転数自動切替＋回転方向の打撃）、の５つの動作モードを有している。使用者は、モード切替リング１２を操作することで、所望の動作モードに設定することができる。
【００３９】
また、本体ハウジング５の内部には、モード切替リング１２の回動位置に応じて（即ち設定されている動作モードに応じて）オン、オフされる２つの切替スイッチ１６，１７（図２参照）が設けられている。
【００４０】
このような構成により、使用者が、動作モードを例えばインパクトモードに設定すべく、モード切替リング１２を回動させて矢印１３の先端にインパクトモードのマークを合わせると、本体ハウジング５内において、モータ２０の回転駆動力をスリーブ８へ伝達する伝達機構がインパクトモードに対応した伝達機構（所定値以上のトルクが加わると回転方向の打撃力を発生させる機構）に切り替わる。またこのとき、各切替スイッチ１６，１７はいずれもオフとなる。
【００４１】
また、使用者が、動作モードを例えば震動ドリルモードに設定すべく、モード切替リング１２を回動させて矢印１３の先端に震動ドリルモードのマークを合わせると、本体ハウジング５内において、モータ２０の回転駆動力をスリーブ８へ伝達する伝達機構が震動ドリルモードに対応した伝達機構（回転させながら軸方向への打撃（震動）を発生させる機構）に切り替わる。またこのとき、各切替スイッチ１６，１７のうち第１切替スイッチ１６がオン、第２切替スイッチ１７がオフされた状態となる。
【００４２】
また、使用者が、動作モードを例えばドリルモードに設定すべく、モード切替リング１２を回動させて矢印１３の先端にドリルモードのマークを合わせると、本体ハウジング５内において、モータ２０の回転駆動力をスリーブ８へ伝達する伝達機構がドリルモードに対応した伝達機構（モータの回転駆動力をそのまま又は減速させてスリーブ８へ伝達する機構）に切り替わる。またこのとき、各切替スイッチ１６，１７のうち第１切替スイッチ１６がオン、第２切替スイッチ１７がオフされた状態となる。
【００４３】
また、使用者が、動作モードを例えばクラッチモードに設定すべく、モード切替リング１２を回動させて矢印１３の先端にクラッチモードのマークを合わせると、本体ハウジング５内において、モータ２０の回転駆動力をスリーブ８へ伝達する伝達機構がクラッチモードに対応した伝達機構（ドリルモードと同じ）に切り替わる。またこのとき、各切替スイッチ１６，１７はいずれもオンされた状態となる。
【００４４】
尚、クラッチモードは、伝達機構はドリルモードと同じであるが、モータ２０の制御内容がドリルモードとは異なる。即ち、ドリルモードでは、トリガスイッチ１０が引き操作されている間は常に回転駆動力を発生させるように制御されるが、クラッチモードでは、モータ２０のトルクが所定のトルク設定値以上になるとモータ２０の回転が停止される。
【００４５】
また、使用者が、動作モードを例えばテクス用モードに設定すべく、モード切替リング１２を回動させて矢印１３の先端にテクス用モードのマークを合わせると、本体ハウジング５内において、モータ２０の回転駆動力をスリーブ８へ伝達する伝達機構がテクス用モードに対応した伝達機構（インパクトモードと同じ）に切り替わる。またこのとき、各切替スイッチ１６，１７のうち第２切替スイッチ１７がオン、第１切替スイッチ１６がオフされた状態となる。
【００４６】
テクス用モードは、主にドリルねじを締め付け対象とする動作モードであって、インパクトモードとしての動作を基本としつつ、締め付け開始時には所定の第１設定回転数Ｎｓ１を上限としてモータ２０を低速回転させ、その後所定の回転数上昇条件が成立したら、回転数の上限を第１設定回転数Ｎｓ１よりも高い第２設定回転数Ｎｓ２に切り替える。第２設定回転数Ｎｓ２への切り替え後、打撃を検出したら、回転数の上限を第２設定回転数Ｎｓ２よりも低い第３設定回転数Ｎｓ３に切り替えるが、その後打撃がなくなったら、回転数の上限を再び第２設定回転数Ｎｓ２に切り替える。テクス用モードにおけるモータ２０の制御内容の詳細については後述する。
【００４７】
次に、モータ２０の回転駆動を制御するために電動工具１の内部に設けられているモータ制御装置について、図２を用いて説明する。図２に示すように、モータ制御装置は、バッテリパック６に内蔵されたバッテリ１４からの直流電力をモータ２０に供給することによってモータ２０を回転駆動させるためのものである。より具体的には、モータ制御装置は、コントローラ３１と、ゲート回路３２と、モータ駆動回路３３と、レギュレータ３６と、を備えている。
【００４８】
本実施形態のモータ２０は、３相ブラシレス直流モータとして構成されており、モータ２０における端子Ｕ，Ｖ，Ｗが、モータ駆動回路３３を介して、バッテリパック６（より具体的にはバッテリ１４）に接続されている。端子Ｕ，Ｖ，Ｗはそれぞれ、モータ２０の図示しない回転子を回転させるためにモータ２０に設けられた図示しない３つのコイルのうちのいずれか１つに接続されている。
【００４９】
モータ駆動回路３３は、モータ２０の端子Ｕ，Ｖ，Ｗの各々とバッテリ１４の正極側とを接続する、いわゆるハイサイドスイッチとしての３つのスイッチング素子Ｑ１〜Ｑ３と、同じくモータ２０の端子Ｕ，Ｖ，Ｗの各々とバッテリ１４の負極側とを接続する、いわゆるローサイドスイッチとしての３つのスイッチング素子Ｑ４〜Ｑ６とを含む、ブリッジ回路として構成されている。本実施形態におけるスイッチング素子Ｑ１〜Ｑ６は、周知のＭＯＳＦＥＴである。
【００５０】
ゲート回路３２は、コントローラ３１に接続されている一方で、スイッチング素子Ｑ１〜Ｑ６の各ゲート及びソースに接続されている。ゲート回路３２は、スイッチング素子Ｑ１〜Ｑ６の各々のオン／オフを制御するためにコントローラ３１から当該ゲート回路３２に入力される制御信号に基づいて、スイッチング素子Ｑ１〜Ｑ６の各々をオン／オフするためのスイッチング電圧を各スイッチング素子Ｑ１〜Ｑ６のゲート−ソース間に印加して、各スイッチング素子Ｑ１〜Ｑ６をオン／オフする。
【００５１】
レギュレータ３６は、バッテリ１４の直流電圧を降圧して、所定の直流電圧である制御電圧Ｖｃｃ（例えば５Ｖ）を生成し、生成した制御電圧Ｖｃｃを、コントローラ３１を含む、モータ制御装置内の各部に供給している。
【００５２】
コントローラ３１は、本実施形態では、一例として、いわゆるワンチップマイクロコンピュータとして構成されており、図示は省略したものの、ＣＰＵ、ＲＯＭ、ＲＡＭ、フラッシュメモリ、入出力（Ｉ／Ｏ）ポート、Ａ／Ｄ変換器、タイマなどを有している。
【００５３】
コントローラ３１には、上述の各切替スイッチ１６，１７と、照明ＬＥＤ９と、トリガスイッチ１０と、正逆切替スイッチ１１と、打撃検出センサ２７と、操作・表示パネル３０と、モータ２０に設けられた回転位置センサ３４と、モータ２０の通電経路に直列に挿入されたシャント抵抗３５とが接続されている。
【００５４】
回転位置センサ３４は、ホール素子を含み、モータ２０の回転子の回転位置が所定の回転位置に達する毎（即ち、モータ２０が所定量回転する毎）に、コントローラ３１へパルス信号を出力するよう構成されている。そこでコントローラ３１は、回転位置センサ３４からのパルス信号に基づいてモータ２０の実際の回転位置及び回転数を算出し、その算出結果をモータ制御に利用する。
【００５５】
打撃検出センサ２７は、インパクトモードの伝達機構において打撃が行われた場合にこれを検出するものであり、例えば打撃時の衝撃音や震動などを検出し、その検出結果を示す信号（以下「打撃信号」という）をコントローラ３１へ伝送する。コントローラ３１は、打撃検出センサ２７からの打撃信号に基づき、打撃が行われたことを検出する。
【００５６】
なお、打撃検出を衝撃音や震動などに基づいて行うのはあくまでも一例であり、他の方法で打撃検出を行うようにしてもよい。例えば、打撃が行われると、モータ２０に流れる電流（モータ電流）や電圧、モータ２０の回転数なども、その打撃に伴って変動する。そのため、そのように打撃に伴って変動する各種物理量に基づいて打撃を検出することもできる。
【００５７】
操作・表示パネル３０には、種々の操作ボタンや表示部などが設けられているが、その一部として、図２に示すように、打撃数設定部４１と、トルク設定部４２とが設けられている。
【００５８】
打撃数設定部４１は、打撃動作時の打撃数の設定値（以下「設定打撃数」ともいう）を段階的に切り替えるための使用者の操作入力を受け付けるものである。設定打撃数とは、打撃が開始されてからモータ２０を停止させるまでの総打撃回数を意味する。本実施形態では、設定打撃数を、最も少ない「小」、最も多い「大」、及び前二者の中間程度の数である「中」、の三段階に設定可能となっている。
【００５９】
打撃数設定部４１は、設定打撃数を切り替えるために使用者が操作する操作ボタンと、現在設定されている設定打撃数を示す表示部とにより構成されている。設定打撃数は、使用者が打撃数設定部４１の操作ボタンを押し操作する毎に、「小」→「中」→「大」→「小」→「中」→「大」→「小」→・・・と、順次切り替わっていく。
【００６０】
このような構成により、コントローラ３１は、打撃検出センサ２７からの打撃信号に基づいて打撃を検出した場合、その打撃数が、現在設定されている設定打撃数に達したら、モータ２０を停止させてこれにより打撃も停止させるようにしている。そのため、ねじに与えられる打撃力は、設定打撃数が「小」のときが最も小さく、設定打撃数が「大」のときが最も大きくなる。
【００６１】
トルク設定部４２は、モータ２０の回転時のトルク（締め付けトルク）を段階的に切り替えるための使用者の操作入力を受け付けるものである。本実施形態では、締め付けトルクを、最も小さい「１」から最も大きい「９」まで（つまり１〜９まで）９段階に設定可能となっている。
【００６２】
トルク設定部４２は、締め付けトルクの設定値（以下「設定トルク」ともいう）を切り替えるために使用者が操作する操作ボタンと、現在設定されている設定トルクを示す表示部とにより構成されている。設定トルクは、使用者がトルク設定部４２の操作ボタンを押し操作する毎に、「１」→「２」→・・・→「８」→「９」→「１」→「２」→・・・→「８」→「９」→「１」→「２」→・・・と、順次切り替わっていく。
【００６３】
各切替スイッチ１６，１７からは、それぞれの状態（オン又はオフ）を示す電気信号がコントローラ３１に入力される。コントローラ３１は、入力された各電気信号に基づいて、当該電動工具１がどの動作モードに設定されているかを判断し、その判断結果に基づく制御方法にてモータ２０を制御する。
【００６４】
本実施形態では、コントローラ３１によるモータ２０の制御方法として、単速制御Ａ、単速制御Ｂ、電子クラッチ制御、及びテクス用制御の４種類が用意されており、コントローラ３１は、動作モードがドリルモード又は震動ドリルモードに設定されている場合は単速制御Ａを用い、動作モードがインパクトモードに設定されている場合は単速制御Ｂを用い、動作モードがクラッチモードに設定されている場合は電子クラッチ制御を用い、動作モードがテクス用モードに設定されている場合はテクス用制御を用いる。
【００６５】
単速制御Ａとは、予め設定された最大回転数（以下「設定回転数」という）を上限として、使用者によるトリガスイッチ１０の引き量（操作量）に応じた回転数にてモータ２０を回転させると共に、締め付けトルクについてもトルク設定部４２により設定されている現在の設定トルク（「１」〜「９」の何れか）となるように制御する制御方法である。
【００６６】
本実施形態のトリガスイッチ１０は、より詳しくは、当該トリガスイッチ１０が引かれているか否かを検出するための駆動開始スイッチと、当該トリガスイッチ１０の引き量を検出するための、周知の可変抵抗器（例えば周知のポテンショメータ等）とを含んでいる。そして、トリガスイッチ１０が引き操作されると、トリガスイッチ１０からは、その引き量に応じたアナログ信号がコントローラ３１に入力される。
【００６７】
そのため、コントローラ３１は、単速制御Ａにおいては、トリガスイッチ１０から入力されるアナログ信号が示す引き量に応じた回転数でモータ２０が回転するよう、モータ２０を制御する。
【００６８】
より具体的には、コントローラ３１は、設定回転数を上限として、トリガスイッチ１０の引き量が大きいほど回転数が高くなるように、ゲート回路３２及びモータ駆動回路３３を介してモータ２０の端子Ｕ，Ｖ，Ｗの各々に印加される電圧（駆動電圧）のデューティ比を設定する。本実施形態では、一例として、トリガスイッチ１０の引き量に比例して回転数が増加し、引き量が最大のときに設定回転数に達するようにＰＷＭ制御される。
【００６９】
また、インパクトモード時に用いられる単速制御Ｂとは、基本的には、単速制御Ａと同様、トリガスイッチ１０の引き量に応じた回転数でモータ２０が回転するように制御するものである。ただし、トルク設定値に基づくトルクの制御は行わない。
【００７０】
また、電子クラッチ制御とは、基本的には、単速制御Ｂと同様、トリガスイッチ１０の引き量に応じた回転数でモータ２０が回転するように制御するものであるが、その一方で、モータ２０の締め付けトルク（スリーブ８の回転トルク）を監視し、締め付けトルクが現在の設定トルク以上となった場合にはモータ２０の回転を停止させる制御である。
【００７１】
また、テクス用制御とは、主にドリルねじの締付作業に適した動作モードであり、基本的には、単速制御Ｂと同じように、設定回転数を上限として、トリガスイッチ１０の引き量に応じた回転数にてモータ２０をＰＷＭ制御するものである。更に、打撃開始後、打撃数が、打撃数設定部４１により設定されている現在の設定打撃数（「小」、「中」、「大」の何れか）に達したら、モータ２０を停止させる。このような制御を基本としつつ、テクス用制御では更に、既述の通り、締め付け作業の進行状況に応じて設定回転数が切り替わる。
【００７２】
即ち、ドリルねじを締め付けるにあたっては、ねじが締付対象物（以下「被材」と略す）に着座して打撃が開始された後も高い回転数で締め続けると、ねじに過大なトルクがかかって、ねじや被材に悪影響を及ぼすおそれがある。
【００７３】
そこで、打撃が行われない通常時は第２設定回転数Ｎｓ２で回転させるものの、打撃が開始されたことを判定したら、設定回転数を第３設定回転数Ｎｓ３に低下させる。本実施形態では、一定時間内の打撃数が所定の打撃判定閾値Ｄ以上となった場合に、打撃が開始されたと判定する。なお、この打撃判定閾値Ｄは、設定打撃数が「小」のときの打撃数よりも小さい値である。
【００７４】
一方、打撃が開始されるのは、着座したときに限らず、着座前のねじ締め途中段階でも起こり得る。即ち、ねじ締めの途中で、何らかの要因でモータにかかる負荷が一時的に増大し、これによって打撃が開始されることもある。この場合も、打撃開始が判定されたら設定回転数は第２設定回転数Ｎｓ２から第３設定回転数Ｎｓ３に低下されるのだが、この場合の打撃はあくまでもねじ締め途中の一時的なものである。そのため、その一時的な負荷増大が収まって負荷が低下すると打撃は終了し、その後も引き続きねじ締めが継続されることになる。しかし、その一時的な打撃が終了した後も設定回転数が第３設定回転数Ｎｓ３のままだと、ねじ締めが完了するまでに長時間を要してしまう。
【００７５】
そこで本実施形態では、打撃開始と判定したことよって設定回転数を第３設定回転数Ｎｓ３に低下させた後、打撃が終了したことを判定した場合には、再び第２設定回転数Ｎｓ２に上昇させるようにしている。なお、本実施形態では、一定時間内の打撃数が打撃判定閾値Ｄ未満となった場合に打撃終了と判定する。
【００７６】
また、テクス用制御では、モータ２０の起動直後は設定回転数を第１設定回転数Ｎｓ１に設定し、定常状態になった後に締め付けトルクが所定レベルまで上昇したら、設定回転数を第２設定回転数Ｎｓ２に上昇させる。このように、起動直後すぐに第２設定回転数Ｎｓ２に設定せず、より小さい第１設定回転数Ｎｓ１に設定するのは、ドリルねじの締め付け初期段階における作業性悪化を防ぐためである。
【００７７】
即ち、締め付け開始直後の、被材にまだ穴が開いていない状態のときから、高い回転数で回転させると、ねじがふらついて倒れてしまうおそれがある。そこで、トリガスイッチ１０がオンされた直後の初期の設定回転数を、相対的に低めの第１設定回転数Ｎｓ１に設定すれば、ドリルねじを安定的に被材へ入り込ませることができる。
【００７８】
そして、被材に穴が開いてドリルねじの先端部が被材に入り込めば（さらには被材に対するタップ切りが始まる段階になれば）、ドリルねじは比較的安定した状態となり、倒れにくくなる。そこで本実施形態では、被材に穴が開いてタップ切りが始まる段階になったことが検出されたら、設定回転数を第２設定回転数Ｎｓ２に上昇させる。
【００７９】
なお、タップ切りが始まる段階になったことを具体的にどのように検出するかについては種々の方法が考えられるが、本実施形態では、モータ２０の電流値に基づいて判断する。コントローラ３１は、シャント抵抗３５から入力される電圧およびシャント抵抗３５の抵抗値に基づいて、モータ電流を検出する。
【００８０】
ねじの締め付け開始直後は、ねじの先端が被材に入り込み始める状態であるため、締め付けトルクは比較的小さく、よってモータ電流も小さい。一方、ねじの締め付けが進んでタップが切られ始めると、締め付けトルクが大きくなり、よってモータ電流も大きくなる。
【００８１】
そこで本実施形態では、タップが切られ始めたときに想定されるモータ電流の値に基づいて、初期電流閾値Ｉが予め設定されている。そして、モータ２０の起動後（定常状態に移行後）、モータ電流がその初期電流閾値Ｉ以上になったら、ねじの締め付けが進んでねじが安定した状態になったものと判断して、設定回転数を第２設定回転数Ｎｓ２に上昇させる。
【００８２】
各設定回転数Ｎｓ１，Ｎｓ２，Ｎｓ３、初期電流閾値Ｉ、および打撃判定閾値Ｄ（以下これらを「制御パラメータ」ともいう）の具体的値は、例えば実験的あるいは机上設計等によって適宜決めることができる。例えば第１設定回転数Ｎｓ１については、締め付け時に想定される被材やねじの種類、使用者による締め付け作業時の作業状態などを考慮して、締め付けの初期段階でねじが倒れるのを可能な限り抑えつつ被材への穴開けも可能となるような回転数を適宜第１設定回転数Ｎｓ１として設定することができる。また例えば、第３設定回転数Ｎｓ３については、使用が想定されるねじや被材の種類等に基づき、適切且つ十分な打撃力を与えることができるような回転数を適宜第３設定回転数Ｎｓ３として設定することができる。打撃判定閾値Ｄについても、Ｄ＝１を含め、具体的値は適宜決めることができる。
【００８３】
そして、本実施形態では、上記各制御パラメータが、設定打撃数に応じて異なる値に設定される。即ち、図３に示すように、第１設定回転数Ｎｓ１については、設定打撃数が「大」のときは最も大きいＮｓ１−３、設定打撃数が「中」のときはＮｓ１-２（＜Ｎｓ１−３）、設定打撃数が「小」のときはＮｓ１−１（＜Ｎｓ１−２）に設定される。つまり、設定打撃数が小さいほど第１設定回転数Ｎｓ１−ｎも小さくなるように設定される。なお、本実施形態における「ｎ」は、設定打撃数を示す設定変数であり、ｎ＝１は設定打撃数「小」に対応し、ｎ＝２は設定打撃数「中」に対応し、ｎ＝３は設定打撃数「大」に対応する。また、図３において括弧内に「ｅｘ．」として示されている各数値は、各制御パラメータの具体的数値例である。
【００８４】
第２設定回転数Ｎｓ２、第３設定回転数Ｎｓ３、初期電流閾値Ｉ、および打撃判定閾値Ｄについても同様であり、設定打撃数に応じてそれぞれ変化する。
即ち、第２設定回転数Ｎｓ２は、三種類の設定打撃数に対応した三種類の値Ｎｓ２−ｎ（ｎ＝１，２，３）が設定されており、設定打撃数が小さいほど第２設定回転数Ｎｓ２−ｎも小さい（即ち、Ｎｓ２−３＞Ｎｓ２−２＞Ｎｓ２−１）。
【００８５】
第３設定回転数Ｎｓ３についても同様であり、三種類の設定打撃数に対応した三種類の値Ｎｓ３−ｎ（ｎ＝１，２，３）が設定されており、設定打撃数が小さいほど第３設定回転数Ｎｓ３−ｎも小さい（即ち、Ｎｓ３−３＞Ｎｓ３−２＞Ｎｓ３−１）。
【００８６】
初期電流閾値Ｉについても同様であり、三種類の設定打撃数に対応した三種類の値Ｉ−ｎ（ｎ＝１，２，３）が設定されており、設定打撃数が小さいほど初期電流閾値Ｉ−ｎも小さい（即ち、Ｉ−３＞Ｉ−２＞Ｉ−１）。
【００８７】
打撃判定閾値Ｄについても同様であり、三種類の設定打撃数に対応した三種類の値Ｄ−ｎ（ｎ＝１，２，３）が設定されており、設定打撃数が小さいほど打撃判定閾値Ｄ−ｎも小さい（即ち、Ｄ−３＞Ｄ−２＞Ｄ−１）。
【００８８】
各制御パラメータＮｓ１−ｎ，Ｎｓ２−ｎ，Ｎｓ３−ｎ，Ｉ−ｎ，Ｄ−ｎは、本実施形態では、コントローラ３１が備えるフラッシュメモリに保存されている。
このように、設定打撃数が小さいほど各制御パラメータもそれぞれ小さくなるように設定することで、設定打撃数に応じた適切なモータ制御が可能となる。即ち、使用者により設定された打撃数が例えば「小」の場合は、例えば締め付けを行うドリルねじが比較的強度の弱いものであったり、締め付けのために大きなトルクは不要であったり、或いは被材が薄いものであったりするなど、あまり大きな力で締め付けるべきではない状況であることが想定される。そこでそのような場合は、各制御パラメータを低めに設定することで、必要以上に過大な締め付け力を与えることなく、適切な力で締め付けを行うことができる。
【００８９】
逆に、使用者により設定された打撃数が例えば「大」の場合は、例えば締め付けを行うドリルねじが比較的強度の強いものであったり、締め付けのために大きなトルクが必要であったり、或いは被材が厚いものであったりするなど、大きな力で締め付けるべき状況或いは大きな力で締め付けても問題ない状況であることが想定される。そこでそのような場合は、各制御パラメータを高めに設定することで、適切且つ十分な力で締め付けを行うことができる。
【００９０】
同じ設定打撃数に対する上記各設定回転数Ｎｓ１−ｎ，Ｎｓ２−ｎ，Ｎｓ３−ｎの相互の大小関係を整理すると、Ｎｓ１−ｎ＜Ｎｓ３−ｎ＜Ｎｓ２−ｎである。ただし、Ｎｓ１−ｎとＮｓ３−ｎの大小関係については、両者同じ値にしてもよいし、図３の例とは逆にＮｓ１−ｎ＞Ｎｓ３−ｎとしてもよい。
【００９１】
なお、第１設定回転数Ｎｓ１−ｎおよび第３設定回転数Ｎｓ３−ｎについては、設定打撃数毎に異なる値とすることは必須ではない。例えば、設定打撃数が「小」及び「中」の場合に同じ設定回転数を設定してもよいし、三種類の全ての設定打撃数に対して同じ設定回転数を設定してもよい。
【００９２】
異なる二つ又は三つの設定打撃数に対して同じ値の第１設定回転数Ｎｓ１−ｎを設定する場合は、初期電流閾値Ｉ−ｎについても、その同じ第１設定回転数Ｎｓ１−ｎが設定される各設定打撃数に対しては同じ値の初期電流閾値Ｉ−ｎを設定することができる。
【００９３】
初期電流閾値Ｉ−ｎ及び打撃判定閾値Ｄ−ｎについても、設定打撃数毎に異なる値とすることは必須ではなく、設定打撃数にかかわらず一定の値とするようにしてもよい。
次に、コントローラ３１が実行する各種制御処理のうち、動作モードがテクス用モードに設定されているときに実行するモータ制御処理について、図４を用いて説明する。コントローラ３１においては、内部のＲＯＭ（又はフラッシュメモリ）に図４のモータ制御処理のプログラムが保存されており、ＣＰＵは、電源が供給されて動作を開始すると、このモータ制御処理を定期的に実行する。
【００９４】
コントローラ３１のＣＰＵは、このモータ制御処理を開始すると、まずＳ１１０で、初期設定しているか否か、即ち、各制御パラメータについて既に初期設定がなされているか否かを判断する。ＣＰＵは、制御パラメータの現在の値（即ち現在設定されている設定打撃数に対応した各制御パラメータの値）を、現在の設定打撃数（即ち現在の設定変数ｎ）と共に、コントローラ３１内のＲＡＭにおける所定の記憶領域に記憶する。Ｓ１１０では、その記憶領域を参照することで、既に各制御パラメータが設定されているか否かを判断するのである。
【００９５】
コントローラ３１の動作開始直後は、ＲＡＭにおける上記記憶領域には何も記憶されていない（例えば「００００・・・」又は「ＦＦＦＦ・・・」といった値となっている）。そこで、そのような場合は、まだ初期設定していないと判断して、Ｓ１２０に進み、フラッシュメモリから設定変数ｎを読み込む。フラッシュメモリには、過去の最新の設定変数ｎが常に更新、記憶されている。そこで、過去の最新の設定変数ｎは何であったか（換言すれば、前回の操作終了時の設定打撃数は「小」、「中」、「大」の何れであったか）をフラッシュメモリから取得するのである。
【００９６】
そして、Ｓ１３０で、その取得した設定変数ｎに基づき、フラッシュメモリに記憶されている各制御パラメータのうちその設定変数ｎに対応した各制御パラメータＮｓ１−ｎ，Ｎｓ２−ｎ，Ｎｓ３−ｎ，Ｉ−ｎ，Ｄ−ｎを読み込み、これらをＲＡＭの上記記憶領域に記憶させることで、初期設定を行う。またこのとき、図４では図示を省略したが、設定変数ｎに対応した設定打撃数もフラッシュメモリから読み込み、ＲＡＭの記憶領域に記憶させる。このＳ１３０の初期設定により、設定打撃数が設定されると共に、その設定打撃数に対応した各制御パラメータも設定されることとなる。
【００９７】
これにより、以後の制御では、ＲＡＭの上記記憶領域に記憶されている、現在の設定変数ｎに対応した各制御パラメータおよび設定打撃数を用いてモータ制御が行われることとなる。Ｓ１１０で、既に初期設定がなされている場合は、Ｓ１４０に進む。
【００９８】
Ｓ１４０では、トリガスイッチ１０がオンされているか否かを判断する。トリガスイッチ１０がオフされていれば、Ｓ１６０で、打撃数の設定変更がなされたか否か、即ち、使用者により打撃数設定部４１の操作ボタンが押されたか否かを判断する。ここで、操作ボタンが押されていない場合は、そのままこのモータ制御処理を終了するが、操作ボタンが押された場合はＳ１７０に進み、打撃数の設定値が最小値（即ち「小」）になったか否かを判断する。
【００９９】
既述の通り、打撃数設定部４１の操作ボタンが押し操作される毎に、設定打撃数は「小」→「中」→「大」→「小」→・・・と順次切り替わる。そこで、Ｓ１７０では、使用者により操作ボタンが押された結果、設定打撃数が最小値の「小」となったか否かを判断するのである。
【０１００】
Ｓ１７０で設定打撃数が最小値（「小」）になったと判断した場合は、Ｓ１８０で設定変数ｎを１として、Ｓ２００に進む。一方、Ｓ１７０で、設定打撃数が最小値（「小」）ではないと判断した場合は、Ｓ１９０で、現在の設定変数ｎに１を加えたものを新たな設定変数ｎとして、Ｓ２００に進む。
【０１０１】
Ｓ２００では、Ｓ１８０又はＳ１９０で設定変更された新たな設定変数ｎに基づき、ＲＡＭに記憶されている各制御パラメータを変更する。即ち、フラッシュメモリに記憶されている各制御パラメータのうちその新たな設定変数ｎに対応した各制御パラメータＮｓ１−ｎ，Ｎｓ２−ｎ，Ｎｓ３−ｎ，Ｉ−ｎ，Ｄ−ｎを読み込み、ＲＡＭの上記記憶領域の内容をその読み込んだ各値に更新する。またこのとき、新たな設定変数ｎに対応した設定打撃数もフラッシュメモリから読み込み、ＲＡＭの記憶領域の値を更新する。
【０１０２】
このように、トリガスイッチ１０がオフされている間は、使用者により打撃数の設定変更操作がなされる毎に、各制御パラメータについても、その設定変更後の新たな設定打撃数に対応した値に更新するのである。これにより、以後再び打撃数の設定変更が行われるまでは、その更新した最新の設定打撃数及び各制御パラメータを用いてモータ制御（Ｓ１５０の駆動制御処理等）が行われることとなる。
【０１０３】
Ｓ１４０で、トリガスイッチ１０がオンされていると判断された場合は、Ｓ１５０に進み、駆動制御処理を行う。Ｓ１５０の駆動制御処理の詳細は図５に示す通りであり、まずＳ２１０にて、設定回転数を第１設定回転数Ｎｓ１−ｎに設定してモータ２０を起動する。そして、Ｓ２２０で、設定回転数を初期のＮｓ１−ｎから第２設定回転数Ｎｓ２−ｎへ切り替えるための初期設定回転数切替処理を行う。
【０１０４】
Ｓ２２０の初期設定回転数切替処理の詳細は図６に示す通りであり、まずＳ３６０で、トリガスイッチ１０がオンされているか否か判断する。ここで、トリガスイッチ１０がオフされていれば、Ｓ２３０（図５）に進むが、トリガスイッチ１０がオンされていれば、Ｓ３７０にて、回転開始から初期規定時間が経過したか否かを判断する。この判断は、コントローラ３１が備えるタイマを用いて行っても良いし、後述する時間カウンタを用いて行っても良い。
【０１０５】
回転開始から初期規定時間が経過するまでは、Ｓ３７０からＳ３６０へ戻ることになり、回転開始から初期規定時間が経過したときに、Ｓ３７０からＳ３８０に進んで、モータ電流が初期電流閾値Ｉ−ｎ以上になっているか否かを判断する。
【０１０６】
このように、Ｓ３８０の判断処理を起動後すぐには行わず起動から初期規定時間経過後に行うようにしているのは、起動直後に一時的に流れる過大な起動電流（突入電流）をＳ３８０の判断対象から除くためである。図７の最上段のモータ電流波形に示すように、トリガスイッチ１０がオンされてモータ２０の回転が開始された直後には、モータ２０には大きな起動電流が流れる。この起動電流によって誤って設定回転数が第２設定回転数Ｎｓ２−ｎに切り替わることのないよう、Ｓ３８０の判断処理はこの起動電流が収まってから行う必要があり、そこで本実施形態では、起動後、初期規定時間が経過した後にＳ３８０の判断処理を行うようにしているのである。
【０１０７】
初期規定時間の具体的長さは、モータ２０の起動時の過渡特性等に基づき、少なくともモータ電流が初期電流閾値Ｉ−ｎより低いレベルに収まることが想定されるような時間を適宜決めることができる。
【０１０８】
なお、このように起動後初期規定時間が経過してからＳ３８０の判断処理を行うようにすることは、起動電流の影響を除くための方法の一例であり、他の方法で起動電流の影響を省くようにしてもよい。例えば、起動後、モータ電流が一旦閾値を超えて再び閾値を下回るのを確認した上で、Ｓ３８０の判断処理を行うようにすることもできる。
【０１０９】
Ｓ３８０の判断処理において、モータ電流が初期電流閾値Ｉ−ｎより低い間は、Ｓ３６０に戻るが、モータ電流が初期電流閾値Ｉ−ｎ以上になったら、Ｓ３９０に進み、設定回転数を第２設定回転数Ｎｓ２−ｎに設定する。即ち、設定回転数をＮｓ１−ｎからＮｓ２−ｎに上昇させる。
【０１１０】
なお、このように起動後すぐに第２設定回転数Ｎｓ２−ｎに設定せずに第１設定回転数Ｎｓ１−ｎから第２設定回転数Ｎｓ２−ｎへと段階的に設定するのは必須ではなく、起動後すぐに第２設定回転数Ｎｓ２−ｎに設定するようにしてもよい。後述する図１０のＳ５１０〜Ｓ５２０の処理、および図１５のＳ９１０〜Ｓ９２０の処理についても同様である。
【０１１１】
その後、Ｓ２３０（図５）に進み、再びトリガスイッチ１０がオンされているか否か判断する。ここで、トリガスイッチ１０がオフされていれば、モータ制御処理を終了するが、トリガスイッチ１０がオンされていれば、Ｓ２４０に進み、打撃検出処理を行う。具体的には、打撃検出センサ２７からの打撃信号に基づき、一定時間内に検出された打撃数を打撃数カウンタ（例えばソフトウェアカウンタ）によりカウントする。
【０１１２】
そしてＳ２５０で、その打撃数カウンタの値が打撃判定閾値Ｄ−ｎ以上であるか否かを判断する。ここで、打撃数カウンタの値が打撃判定閾値Ｄ−ｎ未満ならば、打撃が行われているとは判定せずにＳ２３０に戻る。一方、打撃数カウンタの値が打撃判定閾値Ｄ−ｎ以上ならば、打撃が行われていると判定して、Ｓ２６０に進み、設定回転数を第３設定回転数Ｎｓ３−ｎに設定変更する。つまり、Ｎｓ２−ｎからＮｓ３−ｎへ低下させる。
【０１１３】
その後、Ｓ２７０〜Ｓ２８０にて、上記のＳ２４０〜Ｓ２５０と全く同じ要領で打撃数のカウントおよび打撃判定を行う。そして、打撃が行われていると判定している間は、Ｓ２９０に進んでトリガスイッチ１０がオフされているか否か判断し、オフされていなければＳ２６０に戻り、オフされていれば、Ｓ３００でモータ２０の回転を停止させて本モータ制御処理を終了する。つまり、トリガスイッチ１０がオンされていて打撃が行われていると判定している間は、設定回転数を第３設定回転数Ｎｓ３−ｎに維持する。
【０１１４】
一方、Ｓ２８０にて、打撃数カウンタの値が打撃判定閾値Ｄ−ｎに満たないことにより打撃が行われていないと判定した場合は、Ｓ３１０で打撃数カウンタをクリアし、Ｓ３２０で、設定回転数を現在の値から１％上昇させる。若しくは、現在の設定回転数に基づいて設定されるＰＷＭ制御のＤＵＴＹ（デューティ比）に対し、そのＤＵＴＹの１％を加算することで、ＤＵＴＹを増加させる。つまり、現在の設定回転数を微増させるのである。
【０１１５】
そしてＳ３３０で、その微増された現在の設定回転数が第２設定回転数Ｎｓ２−ｎ以上になったか否かを判断し、まだ第２設定回転数Ｎｓ２−ｎ未満ならばＳ２７０に戻るが、第２設定回転数Ｎｓ２−ｎ以上になったら、Ｓ３４０で、設定回転数を第２設定回転数Ｎｓ２−ｎに設定して、Ｓ２３０に戻る。
【０１１６】
つまり、打撃開始により設定回転数をＮｓ２−ｎからＮｓ３−ｎに低下させた後、再び打撃が行われなくなった場合は、すぐに第２設定回転数Ｎｓ２−ｎに上昇させるのではなく、Ｎｓ３−ｎからＮｓ２−ｎへ徐々に上昇させていくのである。これにより、モータ電流の急激な変動を抑えることができる。但し、このように徐々に上昇させていくのは必須ではなく、すぐに第２設定回転数Ｎｓ２−ｎに切り替えるようにしてもよい。また、徐々に上昇させていく場合の具体的上昇方法についても、本実施形態のように１％ずつ増加或いは加算していく方法はあくまでも一例であり、他の種々の方法を用いて徐々に上昇させるようにしてもよい。後述する図１０のＳ６６０の処理、および図１５のＳ１０４０の処理についても同様である。
【０１１７】
上記のように設定回転数を第３設定回転数Ｎｓ３−ｎから第２設定回転数Ｎｓ２−ｎへ徐々に上昇させる過程では、第２設定回転数Ｎｓ２−ｎに到達するまでは、Ｓ３３０で否定判定されてＳ２７０に戻るため、Ｓ２７０〜Ｓ２８０の打撃数カウントおよび打撃判定が繰り返し行われることになる。そのため、仮に、設定回転数を第２設定回転数Ｎｓ２−ｎへ徐々に上昇させている途中の段階で再び打撃が行われていると判定された場合は（Ｓ２８０：ＹＥＳ）、トリガスイッチがオフされていない限り（Ｓ２９０：ＮＯ）、設定回転数が再び第３設定回転数Ｎｓ３−ｎに設定されることになる（Ｓ２６０）。
【０１１８】
なお、図６の初期設定回転数切替処理におけるＳ３９０の処理、即ち設定回転数のＮｓ１−ｎからＮｓ２−ｎへの変更についても、同じように徐々に上昇させていくようにしてもよい。そのようにすれば、起動電流を抑えることができるため、起動後初期規定時間の経過を待つためのＳ３７０の処理をなくすことも可能となる。後述する図１１のＳ７４０の処理、及び図１６のＳ１１５０の処理についても同様である。
【０１１９】
Ｓ３４０で設定回転数を再び第２設定回転数Ｎｓ２−ｎに変更した後も、Ｓ２３０に戻ることから、その後再び打撃判定されたら（Ｓ２５０：ＹＥＳ）、設定回転数は再び第３設定回転数Ｎｓ３−ｎに変更（低下）されることになる（Ｓ２６０）。そして、その後打撃がなくなったことが判定されたら（Ｓ２８０：ＮＯ）、設定回転数は再び第２設定回転数Ｎｓ２−ｎに変更（上昇）されることになる（Ｓ３２０〜Ｓ３４０）。
【０１２０】
また、打撃判定により再び第３設定回転数Ｎｓ３−ｎに変更された後、打撃が継続している限り、その第３設定回転数Ｎｓ３−ｎにてモータ２０が回転することになる。そして、その打撃が行われている状態で使用者がトリガスイッチ１０をオフすると（Ｓ２９０：ＹＥＳ）、モータ２０の回転が停止する。
【０１２１】
次に、本実施形態の電動工具１をテクス用モードに設定して鋼板等の被材に対するドリルねじの締め付け作業を行った場合のモータ制御の具体例を、図７を用いて説明する。なお、図７の動作例は、説明の簡素化のため、使用者がトリガスイッチ１０をオンしている間は常にトリガスイッチ１０の引き量が最大になっているものと仮定した場合の動作例を示している。
【０１２２】
図７に示すように、使用者がトリガスイッチ１０をオンすることでモータ２０の回転が開始すると、モータ回転数は、初期の第１設定回転数Ｎｓ１−ｎに向けて上昇していき、やがて第１設定回転数Ｎｓ１−ｎに達する。またこのとき、モータ電流は、既述の通り過渡的に大きな起動電流が流れるが、すぐに収まって定常状態となる。
【０１２３】
起動後、ドリルねじが被材に穴を開けてタップを切り始めるまでは、モータ２０の負荷は実質的に無負荷状態となる。このとき、ねじは不安定で倒れやすい状態になるが、本実施形態では、初期の設定回転数が第１設定回転数Ｎｓ１−ｎに抑えられていることで、ねじが倒れにくくなっている。
【０１２４】
締め付け作業が進み、被材に穴が開き始めると、穴開きが進むことおよびタップが切られ始めることから、モータ２０に徐々に負荷がかかり始めていく。そのため、モータ電流は徐々に増加していき、逆にモータ回転数は徐々に低下していく。そして、モータ電流が初期電流閾値Ｉ−ｎに達したら（時刻ｔａ）、設定回転数が第２設定回転数Ｎｓ２−ｎに変更される。なお、図７中の白抜き矢印は、設定回転数が変更されたことを示している。
【０１２５】
時刻ｔａで設定回転数が第２設定回転数Ｎｓ２−ｎに切り替わると、モータ回転数はその第２設定回転数Ｎｓ２−ｎに向けて上昇していく。モータ電流も、ねじの締め付けが進むにつれて負荷が大きくなっていくことから、上昇していく。
【０１２６】
そして、着座まではまだまだの状態であるものの、ねじや被材の状況等に起因してモータ２０の負荷がより上昇していくと、打撃動作が始まる。打撃開始後、時刻ｔｂにて、打撃が行われていると判定されると（図５のＳ２５０でＹＥＳ）、設定回転数は第３設定回転数Ｎｓ３−ｎに変更（低下）される。なお、図７では、時刻ｔｂで設定回転数がＮｓ３−ｎに変更される前にモータ回転数は既にそのＮｓ３−ｎよりも低い値になっているが、これは負荷増大によるものであり、コントローラ３１にて設定されている設定回転数はあくまでも時刻ｔｂにてＮｓ２−ｎからＮｓ３−ｎに切り替わる。
【０１２７】
一時的な負荷増大が収まって、モータ負荷が再び低下していくと、打撃も行われなくなる。そして、時刻ｔｃにて、打撃が行われなくなったと判定されると（図５のＳ２８０でＮＯ）、設定回転数は再び第２設定回転数Ｎｓ２−ｎに変更（上昇）される。ただしこのときの上昇は、既述の通り、徐々に行われる。
【０１２８】
その後、ねじの締め付けが着座付近まで進むと、モータ負荷は再び増加していき、やがてねじが着座して打撃が開始される。着座による打撃開始後、時刻ｔｄにて、打撃が行われていると判定されると（図５のＳ２５０でＹＥＳ）、設定回転数は再び第３設定回転数Ｎｓ３−ｎに変更（低下）される。そして、トリガスイッチ１０がオフされるまで、その第３設定回転数Ｎｓ３−ｎの状態で打撃が継続される。但し、図５では図示を省略したが、トリガスイッチ１０がオンされ続けることにより打撃が継続されても、その継続して行われる打撃数が設定打撃数に対応した打撃数以上となったら、モータ２０の回転が停止される。
【０１２９】
以上説明した本実施形態の電動工具１によれば、負荷が上昇していって打撃が開始されたら設定回転数を第２設定回転数Ｎｓ２−ｎから第３設定回転数Ｎｓ３−ｎに低下させるものの、その後負荷が低下したら設定回転数を再び第２設定回転数Ｎｓ２−ｎに上昇させる。そのため、当該電動工具１を用いてねじを締め付けることで、適切な仕上がり状態を得ることができ、且つ、締め付け作業を迅速に行うことができる。
【０１３０】
また、モータ制御時に用いられるパラメータである、設定打撃数（小、中、大の何れか）に応じて、各閾値Ｉ−ｎ，Ｄ−ｎ及び各設定回転数Ｎｓ１−ｎ，Ｎｓ２−ｎ，Ｎｓ３−ｎは設定変更される。具体的には、設定打撃数が小さいほど各設定回転数および各閾値もそれぞれ小さい値に設定される。そのため、設定打撃数に応じた適切な締め付け作業が可能となる。
【０１３１】
また、設定回転数を第３設定回転数Ｎｓ３−ｎから第２設定回転数Ｎｓ２−ｎに変更する際、直接変更せず、第３設定回転数Ｎｓ３−ｎから第２設定回転数Ｎｓ２−ｎに向けて徐々に増加させるようにしている。そのため、モータに流れる電流のオーバーシュートやモータの回転数の急変などを抑制でき、安定したモータ制御が可能となる。
【０１３２】
なお、本実施形態では、設定打撃数を「小」、「中」、「大」の三段階に切り替え可能な構成を示したが、これはあくまでも一例であり、二段階或いは四段階以上に切り替え可能な構成としても良いし、段階的ではなく連続的に切り替え可能な構成としてもよい。
【０１３３】
また、本実施形態では、打撃が行われているか否かの判断を、一定時間内の打撃数カウント値が打撃判定閾値Ｄ−ｎ以上か否かに基づいて行うようにしたが、これもあくまでも一例である。例えば、１回でも打撃が検出されたら打撃が行われていると判断してもよいし、最初に打撃が検出されてから所定時間経過してもまだ打撃が検出されているならばそのことをもって打撃が行われていると判定してもよい。その場合、設定打撃数に応じてその所定時間を可変設定するようにするとよい。具体的には、設定打撃数が小さいほどその所定時間が短くなるように設定することができる。
【０１３４】
また、本実施形態では、Ｓ２５０における打撃が行われていることの判断、およびＳ２８０における打撃が行われていないことの判断を、いずれも同じ打撃判定閾値Ｄ−ｎを用いて行ったが、異なる打撃判定閾値を用いてそれぞれ判断を行うようにしてもよい。
【０１３５】
なお、本実施形態において、トリガスイッチ１０は本発明の操作入力受付手段の一例に相当し、打撃数設定部４１は本発明の設定入力受付手段の一例に相当し、打撃検出センサ２７は本発明の負荷検出手段の一例に相当し、コントローラ３１は本発明のモータ制御手段、通常最大回転数設定手段、低域最大回転数設定手段、最大回転数復帰手段、パラメータ設定手段、及び設定変更手段の一例に相当し、第２設定回転数Ｎｓ２−ｎは本発明の通常最大回転数の一例に相当し、第３設定回転数Ｎｓ３−ｎは本発明の低域最大回転数の一例に相当し、設定打撃数（小、中、大）は本発明の打撃力関連パラメータの一例に相当し、打撃判定閾値Ｄ−ｎは本発明の第１の打撃判定閾値及び第２の打撃判定閾値の一例に相当する。
【０１３６】
［第２実施形態］
次に、第２実施形態の電動工具について説明する。本実施形態の電動工具は、第１実施形態の電動工具１と比較して、主に次の五つの点で相違する。まず一つ目の相違点は、テクス用モードに対応した伝達機構がドリルモードと同じものであること、即ち打撃動作が行われないことである。
【０１３７】
二つ目の相違点は、テクス用モードにおいて、使用者により設定される設定トルクに応じたトルクにて締め付けが行われることである。既述の通り、使用者がトルク設定部４２の操作ボタンを押し操作する毎に、設定トルクは「１」→「２」→・・・→「８」→「９」→「１」→「２」→・・・と順次切り替わる。本実施形態では、テクス用モードにおいて、その設定トルクに応じたトルクとなるようにモータ２０の回転が制御される。
【０１３８】
三つ目の相違点は、起動後に第１設定回転数Ｎｓ１−ｎから第２設定回転数Ｎｓ２−ｎへ変更する際の変更タイミングを、モータ電流ではなくモータ回転数に基づいて決めることである。具体的には、図１２に示すように、起動後、モータ回転数が一旦第１設定回転数Ｎｓ１−ｎに到達した後に、モータ２０に負荷（負荷トルク）がかかり始めてモータ回転数が低下していき、第１設定回転数Ｎｓ１−ｎよりも低い初期回転数閾値Ｎ−ｎ以下になったときに（時刻ｔａ）、設定回転数をＮｓ１−ｎからＮｓ２−ｎに変更する。なお、このモータ回転数が初期回転数閾値Ｎ−ｎになるタイミング（時刻ｔａ）は、第１実施形態においてモータ電流が初期電流閾値Ｉ−ｎになるタイミングに対応している。
【０１３９】
四つ目の相違点は、起動後に設定回転数がＮｓ１−ｎからＮｓ２−ｎに変更された後の、設定回転数の変更タイミングを、第１実施形態のように打撃の有無判定に基づいて決めるのではなく、モータ２０の負荷トルク（以下「モータ負荷」又は単に「負荷」とも言う）に基づいて決めることである。具体的には、モータ電流を検出することでモータ負荷を間接的に検出し、そのモータ電流と、後述する各電流閾値Ｉ１−ｎ，Ｉ２−ｎ，Ｉ３−ｎとの比較結果等に基づいて、設定回転数を適宜設定変更する。
【０１４０】
より具体的には、第１設定回転数Ｎｓ１−ｎから第２設定回転数Ｎｓ２−ｎへの変更後、負荷増大によってモータ電流が増加していき、所定の第１電流閾値Ｉ１−ｎに達したら、設定回転数を第２設定回転数Ｎｓ２−ｎから第３設定回転数Ｎｓ３−ｎに低下させる。
【０１４１】
この第１電流閾値Ｉ１−ｎは、着座時の負荷増大を想定して設定される値である。即ち、ねじが着座したときにはモータ電流がこの第１電流閾値Ｉ１−ｎに達する。そのため、着座によりモータ電流が第１電流閾値Ｉ１−ｎに達した場合は、図１２の時刻ｔｄのように、設定回転数が第３設定回転数Ｎｓ３−ｎに低下されることになる。
【０１４２】
しかし、着座までまだ遠い状態でありながら、例えばドリルねじが被材に穴を開け始めている時のように、ねじや被材の状況等によってモータ負荷が一時的に増大することがある。そこでそのように着座前でありながらモータ負荷が増大してモータ電流が第１電流閾値Ｉ１−ｎに達した場合も（図１２の時刻ｔｂ）、設定回転数を第３設定回転数Ｎｓ３−ｎに低下するのである。
【０１４３】
このように一時的な負荷増大によって設定回転数が第３設定回転数Ｎｓ３−ｎに変更された後、再びモータ負荷が減少して無負荷状態（負荷開放状態）又はそれに近い状態になると、モータ電流は低下していく。そこで、モータ電流が第２電流閾値Ｉ２−ｎを下回ったら、図１２の時刻ｔｃのように、設定回転数を再び第２設定回転数Ｎｓ２−ｎに変更（上昇）する。ただし、モータ電流が第２電流閾値Ｉ２−ｎを下回った時刻ｔｃですぐに第３設定回転数Ｎｓ３−ｎから第２設定回転数Ｎｓ２−ｎに変更するのではなく、図１２に示すように、Ｎｓ３−ｎからＮｓ２−ｎへと徐々に上昇させていく。
【０１４４】
そして、図１２に示すように、着座によるモータ負荷増大によって時刻ｔｄで設定回転数が再び第３設定回転数Ｎｓ３−ｎに低下された後、モータ電流が第３電流閾値Ｉ３−ｎ以上の状態のまま所定の停止規定時間が経過したら、モータ２０の回転が停止される。また、時刻ｔｂで設定回転数が第３設定回転数Ｎｓ３−ｎに低下された後、仮にモータ電流が第３電流閾値Ｉ３−ｎ以上の状態のまま所定の停止規定時間が経過した場合も、モータ２０の回転は停止される。つまり、本実施形態では、第１電流閾値Ｉ１−ｎと第２電流閾値Ｉ２−ｎの間に第３電流閾値Ｉ３−ｎが設定されており、モータ電流がこの第３電流閾値Ｉ３−ｎ以上の状態のまま停止規定時間が経過したならばモータ２０の回転を停止させるようにしている。
【０１４５】
なお、本実施形態における制御パラメータには、第１実施形態と同じ三つの設定回転数Ｎｓ１−ｎ，Ｎｓ２−ｎ，Ｎｓ３−ｎのほか、初期回転数閾値Ｎ−ｎと、上記各電流閾値Ｉ１−ｎ，Ｉ２−ｎ，Ｉ３−ｎがある。これら各制御パラメータは、第１実施形態と同様、コントローラ３１が備えるフラッシュメモリに保存されている。
【０１４６】
そして五つ目の相違点は、上記各制御パラメータが、設定トルク毎にそれぞれ異なる値に設定されることである。具体的には、設定トルクが小さいほど上記各制御パラメータも小さい値に設定される。
【０１４７】
即ち、図８に示すように、第１設定回転数Ｎｓ１については、設定トルクが「９」のときは最も大きいＮｓ１−９に設定され、設定トルクが「８」，「７」，・・・と低下するに従って、対応する第１設定回転数もＮｓ１−８，Ｎｓ１−７，・・・と順次小さい値になっていく。そして、設定トルクが「１」のときに最も小さいＮｓ１−１に設定される。つまり、第１設定回転数Ｎｓ１−ｎは、設定トルクが小さいほど（設定変数ｎが小さいほど）小さくなる。なお、本実施形態における「ｎ」は、設定トルクを示す設定変数である。
【０１４８】
第２設定回転数Ｎｓ２−ｎ、第３設定回転数Ｎｓ３−ｎ、初期回転数閾値Ｎ−ｎ、第１電流閾値Ｉ１−ｎ、第２電流閾値Ｉ２−ｎ、および第３電流閾値Ｉ３−ｎについても同様であり、それぞれ、図８に示すように、設定トルクが小さいほど小さい値となる。
【０１４９】
同じ設定トルクにおける上記各設定回転数Ｎｓ１−ｎ，Ｎｓ２−ｎ，Ｎｓ３−ｎの相互の大小関係を整理すると、Ｎｓ１−ｎ＜Ｎｓ３−ｎ＜Ｎｓ２−ｎである。ただし、Ｎｓ１−ｎとＮｓ３−ｎの大小関係については、両者同じ値にしてもよいし、図８の例とは逆にＮｓ１−ｎ＞Ｎｓ３−ｎとしてもよい。
【０１５０】
また、同じ設定トルクにおける上記各電流閾値Ｉ１−ｎ，Ｉ２−ｎ，Ｉ３−ｎの大小関係については、Ｉ２−ｎ＜Ｉ３−ｎ＜Ｉ１−ｎ、となる。
なお、第１設定回転数Ｎｓ１−ｎについては、設定トルク毎に異なる値とすることは必須ではない。異なる二つ又は三つの設定トルクに対して同じ値の第１設定回転数Ｎｓ１−ｎを設定する場合は、初期回転数閾値Ｎ−ｎについても、その同じ第１設定回転数Ｎｓ１−ｎが設定される各設定トルクに対しては同じ値の初期回転数閾値Ｎ−ｎを設定することができる。
【０１５１】
初期回転数閾値Ｎ−ｎ及び各電流閾値Ｉ１−ｎ，Ｉ２−ｎ，Ｉ３−ｎについても、設定打撃数毎に異なる値とすることは必須ではない。
また、隣り合う複数の設定トルク（例えば設定トルク「５」と「６」、或いは設定トルク「２」〜「４」など。）の各トルク値が近接している場合には、その複数の設定トルクにおいては、各閾値や各設定回転数をそれぞれ同じ値としてもよい。
【０１５２】
次に、本実施形態のモータ制御処理について、図９〜図１１を用いて説明する。但し、第１実施形態と同じ処理については詳細説明を省略する。
図９に示す本実施形態のモータ制御では、Ｓ４２０で設定変数ｎ（ｎ＝１〜９）を読み込んだ後のＳ４３０の各制御パラメータの初期設定処理において、上述した各制御パラメータＮｓ１−ｎ，Ｎｓ２−ｎ，Ｎｓ３−ｎ、Ｎ−ｎ、Ｉ１−ｎ，Ｉ２−ｎ，Ｉ３−ｎが初期設定される。即ち、フラッシュメモリに記憶されている過去の最新の設定変数ｎに対応した各制御パラメータが読み出され、ＲＡＭ上の所定の記憶領域に記憶される。このとき、設定トルクについても同様に記憶される。
【０１５３】
また、本実施形態では、テクス用モードにおいて打撃は行われないことから、Ｓ４３０の初期設定後、トリガスイッチ１０がオフされている間は、Ｓ４６０で、使用者によるトルクの設定変更がなされたか否かを判断する。そして、トルクの設定変更がなされた場合はＳ４７０に進み、設定トルクが最小値（即ち「１」）になったか否かを判断する。
【０１５４】
既述の通り、トルク設定部４２の操作ボタンが押し操作される毎に、設定トルクは「１」→「２」→・・・→「８」→「９」→「１」→・・・と順次切り替わる。そこで、Ｓ４７０では、使用者により操作ボタンが押された結果、設定トルクが最小値の「１」となったか否かを判断するのである。
【０１５５】
Ｓ４７０で設定トルクが最小値（「１」）と判断した場合は、Ｓ４８０で設定変数ｎを１とし、設定トルクが最小値（「１」）ではないと判断した場合はＳ４９０で現在の設定変数ｎに１を加えたものを新たな設定変数ｎとする。そしてＳ５００で、ＲＡＭに記憶されている各制御パラメータを、新たな設定変数ｎに対応した値に更新する。
【０１５６】
トリガスイッチ１０がオンされたときに実行されるＳ４５０の駆動制御処理の詳細は、図１０に示す通りである。図１０の駆動制御処理においても、第１実施形態の駆動制御処理（図５）と同様、まず設定回転数を第１設定回転数Ｎｓ１−ｎに設定し（Ｓ５１０）、続いて初期設定回転数切替処理（Ｓ５２０）を行う。この初期設定回転数切替処理の詳細は図１１に示す通りであるが、この図１１の初期設定回転数切替処理は、図６に示した第１実施形態の初期設定回転数切替処理と一部異なっている。
【０１５７】
即ち、図１１と図６を比較して明らかなように、第１実施形態では、回転開始から初期規定時間が経過した後（図６のＳ３７０：ＹＥＳ）、モータ電流が初期電流閾値Ｉ−ｎ以上になったときに（図６のＳ３８０）、設定回転数をＮｓ２−ｎに変更したのに対し、本実施形態では、Ｓ７３０に示すように、モータ回転数が初期回転数閾値Ｎ−ｎ以下となったときに、Ｓ７４０に進んで設定回転数をＮｓ２−ｎに変更する。
【０１５８】
Ｓ５２０の初期設定回転数切替処理の後、Ｓ５３０でトリガスイッチ１０がオンされているか否か判断し、オンされている場合は、Ｓ５４０でモータ電流を検出する。そしてＳ５５０で、その検出電流が第１電流閾値Ｉ１−ｎ以上か否か判断する。検出電流が第１電流閾値Ｉ１−ｎ未満ならばＳ５３０に戻るが、検出電流が第１電流閾値Ｉ１−ｎ以上ならば、Ｓ５６０に進み、設定回転数を第３設定回転数Ｎｓ３−ｎに設定変更（低下）する。
【０１５９】
その後、Ｓ５７０にて時間カウンタをクリアし、Ｓ５８０で、時間カウンタの値が所定の停止規定時間以上になった否か判断する。時間カウンタは、クリアされる毎にゼロから経過時間をカウントしていくものである。時間カウンタの具体的構成や実現方法は種々考えられるが、本実施形態では、モータ制御処理とは別のプログラムにより実現される、いわゆるソフトウェアカウンタである。
【０１６０】
時間カウンタ値が停止規定時間に満たない場合は、Ｓ５９０で再びモータ電流を検出し、Ｓ６００で、その検出電流が第３電流閾値Ｉ３−ｎ以上であるか否か判断する。ここで、検出電流が第３電流閾値Ｉ３−ｎ以上ならば、Ｓ６３０に進み、トリガスイッチ１０がオフされていたらＳ６４０でモータ停止、トリガスイッチ１０がオンされていればＳ５８０に戻る。そのため、検出電流が第３電流閾値Ｉ３−ｎ以上の状態のまま時間カウンタ値が停止規定時間以上になったら、Ｓ５８０からＳ６４０に進み、モータが停止されることになる。
【０１６１】
一方、Ｓ６００で、検出電流が第３電流閾値Ｉ３−ｎ以上ではない（即ち第３電流閾値Ｉ３−ｎより小さくなった）と判断した場合は、Ｓ６１０で時間カウンタをクリアした上で、Ｓ６２０にて、検出電流が第２電流閾値Ｉ２−ｎ以上であるか否かを判断する。ここで、検出電流がまだ第２電流閾値Ｉ２−ｎ以上ならばＳ６３０に進むが、検出電流が第２電流閾値Ｉ２−ｎ以上ではない（即ち第２電流閾値Ｉ２−ｎより小さくなった）と判断した場合は、Ｓ６５０に進む。
【０１６２】
Ｓ６５０では、トリガスイッチ１０がオフされているか否か判断し、オフされていたらＳ６４０に進んでモータ２０を停止する。Ｓ６５０で、トリガスイッチ１０がオフされていなかったら、Ｓ６６０〜Ｓ６８０の処理に進む。
【０１６３】
このＳ６６０〜Ｓ６８０の処理は、基本的には、第１実施形態の図５におけるＳ３２０〜Ｓ３４０の処理と同じであり、設定回転数を第３設定回転数Ｎｓ３−ｎから第２設定回転数Ｎｓ２−ｎへと徐々に上昇させていく処理である。即ち、トリガスイッチ１０がオンされている限り（Ｓ６５０：ＮＯ）、設定回転数を、第２設定回転数Ｎｓ２−ｎに到達するまで徐々に上昇させていく（Ｓ６６０〜Ｓ６７０）。Ｓ６８０で第２設定回転数Ｎｓ２−ｎに設定された後、着座あるいは一時的な負荷上昇によって検出電流が再び第１電流閾値Ｉ１−ｎ以上になったら（Ｓ５５０：ＹＥＳ）、設定回転数が再び第３設定回転数Ｎｓ３−ｎに低下される（Ｓ５６０）。
【０１６４】
なお、本実施形態では、設定トルクを「１」〜「９」の９段階に切り替え可能な構成を示したが、これはあくまでも一例であり、９段階以外の他の段階数に可変設定できる構成としても良いし、段階的ではなく連続的に切り替え可能な構成としてもよい。
【０１６５】
以上説明した本実施形態の電動工具によれば、負荷が上昇していって一定レベル以上になったら（具体的にはモータ電流が第１電流閾値Ｉ１−ｎ以上になったら）設定回転数を第２設定回転数Ｎｓ２−ｎから第３設定回転数Ｎｓ３−ｎに低下させるものの、その後負荷が低下したら（具体的にはモータ電流が第２電流閾値Ｉ２−ｎより低くなったら）設定回転数を再び第２設定回転数Ｎｓ２−ｎに上昇させる。そのため、当該電動工具１を用いてねじを締め付けることで、適切な仕上がり状態を得ることができ、且つ、締め付け作業を迅速に行うことができる。
【０１６６】
また、モータ制御時に用いられるパラメータである、設定トルク（１〜９の何れか）に応じて、各閾値Ｎ−ｎ，Ｉ１−ｎ，Ｉ２−ｎ，Ｉ３−ｎ及び各設定回転数Ｎｓ１−ｎ，Ｎｓ２−ｎ，Ｎｓ３−ｎは設定変更される。具体的には、設定トルクが小さいほど各設定回転数および各閾値もそれぞれ小さい値に設定される。そのため、設定トルクに応じた適切な締め付け作業が可能となる。
【０１６７】
なお、本実施形態において、トルク設定部４２は本発明の設定入力受付手段の一例に相当し、シャント抵抗３５は本発明の負荷検出手段の一例に相当し、設定トルク（１〜９）は本発明のトルク関連パラメータの一例に相当し、第１電流閾値Ｉ１−ｎは本発明の第１のトルク判定閾値の一例に相当し、第２電流閾値Ｉ２−ｎは本発明の第２のトルク判定閾値の一例に相当する。
【０１６８】
［第３実施形態］
次に、第３実施形態の電動工具について説明する。本実施形態の電動工具は、第２実施形態の電動工具と比較して、主に次の二点で相違する。まず一つ目の相違点は、起動後に第１設定回転数Ｎｓ１−ｎから第２設定回転数Ｎｓ２−ｎへ変更する際の変更タイミングを、モータ回転数ではなく、モータ起動後の経過時間に基づいて決めることである。具体的には、図１７に示すように、起動時からの経過時間が、所定の初期経過時間閾値Ｔ−ｎに到達したときに（時刻ｔａ）、設定回転数をＮｓ１−ｎからＮｓ２−ｎに変更する。なお、この経過時間が初期経過時間閾値Ｔ−ｎに到達するタイミング（時刻ｔａ）は、第１実施形態においてはモータ電流が初期電流閾値Ｉ−ｎになるタイミング（又はその近傍）に対応しており、第２実施形態においてはモータ回転数が初期回転数閾値Ｎ−ｎになるタイミング（又はその近傍）に対応している。
【０１６９】
即ち、トリガスイッチ１０をオンしてねじの締め付けを開始（モータ起動）した後、ある程度時間が経過すれば、通常の作業状態においては、ねじが被材に入り込んで安定した状態になっていることが予想される。そこで、回転開始からねじが被材に入り込むまでに通常要する時間を経験的或いは実験的に想定して、それに基づいて初期経過時間閾値Ｔ−ｎを設定している。
【０１７０】
二つ目の相違点は、負荷増大により設定回転数が第２設定回転数Ｎｓ２−ｎから第３設定回転数Ｎｓ３−ｎに低下された後、負荷低下により再び第２設定回転数Ｎｓ２−ｎに変更された場合における、その第２設定回転数Ｎｓ２−ｎに再変更された後の制御内容である。
【０１７１】
図１７に示すように、時刻ｔａで設定回転数が第１設定回転数Ｎｓ１−ｎから第２設定回転数Ｎｓ２−ｎに変更された後、一時的なモータ負荷増大によりモータ電流が上昇して第１電流閾値Ｉ１−ｎに達すると（時刻ｔｂ）、設定回転数は第３設定回転数Ｎｓ３−ｎに低下される。その後、その一時的な負荷増大がなくなってモータ電流が減少していき、第２電流閾値Ｉ２−ｎまで下がると（時刻ｔｃ）、設定回転数は再び第２設定回転数Ｎｓ２−ｎに変更される。この、時刻ｔａ〜時刻ｔｃまでの制御は、第３電流閾値Ｉ３−ｎに基づく判断がないことを除き、第２実施形態（図１２参照）と同じである。時刻ｔｃから設定回転数が徐々に第２設定回転数Ｎｓ２−ｎに上昇していくことについても同様である。
【０１７２】
ここで、第２実施形態では、第３設定回転数Ｎｓ３−ｎから第２設定回転数Ｎｓ２−ｎへ切り替わった後も、モータ負荷が上昇してモータ電流が第１電流閾値Ｉ１−ｎに達したら再び第３設定回転数Ｎｓ３−ｎに切り替えたが（図１２の時刻ｔｄ参照）、本実施形態では、一旦第３設定回転数Ｎｓ３−ｎから第２設定回転数Ｎｓ２−ｎへ切り替わった後は（図１７の時刻ｔｃ以降）、設定回転数をその第２設定回転数Ｎｓ２−ｎに維持する。そして、モータ電流が、第１電流閾値Ｉ１−ｎよりも大きい所定の停止電流閾値Ｉｚ−ｎに到達したときに（時刻ｔｄ）、モータ２０の回転を停止させる。
【０１７３】
なお、本実施形態における制御パラメータには、第１実施形態と同じ三つの設定回転数Ｎｓ１−ｎ，Ｎｓ２−ｎ，Ｎｓ３−ｎと、第２実施形態と同じ二つの電流閾値Ｉ１−ｎ，Ｉ２−ｎのほか、初期経過時間閾値Ｔ−ｎと、停止電流閾値Ｉｚ−ｎがある。そして、これら各制御パラメータが、第２実施形態と同様、設定トルク毎にそれぞれ異なる値に設定される。具体的には、設定トルクが小さいほど上記各制御パラメータも小さい値に設定される。
【０１７４】
即ち、図１３に示すように、停止電流閾値Ｉｚ−ｎは、設定トルクが「９」のときは最も大きいＩｚ−９に設定され、設定トルクが「８」，「７」，・・・と低下するに従って、対応する停止電流閾値もＩｚ−８，Ｉｚ−７，・・・と順次小さい値になっていく。そして、設定トルクが「１」のときに最も小さいＩｚ−１に設定される。初期経過時間閾値Ｔ−ｎについても同様であり、設定トルクが小さいほど小さい値に設定される。各設定回転数Ｎｓ１−ｎ，Ｎｓ２−ｎ，Ｎｓ３−ｎ及び各電流閾値Ｉ１−ｎ，Ｉ２−ｎと、設定トルクとの関係は、第２実施形態と同じである。
【０１７５】
なお、第１設定回転数Ｎｓ１−ｎについては、設定トルク毎に異なる値とすることは必須ではない。異なる二つ又は三つの設定トルクに対して同じ値の第１設定回転数Ｎｓ１−ｎを設定する場合は、初期経過時間閾値Ｔ−ｎについても、その同じ第１設定回転数Ｎｓ１−ｎが設定される各設定トルクに対しては同じ値の初期経過時間閾値Ｔ−ｎを設定することができる。
【０１７６】
また、第２実施形態と同じく、隣り合う複数の設定トルクの各トルク値が近接している場合には、その複数の設定トルクにおいては、各閾値や各設定回転数をそれぞれ同じ値としてもよい。
【０１７７】
初期経過時間閾値Ｔ−ｎ及び各電流閾値Ｉ１−ｎ，Ｉ２−ｎ，Ｉｚ−ｎについても、設定打撃数毎に異なる値とすることは必須ではない。
次に、本実施形態のモータ制御処理について、図１４〜図１６を用いて説明する。但し、第２実施形態と同じ処理については詳細説明を省略する。
【０１７８】
図１４に示す本実施形態のモータ制御では、Ｓ８２０で設定変数ｎを読み込んだ後のＳ８３０の各制御パラメータの初期設定処理において、上述した各制御パラメータＮｓ１−−ｎ，Ｎｓ２−ｎ，Ｎｓ３−ｎ、Ｔ−ｎ、Ｉ１−ｎ，Ｉ２−ｎ，Ｉｚ−ｎが初期設定される。即ち、フラッシュメモリに記憶されている過去の最新の設定変数ｎに対応した各制御パラメータが読み出され、ＲＡＭ上の所定の記憶領域に記憶される。
【０１７９】
トリガスイッチ１０がオフされている間に行うＳ８６０〜Ｓ８９０の処理は、第２実施形態における図９のＳ４６０〜Ｓ４９０の処理と全く同じである。使用者により設定トルクの変更操作がなされた場合は（Ｓ８６０：ＹＥＳ）、変更後の設定トルクに応じてＳ８８０又はＳ８９０で設定変数ｎを更新し、Ｓ９００で、その更新した設定変数ｎに基づいて、ＲＡＭに記憶されている各制御パラメータを設定変更する。
【０１８０】
トリガスイッチ１０がオンされたときに実行されるＳ８５０の駆動制御処理の詳細は、図１５に示す通りである。図１５の駆動制御処理においても、第２実施形態の駆動制御処理（図１０）と同様、まず設定回転数を第１設定回転数Ｎｓ１−ｎに設定し（Ｓ９１０）、続いて初期設定回転数切替処理（Ｓ９２０）を行う。この初期設定回転数切替処理の詳細は図１６に示す通りであるが、この図１６の初期設定回転数切替処理は、図１１に示した第２実施形態の初期設定回転数切替処理と一部異なっている。
【０１８１】
即ち、図１６と図１１を比較して明らかなように、本実施形態では、まずＳ１１１０にて時間カウンタをクリアして、Ｓ１１２０の処理、即ち図１１のＳ７１０と同様のトリガスイッチ１０の状態判断に進む。また、第２実施形態では、モータ回転数が初期回転数閾値Ｎ−ｎ以下になったときに（図１１のＳ７３０）、設定回転数を第２設定回転数Ｎｓ２−ｎに変更したのに対し、本実施形態では、Ｓ１１４０に示すように、時間カウンタの値（即ちモータ起動後の経過時間）が初期経過時間閾値Ｔ−ｎ以上となったときに、Ｓ１１５０に進んで設定回転数を第２設定回転数Ｎｓ２−ｎに変更する。
【０１８２】
Ｓ９２０の初期設定回転数切替処理の後、Ｓ９３０でトリガスイッチ１０がオンされているか否か判断し、オンされている場合は、Ｓ９４０でモータ電流を検出する。そして、モータ負荷が増大していってモータ電流が第１電流閾値Ｉ１−ｎ以上になったら（Ｓ９５０：ＹＥＳ）、設定回転数を第３設定回転数Ｎｓ３−ｎに低下させ（Ｓ９６０）、時間カウンタをクリアする（Ｓ９７０）。そして、時間カウンタの値が停止規定時間以上であるか否かを判断し（Ｓ９８０）、停止規定時間以上になっていたら、Ｓ１０２０にてモータを停止させる。
【０１８３】
Ｓ９７０で時間カウンタをクリアした後、その時間カウンタの値が停止規定時間に到達するまでの間は、モータ電流を検出して（Ｓ９９０）、その検出したモータ電流が第２電流閾値Ｉ２−ｎ以上であるか否かを判断する（Ｓ１０００）。モータ電流が第２電流閾値Ｉ２−ｎ以上である間は、トリガスイッチ１０がオンされている限り（Ｓ１０１０：ＮＯ）、時間カウンタの値が停止規定時間以上か否かの判断を行う（Ｓ９８０）。そして、第２電流閾値Ｉ２−ｎ以上の状態が停止規定時間以上続いたら（Ｓ９８０:ＹＥＳ）、モータを停止させる（Ｓ１０２０）。
【０１８４】
一方、時間カウンタの値が停止規定時間に到達する前にモータ電流が第２電流閾値Ｉ２−ｎより低くなった場合は（Ｓ１０００：ＮＯ）、Ｓ１０３０〜Ｓ１０６０の処理にて、第２実施形態における図１０のＳ６５０〜Ｓ６８０と同じように、設定回転数を第３設定回転数Ｎｓ３−ｎから第２設定回転数Ｎｓ２−ｎへと徐々に上昇させていく。なお、徐々に上昇させていく過程でトリガスイッチ１０がオフされたら（Ｓ１０３０：ＹＥＳ）、モータを停止させる（Ｓ１０２０）。
【０１８５】
設定回転数が第２設定回転数Ｎｓ２−ｎに上昇した後は、トリガスイッチ１０がオンされている限り（Ｓ１０７０：ＹＥＳ）、モータ電流が停止電流閾値Ｉｚ−ｎ以上になったか否かを判断する（Ｓ１０８０〜Ｓ１０９０）。そして、モータ電流が停止電流閾値Ｉｚ−ｎ以上になったら（Ｓ１０９０:ＹＥＳ）、モータを停止させる（Ｓ１０２０）。
【０１８６】
［変形例］
以上、本発明の実施の形態について説明したが、本発明の実施の形態は、上記実施形態に何ら限定されるものではなく、本発明の技術的範囲に属する限り種々の形態を採り得ることはいうまでもない。
【０１８７】
例えば、上記第２及び第３実施形態では、モータ電流に基づいてモータ負荷を間接的に検出し、その検出値（検出電流）に基づいて設定回転数を変更したり或いはモータ２０の回転を停止させるようにしたが、モータ電流以外の他の物理量に基づいてモータ負荷を検出するようにしてもよい。或いは、他の方法にてモータ負荷を直接又は間接的に検出するようにしてもよい。
【０１８８】
モータ電流以外の物理量に基づいてモータ負荷を検出する具体例としては、例えばモータ回転数に基づく検出方法が考えられる。具体的には、図１２に示すように、設定回転数が第１設定回転数Ｎｓ１−ｎから第２設定回転数Ｎｓ２−ｎへ変更されたことによりモータ回転数が第２設定回転数Ｎｓ２−ｎに到達した後、負荷増大によってモータ回転数が低下していき、所定の第１回転数閾値Ｎ１−ｎ以下になったら、設定回転数を第２設定回転数Ｎｓ２−ｎから第３設定回転数Ｎｓ３−ｎに低下させる。なお、図１２に括弧書きで「Ｎ１−ｎ」と明示している通り、モータ回転数が低下していってこの第１回転数閾値Ｎ１−ｎに到達するタイミングは、モータ電流が上昇していって第１電流閾値Ｉ１−ｎに到達するタイミング（時刻ｔｂ）に対応している。
【０１８９】
負荷が増大して設定回転数が第３設定回転数Ｎｓ３−ｎに変更されると、負荷の大きさにもよるが、実際のモータ回転数は、その負荷によって第３設定回転数Ｎｓ３−ｎよりも小さくなる。その後、再びモータ負荷が減少していって無負荷状態（負荷開放状態）又はそれに近い状態になると、モータ回転数は上昇していく。そこで、モータ回転数が所定の第２回転数閾値Ｎ２−ｎに到達したら、設定回転数を再び第２設定回転数Ｎｓ２−ｎに変更（上昇）させる。なお、図１２に括弧書きで「Ｎ２−ｎ」と明示している通り、負荷減少によりモータ回転数が上昇していって第２回転数閾値Ｎ２−ｎに到達するタイミングは、モータ電流が低下していって第２電流閾値Ｉ１−ｎに到達するタイミング（時刻ｔｃ）に対応している。
【０１９０】
また、第２実施形態では、設定回転数を第３設定回転数Ｎｓ３−ｎに変更（低下）した後、モータ電流が第３電流閾値Ｉ３−ｎ以上の状態が所定の停止規定時間以上経過したらモータ２０を停止させるようにした。これに対し、モータ回転数に基づいてモータ２０を停止させるようにしてもよい。例えば、モータ回転数が所定の第３回転数閾値Ｎ３−ｎ（図１２中の括弧書き参照）以下まで低下したらモータ２０を停止させるようにすることができる。
【０１９１】
そして、上記のように各回転数閾値Ｎ１−ｎ，Ｎ２−ｎ，Ｎ３−ｎを用いてモータ回転数に基づいて設定回転数を変更する場合においても、各回転数閾値Ｎ１−ｎ，Ｎ２−ｎ，Ｎ３−ｎは、設定トルクに応じて異なる値とするようにしてもよい。具体的には、設定トルクが小さいほど各回転数閾値Ｎ１−ｎ，Ｎ２−ｎ，Ｎ３−ｎもそれぞれ小さい値となるようにするとよい。
【０１９２】
第３実施形態においても同様であり、モータ回転数に基づいて設定回転数を変更することができる。具体的には、第１回転数閾値Ｎ１−ｎ及び第２回転数閾値Ｎ２−ｎについては、図１７に括弧書きで示している通り、上記例と同様である。一方、モータ２０を停止させる際の基準となる回転数閾値については、モータ電流が停止電流閾値Ｉｚ−ｎに到達する際の実際のモータ回転数を想定して停止回転数閾値Ｎｚ−ｎを設定し（図１７の括弧書き参照）、モータ回転数がこの停止回転数閾値Ｎｚ−ｎ以下になったらモータ２０を停止させるようにするとよい。この停止回転数閾値Ｎｚ−ｎについても、例えば設定トルクが小さいほど小さい値となるようにするなど、設定トルクに応じて異なる値とするようにしてもよい。
【０１９３】
また、第２実施形態では、図１０に示すように、設定回転数が第２設定回転数Ｎｓ２−ｎに設定されている状態で、モータ電流が第１電流閾値Ｉ１−ｎ以上になったら（Ｓ５５０：ＹＥＳ）、設定回転数を第３設定回転数Ｎｓ３−ｎに切り替えるようにした（Ｓ５６０）。これに対し、モータ電流が第１電流閾値Ｉ１−ｎ以上になったときにすぐに第３設定回転数Ｎｓ３−ｎに切り替えるのではなく、第１電流閾値Ｉ１−ｎ以上の状態が所定時間継続した場合に第３設定回転数Ｎｓ３−ｎに切り替えるようにしてもよい。
【０１９４】
第３設定回転数Ｎｓ３−ｎから第２設定回転数Ｎｓ２−ｎへ切り替えるタイミングについても、図１０に示した例では、モータ電流が第２電流閾値Ｉ２−ｎより低くなったら（Ｓ６２０：ＮＯ）すぐに設定回転数の微増を開始するようにしたが、第２電流閾値Ｉ２−ｎより低い状態が所定時間継続した場合に設定回転数の微増を開始するようにしてもよい。
【０１９５】
そして、上記所定時間についても、設定トルクに応じて異なる値となるようにしてもよい。具体的には、設定トルクが小さいほど上記所定時間も小さい値となるようにするとよい。
【０１９６】
また、第１実施形態では、打撃判定により設定回転数を第２設定回転数Ｎｓ２−ｎから第３設定回転数Ｎｓ３−ｎに低下させた後、打撃が行われなくなった場合は設定回転数を再び第２設定回転数Ｎｓ２−ｎに上昇させるようにしたが、第３設定回転数Ｎｓ３−ｎからの設定回転数の上昇は、必ずしも第２設定回転数Ｎｓ２−ｎとする必要はなく、第２設定回転数Ｎｓ２−ｎとは異なる設定回転数に上昇させるようにしてもよい。
【０１９７】
第２及び第３実施形態についても、モータ負荷上昇により設定回転数を第２設定回転数Ｎｓ２−ｎから第３設定回転数Ｎｓ３−ｎに低下させた後、モータ負荷の低下により再び設定回転数を上昇させる場合、第２設定回転数Ｎｓ２−ｎとは異なる設定回転数に上昇させるようにしてもよい。
【０１９８】
また、電動工具１において使用者により設定変更可能な設定値として、上述した設定打撃数及び設定トルクはあくまでも一例であり、他の設定値を設定変更できるようにしてもよい。
【０１９９】
また、上記各実施形態では、動作モードがテクス用モードにおいて本発明を適用した例を示したが、本発明の適用はテクス用モードに限らず、他の動作モードでも適用可能である。更には、本発明の適用は、上記実施形態で例示した５モードのインパクトドライバに限らず、ねじを被材に締め付けるためのあらゆる種類の電動工具に対して適用できる。そして、本発明を適用することで、特にドリルねじのような、ねじ自ら被材に穴を開けながら締め付けられていくようなタイプのねじを締め付ける際に、良好な作業性を維持しながら迅速に締め付けを行うことができる。
【符号の説明】
【０２００】
１…電動工具、２，３…半割ハウジング、４…ハンドル部、５…本体ハウジング、６…バッテリパック、７…モータ収納部、８…スリーブ、１０…トリガスイッチ、１１…正逆切替スイッチ、１２…モード切替リング、１３…矢印、１４…バッテリ、１６…第１切替スイッチ、１７…第２切替スイッチ、２０…モータ、２７…打撃検出センサ、３０…操作・表示パネル、３１…コントローラ、３２…ゲート回路、３３…モータ駆動回路、３４…回転位置センサ、３５…シャント抵抗、３６…レギュレータ、」４１…打撃数設定部、４２…トルク設定部
【図１】
0005841010.tif 000002
【図２】
0005841010.tif 000003
【図３】
0005841010.tif 000004
【図４】
0005841010.tif 000005
【図５】
0005841010.tif 000006
【図６】
0005841010.tif 000007
【図７】
0005841010.tif 000008
【図８】
0005841010.tif 000009
【図９】
0005841010.tif 000010
【図１０】
0005841010.tif 000011
【図１１】
0005841010.tif 000012
【図１２】
0005841010.tif 000013
【図１３】
0005841010.tif 000014
【図１４】
0005841010.tif 000015
【図１５】
0005841010.tif 000016
【図１６】
0005841010.tif 000017
【図１７】
0005841010.tif 000018