(57)【特許請求の範囲】
【請求項１】
工具要素が装着される出力軸を回転駆動するモータと、
前記モータに流れるモータ電流を検出する電流検出手段と、
外部操作によって前記モータの駆動指令を入力するための操作部と、
前記モータ電流の上限値である電流閾値を設定する電流閾値設定手段と、
前記操作部の操作量に応じて前記モータを駆動すると共に、前記モータの駆動時に前記電流検出手段にて検出されたモータ電流が前記電流閾値設定手段にて設定された電流閾値に達すると前記モータの駆動を停止する制御手段と、
を備え、
前記制御手段は、
前記モータへの通電経路に設けられたスイッチング素子をデューティ駆動することで前記モータを回転させる駆動回路と、
前記操作部が操作されると、その操作量に応じて目標デューティ比を設定し、前記駆動回路が前記スイッチング素子をデューティ駆動するのに用いる駆動デューティ比を、該目標デューティ比まで徐々に増加させるデューティ比設定手段と、
を備え、
前記電流閾値設定手段は、
前記出力軸の回転トルクの上限として予め設定された設定トルクに応じて、前記電流閾値の最終値を設定すると共に、前記デューティ比設定手段にて設定される駆動デューティ比が前記目標デューティ比に向けて増加しているときには、前記電流閾値が前記最終値よりも大きい値となるように、前記電流閾値を、前記最終値よりも小さい初期値から徐々に増加させ、前記デューティ比設定手段にて設定される駆動デューティ比が前記目標デューティ比に達すると、前記電流閾値を徐々に低下させ、前記電流閾値が前記最終値に一致すると、前記電流閾値を前記最終値に固定することを特徴とする電動工具。
【請求項２】
外部操作により、前記設定トルクとして任意のトルクを設定可能なトルク設定部を備え、
前記電流閾値設定手段は、前記トルク設定部を介して設定された設定トルクに応じて、該設定トルクが大きいほど大きくなるよう、前記電流閾値を増加又は低下させる際の前記電流閾値の単位時間当たりの変化割合を変化させることを特徴とする請求項１に記載の電動工具。
【請求項３】
前記電流閾値設定手段は、前記操作部の操作量が増加すると、前記電流閾値を一時的に増加させることを特徴とする請求項１又は請求項２に記載の電動工具。
【請求項４】
前記デューティ比設定手段は、前記駆動デューティ比が前記目標デューティ比に達すると、前記モータの回転速度が前記操作部の操作量に応じて設定される目標回転速度となるように前記駆動デューティ比を更新する、回転フィードバックを行うことを特徴とする請求項１〜請求項３の何れか１項に記載の電動工具。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、モータにより回転駆動される電動工具に関する。
【背景技術】
【０００２】
電動工具には、ドライバビット等の工具要素が装着される出力軸の回転トルクが、所定の設定トルクを越えると、モータの駆動を停止するように構成された、所謂電子クラッチ式のものが知られている。
【０００３】
そして、この種の電動工具は、通常、設定トルクに応じて電流閾値を設定し、モータ電流が電流閾値に達すると、出力軸の回転トルクが設定トルクに達したと判断して、モータの駆動を停止するように構成される。
【０００４】
ところで、モータ電流Ｉｍは、電源電圧をＶ、モータ駆動時に発生する逆起電力をＥ、電機子巻線の抵抗をＲ、とすると、「Ｉｍ＝（Ｖ−Ｅ）／Ｒ」と記述することができる。そして、モータの駆動開始時は、回転子が静止した状態であることから、逆起電力Ｅ＝０となる。
【０００５】
この結果、モータの駆動開始直後には、モータ電流が一時的に電流閾値を越えてしまい、モータの駆動開始直後からモータ電流を電流閾値以下に制限するようにすると、モータの駆動を継続することができなくなる。
【０００６】
そこで、電子クラッチ式の電動工具においては、モータ電流が電流閾値を越えても、その状態が所定時間以上継続しなければ、モータの駆動を停止しないようにすることが提案されている（例えば、特許文献１参照）。
【０００７】
つまり、モータの駆動開始後、一定時間は、電子クラッチの機能を停止させることで、モータを継続して駆動できるようにするのである。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００６−２８１４０４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、モータの駆動開始時に出力軸に加わる負荷は、一定ではなく、電動工具の使用条件によって異なる。
このため、上記提案のように、モータの駆動開始後一定時間、電子クラッチの機能を停止させると、その機能停止時に、出力軸の回転トルクが著しく大きくなって、電動工具による加工対象物若しくは電動工具自体を損傷させてしまうことが考えられる。
【００１０】
例えば、電動工具が、出力軸に装着されたドライバビットによりねじを締め付ける電動ドライバである場合、モータの駆動開始によって、ねじを最初から回し始めることもあれば、締め付け対象物への締め付けが略完了したねじを増し締めすることもある。
【００１１】
そして、ねじを増し締めするときには、モータ駆動開始直後から出力軸の回転トルク（つまり、ねじの締め付けトルク）が著しく大きくなる。
従って、このような使用条件下で、モータ駆動開始後一定時間、電子クラッチの機能を停止させると、ねじを設定トルク以下の適正トルクで締め付けることができず、ねじやねじによる締め付け対象物、若しくは電動工具自体、を損傷させてしまうことがある。
【００１２】
本発明は、こうした問題に鑑みなされたものであり、電子クラッチ式の電動工具において、モータの駆動開始直後から出力軸の回転トルクを設定トルク以下に制限できるようにすることを目的とする。
【課題を解決するための手段】
【００１３】
かかる目的を達成するためになされた請求項１に記載の電動工具には、使用者がモータの駆動指令を入力するための操作部が備えられており、操作部が操作されると、制御手段が、操作部の操作量に応じて、モータを駆動する。
【００１４】
また、制御手段は、モータの駆動時に、電流検出手段にて検出されたモータ電流が、電流閾値設定手段にて設定された電流閾値に達すると、モータの駆動を停止する。
ここで、制御手段は、駆動回路とデューティ比設定手段とを備える。
【００１５】
そして、駆動回路は、モータへの通電経路に設けられたスイッチング素子をデューティ駆動することでモータを回転させる。
また、デューティ比設定手段は、操作部の操作量に応じて目標デューティ比を設定し、駆動回路がスイッチング素子をデューティ駆動するのに用いる駆動デューティ比を、その目標デューティ比まで徐々に増加させることで、モータの回転速度を上昇させる。
【００１６】
一方、電流閾値設定手段は、出力軸の回転トルクの上限として予め設定された設定トルクに応じて、電流閾値の最終値を設定し、デューティ比設定手段にて設定される駆動デューティ比が目標デューティ比に向けて増加しているときには、電流閾値が最終値よりも大きい値となるように、電流閾値を、最終値よりも小さい初期値から徐々に増加させる。
【００１７】
つまり、モータの駆動開始後、デューティ比設定手段が駆動デューティ比を増加させているとき、モータが正常回転していれば、駆動デューティ比の増加に応じて、モータ電流が増加し、回転速度も上昇する。また、このときモータに流れるモータ電流は、その後、モータの回転が安定したときのモータ電流よりも、一時的に大きくなる。
【００１８】
そこで、電流閾値設定手段は、デューティ比設定手段が駆動デューティ比を増加させているとき（換言すれば、モータの駆動開始直後の変動期間内）には、電流閾値の最大値が、変動期間経過後に設定される一定閾値（つまり最終値）よりも大きな値となるよう、電流閾値を、その最終値よりも小さい初期値から徐々に増加させるのである。
【００１９】
このため、本発明の電動工具によれば、電流閾値設定手段によって、モータ駆動開始直後の電流閾値を、モータが正常回転しているときのモータ電流の変化に対応して設定することができる。
【００２６】
よって、制御手段は、電流閾値設定手段にて設定された電流閾値とモータ電流とを比較することで、モータ駆動開始直後の起動電流の誤検出を防止しつつ、回転トルクの異常を正確に検知できるようになる。
【００２７】
また、電流閾値設定手段は、デューティ比設定手段にて設定される駆動デューティ比が目標デューティ比に達すると、電流閾値を徐々に低下させる。
【００２８】
また、電流閾値設定手段は、電流閾値を徐々に低下させることによって電流閾値が設定トルクに対応した最終値に一致すると、変動期間が経過したと判断して、電流閾値を最終値に固定する。
【００２９】
つまり、デューティ比設定手段にて設定される駆動デューティ比が目標デューティ比に達し、駆動デューティ比が目標デューティ比に固定されると、モータは加速状態から定速状態になり、モータ電流も目標デューティ比に対応した安定状態となる。
【００３０】
そこで、本発明の電動工具においては、デューティ比設定手段にて設定される駆動デューティ比が目標デューティ比に達すると、電流閾値を徐々に低下させることで、電流閾値をモータ電流に対応した値に変化させるのである。
【００３１】
従って、本発明の電動工具によれば、モータ駆動開始直後の変動領域での電流閾値を、モータの通常起動時に実際に流れるモータ電流に対応して変化させ、その電流閾値に基づき、起動電流の誤検出を防止しつつ、モータの駆動開始直後のトルク異常を正確に判定できるようになる。
【００３２】
次に、請求項２に記載の電動工具においては、外部操作により、設定トルクとして任意のトルクを設定可能なトルク設定部が備えられる。
そして、電流閾値設定手段は、トルク設定部を介して設定された設定トルクに応じて、設定トルクが大きいほど大きくなるよう、電流閾値を増加又は低下させる際の電流閾値の単位時間当たりの変化割合を変化させる。
【００３３】
このため、請求項２に記載の電動工具によれば、モータ駆動開始直後の変動領域内で、モータの駆動を停止するか否かを判定するのに用いる電流閾値を、設定トルクに応じて、設定トルクが大きいほど大きくなるように設定することができる。
【００３４】
よって、請求項２に記載の電動工具によれば、モータの駆動開始直後に出力軸の回転トルクが設定トルクを越えるのをより良好に防止することができる。
また、請求項３に記載の電動工具においては、操作部の操作量が増加すると、電流閾値設定手段が電流閾値を一時的に増加させる。
【００３５】
このため、請求項３に記載の電動工具によれば、使用者が操作部の操作量を増加させることによって、モータ電流が上昇したとき、モータ電流が電流閾値を一時的に越えて、モータの駆動が停止されるのを防止することができる。
【００３６】
また次に、請求項４に記載の電動工具においては、デューティ比設定手段にて設定される駆動デューティ比が目標デューティ比に達すると、デューティ比設定手段が、モータの回転速度が操作部の操作量に応じて設定される目標回転速度となるように駆動デューティ比を更新する、回転フィードバックを行う。
【００３７】
このため、請求項４に記載の電動工具によれば、モータの駆動開始後、駆動デューティ比が目標デューティ比に達した後は、出力軸に装着される工具要素（延いては加工対象物）を、一定の回転速度で駆動することができるようになる。
【図面の簡単な説明】
【００３８】
【図１】実施形態の電動工具の駆動系全体の構成を表すブロック図である。
【図２】コントローラにて実行される一連の制御処理を表すフローチャートである。
【図３】図２のＳ１３０にて実行されるトリガ引き量変化確認処理を表すフローチャートである。
【図４】図２のＳ１４０にて実行されるｄｕｔｙ設定処理を表すフローチャートである。
【図５】図２のＳ１５０にて実行される閾値設定処理を表すフローチャートである。
【図６】図２のＳ１６０にて実行されるモータ駆動処理を表すフローチャートである。
【図７】ｄｕｔｙ設定処理及び閾値設定処理にて設定される駆動デューティ比（ｄｕｔｙ）及び電流閾値（閾値）を表すタイムチャートである。
【図８】閾値設定処理を実行するのに用いられる閾値設定用マップを表す説明図である。
【図９】ｄｕｔｙ設定処理の変形例を表すフローチャートである。
【発明を実施するための形態】
【００３９】
以下に、本発明の実施形態を図面と共に説明する。
本実施形態の電動工具は、工具要素としての工具ビット（例えばドライバビット）が装着される出力軸を回転させることで、工具ビットを介して加工対象物に所定の加工（例えば、締め付け対象物へのねじの締め付け）を行うものである。
【００４０】
図１は、電動工具の本体ハウジング（図示せず）に収納若しくは装着されて、出力軸を回転駆動するのに用いられる駆動系全体の構成を表している。
図１に示すように、電動工具には、出力軸を回転させるモータ２０として、３相ブラシレス直流モータが備えられており、このモータ２０を駆動制御する駆動装置として、バッテリパック１０、モータ駆動回路２４、ゲート回路２８、及び、コントローラ４０が備えられている。
【００４１】
ここで、バッテリパック１０は、電動工具の本体ハウジングに着脱自在に装着可能なケース内に、直列接続された複数の二次電池セルを収納することにより構成されている。
また、モータ駆動回路２４は、バッテリパック１０から電源供給を受けて、モータ２０の各相巻線に電流を流すためのものであり、ＦＥＴからなる６つのスイッチング素子Ｑ１〜Ｑ６を備える。
【００４２】
なお、モータ駆動回路２４において、スイッチング素子Ｑ１〜Ｑ３は、モータ２０の各端子Ｕ，Ｖ，Ｗと、バッテリパック１０の正極側に接続された電源ラインとの間に、所謂ハイサイドスイッチとして設けられている。
【００４３】
また、スイッチング素子Ｑ４〜Ｑ６は、モータ２０の各端子Ｕ，Ｖ，Ｗと、バッテリパック１０の負極側に接続されたグランドラインとの間に、所謂ローサイドスイッチとして設けられている。
【００４４】
次に、ゲート回路２８は、コントローラ４０から出力された制御信号に従い、モータ駆動回路２４内のスイッチング素子Ｑ１〜Ｑ６をオン／オフさせることで、モータ２０の各相巻線に電流を流し、モータ２０を回転させるものである。
【００４５】
また、コントローラ４０は、ＣＰＵ、ＲＯＭ、ＲＡＭ、Ｉ／Ｏポート、Ａ／Ｄ変換器、タイマ等からなるワンチップマイクロコンピュータ（以下、マイコンという）にて構成されている。
【００４６】
そして、コントローラ４０は、トリガスイッチ３０からの駆動指令に従い、モータ駆動回路２４を構成するスイッチング素子Ｑ１〜Ｑ６の駆動デューティ比を設定し、その駆動デューティ比に応じた制御信号をゲート回路２８に出力することで、モータ２０を回転駆動させる。
【００４７】
なお、トリガスイッチ３０は、使用者が手動操作によって電動工具の駆動指令を入力するためのものであり、トルク設定スイッチ３６及びトルク設定表示ＬＥＤ３８と共に、電動工具の本体ハウジングに設けられている。
【００４８】
また、トリガスイッチ３０には、使用者による操作時にオン状態となるメイン接点３１と、使用者によるトリガスイッチ３０の引き量（換言すれば操作量）に応じて抵抗値が変化する摺動抵抗３２と、使用者からの回転方向の切り換え指令を受け付ける正逆接点３３とが備えられている。
【００４９】
一方、トルク設定スイッチ３６は、出力軸の回転トルク（例えば、工具ビットによる締め付けトルク）の上限を、使用者が手動操作で設定するためのものであり、コントローラ４０に接続されている。
【００５０】
また、トルク設定表示ＬＥＤ３８は、トルク設定スイッチ３６を介して設定された設定トルクを表示するためのものであり、複数のＬＥＤにて構成されている。
そして、このトルク設定表示ＬＥＤ３８もコントローラ４０に接続されており、コントローラ４０は、トルク設定スイッチ３６を構成しているＬＥＤの点灯個数若しくは点灯パターンを制御することで、設定トルクを表示させる。
【００５１】
次に、モータ２０には、モータの回転速度や回転位置を検出するための回転位置センサ２２が設けられている。また、バッテリパック１０からモータ駆動回路２４を介して形成されるモータ２０への通電経路には、モータ２０に流れたモータ電流を検出するための抵抗２６が設けられている。
【００５２】
そして、回転位置センサ２２からの検出信号及び抵抗２６によるモータ電流の検出信号は、それぞれ、コントローラ４０に入力される。
また、コントローラ４０は、マイコンにて構成されているため、一定の電源電圧Ｖｃｃを供給する必要がある。このため、電動工具の本体ハウジング内には、バッテリパック１０から電源供給を受けて一定の電源電圧Ｖｃｃ（例えば、直流５Ｖ）を生成し、コントローラ４０に供給するレギュレータ４２も設けられている。
【００５３】
次に、コントローラ４０（詳しくはＣＰＵ）が、トリガスイッチ３０からの駆動指令に従いモータ２０を回転駆動するために実行する制御処理について、図２〜図６に示すフローチャートに沿って説明する。
【００５４】
この制御処理は、レギュレータ４２からコントローラ４０に電源電圧Ｖｃｃが印加されているときに、コントローラ４０において繰り返し実行される処理である。
図２に示すように、コントローラ４０は、制御処理を開始すると、まずＳ１１０（Ｓはステップを表す）にて、トリガスイッチ３０のメイン接点３１の状態及びトルク設定スイッチ３６の操作状態を認識するスイッチ処理を実行する。
【００５５】
なお、このスイッチ処理では、トルク設定スイッチ３６の操作状態から設定トルクを認識してトルク設定表示ＬＥＤ３８に表示する。
また、スイッチ処理では、トリガスイッチ３０のメイン接点３１がオフ状態であるとき、制御に用いる各種フラグをクリアして、電流閾値を値「０」に初期化する、初期化処理も同時に実行する。
【００５６】
次に、Ｓ１２０では、トリガスイッチ３０の摺動抵抗３２の抵抗値や、モータ電流検出用の抵抗２６の両端電圧をＡ／Ｄ変換器を介して取り込み、トリガスイッチ３０の引き量（以下、トリガ引き量ともいう）及びモータ電流を認識するＡ／Ｄ変換処理を実行する。
【００５７】
そして、続くＳ１３０では、図３に示すトリガ引き量変化確認処理を実行し、続くＳ１４０では、図４に示すｄｕｔｙ設定処理を実行する。また、続くＳ１５０では、図５に示す閾値設定処理を実行し、続くＳ１６０では、図６に示すモータ駆動処理を実行する。そして、Ｓ１６０のモータ駆動処理を実行した後は、再度Ｓ１１０に移行する。
【００５８】
ここで、Ｓ１３０にて実行されるトリガ引き量変化確認処理は、Ｓ１２０にて認識したトリガ引き量が増加したか否かを判断して、トリガ引き量が増加しているときに、モータ電流の上限値である電流閾値を更新するのに用いられる補正値Ａを設定するための処理である。
【００５９】
図３に示すように、このトリガ引き量変化確認処理では、まず、Ｓ２１０にて、トリガ引き量が増加したか否かを判断し、トリガ引き量が増加していなければ、Ｓ２２０にて、電流閾値の補正値Ａとして値「０」を設定する。
【００６０】
また、Ｓ２１０にて、トリガ引き量が増加したと判断されると、Ｓ２３０に移行して、その増加量は予め設定された増加判定値よりも大きいか否かを判断し、トリガ引き量の増加量が増加判定値よりも大きくなければ、Ｓ２４０にて、電流閾値の補正値Ａとして、予め設定された所定値Ａ１をセットする。
【００６１】
なお、この値Ａ１は、固定値でもよいが、トルク設定スイッチ３６を介して設定された設定トルクに応じて、設定トルクが大きいほど大きい値となるように設定してもよい。
次に、Ｓ２３０にて、トリガ引き量の増加量が予め設定された増加判定値よりも大きいと判定されると、Ｓ２５０にて閾値減算フラグをクリアし、Ｓ２６０にて閾値一定フラグをクリアし、Ｓ２７０にて電流閾値の補正値Ａとして値「０」を設定する。
【００６２】
なお、Ｓ２５０〜Ｓ２７０の処理は、トリガ引き量の増加量が増加判定値よりも大きいときに、使用者が駆動指令を入力するためにトリガスイッチ３０を操作し直したと判断して、上記各フラグや補正値Ａを初期化するための処理である。
【００６３】
そして、上記のように、Ｓ２２０、Ｓ２４０、若しくはＳ２７０の処理が実行されると、今度は、Ｓ２８０に移行して、補正値Ａは値「０」に設定されているか否かを判断し、補正値Ａ＝０であれば、Ｓ２９０に移行する。
【００６４】
Ｓ２９０では、Ｓ２４０にて補正値Ａとして所定値Ａ１を設定してからの経過時間をカウントするのに用いられる一定時間カウンタをクリアし、Ｓ３３０に移行する。
また、Ｓ２８０にて、補正値Ａは値「０」ではないと判断されると、Ｓ３００に移行し、一定時間カウンタのカウント値から、Ｓ２４０にて補正値Ａとして所定値Ａ１が設定されてから一定時間が経過したか否かを判断する。
【００６５】
そして、Ｓ３００にて、一定時間は経過していないと判断すると、そのままＳ３３０に移行する。また、Ｓ３００にて、一定時間が経過したと判断すると、Ｓ３１０にて、補正値Ａに値「０」を設定し、Ｓ３２０にて、一定時間カウンタをクリアした後、Ｓ３３０に移行する。
【００６６】
そして、Ｓ３３０では、次回、Ｓ２１０及びＳ２３０の処理にてトリガ引き量の増加及び増加量を判断できるようにするため、今回のトリガ引き量をメモリ（ＲＡＭ）に記憶し、当該トリガ引き量変化確認処理を終了する。
【００６７】
次に、Ｓ１４０にて実行されるｄｕｔｙ設定処理は、ゲート回路２８を介してモータ駆動回路２４内の各スイッチング素子Ｑ１〜Ｑ６をデューティ駆動するのに用いられる出力デューティ比（以下、出力ｄｕｔｙと記載する）を設定するための処理である。
【００６８】
図４に示すように、このｄｕｔｙ設定処理では、まず、Ｓ４１０にて、トリガ引き量に基づき、モータ２０の回転速度をトリガ引き量に対応した回転速度に制御するための目標デューティ比（以下、目標ｄｕｔｙと記載する）を設定する。
【００６９】
次に、Ｓ４２０では、現在の出力ｄｕｔｙ（初期値：０）に、予め設定された更新値αを加えることで、出力ｄｕｔｙを増加させる、出力ｄｕｔｙの更新処理を実行する。
そして、続くＳ４３０では、Ｓ４２０にて更新された出力ｄｕｔｙが、Ｓ４１０にて設定された目標ｄｕｔｙを越えたか否かを判断し、出力ｄｕｔｙが目標ｄｕｔｙを越えていなければ、そのまま当該ｄｕｔｙ設定処理を終了する。
【００７０】
一方、Ｓ４３０にて、出力ｄｕｔｙが目標ｄｕｔｙを越えたと判断されると、Ｓ４４０に移行して、出力ｄｕｔｙとして目標ｄｕｔｙを設定した後、Ｓ４５０に移行する。そして、Ｓ４５０では、閾値減算フラグをセットし、当該ｄｕｔｙ設定処理を終了する。
【００７１】
つまり、ｄｕｔｙ設定処理では、図７に示すように、トリガ引き量に応じて目標ｄｕｔｙを設定し、出力ｄｕｔｙを目標ｄｕｔｙまで徐々に増加させる。
この結果、後述のモータ駆動処理により、ゲート回路２８及びモータ駆動回路２４を介して駆動されるモータ２０の回転速度を、トリガ引き量に対応した回転速度まで増加させることができる。
【００７２】
次に、Ｓ１５０にて実行される閾値設定処理は、モータ電流の上限値である電流閾値を設定するための処理である。そして、この閾値設定処理では、図７に示すように、モータ２０の駆動開始時（時点ｔ０）から電流閾値を設定する。
【００７３】
すなわち、図５に示すように、閾値設定処理では、まず、Ｓ５１０にて、トルク設定スイッチ３６を介して設定された設定トルクに基づき、図８に示したマップを用いて、出力軸の回転トルクを設定トルクに制限するための電流閾値の最終値を設定する。
【００７４】
なお、電流閾値の最終値は、後述の更新値β及びγと共に、図８に示したマップを用いて、設定トルクが大きい程、大きくなるように設定される。
次に、Ｓ５２０では、閾値減算フラグがクリアされているか否かを判断し、閾値減算フラグがクリアされていれば、Ｓ５３０に移行して、現在設定されている電流閾値（初期値：０）に更新値β及び補正値Ａを加えることで、電流閾値を更新（増加）し、Ｓ６００に移行する。
【００７５】
一方、Ｓ５２０にて、閾値減算フラグがクリアされていない（つまり、セットされている）と判断されると、Ｓ５４０に移行して、閾値一定フラグがクリアされているか否かを判断する。
【００７６】
そして、閾値一定フラグがクリアされていれば、Ｓ５５０に移行して、現在設定されている電流閾値から、図８に示したマップを用いて設定される更新値γを減じ、補正値Ａを加えることで、電流閾値を更新（低下）する。
【００７７】
なお、補正値Ａは、上述したトリガ引き量変化確認処理によって、引き量が増加判定値よりも小さい増加割合にて増加したときに一定時間だけ所定値Ａ１に設定されるものであり、それ以外の条件下では値「０」に設定されることから、Ｓ５３０及びＳ５５０において、電流閾値は、通常、更新値β若しくはγにて更新される。
【００７８】
また、これら更新値β及びγは、電流閾値の最終値と同様、図８に示したマップを用いて、設定トルクが大きい程大きくなるように設定されるが、その値は、電流閾値の最大値が、最終値よりも充分大きい値となるように設定される。
【００７９】
つまり、図７に示すように、電流閾値は、時点ｔ０でモータ２０の駆動を開始してから、閾値減算フラグがセットされる時点ｔ１まで、更新値βにより徐々に増加し、その後更新値γにより徐々に低下する。
【００８０】
従って、電流閾値は、閾値減算フラグがセットされる時点ｔ１で最大値となるが、電流閾値の単位時間当たりの変化割合を決定する更新値β、γは、時点ｔ１での電流閾値の最大値が、設定トルクに対応した最終値よりも大きい値となるように設定される。
【００８１】
これは、モータ２０の駆動開始後、モータ２０が正常回転するときのモータ電流の変化に対応して電流閾値を変化させることで、モータ２０の駆動開始直後にモータ電流が一時的に急上昇した際、起動電流の誤検出を防止しつつ、モータ電流から回転トルクの異常を判定できるようにするためである。
【００８２】
次に、Ｓ５６０では、Ｓ５５０にて更新された電流閾値とＳ５１０にて設定された電流閾値の最終値とを比較し、電流閾値が最終値以下になったか否かを判断する。
そして、電流閾値が最終値以下になっていれば、Ｓ５７０にて、電流閾値として最終値を設定し、Ｓ５８０にて、閾値一定フラグをセットした後、Ｓ６００に移行する。また、電流閾値が最終値以下になっていなければ、そのままＳ６００に移行する。
【００８３】
次に、Ｓ５４０にて、閾値一定フラグがクリアされていない（つまり、セットされている）と判断されると、Ｓ５９０に移行し、電流閾値として、Ｓ５１０にて設定した最終値に補正値Ａを加えた値を設定した後、Ｓ６００に移行する。
【００８４】
そして、Ｓ６００では、抵抗２６を介して検出されるモータ電流を読み込み、モータ電流が閾値電流を越えたか否かを判断する。そして、モータ電流が閾値電流を越えていなければ、そのまま当該閾値設定処理を終了する。
【００８５】
一方、Ｓ６００にて、モータ電流が閾値電流を越えたと判断されると、Ｓ６１０に移行して、現在設定されている出力ｄｕｔｙは、例えば、１０％以下の極めて低いデューティ比（低ｄｕｔｙ）であるか否かを判断する。
【００８６】
そして、Ｓ６１０にて、現在設定されている出力ｄｕｔｙは、低ｄｕｔｙであると判断された場合には、モータ２０の駆動を継続しても、出力軸の回転トルクが著しく増加することはないと考えられるので、そのまま当該閾値設定処理を終了する。
【００８７】
また、逆に、Ｓ６１０にて、現在設定されている出力ｄｕｔｙは低ｄｕｔｙではないと判断された場合には、Ｓ６２０にて締め付け完了フラグをセットした後、当該閾値設定処理を終了する。
【００８８】
次に、Ｓ１６０にて実行されるモータ駆動処理は、使用者によりトリガスイッチ３０が操作されているとき、ｄｕｔｙ設定処理にて設定された出力ｄｕｔｙに対応した制御信号をゲート回路２８に出力することで、モータ２０を回転駆動させるための処理である。
【００８９】
図６に示すように、このモータ駆動処理では、まずＳ７１０にて、トリガスイッチ３０のメイン接点３１がオン状態になっているか否か（つまり、トリガスイッチ３０が操作されているか否か）を判断する。
【００９０】
そして、Ｓ７１０にて、トリガスイッチ３０のメイン接点３１がオン状態になっていると判断されると、Ｓ７２０に移行して、閾値設定処理のＳ６２０にてセットされる締め付け完了フラグが、クリアされているか否かを判断する。
【００９１】
Ｓ７２０にて、締め付け完了フラグがクリアされていると判断されると、Ｓ７３０に移行し、ｄｕｔｙ設定処理にて設定された出力ｄｕｔｙに対応した制御信号をゲート回路２８に出力することで、モータ２０を回転駆動させ、当該モータ駆動処理を終了する。
【００９２】
一方、Ｓ７１０にて、トリガスイッチ３０のメイン接点３１がオン状態になっていないと判断されるか、或いは、Ｓ７２０にて、締め付け完了フラグがクリアされていない（つまり、セットされている）と判断された場合には、Ｓ７４０に移行する。
【００９３】
そして、Ｓ７４０では、モータ２０を回転駆動するのを停止し、ゲート回路２８及びモータ駆動回路２４を介してモータ２０に制動力を発生させる、ブレーキ処理を実行し、当該モータ駆動処理を終了する。なお、このブレーキ処理は、モータ２０の回転を停止させるのに要する一定時間だけ実施される。
【００９４】
以上説明したように、本実施形態の電動工具においては、モータ２０により回転される出力軸の回転トルクを、使用者が設定した設定トルク以下に抑えるために、モータ電流の上限値である電流閾値を設定し、モータ電流が電流閾値を越えると、モータ２０の駆動を停止する。
【００９５】
また、電流閾値によるモータ電流の制限は、従来のように、モータ２０の駆動開始後、モータ電流が安定するまでの一定時間が経過してから実施するのではなく、モータ２０の駆動開始直後から行う。
【００９６】
しかし、モータ２０の駆動開始直後は、モータ２０内で発生する逆起電力が略零となるため、モータ電流はモータ２０の通常駆動時よりも増加する。このため、モータ２０の駆動開始直後の電流閾値を、設定トルクに応じて設定すると、モータ２０の駆動開始直後にモータ電流が電流閾値を越え、モータ２０の駆動が停止されてしまう。
【００９７】
そこで、本実施形態では、図７に示すように、モータ２０の駆動開始後、モータ２０の駆動制御に用いられる出力ｄｕｔｙが増加する間（つまり時点ｔ０から時点ｔ１までの間）は、電流閾値を更新値βにて決定される一定の傾きで増加させる。
【００９８】
また、時点ｔ１以降は、電流閾値を更新値γにて決定される一定の傾きで低下させ、その電流閾値が、設定トルクに基づき設定される最終値に達すると（時点ｔ２）、電流閾値をその最終値に固定する。
【００９９】
このため、本実施形態の電動工具によれば、例えば、ねじの増し締めを行うときのように、モータ２０の駆動開始直後から、出力軸に加わる外部負荷が大きくなる条件下で、トリガスイッチ３０が大きく操作されて、出力軸の回転トルクが設定トルクを越えたとしても、そのトルク上昇を、電流閾値とモータ電流とを用いて速やかに検出し、モータ２０の駆動を停止させることができる。
【０１００】
よって、本実施形態によれば、従来の電動工具に比べて、モータ２０（延いては出力軸に装着される工具要素）を、より安全に駆動することができるようになる。
また、本実施形態では、図７に示す時点ｔ０からｔ２までの変動期間内の電流閾値を、予め設定された変動パターンに従い設定するのではなく、モータ２０の通電制御に用いられる出力ｄｕｔｙの変化に対応して設定する。
【０１０１】
このため、変動期間内の電流閾値を、モータ２０の挙動に応じて、回転トルクの異常を誤判定することのないように設定することができ、電子クラッチとしての制御精度を向上することができる。
【０１０２】
また、本実施形態では、トリガスイッチ３０の操作量であるトリガ引き量の変化を監視し、トリガ引き量の増加量が所定範囲内であるとき、電流閾値に補正値Ａを加えることで、電流閾値を一時的に増加させる。
【０１０３】
このため、本実施形態の電動工具によれば、モータ２０の回転駆動時に使用者がトリガスイッチ３０を更に引くことにより、出力ｄｕｔｙが増加し、モータ電流が上昇した場合に、モータ電流が電流閾値を越えて、モータ２０の駆動が停止されるのを防止できる。
【０１０４】
ここで、本実施形態では、抵抗２６が、本発明の電流検出手段に相当し、トリガスイッチ３０が、本発明の操作部に相当し、ゲート回路２８及びモータ駆動回路２４が、本発明の駆動回路に相当し、トルク設定スイッチ３６が、本発明のトルク設定部に相当する。
【０１０５】
また、マイコンにて構成されるコントローラ４０は、本発明の電流閾値設定手段、制御手段、デューティ比設定手段として機能する。つまり、本発明の電流閾値設定手段としての機能は、コントローラ４０にて実行される閾値設定処理により実現され、デューティ比設定手段としての機能は、コントローラ４０にて実行されるｄｕｔｙ設定処理により実現され、制御手段としての機能は、コントローラ４０にて実行されるモータ駆動処理により実現される。
【０１０６】
以上、本発明の一実施形態について説明したが、本発明は、上記実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内にて種々の態様をとることができる。
例えば、上記実施形態では、ｄｕｔｙ設定処理において、出力ｄｕｔｙが目標ｄｕｔｙに達すると、その後は、出力ｄｕｔｙが目標ｄｕｔｙに設定され、トリガ引き量が変化しなければ、モータ２０は、一定の出力ｄｕｔｙ（＝目標ｄｕｔｙ）にて制御されるようになっている。
【０１０７】
しかし、図９に示すように、ｄｕｔｙ設定処理において、出力ｄｕｔｙが目標ｄｕｔｙに達すると、その後は、Ｓ４６０、Ｓ４７０の処理を実行することで、モータ２０の回転速度を、トリガ引き量に対応した目標回転速度に制御するようにしてもよい。
【０１０８】
つまり、図９に示すｄｕｔｙ設定処理では、Ｓ４００にて、閾値減算フラグがクリアされているか否かを判断し、閾値減算フラグがクリアされていれば、図４のｄｕｔｙ設定処理と同様、Ｓ４１０〜Ｓ４５０の処理を実行する。
【０１０９】
一方、Ｓ４００にて、閾値減算フラグがクリアされていない（換言すれば、セットされている）と判断されると、出力ｄｕｔｙが目標ｄｕｔｙに達しているので、Ｓ４６０に移行し、トリガ引き量に基づき、モータ２０の目標回転速度を設定する。
【０１１０】
そして、続くＳ４７０では、回転位置センサ２２を介してモータ２０の回転速度を検出し、モータ２０の回転速度が目標回転速度となるよう出力ｄｕｔｙを増減させる、フィードバック制御を実行する。
【０１１１】
ｄｕｔｙ設定処理を、このように実行するようにすれば、モータ２０（延いては出力軸）の回転速度を、トリガ引き量に対応した一定速度に制御することができ、使用者の使い勝手を向上できる。
【０１１２】
次に、上記実施形態では、コントローラ４０はマイコンにて構成されるものとして説明したが、例えばＡＳＩＣ（Application Specific Integrated Circuits）、ＦＰＧＡ（Field Programmable Gate Array）などのプログラマブル・ロジック・デバイスで構成してもよい。
【０１１３】
また、コントローラ４０が実行する上述の制御処理は、コントローラ４０を構成するＣＰＵがプログラムを実行することにより実現される。そして、このプログラムは、コントローラ４０内のメモリ（ＲＯＭ等）に書き込まれていてもよく、或いは、コントローラ４０からデータを読み取り可能な記録媒体に記録されていてもよい。なお、記録媒体としては、持ち運び可能な半導体メモリ（例えばＵＳＢメモリ、メモリカード（登録商標）など）を使用することができる。
【０１１４】
また、上記実施形態では、モータ２０は、３相ブラシレス直流モータにて構成されるものとして説明したが、工具要素が装着される出力軸を回転駆動可能なモータであればよい。
【符号の説明】
【０１１５】
１０…バッテリパック、２０…モータ、２２…回転位置センサ、２４…モータ駆動回路、２６…抵抗、２８…ゲート回路、３０…トリガスイッチ、３１…メイン接点、３２…摺動抵抗、３３…正逆接点、３６…トルク設定スイッチ、４０…コントローラ、４２…レギュレータ。
【図１】
0005726022.tif 000002
【図２】
0005726022.tif 000003
【図３】
0005726022.tif 000004
【図４】
0005726022.tif 000005
【図５】
0005726022.tif 000006
【図６】
0005726022.tif 000007
【図７】
0005726022.tif 000008
【図８】
0005726022.tif 000009
【図９】
0005726022.tif 000010