"充電器からの充電及び電動機器への放電が可能なバッテリと、前記バッテリの状態を監視し、前記バッテリへの充放電を制御する制御手段と、前記バッテリ若しくは前記充電器から電力供給を受けて、前記制御手段駆動用の電源電圧を生成する電源回路と、を備え、前記充電器及び前記電動機器へ装着可能に構成されたバッテリパックであって、前記制御手段は、前記バッテリが前記電源回路に電力供給可能な状態であり、しかも、当該バッテリパックが前記充電器に装着されて、前記充電器からも前記電源回路に電力供給可能であるとき、前記電源回路への電力供給源として、前記充電器を選択することを特徴とするバッテリパック。前記制御手段は、前記バッテリが前記電源回路に電力供給可能な状態であり、しかも、当該バッテリパックが前記充電器に装着されて、前記充電器からも前記電源回路に電力供給可能であるとき、前記バッテリからの出力電圧が所定の閾値電圧以上であれば、前記電源回路への電力供給源として前記バッテリを選択し、前記バッテリからの出力電圧が前記閾値電圧未満であれば、前記電源回路への電力供給源として前記充電器を選択することを特徴とする請求項1に記載のバッテリパック。前記制御手段は、前記充電器が故障していると判断したとき、前記電源回路への電力供給源として、前記バッテリを選択することを特徴とする請求項1または請求項2に記載のバッテリパック。前記制御手段は、前記充電器から前記電源回路への電力供給を実施できないときには、前記電源回路への電力供給源として、前記バッテリを選択することを特徴とする請求項1~請求項3の何れか1項に記載のバッテリパック。前記制御手段は、前記充電器から前記電源回路への電力供給を実施できないとき、前記バッテリからの出力電圧が過放電判定電圧未満になると、前記バッテリから前記電源回路への電力供給経路を遮断することを特徴とする請求項4に記載のバッテリパック。ところで、上記提案のバッテリパックにおいて、バッテリパックが充電器に装着されて、充電器からバッテリへの充電が実施され、バッテリが満充電になると、充電器からバッテリへの充電が停止される。そして、このようにバッテリへの充電が完了した後、バッテリパックが充電器に装着された状態で放置されると、バッテリから電源回路延いては制御回路に電流が流れ、バッテリが放電される。また、この放電は、バッテリ電圧が、充電器から電源回路へ供給される電源電圧に低下するまで継続される。従って、使用者がバッテリパックを充電器に装着してバッテリへの充電を開始させてから、バッテリパックを充電器から外すのを忘れると、その後、バッテリパックを電動機器に装着しても、バッテリから電動機器に電力供給することができず、バッテリを再度充電しなければならなくなる、という問題が発生する。本発明は、こうした問題に鑑みなされたものであり、電動機器に電力供給を行うバッテリパックにおいて、充電器に装着されてバッテリへの充電が完了してから、充電器への装着状態が継続されることにより、バッテリが、電動機器への電力供給ができなくなるまで放電されるのを防止することを目的とする。かかる目的を達成するためになされた請求項1に記載のバッテリパックにおいては、バッテリに加えて、バッテリの状態を監視してバッテリへの充放電を制御する制御手段と、制御手段駆動用の電源電圧を生成する電源回路とが備えられている。そして、制御手段は、バッテリが電源回路に電力供給可能な状態であり、しかも、当該バッテリパックが充電器に装着されて、充電器からも電源回路に電力供給可能であるときには、電源回路への電力供給源として、充電器を選択する。このため、使用者が、バッテリパックを充電器に装着してバッテリを充電させてから、バッテリパックを充電器から外すのを忘れたとしても、バッテリが電源回路延いては制御手段を介して放電されることはない。よって、その後、バッテリパックを電動機器へ装着すれば、バッテリから電動機器への電力供給を問題なく実施することができる。ところで、本発明のバッテリパックでは、電源回路延いては制御手段への電力供給源として、内部のバッテリと外部の充電器との両方を利用できる場合には、電力供給源として充電器を選択する。しかし、バッテリパックが充電器に装着された状態で、バッテリへの充電完了後にバッテリが放電されて、バッテリから電動機器への電力供給を実施できなくなるのを防止するには、必ずしも、電源回路への電力供給源として、常時充電器を選択する必要はなく、請求項2に記載のようにしてもよい。つまり、請求項2に記載のバッテリパックにおいて、制御手段は、電源回路延いては制御手段への電力供給をバッテリと充電器との両方から実施できるときには、バッテリからの出力電圧以下、バッテリ電圧ともいうが所定の閾値電圧以上であるか否かを判断し、バッテリからの出力電圧が閾値電圧以上であれば、電源回路への電力供給源としてバッテリを選択し、バッテリ電圧が閾値電圧未満であれば、電源回路への電力供給源として充電器を選択する。そして、制御手段をこのように構成すれば、バッテリへの充電完了後、バッテリは、バッテリ電圧が閾値電圧になるまで放電され、その後、充電器から電源回路に電力供給がなされて、バッテリの放電が停止されることになる。よって、請求項2に記載のバッテリパックによれば、充電器からバッテリパック内の電源回路延いては制御手段への電力供給は、バッテリが満充電状態になってから、バッテリが電源回路及び制御手段の動作により放電されて、バッテリ電圧が閾値電圧になるまでの間、停止される。そして、この停止期間中は、バッテリパックが装着されていても、充電器からバッテリパックに電力供給がなされることはないので、充電器で消費される待機電力を削減することができる。また、バッテリ電圧は、閾値電圧から更に低下することはないので、閾値電圧を電動機器の駆動に必要な最低電圧よりも高い電圧値に設定しておけば、充電器からバッテリパックを取り外して電動機器に装着した際、バッテリから電動機器に電力供給を行うことができる。一方、充電器は、バッテリパック内の電源回路に電力供給可能な状態であっても、バッテリへの充放電経路若しくはその充放電の制御系に異常が生じて、バッテリへの充電停止を正常に切り替えることができなくなることも考えられる。そして、充電器にこのような異常が生じているときに、充電器からバッテリパック内の電源回路に電力供給を行うと、電源回路で生成される電源電圧が不安定になることが考えられる。このため、充電器に上記のような異常が生じている場合には、充電器からバッテリパック内の電源回路への電力供給が可能であっても、バッテリパック内の電源回路延いては制御手段には、バッテリから電力供給を行うようにするとよい。つまり、請求項3に記載のように、制御手段において、充電器が故障していると判断したときには、電源回路への電力供給源としてバッテリを選択するよう構成するのである。そして、このようにすれば、充電器に上記のような異常が生じている場合に、バッテリパック内の電源回路が、その異常な換言すれば故障した充電器から電源供給を受けて電源電圧を生成することがないので、制御手段を安定した電源電圧で動作させることができる。また次に、請求項4に記載のように、制御手段は、充電器から電源回路への電力供給を実施できないときには、電源回路への電力供給源として、バッテリを選択するように構成すればよい。つまり、このようにすれば、バッテリパックが充電器に装着されていないときには、上述した従来装置と同様、バッテリから電源回路に電力供給を行うことで、制御手段を動作させることができる。但し、このように、充電器から電源回路への電力供給を実施できず、制御手段が、電源回路への電力供給源としてバッテリを選択した場合には、請求項5に記載のように、バッテリからの出力電圧が過放電判定電圧未満になると、バッテリから電源回路への電力供給経路を遮断するように構成するとよい。そして、このようにすれば、バッテリから電源回路への電力供給を実施させることによって、バッテリが過放電状態となるのを防止できる。以下に本発明の実施形態を図面と共に説明する。図1は、本発明が適用された実施形態のバッテリパック10、及び、バッテリパック10に内蔵されたバッテリ31図2参照を充電するための充電器20、の外観を示す斜視図である。本実施形態のバッテリパック10は、充電式インパクトドライバや充電式ドライバドリルなどの電動工具に着脱自在に装着されて、その電動工具に駆動用の電力を供給するためのものである。図1に示すように、バッテリパック10の一側面には、充電器20の充電側装着部27或いは電動工具の工具本体に着脱自在に装着されるバッテリ側装着部17が形成されている。そして、このバッテリ側装着部17における所定の位置に、充電器20の充電側ターミナル26或いは工具本体の工具側ターミナル図示略と電気的に接続されるバッテリ側ターミナル16が設けられている。バッテリ側ターミナル16は、充放電電流が通電されるバッテリ側正極端子11及びバッテリ側負極端子12や、バッテリ側信号端子群13を備えた構成となっている。なお、バッテリ側信号端子群13は、少なくとも充電器側制御電圧入力端子51、充電許可停止信号出力端子52いずれも図2参照を含む複数の端子からなる。次に、充電器20は、図示しない外部電源本実施形態ではAC100V電源から、バッテリパック10内のバッテリ31を充電するための充電用直流電源充電電力を生成するものである。この充電器20の上面の一端側には、バッテリパック10が装着される充電側装着部27が形成されており、この充電側装着部27における所定の位置充電側装着部27の内部に充電側ターミナル26が設けられている。この充電側ターミナル26は、バッテリパック10へ充電用直流電源を供給するための充電側正極端子21及び充電側負極端子22や、充電側信号端子群23を備えた構成となっている。なお、充電側信号端子群23は、少なくとも充電器側制御電圧出力端子81、充電許可停止信号入力端子82いずれも図2参照を含む複数の端子からなる。また、充電器20には、当該充電器20の動作状態やバッテリパック10の充電状態等を外部へ表示するための、3つのLEDを備えた表示部28が設けられている。このように構成された充電器20に対し、充電側装着部27及びバッテリ側装着部17を介して、バッテリパック10を装着すると、バッテリパック10のバッテリ側ターミナル16と充電器20の充電側ターミナル26とが電気的に接続される。より詳しくは、バッテリパック10のバッテリ側正極端子11が充電器20の充電側正極端子21と接続され、バッテリパック10のバッテリ側負極端子12が充電器20の充電側負極端子22と接続される。また、バッテリパック10のバッテリ側信号端子群13を構成する充電器側制御電圧入力端子51及び充電許可停止信号出力端子52が、それぞれ、充電器20の充電側信号端子群23を構成する充電器側制御電圧出力端子81及び充電許可停止信号入力端子82と接続される図2参照。これにより、充電器20からバッテリパック10内のバッテリ31への充電が可能な状態となる。なお、図3に示すように、バッテリパック10から電力供給を受けて動作する電動工具90には、少なくとも、バッテリパック10を装着した際にバッテリ側正極端子11及びバッテリ側負極端子12にそれぞれ接続される電動工具側正極端子91及び電動工具側負極端子92が設けられる。そして、電動工具90側では、使用者が操作スイッチ94を操作することにより、操作スイッチ94がオン状態となると、電動工具側正極端子91から、操作スイッチ94及びモータ96を通って、電動工具側負極端子92に至る通電経路が形成される。このため、バッテリパック10を電動工具90に装着すれば、バッテリパック10内のバッテリ31から電動工具90内のモータ96に電流を流し、電動工具90を駆動できるようになる。次に、図1に示したバッテリパック10及び充電器20の回路構成を、図2を用いて説明する。図2に示すように、バッテリパック10は、バッテリ31と、バッテリ31の状態監視や充放電制御を行うバッテリ制御回路32と、バッテリ制御回路32を含むバッテリパック10内の各種回路を動作させるための電源電圧バッテリ側制御電圧:例えば3.3VVccを生成するレギュレータ33と、を備える。なお、バッテリ制御回路32は、CPU61、ROM62、RAM63、NVRAM不揮発性メモリ64などを中心とするマイクロコンピュータにて構成されている。そして、バッテリ制御回路32は、レギュレータ33により生成されたバッテリ側制御電圧Vccを電源として動作し、ROM62に記憶された各種プログラムに従って各種制御を実行する。以下、このバッテリ制御回路32を、マイコン32ともいう。ここでまず、バッテリ31は、複数の電池セルB1,B2,...,Bnを直列に接続することにより構成されており、バッテリ31の正極側はバッテリ側正極端子11に接続され、バッテリ31の負極側はバッテリ側負極端子12に接続されている。本実施形態では、各電池セルB1,B2,...,Bnは、いずれも定格電圧3.6Vのリチウムイオン二次電池であり、これが4個直列接続されている。そのため、バッテリ31からの出力電圧バッテリ電圧Vbatは、正常時では14.4V近傍である。レギュレータ33には、バッテリ電圧Vbatが、シャットダウンスイッチ40、ツェナーダイオードD4、及びダイオードD1を介して入力される。そして、レギュレータ33は、その入力されたバッテリ電圧Vbatを元に、マイコン32及びその周辺回路の電源電圧であるバッテリ側制御電圧Vccを生成する。なお、ツェナーダイオードD4は、カソードがシャットダウンスイッチ40の一端に接続され、アノードがダイオードD1のアノードに接続されている。そして、ダイオードD1のカソードがレギュレータ33に接続されている。シャットダウンスイッチ40は、マイコン32からのシャットダウン信号SDによりオンオフ状態が切り換えられるものであり、バッテリ31が正常で、充電器20が接続されていないときには、オン状態にされる。そのため、シャットダウンスイッチ40がオン状態であれば、バッテリ電圧Vbatが、シャットダウンスイッチ40、ツェナーダイオードD4、及びダイオードD1を介してレギュレータ33に入力される。但し、この場合、ツェナーダイオードD4の降伏電圧例えば、5Vによる電圧降下やダイオードD1の順方向電圧による電圧降下が存在するため、実際には、バッテリ電圧Vbatのうち、これら電圧降下分を差し引いた値の電圧がレギュレータ33に入力される。また、バッテリパック10内の各回路は、バッテリ側制御電圧Vccによって動作する回路と、バッテリ電圧Vbatにより動作する回路とが混在している。そのため、シャットダウンスイッチ40を介して入力されるバッテリ電圧Vbatは、ツェナーダイオードD4のカソードへ入力されると共に、バッテリ電圧Vbatにより動作する各回路へも入力される。また、レギュレータ33には、上述したバッテリ電圧Vbatの他に、充電器20内で生成された充電器側制御電圧Vdd例えば、5Vも、ダイオードD3及びダイオードD2を介して入力される。すなわち、レギュレータ33の入力側には、ダイオードD1のカソードが接続されていると共にダイオードD2のカソードも接続されている。そして、ダイオードD2のアノードはダイオードD3のカソードに接続され、ダイオードD3のアノードは充電器側制御電圧入力端子51に接続されている。この充電器側制御電圧入力端子51には、後述するように充電器20から充電器側制御電圧Vddが入力される。そのため、充電器側制御電圧入力端子51に入力された充電器側制御電圧Vddは、ダイオードD3及びダイオードD2を介してレギュレータ33に入力される。つまり、本実施形態のバッテリパック10では、レギュレータ33が、バッテリ電圧Vbat又は充電器側制御電圧Vddのうちいずれか一方を元にバッテリ側制御電圧Vccを生成可能な、いわゆるドロッパ型のレギュレータとして構成されている。具体的には、バッテリ電圧VbatはダイオードD1を介して入力され、充電器側制御電圧VddはダイオードD2を介して入力されるよう構成されている。これにより、レギュレータ33には、バッテリ電圧Vbat又は充電器側制御電圧Vddのうち大きい方が入力されることとなる。このような構成により、バッテリ31が正常で、シャットダウンスイッチ40がオン状態であるときは、レギュレータ33にはダイオードD1を介してバッテリ電圧Vbatが入力され、これを元にバッテリ側制御電圧Vccが生成される。一方、本実施形態では、例えばバッテリパック10が長期放置されるなどして、バッテリ31の放電が進み、バッテリ電圧Vbatが低下すると、バッテリ31の過放電防止のために、マイコン32が、シャットダウンスイッチ40をオフ状態に切り換える。しかし、この場合、バッテリパック10が充電器20に装着され、充電器20から充電器側制御電圧Vddが入力されていれば、レギュレータ33は、その充電器側制御電圧Vddを元にバッテリ側制御電圧Vccを生成することができる。なお、シャットダウンスイッチ40がオフ状態で、バッテリパック10が充電器20に装着されていなければ、マイコン32には、バッテリ側制御電圧Vccが入力されず、動作を停止する。しかし、その後、バッテリパック10が充電器20に装着されて、充電器20からバッテリパック10に充電器側制御電圧Vddが入力されると、レギュレータ33にてバッテリ側制御電圧Vccが生成されることから、マイコン32が起動して、通常動作に復帰する。また次に、バッテリパック10には、セル選択スイッチ38と、差動増幅回路35と、温度検出回路39と、電圧低下検出用コンパレータ34と、電流検出抵抗R1と、オペアンプ37及び各抵抗R2,R3,R4からなる非反転増幅回路と、放電検出用コンパレータ36と、充電器検出用トランジスタTr1とが備えられている。ここで、セル選択スイッチ38は、バッテリ31を構成する各電池セルB1,B2,...,Bnの電圧セル電圧のうちいずれか1つを選択的に出力するためのものであり、複数のスイッチSW1a,SW2a、SW1b,SW2b,SW3a,...,SWnaを備えている。そして、セル選択スイッチ38は、バッテリ電圧Vbatにより動作し、マイコン32からのセル選択信号SELに従って、このセル選択信号SELにより指示されたいずれか1つの電池セルの電圧を、差動増幅回路35へ出力する。差動増幅回路35は、バッテリ側制御電圧Vccにより動作し、セル選択スイッチ38から入力された電圧即ち選択された何れか一つの電池セルの電位差を増幅する。そして、その増幅したセル電圧を、セル電圧信号CeVとしてマイコン32へ出力する。このような構成により、例えば、セル選択信号SELにより最も電位の低い電池セルB1が選択された場合は、セル選択スイッチ38において、その電池セルB1の負極と差動増幅回路35の非反転入力端子の間に接続されたスイッチSW1a、及び電池セルB1の正極と差動増幅回路35の反転入力端子の間に接続されたスイッチSW1bがオン状態となり、他のスイッチは全てオフ状態となる。従って、この場合、セル選択スイッチ38から差動増幅回路35には、セル選択信号SELにより選択された電池セルB1のセル電圧が入力され、差動増幅回路35からマイコン32には、そのセル電圧を増幅したセル電圧信号CeVが入力されることになる。次に、温度検出回路39は、バッテリ31の近傍に設けられ、電池セルの温度セル温度を検出してセル温度信号CeTとしてマイコン32に出力するものであり、例えばサーミスタなどの感温素子を備えた周知の温度センサにて構成されている。また、電圧低下検出用コンパレータ34は、バッテリ電圧Vbat又はバッテリ側制御電圧Vccを電源として動作し、バッテリ電圧Vbatが予め設定された過放電判定用の閾値電圧Vs1例えば10V以上であるか否かを判定するためのものである。具体的には、電圧低下検出用コンパレータ34の非反転入力端子には、バッテリ電圧Vbatを分圧抵抗Rx,Ryで分圧したバッテリ電圧分圧値Vzが入力され、反転入力端子には所定の第1基準電圧Vr1が入力される。そして、電圧低下検出用コンパレータ34は、バッテリ電圧分圧値Vzが第1基準電圧Vr1以上であるか否かを判断することにより、バッテリ電圧Vbatが過放電判定用の閾値電圧Vs1以上であるか否かを判断し、バッテリ電圧Vbatが閾値電圧Vs1未満であるときローレベルとなる電圧低下検出信号LVをマイコン32へ出力する。また次に、電流検出抵抗R1は、バッテリ側負極端子12からバッテリ31の負極に至る通電経路に設けられており、この電流検出抵抗R1において放電電流若しくは充電電流により生じる電圧降下電圧信号が、非反転増幅回路を構成するオペアンプ37へ入力される。非反転増幅回路は、バッテリ側制御電圧Vccにより動作するオペアンプ37を備え、その非反転入力端子に電流検出抵抗R1により検出された電圧信号が入力され、反転入力端子は抵抗R2を介してグランド接地電位に接続されると共に抵抗R3を介して出力端子に接続された、周知の構成となっている。そして、本実施形態では、このような構成を基本としつつ、更に、反転入力端子とマイコン32との間に抵抗R4を接続しており、これにより、非反転増幅回路のゲインを二種類に切り換えることが可能となっている。抵抗R4は、その一端がオペアンプ37の反転入力端子に接続され、他端がマイコン32のゲイン切替信号出力ポート47に接続されている。マイコン32は、ゲイン切替信号出力ポート47をハイインピーダンス又はLレベル出力のいずれかに切り替えることにより、非反転増幅回路のゲイン切り替えを実現する。例えば、電動工具の使用時など、放電電流が大きいときは、ゲイン切替信号GCとしてハイインピーダンスの信号を出力して、ゲインを小さくすることにより、その大きな放電電流例えば数十Aの大電流を適切に検出できるように設定される。逆に、放電電流が小さいとき例えば0A近傍や、放電電流が負になったときつまり充電電流が流れたときは、ゲイン切替信号GCとしてLレベルの信号を出力して、非反転増幅回路のゲインを大きくする。これにより、微小な電流でも確実に検出できるようになる。このように、マイコン32は、放電電流の値に応じて非反転増幅回路のゲインを切り替えることで、放電電流の大きさにかかわらずこれを適切に検出できるようにする。次に、放電検出用コンパレータ36は、バッテリパック10が電動工具90に装着されて、バッテリ31から電動工具90への電力供給が開始されたときに、これを検出するためのものであり、バッテリ側制御電圧Vccにより動作する。そして、放電検出用コンパレータ36は、オペアンプ37から出力される電流検出信号が第2基準電圧Vr2以上のときはHレベルの放電検出信号CuDをマイコン32へ出力し、電流検出信号が第2基準電圧Vr2より低くなるとLレベルの放電検出信号CuDをマイコン32へ出力する。次に、充電器検出用トランジスタTr1は、本実施形態では、NPN型バイポーラトランジスタにて構成されている。そして、充電器検出用トランジスタTr1のベースは、抵抗R6及びダイオードD3を介して充電器側制御電圧入力端子51に接続され、エミッタは、接地電位に接続され、コレクタは、抵抗R5を介してバッテリ側制御電圧Vccに接続されると共にマイコン32の充電器接続検出信号入力ポート49に接続されている。バッテリパック10が充電器20に装着されると、充電器20内で生成された充電器側制御電圧Vddは、上述したようにダイオードD2を介してレギュレータ33に入力されるだけでなく、更に、充電器接続信号として、抵抗R6を介して充電器検出用トランジスタTr1のベースに入力される。これによりこの充電器検出用トランジスタTr1はオン状態となり、そのコレクタの電位、即ちマイコン32へ入力される充電器接続検出信号CHDは、Lレベルとなる。つまり、バッテリパック10が充電器20に装着されていないときは、充電器検出用トランジスタTr1はオフ状態となり、マイコン32に入力される充電器接続検出信号CHDは、抵抗R5を介して入力されるバッテリ側制御電圧VccによってHレベルとなる。一方、バッテリパック10が充電器20に装着され、充電器20から充電器側制御電圧Vddが入力されると、充電器検出用トランジスタTr1がオン状態となって、マイコン32への充電器接続検出信号CHDがLレベルとなる。そのため、マイコン32は、充電器接続検出信号CHDのレベルに基づいて、バッテリパック10が充電器20に装着されているか否か詳しくは充電器20から充電器側制御電圧Vddが入力されているか否かを判断することができる。また、マイコン32は、信号が入出力されるポートとして、電圧低下検出用コンパレータ34からの電圧低下検出信号LVが入力される電圧低下検出信号入力ポート41、セル選択スイッチ38へのセル選択信号SELが出力されるセル選択信号出力ポート42、差動増幅回路35からのセル電圧信号CeVが入力されるセル電圧信号入力ポート43、温度検出回路39からのセル温度信号CeTが入力されるセル温度信号入力ポート44、放電検出用コンパレータ36からの放電検出信号CuDが入力される放電検出信号入力ポート45、オペアンプ37からの電流検出信号が入力される電流検出信号入力ポート46、ゲイン切替信号GCが出力されるゲイン切替信号出力ポート47、シャットダウンスイッチ40を制御するシャットダウン信号SDが出力されるシャットダウン信号出力ポート48、充電器検出用トランジスタTr1から充電器接続検出信号CHDが入力される充電器接続検出信号入力ポート49、充電器20への充電許可停止信号充電許可信号CP、充電停止信号CSが出力される充電許可停止信号出力ポート50、などを備えている。そして、マイコン32は、バッテリパック10が充電器20に装着されると、充電許可信号CPを出力することで、充電器20に対しバッテリ31への充電を許可し、バッテリ31への充電が完了すると、充電停止信号CSを出力することで、充電器20に対しバッテリ31への充電を停止させる、充電制御処理を実行する。次に、充電器20の回路構成について説明する。図2に示すように、充電器20は、外部電源本例ではAC100V電源を直流に整流する入力整流回路71と、この入力整流回路71による整流後の直流電源からバッテリ31充電用の充電電力を生成する充電用スイッチング電源回路72と、入力整流回路71による整流後の直流電源から充電器20内及びバッテリパック10内の各種回路を動作させるための充電器側制御電圧Vddを生成する制御用スイッチング電源回路73と、充電用スイッチング電源回路72による充電電力の生成延いてはバッテリ31への充電を制御する充電制御回路74と、充電器側制御電圧Vddをバッテリパック10へ出力するための充電器側制御電圧出力端子81と、バッテリパック10からの充電許可信号CP又は充電停止信号CSが入力される充電許可停止信号入力端子82と、を備える。本実施形態の充電器20は、バッテリ31の充電を、定電流制御又は定電圧制御により行うよう構成されている。両者の切り換えは、充電制御回路74からの充電制御指令に応じて行われる。そのため、定電流制御による充電が行われる際は、充電用スイッチング電源回路72にて充電電力として一定電流値の充電電流が生成され、バッテリパック10に供給される。一方、定電圧制御による充電が行われる際は、充電用スイッチング電源回路72にて充電電力として一定電圧の充電電圧が生成され、バッテリパック10に供給される。充電用スイッチング電源回路72により生成された充電電力は、充電器20の充電側正極端子21及び充電側負極端子22を介してバッテリパック10へ供給される。充電器20の充電制御回路74は、バッテリ制御回路マイコン32と同様、CPU、ROM、RAM、NVRAMなどを中心とするマイクロコンピュータにて構成されており、制御用スイッチング電源回路73により生成された充電器側制御電圧Vddを電源として動作し、ROMに記憶された各種プログラムに従って各種制御を実行する。制御用スイッチング電源回路73により生成された充電器側制御電圧Vddは、充電器側制御電圧出力端子81からバッテリパック10にも出力される。即ち、充電器20にバッテリパック10が装着されると、充電器側制御電圧出力端子81にバッテリパック10の充電器側制御電圧入力端子51が接続される。これにより、充電器20内で生成された充電器側制御電圧Vddが、これら各端子81,51を介してバッテリパック10内に入力される。また、充電器20にバッテリパック10が装着されると、充電器20における充電許可停止信号入力端子82に、バッテリパック10における充電許可停止信号出力端子52が接続される。これにより、バッテリパック10内のマイコン32から出力された充電許可信号CP又は充電停止信号CSは、これら各端子52,82を介して充電器20内の充電用スイッチング電源回路72へ入力される。充電用スイッチング電源回路72による充電電力の生成又は出力は、バッテリパック10からの充電許可信号CP又は充電停止信号CSにより制御される。即ち、充電用スイッチング電源回路72は、バッテリパック10から充電許可信号CPが出力されているときに充電電力を生成してバッテリパック10へ出力し、バッテリパック10から充電停止信号CSが出力されているときは充電電力の生成又は出力を停止して、充電電力がバッテリパック10に入力されないようにするつまりバッテリ31への充電が行われないようにするよう構成されている。上記のように構成されたバッテリパック10において、マイコン32は、後述するスリープモード及びシャットダウンモードである場合を除き、常時、セル温度や各電池セルのセル電圧、バッテリ31の充放電時の電流などに基づいてバッテリ31を監視する。一方、電動工具本体への電力供給が行われていない場合など、スリープモードに切り替わるべき所定の条件が成立したときには、マイコン32は、自身をスリープモードに切り替え、通常動作時よりもバッテリ31の消費電力を低く抑えるようにする。但し、スリープモード中は、マイコン32をはじめとするバッテリパック10内の各部への電源供給が完全に停止するわけではなく、スリープモードから復帰してウェイクアップするための必要最小限の動作は引き続き行われる。具体的には、マイコン32は、スリープモードに切り替わった後、少なくとも、放電検出用コンパレータ36からの電流検出信号に基づく、放電が開始されたか否かの判断、充電器検出用トランジスタTr1からの充電器接続検出信号に基づく、充電器20が接続されたか否かの判断、及び電圧低下検出用コンパレータ34からの電圧低下検出信号に基づく、バッテリ電圧分圧値Vzが第1基準電圧Vr1より低くなったか否か即ち、本例ではバッテリ電圧Vbatが10Vより低くなったか否かの判断は行う。これにより、スリープモードへの切り替わり後、バッテリ31からの放電が開始されるか、充電器20が接続されるか、或いはバッテリ電圧分圧値Vzが第1基準電圧Vr1より低くなったか、のいずれかの復帰条件が成立した場合は、スリープモードから再び通常の動作状態に復帰する。そしてマイコン32は、放電開始により復帰した場合は、バッテリ31の状態を監視しつつ放電を制御する。また、充電器20の接続により復帰した場合は、充電監視モードに入り、充電にかかわる各種制御や充電中のバッテリ31の状態監視等を含む充電監視制御処理を実行する。なお、バッテリパック10が充電器20に装着され、充電器20から充電器側制御電圧Vddが入力されているときには、マイコン32は常時動作し、バッテリ31への充電完了後も、バッテリ31の状態を監視する監視制御を継続する。また、バッテリ電圧の低下により復帰した場合は、シャットダウン信号によってシャットダウンスイッチ40をオフさせることにより、スリープモードよりも更にバッテリ31の消費電力が小さいシャットダウンモードへ移行する。また、マイコン32は、こうしたバッテリ31の監視制御や充放電制御とは別に、バッテリ側制御電圧Vccを生成するレギュレータ33の電源電圧以下、BMU電源ともいう。但し、BMUは、マイコン32及びその周辺回路にて構成されるBatteryManagementUnitの略を、バッテリ電圧Vbatにするか充電器側制御電圧Vddにするかを切り換える電源切替処理を実行する。この電源切替処理は、本発明にかかわる主要な処理であるため、以下に、図4のフローチャートを用いて、詳しく説明する。この電源切替処理は、マイコン32の動作時にバッテリ31の監視制御と共に繰り返し実行される処理であり、処理が開示されると、まずS110Sはステップを表すにて、現在、レギュレータ33の電源電圧BMU電源として、充電器20から供給される充電器側制御電圧Vddが設定されているか否かを判断する。なお、BMU電源として、充電器側制御電圧Vddが設定されている場合には、後述のS130の処理にて、シャットダウンスイッチ40がオフ状態に切り換えられている。次に、S110にて、現在、BMU電源として充電器側制御電圧Vddが設定されていると判断されると、S120に移行して、充電器20が接続されていないか否か詳しくは、前回S130の処理にて、シャットダウンスイッチ40をオフ状態に切り替えてからバッテリパック10が充電器20から外された否かを判断する。なお、この判断は充電器接続検出信号CHDに基づいて行われる。そして、S120にて、充電器20は接続されていると判断されると、S130に移行して、シャットダウン信号SDによりシャットダウンスイッチ40をオフ状態にし、当該電源切替処理を一旦終了する。このようにS130の処理が実行されると、BMU電源として、充電器側制御電圧Vddが設定されることになり、レギュレータ33にバッテリ電圧Vbatが供給されて、バッテリ31の電力がレギュレータ33延いてはマイコン32で消費されるのを防止できる。次に、S120にて、充電器20は接続されていないつまり、バッテリパック10が充電器20から外されたと判断されると、S140に移行して、シャットダウン信号SDによりシャットダウンスイッチ40をオン状態にし、当該電源切替処理を一旦終了する。この結果、レギュレータ33には、シャットダウンスイッチ40を介してバッテリ電圧Vbatが供給され、バッテリパック10が充電器20から取り外されても、レギュレータ33からは連続的にバッテリ側制御電圧Vccが出力されることになる。なお、バッテリパック10が充電器20から取り外されてからS140の処理が実行されるまでは、レギュレータ33への電力供給が遮断されることになるが、電源切替処理は、マイコン32において繰り返し実行されることから、その遮断時間は極めて短時間である。そして、レギュレータ33内には、バッテリ側制御電圧Vccを安定化させるためにコンデンサが設けられているため、こうした電力供給の瞬断によりバッテリ側制御電圧Vccが低下することはない。次に、S110にて、現在、BMU電源として充電器側制御電圧Vddが設定されていないと判断されると、S150に移行して、バッテリ電圧Vbatは、過放電判定用の閾値電圧Vs1以上であるか否かを判断する。なお、S150では、電圧低下検出用コンパレータ34から電圧低下検出信号LVローレベルが入力されているとき、バッテリ電圧Vbatが過放電判定用の閾値電圧Vs1未満であると判断する。そして、S150にて、バッテリ電圧Vbatは、過放電判定用の閾値電圧Vs1以上であると判断されると、S160に移行して、現在、バッテリパック10は充電器20に接続されており、しかも、その状態が所定時間例えば1秒以上継続しているか否かを判断する。なお、バッテリパック10が充電器20に接続されているか否かの判断は、充電器接続検出信号CHDに基づいて行われる。S160にて、バッテリパック10の充電器20への接続状態が、所定時間以上継続していると判断されると、上述したS130に移行して、シャットダウン信号SDによりシャットダウンスイッチ40をオフ状態にし、当該電源切替処理を一旦終了する。一方、S160にて、バッテリパック10は充電器20に装着されていない、或いは、装着されていても所定時間以上継続していない、と判断されると、S170に移行する。そして、S170では、シャットダウン信号SDによりシャットダウンスイッチ40をオン状態にすることで、BMU電源として、バッテリ電圧Vbatを設定し、当該電源切替処理を一旦終了する。また次に、S150にて、バッテリ電圧Vbatが閾値電圧Vs1未満であると判断された場合には、バッテリ31を過放電から保護するために、シャットダウン信号SDによりシャットダウンスイッチ40をオフ状態に切り替え、当該電源切替処理を一旦終了する。なお、S180にて、シャットダウンスイッチ40をオフ状態に切り替えた際には、充電器20からの充電器側制御電圧Vddの供給もないので、マイコン32は、シャットダウンモードとなり、完全に動作を停止する。そして、その後、バッテリパック10が充電器20に装着されて、充電器20から充電器側制御電圧Vddが供給されると、レギュレータ33からマイコン32にバッテリ側制御電圧Vccが供給されて、マイコン32が起動し、バッテリ31への充電制御や当該電源切替処理が実行されることになる。以上説明したように、本実施形態のバッテリパック10によれば、バッテリ電圧Vbatが過放電判定用の閾値電圧Vs1以上で、バッテリ31からレギュレータ33に正常に電力供給を行うことができる場合であっても、バッテリパック10が充電器20に装着されて、充電器20から充電器側制御電圧Vddが供給されているときには、レギュレータ33の電源電圧BMU電源として、充電器側制御電圧Vddが選択される。そして、その選択は、シャットダウンスイッチ40をオフ状態に切り替えることにより行われるため、レギュレータ33にバッテリ電圧Vbatが供給されて、バッテリ31の電力がレギュレータ33延いてはマイコン32で消費されることはない。よって、本発明のバッテリパック10によれば、使用者が、バッテリパック10を充電器20に装着してバッテリ31を充電させてから、バッテリパック10を充電器20から外すのを忘れたとしても、バッテリ31がレギュレータ33延いてはマイコン32を介して放電されることはなく、その後、バッテリパック10を電動工具90へ装着すれば、電動工具90を正常に駆動することができるようになる。一方、バッテリパック10が充電器20に装着されていないときには、シャットダウンスイッチ40がオン状態となって、レギュレータ33には、バッテリ31から電力供給される。そして、この状態で、バッテリ31の電力が、バッテリパック10の内部回路や電動工具90にて消費され、バッテリ電圧Vbatが過放電判定用の閾値電圧Vs1未満になると、シャットダウンスイッチ40がオフ状態に切り替えられて、バッテリ31からレギュレータ33延いてはマイコン32への電力供給が遮断される。このため、本実施形態のバッテリパック10によれば、レギュレータ33への電力供給によってバッテリ31が過放電状態となるのを防止することもできる。ここで、本実施形態のバッテリパック10においては、マイコンバッテリ制御回路32が、本発明の制御手段に相当し、レギュレータ33が、本発明の電源回路に相当する。以上、本発明の一実施形態について説明したが、本発明のバッテリパックは、上記実施形態に記載のものに限定されるものではなく、本発明の要旨を逸脱しない範囲内にて種々の態様を採ることができる。例えば、上記実施形態では、バッテリパック10が充電器20に装着され、充電器20からバッテリパック10に充電器側制御電圧Vddが供給されているときには、バッテリ電圧Vbatにかかわらず、シャットダウンスイッチ40をオフ状態に切り替えるものとした。しかし、このようにすると、バッテリパック10が充電器20に装着されているときには、必ず、充電器20からレギュレータ33延いてはマイコン32に電力供給がなされることになり、充電器20の待機電力が増加する。そこで、図5に示すように、電源切替処理において、S120にて充電器20が接続されていると判断されたとき、及び、S160にて所定時間以上充電器20が接続されていると判断されたときには、S125の判定処理を実行するようにしてもよい。すなわち、S125では、バッテリ電圧Vbatは、過放電判定用の閾値電圧Vs1よりも大きい電圧値である、閾値電圧Vs2以上であるか否かを判断する。そして、バッテリ電圧Vbatが閾値電圧Vs2以上であれば、S140にて、シャットダウンスイッチ40をオン状態し、バッテリ電圧Vbatが閾値電圧Vs2未満であれば、S130にて、シャットダウンスイッチ40をオフ状態にする。つまり、このようにすれば、バッテリパック10が充電器20に装着されて、バッテリ31が充電された後、レギュレータ33及びマイコン32の動作によってバッテリ31が放電されて、バッテリ電圧が閾値電圧Vs2に低下するまでの間、充電器20からバッテリパック10に電流が流れるのを防止し、充電器20の待機電力を低減することができる。一方、上記実施形態では、S120にて、バッテリパック10が充電器20に接続されているか否かを判断する際、充電器接続検出信号CHDが用いられる。このため、バッテリパック10が充電器20に装着されていても、AC電源から充電器20への電源供給が遮断された場合や、充電器20の故障等により充電器20からバッテリパック10へ充電器側制御電圧Vddが供給されなくなった場合には、BMU電源としてバッテリ31が選択される。従って、レギュレータ33からは、バッテリ側制御電圧Vccが安定して出力されることになる。しかしながら、充電器20からバッテリパック10へ充電器側制御電圧Vddが供給されていて、S120では、バッテリパック10が充電器20に接続されていると判定されるような場合であっても、充電器20が故障して、バッテリ31への充電或いは充電停止を正常に切り替えることができなくなることが考えられる。そして、充電器20にこのような異常が生じているときに、BMU電源として充電器側制御電圧Vddが選択されると、レギュレータ33にて、バッテリ側制御電圧Vccを安定して生成することができない。そこで、図6に示すように、電源切替処理において、S120にて充電器20が接続されていると判断されたとき、及び、S160にて所定時間以上充電器20が接続されていると判断されたときには、S128にて、充電器20が故障しているか否かを判定するようにしてもよい。具体的には、例えば、充電器20へ充電許可信号CPを出力しているにもかかわらず抵抗R1を介して充電電流が検出されないとき、及び、充電器20へ充電停止信号CSを出力しているにもかかわらず抵抗R1を介して充電電流が検出されているときに、充電器20が故障していると判断する。なお、この場合、充電器20の故障判断には、オペアンプ37から入力される電流検出信号を用いる。そして、S128にて、充電器20が故障していると判断されると、S140に移行し、シャットダウンスイッチ40をオン状態することで、BMU電源としてバッテリ31を選択する。また、S128にて、充電器20は故障していないと判断されると、S130に移行し、シャットダウンスイッチ40をオフ状態にすることで、BMU電源として充電器側制御電圧Vddを選択する。つまり、このようにすれば、充電器20が故障しているときに、BMU電源として充電器側制御電圧Vddが選択されて、レギュレータ33にて生成されるバッテリ側制御電圧Vccが不安定になるのを防止することができる。なお、図6において、S128の判断処理は、S120にて充電器20が接続されていると判断されたとき、及び、S160にて所定時間以上充電器20が接続されていると判断されたときに実行するものとして記載されているが、図5に示すS125の判断処理の実行後に、S128の判断処理を実施するようにしてもよい。つまり、図5に示すS125の判断処理にて、バッテリ電圧Vbatが閾値電圧Vs2未満であると判断された場合に、S128の判断処理を実行するようにしてもよい。また、図6において、S128の判断処理にて充電器20は故障していないと判断された際に、図5に示すS125の判断処理を実行するようにしてもよい。そして、このようにすれば、バッテリ電圧Vbatが閾値電圧Vs2未満で、充電器20が故障していないことを条件として、BMU電源として充電器側制御電圧Vddを選択することができるようになる。次に、上記実施形態では、レギュレータ33として、ドロッパ型のレギュレータを例に挙げて説明したが、これはあくまでも一例であり、例えば昇圧型のレギュレータを用いて入力電圧よりも高いバッテリ側制御電圧Vccを生成するようにしてもよく、レギュレータ33の具体的構成は特に限定されない。また、充電器20内で生成される充電器側制御電圧Vddがバッテリ側制御電圧Vccと同じ電圧値である場合は、例えば、レギュレータ33内にスイッチを設け、BMU電源として充電器側制御電圧Vddを選択する際には、そのスイッチを介して、充電器側制御電圧Vddを、直接、マイコン32及びその周辺回路へ供給するようにしてもよい。また、上記実施形態では、バッテリパック10から充電器20に対し、マイコン32によるバッテリ31の監視結果として、充電許可信号CP又は充電停止信号CSを出力するものとして説明したが、バッテリパック10から充電器20へ出力される監視内容の種類は、上記各信号CP,CSに限定されないことはいうまでもなく、バッテリ31の状態を直接又は間接的に示すものである限り、種々の内容の信号やデータ等を充電器20へ出力することができる。また、上記実施形態では、バッテリ電圧Vbatを例えば14.4V、バッテリ側制御電圧Vccを例えば3.3V、充電器側制御電圧Vddを例えば5V、として説明したが、これら各数値についても、あくまでも1つの例にすぎないことはいうまでもない。ツェナーダイオードD4の降伏電圧5Vについても同様である。また、バッテリ31の構成は、上記実施形態では4個の電池セルが直列に接続された構成であったが、これはあくまでも一例であり、バッテリ31を構成する電池セルの数は特に限定されず、1つの電池セルを備えたバッテリであってもよいし、電池セルが直並列に接続されたものであってもよい。また、1つの電池セルの電圧やバッテリ電圧についても、上記実施形態で例示した値に限定されるものでないことはいうまでもない。また、上記実施形態では、バッテリ31を構成する各電池セルがリチウムイオン二次電池である場合を例に挙げて説明したが、これもあくまでも一例であり、電池セルがリチウムイオン二次電池以外の場合も、同様に本発明を適用することができる。また次に、図4~図6に示した電源切替処理において、S160では、充電器20とバッテリパック10との接続が電気的に安定していることを確認するために、バッテリパック10が充電器20に接続されてから1秒以上経過しているかを判断している。しかし、使用者は、バッテリパック10を充電器20に一旦装着した後、直ぐにバッテリパック10を充電器20から取り外すこともある。そして、このような場合には、マイコン32への電源供給をバッテリ31から充電20に切り替える必要はない。このため、S160での判定時間は、例えば、1分、若しくはそれ以上の時間に設定するようにしてもよい。つまり、S160での判定時間は、バッテリ31が過放電にならないレベルであれば遅らせることができ、例えば、数分レベルであれば問題にならないことから、S160での判定時間は、その範囲内で適宜設定すればよい。"