"システムと電力をやり取りする二次電池を外部電源からの電力により充電する二次電池の充電装置であって、システムオフ時に前記外部電源が接続されたときに前記二次電池の電圧が充電完了電圧に至るまで該二次電池を充電する充電手段と、データを記憶する記憶手段と、前記二次電池の過電圧を検出する過電圧検出手段と、システム起動された後に前記過電圧検出手段により過電圧が検出され且つ過電圧異常を確定させる異常確定時間が経過する前に該検出された過電圧が解消される異常不確定状態が生じたときには、該異常不確定状態が生じたシステム起動の累積回数に応じた値を第1の学習値として前記記憶手段に記憶させると共に前記検出された過電圧が解消されるまでの所要時間に応じた値を第2の学習値として前記記憶手段に記憶させる学習値設定記憶手段と、前記第1の学習値と前記第2の学習値との和の電圧分を低電圧側にオフセットした電圧を次回に前記外部電源の電力で前記二次電池を充電する際に用いる前記充電完了電圧として設定する充電完了電圧設定手段と、を備える二次電池の充電装置。請求項1記載の二次電池の充電装置であって、前記学習値設定記憶手段は、前記第1の学習値として、前記過電圧検出手段により過電圧がシステム起動された直後に検出されたときには、前記異常不確定状態が生じたシステム起動の累積回数に応じた値と前記検出された過電圧が解消されるまでに前記二次電池が放電した放電量に応じた値との大きい方を設定する手段である二次電池の充電装置。請求項1または2記載の二次電池の充電装置であって、前記学習値設定記憶手段は、前記第2の学習値として、システム起動された後に前記異常不確定状態が生じたときには前記検出された過電圧が解消されるまでの所要時間に応じた値を前回の学習値に加算し、システム起動された後に前記異常不確定状態が生じなかったときには前回の学習値から減算する手段である二次電池の充電装置。請求項1ないし3いずれか1項に記載の二次電池の充電装置であって、前記記憶手段は、不揮発性メモリとして構成された第1の記憶手段と、揮発性メモリとして構成されシステムオフ時にも給電されて記憶している内容を保持する第2の記憶手段とを備える手段であり、前記学習値設定記憶手段は、前記第1の学習値を前記第1の記憶手段に記憶させると共に前記第2の学習値を前記第2の記憶手段に記憶させる手段である二次電池の充電装置。このように、二次電池の満充電を適切に判定することは、二次電池の不具合の発生を防止したり二次電池の電力を用いてモータにより走行する際の航続距離を伸ばす上で重要な課題の一つとして考えられている。本発明の二次電池の充電装置は、外部電源からの二次電池の充電をより適切に行なうことを主目的とする。本発明の二次電池の充電装置は、上述の主目的を達成するために以下の手段を採った。本発明の二次電池の充電装置は、システムと電力をやり取りする二次電池を外部電源からの電力により充電する二次電池の充電装置であって、システムオフ時に前記外部電源が接続されたときに前記二次電池の電圧が充電完了電圧に至るまで該二次電池を充電する充電手段と、データを記憶する記憶手段と、前記二次電池の過電圧を検出する過電圧検出手段と、システム起動された後に前記過電圧検出手段により過電圧が検出され且つ過電圧異常を確定させる異常確定時間が経過する前に該検出された過電圧が解消される異常不確定状態が生じたときには、該異常不確定状態が生じたシステム起動の累積回数に応じた値を第1の学習値として前記記憶手段に記憶させると共に前記検出された過電圧が解消されるまでの所要時間に応じた値を第2の学習値として前記記憶手段に記憶させる学習値設定記憶手段と、前記第1の学習値と前記第2の学習値との和の電圧分を低電圧側にオフセットした電圧を次回に前記外部電源の電力で前記二次電池を充電する際に用いる前記充電完了電圧として設定する充電完了電圧設定手段と、を備えることを要旨とする。この本発明の二次電池の充電装置では、システム起動された後に過電圧検出手段により過電圧が検出され且つ過電圧異常を確定させる異常確定時間が経過する前に検出された過電圧が解消される異常不確定状態が生じたときには、異常不確定状態が生じたシステム起動の累積回数に応じた値を第1の学習値として記憶手段に記憶させると共に検出された過電圧が解消されるまでの所要時間に応じた値を第2の学習値として記憶手段に記憶させ、第1の学習値と第2の学習値との和の電圧分を低電圧側にオフセットした電圧を次回に外部電源の電力で二次電池を充電する際に用いる充電完了電圧として設定する。これにより、充電完了電圧をより適切に設定して二次電池を充電することができる。こうした本発明の二次電池の充電装置において、前記学習値設定記憶手段は、前記第1の学習値として、前記過電圧検出手段により過電圧がシステム起動された直後に検出されたときには、前記異常不確定状態が生じたシステム起動の累積回数に応じた値と前記検出された過電圧が解消されるまでに前記二次電池が放電した放電量に応じた値との大きい方を設定する手段であるものとすることもできる。また、本発明の二次電池の充電装置において、前記学習値設定記憶手段は、前記第2の学習値として、システム起動された後に前記異常不確定状態が生じたときには前記検出された過電圧が解消されるまでの所要時間に応じた値を前回の学習値に加算し、システム起動された後に前記異常不確定状態が生じなかったときには前回の学習値から減算する手段であるものとすることもできる。さらに、本発明の二次電池の充電装置において、前記記憶手段は、不揮発性メモリとして構成された第1の記憶手段と、揮発性メモリとして構成されシステムオフ時にも給電されて記憶している内容を保持する第2の記憶手段とを備える手段であり、前記学習値設定記憶手段は、前記第1の学習値を前記第1の記憶手段に記憶させると共に前記第2の学習値を前記第2の記憶手段に記憶させる手段であるものとすることもできる。次に、本発明を実施するための形態を実施例を用いて説明する。図1は、本発明の一実施例としての二次電池の充電装置を搭載するハイブリッド自動車20の構成の概略を示す構成図である。実施例のハイブリッド自動車20は、図示するように、ガソリンや軽油などを燃料とするエンジン22と、エンジン22を駆動制御するエンジン用電子制御ユニット以下、エンジンECUという。24と、エンジン22のクランクシャフト26にキャリアが接続されると共に駆動輪39a,39bにデファレンシャルギヤ38を介して連結された駆動軸32にリングギヤが接続されたプラネタリギヤ30と、例えば同期発電電動機として構成されて回転子がプラネタリギヤ30のサンギヤに接続されたモータMG1と、例えば同期発電電動機として構成されて回転子が駆動軸32に接続されたモータMG2と、モータMG1,MG2を駆動するためのインバータ41,42と、インバータ41,42の図示しないスイッチング素子をスイッチング制御することによってモータMG1,MG2を駆動制御するモータ用電子制御ユニット以下、モータECUという。40と、インバータ41,42を介してモータMG1,MG2と電力をやりとりする例えばリチウムイオン二次電池として構成されシステムメインリレー55を介して接続された高圧バッテリ50と、高圧バッテリ50を管理するバッテリ用電子制御ユニット以下、バッテリECUという。52と、インバータ41,42と高圧バッテリ50とを接続する電力ライン以下、高電圧系電力ラインという。54aに取り付けられて高圧バッテリ50からの電力を昇圧してインバータ41,42に供給する昇圧コンバータ56と、電気部品例えば、エンジン22の制御に用いられる図示しないスロットルモータや図示しない補機などが接続された電力ライン以下、低電圧系電力ラインという。54bに接続された低圧バッテリ58と、高電圧系電力ライン54aからの電力を降圧して低電圧系電力ライン54bに供給するDC/DCコンバータ57と、家庭用電源などの外部電源に接続されて高圧バッテリ50を充電可能な充電器60と、車両全体を制御するハイブリッド用電子制御ユニット70と、車両全体の電源管理を行なう電源用電子制御ユニット以下、電源ECUという。90とを備える。バッテリECU52は、図示しないCPUを中心とするマイクロプロセッサとして構成されており、CPUの他にROMやRAM,入出力ポート,通信ポートを備える。バッテリECU52には、高圧バッテリ50を管理するのに必要な信号、例えば、高圧バッテリ50の端子間に設置された電圧センサ51aからの端子間電圧Vb,高圧バッテリ50の出力端子に接続された高電圧系電力ライン54aに取り付けられた電流センサ51bからの充放電電流Ib,高圧バッテリ50に取り付けられた温度センサ51cからの電池温度Tb,高圧バッテリ50を構成する各セル間に取り付けられた電圧センサからの各セル電圧のいずれかが過電圧であると予め定められた過電圧用閾値Vrefより高いときにオン出力する過電圧センサ51dからの過電圧判定信号Voなどが入力されており、必要に応じて高圧バッテリ50の状態に関するデータを通信によりハイブリッド用電子制御ユニット70に出力する。また、バッテリECU52は、高圧バッテリ50を管理するために電流センサ51bにより検出された充放電電流Ibの積算値に基づいて蓄電量の全容量蓄電容量に対する割合である蓄電割合SOCを演算したり、演算した蓄電割合SOCと電池温度Tbとに基づいて高圧バッテリ50を充放電してもよい最大許容電力である入出力制限Win,Woutを演算している。なお、高圧バッテリ50の入出力制限Win,Woutは、電池温度Tbに基づいて入出力制限Win,Woutの基本値を設定し、高圧バッテリ50の蓄電割合SOCに基づいて出力制限用補正係数と入力制限用補正係数とを設定し、設定した入出力制限Win,Woutの基本値に補正係数を乗じることにより設定することができる。充電器60は、リレー62を介して高電圧系電力ライン54aに接続されており、電源コード68を介して供給される外部電源からの交流電力を直流電力に変換するAC/DCコンバータ66と、AC/DCコンバータ66からの直流電力の電圧を変換して高電圧系電力ライン54a側に供給するDC/DCコンバータ64と、を備える。電源ECU90は、図示しないCPUを中心とするマイクロプロセッサとして構成されており、CPUの他にROMや揮発性メモリとしてのRAMSRAM92,電源を切っても内容が消去されない不揮発性メモリとしてのEEPROM94,入出力ポート,通信ポートを備える。電源ECU90は、システム停止されている状態でも低圧バッテリ58からの給電を常時受けており、SRAM92に記憶しているデータを保持すると共に運転席前面のパネルに取り付けられたパワースイッチ80からのプッシュ信号やブレーキペダルポジションセンサ86からのブレーキペダルポジションBP,電源コード68の外部電源への接続を検出する接続検出センサ69からの信号などを入力し、必要に応じてシステム起動のための起動信号やシステムメインリレー55やリレー62をオンオフするための制御信号などを出力している。電源ECU90は、システム停止中にブレーキオンの状態でパワースイッチ80からプッシュ信号を入力したときにシステムメインリレー55をオンとし、システムメインリレー55をオンしている状態でパワースイッチ80からプッシュ信号を入力したときにシステムメインリレー55をオフとする。システムメインリレー55がオンされると、エンジンECU24やモータECU40,バッテリECU52,ハイブリッド用電子制御ユニット70などの各ECUに低圧バッテリ54からの電力が供給されシステム起動される。また、電源ECU90は、システム停止中に電源コード68が外部電源に接続されてその接続が接続検出センサ69により検出されたときにも、外部電源からの電力により高圧バッテリ50を充電するために、システムメインリレー55とリレー62とをオンとする。ハイブリッド用電子制御ユニット70は、CPU72を中心とするマイクロプロセッサとして構成されており、CPU72の他に処理プログラムを記憶するROM74と、データを一時的に記憶するRAM76と、図示しない入出力ポートおよび通信ポートとを備える。ハイブリッド用電子制御ユニット70には、シフトレバー81の操作位置を検出するシフトポジションセンサ82からのシフトポジションSP,アクセルペダル83の踏み込み量を検出するアクセルペダルポジションセンサ84からのアクセル開度Acc,ブレーキペダル85の踏み込み量を検出するブレーキペダルポジションセンサ86からのブレーキペダルポジションBP,車速センサ88からの車速Vなどが入力ポートを介して入力されている。ハイブリッド用電子制御ユニット70からは、システムメインリレー55やリレー62への駆動信号やAC/DCコンバータ66へのスイッチング制御信号,DC/DCコンバータ64へのスイッチング制御信号などが出力ポートを介して出力されている。ハイブリッド用電子制御ユニット70は、エンジンECU24やモータECU40,バッテリECU52と通信ポートを介して接続されており、エンジンECU24やモータECU40,バッテリECU52と各種制御信号やデータのやりとりを行なっている。こうして構成された実施例のハイブリッド自動車20は、基本的には、ハイブリッド用電子制御ユニット70によって実行される以下に説明する駆動制御によって走行する。ハイブリッド用電子制御ユニット70は、エンジン22を運転しながら走行するときには、まず、アクセルペダルポジションセンサ84からのアクセル開度Accと車速センサ88からの車速Vとに応じて走行のために駆動軸32に要求される要求トルクTrを設定し、要求トルクTrに駆動軸32の回転数Nr例えば、モータMG2の回転数や車速Vに換算係数を乗じて得られる回転数を乗じて走行に要求される走行用パワーPdrvを計算する。次に、高圧バッテリ50の蓄電割合SOCに基づいて高圧バッテリ50を充放電するための充放電要求パワーPbと走行用パワーPdrvと損失Lossとの和としてエンジン22から出力すべき要求パワーPeを計算すると共にエンジン22を効率よく運転することができるエンジン22の回転数NeとトルクTeとの関係としての動作ライン例えば燃費最適動作ラインと計算した要求パワーPeとを用いてエンジン22の目標回転数Neと目標トルクTeとを設定する。そして、高圧バッテリ50の入出力制限Win,Woutの範囲内で、エンジン22の回転数Neが目標回転数Neとなるようにするための回転数フィードバック制御によりモータMG1から出力すべきトルクとしてのトルク指令Tm1を設定すると共にモータMG1をトルク指令Tm1で駆動したときにプラネタリギヤ30を介して駆動軸32に作用するトルクを要求トルクTrから減じたトルクをモータMG2のトルク指令Tm2として設定する。こうして設定したエンジン22の目標回転数Neと目標トルクTeについてはエンジンECU24に送信すると共にモータMG1,MG2のトルク指令Tm1,Tm2についてはモータECU40に送信する。目標回転数Neと目標トルクTeとを受信したエンジンECU24は、目標回転数Neと目標トルクTeとによってエンジン22が運転されるようエンジン22の吸入空気量制御や燃料噴射制御,点火制御などを実行し、モータMG1,MG2のトルク指令Tm1,Tm2を受信したモータECU40は、モータMG1,MG2がトルク指令Tm1,Tm2で駆動されるようインバータ41,42のスイッチング素子をスイッチング制御する。以下、こうした走行をハイブリッド走行という。また、ハイブリッド用電子制御ユニット70は、エンジン22の運転を停止した状態で走行するときには、アクセル開度Accと車速Vとに応じて駆動軸32に要求される要求トルクTrを設定し、バッテリ50の入出力制限Win,Woutの範囲内で、モータMG1のトルク指令Tm1に値0を設定すると共にモータMG2のトルク指令Tm2に要求トルクTrを設定する。そして、設定したトルク指令Tm1,Tm2についてはモータECU40に送信する。トルク指令Tm1,Tm2を受信したモータECU40は、モータMG1,MG2がトルク指令Tm1,Tm2で駆動されるようインバータ41,42のスイッチング素子をスイッチング制御する。以下、こうした走行を電動走行という。さらに、ハイブリッド用電子制御ユニット70は、走行中にアクセルオフされて制動力が要求された場合、高圧バッテリ50の入力制限Winの絶対値が値0近傍のときなど、高圧バッテリ50に充電することができないときには、モータMG1,MG2のトルク指令Tm1,Tm2に値0を設定すると共に要求された制動力を図示しない油圧ブレーキにより出力する。モータECU40は、トルク指令Tm1,Tm2が値0のときには、モータMG1,MG2からトルクが出力されないようd軸電流が流れるよう対応するインバータのトランジスタをスイッチング制御するゼロトルク制御を実行する。このゼロトルク制御を実行する際において、制御誤差対象のモータの状態を検出するセンサによる検出遅れや検出誤差,モータECU40による演算遅れなどを考慮しなければ、理論上、対象のモータからトルクは出力されないが、実際には、制御誤差に起因して対象のモータから若干のトルク力行トルクまたは回生トルクが出力され、そのトルクが回生トルクであるときには、そのトルクに応じた電力が高電圧系電力ライン54aや昇圧コンバータ55を介して電池電圧系電力ライン54bに供給される。なお、ゼロトルク制御は、前述したアクセルオフによる制動力が要求された場合の他、車両を牽引する場合などにも実行される。また、実施例のハイブリッド自動車20では、自宅や予め設定された充電ポイントで車両をシステム停止した後に電源コード68が外部電源に接続されてその接続が接続検出センサ69によって検出されると、システムメインリレー55とリレー62とをオンとし、充電器60を制御して外部電源からの電力により高圧バッテリ50を充電する。そして、高圧バッテリ50の充電後にシステム起動したときには、高圧バッテリ50の蓄電割合SOCがエンジン22の始動を行なうことができる程度に設定された閾値Shv例えば、20や30などに至るまで電動走行を優先して走行する電動走行優先モードによって走行し、高圧バッテリ50の蓄電割合SOCが閾値Shvに至った以降はハイブリッド走行を優先して走行するハイブリッド走行優先モードによって走行する。次に、車両がシステムオフの状態で電源コード68が外部電源に接続されたときの動作について説明する。図2は、ハイブリッド用電子制御ユニット70により実行される充電制御ルーチンの一例を示すフローチャートである。このルーチンは、電源コード68と外部電源との接続が接続検出センサ69によって検出されて電源ECU90から充電の指示がなされたときに実行される。前述したように、電源ECU90は、電源コード68と外部電源との接続が接続検出センサ69によって検出されると、システムメインリレー55とリレー62とをオンとする。図2の充電制御ルーチンが実行されると、ハイブリッド用電子制御ユニット70のCPU72は、まず、高圧バッテリ50の入力制限Winの範囲内で設定された充電電力Wbによって高圧バッテリ50が充電されるよう充電器60を制御する充電制御の実行を開始するステップS100。ここで、充電制御は、充電器60から高圧バッテリ50に供給される電力が充電電力WbになるようAC/DCコンバータ66とDC/DCコンバータ64のスイッチング素子をスイッチング制御することにより行なわれる。そして、高圧バッテリ50の電池電圧Vbが充電完了を判定する充電完了電圧Vに至るまで待ってステップS110,S120、AC/DCコンバータ66とDC/DCコンバータ64をシャットダウンすると共に充電の完了を電源ECU90に通知して充電制御を終了しステップS130、本ルーチンを終了する。ここで、充電完了電圧Vは、過電圧センサ51dにより用いられる過電圧閾値Vrefよりも若干低い電圧として後述する過充電判定処理ルーチンにより設定される。充電の完了通知を受信した電源ECU90は、システムメインリレー55とリレー62とをオフとする。次に、高圧バッテリ50の過充電を判定する処理について説明する。図3は、ハイブリッド用電子制御ユニット70により実行される過充電判定処理ルーチンの一例を示すフローチャートである。このルーチンは、システム起動直後から所定時間毎例えば、数十msec毎や数百msec毎に繰り返し実行される。過充電判定処理ルーチンが実行されると、ハイブリッド用電子制御ユニット70のCPU72は、まず、過電圧判定信号Voを入力しステップS200、入力した過電圧信号Voがオンか否かを判定するステップS210。過電圧信号Voがオンのときには、過電圧発生フラグFvoを調べステップS220、過電圧発生フラグFvoが値1のときにはそのまま次の処理に進み、過電圧発生フラグFvoが値0のときには過電圧発生フラグFvoに値1を設定するステップS230。続いて、過電圧信号Voのオン出力が所定時間Trefに亘って継続しているか否かを判定するステップS240。ここで、所定時間Trefは、高圧バッテリ50の過充電による異常を確定させるための時間であり、例えば、30分や60分などのように予め設定することができる。図4は、過電圧信号がオン出力される様子を示す説明図である。いま、高圧バッテリ50の充電が完了された直後にはセル電圧が過電圧閾値Vrefを下回っている場合を考える。この場合、過電圧信号Voはオン出力されないが、周囲温度の変化によって過電圧センサ51dの測定誤差が変化すると、過電圧センサ51でセル電圧が過電圧閾値Vrefを上回るようになり温度ドリフト、過電圧信号Voがオン出力される場合が生じる。実施例では、過充電異常の確定を所定時間Trefに亘って遅延させることで、こうした異常の誤判定がなされないようにしている。過電圧信号Voのオン出力が所定時間Trefに亘って継続していないときには、高圧バッテリ50を放電させるための放電制御を実行してステップS250、本ルーチンを終了する。ここで、放電制御は、実施例では、エンジン22が所定回転数でモータリングされるようモータMG1を駆動制御することにより行なうものとした。これにより、高圧バッテリ50からの電力はエンジン22のフリクションロス摩擦損失により迅速に消費されることになる。勿論、高圧バッテリ50が放電されればよいから、これに限られず、図示しない補機を作動させるなど如何なる放電制御を実行するものとしてもよい。過電圧信号Voのオン出力が所定時間Trefに亘って継続しているときには、高圧バッテリ50の過充電異常を確定してステップS260、本ルーチンを終了する。実施例のハイブリッド自動車20では、過充電異常が出力されると、運転席近傍に設けられた異常ランプを点灯すると共に過充電異常をダイアグ出力し、システムメインリレー55をオフして高圧バッテリ50を切り離す処理などが行なわれる。ステップS210で過電圧信号Voがオフと判定されたときには、過電圧発生フラグFvoの値を調べステップS270、過電圧発生フラグFvoが値0のときには、検出遅延発生フラグFsdに値0を設定してステップS280、本ルーチンを終了し、過電圧発生フラグFvoが値1のときには、検出遅延発生フラグFsdに値1を設定すると共にステップS290、過電圧判定信号Voの出力継続時間を遅延時間Tsdとして計測しステップS300、過電圧発生フラグFvoを値0にリセットしてステップS310、本ルーチンを終了する。ここで、今は過電圧信号Voがオフのときを考えており、過電圧発生フラグFvoは前述したようにシステム起動された以降に1度でも過電圧信号Voがオン出力されると値1となるから、検出遅延発生フラグFsdはシステム起動された以降に過電圧信号Voがオン出力されたがその後に解消オフしたときに値1が設定されることになる。次に、充電完了電圧Vを設定する処理について説明する。図5は、実施例のハイブリッド用電子制御ユニット70により実行される充電完了電圧設定ルーチンの一例を示すフローチャートである。このルーチンは、例えば、パワースイッチ80がオフされて電源ECU90からシステム停止が指示されたときに実行される。充電完了電圧設定ルーチンが実行されると、ハイブリッド用電子制御ユニット70のCPU72は、まず、検出遅延発生フラグFsdと遅延時間Tsdを入力しステップS400、入力した検出遅延発生フラグFsdが値1か否かを判定するステップS410。検出遅延発生フラグFsdが値1のときには、検出遅延トリップ回数Nを値1だけインクリメントしステップS420、検出遅延トリップ回数Nにゲインkを乗じたものを遅延ペナルティΔV1に設定してステップS430、検出遅延トリップ回数Nと遅延ペナルティΔV1とをEEPROM94に記憶するステップS440。ここで、ゲインkは、検出遅延トリップ回数Nを電圧換算する換算係数であり、適宜定めることができる。このゲインkは、検出遅延トリップ回数Nが今までの累積回数としてカウントされるため、遅延ペナルティΔV1が過大とならないよう比較的小さな値を定めるものとした。なお、ステップS420~S440の処理は、EEPROM94に記憶されている検出遅延トリップ回数Nを電源ECU90から通信により入力し、入力した検出遅延トリップ回数Nを値1だけインクリメントすると共に検出遅延トリップ回数Nにゲインkを乗じたものを遅延ペナルティΔV1に設定して検出遅延トリップ回数Nと遅延ペナルティΔV1とをEEPROM94に上書きするよう電源ECU90に指示することにより行なうことができる。続いて、入力した遅延時間Tsdにゲインs1を乗じたものを前回の遅延ペナルティΔV2に加算することにより今回の遅延ペナルティΔV2を設定しステップS450、設定した遅延ペナルティΔV2をSRAM92に記憶するステップS460。ここで、ゲインs1は、遅延時間Tsdを電圧換算する換算係数であり、適宜定めることができる。このゲインs1は、遅延ペナルティΔV2が検出遅延発生フラグFsdの値によってトリップ毎に増減するため、遅延ペナルティΔV2が遅延ペナルティΔV1に比して大きく変化するよう比較的大きな値を定めるものとした。なお、ステップS450,460の処理は、SRAM92に記憶されている遅延ペナルティΔV2を電源ECU90から通信により入力し、遅延時間Tsdにゲインs1を乗じたものを入力した遅延ペナルティΔV2に加えて新たな遅延ペナルティΔV2を設定し、設定した新たな遅延ペナルティΔV2をSRAM92に上書きするよう電源ECU90に指示することにより行なうことができる。こうして遅延ペナルティΔV1,ΔV2を設定すると、遅延ペナルティΔV1,ΔV2の和を全体の遅延ペナルティΔVとして計算しステップS490、計算した遅延ペナルティΔVを初期値Vsetから減算したものを充電完了電圧Vに設定してステップS500、本ルーチンを終了する。ステップS410で検出遅延発生フラグFsdが値0と判定されたときには、前回の遅延ペナルティΔV2にゲインs2を乗じたものを今回の遅延ペナルティΔV2に設定しステップS470、設定した遅延ペナルティΔV2がSRAM92に記憶されるよう電源ECU90に指示しステップS480、前回の遅延ペナルティΔV1と設定した遅延ペナルティΔV2との和により全体の遅延ペナルティΔVを計算しステップS490、計算した遅延ペナルティΔVを初期値Vsetから減算したものを充電完了電圧Vに設定してステップS500、本ルーチンを終了する。ここで、ゲインs2は、今回の遅延ペナルティΔV2を前回の遅延ペナルティよりも一定割合低減させることで充電完了電圧Vを増加させるためのものであり、例えば、0.3や0.5などのように値0よりも大きく値1よりも小さい範囲内で適宜定めることができる。ここで、実施例では、遅延ペナルティΔV1は、揮発性メモリであるSRAM92に保存するものとしているが、SRAM92は電源ECU90に組み込まれており、電源ECU90はシステム停止中でも低圧バッテリ58からの給電を常に受けているため、システム停止時に遅延ペナルティΔV1の内容が消去されることはない。ただし、メンテナンスなどにより低圧バッテリ58が取り外されると、電源ECU90は停止するから、遅延ペナルティΔV1の内容は消去される。一方、遅延ペナルティΔV2は、不揮発性メモリであるEEPROM94に保存するものとしているから、低圧バッテリ58が取り外されても内容は消去されない。実施例では、高圧バッテリ50が交換されたり高圧バッテリ50を監視するユニット電子制御ユニットが交換されたときに遅延ペナルティΔV2の内容をリセットするものとしている。図6は、遅延ペナルティΔVの変化の様子を示す説明図である。遅延ペナルティΔV1は、検出遅延トリップ回数システム起動回数Nが多いほど累積的に増加するものとなっており、高圧バッテリ50の容量変化など経年変化に対応したものとなる。一方、遅延ペナルティΔV2は、検出遅延過電圧判定信号Voの出力が発生すると次回のトリップで増加し検出遅延が発生しなければ次回のトリップでは減少するものとなっており、例えば長い坂道を下る場合や車両が牽引される場合など前述したゼロトルク制御の実行などに起因して僅かな電流により充電され続ける特殊な場面に対応したものとなる。このように、学習方法が異なる2種類の遅延ペナルティを用いることにより、あらゆる状況に対しても適正な充電完了電圧Vを設定することができるのである。以上説明した実施例の二次電池の充電装置によれば、外部電源からの電力を用いて充電器60により高圧バッテリ50を充電完了電圧Vまで充電した後にシステム起動した場合、過電圧センサ51dからの過電圧判定信号Voがオンとなってが過充電異常が確定する前にオフとなって検出遅延が発生したときには、検出遅延が発生したトリップ回数検出遅延トリップ回数Nに基づいて遅延ペナルティΔV1を設定すると共に過電圧判定信号Voの出力継続時間としての遅延時間Tsdに基づいて遅延ペナルティΔV2を設定し、設定した遅延ペナルティΔV1,ΔV2の和により全体の遅延ペナルティΔVを設定し、設定した遅延ペナルティΔVを初期値Vsetから減じたものを次回に外部電源から高圧バッテリ50を充電する際に充電の完了を判定するための電圧である充電完了電圧Vとして設定するから、学習方法が異なる2種類の遅延ペナルティΔVを用いることにより、あらゆる状況に対しても適正な充電完了電圧Vを設定することができ、二次電池の過充電の発生を抑制しながら二次電池の性能を発揮させることができる。実施例の二次電池の充電装置では、遅延ペナルティΔV1に検出遅延トリップ回数Nにゲインkを乗じたものを設定するものとしたが、検出遅延トリップ回数N以外の他のパラメータも追加し、検出遅延トリップ回数Nを含む複数のパラメータから遅延ペナルティΔV1を設定するものとしてもよい。この場合、例えば、システム起動直後に過電圧判定信号Voがオンされたときには、過電圧信号Voがオンされてからオフされるまでの高圧バッテリ50の放電積算量充放電電流Ibの積算値を電圧換算し、検出遅延トリップ回数Nを電圧換算したものと放電積算量を電圧換算したものとのうち大きい方を遅延ペナルティΔV1として設定するものとしてもよい。実施例の二次電池の充電装置では、遅延ペナルティΔV1としては、検出遅延が発生したときには、検出遅延トリップ回数Nにゲインkを乗じたものを新たな遅延ペナルティΔV1に設定するものとしたが、検出遅延トリップ回数Nが多いほど値が大きくなるようゲインを設定すると共に設定したゲインを前回の遅延ペナルティΔV1に乗じて新たな遅延ペナルティΔV1に設定するものとしてもよい。また、遅延ペナルティΔV2としては、検出遅延が発生したときには、遅延時間Tsdにゲインs1を乗じたものを前回の遅延ペナルティΔV2に加算することにより新たな遅延ペナルティΔV2を設定するものとしたが、遅延時間Tsdが長いほど値が大きくなるようゲインを設定すると共に設定したゲインを前回の遅延ペナルティΔV2に乗じて新たな遅延ペナルティΔV2に設定するものとしてもよい。また、検出遅延が発生しなかったときには、前回の遅延ペナルティΔV2に値0よりも大きく値1よりも小さいゲインs2を乗じたものを新たな遅延ペナルティΔV2に設定するものとしたが、前回の遅延ペナルティΔV2に予め定めた所定値を減算したものを新たな遅延ペナルティΔV2に設定するものとしてもよい。実施例の二次電池の充電装置では、遅延ペナルティΔV1をEEPROM94に保存し、遅延ペナルティΔV2をSRAM92に保存するものとしたが、遅延ペナルティΔV1も遅延ペナルティΔV2も共に同じメモリに保存するものとしてもよい。実施例のハイブリッド自動車20が搭載する電源装置では、インバータ41,42や高圧バッテリ50が接続された高電圧系電力ライン54aに取り付けられて高圧バッテリ50からの電力を昇圧して高電圧系電力ライン54aに供給する昇圧コンバータ56を備えるものとしたが、昇圧コンバータ56を備えないものとしてもよい。実施例の電源装置を搭載するハイブリッド自動車20では、モータMG2の動力を駆動軸32に出力するものとしたが、図7の変形例のハイブリッド自動車120に例示するように、モータMG2の動力を駆動軸32が接続された車軸駆動輪39a,39bが接続された車軸とは異なる車軸図7における車輪39c,39dに接続された車軸に出力するハイブリッド自動車に搭載される電源装置としてもよい。実施例では、駆動軸32にプラネタリギヤ30を介して接続されたエンジン22およびモータMG1と、駆動軸32に接続されたモータMG2と、を備えるハイブリッド自動車20に搭載される電源装置としたが、図8の変形例の電気自動車220に例示するように、走行用の動力を出力するモータMGを備える単純な電気自動車に搭載される電源装置として適用するものとしてもよい。実施例の主要な要素と課題を解決するための手段の欄に記載した発明の主要な要素との対応関係について説明する。実施例では、高圧バッテリ50が二次電池に相当し、高圧バッテリ50を充電する充電器60と充電時に高圧バッテリ50の電圧Vbが充電完了電圧Vに至るまで充電する図3の充電制御ルーチンを実行するハイブリッド用電子制御ユニット70とが充電手段に相当し、SRAM92とEEPROM94とが記憶手段に相当し、高圧バッテリ50を構成する各セル間に取り付けられた電圧センサからのセル電圧のいずれかが過電圧であると予め定められた過電圧用閾値Vrefより高いときにオン出力する過電圧センサ51dが過電圧検出手段に相当し、検出遅延トリップ回数Nに基づいて遅延ペナルティΔV1を設定してEEPROM94に保存すると共に遅延時間Tsdに基づいて遅延ペナルティΔV2を設定してSRAM92に保存する図5の充電完了電圧設定ルーチンのステップS400~S480の処理を実行するハイブリッド用電子制御ユニット70が学習値設定記憶手段に相当し、遅延ペナルティΔV1と遅延ペナルティΔV2との和を初期値Vsetから減じたものを充電完了電圧Vとして設定する充電完了電圧設定ルーチンのステップS490,S500の処理を実行するハイブリッド用電子制御ユニット70が充電完了電圧設定手段に相当する。ここで、二次電池としては、リチウムイオン二次電池として構成された高圧バッテリ50に限定されるものではなく、ニッケル水素二次電池やニッケルカドミウム二次電池,鉛蓄電池など如何なるタイプの二次電池であっても構わない。過電圧状態検出手段としては、高圧バッテリ50を構成する各セル間に取り付けられた電圧センサからの電圧が過電圧であると予め定められた過電圧用閾値Vrefより高いときにオン出力する過電圧センサ51dに限定されるものではなく、高圧バッテリ50を構成する複数セルからなる電池モジュール毎に取り付けられた電圧センサからの電圧が過電圧であると予め定められた過電圧用閾値より高いときにオン出力する過電圧センサとするなど、二次電池の電圧が予め定めた判定電圧以上である過電圧状態を検出するものであれば如何なるものとしても構わない。充電手段としてはAC/DCコンバータ66とDC/DCコンバータ64とを備える充電器60および高圧バッテリ50の充電時には高圧バッテリ50の電池電圧Vbが過電圧閾値Vrefにセル数を乗じた電圧より低い電圧として設定された充電完了電圧Vに至るまで充電する制御を実行するハイブリッド用電子制御ユニット70との組み合わせに限定されるものではなく、システム停止している最中に外部電源に接続されて外部電源からの電力を用いて二次電池を充電するものであれば如何なるものとしても構わない。なお、実施例の主要な要素と課題を解決するための手段の欄に記載した発明の主要な要素との対応関係は、実施例が課題を解決するための手段の欄に記載した発明を実施するための形態を具体的に説明するための一例であることから、課題を解決するための手段の欄に記載した発明の要素を限定するものではない。即ち、課題を解決するための手段の欄に記載した発明についての解釈はその欄の記載に基づいて行なわれるべきものであり、実施例は課題を解決するための手段の欄に記載した発明の具体的な一例に過ぎないものである。以上、本発明を実施するための形態について実施例を用いて説明したが、本発明はこうした実施例に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において、種々なる形態で実施し得ることは勿論である。"