(57)【特許請求の範囲】
【請求項１】
電動工具に電力を供給する電池パックであって、
電気的に接続された電池セル群を内蔵する複数の電池モジュールと、
複数の電池モジュールが着脱可能であり、取り付けられた複数の電池モジュールを電気的に接続するとともに、電気的に接続された複数の電池モジュールからの電力を電動工具に供給するパック本体を備え、
そのパック本体は、パック本体に対する電池モジュールの着脱を禁止する第１位置を含む範囲を移動可能な可動部材を有し、
各々の電池モジュールには、内蔵する電池セル群とパック本体との電気的な接続を遮断するスイッチング回路が設けられており、
少なくとも一つの電池モジュールとパック本体の少なくとも一方は、
可動部材が第１位置に存在するのか否かを検出するセンサと、
そのセンサの検出結果に基づいて可動部材が第１位置から移動したことを検知した時に、スイッチング回路をオフするとともに、センサの検出結果に基づいて可動部材が第１位置へと移動したことを検知した時から既定の遅延時間が経過する間、スイッチング回路をオフし続けるコントローラを有する、
電池パック。
【請求項２】
前記コントローラは、前記センサの検出結果に基づいて可動部材が第１位置から移動したことを検知した時に、各々の電池モジュールに内蔵された電池セル群の劣化度合を診断する処理をさらに実行することを特徴とする請求項１に記載の電池パック。
【請求項３】
各々の電池モジュールには、内蔵する少なくとも一つの電池セルの電圧又は電流を測定する測定回路と、前記コントローラからの指令に応じて電池セル群と電気的に接続される放電用回路が設けられており、
前記コントローラは、各々の電池モジュールに設けられた測定回路と放電用回路を用いて、前記劣化度合を診断する処理を実行すること特徴とする請求項２に記載の電池パック。
【請求項４】
前記コントローラは、前記した各々の電池モジュールに設けられた測定回路と放電用回路を用いて、複数の電池モジュールの一部を選択的に充電又は放電するバランス処理をさらに実行可能であることを特徴とする請求項３に記載の電池パック。
【請求項５】
前記コントローラは、前記センサによる検出結果の少なくとも一部を記憶するメモリを有し、そのメモリに記憶された情報に基づいて、複数の電池モジュールの一部を選択的に充電又は放電するバランス処理を実行することを特徴とする請求項１から４のいずれか一項に記載の電池パック。
【請求項６】
前記コントローラは、可動部材が第１位置から移動したことを検知した時に、前記メモリに第１検出フラグを記憶し、
前記コントローラは、予め定められたタイミングにおいて第１検出フラグがメモリに記憶されていれば、前記バランス処理を実行するとともに、メモリに記憶されている第１検出フラグを消去することを特徴とする請求項５に記載の電池パック。
【請求項７】
前記した予め定められたタイミングは、電池パックに対して充電が行われるタイミングであることを特徴とする請求項６に記載の電池パック。
【請求項８】
各々の電池モジュールには、内蔵する少なくとも一つの電池セルの電圧又は電流を測定する測定回路と、前記コントローラからの指令に応じて電池セル群と電気的に接続される放電用回路が設けられており、
前記コントローラは、各々の電池モジュールに設けられた測定回路と放電用回路を用いて、前記バランス処理を実行することを特徴とする請求項４から７のいずれか一項に記載の電池パック。
【請求項９】
前記コントローラは、前記した各々の電池モジュールに設けられた測定回路と放電用回路を用いて、各々の電池モジュールに内蔵された電池セル群の劣化度合を診断する処理をさらに実行可能であることを特徴とする請求項８に記載の電池パック。
【請求項１０】
電動工具に電力を供給する電池パックであって、
電気的に接続された電池セル群を内蔵する複数の電池モジュールと、
複数の電池モジュールが着脱可能であり、取り付けられた複数の電池モジュールを電気的に接続するとともに、電気的に接続された複数の電池モジュールからの電力を電動工具に供給するパック本体を備え、
そのパック本体は、閉じた状態で複数の電池モジュールを少なくとも部分的に覆う開閉可能なモジュールカバーを有し、
各々の電池モジュールには、内蔵する電池セル群とパック本体との電気的な接続を遮断するスイッチング回路が設けられており、
少なくとも一つの電池モジュールとパック本体の少なくとも一方は、
モジュールカバーの開閉を検出するセンサと、
そのセンサの検出結果に基づいてモジュールカバーが開放されたことを検知した時に、スイッチング回路をオフするとともに、センサの検出結果に基づいてモジュールカバーが閉鎖されたことを検知した時から既定の遅延時間が経過する間、スイッチング回路をオフし続けるコントローラを有する、
電池パック。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電気機器に電力を供給する電池パックに関し、特に電動工具に用いられる電池パックに関する。
ここで、電動工具には、例えば、電動ドリル、電動ドライバ、電動グラインダ、電動マルノコ、電動チェーンソー、電動レシプロソー、電動ヘッジトリマ、電動芝刈り機、電動刈り払い機、電動ブロア等を含む。
【背景技術】
【０００２】
再充電可能な電池パックを電源とする電動工具では、出力や使用可能時間の向上を目的に、電池パックの高電圧化が進められている。
例えば、特許文献１には、複数の電池パックを直列に接続した電池パック集合体が開示されている。この電池パック集合体では、１０個の電池パックが直列に接続されており、各々の電池パックには、直列に接続された１０個のリチウムイオン電池セルが内蔵されている。即ち、この電池パック集合体では、１００個のリチウムイオン電池セルが直列に接続されている。この場合、一つのリチウムイオン電池セルの出力電圧を３．６ボルトとすると、この電池パック集合体の出力電圧は３６０ボルトという高電圧となる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−１５９５９０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
電池パックが繰り返し使用されると、内蔵された複数の電池セルは劣化していく。ここで、内蔵された複数の電池セルは、全ての電池セルが均等に劣化しないで、一部の電池セルのみが早期に劣化することが確認されている。特に、複数の電池セルが直列に接続されている場合、一部の電池セルのみが劣化しても、電池パックの全体としての出力は顕著に低下し、その電池パックは使用できないものとなってしまう。
【０００５】
換言すれば、使用に伴って電池パックの能力が低下したとしても、劣化した一部の電池セルを交換すれば、電池パックの能力を回復させることができる。従って、複数の電池セルを有する電池パックでは、一又は複数の電池セルを選択的に交換できる構成であることが好ましい。特に、多数の電池セルを内蔵する電池パックでは、使用可能な電池セルが大量に廃棄されることを防止するために、内蔵する電池セルの一部を選択的に交換できる構成が不可欠といえる。
【０００６】
しかしながら、ユーザにとって、直列に接続された電池セルのなかから、劣化した電池セルを適切に交換することは容易ではない。
第１に、ユーザにとって電池セルを交換する作業は、感電のおそれがある危険な作業といえる。特に、多数の電池セルが直列に接続された電池パックでは、その出力電圧が非常に高くなることから、ユーザが感電する危険性も高くなる。ここで、直列に接続された複数の電池セルの間に、いくつかの遮断器を設けておくことも可能である。それにより、ユーザは、電池セルを交換する際に、それらの遮断器を開放することによって、自身の安全を確保することができる。しかしながら、そのような遮断器を設けたとしても、例えばユーザが遮断器を開放し忘れることも否定できず、ユーザの安全を十分に確保することができない。
【０００７】
第２に、ユーザは、複数の電池セルのなかから、交換すべき一又は複数の電池セルを特定しなければならない。ここで、電池セルの劣化度合を診断する技術は公知であり、内蔵する電池セルの劣化度合を診断する機能を有する電池パックも開発されている。しかしながら、そのような機能を有する電池パックであっても、例えばユーザが当該機能を利用し忘れることも否定できず、正常な電池セルが誤って交換されてしまうことも起こり得る。
【０００８】
第３に、ユーザは、電池セルの交換を行った後に、全ての電池セルの充電残量を均一化するバランス処理を行う必要がある。一般的に、新たに交換された電池セルと、既存していた電池セルでは、その充電残量が互いに相違する。そして、複数の電池セルが直列に接続された電池パックでは、電池セルの充電残量が不均一になっていると、電池パック全体の能力が大幅に低下したり、一部の電池セルが早期に劣化したりする。従って、電池セルの交換を行った後は、一部の電池セルを選択的に充電又は放電し、全ての電池セルの充電残量を均一化するバランス処理を行う必要がある。ここで、複数の電池セルに対してバランス処理を行う技術は公知であり、内蔵する電池セルにバランス処理を実行する機能を有する電池パックも開発されている。しかしながら、そのような機能を有する電池パックであっても、例えばユーザが当該機能を利用し忘れることも否定できず、電池セルの充電残が不均一なままで電池パックの使用が再開されてしまうことも起こり得る。
【０００９】
上記したように、複数の電池セルを内蔵する電池パックにおいて、その一部の電池セルを交換する際には、それに付随して様々な処理を行うことがユーザに求められる。そして、それらの処理が行われなかった場合には、電池パックの能力を低下させるだけでなく、ユーザの安全が脅かされるといった問題や、廃棄される電池セルを過剰に増大させるといった問題を引き起こすことにもなる。従って、複数の電池セルを内蔵する電池パックでは、一部の電池セルを選択的に交換できる構造とするだけでは足りず、ユーザが電池セルの交換を行った際には、必要とされる処理が確実に行われることが求められる。
【００１０】
以上の実情を鑑み、本発明は、ユーザが電池セルの交換を行った際に、必要とされる処理が確実に行われる電池パックを実現する技術を提供する。例えば、ユーザが電池セルの交換を行う際に、電池セル同士の電気的な接続が確実に遮断される電池パックを実現できる技術を提供する。あるいは、ユーザが電池セルの交換を行う際に、電池セルの劣化度合が確実に診断される電池パックを実現できる技術を提供する。あるいは、ユーザが電池セルの交換を行った際に、電池セルに対するバランス処理が確実に実行される電池パックを実現できる技術を提供する。なお、ここに例示した処理に限られず、本発明は、必要とされる様々な処理にも適用可能な基本となる技術を提供する。
【課題を解決するための手段】
【００１１】
本発明の技術は、電動工具に電力を供給する電池パックに具現化される。この電池パックは、複数の電池モジュールと、複数の電池モジュールが着脱可能に取り付けられるパック本体を備えている。各々の電池モジュールには、電気的に接続された電池セル群が内蔵されている。パック本体は、取り付けられた複数の電池モジュールを電気的に接続するとともに、電気的に接続された電池モジュールからの電力を電動工具に供給する。
この電池パックでは、電気的に接続される複数の電池セルが、各々の電池モジュールに分配されている。電池モジュールはパック本体に対して着脱可能であり、必要に応じて、一又は複数の電池モジュールを新品のものに交換することができる。例えば、一部の電池セルが大きく劣化し、電池パックの能力が低下した場合には、その劣化した電池セルを含む電池モジュールを交換することで、電池パックの能力を回復させることができる。他の電池モジュールについては、そのまま使用し続けることができる。
【００１２】
パック本体は、可動部材を有している。可動部材は、第１位置を含む範囲を移動可能であり、第１位置においてパック本体に対する電池モジュールの着脱を禁止する。即ち、可動部材が第１位置にある状態では、電池モジュールの着脱が禁止され、ユーザが電池モジュールを交換する際に、可動部材は必ず第１位置から移動する。可動部材は、第１位置とは異なる第２位置に移動することで、パック本体に対する電池モジュールの着脱を許容する。
可動部材は、パック本体に移動可能に設けられた部材でもよいし、パック本体に対して着脱可能な部材であってもよい。後者の場合、可動部材がパック本体に取り付けられると、可動部材は第１位置に存在することになる。
可動部材の形態は特に限定されない。例えば、可動部材は、第１位置において、パック本体に取り付けられた複数の電池モジュールと係合する構造であってもよい。あるいは、可動部材は、第１位置において、パック本体に取り付けられた複数の電池モジュールを少なくとも部分的に覆う構造であってもよい。後者の構造であれば、パック本体に取り付けられた複数の電池モジュールに、ユーザが接触することを防止することも可能となる。
【００１３】
さらに、各々の電池モジュールとパック本体の少なくとも一方には、可動部材が第１位置に存在するのか否かを検出するセンサと、そのセンサの検出結果に基づいて、既定の処理を実行するコントローラが設けられている。センサは、可動部材が第１位置に存在するのか否かを直接的に検出してもよいし、可動部材が第２位置に存在するのか否かを検出することによって、可動部材が第１位置に存在するのか否かを間接的に検出してもよい。
先にも説明したように、ユーザが電池モジュールを交換する際に、可動部材は第１位置から必ず移動する。可動部材が第１位置から移動すると、そのことはセンサによって検出される。即ち、ユーザによる電池モジュールの交換が、センサによって確実に検出される。コントローラは、センサの検出結果を監視することで、ユーザによって電池モジュールが交換されることを検知し、既定の処理を適切なタイミングで実行することができる。コントローラは、例えばマイクロコンピュータを用いて構成することができ、そのコントローラには、電池セルの交換に伴って必要とされる各種の処理を、予め教示しておくことができる。
この電池パックによれば、ユーザが電池セルの交換を行う際に、必要とされる一又は複数の処理を確実に実行させることができる。その結果、多数の電池セルを有する高電圧の電池パックにおいても、ユーザの安全確保や、電池セルの大量廃棄の防止を図ることができる。
【００１４】
以下、センサの検出結果に基づいてコントローラが実行する処理について、好適な具体例を説明する。
第１に、コントローラは、センサの検出結果に基づいて、ユーザの安全を確保するための処理を実行することが好ましい。この場合、コントローラは、センサの検出結果に基づいて可動部材が第１位置から移動したことを検知した時に、複数の電池モジュールから電力工具への放電、及び／又は、外部電源から複数の電池モジュールへの充電を禁止する処理を実行することが好ましい。それにより、電池モジュールを交換するユーザが、高電圧を通電状態の電池モジュールに接触することが防止され、ユーザが感電するといった事態を防ぐことができる。
また、コントローラは、センサの検出結果に基づいて可動部材が第１位置から移動したことを検知した時に、本体に取り付けられた複数の電池モジュール間の電気的な接続を遮断する処理を実行することが好ましい。複数の電池モジュールの直列接続を切断することで、電池モジュールの充放電を禁止することができるとともに、電池パック内で発生し得る最大電圧を低下させることもでき、電池モジュールを交換するユーザが感電することを効果的に防止することができる。
【００１５】
加えて、各々の電池モジュールには、内蔵する電池セル群とパック本体との電気的な接続を遮断するスイッチング回路が設けられていることが好ましい。この場合、コントローラは、前記センサの検出結果に基づいて可動部材が第１位置から移動したことを検知した時に、そのスイッチング回路をオフすることが好ましい。この構成によれば、ユーザが電池モジュールを交換するときに、電池モジュールがパック本体から電気的に切断されているので、ユーザが感電することをより効果的に防止することができる。
さらに、コントローラは、前記センサの検出結果に基づいて可動部材が第１位置へと移動したことを検知した時から既定の遅延時間が経過する間、前記したスイッチング回路をオフし続けることが好ましい。可動部材が第１位置へと移動した時点で、ユーザによる電池モジュールの交換は終了している。しかしながら、ユーザは、可動部材を第１位置へと移動させた直後に、電池モジュールの取り付けに問題があることに気付き、電池モジュールの取り付けをやり直すことも多い。そのことから、可動部材が第１位置へと移動したことを検知した時から、複数の電池モジュールを電気的に接続するまでの間に、ある程度の時間差を設けておくことが有効である。
【００１６】
第２に、コントローラは、センサの検出結果に基づいて、交換すべき電池モジュールを特定するための処理を実行することが好ましい。この場合、コントローラは、センサの検出結果に基づいて可動部材が第１位置から移動したことを検知した時に、各々の電池モジュールに内蔵された電池セル群の劣化度合を診断する処理を実行することが好ましい。それにより、ユーザは交換すべき電池モジュールを間違えることなく交換することができる。
加えて、各々の電池モジュールには、内蔵する少なくとも一つの電池セルの電圧又は電流を測定する測定回路と、コントローラからの指令に応じて電池セル群と電気的に接続される放電用回路が設けられていることが好ましい。この場合、コントローラは、各々の電池モジュールに設けられた測定回路と放電用回路を用いて、前記劣化度合を診断する処理を実行することが好ましい。通常、劣化度合を診断する処理では、電池セル群を放電させながら、その電圧又は電流を測定する必要がある。各々の電池モジュールに測定回路や放電用回路が設けられていると、パック本体とは電気的に切断された状態で、電池セル群の放電や測定を各々の電池モジュール内で行うことができる。それにより、パック本体内の回路構成を簡素にすることができ、また、ユーザの感電を防止することもできる。
さらに、コントローラは、前記した各々の電池モジュールに設けられた測定回路と放電用回路を用いて、複数の電池モジュールの一部を選択的に放電するバランス処理をさらに実行可能であることが好ましい。この構成によれば、電池モジュール内の回路構成を大きく変更することなく、バランス処理を併せて行うことができる。
【００１７】
第３に、コントローラは、センサの検出結果に基づいて、複数の電池モジュールの間で充電残量を均一化するための処理を実行することが好ましい。この場合、コントローラは、センサによる検出結果の少なくとも一部を記憶するメモリを有し、そのメモリに記憶された情報に基づいて、複数の電池モジュールの一部を選択的に充電又は放電するバランス処理を実行することが好ましい。それにより、ユーザが電池モジュールの交換を行った後に、適切なタイミングでバランス処理を実行することができる。
加えて、コントローラは、可動部材が第１位置から移動したことを検知した時に、前記メモリに第１検出フラグを記憶することが好ましい。この場合、コントローラは、予め定められたタイミングにおいて開放検出フラグがメモリに記憶されていれば、バランス処理を実行するとともに、メモリに記憶されている第１検出フラグを消去することが好ましい。ここで、バランス処理を行うタイミングは、例えば、可動部材が第１位置から移動したことを検知したタイミング、そのタイミングから所定時間が経過したタイミング、電池パックが充電されるタイミングなど、適宜設定することができる。また、第１検出フラグを消去するタイミングは、バランス処理の開始時としてもよいし、バランス処理の完了時としてもよい。何らかの原因でバランス処理が中断され得ることを想定すれば、バランス処理の完了時に第１検出フラグを消去することが好ましい。それにより、バランス処理が意図せず中断された場合は、第１検出フラグが消去されず、次の機会にバランス処理が自動的に再実行されることになる。
【００１８】
さらに、各々の電池モジュールには、内蔵する少なくとも一つの電池セルの電圧又は電流を測定する測定回路と、コントローラからの指令に応じて電池セル群と電気的に接続される放電用回路が設けられていることが好ましい。この場合、コントローラは、各々の電池モジュールに設けられた測定回路と放電用回路を用いて、バランス処理を実行することが好ましい。この構成によると、複数の電池モジュールに対して、パック本体から電気的に切断された状態で、バランス処理を実行することができる。それにより、パック本体内の回路構成を簡素にすることができ、また、ユーザの感電を防止することもできる。
そして、各々の電池モジュールが測定回路と放電用回路を有する場合、コントローラは、その測定回路と放電用回路を用いて、各々の電池モジュールに内蔵された電池セル群の劣化度合を診断する処理をさらに実行可能であることが好ましい。この構成によれば、電池モジュール内の回路構成を大きく変更することなく、劣化度合を診断する処理を併せて行うことができる。
【発明の効果】
【００１９】
本発明によれば、ユーザが電池セルの交換を行った際には、必要とされる処理が確実に行われる電池パックを実現することができる。それにより、多数の電池セルが直列に接続された高電圧の電池パックにおいても、ユーザの安全を確保したり、電池セルの大量廃棄を防止したりすることができる。
【図面の簡単な説明】
【００２０】
【図１】実施例１の電池パックとそれを用いた電動工具システムの外観を示す図。
【図２】電池パックの外観を示す図。
【図３】電池モジュールの内部構造を示す上面図。
【図４】電池モジュールの内部構造を示す側面図。
【図５】電池モジュールの内部回路を模式的に示す回路図。
【図６】電池モジュールを含む電池パックの内部構造を示す上面図。
【図７】図７（Ａ）は出力ソケットに電力供給コードが接続された状態を示し、図７（Ｂ）は充電ソケットに充電コードが接続された状態を示す。
【図８】電池モジュールを含む電池パックの内部回路を模式的に示す回路図。
【図９】電池パックで実行される処理の流れを示すフローチャート。
【図１０】電池パックの充電処理の流れを示すフローチャート。
【図１１】バランス放電処理の流れを示すフローチャート。
【図１２】電池パックの放電処理の流れを示すフローチャート。
【図１３】電池モジュールの自己診断処理の流れを示すフローチャート。
【図１４】実施例２の電池パックを模式的に示す図。
【図１５】実施例３の電池パックを模式的に示す図。
【発明を実施するための形態】
【００２１】
最初に、以下に説明する実施例の主要な特徴を列記する。
（特徴１）  電池パックは、電気機器に電気的に接続され、当該電気機器に電力を供給する。特に、本実施例の電池パックは、直列に接続された多数の電池セルを備えており、その出力電圧が高いことから、高出力の電動工具にも十分な電力を供給することができる。
（特徴２）  電池パックは、複数の電池モジュールと、複数の電池モジュールが着脱可能なパック本体を備えている。本実施例の電池パックでは、一部の電池セルが劣化した場合に、劣化した電池セルを含む電池モジュールを、ユーザが容易に交換することができる。それにより、電池パックの能力を回復させることができる。全ての電池セルを交換する必要がないので、多数の電池セルが無用に廃棄されるといったことがない。
【００２２】
（特徴３）  各々の電池モジュールは、直列に接続された電池セル群と、電池セル群を収容しているモジュールケースと、モジュールケースに設けられているモジュール側コネクタと、モジュール側コネクタに設けられているモジュール側電力端子を有している。モジュール側電力端子は、直列に接続された電池セル群に接続されており、当該電池セル群からの電力をパック本体へ出力し、あるいは、当該電池セル群を充電する電力をパック本体から入力する。
【００２３】
（特徴４）  パック本体は、ハウジングを有している。ハウジングには、複数の電池モジュールを収容するモジュール収容部が形成されている。モジュール収容部には、複数の本体側コネクタが設けられている。複数の本体側コネクタは、収容された複数の電池モジュールのモジュール側コネクタと接続することができる。各々の本体側コネクタには、本体側電力端子が設けられている。各々の本体側電力端子は、本体側コネクタに接続されたモジュール側コネクタのモジュール側電力端子と電気的に接続することができる。複数の本体側コネクタにそれぞれ設けられた複数の本体側電力端子は、パック本体の出力端子に直列に接続されている。それにより、直列に接続された複数の電池モジュールからの電力が、出力端子から電動工具へ出力される。
（特徴５）  パック本体は、モジュールカバーを有している。モジュールカバーは、ハウジングに対して着脱可能となっており、ハウジングに対して移動する可動部材である。モジュールカバーは、着脱されることによって、モジュール収容部を閉鎖する閉鎖位置と、モジュール収容部を開放する開放位置との間を、移動することができる。モジュールカバーがハウジングに取り付けられると、モジュールカバーはモジュール収容部を閉鎖し、ジュール収容部に対する電池モジュールの着脱を禁止する。モジュールカバーがハウジングから取り外されると、モジュールカバーはモジュール収容部を開放（オープン）し、モジュール収容部に対する電池モジュールの着脱を許容する。なお、モジュールカバーは、ハウジングに対して着脱不能に設けられ、ハウジングに対して揺動、回転、変形又はスライドすることによって、閉鎖位置と開放位置の間を移動する構成であってもよい。
（特徴６）  モジュールカバーは、モジュール収容部を閉鎖する閉鎖位置において、モジュール収容部の全体を覆い隠すことができる。それにより、モジュールカバーが閉じられた状態では、パック本体に取り付けられた全ての電池モジュールが、パック本体のハウジング及びモジュールカバーによって完全に覆われる。この場合、ユーザが電池モジュールに誤って触れることや、モジュール収容部に異物が侵入することが、防止される。
【００２４】
（特徴７）  各々の電池モジュールはモジュールコントローラを有しており、パック本体はメインコントローラを有している。複数のモジュールコントローラとメインコントローラは互いに通信可能であり、両者によって電池パックを全体的に制御するコントローラが構成されている。
（特徴８）  各々の電池モジュールには、コントローラによる劣化度合の診断結果を表示する表示部が設けられている。ここで、モジュールカバーを閉じた状態でもユーザが当該表示部を視認できるように、モジュールカバーは透明（半透明を含む）の材料で形成されている。モジュールカバーは、その全体を透明の材料で形成してもよいが、電池モジュールの表示部に対向する範囲のみを、透明の材料で形成してもよい。
【００２５】
(特徴９）  パック本体は、出力端子が設けられた出力ソケットと、充電端子が設けられた充電ソケットと、出力ソケット及び充電ソケットに対して開閉可能なソケットカバーと、ソケットカバーの開閉を検出するソケットカバーセンサを備えている。出力端子は、複数の電池モジュールからの放電電力を外部へ出力する。充電端子は、複数の電池モジュールへの充電電力を外部から入力する。ソケットカバーは、閉じた状態では出力ソケットと充電ソケットに対してコード類の着脱を禁止し、開いた状態では出力ソケットと充電ソケットに対してコード類の着脱を許容する。コントローラは、ソケットカバーセンサの検出結果に基づいて、既定の処理を実行する。例えば、コントローラは、ソケットカバーセンサがソケットカバーの開放を検出した時に、複数の電池モジュールからの放電、及び／又は、複数の電池モジュールへの充電を禁止する処理を実行する。また、コントローラは、ソケットカバーセンサがソケットカバーの開放を検出した時に、本体に取り付けられた複数の電池モジュール間の電気的な接続を遮断する処理を実行する。
【実施例１】
【００２６】
実施例１の電池パック１０について図面を参照しながら説明する。図１に示すように、電池パック１０は、電力供給コード４０１によって電動工具４００に接続され、電源として電動工具４００に電力を供給する。電力供給コード４０１は、電池パック１０に対して着脱可能であり、電動工具４００を使用する場合、電力供給コード４０１は電池パック１０に取り付けられ、電動工具４００を使用しない場合、電力供給コード４０１は電池パック１０から取り外される。以下に説明するように、電池パック１０では、３０本の電池セルが直列に接続され、その公称電圧は１０８ボルトとなっている。
【００２７】
なお、図１では電動工具４００の一例として電動ヘッジトリマが図示されているが、電池パック１０が電力を供給する電動工具４００はヘッジトリマに限定されない。電池パック１０は、例えば、電動ドリル、電動ドライバ、電動グラインダ、電動マルノコ、電動チェーンソー、電動レシプロソー、電動芝刈り機、電動刈り払い機、電動ブロア等の様々な電動工具に、電直を供給する電源として用いることができる。
【００２８】
図１に示すように、電池パック１０には、肩ベルト３０１及び腰ベルト３０２が用意されている。肩ベルト３０１及び腰ベルト３０２は、ユーザの背中に電池パック１０を固定するハーネスである。肩ベルト３０１及び腰ベルト３０２は、電池パック１０に対して着脱可能となっている。ユーザは、電動工具４００の使用する際に、肩ベルト３０１及び腰ベルト３０２によって、電池パック１０を背負うことができる。ユーザは、比較的に重い電池パック１０を背負うことにより、電池パック１０から独立した電動工具４００を軽やかに取り扱うことができる。
【００２９】
また、電池パック１０には、充電コード３００が用意されている。充電コード３００は、電池パック１０に対して着脱可能となっている。詳しくは後述するが、電池パック１０には、充電用の回路が内蔵されている。電池パック１０は、充電コード３００によって商用電源（交流電源）に接続されることで、後述する複数の電池セル１０１を充電することができる。
【００３０】
図２は、電池パック１０の外観を示している。図２に示すように、電池パック１０は、パック本体２００と、三つの電池モジュール１００を備えている。各々の電池モジュール１００は、パック本体２００に対して着脱可能となっている。
各々の電池モジュール１００は、直列に接続された複数の電池セル１０１を収容している（図３、図４参照）。後述するように、本実施例の電池パック１０では、３０本の電池セル１０１が、三つの電池モジュール１００に分けて収容されている。
各々の電池モジュール１００には、パック本体２００と接続するためのモジュール側コネクタ１０５、電池セル１０１の劣化度合を診断するための診断スイッチ１０９、その診断結果や電池セル１０１の充電残量を表示するための表示ライト１１０が設けられている。
【００３１】
パック本体２００には、三つの電池モジュール１００を収容するモジュール収容部２１２が設けられている。モジュール収容部２１２には、三つの本体側コネクタ２１４が設けられている。各々の本体側コネクタ２１４は、電池モジュール１００のモジュール側コネクタ１０５が接続可能となっている。各々の本体側コネクタ２１４には、一対の本体側電力端子２０１と、本体側通信端子２２３が設けられている。また、モジュール収容部２１２には、収容された電池モジュール１００を位置決めする複数のリブ２１０が形成されている。
【００３２】
パック本体２００には、モジュールカバー２５０が用意されている。モジュールカバー２５０は、モジュール収容部２１２を閉鎖するカバーである。モジュールカバー２５０は、パック本体２００に対して着脱可能である。モジュールカバー２５０は、パック本体２００に対して着脱されることにより、モジュール収容部２１２を閉鎖する閉鎖位置と、モジュール収容部２１２を開放する開放位置との間で、移動することができる。即ち、パック本体２００からモジュールカバー２５０を取り外すと、モジュール収容部２１２が開放され、パック本体２００にモジュールカバー２５０を取り付けると、モジュール収容部２１２が閉鎖される。
モジュールカバー２５０が閉鎖位置にある時（即ち、モジュールカバー２５０がパック本体２００に取り付けられた時）、モジュール収容部２１２に収容された電池モジュール１００は、モジュールカバー２５０によって覆われる。従って、モジュールカバー２５０は、閉鎖位置にある時に、モジュール収容部２１２に対する電池モジュール１００の着脱を禁止する。一方、モジュールカバー２５０は、開放位置にある時（モジュールカバー２５０がパック本体２００から取り外されたとき時）に、モジュール収容部２１２に対する電池モジュール１００の着脱を許容する。
【００３３】
ここで、モジュールカバー２５０の形状は、図２に例示する形状に限定されない。例えば、モジュールカバー２５０は、パック本体２００に対して着脱不能であって、パック本体２００によって揺動可能又はスライド可能に支持されていてもよい。パック本体２００に対して着脱可能であるのか着脱不能であるのかにかかわらず、モジュールカバー２５０は、モジュール収容部２１２を少なくとも部分的に閉鎖して電池モジュール１００の着脱を禁止する閉鎖位置と、モジュール収容部を開放して電池モジュール１００の着脱を許容する開放位置との間で、移動可能な構造となっていればよい。また、モジュールカバー２５０は、各々の電池モジュール１００に対応して、複数に分割されていてもよい。さらに、モジュールカバー２５０は、モジュール収容部２１２の全体を覆うものでもよく、モジュール収容部２１２を部分的に覆うものでもよい。
【００３４】
一例として、本実施例のモジュールカバー２５０の形状を詳細に説明する。モジュールカバー２５０には、パック本体２００にフィットするオーバーラップ部２５３が設けられている。それにより、モジュール収容部２１２は隙間なく閉塞される。それにより、ユーザが電池モジュール１００に誤って触れてしまうことや、モジュール収容部２１２に異物（塵埃や水）が侵入することが、防止される。
また、モジュールカバー２５０には、係合リブ２５１が形成されている。この係合リブ２５１は、パック本体２００に形成された係合溝２５２に係合し、モジュールカバー２５０の位置ずれを防止する。さらに、モジュールカバー２５０の内面には、電池モジュール１００の末端部（モジュール側コネクタ１０５とは反対側に位置する端部）１５０に当接する支持リブ２５４が設けられている。この支持リブ２５４により、電池モジュール１００が本体側コネクタ２１４から外れてしまうことが防止される。なお、支持リブ２５４の位置には、電池モジュール１００を本体側コネクタ２１４に向けて付勢する弾性部材を設けてもよい。
【００３５】
モジュールカバー２５０は、絶縁性を有する樹脂材料で形成されている。特に、本実施例のモジュールカバー２５０は、透明の樹脂材料で形成されている。モジュールカバー２５０が透明の材料で形成されていると、モジュール収容部２１２に収容された電池モジュール１００の表示ライト１１０を、ユーザはモジュールカバー２５０を開けることなく外部から視認することができる。なお、モジュールカバー２５０は、半透明の材料で形成されていてもよい。また、モジュールカバー２５０は、その全体が透明又は半透明である必要はなく、その一部のみが透明又は半透明であってもよい。
【００３６】
パック本体２００は、モジュールカバー２５０の開閉を検出するためのモジュールカバーセンサ２０８を有している。モジュールカバーセンサ２０８は、スイッチの一種を用いて構成されており、モジュールカバー２５０が閉鎖位置にあるのか否かに応じて、オンされたりオフされたりする。即ち、モジュールカバー２５０がパック本体２００に取り付けられ、モジュールカバー２５０が閉鎖位置に存在している時、モジュールカバーセンサ２０８はオンとなる。一方、モジュールカバー２５０がパック本体２００から取り外され、モジュールカバー２５０が開放位置に存在している時、モジュールカバーセンサ２０８はオフとなる。図２に示すように、モジュールカバー２５０は、パック本体２００の係合溝２５２の内部に配置されている。それにより、異物の接触によるモジュールカバーセンサ２０８の誤作動が防止されるとともに、モジュールカバー２５０が正しく取り付けられた時のみ、モジュールカバーセンサ２０８がオンするようになっている。ここで、モジュールカバーセンサ２０８は、パック本体２００に必ずしも設ける必要はなく、少なくとも一つの電池モジュール１００に設けることもできる。
【００３７】
パック本体２００には、三つの表示ライト２０９が設けられている。三つの表示ライト２０９は、電池モジュール群１００全体の充電残量や、電池モジュール１００の交換が必要である旨を表示することができる。各々の表示ライト２０９は、発光ダイオードを用いて構成されている。
【００３８】
次に、電池モジュール１００の構成を詳細に説明する。図３、図４に示すように、電池モジュール１００は、モジュールケース１０４を備えている。モジュールケース１０４は、絶縁性を有する樹脂材料で形成されている。モジュールケース１０４には、前記したモジュール側コネクタ１０５が一体に形成されている。
図４に示すように、モジュール側コネクタ１０５は、モジュールケース１０４の上下方向に関して中央に位置しておらず、上方にオフセットされている。その結果、モジュール側コネクタ１０５の下方のみに、切欠部１１３が形成されている。モジュールケース１０４は上下非対称の形状を有しており、それによって、電池モジュール１００がパック本体２００に誤った向きで取り付けられることが禁止される。
【００３９】
モジュールケース１０４には、１０本の電池セル１０１（以下、電池セル群１０１と称することがある）が収容されている。電池セル群１０１は、セルホルダ１０３によって保持されており、互いに平行で一平面上に配列されている。電池セル１０１群は、互い違いの向きで並んでおり、各々の電池セル１０１の陽極には、隣り合う電池セル１０１の陰極が隣接している。電池セル群１０１は、複数のリード板１０２によって、直列に接続されている。
各々の電池セル１０１は、リチウムイオン電池セルである。一般に、リチウムイオン電池セルの公称電圧は３．６ボルトである。従って、電池モジュール１００の公称電圧は３６ボルトとなる。また、リチウムイオン電池セルが出力し得る最大電圧は４．２ボルトである。従って、電池モジュール１００で発生し得る最大電圧は４２ボルトとなる。ここで、電圧が４２ボルトを上回ると、人が感電するおそれが高くなるとされている。そのことから、各々の電池モジュール１００に収容する電池セル１０１の数は、リチウムイオン電池セルの場合に限らず、発生し得る最大電圧が４２ボルト以下となるように設計するとよい。
【００４０】
モジュールケース１０４には、さらに、モジュール回路ユニット１０８、基板１０７、温度センサ１０６が収容されている。温度センサ１０６は、電池セル１０１の近傍に配置されており、電池セル１０１の温度を検出する。
モジュール回路ユニット１０８には、一対のモジュール側電力端子１１１、モジュール側通信端子１１２、診断スイッチ１０９、表示ライト１１０が設けられている。一対のモジュール側電力端子１１１とモジュール側通信端子１１２は、モジュール側コネクタ１０５の内部に配設されている。モジュール側コネクタ１０５をパック本体２００の本体側コネクタ２１４に接続すると、一対のモジュール側電力端子１１１は一対の本体側電力端子２０１に接続され、モジュール側通信端子１１２は本体側通信端子２２３に接続される。
温度センサ１０６及び全てのリード板１０２は、基板１０７を介してモジュール回路ユニット１０８に電気的に接続されている。モジュール回路ユニット１０８及び基板１０７は、マイクロコンピュータや各種の回路素子を有しており、図５に示す電池モジュール１００の内部回路を構成している。
【００４１】
図５に示すように、電池モジュール１００の内部回路は、モジュールコントローラ１２０、電圧測定回路１２１、シャント抵抗１２２、放電用ＦＥＴ（電界効果トランジスタ）１２３、充電用ＦＥＴ１２４、放電用回路１２７を備えている。放電用回路１２７は、内部放電素子１２５とトランジスタ１２６を備えている。モジュールコントローラ１２０は、マイクロコンピュータを用いて構成されており、各種の処理を実行するプログラムを記憶している。
【００４２】
一対のモジュール側電力端子１１１は、電池セル群１０１に接続されている。それにより、一対のモジュール側電力端子１１１は、電池セル群１０１からの放電電力をパック本体２００へ出力し、また、電池セル群１０１への充電電力をパック本体２００から入力する。
放電用ＦＥＴ１２３及び充電用ＦＥＴ１２４は、電池セル群１０１の正極とモジュール側電力端子１１１を接続する線路上に設けられている。放電用ＦＥＴ１２３と充電用ＦＥＴ１２４は、モジュールコントローラ１２０に接続されており、放電用ＦＥＴ１２３と充電用ＦＥＴ１２４の動作は、モジュールコントローラ１２０によって制御される。モジュールコントローラ１２０は、放電用ＦＥＴ１２３及び充電用ＦＥＴ１２４を選択的にオン／オフすることにより、電池セル群１０１とモジュール側電力端子１１１を電気的に接続したり、その接続を切断したりすることができる。放電用ＦＥＴ１２３がターンオフされると、電池セル１０１群からの放電電力がパック本体２００へ供給されることが禁止され、充電用ＦＥＴ１２４がターンオフされると、パック本体２００からの充電電力が電池セル１０１群へ供給されることが禁止される。
【００４３】
電圧測定回路１２１は、電池セル群１０１の電圧を測定する回路であり、各々の電池セル１０１の正極における電位を、モジュールコントローラ１２０に入力する。モジュールコントローラ１２０は、電圧測定回路１２１からの入力電圧によって、各々の電池セル１０１の電圧及び電池セル群１０１の全体の電圧を検知することができる。ここで、電圧測定回路１２１の一部は、電池セル１０１群を接続している複数のリード板１０２と、その複数のリード板１０２が接続されている基板１０７によって構成されている。
シャント抵抗１２２は、電池セル群１０１と直列に設けられた抵抗素子であり、電池セル群１０１の電流を検出する回路を構成している。シャント抵抗１２２には、電池セル群１０１と同じ電流が流れ、電池セル群１０１を流れる電流に応じた電圧が発生する。モジュールコントローラ１２０は、シャント抵抗１２２に発生した電圧を入力し、電池セル群１０１の電流を検知する。
【００４４】
放電用回路１２７は、直列に接続された内部放電素子１２５とトランジスタ１２６を備え、シャント抵抗１２２を介して電池セル群１０１に接続されている。内部放電素子１２５は、抵抗素子である。トランジスタ１２６は、モジュールコントローラ１２０に接続されており、その動作は、モジュールコントローラ１２０によって制御される。モジュールコントローラ１２０がトランジスタ１２６をオンすると、放電用回路１２７は電池セル群１０１に電気的に接続される。それにより、電池セル群１０１は、内部放電素子１２５によって放電される。モジュールコントローラ１２０は、後述する自己診断処理やバランス放電処理が実行されるときに、トランジスタ１２６をオンすることによって、電池セル群１０１を電池モジュール１００内で放電させることができる。
【００４５】
モジュールコントローラ１２０には、診断スイッチ１０９、表示ライト１１０、モジュール側通信端子１１２も接続されている。ユーザが診断スイッチ１０９を操作すると、モジュールコントローラ１２０は自己診断処理を実行する。この自己診断処理は、電池モジュール１００がパック本体２００に取り付けられた状態でも、電池モジュール１００がパック本体２００から取り外された状態でも、実行される。そして、モジュールコントローラ１２０は、自己診断処理による診断結果を、表示ライト１１０によって表示する。
【００４６】
次に、電池パック１０の全体の構成を詳細に説明する。図６に示すように、パック本体２００は、ハウジング２１１を備えている。ハウジング２１１は、絶縁性を有する樹脂材料で形成されている。ハウジング２１１には、前記したモジュール収容部２１２、本体側コネクタ２１４、リブ２１０が一体に形成されている。モジュール収容部２１２には、三つの電池モジュール１００が収容されており、それらの電池モジュール１００は、リブ２１０によって支持されている。リブ２１０は、電池モジュール１００の過熱が防止されるように、隣り合う電池モジュール１００の間に隙間を形成する。各々の電池モジュール１００のモジュール側コネクタ１０５は、ハウジング２１１に形成された本体側コネクタ２１４に接続されている。
【００４７】
ハウジング２１１には、出力ソケット２３３と充電ソケット２３４がさらに形成されている。出力ソケット２３３は、電力供給コード４０１が着脱可能となっている。出力ソケット２３３の内部には、電力供給コード４０１と電気的に接続する一対の出力端子２０３が設けられている。充電ソケット２３４は、充電コード３００が着脱可能となっている。充電ソケット２３４の内部には、充電コード３００と電気的に接続する一対の充電端子２０４が設けられている。
さらに、ハウジング２１１には、ソケットカバー２０６、ソケットカバーセンサ２０５、スプリング２０７が設けられている。ソケットカバー２０６は、出力ソケット２３３及び充電ソケット２３４を覆うカバーである。ソケットカバー２０６は、スライド可能に支持されており、出力ソケット２３３及び充電ソケット２３４を閉鎖する閉鎖位置と、出力ソケット２３３及び充電ソケット２３４を開放する開放位置との間で、移動することができる。ソケットカバー２０６は、スプリング２０７により、閉鎖位置に向けて付勢されている。ソケットカバーセンサ２０５は、ソケットカバー２０６のソケットカバー２０６の位置に応じてオン／オフするスイッチであり、ソケットカバーセンサ２０５の開閉を検出することができる。
【００４８】
図７（Ａ）は、出力ソケット２３３に、電力供給コード４０１が取り付けられた状態を示している。図７（Ａ）に示すように、電力供給コード４０１の端部には、出力ソケット２３３に対応する形状のプラグ４０２が設けられている。出力ソケット２３３に電力供給コード４０１を取り付ける場合、ユーザは、ソケットカバー２０６をスプリング２０７が圧縮される方向へスライドさせ、出力ソケット２３３を外部に露出させる。このとき、移動したソケットカバー２０６により、ソケットカバーセンサ２０５がオンされる。即ち、ソケットカバー２０６が開放されたことが検出される。なお、使用されない充電ソケット２３４については、ソケットカバー２０６によって覆われる。
【００４９】
図７（Ｂ）は、充電ソケット２３４に、充電コード３００が取り付けられた状態を示している。図７（Ｂ）に示すように、充電コード３００の端部には、充電ソケット２３４に対応する形状のプラグ３０３が設けられている。充電ソケット２３４に充電コード３００を取り付ける場合、ユーザは、ソケットカバー２０６をスプリング２０７が圧縮される方向へスライドさせ、充電ソケット２３４を外部に露出させる。このとき、移動したソケットカバー２０６により、ソケットカバーセンサ２０５がオンされる。即ち、ソケットカバー２０６が開放されたことが検出される。なお、使用されない出力ソケット２３３については、充電コード３００のプラグ３０３によって覆われる。
【００５０】
図６に示すように、ハウジング２１１には、メイン回路ユニット２０２が収容されている。メイン回路ユニット２０２には、前記した表示ライト２０９が設けられている。また、メイン回路ユニット２０２には、本体側電力端子２０１、本体側通信端子２２３（図６では図示されない）、出力端子２０３、充電端子２０４、ソケットカバーセンサ２０５、モジュールカバーセンサ２０８が接続されている。メイン回路ユニット２０２は、マイクロコンピュータや各種の回路素子を有しており、図８に示すパック本体２００の回路を構成している。
【００５１】
図８に示すように、パック本体２００の内部回路は、メインコントローラ２２０、シャント抵抗２２２、充電制御サイリスタ２２４、充電電力検知部２２５、バックアップ電源部２２６、工具スイッチ検知部２２７をさらに備えている。メインコントローラ２２０は、マイクロコンピュータを用いて構成されており、各種の処理を実行するプログラムを記憶している。
【００５２】
電池モジュール１００がパック本体２００に取り付けられると、電池モジュール１００の一対のモジュール側電力端子１１１は、パック本体２００の一対の本体側電力端子２０１に接続される。その結果、三つの電池モジュール１００は、パック本体２００を介して直列に接続される。即ち、三つの電池モジュール１００に収容された３０本の電池セル１０１が直列に接続される。以下、直列に接続された三つの電池モジュール１００を、単に電池モジュール群１００と称することがある。
電池モジュール１００群は、一対の出力端子２０３及び一対の充電端子２０４に接続される。それにより、電池モジュール群１００からの電力は、一対の出力端子２０３から電動工具４００へ出力される。また、電池モジュール群１００への充電電力は、商用電源から一対の充電端子２０４へ入力され、電池モジュール群１００へと供給される。
【００５３】
電池モジュール１００がパック本体２００に取り付けられると、電池モジュール１００のモジュール側通信端子１１２についても、パック本体２００の本体側通信端子２２３に接続される。それにより、メインコントローラ２２０は、各々の電池モジュール１００のモジュールコントローラ１２０と、相互通信可能に接続される。
【００５４】
ここで、メインコントローラ２２０とモジュールコントローラ１２０との接続に関して補足する。直列に接続された三つの電池モジュール群１００では、各々の電池モジュール１００におけるグラウンド電位（基準電位）が相違する。即ち、各々のモジュールコントローラ１２０は、互いに異なるグラウンド電位に接続されており、メインコントローラ２２０が接続されるグラウンド電位とも相違する。従って、メインコントローラ２２０とモジュールコントローラ１２０を単純に接続することはできない。そこで、本実施例では、メインコントローラ２２０とモジュールコントローラ１２０との通信回路上にフォトカプラを設けており、両者を電気的に絶縁している。なお、メインコントローラ２２０とモジュールコントローラ１２０と通信接続は、無線方式と有線方式のいずれでもよく、また、アナログ通信とデジタル通信のいずれでもよい。その手法は、特に限定されない。
【００５５】
シャント抵抗２２２は、電池モジュール１００群の電流を検出するための素子である。シャント抵抗２２２は、電池モジュール１００群と直列に設けられている。シャント抵抗２２２には、電池モジュール１００群と同じ電流が流れ、電池モジュール群１００を流れる電流に応じた電圧が発生する。メインコントローラ２２０は、シャント抵抗２２２に発生した電圧を入力し、電池モジュール１００の電流を検知する。
充電制御サイリスタ２２４は、電池モジュール１００と充電端子２０４との間に設けられている。充電制御サイリスタ２２４は、メインコントローラ２２０に接続されており、その動作は、メインコントローラ２２０によって制御される。メインコントローラ２２０は、充電制御サイリスタ２２４を用いて、電池モジュール１００への充電電力を制御する。充電制御サイリスタ２２４により、商用電源から入力された交流電力が整流されるとともに、電池モジュール１００への充電電流や充電電圧が調節される。
【００５６】
充電電力検知部２２５は、充電端子２０４及びメインコントローラ２２０に接続されている。充電端子２０４に商用電源が接続されると、充電電力検知部２２５によって整流及び低電圧化された検出電圧が、メインコントローラ２２０に入力される。メインコントローラ２２０は、充電電力検知部２２５により、充電端子２０４に商用電源が接続されたことを検知することができる。
バックアップ電源部２２６は、メインコントローラ２２０に電力を供給する。バックアップ電源部２２６は、コンデンサや二次電池といった蓄電部を有しており、電池モジュール１００の放電電力又は充電端子２０４に供給された充電電力を蓄積することができる。それにより、パック本体２００から電池モジュール１００が取り外され、かつ、充電端子２０４に商用電源が接続されていない状態でも、メインコントローラ２２０は動作することができる。
【００５７】
工具スイッチ検知部２２７は、コンデンサ２２８、抵抗２２９、トランジスタ２３０、ダイオード２３１を用いて構成されている。コンデンサ２２８と抵抗２２９とトランジスタ２３０は、直列に接続されている。ダイオード２３１は、トランジスタ２３０に逆極性となる向きで並列に接続されている。工具スイッチ検知部２２７は、一対の出力端子２０３及びメインコントローラ２２０に接続されている。メインコントローラ２２０は、コンデンサ２２８の電圧を検知するとともに、トランジスタ２３０の動作を制御することができる。メインコントローラ２２０は、工具スイッチ検知部２２７により、電動工具４００のスイッチがオンされたことを検知することができる。
【００５８】
ここで、工具スイッチ検知部２２７について詳しく説明する。メインコントローラ２２０は、コンデンサ２２８の電圧を検知し、コンデンサ２２８が充電されていなければ、トランジスタ２３０をオンすることによって、コンデンサ２２８を充電する。コンデンサ２２８への充電電力は、電池モジュール１００から供給される。このとき、メインコントローラ２２０は、各々の電池モジュール１００のモジュールコントローラ１２０に指令を与え、各々の電池モジュール１００の放電用ＦＥＴ１２３もオンさせる。その後、メインコントローラ２２０は、コンデンサ２２８の充電完了を検知すると、各々の電池モジュール１００の放電用ＦＥＴ１２３及び工具スイッチ検知部２２７のトランジスタ２３０をオフさせる。
ユーザが電動工具４００のスイッチをオンすると、コンデンサ２２８に充電された電力が、出力端子２０３を介して電動工具４００に供給される。このとき、各々の電池モジュール１００の放電用ＦＥＴ１２３はオフされている。従って、コンデンサ２２８の電圧が低下、又は、抵抗２２９の両端電圧が正電圧から負電圧に変化する。メインコントローラ２２０は、これら電圧の変化を検出することで、電動工具４００のスイッチがオンされたことを検知する。
一方、メインコントローラ２２０は、シャント抵抗２２２の電圧を監視することによって、電動工具４００のスイッチがオフされたことを検知する。
【００５９】
メインコントローラ２２０には、ソケットカバーセンサ２０５、モジュールカバーセンサ２０８、表示ライト２０９が接続されている。それにより、メインコントローラ２２０は、ソケットカバーセンサ２０５及びモジュールカバーセンサ２０８の検出結果を入力することができる。後述するように、メインコントローラ２２０は、ソケットカバーセンサ２０５及びモジュールカバーセンサ２０８の検出結果に基づいて、各種の処理を実行するようにプログラムされている。
【００６０】
以上のように、本実施例の電池パック１０は、複数の電池モジュール１００を備えており、各々の電池モジュール１００はパック本体２００に対して着脱可能となっている。従って、電池パック１０の能力が低下した場合、ユーザは劣化の進行した電池モジュール１００を新品のものと交換することで、電池パック１０の能力を回復させることができる。
ユーザが電池モジュール１００を交換する場合、ユーザはモジュールカバー２５０を開ける必要がある。そして、ユーザがモジュールカバー２５０を開けると、そのことはモジュールカバーセンサ２０８によって検知される。このように、本実施例の電池パック１０では、ユーザによる電池モジュール１００の交換が、確実に検知されるように構成されている。
本実施例の電池パック１０では、モジュールカバー２５０の開放が検知されると、モジュールコントローラ１２０及びメインコントローラ２２０によって、下記する各種の処理が自動的に行われる。それらの処理は、ユーザによる電池モジュール１００の交換に際して、実行されることが推奨されるものである。電池パック１０は、それらの推奨される処理を、ユーザによる指示を特に必要とすることなく、確実に実行することができる。
【００６１】
以下、図９から図１３に示すフローチャートを参照して、電池パック１０で実行される制御動作について説明する。図９のフローチャートは、電池パック１０で実行される制御動作の全体の流れを示している。
図９のステップＳ００１は、電池パック１０の初期状態を示す。初期状態において、三つの電池モジュール１００は、パック本体２００に取り付けられている。また、モジュールカバー２５０も、パック本体２００に取り付けられている。即ち、モジュール収容部２１２はモジュールカバー２５０によって閉じられている。さらに、パック本体２００には、電力供給コード４０１も充電コード３００も取り付けられておらず、ソケットカバー２０６も閉じられている。この状態は、電池パック１０を保管しているときのように、電池パック１０を使用していない状態に相当する。
【００６２】
ステップＳ００１の初期状態において、各々の電池モジュール１００の放電用ＦＥＴ１２３及び充電用ＦＥＴ１２４はオフされている。それにより、各々の電池モジュール１００の電池セル群１０１は、パック本体２００から電気的に切断されている。また、各々の電池モジュール１００の電池セル群１０１は、他の電池モジュール１００の電池セル群１０１とも電気的に切断されている。その結果、電池パック１０の不使用時には、電池パック１０の内部に、１０８ボルトという高電圧が発生することはない。これによって、例えばユーザが電池パック１０を落下させるなどし、ユーザが電池パック１０の内部回路に不意に接触した場合でも、ユーザに高電圧が印加されないように対策されている。
【００６３】
ステップＳ００２にて、メインコントローラ２２０は、モジュールカバーセンサ２０８によって、モジュールカバー２５０の開閉（着脱）を確認する。メインコントローラ２２０は、モジュールカバー２５０の開放（オープン）を検知すると、ステップＳ０１５へ進む。モジュールカバー２５０の開放を検知しない場合は、ステップＳ００３へ進む。図示されていないが、ステップＳ００３へ進んだ後も、メインコントローラ２２０は、モジュールカバー２５０の開閉を監視し続け、モジュールカバー２５０の開放を検知すると、ステップＳ０１５へ移行する。これによって、電池パック１０の使用時（充電時を含む）や未使用時に限らず、モジュールカバー２５０が開放された場合には、ステップＳ０１５以降の処理が実行される。
【００６４】
ステップＳ００３にて、メインコントローラ２２０は、ソケットカバーセンサ２０５によって、ソケットカバー２０６の開閉を確認する。メインコントローラ２２０は、ソケットカバー２０６の開放（オープン）を検知すると、ステップＳ００４へ進む。ソケットカバー２０６の開放を検知しない場合は、ステップＳ００２へ戻る。メインコントローラ２２０は、ソケットカバー２０６の開放を検知することによって、電池パック１０が使用される（充電を含む）のか否かを検知する。そして、電池パック１０が使用されることを検知すると、ステップＳ００４へ移行する。
【００６５】
ステップＳ００４にて、メインコントローラ２２０は、各々の電池モジュール１００のモジュールコントローラ１２０へ、自己診断処理の実行を指示する。各々の電池モジュール１００では、モジュールコントローラ１２０により、ステップＳ４００に示す自己診断処理が実行される。電池モジュール１００の自己診断処理は、内蔵する電池セル群１０１の劣化度合を判定する処理である。自己診断処理の詳細は、後段において説明する。
ステップＳ００５にて、メインコントローラ２２０は、各々の電池モジュール１００のモジュールコントローラ１２０へ、自己診断結果の送信を要求する。指示を受けた各々のモジュールコントローラ１２０は、ステップＳ４００の自己診断処理で得られた診断結果を、メインコントローラ２２０へ送信する。
【００６６】
ステップＳ００６にて、メインコントローラ２２０は、受信した診断結果に基づいて、各々の電池モジュール１００が使用可能な状態であるのか否かを判定する。そして、全ての電池モジュール１００が使用可能な状態であればステップＳ００８へ進み、少なくとも一つの電池モジュール１００が使用不能な状態であればステップＳ００７へ進む。
【００６７】
ステップＳ００７にて、メインコントローラ２２０は、パック本体２００の表示ライト２０９を用い、使用不能と判定された電池モジュール１００が存在することを表示する。即ち、電池モジュール１００の交換を必要とする旨を表示する。そして、メインコントローラ２２０は、ステップＳ００２へ戻る。従って、電池モジュール群１００のなかに、一つでも使用不能な状態のものが含まれている場合、メインコントローラ２２０がステップＳ００８へ進むことはない。
ここで、各々の電池モジュール１００による自己診断処理の結果は、各々の電池モジュール１００の表示ライト１１０に表示される。それにより、ユーザは、交換を必要とする電池モジュール１００を、見間違えることがない。
【００６８】
一方、ステップＳ００８に進んだ場合、メインコントローラ２２０は、各々の電池モジュール１００のモジュールコントローラ１２０へ、電池セル群１０１の電圧情報及び温度情報を要求する。
ステップＳ００９にて、指示を受けた各々のモジュールコントローラ１２０は、電池セル群１０１の電圧と温度を検出し、その検出結果を示す電圧情報及び温度情報をメインコントローラ２２０へ送信する。
【００６９】
ステップＳ０１０にて、メインコントローラ２２０は、各々の電池モジュール１００から受信した電圧情報に基づいて、電池モジュール群１００全体の充電残量（放電可能な電力量）を算出する。そして、メインコントローラ２２０は、算出した充電残量を表示ライト２０９によって表示する。
ここで、メインコントローラ２２０は、全ての電池セル１０１の電圧の平均値と、予め記憶している電圧と充電残量の相関データに基づいて、電池モジュール群１００全体の充電残量を算出する。ただし、充電残量を算出は、この手法に限られず、他の手法を用いて行うこともできる。また、各々の電池モジュール１００においてモジュールコントローラ１２０が電池セル群１０１の充電残量を算出し、各々の電池モジュール１００で算出された充電残量に基づいてメインコントローラ２２０が電池モジュール群１００の全体の充電残量を算出する構成とすることもできる。
【００７０】
ステップＳ０１１にて、メインコントローラ２２０は、受信した温度情報に基づいて、各々の電池モジュール１００の電池セル群１０１の温度が、正常範囲内であるのか否かを判定する。そして、メインコントローラ２２０は、少なくとも一つの電池モジュール１００において、電池セル群１０１の温度が正常範囲外であることを確認すると、ステップＳ０１２へ進む。それに対して、全ての電池モジュール１００において、電池セル群１０１の温度が正常範囲内であることを確認すると、メインコントローラ２２０はステップＳ０１３へ進む。電池セル１０１群は、高温や低温の状態で充電又は放電されると、その劣化が大きく進行する。そのことから、このステップＳ０１１では、電池セル１０１群の充電又は放電に先立って、電池セル群１０１の温度が正常範囲内であるのか否かを判定する。
【００７１】
ステップＳ０１２に進むと、メインコントローラ２２０は、表示ライト２０９を用いて温度異常の表示を行う。メインコントローラ２２０は、ステップＳ０１１とステップＳ０１２を繰り返し、電池セル群１０１の温度異常が解消されるまで、温度異常の表示を継続する。それにより、ユーザは、電池セル群１０１に温度異常が生じており、電池パック１０が使用できない状態であることを知ることができる。
【００７２】
ステップＳ０１３にて、メインコントローラ２２０は、再度、ソケットカバーセンサ２０５によって、ソケットカバー２０６の開閉を確認する。そして、メインコントローラ２２０は、ソケットカバー２０６の閉鎖（クローズ）を検知すると、ステップＳ００２へ戻る。ソケットカバー２０６の閉鎖を検知しない場合、メインコントローラ２２０はステップＳ０１４へ進む。
【００７３】
ステップＳ０１４にて、メインコントローラ２２０は、充電電力検知部２２５によって、充電端子２０４に充電コード３００を介して商用電源が接続されているのか否かを検知する。そして、メインコントローラ２２０は、商用電源の接続を検知するとステップＳ１００に進み、電池パック１０の充電処理を実行する。一方、商用電源の接続を検知しなければ、ステップＳ３００に進み、電池パック１０の放電処理を実行する。電池パック１０の充電処理及び放電処理については、後段において詳細に説明する。
【００７４】
次に、ステップＳ００２からステップＳ０１５へ進んだ場合の処理を説明する。即ち、ユーザがモジュールカバー２５０を開放し（ステップＳ００２でＹｅｓ）、電池モジュール１００の交換を行う場合に、電池パック１０の内部で実行される処理を説明する。
ステップＳ０１５にて、メインコントローラ２２０は、各々のモジュールコントローラ１２０へ、放電用ＦＥＴ１２３及び充電用ＦＥＴ１２４のターンオフを指示する。
【００７５】
ステップＳ０１６にて、各々の電池モジュール１００では、指示を受けたモジュールコントローラ１２０が、放電用ＦＥＴ１２３及び充電用ＦＥＴ１２４をターンオフする。これによって、ユーザが電池モジュール１００の交換を行う場合には、各々の電池モジュール１００の電池セル群１０１が、パック本体２００から電気的に切断される。また、各々の電池モジュール１００の電池セル群１０１は、他の電池モジュール１００の電池セル群１０１とも電気的に切断される。それにより、電池パック１０に高電圧が発生することが防止される。さらに、各々の電池モジュール１００では、外部に露出している一対のモジュール側電力端子１１１が、電池セル群１０１から電気的に切断されている。それにより、ユーザが電池モジュール１００を取り扱う際に、一対のモジュール側電力端子１１１に触れたとしても、ユーザが感電することが防止される。このように、電池パック１０では、ユーザが電池モジュール１００を交換する際に、ユーザに高電圧が印加されるといった事態が防止される。
ここで、電池モジュール１００の交換時に限らず、モジュールカバー２５０が予期せず外れてしまい、電池モジュール１００が露出した場合でも、上記した電池モジュール１００同士の接続を切断する処理は行われる。従って、電池モジュール１００の交換時に限らず、ユーザが感電するといった事態は防止される。また、電池モジュール１００同士の接続が切断されることにより、電池パック１０は充電することも放電することもできなくなる。従って、モジュールカバー２５０が取り外された状態で、電池パック１０が電動工具４００の電源として使用され、あるいは、電池パック１０が充電されることが禁止される。
【００７６】
ステップＳ０１７にて、メインコントローラ２２０は、ソケットカバーセンサ２０５による検知結果を一時的に無効化する。それにより、モジュールカバー２５０が開放された状態では、ソケットカバー２０６が開放され、出力ソケット２３３や充電ソケット２３４に電力供給コード４０１や充電コード３００が接続されたとしても、メインコントローラ２２０がステップＳ１００の充電処理やステップＳ３００の放電処理を実行することが禁止されている。
ここで、ステップＳ０１７では、ソケットカバー２０６の開放を禁止するインターロック機能をさらに設けることも有効である。それにより、モジュールカバー２５０が開放された状態では、ソケットカバー２０６を開けることが禁止され、電池パック１０の充電や放電といった使用を物理的に禁止することができる。
【００７７】
ステップＳ０１８にて、メインコントローラ２２０は、各々のモジュールコントローラ１２０へ、自己診断処理の実行を指示する。各々の電池モジュール１００では、モジュールコントローラ１２０により、ステップＳ４００に示す自己診断処理が実行される。自己診断処理の結果は、各々の電池モジュール１００の表示ライト１１０によって表示される。即ち、交換を要する電池モジュール１００が、表示ライト１１０によって特定される。なお、パック本体２００の表示ライト２０９を用いて、電池モジュール群１００の表示ライト１１０と同様の表示を行うようにしてもよい。
【００７８】
ステップＳ０１９にて、ユーザは、表示ライト１１０、２０９の表示に従って、交換を要する電池モジュール１００を、新品のもの、あるいは、使用可能な中古のものに交換する。電池パック１０では、交換を要する電池モジュール１００が自動的に特定されるので、ユーザが正常な電池モジュール１００を誤って交換するといった事態が防止される。ユーザは、電池モジュール１００の交換後、モジュールカバー２５０をパック本体２００に再び取り付ける。
【００７９】
ステップＳ０２０にて、メインコントローラ２２０は、モジュールカバーセンサ２０８によって、モジュールカバー２５０の開閉を確認する。そして、メインコントローラ２２０は、モジュールカバー２５０の閉鎖（クローズ）を検知すると、ステップＳ０２１へ進む。ソケットカバー２０６の閉鎖を検知しない場合、メインコントローラ２２０はステップＳ０１７へ戻る。このとき、メインコントローラ２２０は、各々の電池モジュール１００のモジュールコントローラ１２０と通信を行い、全ての電池モジュール１００が正しく接続されていることを確認してもよい。
【００８０】
ステップＳ０２１にて、メインコントローラ２２０は、モジュールカバー２５０が閉鎖されてからの経過時間を計時する。そして、メインコントローラ２２０は、モジュールカバー２５０が閉鎖された状態が既定の遅延時間に亘って継続した場合に、ステップＳ０２２へ進む。それに対して、モジュールカバー２５０が再度開放された場合、メインコントローラ２２０はステップＳ０２０へ戻る。
このステップＳ０２１により、例えばユーザがモジュールカバー２５０の閉鎖した直後に、なんらかの問題を見つけ、モジュールカバー２５０を再度開放するような場合に、メインコントローラ２２０が不必要にステップＳ０２２以降へ進むことが防止される。あるいは、モジュールカバーセンサ２０８の位置や感度によっては、モジュールカバー２５０が完全に閉鎖される前に、モジュールカバーセンサ２０８がモジュールカバー２５０の閉鎖を検知してしまうこともある。このような場合でも、このステップＳ０２１による遅延時間を設けることで、モジュールカバー２５０が完全に閉鎖される前に、メインコントローラ２２０がステップＳ０２２以降へ進むことが防止される。
【００８１】
ステップＳ０２２にて、メインコントローラ２２０は、モジュールカバーセンサ２０８によってモジュールカバー２５０の開放が検知されたことを示す開放検出フラグを記憶する。この開放検出フラグは、モジュールカバー２５０が開放され、電池モジュール１００の交換が行われたことを示す情報である。
ステップＳ０２３にて、メインコントローラ２２０は、ステップＳ０１７によるソケットカバーセンサ２０５の無効化を解除する。そして、メインコントローラ２２０は、ステップＳ００３へ移行する。
【００８２】
ここで、ステップＳ０１９において、ユーザが、交換すべき電池モジュール１００を交換しなかったとする。あるいは、ユーザが、パック本体２００に三つの電池モジュール１００を取り付けることなく、モジュールカバー２５０を閉じてしまったとする。このような場合は、ステップＳ００４からＳ００７によって、ユーザは電池モジュール１００の交換が正しく完了していないことを認識することができる。
【００８３】
次に、図１０を参照して、図９のステップＳ１００に示された電池パック１０の充電処理について説明する。先に説明したように、ステップＳ１００の充電処理に進んだ段階で、電池パック１０の充電端子２０４には、充電コード３００を介して商用電源が接続されている。
ステップＳ１０１にて、メインコントローラ２２０は、開放検出フラグを記憶しているか否かを確認する。そして、メインコントローラ２２０は、開放検出フラグを記憶していればステップＳ２００へ進み、そうでなければステップＳ１０２へ進む。
ここで、メインコントローラ２２０が開放検出フラグを記憶していることは、電池パック１０を最後に充電した以降に、モジュールカバー２５０が少なくとも一度は開放されたことを意味する。即ち、電池モジュール１００の交換が行われた可能性があることを意味する。このような場合に、メインコントローラ２２０は、ステップＳ２００に示すバランス放電処理を実行する。
【００８４】
電池モジュール１００の交換が行われた場合、新たに交換された電池モジュール１００と、既存していた電池モジュール１００では、その充電残量が互いに相違する。充電残量が不均一な複数の電池モジュール１００を直列に接続すると、一部の電池モジュール１００が早期に劣化したりする。そのことから、電池モジュール１００の交換が行われた後は、電池モジュール１００間で充電残量を均一化する必要がある。そこで、本実施例の電池パック１０では、電池モジュール１００の交換が行われた可能性がある場合に、充電残量の多い電池モジュール１００を選択的に放電するバランス放電処理が自動的に実行される。バランス放電処理の詳細は後段において説明する。
【００８５】
ステップＳ１０２にて、メインコントローラ２２０は、各々のモジュールコントローラ１２０へ、電池セル群１０１の電圧情報を要求する。
ステップＳ１０３にて、指示を受けた各々のモジュールコントローラ１２０は、電池セル群１０１の電圧を検知し、その検知結果を示す電圧情報をメインコントローラ２２０へ送信する。
【００８６】
ステップＳ１０４にて、メインコントローラ２２０は、受信した電圧情報に基づいて、各々の電池モジュール１００毎に、直列に接続された電池セル群１０１の全体電圧を算出する。そして、メインコントローラ２２０は、電池モジュール１００間で電池セル群１０１の電圧に所定値以上のばらつきが生じていれば、ステップＳ２００へ進む。そうでなければ、ステップＳ１０５へ進む。
ここで、電池セル群１０１の全体電圧は、電池セル群１０１の充電残量に応じて変化する。従って、電池モジュール１００間で電池セル群１０１の電圧にばらつきが生じていれば、電池モジュール１００間で電池セル群１０１の充電残量にばらつきが生じていることを意味する。このような場合は、電池モジュール１００の交換の有無にかかわらず、ステップＳ２００のバランス放電処理が実行される。
【００８７】
ステップＳ１０５にて、メインコントローラ２２０は、各々のモジュールコントローラ１２０へ、充電用ＦＥＴ１２４のターンオンを指示する。
ステップＳ１０６にて、各々の電池モジュール１００では、モジュールコントローラ１２０により、充電用ＦＥＴ１２４がターンオンされる。
ステップＳ１０７にて、メインコントローラ２２０は、充電制御サイリスタ２２４をオンさせて、電池モジュール群１００の充電を開始する。電池モジュール群１００の充電中、メインコントローラ２２０はステップＳ１０７から１１３を実行し、各々の電池モジュール１００のモジュールコントローラ１２０はステップＳ１１４からＳ１１８を実行する。
以下に説明するように、電池モジュール群１００の充電は、定電流−定電圧方式によって行われる。即ち、充電の前期では定電流で充電が行われ、充電の後期では定電圧で充電が行われる。
【００８８】
ステップＳ１０８にて、メインコントローラ２２０は、直列に接続された電池モジュール群１００全体の電圧及び電流を検知する。そして、メインコントローラ２２０は、検知した電池モジュール群１００全体の電圧及び電流に基づいて、充電制御サイリスタ２２４の動作を制御する。詳しくは、電池モジュール群１００全体の電圧が所定の上限電圧値に達するまでは、電池モジュール群１００への充電電流が所定の目標電流値を超えないように、充電制御サイリスタ２２４の点弧角を調節する。そして、電池モジュール群１００全体の全体の電圧が上限電圧値に達した後は、電池モジュール群１００全体の電圧が上限電圧値以下の所定の目標電圧値に維持されるように、充電制御サイリスタ２２４の点弧角を調節する。ここで、メインコントローラ２２０は、検知された電池セル群１０１の温度に応じて、前記した目標電流値や目標電圧値を変更することができる。
【００８９】
ステップＳ１０９にて、メインコントローラ２２０は、検知した電池モジュール群１００全体の電圧に基づいて、電池モジュール群１００全体の充電残量を算出する。そして、メインコントローラ２２０は、算出した充電残量を表示ライト２０９によって表示する。このステップＳ１０９の処理は、図９のステップＳ０１０と同様に行われる。
ステップＳ１１０にて、メインコントローラ２２０は、電池モジュール群１００への充電処理を終了すべきかを否かを判断する。ここで、メインコントローラ２２０は、電池セル群１０１全体の電圧及び電流に基づいて、電池モジュール１００群の電池セル群１０１が満充電に達したと検知した場合、内部回路の故障や商用電源の電圧変動などにより、充電電圧及び充電電流が適切に制御できない場合、各々のモジュールコントローラ１２０との通信が不通となった場合、又は、各々の電池モジュール１００の電圧間に所定値以上のばらつきが生じた場合に、充電処理を終了すべきと判断する。そして、メインコントローラ２２０は、充電処理を終了すべきと判断した場合、ステップＳ１１２へ進む。そうでない場合は、ステップＳ１１１へ進む。
【００９０】
ステップＳ１１１にて、メインコントローラ２２０は、少なくとも一つのモジュールコントローラ１２０から、電池モジュール１００の充電用ＦＥＴ１２４をオフした旨の信号を受信した場合に、ステップＳ１１２へ進む。当該信号を受信しなければ、ステップＳ１０７へ戻る。即ち、電池パック１０の充電処理が継続される。
ステップＳ１１２にて、メインコントローラ２２０は、充電制御サイリスタ２２４をオフし、電池モジュール群１００の充電を終了する。
ステップＳ１１３にて、メインコントローラ２２０は、各々のモジュールコントローラ１２０へ、充電用ＦＥＴ１２４のターンオフを指示する。この指示に対し、後述するモジュールコントローラ１２０のステップＳ１１６にて処理される。
以上により、電池パック１０の充電処理において、メインコントローラ２２０で実行される処理は終了する。
【００９１】
上記したメインコントローラ２２０の処理と並行して、各々の電池モジュール１００では、モジュールコントローラ１２０により、以下に説明するステップＳ１１４からＳ１１８が実行される。
ステップＳ１１４にて、各々のモジュールコントローラ１２０は、電池セル群１０１の電圧、電流及び温度を検知する。検知された電圧、電流及び温度は、メインコントローラ２２０へ送信され、メインコントローラ２２０の上記した処理に利用される。
【００９２】
ステップＳ１１５にて、各々のモジュールコントローラ１２０は、電池セル群１０１への充電を終了すべきかを否かを判断する。モジュールコントローラ１２０は、少なくとも一つの電池セル１０１の電圧が所定の上限値を上回った場合、電池セル群１０１への充電電流が所定の上限値を上回った場合、電池セル群１０１の温度が所定の温度範囲から外れた場合、電池セル１０１間の電圧に所定値以上のばらつきが生じた場合、又は、メインコントローラ２２０との通信が不通となった場合に、電池セル群１０１への充電を終了すべきと判断する。そして、モジュールコントローラ１２０は、電池セル群１０１への充電を終了すべきと判断した場合、ステップＳ１１７へ進む。そうでない場合は、ステップＳ１１６へ進む。
【００９３】
ステップＳ１１６にて、各々のモジュールコントローラ１２０は、メインコントローラ２２０から充電用ＦＥＴ１２４をターンオフする指示を受信している場合（ステップＳ１１３参照）、ステップＳ１１７へ進む。受信していなければ、ステップＳ１１４へ戻る。
ステップＳ１１７にて、各々のモジュールコントローラ１２０は、充電用ＦＥＴ１２４をターンオフする。それにより、電池セル群１０１への充電が停止される。
ステップＳ１１８にて、各々のモジュールコントローラ１２０は、メインコントローラ２２０へ、充電用ＦＥＴ１２４のターンオフを実行した旨の信号を送信する。この信号は、メインコントローラ２２０のステップＳ１１１で処理される。
以上により、電池パック１０の充電処理において、各々のモジュールコントローラ１２０で実行される処理は終了する。
【００９４】
以上に説明したように、電池パック１０の充電処理では、メインコントローラ２２０及び各々のモジュールコントローラ１２０によって、充電状態が監視される。そして、少なくとも一つのコントローラ２２０、１２０が充電を停止すべきと判断した場合は、そのコントローラ２２０、１２０が独立して充電を終了させることができる。さらに、他のコントローラ２２０、１２０についても、それに追従するように、充電を終了させる処理を直ちに実行する。一部のコントローラ２２０、１２０が故障したとしても、メインコントローラ２２０が充電制御サイリスタ２２４をオフするか、少なくとも一つのモジュールコントローラ１２０が充電用ＦＥＴ１２４をオフすれば、電池モジュール１００群への充電を直ちに終了させることができる。
【００９５】
充電処理が終了した時点で、各々の電池モジュール１００の電池セル群１０１は、パック本体２００から電気的に切断されている。また、各々の電池モジュール１００の電池セル群１０１は、他の電池モジュール１００の電池セル群１０１とも電気的に切断される。それにより、充電処理が終了した後は、電池パック１０内に高電圧を無用に発生させることがない。
さらに、各々の電池モジュール１００では、外部に露出している一対のモジュール側電力端子１１１が、電池セル群１０１から電気的に切断されている。それにより、電池モジュール１００は、充電も放電も禁止される。電池モジュール１００はパック本体２００のみで充電可能であり、他の非正規の充電器によって充電されることは禁止される。
【００９６】
次に、図１１を参照して、図１０のステップＳ２００に示されたバランス放電処理について説明する。先に説明したように、ステップＳ２００のバランス放電処理に進んだ段階で、各々の電池モジュール１００の放電用ＦＥＴ１２３及び充電用ＦＥＴ１２４はオフされている。即ち、各々の電池モジュール１００において、一対のモジュール側電力端子１１１は、電池セル群１０１から電気的に切断されている。従って、各々の電池モジュール１００の電池セル群１０１は、パック本体２００から電気的に切断されている。
先に説明したように、各々の電池モジュール１００は、電池セル群１０１が内部放電素子１２５に接続される放電用回路１２７を内蔵している。従って、各々の電池モジュール１００は、パック本体２００から電気的に切断された状態で、電池セル群１０１を放電させることができる。それに対して、各々の電池モジュール１００をパック本体２００で放電させようとすると、各々の電池モジュール１００はグラウンド電位が互いに異なることから、パック本体２００の内部回路が複雑なものとなってしまう。具体的には、各々の電池モジュール１００に対して、互いに絶縁された放電用回路や各種のセンサを、パック本体２００の内部回路に設ける必要がある。
【００９７】
ステップＳ２０１にて、メインコントローラ２２０は、各々のモジュールコントローラ１２０へ、放電用回路１２７の接続を指示する。
ステップＳ２０２にて、指示を受けた各々のモジュールコントローラ１２０は、トランジスタ１２６をオンさせる。内部放電素子１２５を有する放電用回路１２７が電池セル群１０１に接続され、電池セル群１０１の放電が開始される。
【００９８】
ステップＳ２０３にて、メインコントローラ２２０は、ステップＳ２０１の接続指示を行った後、所定時間が経過するまで待機する。この所定時間には、例えば数秒といった短時間を設定するとよい。その後、ステップＳ２０４にて、メインコントローラ２２０は、各々のモジュールコントローラ１２０へ、電池セル群１０１の検出電圧を示す電圧情報を要求する。
ステップＳ２０５にて、指示を受けたモジュールコントローラ１２０は、電池セル群１０１の検出電圧を示す電圧情報を送信する。ここで、ステップＳ２０３の所定時間だけ待機する処理は、放電開始直後は電池セル群１０１の電圧が不安定に変動するためである。電池セル群１０１の電圧は、比較的に短時間で安定する。従って、ステップＳ２０３で待機する所定時間は、比較的に短時間とすることができ、この所定時間を短時間とすることで、バランス放電処理に必要とされる時間を短縮することができる。
【００９９】
ステップＳ２０６にて、メインコントローラ２２０は、各々のモジュールコントローラ１２０から受信した電圧情報に基づいて、電池セル群１０１の電圧が最も低い電池モジュール１００を最下電圧電池モジュール１００として特定する。特定された最下電圧電池モジュール１００は、電池セル群１０１の充電残量が最も少ない電池モジュール１００である。そして、ステップＳ２０７にて、メインコントローラ２２０は、最下電圧電池モジュール１００の電池セル群１０１の電圧を、放電停止電圧として記憶する。
【０１００】
ステップＳ２０８にて、メインコントローラ２２０は、最下電圧電池モジュール１００のモジュールコントローラ１２０へ、放電用回路１２７の切断を指示する。
ステップＳ２０９にて、指示を受けた最下電圧電池モジュール１００のモジュールコントローラ１２０は、放電用回路１２７のトランジスタ１２６をオフし、放電用回路１２７を電池セル群１０１から電気的に切断する。それにより、最下電圧電池モジュール１００では、電池セル群１０１の放電が中止される。
ステップＳ２１０にて、メインコントローラ２２０は、最下電圧電池モジュール１００を除く他の電池モジュール１００のモジュールコントローラ１２０へ、電池セル群１０１の検出電圧を示す電圧情報を要求する。
ステップＳ２１１にて、指示を受けたモジュールコントローラ１２０は、電池セル群１０１の検出電圧を示す電圧情報を送信する。
【０１０１】
ステップＳ２１２にて、メインコントローラ２２０は、各々のモジュールコントローラ１２０から受信した電圧情報を、記憶している放電停止電圧と比較し、電池セル群１０１の検出電圧がバランス放電停止電圧に到達した電池モジュール１００を特定する。ここで特定される電池モジュール１００は、電池セル群１０１が適切な充電残量となるまで放電されており、電池セル群１０１の放電を停止すべき電池モジュール１００である。そして、メインコントローラ２２０は、少なくとも一つの電池モジュール１００を特定した場合、ステップＳ２２０へ進む。そうでなければ、ステップＳ２１０へ戻る。
【０１０２】
ステップＳ２２０にて、メインコントローラ２２０は、ステップＳ２１２で特定した電池モジュール１００のモジュールコントローラ１２０へ、放電用回路１２７の切断を指示する。
ステップＳ２２１にて、指示を受けたモジュールコントローラ１２０は、放電用回路１２７のトランジスタ１２６をオフし、放電用回路１２７を電池セル群１０１から電気的に切断する。それにより、電池セル群１０１の検出電圧が放電停止電圧に到達した電池モジュール１００では、電池セル群１０１の放電が中止される。
【０１０３】
ステップＳ２１３にて、メインコントローラ２２０は、全ての電池モジュール１００で電池セル群１０１の放電が停止されていれば、ステップＳ２１４に進む。そうでなければ、ステップＳ２１０へ戻る。
ステップＳ２１４にて、メインコントローラ２２０は、図９のステップＳ０２２で記憶した開放検出フラグを消去する。即ち、メインコントローラ２２０は、バランス放電処理が実質的に完了した段階で、記憶していた開放検出フラグを消去する。開放検出フラグを消去することは、パック本体２００に取り付けられた電池モジュール群１００に対して、少なくとも一度のバランス放電処理が実行されたことを記憶することに実質的に等しい。従って、メインコントローラ２２０は、記憶していた開放検出フラグを消去することに代えて、記憶していた開放検出フラグに対し、バランス放電処理の実行完了を示すフラグを付与することも有効である。
【０１０４】
ここで、開放検出フラグを消去するタイミングは、バランス放電処理の実行完了後に限られず、バランス放電処理の開始時など他のタイミングに変更することもできる。ただし、開放検出フラグを消去するタイミングを、バランス放電処理の実行完了時とすれば、なんらかの原因でバランス放電処理が完了されなかった場合には、次回の充電時にも再度のバランス放電処理が自動的に実行される。
【０１０５】
以上により、電池モジュール群１００に対するバランス放電処理は完了し、電池モジュール群１００の充電残量は実質的に均一となっている。なお、上記したバランス放電処理に代えて、一又は複数の電池モジュール１００を選択的に充電するバランス充電処理を行ってもよい。バランス放電処理とバランス充電処理のいずれのバランス処理によっても、電池モジュール群１００の充電残量を均一化することができる。
本実施例のバランス放電処理では、各々の電池モジュール１００の電圧を測定し（Ｓ２０１−Ｓ２０４）、最下電圧電池モジュール１００の電圧を放電終止電圧に設定して、他の電池モジュール１００の放電を実行する。この方式によると、バランス放電処理を比較的に短時間で行うことが可能となる。それに対して、予め設定された放電終止電圧を用い、全ての電池モジュール１００を放電させる方式を採用すると、例えば充電残量が比較的に多い電池モジュール１００が存在する場合に、バランス放電処理に必要とされる時間が長くなってしまう。
図１０に示すように、バランス放電処理の完了後、電池モジュール群１００の充電処理が行われる。電池モジュール群１００の充電残量を均一化した後に、電池モジュール群１００の充電を行うことで、電池モジュール群１００により多くの電力を充電することができる。
【０１０６】
次に、図１２を参照して、図９のステップＳ３００に示された電池パック１０の放電処理について説明する。電池パック１０は、電池パック１０が電動工具４００の電源として用いられる場合に、図１２に示す放電処理を実行する。ユーザは、電動工具４００に電力供給コード４０１を用いて電池パック１０を接続し、電動工具４００のスイッチをオンする。
ステップＳ３０１、Ｓ３０２にて、メインコントローラ２２０は、工具スイッチ検知部２２７により、ユーザが電動工具４００のスイッチを監視する。そして、メインコントローラ２２０は、電動工具４００のスイッチオンを検知すると、ステップＳ３０３へ進む。
ステップＳ３０３にて、メインコントローラ２２０は、各々の電池モジュール１００のモジュールコントローラ１２０へ、放電用ＦＥＴ１２３のターンオンを指示する。
ステップＳ３０４にて、指示を受けた各々のモジュールコントローラ１２０は、放電用ＦＥＴ１２３をターンオンする。それにより、三つの電池モジュール１００が直列に接続され、その電池モジュール群１００が電動工具４００に電気的に接続される。
ステップＳ３０５にて、電池パック１０は電動工具４００に電力を供給し、電動工具４００はその工具を駆動する。
【０１０７】
以後、メインコントローラ２２０は、ステップＳ３０６からＳ３１１を実行し、それに並行して、各々のモジュールコントローラ１２０は、ステップＳ３１２からＳ３１６を実行する。
ステップＳ３０６にて、メインコントローラ２２０は、電池モジュール群１００全体の電圧及び電流を検知する。
ステップＳ３０７にて、メインコントローラ２２０は、検知した電池モジュール群１００全体の電圧に基づいて、電池モジュール群１００全体の充電残量を算出する。そして、メインコントローラ２２０は、算出した充電残量を表示ライト２０９によって表示する。このステップＳ３０７の処理は、図９のステップＳ０１０と同様に行われる。
【０１０８】
ステップＳ３０８にて、メインコントローラ２２０は、検知した電池モジュール群１００全体の電流に基づいて、無負荷の状態が所定時間継続しているのか否かを検知する。具体的には、電池モジュール群１００全体の電流が、所定時間に亘って所定の下限値を下回った時に、無負荷の状態であると検知する。この場合、メインコントローラ２２０は、ステップＳ３０９に進む。このステップＳ３０８では、ユーザが電動工具４００のスイッチをオフしたのか否かが検知される。上記した所定時間を例えば０．１秒程度に設定すると、下記に説明する処理によって、電動工具４００のスイッチと各々の電池モジュール１００の放電用ＦＥＴ１２３を実質的に連動させることができる。それにより、電動工具４００が駆動されない間は、電池モジュール１００間の接続を切断し、電池パック１０を放電不能な状態とすることができる。
【０１０９】
ステップＳ３０９にて、メインコントローラ２２０は、電池モジュール群１００の放電処理を終了すべきかを否かを判断する。ここで、メインコントローラ２２０は、検知した電池モジュール群１００全体の電圧及び電流に基づいて、電池モジュール群１００の過放電又は過負荷を検知した場合、各々のモジュールコントローラ１２０との通信が不通となった場合、又は、各々の電池モジュール１００の電圧間に所定値以上のばらつきが生じた場合に、放電処理を終了すべきと判断する。そして、メインコントローラ２２０は、放電処理を終了すべきと判断した場合、ステップＳ３１１へ進む。そうでない場合は、ステップＳ３１０へ進む。
【０１１０】
ステップＳ３１０にて、メインコントローラ２２０は、少なくとも一つのモジュールコントローラ１２０から、電池モジュール１００の放電用ＦＥＴ１２３をオフした旨の信号を受信した場合に、ステップＳ３１１へ進む。当該信号を受信しなければ、ステップＳ３０３へ戻る。即ち、電池パック１０の放電処理が継続される。
ステップＳ３１１にて、メインコントローラ２２０は、各々のモジュールコントローラ１２０へ、放電用ＦＥＴ１２３のターンオフを指示する。この指示は、モジュールコントローラ１２０のステップＳ３１４で処理される。
以上により、電池パック１０の放電処理において、メインコントローラ２２０で実行される処理は終了する。
【０１１１】
上記したメインコントローラ２２０の処理と並行して、各々の電池モジュール１００では、モジュールコントローラ１２０により、以下に説明するステップＳ３１２からＳ３１６が実行される。
ステップＳ３１２にて、各々のモジュールコントローラ１２０は、電池セル群１０１の電圧、電流及び温度を検知する。
ステップＳ３１３にて、各々のモジュールコントローラ１２０は、電池セル群１０１の放電を終了すべきかを否かを判断する。ここで、モジュールコントローラ１２０は、少なくとも一つの電池セル１０１の電圧が所定の下限値（放電終止電圧）を下回った場合、短絡や過負荷によって電池セル１０１群の電流が所定の上限値を上回った場合、電池セル群１０１の温度が所定の温度範囲から外れた場合、電池セル１０１間の電圧に所定値以上のばらつきが生じた場合、又は、メインコントローラ２２０との通信が不通となった場合に、電池セル群１０１への放電を終了すべきと判断する。そして、モジュールコントローラ１２０は、電池セル群１０１の放電を終了すべきと判断した場合、ステップＳ３１５へ進む。そうでない場合は、ステップＳ３１４へ進む。
【０１１２】
ステップＳ３１４にて、各々のモジュールコントローラ１２０は、メインコントローラ２２０から放電用ＦＥＴ１２３をターンオフする指示を受信している場合（ステップＳ３１１参照）、ステップＳ３１５へ進む。受信していなければ、ステップＳ３０３へ戻る。
ステップＳ３１５にて、各々のモジュールコントローラ１２０は、放電用ＦＥＴ１２３をターンオフする。それにより、電池セル群１０１の放電が停止される。
ステップＳ３１６にて、各々のモジュールコントローラ１２０は、メインコントローラ２２０へ、放電用ＦＥＴ１２３のターンオフを実行した旨の信号を送信する。この信号は、メインコントローラ２２０のステップＳ３１０で処理される。
以上により、電池パック１０の放電処理において、各々のモジュールコントローラ１２０で実行される処理は終了する。
【０１１３】
以上に説明したように、電池モジュール群１００の放電処理では、メインコントローラ２２０及び各々のモジュールコントローラ１２０が放電状態を監視し、少なくとも一つのコントローラ２２０、１２０が放電を停止するべきと判断した場合は、そのコントローラ２２０、１２０が独立して放電を終了させることができる。この場合、他のコントローラ２２０、１２０についても、それに追従するように、放電を終了させる処理を直ちに実行する。一部のコントローラ２２０、１２０が故障したとしても、少なくとも一つのモジュールコントローラ１２０が放電用ＦＥＴ１２３をオフすれば、電池モジュール１００群の放電を直ちに終了させることができる。
【０１１４】
放電処理が終了した時点で、各々の電池モジュール１００の電池セル群１０１は、パック本体２００から電気的に切断されている。また、各々の電池モジュール１００の電池セル群１０１は、他の電池モジュール１００の電池セル群１０１とも電気的に切断される。それにより、放電処理が終了した後は、電池パック１０内に高電圧を無用に発生させることがない。
さらに、各々の電池モジュール１００では、外部に露出している一対のモジュール側電力端子１１１が、電池セル群１０１から電気的に切断されている。それにより、電池モジュール１００は、充電も放電も禁止される。電池モジュール１００はパック本体２００のみで放電可能であり、他の非正規の電気機器に電源として使用されることは禁止される。
【０１１５】
次に、図１３を参照して、図９のステップＳ４００に示された電池モジュール１００の自己診断処理について説明する。以下に説明するように、各々の電池モジュール１００は、メインコントローラ２２０の指示又はユーザによる診断スイッチ１０９の操作に応じて、内蔵する電池セル群１０１の劣化度合を判定する自己診断処理を実行する。
【０１１６】
ステップＳ４０１にて、各々のモジュールコントローラ１２０は、メインコントローラ２２０から自己診断処理の指示を受けると、ステップＳ４０３へ進む。あるいは、ステップＳ４０１にて、各々のモジュールコントローラ１２０は、ユーザによる診断スイッチ１０９の操作を検知すると、ステップＳ４０３へ進む。
ステップＳ４０３にて、モジュールコントローラ１２０は、放電用回路１２７のトランジスタ１２６をオンし、内部放電素子１２５を含む放電用回路１２７を、電池セル群１０１に接続する。それにより、電池モジュール１００内で電池セル群１０１の放電が開始される。
ステップＳ４０４にて、モジュールコントローラ１２０は、放電中の電池セル群１０１の電圧、電流及び温度の検知を開始する。
ステップＳ４０５にて、モジュールコントローラ１２０は、放電中の電池セル群１０１の電圧、電流及び温度の検知を、所定時間に亘って継続する。
【０１１７】
ステップＳ４０６にて、モジュールコントローラ１２０は、放電用回路１２７のトランジスタ１２６をオフし、放電用回路１２７と電池セル群１０１との接続を切断する。それにより、電池セル群１０１の放電が停止される。
ステップＳ４０７にて、モジュールコントローラ１２０は、放電停止後の電池セル群１０１の電圧、電流及び温度の検知を開始する。
ステップＳ４０８にて、モジュールコントローラ１２０は、非放電中の電池セル群１０１の電圧、電流及び温度の検知を、所定時間に亘って継続する。
【０１１８】
ステップＳ４０９にて、モジュールコントローラ１２０は、検知した電圧、電流及び温度に基づいて、各々の電池セル１０１の電圧及び内部抵抗を検出する。そして、モジュールコントローラ１２０は、検出した各々の電池セル１０１の電圧及び内部抵抗に基づいて、電池セル群１０１の劣化度合を判定する。電池セル群１０１の劣化度合に問題がなければ、ステップＳ４１１にて、モジュールコントローラ１２０は表示ライト１１０を用いて電池モジュール１００はいまだ使用可能であることを表示する。一方、電池セル群１０１の劣化度合が寿命に到達又は故障したレベルであれば、ステップＳ４１２にて、モジュールコントローラ１２０は表示ライト１１０を用いて電池モジュール１００は交換が必要であること表示する。
以上により、電池モジュール１００の自己診断処理は終了する。
【０１１９】
なお、電池セル１０１の劣化度合は、電池セル１０１の内部抵抗に基づいて、正確に判定することができる。電池セル１０１の内部抵抗は、ステップＳ４０３からステップＳ４０５の放電中に検知した電池セル１０１の電圧と、ステップＳ４０６からステップＳ４０８の非放電中に検知した電池セル１０１の電圧との電圧差に対応している。従って、その電圧差が所定値以上の場合には、電池セル１０１の内部抵抗も所定値以上となることから、電池セル群１０１はもはや使用不能であると判定することができる。また、電池セル１０１群の間で電圧のばらつきを算出し、電圧のばらつきが所定値を上回るような場合も、電池セル群１０１はもはや使用不能であると判定することができる。ここで、電池セル１０１の内部抵抗は、電池セル１０１の温度に応じて変化するので、内部抵抗を算出する際には、電池セル１０１の温度を加味するとよい。
【０１２０】
以上に説明したように、ユーザが電池モジュール１００を交換する際に、ユーザがモジュールカバー２５０を開放すると、電池モジュール１００の自己診断処理が自動的に実行される。そして、もはや使用不能となった電池モジュール１００は、交換が必要であることを表示ライト１１０によって表示する。それにより、ユーザは、交換すべき電池モジュール１００を取り違えることがない。また、電池モジュール１００は、パック本体２００から取り外された状態でも、自己診断処理を実行することができる。従って、ユーザは、交換用に用意した電池モジュール１００をパック本体２００に取り付ける前に、当該用意した電池モジュール１００が使用可能なものであるのかを確認することができる。
【０１２１】
電池モジュール１００の自己診断処理では、電池モジュール１００の放電用回路１２７が用いられる。この放電用回路１２７は、先に説明したバランス放電処理でも利用される。このように、電池モジュール１００の放電用回路１２７は、自己診断処理とバランス放電処理の両者で共用される。電池モジュール１００内に放電用回路１２７を設け、放電用回路１２７を複数の処理で共用することで、電池モジュール１００及びパック本体２００の内部回路の構成を簡素にすることができる。
【実施例２】
【０１２２】
実施例２の電池パック２０について説明する。図１４は、実施例２の電池パック２０の構造を模式的に示している。電池パック２０は、実施例１の電池パック１０と同様に、再充電可能であり、充電した電力を電動工具４００（図１４では図示省略）に供給することができる。実施例２の電池パック２０は、特に言及しない限り、実施例１の電池パック１０と同様の構成を有している。また、同一種の構成要素については、実施例１と同一の参照番号が付されている。
【０１２３】
図１４に示すように、電池パック２０は、三つの電池モジュール１００と、パック本体２００を備えている。各々の電池モジュール１００は、直列に接続された電池セル群１０１（図１４で図示省略）を内蔵している。パック本体２００は、複数の電池モジュール１００が着脱可能であり、取り付けられた複数の電池モジュール１００を直列に接続する。そして、パック本体２００は、直列に接続された電池モジュール１００からの電力を、電動工具４００に供給することができる。
【０１２４】
パック本体２００は、モジュール収容部２１２と、モジュール収容部２１２を閉塞するモジュールカバー２５０と、モジュールカバー２５０の開閉を検出するモジュールカバーセンサ２０８と、モジュールカバーセンサ２０８が接続されたメインコントローラ２２０を有している。
モジュールカバー２５０は、軸２６０を中心に、パック本体２００に対して揺動可能に支持されている。モジュールカバー２５０は、モジュール収容部２１２を閉鎖する閉鎖位置と、モジュール収容部２１２を開放する開放位置との間で、移動可能な可動部材である。モジュールカバー２５０は、閉鎖位置にある時に、パック本体２００に対する電池モジュール１００の着脱を禁止し、開放位置にある時に、パック本体２００に対する電池モジュール１００の着脱を許容する。
モジュールカバーセンサ２０８は、モジュールカバー２５０が閉鎖位置にあるのか否かを検出し、その検出結果をメインコントローラ２２０へ出力する。メインコントローラ２２０は、モジュールカバーセンサ２０８の検出結果に基づいて、実施例１で説明した各種の処理を実行することができる。
【０１２５】
パック本体２００は、さらに、三つのロック部材３５０を備えている。各々のロック部材３５０は、パック本体２００によって揺動可能に支持されており、電池モジュール１００の凹部１００ａに係合するロック位置と、電池モジュール１００の凹部１００ａから離脱するアンロック位置との間で、移動可能となっている。ロック部材３５０は、ロック位置にある時に、パック本体２００に対する電池モジュール１００の着脱を禁止し、アンロック位置にある時に、パック本体２００に対する電池モジュール１００の着脱を許容する。従って、図１４に示すように、モジュールカバー２５０が開放位置で電池モジュール１００の着脱を許容しても、ロック部材３５０がロック位置で電池モジュール１００の着脱を禁止する限り、パック本体２００に対する電池モジュール１００の着脱は禁止される。
【０１２６】
上記のように、実施例２の電池パック２０は、モジュールカバー２５０に加え、ロック部材３５０が付加されている。モジュールカバー２５０とロック部材３５０はともに、電池モジュール１００の着脱を禁止する第１位置と、電池モジュール１００の着脱を禁止する第２位置との間で、移動可能な可動部材である。電池パック２０には、このような可動部材を、より多く設けることもできる。また、実施例２の電池パック２０では、モジュールカバーセンサ２０８に代えて、ロック部材３５０がロック位置にあるのか否かを検出するセンサを設けることもできる。この場合でも、ユーザが電池モジュール１００の交換を行う前に、電池パック２０は必要な各種の処理を自動的に実行することができる。
【実施例３】
【０１２７】
実施例３の電池パック３０について説明する。図１５は、実施例３の電池パック３０の構造を模式的に示している。電池パック３０は、実施例１の電池パック１０と同様に、再充電可能であり、充電した電力を電動工具４００（図１５では図示省略）に供給することができる。実施例３の電池パック３０は、特に言及しない限り、実施例１の電池パック１０と同様の構成を有している。また、同一種の構成要素については、実施例１と同一の参照番号が付されている。
【０１２８】
図１５に示すように、電池パック３０は、三つの電池モジュール１００と、パック本体２００を備えている。各々の電池モジュール１００は、直列に接続された電池セル群１０１（図１５では図示省略）を内蔵している。パック本体２００は、複数の電池モジュール１００が着脱可能であり、取り付けられた複数の電池モジュール１００を直列に接続する。そして、パック本体２００は、直列に接続された電池モジュール１００からの電力を、電動工具４００に供給することができる。
【０１２９】
パック本体２００は、モジュール収容部２１２と、モジュール収容部２１２を閉塞するモジュールカバー２５０と、モジュールカバー２５０の開閉を検出するモジュールカバーセンサ２０８と、モジュールカバーセンサ２０８が接続されたメインコントローラ２２０を有している。モジュール収容部２１２は、電池モジュール１００毎に区分けされている。
モジュールカバー２５０は、弾性材料で形成された板状の部材であり、湾曲するように変形することができる。モジュールカバー２５０の縁部２５０ａは、パック本体２００に固定されている。モジュールカバー２５０は、弾性変形することによって、モジュール収容部２１２を閉鎖する閉鎖位置と、モジュール収容部２１２を開放する開放位置との間を、移動することができる。モジュールカバー２５０は、閉鎖位置にある時に、パック本体２００に対する電池モジュール１００の着脱を禁止し、開放位置にある時に、パック本体２００に対する電池モジュール１００の着脱を許容する。なお、モジュールカバー２５０は、弾性変形するものに限られず、塑性変形するものであってもよい。
モジュールカバーセンサ２０８は、モジュールカバー２５０が閉鎖位置にあるのか否かを検出し、その検出結果をメインコントローラ２２０へ出力する。メインコントローラ２２０は、モジュールカバーセンサ２０８の検出結果に基づいて、実施例１で説明した各種の処理を実行することができる。
【０１３０】
パック本体２００は、さらに、三つのラッチ部材３５２を備えている。各々のラッチ部材３５２は、コイルばね３５４によって電池モジュール１００に向けて付勢されており、電池モジュール１００の凹部１００ａに係合するラッチ位置と、電池モジュール１００の凹部１００ａから離脱するアンラッチ位置との間で、移動可能となっている。ラッチ部材３５２がラッチ位置に維持されれば、パック本体２００に対する電池モジュール１００の着脱は禁止される。しかしながら、コイルばね３５４はそれほど強くないので、ユーザが電池モジュール１００を移動させると、ラッチ部材３５２はアンラッチ位置へと受動的に移動する。ラッチ部材３５２は、アンラッチ位置へ移動することで、パック本体２００に対する電池モジュール１００の着脱を許容する。
電池パック３０では、パック本体２００に対して電池モジュール１００が着脱される時に、ラッチ部材３５２はアンラッチ位置に必ず移動する。そのことから、実施例３の電池パック３０では、モジュールカバーセンサ２０８に代えて、ラッチ部材３５２がラッチ位置にあるのか否かを検出するセンサを設けることも有効である。この場合でも、ユーザが電池モジュール１００の交換を行うことを確実に検知し、電池パック３０は必要な各種の処理を自動的に実行することができる。
【０１３１】
以上、本発明の実施形態について詳細に説明したが、これらは例示に過ぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。
本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時の請求項に記載の組合せに限定されるものではない。本明細書または図面に例示した技術は複数の目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
【符号の説明】
【０１３２】
１０、２０、３０：電池パック
１００：電池モジュール（電池モジュール群）
１０１：電池セル（電池セル群）
１０２：リード板
１０４：モジュールケース
１０５：モジュール側コネクタ
１０６：温度センサ
１０８：モジュール回路ユニット
１０９：診断スイッチ
１１０：電池モジュールの表示ライト
１１１：モジュール側電力端子
１１２：モジュール側通信端子
１２０：モジュールコントローラ
１２３：放電用ＦＥＴ
１２４：充電用ＦＥＴ
１２７：放電用回路
２００：パック本体
２０１：本体側電力端子
２０３：出力端子
２０４：充電端子
２０５：ソケットカバーセンサ
２０６：ソケットカバー
２０８：モジュールカバーセンサ
２０９：パック本体の表示ライト
２１１：ハウジング
２１２：モジュール収容部
２１４：本体側コネクタ
２２０：メインコントローラ
２２３：本体側通信端子
２２４：充電制御サイリスタ
２５０：モジュールカバー
４００：電動工具
【図１】
0005427521.tif 000002
【図２】
0005427521.tif 000003
【図３】
0005427521.tif 000004
【図４】
0005427521.tif 000005
【図５】
0005427521.tif 000006
【図６】
0005427521.tif 000007
【図７】
0005427521.tif 000008
【図８】
0005427521.tif 000009
【図９】
0005427521.tif 000010
【図１０】
0005427521.tif 000011
【図１１】
0005427521.tif 000012
【図１２】
0005427521.tif 000013
【図１３】
0005427521.tif 000014
【図１４】
0005427521.tif 000015
【図１５】
0005427521.tif 000016