(57)【要約】【課題】電池パックの異常の検出精度を向上し、異常を検出して不具合を未然に防ぐ。【解決手段】二次電池の電圧を所定時間毎に測定し、所定時間内の電圧変動量を算出する。所定時間毎に電圧変動量と予め記憶部に記憶された電圧変動量に対する上限値とを比較し、電圧変動量が上限値より大きくなる場合が所定回数連続した場合は、異常と判断する。また、電圧変動量が上限値より大きくなる場合が所定回数連続しない場合は、電圧変動量に基づき新たに上限値を算出する。次に、所定時間毎に電圧変動量と記憶部に予め記憶された電圧変動量に対する下限値とを比較し、電圧変動量が下限値より小さくなる場合が所定回数連続した場合は、異常と判断する。また、電圧変動量が下限値より小さくなる場合が所定回数連続しない場合は、電圧変動量に基づき新たに下限値を算出する。【選択図】図４
2008021417.tif 000002
【特許請求の範囲】
【請求項１】
１または複数の二次電池と、
上記二次電池の電圧を所定時間毎に測定する測定部と、
上記電圧に基づき所定時間内の電圧変動量を算出し、該電圧変動量に基づき上記二次電池の充放電を制御する制御部と、
上記電圧変動量に対する規定電圧変動量、および上記電圧変動量が上記規定電圧変動量を超える回数の上限を示す上限回数を記憶する記憶部と
を有し、
上記制御部は、
所定時間毎に上記電圧変動量と上記規定電圧変動量とを比較し、
上記電圧変動量が上記規定電圧変動量を超える場合には、上記記憶部に予め設けられたカウンタの値をインクリメントし、上記カウンタの値が上記上限回数以上となる場合には、異常であると判断する
ことを特徴とする電池パック。
【請求項２】
請求項１に記載の電池パックにおいて、
上記規定電圧変動量は、
上記電圧変動量に対する上限値および下限値のいずれかを示す
ことを特徴とする電池パック。
【請求項３】
請求項２に記載の電池パックにおいて、
上記制御部は、
上記カウンタの値が上記上限回数よりも小さい場合には、上記電圧変動量に基づき新たに上限値を算出し、該算出された上限値を更新する
ことを特徴とする電池パック。
【請求項４】
請求項２に記載の電池パックにおいて、
上記制御部は、
上記カウンタの値が上記上限回数よりも小さい場合には、上記電圧変動量に基づき新たに下限値を算出し、該算出された下限値を更新する
ことを特徴とする電池パック。
【請求項５】
請求項２に記載の電池パックにおいて、
上記記憶部は、
上記電圧変動量が上記上限値よりも大きくなる場合に、上記カウンタの値および上記電圧変動量の最大値を記憶する
ことを特徴とする電池パック。
【請求項６】
請求項２に記載の電池パックにおいて、
上記記憶部は、
上記電圧変動量が上記下限値よりも小さくなる場合に、上記カウンタの値および上記電圧変動量の最小値を記憶する
ことを特徴とする電池パック。
【請求項７】
請求項２に記載の電池パックにおいて、
上記制御部は、
上記電圧変動量が上記上限値以下となる場合に、上記上限値を最初の値に戻す
ことを特徴とする電池パック。
【請求項８】
請求項２に記載の電池パックにおいて、
上記制御部は、
上記電圧変動量が上記下限値以上となる場合に、上記下限値を最初の値に戻す
ことを特徴とする電池パック。
【請求項９】
１または複数の二次電池と、
上記二次電池の周囲温度を所定時間毎に測定する測定部と、
上記周囲温度に基づき所定時間内の温度変動量を算出し、該温度変動量に基づき上記二次電池の充放電を制御する制御部と、
上記温度変動量に対する上限値、および上記温度変動量が上記上限値よりも大きい回数の上限を示す上限回数を記憶する記憶部と
を有し、
上記制御部は、
所定時間毎に上記温度変動量と上記上限値とを比較し、
上記温度変動量が上記上限値よりも大きい場合には、上記記憶部に予め設けられたカウンタの値をインクリメントし、上記カウンタの値が上記上限回数以上となる場合には、異常であると判断する
ことを特徴とする電池パック。
【請求項１０】
請求項９に記載の電池パックにおいて、
上記制御部は、
上記カウンタの値が上記上限回数よりも小さい場合には、上記温度変動量に基づき新たに上限値を算出し、上記算出された上限値を更新する
ことを特徴とする電池パック。
【請求項１１】
請求項９に記載の電池パックにおいて、
上記記憶部は、
上記温度変動量が上記上限値よりも大きくなる場合に、上記カウンタの値および上記温度変動量の最大値を記憶する
ことを特徴とする電池パック。
【請求項１２】
請求項９に記載の電池パックにおいて、
上記制御部は、
上記温度変動量が上記上限値以下となる場合に、上記上限値を最初の値に戻す
ことを特徴とする電池パック。
【請求項１３】
１または複数の二次電池の電圧を所定時間毎に測定する測定ステップと、
上記電圧に基づき所定時間内の電圧変動量を算出し、
所定時間毎に上記電圧変動量と、記憶部に記憶された上記電圧変動量に対する規定電圧変動量とを比較し、
上記電圧変動量が上記規定電圧変動量を超える場合には、上記記憶部に予め設けられたカウンタの値をインクリメントし、
上記カウンタの値が、上記記憶部に予め設けられた上記電圧変動量が上記規定電圧変動量を超える回数の上限を示す上限回数以上となる場合には、異常であると判断する
制御ステップと
を有することを特徴とする検出方法。
【請求項１４】
１または複数の二次電池の周囲温度を所定時間毎に測定する測定ステップと、
上記周囲温度に基づき所定時間内の温度変動量を算出し、
所定時間毎に上記温度変動量と、記憶部に記憶された上記温度変動量に対する上限値とを比較し、
上記温度変動量が上記上限値よりも大きい場合には、上記記憶部に予め設けられたカウンタの値をインクリメントし、
上記カウンタの値が、上記記憶部に予め設けられた上記温度変動量が上記上限値よりも大きい回数の上限を示す上限回数以上となる場合には、異常であると判断する
制御ステップと
を有することを特徴とする検出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、異常を検出する電池パックおよびその検出方法に関する。
【背景技術】
【０００２】
近年、ノート型ＰＣ（Personal Computer）や携帯電話、ＰＤＡ(Personal Digital Assistants)等の携帯型電子機器が普及し、その電源として高電圧、高エネルギー密度、軽量といった利点を有するリチウムイオン二次電池が広く使用されている。
【０００３】
従来の二次電池の電池パックには、充放電電流や充放電電圧、電池の温度などを測定する測定回路や、測定回路による測定結果に基づき二次電池に対する充放電を制御するＭＰＵ（Micro Processing Unit）などの制御回路が搭載されている。そして、制御回路は、測定回路による測定結果に基づき過充電や過放電、過電流、温度異常などの異常を検出するようにしている。
【０００４】
このように、測定した各種情報に基づき電池パックの異常を検出する方法が下記の特許文献１に記載されている。
【０００５】
【特許文献１】特開２００１−１１０４５７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
一般に、電池パックに異常が発生した場合には、電池セルの電圧や温度が急激に上昇することが知られている。したがって、所定時間内における電圧や温度の上昇度合いに基づき、電池パックに異常が発生したか否かを判断することができる。
【０００７】
具体的には、例えば、電圧や温度の変動量に対して予め閾値を設定しておき、所定時間毎に測定した電圧や温度に基づき変動量を算出する。そして、算出された電圧や温度の変動量と設定された閾値とを比較し、変動量が閾値を超えた場合には、電池パックに異常が発生したと判断するようにしている。
【０００８】
しかしながら、例えば、この電池パックを使用する電子機器が携帯電話等の電波を発生する機器である場合、発生した電波がノイズとして電圧や温度に重畳してしまうことがある。このように、電圧や温度に対して電池パックの内部で発生したノイズや外部からのノイズが重畳した場合においても、電圧や温度が瞬間的に上昇する。そのため、所定時間内における電圧や温度の上昇度合いに基づいて電池パックの異常を判断すると、このようにノイズが重畳した場合であっても電池パックが異常であると判断され、誤検出を招くおそれがあるという問題点があった。
【０００９】
また、従来の電池パックにおいて異常検出が行われるのは、二次電池に不具合が発生した後である。即ち、検出結果に基づき二次電池の不具合を未然に防ぐ方法がないという問題点があった。
【００１０】
したがって、この発明の目的は、異常の検出精度を向上し、異常を検出して不具合を未然に防止することができる電池パックおよびその検出方法を提供することにある。
【課題を解決するための手段】
【００１１】
上述した課題を解決するために、第１の発明は、１または複数の二次電池と、二次電池の電圧を所定時間毎に測定する測定部と、電圧に基づき所定時間内の電圧変動量を算出し、電圧変動量に基づき二次電池の充放電を制御する制御部と、電圧変動量に対する規定電圧変動量、および電圧変動量が規定電圧変動量を超える回数の上限を示す上限回数を記憶する記憶部とを有し、制御部は、所定時間毎に電圧変動量と規定電圧変動量とを比較し、電圧変動量が規定電圧変動量を超える場合には、記憶部に予め設けられたカウンタの値をインクリメントし、カウンタの値が上限回数以上となる場合には、異常であると判断することを特徴とする電池パックである。
【００１２】
また、第２の発明は、１または複数の二次電池と、二次電池の周囲温度を所定時間毎に測定する測定部と、周囲温度に基づき所定時間内の温度変動量を算出し、温度変動量に基づき二次電池の充放電を制御する制御部と、温度変動量に対する上限値、および温度変動量が上限値よりも大きい回数の上限を示す上限回数を記憶する記憶部とを有し、制御部は、所定時間毎に温度変動量と上限値とを比較し、温度変動量が上限値よりも大きい場合には、記憶部に予め設けられたカウンタの値をインクリメントし、カウンタの値が上限回数以上となる場合には、異常であると判断することを特徴とする電池パックである。
【００１３】
また、第３の発明は、１または複数の二次電池の電圧を所定時間毎に測定する測定ステップと、電圧に基づき所定時間内の電圧変動量を算出し、所定時間毎に電圧変動量と、記憶部に記憶された電圧変動量に対する規定電圧変動量とを比較し、電圧変動量が規定電圧変動量を超える場合には、記憶部に予め設けられたカウンタの値をインクリメントし、カウンタの値が、記憶部に予め設けられた電圧変動量が規定電圧変動量を超える回数の上限を示す上限回数以上となる場合には、異常であると判断する制御ステップとを有することを特徴とする検出方法である。
【００１４】
また、第４の発明は、１または複数の二次電池の周囲温度を所定時間毎に測定する測定ステップと、周囲温度に基づき所定時間内の温度変動量を算出し、所定時間毎に温度変動量と、記憶部に記憶された温度変動量に対する上限値とを比較し、温度変動量が上限値よりも大きい場合には、記憶部に予め設けられたカウンタの値をインクリメントし、カウンタの値が、記憶部に予め設けられた温度変動量が上限値よりも大きい回数の上限を示す上限回数以上となる場合には、異常であると判断する制御ステップとを有することを特徴とする検出方法である。
【００１５】
上述したように、第１および第３の発明では、所定時間毎に電圧変動量と、記憶部に記憶された電圧変動量に対する規定電圧変動量とを比較し、電圧変動量が規定電圧変動量を超える場合には、記憶部に予め設けられたカウンタの値をインクリメントするようにしているため、カウンタの値が、記憶部に予め設けられた電圧変動量が規定電圧変動量を超える回数の上限を示す上限回数以上となる場合には、異常であると判断される。
【００１６】
また、第２および第４の発明では、所定時間毎に温度変動量と、記憶部に記憶された温度変動量に対する上限値とを比較し、温度変動量が上限値よりも大きい場合には、記憶部に予め設けられたカウンタの値をインクリメントするようにしているため、カウンタの値が、記憶部に予め設けられた温度変動量が上限値よりも大きい回数の上限を示す上限回数以上となる場合には、異常であると判断される。
【発明の効果】
【００１７】
この発明は、所定時間毎に測定された二次電池の電圧や周囲温度に基づき、所定時間内の変動量を算出し、この変動量に対する規定変動量を算出し、変動量と規定変動量とを比較した場合に変動量が規定変動量を所定回数以上超えるかどうかにより、異常が発生したか否かを判断するようにしているため、電池パックの異常を即座に検出して不具合を未然に防止することができるという効果がある。
【００１８】
また、この発明は、変動量が規定変動量を所定回数連続して超えない場合に、変動量に基づき規定変動量を新たに更新し、更新された新たな規定変動量と変動量とを比較するようにしているため、異常の検出精度を向上させることができるという効果がある。
【発明を実施するための最良の形態】
【００１９】
以下、この発明の実施の一形態による電池パック１ついて、図１を参照して説明する。電池パック１は、電子機器使用時には正極端子１１および負極端子１２がそれぞれ電子機器の正極端子および負極端子に接続され、放電が行われる。また、充電時には充電器に装着され、電気機器使用時と同様に、正極端子１１および負極端子１２がそれぞれ充電器の正極端子および負極端子に接続され、充電が行われる。
【００２０】
電池パック１は主に、電池セル１７、温度検出素子１８、ＡＦＥ（Analog Front End）２０、ＭＰＵ（Micro Processing Unit）２１、スイッチ回路１４および通信端子１３ａおよび１３ｂで構成されている。電池セル１７は、例えば、リチウムイオン電池の二次電池であり、１または複数の二次電池を直列および／または並列に接続したものである。
【００２１】
温度検出素子１８は、電池セル１７付近に設けられ、電池セル１７の周囲の温度を検出する。温度検出素子１８としては、例えば、温度によって抵抗値が変化するサーミスタを用いることができ、このサーミスタの電圧を測定することによって、電池セル１７の温度を検出することができる。
【００２２】
ＡＦＥ２０は、電池パック１内の電池セル１７の各セルの電圧を測定し、ＭＰＵ２１に測定値を供給する。また、ＡＦＥ２０は、電流検出抵抗１９を使用して電流の大きさおよび向きを測定し、ＭＰＵ２１に測定値を供給する。さらに、ＡＦＥ２０は、温度検出素子１８の電圧を測定し、測定した温度検出素子１８の電圧を温度に変換してＭＰＵ２１に供給する。これら各種の測定は、所定時間毎に行われる。
【００２３】
ＡＦＥ２０は、ＭＰＵ２１からの命令に基づきスイッチ回路１４に制御信号を送ることにより、過充電、過放電を防止する。ここで、電池セル１７がリチウムイオン電池の場合、過充電検出電圧が例えば４．２Ｖ±０．５Ｖと定められ、過放電検出電圧が２．４Ｖ±０．１Ｖと定められる。
【００２４】
ＭＰＵ２１は、ＡＦＥ２０から供給された電池セル１７の電圧および温度に基づき電池セル１７の異常検出を行う。異常検出により得られた情報は、ＭＰＵ２１に内蔵された不揮発性メモリ２２に記憶される。不揮発性メモリ２２としては、例えばＥＥＰＲＯＭ（Electrically Erasable and Programmable Read Only Memory）を用いることができる。なお、不揮発性メモリ２２は、ＭＰＵ２１に内蔵されているものに限らず、例えば、ＭＰＵ２１の外部に設けるようにしてもよい。この不揮発性メモリ２２に記憶された、異常検出によって得られた情報は、例えばこの電池パック１を回収した際に不具合の解析に用いられる。
【００２５】
また、ＭＰＵ２１は、ＡＦＥ２０から供給される電圧値および電流値に基づき、電池セル１７のいずれかのセルの電圧が過充電検出電圧になった場合や、電池セル１７の電圧が過放電検出電圧以下になった場合に、ＡＦＥ２０に対してスイッチ回路１４を制御するための命令を供給する。
【００２６】
スイッチ回路１４は、充電制御ＦＥＴ（Field Effect Transistor）１５と、放電制御ＦＥＴ１６とから構成されている。電池電圧が過充電検出電圧となったときは、充電制御ＦＥＴ１５をＯＦＦとし、充電電流が流れないように制御される。なお、充電制御ＦＥＴ１５のＯＦＦ後は、寄生ダイオード１５ａを介することによって放電のみが可能となる。
【００２７】
また、電池電圧が過放電検出電圧となったときは、放電制御ＦＥＴ１６をＯＦＦとし、放電電流が流れないように制御される。なお、放電制御ＦＥＴ１６のＯＦＦ後は、寄生ダイオード１６ａを介することによって充電のみが可能となる。
【００２８】
通信端子１３ａおよび１３ｂは、携帯電話等の電子機器に装着された際に、所定の通信プロトコルに基づき電池パック１の異常を示す情報等の各種情報を電子機器に送信する。
【００２９】
なお、上述した構成では、ＡＦＥ２０およびＭＰＵ２１は、それぞれ独立したように説明したが、これはこの例に限られない。例えば、ＡＦＥ２０およびＭＰＵ２１が一体化とされた構成としてもよい。
【００３０】
次に、図２および図３を参照して、電池パック１の異常検出方法について説明する。電池セル１７の電圧や温度は、電池パック１が正常に動作している場合には略一定であるが、電池パック１に異常が発生した場合には、電池セル１７の電圧または温度が急激に上昇または下降する。
【００３１】
一方、ＡＦＥ２０にて測定される電池セル１７の電圧や温度に対してノイズ等が重畳した場合においても、電圧や温度が急激に上昇または下降するが、この場合における電圧や温度の上昇または下降は、瞬間的なものである。そのため、このような場合、上昇または下降した電圧はすぐに下降または上昇し、正常な電圧となる。
【００３２】
そこで、この発明の実施の一形態では、ＡＦＥ２０にて測定される電池セル１７の電圧または温度の上昇および下降する部分に注目し、所定時間毎に測定した電圧または温度とに基づき変動量を算出する。そして、算出された変動量が予め定められた電圧または温度の変動量の上限値や下限値を所定回数連続で超えるか否かに基づき、電池パック１の異常を検出するようにした。
【００３３】
先ず、ＭＰＵ２１の不揮発性メモリ２２に設定される値について、より具体的に説明する。所定時間内における電圧の変動量ΔＶに対して、予め所定時間内における電圧変動量の上限値ΔＶ（＋ｌｉｍｉｔ）、電圧変動量の下限値ΔＶ（−ｌｉｍｉｔ）、電圧変動量ΔＶが上限値ΔＶ（＋ｌｉｍｉｔ）以上となる回数の上限を示す第１の上限回数Ｋ（＋）、および電圧変動量ΔＶが下限値ΔＶ（−ｌｉｍｉｔ）以下となる回数の上限を示す第２の上限回数Ｋ（−）を設定する。また、電圧変動量ΔＶが上限値以上となる回数をカウントする第１のカウンタＫ（＋ｃｎｔ）、および電圧変動量ΔＶが下限値以下となる回数をカウントする第２のカウンタＫ（−ｃｎｔ）を設ける。
【００３４】
なお、上限値ΔＶ（＋ｌｉｍｉｔ）には、正の値であり、例えば、通常とり得ると考えられる変動量よりも大きい値を設定する。また、下限値ΔＶ（−ｌｉｍｉｔ）には、負の値であり、上限値ΔＶ（＋ｌｉｍｉｔ）と同様に、例えば、通常とり得ると考えられる変動量よりも小さい値を設定する。
【００３５】
次に、電池セル１７の電圧変動量に基づく異常検出の動作について詳細に説明する。図２Ａに示すように、電池パック１に異常が発生すると、電池セル１７の電圧が急激に上昇する。図２Ａに示す点線で囲まれた部分を拡大した図２Ｂに示すように、時間Ｍ（ｎ−１）の時点Ａにおける電池セル１７の電圧をＶ（ｎ−１）とし、時点Ａから所定時間経過した後の時間Ｍ（ｎ）の時点Ｂにおける電池セル１７の電圧をＶ（ｎ）とする。このときの時点Ａから時点Ｂまでの電圧変動量ΔＶ（ｎ）は、数式（１）に基づき算出される。
ΔＶ（ｎ）＝Ｖ（ｎ）−Ｖ（ｎ−１）  ・・・（１）
【００３６】
上述のようにして算出された電圧変動量ΔＶ（ｎ）と、予め設定された電圧変動量の上限値ΔＶ（＋ｌｉｍｉｔ）および下限値ΔＶ（−ｌｉｍｉｔ）とを比較する。比較の結果、電圧変動量ΔＶ（ｎ）の値が上限値ΔＶ（＋ｌｉｍｉｔ）以上となった場合には、第１のカウンタＫ（＋ｃｎｔ）の値を「１」インクリメントさせる。また、電圧変動量ΔＶ（ｎ）の値が下限値ΔＶ（−ｌｉｍｉｔ）以下となった場合には、第２のカウンタＫ（−ｃｎｔ）の値を「１」インクリメントさせる。そして、この場合の電圧変動量ΔＶ（ｎ）、第１のカウンタＫ（＋ｃｎｔ）および第２のカウンタＫ（−ｃｎｔ）の値が不揮発性メモリ２２に記憶される。
【００３７】
次に、第１のカウンタＫ（＋ｃｎｔ）の値と第１の上限回数Ｋ（＋）の値とを比較する。比較の結果、第１のカウンタＫ（＋ｃｎｔ）の値が第１の上限回数Ｋ（＋）の値以上となった場合には、電池セル１７が異常であると判断し、異常処理を行う。また、同様に、第２のカウンタＫ（−ｃｎｔ）の値と第２の上限回数Ｋ（−）の値とを比較する。比較の結果、第２のカウンタＫ（−ｃｎｔ）の値が第２の上限回数Ｋ（−）の値以上となった場合には、電池セル１７が異常であると判断し、異常処理を行う。異常処理としては、例えば、充放電制御ＦＥＴをＯＦＦして、電池セル１７に対する充放電電流を遮断する。
【００３８】
また、第１のカウンタＫ（＋ｃｎｔ）の値が第１の上限回数Ｋ（＋）の値より小さい場合、および、第２のカウンタＫ（−ｃｎｔ）の値が第２の上限回数Ｋ（−）の値より小さい場合には、電圧変動量の上限値ΔＶ（＋ｌｉｍｉｔ）および下限値ΔＶ（−ｌｉｍｉｔ）の値がそれぞれ電圧変動量ΔＶ（ｎ）に基づき再度算出され、不揮発性メモリ２２に記憶される。なお、新たに算出される上限値ΔＶ（＋ｌｉｍｉｔ）は、初めに不揮発性メモリ２２に記憶されている上限値よりも小さい値に設定され、新たに算出される下限値ΔＶ（−ｌｉｍｉｔ）は、不揮発性メモリ２２に記憶されている下限値よりも大きい値に設定される。
【００３９】
具体的には、例えば、新たに算出される電圧変動量の上限値ΔＶ（＋ｌｉｍｉｔ）の値は、初めの電圧変動量の上限値ΔＶ（＋ｌｉｍｉｔ）の値よりも４０％〜６０％程度小さい値、例えば０．２Ｖ小さい値に設定され、新たに算出される電圧変動量の下限値ΔＶ（−ｌｉｍｉｔ）の値は、初めの電圧変動量の下限値ΔＶ（−ｌｉｍｉｔ）の値よりも４０％〜６０％程度大きい値、例えば０．２Ｖ大きい値に設定される。
【００４０】
次に、上述と同様にして、時点Ｂから所定時間経過した後の時間Ｍ（ｎ＋１）である時点Ｃにおける電圧Ｖ（ｎ＋１）に基づき、時点Ｂから時点Ｃまでの電圧変動量ΔＶ（ｎ＋１）は、数式（２）に基づき算出される。
ΔＶ（ｎ＋１）＝Ｖ（ｎ＋１）−Ｖ（ｎ）  ・・・（２）
【００４１】
算出された電圧変動量ΔＶ（ｎ＋１）と、新たに算出された電圧変動量の上限値ΔＶ（＋ｌｉｍｉｔ）および下限値ΔＶ（−ｌｉｍｉｔ）とを比較する。比較の結果、電圧変動量ΔＶ（ｎ＋１）の値が上限値ΔＶ（＋ｌｉｍｉｔ）以上となった場合には、第１のカウンタＫ（＋ｃｎｔ）の値を「１」インクリメントさせる。また、電圧変動量ΔＶ（ｎ＋１）の値が下限値ΔＶ（−ｌｉｍｉｔ）以下となった場合には、第２のカウンタＫ（−ｃｎｔ）の値を「１」インクリメントさせる。そして、この場合の電圧変動量ΔＶ（ｎ＋１）、第１のカウンタＫ（＋ｃｎｔ）および第２のカウンタＫ（−ｃｎｔ）の値が不揮発性メモリ２２に記憶される。
【００４２】
このような処理を、所定時間毎に行い、第１のカウンタＫ（＋ｃｎｔ）および第２のカウンタＫ（−）と、第１の上限回数Ｋ（＋）および第２の上限回数Ｋ（−）とを比較して、電池セル１７が異常であるかどうかを判断し、判断の結果に応じて通常処理または異常処理を行う。
【００４３】
なお、電圧変動量ΔＶ（ｎ）の値が電圧変動量の上限値ΔＶ（＋ｌｉｍｉｔ）の値よりも小さい値となる場合、および、電圧変動量ΔＶ（ｎ）の値が電圧変動量の下限値ΔＶ（−ｌｉｍｉｔ）の値よりも大きい値となる場合のいずれかの場合には、第１のカウンタＫ（＋ｃｎｔ）および第２のカウンタＫ（−ｃｎｔ）の値をリセットして「０」に戻し、電圧変動量の上限値ΔＶ（＋ｌｉｍｉｔ）および下限値ΔＶ（−ｌｉｍｉｔ）を初めに不揮発性メモリ２２に記憶されていた値に戻す。
【００４４】
このように、電圧変動量ΔＶ（ｎ）と上限値ΔＶ（＋ｌｉｍｉｔ）および下限値ΔＶ（−ｌｉｍｉｔ）とを比較し、電圧変動量ΔＶ（ｎ）が上限値ΔＶ（＋ｌｉｍｉｔ）以上または下限値ΔＶ（−ｌｉｍｉｔ）以下となり、さらに、電圧変動量ΔＶ（ｎ）が上限値ΔＶ（＋ｌｉｍｉｔ）以上または下限値ΔＶ（−ｌｉｍｉｔ）以下となる状態が予め設定された回数以上となる場合には、電池パック１が異常であると判断することができる。
【００４５】
また、電圧変動量ΔＶ（ｎ）が上限値ΔＶ（＋ｌｉｍｉｔ）以上または下限値ΔＶ（−ｌｉｍｉｔ）以下となった場合には、新たに上限値ΔＶ（＋ｌｉｍｉｔ）および下限値ΔＶ（−ｌｉｍｉｔ）を算出し、算出前の上限値よりも小さい値の上限値ΔＶ（＋ｌｉｍｉｔ）および算出前の下限値よりも大きい値の下限値ΔＶ（−ｌｉｍｉｔ）を設定することにより、上限値および下限値の値の範囲が狭くなり、より精度よく異常を検出することができる。
【００４６】
次に、電池セル１７の温度変動量に基づく異常検出方法について、図３を参照して詳細に説明する。図３Ａに示すように、電池パック１に異常が発生すると、電池セル１７の温度が急激に上昇する。
【００４７】
所定時間内における温度の変動量ΔＴに対して、予め所定時間内における温度変動量の上限値ΔＴ（＋ｌｉｍｉｔ）、温度変動量ΔＴ（ｎ）が上限値ΔＴ（＋ｌｉｍｉｔ）以上となる回数の上限を示す上限回数Ｋ’（＋）を予め設定する。また、温度変動量ΔＴが上限値以上となる回数をカウントするカウンタＫ’（＋ｃｎｔ）を設ける。
【００４８】
図３Ａに示す点線で囲まれた部分を拡大した図３Ｂに示すように、時間Ｍ’（ｎ−１）の時点Ａ’における電池セル１７の温度をＴ（ｎ−１）とする。また、時点Ａから所定時間経過した後の時間Ｍ’（ｎ）の時点Ｂ’における電池セル１７の温度をＴ（ｎ）とする。このときの時点Ａ’から時点Ｂ’までの温度変動量ΔＴ（ｎ）は、数式（３）に基づき算出される。
ΔＴ（ｎ）＝Ｔ（ｎ）−Ｔ（ｎ−１）  ・・・（３）
【００４９】
上述のようにして算出された温度変動量ΔＴ（ｎ）と、予め設定された温度変動量の上限値ΔＴ（＋ｌｉｍｉｔ）とを比較する。比較の結果、温度変動量ΔＴ（ｎ）の値が上限値ΔＴ（＋ｌｉｍｉｔ）以上となった場合には、カウンタＫ’（＋ｃｎｔ）の値を「１」インクリメントさせる。そして、この場合の温度変動量ΔＴ（ｎ）、カウンタＫ’（＋ｃｎｔ）の値が不揮発性メモリ２２に記憶される。
【００５０】
次に、カウンタＫ’（＋ｃｎｔ）の値と上限回数Ｋ’（＋）の値とを比較する。比較の結果、カウンタＫ’（＋ｃｎｔ）の値が上限回数Ｋ’（＋）の値以上となった場合には、電池パック１７が異常であると判断し、異常処理を行う。異常処理としては、例えば、充放電制御ＦＥＴをＯＦＦして、電池セル１７に対する充放電電流を遮断する。
【００５１】
また、カウンタＫ’（＋ｃｎｔ）の値が上限回数Ｋ’（＋）の値より小さい場合には、温度変動量の上限値ΔＴ（＋ｌｉｍｉｔ）の値が温度変動量ΔＴ（ｎ）に基づき再度算出され、不揮発性メモリ２２に記憶される。なお、新たに算出される上限値ΔＴ（＋ｌｉｍｉｔ）は、不揮発性メモリ２２に記憶されている上限値よりも小さい値に設定される。具体的には、例えば、新たに算出される温度変動量の上限値ΔＴ（＋ｌｉｍｉｔ）の値は、初めの温度変動量の上限値ΔＴ（＋ｌｉｍｉｔ）の値よりも０．５℃小さい値に設定される。
【００５２】
次に、上述と同様にして、時点Ｂ’から所定時間経過した後の時間Ｍ’（ｎ＋１）である時点Ｃ’における温度Ｔ（ｎ＋１）に基づき、時点Ｂ’から時点Ｃ’までの温度変動量ΔＴ（ｎ＋１）は、数式（４）に基づき算出される。
ΔＴ（ｎ＋１）＝Ｔ（ｎ＋１）−Ｔ（ｎ）  ・・・（４）
【００５３】
上述のようにして算出された温度変動量ΔＴ（ｎ＋１）と、新たに算出された温度変動量の上限値ΔＴ（＋ｌｉｍｉｔ）とを比較する。比較の結果、温度変動量ΔＴ（ｎ＋１）の値が上限値ΔＴ（＋ｌｉｍｉｔ）以上となった場合には、カウンタＫ’（＋ｃｎｔ）の値を「１」インクリメントさせる。そして、この場合の温度変動量ΔＴ（ｎ＋１）、カウンタＫ’（＋ｃｎｔ）の値が不揮発性メモリ２２に記憶される。
【００５４】
なお、温度変動量ΔＴ（ｎ）の値が温度変動量の上限値ΔＴ（＋ｌｉｍｉｔ）の値よりも小さい値となる場合には、カウンタＫ’（＋ｃｎｔ）の値をリセットして「０」に戻し、温度変動量の上限値ΔＴ（＋ｌｉｍｉｔ）を初めに不揮発性メモリ２２に記憶されていた値に戻す。
【００５５】
このように、温度変動量ΔＴ（ｎ）と上限値ΔＴ（＋ｌｉｍｉｔ）とを比較し、温度変動量ΔＴ（ｎ）が上限値ΔＴ（＋ｌｉｍｉｔ）以上となり、さらに、温度変動量ΔＴ（ｎ）が上限値ΔＴ（＋ｌｉｍｉｔ）以上となる状態が予め設定された回数以上となる場合には、電池パック１が異常であると判断することができる。
【００５６】
また、温度変動量ΔＴ（ｎ）が上限値ΔＴ（＋ｌｉｍｉｔ）以上となった場合には、新たに上限値ΔＴ（＋ｌｉｍｉｔ）を算出し、算出前の上限値よりも小さい値の上限値ΔＴ（＋ｌｉｍｉｔ）を設定することにより、上限値の値の範囲が狭くなり、より精度よく異常を検出することができる。
【００５７】
このように、電池セル１７の電圧または温度の変動量と、変動量の上限値および下限値とを比較するとともに、電圧または温度の変動量が上限値および下限値を超えた回数を判断することにより、電池セル１７の異常をより精度よく検出することができる。なお、この異常検出処理は、電圧および温度の両方について行い、いずれか一方において異常が検出された場合に異常であると判断するようにしてもよい。また、これに限られず、例えば、電圧および温度のいずれか一方のみについて、異常検出処理を行うようにしてもよい。
【００５８】
次に、図４に示すフローチャートを用いて、電池セル１７の電圧による異常検出の際のＭＰＵ２１における処理の流れについて説明する。なお、以下では、特に断らない限り、処理がＭＰＵ２１で行われるものとする。ここでは、電池セル１７の電圧の測定が、所定時間毎に継続的に行われるものとする。また、電圧変動量の上限値ΔＶ（＋ｌｉｍｉｔ）、下限値ΔＶ（−ｌｉｍｉｔ）、第１の上限回数Ｋ（＋）および第２の上限回数Ｋ（−）を予め設定し、例えばＭＰＵ２１に設けられた不揮発性メモリ２２等に記憶させておく。
【００５９】
先ず、ステップＳ１において、時間Ｍ（ｎ−１）における電圧Ｖ（ｎ−１）と所定時間経過後の時間Ｍ（ｎ）における電圧Ｖ（ｎ）とに基づき、電圧変動量ΔＶ（ｎ）を算出する。
【００６０】
ステップＳ２では、ステップＳ１で算出された電圧変動量ΔＶ（ｎ）と予め設定された電圧変動量の上限値ΔＶ（＋ｌｉｍｉｔ）とを比較する。比較の結果、電圧変動量ΔＶ（ｎ）が上限値ΔＶ（＋ｌｉｍｉｔ）以下である場合には、処理がステップＳ３に移行する。ステップＳ３において、電圧変動量の上限値ΔＶ（＋ｌｉｍｉｔ）を初めに記憶されていた値に戻すとともに、第１のカウンタＫ（＋ｃｎｔ）の値を「０」にする。
【００６１】
一方、ステップＳ２において、比較の結果、電圧変動量ΔＶ（ｎ）が上限値ΔＶ（＋ｌｉｍｉｔ）よりも大きい場合には、処理がステップＳ４に移行する。ステップＳ４において、第１のカウンタＫ（＋ｃｎｔ）の値を「１」インクリメントさせる。また、このときの電圧変動量ΔＶ（ｎ）および第１のカウンタＫ（＋ｃｎｔ）の値を不揮発性メモリ２２に記憶する。なお、不揮発性メモリ２２に既に電圧変動量ΔＶ（ｎ）が記憶されている場合には、２つの電圧変動量ΔＶ（ｎ）のうち、変動量が大きい方を記憶する。
【００６２】
ステップＳ５では、第１のカウンタＫ（＋ｃｎｔ）の値と予め設定された第１の上限回数Ｋ（＋）とを比較する。比較の結果、第１のカウンタＫ（＋ｃｎｔ）の値が第１の上限回数Ｋ（＋）より小さい場合には、電池パック１が正常であると判断し、処理がステップＳ６に移行する。ステップＳ６では、電圧変動量ΔＶ（ｎ）に基づき、新たに電圧変動量の上限値ΔＶ（＋ｌｉｍｉｔ）を算出し、処理がステップＳ７に移行する。
【００６３】
一方、ステップＳ５において、比較の結果、第１のカウンタＫ（＋ｃｎｔ）の値が第１の上限回数Ｋ（＋）以上である場合には、電池パック１が異常であると判断し、処理がステップＳ１３に移行する。
【００６４】
ステップＳ７では、電圧変動量ΔＶ（ｎ）と予め設定された電圧変動量の下限値ΔＶ（−ｌｉｍｉｔ）とを比較する。比較の結果、電圧変動量ΔＶ（ｎ）が下限値ΔＶ（−ｌｉｍｉｔ）以上である場合には、処理がステップＳ８に移行する。ステップＳ８において、電圧変動量の下限値ΔＶ（−ｌｉｍｉｔ）を初めに記憶されていた値に戻すとともに、第２のカウンタＫ（−ｃｎｔ）の値を「０」にする。
【００６５】
一方、ステップＳ７において、比較の結果、電圧変動量ΔＶ（ｎ）が下限値ΔＶ（−ｌｉｍｉｔ）よりも小さい場合には、処理がステップＳ９に移行する。ステップＳ９において、第２のカウンタＫ（−ｃｎｔ）の値を「１」インクリメントさせる。また、このときの電圧変動量ΔＶ（ｎ）および第２のカウンタＫ（−ｃｎｔ）の値を不揮発性メモリ２２に記憶する。なお、不揮発性メモリ２２に既に電圧変動量ΔＶ（ｎ）が記憶されている場合には、２つの電圧変動量ΔＶ（ｎ）のうち、変動量が大きい方を記憶する。
【００６６】
ステップＳ１０では、第２のカウンタＫ（−ｃｎｔ）の値と予め設定された第２の上限回数Ｋ（−）とを比較する。比較の結果、第２のカウンタＫ（−ｃｎｔ）の値が第２の上限回数Ｋ（−）より小さい場合には、電池パック１が正常であると判断し、処理がステップＳ１１に移行する。ステップＳ１１では、電圧変動量ΔＶ（ｎ）に基づき、新たに電圧変動量の下限値ΔＶ（−ｌｉｍｉｔ）を算出し、処理がステップＳ１２に移行する。
【００６７】
一方、ステップＳ１０において、比較の結果、第２のカウンタＫ（−ｃｎｔ）の値が第２の上限回数Ｋ（−）以上である場合には、電池パック１が異常であると判断し、処理がステップＳ１３に移行する。
【００６８】
ステップＳ１２では、電池パック１は正常であると判断して通常処理が行われ、処理がステップＳ１に戻り、一連の処理が所定時間毎に巡回的に繰り返される。
【００６９】
また、ステップＳ１３では、例えばＡＦＥ２０の制御により充電制御ＦＥＴ１５および放電制御ＦＥＴ１６がＯＦＦされて電池セル１７に対する充放電を禁止するといった異常処理が行われ、一連の処理が終了する。
【００７０】
次に、図５に示すフローチャートを用いて、電池セル１７の温度による異常検出の際のＭＰＵ２１における処理の流れについて説明する。なお、以下では、特に断らない限り、処理がＭＰＵ２１で行われるものとする。ここでは、電池セル１７の温度の測定が、所定時間毎に継続的に行われるものとする。また、温度変動量の上限値ΔＴ（＋ｌｉｍｉｔ）、下限値ΔＴ（−ｌｉｍｉｔ）、上限回数Ｋ’（＋）を予め設定し、例えばＭＰＵ２１に設けられた不揮発性メモリ２２等に記憶させておく。
【００７１】
先ず、ステップＳ２１において、時間Ｍ’（ｎ−１）における温度Ｔ（ｎ−１）と所定時間経過後の時間Ｍ’（ｎ）における温度Ｔ（ｎ）とに基づき、温度変動量ΔＴ（ｎ）を算出する。
【００７２】
ステップＳ２２では、ステップＳ２１で算出された温度変動量ΔＴ（ｎ）と予め設定された温度変動量の上限値ΔＴ（＋ｌｉｍｉｔ）とを比較する。比較の結果、温度変動量ΔＴ（ｎ）が上限値ΔＴ（＋ｌｉｍｉｔ）以下である場合には、処理がステップＳ２３に移行する。ステップＳ２３において、温度変動量の上限値ΔＴ（＋ｌｉｍｉｔ）を初めに記憶されていた値に戻すとともに、カウンタＫ’（＋ｃｎｔ）の値を「０」にする。
【００７３】
一方、ステップＳ２２において、比較の結果、温度変動量ΔＴ（ｎ）が上限値ΔＴ（＋ｌｉｍｉｔ）よりも大きい場合には、処理がステップＳ２４に移行する。ステップＳ２４において、カウンタＫ’（＋ｃｎｔ）の値を「１」インクリメントさせる。また、このときの温度変動量ΔＴ（ｎ）およびカウンタＫ’（＋ｃｎｔ）の値を不揮発性メモリ２２に記憶する。なお、不揮発性メモリ２２に既に温度変動量ΔＴ（ｎ）が記憶されている場合には、２つの温度変動量ΔＴ（ｎ）のうち、変動量が大きい方を記憶する。
【００７４】
ステップＳ２５では、カウンタＫ’（＋ｃｎｔ）の値と予め設定された上限回数Ｋ’（＋）とを比較する。比較の結果、カウンタＫ’（＋ｃｎｔ）の値が上限回数Ｋ（＋）より小さい場合には、電池パック１が正常であると判断し、処理がステップＳ２６に移行する。ステップＳ２６では、温度変動量ΔＴ（ｎ）に基づき、新たに温度変動量の上限値ΔＴ（＋ｌｉｍｉｔ）を算出し、処理がステップＳ２７に移行する。
【００７５】
一方、ステップＳ２５において、比較の結果、カウンタＫ’（＋ｃｎｔ）の値が上限回数Ｋ’（＋）以上である場合には、電池パック１が異常であると判断し、処理がステップＳ２８に移行する。
【００７６】
ステップＳ２７では、電池パック１は正常であると判断して通常処理が行われ、処理がステップＳ１に戻り、一連の処理が所定時間毎に巡回的に繰り返される。
【００７７】
また、ステップＳ２８では、例えばＡＦＥ２０の制御により充放電制御ＦＥＴがＯＦＦされて電池セル１７に対する充放電を禁止するといった異常処理が行われ、一連の処理が終了する。
【００７８】
次に、具体的な例を参照して、この発明の実施の一形態による電池パック１の異常検出処理について説明する。先ず、電圧変動量の上限値ΔＶ（＋ｌｉｍｉｔ）、下限値ΔＶ（−ｌｉｍｉｔ）、第１の上限回数Ｋ（＋）および第２の上限回数Ｋ（−）を予め設定し、不揮発性メモリ２２に記憶する。なお、ここでは、２回連続して上限値ΔＶ（＋ｌｉｍｉｔ）以上または下限値ΔＶ（−ｌｉｍｉｔ）以下となると異常と判断する場合、即ち、第１の上限回数Ｋ（＋）および第２の上限回数Ｋ（−）が「２」である場合を例にとって説明する。
【００７９】
図６Ａに示すように、電池セル１７の電圧が正常である場合における異常検出の処理について具体的に説明する。ここでは、電池セル１７の電圧が正常である場合として、電圧が略一定である場合を例にとって説明する。
【００８０】
時点ａおよび時点ｂにおける電池セル１７の電圧を測定し、時点ａおよび時点ｂにおける電圧に基づき電圧変動量ΔＶ1を算出する。そして、算出された電圧変動量ΔＶ1と上限値ΔＶ（＋ｌｉｍｉｔ）とを比較する。この場合、電圧変動量ΔＶ1は略「０」であり、正の値である上限値ΔＶ（＋ｌｉｍｉｔ）よりも小さいため、上限値ΔＶ（＋ｌｉｍｉｔ）の値を予め設定されていた値に戻すとともに、第１のカウンタＫ（＋ｃｎｔ）をクリアして、値を「０」にする。
【００８１】
また、電圧変動量ΔＶ1と下限値ΔＶ（−ｌｉｍｉｔ）とを比較する。この場合、電圧変動量ΔＶ1は略「０」であり、負の値である下限値ΔＶ（−ｌｉｍｉｔ）よりも大きいため、下限値ΔＶ（−ｌｉｍｉｔ）の値を予め設定されていた値に戻すとともに、第２のカウンタＫ（−ｃｎｔ）をクリアして、値を「０」にする。
【００８２】
したがって、時点ａから時点ｂまでの時間内では、電池パック１は正常であると判断し、通常の処理を行う。
【００８３】
次に、時点ｃにおける電池セル１７の電圧を測定し、時点ｂおよび時点ｃにおける電圧に基づき電圧変動量ΔＶ2を算出する。そして、算出された電圧変動量ΔＶ2と上限値ΔＶ（＋ｌｉｍｉｔ）とを比較する。この場合、電圧変動量ΔＶ2は略「０」であり、正の値である上限値ΔＶ（＋ｌｉｍｉｔ）よりも小さいため、上限値ΔＶ（＋ｌｉｍｉｔ）の値を予め設定されていた値に戻すとともに、第１のカウンタＫ（＋ｃｎｔ）をクリアして、値を「０」にする。
【００８４】
また、電圧変動量ΔＶ2と下限値ΔＶ（−ｌｉｍｉｔ）とを比較する。この場合、電圧変動量ΔＶ2は略「０」であり、負の値である下限値ΔＶ（−ｌｉｍｉｔ）よりも大きいため、下限値ΔＶ（−ｌｉｍｉｔ）の値を予め設定されていた値に戻すとともに、第２のカウンタＫ（−ｃｎｔ）をクリアして、値を「０」にする。
【００８５】
したがって、時点ｂから時点ｃまでの時間内では、電池パック１は正常であると判断し、通常の処理を行う。
【００８６】
このように、電池パック１が正常に動作している場合には、電池セル１７の電圧がほとんど変動しないため、電圧変動量ΔＶは略「０」であり、上限値ΔＶ（＋ｌｉｍｉｔ）以下、且つ、下限値ΔＶ（−ｌｉｍｉｔ）以上となるため、異常が検出されることはない。
【００８７】
次に、図６Ｂに示すように、電池セル１７の電圧に対してノイズが重畳した場合における異常検出の処理について具体的に説明する。ここでは、電池セル１７の電圧に対してノイズが重畳した場合として、電圧が瞬間的に上昇した場合を例にとって説明する。
【００８８】
時点ａ’および時点ｂ’における電池セル１７の電圧を測定し、時点ａ’および時点ｂ’における電圧に基づき電圧変動量ΔＶ1’を算出する。そして、算出された電圧変動量ΔＶ1’と上限値ΔＶ（＋ｌｉｍｉｔ）とを比較する。この場合、電圧変動量ΔＶ1’は、上限値ΔＶ（＋ｌｉｍｉｔ）よりも大きいため、第１のカウンタＫ（＋ｃｎｔ）の値を「１」インクリメントさせて第１のカウンタＫ（＋ｃｎｔ）の値を「１」とし、不揮発性メモリ２２に電圧変動量ΔＶ1’および第１のカウンタＫ（＋ｃｎｔ）の値を記憶する。
【００８９】
そして、第１のカウンタＫ（＋ｃｎｔ）と第１の上限回数Ｋ（＋）とを比較する。この場合、第１のカウンタＫ（＋ｃｎｔ）の値は「１」であり、第１の上限回数Ｋ（＋）の値は「２」であるため、第１のカウンタＫ（＋ｃｎｔ）の値が第１の上限回数Ｋ（＋）の値に対して小さいので、電圧変動量ΔＶ1’に基づき、新たに上限値ΔＶ（＋ｌｉｍｉｔ）を算出する。
【００９０】
次に、電圧変動量ΔＶ1’と下限値ΔＶ（−ｌｉｍｉｔ）とを比較する。この場合、電圧変動量ΔＶ1’は、下限値ΔＶ（−ｌｉｍｉｔ）よりも大きいため、下限値ΔＶ（−ｌｉｍｉｔ）の値を予め設定されていた値に戻すとともに、第２のカウンタＫ（−ｃｎｔ）をクリアして、値を「０」にする。
【００９１】
したがって、時点ａ’から時点ｂまでの時間内では、電池パック１は正常であると判断し、通常の処理を行う。
【００９２】
次に、時点ｃ’における電池セル１７の電圧を測定し、時点ｂ’および時点ｃ’における電圧に基づき電圧変動量ΔＶ2’を算出する。そして、算出された電圧変動量ΔＶ2’と上限値ΔＶ（＋ｌｉｍｉｔ）とを比較する。この場合、電圧変動量ΔＶ2’は、上限値ΔＶ（＋ｌｉｍｉｔ）よりも小さいため、上限値ΔＶ（＋ｌｉｍｉｔ）の値を予め設定されていた値に戻すとともに、第１のカウンタＫ（＋ｃｎｔ）をクリアして、値を「０」にする。
【００９３】
また、電圧変動量ΔＶ2’と下限値ΔＶ（−ｌｉｍｉｔ）とを比較する。この場合、電圧変動量ΔＶ2’は、下限値ΔＶ（−ｌｉｍｉｔ）よりも小さいため、第２のカウンタＫ（−ｃｎｔ）の値を「１」インクリメントさせて第２のカウンタＫ（−ｃｎｔ）の値を「１」とし、不揮発性メモリ２２に電圧変動量ΔＶ2’および第２のカウンタＫ（−ｃｎｔ）の値を記憶する。
【００９４】
そして、第２のカウンタＫ（−ｃｎｔ）と第２の上限回数Ｋ（−）とを比較する。この場合、第２のカウンタＫ（−ｃｎｔ）の値は「１」であり、第２の上限回数Ｋ（−）の値は「２」であるため、第２のカウンタＫ（−ｃｎｔ）の値が第２の上限回数Ｋ（−）の値に対して小さいので、電圧変動量ΔＶ2’に基づき、新たに下限値ΔＶ（−ｌｉｍｉｔ）を算出する。
【００９５】
したがって、時点ｂ’から時点ｃ’までの時間内では、電池パック１は正常であると判断し、通常の処理を行う。
【００９６】
次に、時点ｄ’における電池セル１７の電圧を測定し、時点ｃ’および時点ｄ’における電圧に基づき電圧変動量ΔＶ3’を算出する。そして、算出された電圧変動量ΔＶ3’と上限値ΔＶ（＋ｌｉｍｉｔ）とを比較する。この場合、電圧変動量ΔＶ3’は、上限値ΔＶ（＋ｌｉｍｉｔ）よりも小さいため、上限値ΔＶ（＋ｌｉｍｉｔ）の値を予め設定されていた値に戻すとともに、第１のカウンタＫ（＋ｃｎｔ）をクリアして、値を「０」にする。
【００９７】
また、電圧変動量ΔＶ3’と下限値ΔＶ（−ｌｉｍｉｔ）とを比較する。この場合、電圧変動量ΔＶ3’は、下限値ΔＶ（−ｌｉｍｉｔ）よりも大きいため、下限値ΔＶ（−ｌｉｍｉｔ）の値を予め設定されていた値に戻すとともに、第２のカウンタＫ（−ｃｎｔ）をクリアして、値を「０」にする。
【００９８】
したがって、時点ｃ’から時点ｄ’までの時間内では、電池パック１は正常であると判断し、通常の処理を行う。
【００９９】
このように、電池セル１７の電圧にノイズが重畳された場合には、電池セル１７の電圧が変動するが、瞬間的なものであるため、連続して上限値ΔＶ（＋ｌｉｍｉｔ）以上または下限値ΔＶ（−ｌｉｍｉｔ）以下となることがない。したがって、ノイズによる電圧の上昇が電池パック１の異常として検出されることがない。
【０１００】
次に、図６Ｃに示すように、電池セル１７の電圧が異常である場合における異常検出の処理について具体的に説明する。ここでは、電池セル１７の電圧が異常である場合として、電圧が急激に上昇し続けた場合を例にとって説明する。
【０１０１】
時点ａ”および時点ｂ”における電池セル１７の電圧を測定し、時点ａ”および時点ｂ”における電圧に基づき電圧変動量ΔＶ1”を算出する。そして、算出された電圧変動量ΔＶ1”と上限値ΔＶ（＋ｌｉｍｉｔ）とを比較する。この場合、電圧変動量ΔＶ1”は、上限値ΔＶ（＋ｌｉｍｉｔ）よりも大きいため、第１のカウンタＫ（＋ｃｎｔ）の値を「１」インクリメントさせて第１のカウンタＫ（＋ｃｎｔ）の値を「１」とし、不揮発性メモリ２２にΔＶ1”および第１のカウンタＫ（＋ｃｎｔ）の値を記憶する。
【０１０２】
そして、第１のカウンタＫ（＋ｃｎｔ）と第１の上限回数Ｋ（＋）とを比較する。この場合、第１のカウンタＫ（＋ｃｎｔ）の値は「１」であり、第１の上限回数Ｋ（＋）の値は「２」であるため、第１のカウンタＫ（＋ｃｎｔ）の値が第１の上限回数Ｋ（＋）の値に対して小さいので、電圧変動量ΔＶ1”に基づき、新たに上限値ΔＶ（＋ｌｉｍｉｔ）を算出する。
【０１０３】
また、電圧変動量ΔＶ1”と下限値ΔＶ（−ｌｉｍｉｔ）とを比較する。この場合、電圧変動量ΔＶ1”は、下限値ΔＶ（−ｌｉｍｉｔ）よりも大きいため、下限値ΔＶ（−ｌｉｍｉｔ）の値を予め設定されていた値に戻すとともに、第２のカウンタＫ（−ｃｎｔ）をクリアして、値を「０」にする。
【０１０４】
したがって、時点ａ”から時点ｂ”までの時間内では、電池パック１は正常であると判断し、通常の処理を行う。
【０１０５】
次に、時点ｃ”における電池セル１７の電圧を測定し、時点ｂ”および時点ｃ”における電圧に基づき電圧変動量ΔＶ2”を算出する。そして、算出された電圧変動量ΔＶ2”と上限値ΔＶ（＋ｌｉｍｉｔ）とを比較する。この場合、電圧変動量ΔＶ2”は、上限値ΔＶ（＋ｌｉｍｉｔ）よりも大きいため、第１のカウンタＫ（＋ｃｎｔ）の値を「１」インクリメントさせて第１のカウンタＫ（＋ｃｎｔ）の値を「２」とし、不揮発性メモリ２２に第１のカウンタＫ（＋ｃｎｔ）の値を記憶する。
【０１０６】
また、不揮発性メモリ２２に記憶された電圧変動量ΔＶ1”と、算出された電圧変動量ΔＶ2”とを比較し、変動量が大きい方を不揮発性メモリ２２に記憶する。なお、この例では、電圧変動量ΔＶ2”よりも電圧変動量ΔＶ1”の方が変動量が大きいため、不揮発性メモリ２２には、ΔＶ1”が記憶された状態のままとする。
【０１０７】
次に、第１のカウンタＫ（＋ｃｎｔ）と第１の上限回数Ｋ（＋）とを比較する。この場合、第１のカウンタＫ（＋ｃｎｔ）の値は「２」であり、第１の上限回数Ｋ（＋）の値は「２」であるため、第１のカウンタＫ（＋ｃｎｔ）の値が第１の上限回数Ｋ（＋）の値以上となる。したがって、時点ｂ”から時点ｃ”までの時間内において電池パック１に異常が発生したと判断し、異常処理を行う。
【０１０８】
このように、電池パック１が異常である場合には、電池セル１７の電圧が急激に上昇するため、電圧の上昇または下降が所定回数連続して発生する。したがって、電圧の上昇度合いに基づき電池パック１の異常が検出される。
【０１０９】
上述したように、この発明の実施の一形態では、電圧や温度の変動量の上限値および下限値と、この変動量の上限値および下限値を超える回数の上限を予め設定し、所定時間内の変動量がこの上限値および下限値を所定回数以上超えるかどうかにより、電池パックの異常を判断するようにしている。そのため、より精度の高い異常検出処理を行うことができ、異常の誤検出を防ぐことができる。
【０１１０】
また、電池セルの電圧や温度の変動量を所定時間毎に算出して異常を検出するようにしているため、電池パックの状態を把握し、電池パックに発生する異常を迅速に検出することができる。
【０１１１】
さらに、電池セルの電圧や温度の変動量の最大値や、変動量の上限値および下限値を超えた回数を保存しておくことにより、例えば故障した電池パックを回収して故障の原因を解析する際に、電池パックに対してどの程度の変化が発生したのかを確認することができる。
【０１１２】
以上、この発明の実施の一形態について説明したが、この発明は、上述したこの発明の実施の一形態に限定されるものではなく、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。例えば、電圧の変動量の上限値および下限値、ならびに温度の変動量の上限値の具体的な値は一例であって、この例に限られず、電池セル１７に用いられる材料や特性に応じて適宜変更してもよい。
【図面の簡単な説明】
【０１１３】
【図１】この発明の実施の一形態による電池パックの一例の構成を示す略線図である。
【図２】電池パックに異常が発生した場合の電圧の変化の一例を示す略線図である。
【図３】電池パックに異常が発生した場合の温度の変化の一例を示す略線図である。
【図４】電池セルの電圧による異常検出の際の処理の一例を示すフローチャートである。
【図５】電池セルの温度による異常検出の際の処理の一例を示すフローチャートである。
【図６】この発明の実施の一形態による電池パックに対する異常検出の処理の具体的な一例を示す略線図である。
【符号の説明】
【０１１４】
１  電池パック
１４  スイッチ回路
１５  充電制御ＦＥＴ
１６  放電制御ＦＥＴ
１７  電池セル
１８  温度検出素子
１９  電流検出抵抗
２０  ＡＦＥ
２１  ＭＰＵ
２２  不揮発性メモリ
【図１】
2008021417.tif 000003
【図２】
2008021417.tif 000004
【図３】
2008021417.tif 000005
【図４】
2008021417.tif 000006
【図５】
2008021417.tif 000007
【図６】
2008021417.tif 000008