以下に、本発明の好適な実施形態を図面に基づいて説明する。
[第1実施形態]
図1に示すように、本実施形態の電動工具1は、一台で5種類の動作モードでの動作が可能な、充電式の5モードインパクトドライバとして構成されている。
より具体的には、電動工具1は、本体ハウジング5と、バッテリパック6とを備えている。本体ハウジング5は、半割ハウジング2,3を組み付けることにより形成されており、当該本体ハウジング5の下方には、ハンドル部4が延設されている。バッテリパック6は、このハンドル部4の下端に離脱可能に装着されている。
本体ハウジング5の後部には、当該電動工具1の駆動源となるモータ20を収納するモータ収納部7が設けられており、モータ収納部7よりも前方には、モータ20の回転を工具先端側へ伝達するための複数種類の伝達機構(図示略)が収納されている。そして、本体ハウジング5の先端には、工具要素の一例である図示しない工具ビット(例えばドライバビット)を装着するためのスリーブ8が突設されている。
また、本体ハウジング5におけるハンドル部4の上端前方側には、モータ20を回転駆動させて電動工具1を動作させるために当該電動工具1の使用(操作)者がハンドル部4を握った状態で操作可能な、トリガスイッチ10が設けられている。また、本体ハウジング5におけるハンドル部4の上端中央部には、モータ20の回転方向を切り替えるための正逆切替スイッチ11が設けられている。
更に、本体ハウジング5の前部には、電動工具1を何れかの動作モードに設定するために使用者により回動(変位)操作されるモード切替リング12が設けられている。
モード切替リング12は、本体ハウジング5の前部において、スリーブ8の軸心と略同軸状に配置され、その軸心を中心に回動可能な、リング状の部材である。このモード切替リング12の表面の一部領域には、5種類の動作モードを示す5つのマークが、周方向に沿って順次配置されている。一方、本体ハウジング5の上面における、モード切替リング12の後部側には、三角形状の矢印13が形成されている。
電動工具1の使用者は、このモード切替リング12を回動操作して、所望の動作モードのマークを矢印13の先端に合わせることで、電動工具1をその動作モードで動作させることができる。
バッテリパック6には、所定の直流電圧を発生させる二次電池セルが直列に接続されてなる、バッテリ14が内蔵されている。そして、ハンドル部4内には、バッテリパック6内のバッテリ14から電源供給を受けて動作し、トリガスイッチ10の操作量に応じてモータ20を回転させるためのモータ制御装置(後述するコントローラ31やゲート回路32,モータ駆動回路33などからなる。図2参照。)が収納されている。
モータ20は、トリガスイッチ10が少しでも引き操作されたらすぐ回転を始めるのではなく、引き始めから所定量(わずかな量ではあるが)引き操作されるまでは回転しない。そして、引き操作が所定量を超えるとモータ20が回転し始め、その後、引き量に応じて(例えば引き量に略比例して)モータ20の回転数(回転速度)が上昇していく。そして、所定の位置まで引かれたところで(例えば完全に引き切ったところで)、モータ20の回転数は、設定されている回転数上限に達する。
また、本体ハウジング5におけるトリガスイッチ10の上部には、当該電動工具1の前方に光を照射するための照明LED9が設けられている。この照明LED9は、使用者がトリガスイッチ10を操作したときに点灯するものである。
また、ハンドル部4の下端側には、電動工具1における各種設定値の表示や設定変更操作の受け付け、バッテリ14の残量の表示などの、各種情報表示および操作入力受付を行うための、操作・表示パネル30が設けられている。なお、操作・表示パネル30の具体的構成の説明については省略する。
本実施形態の電動工具1は、動作モードとして、インパクトモード(回転+回転方向の打撃)、震動ドリルモード(回転+軸方向の打撃)、ドリルモード(回転のみ)、クラッチモード(回転+電子クラッチ)、及びテクス用モード(回転+回転数自動切替+回転方向の打撃)、の5つの動作モードを有している。使用者は、モード切替リング12を操作することで、所望の動作モードに設定することができる。
また、本体ハウジング5の内部には、モード切替リング12の回動位置に応じて(即ち設定されている動作モードに応じて)オン、オフされる2つの切替スイッチ16,17(図2参照)が設けられている。
このような構成により、使用者が、動作モードを例えばインパクトモードに設定すべく、モード切替リング12を回動させて矢印13の先端にインパクトモードのマークを合わせると、本体ハウジング5内において、モータ20の回転駆動力をスリーブ8へ伝達する伝達機構がインパクトモードに対応した伝達機構(所定値以上のトルクが加わると回転方向の打撃力を発生させる機構)に切り替わる。またこのとき、各切替スイッチ16,17はいずれもオフとなる。
また、使用者が、動作モードを例えば震動ドリルモードに設定すべく、モード切替リング12を回動させて矢印13の先端に震動ドリルモードのマークを合わせると、本体ハウジング5内において、モータ20の回転駆動力をスリーブ8へ伝達する伝達機構が震動ドリルモードに対応した伝達機構(回転させながら軸方向への打撃(震動)を発生させる機構)に切り替わる。またこのとき、各切替スイッチ16,17のうち第1切替スイッチ16がオン、第2切替スイッチ17がオフされた状態となる。
また、使用者が、動作モードを例えばドリルモードに設定すべく、モード切替リング12を回動させて矢印13の先端にドリルモードのマークを合わせると、本体ハウジング5内において、モータ20の回転駆動力をスリーブ8へ伝達する伝達機構がドリルモードに対応した伝達機構(モータの回転駆動力をそのまま又は減速させてスリーブ8へ伝達する機構)に切り替わる。またこのとき、各切替スイッチ16,17のうち第1切替スイッチ16がオン、第2切替スイッチ17がオフされた状態となる。
また、使用者が、動作モードを例えばクラッチモードに設定すべく、モード切替リング12を回動させて矢印13の先端にクラッチモードのマークを合わせると、本体ハウジング5内において、モータ20の回転駆動力をスリーブ8へ伝達する伝達機構がクラッチモードに対応した伝達機構(ドリルモードと同じ)に切り替わる。またこのとき、各切替スイッチ16,17はいずれもオンされた状態となる。
尚、クラッチモードは、伝達機構はドリルモードと同じであるが、モータ20の制御内容がドリルモードとは異なる。即ち、ドリルモードでは、トリガスイッチ10が引き操作されている間は常に回転駆動力を発生させるように制御されるが、クラッチモードでは、モータ20のトルクが所定のトルク設定値以上になるとモータ20の回転が停止される。
また、使用者が、動作モードを例えばテクス用モードに設定すべく、モード切替リング12を回動させて矢印13の先端にテクス用モードのマークを合わせると、本体ハウジング5内において、モータ20の回転駆動力をスリーブ8へ伝達する伝達機構がテクス用モードに対応した伝達機構(インパクトモードと同じ)に切り替わる。またこのとき、各切替スイッチ16,17のうち第2切替スイッチ17がオン、第1切替スイッチ16がオフされた状態となる。
テクス用モードは、主にドリルねじを締め付け対象とする動作モードであって、インパクトモードとしての動作を基本としつつ、締め付け開始時には所定の第1設定回転数Ns1を上限としてモータ20を低速回転させ、その後所定の回転数上昇条件が成立したら、回転数の上限を第1設定回転数Ns1よりも高い第2設定回転数Ns2に切り替える。第2設定回転数Ns2への切り替え後、打撃を検出したら、回転数の上限を第2設定回転数Ns2よりも低い第3設定回転数Ns3に切り替えるが、その後打撃がなくなったら、回転数の上限を再び第2設定回転数Ns2に切り替える。テクス用モードにおけるモータ20の制御内容の詳細については後述する。
次に、モータ20の回転駆動を制御するために電動工具1の内部に設けられているモータ制御装置について、図2を用いて説明する。図2に示すように、モータ制御装置は、バッテリパック6に内蔵されたバッテリ14からの直流電力をモータ20に供給することによってモータ20を回転駆動させるためのものである。より具体的には、モータ制御装置は、コントローラ31と、ゲート回路32と、モータ駆動回路33と、レギュレータ36と、を備えている。
本実施形態のモータ20は、3相ブラシレス直流モータとして構成されており、モータ20における端子U,V,Wが、モータ駆動回路33を介して、バッテリパック6(より具体的にはバッテリ14)に接続されている。端子U,V,Wはそれぞれ、モータ20の図示しない回転子を回転させるためにモータ20に設けられた図示しない3つのコイルのうちのいずれか1つに接続されている。
モータ駆動回路33は、モータ20の端子U,V,Wの各々とバッテリ14の正極側とを接続する、いわゆるハイサイドスイッチとしての3つのスイッチング素子Q1〜Q3と、同じくモータ20の端子U,V,Wの各々とバッテリ14の負極側とを接続する、いわゆるローサイドスイッチとしての3つのスイッチング素子Q4〜Q6とを含む、ブリッジ回路として構成されている。本実施形態におけるスイッチング素子Q1〜Q6は、周知のMOSFETである。
ゲート回路32は、コントローラ31に接続されている一方で、スイッチング素子Q1〜Q6の各ゲート及びソースに接続されている。ゲート回路32は、スイッチング素子Q1〜Q6の各々のオン/オフを制御するためにコントローラ31から当該ゲート回路32に入力される制御信号に基づいて、スイッチング素子Q1〜Q6の各々をオン/オフするためのスイッチング電圧を各スイッチング素子Q1〜Q6のゲート−ソース間に印加して、各スイッチング素子Q1〜Q6をオン/オフする。
レギュレータ36は、バッテリ14の直流電圧を降圧して、所定の直流電圧である制御電圧Vcc(例えば5V)を生成し、生成した制御電圧Vccを、コントローラ31を含む、モータ制御装置内の各部に供給している。
コントローラ31は、本実施形態では、一例として、いわゆるワンチップマイクロコンピュータとして構成されており、図示は省略したものの、CPU、ROM、RAM、フラッシュメモリ、入出力(I/O)ポート、A/D変換器、タイマなどを有している。
コントローラ31には、上述の各切替スイッチ16,17と、照明LED9と、トリガスイッチ10と、正逆切替スイッチ11と、打撃検出センサ27と、操作・表示パネル30と、モータ20に設けられた回転位置センサ34と、モータ20の通電経路に直列に挿入されたシャント抵抗35とが接続されている。
回転位置センサ34は、ホール素子を含み、モータ20の回転子の回転位置が所定の回転位置に達する毎(即ち、モータ20が所定量回転する毎)に、コントローラ31へパルス信号を出力するよう構成されている。そこでコントローラ31は、回転位置センサ34からのパルス信号に基づいてモータ20の実際の回転位置及び回転数を算出し、その算出結果をモータ制御に利用する。
打撃検出センサ27は、インパクトモードの伝達機構において打撃が行われた場合にこれを検出するものであり、例えば打撃時の衝撃音や震動などを検出し、その検出結果を示す信号(以下「打撃信号」という)をコントローラ31へ伝送する。コントローラ31は、打撃検出センサ27からの打撃信号に基づき、打撃が行われたことを検出する。
なお、打撃検出を衝撃音や震動などに基づいて行うのはあくまでも一例であり、他の方法で打撃検出を行うようにしてもよい。例えば、打撃が行われると、モータ20に流れる電流(モータ電流)や電圧、モータ20の回転数なども、その打撃に伴って変動する。そのため、そのように打撃に伴って変動する各種物理量に基づいて打撃を検出することもできる。
操作・表示パネル30には、種々の操作ボタンや表示部などが設けられているが、その一部として、図2に示すように、打撃数設定部41と、トルク設定部42とが設けられている。
打撃数設定部41は、打撃動作時の打撃数の設定値(以下「設定打撃数」ともいう)を段階的に切り替えるための使用者の操作入力を受け付けるものである。設定打撃数とは、打撃が開始されてからモータ20を停止させるまでの総打撃回数を意味する。本実施形態では、設定打撃数を、最も少ない「小」、最も多い「大」、及び前二者の中間程度の数である「中」、の三段階に設定可能となっている。
打撃数設定部41は、設定打撃数を切り替えるために使用者が操作する操作ボタンと、現在設定されている設定打撃数を示す表示部とにより構成されている。設定打撃数は、使用者が打撃数設定部41の操作ボタンを押し操作する毎に、「小」→「中」→「大」→「小」→「中」→「大」→「小」→・・・と、順次切り替わっていく。
このような構成により、コントローラ31は、打撃検出センサ27からの打撃信号に基づいて打撃を検出した場合、その打撃数が、現在設定されている設定打撃数に達したら、モータ20を停止させてこれにより打撃も停止させるようにしている。そのため、ねじに与えられる打撃力は、設定打撃数が「小」のときが最も小さく、設定打撃数が「大」のときが最も大きくなる。
トルク設定部42は、モータ20の回転時のトルク(締め付けトルク)を段階的に切り替えるための使用者の操作入力を受け付けるものである。本実施形態では、締め付けトルクを、最も小さい「1」から最も大きい「9」まで(つまり1〜9まで)9段階に設定可能となっている。
トルク設定部42は、締め付けトルクの設定値(以下「設定トルク」ともいう)を切り替えるために使用者が操作する操作ボタンと、現在設定されている設定トルクを示す表示部とにより構成されている。設定トルクは、使用者がトルク設定部42の操作ボタンを押し操作する毎に、「1」→「2」→・・・→「8」→「9」→「1」→「2」→・・・→「8」→「9」→「1」→「2」→・・・と、順次切り替わっていく。
各切替スイッチ16,17からは、それぞれの状態(オン又はオフ)を示す電気信号がコントローラ31に入力される。コントローラ31は、入力された各電気信号に基づいて、当該電動工具1がどの動作モードに設定されているかを判断し、その判断結果に基づく制御方法にてモータ20を制御する。
本実施形態では、コントローラ31によるモータ20の制御方法として、単速制御A、単速制御B、電子クラッチ制御、及びテクス用制御の4種類が用意されており、コントローラ31は、動作モードがドリルモード又は震動ドリルモードに設定されている場合は単速制御Aを用い、動作モードがインパクトモードに設定されている場合は単速制御Bを用い、動作モードがクラッチモードに設定されている場合は電子クラッチ制御を用い、動作モードがテクス用モードに設定されている場合はテクス用制御を用いる。
単速制御Aとは、予め設定された最大回転数(以下「設定回転数」という)を上限として、使用者によるトリガスイッチ10の引き量(操作量)に応じた回転数にてモータ20を回転させると共に、締め付けトルクについてもトルク設定部42により設定されている現在の設定トルク(「1」〜「9」の何れか)となるように制御する制御方法である。
本実施形態のトリガスイッチ10は、より詳しくは、当該トリガスイッチ10が引かれているか否かを検出するための駆動開始スイッチと、当該トリガスイッチ10の引き量を検出するための、周知の可変抵抗器(例えば周知のポテンショメータ等)とを含んでいる。そして、トリガスイッチ10が引き操作されると、トリガスイッチ10からは、その引き量に応じたアナログ信号がコントローラ31に入力される。
そのため、コントローラ31は、単速制御Aにおいては、トリガスイッチ10から入力されるアナログ信号が示す引き量に応じた回転数でモータ20が回転するよう、モータ20を制御する。
より具体的には、コントローラ31は、設定回転数を上限として、トリガスイッチ10の引き量が大きいほど回転数が高くなるように、ゲート回路32及びモータ駆動回路33を介してモータ20の端子U,V,Wの各々に印加される電圧(駆動電圧)のデューティ比を設定する。本実施形態では、一例として、トリガスイッチ10の引き量に比例して回転数が増加し、引き量が最大のときに設定回転数に達するようにPWM制御される。
また、インパクトモード時に用いられる単速制御Bとは、基本的には、単速制御Aと同様、トリガスイッチ10の引き量に応じた回転数でモータ20が回転するように制御するものである。ただし、トルク設定値に基づくトルクの制御は行わない。
また、電子クラッチ制御とは、基本的には、単速制御Bと同様、トリガスイッチ10の引き量に応じた回転数でモータ20が回転するように制御するものであるが、その一方で、モータ20の締め付けトルク(スリーブ8の回転トルク)を監視し、締め付けトルクが現在の設定トルク以上となった場合にはモータ20の回転を停止させる制御である。
また、テクス用制御とは、主にドリルねじの締付作業に適した動作モードであり、基本的には、単速制御Bと同じように、設定回転数を上限として、トリガスイッチ10の引き量に応じた回転数にてモータ20をPWM制御するものである。更に、打撃開始後、打撃数が、打撃数設定部41により設定されている現在の設定打撃数(「小」、「中」、「大」の何れか)に達したら、モータ20を停止させる。このような制御を基本としつつ、テクス用制御では更に、既述の通り、締め付け作業の進行状況に応じて設定回転数が切り替わる。
即ち、ドリルねじを締め付けるにあたっては、ねじが締付対象物(以下「被材」と略す)に着座して打撃が開始された後も高い回転数で締め続けると、ねじに過大なトルクがかかって、ねじや被材に悪影響を及ぼすおそれがある。
そこで、打撃が行われない通常時は第2設定回転数Ns2で回転させるものの、打撃が開始されたことを判定したら、設定回転数を第3設定回転数Ns3に低下させる。本実施形態では、一定時間内の打撃数が所定の打撃判定閾値D以上となった場合に、打撃が開始されたと判定する。なお、この打撃判定閾値Dは、設定打撃数が「小」のときの打撃数よりも小さい値である。
一方、打撃が開始されるのは、着座したときに限らず、着座前のねじ締め途中段階でも起こり得る。即ち、ねじ締めの途中で、何らかの要因でモータにかかる負荷が一時的に増大し、これによって打撃が開始されることもある。この場合も、打撃開始が判定されたら設定回転数は第2設定回転数Ns2から第3設定回転数Ns3に低下されるのだが、この場合の打撃はあくまでもねじ締め途中の一時的なものである。そのため、その一時的な負荷増大が収まって負荷が低下すると打撃は終了し、その後も引き続きねじ締めが継続されることになる。しかし、その一時的な打撃が終了した後も設定回転数が第3設定回転数Ns3のままだと、ねじ締めが完了するまでに長時間を要してしまう。
そこで本実施形態では、打撃開始と判定したことよって設定回転数を第3設定回転数Ns3に低下させた後、打撃が終了したことを判定した場合には、再び第2設定回転数Ns2に上昇させるようにしている。なお、本実施形態では、一定時間内の打撃数が打撃判定閾値D未満となった場合に打撃終了と判定する。
また、テクス用制御では、モータ20の起動直後は設定回転数を第1設定回転数Ns1に設定し、定常状態になった後に締め付けトルクが所定レベルまで上昇したら、設定回転数を第2設定回転数Ns2に上昇させる。このように、起動直後すぐに第2設定回転数Ns2に設定せず、より小さい第1設定回転数Ns1に設定するのは、ドリルねじの締め付け初期段階における作業性悪化を防ぐためである。
即ち、締め付け開始直後の、被材にまだ穴が開いていない状態のときから、高い回転数で回転させると、ねじがふらついて倒れてしまうおそれがある。そこで、トリガスイッチ10がオンされた直後の初期の設定回転数を、相対的に低めの第1設定回転数Ns1に設定すれば、ドリルねじを安定的に被材へ入り込ませることができる。
そして、被材に穴が開いてドリルねじの先端部が被材に入り込めば(さらには被材に対するタップ切りが始まる段階になれば)、ドリルねじは比較的安定した状態となり、倒れにくくなる。そこで本実施形態では、被材に穴が開いてタップ切りが始まる段階になったことが検出されたら、設定回転数を第2設定回転数Ns2に上昇させる。
なお、タップ切りが始まる段階になったことを具体的にどのように検出するかについては種々の方法が考えられるが、本実施形態では、モータ20の電流値に基づいて判断する。コントローラ31は、シャント抵抗35から入力される電圧およびシャント抵抗35の抵抗値に基づいて、モータ電流を検出する。
ねじの締め付け開始直後は、ねじの先端が被材に入り込み始める状態であるため、締め付けトルクは比較的小さく、よってモータ電流も小さい。一方、ねじの締め付けが進んでタップが切られ始めると、締め付けトルクが大きくなり、よってモータ電流も大きくなる。
そこで本実施形態では、タップが切られ始めたときに想定されるモータ電流の値に基づいて、初期電流閾値Iが予め設定されている。そして、モータ20の起動後(定常状態に移行後)、モータ電流がその初期電流閾値I以上になったら、ねじの締め付けが進んでねじが安定した状態になったものと判断して、設定回転数を第2設定回転数Ns2に上昇させる。
各設定回転数Ns1,Ns2,Ns3、初期電流閾値I、および打撃判定閾値D(以下これらを「制御パラメータ」ともいう)の具体的値は、例えば実験的あるいは机上設計等によって適宜決めることができる。例えば第1設定回転数Ns1については、締め付け時に想定される被材やねじの種類、使用者による締め付け作業時の作業状態などを考慮して、締め付けの初期段階でねじが倒れるのを可能な限り抑えつつ被材への穴開けも可能となるような回転数を適宜第1設定回転数Ns1として設定することができる。また例えば、第3設定回転数Ns3については、使用が想定されるねじや被材の種類等に基づき、適切且つ十分な打撃力を与えることができるような回転数を適宜第3設定回転数Ns3として設定することができる。打撃判定閾値Dについても、D=1を含め、具体的値は適宜決めることができる。
そして、本実施形態では、上記各制御パラメータが、設定打撃数に応じて異なる値に設定される。即ち、図3に示すように、第1設定回転数Ns1については、設定打撃数が「大」のときは最も大きいNs1−3、設定打撃数が「中」のときはNs1-2(<Ns1−3)、設定打撃数が「小」のときはNs1−1(<Ns1−2)に設定される。つまり、設定打撃数が小さいほど第1設定回転数Ns1−nも小さくなるように設定される。なお、本実施形態における「n」は、設定打撃数を示す設定変数であり、n=1は設定打撃数「小」に対応し、n=2は設定打撃数「中」に対応し、n=3は設定打撃数「大」に対応する。また、図3において括弧内に「ex.」として示されている各数値は、各制御パラメータの具体的数値例である。
第2設定回転数Ns2、第3設定回転数Ns3、初期電流閾値I、および打撃判定閾値Dについても同様であり、設定打撃数に応じてそれぞれ変化する。
即ち、第2設定回転数Ns2は、三種類の設定打撃数に対応した三種類の値Ns2−n(n=1,2,3)が設定されており、設定打撃数が小さいほど第2設定回転数Ns2−nも小さい(即ち、Ns2−3>Ns2−2>Ns2−1)。
第3設定回転数Ns3についても同様であり、三種類の設定打撃数に対応した三種類の値Ns3−n(n=1,2,3)が設定されており、設定打撃数が小さいほど第3設定回転数Ns3−nも小さい(即ち、Ns3−3>Ns3−2>Ns3−1)。
初期電流閾値Iについても同様であり、三種類の設定打撃数に対応した三種類の値I−n(n=1,2,3)が設定されており、設定打撃数が小さいほど初期電流閾値I−nも小さい(即ち、I−3>I−2>I−1)。
打撃判定閾値Dについても同様であり、三種類の設定打撃数に対応した三種類の値D−n(n=1,2,3)が設定されており、設定打撃数が小さいほど打撃判定閾値D−nも小さい(即ち、D−3>D−2>D−1)。
各制御パラメータNs1−n,Ns2−n,Ns3−n,I−n,D−nは、本実施形態では、コントローラ31が備えるフラッシュメモリに保存されている。
このように、設定打撃数が小さいほど各制御パラメータもそれぞれ小さくなるように設定することで、設定打撃数に応じた適切なモータ制御が可能となる。即ち、使用者により設定された打撃数が例えば「小」の場合は、例えば締め付けを行うドリルねじが比較的強度の弱いものであったり、締め付けのために大きなトルクは不要であったり、或いは被材が薄いものであったりするなど、あまり大きな力で締め付けるべきではない状況であることが想定される。そこでそのような場合は、各制御パラメータを低めに設定することで、必要以上に過大な締め付け力を与えることなく、適切な力で締め付けを行うことができる。
逆に、使用者により設定された打撃数が例えば「大」の場合は、例えば締め付けを行うドリルねじが比較的強度の強いものであったり、締め付けのために大きなトルクが必要であったり、或いは被材が厚いものであったりするなど、大きな力で締め付けるべき状況或いは大きな力で締め付けても問題ない状況であることが想定される。そこでそのような場合は、各制御パラメータを高めに設定することで、適切且つ十分な力で締め付けを行うことができる。
同じ設定打撃数に対する上記各設定回転数Ns1−n,Ns2−n,Ns3−nの相互の大小関係を整理すると、Ns1−n<Ns3−n<Ns2−nである。ただし、Ns1−nとNs3−nの大小関係については、両者同じ値にしてもよいし、図3の例とは逆にNs1−n>Ns3−nとしてもよい。
なお、第1設定回転数Ns1−nおよび第3設定回転数Ns3−nについては、設定打撃数毎に異なる値とすることは必須ではない。例えば、設定打撃数が「小」及び「中」の場合に同じ設定回転数を設定してもよいし、三種類の全ての設定打撃数に対して同じ設定回転数を設定してもよい。
異なる二つ又は三つの設定打撃数に対して同じ値の第1設定回転数Ns1−nを設定する場合は、初期電流閾値I−nについても、その同じ第1設定回転数Ns1−nが設定される各設定打撃数に対しては同じ値の初期電流閾値I−nを設定することができる。
初期電流閾値I−n及び打撃判定閾値D−nについても、設定打撃数毎に異なる値とすることは必須ではなく、設定打撃数にかかわらず一定の値とするようにしてもよい。
次に、コントローラ31が実行する各種制御処理のうち、動作モードがテクス用モードに設定されているときに実行するモータ制御処理について、図4を用いて説明する。コントローラ31においては、内部のROM(又はフラッシュメモリ)に図4のモータ制御処理のプログラムが保存されており、CPUは、電源が供給されて動作を開始すると、このモータ制御処理を定期的に実行する。
コントローラ31のCPUは、このモータ制御処理を開始すると、まずS110で、初期設定しているか否か、即ち、各制御パラメータについて既に初期設定がなされているか否かを判断する。CPUは、制御パラメータの現在の値(即ち現在設定されている設定打撃数に対応した各制御パラメータの値)を、現在の設定打撃数(即ち現在の設定変数n)と共に、コントローラ31内のRAMにおける所定の記憶領域に記憶する。S110では、その記憶領域を参照することで、既に各制御パラメータが設定されているか否かを判断するのである。
コントローラ31の動作開始直後は、RAMにおける上記記憶領域には何も記憶されていない(例えば「0000・・・」又は「FFFF・・・」といった値となっている)。そこで、そのような場合は、まだ初期設定していないと判断して、S120に進み、フラッシュメモリから設定変数nを読み込む。フラッシュメモリには、過去の最新の設定変数nが常に更新、記憶されている。そこで、過去の最新の設定変数nは何であったか(換言すれば、前回の操作終了時の設定打撃数は「小」、「中」、「大」の何れであったか)をフラッシュメモリから取得するのである。
そして、S130で、その取得した設定変数nに基づき、フラッシュメモリに記憶されている各制御パラメータのうちその設定変数nに対応した各制御パラメータNs1−n,Ns2−n,Ns3−n,I−n,D−nを読み込み、これらをRAMの上記記憶領域に記憶させることで、初期設定を行う。またこのとき、図4では図示を省略したが、設定変数nに対応した設定打撃数もフラッシュメモリから読み込み、RAMの記憶領域に記憶させる。このS130の初期設定により、設定打撃数が設定されると共に、その設定打撃数に対応した各制御パラメータも設定されることとなる。
これにより、以後の制御では、RAMの上記記憶領域に記憶されている、現在の設定変数nに対応した各制御パラメータおよび設定打撃数を用いてモータ制御が行われることとなる。S110で、既に初期設定がなされている場合は、S140に進む。
S140では、トリガスイッチ10がオンされているか否かを判断する。トリガスイッチ10がオフされていれば、S160で、打撃数の設定変更がなされたか否か、即ち、使用者により打撃数設定部41の操作ボタンが押されたか否かを判断する。ここで、操作ボタンが押されていない場合は、そのままこのモータ制御処理を終了するが、操作ボタンが押された場合はS170に進み、打撃数の設定値が最小値(即ち「小」)になったか否かを判断する。
既述の通り、打撃数設定部41の操作ボタンが押し操作される毎に、設定打撃数は「小」→「中」→「大」→「小」→・・・と順次切り替わる。そこで、S170では、使用者により操作ボタンが押された結果、設定打撃数が最小値の「小」となったか否かを判断するのである。
S170で設定打撃数が最小値(「小」)になったと判断した場合は、S180で設定変数nを1として、S200に進む。一方、S170で、設定打撃数が最小値(「小」)ではないと判断した場合は、S190で、現在の設定変数nに1を加えたものを新たな設定変数nとして、S200に進む。
S200では、S180又はS190で設定変更された新たな設定変数nに基づき、RAMに記憶されている各制御パラメータを変更する。即ち、フラッシュメモリに記憶されている各制御パラメータのうちその新たな設定変数nに対応した各制御パラメータNs1−n,Ns2−n,Ns3−n,I−n,D−nを読み込み、RAMの上記記憶領域の内容をその読み込んだ各値に更新する。またこのとき、新たな設定変数nに対応した設定打撃数もフラッシュメモリから読み込み、RAMの記憶領域の値を更新する。
このように、トリガスイッチ10がオフされている間は、使用者により打撃数の設定変更操作がなされる毎に、各制御パラメータについても、その設定変更後の新たな設定打撃数に対応した値に更新するのである。これにより、以後再び打撃数の設定変更が行われるまでは、その更新した最新の設定打撃数及び各制御パラメータを用いてモータ制御(S150の駆動制御処理等)が行われることとなる。
S140で、トリガスイッチ10がオンされていると判断された場合は、S150に進み、駆動制御処理を行う。S150の駆動制御処理の詳細は図5に示す通りであり、まずS210にて、設定回転数を第1設定回転数Ns1−nに設定してモータ20を起動する。そして、S220で、設定回転数を初期のNs1−nから第2設定回転数Ns2−nへ切り替えるための初期設定回転数切替処理を行う。
S220の初期設定回転数切替処理の詳細は図6に示す通りであり、まずS360で、トリガスイッチ10がオンされているか否か判断する。ここで、トリガスイッチ10がオフされていれば、S230(図5)に進むが、トリガスイッチ10がオンされていれば、S370にて、回転開始から初期規定時間が経過したか否かを判断する。この判断は、コントローラ31が備えるタイマを用いて行っても良いし、後述する時間カウンタを用いて行っても良い。
回転開始から初期規定時間が経過するまでは、S370からS360へ戻ることになり、回転開始から初期規定時間が経過したときに、S370からS380に進んで、モータ電流が初期電流閾値I−n以上になっているか否かを判断する。
このように、S380の判断処理を起動後すぐには行わず起動から初期規定時間経過後に行うようにしているのは、起動直後に一時的に流れる過大な起動電流(突入電流)をS380の判断対象から除くためである。図7の最上段のモータ電流波形に示すように、トリガスイッチ10がオンされてモータ20の回転が開始された直後には、モータ20には大きな起動電流が流れる。この起動電流によって誤って設定回転数が第2設定回転数Ns2−nに切り替わることのないよう、S380の判断処理はこの起動電流が収まってから行う必要があり、そこで本実施形態では、起動後、初期規定時間が経過した後にS380の判断処理を行うようにしているのである。
初期規定時間の具体的長さは、モータ20の起動時の過渡特性等に基づき、少なくともモータ電流が初期電流閾値I−nより低いレベルに収まることが想定されるような時間を適宜決めることができる。
なお、このように起動後初期規定時間が経過してからS380の判断処理を行うようにすることは、起動電流の影響を除くための方法の一例であり、他の方法で起動電流の影響を省くようにしてもよい。例えば、起動後、モータ電流が一旦閾値を超えて再び閾値を下回るのを確認した上で、S380の判断処理を行うようにすることもできる。
S380の判断処理において、モータ電流が初期電流閾値I−nより低い間は、S360に戻るが、モータ電流が初期電流閾値I−n以上になったら、S390に進み、設定回転数を第2設定回転数Ns2−nに設定する。即ち、設定回転数をNs1−nからNs2−nに上昇させる。
なお、このように起動後すぐに第2設定回転数Ns2−nに設定せずに第1設定回転数Ns1−nから第2設定回転数Ns2−nへと段階的に設定するのは必須ではなく、起動後すぐに第2設定回転数Ns2−nに設定するようにしてもよい。後述する図10のS510〜S520の処理、および図15のS910〜S920の処理についても同様である。
その後、S230(図5)に進み、再びトリガスイッチ10がオンされているか否か判断する。ここで、トリガスイッチ10がオフされていれば、モータ制御処理を終了するが、トリガスイッチ10がオンされていれば、S240に進み、打撃検出処理を行う。具体的には、打撃検出センサ27からの打撃信号に基づき、一定時間内に検出された打撃数を打撃数カウンタ(例えばソフトウェアカウンタ)によりカウントする。
そしてS250で、その打撃数カウンタの値が打撃判定閾値D−n以上であるか否かを判断する。ここで、打撃数カウンタの値が打撃判定閾値D−n未満ならば、打撃が行われているとは判定せずにS230に戻る。一方、打撃数カウンタの値が打撃判定閾値D−n以上ならば、打撃が行われていると判定して、S260に進み、設定回転数を第3設定回転数Ns3−nに設定変更する。つまり、Ns2−nからNs3−nへ低下させる。
その後、S270〜S280にて、上記のS240〜S250と全く同じ要領で打撃数のカウントおよび打撃判定を行う。そして、打撃が行われていると判定している間は、S290に進んでトリガスイッチ10がオフされているか否か判断し、オフされていなければS260に戻り、オフされていれば、S300でモータ20の回転を停止させて本モータ制御処理を終了する。つまり、トリガスイッチ10がオンされていて打撃が行われていると判定している間は、設定回転数を第3設定回転数Ns3−nに維持する。
一方、S280にて、打撃数カウンタの値が打撃判定閾値D−nに満たないことにより打撃が行われていないと判定した場合は、S310で打撃数カウンタをクリアし、S320で、設定回転数を現在の値から1%上昇させる。若しくは、現在の設定回転数に基づいて設定されるPWM制御のDUTY(デューティ比)に対し、そのDUTYの1%を加算することで、DUTYを増加させる。つまり、現在の設定回転数を微増させるのである。
そしてS330で、その微増された現在の設定回転数が第2設定回転数Ns2−n以上になったか否かを判断し、まだ第2設定回転数Ns2−n未満ならばS270に戻るが、第2設定回転数Ns2−n以上になったら、S340で、設定回転数を第2設定回転数Ns2−nに設定して、S230に戻る。
つまり、打撃開始により設定回転数をNs2−nからNs3−nに低下させた後、再び打撃が行われなくなった場合は、すぐに第2設定回転数Ns2−nに上昇させるのではなく、Ns3−nからNs2−nへ徐々に上昇させていくのである。これにより、モータ電流の急激な変動を抑えることができる。但し、このように徐々に上昇させていくのは必須ではなく、すぐに第2設定回転数Ns2−nに切り替えるようにしてもよい。また、徐々に上昇させていく場合の具体的上昇方法についても、本実施形態のように1%ずつ増加或いは加算していく方法はあくまでも一例であり、他の種々の方法を用いて徐々に上昇させるようにしてもよい。後述する図10のS660の処理、および図15のS1040の処理についても同様である。
上記のように設定回転数を第3設定回転数Ns3−nから第2設定回転数Ns2−nへ徐々に上昇させる過程では、第2設定回転数Ns2−nに到達するまでは、S330で否定判定されてS270に戻るため、S270〜S280の打撃数カウントおよび打撃判定が繰り返し行われることになる。そのため、仮に、設定回転数を第2設定回転数Ns2−nへ徐々に上昇させている途中の段階で再び打撃が行われていると判定された場合は(S280:YES)、トリガスイッチがオフされていない限り(S290:NO)、設定回転数が再び第3設定回転数Ns3−nに設定されることになる(S260)。
なお、図6の初期設定回転数切替処理におけるS390の処理、即ち設定回転数のNs1−nからNs2−nへの変更についても、同じように徐々に上昇させていくようにしてもよい。そのようにすれば、起動電流を抑えることができるため、起動後初期規定時間の経過を待つためのS370の処理をなくすことも可能となる。後述する図11のS740の処理、及び図16のS1150の処理についても同様である。
S340で設定回転数を再び第2設定回転数Ns2−nに変更した後も、S230に戻ることから、その後再び打撃判定されたら(S250:YES)、設定回転数は再び第3設定回転数Ns3−nに変更(低下)されることになる(S260)。そして、その後打撃がなくなったことが判定されたら(S280:NO)、設定回転数は再び第2設定回転数Ns2−nに変更(上昇)されることになる(S320〜S340)。
また、打撃判定により再び第3設定回転数Ns3−nに変更された後、打撃が継続している限り、その第3設定回転数Ns3−nにてモータ20が回転することになる。そして、その打撃が行われている状態で使用者がトリガスイッチ10をオフすると(S290:YES)、モータ20の回転が停止する。
次に、本実施形態の電動工具1をテクス用モードに設定して鋼板等の被材に対するドリルねじの締め付け作業を行った場合のモータ制御の具体例を、図7を用いて説明する。なお、図7の動作例は、説明の簡素化のため、使用者がトリガスイッチ10をオンしている間は常にトリガスイッチ10の引き量が最大になっているものと仮定した場合の動作例を示している。
図7に示すように、使用者がトリガスイッチ10をオンすることでモータ20の回転が開始すると、モータ回転数は、初期の第1設定回転数Ns1−nに向けて上昇していき、やがて第1設定回転数Ns1−nに達する。またこのとき、モータ電流は、既述の通り過渡的に大きな起動電流が流れるが、すぐに収まって定常状態となる。
起動後、ドリルねじが被材に穴を開けてタップを切り始めるまでは、モータ20の負荷は実質的に無負荷状態となる。このとき、ねじは不安定で倒れやすい状態になるが、本実施形態では、初期の設定回転数が第1設定回転数Ns1−nに抑えられていることで、ねじが倒れにくくなっている。
締め付け作業が進み、被材に穴が開き始めると、穴開きが進むことおよびタップが切られ始めることから、モータ20に徐々に負荷がかかり始めていく。そのため、モータ電流は徐々に増加していき、逆にモータ回転数は徐々に低下していく。そして、モータ電流が初期電流閾値I−nに達したら(時刻ta)、設定回転数が第2設定回転数Ns2−nに変更される。なお、図7中の白抜き矢印は、設定回転数が変更されたことを示している。
時刻taで設定回転数が第2設定回転数Ns2−nに切り替わると、モータ回転数はその第2設定回転数Ns2−nに向けて上昇していく。モータ電流も、ねじの締め付けが進むにつれて負荷が大きくなっていくことから、上昇していく。
そして、着座まではまだまだの状態であるものの、ねじや被材の状況等に起因してモータ20の負荷がより上昇していくと、打撃動作が始まる。打撃開始後、時刻tbにて、打撃が行われていると判定されると(図5のS250でYES)、設定回転数は第3設定回転数Ns3−nに変更(低下)される。なお、図7では、時刻tbで設定回転数がNs3−nに変更される前にモータ回転数は既にそのNs3−nよりも低い値になっているが、これは負荷増大によるものであり、コントローラ31にて設定されている設定回転数はあくまでも時刻tbにてNs2−nからNs3−nに切り替わる。
一時的な負荷増大が収まって、モータ負荷が再び低下していくと、打撃も行われなくなる。そして、時刻tcにて、打撃が行われなくなったと判定されると(図5のS280でNO)、設定回転数は再び第2設定回転数Ns2−nに変更(上昇)される。ただしこのときの上昇は、既述の通り、徐々に行われる。
その後、ねじの締め付けが着座付近まで進むと、モータ負荷は再び増加していき、やがてねじが着座して打撃が開始される。着座による打撃開始後、時刻tdにて、打撃が行われていると判定されると(図5のS250でYES)、設定回転数は再び第3設定回転数Ns3−nに変更(低下)される。そして、トリガスイッチ10がオフされるまで、その第3設定回転数Ns3−nの状態で打撃が継続される。但し、図5では図示を省略したが、トリガスイッチ10がオンされ続けることにより打撃が継続されても、その継続して行われる打撃数が設定打撃数に対応した打撃数以上となったら、モータ20の回転が停止される。
以上説明した本実施形態の電動工具1によれば、負荷が上昇していって打撃が開始されたら設定回転数を第2設定回転数Ns2−nから第3設定回転数Ns3−nに低下させるものの、その後負荷が低下したら設定回転数を再び第2設定回転数Ns2−nに上昇させる。そのため、当該電動工具1を用いてねじを締め付けることで、適切な仕上がり状態を得ることができ、且つ、締め付け作業を迅速に行うことができる。
また、モータ制御時に用いられるパラメータである、設定打撃数(小、中、大の何れか)に応じて、各閾値I−n,D−n及び各設定回転数Ns1−n,Ns2−n,Ns3−nは設定変更される。具体的には、設定打撃数が小さいほど各設定回転数および各閾値もそれぞれ小さい値に設定される。そのため、設定打撃数に応じた適切な締め付け作業が可能となる。
また、設定回転数を第3設定回転数Ns3−nから第2設定回転数Ns2−nに変更する際、直接変更せず、第3設定回転数Ns3−nから第2設定回転数Ns2−nに向けて徐々に増加させるようにしている。そのため、モータに流れる電流のオーバーシュートやモータの回転数の急変などを抑制でき、安定したモータ制御が可能となる。
なお、本実施形態では、設定打撃数を「小」、「中」、「大」の三段階に切り替え可能な構成を示したが、これはあくまでも一例であり、二段階或いは四段階以上に切り替え可能な構成としても良いし、段階的ではなく連続的に切り替え可能な構成としてもよい。
また、本実施形態では、打撃が行われているか否かの判断を、一定時間内の打撃数カウント値が打撃判定閾値D−n以上か否かに基づいて行うようにしたが、これもあくまでも一例である。例えば、1回でも打撃が検出されたら打撃が行われていると判断してもよいし、最初に打撃が検出されてから所定時間経過してもまだ打撃が検出されているならばそのことをもって打撃が行われていると判定してもよい。その場合、設定打撃数に応じてその所定時間を可変設定するようにするとよい。具体的には、設定打撃数が小さいほどその所定時間が短くなるように設定することができる。
また、本実施形態では、S250における打撃が行われていることの判断、およびS280における打撃が行われていないことの判断を、いずれも同じ打撃判定閾値D−nを用いて行ったが、異なる打撃判定閾値を用いてそれぞれ判断を行うようにしてもよい。
なお、本実施形態において、トリガスイッチ10は本発明の操作入力受付手段の一例に相当し、打撃数設定部41は本発明の設定入力受付手段の一例に相当し、打撃検出センサ27は本発明の負荷検出手段の一例に相当し、コントローラ31は本発明のモータ制御手段、通常最大回転数設定手段、低域最大回転数設定手段、最大回転数復帰手段、パラメータ設定手段、及び設定変更手段の一例に相当し、第2設定回転数Ns2−nは本発明の通常最大回転数の一例に相当し、第3設定回転数Ns3−nは本発明の低域最大回転数の一例に相当し、設定打撃数(小、中、大)は本発明の打撃力関連パラメータの一例に相当し、打撃判定閾値D−nは本発明の第1の打撃判定閾値及び第2の打撃判定閾値の一例に相当する。
[第2実施形態]
次に、第2実施形態の電動工具について説明する。本実施形態の電動工具は、第1実施形態の電動工具1と比較して、主に次の五つの点で相違する。まず一つ目の相違点は、テクス用モードに対応した伝達機構がドリルモードと同じものであること、即ち打撃動作が行われないことである。
二つ目の相違点は、テクス用モードにおいて、使用者により設定される設定トルクに応じたトルクにて締め付けが行われることである。既述の通り、使用者がトルク設定部42の操作ボタンを押し操作する毎に、設定トルクは「1」→「2」→・・・→「8」→「9」→「1」→「2」→・・・と順次切り替わる。本実施形態では、テクス用モードにおいて、その設定トルクに応じたトルクとなるようにモータ20の回転が制御される。
三つ目の相違点は、起動後に第1設定回転数Ns1−nから第2設定回転数Ns2−nへ変更する際の変更タイミングを、モータ電流ではなくモータ回転数に基づいて決めることである。具体的には、図12に示すように、起動後、モータ回転数が一旦第1設定回転数Ns1−nに到達した後に、モータ20に負荷(負荷トルク)がかかり始めてモータ回転数が低下していき、第1設定回転数Ns1−nよりも低い初期回転数閾値N−n以下になったときに(時刻ta)、設定回転数をNs1−nからNs2−nに変更する。なお、このモータ回転数が初期回転数閾値N−nになるタイミング(時刻ta)は、第1実施形態においてモータ電流が初期電流閾値I−nになるタイミングに対応している。
四つ目の相違点は、起動後に設定回転数がNs1−nからNs2−nに変更された後の、設定回転数の変更タイミングを、第1実施形態のように打撃の有無判定に基づいて決めるのではなく、モータ20の負荷トルク(以下「モータ負荷」又は単に「負荷」とも言う)に基づいて決めることである。具体的には、モータ電流を検出することでモータ負荷を間接的に検出し、そのモータ電流と、後述する各電流閾値I1−n,I2−n,I3−nとの比較結果等に基づいて、設定回転数を適宜設定変更する。
より具体的には、第1設定回転数Ns1−nから第2設定回転数Ns2−nへの変更後、負荷増大によってモータ電流が増加していき、所定の第1電流閾値I1−nに達したら、設定回転数を第2設定回転数Ns2−nから第3設定回転数Ns3−nに低下させる。
この第1電流閾値I1−nは、着座時の負荷増大を想定して設定される値である。即ち、ねじが着座したときにはモータ電流がこの第1電流閾値I1−nに達する。そのため、着座によりモータ電流が第1電流閾値I1−nに達した場合は、図12の時刻tdのように、設定回転数が第3設定回転数Ns3−nに低下されることになる。
しかし、着座までまだ遠い状態でありながら、例えばドリルねじが被材に穴を開け始めている時のように、ねじや被材の状況等によってモータ負荷が一時的に増大することがある。そこでそのように着座前でありながらモータ負荷が増大してモータ電流が第1電流閾値I1−nに達した場合も(図12の時刻tb)、設定回転数を第3設定回転数Ns3−nに低下するのである。
このように一時的な負荷増大によって設定回転数が第3設定回転数Ns3−nに変更された後、再びモータ負荷が減少して無負荷状態(負荷開放状態)又はそれに近い状態になると、モータ電流は低下していく。そこで、モータ電流が第2電流閾値I2−nを下回ったら、図12の時刻tcのように、設定回転数を再び第2設定回転数Ns2−nに変更(上昇)する。ただし、モータ電流が第2電流閾値I2−nを下回った時刻tcですぐに第3設定回転数Ns3−nから第2設定回転数Ns2−nに変更するのではなく、図12に示すように、Ns3−nからNs2−nへと徐々に上昇させていく。
そして、図12に示すように、着座によるモータ負荷増大によって時刻tdで設定回転数が再び第3設定回転数Ns3−nに低下された後、モータ電流が第3電流閾値I3−n以上の状態のまま所定の停止規定時間が経過したら、モータ20の回転が停止される。また、時刻tbで設定回転数が第3設定回転数Ns3−nに低下された後、仮にモータ電流が第3電流閾値I3−n以上の状態のまま所定の停止規定時間が経過した場合も、モータ20の回転は停止される。つまり、本実施形態では、第1電流閾値I1−nと第2電流閾値I2−nの間に第3電流閾値I3−nが設定されており、モータ電流がこの第3電流閾値I3−n以上の状態のまま停止規定時間が経過したならばモータ20の回転を停止させるようにしている。
なお、本実施形態における制御パラメータには、第1実施形態と同じ三つの設定回転数Ns1−n,Ns2−n,Ns3−nのほか、初期回転数閾値N−nと、上記各電流閾値I1−n,I2−n,I3−nがある。これら各制御パラメータは、第1実施形態と同様、コントローラ31が備えるフラッシュメモリに保存されている。
そして五つ目の相違点は、上記各制御パラメータが、設定トルク毎にそれぞれ異なる値に設定されることである。具体的には、設定トルクが小さいほど上記各制御パラメータも小さい値に設定される。
即ち、図8に示すように、第1設定回転数Ns1については、設定トルクが「9」のときは最も大きいNs1−9に設定され、設定トルクが「8」,「7」,・・・と低下するに従って、対応する第1設定回転数もNs1−8,Ns1−7,・・・と順次小さい値になっていく。そして、設定トルクが「1」のときに最も小さいNs1−1に設定される。つまり、第1設定回転数Ns1−nは、設定トルクが小さいほど(設定変数nが小さいほど)小さくなる。なお、本実施形態における「n」は、設定トルクを示す設定変数である。
第2設定回転数Ns2−n、第3設定回転数Ns3−n、初期回転数閾値N−n、第1電流閾値I1−n、第2電流閾値I2−n、および第3電流閾値I3−nについても同様であり、それぞれ、図8に示すように、設定トルクが小さいほど小さい値となる。
同じ設定トルクにおける上記各設定回転数Ns1−n,Ns2−n,Ns3−nの相互の大小関係を整理すると、Ns1−n<Ns3−n<Ns2−nである。ただし、Ns1−nとNs3−nの大小関係については、両者同じ値にしてもよいし、図8の例とは逆にNs1−n>Ns3−nとしてもよい。
また、同じ設定トルクにおける上記各電流閾値I1−n,I2−n,I3−nの大小関係については、I2−n<I3−n<I1−n、となる。
なお、第1設定回転数Ns1−nについては、設定トルク毎に異なる値とすることは必須ではない。異なる二つ又は三つの設定トルクに対して同じ値の第1設定回転数Ns1−nを設定する場合は、初期回転数閾値N−nについても、その同じ第1設定回転数Ns1−nが設定される各設定トルクに対しては同じ値の初期回転数閾値N−nを設定することができる。
初期回転数閾値N−n及び各電流閾値I1−n,I2−n,I3−nについても、設定打撃数毎に異なる値とすることは必須ではない。
また、隣り合う複数の設定トルク(例えば設定トルク「5」と「6」、或いは設定トルク「2」〜「4」など。)の各トルク値が近接している場合には、その複数の設定トルクにおいては、各閾値や各設定回転数をそれぞれ同じ値としてもよい。
次に、本実施形態のモータ制御処理について、図9〜図11を用いて説明する。但し、第1実施形態と同じ処理については詳細説明を省略する。
図9に示す本実施形態のモータ制御では、S420で設定変数n(n=1〜9)を読み込んだ後のS430の各制御パラメータの初期設定処理において、上述した各制御パラメータNs1−n,Ns2−n,Ns3−n、N−n、I1−n,I2−n,I3−nが初期設定される。即ち、フラッシュメモリに記憶されている過去の最新の設定変数nに対応した各制御パラメータが読み出され、RAM上の所定の記憶領域に記憶される。このとき、設定トルクについても同様に記憶される。
また、本実施形態では、テクス用モードにおいて打撃は行われないことから、S430の初期設定後、トリガスイッチ10がオフされている間は、S460で、使用者によるトルクの設定変更がなされたか否かを判断する。そして、トルクの設定変更がなされた場合はS470に進み、設定トルクが最小値(即ち「1」)になったか否かを判断する。
既述の通り、トルク設定部42の操作ボタンが押し操作される毎に、設定トルクは「1」→「2」→・・・→「8」→「9」→「1」→・・・と順次切り替わる。そこで、S470では、使用者により操作ボタンが押された結果、設定トルクが最小値の「1」となったか否かを判断するのである。
S470で設定トルクが最小値(「1」)と判断した場合は、S480で設定変数nを1とし、設定トルクが最小値(「1」)ではないと判断した場合はS490で現在の設定変数nに1を加えたものを新たな設定変数nとする。そしてS500で、RAMに記憶されている各制御パラメータを、新たな設定変数nに対応した値に更新する。
トリガスイッチ10がオンされたときに実行されるS450の駆動制御処理の詳細は、図10に示す通りである。図10の駆動制御処理においても、第1実施形態の駆動制御処理(図5)と同様、まず設定回転数を第1設定回転数Ns1−nに設定し(S510)、続いて初期設定回転数切替処理(S520)を行う。この初期設定回転数切替処理の詳細は図11に示す通りであるが、この図11の初期設定回転数切替処理は、図6に示した第1実施形態の初期設定回転数切替処理と一部異なっている。
即ち、図11と図6を比較して明らかなように、第1実施形態では、回転開始から初期規定時間が経過した後(図6のS370:YES)、モータ電流が初期電流閾値I−n以上になったときに(図6のS380)、設定回転数をNs2−nに変更したのに対し、本実施形態では、S730に示すように、モータ回転数が初期回転数閾値N−n以下となったときに、S740に進んで設定回転数をNs2−nに変更する。
S520の初期設定回転数切替処理の後、S530でトリガスイッチ10がオンされているか否か判断し、オンされている場合は、S540でモータ電流を検出する。そしてS550で、その検出電流が第1電流閾値I1−n以上か否か判断する。検出電流が第1電流閾値I1−n未満ならばS530に戻るが、検出電流が第1電流閾値I1−n以上ならば、S560に進み、設定回転数を第3設定回転数Ns3−nに設定変更(低下)する。
その後、S570にて時間カウンタをクリアし、S580で、時間カウンタの値が所定の停止規定時間以上になった否か判断する。時間カウンタは、クリアされる毎にゼロから経過時間をカウントしていくものである。時間カウンタの具体的構成や実現方法は種々考えられるが、本実施形態では、モータ制御処理とは別のプログラムにより実現される、いわゆるソフトウェアカウンタである。
時間カウンタ値が停止規定時間に満たない場合は、S590で再びモータ電流を検出し、S600で、その検出電流が第3電流閾値I3−n以上であるか否か判断する。ここで、検出電流が第3電流閾値I3−n以上ならば、S630に進み、トリガスイッチ10がオフされていたらS640でモータ停止、トリガスイッチ10がオンされていればS580に戻る。そのため、検出電流が第3電流閾値I3−n以上の状態のまま時間カウンタ値が停止規定時間以上になったら、S580からS640に進み、モータが停止されることになる。
一方、S600で、検出電流が第3電流閾値I3−n以上ではない(即ち第3電流閾値I3−nより小さくなった)と判断した場合は、S610で時間カウンタをクリアした上で、S620にて、検出電流が第2電流閾値I2−n以上であるか否かを判断する。ここで、検出電流がまだ第2電流閾値I2−n以上ならばS630に進むが、検出電流が第2電流閾値I2−n以上ではない(即ち第2電流閾値I2−nより小さくなった)と判断した場合は、S650に進む。
S650では、トリガスイッチ10がオフされているか否か判断し、オフされていたらS640に進んでモータ20を停止する。S650で、トリガスイッチ10がオフされていなかったら、S660〜S680の処理に進む。
このS660〜S680の処理は、基本的には、第1実施形態の図5におけるS320〜S340の処理と同じであり、設定回転数を第3設定回転数Ns3−nから第2設定回転数Ns2−nへと徐々に上昇させていく処理である。即ち、トリガスイッチ10がオンされている限り(S650:NO)、設定回転数を、第2設定回転数Ns2−nに到達するまで徐々に上昇させていく(S660〜S670)。S680で第2設定回転数Ns2−nに設定された後、着座あるいは一時的な負荷上昇によって検出電流が再び第1電流閾値I1−n以上になったら(S550:YES)、設定回転数が再び第3設定回転数Ns3−nに低下される(S560)。
なお、本実施形態では、設定トルクを「1」〜「9」の9段階に切り替え可能な構成を示したが、これはあくまでも一例であり、9段階以外の他の段階数に可変設定できる構成としても良いし、段階的ではなく連続的に切り替え可能な構成としてもよい。
以上説明した本実施形態の電動工具によれば、負荷が上昇していって一定レベル以上になったら(具体的にはモータ電流が第1電流閾値I1−n以上になったら)設定回転数を第2設定回転数Ns2−nから第3設定回転数Ns3−nに低下させるものの、その後負荷が低下したら(具体的にはモータ電流が第2電流閾値I2−nより低くなったら)設定回転数を再び第2設定回転数Ns2−nに上昇させる。そのため、当該電動工具1を用いてねじを締め付けることで、適切な仕上がり状態を得ることができ、且つ、締め付け作業を迅速に行うことができる。
また、モータ制御時に用いられるパラメータである、設定トルク(1〜9の何れか)に応じて、各閾値N−n,I1−n,I2−n,I3−n及び各設定回転数Ns1−n,Ns2−n,Ns3−nは設定変更される。具体的には、設定トルクが小さいほど各設定回転数および各閾値もそれぞれ小さい値に設定される。そのため、設定トルクに応じた適切な締め付け作業が可能となる。
なお、本実施形態において、トルク設定部42は本発明の設定入力受付手段の一例に相当し、シャント抵抗35は本発明の負荷検出手段の一例に相当し、設定トルク(1〜9)は本発明のトルク関連パラメータの一例に相当し、第1電流閾値I1−nは本発明の第1のトルク判定閾値の一例に相当し、第2電流閾値I2−nは本発明の第2のトルク判定閾値の一例に相当する。
[第3実施形態]
次に、第3実施形態の電動工具について説明する。本実施形態の電動工具は、第2実施形態の電動工具と比較して、主に次の二点で相違する。まず一つ目の相違点は、起動後に第1設定回転数Ns1−nから第2設定回転数Ns2−nへ変更する際の変更タイミングを、モータ回転数ではなく、モータ起動後の経過時間に基づいて決めることである。具体的には、図17に示すように、起動時からの経過時間が、所定の初期経過時間閾値T−nに到達したときに(時刻ta)、設定回転数をNs1−nからNs2−nに変更する。なお、この経過時間が初期経過時間閾値T−nに到達するタイミング(時刻ta)は、第1実施形態においてはモータ電流が初期電流閾値I−nになるタイミング(又はその近傍)に対応しており、第2実施形態においてはモータ回転数が初期回転数閾値N−nになるタイミング(又はその近傍)に対応している。
即ち、トリガスイッチ10をオンしてねじの締め付けを開始(モータ起動)した後、ある程度時間が経過すれば、通常の作業状態においては、ねじが被材に入り込んで安定した状態になっていることが予想される。そこで、回転開始からねじが被材に入り込むまでに通常要する時間を経験的或いは実験的に想定して、それに基づいて初期経過時間閾値T−nを設定している。
二つ目の相違点は、負荷増大により設定回転数が第2設定回転数Ns2−nから第3設定回転数Ns3−nに低下された後、負荷低下により再び第2設定回転数Ns2−nに変更された場合における、その第2設定回転数Ns2−nに再変更された後の制御内容である。
図17に示すように、時刻taで設定回転数が第1設定回転数Ns1−nから第2設定回転数Ns2−nに変更された後、一時的なモータ負荷増大によりモータ電流が上昇して第1電流閾値I1−nに達すると(時刻tb)、設定回転数は第3設定回転数Ns3−nに低下される。その後、その一時的な負荷増大がなくなってモータ電流が減少していき、第2電流閾値I2−nまで下がると(時刻tc)、設定回転数は再び第2設定回転数Ns2−nに変更される。この、時刻ta〜時刻tcまでの制御は、第3電流閾値I3−nに基づく判断がないことを除き、第2実施形態(図12参照)と同じである。時刻tcから設定回転数が徐々に第2設定回転数Ns2−nに上昇していくことについても同様である。
ここで、第2実施形態では、第3設定回転数Ns3−nから第2設定回転数Ns2−nへ切り替わった後も、モータ負荷が上昇してモータ電流が第1電流閾値I1−nに達したら再び第3設定回転数Ns3−nに切り替えたが(図12の時刻td参照)、本実施形態では、一旦第3設定回転数Ns3−nから第2設定回転数Ns2−nへ切り替わった後は(図17の時刻tc以降)、設定回転数をその第2設定回転数Ns2−nに維持する。そして、モータ電流が、第1電流閾値I1−nよりも大きい所定の停止電流閾値Iz−nに到達したときに(時刻td)、モータ20の回転を停止させる。
なお、本実施形態における制御パラメータには、第1実施形態と同じ三つの設定回転数Ns1−n,Ns2−n,Ns3−nと、第2実施形態と同じ二つの電流閾値I1−n,I2−nのほか、初期経過時間閾値T−nと、停止電流閾値Iz−nがある。そして、これら各制御パラメータが、第2実施形態と同様、設定トルク毎にそれぞれ異なる値に設定される。具体的には、設定トルクが小さいほど上記各制御パラメータも小さい値に設定される。
即ち、図13に示すように、停止電流閾値Iz−nは、設定トルクが「9」のときは最も大きいIz−9に設定され、設定トルクが「8」,「7」,・・・と低下するに従って、対応する停止電流閾値もIz−8,Iz−7,・・・と順次小さい値になっていく。そして、設定トルクが「1」のときに最も小さいIz−1に設定される。初期経過時間閾値T−nについても同様であり、設定トルクが小さいほど小さい値に設定される。各設定回転数Ns1−n,Ns2−n,Ns3−n及び各電流閾値I1−n,I2−nと、設定トルクとの関係は、第2実施形態と同じである。
なお、第1設定回転数Ns1−nについては、設定トルク毎に異なる値とすることは必須ではない。異なる二つ又は三つの設定トルクに対して同じ値の第1設定回転数Ns1−nを設定する場合は、初期経過時間閾値T−nについても、その同じ第1設定回転数Ns1−nが設定される各設定トルクに対しては同じ値の初期経過時間閾値T−nを設定することができる。
また、第2実施形態と同じく、隣り合う複数の設定トルクの各トルク値が近接している場合には、その複数の設定トルクにおいては、各閾値や各設定回転数をそれぞれ同じ値としてもよい。
初期経過時間閾値T−n及び各電流閾値I1−n,I2−n,Iz−nについても、設定打撃数毎に異なる値とすることは必須ではない。
次に、本実施形態のモータ制御処理について、図14〜図16を用いて説明する。但し、第2実施形態と同じ処理については詳細説明を省略する。
図14に示す本実施形態のモータ制御では、S820で設定変数nを読み込んだ後のS830の各制御パラメータの初期設定処理において、上述した各制御パラメータNs1−−n,Ns2−n,Ns3−n、T−n、I1−n,I2−n,Iz−nが初期設定される。即ち、フラッシュメモリに記憶されている過去の最新の設定変数nに対応した各制御パラメータが読み出され、RAM上の所定の記憶領域に記憶される。
トリガスイッチ10がオフされている間に行うS860〜S890の処理は、第2実施形態における図9のS460〜S490の処理と全く同じである。使用者により設定トルクの変更操作がなされた場合は(S860:YES)、変更後の設定トルクに応じてS880又はS890で設定変数nを更新し、S900で、その更新した設定変数nに基づいて、RAMに記憶されている各制御パラメータを設定変更する。
トリガスイッチ10がオンされたときに実行されるS850の駆動制御処理の詳細は、図15に示す通りである。図15の駆動制御処理においても、第2実施形態の駆動制御処理(図10)と同様、まず設定回転数を第1設定回転数Ns1−nに設定し(S910)、続いて初期設定回転数切替処理(S920)を行う。この初期設定回転数切替処理の詳細は図16に示す通りであるが、この図16の初期設定回転数切替処理は、図11に示した第2実施形態の初期設定回転数切替処理と一部異なっている。
即ち、図16と図11を比較して明らかなように、本実施形態では、まずS1110にて時間カウンタをクリアして、S1120の処理、即ち図11のS710と同様のトリガスイッチ10の状態判断に進む。また、第2実施形態では、モータ回転数が初期回転数閾値N−n以下になったときに(図11のS730)、設定回転数を第2設定回転数Ns2−nに変更したのに対し、本実施形態では、S1140に示すように、時間カウンタの値(即ちモータ起動後の経過時間)が初期経過時間閾値T−n以上となったときに、S1150に進んで設定回転数を第2設定回転数Ns2−nに変更する。
S920の初期設定回転数切替処理の後、S930でトリガスイッチ10がオンされているか否か判断し、オンされている場合は、S940でモータ電流を検出する。そして、モータ負荷が増大していってモータ電流が第1電流閾値I1−n以上になったら(S950:YES)、設定回転数を第3設定回転数Ns3−nに低下させ(S960)、時間カウンタをクリアする(S970)。そして、時間カウンタの値が停止規定時間以上であるか否かを判断し(S980)、停止規定時間以上になっていたら、S1020にてモータを停止させる。
S970で時間カウンタをクリアした後、その時間カウンタの値が停止規定時間に到達するまでの間は、モータ電流を検出して(S990)、その検出したモータ電流が第2電流閾値I2−n以上であるか否かを判断する(S1000)。モータ電流が第2電流閾値I2−n以上である間は、トリガスイッチ10がオンされている限り(S1010:NO)、時間カウンタの値が停止規定時間以上か否かの判断を行う(S980)。そして、第2電流閾値I2−n以上の状態が停止規定時間以上続いたら(S980:YES)、モータを停止させる(S1020)。
一方、時間カウンタの値が停止規定時間に到達する前にモータ電流が第2電流閾値I2−nより低くなった場合は(S1000:NO)、S1030〜S1060の処理にて、第2実施形態における図10のS650〜S680と同じように、設定回転数を第3設定回転数Ns3−nから第2設定回転数Ns2−nへと徐々に上昇させていく。なお、徐々に上昇させていく過程でトリガスイッチ10がオフされたら(S1030:YES)、モータを停止させる(S1020)。
設定回転数が第2設定回転数Ns2−nに上昇した後は、トリガスイッチ10がオンされている限り(S1070:YES)、モータ電流が停止電流閾値Iz−n以上になったか否かを判断する(S1080〜S1090)。そして、モータ電流が停止電流閾値Iz−n以上になったら(S1090:YES)、モータを停止させる(S1020)。
[変形例]
以上、本発明の実施の形態について説明したが、本発明の実施の形態は、上記実施形態に何ら限定されるものではなく、本発明の技術的範囲に属する限り種々の形態を採り得ることはいうまでもない。
例えば、上記第2及び第3実施形態では、モータ電流に基づいてモータ負荷を間接的に検出し、その検出値(検出電流)に基づいて設定回転数を変更したり或いはモータ20の回転を停止させるようにしたが、モータ電流以外の他の物理量に基づいてモータ負荷を検出するようにしてもよい。或いは、他の方法にてモータ負荷を直接又は間接的に検出するようにしてもよい。
モータ電流以外の物理量に基づいてモータ負荷を検出する具体例としては、例えばモータ回転数に基づく検出方法が考えられる。具体的には、図12に示すように、設定回転数が第1設定回転数Ns1−nから第2設定回転数Ns2−nへ変更されたことによりモータ回転数が第2設定回転数Ns2−nに到達した後、負荷増大によってモータ回転数が低下していき、所定の第1回転数閾値N1−n以下になったら、設定回転数を第2設定回転数Ns2−nから第3設定回転数Ns3−nに低下させる。なお、図12に括弧書きで「N1−n」と明示している通り、モータ回転数が低下していってこの第1回転数閾値N1−nに到達するタイミングは、モータ電流が上昇していって第1電流閾値I1−nに到達するタイミング(時刻tb)に対応している。
負荷が増大して設定回転数が第3設定回転数Ns3−nに変更されると、負荷の大きさにもよるが、実際のモータ回転数は、その負荷によって第3設定回転数Ns3−nよりも小さくなる。その後、再びモータ負荷が減少していって無負荷状態(負荷開放状態)又はそれに近い状態になると、モータ回転数は上昇していく。そこで、モータ回転数が所定の第2回転数閾値N2−nに到達したら、設定回転数を再び第2設定回転数Ns2−nに変更(上昇)させる。なお、図12に括弧書きで「N2−n」と明示している通り、負荷減少によりモータ回転数が上昇していって第2回転数閾値N2−nに到達するタイミングは、モータ電流が低下していって第2電流閾値I1−nに到達するタイミング(時刻tc)に対応している。
また、第2実施形態では、設定回転数を第3設定回転数Ns3−nに変更(低下)した後、モータ電流が第3電流閾値I3−n以上の状態が所定の停止規定時間以上経過したらモータ20を停止させるようにした。これに対し、モータ回転数に基づいてモータ20を停止させるようにしてもよい。例えば、モータ回転数が所定の第3回転数閾値N3−n(図12中の括弧書き参照)以下まで低下したらモータ20を停止させるようにすることができる。
そして、上記のように各回転数閾値N1−n,N2−n,N3−nを用いてモータ回転数に基づいて設定回転数を変更する場合においても、各回転数閾値N1−n,N2−n,N3−nは、設定トルクに応じて異なる値とするようにしてもよい。具体的には、設定トルクが小さいほど各回転数閾値N1−n,N2−n,N3−nもそれぞれ小さい値となるようにするとよい。
第3実施形態においても同様であり、モータ回転数に基づいて設定回転数を変更することができる。具体的には、第1回転数閾値N1−n及び第2回転数閾値N2−nについては、図17に括弧書きで示している通り、上記例と同様である。一方、モータ20を停止させる際の基準となる回転数閾値については、モータ電流が停止電流閾値Iz−nに到達する際の実際のモータ回転数を想定して停止回転数閾値Nz−nを設定し(図17の括弧書き参照)、モータ回転数がこの停止回転数閾値Nz−n以下になったらモータ20を停止させるようにするとよい。この停止回転数閾値Nz−nについても、例えば設定トルクが小さいほど小さい値となるようにするなど、設定トルクに応じて異なる値とするようにしてもよい。
また、第2実施形態では、図10に示すように、設定回転数が第2設定回転数Ns2−nに設定されている状態で、モータ電流が第1電流閾値I1−n以上になったら(S550:YES)、設定回転数を第3設定回転数Ns3−nに切り替えるようにした(S560)。これに対し、モータ電流が第1電流閾値I1−n以上になったときにすぐに第3設定回転数Ns3−nに切り替えるのではなく、第1電流閾値I1−n以上の状態が所定時間継続した場合に第3設定回転数Ns3−nに切り替えるようにしてもよい。
第3設定回転数Ns3−nから第2設定回転数Ns2−nへ切り替えるタイミングについても、図10に示した例では、モータ電流が第2電流閾値I2−nより低くなったら(S620:NO)すぐに設定回転数の微増を開始するようにしたが、第2電流閾値I2−nより低い状態が所定時間継続した場合に設定回転数の微増を開始するようにしてもよい。
そして、上記所定時間についても、設定トルクに応じて異なる値となるようにしてもよい。具体的には、設定トルクが小さいほど上記所定時間も小さい値となるようにするとよい。
また、第1実施形態では、打撃判定により設定回転数を第2設定回転数Ns2−nから第3設定回転数Ns3−nに低下させた後、打撃が行われなくなった場合は設定回転数を再び第2設定回転数Ns2−nに上昇させるようにしたが、第3設定回転数Ns3−nからの設定回転数の上昇は、必ずしも第2設定回転数Ns2−nとする必要はなく、第2設定回転数Ns2−nとは異なる設定回転数に上昇させるようにしてもよい。
第2及び第3実施形態についても、モータ負荷上昇により設定回転数を第2設定回転数Ns2−nから第3設定回転数Ns3−nに低下させた後、モータ負荷の低下により再び設定回転数を上昇させる場合、第2設定回転数Ns2−nとは異なる設定回転数に上昇させるようにしてもよい。
また、電動工具1において使用者により設定変更可能な設定値として、上述した設定打撃数及び設定トルクはあくまでも一例であり、他の設定値を設定変更できるようにしてもよい。
また、上記各実施形態では、動作モードがテクス用モードにおいて本発明を適用した例を示したが、本発明の適用はテクス用モードに限らず、他の動作モードでも適用可能である。更には、本発明の適用は、上記実施形態で例示した5モードのインパクトドライバに限らず、ねじを被材に締め付けるためのあらゆる種類の電動工具に対して適用できる。そして、本発明を適用することで、特にドリルねじのような、ねじ自ら被材に穴を開けながら締め付けられていくようなタイプのねじを締め付ける際に、良好な作業性を維持しながら迅速に締め付けを行うことができる。