以下、図を参照して本発明を実施するための形態について説明する。以下に説明する実施形態では、ハイブリッド自動車用駆動システムの駆動電源に適用した電池制御装置について説明する。なお、以下に説明する実施形態の構成は、ハイブリッド電車などの鉄道車両などにも適用できる。
<ハイブリッド自動車用駆動システムの概略構成>
まず、図1を用いて、ハイブリッド自動車用駆動システムについて説明する。図1に示すハイブリッド自動車1の駆動システムは、駆動輪2に機械的に接続された車軸3がデファレンシャルギア4と接続され、デファレンシャルギア4の入力軸が変速機5と接続されている。そして、駆動源として、内燃機関であるエンジン6と電動発電機7の駆動力を切替える駆動力切替装置8を介して変速機5の入力となっている。
図1では駆動輪2の駆動源として、エンジン6と電動発電機7とが並列に配置された、いわゆるパラレルハイブリッド方式である。また、ハイブリッド自動車用駆動システムには、駆動輪2の駆動源として電動発電機7のエネルギーを用い、エンジン6のエネルギーは電動発電機7の駆動源、すなわち蓄電器を充電するようにした、いわゆるシリアルハイブリッド方式があり、本発明はこれらの方式、又は組合せた方式共に採用することができる。
電動発電機7には電力変換装置9を介して、電源装置である蓄電装置100が電気的に接続されている。電力変換装置9は制御装置10によって制御される。
電動発電機7を電動機として作動させる時には、電力変換装置9は、蓄電装置100から出力された直流電力を三相交流電力に変換する直流−交流変換回路として機能する。また、回生制動の際に電動発電機7を発電機として作動させる時には、電力変換装置9は、電動発電機7から出力された三相交流電力を直流電力に変換する交流−直流変換回路として機能する。電力変換装置9の直流側には、蓄電装置100のモジュール電池の正負極端子が電気的に接続される。電力変換装置9の交流側には2つのスイッチング半導体素子による3直列回路があり、直列回路の2つのスイッチング半導体素子の中間には、電動発電機4の電機子巻線の3つの相の巻線が電気的に接続されるようになっている。
電動発電機7は、駆動輪5を駆動するための原動機として機能し、電機子(固定子)と、電機子に対向配置され、回転可能に保持された界磁(回転子)とを備え、永久磁石の磁束を界磁に用いた永久磁石界磁式三相交流同期回転電機である。電動発電機7は、電機子巻線に供給された三相交流電力により形成されて同期速度で回転する回転磁界と、永久磁石の磁束との磁気的な作用に基づいて、駆動輪5の駆動に必要な回転動力を発生する
電動発電機7を電動機として駆動する時には、電機子は、電力変換装置9によって制御された三相交流電力の供給を受けて回転磁界を発生させる。一方、電動発電機9を発電機として駆動する時には、電機子は、磁束の鎖交により三相交流電力を発生させる部位となり、磁性体である電機子鉄心(固定子鉄心)と、電機子鉄心に装着された三相の電機子巻線(固定子巻線)とを備えている。界磁は、電動発電機7を電動機或いは発電機として駆動する時、界磁磁束を発生させる部位であり、磁性体である界磁鉄心(回転子鉄心)と、界磁鉄心に装着された永久磁石とを備えている。
電動発電機7としては、電機子巻線に供給された三相交流電力により形成されて同期速度で回転する回転磁界と、巻線の励磁による磁束との磁気的な作用に基づいて、回転動力を発生する巻線界磁式三相交流同期回転電機、或いは三相交流誘導回転電機などを採用してもよい。巻線界磁式三相交流同期回転電機の場合、電機子の構成は永久磁石界磁式三相交流同期回転電機と基本的に同じである。一方、界磁の構成は異なっており、磁性体である界磁鉄心に界磁巻線(回転子巻線)を巻く構成になっている。尚、巻線界磁式三相交流同期回転電機では、界磁巻線が巻かれた界磁鉄心に永久磁石を装着し、巻線による磁束の漏れを抑える場合もある。界磁巻線は外部電源から界磁電流の供給を受けて励磁されることにより磁束を発生する。
電動発電機7には駆動力切替装置8、変速機5、デファレンシャルギア4を介して駆動輪2の車軸3が機械的に接続されている。変速機5は、電動発電機7から出力された回転動力を変速してデファレンシャルギア4に伝達する。デファレンシャルギア4は、変速機5から出力された回転動力を左右の車軸3に伝達する。駆動力切替装置8は、エンジン制御や走行制御などの上位制御装置によって切替えられ、エンジン制御での加速走行、アイドルストップからの電動発電機7によるエンジン始動、ブレーキ制御における回生ブレーキ協調などで切替えて電動機又は発電機として動作させる。
蓄電装置100は、電動発電機7が回生時に発生した電力を自身の駆動用電力として充電し、電動発電機7を発電機として駆動する祭に、この駆動に必要な電力を放電する駆動用車載電源である。例えば、100V以上の定格電圧を有するように、数十本のリチウムイオン電池により構成されたバッテリシステムである。尚、蓄電装置100の詳細な構成については後述する。
蓄電装置100には、電動発電機7の他に、車載補機(たとえばパワーステアリング装置,エアーブレーキ)に動力を供給する電動アクチュエータ、蓄電装置100よりも定格電圧が低く、車内電装品(たとえばライト,オーディオ、車載電子制御装置)に駆動電力を供給する電装用電源である低圧バッテリなどがDC/DCコンバータを介して電気的に接続されている。DC/DCコンバータは、蓄電装置100の出力電圧を降圧して電動アクチュエータや低圧バッテリなどに供給したり、低圧バッテリの出力電圧を昇圧して蓄電装置100などに供給したりする昇降圧装置である。低圧バッテリには定格電圧12Vの鉛バッテリを用いている。低圧バッテリとしては、同じ定格電圧を有するリチウムイオンバッテリ或いはニッケル水素バッテリを用いてもよい。
ハイブリッド自動車1の力行時(発進、加速、通常走行など)、制御装置10に正のトルク指令が与えられて電力変換装置9の作動が制御されると、蓄電装置100に蓄電された直流電力は電力変換装置9により三相交流電力に変換されて電動発電機7に供給される。これにより、電動発電機7が駆動されて回転動力が発生する。発生した回転動力は、駆動力切替装置8、変速機5及びデファレンシャルギア4を介して車軸3に伝達され、駆動輪2を駆動する。
ハイブリッド自動車1の回生時(減速、制動など)、制御装置10に負のトルク指令が与えられて電力変換装置9の作動が制御されると、駆動輪2の回転動力により駆動される電動発電機7から発生した三相交流電力は直流電力に変換されて蓄電装置100に供給される。これにより、変換された直流電力は蓄電装置100に充電される。
制御装置10は、上位制御装置から出力されたトルク指令値から電流指令値を演算すると共に、電流指令値と、電力変換装置9の間を流れる実電流との差分に基づいて電圧指令値を演算し、この演算された電圧指令値に基づいてPWM(パルス幅変調)信号を発生させ、そのPWM信号を電力変換装置9に出力する。
<蓄電装置100の全体構成>
次に、図2を用いて、蓄電装置100の全体構成について説明する。蓄電装置100は、前述したように、電動発電機7を駆動するための車載電源であり、モジュール電池制御装置200と電池駆動ユニット300で構成されている。蓄電装置100は、電力変換装置9を介して電動発電機7に接続され、電力変換装置9によって充放電が制御される。
モジュール電池制御装置200は、複数のリチウム単電池214から成る第1モジュール電池セット241と、複数のリチウム単電池214から成る第2モジュール電池セット242と、電池制御回路250とで構成されている。第1モジュール電池セット241は、電池モジュール211と、セル制御回路221と、電池モジュール211の温度センサ231とを備えている。第2モジュール電池セット242は、電池モジュール212と、セル制御回路222と、電池モジュール212の温度センサ232とを備えている。
なお、図2では、モジュール電池制御装置200は、第1モジュール電池セット241と第2モジュール電池セット242の2つで構成されているが、モジュール電池セットの数は2つに限定されることなく、2つ以上の構成であっても良い。
第1モジュール電池セット241の電池モジュール211と第2モジュール電池セット242の電池モジュール212とは、スイッチとヒューズが直列接続された保守・点検用のサービスディスコネクトブロック213を介して直列接続されている。高電位側電池モジュール211の正極側は、コンタクタ310を介して電力変換装置9の正極端子110に接続されている。一方、低電位側電池モジュール212の負極側は、コンタクタ320を介して電力変換装置9の負極端子120に接続されている。正極側コンタクタ310には、プリチャージ用コンタクタ311とプリチャージ用抵抗312の直列回路が並列接続されており、正極側コンタクタ310をオンにする前にコンタクタ311をオンすることにより、電力変換装置9に並列接続される大容量平滑コンデンサの初期時の突入電流を制限する構成となっている。
電池駆動ユニット300には、上述したコンタクタ310、311、320、プリチャージ用抵抗312の他に、負極側ラインに設けられた電流センサ330を備えている。電流センサ330は、電池モジュール211,212から供給される総電流を検出する。電流センサ330で検出された総電流値はモジュール電池制御装置200に出力される。コンタクタ310、311、320は、電力変換装置9からの指令によりオン、オフ動作するようになっている。
電力変換装置9は、スイッチング半導体素子のオン・オフ動作によって直流電力を三相交流電力に変換し、或いは、三相交流電力を直流電力に変換する装置であり、制御装置11、パワーモジュール14およびドライバー装置15を備えている。
パワーモジュール14は、スイッチング素子を三相フルブリッジに接続した電力変換回路であり、直流端子と三相交流端子とを有している。直流端子の正極側には電池駆動ユニット300の正極側コンタクタ310の端子110が接続され、直流端子の負極側には負極側コンタクタ310の端子120が接続される。ドライバー装置15は、制御装置11から出力された指令信号(PWM信号)に基づいて、パワーモジュール14を作動させるための駆動信号を生成し、この生成された駆動信号を6つのスイッチング半導体素子のゲート電極に出力する。
パワーモジュール14は、ドライバー装置15から出力された3アーム分(6つのスイッチング半導体素子分)の駆動信号により、各スイッチング素子のスイッチング(オン・オフ)動作を行うことにより、直流電力を三相交流電力に変換して電動発電機7に出力したり、電動発電機7から出力された三相交流電力を直流電力に変換して電池モジュール211、212に出力したりする。
モジュール電池制御装置200に設けられた電池制御回路250は、第1、第2モジュール電池セット241、242の状態を管理及び制御すると共に、電力変換装置9にモジュール電池制御装置200の状態などを通知する。第1、第2モジュール電池セット241、242の状態の管理及び制御には、総電圧、総電流、温度などの計測、セル制御回路221,222に対する指令の出力などがある。
セル制御回路221、222は、電池制御回路250からの指令によって複数のリチウム単電池214の状態を管理及び制御するためのものであり、複数の集積回路(IC)によって構成されている。複数のリチウム単電池214の状態の管理及び制御には、各リチウム単電池214の電圧の計測、各リチウム単電池214の蓄電量の調整などがある。セル制御回路221、222を構成する各集積回路は、対応する複数のリチウム単電池214が決められており、対応する複数のリチウム単電池214に対して状態の管理及び制御を行う。
電池制御回路250の電源には、車載補機、例えばライトやオーディオ機器などの電源として搭載された補機用バッテリ(公称出力電圧12Vのバッテリ)を用いている。また、セル制御回路221、222を構成する集積回路の電源には、対応する複数のリチウム単電池214を用いている。このため、セル制御回路221、222と第1、第2電池モジュール241、242は接続線を介して電気的に接続されている。各集積回路には、対応する複数のリチウム単電池の最高電位の電圧が接続線を介して印加されている。各集積回路は、印加された電圧を電源回路によって降圧(例えば5Vに降圧)し、これを動作電源として用いる。
電池制御回路250は、第1、第2モジュール電池セット241、242に通信を実施して充電状態や動作状態などを監視すると共に、充電状態の調整や異常検出などを行う。電池制御回路250は、マイクロコンピュータを含む複数の電子回路部品が回路基板に実装されることにより構成されている。
また、電池制御回路250は、上位制御装置と通信を実施し、電池モジュール241、242の情報などを上位制御装置に出力すると共に、イグニションキースイッチの作動に基づく起動信号などが入力される。上位制御装置は、モータ制御装置11、さらにはその上位の車両制御装置(例えば、図1に示した制御装置10)などを示す。
さらに、電池制御回路250は、電池駆動ユニット300の電流センサ330の出力信号に基づいて電池モジュール211,212からの電流を検出するとともに、直列接続された電池モジュール211、212の総電圧を検出する。上述した補機用バッテリの電圧が電池制御回路250に入力されると、電池制御回路250の電源回路が動作して複数の電子回路部品に対して駆動電圧が印加される。その結果、複数の電子回路部品が動作し、電池制御回路250が起動する。
電池制御回路250が起動すると、セル制御回路221、222に対して起動信号が出力される。セル制御回路221、222では、起動指令に基づいて複数の集積回路の電源回路が順次動作する。これにより複数の集積回路が順次起動し、セル制御回路221、222が起動する。セル制御回路221、222の起動後、モジュール電池制御装置200では、所定の初期処理が実行され、蓄電装置100の起動が完了すると上位制御装置に対して完了報告が出力される。なお、所定の初期処理としては、例えば、電池制御回路250による各リチウム単電池214の電圧の測定、異常診断、第1、第2モジュール電池セット241、242の電圧、電流、温度の測定などがある。
上位制御装置から電池制御回路250に停止信号が入力されると、電池制御回路250はセル制御回路221、222に対して停止信号を出力する。これにより、モジュール電池制御装置200では、所定の終了処理が実行される。そして、所定の終了処理が終了すると、セル制御回路221、222の各集積回路の電源回路がオフする。これにより、セル制御回路221、222が停止する。セル制御回路221、222が停止し、通信ができなくなると、電池制御回路250の電源回路の動作が停止し、複数の電子回路部品の動作が停止して、蓄電装置100が停止する。ここでの所定の終了処理としては、例えば、第1、第2モジュール電池セット241、242による各リチウム単電池214の電圧の測定、各リチウム単電池214の蓄電量の調整などがある。
電池制御回路250とモータ制御装置11などの間の情報伝達には、車載ローカルエリアネットワークCANによる通信を用いている。また、電池制御回路250とセル制御回路221、222との間の情報伝達には、ローカルインターフェースネットワークLINによる通信を用いている。
<モジュール電池制御装置200の構成>
次に、図3を用いて、モジュール電池制御装置200について説明する。図3では、高電位側の電池モジュール211、温度センサ231、および対応するセル制御回路221で構成された第1モジュール電池セット241と、2つのモジュール電池セット241,242を制御する電池制御回路250について示した。なお、第2モジュール電池セット242は1つのブロックとして示しているが、内部の構成、動作は、第1モジュール電池セット241と同一である。
モジュール電池制御装置200のうち、電池制御回路250は、マイクロコンピュータ251(以下、「マイコン251」と略称する)と、電源回路253と、電流センサ330、電圧センサ255および温度センサ231と、それらの処理回路254、256、257と、セル制御回路221(221A〜221C)との信号伝達のためのインターフェース回路252とを含む複数の電子回路部品により構成されている。セル制御回路221は、リチウム単電池214に電気的に接続された3個の集積回路(IC)221A〜221Cを含む複数の電子回路部品により構成されている。
第1モジュール電池セット241のリチウム単電池214は、4本の直列ブロックBG1と6本の直列ブロックBG2、BG3の計32個で構成され、第2モジュール電池セット242についても同様である。 セル制御回路221は、リチウム単電池214に対応して複数の抵抗223を備える。抵抗223は、リチウム単電池214の充電量を調整する際に用いられ、リチウム単電池214から放出された電流を熱に変換して消費する消費用回路素子である。抵抗223は、集積回路221Aに対して4個(R1〜R4)、231B〜231Cに対して6個(R1〜R6)ずつ設けられている。
インターフェース回路252は、電位レベルの異なる信号を送受信するための光学的絶縁素子であるフォトカプラPH1〜PH6で構成される。フォトカプラPH1およびPH3は、集積回路221A〜221Cのうちの最始端にあたる集積回路221Aとマイコン251との間に設けられ、フォトカプラPH4は最終端にあたる集積回路221Cとマイコン251との間に設けられる。なおPH2、PH5、PH6は、マイコン251と第2モジュール電池セット242との間のフォトカプラである。
第1電池モジュール211を構成する16本のリチウム単電池214と、第2電池モジュール212を構成する16本のリチウム単電池214とを合わせた32本のリチウム単電池214は、各集積回路221A〜221Cに対応させて6グループに割り振られている。具体的には、電気的に直列に接続された32本のリチウム単電池214をその接続順にしたがって電位的に上位から順番に4本、6本、6本に区切り、第1、第2電池モジュール211、212で6グループを構成している。
すなわち、電位的に1番目のリチウム単電池214から電位的に4番目のリチウム単電池214までの電気的に直列に接続されたリチウム単電池群を第1グループBG1、電位的に5番目のリチウム単電池213から電位的に10番目のリチウム単電池214までの電気的に直列に接続されたリチウム単電池群を第2グループBG2、・・・、電位的に27番目のリチウム単電池213から電位的に32番目のリチウム単電池214までの電気的に直列に接続されたリチウム単電池群を第6グループBG6(図示していない)というように36本のリチウム単電池214をグループ分けしている。
尚、本実施形態では、各電池ブロック毎に複数のリチウム単電池214を6グループに分けた場合を例に挙げ、さらに第1モジュール電池セット241に対応する3グループについて説明するが、モジュールやグループの分け方は、これに限定されるものではない。
集積回路221Aには、第1グループBG1を構成する4つのリチウム単電池214(BC1〜BC4)のそれぞれの正極側及び負極側が電気的に接続され、リチウム単電池214のそれぞれの端子電圧に基づくアナログ信号が集積回路221Aに取り込まれる。集積回路221Aは、アナログデジタル変換器を備えており、取り込まれたアナログ信号を順次、デジタル信号に変換し、第1グループを構成する4つのリチウム単電池214の端子電圧を検出する。
集積回路221Aには、リチウム単電池214に対応して個別に直列接続された電圧取り込みスイッチが内蔵されており、このスイッチを順次切替えることによって、第1グループBG1のリチウム単電池214の端子電圧の取り込みが行われる。集積回路221B〜221Cの場合も、集積回路221Aの場合と同様に電圧取り込みスイッチを順次切替えることによって、第2、第3グループBG2、BG3のリチウム単電池214の電圧を取り込めるようになっている。
集積回路221Aには、電圧調整スイッチを接続したバイパス直列回路が内蔵されている。第1グループBG1を構成する4つのリチウム単電池214のそれぞれの正極側と負極側との間(端子間)には、抵抗223(R1〜R4)と、バイパス直列回路が並列に接続されている。他のグループBG2、BG3も、第1グループBG1の場合と同様に、リチウム単電池214の正極側と負極側との間にバイパス直列回路が電気的に並列に接続されている。
集積回路221Aは、電池制御回路250から出力された調整指令に基づいて、電圧調整スイッチを所定時間、個別に導通させることにより、それに対応したリチウム単電池214を放電することで、リチウム単電池214の充電状態SOC(State Of Charge)を調整する。集積回路221B〜221Cも集積回路221Aの場合と同様に、バイパス直列回路の電圧調整スイッチの導通を個別に制御して、対応するグループを構成する6つのリチウム単電池214の充電状態SOCを個別に調整する。
以上のように、電圧調整スイッチの導通を個別に制御し、各グループを構成するリチウム単電池214の充電状態SOCを個別に調整すれば、全グループのリチウム単電池214の充電状態SOCを均一にでき、リチウム単電池214の過充電などを抑制できる。
集積回路221A〜221Cは、対応するグループBG1、BG2、BG3を構成する4つ、6つ、6つのリチウム単電池214の異常状態を検出する。異常状態には過充電及び過放電がある。過充電及び過放電の検出は、各集積回路221A〜221Cにおいて、検出されたリチウム単電池214の端子電圧と、過充電閾値及び過放電閾値のそれぞれとを比較することにより行われる。過充電は端子電圧の検出値が過充電閾値を越えた場合に、過放電は端子電圧の検出値が過放電閾値を下回った場合にそれぞれ判断される。また、集積回路221A〜221Cは、自己の内部回路の異常、例えば充電状態の調整に用いられるスイッチング半導体素子の異常、温度異常などを自己診断する。
このように、第1モジュール電池セット241を構成する集積回路221A〜221Cはいずれも同じ機能を有している。すなわち、対応するグループの4つ、6つ、6つのリチウム単電池214(BC1〜BC4、又はBC6)の端子電圧検出、充電状態の調整、異常状態の検出、及び自己の内部回路の異常診断を実行するように、集積回路221A〜221Cは同じ内部回路により構成されている。第2電池モジュール242についても同じ内部回路により構成され、同じ動作をさせるようになっている。
集積回路221A〜221Cは、電源端子(Vcc)、電圧端子(V1〜V4またはV6、GN)、及びバイパス端子(B1〜B4またはB6)を備えている。バイパス端子(B1〜B4またはB6)には リチウム単電池214の正極が抵抗223を介して接続される。電圧端子(V1〜V4またはV6、GN)には、リチウム単電池214の正極が直接接続される。電源端子(Vcc)は、電圧端子V1(最も高電位側のリチウム単電池214の正極側の電圧端子)に接続されている。電圧端子(V1〜V4またはV6、GN)及びバイパス端子(B1〜B4またはB6)の両者は、電気的に接続されるリチウム単電池214の電位順にしたがって交互に配置されている。
電圧端子GNは、対応するグループを構成する4つ、6つ、4つのリチウム単電池214のうちの最低電位のリチウム単電池BC4,BC6の負極側に電気的に接続されている。これにより、各集積回路221A〜221Cは、対応するグループの最低電位を基準電位として動作する。
このように、各集積回路221A〜221Cの基準電位が異なっていれば、電池モジュール211から各集積回路221A〜221Cに印加される電圧の差を小さくすることができるので、集積回路221A〜221Cの耐圧をより小さくできると共に、安全性や信頼性をより向上させることができる。
各集積回路221A〜221Cの電源端子Vccには、対応するグループBG1〜BG3を構成する4つ、6つ、6つのリチウム単電池214のうちの最高電位のリチウム単電池BC1の正極側に電気的に接続されている。これにより、各集積回路221A〜221Cは、対応するグループBG1〜BG3の最高電位の電圧から、内部回路を動作させるための電圧(例えば5V)を発生させている。
このように、各集積回路221A〜221Cの内部回路の動作電圧を、対応するグループBG1〜BGの最高電位の電圧から発生させるようにしているので、対応するグループBG1〜BGを構成する4つ、6つ、6つのリチウム単電池214から消費される電力を均等にでき、対応するグループを構成する4つ、6つ、6つのリチウム単電池214の充電状態SOCが不均衡になることを抑制できる。
集積回路221A〜221Cには通信系の複数の端子が設けられ、通信コマンド信号を送受信するための通信コマンド信号用送受信端子(TX,RX)、及び異常信号や異常テスト信号を送受信するための異常信号用送受信端子(FFO,FFI)を備えている。集積回路221A〜221Cの通信コマンド信号用送受信端子(TX、RX)は、第1モジュール電池セット241の対応するグループの電位の順に従って直列に接続されている。
すなわち、集積回路221A(上位電位の集積回路)の通信コマンド信号用送信端子(TX)と、集積回路221B(下位電位の集積回路であって、上位電位の集積回路に対して電位的に次の電位の集積回路)の通信コマンド信号用受信端子(RX)とを直列に接続し、集積回路221Bの通信コマンド信号用送信端子(TX)と、集積回路221Cの通信コマンド信号用受信端子(RX)とを直列に接続している。第2モジュール電池セット242でも同様に接続されており、このような接続方式を本実施例ではディジーチェーン接続方式と呼ぶ。
第1モジュール電池セット241の集積回路221A〜221Cの異常信号用送受信端子(FFO,FFI)は、第2モジュール電池セット242の集積回路とも直列接続され、対応するグループの電位の順に従って直列に接続されている。すなわち、上位電位の集積回路の異常信号用送信端子(FFO)と、上位電位の集積回路に対して電位的に次の電位となる下位電位の集積回路の異常信号用受信端子(FFI)とを直列に接続している。
複数のリチウム単電池214の最高電位のグループに対応する集積回路221Aの通信コマンド信号用受信端子(RX)には、伝送路2520を介してインターフェース回路252のフォトカプラPH1の受光側が接続されている。フォトカプラPH1の発光側には、マイコン251の通信コマンド信号用送信端子(TX1)が接続されている。また、複数のリチウム単電池214の最低電位のグループに対応する集積回路221Cの通信コマンド信号用送信端子(TX)には、伝送路2520を介してフォトカプラPH4の発光側が接続され、フォトカプラPH4の受光側にはマイコン251の通信コマンド信号用受信端子(RX1)が接続されている。
それらの接続により、セル制御回路221と電池制御回路250との間には、それらの間において電気的に絶縁されると共に、マイコン251からフォトカプラPH1→集積回路221A→・・・→集積回路221C→フォトカプラPH4を順番に経由してマイコン251に至る通信コマンド信号用ループ伝送路2520が形成される。このループ伝送路2520の信号の伝送は、シリアル伝送である。
通信コマンド信号用ループ伝送路2520には、マイコン251から出力された通信コマンド信号が伝送される。通信コマンド信号は、通信(制御)内容を示すデータ領域など、複数の領域が設けられた複数バイトの信号であり、上述の伝送順にしたがってループ状に伝送される。
マイコン251から集積回路221A〜221Cに出力される通信コマンド信号には、リチウム単電池214の検出された端子電圧を要求するための要求信号、リチウム単電池214の充電状態を調整させるための指令信号、各集積回路221A〜221Cをスリープ状態からウエイクアップ状態、すなわち起動させるための起動信号、各集積回路221A〜221Cをウエイクアップ状態からスリープ状態、すなわち動作を停止させるための停止信号、各集積回路221A〜221Cの通信用のアドレスを設定するためのアドレス設定信号、各集積回路221A〜221Cの異常状態を確認するための異常確認信号などが含まれている。
尚、本実施例では、通信コマンド信号を集積回路221Aから集積回路221Cに向かって伝送する場合を例に挙げて説明したが、集積回路221Cから集積回路221Aに向って伝送するようにしても構わない。
また、図3に示す例では、マイコン251は通信コマンド信号用送受信端子(TX、RX)を2チャンネル有している。TX1とRX1は、第1モジュール電池セット241のセル制御回路221との信号伝送に用いられる。TX2とRX2は、フォトカプラPH2とPH5を介して第2モジュール電池セット242のセル制御回路との信号伝送に用いられ、上述したTX1とRX1と同様に信号伝送を行うようになっている。
なお、通信コマンド信号用送受信端子(TX、RX)を1チャンネルとして、第1モジュール電池セット241のセル制御回路221と第2モジュール電池セット242のセル制御回路とを、ディジーチェーン接続方式で接続することもできる。
さらに、複数のリチウム単電池214の最高電位のグループに対応する第1モジュール電池セット241の集積回路221Aの異常信号用受信端子(FFI)には、伝送路2521を介してフォトカプラPH3の受光側が接続され、フォトカプラPH3の発光側には伝送路2521を介してマイコン251の異常テスト信号用送信端子(FFO)が接続されている。
また、複数のリチウム単電池214の最低電位のグループに対応する第2モジュール電池セット2の集積回路の異常信号用送信端子(FFO)には、フォトカプラPH6の発光側が接続され、フォトカプラPH6の受光側には、マイコン251の異常信号用受信端子(FFI)が電気的に接続されている。
それらの接続により、セル制御回路221と電池制御回路250との間には、それらの間において電気的に絶縁されると共に、マイコン251からフォトカプラPH3→集積回路221A→・・・→集積回路221C→第2モジュール電池セット242の集積回路→フォトカプラPH6を順番に経由してマイコン251に至る異常信号用ループ伝送路2521が形成される。そのループ伝送路2521の信号の伝送は、シリアル伝送である。
異常信号用ループ伝送路2521には、マイコン251から出力された異常テスト信号が伝送される。異常テスト信号は、第1モジュール電池セット241の集積回路221A〜221C、及び第2モジュール電池セット242の集積回路の異常や通信回路の断線などの異常を検出するために伝送される1ビットのHiレベル信号であり、上述の伝送順にしたがって伝送される。もし、異常がある場合には、異常テスト信号はLowレベルの信号としてマイコン251に戻ってくる。これにより、マイコン251は集積回路の異常や通信回路の断線などの異常を検出できる。
また、集積回路221A〜221Cのうちのいずれかにおいて異常を検出した場合、異常信号用ループ伝送路2521には、異常を検出した集積回路、例えば集積回路221Cから異常を示す信号が出力される。異常を示す信号は1ビットの信号であり、第2モジュール電池セット242の集積回路(3回路)→フォトカプラPH6を順番に経由してマイコン251に伝送される。これにより、異常を検出した集積回路からマイコン251に対して異常を速やかに通知できる。
尚、本実施形態では、異常テスト信号を集積回路221Aから第2モジュール電池セット242の集積回路に向かって伝送する場合を例に挙げて説明したが、第2モジュール電池セット242の集積回路から集積回路221Aに向って伝送するようにしても構わない。また、異常を示す信号を、異常を検出した集積回路から、電位的に下位の集積回路に向かって伝送する場合を例に挙げて説明するが、異常を検出した集積回路から、電位的に上位の集積回路に向って伝送するようにしても構わない。
フォトカプラPH1〜PH6は、セル制御回路221、222と電池制御回路250のマイコン251との間において通信コマンド信号用ループ伝送路2520(TX、RXの端子間)及び異常信号用ループ伝送路2521(FFO、FFIの端子間)を電気的に絶縁すると共に、セル制御回路221、222と電池制御回路250との間において送受信される信号を光に変換して伝送する。
前述したように、セル制御回路221、222及び電池制御回路250はその電源電位及び電源電圧が大きく異なる。このため、セル制御回路221、222と電池制御回路250との間を電気的に接続して信号伝送を実施しようとすると、伝送される信号の電位変換及び電圧変換が必要となり、セル制御回路221、222と電池制御回路250との間のインターフェース回路が大きくかつ高価になり、小型かつ安価な制御装置の提供ができなくなる。そこで、本実施形態では、セル制御回路221、222と電池制御回路250との間の通信を、フォトカプラPH1〜PH6を用いたインターフェース回路252とし、制御装置の小型化及び低コスト化を図っている。
また、前述したように、集積回路221A〜221Cと第2モジュール電池セット242の集積回路間においても、その電源電位が異なっている。
しかし、本実施形態では、複数のリチウム単電池214の対応するグループの電位順にしたがって集積回路を電気的に直列に接続、すなわちディジーチェーン方式により接続しているので、各集積回路間の信号伝送を電位変換(レベルシフト)によって簡単に実施できる。各集積回路は信号受信側に電位変換(レベルシフト)回路を備えている。従って、他回路素子よりも高価なフォトカプラを設けることなく、各集積回路間の信号伝送を実施できるので、小型かつ安価な制御装置を提供できる。
マイコン251は、各種信号を入力し、その入力信号から得られた入力情報に基づいて或いはその入力情報から演算された演算情報に基づいて、前述した通信コマンド信号をセル制御回路221、222に送受信すると共に、上位制御装置(モータ制御装置11や車両制御装置)に対しても伝送路2522を介して信号の送受信を実行する。
電池制御回路250は、上述したマイコン251やインターフェース回路252のフォトカプラPH1〜PH6の他に次のような構成になっている。マイコン251の電源端子Vcc用に補機用バッテリ(例えば12V)から電源回路250で降圧(例えば5V)する電源回路253、電池モジュール211、212に流れる電流を検出する電流センサ330の処理回路254、電池モジュール211、212の総電圧を検出する電圧センサ255とその処理回路256、電池モジュール211、212の内部に設けられ、モジュール電池の温度を検出する温度センサの処理回路257などで構成されている。
マイコン251に入力される信号としては、通信コマンド信号用受信端子(RX1、RX2)に対して集積回路221A〜221Cから出力された各リチウム単電池214の端子電圧信号、異常信号用受信端子(FFI)に対して集積回路221A〜221Cのうち、異常を検出した集積回路から出力された異常信号、処理回路254、256、257から出力されたアナログ信号Si、Sv、St1、St2、上位制御装置とのCAN通信を受信するCANR、電源回路250から出力されたマイコン251の電源電圧Vcc、キースイッチ(KEY SW)に連動する起動信号ACCがある。
一方、マイコン251から出力される信号としては、通信コマンド信号用送信端子(TX1、TX2)から出力される各集積回路221A〜221Cのリチウム単電池214の電圧取り込みスイッチの選択信号、充電状態を調整する電圧調整スイッチの動作信号、また、上位制御装置とのCAN通信を送信するCANTがある。
なお、上述は第1モジュール電池セット241の制御を行う例で主に説明したが、図3に示すマイコン251は、通信コマンド信号用送信端子(TX)と通信コマンド信号用受信端子(RX)とをそれぞれ2端子備え、通信コマンド信号用送受信は第2電池モジュール242の制御も同様に行われる。
<モジュール電池制御装置200の動作フロー>
図4、図5、図6は、図3に示したモジュール電池制御装置200の動作フローを示した図である。なお、以下、セル、セル電池の名称はリチウム単電池214と同義であり、またセル制御回路(図3で示した221)と、集積回路(図3で示した221A〜221C)は、第1モジュール電池セット241と第2モジュール電池セット242を含めてC/CとC/CICの記号で示している。
まず、初期化の処理について、図4のステップ順に説明する。ステップ801にて、車両のキースイッチがON、エンジン始動のための操作が行われると、あるいは車両の駐車状態から走行のための操作が成された状態になると、あるいは各集積回路C/CICがSleep状態からWake up状態になると、ステップ802にて、電池制御回路250が起動されて初期化がなされる。
次に、ステップ803にて、CAN通信がなされるようになる。これにより、CANに接続された各制御装置にいわゆる空メッセージが出され、各制御装置間の通信の状態確認が行われる。
ステップ804にて、電池制御回路250からセル制御回路C/Cに起動と初期化のための通信コマンドが送信される。 各集積回路C/CICは通信コマンドを受信することにより、いわゆるウェイクアップ(Wake Up)状態となる。
ステップ805では、各電池セルが全て直列に接続された総電池に関して、電圧が電圧センサ255で検出され、電流が電流センサ330により検出され、温度が温度センサ231で検出され、それぞれ電池制御回路250に入力される。電池制御回路250において、これらの検出信号がそれぞれの処理回路254、256、257に入力され、処理回路254、256、257の出力がマイコン251に入力される。
一方、ステップ804において、セル制御回路C/Cは起動と初期化の通信コマンドを受け、(ステップ806)、各集積回路C/CICはこの通信コマンドを受信することにより、各セル213の電圧測定を繰り返し実行する(ステップ807)。
ステップ807にて各集積回路C/CICは独自に各電池セルの端子電圧を測定し、その測定値を記憶回路に記憶する(ステップ808)。ステップ807における各電池セルの電圧測定結果から、ステップ809で各集積回路C/CICは独自に各電池セルの充放電、過放電の判定を行う。もし異常があれば診断フラグがセットされ、電池制御回路250は前記診断フラグを検知でき、異常を検知できる。各集積回路C/CICはそれぞれ独自に電池セル電圧の計測と電池セルの異常診断を行うので、多くの電池セルから電池モジュールが構成されていても、全ての電池セルの状態が短時間に診断できる。
ステップ810にて、各電池セルの状態検出がなされたことを確認し、ステップ811にて、初期化が完了するとともに、診断フラグがセットされなかったことを確認することにより、異常状態が存在しないことを検知できる。異常が無いことを確認されると、図2に示した電池駆動ユニット300のCAN信号により、メインコンタクタ320を閉じ、次にメインコンタクタ310を閉じて、電池モジュール211,212の直列回路から電力変換装置9への直流電力の供給が開始される。そして、ステップ900から後述する通常モードが開始される。
ステップ801におけるキースイッチONの時点から電力供給開始可能までの経過は、時間的に約100msec以下にできる。このように短時間に直流電力の供給を可能とすることで、運転者の要求に十分対応することが可能となる。さらにこの短期間の間に、各集積回路C/CICのアドレスが設定されるともに、各集積回路C/CICは関連する各グループの電池セルの全ての電圧を測定し、それら各測定結果を記憶し、更に異常診断を完了することが可能となる。
そして、各電池セルの電圧の測定は、メインコンタクタ310、320がONになる前に、すなわち、電力変換装置9とモジュール電池制御装置200とが電気的に接続される前になされる。このため、該各電池セルの電圧の測定は、電力変換装置9への電力供給の前であり、電流供給前に測定された各電池セルの端子電圧から正確に充電状態SOCを求めることが可能となる。
<マイコン251の割り込み異常判定の動作フロー>
次に、ステップ900の通常モードの処理について、図5の処理フローと図6のタイミングチャート、図7の処理フローにより説明する。通常モード900は、ステップ901の割込みTaskで構成されている。割り込みタスクは3つあり、第一は中央のフローで示す「Main Task」、第二は右側のフローで示す「LIN Task」、第三は左側のフローで示す「割り込み異常判定Task」である。なお、図6において、(a),(b)は「Main Task」のタイミングチャートを示し、(c)〜(g)は「LIN Task」のタイミングチャートを示し、(h)〜(i)は「割り込み異常判定Task」のタイミングチャートを示している。
(Main Task)
「Main Task」は上位制御装置とのCAN通信を実行するタスクであり、ステップ902では、「Main Task」の割込み信号IRQ1を発生する。図6の(a)に示すように、割込み信号IRQ1は一定時間間隔TIRQ1で繰り返し発生する。NIRQ1は割込み回数を表している。
ステップ903では、図6の(b)に示すように、割り込みが発生する毎にCAN通信とセンサA/D値の取り込み処理を示し、その結果を上位制御装置に伝送する。すなわち、電流センサ330から出力された電流センサ信号、電池モジュール211,212の総電圧に関して電圧センサ255から出力された電圧センサ信号、および、電池モジュール211,212の内部に設けられた温度センサ(例えばサーミスタ素子)231、232から出力された温度センサ信号をA/D変換器に取り込むための、センサA/D値入力の処理を実行する。そして、その結果をCANにより上位制御装置に通信する通信処理を実行する。
ここで、図3に示したように電池制御回路250のマイコン251は、通信コマンド信号用送受信端子(TX、RX端子)を2つ有する2チャンネルのCAN通信機能を備えており、第1モジュール電池セット241と第2モジュール電池セット242のそれぞれについて、「Main Task」が実行される。
ステップ904では、図6(a)に示した割込み信号IRQ1の割込み回数NIRQ1を算出する。この算出結果は、後述する割込み異常判定に使用される。
(LIN Task)
「LIN Task」はセル制御回路221との通信を実行するタスクであり、ステップ905では、図6の(c)に示すように、「LIN Task」の割込み信号IRQ2を発生する。この割込み信号IRQ2の入力により、ステップ906では、電池モジュール211、212のセル電圧を測定するための選択スイッチを指令し、電圧測定値を通信コマンド信号用ループ伝送路2520を介して取得する処理を実行する。また、「LIN Task」では、その他の処理として、異常信号用ループ伝送路2521を介して検出される異常フラグの取得などを実行する。異常信号用ループ伝送路2521においては、第1モジュール電池セット241と第2モジュール電池セット242のセル制御回路C/Cの全てが、直列接続されている。
図6の(c)に示すように、割込み信号IRQ2は所定時間で繰り返し生ずる。NIRQ2は割込み回数を表す。まず、割込み信号IRQ1(NIRQ1=1)により、図6の(d)のように、測定すべきセル電圧のセル選択スイッチをオンするためのオン指示を、セル制御回路C/Cに伝送する。(d)に示す「Odd」は、セルの配置に付加された直列番号の奇数番号Oddを表している。
次に、図6の(c)に示す割込み回数NIRQ2=2の割込み信号IRQ2によって、図6の(e)に示すように、セル制御回路C/Cから伝送された奇数番号Oddに対応するセル電圧を読み込む。次に、割込み回数NIRQ2=5の割込み信号IRQ2によって、図6の(d)に示す偶数番号Evenのセル選択スイッチのオン指示をセル制御回路C/Cに伝送し、さらに、割込み回数NIRQ2=7の割込み信号IRQ2で、図6の(e)に示すように偶数番号Evenに対応するセル電圧を読み込む。
次に、割込み回数NIRQ2=10の割込み信号IRQ2で、図6の(f)に示すようにセル選択スイッチのオフ指示をセル制御回路C/Cに伝送して、セル電圧の取得が終了する。割込み回数NIRQ2=11〜20ではその他の処理、割込み回数NIRQ2=21〜23は休止処理である。
ステップ907では、図6の(c)に示した割込み信号IRQ2の割込み回数NIRQ2を算出する。この算出結果は、後述する割込み異常判定に使用される。
(割込み異常判定Task)
ステップ908では、図6の(h)に示すように、「割込み異常判定Task」を行わせる割込み信号IRQ3を発生する。割込み信号IRQ3は、「Main Task」の最初の定時割込み信号IRQ1(NIRQ1=1)に同期して入力される。そして、時間TIRQ3が経過後に、再び割込み信号IRQ3が入力されると、図6の(i)に示すように、以下の割り込み異常判定処理が実行される。
なお、図6の(h)〜(j)では、割込み回数NIRQ2=23の割込み信号IRQ2の発生から、割込み回数NIRQ1=11の割込み信号IRQ1の発生までの時間を拡大して示した。2回目の割り込み信号IRQ3の発生タイミングは、その割り込み信号IRQ3の発生から、次の周期の割込み回数NIRQ1=11の割込み信号IRQ1の発生までの時間が、割り込み異常判定処理の処理時間よりも大きくなるように設定される。
ステップ909では、その時点(図6(h)の時間TIRQ3が経過後の割込み信号IRQ3入力時)における割り込み信号IRQ1の回数NIRQ1と割込み信号IRQ2の回数NIRQ2とを加算して、その結果を割込み総数NIRQ12とする。ステップ910では、あらかじめ設定されている割込みセット総数NIRQsetと、ステップ909で求めた割込み総数NIRQ12とが一致しているか否かを判定する。一致している場合には、ステップ911へ進んで「割込み正常」と判定される。一方、一致していない場合には、ステップ912へ進んで「割込み異常」と判定される。ステップ913では、それぞれの回数をクリアし、回数を初期状態とする。
図6に示すタイミングチャートの例では、正常な割込み処理が実行された場合、所定時間間隔TIRQ1で発生する割り込み信号IRQ1の割込み回数NIRQ1は8回で、所定のパターンで発生する割り込み信号IRQ2の割込み回数は23回であるので、割込み総数NIRQ12は31回となる。割込み時間の一例を示すと、TIRQ1(NIRQ1が1から8)=25ms、IRQ2では、NIRQ2=1と6が11ms、NIRQ2=21が36ms、NIRQ2=0など他が7ms、TIRQ3=200msの時、割込み総数NIRQ12が上述の31回となる。よって、ステップ910における割込みセット総数NIRQsetは31とされる。
なお、時間TIRQ3は、図6に示すように、「Main Task」が8回だけ処理される時間TIRQ1×8より僅かに短く設定されている。そのため、割り込み信号IRQ3の周期TIRQ3からTIRQ1×8が経過するまでの時間内に、割込み異常判定Taskが終了するようになっている。
図7は、図4に示したステップ900の通常モード処理の他の例を示すフローチャートである。図5における「割り込み異常判定Task」は、図6(i)のタイミングチャートで示すように、割り込み信号IRQ3による割り込み処理であった。しかし、図7に示すフローチャートにおいては、割り込み信号IRQ2による「LIN Task」の割り込み処理の中で、割り込み異常判定を実行するようにしている。図7において、ステップ914からステップ919までの処理が、「割り込み異常判定Task」に相当する。
図7のステップ914では、割り込み信号IRQ2の回数NIRQ2と、あらかじめ設定されている割り込みセット回数NIRQ2setとの一致を判定する。すなわち、割り込み異常判定Taskを実行すべきタイミングとなったか否かを判定する。ステップ914で不一致と判定されると(NO判定)、割り込み異常判定Taskは実行されない。一方、一致と判定されると(YES判定)、ステップ915に進んで、割り込み信号IRQ1の回数NIRQ1と割込み信号IRQ2の回数NIRQ2を加算したものを割込み総数NIRQ12とする。
次いで、ステップ916では、あらかじめ設定されている割込みセット総数NIRQsetと割込み総数NIRQ12との一致を判定する。ステップ916で一致と判定されると(YES判定)ステップ917へ進み、割込み正常と判定する。一方、ステップ916で不一致と判定されると(NO判定)ステップ918へ進み、割込み異常と判定する。ステップ919では、NIRQ1、NIRQ2およびNIRQ12の回数をそれぞれクリアし、回数を初期状態とする。
図6の(j)は、図7のフローチャートの場合の割り込み異常判定の処理のタイミングを示したものである。この場合、割り込みセット回数NIRQ2setは、NIRQ2=23が設定されており、23回目の割り込み信号NIRQ2によって割り込み異常判定の処理が実行され、割り込み信号NIRQ1=11で割り込み異常判定結果をMain TaskのCAN通信で伝送する。
なお、図7のフローチャートでは、割り込み異常判定Taskを「LIN Task」の割り込み処理中に行うようにしているが、図8に示すように、割り込み異常判定Taskを「Main Task」側のステップ904の後にメインタスク側に設けても良い。図8に示すフローチャートでは、「Main Task」のステップ904の処理に続いて、ステップ924〜ステップ919の処理が実行される。
ステップ924では、割り込み信号IRQ1の回数NIRQ1と、あらかじめ設定されている割り込みセット回数NIRQ1setとの一致を判定する。ステップ924で不一致と判定されると(NO判定)、割り込み異常判定Taskは実行されない。一方、一致と判定されると(YES判定)、ステップ915に進んで、割り込み信号IRQ1の回数NIRQ1と割込み信号IRQ2の回数NIRQ2を加算したものを割込み総数NIRQ12とする。以下、ステップ916〜ステップ919までの処理は、図7の場合と同様なので説明を省略する。
図5のステップ912や図7のステップ918における割込み異常の例としては、ノイズによる割込み発生、マイコン251のクロック信号の時間が短くなる場合など、割込み総数NIRQ12が割込みセット総数NIRQsetより多くなる場合や、ノイズによる割込みのキャンセル、クロック信号の時間が長くなる場合など、割込み総数NIRQ12が割込みセット総数NIRQsetより少なくなる場合などである。
なお、図6の割込み時間TIRQ3中における「Main Task」の割込みは、回数NIRQ1=8回で示しており、各割込みにおいて「LIN Task」で取得したセル電圧は、グループに分けてCAN通信により上位制御装置に伝送される。例えば、図3に示したモジュール電池制御装置200では、セルが32個あり、4個のセル電圧を8回に分けてCAN通信により上位制御装置に伝送する。すなわち、セル電圧の32個の情報は、割込み時間TIRQ1×8の間に伝送されることになる。
そこで、割込み時間TIRQ3経過後、次の「Main Task」の割込み信号IRQ1(NIRQ1=11)において、図5のステップ908以下の割込み異常判定Taskやステップ914以下の割込み異常判定Taskで、割込み総回数NIRQ12が割り込みセット総数NIRQsetと等しいと判定された場合には、正常通知と、セル29から32の4個のセル電圧とを伝送する。一方、等しくないと判定された場合には、異常通知と、セル29から32の4個のセル電圧とを伝送する。異常通知では、セル1から32のセル電圧は、必ずしも正確な値ではないが、それに対しては上位制御装置の判断にゆだねられる。
なお、「Main Task」のNIRQ1=1からNIRQ1=8のCAN通信で伝送されるセル電圧は、当該割込み時間TIRQ1×8より1周期前の割込みで取得したセル電圧である。そのため、割り込み異常通知をNIRQ1=11で伝送すると、NIRQ1=11以降に8回に分けて伝送されるセル電圧は、必ずしも正確でないことを事前に知ることができ、上位制御装置の対応を容易にすることができる。
本実施の形態では、モジュール電池制御装置200の電池制御回路250と上位制御装置とのCAN通信と、セル制御回路C/CとのLIN通信の割り込みTaskにおいて、それぞれの割り込み信号の回数を計数し、所定周期で2つの回数の加算値が所定回数と一致する時に正常と判定し、不一致の時に異常(マイコン251の異常)と判定した。そのような判定を行うことにより、各Taskが正常に動作していることが確認できるので、モジュール電池セット制御装置200の信頼性を向上させることができる。
なお、上述した実施の形態では、図2〜図3に示したようにリチウム単電池214が4本の直列ブロックBG1と6本の直列ブロックBG2、BG3から成る電池モジュール211,212を備えて、合計32個のリチウム単電池214で構成されているモジュール電池制御装置200を例に説明したが、直列ブロック数やそれを構成する単電池数はこれに限られるものではない。また、単電池についても、リチウム電池以外であっても良い。
また、セル制御回路C/Cを構成する集積回路C/CICの数も図2〜図3に限られるものではない。さらに、セル制御回路C/Cを制御するマイコン251も単一である必要はなく、例えば、第1、第2、あるいはそれ以上のモジュール電池セット毎にあってもよい。また、割り込みTaskも2つに限定されることはなく、少なくとも2つの割り込みTaskと割り込み異常判定Taskとを有するシステムに実施することができる。
上述した各実施形態はそれぞれ単独に、あるいは組み合わせて用いても良い。それぞれの実施形態での効果を単独あるいは相乗して奏することができるからである。また、本発明の特徴を損なわない限り、本発明は上記実施の形態に何ら限定されるものではない。