以下、本発明の実施例を図面を用いて説明する。本実施例においては回転打撃工具の例としてオイルパルスユニットを用いたインパクトドライバを用いて説明する。また、本明細書の説明において上下及び前後の方向は、図1中に示した方向として説明する。図1は本発明の実施例に係るインパクトドライバの全体を示す断面図である。
インパクトドライバ1は、外部から電源コード2により供給される電力を利用してモータ3を駆動し、モータ3によってオイルパルスユニット4を駆動し、オイルパルスユニット4のメインシャフト24に回転力と打撃力を与えることによってドライバビットや六角ソケット等の図示しない先端工具に回転打撃力を連続的又は間欠的に伝達してねじ締め、ナット締め、ボルト締め等の締め付け作業を行う。
電源コード2により供給される電源は、直流又はAC100V等の交流であり、交流の場合はインパクトドライバ1内に図示しない整流器を設けて直流に変換した後に、モータの駆動用回路に送られる。モータ3は、内周側に永久磁石を有する回転子3bを有し、外周側に鉄心に巻かれた巻き線を有する固定子3aを有するブラシレス直流モータであって、2つのベアリング10a、10bによってその回転軸が回転可能に固定され、ハウジング6の筒状の胴体部6a内に収容される。ハウジング6は胴体部6aとハンドル部6bが一体的に、プラスチック等により製造される。モータ3の後方には、モータ3を駆動するための駆動回路基板7が配設され、この回路基板上にはFETなどの半導体素子により構成されるインバータ回路及び回転子3bの回転位置を検出するためのホール素子、ホールICなどの回転位置検出素子42が搭載される。ハウジングの胴体部6a内部の最後端には、冷却用の冷却ファンユニット17が設けられる。
胴体部6aから略直角に下方向に延びるハウジングのハンドル部6bの取り付け部付近にはトリガスイッチ8が配設され、その直下に設けられるスイッチ回路基板14によりトリガスイッチ8を引いた量に比例する信号が、モータ制御用基板9aに伝達される。ハンドル部6bの下側には、モータ制御用基板9a、回転位置検出用基板9bの2つの制御基板9が設けられる。モータ制御用基板9aには、オイルパルスユニット4における打撃の衝撃を検出するための衝撃センサ12が設けられる。衝撃センサ12の出力によって、行われた打撃の大きさを検出することができる。尚、オイルパルスユニット4における打撃の大きさを検出する手段は、衝撃センサ12だけに限られず、モータに流れる電流により衝撃の大きさを検出する手段であっても良い。
ハウジングの胴体部6a内に内蔵されたオイルパルスユニット4は、後方側のライナプレート23がモータ3の回転軸に直結され、前方側のメインシャフト24がインパクトドライバ1の出力軸として作用する。トリガスイッチ8が引かれてモータ3が起動されると、モータ3の回転力はオイルパルスユニット4に伝達される。オイルパルスユニット4の内部にはオイルが充填されていて、メインシャフト24に負荷のかかっていないとき、又は、負荷が小さい際には、オイルの抵抗のみでメインシャフト24はモータ3の回転にほぼ同期して回転する。メインシャフト24に強い負荷がかかるとメインシャフト24の回転が止まり、オイルパルスユニット4の外周側のライナのみが回転を続け、1回転に1箇所あるオイルを密閉する位置にてオイルの圧力が急激に上昇して衝撃パルスを発生し、尖塔状の強いトルクによりメインシャフト24を回転させ、メインシャフト24に大きな締付トルクが伝達される。以後、同様の打撃動作が数回繰り返され、締結対象が設定トルクで締め付けられる。メインシャフト24は、ベアリング10cによりハウジング6の胴体部6aに回転可能に固定される。本実施例のベアリング10cはボールベアリングであるが、ニードルベアリング等の他の軸受を用いることができる。
図2は、図1のオイルパルスユニット4の拡大断面図である。オイルパルスユニット4は、主に、モータ3と同期して回転する駆動部分と、先端工具が取り付けられるメインシャフト24と同期して回転する出力部分の2つの部分により構成される。モータ3と同期して回転する駆動部分は、モータ3の回転軸に直結されるライナプレート23と、その外周側で前方に延びるように固定される外径が略円柱形のライナ21及びローワプレート22を含む。メインシャフト24と同期して回転する出力部分は、メインシャフト24と、メインシャフト24の外周側に180度隔てて形成された溝にバネを介して取り付けられるブレードを含んで構成される。
メインシャフト24はローワプレート22に貫通されて、ライナ21、ライナプレート23及びローワプレート22により形成される閉空間内で回転できるように保持され、この閉空間内には、トルクを発生するためのオイル(作動油)が充填される。ローワプレート22とメインシャフト24の間にはOリング30が設けられ、ライナ21とライナプレート23の間にはOリング29が設けられ、相互間の気密性が確保される。尚、図示していないが、ライナ21にはオイルの圧力を高圧室から低圧室に逃がす図示しないリリーフバルブが設けられ、発生するオイルの最大圧力を制御し、締め付けトルクを調整することができる。
図3は図2のA−A断面であって、オイルパルスユニット4の使用状態における一回転の動きを8段階で示した断面図である。ライナ21の内部は、図3(1)に示すような4つの領域を形成するような断面を有するライナ室が形成される。メインシャフト24の外周部には、対向する2個の溝部にバネを介してブレード25a、25bが嵌挿され、ブレード25a、25bがライナ21の内面に当接するようにバネによって円周方向に付勢される。ブレード25a、25b間のメインシャフト24の外周面には軸方向に延びる二本の突条たる凸状シール面26a、26bが設けられる。ライナ21の内周面には山形状に盛り上げて成る凸状シール面27a、27bと、凸状部28a、28bが形成される。
インパクトドライバ1はボルト締め付け時において締め付けボルトの座面が着座すると、メインシャフト24に負荷がかかり、メインシャフト24、ブレード25a、25bはほぼ停止した状態になり、ライナ21だけが回転し続ける。メインシャフト24に対してライナ21が回転することに伴い、1回転に1回の衝撃パルスが発生するが、この衝撃パルス発生時においてインパクトドライバ1内は、ライナ21の内周面に形成した凸状シール面27aとメインシャフト24の外周面に形成した凸状シール面26aが接触する。同時に、凸状シール面27bと凸状シール面26bが接触する。このようにライナ21の内周面に形成した一対の凸状シール面と、メインシャフト24の外周面に形成した一対の凸状シール面がそれぞれ当接することにより、ライナ21の内部は二つの高圧室と2つの低圧室に仕切られる。そして、高圧室と低圧室との圧力差によりメインシャフト24に瞬間的な強い回転力が発生する。
次に、オイルパルスユニット4の動作手順を説明する。図3の(1)〜(8)は、ライナ21がメインシャフト24に対して相対角で1回転する状態を示した図である。トリガ8を引くことによりモータ3が回転し、これに伴いライナ21も同期して回転する。本実施例では、モータ3の回転軸にライナプレート23が直結され、同じ回転数で回転するが、この構成に限定されず、減速機構を介して接続するようにしても良い。メインシャフト24に負荷のかかっていないとき、又は、負荷が小さい時には、オイルの抵抗のみでメインシャフト24はモータ3の回転にほぼ同期して回転する。先端工具に強い負荷がかかるとメインシャフト24の回転が止まり、外側のライナ21が回転を続ける。このライナ21が回転を続ける状態を示すのが図3である。
図3の(1)は、メインシャフト24に衝撃パルスによる打撃力が発生するときの位置関係を示す図である。この(1)に示す位置が、1回転に1箇所ある“オイルを密閉する位置”である。ここでは、凸状シール面27aと26aが、シール面27bとシール面26bが、ブレード25aと凸状部28aが、ブレード25bと凸状部28bがそれぞれメインシャフト24の軸方向全域において当接し、これによりライナ21の内部空間が2つの高圧室と2つの低圧室の4室に区画される。
ここで高圧、低圧とは、内部に存在するオイルの圧力である。さらにモータ3の回転によってライナ21が回転すると、高圧室の容積は減少するためオイルは圧縮されて瞬間的に高圧が発生し、この高圧はブレード25を低圧室側に押し出す。その結果、メインシャフト24には上下のブレード25a、25bを介して瞬間的に回転力が作用して強力な回転トルクが発生する。この高圧室が形成されることにより、ブレード25a、25bを図中時計方向に回転させるような強い打撃力が作用する。図3(1)に示す位置を本明細書では「打撃位置」と呼ぶ。
図3の(2)は、打撃位置からライナ21が45度回転した状態を示す。(1)に示す打撃位置を過ぎると、凸状シール面27aと26a、凸状シール面27bとシール面26b、ブレード25aと凸状部28a、及び、ブレード25bと凸状部28bの当接状態が解除されるため、ライナ21の内部の4室に区画されていた空間が解除され、相互の空間にオイルが流れるため、回転トルクは発生せず、ライナ21はモータ3の回転によりさらに回転する。
図3の(3)は、打撃位置からライナ21が90度回転した状態を示す。この状態では、ブレード25a、25bが凸状シール面27a、27bに当接してメインシャフト24から突出しない位置まで半径方向内側まで後退するため、オイルの圧力の影響を受けず回転トルクは発生しないため、ライナ21はそのまま回転する。
図3の(4)は、打撃位置からライナ21が135度回転した状態を示す。この状態ではライナ21の内部空間は連通してオイルの圧力変化は生じないため、メインシャフトに回転トルクは発生しない。
図3の(5)は、打撃位置からライナ21が180度回転した状態を示す。この位置では、凸状シール面27bと26a、凸状シール面27bとシール面26bが接近するが、当接しない。これは、メインシャフト24に形成した凸状シール面26aと26bが、メインシャフトの軸に対して対称位置にないためである。同様にライナ21の内周に形成した凸状シール面27aと27bもメインシャフトの軸に対して対称位置にはない。従って、この位置ではオイルの影響をほとんど受けないため回転トルクはほとんど発生しない。尚、内部に充填されるオイルには粘性があり、凸状シール面27bと26a、又は、凸状シール面27aと26bが対面した際に、ほんの僅かながら高圧室が形成されるため、(2)〜(4)、(6)〜(8)と違って若干の回転トルクが生じるが、この回転トルクは締め付けには効果がない。
図3の(6)〜(8)の状態は、(2)〜(4)とほぼ同様であり、これらの状態の際は回転トルクが発生しない。(8)の状態からさらに回転すると、図3の(1)の状態に戻り、凸状シール面27aと26aが、シール面27bとシール面26bが、ブレード25aと凸状部28aが、ブレード25bと凸状部28bがそれぞれメインシャフト24の軸方向全域において当接し、これによりライナ21の内部空間が2つの高圧室と2つの低圧室の4室に区画されるため、メインシャフト24に強い回転トルクが発生する。
次に、前記モータ3の駆動制御系の構成と作用を図4に基づいて説明する。図4はモータ3の駆動制御系の構成を示すブロック図である。本実施例では、モータ3は3相のブラシレス直流モータで構成される。このブラシレス直流モータは、インナーロータ型であって、複数組のN極とS極を含む永久磁石(マグネット)を含んで構成される回転子(ロータ)3bと、スター結線された3相の固定子巻線U、V、Wからなる固定子3a(ステータ)と、回転子3bの回転位置を検出するために周方向に所定の間隔毎、例えば角度60°毎に配置された3つの回転位置検出素子42を有する。これら回転位置検出素子42からの位置検出信号に基づいて固定子巻線U、V、Wへの通電方向と時間が制御され、モータ3が回転する。
インバータ回路47は、3相ブリッジ形式に接続されたFET等の6個のスイッチング素子Q1〜Q6を含んで構成される。ブリッジ接続された6個のスイッチング素子Q1〜Q6の各ゲートは、制御信号出力回路46に接続され、6個のスイッチング素子Q1〜Q6の各ドレイン又は各ソースは、スター結線された固定子巻線U、V、Wに接続される。これによって、6個のスイッチング素子Q1〜Q6は、制御信号出力回路46から入力されたスイッチング素子駆動信号(H1〜H6の駆動信号)によってスイッチング動作を行い、インバータ回路47に印加される直流電源52を3相(U相、V相及びW相)電圧Vu、Vv、Vwとして固定子巻線U、V、Wに電力を供給する。尚、直流電源52は着脱可能に設けられる二次電池で構成しても良い。
6個のスイッチング素子Q1〜Q6の各ゲートを駆動するスイッチング素子駆動信号(3相信号)のうち、3個の負電源側スイッチング素子Q4、Q5、Q6をパルス幅変調信号(PWM信号)H4、H5、H6として供給し、演算部41によって、トリガスイッチ8の操作量(ストローク)を印加電圧設定回路49の検出信号に基づいてPWM信号のパルス幅(デューティ比)を変化させることによってモータ3への電力供給量を調整し、モータ3の起動/停止と回転速度を制御する。
ここで、PWM信号は、インバータ回路47の正電源側スイッチング素子Q1〜Q3又は負電源側スイッチング素子Q4〜Q6の何れか一方に供給され、スイッチング素子Q1〜Q3又はスイッチング素子Q4〜Q6を高速スイッチングさせることによって結果的に直流電源から各固定子巻線U、V、Wに供給する電力を制御する。尚、本実施の形態では、負電源側スイッチング素子Q4〜Q6にPWM信号が供給されるため、このPWM信号のパルス幅を制御することによって各固定子巻線U、V、Wに供給する電力を調整してモータ3の回転速度を制御することができる。
インパクトドライバ1には、モータ3の回転方向を切り替えるための正逆切替レバー51が設けられ、回転方向設定回路50は正逆切替レバー51の変化を検出するごとに、モータの回転方向を切り替えて、その制御信号を演算部41に送信する。演算部41は、図示していないが、処理プログラムとデータに基づいて駆動信号を出力するための中央処理装置(CPU)、処理プログラムや制御データを記憶するためのROM、データを一時記憶するためのRAM、タイマ等を含んで構成される。回転角度検出回路44は、複数の回転子位置検出回路43からの信号からモータ3の回転位置を示す位置信号を出力する回路である。衝撃検出回路45は、衝撃センサ12の信号を入力とし、打撃により生じた衝撃の大きさを検出して演算部41に出力する回路である。
制御部41は、回転方向設定回路50と回転子位置検出回路43の出力信号に基づいて所定のスイッチング素子Q1〜Q6を交互にスイッチングするための駆動信号を形成し、その駆動信号を制御信号出力回路46に出力する。これによって固定子巻線U、V、Wの所定の巻線に交互に通電し、回転子3bを設定された回転方向に回転させる。この場合、インバータ回路47の負電源側スイッチング素子Q4〜Q6に印加する駆動信号は、印加電圧設定回路49の出力制御信号に基づいてPWM変調信号として出力される。モータ3に供給される電流値は、電流検出回路48によって測定され、その値が演算部41にフィードバックされることにより、設定された駆動電力となるように調整される。尚、PWM信号は正電源側スイッチング素子Q1〜Q3に印加しても良い。
次に、図5を用いて回転子位置検出回路43の出力波形と、その波形を用いたモータ3の回転位置信号との関係を示す図である。モータ3は3相2極モータであり、U、V、W相用にそれぞれ60度ずつ離れた3つの位置検出素子42が設けられる。位置検出素子42からの出力信号をA/D変換した信号は、矩形波61〜63のようになり、それぞれが回転子3bの回転角にして90度毎にHighからLowに、又は、LowからHighに交互に変化する。矩形波形64はU、V、W相用の矩形波61〜63の立ち上がりエッジ又は立ち下がりエッジによって極性反転するパルス波であり、回転子3bが30度ずつ回転する毎に短い間隔の矩形波64が出現する。この矩形波は位置検出パルスとして用いられるものであり、回転子3bが360度回転すると、位置検出パルスが12個出現する。図5においては、回転子3bの位置の起点(=回転角0度、位置信号“12”)から、30度回転する毎に矩形波64がHigh状態となり、回転子3bが固定子3aに対して360度回転した時点で12個目の矩形パルスが出現する。
本実施例におけるオイルパルスユニット4は、その入力部(ライナプレート23)がモータ3の回転軸に連結されているので、回転子3bの回転角とライナ21の回転は同期しており、これらの回転角は一致する。ライナ21とメインシャフト24の回転は図3で示したように完全に同期しているわけではないが、打撃によってメインシャフト24がある角度だけ回転すると、次の打撃位置に達するまでに回転するライナ21の回転角(=回転子3bの回転角)は、(360度+打撃によって回転した回転角)となる。
図6は、オイルパルスユニット4での打撃のタイミングと、それに関連する衝撃センサの出力信号、及び、モータの回転速度との関係を示すグラフである。図6においては、横軸は時間の経過であり、3つのグラフの横軸は同じスケールで記載している。図6(1)は時間の経過と打撃時の衝撃センサの出力信号の関係を示すグラフである。衝撃センサの出力ピークは、図3(1)に示すライナ21の回転角360度の位置(主打撃位置)でパルス状に大きく出現する(矢印71、73)。また、主打撃の後にライナ21が若干逆回転し、再びライナ21が打撃位置を通過するために、僅かながら小さい出力ピーク71aが出現する。しかしながら、衝撃検出回路45で検出する出力信号の閾値N1が設定され、その閾値以下の出力ピークは無視されるので、出力ピーク71aについては演算部41での処理には用いられないので、締め付け制御の妨げにはならない。同様にして出力ピーク73aも閾値以下であるので無視される。
一方、主打撃からほぼ180度回転した位置、即ち図3(5)に示す位置において、出力ピーク72が出現する。本実施例においては、この出力ピーク72を、主打撃による主パルスに対応させて「半パルス」と称する。出力ピーク72は本来ならば締め付け管理のためには不要なものであり無視するのが好ましい。しかしながら、出力ピーク72は閾値N1を超えることが多々あり、自動的に演算部41での処理から除外するようにするのは難しい。また、出力ピーク72の存在のために、出力ピーク71、73の位置が誤って識別されるおそれがあり、インパクトドライバ1の締め付け制御においては、主打撃の出力ピーク71、73の位置を正確に識別しないと締め付け制御が正しくできない恐れがある。
そこで本実施例においては、ある出力ピーク(例えば71)から、その次に検出される出力ピーク(例えば72)の間のオイルパルスユニットの回転角度を検出し、この検出結果によってその次に検出される出力ピークが、主打撃による出力ピークか、半パルスかを識別するようにした。図6(2)のグラフは、時間と位置検出パルス74の出現タイミングを示すものである。位置検出パルス74は、モータ3及びライナ21の回転角30度毎に出現する。位置検出パルス74は、厳密には図5の64で示すような矩形波であるが、本図では簡略的に縦線で示している。図6(3)のグラフは、モータ3の回転速度を示すグラフである。
ここで注目すべき点は、主打撃における出力ピーク71の後に、打撃(矢印76)によりモータの回転数が大きく減少し、わずかながら逆回転している(矢印77)ことである。このように逆回転77が起こることにより、74aから74bに至るまでの位置検出パルスの間隔が、他の位置検出パルス間の間隔に比べて顕著に大きくなる。一方、半パルスによる出力ピーク72では、少ない力の打撃(矢印78)により僅かながらモータ3の回転速度が低下する(矢印79)。従って、出力ピーク72の出現直後の位置検出パルスの間隔(74c〜74d)が僅かながら増大する。しかし、間隔t1は間隔t2に比べて顕著に大きいので、この間隔t1、t2の大きさを順次比較することによって、出現した出力ピークが主打撃によるものか、半パルスによるものなのかを容易に識別することができる。
次に、出現した出力ピークが主打撃によるものか、半パルスによるものなのかを識別するための手順を、図7及び図8のフローチャートを用いてさらに説明する。図7及び図8に示すフローチャートは、例えば、演算部41に含まれるマイクロプロセッサが、プログラムを実行することによってソフト的に実現される。
図7において、トリガスイッチが引かれたら、モータ3の起動をすると共に、閾値N1を設定する(ステップ81)。閾値N1は、図6で説明したように衝撃検出回路45から出力される信号を演算部41が採用するか否かを判定する閾値である。次に、出現する出力ピークをカウントするためのカウンタNに0をセットすることによりクリアし、さらに、トリガ累積時間T(N)のカウンタを全クリアする(ステップ82)。
次に、演算部41は衝撃検出回路45から出力される波形をモニタして、閾値N1の出力ピークが検出されたら、トリガスイッチ8がONになってからその出力ピークが検出された時までの累積時間T(N)(但しこの場合N=0)を測定する(ステップ83)。検出された出力ピークが閾値N1以下の場合は、その出力ピークを以降の処理に用いないため、出力ピークとして不採用(ステップ85)として、ステップ83に戻る。ステップ84において、出力ピークが閾値N1より大きい場合は、演算部41は以降の処理に用いるため、その出力ピークを無条件で採用する(ステップ86)。次に、採用された出力ピークが、カット出力値(締付け材の目標締め付け出力値)に相当する大きさを超えたか否かを判定し(ステップ87)、超えている場合は締め付け完了としてモータを停止させ(ステップ98)、締め付け処理を終了する。尚、トリガスイッチ8を引いた直後の最初の出力ピークでカット出力を超えた場合は、締め付け完了したネジやボルトの2度締めである可能性が高いので、図示しないエラー処理によって作業者に警告を発するようにしても良い。
ステップ87においてカット出力を超えていない場合は、デューティ変更のためのフィードバック制御を行い、演算部41は、次の打撃時の目標出力を設定し、その目標出力で打撃が行われるようにモータ3の回転を制御する(ステップ88)。通常、打撃が行われる際には、その打撃によって目標出力に対応する出力ピークが発生されるようにモータ3の回転が制御される。例えば、最初の打撃の目標出力Tr1は、所定の初期値が設定され、その目標出力Tr1に応じた制御によって実際の打撃が行われる。実際の打撃におけるピーク出力をTとすると、そのピーク出力Tの大きさを参考にして、さらに次の目標出力Tr2が計算されて打撃が行なわれる。このように次の打撃を行うのに前回の打撃の強さを反映させて制御する制御がフィードバック制御である。フィードバック制御では、例えば、ステップ86で採用された出力ピークが目標出力よりも低い場合はデューティ比を増加させるようにし、ステップ86で採用された出力ピークが目標出力よりも高い場合はデューティ比を減少させるように制御する。
次に、カウンタNの値を1増加させて(ステップ89)、次の出力ピークをモニタする(ステップ90)。次の出力ピークが検出されたら、トリガスイッチ8がONになってからその出力ピークが検出された時までの累積時間T(N)(但しこの場合N=1)を測定する(ステップ90)。検出された出力ピークが閾値N1以下の場合は、その出力ピークを以降の処理に用いないため、出力ピークとして不採用(ステップ92)して、ステップ90に戻る。ステップ91において、出力ピークが閾値N1より大きい場合は、時間差TD(N)=T(N)−T(N−1)を算出し、同時にT(N−1)からT(N)の間の位置パルス数PN(N)をカウントする(ステップ93)。そして、演算部41は以降の処理に用いるため、その出力ピークを無条件で採用し(ステップ94)、その出力ピークの出力値がカット出力を超えたか否かを判定する(ステップ95)。カット出力を超えた場合は締め付け完了としてモータを停止させて(ステップ98)、締め付け処理を終了する。カット出力を超えていない場合は(ステップ95)、演算部41は、デューティ変更のためのフィードバック制御を行い、次の打撃時の目標出力を設定し、その目標出力で打撃が行われるようにモータ3の回転を制御する(ステップ96)。
以上のステップ81から96の処理により、演算部41はモータ3の回転を開始してから閾値N1を超えた2つの出力ピークを採用したことになる。これら採用された2つの出力ピークは、主打撃時の出力ピークによるものと、半パルスによる出力ピークの可能性があるが、この段階では各出力ピークがどちらに起因するものか判定できない。この状態を説明するのが図9である。
図9は、採用された2つの出力ピークの出現パターンの例を示すグラフであり、図9(1)は、T(0)及びT(1)で採用された2つの出力ピーク122、124がいずれも主打撃によるものを示す。最初に出現する出力ピーク121は、閾値N1以下であるためステップ85により採用されずに無視される。同様に、出力ピーク122の次に出現する出力ピーク123は、閾値N1以下であるためステップ92により採用されずに無視される。
図9(2)は、T(0)で採用された出力ピーク131が半パルスであって、T(1)で採用された出力ピーク132が主打撃時のものであることを示す。逆に、図9(3)は、T(0)で採用された出力ピーク142が主打撃時のものであって、T(1)で採用された出力ピーク143が半パルスであることを示す。
再び図7に戻り、ステップ97において演算部41は、T(N−1)からT(N)の間の位置パルス数PN(N)(ここではN=1)が9以上であるかを判断する(ステップ97)。ここで、図9(1)の状態においては、T(0)時もT(1)時の出力ピーク122、124もいずれも主打撃によるものであるため、回転角度は略360度になる。従って、PN(1)は図5で説明したように12程度となり、明らかに9以上であるためステップ97からステップ82に戻る。図9(1)の出現パターンの場合は、半パルス時のいずれの出力ピーク121、123、125が閾値N1以下であるため、閾値N1を用いるだけで有効に半パルスを除去できる。
次に、図9(2)の状態、及び、図9(3)の状態においては、T(0)時又はT(1)時の出力ピークの一方が主打撃によるものであり、他方が半パルスによるものであるため、回転角度は略180度になる。従って、PN(1)は6程度となり、明らかに9よりも小さい。その場合は、T(0)とT(1)のいずれ出力ピークが主打撃によるものなのかを判断するために、以降のステップ99(図8)に進む。
図8のステップ99において、カウンタNの値を1増加させて、次の出力ピークをモニタする(ステップ100)。出力ピークが検出されたら、トリガスイッチ8がONになってからその出力ピークが検出された時までの累積時間T(N)(例えばN=2)を測定する(ステップ100)。ステップ101において、検出された出力ピークが閾値N1以下の場合は、その出力ピークを以降の処理に用いないため出力ピークとして不採用とし(ステップ102)、ステップ100に戻る。ステップ101において、閾値N1を超えている場合は、Nが3以下であるかを判定する(ステップ103)。T(0)とT(1)時の出力ピークを検出された直後においてはN=2であるため、ステップ104に進み、T(N−1)からT(N)の間の位置パルス数PN(N)をカウントする。ここで、PN(N)が9以上である場合はステップ111に進む。このPN(N)が9以上ということは、T(N−1)とT(N)時の出力ピークは、いずれも主打撃による出力ピークものであると判断できる。尚、T(N−1)とT(N)がいずれも半パルス時による出力ピークであっても、PN(N)は12程度となるが、半パルスが2つ続けて閾値N1を超えて出現し、その間にある主打撃による出力ピークが閾値N1を超えないということは考えられないので、T(N−1)とT(N)がいずれも半パルスという可能性は除外して良い。
次にステップ103において、Nが3未満である場合は、ステップ107で時間差TD(N)=T(N)−T(N−1)を算出し、同時にT(N−1)からT(N)の間の位置パルス数PN(N)をカウントする。ここで、図9(2)、(3)の例でN=2の場合は、T(1)からT(2)までのパルス数PN(2)は6程度となる。従って、ステップ108ではNOとなって、ステップ109に進み、TD(N)がTD(N−1)より小さいか否かを判定する。
N=2で図9(2)の場合は明らかにTD(2)>TD(1)となるため、T(2)に出現した出力ピーク133は半パルスであると判定し、出力ピーク133を出力ピークであると採用しないでステップ100に戻る(ステップ107)。また、ステップ100に戻った後に、次の出力ピーク134は位置パルス数PN(2)が12程度となるため出力ピーク134はステップ111で直ちに主打撃による出力ピークであるものとして採用される。
一方、N=2で図9(3)の場合は、ステップ109において明らかにTD(2)<TD(1)となるため、T(2)に出現した出力ピーク144は主打撃によるものとして採用する(ステップ111)。次に、採用された出力ピークに対応する出力値を算出し、その値がカット出力を超えたか否かを判定し(ステップ112)、超えていなかったら、演算部41はデューティ変更のためのフィードバック制御を行いステップ99に戻る(ステップ113)。ステップ112においてカット出力を超えている場合は、締め付け完了を意味するので、モータ3の回転を停止させて処理を終了する(ステップ114)。
以上説明したように本実施例によれば、毎回の主打撃による打撃センサの出力ピークを検出し、この出力ピークに基づいてモータの回転数を制御する。これにより回転の開始段階において効果的に、主打撃による出力ピークと、半パルスによる出力ピークを識別できるので、回転打撃工具の精度の良い締め付け制御を行うことができる。また、本実施例によれば出力ピークの閾値N1の設定によって半パルスを除外できなくても主打撃によるピークパルスの出現を正確に判別できるので、回転打撃工具の回転制御及び締め付け精度の信頼性を向上させることができる。
以上、本発明を示す実施例に基づき説明したが、本発明は上述の形態に限定されるものではなく、その趣旨を逸脱しない範囲内で種々の変更が可能である。例えば、本実施例では回転打撃工具の例としてオイルパルスユニットを用いたインパクトドライバの例で説明したが、これだけに限られずに、オイルパルス、油圧式パルスを用いたインパクトレンチ、インパルスレンチ、ドライバ等の回転打撃工具においても同様に適用できる。また、上述の実施例においてはインパクト機構の駆動源として、ブラシレス直流モータを用いた例を説明したが、ブラシ付き直流モータであっても、エアモータ等のその他の駆動源による回転打撃工具であっても同様に適用できる。