複数の異なる充電装置と接続可能な電池装置であって、前記電池装置に接続されている充電装置の種類に対応する更新条件を選択する選択手段と、前記選択手段によって選択された更新条件を用いて、前記電池装置が満充電状態であるときの残量を決定する決定手段とを有する電池装置。充電可能な電池は使用頻度、使用期間などによって劣化するため、当該電池の満充電容量も使用頻度、使用期間などによって変化する。電池の残量をできるだけ正確に決定するためには、満充電容量を適切なタイミングで更新できるようにした方がよい。最新の満充電容量を決定する方法には、電池が満充電状態にされたときに当該電池の放電電流の積算を開始し、当該電池の電圧が下限電圧以下になったときの電流積算値を最新の満充電容量とする方法がある。満充電状態は、電池が所定の更新条件に満たすまで充電された状態である。下限電圧は、残量が0であるときの放電電圧に相当する。電池Xが複数の異なる充電装置によって充電される場合、電池Xの最新の満充電容量と、満充電状態である電池Xの実際の放電可能容量とが大きくズレることがある。例えば、前回の充電の更新条件と今回の充電の更新条件が同じであり、前回の充電に使用された充電装置Y1の充電電圧が4.2Vであり、今回の充電に使用された充電装置Y2の充電電圧が4.1Vである場合を想定する。電池Xは、前回の充電で満充電状態にされたときに電池Xの放電電流の積算を開始し、電池Xの放電電圧が下限電圧以下になったときに電池Xの放電電流の積算を停止する。電池Xは、電池Xの放電電圧が下限電圧以下になったときの電流積算値を学習容量Zとして電池X内のメモリに格納する。電池Xは、今回の充電で満充電状態にされたときに、電池X内のメモリに格納されている学習容量Zを最新の満充電容量として電池Xに設定する。このとき、電池Xに設定された最新の満充電容量は、充電装置Y1が電池Xを4.2Vで満充電状態にしたときの放電可能容量から算出されている。これに対し、満充電状態である電池Xの実際の放電可能容量は、充電装置Y2が電池Xを4.1Vで満充電状態にしたときの容量である。そのため、電池Xに設定されている最新の満充電容量と、満充電状態である電池Xの実際の放電可能容量とは大きくズレている可能性が高い。電池Xに設定されている最新の満充電容量と、満充電状態である電池Xの実際の放電可能容量とが大きくズレている場合、電池Xは、電池Xの残量を電池Xに設定されている最新の満充電容量から適切に計算することができない可能性がある。そこで、本発明は、電池が複数の異なる充電装置によって充電される場合であっても、当該電池の残量を適切に計算できるようにすることを目的とする。上記目的を達成するために、本発明に係る電池装置は、複数の異なる充電装置と接続可能な電池装置であって、前記電池装置に接続されている充電装置の種類に対応する更新条件を選択する選択手段と、前記選択手段によって選択された更新条件を用いて、前記電池装置が満充電状態であるときの残量を決定する決定手段とを有する。本発明によれば、電池が複数の異なる充電装置によって充電される場合であっても、当該電池の残量を適切に計算することができる。以下、図面を参照して本発明の実施形態を説明する。[実施形態1]図1は、本発明の実施形態1及び2に係る電池システムの構成要素を説明するためのブロック図である。図1に示すように、実施形態1及び2に係る電池システムは、電池装置100と、複数の異なる充電装置200及び300とを有する。実施形態1及び2では、複数の異なる充電装置の数が2つである場合を説明するが、複数の異なる充電装置の数は3つ以上であってもよい。電池装置100は、例えば、充電可能な電池を有する電池パックである。電池装置100は、複数の異なる充電装置200及び300のいずれにも接続可能である。電池装置100が充電装置200に接続された場合、充電装置200は電池装置100を充電することができる。電池装置100が充電装置300に接続された場合、充電装置300は電池装置100を充電することができる。充電装置200は、充電装置300と異なる種類の充電装置である。図1に示すように、電池装置100は、電池101、制御部102、電流検出抵抗103、FETFieldEffectTransistor104及び温度センサ105を有する。また、電池装置100は、端子106、-端子107、D端子108、T端子109及びメモリ110を有する。電池101は、充電可能な電池であり、少なくとも一つの電池セルを有する。電流検出抵抗103及びFET104は、電池101と-端子107との間に直列に接続されている。端子106は正極端子であり、-端子107は負極端子である。D端子108は、充電装置200又は充電装置300と通信するための通信端子である。T端子109は、電池装置100内の温度を充電装置200又は充電装置300に通知するための温度端子である。温度センサ105は、例えば、温度によって抵抗値が変化する素子を有する。実施形態1及び2では、T端子109の電圧は、電池装置100内の温度に応じて変化することになる。したがって、充電装置200又は充電装置300は、T端子109の電圧を測定することにより、電池装置100内の温度を知ることができる。制御部102は、CPUCentralProcessingUnit又はMPUMicroProcessingUnitを有し、電池装置100の動作を制御する。制御部102は、電池101の電圧を測定することができる。電池101の電圧を測定することにより、制御部102は、充電電圧及び放電電圧を知ることができる。制御部102は、電流検出抵抗103の両端の電圧を測定することも、電流検出抵抗103の両端の電圧から電流検出抵抗103に流れる電流を計算することもできる。電流検出抵抗103に流れる電流を計算することにより、制御部102は、充電電流及び放電電流を知ることができる。制御部102は、放電電流を積算することも、積算された放電電流から電池101の残量RCを計算することもできる。制御部102は、制御部102で積算された放電電流をメモリ110に格納する。制御部102は、制御部102で計算された電池101の残量RCもメモリ110に格納する。制御部102は、電池101の電圧が異常であると判定した場合、FET104を制御して電流経路を遮断することができる。制御部102は、電流検出抵抗103に流れる電流が異常であると判定した場合も、FET104を制御して電流経路を遮断することができる。これにより、制御部102は、電池装置100の安全性を高めることができる。電池装置100が充電装置200に接続されている場合、制御部102は、充電装置200とD端子108を介して通信することができる。制御部102は、充電装置200とD端子108を介して通信することにより、充電装置200の種類を判定することができる。電池装置100が充電装置300に接続されている場合、制御部102は、充電装置300とD端子108を介して通信することができる。制御部102は、充電装置300とD端子108を介して通信することにより、充電装置300の種類を判定することができる。制御部102は、温度センサ105とは別の温度センサを有する。制御部102は、制御部102が有する温度センサを用いて電池装置100内の温度を測定することもできる。メモリ110は、電池装置100の動作を制御するためのプログラムA、B及びCを記憶している。メモリ110は、non-transitory非一時的な記録媒体である。制御部102は、メモリ110に記憶されているプログラムA、B及びCを用いて電池装置100の動作を制御することができる。メモリ110は、複数の異なる充電装置のそれぞれに対応する複数の更新条件を記憶している。実施形態1では、メモリ110は、充電装置200に適した更新条件学習条件である条件C1と、充電装置300に適した更新条件学習条件である条件C2とを記憶している。条件C1は、例えば、充電電圧は4.0V以上、かつ、充電電流は100mA未満である。条件C2は、例えば、充電電圧は4.15V以上、かつ、充電電流は100mA未満である。条件C2は、充電電圧は4.2V以上、かつ、充電電流は100mA未満に置き換えてもよい。実施形態1及び2では、条件C1を満たしたときの放電可能容量と、条件C2を満たしたときの放電可能容量とがほぼ同じになるように、条件C1及びC2を設定している。条件C1及びC2以外の更新条件についても同様に設定されている。これにより、電池101に設定されている満充電容量FCと、満充電状態である電池101の実際の放電可能容量とが大きくズレる可能性は低くなり、制御部102は、電池101の正確な残量RCを適切に計算することができる。なお、更新条件は、充電電圧、充電電流だけでなく、温度などのパラメータを追加してもよい。メモリ110は、電池101に関する情報を記憶している。電池101に関する情報には、満充電容量FC、電流積算値S、残量RC、学習容量LC、下限電圧V0などが含まれる。電池101の満充電容量FC、電流積算値S、残量RC及び学習容量LCは、制御部102で計算され、メモリ110に格納される。満充電容量FCは、電池101の残量RCが100であるときの放電可能容量に相当する。下限電圧V0は、電池101の残量RCが0であるときの電池101の放電電圧に相当する。充電装置200は、ビデオカメラ装置、カメラ装置などの電子機器として構成してもよい。充電装置200がビデオカメラ装置、カメラ装置などの電子機器として構成された場合、充電装置200は、充電モードと放電モードとを有する。充電装置200の動作モードが充電モードである場合、充電装置200は、充電装置200に接続されている電池装置100を充電することができる。充電装置200の動作モードが放電モードである場合、充電装置200は、充電装置200に接続されている電池装置100を電源として使用する。充電装置200の動作モードが放電モードである場合、制御部102は、電池101の残量RC、満充電容量FCなどを、D端子108を介して充電装置200に通知する。これにより、充電装置200は、電池101の残量RC、満充電容量FCなどを知ることができ、電池101の残量RCを電池装置100の残量としてユーザに通知することができる。電池装置100の残量は、例えば、パーセントで表示することができる。また、充電装置200は、電池101の残量RCから残りの使用可能時間を計算し、計算した残りの使用可能時間をユーザに通知することもできる。充電装置300も、ビデオカメラ装置、カメラ装置などの電子機器として構成してもよい。充電装置300がビデオカメラ装置、カメラ装置などの電子機器として構成された場合、充電装置300は、充電モードと放電モードとを有する。充電装置300の動作モードが充電モードである場合、充電装置300は、充電装置300に接続されている電池装置100を充電することができる。充電装置300の動作モードが放電モードである場合、充電装置300は、充電装置300に接続されている電池装置100を電源として使用する。充電装置300の動作モードが放電モードである場合、制御部102は、電池101の残量RC、満充電容量FCなどを、D端子108を介して充電装置300に通知する。これにより、充電装置300は、電池101の残量RC、満充電容量FCなどを知ることができ、電池101の残量RCを電池装置100の残量としてユーザに通知することができる。電池装置100の残量は、例えば、パーセントで表示することができる。また、充電装置300は、電池101の残量RCから残りの使用可能時間を計算し、計算した残りの使用可能時間をユーザに通知することもできる。図2は、本発明の実施形態1及び2に係る電池装置100で行われる学習容量更新処理を説明するためのフローチャートである。実施形態1及び2では、制御部102がメモリ110に記憶されているプログラムAを用いて学習容量更新処理を制御する場合を説明する。S201において、制御部102は、電池装置100が満充電状態であるか否かを判定する。満充電状態は、電池101が条件C1及びC2のいずれかを満たすまで充電された状態である。電池装置100が満充電状態であると判定された場合、本フローチャートはS201からS202に進むS201でYES。電池装置100が満充電状態でないと判定された場合、本フローチャートはS201からS201に進むS201でNO。S202において、制御部102は、電池装置100が充電中であるか否かを判定する。電池装置100が充電中であると判定された場合、本フローチャートは終了するS202でYES。電池装置100が充電中でないと判定された場合、本フローチャートはS202からS203に進むS202でNO。S203において、制御部102は、電池101の放電電流の積算を開始する。制御部102は、電池101の放電電流を積算するごとに、電池101の放電電流の積算値を電流積算値Sとしてメモリ110に格納する。電流積算値Sは、前述したように、電池101の残量RCの計算に用いられる。電池101の放電電流の積算が開始された後、本フローチャートはS203からS204に進む。S204において、制御部102は、満充電容量FCと、電流積算値Sとをメモリ110から読み出す。満充電容量FCと、電流積算値Sとがメモリ110から読み出された後、本フローチャートはS204からS205に進む。S205において、制御部102は、満充電容量FCから電流積算値Sを減算することにより、電池101の残量RCを計算する。例えば、満充電容量FCが1000mAhであり、電流積算値Sが300mAhである場合、電池101の残量RCは700mAhとなる。制御部102は、現在の残量をメモリ110に格納する。制御部102は、電池101の残量RCをD端子108を介して他の装置に送信することができる。また、制御部102は、電池101の残量RCを電池装置100の表示部に表示することもできる。電池101の残量RCが計算された後、本フローチャートはS205からS206に進む。S206において、制御部102は、電池101の充電が開始されたか否かを判定する。電池101の充電が開始された場合、制御部102は、電池101の放電電流の積算を停止する。電池101の充電が開始された場合、本フローチャートは終了するS206でYES。電池101の充電が開始されていない場合、本フローチャートはS206からS207に進むS206でNO。S207において、制御部102は、電池101の放電電圧が下限電圧V0例えば、3.0V以下であるか否かを判定する。電池101の放電電圧が下限電圧V0以下であると判定された場合、本フローチャートはS207からS208に進むS208でYES。電池101の放電電圧が下限電圧V0以下でないと判定された場合、本フローチャートはS207からS204に進むS207でNO。S208において、制御部102は、電池101の放電電流の積算を停止する。電池101の放電電流の積算が停止された後、本フローチャートはS208からS209に進む。S209において、制御部102は、メモリ110に格納されている学習容量LCを更新するために、メモリ110に格納されている電流積算値Sを学習容量LCとしてメモリ110に格納する。例えば、メモリ110に格納されている電流積算値Sが1000mAhである場合、制御部102は、1000mAhを学習容量LCとしてメモリ110に格納する。メモリ110に格納されている学習容量LCが更新された後、本フローチャートは終了する。図3及び図4は、本発明の実施形態1に係る電池装置100で行われる第1の充電制御処理を説明するためのフローチャートである。実施形態1では、制御部102がメモリ110に記憶されているプログラムBを用いて第1の充電制御処理を制御する場合を説明する。S301において、制御部102は、電池装置100が複数の異なる充電装置200及び300のうちの一つと接続されているか否かを判定する。電池装置100が複数の異なる充電装置200及び300のうちの一つと接続されていると判定された場合、本フローチャートはS301からS302に進むS301でYES。電池装置100が複数の異なる充電装置200及び300のいずれにも接続されていないと判定された場合、本フローチャートはS301からS301に進むS301でNO。S302において、制御部102は、制御部102が接続充電装置と通信可能であるか否かを判定する。実施形態1では、電池装置100に接続されている充電装置を接続充電装置と呼ぶ。接続充電装置が検出されてから所定時間T1が経過するまでの間に所定の情報を接続充電装置から受信できた場合、制御部102は、接続充電装置と通信可能であると判定する。所定の情報は、例えば、所定のコマンドでもよい。接続充電装置が検出されてから所定時間T1が経過するまでの間に接続充電装置から所定の情報を受信できなかった場合、制御部102は、接続充電装置と通信可能でないと判定する。なお、制御部102が接続充電装置と通信可能であるか否かの判定は、これに限るものではない。制御部102が接続充電装置と通信可能であると判定された場合、本フローチャートはS302からS304に進むS302でYES。制御部102が接続充電装置と通信可能でないと判定された場合、本フローチャートはS302からS303に進むS302でNO。S303において、制御部102は、複数の更新条件の中から条件C1を選択し、条件C1を満充電容量FCの更新条件に設定する。条件C1は、充電装置200に適した更新条件であり、例えば、充電電圧は4.0V以上、かつ、充電電流は100mA未満である。条件C1が満充電容量FCの更新条件に設定された後、本フローチャートはS303からS306に進む。S304において、制御部102は、接続充電装置と通信して接続充電装置の種類を判定する。接続充電装置が充電装置200であると判定された場合、本フローチャートはS304からS303に進むS304でタイプA。接続充電装置が充電装置300であると判定された場合、本フローチャートはS304からS305に進むS304でタイプB。S305において、制御部102は、複数の更新条件の中から条件C2を選択し、条件C2を満充電容量FCの更新条件に設定する。条件C2は、充電装置300に適した更新条件であり、例えば、充電電圧は4.15V以上、かつ、充電電流は100mA未満である。条件C2が満充電容量FCの更新条件に設定された後、本フローチャートはS305からS306に進む。S306において、制御部102は、接続充電装置による電池101の充電を開始する。接続充電装置による電池101の充電が開始された後、本フローチャートはS306からS307に進む。S307おいて、制御部102は、条件C1及び条件C2のいずれが電池装置100の更新条件に設定されているかを判定する。条件C1が満充電容量FCの更新条件に設定されている場合、本フローチャートはS307からS308に進むS307でC1。条件C2が満充電容量FCの更新条件に設定されている場合、本フローチャートはS307からS310に進むS307でC2。S308において、制御部102は、充電電圧、充電電流などをチェックし、条件C1が満たされているか否を判定する。条件C1が満たされている場合、本フローチャートはS308からS309に進むS308でYES。条件C1が満たされていない場合、本フローチャートはS308からS312に進むS308でNO。S309において、制御部102は、メモリ110に格納されている満充電容量FCを更新するために、メモリ110に格納されている学習容量LCを最新の満充電容量FCとしてメモリ110に格納する。例えば、メモリ110に格納されている学習容量LCが1000mAhである場合、制御部102は、1000mAhを最新の満充電容量FCとしてメモリ110に格納する。これにより、最新の満充電容量FCが電池装置100に設定されるため、制御部102は最新の満充電容量FCを用いて電池101の正確な残量を計算することができる。メモリ110に格納されている満充電容量FCが更新された後、本フローチャートはS309からS312に進む。S310において、制御部102は、充電電圧、充電電流などをチェックし、条件C2が満たされているか否を判定する。条件C2が満たされている場合、本フローチャートはS310からS311に進むS310でYES。条件C2が満たされていない場合、本フローチャートはS310からS312に進むS310でNO。S311において、制御部102は、メモリ110に格納されている満充電容量FCを更新するために、メモリ110に格納されている学習容量LCを最新の満充電容量FCとしてメモリ110に格納する。例えば、メモリ110に格納されている学習容量LCが1000mAhである場合、制御部102は、1000mAhを最新の満充電容量FCとしてメモリ110に格納する。これにより、最新の満充電容量FCが電池装置100に設定されるため、制御部102は最新の満充電容量FCを用いて電池101の正確な残量を計算することができる。メモリ110に格納されている満充電容量FCが更新された後、本フローチャートはS311からS312に進む。S312において、制御部102は、接続充電装置による電池101の充電が終了したか否かを判定する。電池101の充電が終了している場合、本フローチャートは終了するS312でYES。電池101の充電が終了していない場合、本フローチャートはS312からS307に戻るS312でNO。このように、電池装置100は、満充電容量FCの更新条件を充電装置の種類に応じて変更することができる。これにより、電池101に設定されている満充電容量FCと、満充電状態である電池101の実際の放電可能容量とが大きくズレる可能性は低くなり、制御部102は、電池101の正確な残量RCを適切に計算することができる。その結果、電池装置100は、どのような種類の充電装置によって充電されても、電池装置の正確な残量を適切に計算することができる。なお、S309及びS311において、制御部102は、放置劣化、サイクル劣化などを考慮して学習容量LCを補正し、補正された学習容量LCを最新の満充電容量FCとしてメモリ110に格納してもよい。この場合、制御部102で補正された学習容量LCが最新の満充電容量FCとして電池装置100に設定される。[実施形態2]次に、本発明の実施形態2について説明する。実施形態2では、実施形態1と異なる部分を説明する。実施形態2において、実施形態1と同様の部分についてはその説明を省略する。図5及び図6は、本発明の実施形態2に係る電池装置100で行われる第2の充電制御処理を説明するためのフローチャートである。実施形態1では、制御部102がメモリ110に記憶されているプログラムCを用いて第2の充電制御処理を制御する場合を説明する。S501において、制御部102は、電池装置100が複数の異なる充電装置200及び300のうちの一つと接続されているか否かを判定する。電池装置100が複数の異なる充電装置200及び300のうちの一つと接続されていると判定された場合、本フローチャートはS501からS502に進むS501でYES。電池装置100が複数の異なる充電装置200及び300のいずれにも接続されていないと判定された場合、本フローチャートはS501からS501に進むS501でNO。S502において、制御部102は、制御部102が接続充電装置と通信可能であるか否かを判定する。実施形態2では、電池装置100に接続されている充電装置を接続充電装置と呼ぶ。接続充電装置を検出されてから所定時間T1が経過するまでの間に所定の情報を接続充電装置から受信できた場合、制御部102は、接続充電装置と通信可能であると判定する。所定の情報は、例えば、所定のコマンドでもよい。接続充電装置を検出されてから所定時間T1が経過するまでの間に接続充電装置から所定の情報を受信できなかった場合、制御部102は、接続充電装置と通信可能でないと判定する。なお、制御部102が接続充電装置と通信可能であるか否かの判定は、これに限るものではない。制御部102が接続充電装置と通信可能であると判定された場合、本フローチャートはS502からS503に進むS502でYES。制御部102が接続充電装置と通信可能でないと判定された場合、制御部102は、FET104を制御して電池装置100の充電が行われないように制御するS502でNO。S502でNOの場合、満充電容量FCの更新は行われない。そして、S502でNOの場合、本フローチャートは終了する。S503において、制御部102は、接続充電装置と通信して接続充電装置の種類を判定する。接続充電装置が充電装置200であると判定された場合、本フローチャートはS503からS504に進むS503でタイプA。接続充電装置が充電装置300であると判定された場合、本フローチャートはS503からS505に進むS503でタイプB。S504において、制御部102は、複数の更新条件の中から条件C1を選択し、条件C1を満充電容量FCの更新条件に設定する。条件C1は、充電装置200に適した更新条件であり、例えば、充電電圧は4.0V以上、かつ、充電電流は100mA未満である。条件C1が満充電容量FCの更新条件に設定された後、本フローチャートはS504からS507に進む。S505において、制御部102は、制御部102が有する温度センサを用いて電池装置100内の温度を測定し、測定した温度が所定の温度範囲内であるか否かを判定する。所定の温度範囲は、例えば、0度以上40度以下の範囲とする。ただし、所定の温度範囲は、0度以上40度以下の範囲に限るものではない。所定の温度範囲は、充電装置300の特性に応じて変更してもよい。電池装置100内の温度が所定の温度範囲内であると判定された場合、本フローチャートはS505からS506に進むS505でYES。電池装置100内の温度が所定の温度範囲外であると判定された場合、制御部102は、FET104を制御して電池装置100の充電が行われないように制御するS505でNO。S505でNOの場合、満充電容量FCの更新は行われない。そして、S505でNOの場合、本フローチャートは終了する。S506において、制御部102は、複数の更新条件の中から条件C2を選択し、条件C2を満充電容量FCの更新条件に設定する。条件C2は、充電装置300に適した更新条件である。実施形態2では、条件C2が、例えば、充電電圧は4.2V以上、かつ、充電電流は100mA未満である場合を説明する。条件C2が満充電容量FCの更新条件に設定された後、本フローチャートはS506からS507に進む。S507において、制御部102は、接続充電装置による電池101の充電を開始する。接続充電装置による電池101の充電が開始された後、本フローチャートはS507からS508に進む。S508おいて、制御部102は、条件C1及び条件C2のいずれが満充電容量FCの更新条件に設定されているかを判定する。条件C1が満充電容量FCの更新条件に設定されている場合、本フローチャートはS508からS509に進むS508で条件C1。条件C2が満充電容量FCの更新条件に設定されている場合、本フローチャートはS508からS511に進むS508で条件C2。S509において、制御部102は、充電電圧、充電電流などをチェックし、条件C1が満たされているか否を判定する。条件C1が満たされている場合、本フローチャートはS509からS510に進むS509でYES。条件C1が満たされていない場合、本フローチャートはS509からS513に進むS509でNO。S510において、制御部102は、メモリ110に格納されている満充電容量FCを更新するために、メモリ110に格納されている学習容量LCを最新の満充電容量FCとしてメモリ110に格納する。例えば、メモリ110に格納されている学習容量LCが1000mAhである場合、制御部102は、1000mAhを最新の満充電容量FCとしてメモリ110に格納する。これにより、最新の満充電容量FCが電池装置100に設定されるため、制御部102は最新の満充電容量FCを用いて電池101の正確な残量を計算することができる。メモリ110に格納されている満充電容量FCが更新された後、本フローチャートはS510からS513に進む。S511において、制御部102は、充電電圧、充電電流などをチェックし、条件C2が満たされているか否を判定する。条件C2が満たされている場合、本フローチャートはS511からS512に進むS511でYES。条件C2が満たされていない場合、本フローチャートはS511からS513に進むS511でNO。S512において、制御部102は、メモリ110に格納されている満充電容量FCを更新するために、メモリ110に格納されている学習容量LCを最新の満充電容量FCとしてメモリ110に格納する。例えば、メモリ110に格納されている学習容量LCが1000mAhである場合、制御部102は、1000mAhを最新の満充電容量FCとしてメモリ110に格納する。これにより、最新の満充電容量FCが電池装置100に設定されるため、制御部102は最新の満充電容量FCを用いて電池101の正確な残量を計算することができる。メモリ110に格納されている満充電容量FCが更新された後、本フローチャートはS512からS513に進む。S513において、制御部102は、接続充電装置による電池101の充電が終了したか否かを判定する。電池101の充電が終了している場合、本フローチャートは終了するS513でYES。電池101の充電が終了していない場合、本フローチャートはS513からS508に戻るS513でNO。このように、電池装置100は、満充電容量FCの更新条件を充電装置の種類に応じて変更することができる。これにより、電池101に設定されている満充電容量FCと、満充電状態である電池101の実際の放電可能容量とが大きくズレる可能性は低くなり、制御部102は、電池101の正確な残量RCを適切に計算することができる。その結果、電池装置100は、どのような種類の充電装置によって充電されても、電池装置の正確な残量を適切に計算することができる。なお、S510及びS512において、制御部102は、放置劣化、サイクル劣化などを考慮して学習容量LCを補正し、補正された学習容量LCを最新の満充電容量FCとしてメモリ110に格納してもよい。この場合、制御部102で補正された学習容量LCが最新の満充電容量FCとして電池装置100に設定される。[実施形態3]実施形態1及び2で説明した様々な機能及び処理は、パーソナルコンピュータ、マイクロコンピュータ、CPUCentralProcessingUnitなどがプログラムを用いて実現することもできる。以下、実施形態3では、パーソナルコンピュータ、マイクロコンピュータ、CPUなどをコンピュータと呼ぶ。また、実施形態3では、コンピュータを制御するためのプログラムであって、実施形態1及び2で説明した様々な機能及び処理を実現するためのプログラムを所定のプログラムと呼ぶ。実施形態1及び2で説明した様々な機能及び処理は、コンピュータが所定のプログラムを実行することによって実現される。この場合において、所定のプログラムは、コンピュータ読み取り可能な記録媒体を介してコンピュータに供給される。実施形態3におけるコンピュータ読み取り可能な記録媒体は、ハードディスク装置、光ディスク、CD-ROM、CD-R、メモリカード、ROM、RAMなどの少なくとも一つを含む。また、実施形態3におけるコンピュータ読み取り可能な記録媒体は、non-transitory非一時的な記録媒体である。