以下に本発明の実施形態を図面と共に説明する。
[電動工具システムの構成]
本実施形態は、電動工具2、電動工具2に電力供給を行うバッテリパック4、及び、バッテリパック4への充電を行う充電器6、にて構成される電動工具システムに本発明を適用したものである。そして、これら電動工具2、バッテリパック4、及び、充電器6は、それぞれ、本発明の電動機器用装置として機能する。
図1に示すように、本実施形態の電動工具2は、バッテリパック4を着脱自在に装着可能に構成されており、バッテリパック4から電源供給を受けて動作する。
電動工具2には、バッテリパック4に接続するための端子として、バッテリ端子11、グランド端子12、及び、通信端子13、14が備えられており、動力源として、直流モータからなる駆動モータ(以下、単にモータという)21が備えられている。
電動工具2にバッテリパック4が装着された際、バッテリ端子11は、バッテリパック4のバッテリ端子31を介してバッテリ36の正極側に接続され、グランド端子12は、バッテリパック4のグランド端子32を介してバッテリ36の負極側に接続される。
また、電動工具2内では、バッテリ端子11は、使用者により操作されるトリガスイッチ23を介してモータ21の一端に接続されており、グランド端子12は、駆動回路24を介して、モータ21の他端に接続されている。なお、モータ21には、モータ21のオフ時に誘発する逆方向の電力を回生するためのダイオード(所謂フライホイールダイオード)22が並列接続されている。
電動工具2には、バッテリパック4を接続するとトリガスイッチ23のオン・オフに関係なく、バッテリパック4から電源供給を受け、内部回路駆動用の電源電圧(直流定電圧)を生成するレギュレータ28、及び、レギュレータ28から電源供給を受けてモータ21を駆動制御する制御回路20が備えられている。
制御回路20は、CPUを中心に構成されたマイクロコントローラ(MCU)にて構成されており、駆動回路24を介してモータ21を駆動制御するための制御プログラムや制御データが予め格納されたROM25、及び、各種データを一時的に記憶するためのRAM26を備える。
そして、制御回路20は、駆動回路24を介してモータ21を駆動制御する際、通信端子13、14を介してバッテリパック4内の制御回路40と通信を行うことで、バッテリパック4からバッテリ温度、バッテリ電圧、バッテリ電流を取り込み、制御に利用する。
また、制御回路20には、電動工具2の動作履歴を表す履歴情報を記憶するための不揮
発性メモリ27、及び、モータ21駆動時の制御モード(例えば、高速/低速)を設定するためのモード切り替えスイッチ29が接続されている。
なお、本実施形態で使用される不揮発性メモリ27は、後述の不揮発性メモリ45、69を含めて、データの書き換えが可能なEEPROM若しくはフラッシュメモリにて構成されている。
そして、制御回路20は、モード切り替えスイッチ29を介して使用者により設定された制御モードに従いモータ21を駆動制御し、その制御モードの切り替え時や異常検出時には、その旨を表す履歴情報を、不揮発性メモリ27に格納する。
また、電動工具2には、外部機器8に接続するための端子16、17、18、19が設けられている。
このうち、端子16、17は、バッテリ端子11及びグランド端子12にそれぞれ接続されて、バッテリパック4から外部機器8への電源供給を中継するためのものであり、端子18、19は、制御回路20を、外部機器8と通信可能に接続するためのものである。
そして、制御回路20は、端子18、19を介して外部機器8と通信を行うことで、外部機器8から現在の日時情報を取得する。
なお、外部機器8は、GPS受信機としてのGPSモジュール85、及び、標準電波受信機としての標準電波受信モジュール86を備えた携帯通信端末(例えば、携帯電話、スマートフォン等)である。
外部機器8は、電動工具2や後述の充電器6(図2参照)に対し、端子81、82、83、84を介して接続可能である。
そして、外部機器8には、端子81、82を介して、電動工具2若しくは充電器6からの供給電力を取り込み、内部回路駆動用の電源電圧を生成するレギュレータ87、及び、レギュレータ87にて生成された電源電圧を受けて動作する制御回路90が備えられている。
この制御回路90は、電動工具2の制御回路20と同様、MCUにて構成されており、ROM88及びRAM89を備える。そして、制御回路90は、端子83、84を介して、電動工具2の制御回路20や充電器6内の制御回路70(図2参照)との間で通信を行い、GPSモジュール85や標準電波受信モジュール86を介して得られる現在の日時を表す日時情報を提供する。
次に、バッテリパック4には、上述したバッテリ端子31、グランド端子32に加えて、通信端子33、34が備えられている。
この通信端子33、34は、バッテリパック4を電動工具2若しくは充電器6に装着した際、電動工具2の通信端子13、14若しくは充電器6の通信端子53、54(図2参照)に接続される。
従って、バッテリパック4内の制御回路40は、通信端子33、34を介して、電動工具2内の制御回路20若しくは充電器6内の制御回路70との間で通信が可能である。
なお、バッテリパック4内の制御回路40と、電動工具2若しくは充電器6の制御回路20、70との間の通信は、バッテリパック4がスレーブ、電動工具2若しくは充電器6がマスタとなり、電動工具2若しくは充電器6の制御の下に行われる。
また、バッテリパック4は、図2に示す充電器6に装着した際、バッテリ端子31及びグランド端子32が、充電器6側のバッテリ端子51及びグランド端子52に接続される
ことにより、充電器6からバッテリ36を充電できるようにされている。
また、バッテリパック4には、充電器6に装着された際に、充電器6の電源端子55に接続されて、充電器6から電源電圧Vccの供給を受ける電源端子35が設けられている。そして、この電源端子35には、充電器6からの供給電圧により、バッテリパック4が充電器6に装着されたことを検出する充電器検出回路43が接続されている。
次に、バッテリパック4内では、バッテリ36の正極側とバッテリ端子31とを接続する電源ラインに、バッテリ電圧を測定する電圧測定回路37が設けられている。また、バッテリ36の負極側とグランド端子32とを接続するグランドラインには、バッテリ36に流れるバッテリ電流(詳しくはバッテリ36への充電電流及びバッテリ36からの放電電流)を検出する電流測定回路38が設けられている。
また、バッテリパック4には、バッテリ36の温度を検出する温度測定回路39、バッテリ36から電源供給を受けて内部回路駆動用の電源電圧(直流定電圧)を生成するレギュレータ44、及び、不揮発性メモリ45も設けられている。
次に、バッテリパック4内の制御回路40は、電動工具2や外部機器8の制御回路20、90と同様、MCUにて構成されており、ROM41及びRAM42を備える。
そして、制御回路40は、通信端子33、34を介して電動工具2からモータ21の駆動開始が通知されると、電圧測定回路37、電流測定回路38、及び温度測定回路39を介して、バッテリ電圧、バッテリ電流、バッテリ温度を検出し、その検出結果を電動工具2の制御回路20に通知する。
また、制御回路40は、充電器検出回路43を介してバッテリパック4が充電器6に装着されていることを検知した際にも、上記各測定回路37〜39を介して、バッテリ電圧、バッテリ電流、バッテリ温度を検出し、充電器6の制御回路70からの要求に従い、これら検出結果を通知する。
また、制御回路40は、起動中、バッテリパック4の動作を監視し、その監視結果である動作履歴を履歴情報として不揮発性メモリ45に格納する。
次に、充電器6には、図2に示すように、バッテリパック4が装着された際に、バッテリパック4のバッテリ端子31、グランド端子32、通信端子33、34、及び電源端子35に接続される、バッテリ端子51、グランド端子52、通信端子53、54、及び電源端子55が備えられている。
また、充電器6には、電源プラグ61を介して商用電源から入力される交流電圧を整流・平滑する整流平滑回路62と、整流平滑回路62からの出力によりバッテリ36への充電電圧及び内部回路駆動用の電源電圧(直流定電圧)Vccをそれぞれ生成するメインコンバータ63及びサブコンバータ64が備えられている。
そして、サブコンバータ64にて生成された電源電圧Vccは、制御回路90を始めとする充電器6の内部回路に供給され、更に、電源端子53を介してバッテリパック4にも出力される。
また、メインコンバータ63の出力は、バッテリ端子51に接続されており、その接続経路(換言すればバッテリ36への正極側の充電経路)には、充電電圧を測定するための電圧測定回路65、及び、過電圧保護回路66が設けられている。
なお、過電圧保護回路66は、充電電圧が過大になったときに、メインコンバータ63
内のスイッチング素子をPWM制御するPWM制御IC67に停止指令を出力することで、バッテリ36への充電を停止させるためのものである。
また、グランド端子52からメインコンバータ63及びサブコンバータ64に至る負極側の充電経路には、電流測定回路68が設けられている。そして、この電流測定回路68及び電圧測定回路65による測定結果は、制御回路70に入力される。
制御回路70は、電動工具2やバッテリパック4の制御回路20、40と同様、MCUにて構成されており、ROM71及びRAM72を備える。
そして、制御回路70は、通信端子53、54を介して、バッテリパック4からバッテリ36の状態(バッテリ温度等)を取り込み、その取り込んだバッテリ状態、及び、電流測定回路68、電圧測定回路65により検出された充電電流及び充電電圧に基づき、PWM制御IC67によるメインコンバータ63の制御パラメータ(駆動デューティ等)を設定する。
また、制御回路70には、充電器6の動作履歴を表す履歴情報を記憶するための不揮発性メモリ69が接続されており、制御回路70は、バッテリ36への充電動作など、各種動作履歴を履歴情報として不揮発性メモリ69に格納する。
また、充電器6には、外部機器8に接続するための端子56、57、58、59が設けられている。
このうち、端子56、57は、バッテリ端子51及びグランド端子52にそれぞれ接続されて、バッテリパック4に供給する充電電圧を外部機器8にも供給できるようにするためのものであり、端子58、59は、制御回路70を、外部機器8と通信可能に接続するためのものである。
そして、制御回路70は、端子58、59を介して外部機器8と通信を行うことで、外部機器8から現在の日時情報を取得する。
以上説明したように、電動工具2、バッテリパック4及び充電器6において、制御回路20、40及び70は、それぞれ、モータ21の駆動制御、バッテリ36の充放電制御(詳しくはバッテリ充・放電時の状態監視)、及び、バッテリ36に対する充電制御を実行する。
また、各制御回路20、40、70は、これら各制御のための制御処理実行時に、各装置(電動工具2、バッテリパック4、充電器6)の動作状態を監視し、動作状態が変化したときや異常が発生したときには、履歴を残すべきイベントが発生したものと判断して、その旨を表す履歴情報を不揮発性メモリ27、45、69に格納する。
また、各制御回路20、40、70は、不揮発性メモリ27、45、69に履歴情報を格納する際、その履歴情報に対応した動作発生時の日時を表す日時情報を、履歴情報に付与する。
そして、その日時情報に誤りがあると、各装置のトレーサビリティ管理を正確に行うことができないため、各制御回路20、40、70は、外部機器8から日時情報を取得する。なお、バッテリパック4は、外部機器8に直接接続することができないので、電動工具2又は充電器6を介して、外部機器8から日時情報を取得する。
次に、電動工具2、バッテリパック4及び充電器6の制御回路20、40、70において実行される制御処理について説明する。
[電動工具2の制御回路20による制御処理]
図3に示すように、電動工具2の制御回路20においては、レギュレータ28から電源が投入されて、制御処理を開始すると、S100(Sはステップを表す)にて、モータ21の駆動制御に用いられる各種パラメータや後述する各種フラグを初期設定する初期化処理を実行する。
また、この初期化処理では、後述の処理で新たな履歴情報を生成して不揮発性メモリ27に書き込むために、現在不揮発性メモリ27に格納されている履歴情報の中から、電動工具2の動作履歴として保存される異常状態の検出回数を読み込む。
つまり、電動工具2においては、制御回路20のスリープ状態への移行時、バッテリ電圧の低下時、モータ21の過負荷運転時、モータ21の過熱時、バッテリ36の状態異常時、及び、制御モードの切り替え時に、それぞれ、図4に示す記憶内容1〜6の履歴情報を不揮発性メモリ27に格納するようにされている。
そして、制御回路20のスリープ状態への移行時には、履歴情報として、バッテリ電圧の低下、モータ21の過負荷、モータ21の過熱(高温)、及び、バッテリ異常の過去の検出回数を表す回数情報「1」に、日時情報「7」を付与したもの(記憶内容1)が、不揮発性メモリ27に格納される。
また、回数情報「1」は、電圧低下検出時、過負荷検出時、高温検出時、バッテリ異常検出時、及び、制御モードの切り替え時にも、履歴情報として、不揮発性メモリ27に格納される。
これは、不揮発性メモリ27に履歴情報を書き込む際に、不揮発性メモリ27の容量不足によって、過去の履歴情報を消去したとしても、最新の履歴情報から、過去の異常内容と発生回数を検知できるようにするためである。
このため、S100の初期化処理では、不揮発性メモリ27に格納された最新の履歴情報から上記各異常状態の検出回数を読み込むことで、その後、上記各異常検出時に検出回数を更新し、その更新された検出回数を付与した履歴情報を、不揮発性メモリ27に保存できるようにしている。
なお、電圧低下検出時、過負荷検出時、高温検出時、バッテリ異常検出時、及び、制御モードの切り替え時に、不揮発性メモリ27に格納される履歴情報は、図4に記憶内容2〜6として記載されている通りである。
すなわち、電圧低下検出時には、そのときの制御モード、モータ駆動時間、及びバッテリ電圧を表す情報「2」に、回数情報「1」と日時情報「7」を付与したもの(記憶内容2)が、履歴情報として不揮発性メモリ27に格納される。
また、過負荷検出時には、そのときの制御モード、電流分布、及び、モータ駆動時間を表す情報「3」に、回数情報「1」と日時情報「7」を付与したもの(記憶内容3)が、履歴情報として不揮発性メモリ27に格納される。
また、高温検出時には、過負荷検出時の情報「3」と同様、そのときの制御モード、電流分布、及び、モータ駆動時間を表す情報「4」に、回数情報「1」と日時情報「7」を付与したもの(記憶内容4)が、履歴情報として不揮発性メモリ27に格納される。
また、バッテリ異常検出時には、そのときの制御モード、コントローラ(つまり制御回路20)の温度、バッテリ36の状態情報、及び、電流分布を表す情報「5」に、回数情
報「1」と日時情報「7」を付与したもの(記憶内容5)が、履歴情報として不揮発性メモリ27に格納される。
また、制御モードの切り替え時には、切り替え後の制御モード、コントローラ温度、及び、バッテリ電圧を表す情報「6」に、回数情報「1」と日時情報「7」を付与したもの(記憶内容6)が、履歴情報として不揮発性メモリ27に格納される。
次に、S110では、トリガスイッチ23、モード切り替えスイッチ29、回転方向切り替えスイッチ(図示せず)等からのスイッチ信号を確認し、続くS120にて、バッテリ電圧、コントローラ温度、モータ電流、トリガスイッチ23の引き量等のAD変換値を取り込む。
そして、S130では、モード切り替えスイッチ29の切り替え状態に基づき制御モードを設定する制御モード設定切り替え処理を実行し、続くS140では、外部機器8及びバッテリパック4との間で通信を行う通信処理を実行する。
また、S150では、上述したバッテリ電圧等の異常状態を確認する異常状態確認処理を実行し、S160にて、モータ21を駆動制御するモータ制御処理を実行する。
なお、モータ制御処理では、異常状態確認処理にて、異常が検出されると、モータ21の駆動を停止し、その後、使用者によるトリガスイッチ23の操作が終了するまで、駆動停止状態を保持する。
次に、S170では、不揮発性メモリ27への履歴情報の書き込みを行うメモリ操作処理を実行し、続くS180では、外部機器8から取得した日時情報に基づき、現在の日時を更新(カウントアップ)する、取得日時カウントアップ処理を実行する。
そして、最後に、S190にて、トリガスイッチ23等のスイッチ操作がない状態が所定時間以上経過しているときにスリープ状態に移行し、スリープ状態への移行後にトリガスイッチ23等のスイッチ操作があるとウェイクアップする、スリープ処理を実行する。
なお、スリープ処理実行後は、再度S110に移行することにより、上記一連の処理を繰り返し実行する。
次に、上記一連の処理の内、不揮発性メモリ27への履歴情報の書き込みに関連する処理について説明する。
図5に示すように、S130のモード設定切り替え処理では、まずS131にて、使用者によるモード切り替えスイッチ29の操作があったか否か判断する。
そして、モード切り替えスイッチ29の操作がなければ、当該モード設定切り替え処理を終了し、モード切り替えスイッチ29の操作があれば、S132に移行して、モータ21の制御モードの設定を高速若しくは低速に切り替える。
また、制御モードの切り替え後は、その切り替え動作を動作履歴として残すために、S133にて、書き込み要求フラグをセットし、当該モード設定切り替え処理を終了する。
次に、図6に示すように、S140の通信処理では、まずS201にて、外部機器8から通信があったか否かを判断する。
そして、外部機器8から通信があれば、S202に移行して、外部機器8からの送信データの中から、現在の日時情報を取得し、S203にて、外部日時取得完了フラグをセットする。また、続くS204では、外部日時受け渡し完了フラグをクリアし、S209に移行する。
なお、外部日時受け渡し完了フラグは、外部機器8から取得した日時情報をバッテリパック4へ通知したか否かを表すフラグであり、このフラグがクリアされている場合、日時情報の受け渡しは完了していないことを表している。
次に、S201にて、外部機器8からの通信はないと判断されると、S205に移行して、外部日時取得完了フラグはセットされているか否かを判断する。
そして、外部日時取得完了フラグがセットされていれば、既に外部機器8から日時情報を取得しているので、S209に移行し、外部日時取得完了フラグがセットされていなければ、S206に移行する。
S206では、バッテリ日時取得完了フラグがセットされているか否かを判断することにより、バッテリパック4から日時情報を取得したか否かを判断する。そして、バッテリ日時完了フラグがセットされていれば、バッテリパック4から日時情報が取得されているので、S209に移行する。
また、バッテリ日時完了フラグがセットされていなければ、日時情報は、外部機器8からもバッテリパック4からも取得されていないので、S207に移行し、バッテリパック4に日時情報を要求することで、バッテリパック4から現在の日時情報を取得する。
そして、続くS208では、バッテリ日時取得完了フラグをセットし、S209に移行する。
なお、外部機器8から日時情報を取得できていないときに、バッテリパック4から日時情報を取得するのは、バッテリパック4ではバッテリ36が放電していない限り、制御回路40がバッテリ36からの電源供給を受けて日時の計測を行っているからである。
つまり、電動工具2は、バッテリパック4が装着されていなければ完全に動作を停止し、日時を計測することができないことから、バッテリパック4が装着されて制御回路20が起動した直後には、少なくともバッテリパック4から日時情報を取得できるようにしているのである。
次に、S209では、外部日時受け渡し完了フラグがセットされているか否かを判断し、外部日時受け渡し完了フラグがセットされていれば、S212に移行し、外部日時受け渡し完了フラグがセットされていなければ、S210に移行する。
S210では、外部機器8から取得した日時情報に基づく現在の日時情報をバッテリパック4へ通知することで、バッテリパック4にて計測されている日時情報を、正確な日時情報に更新させる。そして、その後は、S211にて、外部日時受け渡し完了フラグをセットし、S212に移行する。
S212では、バッテリ状態取得フラグがセットされているか否かを判断する。このバッテリ状態取得フラグは、以降の処理で、バッテリパック4からバッテリ温度やバッテリ電圧等のバッテリ状態を表すバッテリ状態情報が取得された際にセットされるフラグであり、バッテリ状態取得フラグがセットされていなければ、S213に移行する。
S213では、バッテリパック4にバッテリ状態情報を要求することにより、バッテリパック4からバッテリ状態情報を取得する。そして、続くS214では、その取得したバッテリ状態情報に基づき、バッテリ36に異常があるか否かを判断し、バッテリ36に異常があれば、S215に移行して、バッテリ異常フラグをセットする。そして、その後にS216に移行して、バッテリ状態取得フラグをセットし、当該通信処理を終了する。
S214にて、バッテリ36に異常はないと判断されると、当該通信処理を終了する。
また、S212にて、バッテリ状態取得フラグがセットされていると判断された場合にも、当該通信処理を終了する。
次に、図7に示すように、S150の異常状態確認処理では、まずS151にて、上述した電圧低下、過負荷、高温、バッテリ異常等の異常状態が発生しているかどうかを確認し、S152に移行する。
S152では、異常検出中フラグがセットされているか否かを判断し、異常検出中フラグがセットされていなければ、S153にて、S151では何らかの異常状態が検出されたか否かを判断する。
S153にて、異常状態が検出されていると判断されると、その検出した異常状態を電動工具2の動作履歴として残すために、S154に移行して、書き込み要求フラグをセットし、続くS155にて、異常検出中フラグをセットする。
そして、S153にて異常状態が検出されていないと判断されるか、或いは、S155にて異常検出中フラグをセットすると、当該異常状態確認処理を終了する。
一方、S152にて、異常検出中フラグがセットされていると判断された場合には、S156に移行して、使用者によるトリガスイッチ23の操作が終了したか否かを判断する。
そして、トリガスイッチ23の操作が終了していなければ、当該異常状態確認処理を終了する。また、トリガスイッチ23の操作が終了していれば、S157にて、異常検出中フラグをクリアし、S158にて、バッテリ異常フラグ及びバッテリ状態取得フラグをクリアした後、当該異常確認処理を終了する。
なお、このように、使用者によるトリガスイッチ23の操作が終了しているときに上記各フラグをクリアするのは、使用者によるトリガスイッチ23の操作が一旦終了し、その後、トリガスイッチ23が操作された際には、S160のモータ制御処理にて、モータ21が駆動されるからである。
つまり、本実施形態では、トリガスイッチ23の操作が終了した際に、上記各フラグをクリアすることで、次のモータ駆動時にも、異常状態の検出を実施できるようにしているのである。
そして、本実施形態では、異常状態が検出された際には、書き込み要求フラグがセットされるので、異常状態が検出される度に、その旨を表す履歴情報が検出回数と共に不揮発性メモリ27に記憶されることになる。
次に、図8に示すように、S170のメモリ操作処理では、まずS171にて、書き込み要求フラグがセットされているか否かを判断する。
そして、書き込み要求フラグがセットされていなければ、当該メモリ操作処理を終了し、書き込み要求フラグがセットされていれば、S172に移行して、不揮発性メモリ27に、新たな履歴情報を書き込み可能な領域(書き込み可能領域)があるか否かを判断する。
不揮発性メモリ27に履歴情報の書き込み可能領域がない場合には、S173にて、不揮発性メモリ27の記憶領域の全域若しくは一部を消去した後、S174に移行し、不揮
発性メモリ27に書き込み可能領域がある場合には、そのままS174に移行する。
S174では、不揮発性メモリ27に履歴情報を書き込むための書き込みデータを用意し、S175にて、その用意した書き込みデータ(つまり履歴情報)を、不揮発性メモリ27に格納する。そして、最後に、S176にて、書き込み要求フラグをクリアし、当該メモリ操作処理を終了する。
ここで、S174の書き込みデータ用意処理は、図9に示す手順で実行される。
すなわち、書き込みデータ用意処理では、まずS220にて、S190のスリープ処理にてスリープ状態への移行時にセットされるスリープ移行要求フラグが、セットされているか否かを判断する。
そして、スリープ移行要求フラグがセットされていれば、S221に移行して、図4に示した記憶内容1を構成している各情報(電圧低下回数、過負荷検出回数、高温検出回数、バッテリ異常検出回数、現在日時を表す日時情報)の最新値を取得し、S222にて、スリープ移行許可フラグをセットした後、当該書き込みデータ用意処理を終了する。
次に、S220にて、スリープ移行要求フラグはセットされていないと判断されると、S230にて、S150の異常状態確認処理にて、バッテリ電圧の低下が検出されているか否かを判断する。
そして、バッテリ電圧の低下が検出されていれば、S231に移行して、電圧低下検出回数をインクリメント(+1)し、続くS232にて、図4に示した記憶内容2を構成している情報(モード設定、モータ駆動時間、バッテリ電圧、日時情報、及び、各異常状態の検出回数)の最新値を取得し、当該書き込みデータ用意処理を終了する。
次に、S230にて、バッテリ電圧の低下は検出されていないと判断された場合には、S240に移行し、S150の異常状態確認処理にて、モータ21の過負荷運転が検出されているか否かを判断する。
そして、モータ21の過負荷運転が検出されていれば、S241に移行して、過負荷検出回数をインクリメント(+1)し、続くS242にて、図4に示した記憶内容3を構成している情報(モード設定、電流分布、モータ駆動時間、日時情報、及び、各異常状態の検出回数)の最新値を取得し、当該書き込みデータ用意処理を終了する。
また次に、S240にて、モータ21の過負荷は検出されていないと判断された場合には、S250に移行し、S150の異常状態確認処理にて、モータ21の過熱(高温)が検出されているか否かを判断する。
そして、モータ21の過熱(高温)が検出されていれば、S251に移行して、高温検出回数をインクリメント(+1)し、続くS252にて、図4に示した記憶内容4を構成している情報(モード設定、電流分布、モータ駆動時間、日時情報、及び、各異常状態の検出回数)の最新値を取得し、当該書き込みデータ用意処理を終了する。
また、S250にて、モータ21の過熱(高温)は検出されていないと判断された場合には、S260に移行し、S150の異常状態確認処理にて、バッテリ異常が検出されているか否かを判断する。
そして、バッテリ異常が検出されていれば、S261に移行して、バッテリ異常検出回数をインクリメント(+1)し、続くS262にて、図4に示した記憶内容5を構成して
いる情報(モード設定、コントローラ温度、バッテリの状態情報、電流分布、日時情報、及び、各異常状態の検出回数)の最新値を取得し、当該書き込みデータ用意処理を終了する。
また、S260にて、モータ異常は検出されていないと判断された場合には、S270に移行し、S130のモード設定切り替え処理にて、制御モードの切り替えが行われたか否かを判断する。
そして、制御モードの切り替えが行われていれば、S272に移行して、図4に示した記憶内容6を構成している情報(モード設定、コントローラ温度、バッテリ電圧、日時情報、及び、各異常状態の検出回数)の最新値を取得し、当該書き込みデータ用意処理を終了する。また、S270にて、制御モードの切り替えは行われていないと判断された場合にも、当該書き込みデータ用意処理を終了する。
このように、S170のメモリ操作処理では、書き込み要求フラグがセットされているとき、S174の書き込みデータ用意処理を実行することにより、不揮発性メモリ27に書き込むべき履歴情報(図4に示す記憶内容1〜6)を構成する各種情報を収集する。そして、続くS175にて、その収集した各種情報に基づき、履歴情報を生成し、不揮発性メモリ27に格納する。
次に、図10に示すように、S180の取得日時カウントアップ処理では、まずS181にて、第1更新完了フラグがセットされているか否かを判断する。
また、第1更新完了フラグがセットされていなければ、S182に移行し、S140の通信処理にて外部機器8から日時情報を取得した際にセットされる外部日時取得完了フラグがセットされているか否かを判断する。
そして、S182にて、外部日時取得完了フラグはセットされていると判断されると、S183に移行して、制御回路20が認識している現在の日時情報を、外部機器8から取得した最新の日時情報に書き換え、S184に移行する。
S184では、第1更新完了フラグをセットし、続くS189にて、S184にて更新された日時情報をカウントアップすることで、現在の日時情報を更新し、当該取得日時カウントアップ処理を終了する。
なお、S189による日時情報のカウントアップは、S181にて、第1更新完了フラグがセットされていると判断された場合にも実行される。
次に、S182にて、外部日時取得完了フラグはセットされていないと判断された場合には、S185に移行し、第2更新完了フラグがセットされているか否かを判断する。
そして、S185にて、第2更新完了フラグはセットされていないと判断されると、S186に移行し、S140の通信処理にてバッテリパック4から日時情報を取得した際にセットされるバッテリ日時取得完了フラグがセットされているか否かを判断する。
S186にて、バッテリ日時取得完了フラグはセットされていると判断されると、S187に移行して、制御回路20が認識している現在の日時情報を、バッテリパック4から取得した最新の日時情報に書き換え、S188に移行する。
そして、S188では、第2更新完了フラグをセットし、続くS189にて、S187にて更新された日時情報をカウントアップすることで、現在の日時情報を更新し、当該取得日時カウントアップ処理を終了する。
なお、S189による日時情報のカウントアップは、S185にて、第2更新完了フラグがセットされていると判断された場合、及び、S186にて、バッテリ日時取得完了フラグはセットされていないと判断された場合にも実行される。
このように、S180の取得日時カウントアップ処理では、S189の処理をメインルーチンの一つとして周期的にくり返し実行することで、日時情報を周期的にカウントアップし、現在の日時を計測する。
そして、S140の通信処理にて、外部機器8若しくはバッテリパック4から日時情報が取得されている場合には、その計測中の日時を、外部機器8若しくはバッテリパック4から取得した最新の日時情報に基づき書き換え、日時の計測を継続する。
次に、図11に示すように、S190のスリープ処理では、S191にて、トリガスイッチ23等のスイッチ操作がない状態が所定時間以上経過しているか否かを判断し、スイッチ操作がない状態が所定時間以上経過していなければ、当該スリープ処理を終了する。
一方、スイッチ操作がない状態が所定時間以上経過している場合には、S192に移行して、スリープ移行要求フラグをセットし、続くS193にて、書き込み要求フラグをセットした後、S194に移行する。
S194では、S174の書き込みデータ用意処理にてスリープ移行時の履歴情報(記憶内容1)を構成する各種情報が取得された際にセットされる、スリープ移行許可フラグがセットされているか否かを判断する。
そして、スリープ移行許可フラグがセットされていなければ、当該スリープ処理を終了し、スリープ移行許可フラグがセットされていれば、S195に移行し、当該スリープ処理を含む制御処理の実行を停止することで、制御回路20の消費電力を低減するスリープ状態に移行する。
制御回路20は、スリープ状態への移行によって、制御処理の実行を停止するが、その後、トリガスイッチ23の操作等、予め設定されたウェイクアップ条件が成立すると、ウェイクアップする(S196)。
そして、ウェイクアップ後は、S197にて、スリープ移行要求フラグ及びスリープ移行許可フラグをクリアし、S198にて、外部日時取得完了フラグ及びバッテリ日時取得完了フラグをクリアし、S199にて、第1更新完了フラグ及び第2更新完了フラグをクリアすることで、これら各フラグを初期化し、当該スリープ処理を終了する。
以上説明したように、電動工具2においては、制御回路20のスリープ状態への移行時、各種異常検出時、及び制御モードの切り替え時に、そのときの日時を表す日時情報を含む履歴情報を不揮発性メモリ27に格納する。
また、制御回路20は、起動直後に外部機器8又はバッテリパック4から日時情報を取得し、その取得した日時情報に基づき、現在の日時を計測(カウント)する。
また、起動直後にバッテリパック4から日時情報を取得した際には、その後、外部機器8から日時情報を取得すると、その日時情報に基づき、計測中の日時を更新し、更に、その日時情報をバッテリパック4に通知することで、バッテリパック4が計測中の日時を更新させる。
従って、本実施形態の電動工具2によれば、制御回路20において、現在の日時を正確に把握することができ、不揮発性メモリ27に履歴情報を格納する際、履歴情報に正確な日時情報を付与することができる。
よって、電動工具2の使用者は、不揮発性メモリ27に記憶された履歴情報から、電動工具2の動作履歴を、その動作日時と共に正確に把握することができ、電動工具2のトレーサビリティ管理を適正に行うことができる。
また、制御回路20は、何らかの異常を検出すると、その異常内容毎に、異常検出回数をカウントし、不揮発性メモリ27に格納する履歴情報には、そのカウントした各異常の検出回数を表す回数情報を付与する。
このため、不揮発性メモリ27の記憶容量の制限から、最新の履歴情報を書き込む際に、古い履歴情報が消去されたとしても、不揮発性メモリ27の記憶された履歴情報から、過去に検出された異常内容とその検出回数を検知することができる。
よって、本実施形態の電動工具2によれば、不揮発性メモリ27の記憶容量の制限により、電動工具2のトレーサビリティ管理を実施できなくなるのを防止できる。
なお、本実施形態の電動工具2においては、MCUにて構成され、上述した制御処理を実行する制御回路20が、本発明の通信手段、日時情報取得手段、制御手段、及び、計測手段に相当し、不揮発性メモリ27は、本発明の記憶手段に相当する。
また特に、制御回路20にて実行される制御処理の内、S140にて実行される通信処理は、本発明の通信手段及び日時情報取得手段として機能し、S130、S150〜S170にて実行されるモード設定切換処理、異常状態確認処理、モータ制御処理、及びメモリ操作処理は、本発明の制御手段として機能し、S180にて実行される取得日時カウントアップ処理は、本発明の計測手段として機能する。
[充電器6の制御回路70による制御処理]
図12に示すように、充電器6の制御回路70においては、サブコンバータ64から電源が投入されて、制御処理を開始すると、S300にて、バッテリ36の充電制御に用いられる各種パラメータや後述する各種フラグを初期設定する初期化処理を実行する。
また、この初期化処理では、電動工具2と同様、後述の処理で新たな履歴情報を生成して不揮発性メモリ69に書き込むために、現在不揮発性メモリ69に格納されている履歴情報の中から、充電器6の動作履歴として保存される異常状態の検出回数を読み込む。
つまり、充電器6においては、制御回路70のスリープ状態への移行時、バッテリ36の過電圧検出時、過電流検出時、充電ステート異常検出時、及びバッテリ異常検出時に、それぞれ、図13に示す記憶内容1〜5の履歴情報を不揮発性メモリ69に格納するようにされている。
なお、充電ステート異常は、充電器6側でのバッテリパック4の認識結果と、バッテリパック4側での充電器6の認識結果とに違いがあり、バッテリ36への充電を正常に実行できないときに検出される異常である。また、バッテリ異常は、温度測定回路39にて検出されるバッテリ温度等、バッテリ36に何らかの異常が生じたときに検出される異常である。
そして、制御回路70のスリープ状態への移行時には、履歴情報として、過電圧検出回数、過電流検出回数、充電ステート異常検出回数、バッテリ異常検出回数を表す回数情報「1」に、日時情報「6」を付与したもの(記憶内容1)が、不揮発性メモリ69に格納
される。
また、回数情報「1」は、電動工具2と同様、上記各異常検出時にも、履歴情報の一部として、不揮発性メモリ69に格納される。
このため、S300の初期化処理では、電動工具2の初期化処理と同様、不揮発性メモリ69に格納された最新の履歴情報から上記各異常の検出回数を読み込むことで、その後、上記各異常検出時に検出回数を更新し、その更新後の検出回数を付与した履歴情報を、不揮発性メモリ69に格納できるようにしている。
なお、過電圧検出時、過電流検出時、充電ステート異常検出時、及び、バッテリ異常検出時に、不揮発性メモリ69に格納される履歴情報は、図13に記憶内容2〜5として記載されている通りである。
すなわち、過電圧検出時には、そのときのバッテリパック4の接続状態を表すステート情報、バッテリ36への充電経過時間、及び充電電圧を表す情報「2」に、回数情報「1」と日時情報「6」を付与したもの(記憶内容2)が、履歴情報として不揮発性メモリ69に格納される。
また、過電流検出時には、そのときのステート情報、充電電流分布、及び充電経過時間を表す情報「3」に、回数情報「1」と日時情報「6」を付与したもの(記憶内容3)が、履歴情報として不揮発性メモリ69に格納される。
また、充電ステート異常検出時には、過電流検出時の情報「3」と同様、そのときのステート情報、充電電流分布、及び充電経過時間を表す情報「4」に、回数情報「1」と日時情報「6」を付与したもの(記憶内容4)が、履歴情報として不揮発性メモリ69に格納される。
また、バッテリ異常検出時には、そのときのステート情報、バッテリの状態情報(バッテリ温度等)、及び充電経過時間を表す情報「5」に、回数情報「1」と日時情報「6」を付与したもの(記憶内容5)が、履歴情報として不揮発性メモリ69に格納される。
次に、S310では、充電器6に対するバッテリパック4の接続状態を確認し、続くS320にて、充電電圧、充電電流等のAD変換値を取り込む。
また、S330では、外部機器8及びバッテリパック4との間で通信を行う通信処理を実行し、続くS340では、充電時に生じる過電圧、過電流や、充電ステート異常の発生状態を確認する異常状態確認処理を実行する。
そして、S350では、バッテリ36への充電を行う充電制御処理を実行する。なお、この充電制御処理では、異常状態確認処理にて、異常が検出されると、その後、充電器6からバッテリパック4が外されるまで、バッテリ36への充電を停止する。
次に、S360では、不揮発性メモリ69への履歴情報の書き込みを行うメモリ操作処理を実行し、続くS370では、外部機器8から取得した日時情報に基づき、現在の日時を更新(カウントアップ)する、取得日時カウントアップ処理を実行する。
そして、最後に、S380にて、充電器6からバッテリパック4が外されている状態が所定時間以上経過しているときに、スリープ状態に移行し、スリープ状態への移行後にバッテリパック4が接続されるとウェイクアップする、スリープ処理を実行する。
なお、スリープ処理実行後は、再度S310に移行することにより、上記一連の処理を
繰り返し実行する。
次に、上記一連の処理の内、不揮発性メモリ69への履歴情報の書き込みに関連する処理について説明する。
但し、S330の通信処理、S360のメモリ操作処理(書き込みデータ用意処理を除く)、及び、S370の取得日時カウントアップ処理は、図6、図8、図10に示した電動工具2における通信処理、メモリ操作処理、取得日時カウントアップ処理と同様に実行されるので、ここでは説明を省略する。
図14に示すように、S310のバッテリ接続確認処理では、S311にて、充電器6に対しバッテリパック4が接続されているか否かを判断し、バッテリパック4が接続されていなければ、当該バッテリ確認処理を終了する。
また、バッテリパック4が接続されていれば、S312に移行して、バッテリ日時取得完了フラグをクリアし、当該バッテリ確認処理を終了する。
次に、図15に示すように、S340の異常状態確認処理では、S341にて、上述した各種異常状態(過電圧、過電流、充電ステート異常、バッテリ異常)が発生しているか否かを確認し、S342に移行する。
S342では、異常検出中フラグがセットされているか否かを判断し、異常検出中フラグがセットされていなければ、S343にて、S341では何らかの異常状態が検出されたか否かを判断する。
S343にて、異常状態が検出されていると判断されると、S344に移行して、その検出した異常状態を充電器6の動作履歴として残すために、書き込み要求フラグをセットし、続くS345にて、異常検出中フラグをセットする。
そして、S343にて異常状態が検出されていないと判断されるか、或いは、S345にて異常検出中フラグをセットすると、当該異常状態確認処理を終了する。
一方、S342にて、異常検出中フラグがセットされていると判断された場合には、S346に移行して、充電器6からバッテリパック4が抜かれたか否かを判断する。そして、充電器6からバッテリパック4が抜かれていなければ、当該異常状態確認処理を終了する。また、充電器6からバッテリパック4が抜かれていれば、S347にて、異常検出中フラグをクリアし、S348にて、バッテリ異常フラグ及びバッテリ状態取得フラグをクリアした後、当該異常確認処理を終了する。
なお、このように、充電器6にバッテリパック4が装着されていないときに上記各フラグをクリアするのは、次にバッテリパック4が装着された際にも、異常状態の検出を実施できるようにするためである。
そして、S343にて異常状態が検出された際には、書き込み要求フラグがセットされるので、電動工具2と同様、異常状態が検出される度に、その旨を表す履歴情報が検出回数と共に不揮発性メモリ69に記憶されることになる。
次に、図16に示すように、S360のメモリ操作処理にて実行される書き込みデータ用意処理では、まずS410にて、スリープ移行要求フラグがセットされているか否かを判断する。
そして、スリープ移行要求フラグがセットされていれば、S411に移行して、図13に示した記憶内容1を構成している各情報(過電圧検出回数、過電流検出回数、充電ステ
ート異常検出回数、バッテリ異常検出回数、及び日時情報)の最新値を取得する。
また、続くS412では、スリープ移行許可フラグをセットし、当該書き込みデータ用意処理を終了する。
次に、S410にて、スリープ移行要求フラグはセットされていないと判断されると、S420に移行し、S340の異常状態確認処理にて、過電圧が検出されたか否かを判断する。
そして、過電圧が検出されていれば、S421に移行して、過電圧検出回数をインクリメント(+1)し、続くS422にて、図13に示した記憶内容2を構成している情報(ステート情報、充電経過時間、充電電圧、日時情報、及び、各異常状態の検出回数)の最新値を取得し、当該書き込みデータ用意処理を終了する。
次に、S420にて、過電圧は検出されていないと判断された場合には、S430に移行し、S340の異常状態確認処理にて、過電流が検出されているか否かを判断する。
そして、過電流が検出されていれば、S431に移行して、過電流検出回数をインクリメント(+1)し、続くS432にて、図13に示した記憶内容3を構成している情報(ステート情報、充電電流分布、充電経過時間、日時情報、及び、各異常状態の検出回数)の最新値を取得し、当該書き込みデータ用意処理を終了する。
また次に、S430にて、過電流は検出されていないと判断された場合には、S440に移行し、S340の異常状態確認処理にて、充電ステート異常が検出されているか否かを判断する。
そして、充電ステート異常が検出されていれば、S441に移行して、充電ステート異常検出回数をインクリメント(+1)し、続くS442にて、図13に示した記憶内容4を構成している情報(ステート情報、充電電流分布、充電経過時間、日時情報、及び、各異常状態の検出回数)の最新値を取得し、当該書き込みデータ用意処理を終了する。
また、S440にて、充電ステート異常は検出されていないと判断された場合には、S450に移行し、S340の異常状態確認処理にて、バッテリ異常が検出されているか否かを判断する。
そして、バッテリ異常が検出されていれば、S451に移行して、バッテリ異常検出回数をインクリメント(+1)し、続くS452にて、図13に示した記憶内容5を構成している情報(ステート情報、バッテリの状態情報、充電経過時間、日時情報、及び、各異常状態の検出回数)の最新値を取得し、当該書き込みデータ用意処理を終了する。
また、S450にて、バッテリ異常は検出されていないと判断された場合にも、当該書き込みデータ用意処理を終了する。
このように、S360のメモリ操作処理では、書き込み要求フラグがセットされているときに、図16に示す書き込みデータ用意処理を実行することにより、不揮発性メモリ69に書き込むべき履歴情報(図13に示す記憶内容1〜5)を構成する各種情報を収集する。そして、その収集した各種情報に基づき履歴情報を生成し、不揮発性メモリ69に格納する。
次に、図17に示すように、S380のスリープ処理では、S381にて、充電器6にバッテリパック4が装着されていない状態が所定時間以上経過しているか否かを判断し、バッテリパック4が装着されていない状態が所定時間以上経過していなければ、当該スリープ処理を終了する。
一方、バッテリパック4が装着されていない状態が所定時間以上経過している場合には、S382に移行して、スリープ移行要求フラグをセットし、続くS383にて、書き込み要求フラグをセットした後、S384に移行する。
S384では、図16の書き込みデータ用意処理にてスリープ移行時の履歴情報(記憶内容1)を構成する各種情報が取得された際にセットされる、スリープ移行許可フラグがセットされているか否かを判断する。
そして、スリープ移行許可フラグがセットされていなければ、当該スリープ処理を終了し、スリープ移行許可フラグがセットされていれば、S385に移行し、当該スリープ処理を含む制御処理の実行を停止することで、制御回路70の消費電力を低減するスリープ状態に移行する。
制御回路70は、スリープ状態への移行によって、制御処理の実行を停止するが、その後、バッテリパック4が装着される等、予め設定されたウェイクアップ条件が成立すると、ウェイクアップする(S386)。
そして、ウェイクアップ後は、S387にて、スリープ移行要求フラグ及びスリープ移行許可フラグをクリアし、S388にて、外部日時取得完了フラグをクリアし、S389にて、バッテリ日時取得完了フラグをクリアすることで、これら各フラグを初期化し、当該スリープ処理を終了する。
以上説明したように、充電器6においては、制御回路70のスリープ状態への移行時、及び、各種異常検出時に、そのときの日時を表す日時情報を含む履歴情報を不揮発性メモリ69に格納する。
また、制御回路70は、電動工具2と同様の手順で通信処理を実行することで、起動直後に外部機器8又はバッテリパック4から日時情報を取得し、その取得した日時情報に基づき、現在の日時を計測(カウント)する。
従って、本実施形態の充電器6によれば、電動工具2と同様、制御回路70において、現在の日時を正確に把握することができ、不揮発性メモリ69に履歴情報を格納する際、履歴情報に正確な日時情報を付与することができる。
よって、充電器6の使用者は、不揮発性メモリ69に記憶された履歴情報から、充電器6の動作履歴を、その動作日時と共に正確に把握することができ、充電器6のトレーサビリティ管理を適正に行うことができる。
また、不揮発性メモリ69に履歴情報を格納する際、履歴情報に、各種異常状態の検出回数を表す回数情報が付与されることから、履歴情報を書き込むために不揮発性メモリ69に記憶された古い履歴情報が消去されたとしても、不揮発性メモリ69の記憶された履歴情報から、過去に検出された異常内容とその検出回数を検知することができる。
よって、充電器6においても、電動工具2と同様、不揮発性メモリ69の記憶容量の制限により、充電器6のトレーサビリティ管理を実施できなくなるのを防止できる。
なお、本実施形態の充電器6においては、制御回路70が、本発明の通信手段、日時情報取得手段、制御手段、及び、計測手段に相当し、不揮発性メモリ69は、本発明の記憶手段に相当する。
また特に、制御回路70にて実行される制御処理の内、S330にて実行される通信処理は、本発明の通信手段及び日時情報取得手段として機能し、S340〜S360にて実行される異常状態確認処理、充電制御処理、及びメモリ操作処理は、本発明の制御手段として機能し、S370にて実行される取得日時カウントアップ処理は、本発明の計測手段として機能する。
[バッテリパック4の制御回路40による制御処理]
図18に示すように、バッテリパック4の制御回路40においては、レギュレータ44から電源が投入されて、制御処理を開始すると、S500にて、バッテリ36への充放電制御に用いられる各種パラメータや後述する各種フラグを初期設定する初期化処理を実行する。
また、この初期化処理では、電動工具2や充電器6と同様、後述の処理で新たな履歴情報を生成して不揮発性メモリ45に書き込むために、現在不揮発性メモリ45に格納されている最新の履歴情報の中から、異常状態の検出回数を読み込む。
つまり、バッテリパック4においては、制御回路40のスリープ状態への移行時、バッテリ36の過電圧検出時、過電流検出時、及びバッテリ異常検出時に、それぞれ、図19に示す記憶内容1〜4の履歴情報を不揮発性メモリ45に格納するようにされている。
そして、制御回路40のスリープ状態への移行時には、履歴情報として、過電圧検出回数、過電流検出回数、バッテリ異常検出回数を表す回数情報「1」に、後述の差分情報を加えた日時情報「5」を付与したもの(記憶内容1)が、不揮発性メモリ45に格納される。
また、回数情報「1」は、電動工具2や充電器6と同様、上記各異常検出時にも、履歴情報の一部として、不揮発性メモリ45に格納される。
このため、S500の初期化処理では、電動工具2及び充電器6における初期化処理と同様、不揮発性メモリ45に格納された最新の履歴情報から上記各異常の検出回数を読み込むことで、その後、上記各異常検出時に検出回数を更新し、その更新後の検出回数を付与した履歴情報を、不揮発性メモリ45に格納できるようにしている。
なお、過電圧検出時、過電流検出時、及び、バッテリ異常検出時に、不揮発性メモリ45に格納される履歴情報は、図19に記憶内容2〜4として記載されている通りである。
すなわち、過電圧検出時には、そのときの電動工具2若しくは充電器6への接続状態を表すステート情報、バッテリ36への充電経過時間、及び充電電圧を表す情報「2」に、回数情報「1」と日時情報「5」を付与したもの(記憶内容2)が、履歴情報として不揮発性メモリ45に格納される。
また、過電流検出時には、そのときのステート情報、充電/放電電流分布、及び、充電/放電経過時間を表す情報「3」に、回数情報「1」と日時情報「5」を付与したもの(記憶内容3)が、履歴情報として不揮発性メモリ45に格納される。
また、バッテリ異常検出時には、そのときのステート情報、バッテリの状態情報(バッテリ温度等)、及び、充電/放電経過時間を表す情報「4」に、回数情報「1」と日時情報「5」を付与したもの(記憶内容4)が、履歴情報として不揮発性メモリ45に格納される。
次に、S510では、電動工具2若しくは充電器6に対するバッテリパック4の接続状態を確認し、続くS520にて、バッテリ電圧、バッテリ電流、バッテリ温度等のAD変換値を取り込む。
また、S530では、バッテリパック4が接続された電動工具2若しくは充電器6との間で通信を行う通信処理を実行し、続くS540では、過電圧、過電流、バッテリ異常等の異常発生状態を確認する異常状態確認処理を実行する。
そして、S550では、電動工具2若しくは充電器6への接続状態に応じて、バッテリ36からの放電若しくはバッテリ36への充電を制御する充放電制御処理を実行する。なお、この充放電制御処理では、異常状態確認処理にて、異常が検出されると、その後、バッテリパック4が電動工具2若しくは充電器6から外されるまで、バッテリ36への充放電を停止する。
次に、S560では、不揮発性メモリ45への履歴情報の書き込みを行うメモリ操作処理を実行し、続くS570では、現在の日時を更新(カウントアップ)することで日時を計測する、日時カウントアップ処理を実行する。
そして、最後に、S580にて、バッテリパック4が電動工具2及び充電器6のいずれにも接続されていない状態が所定時間以上経過しているときに、スリープ状態に移行し、スリープ状態への移行後にバッテリパック4が電動工具2若しくは充電器6接続されるとウェイクアップする、スリープ処理を実行する。
なお、スリープ処理実行後は、再度S310に移行することにより、上記一連の処理を繰り返し実行する。
次に、上記一連の処理の内、不揮発性メモリ45への履歴情報の書き込みに関連する処理について説明する。
但し、S530のメモリ操作処理(書き込みデータ用意処理を除く)は、図8に示した電動工具2におけるメモリ操作処理と同様に実行されるので、ここでは説明を省略する。
また、S570の日時カウントアップ処理は、電動工具2及び充電器6にて実行される取得日時カウントアップ処理とは異なり、制御回路40がスリープ状態であるときにも、レギュレータ44がバッテリ36から電源供給を受けて制御回路40に電源供給を行っているときには、定期的に実行される。
そして、S570では、バッテリパック4の製造時に設定された日時を順次カウントアップしてゆくことで、バッテリパック4単独で現在の日時を計測する。
図20に示すように、S530の通信処理では、まずS531にて、バッテリパック4が接続されている電動工具2若しくは充電器6から通信があったか否かを判断する。
そして、電動工具2若しくは充電器6から通信があれば、S532に移行して、電動工具2若しくは充電器6からの送信データに含まれている現在の日時情報を取得する。
次に、S533では、S532で取得した日時情報から得られる現在の日時と、制御回路40が認識(換言すればカウント)している現在の日時との差分を算出し、その算出した差分を、差分情報として、現在カウント中の日時に関連付ける。
また、続くS534では、バッテリパック4が接続されている電動工具2若しくは充電器6から、バッテリ状態情報の要求があったか否かを判断する。
そして、電動工具2若しくは充電器6からバッテリ状態情報の要求があれば、S535にて、その要求されたバッテリ状態情報を電動工具2若しくは充電器6に出力した後、当該通信処理を終了し、バッテリ状態情報の要求がなければ、そのまま当該通信処理を終了する。
このように、S530の通信処理では、電動工具2若しくは充電器6からの通信に従い、日時情報の取得、及び、バッテリ状態情報の送信を行う。これは、上述したように、バッテリパック4と電動工具2若しくは充電器6との通信時には、バッテリパック4がスレーブ、電動工具2若しくは充電器6がマスタとなるように設定されているためである。
次に、図21に示すように、S540の異常状態確認処理では、S541にて、上述した各種異常状態(過電圧、過電流、バッテリ異常)が発生しているか否かを確認し、S542に移行する。
S542では、異常検出中フラグがセットされているか否かを判断し、異常検出中フラグがセットされていなければ、S543にて、S541では何らかの異常状態が検出されたか否かを判断する。
S543にて、異常状態が検出されていると判断されると、S544に移行して、その検出した異常状態をバッテリパック4の動作履歴として残すために、書き込み要求フラグをセットし、続くS545にて、異常検出中フラグをセットする。
そして、S543にて異常状態が検出されていないと判断されるか、或いは、S545にて異常検出中フラグをセットすると、当該異常状態確認処理を終了する。
一方、S542にて、異常検出中フラグがセットされていると判断された場合には、S546に移行して、バッテリパック4が電動工具2若しくは充電器6から一旦外されてから、電動工具2に装着されたか否かを判断する。
そして、バッテリパック4が充電器6に新たに装着されたときには、S547にて、異常検出中フラグをクリアした後、当該異常状態確認処理を終了し、バッテリパック4が充電器6に新たに装着されていなければ、そのまま当該異常状態確認処理を終了する。
なお、このように、バッテリパック4が充電器6に新たに装着されたときに、異常検出中フラグをクリアするのは、次にバッテリパック4が充電器6に装着されて充電を開始し、その後、電動工具2に装着されて電動工具2への電力供給を行う際にも、上記各種異常状態を検出できるようにするためである。
そして、S543にて異常状態が検出された際には、書き込み要求フラグがセットされるので、電動工具2や充電器6と同様、異常状態が検出される度に、その旨を表す履歴情報が検出回数と共に不揮発性メモリ45に記憶されることになる。
次に、図22に示すように、S560のメモリ操作処理にて実行される書き込みデータ用意処理では、まずS610にて、スリープ移行要求フラグがセットされているか否かを判断する。
そして、スリープ移行要求フラグがセットされていれば、S611に移行して、図19に示した記憶内容1を構成している各情報(過電圧検出回数、過電流検出回数、バッテリ異常検出回数、及び、S533にて関連付けられた差分情報を含む日時情報)の最新値を取得する。また、続くS612では、スリープ移行許可フラグをセットし、当該書き込みデータ用意処理を終了する。
次に、S610にて、スリープ移行要求フラグはセットされていないと判断されると、S620に移行し、S540の異常状態確認処理にて、過電圧が検出されたか否かを判断する。
そして、過電圧が検出されていれば、S621に移行して、過電圧検出回数をインクリメント(+1)し、続くS622にて、図19に示した記憶内容2を構成している情報(ステート情報、充電経過時間、充電電圧、差分情報を含む日時情報、及び、各異常状態の検出回数)の最新値を取得し、当該書き込みデータ用意処理を終了する。
次に、S620にて、過電圧は検出されていないと判断された場合には、S630に移行し、S540の異常状態確認処理にて、過電流が検出されているか否かを判断する。
そして、過電流が検出されていれば、S631に移行して、過電流検出回数をインクリメント(+1)し、続くS632にて、図19に示した記憶内容3を構成している情報(ステート情報、充電/放電電流分布、充電/放電経過時間、差分情報を含む日時情報、及び、各異常状態の検出回数)の最新値を取得し、当該書き込みデータ用意処理を終了する。
また次に、S630にて、過電流は検出されていないと判断された場合には、S640に移行し、S540の異常状態確認処理にて、バッテリ異常が検出されているか否かを判断する。
そして、バッテリ異常が検出されていれば、S641に移行して、バッテリ異常検出回数をインクリメント(+1)し、続くS642にて、図19に示した記憶内容4を構成している情報(ステート情報、バッテリの状態情報、充電/放電経過時間、差分情報を含む日時情報、及び、各異常状態の検出回数)の最新値を取得し、当該書き込みデータ用意処理を終了する。
また、S640にて、バッテリ異常は検出されていないと判断された場合にも、当該書き込みデータ用意処理を終了する。
このように、S560のメモリ操作処理では、書き込み要求フラグがセットされているときに、図22に示す書き込みデータ用意処理を実行することにより、不揮発性メモリ45に書き込むべき履歴情報(図19に示す記憶内容1〜4)を構成する各種情報を収集する。そして、その収集した各種情報に基づき履歴情報を生成し、不揮発性メモリ45に格納する。
次に、図23に示すように、S580のスリープ処理では、S581にて、バッテリパック4が電動工具2若しくは充電器6に装着されていない状態が所定時間以上経過しているか否かを判断し、バッテリパック4が電動工具2若しくは充電器6に装着されていない状態が所定時間以上経過していなければ、当該スリープ処理を終了する。
一方、バッテリパック4が電動工具2若しくは充電器6に装着されていない状態が所定時間以上経過している場合には、S582に移行して、スリープ移行要求フラグをセットし、続くS583にて、書き込み要求フラグをセットした後、S584に移行する。
S584では、図22の書き込みデータ用意処理にてスリープ移行時の履歴情報(記憶内容1)を構成する各種情報が取得された際にセットされる、スリープ移行許可フラグがセットされているか否かを判断する。
そして、スリープ移行許可フラグがセットされていなければ、当該スリープ処理を終了し、スリープ移行許可フラグがセットされていれば、S585に移行し、当該スリープ処理を含む制御処理の実行を停止することで、制御回路40の消費電力を低減するスリープ状態に移行する。
なお、バッテリパック4においては、上述したように、スリープ状態であっても、制御
回路40は、S570の日時カウントアップ処理を実行するために定期的に起動し、日時の計測を継続する。
そして、制御回路40は、スリープ状態への移行後、バッテリパック4が電動工具2若しくは充電器6へ装着されることにより、所定のウェイクアップ条件が成立すると、ウェイクアップする(S586)。
また、ウェイクアップ後は、S587にて、スリープ移行要求フラグ及びスリープ移行許可フラグをクリアすることで、これら各フラグを初期化し、当該スリープ処理を終了する。
以上説明したように、バッテリパック4においては、制御回路40のスリープ状態への移行時、及び、各種異常検出時に、そのときの日時を表す日時情報を含む履歴情報を不揮発性メモリ45に格納する。
また、制御回路40は、バッテリパック4が電動工具2若しくは充電器6に装着された際に、電動工具2若しくは充電器6から日時情報(詳しくは、電動工具2若しくは充電器6が外部機器8から取得した日時情報)を取得する。
そして、その取得した日時情報から得られる日時と、バッテリパック4側で計測中の日時との差分を、差分情報として算出し、不揮発性メモリ45に履歴情報を格納する際には、その差分情報を含む日時情報を、履歴情報に付与する。
従って、本実施形態のバッテリパック4によれば、制御回路40において、日時カウントアップ処理にて計測される日時と、差分情報とに基づき、現在の日時を正確に把握することができる。
また、不揮発性メモリ45には、差分情報を含む日時情報が付与された履歴情報が格納されるので、バッテリパック4の使用者は、不揮発性メモリ45に記憶された履歴情報から、バッテリパック4の動作履歴を、動作日時と共に正確に把握することができ、バッテリパック4のトレーサビリティ管理を適正に行うことができる。
また、不揮発性メモリ45に履歴情報を格納する際、履歴情報には、各種異常状態の検出回数を表す回数情報が付与されることから、履歴情報を書き込むために不揮発性メモリ45に記憶された古い履歴情報が消去されたとしても、不揮発性メモリ45の記憶された履歴情報から、過去に検出された異常内容とその検出回数を検知することができる。
よって、バッテリパック4においても、電動工具2や充電器6と同様、不揮発性メモリ45の記憶容量の制限により、バッテリパック4のトレーサビリティ管理を実施できなくなるのを防止できる。
また、例えば、バッテリ電圧の低下等によって、制御回路40が完全に動作を停止した際には、S570の日時カウントアップ処理も停止され、日時計測を継続することができなくなる。しかし、充電によりバッテリ電圧が上昇して、制御回路40が動作を開始すれば、差分情報が生成されることから、制御回路40は、その差分情報と計測中の日時情報とから現在の日時を正確に検知することができる。また、差分情報から、制御回路40の動作停止時間(換言すればバッテリ36の電圧低下期間)を推定することもできる。
なお、本実施形態のバッテリパック4においては、制御回路40が、本発明の通信手段、日時情報取得手段、制御手段、及び、計測手段に相当し、不揮発性メモリ45は、本発
明の記憶手段に相当する。
また特に、制御回路40にて実行される制御処理の内、S530にて実行される通信処理は、本発明の通信手段及び日時情報取得手段として機能し、S540〜S560にて実行される異常状態確認処理、充電制御処理、及びメモリ操作処理は、本発明の制御手段として機能し、S570にて実行される日時カウントアップ処理は、本発明の計測手段として機能する。
[変形例]
以上、本発明の実施形態について説明したが、本発明は、上記実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内にて、種々の態様をとることができる。
上記実施形態では、電動工具2、バッテリパック4、及び、充電器6の各制御回路20、40、70は、不揮発性メモリ27、45、69に格納する履歴情報には、全て、各異常状態の検出回数を表す回数情報を付与するものとして説明した。
しかし、各異常状態の検出回数は、各制御回路20、40、70が制御処理を開始する際に、不揮発性メモリ27、45、69から最新値が読み込まれ、その後の制御処理にて更新される。
このため、図24に例示する電動工具の履歴情報のように、各制御回路20、40、70がスリープ状態に移行するときの履歴情報(記憶内容1)にだけ、異常検出回数を付与し、他の履歴情報(記憶内容2〜6)には、異常検出回数を付与しないようにしてもよい。
このようにすれば、不揮発性メモリ27、45、69に格納される履歴情報のデータ量を少なくして、不揮発性メモリ27、45、69の書き替え回数(換言すれば消去回数)を減らし、延いては、不揮発性メモリ27、45、69の寿命を延ばすことができる。
なお、この場合、不揮発性メモリ27、45、69に履歴情報を書き込む際に、過去の履歴情報が消去され、その後、スリープ状態へ移行する迄に、制御回路20、40、70への電源供給が遮断されると、それまでカウントした異常検出回数が消滅してしまう。
そこで、この場合には、各制御回路20、40、70が、不揮発性メモリ27、45、69に記憶された履歴情報を消去した際には、その時点で認識している異常検出回数を、不揮発性メモリ27、45、69に格納するようにするとよい。
次に、上記実施形態では、電動工具2は、バッテリパック4から電源供給を受けて動作するものとして説明した。しかし、本発明は、図25に例示するように、電動工具2が交流電力を供給する商用電源に接続するための電源プラグ91を備え、電源プラグ91を介して得られる交流電力にてモータ94を駆動するように構成されていても、上記実施形態と同様に適用することができる。
つまり、図25に示す電動工具2においては、駆動回路24として、交流電力を受けてモータ94を駆動する駆動回路が備えられ、制御回路20がこの駆動回路24を介してモータ94を駆動制御する。また、図25の電動工具2には、交流電力を受けて、内部回路駆動用の電源電圧(直流定電圧)Vccを生成する電源回路95が設けられている。
そして、このような電動工具2においても、外部機器8を接続するための端子16〜19を設け、制御回路20が、通信用の端子18、19を介して外部機器8との間で通信を行うことで、日時情報を取得するようにすれば、上記実施形態の電動工具2と同様の効果
を得ることができる。
また、上記実施形態では、バッテリパック4は、電動工具2又は充電器6に選択的に装着可能に構成され、電動工具2又は充電器6から日時情報を取得するものとして説明した。しかし、図26に例示するように、バッテリパック4は、電動工具2及び充電器6だけでなく、外部機器8にも接続できるよう、構成されていてもよい。そして、このようにすれば、バッテリパック4の制御回路40は、外部機器8から直接日時情報を取得することができるようになる。
また、上記実施形態では、外部機器8が、GPS衛星からの送信電波や標準電波から正確な日時を取得可能なGPSモジュール85及び標準電波受信モジュール86を備えた携帯通信端末であり、電動工具2及び充電器6には、その外部機器8を直接接続できるものとして説明した。
しかし、例えば、図27に例示するように、外部機器8がパーソナルコンピュータ(PC)であり、外部機器8を電動工具2及び充電器6に直接接続することができない場合には、電動工具2及び充電器6に、外部機器8との間の通信を中継するアダプタ9を接続するようにしてもよい。
このようにすれば、電動工具2及び充電器6は、アダプタ9を介して、外部機器8と通信を行い、外部機器8から正確な日時情報を取得することが可能となる。
なお、アダプタ9は、電動工具2若しくは充電器6から電力供給を受けるための端子81、82と、電動工具2及び充電器6に接続するための通信端子83、84と、外部機器8を接続するための通信端子97、98とを備える。
そして、通信端子83、84と通信端子97、98との間には、各装置間で送受信される通信信号を適正なロジックレベルに変換するロジックレベル変換回路96が設けられており、端子81、82には、ロジックレベル変換回路96に電源供給を行うレギュレータ87が接続されている。
また次に、上記実施形態及び上記変形例では、電動工具2及び充電器6、若しくはバッテリパック4は、外部機器8から日時情報を取得するために、外部機器8を、端子を介して接続可能に構成されるものとして説明した。
しかし、電動工具2、バッテリパック4、充電器6が外部機器8から日時情報を取得するようにするには、必ずしも、外部機器8を、端子を介して接続するように構成する必要はなく、外部機器8との間で無線通信することで、日時情報を取得するようにしてもよい。また、電動工具2、バッテリパック4、充電器6と、外部機器8との間の通信は、外部機器8に電源供給を行うのに利用される電力線を用いて行うようにしてもよい。
また更に、上記実施形態及び変形例では、本発明を、電動工具システムを構成する電動工具2、バッテリパック4、充電器6、若しくは、商用電源から交流電力を受けて動作する電動工具2に適用する場合について説明したが、本発明は、例えば、草刈り器や掃除機等の電動作業機に適用することもできる。
また、上記実施形態及び変形例では、不揮発性メモリ27、45、69は、制御回路20,40,70とは別に設けられているが、制御回路20,40,70を構成するMCU内に設けてもよい。
また、不揮発性メモリ27、45、69に記憶された履歴情報は、パーソナルコンピュ
ータ(PC)等の情報機器にコピー若しくは移動し、情報機器内で各種処理をすることで、履歴情報を閲覧できるようにしてもよい。
そして、特に、図27に示したシステムによれば、外部機器8としてのPCを、アダプタ9を介して電動工具2に接続できるので、不揮発性メモリ27内の情報を外部機器8に簡単にコピー若しくは移動することができる。よって、使用者は、外部機器8としてのPCを利用して、不揮発性メモリ27に格納された履歴情報を閲覧することができるようになる。
また、上記実施形態及び変形例では、外部機器8は、電動工具2や充電器6とは別体で構成されるものとして説明したが、例えば、電動工具2(若しくは充電器6)に外部機器8の機能(GPSモジュール85、標準電波受信モジュール86等を利用した日時情報検出機能)を設け、電動工具2(若しくは充電器6)がバッテリパック4に対する外部機器となって、バッテリパック4に日時情報を提供するようにしてもよい。