(57)【要約】  【課題】  充電器及びバッテリパックの双方がマイコンを備えた電動工具用充電システムにおいて、充電の際にいずれか一方のマイコンが異常により誤動作しても、バッテリパック内の二次電池に悪影響が及ばないようにすることを目的とする。  【解決手段】  充電器及びバッテリパックはそれぞれ、マイコンを備えている。各マイコンは、充電器によるバッテリパックの充電開始前に相互にデータ通信を行い、そのデータ通信結果に基づいて、通信相手側のマイコンの動作確認（相互動作確認）を行う。そして、その相互動作確認によって双方のマイコンが正常であることが確認された上で、充電器側マイコンが充電制御を開始する。充電中も、予め決められた規定時間毎に各マイコン相互間でデータ通信及びそれに基づく相互動作確認を行い、いずれか一方のマイコンの異常が検出された場合は、他方のマイコンが充電停止のための所定の処理を実行する。【選択図】図３
2010115087.tif 000002
【特許請求の範囲】
【請求項１】
電動工具の駆動用に用いられ、該駆動用の電源としての二次電池、及び該二次電池の状態を監視するマイクロコンピュータであるバッテリ側マイコンを有する電動工具用バッテリパックと、
前記電動工具用バッテリパックが着脱自在に装着され、該電動工具用バッテリパックへ充電電力を供給して前記二次電池の充電を行う充電手段、及び該充電手段の動作を制御するマイクロコンピュータである充電器側マイコンを有する電動工具用充電器と、
を備え、
前記バッテリ側マイコン及び前記充電器側マイコンは、少なくとも前記充電手段による前記二次電池の充電が行われている間、相互にデータ通信を行うと共に該データ通信の結果に基づいて各々通信相手側のマイコンの動作状態を確認する相互動作確認を実行し、
前記相互動作確認によって前記バッテリ側マイコン及び前記充電器側マイコンのいずれか一方が通信相手側のマイコンの動作状態の異常を検出した場合、該検出した側のマイコンが前記二次電池の充電を停止させるための予め決められた充電停止処理を実行する
ことを特徴とする電動工具用充電システム。
【請求項２】
請求項１に記載の電動工具用充電システムであって、
前記バッテリ側マイコン及び前記充電器側マイコンは、各々、前記充電手段による前記二次電池の充電が行われている間、予め決められた規定時間毎に前記相互動作確認を実行する
ことを特徴とする電動工具用充電システム。
【請求項３】
請求項１又は２に記載の電動工具用充電システムであって、
前記バッテリ側マイコン及び前記充電器側マイコンは、前記相互動作確認を、各々、該各マイコン毎に予め決められた種類の送信データを通信相手側のマイコンに送信して、該通信相手側のマイコンから該送信データに対応した応答データが送信されてくるか否かを確認することにより実行する
ことを特徴とする電動工具用充電システム。
【請求項４】
請求項３に記載の電動工具用充電システムであって、
前記バッテリ側マイコン及び前記充電器側マイコンは、前記充電手段による前記二次電池の充電が行われている間の前記相互動作確認において、各々、前記応答データが予め決められた時間内に受信されなかった場合は、通信相手側のマイコンが異常であると判断する
ことを特徴とする電動工具用充電システム。
【請求項５】
請求項３又は４に記載の電動工具用充電システムであって、
前記相互動作確認は、前記バッテリ側マイコン及び前記充電器側マイコンのうちいずれか一方のマイコンが他方のマイコンへ予め決められた第１の送信データを送信することにより開始され、前記一方のマイコンは、前記第１の送信データの送信後に前記他方のマイコンから該第１の送信データに対応した第１の応答データが送信されてくるか否かに基づいて前記他方のマイコンの動作状態を確認し、前記他方のマイコンは、前記一方のマイコンからの前記第１の送信データに対して前記第１の応答データを送信し、その送信後、前記一方のマイコンから該第１の応答データに対応した第２の応答データが送信されてくるか否かに基づいて前記一方のマイコンの動作状態を確認する
ことを特徴とする電動工具用充電システム。
【請求項６】
請求項５に記載の電動工具用充電システムであって、
前記一方のマイコンは前記バッテリ側マイコンであり、
前記他方のマイコンは、前記充電器側マイコンである
ことを特徴とする電動工具用充電システム。
【請求項７】
請求項６に記載の電動工具用充電システムであって、
前記バッテリ側マイコンは、前記第１の送信データとして、前記充電器側マイコンに対してデータ通信を要求する旨のデータを送信し、
前記充電器側マイコンは、前記第１の応答データとして、前記バッテリ側マイコンに対して前記充電手段による前記二次電池の充電を制御するために必要な情報を要求する旨のデータを送信し、
前記バッテリ側マイコンは、前記第２の応答データとして、前記第１の応答データによって要求された前記情報を示すデータを送信する
ことを特徴とする電動工具用充電システム。
【請求項８】
請求項６又は７に記載の電動工具用充電システムであって、
前記充電器側マイコンは、前記充電手段による前記二次電池の充電が行われている間、予め決められたタイミング毎に、前記充電手段の制御状態に関する充電制御情報を前記バッテリ側マイコンへ送信し、
前記バッテリ側マイコンは、前記二次電池の充電が行われている間、前記充電器側マイコンから前記充電制御情報を受信する度に該充電制御情報を記憶手段に記憶しておき、前記第１の送信データの送信後、予め決められた時間内に前記充電器側マイコンから前記第１の応答データを受信しなかった場合、該充電器側マイコンに対して該充電器側マイコンがリセットされたか否かを確認するためのデータであるリセット確認コードを送信して、該リセット確認コードに対して該充電器側マイコンから予め決められた第３の応答データを受信した場合は、前記記憶手段に記憶されている最新の前記充電制御情報を前記充電器側マイコンへ送信し、
前記充電器側マイコンは、動作開始後、前記バッテリ側マイコンから前記リセット確認コードを受信した場合は、前記第３の応答データを送信して、該送信後に前記バッテリ側マイコンから送信されてくる前記充電制御情報に基づいて、前記充電手段の制御を開始する
ことを特徴とする電動工具用充電システム。
【請求項９】
請求項１〜８のいずれかに記載の電動工具用充電システムであって、
前記充電器側マイコンは、前記充電手段による前記二次電池の充電が行われている際に前記相互動作確認を実行している間は、該充電を一時停止させる
ことを特徴とする電動工具用充電システム。
【請求項１０】
請求項１〜９のいずれかに記載の電動工具用充電システムであって、
前記バッテリ側マイコン及び前記充電器側マイコンは、前記充電手段による前記二次電池の充電が開始される前に前記相互動作確認を実行し、該相互動作確認によって双方のマイコンが正常であることが確認された場合に、前記充電器側マイコンが前記充電手段を制御して前記二次電池の充電を行う
ことを特徴とする電動工具用充電システム。
【請求項１１】
請求項１〜１０のいずれかに記載の電動工具用充電システムであって、
前記電動工具用バッテリパックは、
前記電動工具用充電器から供給される前記充電電力を受電するための受電用端子と、
前記バッテリ側マイコンが前記充電器側マイコンとの前記データ通信を前記受電用端子を介して行うために該バッテリ側マイコンと該受電用端子との間に設けられたバッテリ側データ送受信回路と、を備え、
前記電動工具用充電器は、
前記充電電力を前記電動工具用バッテリパックへ供給するための供給用端子と、
前記充電器側マイコンが前記バッテリ側マイコンとの前記データ通信を前記供給用端子を介して行うために該充電器側マイコンと該供給用端子との間に設けられた充電器側データ送受信回路と、を備えている
ことを特徴とする電動工具用充電システム。
【請求項１２】
請求項１〜１１のいずれかに記載の電動工具用充電システムを構成する電動工具用バッテリパック。
【請求項１３】
請求項１〜１１のいずれかに記載の電動工具用充電システムを構成する電動工具用充電器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電動工具用充電システム、この電動工具用充電システムを構成する電動工具用バッテリパック、及び電動工具用充電システムを構成するものであって電動工具用バッテリパックを充電するための電動工具用充電器に関する。
【背景技術】
【０００２】
従来より、例えばリチウムイオン電池等の二次電池を有する電動工具用バッテリパック（以下、単に「バッテリパック」ともいう）、及びこのバッテリパックを充電する電動工具用充電器（以下、単に「充電器」ともいう）として、それぞれマイコンを備えたものが知られている。
【０００３】
バッテリパック及び充電器が各々マイコンを備えることで、充電器によるバッテリパックの充電の際に各マイコンによる充電動作のきめ細かな制御・監視等が可能となり、これにより適切な充電が実現される。
【０００４】
更に、充電の際に双方のマイコンが互いにデータ通信を行い、必要な情報を取得することで、より適切な充電を実現する技術も提案されている（例えば、特許文献１参照。）。
【０００５】
特許文献１に開示されている充電方法は、概ね次の通りである。即ち、充電の際、まず充電器のマイコンがバッテリパックのマイコンに対して最大充電電圧及び最大充電電流を示す情報の送信を依頼する。これに対してバッテリパックのマイコンは、その依頼された情報（バッテリパック内に保持）を充電器へ送信する。バッテリパックのマイコンはまた、充電開始後は、自身が有するバッテリセル（二次電池）の現在の電圧値と電流値も送信する。
【０００６】
これに対して充電器は、充電の際、二次電池の電圧値に応じて定電流充電又は定電圧充電を切り換え制御すると共に、定電流充電時には最大充電電流を越えないよう、また、定電圧充電時には最大充電電圧を越えないように制御する。このように、必要に応じてバッテリパックから充電器へ情報を送信することで、より適切な充電の実現が可能となる。
【特許文献１】特開平９−２８５０２６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかし、マイコンによる充電制御が適切に行われるためには、当然ながら、バッテリパックのマイコン及び充電器のマイコンが共に正常に動作することが前提であり、仮にいずれか一方のマイコンが誤動作すると、充電が正常に行われなくなり、二次電池にダメージを与えてしまうおそれがある。
【０００８】
例えば、バッテリパックのマイコンが異常により誤動作すると、充電器のマイコンはそのバッテリパック側の誤動作を知らずに充電制御を続け、しかもその誤動作中のバッテリパックのマイコンからの情報（誤情報の可能性が高い）に基づいて充電制御を行うことにより、二次電池にダメージを与えてしまうおそれがある。
【０００９】
また、充電器のマイコンが異常により誤動作すると、充電器による充電制御が正常に行われなくなり、やはり、二次電池にダメージを与えてしまうおそれがある。
【００１０】
本発明は上記課題に鑑みなされたものであり、充電器及びバッテリパックの双方がマイコンを備えた電動工具用充電システムにおいて、充電の際にいずれか一方のマイコンが異常により誤動作しても、バッテリパック内の二次電池に悪影響が及ばないようにすることを目的とする。
【課題を解決するための手段】
【００１１】
上記課題を解決するためになされた請求項１記載の電動工具用充電システムは、電動工具の駆動用に用いられる電動工具用バッテリパックと、この電動工具用バッテリパックが着脱自在に装着される電動工具用充電器とを備えたものである。
【００１２】
電動工具用バッテリパックは、電動工具駆動用の電源としての二次電池、及び該二次電池の状態を監視するマイクロコンピュータであるバッテリ側マイコンを有する。電動工具用充電器は、電動工具用バッテリパックへ充電電力を供給して二次電池の充電を行う充電手段、及び該充電手段の動作を制御するマイクロコンピュータである充電器側マイコンを有する。
【００１３】
バッテリ側マイコン及び充電器側マイコンは、少なくとも充電手段による二次電池の充電が行われている間、相互にデータ通信を行うと共に該データ通信の結果に基づいて各々通信相手側のマイコンの動作状態を確認する相互動作確認を実行する。そして、その相互動作確認によってバッテリ側マイコン及び充電器側マイコンのいずれか一方が通信相手側のマイコンの動作状態の異常を検出した場合、該検出した側のマイコンが、二次電池の充電を停止させるための予め決められた充電停止処理を実行する。
【００１４】
このように構成された本発明の電動工具用充電システムでは、少なくとも二次電池の充電中、バッテリ側マイコン及び充電器側マイコンの双方が互いにデータ通信を行って相互動作確認を実行する。そして、例えばバッテリ側マイコンが充電器側マイコンの異常を検出した場合は、その検出したバッテリ側マイコンが、充電停止処理を実行する。また例えば、充電器側マイコンがバッテリ側マイコンの異常を検出した場合は、その検出した充電器側マイコンが、充電停止処理を実行する。
【００１５】
従って、本発明の電動工具用充電システムによれば、相互動作確認によっていずれか一方のマイコンが他方のマイコンの異常を検出した場合にはその検出した側のマイコンが充電停止処理を実行して二次電池の充電を停止させるため、マイコンの異常によってバッテリパック内の二次電池に悪影響が及ぶのを未然に防止することができる。
【００１６】
バッテリ側マイコン及び充電器側マイコンにおいて相互動作確認を実行するタイミングは種々考えられるが、充電手段による二次電池の充電が行われている間は、予め決められた規定時間毎に相互動作確認を実行するようにするとよい。
【００１７】
このように規定時間毎に相互動作確認を実行することで、充電中にいずれかのマイコンに異常が生じた場合にその異常を迅速に検出して充電を停止させることができる。
【００１８】
また、相互動作確認の具体的方法についても種々考えられるが、バッテリ側マイコン及び充電器側マイコンが各々、各マイコン毎に予め決められた種類の送信データを通信相手側のマイコンに送信して、その通信相手側のマイコンからその送信データに対応した応答データが送信されてくるか否かを確認することにより、相互動作確認を実行するようにするとよい。
【００１９】
このように、双方のマイコンがそれぞれ、自身が送信した送信データに対してこれに対応した応答データが送信されてくるか否かを確認することで、通信相手側のマイコンが正常に動作しているか否かを確実に確認することができる。
【００２０】
この場合更に、バッテリ側マイコン及び充電器側マイコンは、充電手段による二次電池の充電が行われている間の相互動作確認においては、各々、応答データが予め決められた時間内に受信されなかった場合は、通信相手側のマイコンが異常であると判断するようにするとよい。
【００２１】
このように、予め決められた時間内での応答データの受信有無についても異常検出の判断基準とすることで、通信相手側のマイコンに異常が生じた場合により確実且つ迅速にその異常を検出することができる。
【００２２】
ここで、相互動作確認として、双方のマイコンがそれぞれ送信データに対する応答データに基づいて通信相手側の動作状態を確認する場合、より具体的には、次のように実現することができる。
【００２３】
即ち、相互動作確認は、バッテリ側マイコン及び充電器側マイコンのうちいずれか一方のマイコンが他方のマイコンへ予め決められた第１の送信データを送信することにより開始される。そして、一方のマイコンは、第１の送信データを送信した後に他方のマイコンからその第１の送信データに対応した第１の応答データが送信されてくるか否かに基づいて、他方のマイコンの動作状態を確認する。また、他方のマイコンは、一方のマイコンからの第１の送信データに対して第１の応答データ（当該他方のマイコンにとっては相互動作確認のための送信データに相当）を送信した後、一方のマイコンからその第１の応答データに対応した第２の応答データが送信されてくるか否かに基づいて、一方のマイコンの動作状態を確認する。
【００２４】
このように、一方のマイコンによる第１の送信データの送信を起点として順次所定のデータ通信（各応答データの送受信）を行うことにより、相互動作確認を効率的に行うことができる。
【００２５】
ここで、本発明の充電システムでは、バッテリパックの二次電池の充電は、充電器側マイコンによって制御される。そのため、特に充電器側マイコンに異常が生じた場合にはこれを迅速に検出して充電を停止させることが望まれる。
【００２６】
そこで、上記のように一方のマイコンによる第１の送信データの送信を起点とした相互動作確認を実行するにあたっては、好ましくは、第１の送信データの送信を行う一方のマイコンをバッテリ側マイコンとし、他方のマイコンを充電器側マイコンとするとよい。
【００２７】
このように構成された電動工具用充電システムによれば、まずバッテリ側マイコンから充電器側マイコンへ第１の送信データを送信することにより相互動作確認が開始されるため、仮に充電器側マイコンに異常が生じてもこれをバッテリ側マイコンが確実且つ迅速に検出して充電を停止させることができる。
【００２８】
そしてこの場合、より具体的には、バッテリ側マイコンは、第１の送信データとして、充電器側マイコンに対してデータ通信を要求する旨のデータを送信し、充電器側マイコンは、第１の応答データとして、バッテリ側マイコンに対して充電手段による二次電池の充電を制御するために必要な情報を要求する旨のデータを送信し、その要求された情報をバッテリ側マイコンが第２の応答データとして送信するようにするとよい。
【００２９】
このようにすれば、相互動作確認を適切に実行しつつ、充電器側マイコンは充電制御のために必要な情報をバッテリパックから取得することができるため、双方のマイコンが互いに通信相手側のマイコンを監視しつつ、充電器側マイコンによる二次電池の充電が適切に行われる。
【００３０】
ところで、一般的なマイコンは、その動作中に何らかの要因（例えば電源の瞬間的な低下等）でリセット（初期化）してしまう可能性がある。そのため、例えば充電器側マイコンにおいてもその動作中にリセットする可能性があり、仮にリセットすると、充電器側マイコン自体に異常が生じたわけではないにもかかわらず、バッテリ側マイコンが充電器側マイコンに異常が生じたものと判断して充電停止処理を実行してしまうおそれがある。
【００３１】
そこで、上記のようにバッテリ側マイコンからの送信データの送信を起点とした相互動作確認をするよう構成された電動工具用充電システムは、更に、次のように構成されたものであるとよい。即ち、充電器側マイコンは、充電手段による二次電池の充電が行われている間、予め決められたタイミング毎に、充電手段の制御状態に関する充電制御情報をバッテリ側マイコンへ送信する。バッテリ側マイコンは、二次電池の充電が行われている間、充電器側マイコンから充電制御情報を受信する度にその充電制御情報を記憶手段に記憶しておく。そして、第１の送信データの送信後、予め決められた時間内に充電器側マイコンから第１の応答データを受信しなかった場合、充電器側マイコンがリセットされたか否かを確認するためのデータであるリセット確認コードを充電器側マイコンへ送信し、そのリセット確認コードに対して充電器側マイコンから予め決められた第３の応答データを受信した場合は、記憶手段に記憶されている最新の充電制御情報を充電器側マイコンへ送信する。そして、充電器側マイコンは、動作開始後、バッテリ側マイコンからリセット確認コードを受信した場合は、上記第３の応答データを送信して、その送信後にバッテリ側マイコンから送信されてくる充電制御情報に基づいて、充電手段の制御を開始する。
【００３２】
つまり、充電器側マイコンは、充電中、予め決められたタイミング毎にそのときの充電制御情報をバッテリ側マイコンへ送信してバッテリパック側にその充電制御情報を記憶してもらう。そして、充電中に充電器側マイコンがリセットした場合は、充電器側マイコンは、バッテリ側マイコンから最新の（リセットする直前にバッテリ側マイコンへ送信した）充電制御情報を取得して、その取得した充電制御情報に基づいて充電を開始（充電手段の制御を開始）する。
【００３３】
このように構成された電動工具用充電システムによれば、充電中に充電器側マイコンがリセットした場合、リセット直前の充電制御情報に基づいて、そのリセット直前の充電制御状態から引き続き充電を再開することができる。
【００３４】
また、本発明の電動工具用充電システムにおいて、充電器側マイコンは、充電手段による二次電池の充電が行われている際に相互動作確認を実行している間は、その充電（即ち充電電力の供給）を一時停止させるようにするとよい。
【００３５】
充電手段の構成によっては、充電電力の生成・供給の際にノイズが発生するおそれがあり、そのノイズのレベルも充電手段の構成によって異なる。そして、充電手段によってノイズが発生すると、そのノイズによって各マイコン相互間のデータ通信が正常に行われなくなるおそれがある。
【００３６】
そこで、上記のように、二次電池の充電中、相互動作確認を実行している間は充電を一時停止させるようにすれば、相互動作確認の実行中は少なくとも充電手段によるノイズの影響を排除することができ、相互動作確認を高精度に行うことができる。
【００３７】
また、本発明の電動工具用充電システムにおいて、バッテリ側マイコン及び充電器側マイコンは、充電手段による二次電池の充電が開始される前に相互動作確認を実行し、その相互動作確認によって双方のマイコンが正常であることが確認された場合に、充電器側マイコンが充電手段を制御して二次電池の充電を行うようにするとよい。
【００３８】
つまり、相互動作確認を、二次電池の充電中に加えてその充電開始前にも実行するのである。これにより、充電開始前の相互動作確認によっていずれかのマイコンの異常が検出された場合は充電そのものが行われないため、マイコンの異常による二次電池への悪影響をより確実且つ十分に防止することができる。
【００３９】
また、相互動作確認のために各マイコンがそれぞれ行うデータ通信は、例えば、バッテリパック及び充電器の双方でそれぞれデータ通信専用の通信端子を設け、その通信端子を介して行うようにしてもよいが、充電電力供給用に設けられている端子を用いてデータ通信をも行うようにしてもよい。
【００４０】
即ち、電動工具用バッテリパックは、電動工具用充電器から供給される充電電力を受電するための受電用端子と、バッテリ側マイコンが充電器側マイコンとのデータ通信を受電用端子を介して行うためにバッテリ側マイコンと受電用端子との間に設けられたバッテリ側データ送受信回路とを備えている。また、電動工具用充電器は、充電電力を電動工具用バッテリパックへ供給するための供給用端子と、充電器側マイコンがバッテリ側マイコンとのデータ通信を供給用端子を介して行うために充電器側マイコンと供給用端子との間に設けられた充電器側データ送受信回路とを備えている。
【００４１】
このように構成された電動工具用充電システムによれば、充電電力供給用の端子（受電用端子、供給用端子）を利用してデータ通信がなされるため、これら各端子とは別にデータ通信専用の端子を設ける必要がなく、バッテリパック及び充電器の構成の簡素化、コストダウンが可能となる。
【００４２】
また、上記課題を解決するためになされた本発明の電動工具用バッテリパックは、上述した本発明の電動工具用充電システムを構成するものである。そのため、この電動工具用バッテリパックによれば、充電器側マイコンの異常を検出した場合には充電停止処理を実行して二次電池の充電を停止させるため、充電器側マイコンの異常によってバッテリパック内の二次電池に悪影響が及ぶのを未然に防止することができる。また、自身のマイコン（バッテリ側マイコン）に異常が生じた場合も、その異常が充電器側マイコンで検出されて充電器側マイコンによって充電停止処理が実行されるため、自身のマイコンの異常によってバッテリパック内の二次電池に悪影響が及ぶのを未然に防止することもできる。
【００４３】
また、上記課題を解決するためになされた本発明の電動工具用充電器は、上述した本発明の電動工具用充電システムを構成するものである。そのため、この電動工具用充電器によれば、バッテリ側マイコンの異常を検出した場合には充電停止処理を実行して二次電池の充電を停止させるため、バッテリ側マイコンの異常によってバッテリパック内の二次電池に悪影響が及ぶのを未然に防止することができる。また、自身のマイコン（充電器側マイコン）に異常が生じた場合も、その異常がバッテリ側マイコンで検出されてバッテリ側マイコンによって充電停止処理が実行されるため、自身のマイコンの異常によってバッテリパック内の二次電池に悪影響が及ぶのを未然に防止することもできる。
【発明を実施するための最良の形態】
【００４４】
以下に、本発明の好適な実施形態を図面に基づいて説明する。
【００４５】
［第１実施形態］
（１）電動工具用充電システムの全体構成
図１は、本発明が適用された実施形態の電動工具用充電システム３０を構成する電動工具用バッテリパック（以下単に「バッテリパック」という）１０及び電動工具用充電器（以下単に「充電器」という）２０の外観を示す斜視図である。
【００４６】
バッテリパック１０は、例えば充電式インパクトドライバや充電式ドライバドリル、充電式インパクトレンチなど（これらはあくまでも一例）の各種電動工具に対して着脱自在に装着されて、これら電動工具にその駆動用の電源を供給するためのものであり、内部にその電源としてのバッテリ３１（図２参照）が備えられている。
【００４７】
また、バッテリパック１０は、その一側面に、充電器２０の充電側装着部２７或いは電動工具の工具本体に装着されるバッテリ側装着部１７が形成されている。そして、このバッテリ側装着部１７における所定の位置に、充電器２０の充電側ターミナル２６或いは工具本体の工具側ターミナル（図示略）と電気的に接続されるバッテリ側ターミナル１６が設けられている。
【００４８】
このバッテリ側ターミナル１６は、充放電電流が通電されるバッテリ側正極端子１１及びバッテリ側負極端子１２や、バッテリ側信号端子群１３を備えた構成となっている。バッテリ側信号端子群１３は、少なくとも充電器接続信号入力端子５３、充電許可・停止信号出力端子５４、データ入出力端子５５、及びクロック入力端子５６（いずれも図２参照）を含む複数の端子からなるものである。
【００４９】
充電器２０は、図示しない外部入力電源（本実施形態ではＡＣ１００Ｖ電源）から、バッテリパック１０内のバッテリ３１を充電するための所定電圧の充電用直流電源（充電電力）を生成するものである。この充電器２０は、上面の一端側にバッテリパック１０が装着される充電側装着部２７が形成されており、この充電側装着部２７における所定の位置（充電側装着部２７の内部）に充電側ターミナル２６が設けられている。
【００５０】
この充電側ターミナル２６は、バッテリパック１０へ充電用直流電源を供給するための充電側正極端子２１と充電側負極端子２２や、充電側信号端子群２３を備えた構成となっている。充電側信号端子群２３は、少なくとも充電器接続信号出力端子８３、充電許可・停止信号入力端子８４、データ入出力端子８５、及びクロック出力端子８６（いずれも図２参照）を含む複数の端子からなるものである。
【００５１】
また、充電器２０には、当該充電器２０の動作状態やバッテリパック１０の充電状態等を外部へ表示するための、３つのＬＥＤを備えた表示部２８が設けられている。
【００５２】
このように構成された電動工具用充電システム３０において、バッテリパック１０のバッテリ側装着部１７を充電器２０の充電側装着部２７に装着すると、双方のターミナル１６，２６が電気的に接続される。
【００５３】
より詳しくは、バッテリパック１０のバッテリ側正極端子１１が充電器２０の充電側正極端子２１と接続され、バッテリパック１０のバッテリ側負極端子１２が充電器２０の充電側負極端子２２と接続される。また、バッテリパック１０のバッテリ側信号端子群１３を構成する充電器接続信号入力端子５３、充電許可・停止信号出力端子５４、データ入出力端子５５、及びクロック入力端子５６が、それぞれ、充電器２０の充電側信号端子群２３を構成する充電器接続信号出力端子８３、充電許可・停止信号入力端子８４、データ入出力端子８５、及びクロック出力端子８６と接続される（図２参照）。これにより、充電器２０による、バッテリパック１０内のバッテリ３１の充電が可能な状態となる。
【００５４】
（２）電動工具用充電システムの電気的構成
次に、本実施形態の電動工具用充電システム３０の電気的構成について、図２を用いて説明する。図２は、電動工具用充電システム３０の電気的構成を簡略的に示す電気回路図である。図２は、充電器２０にバッテリパック１０が装着されて両者が電気的に接続されている状態を示している。
【００５５】
まず、バッテリパック１０の電気的構成について説明する。バッテリパック１０は、図２に示す通り、バッテリ３１と、このバッテリ３１の充放電制御や状態監視など、当該バッテリパック１０における各種制御機能を統括的に担うマイコン３２と、バッテリ３１の電力を入力としてバッテリパック１０内の各種回路を動作させるためのバッテリ側制御電源Ｖｃｃ（電圧Ｖｃｃの直流電源）を生成するバッテリ側レギュレータ３３とを備えている。なお、バッテリ側正極端子１１はバッテリ３１の正極側に接続され、バッテリ側負極端子１２はバッテリ３１の負極側に接続されている。
【００５６】
バッテリ３１は、複数の電池セルＢ１，Ｂ２，・・・，Ｂｎが直列接続されてなるものである。本実施形態では、各電池セルＢ１，Ｂ２，・・・，Ｂｎはいずれも定格電圧３．６Ｖのリチウムイオン二次電池であり、これが４個直列接続されている。そのため、バッテリ３１全体の電圧（以下「バッテリ電圧」という）Ｖｂａｔは正常時では１４．４Ｖ近傍である。
【００５７】
バッテリパック１０が電動工具本体に装着されて使用される際は、このバッテリ３１の電力が、バッテリ側正極端子１１及びバッテリ側負極端子１２を介して電動工具本体へ供給される。また、充電器２０によってバッテリ３１が充電される際は、後述するようにバッテリ側正極端子１１及びバッテリ側負極端子１２を介して充電器２０からの充電用直流電源がバッテリ３１へ供給される。
【００５８】
バッテリ側制御電源Ｖｃｃを生成するバッテリ側レギュレータ３３には、バッテリ電圧Ｖｂａｔが、シャットダウンスイッチ４０及びダイオードＤ１を介して入力される。シャットダウンスイッチ４０は、マイコン３２からのシャットダウン信号ＳＤに従ってオン・オフするものであり、そのオン・オフ制御の詳細については後述するが、バッテリ３１が正常である限り、通常はオンされている。そのため、通常はバッテリ電圧Ｖｂａｔがこのシャットダウンスイッチ４０及びダイオードＤ１を介してバッテリ側レギュレータ３３に入力される。バッテリ側レギュレータ３３は、この入力されたバッテリ電圧Ｖｂａｔを元に、バッテリ側制御電源Ｖｃｃを生成する。
【００５９】
なお、バッテリパック１０内の各回路は、図２に示すように、バッテリ側制御電源Ｖｃｃによって動作する回路と、バッテリ電圧Ｖｂａｔにより動作する回路とが混在している。そのため、シャットダウンスイッチ４０を介して入力されるバッテリ電圧Ｖｂａｔは、ダイオードＤ１のアノードへ入力されると共に、バッテリパック１０内におけるこのバッテリ電圧Ｖｂａｔにより動作する各回路へも入力される。
【００６０】
バッテリパック１０は、更に、バッテリ３１における各電池セルＢ１，Ｂ２，・・・，Ｂｎの電圧（以下「セル電圧」という）のうちいずれか１つを選択的に出力するセル選択スイッチ３８と、このセル選択スイッチ３８により選択されたいずれか１つの電池セルのセル電圧を増幅してセル電圧信号ＣｅＶとして出力する差動増幅回路３５と、バッテリ３１の近傍に設けられ、電池セルの温度（以下「セル温度」という）を検出してセル温度信号ＣｅＴとして出力する温度検出回路３９と、バッテリ電圧Ｖｂａｔを分圧抵抗Ｒｘ，Ｒｙで分圧したバッテリ電圧分圧値Ｖｚと所定の第１基準電圧Ｖｒ１とを比較してその比較結果を電圧低下検出信号ＬＶとして出力する電圧低下検出用コンパレータ３４と、バッテリ３１から電動工具本体への放電時における放電電流を検出するための電流検出抵抗Ｒ１と、この電流検出抵抗Ｒ１により検出された電流（即ち、電流値に対応した電圧信号）を所定のゲインで増幅して放電電流信号を生成するための、オペアンプ３７及び各抵抗Ｒ２，Ｒ３，Ｒ４からなる非反転増幅回路と、この非反転増幅回路による増幅後の放電電流信号と所定の第２基準電圧Ｖｒ２とを比較してその比較結果を放電検出信号ＣｕＤとして出力する放電検出用コンパレータ３６と、充電器２０が接続されたことを検出するための充電器検出用トランジスタＴｒ１と、を備えている。
【００６１】
なお、充電器検出用トランジスタＴｒ１として、本実施形態ではＮＰＮ型バイポーラトランジスタが用いられているが、これはあくまでも一例である。
【００６２】
セル選択スイッチ３８は、バッテリ電圧Ｖｂａｔにより動作し、マイコン３２からのセル選択信号ＳＥＬに従って、このセル選択信号ＳＥＬにより指示されたいずれか１つの電池セルの電圧が出力されて差動増幅回路３５へ入力されるよう構成されており、図示の如く複数のスイッチＳＷ１ａ，ＳＷ２ａ、ＳＷ１ｂ，ＳＷ２ｂ，ＳＷ３ａ，・・・，ＳＷｎａを備えている。
【００６３】
このような構成により、セル選択信号ＳＥＬによって例えば最も電位の低い電池セルＢ１が選択された場合は、セル選択スイッチ３８において、その電池セルＢ１の負極と差動増幅回路３５の非反転入力端子の間に接続されたスイッチＳＷ１ａ、及び電池セルＢ１の正極と差動増幅回路３５の反転入力端子の間に接続されたスイッチＳＷ１ｂをそれぞれオンし、他のスイッチは全てオフする。これにより、セル選択スイッチ３８からは、その選択された電池セルＢ１の電圧が差動増幅回路３５へ入力される。
【００６４】
差動増幅回路３５は、バッテリ側制御電源Ｖｃｃにより動作し、セル選択スイッチ３８から入力された電圧（即ち選択された何れか一つの電池セルの電位差）が増幅され、セル電圧信号ＣｅＶとしてマイコン３２へ入力される。
【００６５】
温度検出回路３９は、例えばサーミスタなどの感温素子を備えた周知の温度センサとして構成されたものである。感温素子は、バッテリ３１における各電池セルの近傍に設けられている。感温素子をどこに設けるか、或いはいくつ設けるかについては種々考えられ、例えば１つの感温素子を設けてこの感温素子に基づく検出結果を各電池セルのセル温度とみなすようにしてもよいし、各電池セルの各々に対して個別に感温素子を設け、電池セル毎に個々にセル温度を検出するようにしてもよい。本実施形態では、説明の簡略化のため、前者（感温素子が１つの場合）を前提として説明することとする。
【００６６】
電圧低下検出用コンパレータ３４は、バッテリ電圧Ｖｂａｔ（又はバッテリ側制御電源Ｖｃｃ）を電源として動作し、バッテリ電圧分圧値Ｖｚが第１基準電圧Ｖｒ１以上の正常状態であればハイ（Ｈ）レベルの電圧低下検出信号をマイコン３２へ出力する。一方、バッテリ電圧Ｖｂａｔが低下してバッテリ電圧分圧値Ｖｚが第１基準電圧Ｖｒ１より低くなると、ロー（Ｌ）レベルの電圧低下検出信号をマイコン３２へ出力する。この電圧低下検出用コンパレータ３４は、バッテリ３１が過放電状態となるのを防ぐべく、過放電状態に近くなった場合にこれを検出するものである。そのため、第１基準電圧Ｖｒ１としては、過放電状態に近いことが検出できるような値が適宜設定される。
【００６７】
電流検出抵抗Ｒ１は、バッテリ側負極端子１２からバッテリ３１の負極（最も電位の低い電池セルＢｎの負極）に至る通電経路に設けられており、この電流検出抵抗Ｒ１において放電電流により生じる電圧降下（電圧信号）が、非反転増幅回路を構成するオペアンプ３７へ入力される。
【００６８】
この非反転増幅回路は、基本的には、バッテリ側制御電源Ｖｃｃにより動作するオペアンプ３７を備えると共に、その非反転入力端子に電流検出抵抗Ｒ１により検出された電圧信号が入力され、反転入力端子は抵抗Ｒ２を介してグランド（接地電位）に接続されると共に抵抗Ｒ３を介して出力端子に接続された、周知の構成となっている。そして、本実施形態では、このような構成を基本としつつ、更に、反転入力端子とマイコン３２との間に抵抗Ｒ４を接続しており、これにより、非判定増幅回路のゲインを二種類に切り換えることが可能となっている。
【００６９】
抵抗Ｒ４は、その一端がオペアンプ３７の反転入力端子に接続され、他端がマイコン３２のゲイン切替信号出力ポート４７に接続されている。マイコン３２は、ゲイン切替信号出力ポート４７をハイインピーダンス又はＬレベル出力のいずれかに切り替えることにより、非反転増幅回路のゲイン切り替えを実現する。
【００７０】
例えば、電動工具の使用時など、放電電流が大きいときは、ゲイン切替信号ＧＣとしてハイインピーダンスの信号を出力することにより、その大きな放電電流（例えば数十Ａの大電流）を適切に検出できるように設定される。逆に、放電電流が小さい（例えば０Ａ近傍）になったときは、ゲイン切替信号ＧＣとしてＬレベルの信号を出力することにより、非反転増幅回路のゲインを大きくする。これにより、微小な電流でも確実に検出できるようになる。このように、マイコン３２は、放電電流の値に応じて非反転増幅回路のゲインを切り替えることで、放電電流の大きさにかかわらずこれを適切に検出できるようにするのである。
【００７１】
放電検出用コンパレータ３６は、バッテリ側制御電源Ｖｃｃにより動作し、オペアンプ３７から出力される放電電流信号が第２基準電圧Ｖｒ２以上のときはＨレベルの放電検出信号ＣｕＤをマイコン３２へ出力する。一方、オペアンプ３７からの放電電流信号が第２基準電圧Ｖｒ２より低くなると、Ｌレベルの放電検出信号ＣｕＤをマイコン３２へ出力する。この放電検出用コンパレータ３６は、電動工具本体への電力供給が開始されたときにこれを検出するためのものである。
【００７２】
充電器検出用トランジスタＴｒ１は、ベースが抵抗Ｒ６を介して充電器接続信号入力端子５３に接続され、エミッタが接地電位に接続され、コレクタが抵抗Ｒ５を介してバッテリ側制御電源Ｖｃｃに接続されると共にマイコン３２の充電器接続検出信号入力ポート４９に接続されている。
【００７３】
バッテリパック１０が充電器２０に装着されると、充電器２０内で生成される充電器側制御電源Ｖｄｄ（詳細は後述）が、充電器接続信号として、充電器接続信号入力端子５３及び抵抗Ｒ６を介して充電器検出用トランジスタＴｒ１のベースに入力される。これによりこの充電器検出用トランジスタＴｒ１はオンし、そのコレクタの電位、即ちマイコン３２へ入力される充電器接続検出信号ＣＨＤはＬレベルとなる。
【００７４】
つまり、バッテリパック１０に充電器２０が接続されていないときは、充電器検出用トランジスタＴｒ１はオフされ、マイコン３２に入力される充電器接続検出信号ＣＨＤは、抵抗Ｒ５を介して入力されるバッテリ側制御電源ＶｃｃによってＨレベルとなる。一方、充電器２０が接続されると、上記のように充電器２０からの充電器接続信号によって充電器検出用トランジスタＴｒ１がオンして、マイコン３２への充電器接続検出信号ＣＨＤがＬレベルとなる。そのため、マイコン３２は、充電器接続検出信号ＣＨＤのレベルに基づいて、充電器２０が接続されているか否かを判断することができる。
【００７５】
更に、充電器２０からバッテリパック１０に入力された充電器接続信号（充電器側制御電源Ｖｄｄ）は、ダイオードＤ２を介してバッテリ側レギュレータ３３にも入力される。バッテリ側レギュレータ３３は、ダイオードＤ１を介して入力されるバッテリ電圧Ｖｂａｔ、又はダイオードＤ２を介して入力される充電器側制御電源Ｖｄｄのうち、電圧値の大きい方を元にしてバッテリ側制御電源Ｖｃｃを生成できるよう構成されている。
【００７６】
即ち、バッテリ側レギュレータ３３は、基本的にはシャットダウンスイッチ４０及びダイオードＤ１を介して入力されるバッテリ電圧Ｖｂａｔを元にバッテリ側制御電源Ｖｃｃを生成する。
【００７７】
一方、電圧低下検出用コンパレータ３４からの電圧低下検出信号ＬＶによってバッテリ３１の過放電が検出されると、マイコン３２は、シャットダウン信号出力端子からシャットダウン信号を出力して、シャットダウンスイッチ４０をオフする。これにより、バッテリ側レギュレータ３３へのバッテリ電圧Ｖｂａｔの入力が遮断されてバッテリ側制御電源Ｖｃｃの生成が停止され、マイコン３２の動作自体も停止される、シャットダウンモードに移行する。
【００７８】
マイコン３２がシャットダウンモードから通常の動作状態（通常動作モード）に復帰するためには、バッテリパック１０を充電器２０に装着して充電を行う必要がある。バッテリパック１０を充電器２０に装着すると、充電器側制御電源Ｖｄｄが充電器接続信号入力端子５３及びダイオードＤ２を介してバッテリ側レギュレータ３３に入力される。これにより、バッテリ側制御電源Ｖｃｃの生成が開始され、マイコン３２が起動して、通常動作モードに復帰するのである。通常動作モードに復帰すると、マイコン３２はシャットダウンスイッチ４０を再びオンさせる。そのため、シャットダウンスイッチ４０のオン後は、バッテリ側レギュレータ３３は、再びバッテリ電圧Ｖｂａｔを元にバッテリ側制御電源Ｖｃｃの生成を行う。
【００７９】
マイコン３２は、ハードウェアとしては、その内部にＣＰＵ６１、ＲＯＭ６２、ＲＡＭ６３、ＮＶＲＡＭ（不揮発性メモリ）６４、タイマ６５などを備えた周知の構成となっており、バッテリ側レギュレータ３３により生成されたバッテリ側制御電源Ｖｃｃを電源として動作し、ＲＯＭ６２に記憶された各種プログラムに従って各種制御を実行する。
【００８０】
また、マイコン３２は、信号が入出力されるポートとして、電圧低下検出用コンパレータ３４からの電圧低下検出信号ＬＶが入力される電圧低下検出信号入力ポート４１、セル選択スイッチ３８へのセル選択信号ＳＥＬが出力されるセル選択信号出力ポート４２、差動増幅回路３５からのセル電圧信号ＣｅＶが入力されるセル電圧信号入力ポート４３、温度検出回路３９からのセル温度信号ＣｅＴが入力されるセル温度信号入力ポート４４、放電検出用コンパレータ３６からの放電検出信号ＣｕＤが入力される放電検出信号入力ポート４５、オペアンプ３７からの放電電流信号が入力される放電電流信号入力ポート４６、ゲイン切替信号ＧＣが出力されるゲイン切替信号出力ポート４７、シャットダウンスイッチ４０を制御するシャットダウン信号ＳＤが出力されるシャットダウン信号出力ポート４８、充電器検出用トランジスタＴｒ１から充電器接続検出信号ＣＨＤが入力される充電器接続検出信号入力ポート４９、充電器２０への充電許可・停止信号（充電許可信号ＣＰ、充電停止信号ＣＳ）が出力される充電許可・停止信号出力ポート５０、充電器２０内のマイコン７６との間で行われるデータ通信時に各種データＤＡＴＡが入出力されるデータ通信ポート５１、充電器２０内のマイコン７６からのクロック信号ＣＫが入力されるクロック信号入力ポート５２、などを備えている。
【００８１】
マイコン３２は、入力される上記各信号に基づいてバッテリ３１の状態を監視する監視機能を有すると共に、本実施形態では、充電器２０のマイコン７６との間で相互にデータ通信を行い、そのデータ通信の結果に基づいて充電器２０のマイコン７６の動作状態を確認する相互動作確認機能を有する。
【００８２】
即ち、本実施形態の電動工具用充電システム３０では、バッテリパック１０のマイコン３２と充電器２０のマイコン７６が、相互にデータ通信を行うと共にそのデータ通信の結果に基づいて各々通信相手側のマイコンの動作状態を確認する、相互動作確認を実行するよう構成されている。
【００８３】
バッテリパック１０のマイコン３２は、充電器２０のマイコン７６との間でＩＩＣ（Inter-IC）バスによるデータ通信（ＩＩＣ通信）を行うよう構成されているため、そのデータ通信のためにデータ通信ポート５１及びクロック信号入力ポート５２の２つのポートを備えている。そして、データ通信ポート５１から出力されたデータは、バッテリパック１０のデータ入出力端子５５及び充電器２０のデータ入出力端子８５を経て充電器２０内のマイコン７６（データ通信ポート７９）に入力される。また、クロック信号入力ポート５２には、充電器２０内のマイコン７６のクロック信号出力ポート８０から出力されたクロック信号CKが、充電器２０のクロック出力端子８６及びバッテリパック１０のクロック入力端子５６を経て入力される。
【００８４】
なお、各マイコン３２，７６の相互間のデータ通信がＩＩＣ通信であることはあくまでも一例であり、どのような通信方式（通信プロトコル）にてデータ通信を行うかについては適宜決めることができる。
【００８５】
また、バッテリパック１０のマイコン３２は、後述するバッテリ側充電制御処理において、適宜、充電許可信号（Ｈレベル信号）ＣＰ又は充電停止信号（Ｌレベル信号）ＣＳを出力することにより、充電器２０内の通電スイッチ７４をオン・オフさせる。具体的には、充電を許可する際に充電許可信号ＣＰを出力すると、その充電許可信号ＣＰがバッテリパック１０の充電許可・停止信号出力端子５４から充電器２０の充電許可・停止信号入力端子８４を経て充電器２０内のリレー駆動回路７５に入力され、これによりリレー駆動回路７５が動作して通電スイッチ７４がオンされる。一方、充電を停止させる際に充電停止信号ＣＳを出力すると、その充電停止信号ＣＳに従い、充電器２０内のリレー駆動回路７５が通電スイッチ７４をオフする。
【００８６】
バッテリパック１０のマイコン３２は、上述したデータ通信に基づく相互動作確認によって通信相手側の充電器２０のマイコン７６が異常であることを検出した場合は、バッテリ３１の充電を停止させるためのエラー処理（充電停止処理）を実行する。具体的には、充電器２０へ充電停止信号ＣＳを出力することにより、リレー駆動回路７５を動作させて通電スイッチ７４をオフさせる。
【００８７】
次に、充電器２０の電気的構成について説明する。充電器２０は、外部電源（本例ではＡＣ１００Ｖ電源）を直流に整流するための入力整流回路７１と、この入力整流回路７１による整流後の直流電源からバッテリ３１充電用の充電電力を生成する充電用スイッチング電源回路７２と、入力整流回路７１による整流後の直流電源から充電器２０内の各種回路を動作させるための充電器側制御電源Ｖｄｄ（電圧Ｖｄｄの直流電源）を生成する制御用スイッチング電源回路７３と、充電用スイッチング電源回路７２による充電電力の生成を制御（延いてはバッテリ３１の充電を制御）するマイコン７６と、バッテリパック１０からの充電許可・停止信号に基づいて通電スイッチ７４をオン・オフさせるリレー駆動回路７５と、を備えている。
【００８８】
本実施形態の充電器２０は、バッテリ３１の充電を、定電流制御又は定電圧制御により行うよう構成されている。両者の切り換えは、マイコン７６からの充電制御指令に応じて行われる。そのため、定電流制御による充電が行われる際は、充電用スイッチング電源回路７２にて充電電力として一定電流値の充電電流が生成され、バッテリパック１０に供給される。一方、定電圧制御による充電が行われる際は、充電用スイッチング電源回路７２にて充電電力として一定電圧の充電電圧が生成され、バッテリパック１０に供給される。
【００８９】
充電用スイッチング電源回路７２により生成された充電電力は、充電器２０の充電側正極端子２１及び充電側負極端子２２を介してバッテリパック１０へ供給される。また、充電器２０において、充電用スイッチング電源回路７２から充電側正極端子２１に至る充電電力の供給経路上には、上述した通電スイッチ７４が設けられている。そのため、この通電スイッチ７４がオンされているときはバッテリパック１０への充電電力の供給が可能な状態となり、逆にこの通電スイッチ７４がオフされているときは充電電力の供給ができない状態となる。
【００９０】
リレー駆動回路７５は、バッテリパック１０から充電許可信号ＣＳ（Ｈレベル信号）が出力されているときに通電スイッチ７４をオンさせ、バッテリパック１０から充電停止信号ＣＳ（Ｌレベル信号）が出力されているときは通電スイッチ７４をオフさせるよう構成されている。
【００９１】
充電器２０の充電許可・停止信号入力端子８４は、リレー駆動回路７５のプルアップ抵抗（図示略）を介して充電器側制御電源Ｖｄｄにプルアップされている。そのため、充電器２０にバッテリパック１０が装着されていないときは、充電許可・停止信号入力端子８４の電位はＨレベル（Ｖｄｄ近傍）となり、これにより通電スイッチ７４はオンされる。
【００９２】
一方、バッテリパック１０が装着されると、充電器２０の充電許可・停止信号入力端子８４はバッテリパック１０のマイコン３２の充電許可・停止信号出力ポート５０に接続されることになる。このとき、充電開始前はこの充電許可・停止信号出力ポート５０からはまだ充電許可信号ＣＰ（Ｈレベル信号）が出力されておらず、また、充電許可・停止信号出力ポート５０はマイコン３２内においてプルダウン抵抗を介して接地電位にプルダウンされている。そのため、充電器２０における充電許可・停止信号入力端子８４の電位は、バッテリパック１０の装着前後で変動（低下）し、これにより通電スイッチ７４はオフされることとなる。その後、充電の準備が整って充電を開始する際には、バッテリパック１０のマイコン３２が充電許可信号ＣＰを出力することで、充電器２０の充電許可・停止信号入力端子８４の電位をＨレベル（Ｖｄｄ近傍）に引き上げ、これにより通電スイッチ７４がオンされることとなる。
【００９３】
充電器２０のマイコン７６は、ハードウェアとしては、その内部にＣＰＵ９１、ＲＯＭ９２、ＲＡＭ９３、ＮＶＲＡＭ（不揮発性メモリ）９４、タイマ９５などを備えた周知の構成となっており、制御用スイッチング電源回路７３により生成された充電器側制御電源Ｖｄｄを電源として動作し、ＲＯＭ６２に記憶された各種プログラムに従って各種制御を実行する。
【００９４】
また、マイコン７６は、信号・データが入出力されるポートとして、充電用スイッチング電源回路７２へ充電制御用の充電制御指令が出力される充電制御指令出力ポート７７、バッテリ接続検出ポート７８、バッテリパック１０のマイコン３２との間で行われるデータ通信時に各種データＤＡＴＡが入出力されるデータ通信ポート７９、ＩＩＣ通信で用いられるクロック信号ＣＫが出力されるクロック信号出力ポート８０、などを備えている。
【００９５】
マイコン７６は、バッテリパック１０のマイコン３２との間で相互にデータ通信を行うことにより充電制御のために必要な情報を適宜取得すると共に、そのデータ通信の結果に基づいて充電器２０のマイコン７６の動作状態を確認する相互動作確認機能をも有する。マイコン７６は、この相互動作確認によって通信相手側のバッテリパック１０のマイコン３２が異常であることを検出した場合は、バッテリ３１の充電を停止させるためのエラー処理（充電停止処理）を実行する。具体的には、充電用スイッチング電源回路７２の動作を停止させることにより、バッテリパック１０への充電電力の供給を停止させる。
【００９６】
また、マイコン７６は、バッテリ接続検出ポート７８の電位変動（＝充電許可・停止信号入力端子８４の電位変動）に基づいて、バッテリパック１０の接続（装着）の有無を検出する。即ち、上述したように、バッテリパック１０が充電器２０に装着されると、充電器２０の充電許可・停止信号入力端子の電位（＝バッテリ接続検出ポート７８の電位）が変動する。マイコン７６は、この電位変動に基づいて、充電器２０にバッテリパック１０が装着されたか否かを検出する。
【００９７】
（３）各マイコンによる充電制御処理
次に、バッテリパック１０が充電器２０に装着されたときに双方のマイコン３２，７６において実施される充電制御処理（相互間のデータ通信及びそれに基づく相互動作確認を含む）について、図３〜図１０を用いて説明する。
【００９８】
（３−１）充電制御処理の概要
ここで、各マイコン３２，７６にて実施される充電制御処理の詳細を説明するのに先立ち、まず、その概要について、図３，図４を用いて説明する。図３及び図４は、バッテリパック１０のマイコン３２及び充電器２０における主要動作を互いに関連付けて示したシーケンス図である。なお、以下の説明では、バッテリパック１０のマイコン３２を単に「バッテリ側マイコン３２」とも称し、充電器２０のマイコン７６を単に「充電器側マイコン７６」とも称することとする。
【００９９】
図３に示すように、本実施形態の電動工具用充電システム３０では、各マイコン３２，７６は、それぞれバッテリパック１０，充電器２０の接続を認識すると、まず１秒間待機する。そして、バッテリ側マイコン３２の方からデータ通信を開始する。即ち、まずバッテリ側マイコン３２から通信要求コードを出力（送信）し、これに対して充電器側マイコン７６が充電制御用データの要求（要求命令の送信）を行う。これに対し、バッテリ側マイコン３２は、その要求されたデータを出力して、その出力に対して充電器側マイコン７６から充電準備コードが出力されると、８秒タイマをクリアしてスタートさせ、更に充電許可信号ＣＰを出力して充電器２０内の通電スイッチ７４をオンさせて、スタンバイ完了コードを出力する。なお、８秒タイマは、バッテリ側マイコン３２内のタイマ６５にて実現されるものである。
【０１００】
充電器側マイコン７６は、バッテリ側マイコン３２からのスタンバイ完了コードを受信すると、１６秒タイマをクリアしてスタートさせ、バッテリ３１の充電（即ち充電用スイッチング電源回路７２による充電電力の供給）を開始させる。そして、充電開始後（正確には１６秒タイマのスタート後）、バッテリ側マイコン３２からの通信要求コードの送信を待つ。なお、１６秒タイマは、充電器側マイコン７６内のタイマ９５にて実現されるものである。
【０１０１】
一方、バッテリ側マイコン３２は、スタンバイ完了コードの出力後（正確には８秒タイマのスタート後）、８秒間待機して、その間、二次電池への充電を行わせる。そして、８秒経過すると、８秒タイマを再びクリアして再スタートさせ、充電器側マイコン７６へ通信要求コードを出力する。
【０１０２】
充電器側マイコン７６は、１６秒タイマのスタートから１６秒以内に通信要求コードを受信すると、充電用スイッチング電源回路７２の動作を停止させて充電を一時停止させ、バッテリ側マイコン３２へ充電制御用データ（現在のバッテリ電圧Ｖｂａｔやバッテリ温度等）を要求する。なお、１６秒以内に通信要求コードを受信できなかった場合はエラー処理を行って充電を停止させる。
【０１０３】
バッテリ側マイコン３２は、８秒タイマの再スタートから１秒以内に充電器側マイコン７６からの充電制御用データの要求を受けると、その要求されたデータを送信する。
【０１０４】
これに対して充電器側マイコン７６は、１６秒タイマのスタートから１６秒以内にその要求したデータを受信すると、その受信したデータに基づき、充電を継続してもよい状態であるか否かの充電継続確認を行う。
【０１０５】
そして、充電を継続する必要がある場合は、充電継続コード及び充電ステータスを送信し、その後、１６秒タイマのスタートから１６秒以内にバッテリ側マイコン３２からタイマスタート命令が受信されると、再び１６秒タイマをクリア・スタートさせて充電を開始（再開）する。なお、充電ステータスは、本発明の充電制御情報に相当するものであり、充電器側マイコン７６が充電用スイッチング電源回路７２を制御して充電電力の供給（延いてはバッテリ３１の充電）を制御している際の、その制御状態に関する各種情報である。
【０１０６】
一方、充電を継続すべきでない場合は、充電停止コードを出力する。そして、バッテリ３１が満充電状態であることを確認した上で、バッテリ側マイコン３２へ満充電コードを出力し、充電完了処理を行う。
【０１０７】
バッテリ側マイコン３２は、充電器２０からの充電制御用データの要求に対してその要求されたデータを送信した後、８秒タイマのスタートから１秒以内に充電器側マイコン７６から充電停止コード、又は、充電継続コード及び充電ステータスを受信すると、その受信内容に基づいて、充電を継続させてもよい状態であるか否かの充電継続確認を行う。
【０１０８】
そして、充電停止コードを受信したことにより継続不可（充電を停止させるべき）と判断した場合は、充電器側マイコン７６からの満充電コードを待って、充電完了処理を行う。一方、充電継続コードの受信により継続必要（充電を継続させるべき）と判断した場合は、充電継続コードと共に受信した充電ステータスをＮＶＲＡＭ６４（本発明の記憶手段に相当）に記憶させる。そして、８秒タイマのスタートから１秒待機して、充電器側マイコン７６へタイマスタート命令を出力すると共に、８秒タイマを再びクリアして再スタートさせ、上述した「８秒間待機」以下の処理に戻る。
【０１０９】
なお、ＮＶＲＡＭ６４に記憶される充電ステータスは、充電器側マイコン７６から充電ステータスが送信されてくる度に更新され、常に最新の充電ステータスが記憶された状態となっている。
【０１１０】
ところで、充電中に何らかの要因で充電器側マイコン７６がリセットしてしまうことがあるが、充電中に充電器側マイコン７６がリセットすると、バッテリ側マイコン３２においては、８秒タイマの再スタート後の通信要求コード出力や要求データ（充電制御用データ）の出力に対し、その８秒タイマ再スタートから１秒以内には充電器側マイコン７６から応答が返ってこないことになる。その場合、バッテリ側マイコン３２は、図４に示すデータ通信等を行うことで、充電器側マイコン７６に対し、リセット直前の状態からの充電制御を再開させる。
【０１１１】
即ち、バッテリ側マイコン３２は、８秒タイマ再スタートから１秒以内に充電器側マイコン７６から所望のデータを受信しなかった場合は、図４に示すように、充電停止信号ＣＳを出力して通電スイッチ７４をオフさせた上で、８秒タイマを再びクリア、再スタートさせて、充電器リセット確認コードを出力する。
【０１１２】
これに対し、リセットして再起動した充電器側マイコン７６は、再び、バッテリパック１０の接続を認識した上で１秒間待機する。この間、バッテリ側マイコン３２からは上述した充電器リセット確認コードが出力されている。そのため、充電器側マイコン７６は、その１秒待機後にバッテリ側マイコン３２からの充電器リセット確認コードを受信すると、それに対して応答コマンドを出力する。
【０１１３】
バッテリ側マイコン３２は、充電器側マイコン７６からの応答コマンドを受信すると、ＮＶＲＡＭ６４に記憶されている最新の充電ステータス（リセット直前に充電器側マイコン７６から送信されてきた充電ステータス）を、充電器側マイコン７６へ出力する。これにより、充電器側マイコン７６は、リセット前に自身が行っていた充電制御の状態を知ることができ、リセット前の充電状態を再現させてその状態から充電制御を再開させることができるようになる。
【０１１４】
充電器側マイコン７６は、バッテリ側マイコン３２から充電ステータスを受信すると、スタンバイ完了コードを出力した上で、再び充電制御を再開（１６秒タイマのクリア・ススタート以下の処理を再開）する。
【０１１５】
バッテリ側マイコン３２は、充電器側マイコン７６からのスタンバイ完了コードを受信すると、充電許可信号ＣＰを出力して通電スイッチ７４を再びオンさせた上で、再び８秒タイマをクリア、スタートさせ、充電中におけるデータ通信（通信要求コードの出力に始まる相互データ通信）を再開する。
【０１１６】
このように、本実施形態では、充電開始前、充電中、及び充電器２０のリセット時において、各マイコン３２，７６が相互に上述したデータ通信を行う。そして、各マイコン３２，７６は、自身が送信したデータに対して通信相手側のマイコンから本来送信されてくるべきデータが送信されてこなかった場合は、エラー処理を行って二次電池の充電を停止させる。
【０１１７】
（３−２）充電制御処理の詳細
ここまで、バッテリ側マイコン３２と充電器側マイコン７６が実行する各種処理についてその概要を説明したが、各マイコン３２，７６が実行する充電制御処理のより具体的な内容を、図５〜図１０を用いて説明する。図５〜図１０は、いずれも、バッテリ側マイコン３２により実行されるバッテリ側充電制御処理、及び充電器側マイコン７６により実行される充電器側充電制御処理を示すフローチャートである。
【０１１８】
充電器側マイコン７６では、ＣＰＵ９１がＲＯＭ９２から充電器側充電制御処理プログラムを読み出し、このプログラムに従って処理が実行される。そのため、充電器側マイコン７６において充電器側制御処理を実行する主体は実際にはＣＰＵ９１であるが、ここではそのＣＰＵ９１等からなる充電器側マイコン７６が実行するものとして説明する。また、バッテリ側マイコン３２においても、ＣＰＵ６１がＲＯＭ６２からバッテリ側充電制御処理プログラムを読み出してこのプログラムに従って処理が実行される。そのため、バッテリ側マイコン３２においてバッテリ側充電制御処理を実行する主体は実際にはＣＰＵ６１であるが、ここではそのＣＰＵ６１等からなるバッテリ側マイコン３２が実行するものとして説明する。
【０１１９】
バッテリ側マイコン３２は、起動後、バッテリパック１０が充電器２０に装着されたかどうかを監視しており、装着されたことを認識すると（Ｓ５０５）、Ｓ５１０から始まるバッテリ側充電制御処理を開始する。なお、Ｓ５０５における充電器２０の認識は、充電器接続検出信号入力ポート４９に入力される充電器接続検出信号ＣＨＤに基づいて行われる。
【０１２０】
充電器側マイコン７６も、起動後、充電器２０にバッテリパック１０が装着されたかどうかを監視しており、装着されたことを認識すると（Ｓ１０５）、Ｓ１１０から始まる充電器側充電制御処理を開始する。
【０１２１】
バッテリ側マイコン３２は、バッテリ側充電制御処理の開始後、まず充電前処理（充電を開始する前に行うべき各種処理）を実行する。即ち、Ｓ５１０にて１秒間待機した後、Ｓ５１５にてバッテリ３１の充電が可能な状態か否かを判断する。Ｓ５１５における充電が可能な状態か否かの判断は、例えば、ＮＶＲＡＭ６４に記憶されている過去の異常履歴に基づいて行われる。
【０１２２】
即ち、バッテリ側マイコン３２は、バッテリ３１の状態を監視する監視機能においてバッテリ３１の異常を検出すると、当該バッテリ３１が充電禁止バッテリである旨の異常履歴をＮＶＲＡＭ６４に記憶する。そのため、Ｓ５１５の判断処理において、ＮＶＲＡＭ６４に異常履歴が記憶されていた場合は、バッテリ３１への充電は不可能と判断する（Ｓ５１５：ＮＯ）。そして、Ｓ５２０にて充電器側マイコン７６へ充電不可命令を出力（送信）し、Ｓ８０５以下のエラー処理へ進む。
【０１２３】
バッテリ側マイコン３２は、エラー処理に進むと、まずＳ８０５にて、充電停止信号ＣＳを出力して、充電器２０の通電スイッチ７４をオフさせ、充電電力がバッテリパック１０に供給されないようにする。そして、Ｓ８１０にてタイマ６５（８秒タイマ等を構成するもの）をクリアさせて停止させた後、Ｓ８１５にて、例えばバッテリ３１の異常により充電できなかった旨の異常履歴をＮＶＲＡＭ６４に記憶するといったエラー処理を実行する。
【０１２４】
Ｓ５１５の判断処理においてバッテリ３１への充電が可能と判断された場合は（Ｓ５１５：ＹＥＳ）、Ｓ５２５にて、充電器側マイコン７６へ通信要求コードを出力する。この通信要求コードの具体例としては、例えば予め決められた符号からなるデータ等が考えられる。
【０１２５】
そして、バッテリ側マイコン３２は、Ｓ５２５での通信要求コードの出力後、Ｓ５３０にて、その通信要求コードに対して充電器側マイコン７６から出力（送信）されてくるはずのデータ（ここでは充電制御用データを要求する旨のデータ）の入力（受信）を待つ。
【０１２６】
一方、充電器側マイコン７６も、充電器側充電制御処理の開始後、まず充電前処理（充電を開始する前に行うべき各種処理）を実行する。即ち、Ｓ１１０にて１秒間待機した後、Ｓ１１５にて、バッテリ側マイコン３２からのデータの入力（受信）を待つ。このとき、バッテリ側マイコン３２から送信されてくるデータとしては、充電不可命令（Ｓ５２０）、通信要求コード（Ｓ５２５）、又は後述する充電器リセット確認コード（図１０のＳ７２５）が想定される。
【０１２７】
充電器側マイコン７６は、バッテリ側マイコン３２からデータを受信すると（Ｓ１１５：ＹＥＳ）、まずＳ１２０にて、その受信したデータが充電器リセット確認コードであるか否かを判断する。この充電器リセット確認コードは、バッテリ側マイコン３２において、充電開始後のＳ６１５（図７）、Ｓ６５０（図８）、及びＳ６８５（図９）の判断処理で肯定判定されたとき、即ち８秒タイマのスタート時（図７のＳ６０５）から１秒以内に充電器側マイコン７６から所望のデータが受信されなかったときに、バッテリ側マイコン３２から出力されるものである。
【０１２８】
充電器側マイコン７６は、ノイズ或いは充電器側制御電源Ｖｄｄの瞬間的な低下等といった種々の要因で、充電中にリセットしてしまう可能性がある。そして、充電中にリセットして再起動すると、Ｓ１１０の１秒待機の処理によって、再起動後少なくとも1秒間は、データの送受信等を行うことができない。言い換えれば、バッテリ側マイコン３２は、充電器側マイコン７６がリセットすると、少なくとも１秒間は充電器側マイコン７６から所望のデータが受信されなくなる。
【０１２９】
そのため、バッテリ側マイコン３２は、１秒以内に充電器側マイコン７６から所望のデータが受信されなかったとき、すぐに充電器側マイコン７６が異常であると判断するのではなく、何らかの要因で充電器側マイコン７６がリセットしてしまった可能性があることから、まずは充電器リセット確認コードを出力することによって、充電器側マイコン７６がリセットしたのかどうかを確認するのである。
【０１３０】
充電器側マイコン７６は、Ｓ１２０の判断処理において、受信したデータが充電器リセット確認コードであった場合は（Ｓ１２０：ＹＥＳ）、図１０のＳ２８５に進んで応答コマンドを出力する（詳細は後述）。一方、Ｓ１２０の判断処理において、受信したデータが充電器リセット確認コードではないと判断した場合は（Ｓ１２０：ＮＯ）、Ｓ１２５にて、受信したデータが充電不可命令であるか否かを判断する。
【０１３１】
このとき、充電不可命令が受信された場合は（Ｓ１２５：ＹＥＳ）、Ｓ３０５以下のエラー処理へ進む。充電器側マイコン７６は、エラー処理に進むと、まずＳ３０５にて、充電用スイッチング電源回路７２による充電電力の生成、供給を停止させることによってバッテリ３１の充電を停止させる。そして、Ｓ３１０にてタイマ９５（１６秒タイマ等を構成するもの）をクリアさせて停止させた後、Ｓ３１５にて、例えばバッテリ３１の異常により充電できなかった旨の異常履歴をＮＶＲＡＭ９４に記憶するといったエラー処理を実行する。
【０１３２】
Ｓ１２５の判断処理において、受信したデータが充電不可命令ではないと判断した場合は（Ｓ１２５：ＮＯ）、更に、Ｓ１３０にて、受信したデータが通信要求コードであるか否かを判断する。ここで、通信要求データでもないと判断した場合は（Ｓ１３０：ＮＯ）、バッテリ側マイコン３２に何らかの異常が生じた可能性があるため、Ｓ３０５以下のエラー処理に進むが、通信要求データであると判断した場合は（Ｓ１３０：ＹＥＳ）、Ｓ１３５にて、バッテリ側マイコン３２へ充電制御用データの要求を行う。そして、Ｓ１４０（図６）にて、この要求に対してバッテリ側マイコン３２から送信されてくるはずのデータの入力を待つ。
【０１３３】
Ｓ１３５において要求する充電制御用データは、充電器側マイコン７６が充電制御を開始するために必要なものであり、一例として、バッテリ３１自体の情報（何Ｖバッテリであるか、等）、バッテリの充電容量、充電時に流せる最大充電電流、これまでの充電履歴（回数等）、などが挙げられる。
【０１３４】
つまり、本実施形態の充電器２０は、バッテリパック１０のみに対応した専用の充電器ではなく、電圧や充電容量等の異なる複数種類のバッテリパックを充電可能に構成されている。充電器側マイコン７６は、Ｓ１３５での要求に対してバッテリパック側から送信されてくる充電制御用データに基づいて、自身に装着されているバッテリパックの種類を判断し、そのバッテリパックに応じた適切な充電制御を実行するのである。
【０１３５】
一方、バッテリ側マイコン３２は、Ｓ５２５での通信要求コードの出力後、何らかのデータの入力があった場合は（Ｓ５３０：ＹＥＳ）、それが充電器側マイコン７６からのデータ要求命令（即ち充電制御用データの要求を示すもの）であるか否かを判断する（Ｓ５３５）。そして、充電制御用データの要求でなければ（Ｓ５３５：ＮＯ）、充電器側マイコン７６に何らかの異常が生じた可能性があるため、Ｓ８０５以下のエラー処理に進み、充電制御用データの要求であれば（Ｓ５３５：ＹＥＳ）、Ｓ５４０にて、バッテリ３１のステータス（状態）をチェックする。
【０１３６】
このバッテリ３１のステータスチェックは、一例として、電圧低下検出信号ＬＶに基づく、バッテリ３１の過放電状態のチェック、セル電圧信号ＣｅＶに基づく、各電池セルＢ１，Ｂ２，・・・，Ｂｎの電圧（セル電圧）及びバッテリ電圧Ｖｂａｔのチェック、セル温度信号ＣｅＴに基づくバッテリ３１の温度のチェック、などが挙げられる。
【０１３７】
そして、バッテリ側マイコン３２は、Ｓ５４０にて行ったステータスチェックの結果に基づき、Ｓ５４５（図６）にて、バッテリ３１が異常ではないか否かを判断する。ここで、例えばバッテリ３１が過放電状態になっているなど、バッテリ３１が充電を行うべきではない異常な状態であると判断した場合は（Ｓ５４５：ＹＥＳ）、Ｓ５５０にて充電不可命令を出力し、Ｓ８０５以下のエラー処理（図５）に進む。
【０１３８】
Ｓ５４５の判断処理にて、バッテリ３１に異常はないと判断した場合は（Ｓ５４５：ＮＯ）、Ｓ５５５にて、バッテリ３１が満充電状態であるか否か、即ち、バッテリ電圧Ｖｂａｔが予め設定された満充電電圧であるか否かを判断する。ここで、既に満充電状態であれば（Ｓ５５５：ＹＥＳ）、充電する必要性はないことから、図９の充電完了処理におけるＳ７００以下の処理に進む。
【０１３９】
即ち、バッテリ側マイコン３２は、Ｓ７００において、充電停止信号ＣＳを出力することにより、充電器２０の通電スイッチ７４をオフさせる。そして、Ｓ７０５にてタイマ６５をクリアさせて停止させた後、Ｓ７１０にて、例えばバッテリパック１０が充電器２０から取り外されるのを監視するといった、各種の充電完了処理を実行し、充電器２０からバッテリパック１０が取り外されたことを検出すると、このバッテリ側充電制御処理を終了する。
【０１４０】
そして、以後、バッテリパック１０が再び充電器２０に装着されてその装着がバッテリ側マイコン３２により検出されれば（図５のＳ５０５）、再びこのバッテリ側充電制御処理が実行されることとなる。
【０１４１】
バッテリ側マイコン３２は、Ｓ５５５の判断処理にて、バッテリ電圧Ｖｂａｔが満充電電圧に満たずにまだ満充電状態ではないと判断した場合は（Ｓ５５５：ＮＯ）、Ｓ５６０にて、バッテリ３１の温度が充電可能な温度範囲内にあるか否かを判断する。そして、充電可能な温度範囲内にないと判断した場合は（Ｓ５６０：ＮＯ）、充電可能な温度範囲内まで温度が低下するのを待って充電を行うべく、Ｓ５６５にて充電待機コードを出力して、再びＳ５３０（図５）に戻り、あらためて充電器側マイコン７６から充電制御用データの要求（図５のＳ１３５）が来るのを待つ。
【０１４２】
バッテリ３１の温度が充電可能な温度範囲内にある場合は（Ｓ５６０：ＹＥＳ）、Ｓ５７０にて、充電器側マイコン７６によりＳ１３５（図５）で要求された充電制御用データを出力する。そして、その出力後、Ｓ５７５にて、充電器側マイコン７６から充電準備コード（Ｓ１６０）を受信するのを待つ。
【０１４３】
一方、充電器側マイコン７６は、Ｓ１３５（図５）による充電制御用データの要求後、バッテリ側マイコン３２からのデータ入力を待ち、何らかのデータが入力されたときは（Ｓ１４０：ＹＥＳ）、Ｓ１４５にて、その入力データが充電不可命令（Ｓ５５０）であるか否かを判断する。このとき、充電不可命令であれば（Ｓ１４５：ＹＥＳ）、Ｓ３０５（図５）以下のエラー処理に進むが、充電不可命令ではない場合は（Ｓ１４５：ＮＯ）、続くＳ１５０にて、充電待機コード（Ｓ５６５）でるか否かを判断する。このとき、充電待機コードであれば（Ｓ１５０：ＹＥＳ）、再びＳ１３５（図５）に戻り、充電制御用データの要求を行う。そして、充電待機コードでない場合は（Ｓ１５０：ＮＯ）、続くＳ１５５にて、入力されたデータが正常であるか否か、即ち、Ｓ１３５で行った充電制御用データの要求に対してその要求したデータが正常に入力されたか否かを判断する。
【０１４４】
このとき、要求した充電制御用データが正常に入力されていない場合は（Ｓ１５５：ＮＯ）、バッテリ側マイコン３２に何らかの異常が生じた可能性があるため、Ｓ３０５（図５）以下のエラー処理に進むが、正常に入力されている場合は（Ｓ１５５：ＹＥＳ）、Ｓ１６０にて、充電準備コードを出力する。この充電準備コードは、充電器側マイコン７６において充電を実行する準備が整ったことを示すものである。
【０１４５】
そして、充電器側マイコン７６は、充電準備コードの出力後、Ｓ１６５にて、この充電準備コードに対してバッテリ側マイコン３２から送信されてくるはずのデータであるスタンバイ完了コード（Ｓ５９５）の入力を待つ。そして、何らかのデータを受信した場合（Ｓ１６５：ＹＥＳ）、Ｓ１７０にてそれがスタンバイ完了コードであるか否かを判断し、スタンバイ完了コードではない場合は（Ｓ１７０：ＮＯ）、バッテリ側マイコン３２に何らかの異常が生じた可能性があるため、Ｓ３０５（図５）以下のエラー処理に進み、スタンバイ完了コードであった場合は（Ｓ１７０：ＹＥＳ）、充電前処理を終えて、図７の充電中処理（Ｓ１７５以下の処理）に進む。
【０１４６】
一方、バッテリ側マイコン３２は、Ｓ５７０による要求データ（充電制御用データ）の出力後、充電器側マイコン７６からのデータ入力を待ち、何らかのデータが入力されたときは（Ｓ５７５：ＹＥＳ）、Ｓ５８０にて、その入力データが充電準備コード（Ｓ１６０）であるか否かを判断する。このとき、充電準備コードではない場合は（Ｓ５８０：ＮＯ）、充電器側マイコン７６に何らかの異常が生じた可能性があるため、Ｓ８０５（図５）以下のエラー処理に進むが、充電準備コードであった場合は（Ｓ５８０：ＹＥＳ）、続くＳ５８５にて、８秒タイマを一旦クリアさせてスタートさせる。つまり、タイマ６５を用いて８秒の経過を待つ。
【０１４７】
そして、Ｓ５９０にて充電許可信号ＣＰを出力することにより充電器２０の通電スイッチ７４をオンさせ、更にＳ５９５にて、充電器側マイコン７６へスタンバイ完了コードを出力して、充電前処理を終え、図７の充電中処理（Ｓ６００以下の処理）に進む。
【０１４８】
充電器側マイコン７６は、まずＳ１７５にて、１６秒タイマ（タイマ９５）を一旦クリアさせてスタートさせる。そして、Ｓ１８０にて、充電を開始する。つまり、充電用スイッチング電源回路７２を制御して、バッテリパック１０への充電電力の供給、延いてはバッテリ３１の充電を開始する。
【０１４９】
そして、充電器側マイコン７６は、Ｓ１８０の充電開始後、Ｓ１８５にて１６秒タイマのスタート（Ｓ１７５）から１６秒が経過したと判断されるまでの間、Ｓ１９０にて、バッテリ側マイコン３２からの通信要求コード（Ｓ６１０）の入力を待つ。
【０１５０】
バッテリ側マイコン３２は、Ｓ６００にて、Ｓ５８５（図６）の８秒タイマスタートから８秒経過するのを待つ。この８秒は、本発明の規定時間に相当するものであり、この間、充電器２０によるバッテリ３１の充電が行われる。そして、８秒経過すると（Ｓ６００：ＹＥＳ）、Ｓ６０５にて、８秒タイマを再びクリアさせて再スタートさせる。そして、Ｓ６１０にて、充電器側マイコン７６へ通信要求コードを出力する。
【０１５１】
充電器側マイコン７６は、Ｓ１８０の充電開始後、１６秒タイマのスタートから１６秒が経過するまでの間に何らかのデータの入力があった場合は（Ｓ１８５：ＮＯ、Ｓ１９０：ＹＥＳ）、Ｓ１９５にて、そのデータがバッテリ側マイコン３２からの通信要求コード（Ｓ６１０）であるか否かを判断する。そして、通信要求コードでない場合は（Ｓ１９５：ＮＯ）、バッテリ側マイコン３２に何らかの異常が生じた可能性があるため、Ｓ３０５（図５）以下のエラー処理に進むが、通信要求コードであった場合は（Ｓ１９５：ＹＥＳ）、Ｓ２００にて充電を一時停止させた上で、Ｓ２０５にて、バッテリ側マイコン３２に対し、充電制御用データを要求する。ここで要求する充電制御用データは、充電開始前にＳ１３５（図５）で要求した充電制御用データとは若干異なり、例えば現在のバッテリ電圧Ｖｂａｔやバッテリ温度など、主として、現在のバッテリ３１の状態を示すデータである。
【０１５２】
そして、充電器側マイコン７６は、Ｓ２０５による充電制御用データの要求後、Ｓ２１０にて１６秒タイマのスタート（Ｓ１７５）から１６秒が経過したと判断されるまでの間、Ｓ２１５にて、バッテリ側マイコン３２からの要求データ（Ｓ６４５）の入力を待つ。
【０１５３】
一方、バッテリ側マイコン３２は、Ｓ６１０の通信要求コードの出力後、８秒タイマの再スタート（Ｓ６０５）からの経過時間が１秒未満であることを限度として（Ｓ６１５）、Ｓ６２０にて、充電器側マイコン７６からの充電制御用データの要求（Ｓ２０５）を待つ。そして、データ入力がないまま８秒タイマの再スタートから１秒が経過した場合は（Ｓ６１５）、図１０の再充電許可処理（Ｓ７１５以下の処理）に進む。一方、８秒タイマの再スタートから１秒が経過するまでの間に何らかのデータの入力があった場合は（Ｓ６１５：ＮＯ、Ｓ６２０：ＹＥＳ）、にて、そのデータが充電器側マイコン７６からの充電制御用データの要求命令（Ｓ２０５）であるか否かを判断する。そして、充電制御用データの要求命令でない場合は（Ｓ６２５：ＮＯ）、充電器側マイコン７６に何らかの異常が生じた可能性があるため、Ｓ８０５（図５）以下のエラー処理に進むが、充電制御用データの要求命令であった場合は（Ｓ６２５：ＹＥＳ）、Ｓ６３０にて、バッテリ３１のステータス（状態）をチェックする。これは、図５のＳ５４０におけるバッテリステータスチェックと同じである。
【０１５４】
そして、バッテリ側マイコン３２は、Ｓ６３０のバッテリステータスチェックの結果に基づき、Ｓ６３５にて、バッテリ３１が正常か否かを判断する。ここで、例えばバッテリ３１が過放電状態になっているなど、バッテリ３１が充電を行うべきではない異常な状態であると判断した場合は（Ｓ６３５：ＮＯ）、Ｓ６４０にて充電不可命令を出力し、Ｓ８０５以下のエラー処理（図５）に進む。
【０１５５】
Ｓ６３５の判断処理にて、バッテリ３１が正常であると判断した場合は（Ｓ６３５：ＹＥＳ）、Ｓ６４５にて、充電器側マイコン７６から要求された充電制御用データ（Ｓ２０５）を出力する。そしてその出力後、８秒タイマの再スタート（Ｓ６０５）からの経過時間が１秒以内であることを限度として（図８のＳ６５０）、Ｓ６５５にて、充電器側マイコン７６からのコード入力を待つ。
【０１５６】
一方、充電器側マイコン７６は、Ｓ２１０にて１６秒が経過したと判断されるまでにバッテリ側マイコン３２から何らかのデータが入力された場合は（Ｓ２１５：ＹＥＳ）、Ｓ２２０（図８）にて、その入力されたデータが充電不可命令（図７のＳ６４０）であるか否かを判断する。なお、Ｓ２１０にて１６秒経過したことが判断された場合は、バッテリ側マイコン３２に何らかの異常が生じた可能性があるため、Ｓ３０５（図５）以下のエラー処理に進む。
【０１５７】
そして、充電不可命令であれば（Ｓ２２０：ＹＥＳ）、バッテリ側マイコン３２に何らかの異常が生じた可能性があるため、Ｓ３０５（図５）以下のエラー処理に進むが、充電不可命令ではなかった場合は（Ｓ２２０：ＮＯ）、続くＳ２２５にて、入力されたデータが正常であるか否か、即ち、Ｓ２０５で行った充電制御用データの要求に対してその要求したデータが正常に入力されたか否かを判断する。
【０１５８】
このとき、要求した充電制御用データが正常に入力されていない場合は（Ｓ２２５：ＮＯ）、Ｓ３０５（図５）以下のエラー処理に進むが、正常に入力されている場合は（Ｓ２２５：ＹＥＳ）、Ｓ２３０にて、入力された充電制御用データに基づき、充電を継続してもよい状態であるか否かの判断（充電継続確認）を行う。
【０１５９】
そして、充電を継続してもよい状態にあると判断した場合は（Ｓ２３０：ＹＥＳ）、Ｓ２４０にて、充電継続コード及び充電ステータスを送信し、その後、Ｓ２４５にて１６秒タイマのスタート（Ｓ１７５）から１６秒が経過したと判断されるまでの間、Ｓ２５０にて、バッテリ側マイコン３２からのタイマスタート命令（Ｓ６７５）の入力を待つ。なお、Ｓ２４５にて16秒経過したと判断された場合は、バッテリ側マイコン３２に何らかの異常が生じた可能性があるため、Ｓ３０５（図５）以下のエラー処理に進む。
【０１６０】
Ｓ２３０にて、充電を継続すべきではないと判断した場合は、Ｓ２３５にて充電停止コードを出力し、図９の充電完了処理（Ｓ２６０以下の処理）に進む。
【０１６１】
一方、バッテリ側マイコン３２は、Ｓ６４５（図７）の要求データの出力後、８秒タイマの再スタート（Ｓ６０５）から１秒以内に充電器側マイコン７６から何らかのデータが入力されたときは（Ｓ６５５：ＹＥＳ）、Ｓ６６０にて、その入力されたデータが充電継続コードであるか否かを判断する。そして、充電継続コードでなかった場合は（Ｓ６６０：ＮＯ）、図９の充電完了処理（Ｓ６８５以下の処理）に進むが、充電継続コードであった場合は（Ｓ６６０：ＹＥＳ）、Ｓ６６５にて、その充電継続コードと共に充電器側マイコン７６から送信されてきた充電ステータスをＮＶＲＡＭ６４に記憶する。そして、８秒タイマの再スタート（Ｓ６０５）から１秒経過した後（Ｓ６７０：ＹＥＳ）、Ｓ６７５にてタイマスタート命令を出力する。
【０１６２】
これに対し、充電器側マイコン７６は、Ｓ２４０における充電継続コード及び充電ステータスの出力後、１６秒以内にバッテリ側マイコン３２から何らかのデータが入力されると（Ｓ２５０：ＹＥＳ）、Ｓ２５５にて、その入力されたデータがタイマスタート命令であるか否かを判断する。そして、タイマスタート命令でない場合は（Ｓ２５５：ＮＯ）、バッテリ側マイコン３２に何らかの異常が生じた可能性があるため、Ｓ３０５（図５）以下のエラー処理に進むが、タイマスタート命令であった場合は（Ｓ２５５：ＹＥＳ）、Ｓ１７５（図７）に戻り、Ｓ１７５以下の処理を実行する。つまり、１６秒タイマを再びクリアして再スタートさせ（Ｓ１７５）、充電を開始（再開）する（Ｓ１８０）。
【０１６３】
一方、バッテリ側マイコン３２も、Ｓ６７５にてタイマスタート命令を出力した後、Ｓ６８０にて、８秒タイマを再びクリアして再スタートさせ、その後、再びＳ６００（図７）に戻ってＳ６００以下の処理を実行する。
【０１６４】
つまり、バッテリ側マイコン３２がＳ６７５にて出力するタイマスタート命令は、バッテリ側マイコン３２内のタイマ（８秒タイマ）６５と充電器側マイコン７６内のタイマ（１６秒タイマ）９５との同期をとるためになされるものである。バッテリ側マイコン３２がタイマスタート命令を出力することで、バッテリ側マイコン３２における８秒タイマの再スタート（図８のＳ６８０）と、充電器側マイコン７６における１６秒タイマの再スタート（図７のＳ１７５）とがほぼ同時になされ、これにより、充電器側マイコン７６によるＳ１８０の充電開始と、バッテリ側マイコン３２によるＳ６００の８秒待機がほぼ同時に再開される。
【０１６５】
次に、図９に示した一連の充電完了処理について説明する。充電器側マイコン７６は、Ｓ２３５（図８）にて充電停止コードを出力した後は、図９の充電完了処理に移り、まず２６０にて、バッテリ３１が満充電状態であるか否かを判断する。そして、まだ満充電状態ではない場合は（Ｓ２６０：ＮＯ）、Ｓ３０５（図５）以下のエラー処理に進む。つまり、Ｓ２３０（図８）で充電を継続すべきではないと判断されたにも関わらず、バッテリ３１はまだ満充電状態ではないということは、バッテリ３１が、充電を継続すべきではない何らかの異常状態になっていることが予想される。そのため、Ｓ２６０で満充電状態ではないと判断した場合はエラー処理を実行するのである。
【０１６６】
Ｓ２６０においてバッテリ３１が満充電状態である場合は（Ｓ２６０：ＹＥＳ）、Ｓ２６５にて、バッテリ側マイコン３２へ満充電コードを出力する。その後、Ｓ２７０にて、充電用スイッチング電源回路７２による充電電力の生成、供給を停止させることによってバッテリ３１の充電を停止させる。そして、続くＳ２７５にてタイマ９５（１６秒タイマ）をクリアさせて停止させた後、Ｓ２８０にて、例えばバッテリパック１０が充電器２０から取り外されるのを監視するといった、各種の充電完了処理を実行し、充電器２０からバッテリパック１０が取り外されたことを検出すると、この充電器側充電制御処理を終了する。
【０１６７】
一方、バッテリ側マイコン３２は、Ｓ６０５（図７）による８秒タイマの再スタートから１秒以内に充電器側マイコン７６から何らかのデータ入力があった場合は（Ｓ６９０：ＹＥＳ）、Ｓ６９５にてその入力されたデータが満充電コード（Ｓ２６５）であるか否かを判断する。そして、満充電コードではなかった場合は（Ｓ６９５：ＮＯ）、充電器側マイコン７６に何らかの異常が生じた可能性があるため、Ｓ８０５（図５）以下のエラー処理に進むが、満充電コードであった場合は（Ｓ６９５：ＹＥＳ）、既述のＳ７００以下の処理を行い、バッテリ側充電制御処理を終了する。
【０１６８】
次に、図１０に示した一連の再充電許可処理について説明する。バッテリ側マイコン３２は、充電開始後のＳ６１５（図７）、Ｓ６５０（図８）、及びＳ６８５（図９）の判断処理において、８秒タイマのスタート時（図７のＳ６０５）から１秒以内に充電器側マイコン７６から所望のデータが受信されなかった場合、充電器側マイコン７６が何らかの要因でリセットされた可能性があるとして、図１０の再充電許可処理に移る。即ち、まずＳ７１５にて充電停止信号ＣＳを出力して充電器２０の通電スイッチ７４をオフさせた後、Ｓ７２０にて、８秒タイマを再びクリアして再スタートさせる。そして、続くＳ７２５にて、充電器側マイコン７６へ充電器リセット確認コードを出力する。
【０１６９】
これに対し、充電器側マイコン７６は、仮に充電中にリセットしてしまった場合は、リセット後の充電器側充電制御処理の実行後、Ｓ１２０（図５）にて、バッテリ側マイコン３２からの充電器リセット確認コードを受信するはずである。充電器側マイコン７６は、この充電器リセット確認コードを受信すると（Ｓ１２０：ＹＥＳ）、図１０の再充電許可処理に移り、まずＳ２８５にて、充電器リセット確認コードに対する応答コマンドを出力する。
【０１７０】
バッテリ側マイコン３２は、Ｓ７２５における充電器リセット確認コードの出力後、充電器側マイコン７６から何らかのデータが入力されるのを１秒間待ち、１秒以内に何も入力されなければ（Ｓ７３０：ＹＥＳ）、Ｓ３０５（図５）以下のエラー処理に進む。一方、１秒以内に何らかのデータが入力された場合は（Ｓ７３５：ＹＥＳ）、Ｓ７４０にてそれが応答コマンド（Ｓ２８５）であるか否かを判断し、応答コマンドであれば（Ｓ７４０：ＹＥＳ）、Ｓ７４５にて、ＮＶＲＡＭ６５に記憶されている充電ステータスを送信する。そして、この充電ステータスに対して充電器側マイコン７６から出力されるはずのスタンバイ完了コードの入力を待つ。
【０１７１】
一方の充電器側マイコン７６では、Ｓ２８５における応答コマンドの出力後、バッテリ側マイコン３２から充電ステータスが入力されると（Ｓ２９０：ＹＥＳ）、Ｓ２９５にてその入力された充電ステータスをＮＶＲＡＭ９５に記憶する。これにより、充電器側マイコン７６は、リセット直前における自身の制御状態を知ることができ、リセット直前の制御状態から充電制御を再開することが可能となる。そして、続くＳ３００にて、バッテリ側マイコン３２へスタンバイ完了コードを出力して、図７の充電中処理（Ｓ１７５以下の処理）に移る。
【０１７２】
バッテリ側マイコン３２は、Ｓ７４５における充電ステータスの送信後、充電器側マイコン７６から何らかのデータが入力された場合に（Ｓ７５０：ＹＥＳ）、それがスタンバイ完了コードであったならば（Ｓ７５５：ＹＥＳ）、充電許可信号ＣＰを出力して充電器２０の通電スイッチ７４を再びオンさせ、図７の充電中処理（この場合はＳ６０５以下の処理）に移る。
【０１７３】
なお、充電器側マイコン７６は、図７の充電中処理において、バッテリ側マイコン３２から通信要求コード（Ｓ６１０）を受信したことによりバッテリ側マイコン３２とのデータ通信を開始する際、まずＳ２００にて充電を一時停止させるようにしているが、これは次の理由による。
【０１７４】
即ち、本実施形態の充電器２０は、充電電力を生成する充電用スイッチング電源回路７２が、文字通りスイッチング電源回路にて構成されている。周知の通り、スイッチング電源回路は、半導体スイッチング素子のオン・オフを繰り返すことによって、生成される電流・電圧を制御するものであるため、その動作中、スイッチングノイズが発生する。そのため、充電中に充電器側マイコン７６とバッテリ側マイコン３２の相互間でデータ通信が行われる際、スイッチングノイズがそのデータ通信に悪影響を及ぼすおそれがある。そのため、本実施形態では、充電中にデータ通信を行う際は、充電器側マイコン７６は、充電を一時停止させることで、スイッチングノイズに起因する懸念を排除し、データ通信の品質を確保するようにしている。
【０１７５】
そのため、仮に、充電器２０がスイッチング電源回路以外のよりノイズ発生の少ない回路にて充電電力を生成するよう構成されているならば、必ずしも充電を一時停止させる必要はない。また、本実施形態においても、必ず充電を一時停止させる必要があるわけではなく、ノイズレベルが低かったり、或いは、ノイズの影響を低減するための何らかの対策（例えばシールド等）が施されていること等によって、データ通信への影響が特に問題とならないレベルであれば、充電を継続したままデータ通信を行うようにしてもよい。
【０１７６】
（４）第１実施形態の効果
以上説明したように、本実施形態の電動工具用充電システム３０では、充電器２０にバッテリパック１０が装着されると（詳しくは、充電器側マイコン７６及びバッテリ側マイコン３２がそれぞれその装着を認識すると）、充電器側マイコン７６及びバッテリ側マイコン３２は、充電開始前に相互にデータ通信を行い、そのデータ通信結果に基づいて、通信相手側のマイコンの動作状態を確認する相互動作確認を行う。そして、その相互動作確認によって双方のマイコン３２，７６が正常であることが確認された上で、充電器側マイコン７６がバッテリパック１０の充電を開始させる。
【０１７７】
充電中も、予め決められた規定時間毎（本実施形態では８秒毎）に、各マイコン３２，７６の相互間でデータ通信及びそれに基づく相互動作確認を行い、いずれか一方のマイコンの異常が検出された場合は、他方のマイコンが充電を停止させるための所定の充電停止処理（エラー処理）を実行する。
【０１７８】
従って、本実施形態の電動工具用充電システム３０によれば、相互動作確認によっていずれか一方のマイコンが他方のマイコンの異常を検出した場合にはその検出した側のマイコンがエラー処理（図５参照）を実行してバッテリ３１の充電を停止させるため、マイコンの異常によってバッテリパック１０内のバッテリ３１に悪影響が及ぶのを未然に防止することができる。
【０１７９】
なお、マイコンの動作を監視する方法としては、一般的には、ウォッチドッグタイマを用いた監視方法が周知である。これに対し、本実施形態の電動工具用充電システム３０における相互動作確認は、ウォッチドッグタイマを用いた監視方法のような単純なものではなく、各マイコン３２，７６が互いにデータ通信を行い、受信したデータの内容（コード等）に基づいて通信相手側のマイコンが正常であるか否かを判断している。また、所定時間内に所望のデータを受信できたか否かによっても、通信相手側のマイコンが正常であるか否かを判断している。しかも、マイコンの異常が検出された場合、周知のウォッチドッグタイマを用いた監視方法ではマイコンにリセットをかけるのが一般的であるのに対し、本実施形態では、一方のマイコンが通信相手側の他方のマイコンの異常を検出した場合は、その一方のマイコンが充電を停止させるための充電停止処理を実行する。
【０１８０】
そのため、本実施形態の電動工具用充電システム３０によれば、ウォッチドッグタイマを用いた監視方法に代表される従来の監視方法に比べて、マイコンが異常か否かをより高精度に判断することができ、また、異常が検出された場合にはより適切な対応をとることができる。
【０１８１】
また、充電中の相互動作確認は、規定時間毎（本実施形態ではＳ６００において規定されている８秒毎）に繰り返し行われるため、充電中にいずれかのマイコンに異常が生じた場合にその異常を迅速に検出して充電を停止させることができる。
【０１８２】
これに加え、本実施形態では、充電開始前においても相互動作確認が行われ、その相互動作確認によって双方のマイコン共に異常が検出されなかった場合に、充電器側マイコン７６がバッテリ３１の充電制御（充電用スイッチング電源回路７２の制御）を行うようにしている。これにより、充電開始前の相互動作確認によっていずれかのマイコンの異常が検出された場合はバッテリ３１への充電が開始されないため、マイコンの異常によるバッテリ３１への悪影響をより確実且つ十分に防止することができる。
【０１８３】
また、各マイコン３２，７６による相互動作確認は、主として、まずバッテリ側マイコン３２から通信要求コードを送信することにより始まり、これに対して充電器側マイコン７６が応答（充電制御用データの要求）を行い、これに対してバッテリ側マイコン３２がその要求された充電制御用データを出力する、といった流れで行われる。また、上記以外にも、適宜、双方のマイコンがそれぞれ通信相手側のマイコンから受信したデータの内容に基づいて、或いは一定時間以内に受信できたかどうかに基づいて、相互動作確認を行う。
【０１８４】
そのため、各マイコンは、通信相手側のマイコンに異常が生じた場合により確実、効率的、且つ迅速にその異常を検出することができる。
【０１８５】
しかも、まずバッテリ側マイコン３２からの通信要求コードの送信を起点としていることから、仮に充電器側マイコン７６に異常が生じてもこれをバッテリ側マイコン３２が確実に検出して充電を停止させることができる。
【０１８６】
更に、相互動作確認のためのデータ通信は、単に、通信相手側のマイコンの動作状態を確認するためだけに行われるのではなく、充電に必要な情報の送受信も行われる。つまり、充電に必要な情報をデータ通信にて相互に送受信させつつ、そのデータ通信結果に基づいて相互動作確認も併せて行うようにしているのである。そのため、双方のマイコンが互いに通信相手側のマイコンを監視しつつ、充電器側マイコン７６よるバッテリ３１の充電制御が適切に行われる。
【０１８７】
また、充電中に充電器側マイコン７６がリセットした場合、充電器側マイコン７６は、バッテリ側マイコン３２からリセット直前の充電ステータスを取得して、その充電ステータスに基づいてリセット直前の状態から充電制御を再開することができる。
【０１８８】
また、充電器側マイコン７６は、充電中に各マイコン間で相互動作確認が行われる際は充電を一時停止させるようにしている。そのため、相互動作確認の実行中は少なくとも充電用スイッチング電源回路７２の動作に起因するノイズ（スイッチングノイズ等）の影響を排除することができ、相互動作確認を高精度に行うことができる。
【０１８９】
［第２実施形態］
次に、第２実施形態の電動工具用充電システムについて、図１１に基づいて説明する。図１１は、本実施形態の電動工具用充電システムの電気的構成を示す電気回路図である。
【０１９０】
本実施形態の電動工具用充電システムは、図１及び図２に示した第１実施形態の電動工具用充電システム３０に対し、各マイコン相互間でデータ通信を行うためのハードウェアが一部異なるものである。それ以外の、各マイコン３２，７６の相互間で行われるデータ通信及び相互動作確認、その他各マイコン３２，７６それぞれが有する機能全般は、第１実施形態と同じである。
【０１９１】
即ち、図１１と図２を比較して明らかなように、本実施形態の電動工具用充電システムでは、バッテリパック１０が、データ通信のためのデータ入出力端子５５、及びクロック入力端子５６を備えていない。本実施形態では、バッテリ側マイコン３２は、充電器側マイコン７６とのデータ通信を、第１実施形態のように専用の端子（データ入出力端子５５及びクロック入力端子５６）を用いず、充電電力の入力用の端子であるバッテリ側正極端子１１（本発明の受電用端子に相当）を用いて行う。そのため、バッテリパック１０は、そのバッテリ側正極端子１１を介してデータ通信を行うためのデータ送受信回路１０１を備えており、バッテリ側マイコン３２は、このデータ送受信回路１０１及びバッテリ側正極端子１１を介してデータ通信を行う。
【０１９２】
充電器２０についても同様であり、充電器側マイコン７６は、バッテリ側マイコン３２とのデータ通信を、第１実施形態のように専用の端子（データ入出力端子８５及びクロック入力端子８６）を用いず、充電電力の供給用の端子である充電側正極端子２１（本発明の供給用端子に相当）を用いて行う。そのため、充電器２０は、その充電側正極端子２１を介してデータ通信を行うためのデータ送受信回路１１１を備えており、充電器側マイコン７６は、このデータ送受信回路１１１及び充電側正極端子２１を介してデータ通信を行う。
【０１９３】
バッテリパック１０のデータ送受信回路１０１及び充電器２０のデータ送受信回路１１１の構成及び動作について、図示は省略するものの、その概要を以下に説明する。
【０１９４】
バッテリパック１０内のバッテリ３１には、その内部にインダクタンス成分（寄生インダクタンス）が含まれている。この内部インダクタンス成分は、大小の差はあるものの、リチウムイオン電池に限らず、各種の電池が有するものである。本実施形態では、このバッテリ３１の内部インダクタンス成分に起因するバッテリ電圧Ｖｂａｔの変化を利用したデータ通信が行われる。
【０１９５】
即ち、バッテリパック１０のデータ送受信回路１０１は、その内部に、バッテリ３１の正極と負極の間（バッテリ側正極端子１１とバッテリ側負極端子１２の間）を導通・遮断するためのスイッチ（例えばバイポーラトランジスタ等の半導体スイッチング素子）を備えており、バッテリ側マイコン３２から出力されたデータに応じてこのスイッチをオン・オフする。
【０１９６】
データ送受信回路１０１内においてこのスイッチがオンすると、バッテリ３１の正極と負極の間が導通してバッテリ３１から電流が流れはじめる。このとき、バッテリ３１の内部インダクタンス成分に起因してバッテリ電圧Ｖｂａｔが瞬間的に低下する。データ送受信回路１０１は、バッテリ側マイコン３２からのデータを、そのデータに応じたスイッチのオン・オフによってバッテリ電圧Ｖｂａｔを変化させることにより（換言すれば、バッテリ電圧Ｖｂａｔをデータで変調して）、充電器２０側へのデータ送信を行うのである。
【０１９７】
一方、充電器２０のデータ送受信回路１１１は、バッテリパック１０側から送信されてくるデータの受信を、次のように行う。即ち、充電側正極端子２１の電圧（より詳しくは充電側正極端子２１と充電側負極端子２２の間の電圧）を取り込み、フィルタや波形整形回路等の各種回路を用いて、その電圧に含まれているデータ成分を抽出する。そして、その抽出したデータを充電器側マイコン７７へ出力する。
【０１９８】
ここまで、バッテリパック１０側から充電器２０側へデータ送信する場合の各データ送受信回路１０１，１１１の動作について説明したが、充電器２０側からバッテリパック１０側へデータ送信する場合についても同様に行われる。即ち、充電器２０のデータ送受信回路１１１は、充電側正極端子２１と充電側負極端子２２の間を導通・遮断するためのスイッチを備えており、充電器側マイコン７７から出力されたデータに応じてスイッチをオン・オフさせる。これにより、充電側正極端子２１の電圧（ひいてはバッテリ電圧Ｖｂａｔ）がそのデータに応じて変化するため、その電圧変化によってデータ送信が実現される。
【０１９９】
一方、バッテリパック１０のデータ送受信回路１０１は、充電器２０のデータ送受信回路１１１と同様、バッテリ側正極端子１１の電圧を取り込み、その電圧に含まれているデータ成分をフィルタや波形整形回路等の各種回路を用いて抽出できるよう構成されており、その抽出されたデータはバッテリ側マイコン３２へ出力される。
【０２００】
つまり、各データ送受信回路１０１，１１１はいずれも、データ送信の際には、データに応じてバッテリ電圧Ｖｂａｔを変化させ、データ受信の際には、そのバッテリ電圧Ｖｂａｔの変化に基づいてデータを抽出（復調）するよう構成されている。
【０２０１】
このように構成された本実施形態の電動工具用充電システムによれば、バッテリパック１０及び充電器２０はいずれも、各マイコン３２，７６相互間のデータ通信のために専用の端子を持たず、充電電力供給用・入力用の端子を用いてデータ通信を行うことができるよう構成されている。そのため、これら充電電力供給用・入力用の端子とは別にデータ通信用の端子を別途設ける必要がなく、バッテリパック及び充電器の構成の簡素化、コストダウンが可能となる。
【０２０２】
［変形例］
以上、本発明の実施の形態について説明したが、本発明の実施の形態は、上記実施形態に何ら限定されるものではなく、本発明の技術的範囲に属する限り種々の形態を採り得ることはいうまでもない。
【０２０３】
例えば、上記実施形態では、各マイコン３２，７６が備えている各タイマ６５，９５の使用形態として、充電器側マイコン７６においては、１６秒タイマを設定し、この１６秒タイマを基準として適宜処理を実行したが、タイマ９５を１６秒タイマとして使用するのはあくまでも一例である。バッテリ側マイコン３２においても同様であり、タイマ６５を８秒タイマとして使用するのはあくまでも一例である。
【０２０４】
また、充電器２０へのバッテリパック１０の装着後（認識後）に各マイコン３２，７６が待機する時間（本例では１秒）についても、あくまでも一例であり、この待機時間も適宜決めることができる。
【０２０５】
また、バッテリ３１の構成は、上記実施形態では４個の電池セルが直列に接続された構成であったが、これはあくまでも一例であり、バッテリ３１を構成する電池セルの数は特に限定されず、１つの電池セルを備えたバッテリであってもよいし、電池セルが直並列に接続されたものであってもよい。また、１つの電池セルの電圧やバッテリ電圧についても、上記実施形態で例示した値に限定されるものでないことはいうまでもない。
【０２０６】
また、上記実施形態では、充電開始前の相互通信を、バッテリパック１０から充電器２０へ通信要求コードを出力することにより開始するようにしたが、これとは逆に、充電器２０側からバッテリパック１０側へデータを出力することにより相互通信を開始するようにしてもよい。
【０２０７】
また、相互通信の際に送受信されるデータの具体的内容についても、上記実施形態で示した各種データはあくまでも一例であり、具体的なデータの内容は適宜決めることができる。
【０２０８】
また、上記実施形態では、バッテリ３１を構成する各電池セルがリチウムイオン電池である場合を例に挙げて説明したが、これもあくまでも一例であり、電池セルがリチウムイオン電池以外の他の二次電池であっても、同様に本発明を適用することができる。
【図面の簡単な説明】
【０２０９】
【図１】実施形態の電動工具用充電システムを構成する電動工具用バッテリパック及び電動工具用充電器の外観を示す斜視図である。
【図２】第１実施形態の電動工具用充電システムの電気的構成を示す電気回路図である。
【図３】バッテリ側マイコン及び充電器側マイコンにおける主要動作を互いに関連付けて示したシーケンス図である。
【図４】バッテリ側マイコン及び充電器側マイコンにおける主要動作を互いに関連付けて示したシーケンス図である。
【図５】バッテリ側マイコンが実行するバッテリ側充電制御処理、及び充電器側マイコンが実行する充電器側充電制御処理を表すフローチャートである。
【図６】バッテリ側マイコンが実行するバッテリ側充電制御処理、及び充電器側マイコンが実行する充電器側充電制御処理を表すフローチャートである。
【図７】バッテリ側マイコンが実行するバッテリ側充電制御処理、及び充電器側マイコンが実行する充電器側充電制御処理を表すフローチャートである。
【図８】バッテリ側マイコンが実行するバッテリ側充電制御処理、及び充電器側マイコンが実行する充電器側充電制御処理を表すフローチャートである。
【図９】バッテリ側マイコンが実行するバッテリ側充電制御処理、及び充電器側マイコンが実行する充電器側充電制御処理を表すフローチャートである。
【図１０】バッテリ側マイコンが実行するバッテリ側充電制御処理、及び充電器側マイコンが実行する充電器側充電制御処理を表すフローチャートである。
【図１１】第２実施形態の電動工具用充電システムの電気的構成を示す電気回路図である。
【符号の説明】
【０２１０】
１０…バッテリパック、１１…バッテリ側正極端子、１２…バッテリ側負極端子、１３…バッテリ側信号端子群、１６…バッテリ側ターミナル、１７…バッテリ側装着部、２０…充電器、２１…充電側正極端子、２２…充電側負極端子、２３…充電側信号端子群、２６…充電側ターミナル、２７…充電側装着部、２８…表示部、３０…電動工具用充電システム、３１…バッテリ、３２…バッテリ側マイコン、３３…バッテリ側レギュレータ、３４…電圧低下検出用コンパレータ、３５…差動増幅回路、３６…放電検出用コンパレータ、３７…オペアンプ、３８…セル選択スイッチ、３９…温度検出回路、４０…シャットダウンスイッチ、４１…電圧低下検出信号入力ポート、４２…セル選択信号出力ポート、４３…セル電圧信号入力ポート、４４…セル温度信号入力ポート、４５…放電検出信号入力ポート、４６…放電電流信号入力ポート、４７…ゲイン切替信号出力ポート、４８…シャットダウン信号出力ポート、４９…充電器接続検出信号入力ポート、５０…充電許可・停止信号出力ポート、５１，７９…データ通信ポート、５２…クロック信号入力ポート、５３…充電器接続信号入力端子、５４…充電許可・停止信号出力端子、５５，８５…データ入出力端子、５６…クロック入力端子、６１，９１…ＣＰＵ、６２，９２…ＲＯＭ、６３，９３…ＲＡＭ、６４，９４…ＮＶＲＡＭ、６５，９５…タイマ、７１…入力整流回路、７２…充電用スイッチング電源回路、７３…制御用スイッチング電源回路、７４…通電スイッチ、７５…リレー駆動回路、７６…充電器側マイコン、７７…充電制御指令出力ポート、７８…バッテリ接続検出ポート、８０…クロック信号出力ポート、８３…充電器接続信号出力端子、８４…充電許可・停止信号入力端子、８６…クロック出力端子、１０１，１１１…データ送受信回路、Ｂ１，Ｂ２，…，Ｂｎ…電池セル、Ｄ１，Ｄ２…ダイオード、Ｒ１…電流検出抵抗、Ｒ２，Ｒ３，Ｒ４，Ｒ５，Ｒ６，Ｒ７…抵抗、Ｒｘ，Ｒｙ…分圧抵抗、Ｔｒ１…充電器検出用トランジスタ
【図１】
2010115087.tif 000003
【図２】
2010115087.tif 000004
【図３】
2010115087.tif 000005
【図４】
2010115087.tif 000006
【図５】
2010115087.tif 000007
【図６】
2010115087.tif 000008
【図７】
2010115087.tif 000009
【図８】
2010115087.tif 000010
【図９】
2010115087.tif 000011
【図１０】
2010115087.tif 000012
【図１１】
2010115087.tif 000013