(57)【要約】【課題】電動工具用装置に設けられる制御回路（ＭＣＵ）において、ウォッチドッグタイマによる計時時間を、制御回路の処理内容に応じて設定できるようにする。【解決手段】電動工具１０、バッテリパック４０等の電動工具用装置を制御する制御回路（ＭＣＵ）３０、６０には、２つのウォッチドッグタイマＷＤＴ（１）、ＷＤＴ（２）を設ける。制御回路（ＭＰＵ）は、制御プログラムの実行中、プログラムの内容（不揮発性メモリ６９への書込、消去の有無等）に応じて、少なくとも一方のＷＤＴ（１）の計時時間を設定変更することで、ＷＤＴ（１）、（２）がクリアされる処理時間が短いときに、ＷＤＴ（１）の計時時間が短くなるように設定する。また、ＷＤＴ（１）の計時時間は、ＷＤＴ（２）よりも長くする。【選択図】図１
2014155979.tif 000002
【特許請求の範囲】
【請求項１】
マイクロコントローラからなり、電動工具用バッテリの充電若しくは放電を制御する制御回路と、
時間を計時し、計時時間が第１時間に達すると前記制御回路をリセットする第１のウォッチドッグタイマと、
時間を計時し、計時時間が第２時間に達すると前記制御回路をリセットする第２のウォッチドッグタイマと、
を備え、
前記制御回路は、
所定のプログラムを実行することにより、前記第１のウォッチドッグタイマ及び前記第２のウォッチドッグタイマの計時時間を前記第１時間及び前記第２時間よりも短い時間間隔でクリアし、
しかも、実行中のプログラムの内容に応じて、前記第２のウォッチドッグタイマの動作を停止させることなく、前記第１のウォッチドッグタイマの動作を一時的に停止させて前記第１時間を設定変更することを特徴とする電動工具用装置。
【請求項２】
前記第２のウォッチドッグタイマは、前記制御回路の内部クロックにて動作することを特徴とする請求項１に記載の電動工具用装置。
【請求項３】
前記第１のウォッチドッグタイマ及び前記第２のウォッチドッグタイマは、それぞれ、前記制御回路の内部クロックにて動作し、前記第２のウォッチドッグタイマは、前記第１のウォッチドッグタイマを動作させる第１内部クロックよりも周波数の低い第２内部クロックにて動作することを特徴とする請求項１又は請求項２に記載の電動工具用装置。
【請求項４】
前記制御回路は、不揮発性メモリへの書き込みまたは消去を行うときに前記第１時間が長くなるよう、前記第１時間を設定変更することを特徴とする請求項１〜請求項３の何れか１項に記載の電動工具用装置。
【請求項５】
前記制御回路は、前記不揮発性メモリの消去回数に応じて、不揮発性メモリへの書き込みまたは消去を行うときの前記第１時間を設定することを特徴とする請求項４に記載の電動工具用装置。
【請求項６】
前記第２のウォッチドッグタイマが計時する第２時間は、前記第１のウォッチドッグタイマが計時する第１時間よりも長い時間に設定されることを特徴とする請求項１〜請求項５の何れか１項に記載の電動工具用装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電動工具用バッテリの充電若しくは放電を制御する制御回路を備えた電動工具用装置に関する。
【背景技術】
【０００２】
電動工具には、動力源であるモータを駆動制御するため、マイクロコントローラ（所謂ＭＣＵ）からなる制御回路が設けられている。そして、この種の制御回路には、制御回路自体の暴走によりモータを正常に駆動制御できなくなるのを防止するため、通常、ウォッチドッグタイマが設けられている（例えば、特許文献１参照）。
【０００３】
ウォッチドッグタイマは、所定のクロックをカウントすることで時間を計時し、その計時時間が所定時間に達すると、制御回路をリセットするよう構成されている。そして、制御回路は、プログラムの実行中、ウォッチドッグタイマが制御回路をリセットする計時時間よりも短い時間間隔で、ウォッチドッグタイマをクリアする。
【０００４】
従って、制御回路が正常動作しているときには、ウォッチドッグタイマが周期的にクリアされて、制御回路がウォッチドッグタイマによりリセットされることはない。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平５−３００７９５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで、電動工具において、制御回路は、電動工具の状態（詳しくは、モータ、バッテリの状態、使用者による操作状態等）を監視し、その監視結果に応じてモータを駆動制御し、必要に応じてモータの制御状態や電動工具の監視状態をメモリに格納する。
【０００７】
従って、制御回路がウォッチドッグタイマをクリアする時間間隔は、制御回路が実行中の処理内容によって変動する。
このため、従来、ウォッチドッグタイマによる計時時間（換言すればカウント値）には、制御回路がウォッチドッグタイマをクリアすることのできる最大処理時間に基づき、その最大処理時間よりも長い時間が設定される。
【０００８】
しかし、ウォッチドッグタイマの計時時間を、このように設定すると、モータ駆動時に制御回路が暴走した際、制御回路がリセットされるまでの時間が長くなりすぎ、モータの駆動を速やかに停止させることができない、という問題が生じる。
【０００９】
また、こうした問題は、電動工具用のバッテリパックに設けられた充・放電制御用の制御回路（ＭＣＵ）や、電動工具用バッテリの充電器に設けられた充電制御用の制御回路（ＭＣＵ）においても、同様に発生する。
【００１０】
本発明は、こうした問題に鑑みなされたものであり、電動工具、バッテリパック、充電器等の電動工具用装置に設けられる制御回路において、制御回路に設けられたウォッチドッグタイマによる計時時間を制御回路の処理内容に応じて設定できるようにすることを目的とする。
【課題を解決するための手段】
【００１１】
かかる目的を達成するためになされた請求項１に記載の電動工具用装置には、２つのウォッチドッグタイマ（第１、第２のウォッチドッグタイマ）が備えられている。そして、制御回路（つまり、ＭＣＵ）は、所定のプログラムを実行することにより、第１、第２のウォッチドッグタイマを、各ウォッチドッグタイマに設定された第１、第２時間よりも短い時間間隔でクリアする。
【００１２】
従って、本発明の電動工具用装置によれば、制御回路が暴走して第１、第２のウォッチドッグタイマをクリアできなくなったときに、第１、第２のウォッチドッグタイマの少なくとも一方が制御回路をリセットさせて、電動工具用バッテリの充電若しくは放電を停止させる。
【００１３】
また、制御回路は、実行中のプログラムの内容に応じて、第２のウォッチドッグタイマの動作を停止させることなく、第１のウォッチドッグタイマの動作を一時的に停止させて、第１のウォッチドッグタイマが計時する第１時間を設定変更する。
【００１４】
従って、本発明の電動工具用装置によれば、例えば、制御回路がメモリへのデータの書き込みを行うときと、データの書き込みを行わないときとで、第１のウォッチドッグタイマが制御回路をリセットするまでの計時時間を変更させることができるようになる。
【００１５】
よって、本発明によれば、例えば、電動工具において、バッテリからモータへの放電時（つまりモータ駆動時）に制御回路が暴走した際に、制御回路が第１のウォッチドッグタイマによってリセットされるまでの時間を、従来装置に比べて短くすることができる。
【００１６】
また、本発明の電動工具用装置によれば、制御回路が、暴走等によって、第１のウォッチドッグタイマの計時時間（第１時間）の書き換えに失敗したとしても、第２のウォッチドッグタイマは計時動作を継続する。
【００１７】
このため、本発明によれば、制御回路が暴走し、第１のウォッチドッグタイマが正常動作しなくなったとしても、制御回路を、第２のウォッチドッグタイマによりリセットさせて、電動工具におけるモータの駆動、或いは、バッテリパック若しくは充電器におけるバッテリへの充・放電、を停止させることができる。
【００１８】
ここで、第２のウォッチドッグタイマは、第１のウォッチドッグタイマが正常動作しなくなった場合に、制御回路の暴走を停止させるのに利用されることから、第１のウォッチドッグタイマに比べ、高い信頼性が要求される。
【００１９】
従って、２つのウォッチドッグタイマのうち、少なくとも、第２のウォッチドッグタイマは、請求項２に記載のように、制御回路の内部クロックにて動作するよう構成することが望ましい。
【００２０】
つまり、第２のウォッチドッグタイマを制御回路の内部クロックで動作させるようにすれば、第２のウォッチドッグタイマを外部のクロック発生源に接続する必要がないため、その接続部分で故障が発生するのを防止し、第２のウォッチドッグタイマの信頼性を向上することができる。
【００２１】
また、２つのウォッチドッグタイマを制御回路の内部クロックにて動作させる場合には、請求項３に記載のように、第２のウォッチドッグタイマは、第１のウォッチドッグタイマを動作させる第１内部クロックよりも周波数の低い第２内部クロックにて動作させるとよい。
【００２２】
つまり、ウォッチドッグタイマは、クロックをカウントすることで時間を計時するものであるため、カウントするクロックの周波数が低い程、安定動作をする。このため、制御回路の内部クロックが２種類存在するような場合には、周波数の低い方の内部クロックにて第２のウォッチドッグタイマを動作させることで、第２のウォッチドッグタイマの信頼性を高めることができる。
【００２３】
また、制御回路において、不揮発性メモリへの書き込みまたは消去を行うときには、処理時間が長くなることから、制御回路は、請求項４に記載のように構成するとよい。
すなわち、請求項４に記載の電動工具用装置において、制御回路は、不揮発性メモリへの書き込みまたは消去を行うときの第１時間が、不揮発性メモリへの書き込み及び消去を行わないときの第１時間よりも長くなるように、第１時間を設定変更する。
【００２４】
そして、このようにすれば、制御回路が不揮発性メモリへの書き込みまたは消去を行わないときに第１のウォッチドッグタイマが計時する第１時間を短くして、このとき制御回路が暴走時間した際に、制御回路を速やかにリセットさせることができるようになる。
【００２５】
なお、不揮発性メモリは、一般的に、消去を繰り返すと、書き込み・消去に要する時間が長くなる傾向がある。
このため、制御回路が、不揮発性メモリへの書き込みまたは消去を行うときに、第１のウォッチドッグタイマの第１時間を変更する際には、請求項５に記載のように、その第１時間を、不揮発性メモリの消去回数に応じて設定するように構成するとよい。
【００２６】
また、本発明の電動工具用装置において、第２のウォッチドッグタイマが計時する第２時間は、請求項６に記載のように、第１のウォッチドッグタイマが計時する第１時間よりも長い時間に設定しておくことが望ましい。
【００２７】
つまり、このようにすれば、第２のウォッチドッグタイマが計時する第２時間を、例えば、従来装置と同様に、制御回路における最大処理時間以上に設定しておくことで、第１のウォッチドッグタイマが正常動作しなくなったとしても、制御回路を確実にリセットさせることができるようになる。
【図面の簡単な説明】
【００２８】
【図１】実施形態の電動工具及びバッテリパックの回路構成を表すブロック図である。
【図２】実施形態の充電器の回路構成を表すブロック図である。
【図３】電動工具の制御回路にて実行される制御処理を表すフローチャートである。
【図４】バッテリパックの制御回路にて実行される制御処理を表すフローチャートである。
【図５】充電器の制御回路にて実行される制御処理を表すフローチャートである。
【図６】図３〜図５の制御処理にて実行されるメモリ操作準備処理を表すフローチャートである。
【図７】図３〜図５の制御処理にて実行されるＷＤＴ時間変更処理を表すフローチャートである。
【図８】ＷＤＴ時間変更処理の変形例を表すフローチャートである。
【発明を実施するための形態】
【００２９】
以下に本発明の実施形態を図面と共に説明する。
図１に示すように、本実施形態の電動工具１０は、バッテリパック４０を着脱自在に装着可能に構成されており、バッテリパック４０から電源供給を受けて動作する。
【００３０】
電動工具１０には、バッテリパック４０に接続するための端子として、バッテリ端子１２、グランド端子１４、及び、通信端子１６が備えられており、動力源として、直流モータからなる駆動モータ（以下、単にモータという）２０が備えられている。
【００３１】
電動工具１０にバッテリパック４０が装着された際、バッテリ端子１２は、バッテリパック４０のバッテリ端子４２を介してバッテリ５０の正極側に接続され、グランド端子１４は、バッテリパック４０のグランド端子４４を介してバッテリ５０の負極側に接続される。
【００３２】
また、電動工具１０内では、バッテリ端子１２は、使用者により操作されるトリガスイッチ２４を介してモータ２０の一端に接続されており、グランド端子１４は、駆動回路２２を介して、モータ２０の他端に接続されている。なお、モータ２０には、モータ２０のオフ時に誘発する逆方向の電力を回生するためのダイオード（所謂フライホイールダイオード）２６が並列接続されている。
【００３３】
電動工具１０には、トリガスイッチ２４がオン状態であるときに、上記各端子１２、１４を介してバッテリパック４０から電源供給を受け、内部回路駆動用の電源電圧（直流定電圧）を生成するレギュレータ２８と、レギュレータ２８から電源供給を受けてモータ２０を駆動制御する制御回路３０と、が備えられている。
【００３４】
制御回路３０は、ＣＰＵを中心に構成されたマイクロコントローラ（ＭＣＵ）にて構成されており、レギュレータ２８から電源供給を受けて動作する外部の発振子２９からのクロック信号、及び、制御回路３０内に設けられた発振子３４からのクロック信号により動作する。
【００３５】
また、制御回路３０には、モータ２０を駆動制御するための制御プログラムや制御データが予め格納されたＲＯＭ３６、各種データを一時的に記憶するためのＲＡＭ３８、及び、所定の制御データを保存するための不揮発性メモリ３９が設けられている。
【００３６】
また、制御回路３０には、ＣＰＵの暴走を監視するための２つのウォッチドッグタイマ（以下、ＷＤＴと記載する）３１、３２が設けられている。このうち、ＷＤＴ３１は、外部の発振子２９からのクロック信号をカウントすることにより時間を計時し、ＷＤＴ３２は、制御回路３０内の発振子３４からのクロック信号をカウントすることにより時間を計時する。
【００３７】
制御回路３０は、バッテリパック４０との間で、通信端子１６を介して通信を行うことで、バッテリパック４０からバッテリ５０の温度、バッテリ電圧、バッテリ電流等の状態を取り込み、この状態に基づきモータ２０を駆動制御する。
【００３８】
次に、バッテリパック４０は、上述したバッテリ端子４２、グランド端子４４に加えて、電動工具１０の通信端子１６に接続される通信端子４６が備えられている。
また、バッテリパック４０は、図２に示す充電器７０に装着することで、バッテリ端子４２及びグランド端子４４を介して、充電器７０側のバッテリ端子７２及びグランド端子７４に接続されて、充電器７０からバッテリ５０を充電できるようにされている。
【００３９】
また、バッテリパック４０には、充電器７０に装着した際、充電器７０の電源端子７７及び通信端子７８に接続される電源端子４７及び通信端子４８も備えられている。
バッテリパック４０は、電動工具用のバッテリ５０と、バッテリ５０への充放電を制御するための制御回路基板５２とを、合成樹脂製の容器内に収納したものである。
【００４０】
制御回路基板５２には、上記各端子４２〜４８が接続されると共に、バッテリ５０の両端、及び、バッテリ５０を構成する複数のバッテリセル同士の接続部が接続されている。
また、制御回路基板５２には、レギュレータ５３、発振子５４、温度測定回路５５、電圧測定回路５６、電流測定回路５７、充電器検出回路５９、及び、制御回路６０が実装されている。
【００４１】
レギュレータ５３は、バッテリ５０から電源供給を受けて、制御回路６０を始めとする上記各部を駆動するための電源電圧（直流定電圧）を生成するものであり、発振子５４は、制御回路６０を動作させるためのクロック信号を生成するものである。
【００４２】
また、温度測定回路５５は、バッテリ５０の温度を検出するものであり、電圧測定回路５６は、バッテリ５０の両端電圧（バッテリ電圧）及びバッテリセルの両端電圧（セル電圧）を検出するものである。
【００４３】
また、電流測定回路５７は、バッテリ５０への充電電流及びバッテリ５０からの放電電流を検出するものであり、充電器検出回路５９は、充電器７０の電源端子７７に接続される電源端子４７の電圧に基づき、バッテリパック４０が充電器７０に装着されたことを検出するものである。
【００４４】
次に、制御回路６０は、ＣＰＵを中心に構成されたマイクロコントローラ（ＭＣＵ）にて構成されており、通信端子４６を介して電動工具１０からモータ２０の駆動開始が通知されると、上記各測定回路５５、５６、５７を介してバッテリ５０の状態を監視し、異常時に電動工具１０にその旨を通知することで、モータ２０の駆動を停止させる。
【００４５】
また、制御回路６０は、充電器検出回路５９からの検出信号に基づき、バッテリパック４０が充電器７０に装着されたことを検知し、充電器７０に装着されているときには、温度測定回路５５を介してバッテリ温度を検出し、その検出結果を充電器７０に送信する。
【００４６】
そして、この制御回路６０にも、電動工具１０の制御回路３０と同様、２つのＷＤＴ６１、６２、発振子６４、ＲＯＭ６６、ＲＡＭ６８、及び、不揮発性メモリ６９が備えられている。
【００４７】
なお、２つのＷＤＴ６１、６２のうち、一方のＷＤＴ６１は、外部の発振子５４からのクロック信号をカウントすることにより時間を計時し、他方のＷＤＴ６２は、制御回路３０内の発振子６４からのクロック信号をカウントすることにより時間を計時する。
【００４８】
次に、充電器７０には、図２に示すように、バッテリパック４０が装着された際に、バッテリパック４０のバッテリ端子４２、グランド端子４４、電源端子４７及び通信端子４８にそれぞれ接続されるバッテリ端子７２、グランド端子７４、電源端子７７及び通信端子７８が備えられている。
【００４９】
また、充電器７０には、電源プラグ８１を介して商用電源から入力される交流電圧を整流・平滑する整流平滑回路８２と、整流平滑回路８２からの出力によりバッテリ５０への充電電圧及び内部回路駆動用の電源電圧（直流定電圧）Ｖｃｃをそれぞれ生成するメインコンバータ８３及びサブコンバータ８６とが備えられている。
【００５０】
そして、サブコンバータ８６にて生成された電源電圧Ｖｃｃは、充電器７０の制御回路９０を始めとする充電器７０の内部回路に供給されるだけでなく、電源端子７７を介してバッテリパック４０にも出力される。
【００５１】
また、メインコンバータ８３の出力は、バッテリ端子７２に接続されており、その接続経路（換言すればバッテリ５０への正極側の充電経路）には、充電電圧を測定するための電圧測定回路８７、及び、過電圧保護回路８５が設けられている。
【００５２】
なお、過電圧保護回路８５は、充電電圧が過大になったときに、メインコンバータ８３内のスイッチング素子をＰＷＭ制御するＰＷＭ制御ＩＣ８４に停止指令を出力することで、バッテリ５０への充電を停止させるためのものである。
【００５３】
また、グランド端子７４からメインコンバータ８３及びサブコンバータ８６に至る負極側の充電経路には、電流測定回路８８が設けられている。そして、この電流測定回路８８及び電圧測定回路８７による測定結果は、制御回路９０に入力される。なお、充電器７０には、制御回路９０に対し、外部からクロック信号を供給する発振子８９も設けられている。
【００５４】
次に、制御回路９０は、通信端子７８を介して、バッテリパック４０からバッテリ５０の状態（バッテリ温度等）を取り込み、その取り込んだバッテリ温度、及び、電流測定回路８８、電圧測定回路８７により測定された充電電流及び充電電圧に基づき、ＰＷＭ制御ＩＣ８４によるメインコンバータ８３の制御パラメータ（駆動デューティ等）を設定する。
【００５５】
そして、この制御回路９０にも、電動工具１０の制御回路３０、バッテリパック４０の制御回路６０と同様、２つのＷＤＴ９１、９２、発振子９４、ＲＯＭ９６、ＲＡＭ９８、及び、不揮発性メモリ９９が備えられている。
【００５６】
また、２つのＷＤＴ９１、９２のうち、一方のＷＤＴ９１は、外部の発振子８９からのクロック信号をカウントすることにより時間を計時し、他方のＷＤＴ９２は、制御回路９０内の発振子９４からのクロック信号をカウントすることにより時間を計時する。
【００５７】
上記のように構成された電動工具１０、バッテリパック４０及び充電器７０において、制御回路３０、６０及び９０は、メインルーチンとして、それぞれ、モータ２０の駆動制御、バッテリ５０の充放電制御（詳しくはバッテリ充・放電時の状態監視）、及び、バッテリ５０の充電制御を実行する。
【００５８】
そして、各制御回路３０、６０、９０において、メインルーチン実行時には、メインルーチンによる一連の処理を実行する度に、２つのＷＤＴ３１及び３２、６１及び６２、９１及び９２、をそれぞれクリアする。
【００５９】
なお、以下の説明では、各制御回路３０、６０、９０において、外部のクロック信号により動作するＷＤＴ３１、６１、９１を総称してＷＤＴ（１）と呼び、内部のクロック信号により動作するＷＤＴ３２、６２、９２をＷＤＴ（２）と呼ぶこととする。
【００６０】
また、各制御回路３０、６０、９０は、制御処理実行中に、不揮発性メモリ３９、６９、９９へのデータの書き込み若しくは消去を行うときと、不揮発性メモリ３９、６９、９９へのデータの書き込み若しくは消去を行わないときとで、ＷＤＴ（１）、ＷＤＴ（２）による計時時間を設定変更する。
【００６１】
すなわち、図３に示すように、電動工具１０の制御回路３０においては、レギュレータ２８から電源が投入されて、制御処理を開始すると、Ｓ１００（Ｓはステップを表す）にて、ＷＤＴ（１）及びＷＤＴ（２）（ここではＷＤＴ３１、３２）に対し、初期設定を行う。具体的には、各ＷＤＴ３１、３２の時間を設定し、タイマをスタートする。
【００６２】
次に、Ｓ１１０では、ＷＤＴ（１）、ＷＤＴ（２）をクリアする。
そして、続くＳ１２０では、トリガスイッチ２４からのスイッチ信号を確認し、続くＳ１３０にて、トリガの引いた状態を表すＡＤ変換値を取り込む。
【００６３】
次に、Ｓ１４０では、不揮発性メモリ３９へのデータの書き込み若しくは消去が必要であるか否かを判断して、必要である場合にそのための準備を行うメモリ操作準備処理を実行する。
【００６４】
そして、続くＳ１５０では、Ｓ１４０でのメモリ操作準備処理に対応して、ＷＤＴ（１）、ＷＤＴ（２）の計時時間を設定するＷＤＴ時間変更処理を実行する。
また、続くＳ１６０では、Ｓ１２０及びＳ１３０にて確認したスイッチ信号及びＡＤ変換値に基づき、モータ２０を駆動制御するモータ制御処理を実行し、続くＳ１７０にて、Ｓ１４０のメモリ操作準備処理にて設定されたメモリ操作（不揮発性メモリ３９へのデータの書き込み若しくは消去）を実行し、再度Ｓ１１０に移行する。
【００６５】
次に、図４に示すように、バッテリパック４０の制御回路６０においては、レギュレータ５３から電源が投入されて、制御処理を開始すると、Ｓ２００にて、ＷＤＴ（１）及びＷＤＴ（２）（ここではＷＤＴ６１、６２）に対し、初期設定を行う。具体的には、各ＷＤＴ６１、６２の時間を設定し、タイマをスタートする。
【００６６】
次に、Ｓ２１０では、ＷＤＴ（１）、ＷＤＴ（２）をクリアする。
そして、続くＳ２２０では、電動工具１０の制御回路３０、若しくは、充電器検出回路５９から信号が入力されているか否かを判断することにより、バッテリパック４０が電動工具１０及び充電器７０の何れかに装着されているか否かを確認する。
【００６７】
次に、Ｓ２３０では、Ｓ２２０にて確認された外部接続状態に応じて、バッテリ５０からモータ２０への放電、若しくは、充電器７０からバッテリ５０への充電、に必要な所定の充放電制御を行い、Ｓ２４０に移行する。
【００６８】
なお、Ｓ２３０において、バッテリパック４０が電動工具１０及び充電器７０の何れにも接続されていないときには、充放電制御は実施せず、そのままＳ２４０に移行する。
次に、Ｓ２４０では、図３のＳ１４０と同様、不揮発性メモリ６９へのデータの書き込み若しくは消去が必要か否かを判断して、必要である場合にそのための準備を行うメモリ操作準備処理を実行する。
【００６９】
そして、続くＳ２５０では、図３のＳ１５０と同様、Ｓ２４０でのメモリ操作準備処理に対応して、ＷＤＴ（１）、ＷＤＴ（２）の計時時間を設定するＷＤＴ時間変更処理を実行する。
【００７０】
また、続くＳ２６０では、図３のＳ１７０と同様、Ｓ２４０のメモリ操作準備処理にて設定されたメモリ操作（不揮発性メモリ６９へのデータの書き込み若しくは消去）を実行し、再度Ｓ２１０に移行する。
【００７１】
また、図５に示すように、充電器７０の制御回路９０においては、サブコンバータ８６から電源が投入されて、制御処理を開始すると、Ｓ３００にて、ＷＤＴ（１）及びＷＤＴ（２）（ここではＷＤＴ９１、９２）に対し、初期設定を行う。具体的には、各ＷＤＴ９１、９２の時間を設定し、タイマをスタートする。
【００７２】
次に、Ｓ３１０では、ＷＤＴ（１）、ＷＤＴ（２）をクリアする。
そして、続くＳ３２０では、バッテリパック４０の制御回路６０から信号が入力されているか否かを判断することにより、バッテリパック４０が充電器７０に装着されているか否かを確認し、続くＳ３３０にて、バッテリ５０への充電制御を実行した後、Ｓ３４０に移行する。
【００７３】
なお、この充電制御は、Ｓ３２０にてバッテリパック４０が装着されていると判断されているときに実行され、バッテリパック４０が装着されていない場合には、そのままＳ３４０に移行する。
【００７４】
次に、Ｓ３４０では、図３のＳ１４０、図４のＳ２４０と同様、ＲＡＭ９８の不揮発性メモリ９９へのデータの書き込み若しくは消去が必要か否かを判断して、必要である場合にそのための準備を行うメモリ操作準備処理を実行する。
【００７５】
そして、続くＳ３５０では、図３のＳ１５０、図４のＳ２５０と同様、Ｓ３４０でのメモリ操作準備処理に対応して、ＷＤＴ（１）、ＷＤＴ（２）の計時時間を設定するＷＤＴ時間変更処理を実行する。
【００７６】
また、続くＳ３６０では、図３のＳ１７０、図４のＳ２６０と同様、Ｓ３４０のメモリ操作準備処理にて設定されたメモリ操作（不揮発性メモリ９９へのデータの書き込み若しくは消去）を実行し、再度Ｓ３１０に移行する。
【００７７】
次に、図３〜図５に示す各制御処理において、Ｓ１４０、Ｓ２４０及びＳ３４０にて実行されるメモリ操作準備処理、及び、Ｓ１５０、Ｓ２５０及びＳ３５０にて実行されるＷＤＴ時間変更処理は、それぞれ、図６、及び、図７に示す手順で実行される。
【００７８】
図６に示すように、メモリ操作準備処理では、Ｓ４１０にて、不揮発性メモリ３９、６９、９９に書き込む内容（情報）があるか否かを判断し、不揮発性メモリ３９、６９、９９に書き込む内容があれば、Ｓ４２０に移行して、不揮発性メモリ３９、６９、９９に対する書込要求が既にセットされているか否かを判断する。
【００７９】
そして、Ｓ４２０にて、不揮発性メモリ３９、６９、９９への書込要求がセットされていないと判断されると、Ｓ４３０に移行して、不揮発性メモリ３９、６９、９９へ書き込むデータ（書込データ）を用意し、Ｓ４４０にて、不揮発性メモリ３９、６９、９９への書込要求をセットした後、Ｓ４５０に移行する。
【００８０】
また、Ｓ４１０にて、不揮発性メモリ３９、６９、９９に書き込む内容はないと判断された場合、若しくは、Ｓ４２０にて、書込要求は既にセットされていると判断された場合には、そのままＳ４５０に移行する。
【００８１】
Ｓ４５０では、不揮発性メモリ３９、６９、９９に書き込まれたデータを消去する必要があるか否かを判断し、データを消去する必要がなければ、当該メモリ操作準備処理を終了する。
【００８２】
一方、Ｓ４５０にて、不揮発性メモリ３９、６９、９９に書き込まれたデータを消去する必要があると判断された場合、Ｓ４６０にて、不揮発性メモリ３９、６９、９９の消去要求が既にセットされているか否かを判断し、消去要求がセットされていなければ、当該メモリ操作準備処理を終了する。
【００８３】
また、Ｓ４６０にて、不揮発性メモリ３９、６９、９９の消去要求はセットされていないと判断されると、Ｓ４７０に移行して、不揮発性メモリ３９、６９、９９の消去回数をカウントする消去回数カウンタをインクリメントすることで、メモリ消去回数をカウント（記憶）する。
【００８４】
そして、続くＳ４８０では、不揮発性メモリ３９、６９、９９の消去要求をセットし、当該メモリ操作準備処理を終了する。
なお、図３〜図５に示す各制御処理において、Ｓ１７０、Ｓ２６０若しくはＳ３６０にて実行されるメモリ操作実行処理では、不揮発性メモリ３９、６９、９９への書込要求がセットされていれば、上記Ｓ４３０にて用意された書込みデータを、不揮発性メモリ３９、６９、９９に書き込み、書込要求をクリアする。
【００８５】
また、不揮発性メモリ３９、６９、９９の消去要求がセットされていれば、不揮発性メモリ３９、６９、９９に書き込まれているデータを消去し、消去要求をクリアする。
次に、図７に示すように、ＷＤＴ時間変更処理では、まずＳ５１０にて、上記Ｓ４７０にてカウントアップされる不揮発性メモリ３９、６９、９９の消去回数を読み込み、その消去回数に応じて、ＷＤＴ（１）、ＷＤＴ（２）による計時時間を補正するための補正時間を設定する。
【００８６】
なお、この補正時間は、不揮発性メモリ３９、６９、９９の消去回数が増加するにつれて不揮発性メモリ３９、６９、９９へのデータの書き込み、若しくは、データの消去に要する時間が長くなるため、データの書込時若しくは消去時にＷＤＴ（１）、ＷＤＴ（２）に計時させる時間を補正するための時間である。
【００８７】
具体的には、Ｓ５１０では、不揮発性メモリ３９、６９、９９へのデータ書込時にＷＤＴ（１）、ＷＤＴ（２）に計時させる基準時間Ｘ、Ｙを補正するための補正時間ΔＸ、ΔＹと、不揮発性メモリ３９、６９、９９のデータ消去時にＷＤＴ（１）、ＷＤＴ（２）に計時させる基準時間Ａ、Ｂを補正するための補正時間ΔＡ、ΔＢとを、それぞれ、消去回数が多いほど長くなるよう、演算、若しくは、予め設定されたテーブルを用いて設定する。
【００８８】
そして、不揮発性メモリ３９、６９、９９の最小消去時間及び最大消去時間、最小書込時間及び最大書込時間は、不揮発性メモリ３９、６９、９９のカタログ等から知ることができるので、データ消去時の補正時間ΔＡ、ΔＢ、データ書込時の補正時間ΔＸ、ΔＹは、例えば、これらの時間の基づき、下記のように設定することができる。
【００８９】
ΔＡ＝｛消去回数×（最大消去時間−最小消去時間）／１０００｝×Ｋ
ΔＢ＝｛消去回数×（最大消去時間−最小消去時間）／１０００｝×Ｊ
ΔＸ＝｛消去回数×（最大書込時間−最小書込時間）／１０００｝×Ｋ
ΔＹ＝｛消去回数×（最大書込時間−最小書込時間）／１０００｝×Ｊ
但し、Ｋ、Ｊは、１より大きい係数であり、ＫはＪよりも大きい値に設定する。これは、不揮発性メモリ３９、６９、９９の消去回数に応じて、ＷＤＴ（２）の計時時間の補正時間を、ＷＤＴ（１）の計時時間の補正時間よりも長くすることで、後述の処理で、ＷＤＴ（１）の計時時間が、ＷＤＴ（２）の計時時間よりもより短くなるように設定するためである。
【００９０】
次に、Ｓ５２０では、不揮発性メモリ３９、６９、９９に対するデータの消去要求がセットされているか否かを判断し、消去要求がセットされていれば、Ｓ６２０に移行し、消去要求がセットされていなければ、Ｓ５３０に移行する。
【００９１】
Ｓ５３０では、不揮発性メモリ３９、６９、９９に対するデータの書込要求がセットされているか否かを判断し、書込要求がセットされていれば、Ｓ５８０に移行し、書込要求がセットされていなければ、Ｓ５４０に移行する。
【００９２】
そして、Ｓ５４０では、現在、通常ＷＤＴ設定フラグがセットされているか否かを判断し、通常ＷＤＴ設定フラグがセットされていなければ、Ｓ５５０に移行し、通常ＷＤＴ設定フラグがセットされていれば、ＷＤＴ時間変更処理を終了する。
【００９３】
次に、Ｓ５５０では、ＷＤＴ（１）の計時動作を一旦停止させて、ＷＤＴ（１）に通常時の計時時間αを設定し、その後、ＷＤＴ（１）を起動させる、といった手順で、ＷＤＴ（１）に通常時の計時時間を更新する。
【００９４】
また、続くＳ５６０では、ＷＤＴ（２）の計時動作を一旦停止させて、ＷＤＴ（２）に通常時の計時時間βを設定し、その後、ＷＤＴ（２）を起動させる、といった手順で、ＷＤＴ（２）に計時時間を更新する。
【００９５】
そして、続くＳ５７０では、通常ＷＤＴ設定フラグをセットすると共に、消去ＷＤＴ設定フラグ、及び、書込ＷＤＴ設定フラグをクリアし、ＷＤＴ時間変更処理を終了する。
なお、計時時間α、βは、不揮発性メモリ３９、６９、９９へのデータの書き込み及びデータの消去をしないときのメインルーチンの最短処理時間に基づき、例えば、最短処理時間に所定の係数を乗じることで予め設定されている。
【００９６】
また、計時時間α、βは、ＷＤＴ（１）の計時時間αがＷＤＴ（２）の計時時間βよりも短くなるよう設定されている。
次に、Ｓ５８０では、現在、書込ＷＤＴ設定フラグがセットされているか否かを判断し、書込ＷＤＴ設定フラグがセットされていなければ、Ｓ５９０に移行し、書込ＷＤＴ設定フラグがセットされていれば、ＷＤＴ時間変更処理を終了する。
【００９７】
Ｓ５９０では、ＷＤＴ（１）の計時動作を一旦停止させて、ＷＤＴ（１）に、不揮発性メモリ３９、６９、９９へのデータ書込時の計時時間「Ｘ＋ΔＸ」を設定し、その後、ＷＤＴ（１）を起動させる、といった手順で、ＷＤＴ（１）の計時時間を更新する。
【００９８】
また、続くＳ６００では、ＷＤＴ（２）の計時動作を一旦停止させて、ＷＤＴ（２）に、不揮発性メモリ３９、６９、９９へのデータ書込時の計時時間「Ｙ＋ΔＹ」を設定し、その後、ＷＤＴ（２）を起動させる、といった手順で、ＷＤＴ（２）の計時時間を設定する。
【００９９】
そして、続くＳ６１０では、通常ＷＤＴ設定フラグ、及び、消去ＷＤＴ設定フラグをクリアすると共に、書込ＷＤＴ設定フラグをセットし、ＷＤＴ時間変更処理を終了する。
なお、Ｓ５９０、Ｓ６００において、不揮発性メモリ３９、６９、９９へのデータ書込時の計時時間を設定する際に基準となる基準時間Ｘ、Ｙは、通常時の計時時間α、βに、上述した最小書込時間に基づき設定した時間を加えることにより設定されている。
【０１００】
また、このように最小書込時間に加える時間には、例えば、最小書込時間に上述した係数Ｋ、Ｊを乗じた時間を用いることで、ＷＤＴ（１）に対する時間よりも、ＷＤＴ（２）に対する時間の方が長くなるように設定されている。
【０１０１】
そして、データ書込時のＷＤＴ（１）、ＷＤＴ（２）の計時時間は、基準時間Ｘ、Ｙに、Ｓ５１０にて設定された補正時間ΔＸ、ΔＹを加えることにより設定される。
次に、Ｓ６２０では、現在、消去ＷＤＴ設定フラグがセットされているか否かを判断し、消去ＷＤＴ設定フラグがセットされていなければ、Ｓ６３０に移行し、消去ＷＤＴ設定フラグがセットされていれば、ＷＤＴ時間変更処理を終了する。
【０１０２】
Ｓ６３０では、ＷＤＴ（１）の計時動作を一旦停止させて、ＷＤＴ（１）に、不揮発性メモリ３９、６９、９９からのデータ消去時の計時時間「Ａ＋ΔＡ」を設定し、その後、ＷＤＴ（１）を起動させる、といった手順で、ＷＤＴ（１）の計時時間を更新する。
【０１０３】
また、続くＳ６４０では、ＷＤＴ（２）の計時動作を一旦停止させて、ＷＤＴ（２）に、不揮発性メモリ３９、６９、９９からのデータ消去時の計時時間「Ｂ＋ΔＢ」を設定し、その後、ＷＤＴ（２）を起動させる、といった手順で、ＷＤＴ（２）の計時時間を設定する。
【０１０４】
そして、続くＳ６５０では、通常ＷＤＴ設定フラグ、及び、書込ＷＤＴ設定フラグをクリアすると共に、消去ＷＤＴ設定フラグをセットし、ＷＤＴ時間変更処理を終了する。
なお、Ｓ６３０、Ｓ６４０において、不揮発性メモリ３９、６９、９９からのデータ消去時の計時時間を設定する際に基準となる基準時間Ａ、Ｂは、通常時の計時時間α、βに、上述した最小消去時間に基づき設定した時間を加えることにより設定されている。
【０１０５】
また、このように最小書込時間に加える時間には、例えば、最小消去時間に上述した係数Ｋ、Ｊを乗じた時間を用いることで、ＷＤＴ（１）に対する時間よりも、ＷＤＴ（２）に対する時間の方が長くなるように設定されている。
【０１０６】
そして、データ書込時のＷＤＴ（１）、ＷＤＴ（２）の計時時間は、基準時間Ｘ、Ｙに、Ｓ５１０にて設定された補正時間ΔＸ、ΔＹを加えることにより設定される。
以上説明したように、本実施形態の電動工具用装置、つまり、電動工具１０、バッテリパック４０、及び、充電器７０には、モータ２０の駆動制御、バッテリ５０への充放電制御、若しくは、バッテリ５０への充電制御を行う制御回路３０、６０、９０として、２つのＷＤＴ（１）、ＷＤＴ（２）を備えたマイクロコントローラ（ＭＣＵ）を備える。
【０１０７】
そして、各制御回路３０、６０、９０は、図７に示したＷＤＴ時間変更処理を実行することにより、不揮発性メモリ３９、６９、９９へのデータの書き込み若しくはデータの消去を行わない通常時には、不揮発性メモリ３９、６９、９９へのデータの書き込み若しくはデータの消去を行うときよりも、計時時間が短くなるように、ＷＤＴ（１）、ＷＤＴ（２）の計時時間を設定する。
【０１０８】
また、ＷＤＴ（１）及びＷＤＴ（２）の計時時間については、ＷＤＴ（１）による計時時間の方が、ＷＤＴ（２）による計時時間よりも短くなるように、設定される。
従って、本実施形態の電動工具用装置によれば、制御回路３０、６０、９０が暴走した際に、２つのＷＤＴ（１）、ＷＤＴ（２）により、制御回路３０、６０、９０をリセットさせて、制御回路３０、６０、９０の動作を停止させることができる。
【０１０９】
また、制御回路３０、６０、９０は、ＷＤＴ（１）及びＷＤＴ（２）のうち、一方のＷＤＴの計時時間を設定変更する際には、他方のＷＤＴの動作を停止させない。
このため、ＷＤＴ（１）又はＷＤＴ（２）の計時時間の更新時に、制御回路３０、６０、９０の暴走等によって、計時時間の書き換えに失敗して、ＷＤＴ（１）又はＷＤＴ（２）が正常動作しなくなったとしても、もう一方のＷＤＴ（２）又はＷＤＴ（１）にて、制御回路３０、６０、９０をリセットすることができる。
【０１１０】
また、本実施形態では、第１のウォッチドッグタイマであるＷＤＴ（１）の計時時間よりも、第２のウォッチドッグタイマであるＷＤＴ（２）の計時時間の方が長い時間に設定されることから、制御回路３０、６０、９０の暴走時に最初にリセットするのは、ＷＤＴ（１）となる。
【０１１１】
このためＷＤＴ（２）は、ＷＤＴ（１）のバックアップ用として機能し、ＷＤＴ（１）よりも信頼性が要求される。これに対し、本実施形態では、ＷＤＴ（２）を制御回路６０内の発振子６４からのクロック信号をカウントすることで、時間を計時するように構成していることから、外部の発振子５４からのクロック信号をカウントするようにした場合に比べて、ＷＤＴ（２）の信頼性を高めることができる。
【０１１２】
つまり、ＷＤＴ（２）をこのように構成すれば、ＷＤＴ（２）を外部の発振子５４からのクロック信号入力ラインに接続する必要がないため、その接続部分で故障が発生するのを防止し、ＷＤＴ（２）の信頼性を向上することができる。
【０１１３】
以上、本発明の実施形態について説明したが、本発明は、上記実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内にて、種々の態様をとることができる。
例えば、上記実施形態では、ＷＤＴ時間変更処理において、ＷＤＴ（１）の計時時間に加えて、ＷＤＴ（２）の計時時間についても、制御回路が実行する処理内容に応じて設定変更するものとして説明した。
【０１１４】
これに対し、ＷＤＴ（２）の計時時間については、メインルーチン１周期の最大時間に基づき一定の固定時間を設定しておき、ＷＤＴ時間変更処理においては、図８に示すように、ＷＤＴ（１）の計時時間だけを、設定変更するようにしてもよい。
【０１１５】
なお、この場合、ＷＤＴ（１）の計時時間については、ＷＤＴ（２）の計時時間（固定時間）よりも短い時間となるように設定する。
また、この場合、ＷＤＴ（２）については、メインルーチンの処理において、周期的にクリアするだけでなく、ＷＤＴ（１）の計時時間を設定変更したときにも、クリアするようにしてもよい。
【０１１６】
また、２つのＷＤＴ（１）、ＷＤＴ（２）については、制御回路内の発振子６４にて生成されたクロック信号をカウントするように構成してもよい。
そして、この場合、制御回路内に、周波数の異なるクロック信号を生成する発振子、若しくは、クロック制御回路が設けられている場合、信頼性の要求されるＷＤＴ（２）については、周波数の低いクロック信号をカウントするように構成するとよい。
【０１１７】
なお、これは、ウォッチドッグタイマは、カウントするクロックの周波数が低い程、安定動作をするためである。
また、上記実施形態では、２つのＷＤＴ（１）、ＷＤＴ（２）は、制御回路を構成するＭＣＵに内蔵されるものとして説明したが、制御回路（ＭＣＵ）とは別体で構成されていてもよく、或いは、一方が制御回路（ＭＣＵ）に内蔵され、他方が制御回路（ＭＣＵ）と別体で構成されていてもよい。
【０１１８】
また、図７若しくは図８に示すＷＤＴ時間変更処理において設定変更するＷＤＴ（１）、ＷＤＴ（２）の計時時間については、計算により求めるようにしても良く、予め計時時間算出用のテーブルを作成しておき、そのテーブルを参照して設定するようにしてもよい。
【符号の説明】
【０１１９】
１０…電動工具、２０…モータ、２２…駆動回路、２４…トリガスイッチ、２８，５３…レギュレータ、２９，５４，８９…発振子、３０，６０，９０…制御回路（ＭＣＵ）、３１，６１，９１…ＷＤＴ（１）、３２，６２，９２…ＷＤＴ（２）、３４，６４，９４…発振子、３６，６６，９６…ＲＯＭ、３８，６８，９８…ＲＡＭ、３９，６９，９９…不揮発性メモリ、４０…バッテリパック、５０…バッテリ、５２…制御回路基板、５５…温度測定回路、５６，８７…電圧測定回路、５７，８８…電流測定回路、５９…充電器検出回路、７０…充電器、８１…電源プラグ、８２…整流平滑回路、８３…メインコンバータ、８４…ＰＷＭ制御ＩＣ、８５…過電圧保護回路、８６…サブコンバータ。
【図１】
2014155979.tif 000003
【図２】
2014155979.tif 000004
【図３】
2014155979.tif 000005
【図４】
2014155979.tif 000006
【図５】
2014155979.tif 000007
【図６】
2014155979.tif 000008
【図７】
2014155979.tif 000009
【図８】
2014155979.tif 000010