以下、図を参照して本発明の実施の形態を説明する。まず、それぞれの実施形態に共通する構成要素について説明する。図1は車両用回転電機の駆動システムを示すブロック図である。図1に示す駆動システムは、電池モジュール9、電池モジュール9を監視する電池監視装置100、電池モジュール9からの直流電力を3相交流電力に変換するインバータ装置220、車両駆動用のモータ230を備えている。モータ230は、インバータ装置220からの3相交流電力により駆動される。インバータ装置220と電池監視装置100とはCAN通信で結ばれており、インバータ装置220は電池監視装置100に対して上位コントローラとして機能する。また、インバータ装置220は、さらに上位のコントローラ(不図示)からの指令情報に基づいて動作する。
インバータ装置220は、パワーモジュール226と、MCU222と、パワーモジュール226を駆動するためのドライバ回路224とを有している。パワーモジュール226は、電池モジュール9から供給される直流電力を、モータ230を駆動するための3相交流電力に変換する。なお、図示していないが、パワーモジュール226に接続される強電ラインHV+,HV−間には、約700μF〜約2000μF程度の大容量の平滑キャパシタが設けられている。この平滑キャパシタは、電池監視装置100に設けられた集積回路に加わる電圧ノイズを低減する働きをする。
インバータ装置220の動作開始状態では平滑キャパシタの電荷は略ゼロであり、リレーRLを閉じると大きな初期電流が平滑キャパシタへ流れ込む。そして、この大電流のためにリレーRLが融着して破損するおそれがある。この問題を解決するために、MCU222は、さらに上位のコントローラからの命令に従い、モータ230の駆動開始時に、プリチャージリレーRLPを開状態から閉状態にして平滑キャパシタを充電し、その後にリレーRLを開状態から閉状態として、電池モジュール9からインバータ装置220への電力の供給を開始する。平滑キャパシタを充電する際には、抵抗RPを介して最大電流を制限しながら充電を行う。このような動作を行うことで、リレー回路を保護すると共に、電池セルやインバータ装置220を流れる最大電流を所定値以下に低減でき、高い安全性を維持できる。
なお、インバータ装置220は、モータ230の回転子に対するパワーモジュール226により発生する交流電力の位相を制御して、車両制動時にはモータ230をジェネレータとして動作させる。すなわち回生制動制御を行い、ジェネレータ運転により発電された電力を電池モジュール9に回生して電池モジュール9を充電する。電池モジュール9の充電状態が基準状態より低下した場合には、インバータ装置220はモータ230を発電機として運転する。モータ230で発電された3相交流電力は、パワーモジュール226により直流電力に変換されて電池モジュール9に供給される。その結果、電池モジュール9は充電される。
一方、モータ230を力行運転する場合、MCU222は上位コントローラの命令に従い、モータ230の回転子の回転に対して進み方向の回転磁界を発生するようにドライバ回路224を制御し、パワーモジュール226のスイッチング動作を制御する。この場合は、電池モジュール9から直流電力がパワーモジュール226に供給される。また、回生制動制御により電池モジュール9を充電する場合には、MCU222は、モータ230の回転子の回転に対して遅れ方向の回転磁界を発生するようにドライバ回路224を制御し、パワーモジュール226のスイッチング動作を制御する。この場合はモータ230から電力がパワーモジュール226に供給され、パワーモジュール226の直流電力が電池モジュール9へ供給される。結果的にモータ230は発電機として作用することとなる。
インバータ装置220のパワーモジュール226は、導通および遮断動作を高速で行い直流電力と交流電力間の電力変換を行う。このとき、大電流を高速で遮断するので、直流回路の有するインダクタンスにより大きな電圧変動が発生する。この電圧変動を抑制するため、上述した大容量の平滑キャパシタが設けられている。
電池モジュール9は、直列接続された2つの電池ブロック9A,9Bで構成されている。各電池ブロック9A,9Bは、直列接続された16セルの電池セルを備えている。電池ブロック9Aと電池ブロック9Bとは、スイッチとヒューズとが直列接続された保守・点検用のサービスディスコネクトSDを介して直列接続される。このサービスディスコネクトSDが開くことで電気回路の直接回路が遮断され、仮に電池ブロック9A,9Bのどこかで車両との間に1箇所接続回路ができたとしても電流が流れることはない。このような構成により高い安全性を維持できる。又、点検時に人間がHV+とHV−の間を触っても、高電圧は人体に印加されないので安全である。
電池モジュール9とインバータ装置220との間の強電ラインHV+には、リレーRL,抵抗RPおよびプリチャージリレーRLPを備えた電池ディスコネクトユニットBDUが設けられている。抵抗RPとプリチャージリレーRLPとの直列回路は、リレーRLと並列に接続されている。
電池監視装置100は、主に各セル電圧の測定、総電圧の測定、電流の測定、セル温度およびセルの容量調整等を行う。そのために、セルコントローラとしてのIC(集積回路)1〜IC6が設けられている。各電池ブロック9A,9B内に設けられた16セルの電池セルは、それぞれ3つのセルグループに分けられ、各セルグループ毎に一つの集積回路が設けられている。
IC1〜IC6は、通信系602と1ビット通信系604とを備えている。セル電圧値読み取りや各種コマンド送信のための通信系602においては、絶縁素子(例えば、フォトカプラ)PHを介してデイジーチェーン方式でマイコン30とシリアル通信を行う。1ビット通信系604は、セル過充電が検知されたときの異常信号を送信する。図1に示す例では、通信系602は、電池ブロック9AのIC1〜IC3に対する上位の通信経路と、電池ブロック9BのIC4〜IC6に対する下位の通信経路とに分けられている。
各ICは異常診断を行い、自分自身が異常と判断した場合、あるいは前のICから異常信号を受信端子FFIで受信した場合に、送信端子FFOから異常信号を送信する。一方、既に受信端子FFIで受信していた異常信号が消えたり、あるいは自分自身の異常判断が正常判断となったりした場合には、送信端子FFOから伝送される異常信号は消える。この異常信号は本実施形態では1ビット信号である。
マイコン30は異常信号をICに送信しないが、異常信号の伝送路である1ビット通信系604が正しく動作することを診断するために、擬似異常信号であるテスト信号を1ビット通信系604に送出する。このテスト信号を受信したIC1は異常信号を通信系604へ送出し、その異常信号がIC2によって受信される。異常信号はIC2からIC3、IC4、IC5、IC6の順に送信され、最終的にはIC6からマイコン30へと返信される。通信系604が正常に動作していれば、マイコン30から送信された擬似異常信号は通信系604を介してマイコン30に戻ってくる。このように擬似異常信号をマイコン30が送受することで通信系604の診断ができ、システムの信頼性が向上する。
電池ディスコネクトユニットBDU内にはホール素子等の電流センサSiが設置されており、電流センサSiの出力はマイコン30に入力される。電池モジュール9の総電圧および温度に関する信号もマイコン30に入力され、それぞれマイコン30のAD変換器(ADC)によって測定される。温度センサは電池ブロック9A,9B内の複数箇所に設けられている。
図2は、図1の電池ブロック9Aに関するIC1〜IC3の部分を示す図である。なお、説明は省略するが、電池ブロック9Bに関しても同様の構成となっている。電池ブロック9Aに設けられている16セルの電池セルは、4セル、6セル、6セルの3つにセルグループに分かれており、各セルグループに対応してIC1,IC2,IC3が設けられている。
IC1のCV1〜CV6端子は電池セルのセル電圧を計測するための端子であり、各ICは6セルまで計測することができる。6セルを監視するIC2,IC3の場合、CV1〜CV6端子の電圧計測ラインには、端子保護及び容量調整の放電電流制限のための抵抗RCVがそれぞれ設けられている。一方、4セルを監視するIC1の場合には、CV3〜CV6端子の電圧計測ラインに、端子保護及び容量調整の放電電流制限のための抵抗RCVがそれぞれ設けられている。各電圧計測ラインはセンシング線LSを介して各電池セルBCの正極または負極に接続されている。なお、電池セルBC6の負極には、IC2,IC3のGNDS端子が接続されている。例えば、電池セルBC1のセル電圧を計測する場合には、CV1−CV2端子間の電圧を計測する。また、電池セルBC6のセル電圧を計測する場合には、CV6−GNDS端子間の電圧を計測する。IC1の場合には、CV3〜CV6端子およびGNDS端子を用いて電池セルBC1〜BC4のセル電圧を計測する。電圧計測ライン間には、コンデンサCv,Cinは、ノイズ対策として設けられている。
電池モジュール9の性能を最大限に活用するためには、32セルのセル電圧を均等化する必要がある。例えば、セル電圧のばらつきが大きい場合、回生充電時に最も高い電池セルが上限電圧に達した時点で回生動作を停止する必要がある。この場合、その他の電池セルのセル電圧は上限に達していないにもかかわらず、回生動作を停止して、ブレーキとしてエネルギーを消費することになる。このようなことを防止するために、各ICは、マイコン30からのコマンドで電池セルの容量調整のための放電を行う。
図2に示すように、各IC1〜IC3は、CV1−BR1,BR2−CV3,CV3−BR3,BR4−CV5,CV5−BR5およびBR6−GNDSの各端子間にセル容量調整用のバランシングスイッチBS1〜BS6を備えている。例えば、IC1の電池セルBC1の放電を行う場合には、バランシングスイッチBS3をオンする。そうすると、電池セルCV1の正極→抵抗RCV→CV1端子→バランシングスイッチBS3→BR3端子→抵抗RB→電池セルCV1の負極の経路でバランシング電流が流れる。RBまたはRBBはバランシング用の抵抗である。
IC1〜IC3間には、上述したように通信系602,604が設けられている。マイコン30からの通信コマンドは、フォトカプラPHを介して通信系602に入力され、通信系602を介してIC1の受信端子LIN1で受信される。IC1の送信端子LIN2からは、通信コマンドに応じたデータやコマンドが送信される。IC2の受信端子LIN1で受信された通信コマンドは、送信端子LIN2から送信される。このように順に受信および送信を行い、伝送信号は、IC3の送信端子LIN2から送信され、フォトカプラPHを介してマイコン30の受信端子で受信される。IC1〜IC3は、受信した通信コマンドに応じて、セル電圧等の測定データのマイコン30への送信や、バランシング動作を行う。さらに、各IC1〜IC3は、測定したセル電圧に基づいてセル過充電を検知する。その検知結果(異常信号)は、信号系604を介してマイコン30へ送信される。
図3はIC内部ブロックの概略を示す図であり、6つの電池セルBC1〜BC6が接続されるIC2を例に示した。なお、説明は省略するが、他のICに関しても同様の構成となっている。IC2には、電池状態検出回路としてのマルチプレクサ120やアナログデジタル変換器122A,IC制御回路123,診断回路130,伝送入力回路138,142,伝送出力回路140,143,起動回路254,タイマ回路150,制御信号検出回路160,差動増幅器262およびOR回路288が設けられている。
電池セルBC1〜BC6の端子電圧は、CV1端子〜CV6端子およびGNDS端子を介してマルチプレクサ120に入力される。マルチプレクサ120はCV1端子〜CV6端子およびGNDS端子のいずれかを選択して、端子間電圧を差動増幅器262に入力する。差動増幅器262の出力は、アナログデジタル変換器122Aによりデジタル値に変換される。デジタル値に変換された端子間電圧はIC制御回路123に送られ、内部のデータ保持回路125に保持される。CV1〜CV6,GNDS端子に入力される各電池セルBC1〜BC6の端子電圧は、IC2のグランド電位に対して直列接続された電池セルの端子電圧に基づく電位でバイアスされている。上記差動増幅器262により上記バイアス電位の影響が除去され、各電池セルBC1〜BC6の端子電圧に基づくアナログ値がアナログデジタル変換器122Aに入力される。
IC制御回路123は、演算機能を有すると共に、データ保持回路125と、電圧測定や状態診断を周期的に行うタイミング制御回路126と、診断回路130からの診断フラグがセットされる診断フラグ保持回路128とを有している。IC制御回路123は、伝送入力回路138から入力された通信コマンドの内容を解読し、その内容に応じた処理を行う。コマンドとしては、例えば、各電池セルの端子間電圧の計測値を要求するコマンド、各電池セルの充電状態を調整するための放電動作を要求するコマンド、当該ICの動作を開始するコマンド(Wake UP)、動作を停止するコマンド(スリープ)、アドレス設定を要求するコマンド、等を含んでいる。
診断回路130は、IC制御回路123からの計測値に基づいて、各種診断、例えば過充電診断や過放電診断を行う。データ保持回路125は、例えばレジスタ回路で構成されており、検出した各電池セルBC1〜BC6の各端子間電圧を各電池セルBC1〜BC6に対応づけて記憶し、また、その他の検出値を、予め定められたアドレスに読出し可能に保持する。
IC2の内部回路には、少なくとも2種類の電源電圧VCC,VDDが使用される。図3に示す例では、電圧VCCは直列接続された電池セルBC1〜BC6で構成される電池セルグループの総電圧であり、電圧VDDは定電圧電源134によって生成される。マルチプレクサ120および信号伝送のための伝送入力回路138,142は高電圧VCCで動作する。また、アナログデジタル変換器122A、IC制御回路123、診断回路130、信号伝送のための伝送出力回路140,143は低電圧VDDで動作する。
IC2の受信端子LIN1で受信した信号は伝送入力回路138に入力され、受信端子FFIで受信した信号は伝送入力回路142に入力される。伝送入力回路142は、伝送入力回路138と同様の回路構成となっている。伝送入力回路138は、隣接する他のICからの信号を受信する回路231とフォトカプラPHからの信号を受信する回路234とを備えている。
図2に示すように、最上位のIC1の場合には、フォトカプラPHからの信号が受信端子LIN1に入力され、他のIC2,IC3の場合には、隣接ICからの信号が受信端子LIN1に入力される。そのため、回路231および234のどちらを使用するかは、図3の制御端子CTに印加される制御信号に基づき、切換器233により選択される。制御端子CTに印加された制御信号は、制御信号検出回路160に入力され、切換器233は制御信号検出回路160からの指令により切り替え動作を行う。
すなわち、ICの伝送方向最上位のICである場合、すなわち、ICの受信端子LIN1に上位コントローラ(マイコン30)からの信号が入力される場合には、切換器233は下側接点が閉じ、回路234の出力信号が伝送入力回路138から出力される。一方、ICの受信端子LIN1に隣接ICからの信号が入力される場合には、切換器233は上側接点が閉じ、回路232の出力信号が伝送入力回路138から出力される。図3に示すIC2の場合、伝送入力回路138には隣接IC1からの信号が入力されるので、切換器233は上側接点が閉じる。上位コントローラ(マイコン30)からの出力と隣接ICの送信端子LIN2からの出力とでは出力波形の波高値が異なるため、判定する閾値が異なる。そのため、制御端子TCの制御信号に基づいて、回路138の切換器233を切り換えるようにしている。なお、通信系604についても同様の構成となっている。
受信端子LIN1で受信された通信コマンドは、伝送入力回路142を通ってIC制御回路123に入力される。IC制御回路123は、受信した通信コマンドに応じたデータやコマンドを伝送出力回路140へ出力する。それらのデータやコマンドは、伝送出力回路140を介して送信端子LIN2から送信される。なお、伝送出力回路143も、伝送出力回路140と同様の構成である。
端子FFIから受信した信号は、異常状態(過充電信号)を伝送するために使用される。端子FFIから異常を表す信号を受信すると、その信号は伝送入力回路142およびOR回路288を介して伝送出力回路143に入力され、伝送出力回路143から端子FFOを介して出力される。また診断回路130で異常を検知すると、端子FFIの受信内容に関係なく、診断フラグ保持回路128からOR回路288を介して伝送出力回路143に異常を表す信号が入力され、伝送出力回路143から端子FFOを介して出力される。
隣接ICまたはフォトカプラPHから伝送されてきた信号を起動回路254により受信すると、タイマ回路150が動作し、定電圧電源134に電圧VCCを供給する。この動作により定電圧電源134は動作状態となり、定電圧VDDを出力する。定電圧電源134から定電圧VDDが出力されるとIC2はスリープ状態から立ち上がり動作状態となる。
前述したように、IC内には、電池セルBC1〜BC6の充電量を調整するためのバランシングスイッチSB1〜SB6が設けられている。本実施形態では、バランシングスイッチBS1,BS3,BS5にはPMOSスイッチが用いられ、バランシングスイッチBS2,BS4,BS6にはNMOSスイッチが用いられている。
これらのバランシングスイッチSB1〜SB6の開閉は、放電制御回路132によって制御される。マイコン30からの指令に基づいて、放電させるべき電池セルに対応したバランシングスイッチを導通させるための指令信号が、IC制御回路123から放電制御回路132に送られる。IC制御回路123は、マイコン30から各電池セルBC1〜BC6に対応した放電時間の指令を通信により受け、上記放電の動作を実行する。
〈診断および計測:動作スケジュール概要〉
図4は、図3に示すタイミング制御回路126で行われる計測動作のタイミングを説明する図である。図2に示す各ICは計測動作と共に診断動作を行う機能を有しており、図4に記載の動作タイミングで繰り返し計測を行い、この計測に同期して診断を実行する。なお、上述した図2ではIC1のセルグループは4個の電池セルを有していたが、IC1〜IC3は6個の電池セルに対応できる回路となっている。従って、各セルグループを構成する電池セルの数は、最大6個まで増やすことが可能である。そのため、図4の動作タイミングを示す図においても、電池セルが6個を前提として構成されている。
IC1〜IC3には、それぞれに対応して設けられたセルグループを構成する電池セル数がそれぞれセットされる。それにより、各IC1〜IC3は関係付けられたセルグループの電池セル数に対応したステージ信号を発生する。このように構成することで、各セルグループを構成する電池セル数を変えることが可能となり設計の自由度が増大すると共に、高速の処理が可能となる。
図4は上述のとおり、診断動作と計測動作のタイミングを説明する図である。上記計測動作のタイミングおよび測定周期、あるいは診断動作は、起動回路254と第1ステージカウンタ256および第2ステージカウンタ258からなるステージカウンタとにより管理される。ステージカウンタ256,258は、集積回路全体の動作を管理する制御信号(タイミング信号)を発生する。ステージカウンタ256,258は、実際には分離されていないが、ここでは理解しやすくするためにあえて分離して示した。ステージカウンタは通常のカウンタであっても良いし、シフトレジスタであっても良い。
起動回路254は、(1)伝送路から送られてくるWake UPを要求する通信コマンドを受信端子LIN1で受信すると、あるいは(2)ICの電源電圧が供給され所定の電圧に達すると、(3)あるいは車のスタータスイッチ(キースイッチ)が投入されたことを表す信号を受信すると、第1と第2のステージカウンタ256,258へリセット信号を出力して各ステージカウンタ256,258を初期状態とし、所定の周波数でクロック信号を出力する。すなわち上記(1)乃至(3)の条件でIC1は計測動作および診断動作を実行する。一方、伝送路からSleepを要求する通信コマンドを受信すると、あるいは該通信コマンドを所定時間以上受信出来ないと、起動回路254はステージカウンタ256,258がリセット状態すなわち初期状態に戻ったタイミングで、クロックの出力を停止する。このクロックの出力停止によりステージの進行が停止されるので、上記計測動作および診断動作の実行は停止状態となる。
起動回路254からのクロック信号を受け、第1ステージカウンタ256はステージSTG2の各期間(後述する[STGCalのRES]期間〜[STGPSBGの計測]期間のそれぞれ)内の処理タイミングを制御する計数値を出力し、デコーダ257は、ステージSTG2の各期間内の処理タイミングを制御するタイミング信号STG1を発生する。第2ステージカウンタ258の計数値が進むに従い、対応する期間が動作表260の左から右に切り替わる。第2ステージカウンタ258の計数値に応じて、各期間を特定するステージ信号STG2がデコーダ259から出力される。
第1ステージカウンタ256は下位のカウンタであり、第2ステージカウンタ258は上位カウンタである。第2ステージカウンタ258の計数値が「0000」で、第1ステージカウンタ256の計数値が「0000」〜「1111」の間は、ステージSTGCalのRES期間(以下では、[STGCal RES]期間と称する)を表す信号がデコーダ259から出力される。そして、[STGCal RES]期間に行われる種々の処理は、第1ステージカウンタ256の計数値「0000」〜「1111」に基づいて出力されるデコーダ257の信号に基づいて実行される。
なお、図4では、第1ステージカウンタ256は4ビットカウンタのように簡略して記載しているが、例えば、第1ステージカウンタ256が8ビットカウンタである場合には、1カウント毎に異なる処理動作が行われるとすると、256種類の処理が可能となる。第2ステージカウンタ258についても第1ステージカウンタ256の場合と同様であって、多数の計数を可能とすることで多数の処理が可能である。
第1ステージカウンタ256の計数値が「1111」となると[STGCalのRES]期間が終了し、第2ステージカウンタ258の計数値が「0001」となって[STGCalの計測]期間となる。そして、第1ステージカウンタ258が計数値「0001」である[STGCal 計測]期間においては、第1ステージカウンタ256の計数値「0000」〜「1111」に基づいてデコーダ257から出力される信号に基づいて種々の処理が実行される。そして、第1ステージカウンタ256の計数値が「1111」となると[STGCalの計測]期間が終了し、第2ステージカウンタ258の計数値が「0010」となって[STGCV1 RES]期間となる。この[STGCV1 RES]期間において第1ステージカウンタ256の計数値が「1111」となると[STGCV1 RES]期間を終了し、第2ステージカウンタ258の計数値が「0011」となって[STGCV1 計測]期間が開始される。
このように、図4の[STGCal RES]期間からスタートし、第2ステージカウンタ258の計数に従い順に動作期間が右側に移動し、[STGPSGB 計測]期間の終了で基本動作が終了する。この次に第2ステージカウンタ258が計数アップすると、再び[STGCal RES]期間がスタートする。
なお、図2に示す例では、IC1には4個の電池セルが接続されているので、表260のステージSTGCV5とステージSTGCV6は使用されない、あるいはスキップされてステージSTGCV5とステージSTGCV6は存在しない。また、強制的に第2ステージカウンタ258の内容を特定の計数値とすると、その計数値に対応した期間内の処理が実行される。
〈診断および計測:各ステージにおける診断と計測〉
各ステージのRES期間では、計測のために使用するアナログデジタル変換器122Aの初期化を行う。本実施の形態では、ノイズの影響を少なくするためにコンデンサを使用した充放電型のアナログデジタル変換器122Aを使用する、前に行われた動作時にコンデンサに蓄えられた電荷の放電などもこのRES期間で実施する。行260Y2の各ステージの計測期間では、アナログデジタル変換器122Aを使用した計測の実行や、計測された値に基づく被測定対象の診断を行う。
ステージSTGCV1〜ステージSTGCV6の計測期間では順に電池セルの端子電圧を計測し、さらに計測された値から各電池セルが過充電や過放電の状態にならないかを診断する。実際に過充電や過放電の状態にならないように、過充電や過放電の診断は安全性の幅を取って設定している。なお、図2に示すようにICに接続される電池セルの数が4個の場合は、ステージSTGCV5とステージSTGCV6はスキップされる。ステージSTGVDDの計測期間では図3に示す定電圧電源134の出力電圧が計測される。ステージSTGTEMの計測期間では温度計の出力電圧が測定される。ステージSTGPSBGの計測期間では基準電圧が測定される。
〈診断および計測:電池セルの端子電圧計測〉
図5に示すブロック図は、図3に示したIC内部ブロックのデジタル回路部分を詳しく示したものである。マルチプレクサ120には、図4に示したデコーダ257,259から信号STG1,STG2が入力され、その信号に基づいてマルチプレクサ120による選択動作が行われる。例えば電池セルBC1の電圧を計測する場合には、端子CV1と端子CV2とを選択すると、電池セルBC1の電圧がマルチプレクサ120から差動増幅器262に出力される。ここでは、電池セルの端子電圧計測について説明する。
なお、電池セルBC1〜BC4(または、BC1〜BC6)は直列接続されているので、各端子電圧の負極電位が異なっている。そのため、基準電位(IC1〜IC3内のGND電位)をそろえるために差動増幅器262を使用している。差動増幅器262の出力はアナログデジタル変換器122Aによりデジタル値に変換され、平均化回路264に出力される。平均化回路264は所定回数の測定結果の平均値を求める。その平均値は、電池セルBC1の場合には現在値記憶回路274のレジスタCELL1に保持される。なお、図5の現在値記憶回路274、初期値記憶回路275、基準値記憶回路278は、図3のデータ保持回路125に対応する。
平均化回路264は、平均化制御回路263に保持された測定回数の平均値を演算し、その出力を上述の現在値記憶回路274に保持する。平均化制御回路263が1を指令すれば、アナログデジタル変換器122Aの出力は、平均化されないでそのまま現在値記憶回路274のレジスタCELL1に保持される。平均化制御回路263が4を指令すれば、電池セルBC1の端子電圧の4回の計測結果が平均化され、その平均値が上記現在値記憶回路274のレジスタCELL1に保持される。4回の平均を演算するには、最初は図4のステージによる計測を4回行うことが必要となるが、4回目以降は最新の測定結果の中から4個の測定値を演算に使用することで、各測定毎に平均化回路264の平均化演算が可能となる。上述のとおり、所定回数の平均化を行う平均化回路264を設けることで、ノイズの悪影響を除去できる。図1に示す電池モジュール9の直流電力はインバータ装置に供給され、交流電力に変換される。インバータ装置による直流電力から交流電力への変換の際に電流の導通や遮断動作が高速に行われ、そのときに大きなノイズが発生するが、平均化回路264を設けることで、そのようなノイズの悪影響を少なくできる効果がある。
デジタル変換された電池セルBC1の端子電圧のデジタル値は現在値記憶回路274のレジスタCELL1に保持される。上記計測動作が図4の[STGCV1の計測]期間で行われる。
(過充電の診断)
その後、ステージSTGCV1の計測として示す期間内において、計測値に基づく診断動作が行われる。診断動作としては過充電診断と過放電診断である。この診断に入る前にマイコン30から診断のための基準値が各集積回路に送信され、過充電の診断基準OC(過充電閾値OC)が基準値記憶回路278のレジスタに、また過放電の診断基準OD(過放電閾値)が基準値記憶回路278のレジスタにそれぞれ保持される。
デジタルマルチプレクサ272は、図4の第1ステージカウンタ256や第2ステージカウンタ258の出力に基づいてデコーダ257やデコーダ259により作られた選択信号(STG1・STG2信号)により、現在値記憶回路274のレジスタCELL1から電池セルBC1の端子電圧を読み出してデジタル比較器270に送る。また、デジタルマルチプレクサ276は、基準値記憶回路278から過充電閾値OCを読み出しデジタル比較器270へ送る。デジタル比較器270はレジスタCELL1からの電池セルBC1の端子電圧と過充電閾値OCとを比較し、もし電池セルBC1の端子電圧が過充電閾値OCより大きい場合には、フラグ記憶回路284に異常を表すフラグ[MFflag]をセットする。また、過充電を表すフラグ[OCflag]もセットする。これらのフラグがセットされると、異常信号(1ビット信号)が通信回路127の端子FFOから出力され、マイコン30に伝えられる。実際には過充電状態が生じないように制御しており、このような状態はほとんど生じない。しかし、信頼性を担保するため、診断を繰り返し実行する。
通信回路127は通信コマンドの送受信を行うものであり、上述した伝送入力回路138,142や伝送出力回路140,143が含まれている。なお、伝送入力回路142および伝送出力回路143は図示を省略した。また、受送信レジスタ302/322の詳細は後述する。
(過放電の診断)
過充電診断に続いて、ステージSTGCV1の計測の期間でさらに過放電の診断を行う。デジタルマルチプレクサ272が現在値記憶回路274のレジスタCELL1から電池セルBC1の端子電圧を読み出しデジタル比較器270に送る。またデジタルマルチプレクサ276が基準値記憶回路278から過放電の判断基準値ODを読み出しデジタル比較器270へ送る。デジタル比較器270はレジスタCELL1からの電池セルBC1の端子電圧と過放電の判断基準値ODとを比較し、もし電池セルBC1の端子電圧が過放電の判断基準値ODより小さい場合には、フラグ記憶回路284に異常を表すフラグ[MFflag]をセットする。また、過放電を表すフラグ[ODflag]もセットする。これらのフラグがセットされると、異常信号(1ビット信号)が端子FFOから出力され、マイコン30に伝えられる。上述の過充電の場合と同様、実際には過放電状態が生じないように制御しており、このような過放電の状態はほとんど生じない。しかし、信頼性を担保するため、診断を繰り返し実行する。
選択回路286の機能はマイコン30からの通信コマンド292で変えることができ、端子FFOから出力されるフラグをどのフラグまで含めるかを選択的に変更できる。例えばフラグ記憶回路284のMFflagをセットする条件を過充電異常だけとしても良い。この場合、デジタル比較器270の過放電異常診断出力はレジスタMFflagにはセットせず、ODflagのみセットする。ODflagを端子FFOから出力するかどうかは選択回路286の設定条件で決まるようにすることが可能である。この場合は、設定条件をマイコン30から変更できるので、多様な制御に対応できる。
上記説明は図4のステージSTGCV1の計測期間での電池セルBC1に関する計測と診断である。同様に次のステージSTGCV2では、図5のマルチプレクサ120は電池セルBC2の端子電圧を選択して差動増幅器262へ出力する。差動増幅器262の出力はアナログデジタル変換器122Aによりデジタル値に変換された後、平均化回路264で平均値が演算され、現在値記憶回路274のレジスタCELL2に保持される。デジタル比較器270は、デジタルマルチプレクサ272によってレジスタCELL2から読み出された電池セルBC2の端子電圧を過充電閾値OCと比較し、次に電池セルBC2の端子電圧を過放電の判断基準値(過放電閾値)ODと比較する。過充電閾値OCとの比較や過放電閾値ODとの比較で異常状態の判断を行い、もし異常状態であればフラグ記憶回路284に異常を表すフラグ[MFflag]をセットし、異常の原因を表すフラグ[OCflag]あるいはフラグ[ODflag]をセットする。
以下同様に図4のステージSTGCV3の計測期間で電池セルBC3の端子電圧の計測と過充電や過放電の診断を行い、ステージSTGCV4の計測期間で電池セルBC4の端子電圧の計測と過充電や過放電の診断を行う。
なお、上記各項目の診断でMFflagがセットされた場合には、そのフラグは、OR回路288を介して1ビット出力端FFOから出力され、マイコン30に送信される。
〈診断および計測:初期データの保持〉
図1に示すシステムでは、車両が運転停止状態であって、運転者が運転を開始する前は、電池モジュール9からインバータ装置への電流供給が行われていない。各電池セルの充放電電流が流れていない状態で計測された各電池セルの端子電圧を使用すると、各電池セルの充電状態(SOC)が正確に求められるので、車両のキースイッチの操作やマイコン30からのWake Upなどの通信コマンド292に基づき、各集積回路は独自に計測動作を開始する。図4で説明の計測動作が各集積回路において計測と電池セルの診断動作が開始され、平均化制御回路263に保持された回数の測定が行われると、平均化回路264で測定値の平均化を求める演算が行われる。その演算結果は先ず現在値記憶回路274に保持される。各集積回路はそれぞれ独立してその集積回路が関係しているセルグループの電池セル全てに対して測定計測および計測結果の平均値の演算を行い、演算結果を、それぞれの集積回路の現在値記憶回路274のレジスタCELL1〜レジスタCELL6に保持する。
各電池セルの充電状態(SOC)を正確に把握するために、各電池セルの充放電電流が流れていない状態で各電池セルの端子電圧を計測することが望ましい。上述のごとく各集積回路は独自に計測動作を開始することにより、電池モジュール9からインバータ装置への電流供給前に、各集積回路はそれぞれ関係する電池セル全ての端子電圧を計測し、現在値記憶回路274のレジスタCELL1〜レジスタCELL6に保持する。現在値記憶回路274に保持された計測値はその後の新たな計測結果により書き換えられてしまうので、電流供給開始前の測定結果は現在値記憶回路274のレジスタCELL1〜レジスタCELL6から初期値記憶回路275のレジスタBCELL1〜レジスタBCELL6に移され、初期値記憶回路275に保持される。このように電池モジュール9からインバータ装置への電流供給を開始する前の計測値を初期値記憶回路275に保持するので、充電状態(SOC)の演算などの処理を後回しにして、優先度の高い診断のための処理を優先的に実行できる。優先度の高い処理を実行して、電池モジュール9からインバータ装置への電流供給を開始した後、初期値記憶回路275に保持された計測値に基づいて各電池セルの充電状態(SOC)を演算し、正確な状態検知に基づいて充電状態(SOC)を調整するための制御を行うことが可能となる。車両の運転者はできるだけ早く運転を開始したいとの希望を持つ場合があり、上述のとおりインバータ装置への電流供給を早く可能にすることが望ましい。
図5に示す例では、上述のごとく電気負荷であるインバータ装置に電流供給を始める前の計測値が現在値記憶回路274に保持されたタイミングで、デジタル比較器270により過充電や過放電の診断、更には漏洩電流などの診断を実施できる。このためインバータ装置への直流電力の供給前に異常状態を把握することができる。もし、異常状態が発生していれば電流供給前に前記診断で異常を検知でき、インバータ装置への直流電力の供給を行わないなどの対応策が可能となる。さらに電流供給前の測定値は現在値記憶回路274の保持値を初期値記憶回路275に移して専用の初期値記憶回路275に保持し続けることができるので、安全性の向上や正確な充電状態(SOC)の把握において優れた効果がある。
〈通信コマンド〉
図6は、IC1内における通信コマンドの送受信動作を説明する図である。上述のとおり他の集積回路ICも同様の動作を行う。マイコン30からIC1の受信端子LIN1に送られてくる通信コマンドは、8bitを1単位として全部で5つの部分を有し、5バイトを1つの基本構成としている。ただし以下に説明のとおり、5バイトより長くなる場合があり、特に5バイトに限定されるものではない。通信コマンドは受信端子LIN1から受信レジスタ322に入力され、保持される。なお、この受信レジスタ322はシフトレジスタであり、受信端子LIN1からシリアルに入力される信号が受信レジスタ322に入力された順にシフトされ、通信コマンドの先頭部分がレジスタの先頭部であるブレークフィールド部324に保持され、以下順次保持される。
上述のように、受信レジスタ322に保持される通信コマンド292は、その先頭の8bitは信号が来たことを示す信号からなるブレークフィールド324、2番目の8bitは同期をとるための働きをする信号からなるシンクロナスフィールド326、3番目の8bitはIC1〜IC4のうちいずれの集積回路なのか、さらに命令の対象となる回路はどこかを示す対象アドレス、及指令の内容を示すアイデンティファイア328である。4番目の8bitは、通信内容(制御内容)を示すデータ330で前記命令を実行するために必要なデータを保持している。この部分は1バイトとは限らない。5番目の8bitは送受信動作の誤りの有無をチェックするためのチェックサム332であり、ノイズなどで正確に伝達できなかった場合の有無を検知できる。このように、マイコン30からの通信コマンドは、ブレークフィールド324、シンクロナスフィールド326、アイデンティファイア(Identifier)328、データ330、およびチェックサム312の5つの部分から構成され、それぞれが1バイトで構成たれた場合は、通信コマンドは5バイトとなり、5バイト構成を基本としているが、データ330は1バイトに限らず、必要に応じてさらに増加する場合がある。
シンクロナスフィールド326は送信側の送信クロックと受信側の受信クロックとの同期を合わせるために使用され、シンクロナスフィールド326の各パルスが送られてくるタイミングを同期回路342が検知し、同期回路342の同期をシンクロナスフィールド326の各パルスのタイミングに合わせ、この合わせられたタイミングで受信レジスタ322はそれに続く信号を受信する。このようにすることで、送られてくる信号と信号の真理値を判断する閾値との比較タイミングを正確に選択でき、送受信動作の誤りを少なくできる効果がある。
通信コマンド292は、図2に示す通信系602を介してマイコン30から最上位のIC1の受信端子LIN1に送られ、IC1の送信端子LIN2から次のIC2の受信端子LIN1に送られ、さらにIC2の送信端子LIN2から最下位のIC3の受信端子LIN1に送られ、IC3の送信端子LIN2からマイコン30の受信端子LIN1(不図示)に送られる。このように、通信コマンド292は、各IC1〜IC3の送受信端子を直列にループ状に接続した通信系602を介して伝送される。電池ブロック9BのIC4〜IC6に関しても同様である。
各集積回路を代表してIC1の回路で説明するが、上述のとおり他の集積回路も構成や動作が同じである。IC1の受信端子LIN1に通信コマンド292が送信され、各集積回路は受信した通信コマンド292を次の集積回路に対して送信端子LIN2から送信する。上記動作において、受信した通信コマンド292の指示対象が自分自身かを図6のコマンド処理回路344で判断し、自分自身の集積回路が対象の場合に通信コマンドに基づく処理を行う。上述の処理が各集積回路で通信コマンド292の送受信に基づき順次行われる
従って、受信レジスタ322に保持された通信コマンド292がIC1と関係しない場合であっても、受信した通信コマンド292に基づき次の集積回路への送信を行うことが必要となる。受信した通信コマンド292のアイデンティファイア328の内容をコマンド処理回路344が取り込み、IC1自身が通信コマンド292の指令対象かどうかを判断する。IC1自身が通信コマンド292の指令対象でない場合は、アイデンティファイア328およびデータ330の内容をそのまま送信レジスタ302のアイデンティファイア308やデータ310の部分に移し、また送受信誤動作チェックのためのチェックサム312を入力して送信レジスタ302内の送信信号を完成し、送信端子LIN2から送信する。送信レジスタ302も受信レジスタ322と同様にシフトレジスタで作られている。
受信した通信コマンド292の対象が自分である場合、通信コマンド292に基づく指令を実行する。以下実行について説明する。
受信した通信コマンド292の対象が自分を含む集積回路全体に関する場合がある。例えばRESコマンドやWakeUPコマンド、Sleepコマンドがこのようなコマンドである。RESコマンドを受信するとコマンド処理回路344でコマンド内容を解読しRES信号を出力する。RES信号が発生すると、図5の現在値記憶回路274や初期値記憶回路275、フラグ記憶回路284の保持データが全て初期値である「ゼロ」になる。図5の基準値記憶回路278の内容は「ゼロ」にならないが、「ゼロ」になるようにしても良い。もし基準値記憶回路278の内容を「ゼロ」に変更すると、RES信号の発生後に図4に示す測定と診断が各集積回路で独自に実行されるので、診断の基準値となる基準値記憶回路278の値を速やかにセットすることが必要となる。この煩雑さを避けるために、基準値記憶回路278の内容はRES信号で変更されないように回路が構成されている。基準値記憶回路278の値は頻繁に変更される属性のデータではないので、以前の値を使用しても良い。もし変更の必要があれば他の通信コマンド292で個々に変更できる。RES信号で平均化制御回路263の保持値は所定値、例えば16となる。すなわち通信コマンド292で変更されなければ、16回の測定値の平均を演算するように設定される。
WakeUPコマンドがコマンド処理回路344から出力されると図4の起動回路254が動作を開始し、計測と診断動作が開始される。これにより、集積回路自身の消費電力は増加する。一方、Sleep信号がコマンド処理回路344から出力されると図4の起動回路254の動作が停止し、計測と診断動作が停止する。これにより、集積回路自信の消費電力は著しく減少する。
次に通信コマンド292によるデータの書き込みおよび変更を、図6を参照して説明する。通信コマンド292のアイデンティファイア328は選択すべき集積回路を示している。データ300が、アドレスレジスタ348や基準値記憶回路278へのデータ書き込み命令、あるいは平均化制御回路263や選択回路286へのデータ書き込み命令の場合は、コマンド処理回路344は命令内容に基づき書き込み対象を指定し、データ330を書き込み対象のレジスタに書き込む。
アドレスレジスタ348は集積回路自身のアドレスを保持するレジスタであり、この内容により自分のアドレスが決まる。RES信号でアドレスレジスタ348の内容はゼロとなり、集積回路自身のアドレスは「ゼロ」アドレスとなる。新たに命令によりアドレスレジスタ348の内容が変更されると、集積回路自身のアドレスは変更された内容に変わる。
通信コマンド292によりアドレスレジスタ348の記憶内容の変更の他に、図5に記載の基準値記憶回路278やフラグ記憶回路284,平均化制御回路263、選択回路286の保持内容を変更できる。これらに関し変更対象が指定されると、変更値であるデータ330の内容がデータバス294を介して変更対象の回路に送られ、保持内容が変更される。図5の回路はこの変更された内容に基づき動作を実行する。
通信コマンド292には集積回路内部に保持されているデータの送信命令が含まれている。アイデンティファイア328の命令で送信対象データの指定が行われる。例えば現在値記憶回路274や基準値記憶回路278の内部レジスタが指定されると、指定されたレジスタの保持内容がデータバス294を介して送信レジスタ302のデータ310の回路に保持され、要求されたデータ内容として送信される。このようにして、図1に示すマイコン30は、通信コマンド292により必要な集積回路の測定値や状態を表すフラグを取り込むことが可能となる。
《第1の実施の形態》
上述したように、セル電圧測定を行う際には、CV1〜CV6端子およびGNDS端子から、測定対象となる電池セルの両極に接続された一対の端子を図3に示すマルチプレクサ120により選択する。この端子選択のセレクト信号はIC2内のデジタル領域(図3のIC制御回路)で生成され、マルチプレクサ120に入力される。しかしながら、マルチプレクサ120に不具合が生じた場合に、セレクト信号の指令と異なる端子を選択する場合がある。そのような場合でも、従来は、マイコン30側に送信されたセル電圧から、それが正しく選択されて測定されたセル電圧であるか否かを判断することはできなかった。そこで、以下に説明するように、第1の実施の形態では、マイコン30側に送信されたセル電圧に基づいて、マルチプレクサ120による端子選択が正しく行われているか否かを判定できるようにした。
以下、図7〜図12を参照して、マルチプレクサ接続診断について説明する。上述したように、各ICは、タイミング制御回路126の指示に基づく電圧測定や状態診断を、上位コントローラであるマイコンの指令とは関係なく周期的に行うとともに、マイコンの指令に基づいてバランシングスイッチをオンし、各電池セルの容量調整を行っている。しかしながら、バランシングスイッチをオンして容量調整を行っている状態では、VC1〜VC6端子の電圧計測ラインに設けられた抵抗RCVに放電電流が流れて電圧降下が生じ、VC端子間の電圧が電池セルの電圧値と異なることになる。そのため、バランシング動作中であっても、セル電圧を測定する期間のみ自動的にそのセル電圧測定に影響するバランシングスイッチをオフする、バランシングスイッチマスク機能(以下では、マスク機能と称する)を備えている。
図7を参照して、IC2の電池セルBC1の容量調整を行う場合を例に、マスク機能を説明する。図7(a)はIC2、電池セルBC1〜BC6、および、セル電圧を検出するための周辺回路を示す図である。図7(b)は、マスク機能オンオフ時のバランシングスイッチBS1の動作と、CV1−CV2端子間の電圧とを説明する図である。図7(b)に示すタイミングチャートの前半部分(マスク機能オンと示す範囲)がマスク機能をオンとした場合を示し、タイミングチャートの後半部分(マスク機能オフと示す範囲)がマスク機能をオフとした場合を示す。
前述したように、IC2はマイコン30の指令とは関係なく、所定の周期T1で各電池セルBC1〜BC6のセル電圧の測定を行うとともに、関連する内部診断(例えば、過充電検出)を行っている。そして、セル電圧が測定される度に、図3のデータ保持回路125(図5の現在値記憶回路274)に保持されているセル電圧が書き換えられる。電池セルBC1のバランシングを行う場合には、マイコン30からバランシングスイッチBS1をオンする指令がIC2に送信される。IC2は、その指令に従ってバランシングスイッチBS1をオンする。
バラシングスイッチBS1をオンすると、図7(a)の矢印で示すように電池セルBC1の放電電流が流れる。このとき、CV1端子の電圧計測ラインに設けられた抵抗RCVに放電電流が流れるため、CV1−CV2端子間の電圧は、電池セルBC1のセル電圧Vc1より抵抗RCVの電圧降下ΔV分だけ低下する。その他の端子間(CV2−CV3,CV3−CV4,CV4−CV5,CV5−CV6,CV6−GNDS)の電圧は、放電電流の影響を受けることなく各電池セルBC2〜BC6のセル電圧Vc2〜Vc6を示す。
そのため、従来は、測定期間中には、その測定に影響を与えるバランシングスイッチをオフ状態とする機能、すなわちマスク機能を備えるようにしている。図7(a)に示す例の場合には、図7(b)の前半部分(マスク機能オン状態)に示すように、電池セルBC1のセル電圧測定期間中はバランシングスイッチBS1をオフするようにした。
ところで、マスク機能をオフして各電池セルBC1〜BC6の電圧測定を行うと、上述したように放電電流の影響を受けるCV1−CV2端子間電圧はVc1−ΔVとなる。すなわち、マスク機能オン時には、電池セルBC1〜BC6のセル電圧として順にVc1,Vc2,Vc3,Vc4,Vc5,Vc6が測定され、図7(b)の後半部分のようにマスク機能オフの時には、各端子間の電圧は、「CV1−CV2間電圧=Vc1−ΔV」、「CV2−CV3間電圧=Vc2」、「CV3−CV4間電圧=Vc3」、「CV4−CV5間電圧=Vc4」、「CV5−CV6間電圧=Vc5」、「CV6−GNDS間電圧=Vc6」となる。すなわち、電池セルBC1〜BC6のセル電圧として順にVc1−ΔV,Vc2,Vc3,Vc4,Vc5,Vc6が測定されることになる。
よって、電池セルBC1のセル電圧測定時にマルチプレクサ120がVC1端子とVC2端子とを選択していれば、マスク機能オフ時には、マスク機能オン時よりもΔVだけ低い電圧が測定される。このことから、マスク機能オン時のセル電圧とマスク機能オフ時のセル電圧とを比較することにより、マルチプレクサ120が指令通りのVC1,VC2端子を選択しているか否かを診断することができる。抵抗RCV、RBの抵抗値をRcv、Rb、バランシングスイッチBS1のオン抵抗をRonとすると、ΔV=Vc1・Rcv/(Rb+Rcv+Ron)となる。差分=Vc1−(Vc1−ΔV)=ΔVを適当な閾値と比較判定することにより、マルチプレクサ120により電池セルBC1が正しく選択されたか否かを診断することができる。
なお、BS1オンでBS2〜BS6オフの場合は、その他の端子間電圧はマスク機能オンオフで変化しないので、マルチプレクサ120の接続診断をすることはできない。例えば、各電池セルBC2〜BC6のセル電圧が等しい場合には、マルチプレクサ120が指令通りに端子を選択しているか否かを判定できない。
図8は、電池セルBC2のセル電圧測定時に、マルチプレクサ120による端子選択の診断を説明する図である。先ず、図8(b)に示すようにマスク機能オンの状態でバランシングスイッチBS2をオンし、各電池セルのセル電圧を順に測定する。バランシングスイッチBS2をオンした場合、図8(a)に示すように、CV3端子の電圧計測ラインに設けられた抵抗RCVに放電電流が流れるため、抵抗RCVにおける電圧降下は、CV2−CV3端子間電圧およびCV3−CV4端子間電圧の両方の測定に影響する。そのため、マスク機能オン状態では、電池セルBC2および電池セルBC3のセル電圧を測定する期間中において、バランシングスイッチBS2がオフされる。その結果、電池セルBC1〜BC6のセル電圧として、順にVc1,Vc2,Vc3,Vc4,Vc5,Vc6が測定される。
次に、マスク機能をオフして各端子間電圧を測定すると、図8(a)に示すように抵抗RCV間に電圧降下ΔVが生じるので、「CV1−CV2間電圧=Vc1」、「CV2−CV3間電圧=Vc2−ΔV」、「CV3−CV4間電圧=Vc3+ΔV」、「CV4−CV5間電圧=Vc4」、「CV5−CV6間電圧=Vc5」、「CV6−GNDS間電圧=Vc6」が得られる。すなわち、電池セルBC2およびBC3のセル電圧はマスク機能がオンの場合とオフの場合とで異なるので、この差分を閾値と比較することで、マルチプレクサ120が指令通りに電池セルBC2,BC3を選択しているか否かを診断することができる。このときのΔVは、ΔV=Vc2・Rcv/(Rb+Rcv+Ron)となる。
同様にして、図9(a)に示すようにマスク機能オフでバランシングスイッチBS3をオンすると、端子間電圧は、「CV1−CV2間電圧=Vc1」、「CV2−CV3間電圧=Vc2+ΔV」、「CV3−CV4間電圧=Vc3−ΔV」、「CV4−CV5間電圧=Vc4」、「CV5−CV6間電圧=Vc5」、「CV6−GNDS間電圧=Vc6」となる。よって、電池セルBC2,BC3に関するマルチプレクサ接続診断を行うことができる。このときのΔVは、ΔV=Vc3・Rcv/(Rb+Rcv+Ron)となる。
図9(b)は、マスク機能オフでバランシングスイッチBS4をオンした場合を示す。この場合の端子間電圧は、「CV1−CV2間電圧=Vc1」、「CV2−CV3間電圧=Vc2+ΔV」、「CV3−CV4間電圧=Vc3」、「CV4−CV5間電圧=Vc4−ΔV」、「CV5−CV6間電圧=Vc5+ΔV」、「CV6−GNDS間電圧=Vc6」となる。このときのΔVは、ΔV=Vc4・Rcv/(Rb+Rcv+Ron)となる。
また、図10(a)はマスク機能オフでバランシングスイッチBS5をオンした場合を示し、端子間電圧は、「CV1−CV2間電圧=Vc1」、「CV2−CV3間電圧=Vc2+ΔV」、「CV3−CV4間電圧=Vc3」、「CV4−CV5間電圧=Vc4+ΔV」、「CV5−CV6間電圧=Vc5−ΔV」、「CV6−GNDS間電圧=Vc6」となる。このときのΔVは、ΔV=Vc5・Rcv/(Rb+Rcv+Ron)となる。図9(b)および図10(a)のいずれの場合も、電池セルBC4,BC5に関するマルチプレクサ接続診断を行うことができる。
ところで、各電池セルBC1〜BC6のセル電圧は厳密に一定ではなく、ばらついている。そのため、差分とΔVとの比較で診断を行うためには、ΔV(=Vcj・Rcv/(Rb+Rcv+Ron):j=1〜5)がセル電圧のばらつきよりも大きくなるように、抵抗RCVを設定する必要がある。また、本実施の形態では、バランシングスイッチBS1〜BS6をオンオフして、各セル電圧のばらつきが所定の電圧範囲内に収まるように容量調整を行うように構成されている。そのため、実際の電圧ばらつきは、容量調整を開始する電圧ばらつき閾値以下となっている。そこで、ΔVが電圧ばらつき閾値よりも大きくなるように、抵抗RCVの値を設定するようにしても良い。
また、上述した差分による診断を行う際の判定閾値も、セル電圧のばらつきより大きくしないと正確な診断をすることができない。
上述したように、ΔVの値は、バランシングを行っている電池セルBCのセル電圧に依存している。マルチプレクサ接続診断を実施する際に、後述するステップS11で取得されるセル電圧に基づいてΔVを算出し、その算出されたΔVを用いて閾値を設定するようにしても良い。例えば、算出されたΔVの80%の値を閾値に設定する。また、平均的なセル電圧を用いてΔVを算出し、そのΔVに基づいて閾値を設定しても良い。ΔVが閾値以上となった場合には、マルチプレクサ120による選択は正常であると判定する。
図10(b)は、マスク機能オフでバランシングスイッチBS6をオンした場合を示す。この場合には、放電電流の経路に抵抗RCVが無いので、各端子間電圧はマスク機能オンの場合と同じになる。そのため、この診断結果だけでは、電池セルBC6に関するマルチプレクサ120の端子選択が正しいか否かを診断することはできないが、図7(a)、図8(a)、図9の(a),(b)、図10(a)に示す他のバランシングスイッチBS1〜BS5をオンした場合の電池セルBC6のセル電圧も参照することで、診断が可能となる。
なぜならば、電池セルBC6のセル電圧測定指令に対して、他の端子を選択してしまう状況にあった場合、図7(a)、図8(a)、図9の(a),(b)、図10(a)の診断の際にも、同じような誤選択をしていると考えられる。そのため、図7(a)、図8(a)、図9の(a),(b)、図10(a)のいずれかの診断の際に、電池セルBC6のセル電圧としてVc6以外の値が測定されることになる。よって、図7(a)、図8(a)、図9の(a),(b)、図10(a)の、いずれの診断においても、電池セルBC6のセル電圧測定値がVc6であった場合には、マルチプレクサ120は指令通りに電池セルBC6を選択していると診断できる。
図11は、マルチプレクサ接続診断の一例を示すフローチャートである。このマルチプレクサ接続診断の処理は、車両停止時、すなわち、キーオフされてマイコン30のシャットダウン処理時に行われる。ステップS10では、マイコン30は、CAN経由で電池ディスコネクトユニットBDU(図1参照)のリレー状態に関する情報を取得し、リレーRL,RLpがオープンか否かを判定する。そして、リレーRL,RLpがオープン状態であると判定すると、ステップS110へ進む。
ステップS11では、マイコン30は、IC1に対して各電池セルのセル電圧データを送信するように指令する。その結果、IC1はデータ保持回路125(図3参照)に保持されている各電池セルのセル電圧を送信端子LIN2から送信する。なお、初期設定では図7(b)に示すようにマスク機能はオンとなっているので、ここでは、マスク機能オン時のセル電圧が測定され、それらがマイコン30へ送信される。
次いで、マイコン30は、ステップS12においてバランシングスイッチBS1のオン指令を、ステップS13においてマスク機能オフの指令を、それぞれIC1に送信する。指令を受けたIC1は、バランシングスイッチBS1をオンした後に、マスク機能をオフする。その間もIC1は図7(b)に示すようなセル電圧測定および内部診断を所定周期T1毎に繰り返し行っている。
マイコン30は、ステップS13のマスク機能オフ指令の後、所定時間が経過したならば、ステップS14において電池セルBC1〜BC6のセル電圧データを送信する指令をIC1に送信する。ここで、所定時間は、IC1がマスク機能オフしてから少なくとも1測定周期分のセル電圧を完了するまでに必要な時間以上に設定され、例えば、IC内測定周期T1の2倍の時間が設定される。ステップS15では、IC1のマスク機能をオンするとともにバランシングスイッチBS1をオフする。
ステップS16では、マスク機能オン時のIC1の電池セルBC1のセル電圧とマスク機能オフ時の電池セルBC1のセル電圧との差分を、所定閾値と比較することで、マルチプレクサ120が指示通りにセル電池BC1を選択しているか否かを診断する。ステップS17では、全ての電池セルに関してマルチプレクサ接続診断が終了したか否かを判定する。図1に示す例では、セル電圧データ等の送信に関する通信系602は、IC1〜IC3とIC4〜IC6とはそれぞれ独立しているので、マイコン30へのセル電圧データの送信を並列に行うことができる。そのような並列処理を行った場合、ステップS17においては、16セルの電池セルに関する診断が終了したか否かを判定する。
上述したようにIC1のCV1−CV2端子選択に関するマルチプレクサ接続診断が終了したならば、ステップS11に戻って次のバランシングスイッチBS2をオンする。そして、CV2−CV3端子間、およびCV3−CV4端子間の電圧に関するステップS11〜S16の処理を行い、電池セルBC2,BC3の選択に関するマルチプレクサ接続診断を行う。このような処理を、IC1〜IC3に接続されている16セルの電池セルに関して順に行い、IC3の電池セルBC6選択に関するマルチプレクサ接続診断が終了すると、ステップS17においてyesと判定され、一連のマルチプレクサ接続診断処理を終了する。
上述したように、本実施の形態では、マスク機能をオフするとともにバランシングスイッチをオンした状態でのセル電圧を測定し、そのセル電圧とマスク機能オン時に測定されるセル電圧との差(ΔV)を検出することで、マルチプレクサ120が指示通りにセル選択を行っているか否かを診断することができる。そして、ΔVが所定閾値以上である場合にはマルチプレクサ120の選択動作は正常に機能していると診断し、ΔVが所定閾値よりも小さい場合には、選択動作に異常ありと診断する。
このように、計測されるセル電圧の電圧変化(ΔV)を検出して診断を行っているので、セル電圧にノイズ(インバータノイズなど)が重畳し、ノイズの振幅が期待する電圧変化(ΔV)と同等かそれ以上の場合には診断が困難になり、誤診断の原因となる。そのため、上述した実施の形態では、車両がキーオフされて図1のBDUがオープンになったシャットダウン処理時に、上述したマルチプレクサ接続診断を行うようにした。また、車両スタート(キーオン)時のリレーがオープンの状態で、上述したマルチプレクサ接続診断を行うようにしても良い。
なお、ノイズが十分小さく、充放電電流によるセル電圧の変化がΔVよりも十分低いと保証できる状態であれば、車両運転中であっても良い。例えば、車両アイドリング中(電流ゼロ)に処理を実行する。また、重畳ノイズよりも高速に測定することで、ノイズの影響を低減できる。
また、シャットダウン時のリレーがオープンとなっている状態であっても、その直前に流れた電流の影響により電池セルの分極が収まらず、セル電圧が安定しない場合がある。そのような場合には、セル電圧が安定するまで待って、セル電圧が安定したならば診断処理を開始すれば良い。そのような処理の一例を図12に示す。図12に示すフローチャートでは、図11に示すフローチャートにステップS20〜S23の処理がさらに追加されている。
ステップS10においてリレーがオープンしていると判定されると、ステップS20に進んで、IC1の電池セルBC1のセル電圧を要求する指令を送信する。IC1からは、電池セルBC1のセル電圧Vc1がマイコン30へ送信される。なお、ここでは、IC1の電池セルBC1のセル電圧を要求したが、いずれのセル電圧でもかまわない。ステップS21では、ステップS20で取得されたセル電圧とマイコン30のメモリに記憶されているセル電圧とを比較し、その変化が所定値以下の場合には、ステップS11に進んで上述したマルチプレクサ接続診断処理を実行する。
なお、初めてステップS21を実行する場合には、メモリにはセル電圧(前回にステップS20で取得されたセル電圧)は記憶されていないので、ステップS20で取得されたセル電圧をメモリに記憶した後、ステップS21からステップS22へ進む。ステップS22では、ステップS21の処理回数が所定回数になったか否かを判定する。ステップS22で所定回数未満と判定されると、ステップS20へ戻る。
ステップS21の処理回数が所定回数になるまではステップS22でNOと判定され、ステップS20→ステップS21→ステップS22→ステップS20の処理が所定時間で繰り返される。それにより、セル電圧が所定時間間隔で取得されることになる。上述した所定値および所定時間は、マスク機能オン時のセル電圧取得からマスク機能オフ時のセル電圧取得までの経過時間と、ΔV検出時の閾値とに基づいて設定される。例えば、所定時間=経過時間であれば、所定値=閾値と設定され、所定時間=経過時間/10であれば、所定値も閾値の1/10に設定される。
すなわち、ステップS21で所定値以下と判定された場合は、ΔV検出が可能な程度までセル電圧が安定したことになり、ステップS11に進んで上述したマルチプレクサ接続診断処理を実行する。
一方、セル電圧の変化が所定値よりも大きくて診断ができない場合には、ステップS22へ進んで、ステップS21の処理回数が所定回数になったか否かを判定する。そして、ステップS22で所定回数と判定されるとステップS24へ進み、誤診断のおそれがあるのでマルチプレクサ接続診断を行わなかったことを、データとしてEEPROMに記憶する。
このように、分極が収まらずに診断を行わなかったキーサイクル回数が予め定めておいた回数(例えば、3回)続いた場合には、次の回数(4回目)においては、図12に示す「ステップS20→ステップS21→ステップS22→ステップS20」の処理を分極が収まるまで繰り返し、電圧変化が所定値を下回ったことを確認してからマルチプレクサ接続診断を行うようにする。それにより、マルチプレクサ接続診断が長期間未実施となるのを避けることができる。また、シャットダウン処理においてマルチプレクサ接続診断よりも先に実施できる処理がある場合には、その処理を先に実施して、分極が収まるための時間を稼ぐようにしても良い。なお、ICの故障やセンシング線SLの断線など、その他の故障が検知されている場合には、マルチプレクサ接続診断を省略してもかまわない。
なお、上述した実施の形態では、診断対象のICに接続された電池セルの全てのセル電圧データをマイコン30に送信するようにしたが、診断に必要なセル電圧だけを送信するようにしても良い。
《第2の実施の形態》
以下で説明する第2の実施の形態では、電池状態検出回路が正常動作しているか否かを診断する機能、すなわち、マルチプレクサによる選択が正常に行われているか否かを診断する機能と、過充電を検知する過充電検知回路(過充電検知系)が正常に動作しているか否かを診断する機能とを新たに付加するようにした。
[マルチプレクサ選択診断]
図13は、第2の実施の形態を説明する図であり、図5の場合と同様に、集積回路(IC1〜IC6)の内部ブロックを示す図である。図13に示すIC1では、図5に示す構成に加えて、マルチプレクサMUX1〜MUX5、抵抗RPU,R1〜R4,RPDおよびスイッチSWがさらに設けられている。なお、図13では、図5に示す構成の内、説明に必要な構成を図示している。マルチプレクサ120にはマルチプレクサHVMUX1,HVMUX2が設けられており、各マルチプレクサHVMUX1,HVMUX2の出力が差動増幅器262に入力される。電圧源400はIC1内部に従来から設けられているものであり、例えば、アナログデジタル変換器122Aのレファレンス電圧を与える電圧源などが用いられる。なお、電圧源に代えて電流源を用いても構わない。また、図13では、図5の通信回路127とロジック回路とを合わせて、LOGIC/通信回路401としている。
抵抗RPU,R1〜R4,RPDは直列接続されており、抵抗RPDの一端はIC1の端子GNDに接続され、抵抗RPUの一端はスイッチSWに接続されている。なお、図13における各端子V1〜V4、GNDは、図2の各端子CV3〜CV6、GNDSに対応している。抵抗R1〜R4の抵抗値は、R1≠R2≠R3≠R4のように全て異なるように設定されている。そのため、スイッチSWをオンすると、電圧源400の電圧は各抵抗RPU,R1〜R4,RPDにより分圧され、各抵抗R1〜R4により生成される電圧Vr1,Vr2,Vr3,Vr4はそれぞれ異なっている。また、抵抗R1〜R4の抵抗値は、生成される電圧Vr1,Vr2,Vr3,Vr4がセル電圧の正常範囲から外れた値となるように設定される。すなわち、セル電圧の正常範囲が「VcL≦セル電圧≦VcU」であった場合には、電圧Vr1〜Vr4がVcLよりも小さいか、または、VcUよりも大きくなるように抵抗R1〜R4の抵抗値を設定する。
なお、抵抗RPU,RPDおよびMUX1,MUX5は所望の電圧を生成させるために設けられたものであって、必須な構成ではない。それらを設けるか否かは、電圧源(または電流源)400、セル電圧、差動増幅器262の入力レンジに応じて決定される。
ここでは、抵抗R1〜R4として固定抵抗を想定しているが、例えば、抵抗値を外部から変更できるような可変抵抗にしておき、直前に読んだセル電圧と有意な差を付けた電圧が発生するような抵抗値とすることもできる。例えば、通常のセル電圧を3.5Vとした場合、診断モードに入ったならば、抵抗R1をセル電圧の正常範囲外の2.5Vとなるように調整する。
各マルチプレクサMUX1〜MUX5は2つの入力端子0,1を有しており、入力端子0,1のいずれか一方を選択することができる。マルチプレクサMUX1の入力端子0は、IC1の入力端子V1およびセンシング線L1を介して電池セルBC1の正極に接続され、入力端子1は抵抗RPUと抵抗R1との間に接続されている。一方、マルチプレクサMUX1の出力側は、マルチプレクサHVMUX1の入力端子00に接続されている。
マルチプレクサMUX1が入力端子0を選択すると、マルチプレクサHVMUX1の入力端子00の電位は電池セルBC1の正極側と同電位となり、逆に、マルチプレクサMUX1が入力端子1を選択すると、マルチプレクサHVMUX1の入力端子00の電位は抵抗RPUと抵抗R1との間の電位となる。すなわち、マルチプレクサMUX1を切り替えることによって、セル電圧の代わりにあらかじめ定められた既知の電圧を、マルチプレクサHVMUX1の入力端子00に入力することができる。
マルチプレクサMUX2の入力端子0は、IC1の入力端子V2およびセンシング線L2を介して電池セルBC2の正極(電池セルBC1の負極)側に接続され、入力端子1は抵抗R1と抵抗R2との間に接続されている。一方、マルチプレクサMUX2の出力側は、マルチプレクサHVMUX1の入力端子01およびマルチプレクサHVMUX2の入力端子00にそれぞれ接続されている。すなわち、マルチプレクサMUX2が入力端子0を選択すると、マルチプレクサHVMUX1の入力端子01およびマルチプレクサHVMUX2の入力端子00の電位は電池セルBC2の正極(電池セルBC1の負極)側と同電位となり、逆に、マルチプレクサMUX1が入力端子1を選択すると、マルチプレクサHVMUX1の入力端子00およびマルチプレクサHVMUX2の入力端子00の電位は抵抗R1と抵抗R2との間の電位となる。
マルチプレクサMUX3の入力端子0は、IC1の入力端子V3およびセンシング線L3を介して電池セルBC3の正極(電池セルBC2の負極)側に接続され、入力端子1は抵抗R2と抵抗R3との間に接続されている。一方、マルチプレクサMUX3の出力側は、マルチプレクサHVMUX1の入力端子10およびマルチプレクサHVMUX2の入力端子01にそれぞれ接続されている。すなわち、マルチプレクサMUX3が入力端子0を選択すると、マルチプレクサHVMUX1の入力端子10およびマルチプレクサHVMUX2の入力端子01の電位は電池セルBC3の正極(電池セルBC2の負極)側と同電位となり、逆に、マルチプレクサMUX3が入力端子1を選択すると、マルチプレクサHVMUX1の入力端子10およびマルチプレクサHVMUX2の入力端子01の電位は抵抗R2と抵抗R3との間の電位となる。
マルチプレクサMUX4の入力端子0は、IC1の入力端子V4およびセンシング線L4を介して電池セルBC4の正極(電池セルBC3の負極)側に接続され、入力端子1は抵抗R3と抵抗R4との間に接続されている。一方、マルチプレクサMUX4の出力側は、マルチプレクサHVMUX1の入力端子11およびマルチプレクサHVMUX2の入力端子10にそれぞれ接続されている。すなわち、マルチプレクサMUX4が入力端子0を選択すると、マルチプレクサHVMUX1の入力端子10およびマルチプレクサHVMUX2の入力端子01の電位は電池セルBC4の正極(電池セルBC3の負極)側と同電位となり、逆に、マルチプレクサMUX4が入力端子1を選択すると、マルチプレクサHVMUX1の入力端子11およびマルチプレクサHVMUX2の入力端子10の電位は抵抗R3と抵抗R4との間の電位となる。
マルチプレクサMUX5の入力端子0は、IC1の端子GNDおよびセンシング線L4を介して電池セルBC4の負極側に接続され、入力端子1は抵抗R4と抵抗RPDとの間に接続されている。一方、マルチプレクサMUX5の出力側は、ルチプレクサHVMUX2の入力端子11に接続される。すなわち、マルチプレクサMUX5が入力端子0を選択すると、マルチプレクサHVMUX1の入力端子10およびマルチプレクサHVMUX2の入力端子01の電位は電池セルBC4の負極と同電位となり、逆に、マルチプレクサMUX5が入力端子1を選択すると、マルチプレクサHVMUX2の入力端子11の電位は抵抗R4と抵抗RPDとの間の電位となる。
このように構成された第2の実施形態では、セル電圧の代わりに、各抵抗R1〜R4により生成した既知の電圧Vr1,Vr2,Vr3,Vr4をマルチプレクサHVMUX1,HVMUX2に入力することで、マルチプレクサHVMUX1,HVMUX2が正常に動作しているか否かを診断できるようにした。
(セル電圧測定モード)
セル電圧を計測する通常のモードでは、スイッチSWはオフ(開)状態となっており、各マルチプレクサMUX1〜MUX5は入力端子0を選択する状態となっている。電池セルBC1のセル電圧を計測する期間においては、図14(a)に示すようにマルチプレクサHVMUX1およびHVMUX2は入力端子00を選択する。そのため、マルチプレクサHVMUX1からは電池セルBC1の正極側の電位が出力され、マルチプレクサHVMUX2からは電池セルBC1の負極側の電位が出力される。その結果、差動増幅器262には、それらの電位差である電池セルBC1の電圧Vc1が入力されることになる。セル電圧Vc1はアナログデジタル変換器122Aでデジタル値に変換され、現在値記憶回路274のレジスタCELL1に保持される。
同様に、電池セルBC2のセル電圧を計測する期間においては、マルチプレクサHVMUX1およびHVMUX2の入力端子01が選択され、電池セルBC3のセル電圧を計測する期間においては、マルチプレクサHVMUX1およびHVMUX2の入力端子10が選択され、電池セルBC4のセル電圧を計測する期間においては、マルチプレクサHVMUX1およびHVMUX2の入力端子11が選択される。
図15(a)は、セル電圧測定時および診断時のマルチプレクサMUX1〜MUX5,HVMUX1,HVMUX2などの状態を表にしたものである。セル電圧測定時には、診断モードはオフ(diag:0)とされ、全てのマルチプレクサMUX1〜MUX5は入力端子0を選択している。その状態で、両方のマルチプレクサHVMUX1,HVMUX2の選択状態を00,01,10,11と切り替えることによって、電池セルBC2〜BC4のセル電圧Vc2〜Vc4が順に計測される。それらの計測結果は、現在値記憶回路274のレジスタCELL1〜CELL4に保持される。
このようなセル電圧測定は所定の周期で繰り返し行われ、所定周期ごとにレジスタCELL1〜CELL4のデータが更新される。マイコン30からセル電圧要求指示が出されると、指示を受け付けたタイミングにおいてレジスタCELL1〜CELL4に保持されている最新の出る電圧データをシリアル通信系602により出力する。
(診断モード)
マルチプレクサHVMUX1,HVMUX2の診断を行う場合には、シリアル通信系602を介してマイコン30からIC1へと診断コマンドが送信される。IC1で受信された診断コマンドは、順にIC2、IC3へと伝送され、以下に示すIC1の動作と同様の動作が、IC2〜IC3において行われる。IC4〜IC6についても同様である。
診断コマンドを受信したIC1のLOGIC/通信回路401は、診断コマンドに基づいて診断モードをオンする信号、すなわち、スイッチSWをオン(閉)する信号と、各マルチプレクサMUX1〜MUX5を端子1に切り換える信号を出力する。図14(b)に示すように、その切換信号によりスイッチSWはオンし、各マルチプレクサMUX1〜MUX5は入力端子1を選択する。一方、マルチプレクサHVMUX1,HVMUX2は、通常のセル電圧測定時の場合と同様に、マイコン30からの診断コマンドとは無関係に、デコーダ257,259から出力されるSTG1・STG2信号に基づいて、電池セルBC1〜BC4のセル電圧を順に計測するための入力端子の切り替え動作を繰り返し行っている。
図15(a)に示すように、診断時においては、診断モードはオン(diag:1)とされ、全てのマルチプレクサMUX1〜MUX5は入力端子1を選択している。その状態で、両方のマルチプレクサHVMUX1,HVMUX2の選択状態は00,01,10,11と順に切り替えられる。例えば、電池セルBC1のセル電圧を計測する期間、すなわち入力端子V1,V2間の端子間電圧を計測する期間においては、図14(b)に示すように、マルチプレクサHVMUX1,HVMUX2は入力端子00を選択する。そのため、マルチプレクサHVMUX1からは抵抗RPU,R1間の電位が出力され、マルチプレクサHVMUX2からは抵抗R1,R2間の電位が出力される。その結果、差動増幅器262には、それらの電位差である電圧Vr1が入力されることになる。その電圧Vr1はアナログデジタル変換器122Aでデジタル値に変換され、セル電圧Vc1の場合と同様に、現在値記憶回路274のレジスタCELL1に保持される。
同様に、電池セルBC2のセル電圧を計測する期間においては、マルチプレクサHVMUX1およびHVMUX2の入力端子01が選択され、電池セルBC3のセル電圧を計測する期間においては、マルチプレクサHVMUX1およびHVMUX2の入力端子10が選択され、電池セルBC4のセル電圧を計測する期間においては、マルチプレクサHVMUX1およびHVMUX2の入力端子11が選択される。その結果、抵抗R2〜R4により分圧された電圧Vr2〜Vr4が計測され、現在値記憶回路274のレジスタCELL2〜CELL4に保持される。
上述したように、STG1・STG2信号によるセル電圧Vc1〜Vc4の計測は所定周期で繰り返し行われるので、診断モードにおいては、所定周期で電圧Vr1〜Vr4が測定されることになる。マイコン30は、診断コマンドを送信してから上記所定時間より長い時間が経過し、レジスタCELL1〜CELL4に電圧Vr1〜Vr4が保持されるのに必要な時間だけ待ったならば、レジスタCELL2〜CELL4に保持されている診断データの返信を要求するコマンドをIC1へ送信する。
マイコン30側には診断用の期待値としてVr1〜Vr4が予め記憶されており、IC1から返信された測定値Vr1〜Vr4と期待値とが一致していれば、マルチプレクサHVMUX1およびHVMUX2の動作は正常であると診断する。一方、返信された測定値が期待値と異なっている場合には、マルチプレクサHVMUX1,HVMUX2の少なくとも一方が異常であると診断することができる。
なお、上述した例では、図15(a)に示すように、診断時にマルチプレクサMUX1〜MUX5の全てを入力端子1に切り替えたが、必ずしもこのような方式にこだわらない。例えば、セル電圧Vc1を計測する時にマルチプレクサHVMUX1,HVMUX2が入力端子00を正しく選択しているかを診断するために、マルチプレクサMUX1,MUX2のみを入力端子1に切り替えるコマンドをマイコン30から送信するようにしても良い。同様に、入力端子01の選択状態を診断する場合にはマルチプレクサMUX2,MUX3のみを入力端子1に切り替えるコマンドを送信し、入力端子10の選択状態を診断する場合にはマルチプレクサMUX3,MUX4のみを入力端子1に切り替えるコマンドを送信し、入力端子11の選択状態を診断する場合にはマルチプレクサMUX4,MUX5のみを入力端子1に切り替えるコマンドを送信する。この場合、電圧データの返信を要求するコマンドも、その都度送信されることになる。
また、マルチプレクサHVMUX1,HVMUX2の切り替えをSTG1・STG2信号により行なう代わりに、マイコン30からのコマンドにより切り替えても良い。図15(b)は、そのような場合における、セル電圧測定時および診断時のマルチプレクサMUX1〜MUX5,HVMUX1,HVMUX2などの状態を表にしたものである。この場合、マルチプレクサHVMUX1,HVMUX2の選択状態をマイコン30からのコマンドにより指定するので、例えば、入力端子00の選択状態を診断する際には、マルチプレクサMUX1,MUX2の選択状態が1であれば、その他のマルチプレクサMUX3〜MUX5の選択状態は1であっても0であっても構わない。
ところで、抵抗R1〜R4によって分圧された電圧Vr1〜Vr4はセル電圧の正常範囲を外れた値に設定されているので、返信された電圧値から、マルチプレクサMUX1〜MUX5が正常動作しているか否かも判定できる。例えば、図14(b)においてマルチプレクサMUX1,MUX2が切り替わっていない場合、電圧Vr1ではなくセル電圧Vc1が返信されることになり、電圧値からマルチプレクサMUX1,MUX2の選択状態が正しくないことが診断できる。
[過充電検知系の診断]
また、電圧Vr1〜Vr4の少なくとも一つをセル電圧の正常範囲よりも大きく、かつ、過充電に相当する電圧値に設定すれば、過充電検知系が正常に動作しているか否かも診断することも可能となる。例えば、電圧Vr1が上述した過充電閾値OCよりも少し大きい値となるように、抵抗R1を設定する。AD変換された電圧Vr1は、現在値記憶回路274のレジスタCELL1に保持される。保持された電圧Vr1はデジタルマルチプレクサ272により読み出されて、デジタル比較器270に送られ、基準値記憶回路278から読み出された過充電閾値OCと比較される。電圧Vr1は過充電閾値OCよりも大きい値に設定されているので、図5において説明したように、異常を表すフラグ[MFflag]と過充電を表すフラグ[OCflag]がフラグ記憶回路284にセットされ、異常信号が1ビット通信系604を介して送信される。
ここで、ICの異常により基準値記憶回路278の過充電閾値OCレジスタの値が変化してしまった場合、例えば、本来の過充電閾値OCが4Vで、これが5Vに変化してしまった場合を考えてみる。過充電閾値OCが本来の4Vであれば、測定された電圧Vr1は過充電と検知され、上述したフラグがセットされるとともに異常信号が送信される。しかし、過充電閾値OCが5Vに変化してしまった場合、4Vよりも少し大きいだけの電圧Vr1がセル電圧として測定されても、Vr1<5Vと判定されて過充電は検知されず、上述したフラグがセットされない。すなわち、異常信号が送信されない。
マイコン30は、電圧Vr1をセル電圧Vc1の代わりにマルチプレクサHVMUX1に入力するコマンドを送ったので、通信系602を介してIC1の電池セルBC1のセル電圧として電圧Vr1が返信されるとともに、1ビット通信系604を介して異常信号が返信されることを期待している。よって、マイコン30は、電圧Vr1と異常信号とを受信した場合には、IC1の過充電検知系は正常であると診断する。一方、上述のように過充電閾値OCレジスタ異常により、電圧Vr1は受信しているのに異常信号が受信されない場合には、マイコン30の期待値と一致していないので過充電検知系に異常が発生したと診断する。ここで、過充電検知系が正常であるとは、過充電閾値OCが正常で、かつ、デジタル比較器270が正しく判定していて、[OCflag]フラグがセットされる1ビットのレジスタも壊れていないことを意味する。
(変形例)
上述した第2の実施の形態では、マルチプレクサHVMUX1とマルチプレクサHVMUX2とを同期して切り替え、選択状態が常に同じとなるように切り替えることが前提であった。変形例では、選択する入力端子がマルチプレクサHVMUX1とマルチプレクサHVMUX2とで異なっているような使い方をしても、正しく選択状が行なわれているか診断できるようにした。
図16は変形例を説明する図であり、図13と同様にIC1の内部ブロックを示す図である。上述した第2の実施の形態において、仮に、マルチプレクサHVMUX1が入力端子00を選択しマルチプレクサHVMUX2が入力端子01を選択した場合、計測される電圧は抵抗R1+R2の分圧電圧となる。ところが、R1+R2=R3のような抵抗値設定となっていると、マルチプレクサHVMUX1が入力端子01を選択しマルチプレクサHVMUX2が入力端子10を選択している場合と計測される電圧が同じになり、選択状態の判別ができなくなる。
そこで、変形例では、抵抗R1〜R4の抵抗値を、R1=R、R2=2R、R3=4R、R4=8Rのように設定することで、マルチプレクサHVMUX1とマルチプレクサHVMUX2とで入力端子の選択状態が異なっている場合も、選択状態の診断を行なうことが可能となる。この抵抗値の組み合わせは一例であり、どのような入力端子の組み合わせでも計測電圧が異なるようなものであれば、他の抵抗値を組み合わせても構わない。マルチプレクサHVMUX1,HVMUX2の切り替えは、デコーダ257,259のSTG1・STG2信号ではなく、マイコン30からのコマンドに基づく診断指令により行なわれる。なお、図16に示す例では、図13の抵抗RPDおよびマルチプレクサMUX5を省略している。
図17は、マルチプレクサHVMUX1,HVMUX2の選択される入力端子の組み合わせと、そのときに計測される電圧値との関係を示したものである。図17から、電圧値=0となる組み合わせを除き、どのような組み合わせを選んでも電圧値が全て異なっていることが分かる。すなわち、マイコン30は、マルチプレクサHVMUX1,HVMUX2の選択に関する診断指令として、電圧値≠0となる組み合わせの選択指令を送信することにより、マルチプレクサHVMUX1,HVMUX2の各入力端子選択に際して、どのような組み合わせの選択に対しても正しく選択されているか否かを、計測される電圧値で診断することができる。
[過充電検知系の診断]
このような診断が可能な場合、セル電圧測定においてマルチプレクサHVMUX1,HVMUX2が正常に動作しているかの診断に加えて、過充電検知系が正常に動作しているかも診断することができる。例えば、図17の(00、11)の欄は15RIとなっているが、電圧値=15RIが過充電に相当するように抵抗値Rを設定しておけば、マルチプレクサHVMUX1は入力端子00を選択するとともにマルチプレクサHVMUX2は入力端子11を選択するようなコマンドをマイコン30から送信することで、過充電検知系が正常動作しているか否かを診断することができる。
過充電検知系が正常に動作していれば、フラグ記憶回路284に[MFflag]および[OCflag]がセットされ、異常信号が1ビット通信系604を介してマイコン30へと送信される。マイコン30は、IC1から返信された電圧値が15RIとなっていて、異常信号が受信された場合には、すなわち期待値と一致した場合には過充電検知系が正常に動作していると診断する。一方、電圧値15RIが受信されたにも関わらず異常信号が受信されない場合には、過充電検出機能が正常に動作していないと診断する。
《第3の実施の形態》
図18は、第3の実施の形態を説明する図であり、図13と同様のブロック図を示している。図18に示す構成では、第2の実施の形態における図13の構成にバイパススイッチSW0〜SW4をさらに追加した。それにより、第2の実施の形態と同様のマルチプレクサHVMUX1,HVMUX2の診断とともに、過充電検知系の診断とを個別に行なうことができる。本実施の形態においても、マルチプレクサHVMUX1,HVMUX2は、同一の入力端子を選択するように切り替わる。この場合、STG1・STG2信号により切り替えを行っても良いし、マイコン30からのコマンドにより切り替えても良い。図18に示す例では、図13の抵抗RPDおよびマルチプレクサMUX5を省略している。
マルチプレクサHVMUX1,HVMUX2の診断を行う場合には、全てのバイパススイッチSW0〜SW4をオフ(開)する。そうすると、図13に示した第2の実施の形態と同様の構成となるので、上述の説明と同様の診断動作を行なわせることで、マルチプレクサHVMUX1,HVMUX2の診断を実行することができる。
一方、バイパススイッチSW0〜SW4をオンオフ制御することで、種々の電圧を生成することができる。例えば、図18に示すようにバイパススイッチSW1をオフして、その他のバイパススイッチSW0,SW2〜SW4をオンすると抵抗R1による電圧が大きくなり、過充電に相当する過電圧を発生させることができる。マルチプレクサMUX1,MUX2の入力端子を1に設定し、マルチプレクサHVMUX1,HVMUX2を電池セルBC1のセル電圧を計測する状態に設定すると、過充電検知系の診断を行うことができる。
図26は、マイコン30で実行される診断処理の手順を示すフローチャートである。この診断処理は車両キーオンまたはキーオフのタイミングで実行される。車両キーオンまたはキーオフで処理がスタートすると、ステップS100において、スイッチSWをオン(閉)するコマンドをICに対して送信する。スイッチSW0〜SW4については、セル電圧測定モードの場合と同様にオフのままとされる。ステップS110では、マイコン30は、マルチプレクサMUX1〜MUX4の選択状態を入力端子0から入力端子1へ切り替えるコマンドを、ICへ送信する。
ICにおいては、マルチプレクサHVMUX1,HVMUX2の入力端子を00から順に切り替えて、電池セルBC1〜BC4の電圧を測定する動作を所定周期で繰り返し実行している。そのため、マルチプレクサMUX1〜MUX4を入力端子1に切り替えてから所定周期よりも長い時間が経過すると、セル電圧測定動作により取得された電圧値Vr1〜Vr4が、セル電圧データとしてレジスタCELL1〜CELL4に保持される。
ステップS120では、マイコン30は、レジスタCELL1〜CELL4に保持されているセル電圧データの送信を要求するコマンドを、ICへ送信する。このコマンドを受信したICは、受信した時点においてレジスタCELL1〜CELL4に保持されているセル電圧データを、シリアル通信系602を介してマイコン30へ返信する。
ステップS130では、マイコン30は、マルチプレクサHVMUX1,HVMUX2が正常であるか否かを判定する。すなわち、受信したセル電圧データがマイコン30側の期待値と一致するか否かを判定する。マイコン30には、抵抗R1〜R4の分圧電圧値Vr1,Vr2,Vr3,Vr4が期待値として保持されており、その期待値Vr1,Vr2,Vr3,Vr4と、受信したレジスタCELL1〜CELL4のセル電圧データとを比較し、全てが一致していればマルチプレクサHVMUX1,HVMUX2は正常であると診断する。一つでも一致しないセル電圧データがあった場合には異常と診断する。
ステップS130において正常と診断された場合にはステップS140へ進み、異常と診断された場合にはステップS200へ進む。ステップS200へ進んだ場合には、スイッチSWをオフするとともにマルチプレクサMUX1〜MUX4を入力端子0に切り替えるコマンドを、ICに送信する。ICは、コマンドに従ってスイッチのオフ動作、マルチプレクサの切り替え動作を行うことにより、セル電圧測定状態に戻る。その後、ステップS210において、マイコン30は、ICに異常が生じていることを報知する異常報告を上位のコントローラへ送信し、一連の診断処理を終了する。なお、マルチプレクサ診断で異常と診断された場合でも、ここで診断処理を終了せずに、引き続き過充電検知系の診断を行うようにしても構わない。
一方、ステップS130からステップS140に進んだ場合には、続いて過充電検知系の診断を行うために、スイッチSW1のみをオフ状態にしたまま、それ以外のスイッチSW0,SW2〜SW4をオンにする。なお、スイッチSWおよびマルチプレクサMUX1〜MUX4の状態はマルチプレクサ診断の状態をそのまま維持する。すなわち、スイッチSWはオン、マルチプレクサMUX1〜MUX4の選択状態は入力端子1である。
上述したように、ICはセル電圧測定動作を周期的に行っているので、ステップS140の処理が実行された後に、図18に示すようにマルチプレクサHVMUX1,HVMUX2が入力端子00とされて電池セルBC1の電圧測定が行われると、抵抗R1の電圧(過充電に相当する過電圧)がマルチプレクサHVMUX1,HVMUX2に入力されることになる。この電圧はアナログデジタル変換器122Aによりデジタル値に変換されて、レジスタCELL1に保持される。そして、デジタル比較器270により過充電閾値OCと比較されると、過充電を検出したことを示すフラグ[OCflag]がフラグ記憶回路284にセットされる。その結果、ICから異常信号が1ビット通信系604に送出され、その異常信号がマイコン30によって受信される。
ステップS150では、マイコン30は、レジスタCELL1〜CELL4に保持されているセル電圧データの送信を要求するコマンドを、ICへ送信する。このコマンドを受信したICは、受信した時点においてレジスタCELL1〜CELL4に保持されているセル電圧データを、シリアル通信系602を介してマイコン30へ返信する。なお、ステップS150では、レジスタCELL1のみのセル電圧データを要求するようにしても良い。
ステップS160では、スイッチSW,SW0,SW2〜SW4をオフするとともにマルチプレクサMUX1〜MUX4を入力端子1から入力端子0に切り替えるコマンドを、ICに送信する。ICは、コマンドに従ってスイッチのオフ動作、マルチプレクサの切り替え動作を行うことにより、セル電圧測定状態に戻る。
ステップS170では、マイコン30は、過充電検知系が正常であるか否かを診断する。すなわち、受信したセル電圧データと異常信号を受信したか否かに基づいて、過充電検知系の正常または異常を判定する。すでにステップS130においてマルチプレクサHVMUX1,HVMUX2が正常であることは診断されているが、期待通りに過電圧が入力されていることをセル電圧データから確認する。そして、過電圧の入力によって期待通りに過充電検知が行われているか否かを、異常信号が受信されたか否かによって診断する。
異常信号が受信された場合には過充電検知系は正常と診断し、ステップS170からステップS210へ進む。ステップS210では、ICに異常が生じていることを報知する異常報告をマイコン30から上位のコントローラへ送信し、一連の診断処理を終了する。
《第4の実施の形態》
図19は、第4の実施の形態を説明する図である。第2の実施の形態では、ICに設けられている電圧源400に抵抗R1〜R4を直列接続し、各抵抗R1〜R4により分圧された既知の電圧をセル電圧の変わりに入力し、マルチプレクサHVMUX1,HVMUX2の診断を行った。第4の実施の形態では、抵抗R1〜R4の代わりに、電圧源402〜405を設けて、電圧源402〜405からの既知の電圧を入力することでマルチプレクサHVMUX1,HVMUX2の診断を行うような構成とした。
マルチプレクサHVMUX1,HVMUX2を診断する場合の各電圧源402〜405の出力電圧値の大きさは、抵抗R1〜R4による生成される電圧値の場合と同様に設定される。マルチプレクサMUX1,MUX2が正しく動作しているか否かも診断することができる。また、診断時におけるマルチプレクサMUX1,MUX2,HVMUX1,HVMUX2の動作は、第2の実施の形態と同様であり、ここでは説明を省略する。電圧源402〜405は、診断モードオンでオンされ、診断モードオフとともにオフされる。電圧源402〜405としては、可変抵抗値による分圧電圧、DAC、チャージポンプ、DCDCコンバータ、バンドギャップリファレンスなど電圧生成可能な素子が用いられる。
また、電圧源402〜405を可変の電圧源とし、いずれかの出力電圧を過充電に相当する電圧値に変更することで、過充電検知系の診断も行うことができる。なお、図19では電圧源1〜4をIC1の内部に設けたが、IC1の外部に設けて、端子V1〜V4に既知の電圧値を入力するように構成しても良い。
図27は、電圧源をICの外部に設ける場合の、一例を示したものである。図27に示すICの場合には、端子VCC,CV1〜CV6,GNDSに6セルの電池セルが接続できる構成となっており、図27に示す例では、端子CV3〜CV6,GNDSに4つの電池セルが接続されている。ここでは、外部電圧源440は、過充電検知系の診断用として端子CV6に対して設けられていて、図19の電圧源405に対応する。マルチプレクサ診断も行う場合には、各電池セルに対応して端子CV3,CV4,CV5,CV6にそれぞれ設けられる。マイコン30からの信号により絶縁スイッチ430を操作し、フォトカプラ431をオンする。その結果、外部電圧源440のVrefから生成された電圧が、ICの端子V6に印加される。
《第5の実施の形態》
図20は、第5の実施の形態を説明する図である。上述した第4の実施の形態では、電圧源401〜404をマルチプレクサHVMUX1,HVMUX2の前段に設けたが、第5の実施の形態では、電圧源410,411をマルチプレクサHVMUX1,HVMUX2の後段に設けた。各マルチプレクサHVMUX1,HVMUX2と差動増幅器262とのライン上には、マルチプレクサMUX1,MUX2が設けられる。マルチプレクサMUX1の入力端子0にはマルチプレクサHVMUX1の出力が入力され、他方の入力端子1には、電圧源410からの既知の電圧が入力されている。マルチプレクサMUX2の入力端子0にはマルチプレクサHVMUX2の出力が入力され、他方の入力端子1には、電圧源411からの既知の電圧が入力されている。
本実施の形態では、図20に示すような構成とすることにより、マルチプレクサHVMUX1,HVMUX2のいずれに不具合が発生したかを個別に診断することが可能となる。通常のセル電圧測定の時には、マルチプレクサMUX1,MUX2は入力端子0を選択する状態とされ、電圧源410,411はオフ状態とされる。一方、診断モードにおいては、マイコン30からのコマンドにより、マルチプレクサMUX1,MUX2の選択状態および電圧源410,411のオンオフ状態を制御する。
まず、マルチプレクサHVMUX1の診断を行う場合には、マルチプレクサMUX1を入力端子0に、マルチプレクサMUX2を入力端子1にそれぞれ設定し、電圧源411の電圧値をIC1のグランドレベルに設定する。電圧源410はオフ状態とする。この状態において、ICのセル電圧測定動作に従ってマルチプレクサHVMUX1,HVMUX2の入力端子を00,01,10,11と切り替えると、差動増幅器262には4セル分の電圧、3セル分の電圧、2セル分の電圧、1セル分の電圧が順に入力されることになる。なお、マイコン30からの指示によりマルチプレクサHVMUX1の選択状態を順に切り替えるようにしても良い。
このように、マルチプレクサHVMUX1の選択される入力端子が異なると、測定される電圧は1セル分以上異なっているので、マイコン30は、測定されたこれらの電圧値から、マルチプレクサHVMUX1が指令通りに入力端子を選択しているか否かを診断することができる。
一方、マルチプレクサHVMUX2の診断を行う場合には、マルチプレクサMUX1を入力端子1、マルチプレクサMUX2を入力端子0にそれぞれ設定し、電圧源410の電圧値をIC1のグランドレベルに設定する。電圧源411はオフ状態とする。この場合には、セル電圧測定の場合と同様にマルチプレクサHVMUX1,HVMUX2の入力端子を00,01,10,11と切り替えると、差動増幅器262には4セル分のマイナス電圧、3セル分のマイナス電圧、2セル分のマイナス電圧、1セル分のマイナス電圧が順に入力される。そのため、マルチプレクサHVMUX1の場合と同様に、マルチプレクサHVMUX2の選択状態を診断することができる。
上述した例では、電圧源の電圧値をグランドレベルに設定したが、これに限るものではない。例えば、マルチプレクサHVMUX1の診断を行う場合に電圧源411の電圧値を2セル分の電圧レベルに設定すると、マルチプレクサHVMUX1,HVMUX2の入力端子が00,01,10,11と切り替わると、2セル分の電圧、1セル分の電圧、0セル分の電圧、1セル分のマイナス電圧が、差動増幅器262に順に入力される。このような設定でも、選択される入力端子が異なると計測される電圧が1セル分以上異なるので、これらの電圧値からマルチプレクサHVMUX1の選択状態を診断することができる。
なお、4セル分の電圧が入力される場合には、差動増幅器262の入力電圧範囲を超える場合もあるので、そのような状況に備えて差動増幅器262の前段に減衰器を設けるようにするのが好ましい。上述した例では、マルチプレクサHVMUX1,HVMUX2の切り替えをデコーダ257,259からのSTG1・STG2信号により行ったが、マイコン30からのコマンドにより行っても良い。
[過充電検知機能の診断]
また、過充電に相当する2〜4セル分の電圧が入力されるので、過充電検知系の診断を行うこともできる。さらにまた、マルチプレクサMUX1,MUX2の両方を入力端子1へと切り替え、電圧源410,411を用いて過充電に相当する過電圧を差動増幅器262に入力することで、過充電検知系を診断するようにしても良い。例えば、電圧源411をグランド電位とし、電圧源410を過充電相当値に設定する。このように差動増幅器262に過電圧を入力することにより、差動増幅器262、アナログデジタル変換器122Aおよびデジタル比較器270が正常動作していることが診断でき、過充電閾値OCやフラグ[OCflag]がセットされるレジスタも正常であることが分かる。シリアル通信で返信されるレジスタCELLの電圧データから、電圧源410が正しく過電圧を入力したか否かも判断できる。
過充電検知系の診断を行うための構成としては、図20のように電圧源410,411を用いて過電圧を入力する代わりに、図28に示すような構成を採用しても良い。図28は、アナログデジタル変換器122Aおよびその後段のブロックを示したものである。現在値記憶回路274には過充電相当値VOCが保持されているレジスタが設けられている。過充電相当値VOCは基準値記憶回路278に保持されている過充電閾値OCよりも若干大きく設定されている。過充電相当値VOCおよびレジスタCELL3に保持されている電圧値データは、マルチプレクサ450によりいずれか一方が選択されてデジタルマルチプレクサ272に入力される。マルチプレクサ450の入力端子0,1の切り替えは、マイコン30のコマンドに基づく診断指令によって行われる。
通常のセル電圧測定モードにおいては、マルチプレクサ450の選択状態は入力端子0に設定されている。そのため、電池セルBC3のセル電圧としてレジスタCELL3のデータがデジタルマルチプレクサ272により読み出されることになる。一方、過充電検知系の診断を行う場合には、マイコン30からのコマンドによりマルチプレクサ450の選択状態を入力端子1に切り替える。その結果、レジスタCELL3の電圧データの代わりに過充電相当値VOCが読み出され、デジタル比較器270によって、基準値記憶回路278の過充電閾値OCと過充電相当値VOCとが比較される。過充電相当値VOCは過充電閾値OCよりも大きく設定されているので、比較の結果、過充電を表すフラグ[OCflag]がフラグ記憶回路284にセットされる。フラグ[OCflag]がセットされると、異常信号が1ビット送信系604に送出され、マイコン30によって受信される。また、電池セルBC3のセル電圧として過充電相当値VOCがマイコン30に返信される。
図29は、過充電検知機能診断の手順を示すフローチャートである。ステップS310では、過充電検知機能診断のフラグを「True」にして診断を開始する。ステップS320では、n=1とする。ここで、nは診断を行うICの番号であり、IC1の診断を行う場合にはn=1、IC2の診断を行う場合にはn=2、IC3の診断を行う場合にはn=3にセットされる。ステップS330では、測定されたセル電圧Vc3(図29ではCV3)の代わりに過充電相当値VOCをセットする。ステップS340では、過充電信号の受信を確認する。ステップS350では次のIC2の診断を行うべくnの値をn+1(この場合にはn+1は2である)とする。ステップS360では、nの値が3であるか否か、すなわちIC3の診断が終了したか否かの判定をする。ステップS360で否定判定されると、ステップS370で過充電フラグをクリアする信号を送った後に、ステップS330へ戻る。一方、ステップS360で肯定判定された場合、すなわちIC3までの診断が終了した場合には、ステップS380に進んで過充電フラグをクリアする信号を送る。次いで、ステップS390では、過充電検知機能診断のフラグを「False」にして診断を終了する。
マイコン30は、返信された電池セルBC3のセル電圧が期待している過充電相当値VOCと一致していたときには、マルチプレクサ450がコマンド通りに正しく動作したことを認識できる。さらに、異常信号が受信された場合には過充電検知系が正常であると診断する。一方、過充電相当値VOCが返信されているにもかかわらず、異常信号が受信されない場合には、過充電検知系は異常であると診断する。なお、過充電相当値VOCが返信されなかった場合には、マルチプレクサ450が正常に動作していないと判断することができる。
図29において、ステップS310では、過充電検知機能診断のフラグを「True」にして診断を開始する。ステップS320では、n=1とする。ここで、nは診断を行うICの番号であり、IC1の診断を行う場合にはn=1、IC2の診断を行う場合にはn=2、IC3の診断を行う場合にはn=3にセットされる。ステップS330では、測定されたセル電圧Vc3(図29ではCV3)の代わりに過充電相当値VOCをセットする。ステップS340では、過充電信号の受信を確認する。ステップS350では次のIC2の診断を行うべくnの値をn+1(この場合にはn+1は2である)とする。ステップS360では、nの値が3であるか否か、すなわちIC3の診断が終了したか否かの判定をする。ステップS60で否定判定されると、ステップS370で過充電フラグをクリアする信号を送った後に、ステップS330へ戻る。一方、ステップS360で肯定判定された場合、すなわちIC3までの診断が終了した場合には、ステップS380に進んで過充電フラグをクリアする信号を送る。次いで、ステップS390では、過充電検知機能診断のフラグを「False」にして診断を終了する。
このように、CELL3の電圧データに代えて過充電相当値VOCをデジタルマルチプレクサ272に入力し、デジタル比較器270で過充電閾値OCと比較する構成とすることで、異常信号の受信により、基準値記憶回路278の過充電閾値OCが正しく、デジタル比較器270が正しく動作し、フラグ[OCflag]が正しくセットされていることを確認することができる。逆に、異常信号が受信されない場合には、これらの内の少なくとも一つに異常が生じていると診断することができる。
《第6の実施の形態》
上述した第2〜5の実施の形態では、マルチプレクサHVMUX1,HVMUX2の出力を差動増幅器262で差分を取り、その差分をアナログデジタル変換器122Aでデジタル値に変換したデータに基づいてマルチプレクサ診断を行うようにしている。図21に示す第6の実施の形態では、マルチプレクサHVMUX1,HVMUX2の入力と出力との差分に基づいて、マルチプレクサHVMUX1,HVMUX2の診断を行うような構成とした。
図21において、符号420で示す部分がマルチプレクサHVMUX1,HVMUX2の入力と出力との差分を求める回路である。以下ではマルチプレクサHVMUX2に関して説明するが、マルチプレクサHVMUX1についても同様である。差分回路420には4つのコンパレータCOMP1〜COMP4が設けられている。コンパレータCOMP1の入力端子1はマルチプレクサHVMUX2の出力ラインに接続され、入力端子2は電池セルBC2の正極と入力端子00とを結ぶラインに接続されている。図21に示すマルチプレクサHVMUX1,HVMUX2の選択状態においては、コンパレータCOMP1の入力端子1には入力端子00と同一の電位が入力されることになる。
同様に、コンパレータCOMP2では、入力端子1にはマルチプレクサHVMUX2の出力が入力され、入力端子2にはマルチプレクサHVMUX2の入力端子01と同一の電位が入力される。コンパレータCOMP3では、入力端子1にはマルチプレクサHVMUX2の出力が入力され、入力端子2にはマルチプレクサHVMUX2の入力端子10と同一の電位が入力される。コンパレータCOMP4では、入力端子1にはマルチプレクサHVMUX2の出力が入力され、入力端子2にはマルチプレクサHVMUX2の入力端子11と同一の電位が入力される。なお、マルチプレクサHVMUX1,HVMUX2の出力側は、マルチプレクサHVMUX1,HVMUX2の出力フローティングに対応するためにプルアップまたはプルダウンされる。
電池セルBC1のセル電圧測定時には、図21に示すようにマルチプレクサHVMUX1,HVMUX2は入力端子00が選択される。そして、コンパレータCOMP1〜COMP4の入力端子1には電池セルBC2の正極側の電位が入力される。その結果、コンパレータCOMP1〜COMP4の入出力端子間の電位差は、コンパレータCOMP1からコンパレータCOMP4の順に0セル分電圧、1セル分電圧、2セル分電圧、3セル分電圧となる。
各コンパレータCOMP1〜COMP4は、図22に示すような特性をそれぞれ有している。図22において、横軸は入力端子1の入力in1と入力端子2の入力in2との差分電圧dV(=in1−in2)を表しており、縦軸はコンパレータCOMP1〜COMP4の出力(デジタル値)を表している。入力される差分電圧dVの値が0を中心とする所定範囲H内に入っている場合には、コンパレータCOMP1〜COMP4からデジタル値1が出力され、逆に、差分電圧dVの値が所定範囲Hの外側の値である場合にはデジタル値0が出力される。所定範囲HはコンパレータCOMP1〜COMP4の誤差に対して無視できる程度の値に設定される。
図21に示す状態においては、コンパレータCOMP1からは1が出力され、コンパレータCOMP2〜4からは0が出力される。これらは選択状態データ「0001」として現在値記憶回路274に記憶される。一方、マルチプレクサHVMUX1の場合も同様であり、差分回路420から選択状態データ「0001」が出力され、現在値記憶回路274に記憶される。同様に、マルチプレクサHVMUX1,HVMUX2が入力端子01を選択している場合には差分回路420から選択状態データ「0010」が出力され、入力端子10を選択している場合には選択状態データ「0100」が出力され、入力端子11を選択している場合には選択状態データ「1000」が出力される。
このように、セル電圧測定時に得られる選択状態データは、マルチプレクサHVMUX1,HVMUX2がどの入力端子を選択しているかを示すデータであり、セル電圧と関連付けて現在値記憶回路274のレジスタに記憶される。また、選択状態データは、セル電圧測定の周期の期間毎に取得される。各ICは、マイコン30からセル電圧送信のコマンドを受信すると、セル電圧とともに選択状態データも一緒にマイコン30に送り返す。マイコン30は、受信した選択状態データに基づいてマルチプレクサHVMUX1,HVMUX2の診断を行う。例えば、電池セルBC1のセル電圧と対応付けられた選択状態データが「0001」であれば正常と診断し、これ以外のデータであった場合には異常と診断する。
《第7の実施の形態》
図23は、第7の実施の形態を示す図である。第7の実施の形態では、セル電圧=0Vが検出された場合に、それがセンシング線L1〜L5の断線に起因するのか、電池セルBC1〜BC4の異常(内部短絡等)により出力電圧Vc1が0Vとなっていることに起因するのかを診断することができる。セル電圧を測定する通常モード時には、マルチプレクサHVMUX1,HVMUX2の切り替え動作はIC1に設けられたデコーダ257,259からのSTG1・STG2信号に基づいて行われるが、診断モード時にはマイコン30からのコマンドを優先する。そして、コマンドによりマルチプレクサHVMUX1,HVMUX2の選択状態およびバランシングスイッチのオンオフ状態を制御し、そのときの測定される電圧値に基づいて診断を行う。
なお、ここでは上記診断についてのみ説明し、マルチプレクサHVMUX1,HVMUX2の診断に必要な図13に示した抵抗RPU,R1〜R4,RPD、マルチプレクサMUX1〜MUX5,スイッチSWおよび電圧源400については、図23では記載を省略し、説明も図13の場合と同様なので省略する。また、バランシング電流を調整するバランシング抵抗RはIC1内部の必須の構成では無く、IC1外部に実装することも出来る。
例えば、セル電圧Vc2=0Vと測定され、それがセンシング線L2の断線によるものか、電池セルBC2に内部短絡が生じたことに起因するのかを診断する場合について、図24を参照しながら説明する。診断を行う場合には、マルチプレクサHVMUX1,HVMUX2の選択状態およびバランシングスイッチ129A,129Bのオンオフを制御する。図24は、マルチプレクサHVMUX1,HVMUX2の選択状態およびバランシングスイッチ129A,129Bのオンオフ状態と、測定される電圧との関係を示したものである。以下では、マルチプレクサHVMUX1,HVMUX2の選択状態およびバランシングスイッチ129A,129Bのオンオフ状態のことを、制御状態(HVMUX1,HVMUX2,129A,129B)と表すことにする。また、図24の1行目は正常時の測定電圧値を示し、2行目はセンシング線L2が断線している場合の測定電圧値を示し、3行目は電池セルBC2の以上によりVc2=0Vとなっている場合を示す。
図24の左側から1列目は、制御状態が(N1,N1,x,x)の場合を示す。すなわち、マルチプレクサHVMUX1,HVMUX2の両方とも入力端子N1が選択された場合である。バランシングスイッチ129A,129Bのオンオフ状態に関しては符号xで表示されているが、これはオン、オフのどちらの状態でも良いことを表している。制御状態(N1,N1,x,x)の場合には、正常時、センシング線断線時および電池セル異常時のいずれの場合も測定電圧値は0Vとなる。なお、この制御状態は必須では無く、マルチプレクサHVMUX1、HVMUX2の両方とも入力端子N1が選択出来ない場合などでは、省略することも出来る。
2列目は、制御状態(N1,N2,ON,x)の場合、すなわち図23に示す状態を示す。この場合、正常時には電池セルBC1のセル電圧Vc1、すなわち1セル分の電圧が測定されることになる。一方、センシング線L2が断線している場合には、測定電圧値=0Vが測定される。また、電池セルBC2の異常により出力電圧がVc2=0であっても端子V1,V2間の電圧測定には影響しないので、この場合も測定電圧値=Vc1が測定される。
3列目は、制御状態(N1,N3,x,x)の場合を示す。この場合、正常時には各電池セルBC1,BC2のセル電圧Vc1,Vc2を合計した2セル分の電圧Vc1+Vc2が測定される。また、センシング線L2が断線している場合であっても端子V1,V3間の電圧測定には影響しないので、この場合も2セル分の電圧Vc1+Vc2が測定される。一方、電池セルBC2の異常により出力電圧がVc2=0の場合には、1セル分の電圧(Vc1+0)が測定されることになる。
4列目は、制御状態(N2,N3,x,ON)の場合を示す。この場合、正常時には電池セルBC2のセル電圧Vc2、すなわち1セル分の電圧が測定されることになる。一方、センシング線L2が断線している場合には0Vが測定されることになる。電池セルBC2の異常により出力電圧がVc2=0の場合にも、0Vが測定されることになる。
このように、4種類の制御状態(N1,N1,x,x),(N1,N2,ON,x),(N1,N3,x,x),(N2,N3,x,ON)に関する測定電圧の組を比較することで、センシング線L2が断線しているのか、電池セルBC2の出力電圧そのものが0Vなのかを診断することができる。他の場合、例えば、センシング線L3が断線しているのか、電池セルBC3の出力電圧そのものが0Vなのかの診断などについても、同様に考えることができる。
《第8の実施の形態》
図25は、第8の実施の形態を示す図である。図25(a)に示す構成は図16に示した構成と同一であるが、マルチプレクサMUX1〜MUX4の構成は図25(b)のような構成としている。本実施の形態では、マルチプレクサMUX1〜MUX4は、NMOS・PMOS抱き合わせのトランスファーゲート等で構成されており、入力端子0,1の各々に設けられたスイッチは、マイコン30からの指令により、独立にオンオフ制御することができる。
第8の実施の形態においても、通常モードにおけるセル電圧測定動作、および、診断モードにおけるマルチプレクサHVMUX1,HVMUX2の接続状態を診断する場合の動作は、図16の場合と同様に行われる。さらに、本実施の形態では、電圧源400のラインに設けられたスイッチSWをオフするとともに、図25(b)に示したマルチプレクサMUX1〜MUX4の2つのスイッチを同時にオンすることにより、センシング線の断線診断を行うことができる。なお、この断線診断を行うためには、抵抗RPU、R1〜R4の抵抗値を電池セルの内部抵抗よりも十分大きく設定する必要がある。
図25(a)では、マルチプレクサMUX1,MUX2のスイッチを両方ともオン状態とすることで、センシング線L1の断線を診断することができる。センシング線L1が断線していない場合にはセル電圧Vc1が測定されるが、断線していた場合には測定電圧値として0Vが検出されることになる。上述した、第7の実施の形態ではバランシングスイッチ129Aをオンしてバランシング抵抗Rにバランシング電流(バイパス電流)が流れるようにすることで、断線検出を行っていたが、本実施の形態では、マルチプレクサMUX1,MUX2のスイッチを両方ともオン状態とすることで、抵抗R1にバイパス電流を流して断線検出をしている。本実施の形態の場合には、抵抗R1は大きく設定されていて、そこを流れる電量はバランシング電流よりも小さいので、断線診断における無駄な電流(リーク電流)を小さくすることができるという利点がある。
上述した各実施形態はそれぞれ単独に、あるいは組み合わせて用いても良い。それぞれの実施形態での効果を単独あるいは相乗して奏することができるからである。また、本発明の特徴を損なわない限り、本発明は上記実施の形態に何ら限定されるものではない。