(57)【要約】【課題】充電装置からのデータ書き込み要求に応じて不揮発性メモリにデータを書き込むよう構成されたバッテリパックにおいて、不揮発性メモリにおけるデータの記憶状態を正常な状態に維持する。【解決手段】バッテリパック１０は、不揮発性メモリ３１を備える。不揮発性メモリ３１の記憶領域には、データの書き込みを行わないように設定された書き込み非対象領域が含まれる。バッテリ制御回路３０は、充電装置から不揮発性メモリ３１へのデータの書き込み要求があった場合、要求に従ってデータを書き込むが、書き込み指定領域に書き込み非対象領域が含まれている場合は、書き込み非対象領域に対してはデータの書き込みを行わない。【選択図】図１
2018073521.tif 000002
【特許請求の範囲】
【請求項１】
充放電可能に構成されたバッテリと、
記憶内容を書き換え可能に構成された不揮発性メモリと、
前記バッテリを充電可能な充電装置に接続されている場合に前記充電装置と通信を行うように構成された通信部と、
前記不揮発性メモリに対するデータの読み書きを制御するものであって、前記充電装置から前記通信部を介して、前記不揮発性メモリにおける特定の書き込み指定領域に対する特定のデータの書き込み要求が前記特定のデータと共に通知された場合、その通知された特定のデータを前記書き込み指定領域に書き込むように構成されたメモリ制御部と、
を備え、
前記不揮発性メモリには、前記メモリ制御部によるデータの書き込みが行われない書き込み非対象領域が設定されており、
前記メモリ制御部は、前記書き込み要求により通知された前記書き込み指定領域に前記書き込み非対象領域が含まれている場合は、当該書き込み指定領域のうち前記書き込み非対象領域に対してはデータの書き込みを行わないように構成されている、
バッテリパック。
【請求項２】
請求項１に記載のバッテリパックであって、
前記メモリ制御部は、前記書き込み要求を受けた場合、当該書き込み要求に従って前記特定のデータを前記書き込み指定領域に書き込んだ後、前記書き込み要求に従った前記特定のデータの書き込みを行ったことを示す完了通知を前記通信部を介して前記充電装置へ送信し、前記書き込み要求により通知された前記書き込み指定領域に前記書き込み非対象領域が含まれていた場合も、前記書き込み指定領域のうち前記書き込み非対象領域を除く領域へのデータの書き込みを行った後、前記完了通知を前記通信部を介して前記充電装置へ送信するよう構成されている、バッテリパック。
【請求項３】
請求項１又は請求項２に記載のバッテリパックであって、
前記メモリ制御部は、前記充電装置から前記通信部を介して、前記不揮発性メモリにおける特定の読み込み指定領域に記憶されているデータの読み込み要求が通知された場合、その通知された前記読み込み指定領域に記憶されているデータを読み込んで前記通信部を介して前記充電装置へ送信し、前記読み込み要求により通知された前記読み込み指定領域に前記書き込み非対象領域が含まれていた場合も、その書き込み非対象領域に記憶されているデータも含め、通知された前記読み込み指定領域に記憶されているデータを読み込んで前記通信部を介して前記充電装置へ送信するよう構成されている、バッテリパック。
【請求項４】
請求項１〜請求項３の何れか１項に記載のバッテリパックであって、
前記メモリ制御部は、前記充電装置から前記通信部を介して、前記書き込み指定領域に前記書き込み非対象領域以外の領域が含まれている前記書き込み要求が通知された場合、前記書き込み非対象領域以外の領域に書き込むべきデータが正常か否か判断し、正常ではないデータが含まれている場合は、その正常ではないデータについては前記不揮発性メモリに書き込まないように構成されている、バッテリパック。
【請求項５】
充放電可能に構成されたバッテリを有するバッテリパックと、
前記バッテリパックを着脱可能であって、前記バッテリパックが装着されている場合に前記バッテリを充電するように構成された充電装置と、
を備え、
前記バッテリパックは、
記憶内容を書き換え可能に構成された不揮発性メモリと、
前記充電装置に装着されている場合に前記充電装置と通信を行うように構成されたバッテリ側通信部と、
前記不揮発性メモリに対するデータの読み書きを制御するものであって、前記充電装置から前記バッテリ側通信部を介して、前記不揮発性メモリにおける特定の書き込み指定領域に対する特定のデータの書き込み要求が前記特定のデータと共に通知された場合、その通知された特定のデータを前記書き込み指定領域に書き込むように構成されたメモリ制御部と、
を備え、
前記不揮発性メモリには、前記メモリ制御部によるデータの書き込みが行われない書き込み非対象領域が設定されており、
前記メモリ制御部は、前記書き込み要求により通知された前記書き込み指定領域に前記書き込み非対象領域が含まれている場合は、当該書き込み指定領域のうち前記書き込み非対象領域に対してはデータの書き込みを行わないように構成されており、
前記充電装置は、
前記バッテリパックが装着されている場合に前記バッテリパックと通信を行うように構成された充電装置側通信部と、
前記バッテリパックが装着されている場合に、前記充電装置側通信部を介して前記バッテリパックへ、前記書き込み非対象領域を含む前記書き込み指定領域を指定して前記特定のデータを送信することにより前記書き込み要求を通知する書き込み要求通知部と、
を備える、充電システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、繰り返し充電が可能なバッテリを収容したバッテリパックに関する。
【背景技術】
【０００２】
バッテリパックと、このバッテリパックを着脱可能な充電装置とを有し、充電装置にバッテリパックを装着することにより充電装置からバッテリパック内のバッテリを充電可能に構成された充電システムが知られている。
【０００３】
また、このような充電システムとして、バッテリの充電中、充電装置からバッテリパック内の不揮発性メモリへデータの書き込みを行うように構成された充電システムが知られている。特許文献１には、バッテリの充電中、バッテリパック内のＥＥＰＲＯＭへ充電履歴を書き込むように構成された充電装置が記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第３８４２０７６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
バッテリの充電中に充電装置からバッテリパック内の不揮発性メモリへデータの書き込みが行われるよう構成されている場合、次の問題が生じる可能性がある。
即ち、充電装置の異常或いはノイズ等の外乱などに起因して、バッテリパックに対して本来行われるはずがない異常な書き込み要求が行われる可能性がある。そのような異常な書き込み要求が行われた場合に、その要求に応じてデータの書き込みが行われると、その後、その異常な書き込み要求に応じて書き込まれたデータが原因となって、バッテリパックが正常に動作しなくなる可能性がある。具体的には、例えば充電装置によるバッテリの充電を正常に行うことができなくなる可能性がある。
【０００６】
本開示の一局面は、充電装置からのデータ書き込み要求に応じて不揮発性メモリにデータを書き込むよう構成されたバッテリパックにおいて、不揮発性メモリにおけるデータの記憶状態を正常な状態に維持することを目的とする。
【課題を解決するための手段】
【０００７】
本開示の第１の局面におけるバッテリパックは、充放電可能に構成されたバッテリと、記憶内容を書き換え可能に構成された不揮発性メモリと、通信部と、メモリ制御部とを備える。通信部は、バッテリを充電可能な充電装置に接続されている場合に充電装置と通信を行うように構成されている。メモリ制御部は、不揮発性メモリに対するデータの読み書きを制御するものであって、充電装置から通信部を介して、不揮発性メモリにおける特定の書き込み指定領域に対する特定のデータの書き込み要求が特定のデータと共に通知された場合、その通知された特定のデータを書き込み指定領域に書き込むように構成されている。
【０００８】
また、不揮発性メモリには、メモリ制御部によるデータの書き込みが行われない書き込み非対象領域が設定されている。そして、メモリ制御部は、書き込み要求により通知された書き込み指定領域に書き込み非対象領域が含まれている場合は、当該書き込み指定領域のうち書き込み非対象領域に対してはデータの書き込みを行わないように構成されている。
【０００９】
このような構成によれば、メモリ制御部は、充電装置からの書き込み要求に対して基本的には要求通りにデータの書き込みを行うものの、書き込み非対象領域に対する書き込みの要求に対しては書き込みを行わない。そのため、不揮発性メモリにおけるデータの記憶状態を正常な状態に維持することが可能となる。
【００１０】
メモリ制御部は、書き込み要求を受けた場合、当該書き込み要求に従って特定のデータを書き込み指定領域に書き込んだ後、書き込み要求に従った特定のデータの書き込みを行ったことを示す完了通知を通信部を介して充電装置へ送信するようにしてもよい。またその際、書き込み要求により通知された書き込み指定領域に書き込み非対象領域が含まれていた場合も、書き込み指定領域のうち書き込み非対象領域を除く領域へのデータの書き込みを行った後、完了通知を通信部を介して充電装置へ送信するようにしてもよい。
【００１１】
充電装置から通知された書き込み指定領域に書き込み非対象領域が含まれているか否かにかかわらず、書き込み非対象領域を除く領域へのデータの書き込みを行った後は完了通知を送信することで、充電装置に対し、バッテリパックが正常であることを認識させることができる。そのため、充電装置によるバッテリの充電を正常に実行させることができる。
【００１２】
メモリ制御部は、充電装置から通信部を介して、不揮発性メモリにおける特定の読み込み指定領域に記憶されているデータの読み込み要求が通知された場合、その通知された読み込み指定領域に記憶されているデータを読み込んで通信部を介して充電装置へ送信するようにしてもよい。またその際、読み込み要求により通知された読み込み指定領域に書き込み非対象領域が含まれていた場合も、その書き込み非対象領域に記憶されているデータも含め、通知された読み込み指定領域に記憶されているデータを読み込んで通信部を介して充電装置へ送信するようにしてもよい。
【００１３】
つまり、書き込み非対象領域に対するデータの書き込み要求についてはこれを無効として書き込みを行わないが、書き込み非対象領域に対するデータの読み込み要求については、要求通りにデータを読み込んで充電装置へ送信する。
【００１４】
そのため、充電装置は、書き込み非対象領域を含む読み込み指定領域を指定して読み込み要求を行うことにより書き込み非対象領域に記憶されているデータを取得し、その取得したデータの内容を確認することで、バッテリパックが正常であるか否かを判断することができる。また、充電装置は、例えば、書き込み要求として、意図的に、書き込み非対象領域へのデータ書き込みを要求し、その後にその書き込み非対象領域に記憶されているデータを取得して確認することで、バッテリパックが正常かどうかを判断することができる。
【００１５】
メモリ制御部は、充電装置から通信部を介して、書き込み指定領域に書き込み非対象領域以外の領域が含まれている書き込み要求が通知された場合は、書き込み非対象領域以外の領域に書き込むべきデータが正常か否か判断し、正常ではないデータが含まれている場合は、その正常ではないデータについては不揮発性メモリに書き込まないようにしてもよい。
【００１６】
このような構成によれば、書き込み非対象領域への書き込み要求を無効として扱うことに加え、書き込み非対象領域以外への書き込み要求についても、書き込むべきデータが正常か否か判断し、正常でない場合は書き込みを行わない。そのため、不揮発性メモリにおけるデータの記憶状態をより正常な状態に維持することが可能となる。
【００１７】
本開示の第２の局面における充電システムは、充放電可能に構成されたバッテリを有するバッテリパックと、充電装置とを備える。充電装置は、バッテリパックを着脱可能であって、バッテリパックが装着されている場合にバッテリを充電するように構成されている。
【００１８】
バッテリパックは、充放電可能に構成されたバッテリと、記憶内容を書き換え可能に構成された不揮発性メモリと、バッテリ側通信部と、メモリ制御部とを備える。バッテリ側通信部は、バッテリパックが充電装置に装着されている場合に充電装置と通信を行うように構成されている。メモリ制御部は、不揮発性メモリに対するデータの読み書きを制御するものであって、充電装置からバッテリ側通信部を介して、不揮発性メモリにおける特定の書き込み指定領域に対する特定のデータの書き込み要求が特定のデータと共に通知された場合、その通知された特定のデータを書き込み指定領域に書き込むように構成されている。
【００１９】
また、不揮発性メモリには、メモリ制御部によるデータの書き込みが行われない書き込み非対象領域が設定されている。そして、メモリ制御部は、書き込み要求により通知された書き込み指定領域に書き込み非対象領域が含まれている場合は、当該書き込み指定領域のうち書き込み非対象領域に対してはデータの書き込みを行わないように構成されている。
【００２０】
また、充電装置は、充電装置側通信部と、書き込み要求通知部とを備える。充電装置側通信部は、バッテリパックが装着されている場合にバッテリパックと通信を行うように構成されている。書き込み要求通知部は、バッテリパックが装着されている場合に、充電装置側通信部を介してバッテリパックへ、書き込み非対象領域を含む書き込み指定領域を指定して特定のデータを送信することにより書き込み要求を通知する。
【００２１】
このような構成の充電システムによれば、バッテリパックのメモリ制御部は、充電装置からの書き込み要求に対して基本的には要求通りにデータの書き込みを行うものの、書き込み非対象領域に対する書き込みの要求に対しては書き込みを行わない。そのため、不揮発性メモリにおけるデータの記憶状態を正常な状態に維持することが可能となる。また、充電装置は、書き込み非対象領域へのデータ書き込みを要求することで、その要求後、例えばその書き込み非対象領域のデータを読み込むことで、バッテリパックが正常であるかどうかを判断することができる。
【図面の簡単な説明】
【００２２】
【図１】実施形態のバッテリパックの電気的構成を表すブロック図である。
【図２】実施形態の充電装置の電気的構成を表すブロック図である。
【図３】バッテリパックで実行されるバッテリパック制御処理のフローチャートである。
【図４】図４Ａは、バッテリパックの不揮発性メモリの書き込み禁止領域に正規の規定値が記憶されている場合に充電装置へ通知されるデータの一例を示す説明図であり、図４Ｂは、バッテリパックの不揮発性メモリの書き込み禁止領域に正規の規定値とは異なるデータが記憶されている場合に充電装置へ通知されるデータの一例を示す説明図である。
【図５】書き込み禁止領域を含む記憶領域へのデータ書き込み指令に対する、バッテリパック正常時とバッテリパック異常時のそれぞれにおける書き込み結果を示す説明図である。
【図６】バッテリパックから充電装置へ送信される正常完了通知の具体例を示す説明図である。
【図７】充電装置で実行される充電制御処理のフローチャートである。
【発明を実施するための形態】
【００２３】
以下、本開示の実施形態について、図面を参照しながら説明する。
［１．実施形態］
（１−１）バッテリパックの構成
図１に示す本実施形態のバッテリパック１０は、不図示のケースを有し、そのケース内に充放電可能なバッテリ２０が収容されて構成されている。ケース内には、バッテリ２０の他、図１に示す各種回路、素子等が収容されている。
【００２４】
バッテリ２０は、充放電可能なセルを複数有する。具体的に、バッテリ２０は、１つのセル又は並列接続された複数のセルからなるセルブロックが、複数直列に接続されて構成されている。バッテリ２０は、本実施形態では例えばリチウムイオン電池である。ただし、バッテリ２０はリチウムイオン電池以外の他の二次電池であってもよい。
【００２５】
バッテリパック１０を充電装置に装着することで、バッテリ２０を充電することができる。また、バッテリパック１０を、例えば電動ドライバ、電動グラインダ、電動ハンマ、電動刈払機などの各種の電動作業機に装着することで、バッテリ２０の電力を電動作業機へ供給して電動作業機を駆動させることができる。なお、バッテリ２０を充電可能な充電装置として、本実施形態では、図２に示す構成の充電装置４０を例に挙げて説明する。
【００２６】
バッテリパック１０は、充電装置４０からバッテリ２０の充電電力の受電用、及びバッテリ２０から外部へのバッテリ電力放電用の、正極端子１１及び負極端子１２を備えている。正極端子１１はバッテリ２０の正極に接続され、負極端子１２は電流検出回路２３を介してバッテリ２０の負極に接続されている。
【００２７】
また、バッテリパック１０は、外部との電気的接続用の端子として、通信端子１３、入力端子１４、及び出力端子１５を備えている。
通信端子１３は、バッテリパック１０が充電装置４０や電動作業機などの各種機器に装着された場合にこれら各種機器との間でデータ通信を行うための端子である。入力端子１４は、バッテリパック１０が充電装置４０に装着された場合に充電装置４０から直流の電源電圧Ｖｃｃを取り込むための端子である。電源電圧Ｖｃｃの電圧値は本実施形態では例えば５Ｖである。出力端子１５は、バッテリパック１０が充電装置４０に装着された場合に充電装置４０に対して最大充電電流値を通知するための端子である。
【００２８】
バッテリパック１０は、監視回路２１と、温度検出回路２２と、電流検出回路２３と、Ｖｃｃ検出回路２４と、通知信号出力回路２５と、残容量ＬＥＤ制御回路２６と、バッテリ制御回路３０とを備えている。
【００２９】
監視回路２１は、例えば１チップのＩＣによって構成されている。監視回路２１は、バッテリ２０から、バッテリ２０の両端電圧であるバッテリ電圧や、直列接続された各セルブロックの電圧であるセル電圧などを取得し、それらバッテリ電圧及び各セル電圧などに基づいてバッテリ２０を監視する。監視回路２１による監視結果は、バッテリ制御回路３０へ出力される。
【００３０】
温度検出回路２２は、バッテリ２０の温度を検出する。温度検出回路２２は、例えばサーミスタなどの温度センサを有し、この温度センサがバッテリ２０の近傍に配置されている。具体的には、温度センサが例えば何れかのセルの外表面に直接接触した状態で固定されている。温度検出回路２２は、温度センサから入力される信号に基づいてバッテリ２０の温度を検出し、その検出結果をバッテリ制御回路３０へ出力する。
【００３１】
電流検出回路２３は、負極端子１２とバッテリ２０の負極とを接続する通電経路に設けられている。電流検出回路２３は、例えば、当該通電経路に直列に挿入された抵抗を有し、この抵抗の両端の電圧を示す信号、即ちこの抵抗に流れる電流の値に応じた電流検出信号を、監視回路２１へ出力する。
【００３２】
監視回路２１は、電流検出回路２３から入力される電流検出信号に基づいて、バッテリ２０の充電時及びバッテリ２０からの放電時にバッテリ２０に流れる電流を監視する。そして、その監視結果をバッテリ制御回路３０へ出力する。
【００３３】
Ｖｃｃ検出回路２４は、充電装置４０から入力端子１４に入力される電源電圧Ｖｃｃを検出するためのものであり、その検出結果は、バッテリ制御回路３０に入力される。バッテリ制御回路３０は、Ｖｃｃ検出回路２４により電源電圧Ｖｃｃが検出されているか否かに基づいて、バッテリパック１０が充電装置４０に装着されているか否かを判断することができる。
【００３４】
通知信号出力回路２５は、バッテリ制御回路３０からの指令に従い、バッテリ２０へ供給可能な充電電流の最大値である最大充電電流値を表す電圧値のアナログ信号を、最大充電電流値の通知信号として生成し出力する。通知信号出力回路２５から出力された通知信号は、出力端子１５から充電装置４０へ出力される。なお、通知信号出力回路２５には、通知信号の出力経路に重畳されるノイズを除去するためのローパスフィルタが設けられている。
【００３５】
残容量ＬＥＤ制御回路２６は、バッテリ制御回路３０からの指令に従い、不図示のＬＥＤの点灯状態を制御することにより、バッテリ２０に充電されている電力の残量を表示させる。
【００３６】
バッテリ制御回路３０は、監視回路２１から入力される監視結果、温度検出回路２２から入力されるバッテリ温度の検出結果、Ｖｃｃ検出回路２４から入力される電源電圧Ｖｃｃの検出結果などの、各種入力情報に基づいて、各種制御処理を行う。バッテリ制御回路３０が実行する各種制御処理には、残容量ＬＥＤ制御回路２６の制御、通知信号出力回路２５による通知信号の出力制御、及び通信端子１３を介した外部とのデータ通信などが含まれる。
【００３７】
バッテリ制御回路３０は、本実施形態では、不図示のＣＰＵ、メモリを含む１チップのマイクロコンピュータとして構成されている。メモリには、ＲＡＭ、ＲＯＭのほか、図１に図示されているように、記憶内容を電気的に書き換え可能な不揮発性メモリ３１が含まれる。不揮発性メモリ３１としては、例えば、フラッシュメモリ、ＥＥＰＲＯＭなどが挙げられる。
【００３８】
メモリには、バッテリパック１０の各種機能を実現するための各種プログラムやデータが記憶されている。バッテリパック１０が有する各種機能は、バッテリ制御回路３０内のＣＰＵがメモリに記憶されている各種プログラムを実行することにより実現される。メモリに記憶されているプログラムには、後述する図３のバッテリパック制御処理のプログラムが含まれる。
【００３９】
なお、バッテリ制御回路３０により実現される各種機能は、ソフトウェア処理に限るものではなく、その一部又は全部の機能を、論理回路やアナログ回路等を組み合わせたハードウェアを用いて実現してもよい。また、バッテリ制御回路３０が１チップのマイクロコンピュータにて構成されていることはあくまでも一例であり、バッテリ制御回路３０は、当該バッテリ制御回路３０としての機能を実現可能な他の種々の構成を採り得る。
【００４０】
バッテリパック１０の不揮発性メモリ３１には、各種データが記憶される。不揮発性メモリ３１に記憶されるデータとしては、例えば、過去に充電が行われた回数の履歴を示す充電回数、過去に行われた充電の内容や充電時に生じた事象などの、充電回数以外の各種の充電履歴を示す充電履歴情報、バッテリ２０の劣化の度合いを示す劣化情報、バッテリ２０の定格電圧値、前回充電が行われた際に充電が正常に完了したか否かを示す前回充電情報などがある。これら各種情報は、それぞれ、不揮発性メモリ３１における予め決められたアドレスの記憶領域に記憶される。
【００４１】
不揮発性メモリ３１の全記憶領域のうち、例えばアドレスＡ１〜Ａ４には、図４Ａに示すように、それぞれ１バイトずつデータが記憶される。なお、本実施形態では、アドレスＡ１〜Ａ４の各データについて、アドレスＡ１を起点として何バイト目のデータであるか、という表現をすることもある。例えば、アドレスＡ１のデータは１バイト目のデータであり、アドレスＡ２のデータは２バイト目のデータであり、アドレスＡ３のデータは３バイト目のデータであり、アドレスＡ４のデータは４バイト目のデータである。
【００４２】
また、アドレスＡ１〜Ａ３の記憶領域は、いずれも、データの書き込みが許可された領域として設定されている。即ち、バッテリ制御回路３０は、バッテリパック１０の状態や充電装置４０との通信内容などに基づき、必要に応じてアドレスＡ１〜Ａ３にデータを書き込むことができる。なお、ここでいう書き込みとは、無データ状態から新規に書き込むこと、及びすでに書き込まれているデータを別のデータに書き換えること、の双方を含む。
【００４３】
一方、アドレスＡ４の記憶領域は、データの書き込みが禁止された領域として設定されている。そのため、バッテリ制御回路３０は、アドレスＡ４の記憶領域に対してはデータの書き込みは行わない。本実施形態では、後述するように充電装置４０からアドレスＡ４を指定してデータの書き込みが要求されることがあるが、バッテリ制御回路３０は、書き込みが禁止されたアドレスＡ４に対するデータの書き込み要求についてはこれを無効とし、書き込みを行わない。
【００４４】
アドレスＡ１〜Ａ３に記憶されるデータの具体的内容は適宜決めてよい。本実施形態では、アドレスＡ１〜Ａ３には、例えば、充電装置４０により設定、演算等されて充電装置４０から通知されるデータが記憶される。具体的には、例えば前述の充電回数や劣化情報などがアドレスＡ１〜Ａ３に記憶されるように構成されていてもよい。
【００４５】
なお、図示は省略したが、バッテリパック１０は、バッテリ２０の電力に基づいて直流の電源電圧を生成する電源回路を備えている。バッテリ制御回路３０や監視回路２１などのバッテリパック１０内の各部は、電源回路にて生成された電源電圧によって動作する。
【００４６】
バッテリ２０の電圧が低下して電源回路にて電源電圧を正常に生成できなくなると、バッテリ制御回路３０は動作できなくなる。そこで本実施形態のバッテリパック１０は、バッテリ２０の電圧が低下して電源回路にて電源電圧を正常に生成できない状態になっているときに充電装置４０に装着された場合、充電装置４０から入力端子１４を介して入力される電源電圧Ｖｃｃによってバッテリ制御回路３０が動作可能に構成されている。
【００４７】
（１−２）充電装置の構成
次に、充電装置４０について、図２を用いて説明する。充電装置４０は、バッテリパック１０を着脱可能であって、バッテリパック１０が装着されている場合にバッテリ２０を充電可能である。
【００４８】
充電装置４０は、バッテリパック１０が装着された場合にバッテリパック１０と電気的に接続される端子として、正極端子４１、負極端子４２、通信端子４３、出力端子４４、及び入力端子４５を備えている。
【００４９】
充電装置４０にバッテリパック１０が装着されると、充電装置４０の正極端子４１にバッテリパック１０の正極端子１１が接続され、充電装置４０の負極端子４２にバッテリパック１０の負極端子１２が接続され、充電装置４０の通信端子４３にバッテリパック１０の通信端子１３が接続され、充電装置４０の出力端子４４にバッテリパック１０の入力端子１４が接続され、充電装置４０の入力端子４５にバッテリパック１０の出力端子１５が接続される。
【００５０】
また、充電装置４０は、充電制御回路５０と、電源回路５１と、温度検出回路５２とを備えている。
充電制御回路５０は、バッテリ制御回路３０と同様、１チップのマイクロコンピュータにて構成されている。即ち、充電制御回路５０は、不図示のＣＰＵ、メモリを有する。メモリには、ＲＡＭ、ＲＯＭのほか、例えばフラッシュメモリなどの各種の半導体メモリが含まれる。
【００５１】
充電制御回路５０のメモリには、充電装置４０の各種機能を実現するための各種プログラムやデータが記憶されている。充電装置４０が有する各種機能は、充電制御回路５０内のＣＰＵがメモリに記憶されている各種プログラムを実行することにより実現される。充電制御回路５０のメモリに記憶されているプログラムには、後述する図７の充電制御処理のプログラムが含まれる。
【００５２】
なお、充電制御回路５０により実現される各種機能は、ソフトウェア処理に限るものではなく、その一部又は全部の機能を、論理回路やアナログ回路等を組み合わせたハードウェアを用いて実現してもよい。また、充電制御回路５０が１チップのマイクロコンピュータにて構成されていることはあくまでも一例であり、充電制御回路５０は、当該充電制御回路５０としての機能を実現可能な他の種々の構成を採り得る。
【００５３】
電源回路５１は、例えば交流１００Ｖの商用交流電源などの外部電源から交流電力を受電して、その交流電力から、バッテリ２０を充電するのに必要な充電電力を生成する。電源回路５１にて生成された充電電力は、正極端子４１及び負極端子４２を介してバッテリパック１０へ出力される。
【００５４】
また、電源回路５１は、外部電源から受電した交流電力に基づいて、直流の一定電圧値の電源電圧Ｖｃｃを生成する。電源電圧Ｖｃｃの電圧値は本実施形態では前述の通り５Ｖである。電源回路５１で生成された電源電圧Ｖｃｃは、充電装置４０内の各部に供給され、それら各部の動作用電源として用いられる。また、電源回路５１で生成された電源電圧Ｖｃｃは、出力端子４４からバッテリパック１０の入力端子１４へ出力される。
【００５５】
電源回路５１の動作は、充電制御回路５０によって制御される。充電制御回路５０は、バッテリパック１０が充電装置４０に接続されているときに、通信端子４３を介してバッテリパック１０内のバッテリ制御回路３０とデータ通信を行いながら、電源回路５１を制御することで、バッテリ２０への充電を制御する。
【００５６】
また、充電制御回路５０は、バッテリ２０の充電時には、バッテリパック１０の出力端子１５から充電装置４０の入力端子４５に入力される通知信号に基づいて、最大充電電流値を取得する。そして、バッテリ２０へ供給される充電電流がその最大充電電流値を超えないように電源回路５１を制御する。
【００５７】
なお、入力端子４５から充電制御回路５０に至る通知信号の入力経路は、抵抗Ｒ１を介して、充電装置４０内の電源ラインに接続されている。なお、電源ラインは、電源電圧Ｖｃｃが供給される電流経路であり、電源電圧Ｖｃｃと同電位の電流経路である。
【００５８】
このため、充電装置４０にバッテリパック１０が装着されていないときには、入力端子４５から充電制御回路５０に入力される電圧の値は電源電圧Ｖｃｃの値となる。この場合、充電制御回路５０は、その入力される電圧値から、バッテリパック１０が接続されていないことを検知できる。
【００５９】
一方、充電装置４０にバッテリパック１０が装着されると、バッテリパック１０の通知信号出力回路２５から出力端子１５を介して出力された通知信号が、充電装置４０において入力端子４５を介して充電制御回路５０に入力される。
【００６０】
バッテリパック１０の通知信号出力回路２５は、バッテリ制御回路３０からの指令に従い、電源電圧Ｖｃｃよりも低い一定電圧値以下の範囲内で最大充電電流値を表すアナログの通知信号を出力する。
【００６１】
例えば、バッテリ２０へ供給可能な最大充電電流値が、バッテリ２０の状態によって０Ａから９Ａまで変化し得るものとする。この場合、バッテリ制御回路３０は、例えば、最大充電電流値を０Ａに設定する際は、通知信号として例えば１Ｖの電圧値のアナログ信号を出力させる。また例えば、最大充電電流値を９Ａに設定する際は、通知信号として例えば３Ｖの電圧値のアナログ信号を出力させる。そして、設定すべき最大充電電流値の０Ａ〜９Ａの変化に対し、通知信号の電圧値を、１Ｖから３Ｖまで最大充電電流値に応じて線形的に変化させる。
【００６２】
なお、バッテリ制御回路３０は、最大充電電流値の通知信号の電圧範囲から外れた電圧範囲（例えば、０〜１Ｖ、３〜５Ｖ）内の電圧値を使って、通知信号出力回路２５から、最大充電電流値とは異なる情報を出力させることもできる。
【００６３】
また、充電装置４０には、電源回路５１の温度を検出する温度検出回路５２が設けられており、この温度検出回路５２による検出結果は、充電制御回路５０に入力される。充電制御回路５０は、例えば、温度検出回路５２にて検出された温度が高いときは、バッテリ２０への充電電流を抑制する。
【００６４】
（１−３）バッテリパック制御処理
次に、バッテリパック１０内のバッテリ制御回路３０が実行するバッテリパック制御処理について、図３を用いて説明する。バッテリ制御回路３０は、Ｖｃｃ検出回路２４による検出結果に基づいてバッテリパック１０が充電装置４０に装着されていることを検出している間、図３に示すバッテリパック制御処理をメインルーチンの一つとして周期的に実行する。なお、本実施形態では、バッテリ制御回路３０はＣＰＵ及びメモリを有するマイクロコンピュータにて構成されているため、図３のバッテリパック制御処理は、ＣＰＵが、メモリに記憶されているバッテリパック制御処理のプログラムに従って実行する。
【００６５】
バッテリ制御回路３０は、図３のバッテリパック制御処理を開始すると、Ｓ１１０で、充電装置４０から通信端子１３を介してデータ読み込み指令を受信したか否か判断する。データ読み込み指令には、充電装置４０がデータの読み込みを要求していることを示す情報と、不揮発性メモリ３１における読み込み開始領域を示す情報とが含まれる。読み込み開始領域は、例えば不揮発性メモリ３１におけるアドレスである。
【００６６】
Ｓ１１０で、充電装置４０からデータ読み込み指令を受信していない場合は、Ｓ１３０に進む。充電装置４０からデータ読み込み指令を受信した場合は、Ｓ１２０に進む。
充電装置４０から送信されるデータ読み込み指令に含まれる読み込み開始領域として、本実施形態では、例えば、不揮発性メモリ３１のアドレスＡ１が設定される場合がある。バッテリ制御回路３０は、読み込み開始領域としてアドレスＡ１が設定されたデータ読み込み指令を受信すると、不揮発性メモリ３１におけるアドレスＡ１から所定バイト数のデータを読み込む。そして、Ｓ１２０で、その読み込んだ所定バイト数のデータを、通信端子１３を介して充電装置４０へ通知する。
【００６７】
本実施形態のバッテリ制御回路３０は、データ読み込み指令を受信した場合、Ｓ１２０で、指定された読み込み開始領域のアドレスを起点として４バイトのデータを読み込んで充電装置４０へ通知するように構成されている。
【００６８】
そのため、例えば読み込み開始領域がアドレスＡ１に指定されている場合は、バッテリ制御回路３０は、アドレスＡ１を起点とする４バイトのデータ、即ちアドレスＡ１〜Ａ４に記憶されているデータを読み込んで充電装置４０へ通知する。この場合、読み込み対象の記憶領域には、データの書き込みが禁止された書き込み禁止領域であるアドレスＡ４が含まれるが、バッテリ制御回路３０は、データの読み込みに関しては、読み込み対象の記憶領域が書き込み禁止領域であってもデータを読み込んで充電装置４０へ通知するように構成されている。
【００６９】
本実施形態では、充電装置４０は、バッテリパック１０の不揮発性メモリ３１が正常であるかどうかを確認するために、データ読み込み指令としてアドレスＡ１を読み込み開始領域として指定することで、書き込み禁止領域に記憶されているデータも取得するようにしている。
【００７０】
なお、充電装置４０は、データ読み込み指令において、読み込み開始領域を指定するだけでなく、読み込み対象の記憶領域を具体的に指定するようにしてもよい。例えば、読み込み対象としてアドレスＡ１〜Ａ４を直接指定する構成であってもよい。
【００７１】
読み込み対象であるアドレスＡ１〜Ａ４には、それぞれ、図４Ａに示すようにデータが記憶されている。図４Ａは、バッテリ制御回路３０が正常に動作していて書き込み禁止領域である４バイト目の記憶領域、即ちアドレスＡ４の記憶領域に規定値（例えば「００Ｈ」）が記憶された状態になっていることを示している。
【００７２】
これに対し、例えば不揮発性メモリ３１に異常が生じたり、バッテリ制御回路３０の動作に異常が生じたりするなど、何らかの異常が生じると、書き込み禁止領域であるアドレスＡ４のデータが規定値から変化する可能性がある。図４Ｂは、本来規定値が記憶されているべきアドレスＡ４に、規定値とは異なるデータ（例えば「７８Ｈ」）が記憶された状態になっている例を示している。
【００７３】
バッテリ制御回路３０は、充電装置４０からのデータ読み込み指令に対してＳ１２０でデータを通知する際、書き込み禁止領域のデータについても、読み込んだデータをそのまま通知する。即ち、図４Ａに示すように書き込み禁止領域に正規の規定値が記憶されている正常状態である場合にその規定値を通知することはもちろん、図４Ｂに示すように書き込み禁止領域に規定値とは異なる値が記憶されている異常状態である場合も、その記憶されているデータを通知する。
【００７４】
Ｓ１３０では、充電装置４０から通信端子１３を介してデータ書き込み指令を受信したか否か判断する。データ書き込み指令には、充電装置４０がデータの書き込みを要求していることを示す情報と、不揮発性メモリ３１における書き込み開始領域を示す情報と、書き込み対象のデータとが含まれる。書き込み開始領域は、前述の読み込み開始領域と同様、例えば不揮発性メモリ３１におけるアドレスである。
【００７５】
Ｓ１３０で、充電装置４０からデータ書き込み指令を受信していない場合は、バッテリパック制御処理を終了する。充電装置４０からデータ書き込み指令を受信した場合は、Ｓ１４０以降で、受信したデータ書き込み指令に基づく、不揮発性メモリ３１へのデータの書き込みを実行する。
【００７６】
充電装置４０から送信されるデータ書き込み指令として、本実施形態では、不揮発性メモリ３１のアドレスＡ１を書き込み開始領域に指定して３バイトのデータを通知する場合と、不揮発性メモリ３１のアドレスＡ４を書き込み開始領域に指定して１バイトのデータを通知する場合とがある。
【００７７】
バッテリ制御回路３０は、データ書き込み指令を受信した場合、書き込み開始領域としてアドレスＡ１が指定され且つ３バイトのデータが通知された場合は、Ｓ１６０〜Ｓ１８０の処理により、通知された３バイトのデータを、不揮発性メモリ３１におけるアドレスＡ１から順次書き込む。この結果、不揮発性メモリ３１のアドレスＡ１〜Ａ３の記憶領域に、通知された３バイトのデータが順次書き込まれることになる。
【００７８】
書き込み開始領域としてアドレスＡ４が指定され且つ１バイトのデータが通知された場合は、バッテリ制御回路３０が正常である限り、Ｓ１５０の判断処理によって、通知された１バイトのデータは無効とし、アドレスＡ４への書き込みは行わない。
【００７９】
なお、データ書き込み指令として具体的にどのアドレスを指定してどのくらいのデータ量のデータを通知するかについては適宜決めてよく、例えば、アドレスＡ１を書き込み開始領域に指定して４バイトのデータを通知するようにしてもよい。その場合、バッテリ制御回路３０が正常であれば、書き込み禁止領域であるアドレスＡ４への書き込みは無効にされて行われず、アドレスＡ１〜Ａ３の記憶領域にそれぞれ１バイトずつデータが書き込まれることになる。
【００８０】
また、充電装置４０は、書き込み開始領域を指定するだけでなく、書き込み対象の記憶領域を具体的に指定するようにしてもよい。例えば、書き込み対象としてアドレスＡ１〜Ａ４を直接指定する構成であってもよい。さらに、どのデータをどのアドレスに書き込むべきかについても具体的に指定する構成であってもよい。
【００８１】
充電装置４０から通知される書き込み対象のデータのうち、不揮発性メモリ３１における書き込み禁止領域のアドレスＡ４の記憶領域を対象としたデータは、図５の右上に例示するように、正規の規定値とは異なるデータ（例えば「７８Ｈ」）である。充電装置４０は、バッテリパック１０の不揮発性メモリ３１が正常であるかどうかを確認するために、書き込み禁止領域であるアドレスＡ４に対してあえて規定値とは異なるデータを書き込むよう通知する場合がある。
【００８２】
バッテリ制御回路３０は、充電装置４０からデータ書き込み指令を受信すると、Ｓ１４０で、通知された書き込み対象の全データのうちの１バイト分を取得する。ここでは、例えば、まだ当該Ｓ１４０で取得していないデータのうち最も早く通知された１バイトのデータを取得する。
【００８３】
例えば、アドレスＡ１が書き込み開始領域に指定されて３バイトのデータが通知されている場合に、その通知された直後の最初のＳ１４０では、アドレスＡ１に書き込むべき１バイト目のデータ（例えば「１２Ｈ」）を取得する。また例えば、その通知後３回目のＳ１４０の処理では、アドレスＡ３に書き込むべき３バイト目のデータ（例えば「５６Ｈ」）を取得する。また例えば、アドレスＡ４が書き込み開始領域に指定されて１バイトのデータが通知されている場合は、Ｓ１４０では、その通知された１バイトのデータを取得する。
【００８４】
Ｓ１５０では、Ｓ１４０で取得した１バイトのデータを書き込むべき記憶領域が書き込み禁止領域であるか否か判断する。例えば書き込み対象の記憶領域がアドレスＡ４であるなど、書き込み対象の記憶領域が書き込み禁止領域である場合は、取得したデータを当該書き込み禁止領域に書き込まず、Ｓ１８０に進む。
【００８５】
Ｓ１５０で、書き込み対象の記憶領域が書き込み禁止領域ではない場合、即ち上記例において書き込み対象のデータが１バイト目〜３バイト目のいずれかのデータである場合は、Ｓ１６０に進む。
【００８６】
Ｓ１６０では、Ｓ１４０で取得した１バイトのデータが正常であるか否か判断する。ここでの判断方法は適宜決めてよく、例えば、Ｓ１２０で充電装置４０へ通知したデータの内容と、今回充電装置４０から通知されたデータの内容とを比較して、今回通知されたデータが所定の正常条件を満たしていれば正常と判断し、正常条件を満たしていない場合は異常と判断するようにしてもよい。具体例を挙げると、例えばデータが充電回数を示すものである場合に、Ｓ１２０では充電回数として例えば「１００回」を示すデータを送信したにもかかわらず、Ｓ１４０で取得した充電回数が、本来想定される「１０１回」とは全く異なる値（例えば「１０００回」）である場合は、当該データは正常ではないと判断するようにしてもよい。つまりこの例では、充電回数に対する正常条件は、Ｓ１２０で送信した回数に１加算された回数が取得されること、である。
【００８７】
Ｓ１６０で、取得した１バイトのデータが正常ではないと判断した場合は、バッテリパック制御処理を終了する。この場合、後述するＳ２００の正常完了通知の送信が行われることなくバッテリパック制御処理が終了することになる。
【００８８】
Ｓ１６０で、取得した１バイトのデータが正常であると判断した場合は、Ｓ１７０に進む。Ｓ１７０では、取得した１バイトのデータを、対応するアドレスの記憶領域に書き込む。例えば２バイト目のデータである場合は、２バイト目の記憶領域であるアドレスＡ２に書き込む。Ｓ１７０の処理後はＳ１８０に進む。
【００８９】
Ｓ１８０では、充電装置４０からデータ書き込み指令として通知された書き込み対象のデータを全て書き込んだか否か判断する。なお、この判断においては、書き込み禁止領域を対象とするデータは除外し、書き込み禁止領域以外を対象としたデータについて全て書き込みが完了したか否か判断する。
【００９０】
書き込みを行っていない書き込み対象のデータ、即ちＳ１４０でまだ取得されていないデータが残っている場合は、Ｓ１４０に戻る。この場合、Ｓ１４０では、まだ取得されていないデータのうち通知順序が最も早かった１バイトのデータが取得されることになる。書き込み対象のデータの書き込みが全て完了した場合は、Ｓ１９０に進む。
【００９１】
なお、書き込みが全て完了したとき、バッテリ制御回路３０が正常に機能している場合は、充電装置４０から通知された４バイトのデータのうち１〜３バイト目のデータは正常に書き込まれ、４バイト目のデータは書き込まれていない状態になっている。
【００９２】
即ち、例えば図５の左上に示すように、バッテリパック１０の不揮発性メモリ３１において、アドレスＡ１〜Ａ４にいずれも「００Ｈ」というデータが記憶されていたとする。そして、充電装置４０から、アドレスＡ１〜Ａ４を書き込み対象として、図５の右上に示すように、順に「１２Ｈ」、「３４Ｈ」、「５６Ｈ」、「７８Ｈ」という４バイトのデータが通知されたとする。
【００９３】
このとき、バッテリ制御回路３０が正常であれば、図５の左下に示すように、１バイト目〜３バイト目はそれぞれ、充電装置４０から通知されたデータが書き込まれ、書き込み禁止領域である４バイト目のアドレスＡ４は通知されたデータが書き込まれず規定値のままの状態となっている。
【００９４】
一方、バッテリ制御回路３０が全体として正常に機能しない状態になっている場合は、図５の右下に示すように、書き込み禁止領域である４バイト目のアドレスＡ４の記憶領域にも、通知されたデータが書き込まれてしまう可能性がある。なお、バッテリ制御回路３０が正常に機能しない異常状態としては、例えば、不揮発性メモリ３１に異常が生じていることや、バッテリ制御回路３０に異常が生じて書き込み禁止領域への書き込み要求に対しても書き込みを行ってしまうような状態になっていることなどが考えられる。
【００９５】
Ｓ１９０では、Ｓ１４０〜Ｓ１８０による、書き込み対象のデータの書き込みが、正常に完了したか否か判断する。この判断は、書き込みが許可されている記憶領域に対して書き込まれるデータを対象として行われる。書き込みが許可されている記憶領域への書き込み対象データのうち正常に書き込めなかったデータがある場合は、バッテリパック制御処理を終了する。この場合、次に述べるＳ２００の正常完了通知の送信が行われることなくバッテリパック制御処理が終了することになる。
【００９６】
Ｓ１９０で、書き込みが許可されている記憶領域への書き込み対象データの書き込みが全て正常に行われた場合は、Ｓ２００に進む。なお、充電装置４０からデータ書き込み指令として書き込み禁止領域のみを対象としたデータが通知されている場合は、Ｓ１９０では実質的な判断を行うことなく肯定判定してＳ２００に進む。
【００９７】
Ｓ２００では、充電装置４０へ、通信端子１３を介して、正常完了通知を送信する。この正常完了通知は、要求された書き込み対象のデータのうち少なくとも書き込みが許可されている記憶領域を対象とするデータについては正常に書き込まれたということを示す通知である。
【００９８】
正常完了通知として充電装置４０へ送信されるデータには、充電装置４０から送信されてきた書き込み対象データが含まれる。つまり、バッテリ制御回路３０は、充電装置４０から要求されたデータの書き込みを正常に完了したら、充電装置４０から通知された書き込み対象のデータ全てをそのまま充電装置４０へ返す。
【００９９】
例えば図５の右上に示したような４バイトのデータの書き込み要求が行われたとする。そして、書き込みが正常に行われた結果、例えば図６の左側に示すように、１〜３バイト目までは要求されたデータが書き込まれた状態となり、４バイト目については要求されたデータが無効とされて書き込まれずに元の規定値が維持されているとする。この場合、バッテリ制御回路３０は、Ｓ２００で、正常完了通知として、現に記憶されているデータではなく、図６の右側に示すように、あくまでも、充電装置４０から通知された、「１２Ｈ」、「３４Ｈ」、「５６Ｈ」、「７８Ｈ」という４バイトのデータをそのまま順に返す。
【０１００】
（１−４）充電制御処理
次に、充電装置４０内の充電制御回路５０が実行する充電制御処理について、図７を用いて説明する。充電制御回路５０は、起動後、図７に示す充電制御処理をメインルーチンの一つとして実行する。なお、本実施形態では、充電制御回路５０はＣＰＵ及びメモリを有するマイクロコンピュータにて構成されているため、図７の充電制御処理は、充電制御回路５０のＣＰＵがメモリに記憶されている充電制御処理のプログラムに従って実行する。
【０１０１】
充電制御回路５０は、図７の充電制御処理を開始すると、Ｓ３１０で、充電装置４０にバッテリパック１０が接続されているか否か判断する。この判断は、例えば、入力端子４５の電圧が電源電圧Ｖｃｃよりも低くなったか否かに基づいて行うことができる。入力端子４５の電圧が電源電圧Ｖｃｃと同じであれば、入力端子４５が開放されていてバッテリパック１０が接続されていないと判断できる。
【０１０２】
バッテリパック１０が接続されていない場合は、Ｓ３１０の判断を繰り返す。バッテリパック１０が接続されている場合は、Ｓ３２０に進む。Ｓ３２０では、バッテリパック１０の不揮発性メモリ３１を対象とするデータ読み込み処理を行う。具体的に、バッテリパック１０に対し、通信端子４３を介してデータ読み込み指令を送信する。そして、そのデータ読み込み指令に対してバッテリパック１０から通知されるデータを通信端子４３を介して取得する。
【０１０３】
データ読み込み指令を送信することにより、バッテリパック１０からは、図３のＳ１２０の処理によって、不揮発性メモリ３１のデータが読み込まれて通知される。本実施形態では、前述の通り、不揮発性メモリ３１における、書き込み禁止領域であるアドレスＡ４を含む、アドレスＡ１〜Ａ４の記憶領域に記憶されているデータが読み込まれて通知される。
【０１０４】
Ｓ３３０では、Ｓ３２０のデータ読み込み処理によってバッテリパック１０から通知されたデータが正常であるか否か判断する。具体的に、書き込み禁止領域から読み込まれたデータが正規の規定値であるかどうか判断し、規定値であれば正常、規定値とは異なるデータであれば異常と判断する。
【０１０５】
なお、書き込み禁止領域から読み込まれたデータに限らず、他の記憶領域から読み込まれたデータも、正常かどうか（例えば、想定範囲内のデータであるかどうか）判断するようにしてもよい。
【０１０６】
Ｓ３３０で、通知されたデータが正常である場合は、Ｓ３４０に進む。Ｓ３４０では、充電パラメータとして、バッテリパック１０が正常の場合に対応した値の充電パラメータ（以下、正常時充電パラメータ）を設定する処理を行う。充電パラメータとは、バッテリパック１０のバッテリ２０を充電する際に用いられる各種のパラメータであり、例えば、充電電流の上限値、充電電圧値、満充電と判断して充電を停止する際の充電量などがある。Ｓ３４０では、これら各種の充電パラメータとして、バッテリパック１０が正常であることに基づき、バッテリ２０を適切且つ十分に充電することが可能な値の正常時充電パラメータを設定する。また、充電パラメータの設定には、Ｓ３２０でバッテリパック１０の不揮発性メモリ３１から読み込んだ各種データが参照され、読み込んだ各種データに応じた充電パラメータが設定される。Ｓ３４０の処理後はＳ３６０に進む。
【０１０７】
Ｓ３３０で、通知されたデータが異常である場合は、Ｓ３５０に進む。Ｓ３５０では、充電パラメータとして、バッテリパック１０が異常の場合に対応した値の充電パラメータ（以下、異常時充電パラメータ）を設定する処理を行う。異常時充電パラメータは、正常時充電パラメータよりも充電量や充電性能が低くなるような値の充電パラメータである。例えば、充電電流の上限値については、正常時充電パラメータよりも低い値（例えば１／２の値）に設定される。また例えば、充電量については、正常時充電パラメータよりも低い値（例えば３０％の値）に設定される。Ｓ３５０の処理後はＳ３６０に進む。
【０１０８】
Ｓ３６０では、Ｓ３４０またはＳ３５０で設定した充電パラメータを用いて、バッテリ２０の充電を開始する。例えば、充電電流値が充電パラメータとして設定された上限値を超えないように充電電流を制御しつつ充電を行う。また例えば、充電量を監視し、充電パラメータとして設定された充電量に到達したら充電を停止する。
【０１０９】
充電パラメータとして異常時充電パラメータが設定されている場合も、充電自体は行われる。しかし、正常時充電パラメータが設定されている場合に比べて、充電が完了するまでの所要時間が長くなり、しかも、充電完了時に充電されている充電量は通常の満充電状態よりも少ない。つまり、バッテリパック１０から読み込まれたデータが異常である場合は、バッテリパック１０の保護のために、通常時よりも充電能力を低下させつつ、少量の充電量に抑えるようにしている。
【０１１０】
Ｓ３６０の充電開始後、所定時間（例えば１分）経過後に、Ｓ３７０で、バッテリパック１０の不揮発性メモリ３１に対するデータ書き込み処理を行う。具体的には、不揮発性メモリ３１における書き込み許可領域を対象とする前述のデータ書き込み指令を通信端子４３を介してバッテリパック１０へ送信する。なお、Ｓ３７０において、書き込み許可領域のみを対象として書き込みを指示することは必須ではなく、書き込み禁止領域を対象とする書き込みの指示も含まれていてもよい。即ち、Ｓ３７０において、例えば、アドレスＡ１〜Ａ４の４バイト分を対象とするデータ書き込みを指示するようにしてもよい。
【０１１１】
Ｓ３８０では、バッテリパック１０から通信端子４３を介して正常完了通知を受信したか否か判断する。正常完了通知を受信した場合は、Ｓ４１０に進む。正常完了通知を受信していない場合は、Ｓ３９０に進む。
【０１１２】
Ｓ３９０では、Ｓ３７０でデータ書き込み指令を送信した後の経過時間が、受信待ちタイムアウト時間経過したか否か判断する。まだ受信待ちタイムアウト時間経過していない場合はＳ３８０に戻る。受信待ちタイムアウト時間経過した場合、即ちＳ３７０でデータ書き込み指令を送信後、正常完了通知を受信することなく受信待ちタイムアウト時間が経過した場合は、Ｓ４００に進む。
【０１１３】
Ｓ４００では、Ｓ３５０と同様、充電パラメータとして異常時充電パラメータを設定する処理を行う。よって、直前まで正常時充電パラメータに基づいて充電が行われていても、Ｓ４００で異常時充電パラメータが設定された場合は、その後は、異常時充電パラメータに基づいて充電を行う。Ｓ４００の処理後はＳ４１０に進む。
【０１１４】
Ｓ４１０では、バッテリパック１０の不揮発性メモリ３１に対するデータ書き込み処理を行う。具体的には、不揮発性メモリ３１における書き込み禁止領域を対象とする前述のデータ書き込み指令を通信端子４３を介してバッテリパック１０へ送信する。なお、Ｓ４１０において、書き込み禁止領域のみを対象として書き込みを指示することは必須ではなく、書き込み許可領域を対象とする書き込みの指示も含まれていてもよい。
【０１１５】
Ｓ４１０のデータ書き込み処理により、バッテリパック１０においては、バッテリ制御回路３０が正常であれば、書き込み禁止領域に対するデータの書き込みは無効とされるが、バッテリ制御回路３０が異常である場合は、書き込み禁止領域に対してデータが書き込まれる可能性がある。
【０１１６】
Ｓ４２０では、設定されている充電パラメータに基づくバッテリ２０の充電が完了したか否か判断する。充電が完了するまではＳ４２０の判断を繰り返し、充電が完了したら、充電制御処理を終了する。
【０１１７】
（１−５）実施形態の効果
以上説明した実施形態によれば、以下の（１ａ）〜（１ｅ）の効果を奏する。
（１ａ）バッテリ制御回路３０は、充電装置４０からのデータ書き込み指令に対して基本的には要求通りにデータの書き込みを行うものの、書き込み禁止領域に対する書き込みの要求に対しては書き込みを行わない。そのため、不揮発性メモリ３１におけるデータの記憶状態を正常な状態に維持することが可能となる。即ち、書き込み禁止領域への書き込み要求に対してはこれを無効として書き込まないようにすることで、書き込み禁止領域の記憶内容を正規の規定値に維持させることができる。これにより、書き込み禁止領域の記憶内容が規定値以外の値になることによって生じる可能性がある異常の発生を抑制することができる。
【０１１８】
（１ｂ）バッテリ制御回路３０は、充電装置４０からデータ書き込み指令を受信した場合、当該データ書き込み指令によって指定された記憶領域に書き込み禁止領域が含まれていても、書き込み禁止領域以外へのデータを全て正常に書き込めた場合は、充電装置４０へ正常完了通知を送信する。そのため、指定された記憶領域に書き込み禁止領域が含まれているか否かにかかわらず、充電装置によるバッテリの充電を正常に実行させることができる。
【０１１９】
（１ｃ）バッテリ制御回路３０は、充電装置４０からデータ読み込み指令を受信した場合、不揮発性メモリ３１における指定された記憶領域に記憶されているデータを読み込んで充電装置４０へ送信する。またその際、読み込み対象の記憶領域に書き込み禁止領域が含まれていたとしても、その書き込み禁止領域に記憶されているデータも含めて、指定された記憶領域に記憶されているデータを全て読み込んで充電装置４０へ送信する。
【０１２０】
そのため、充電装置４０は、書き込み禁止領域を含む記憶領域を指定してデータ読み込み指令を送信することにより、書き込み禁止領域に記憶されているデータを取得し、その取得したデータの内容を確認することで、バッテリパック１０が正常であるか否かを判断することができる。
【０１２１】
（１ｄ）バッテリ制御回路３０は、充電装置４０からデータ書き込み指令を受信した場合に、書き込み対象の記憶領域に書き込み禁止領域以外の領域が含まれている場合は、その書き込み禁止領域以外の領域へ書き込むべきデータが正常か否か判断する。そして、正常ではないデータが含まれている場合は、その正常ではないデータについては不揮発性メモリ３１に書き込まない。つまり、バッテリ制御回路３０は、書き込み禁止領域への書き込み要求を無効として扱うことに加え、書き込み禁止領域以外への書き込み要求についても、書き込むべきデータが正常か否か判断し、正常でない場合は書き込みを行わない。そのため、不揮発性メモリ３１におけるデータの記憶状態をより正常な状態に維持することができる。
【０１２２】
（１ｅ）本実施形態では、充電装置４０が、意図的に、バッテリパック１０に対して不揮発性メモリ３１の書き込み禁止領域へのデータ書き込みを要求する。そして、その書き込み禁止領域に記憶されているデータを読み込み、読み込んだデータが正規の規定値であるかどうか判断する。バッテリパック１０が正常であれば、バッテリ制御回路３０は、書き込み禁止領域への書き込み要求は無効とするため、書き込み禁止領域のデータは正規の規定値に維持される。一方、バッテリパック１０に何らかの異常が生じると、バッテリ制御回路３０が、書き込み禁止領域への書き込み要求に対して要求通りにデータを書き込んでしまう可能性がある。
【０１２３】
そのため、充電装置４０の充電制御回路５０は、書き込み禁止領域へのデータ書き込みを要求した後にその書き込み禁止領域に記憶されているデータを読み込むことで、バッテリパック１０が正常かどうかを判断することができる。そして、正常である場合は正規の充電を行い、正常でない場合は充電能力を通常よりも低下させて充電する。したがって、バッテリパック１０が正常か否かに応じた適切な充電が行われる。しかも、バッテリパック１０が正常ではないと判断された場合も、充電が全く行われないわけではないため、そのバッテリパック１０を使用して各種機器を駆動させることができる。
【０１２４】
（１−６）特許請求の範囲の文言との対応関係
ここで、実施形態の文言と特許請求の範囲の文言との対応関係について説明する。バッテリ制御回路３０はメモリ制御部に相当する。バッテリパック１０のバッテリ制御回路３０及び通信端子１３は、通信部及びバッテリ側通信部に相当する。図４Ａに示すアドレスＡ４の書き込み禁止領域は書き込み非対象領域に相当する。充電装置４０の充電制御回路５０は書き込み要求通知部に相当する。充電装置４０の充電制御回路５０及び通信端子４３は、充電装置側通信部に相当する。図３のＳ２００で送信される正常完了通知は完了通知に相当する。図７のＳ３２０で送信されるデータ読み込み指令は読み込み要求に相当し、そのデータ読み込み指令によって示される、読み込み対象のデータの記憶領域は、読み込み指定領域に相当する。図７のＳ１５０及びＳ４１０で送信されるデータ書き込み指令は書き込み要求に相当し、そのデータ書き込み指令によって示される、書き込み対象のデータの記憶領域は、書き込み指定領域に相当する。
【０１２５】
［２．他の実施形態］
以上、本開示の実施形態について説明したが、本開示は上述の実施形態に限定されることなく、種々変形して実施することができる。
【０１２６】
（２−１）バッテリパック１０の不揮発性メモリ３１について、図４Ａに示したデータ配置はあくまでも一例である。どのアドレスにどのようなデータを記憶されるか、またどのアドレスを書き込み禁止領域にするか、書き込み禁止領域にはどのようなデータを記憶させておくか、などについては適宜決めてもよい。
【０１２７】
例えば、未使用領域を書き込み禁止領域としてもよい。その場合、その未使用領域はブランク状態、即ち例えば「００Ｈ」や「ＦＦＨ」などの初期値に設定された状態であってもよい。また例えば、バッテリパック１０のパラメータ等の変更することが無い固定値が書き込まれている領域を、書き込み禁止領域として用いてもよい。
【０１２８】
また、書き込み禁止領域が複数設定されていてもよい。一つのアドレスに記憶可能なデータ量が１バイトであることもあくまでも一例である。
（２−２）バッテリパック１０において、不揮発性メモリ３１は、バッテリ制御回路３０とは別に設けられていてもよい。
【０１２９】
（２−３）図７の充電制御処理は、Ｓ３２０のタイミングでバッテリパック１０の不揮発性メモリ３１からデータを読み込む構成であるが、このタイミングでデータを読み込むことはあくまでも一例である。Ｓ３２０とは別のタイミングで、或いはＳ３２０に加えてさらに別のタイミングでも、バッテリパック１０の不揮発性メモリ３１からデータを読み込み、正常でない場合は充電パラメータを異常時パラメータに設定するようにしてもよい。
【０１３０】
具体的に、例えばＳ３６０で充電を開始した後、Ｓ４２０で充電完了と判断されるまでの間に、少なくとも１回、バッテリパック１０の不揮発性メモリ３１からデータを読み込み、正常でない場合は充電パラメータを異常時パラメータに設定するようにしてもよい。
【０１３１】
（２−４）図７の充電制御処理において、書き込み禁止領域を指定してデータを書き込ませるＳ４１０処理についても、Ｓ４１０のタイミングに限らず、Ｓ４１０とは別のタイミングで、或いはＳ４１０に加えて他のタイミングでも行うようにしてもよい。具体的に、例えばＳ３６０の充電開始の前に書き込ませてもよいし、Ｓ３２０でデータの読み込みを行う前に書き込ませてもよいし、Ｓ４２０で充電が完了するのを待つ間に書き込ませてもよい。
【０１３２】
（２−５）図７の充電制御処理におけるＳ３７０〜Ｓ４００の処理、即ち書き込み許可領域を指定してデータを書き込ませてその後に正常完了通知が受信されるのを待つ処理についても、図７に示したタイミングとは別のタイミングで行ってもよい。例えば、Ｓ３１０でバッテリパック１０の接続を検出してからＳ３６０で充電を開始するまでの間に少なくとも１回、Ｓ３７０〜Ｓ４００の処理を行うようにしてもよいし、Ｓ４２０で充電が完了するのを待つ間に書き込ませてもよい。
【０１３３】
（２−６）上記実施形態における１つの構成要素が有する複数の機能を、複数の構成要素によって実現したり、１つの構成要素が有する１つの機能を、複数の構成要素によって実現したりしてもよい。また、複数の構成要素が有する複数の機能を、１つの構成要素によって実現したり、複数の構成要素によって実現される１つの機能を、１つの構成要素によって実現したりしてもよい。また、上記実施形態の構成の一部を省略してもよい。また、上記実施形態の構成の少なくとも一部を、他の上記実施形態の構成に対して付加又は置換してもよい。なお、特許請求の範囲に記載した文言から特定される技術思想に含まれるあらゆる態様が本開示の実施形態である。
【０１３４】
（２−７）また、本開示は、上述したバッテリパック１０、充電装置４０、バッテリパック１０及び充電装置４０を構成要素とする充電システム、バッテリパック１０のバッテリ制御回路３０としてコンピュータを機能させるためのプログラム、充電装置４０の充電制御回路５０としてコンピュータを機能させるためのプログラム、これらプログラムを記録した半導体メモリ等の非遷移的実態的記録媒体、バッテリ制御回路３０及び充電制御回路５０でそれぞれ用いられている方法など、種々の形態で実現することができる。
【符号の説明】
【０１３５】
１０…バッテリパック、１１，４１…正極端子、１２，４２…負極端子、１３，４３…通信端子、１４，４５…入力端子、１５，４４…出力端子、２０…バッテリ、２１…監視回路、２２…温度検出回路、２３…電流検出回路、２４…Ｖｃｃ検出回路、２５…通知信号出力回路、２６…残容量ＬＥＤ制御回路、３０…バッテリ制御回路、３１…不揮発性メモリ、４０…充電装置、５０…充電制御回路、５１…電源回路、５２…温度検出回路、Ｒ１…抵抗。
【図１】
2018073521.tif 000003
【図２】
2018073521.tif 000004
【図３】
2018073521.tif 000005
【図４】
2018073521.tif 000006
【図５】
2018073521.tif 000007
【図６】
2018073521.tif 000008
【図７】
2018073521.tif 000009