以下、本発明の実施形態について、図面を参照して詳細に説明する。なお、図面において、同一または同等の要素には同じ符号を付し、重複する説明を省略する。
一実施形態に係るシミュレーション装置は、たとえば、蓄電デバイスが搭載された車両の燃費計算において用いられる。いわゆるμHEV(Hybrid Electric Vehicle)方式を採用した車両に搭載される蓄電デバイスは、メイン蓄電デバイスとは別に設けられたサブ蓄電デバイスであってよい。その場合、燃費計算において、蓄電デバイスは、車両に搭載された12V系の補機の消費電流を賄うために用いられる。
[燃費計算装置の概要]
図1は、上述の燃費計算を行う燃費計算装置の概略構成を示す図である。図1に示されるように、燃費計算装置90は、その機能ブロックとして、入力部91と、制御部92と、出力部93とを含む。
入力部91は、燃費計算に必要なデータを入力する。入力データの例は、車両の走行パターンである。それ以外にも、車両に搭載されるエンジンなどの各種デバイスの特性を定めるパラメータ、蓄電デバイスの充放電の制御方法の種類、蓄電デバイスの構成、車両に搭載される補機の消費電力、および車両の重量などのデータが入力され得る。
制御部92は、入力部91によって入力されたデータを用いて、燃費計算を行う。燃費計算の具体的な手法は特に限定されないが、たとえば、次のような手順で行われる。
まず、制御部92は、入力部91によって入力された走行パターンなどから、たとえば区間ごとに、車両が走行するために要求されるパワー(以下、単に「要求パワー」という)および補機の消費電流を算出する。区間としては、停止区間、加速区間、定速走行区間、および減速区間などがある。要求パワーは、加速区間では比較的大きく、定速走行区間では比較的小さい。要求パワーは、停止区間および減速区間では0であってもよい。補機の消費電流は、補機の種類によって異なる。たとえばオーディオ機器など連続的に使用される補機の消費電流の大きさは、区間によらずほぼ一定である。これに対し、エンジンの点火装置など一時的に使用される補機の消費電流の大きさは、使用時のみ大きくなる。
次に、制御部92は、区間ごとのエンジンの出力を算出する。エンジンの出力は、たとえば、停止区間ではエンジンが停止して0となり、それ以外の区間では所定の出力とされる。エンジンの出力のうち、要求パワーを上回る分の出力が、オルタネータによって電力に変換され、オルタネータから補機および蓄電デバイスに向かって供給される。オルタネータから供給される電力が補機の消費電力を上回ると、オルタネータから蓄電デバイスに電流が流れ、蓄電デバイスが充電される。オルタネータから供給される電力が補機の消費電力を下回ると、蓄電デバイスから補機に電流が流れ、蓄電デバイスが放電する。ここで、蓄電デバイスの端子電圧は、蓄電デバイスの充電率(SOC:State Of Charge)および充放電電流の大きさなどに依存する。この蓄電デバイスの端子電圧が、たとえば、蓄電デバイスの端子電圧を計算するための等価回路モデルを用いて推定される。端子電圧の推定の詳細については後述する。蓄電デバイスの充放電電流および蓄電デバイスの端子電圧から、制御部92は、区間ごとの蓄電デバイスの充放電電力も算出する。
その後、制御部92は、全区間におけるエンジンの出力および蓄電デバイスの充放電電力の積算値を算出する。全区間におけるエンジンの出力の積算値は、入力部91によって入力された走行パターンで車両が走行した場合に、エンジンが消費するであろうエネルギー量を示す。全区間における蓄電デバイスの充放電電力の積算値は、入力部91によって入力された走行パターンで車両が走行した場合に、蓄電デバイスにおいて増減するであろうエネルギー量の大きさを示す。エンジンが消費するであろうエネルギー量と、蓄電デバイスにおいて減少するであろうエネルギー量と合計のエネルギー量は、入力部91によって入力された走行パターンの車両の走行に要するエネルギー量となる。走行パターンから車両の走行距離も分かるので、当該走行距離とそれに要するエネルギー量とに基づいて、制御部92は、所定エネルギー量当たりに走行可能な距離を燃費として算出する。
出力部93は、制御部92によって算出された燃費を出力する。これにより、入力部91によって入力された走行パターンなどに基づく燃費計算の結果が得られる。
上述のように、燃費計算においては、蓄電デバイスの端子電圧が推定される。蓄電デバイスの端子電圧の推定精度を向上させることによって燃費計算の精度も向上するので、たとえば燃費の計算精度を向上させることを目的として、実施形態に係るシミュレーション装置(蓄電デバイスシミュレータ)が用いられてもよい。なお、以下の説明において、蓄電デバイスとしては、単一の鉛蓄電池が用いられる。蓄電デバイスは、鉛蓄電池に限られず、他の蓄電デバイスであってもよく、複数の蓄電デバイスを組み合わせた複合型の蓄電デバイスであってもよい。
本実施形態では、蓄電デバイスシミュレータは、蓄電デバイスの端子電圧を計算するための蓄電デバイスモデルを用いて、蓄電デバイスの端子電圧を推定する。本実施形態では、蓄電デバイスモデルとして、蓄電デバイスの等価回路モデルを用いることとする。まず、等価回路モデルの例について、図2を参照して説明する。
[蓄電デバイスの等価回路モデル]
図2に示される例では、等価回路モデル40は、互いに逆極性のノードN1およびノードN2の間に直列に接続された、回路10と、回路20と、定電圧源30とを含む。
ノードN1およびノードN2は、蓄電デバイスの外部の要素と電気的に接続される部分であり、等価回路モデル40に発生する電圧を与える。等価回路モデル40に発生する電圧は、蓄電デバイスの端子電圧V(t)である。ノードN1はアノードであり、蓄電デバイスに流入する電流I(t)を与える。なお、電圧および電流などの時間変化する物理量を示す符号に(t)などを付す場合があるが、このように示された物理量は、時刻tにおける当該物理量の値を意味するものとする。また、時刻tは、0以上の整数であり、端子電圧V(t)の推定の開始時刻からの経過時間を示す。時刻t=0は、端子電圧V(t)の推定の開始時刻である。
[回路10および直流抵抗電圧Vdc(t)]
回路10は、蓄電デバイスの直流インピーダンス(直流抵抗成分)を模擬する直流抵抗部である。回路10は、抵抗器を含む。本実施形態では、回路10はさらに並列接続されたコンデンサおよびスイッチング素子を含む。図2に示される例では、抵抗器11と、抵抗器12と、並列接続されたコンデンサ13およびスイッチング素子14とが、直列に接続されている。
抵抗器11は、蓄電デバイスの線形直流抵抗成分を模擬している。線形直流抵抗成分としては、電極の抵抗が挙げられる。抵抗器11の抵抗値R0は定数である。抵抗器12は、蓄電デバイスの非線形直流抵抗成分を模擬している。非線形直流抵抗成分としては、液抵抗が挙げられる。抵抗器12の抵抗値R(I)は可変である。抵抗値R(I)は、電流I(t)に応じて変化し、たとえば充電時と放電時とで異なる。コンデンサ13とスイッチング素子14とが並列に接続された回路であるガッシング部は、蓄電デバイスにおけるガッシングに基づく直流抵抗成分を模擬している。コンデンサ13の容量値Cは可変である。スイッチング素子14は、電気的な開閉を切り替え可能な要素である。すなわち、スイッチング素子14の両端の間が、導通状態である閉状態と、遮断状態である開状態と、に切り替えられる。スイッチング素子14の一端は、コンデンサ13のノードN1側の一端に接続され、スイッチング素子14の他端は、コンデンサ13のノードN2側の他端に接続される。後述するように、端子電圧V(t)が閾値電圧Vthよりも大きい場合には、スイッチング素子14は開状態となり、端子電圧V(t)が閾値電圧Vth以下の場合には、スイッチング素子14は閉状態となる。
スイッチング素子14としては、たとえばダイオードが用いられ得る。この場合、ダイオードのカソードは、コンデンサ13のノードN1側の一端に接続され、ダイオードのアノードは、コンデンサ13のノードN2側の他端に接続される。ダイオードは、アノードとカソードとの間に印加される電圧がダイオードの順方向電圧未満の場合には抵抗値が無限大となり、アノードとカソードとの間に印加される電圧がダイオードの順方向電圧以上の場合には抵抗値が0となる、理想的なダイオードである。後述するように、端子電圧V(t)が閾値電圧Vthよりも大きい場合には、アノードとカソードとの間に印加される電圧は、ダイオードの順方向電圧未満となり、端子電圧V(t)が閾値電圧Vth以下の場合には、アノードとカソードとの間に印加される電圧は、ダイオードの順方向電圧以上となる。
つまり、回路10によって模擬される直流抵抗成分は、抵抗器11によって模擬される線形直流抵抗成分と、抵抗器12によって模擬される非線形直流抵抗成分と、コンデンサ13およびスイッチング素子14によって模擬されるガッシング部と、を含む。回路10中の各抵抗器の抵抗値、コンデンサ13の容量値Cおよびスイッチング素子14の閾値電圧Vthによって、回路10のインピーダンスが定まる。回路10のインピーダンスが定まれば、等価回路モデル40に電流I(t)が流れたときに、その電流I(t)が回路10にも流れるので、電流I(t)と回路10のインピーダンスとから、回路10に発生する電圧が計算できる。回路10に発生する電圧を、直流抵抗電圧Vdc(t)と称し図示する。
直流抵抗電圧Vdcは、抵抗器11に発生する電圧(第1電圧)と、抵抗器12に発生する電圧と、コンデンサ13およびスイッチング素子14に発生する電圧(第2電圧)との合計電圧である。抵抗器11に発生する電圧を、電圧Vdc1(t)と称し図示する。抵抗器12に発生する電圧を、電圧Vdc2(t)と称し図示する。コンデンサ13およびスイッチング素子14に発生する電圧を、電圧Vg(t)と称し図示する。すなわち、回路10において、以下の関係式(1)が成立する。
[回路20および分極電圧Vpol]
回路20は、蓄電デバイスの分極インピーダンス成分を模擬する分極モデル部である。回路20は、並列接続された抵抗器およびコンデンサ(RC並列回路)を含む。図2に示される例では、3つのRC並列回路が直列に接続されている。具体的に、並列接続された抵抗器21およびコンデンサ22(第1のRC並列回路)と、並列接続された抵抗器23およびコンデンサ24(第2のRC並列回路)と、並列接続された抵抗器25およびコンデンサ26(第3の並列回路)とが、直列に接続されている。第1のRC並列回路を構成する抵抗器21の抵抗値およびコンデンサ22の容量値は可変である。抵抗器21は、蓄電デバイスの分極抵抗成分(第1の分極抵抗成分)を模擬し、コンデンサ22は、蓄電デバイスの分極容量成分(第1の分極容量成分)を模擬している。第2のRC並列回路を構成する抵抗器23の抵抗値およびコンデンサ24の容量値は定数である。抵抗器23は蓄電デバイスの分極抵抗成分(第2の分極抵抗成分)を模擬し、コンデンサ24は蓄電デバイスの分極容量成分(第2の分極容量成分)を模擬している。第3のRC並列回路を構成する抵抗器25の抵抗値およびコンデンサ26の容量値は定数である。抵抗器25は蓄電デバイスの分極抵抗成分(第3の分極抵抗成分)を模擬し、コンデンサ26は蓄電デバイスの分極容量成分(第3の分極容量成分)を模擬している。
なお、図2に示される例では回路20は、第1〜第3の3つのRC並列回路を含むが、回路20は、少なくとも第1のRC並列回路(抵抗器21およびコンデンサ22)を含んでいればよい。また、回路20は、4つ以上のRC並列回路を含んでいてもよい。
回路20中の各抵抗器の抵抗値および各コンデンサの容量値によって、回路20のインピーダンスが定まる。回路20のインピーダンスが定まれば、等価回路モデル40に電流I(t)が流れたときに、その電流I(t)が回路20にも流れるので、電流I(t)と回路20のインピーダンスとから、回路20に発生する電圧が計算できる。回路20に発生する電圧を、分極電圧Vpol(t)と称し図示する。
分極電圧Vpolは、抵抗器21およびコンデンサ22に発生する電圧と、抵抗器23およびコンデンサ24に発生する電圧と、抵抗器25およびコンデンサ26に発生する電圧との合計電圧である。抵抗器21およびコンデンサ22に発生する電圧を、第1分極電圧Vp1(t)と称し図示する。抵抗器23およびコンデンサ24に発生する電圧を、第2分極電圧Vp2(t)と称し図示する。抵抗器25およびコンデンサ26に発生する電圧を、第3分極電圧Vp3(t)と称し図示する。すなわち、回路20において、以下の関係式(2)が成立する。
ここで、抵抗器21およびコンデンサ22から構成される第1のRC並列回路の時定数を時定数τ1とすると、時定数τ1は、抵抗器21の抵抗値とコンデンサ22の容量値とを乗じた値として定められる。時定数τ1は、抵抗器21およびコンデンサ22に発生する第1分極電圧Vp1(t)の時間変化に反映される。たとえば、時定数τ1が大きいほど、第1分極電圧Vp1(t)の時間変化は遅くなる。同様に、抵抗器23およびコンデンサ24から構成される第2のRC並列回路の時定数を時定数τ2とすると、時定数τ2は、抵抗器23およびコンデンサ24に発生する第2分極電圧Vp2(t)の時間変化に反映される。抵抗器25およびコンデンサ26から構成される第3のRC並列回路の時定数を時定数τ3とすると、時定数τ3は、抵抗器25およびコンデンサ26に発生する第3分極電圧Vp3(t)の時間変化に反映される。時定数τ1、時定数τ2および時定数τ3は異なる値に設定されてよい。回路20が複数の異なる時定数を有するRC並列回路を含むことで、分極電圧Vpol(t)の電圧の時間変化をより正確に表すことができる。各時定数は、たとえば、時定数τ1<時定数τ2<時定数τ3となるように設定されてよい。
[定電圧源30および開放電圧Vocv(t)]
定電圧源30は、一定の直流(DC)電圧を有する。定電圧源30の有する電圧は、蓄電デバイスの開放電圧(OCV:Open Circuit Voltage)である。定電圧源30のインピーダンスは0である。蓄電デバイスの開放電圧を、開放電圧Vocv(t)と称し図示する。開放電圧Vocv(t)は、たとえば、蓄電デバイスのSOCから求められる。その場合、開放電圧Vocv(t)は、SOCを引数とする関数となる。蓄電デバイスの温度なども、引数に含まれてもよい。
以上説明した回路10に発生する直流抵抗電圧Vdc(t)、回路20に発生する分極電圧Vpol(t)および定電圧源30が有する開放電圧Vocv(t)と、端子電圧V(t)との間には、以下の関係式(3)が成立する。
以上説明した蓄電デバイスの等価回路モデル40を用いて、実施形態に係る蓄電デバイスシミュレータは、蓄電デバイスの端子電圧V(t)を推定する。
[蓄電デバイスシミュレータ]
図3は、一実施形態に係る蓄電デバイスシミュレータの概略構成を示す図である。蓄電デバイスシミュレータ1は、その機能ブロックとして、入力部2と、SOC計算部3と、パラメータ設定部4と、直流抵抗計算部5と、分極計算部6と、OCV計算部7と、端子電圧計算部8とを含む。蓄電デバイスシミュレータ1は、たとえば、図4に示されるハードウェアによって構成されている。
図4は、図3の蓄電デバイスシミュレータのハードウェア構成の例を示す図である。図4に示されるように、蓄電デバイスシミュレータ1は、物理的には、1または複数のCPU(Central Processing Unit)101と、主記憶装置であるRAM(Random Access Memory)102およびROM(Read Only Memory)103と、データ送受信デバイスである通信モジュール104と、ハードディスクおよびフラッシュメモリなどの補助記憶装置105と、キーボードなどのユーザの入力を受け付ける入力装置106と、ディスプレイなどの出力装置107と、を備えるコンピュータとして構成されている。図3に示される蓄電デバイスシミュレータ1の各機能は、CPU101およびRAM102などのハードウェア上に1または複数の所定のコンピュータソフトウェアを読み込ませることにより、CPU101の制御のもとで通信モジュール104、入力装置106、および出力装置107を動作させるとともに、RAM102および補助記憶装置105におけるデータの読み出しおよび書き込みを行うことで実現される。なお、上記の説明は蓄電デバイスシミュレータ1のハードウェア構成として説明したが、燃費計算装置90がCPU101、RAM102およびROM103などの主記憶装置、通信モジュール104、補助記憶装置105、入力装置106、および出力装置107などを含む通常のコンピュータシステムとして構成されてもよい。
再び図3を参照して、蓄電デバイスシミュレータ1の各機能の詳細を説明する。入力部2は、蓄電デバイスへの指定値(bat_demand)を入力する部分である。指定値は、たとえば上述の燃費計算装置90による燃費計算において蓄電デバイスに要求される、充放電電流の大きさ、および充放電電力の大きさなどを含む。入力部2は、入力した指定値を直流抵抗計算部5に出力する。
SOC計算部3は、蓄電デバイスのSOCを計算する部分である。たとえば、蓄電デバイスの初期のSOC(0)と、その後の蓄電デバイスの充放電電力量とから、蓄電デバイスのSOC(t)が計算される。蓄電デバイスの初期のSOC(0)の値は特に限定されず、適宜設定されてよい。蓄電デバイスの充放電電力量は、蓄電デバイスの充放電電力を充放電時間で積算することによって求められる。蓄電デバイス充放電電力は、蓄電デバイスに流れる電流と蓄電デバイスの満充電容量sとに基づいて求められる。時刻tのSOC(t)の計算において、蓄電デバイスに流れる電流として、等価回路モデル40を時刻0から時刻t−1までに流れた電流Iが用いられ得る。この場合、SOC計算部3は、たとえば以下の式(4)によってSOC(t)を計算する。SOC計算部3は、計算したSOC(t)をパラメータ設定部4、分極計算部6、およびOCV計算部7にそれぞれ出力する。
パラメータ設定部4は、蓄電デバイスの端子電圧の推定に必要な種々のパラメータの値を設定する部分である。パラメータの例は、係数V0、線形直流抵抗成分の抵抗値R0、係数I0、係数α、容量値C、および定数yである。抵抗値R0は、抵抗器11(図2参照)の抵抗値である。容量値Cは、コンデンサ13(図2参照)の容量である。容量値Cについては、その逆数である1/Cがパラメータとして用いられ得る。各パラメータの値は、蓄電デバイスのSOCに応じて変更される。たとえば容量値Cは、SOCが小さくなるにつれ、大きくなる。係数V0、係数I0、および係数αは、後述の式(6)〜(9)および式(17)で用いられ、これらの用途について後にあらためて説明する。
パラメータ設定部4は、たとえば、各パラメータの値を記述するルックアップテーブルを参照することによって、各パラメータの値を設定する。ルックアップテーブルは、パラメータごとに設けられる。ルックアップテーブルは、たとえばSOCと各パラメータの値とが対応付けられたテーブルである。この場合、パラメータ設定部4は、各ルックアップテーブルを参照することによって、SOC計算部3から受け取ったSOC(t)に対応付けられた各パラメータの値を取得し、取得した値を各パラメータの値に設定する。
なお、各ルックアップテーブルは、蓄電デバイスの温度Tごとに準備されていてもよい。その場合には、さらに、蓄電デバイスの温度Tも考慮して、各パラメータの値が設定される。また、各パラメータの値は予め定められていてもよい。パラメータ設定部4は、設定した各パラメータの値を直流抵抗計算部5および分極計算部6に出力する。
直流抵抗計算部5は、等価回路モデル40中の回路10に発生する直流抵抗電圧Vdc(t)を計算する部分である。また、直流抵抗計算部5は、入力部2によって入力された指定値(bat_demand)から、等価回路モデル40に流れる電流I(t)を計算する部分でもある。図5に示されるように、直流抵抗計算部5は、その機能ブロックとして、電流計算部51と、電圧計算部52と、モード判定部53と、を含む。電流計算部51は、等価回路モデル40に流れる電流I(t)を計算する。電圧計算部52は、等価回路モデル40の直流抵抗成分(回路10)に生じる直流抵抗電圧Vdc(t)を計算する。蓄電デバイスの充電モードによって、電流I(t)および直流抵抗電圧Vdc(t)の計算方法が異なる。以下、蓄電デバイスの充放電モードごとに、直流抵抗電圧Vdc(t)および電流I(t)の計算方法の一例を説明する。
[CCモードでの直流抵抗電圧Vdc(t)の計算例]
まず、定電流(CC:Constant Current)モードについて説明する。CCモードは、端子電圧V(t)によらず、一定の電流を流すモードである。このため、CCモードでは、電流計算部51は、入力部2から受け取った指定電流I_cmdを電流I(t)とする。電流計算部51は、電流I(t)を電圧計算部52に出力する。
電圧計算部52は、電流計算部51によって計算された電流I(t)に基づいて、電圧Vdc1(t)、電圧Vdc2(t)、および電圧Vg(t)を計算し、電圧Vdc1(t)、電圧Vdc2(t)、および電圧Vg(t)に基づいて、直流抵抗電圧Vdc(t)を計算する。具体的には、電圧計算部52は、式(5)に示されるように、パラメータ設定部4から受け取った抵抗値R
0と、電流計算部51から受け取った電流I(t)とを乗算することによって、電圧Vdc1(t)を計算する。
電圧計算部52は、電流I(t)の値を変数としたバトラーボルマーの式(butler volmer方程式)から求められる値を用いて、非線形直流抵抗成分の抵抗値R(I)を設定する。抵抗値R(I)は、抵抗器12(図2参照)の抵抗値である。具体的には、電圧計算部52は、式(6)〜式(9)に示されるように、パラメータ設定部4から受け取った係数V
0、係数I
0、および係数αを用いて、抵抗値R(I)を計算する。係数V
0は抵抗値R(I)と電流I(t)との次元を揃えるために用いられる。係数I
0は、電流I(t)を規格化するために用いられる。係数αは、バトラーボルマーの式を特定するために用いられる。
Fは、その引数(I(t)/I
0)をxとすると、式(7)の解、つまりバトラーボルマーの式の解として表される。
ここで、バトラーボルマーの式は、定数yおよび係数αが与えられたとき、式(8)を満たすxを求めることで解くことができる。
xは、たとえばニュートン法で求められてよい。つまり、式(9)においてf(x)の値が0となる(実際には十分に小さい値、たとえばf(x)≦10
−6となる)xの値をニュートン法で求める。なお、式(8)および式(9)のxは、式(7)のxとは異なり、式(7)のxを式(8)および式(9)ではyとし、式(7)のFを式(8)および式(9)ではxとしている。
電圧計算部52は、式(10)に示されるように、抵抗値R(I)と電流I(t)とを乗算することによって、電圧Vdc2(t)を計算する。
電圧計算部52は、パラメータ設定部4から受け取った容量値Cと1時刻前の電流I(t−1)とに基づいて、電圧Vg(t)を計算する。式(11)に示されるように、電圧計算部52は、電流I(t−1)が0よりも大きく、かつ端子電圧V(t−1)が閾値電圧Vthよりも大きいという条件が満たされているか否かを判定する。この条件は、ガッシングが発生する条件である。閾値電圧Vthは、ガッシングが生じ始める端子電圧に設定され、たとえば13.6Vに設定される。
等価回路モデル40を用いて説明すると、電流I(t−1)が0よりも大きく、かつ端子電圧V(t−1)が閾値電圧Vthよりも大きいという条件が満たされている場合に、スイッチング素子14が開状態に設定される。蓄電デバイスが放電されているか、電流I(t−1)が0である場合に、スイッチング素子14が閉状態に設定され、コンデンサ13の電荷量が0にリセットされる。つまり、電池デバイスが充電されており、かつ、端子電圧V(t−1)が閾値電圧Vthよりも大きい場合に、電圧計算部52は、電流I(t−1)を積算した値を容量値Cで除算し、その除算結果を電圧Vg(t)とする。また、電圧計算部52は、電流I(t−1)が0以下である場合、つまり、蓄電デバイスが放電しているか、電流I(t−1)が0になった時には、電圧Vg(t)を0とする。
電圧計算部52は、上記式(1)に示されるように、電圧Vdc1(t)、電圧Vdc2(t)および電圧Vg(t)を加算し、その合計電圧を直流抵抗電圧Vdc(t)として計算する。
[CVモードでの直流抵抗電圧Vdc(t)の計算例]
定電圧(CV:Constant Voltage)モードについて説明する。CVモードは、蓄電デバイスを充電するための電圧源(たとえばオルタネータ)の出力電圧を一定にした状態で蓄電デバイスを充電するモードである。CVモードでは、分極電圧Vpol(t)および開放電圧Vocv(t)の変化は比較的緩やかであると仮定し、電圧計算部52は、以下の式(12)によって直流抵抗電圧Vdc(t)を計算する。なお、電圧Vaは、CV電圧であり、電圧源(たとえばオルタネータ)の上限電圧を示している。この電圧Vaは、予め設定される。たとえば、上限電圧が14Vであるオルタネータが用いられる場合、電圧Vaは14Vに設定される。
電圧計算部52は、上述された式(11)に示されるように、パラメータ設定部4から受け取った容量値Cと1時刻前の電流I(t−1)とに基づいて、電圧Vg(t)を計算する。電圧計算部52は、計算した直流抵抗電圧Vdc(t)および電圧Vg(t)を電流計算部51に出力する。
電流計算部51は、電圧計算部52によって計算された直流抵抗電圧Vdc(t)に基づいて、電流I(t)を計算する。具体的には、電流計算部51は、(V/V
0)をxとして、以下の非線形方程式(13)を解くことによって、xを求める。
式(13)は、V
0/(I
0×R
0)をAとし、(Vdc(t)−Vg(t))/(I
0×R
0)をBとして、下記の式(14)を満たすxを求めることで解くことができる。xは、たとえばニュートン法で求められてよい。
具体的には、電流計算部51は、式(15)においてf(x)の値が0となる(実際には十分に小さい値、たとえばf(x)≦10
−6となる)xの値をニュートン法で求める。
電流計算部51は、式(16)に示されるように、xを用いて電流I(t)を計算する。
モード判定部53は、蓄電デバイスの充放電モードを判定し、電流計算部51および電圧計算部52に、充放電モードに応じて直流抵抗電圧Vdc(t)および電流I(t)を計算させる。モード判定部53は、たとえば、1時刻前の端子電圧V(t−1)と電圧Vaとを比較することにより充放電モードを判定する。具体的には、モード判定部53は、端子電圧V(t−1)が電圧Vaよりも小さい場合には、CCモードと判定する。モード判定部53は、端子電圧V(t−1)が電圧Vaに達している(電圧Va以上)である場合には、CVモードと判定する。電流計算部51は、モード判定部53によって判定された充放電モードに応じて電流I(t)を計算し、計算した電流I(t)をSOC計算部3および分極計算部6にそれぞれ出力する。電圧計算部52は、モード判定部53によって判定された充放電モードに応じて直流抵抗電圧Vdc(t)を計算し、計算した直流抵抗電圧Vdc(t)を端子電圧計算部8に出力する。
なお、直流抵抗計算部5が、電流I(t)および直流抵抗電圧Vdc(t)の計算を行っているが、これに限られない。蓄電デバイスシミュレータ1が、直流抵抗計算部5と同様の機能を有する機能ブロックを更に備え、当該機能ブロックが電流I(t)を計算した上で、直流抵抗計算部5が、電流I(t)に基づいて直流抵抗電圧Vdc(t)を計算するようにしてもよい。
再び図3を参照して、蓄電デバイスシミュレータ1の機能ブロックの説明を続ける。分極計算部6は、等価回路モデル40中の回路20に発生する分極電圧Vpol(t)を計算する部分である。ここで、図6を参照して、分極計算部6の機能ブロックを説明する。図6に示されるように、分極計算部6は、その機能ブロックとして、設定部6aと、分極電圧計算部6bとを含む。
設定部6aは、回路20の特性パラメータを設定する部分である。特性パラメータの設定の態様としては、第1の態様および第2の態様がある。設定部6aは、第1の態様および第2の態様の少なくとも一方の態様で、回路20の特性パラメータを設定する。第1の態様および第2の態様の両方が用いられてもよい。以下、第1の態様、および第2の態様の順に説明する。
[回路20の特性パラメータの設定の第1の態様]
第1の態様では、設定部6aは、等価回路モデル40に流れる電流I(t)に応じて、抵抗器21の抵抗値およびコンデンサ22の容量値の少なくとも一方を設定する。具体的に、図7を参照して説明する。図7において、抵抗器21に流れる電流を、電流I1(t)と称し図示する。コンデンサ22に流れる電流を、電流I2(t)と称し図示する。電流I1(t)と電流I2(t)との合計電流は、電流I(t)に等しい。以下、抵抗器21の抵抗値を抵抗値Rpと称し、コンデンサ22の容量値を容量値Cpと称して説明する。
たとえば、設定部6aは、抵抗器21の抵抗値Rpを、電流I1(t)の値に応じて設定してよい。この場合、抵抗値Rpは、電流I1(t)の値を引数とする関数で表される。
設定部6aは、抵抗値Rpを、電流I1(t)および電流I2(t)の合計電流の値、つまり電流I(t)の値に応じて設定してもよい。この場合、抵抗値Rpは、電流I(t)の値を引数とする関数で表される。
設定部6aは、容量値Cpを、電流I2(t)の値に応じて設定してもよい。この場合、容量値Cpは、電流I2(t)の値を引数とする関数で表される。
設定部6aは、容量値Cpを、電流I(t)の値に応じて設定してもよい。この場合、容量値Cpは、電流I(t)の値を引数とする関数で表される。
設定部6aは、抵抗値Rpのみを上述のように電流に応じて設定してもよいし、容量値Cpのみを上述のように設定してもよい。設定部6aが抵抗値Rpのみを電流に応じて設定する場合、容量値Cpは、予め定められた値とすることができる。設定部6aが容量値Cpのみを電流に応じて設定する場合、抵抗値Rpは、予め定められた値とすることができる。また、設定部6aは、抵抗値Rpおよび容量値Cpの両方の値を上述のように電流に応じて設定してもよい。
ここで、設定部6aによる抵抗器21の抵抗値Rpの設定の例およびコンデンサ22の容量値Cpの設定の例について説明する。
[抵抗器21の抵抗値Rpの設定の例]
抵抗器21の抵抗値Rpの設定の例について説明する。たとえば、設定部6aは、電流I(t)の値を変数としたバトラーボルマーの式(butler_volmer方程式)から求められる値を用いて、抵抗値Rpを設定する。具体的には、設定部6aは、式(17)に示されるように、パラメータ設定部4から受け取った係数V
0、係数I
0、および係数αを用いて、抵抗値Rpを計算する。
式(17)の右辺は上述の式(6)の右辺と同じである。よって、先に説明したように式中のF(I(t)/I
0)をバトラーボルマーの式を解くことによって求めることで、抵抗値Rpを計算することができる。
[コンデンサ22の容量値Cpの設定の例]
コンデンサ22の容量値Cpの設定の例について説明する。たとえば、設定部6aは、電流I(t)の値を変数とした、スプライン関数、区分直線関数、電流I(t)の値に対して直線であるが正の関数、およびガウス関数などの関数を用いて、容量値Cpを設定することができる。図8は、例としてガウス関数で表される容量値Cpの挙動を示す。この例では、電流I(t)の値Iが0付近で容量値Cpの値が最大となり、そこから、電流I(t)の値Iが減少または増加するにつれて、容量値Cpの値が小さくなる。
以上説明した抵抗値Rpおよび容量値Cpの設定の種々の態様において、抵抗値Rpを電流I1(t)の値のみに応じて設定する場合よりも、電流I1(t)および電流I2(t)の合計電流の値、つまり電流I(t)の値に応じて設定することにより、第1分極電圧Vp1(t)ひいては分極電圧Vpol(t)をさらに正確に表すことができる。その理由としては、以下のことが考えられる。すなわち、抵抗値Rpを表す関数の引数が電流I1(t)の値のみの場合には、ステップ応答(過渡応答時の電圧の時間変化)をみたときに、たとえば、最初は時定数が大きく、その後、時定数が急激に小さくなるので、抵抗器21およびコンデンサ22に発生する電圧が徐々に立ち上がった後、或るタイミングで突然ほぼ一定値に固定されて変化しなくなる。このような不連続部分を有するステップ応答は、実際のステップ応答を完全には再現できていない。これに対し、抵抗値Rpを表す関数の引数を電流I(t)の値とすることによって、上述の不連続部分がなくなるようにステップ応答が改善され、その結果、実際のステップ応答をより正確に再現できるようになる。
以上が、回路20に関するパラメータの設定の第1の態様である。次に、回路20に関するパラメータの設定の第2の態様について説明する。
[回路20の特性パラメータの設定の第2の態様]
図6に戻り、第2の態様では、設定部6aは、抵抗器21の抵抗値およびコンデンサ22の容量値から定まる上述の時定数τ1を、蓄電デバイスが充電状態若しくは放電状態の場合と、休止状態の場合とで、異なる値に設定する。なお、ここでの休止状態とは、蓄電デバイスには充放電電流は発生していない(充放電電流が0である)が、それ以前の蓄電デバイスの充放電によって回路20中の各コンデンサに蓄積された電荷が放電されることによって、分極電圧Vpol(t)が時間ともに変化している状態を意味する。
蓄電デバイスが充電状態、放電状態、休止状態のいずれの状態であるかは、たとえば、等価回路モデル40に流れる電流I(t)の方向、値、および電流I(t)が0となった時点から経過した時間に基づいて、設定部6aが判断する。再び図2を参照して説明すると、図2の例では、電流I(t)は、ノードN1から、回路10、回路20、および定電圧源30に向かって流れる電流として示されている。この場合、電流I(t)の値が正の場合には、電流I(t)は蓄電デバイスの充電電流となるので、蓄電デバイスは充電状態となる。電流I(t)の値が負の場合には、電流I(t)は蓄電デバイスの放電電流となるので、蓄電デバイスは放電状態となる。電流I(t)の値が0の場合には、蓄電デバイスは充電も放電もしない浮動状態となる。浮動状態では、ノードN1およびノードN2と、蓄電デバイスの外部の要素との間での電流の授受は存在しない。ただし、浮動状態でも、回路20中の各コンデンサに蓄えられた電荷が放出されるなどによって、各コンデンサの両端の電圧が変化する期間が存在する。この期間が、蓄電デバイスが休止状態となる期間に相当する。たとえば、電流I(t)の値が0となった時点から予め定められた期間の間が、休止状態として定められてよい。予め定められた期間は、たとえば数秒から十数秒程度に設定されてよい。
たとえば、設定部6aは、蓄電デバイスが休止状態の場合の方が、蓄電デバイスが充電状態および放電状態(充放電状態)の場合よりも時定数が大きくなるように、時定数τ1を設定してもよい。この設定によれば、休止状態での分極電圧Vpol(t)の時間変化を、充放電状態での分極電圧Vpol(t)の時間変化よりも緩やかにすることができる。
設定部6aは、休止状態の方が、充放電状態よりも時定数が小さくなるように、時定数τ1を設定してもよい。この設定によれば、休止状態での分極電圧Vpol(t)の時間変化を、充放電状態での分極電圧Vpol(t)の時間変化よりも急峻にすることができる。
設定部6aは、放電状態の方が、充電状態よりも時定数が大きくなるように、時定数τ1を設定してもよい。この設定によれば、放電状態での分極電圧Vpol(t)の時間変化を、充電状態での分極電圧Vpol(t)の時間変化よりも緩やかにすることができる。
設定部6aは、放電状態の方が、充電状態よりも時定数が小さくなるように、時定数τ1を設定してもよい。この設定によれば、放電状態での分極電圧Vpol(t)の時間変化を、充電状態での分極電圧Vpol(t)の時間変化よりも急峻にすることができる。
設定部6aは、蓄電デバイスが休止状態の場合には、さらに、蓄電デバイスが休止状態になる直前の状態(直前の状態)が充電状態であった場合と、蓄電デバイスの直前の状態が放電状態であった場合とで、時定数τ1を異なる値に設定してもよい。
休止状態の場合の時定数τ1として、設定部6aは、直前の状態が放電状態であった場合の方が、直前の状態が充電状態であった場合よりも時定数が大きくなるように、時定数τ1を設定してもよい。この設定によれば、直前の状態が放電状態であった場合の休止状態での分極電圧Vpol(t)の時間変化を、直前の状態が充電状態であった場合の休止状態での分極電圧Vpol(t)の時間変化よりも緩やかにすることができる。
設定部6aは、直前の状態が放電状態であった場合の方が、直前の状態が充電状態であった場合よりも時定数が小さくなるように、時定数τ1を設定してもよい。この設定によれば、直前の状態が放電状態であった場合の休止状態での分極電圧Vpol(t)の時間変化を、直前の状態が充電状態であった場合の休止状態での分極電圧Vpol(t)の時間変化よりも急峻にすることができる。
時定数τ1の設定は、具体的には、抵抗器21の抵抗値とコンデンサ22の容量値との積が時定数τ1となるように抵抗値と容量値とを設定することによって行われる。また、休止状態における時定数は、蓄電デバイスを使用していた時間TU、または電荷積算量∫|i|dtに応じて変更してもよい。この場合、予め蓄電デバイスで試験して休止分極の時定数関数を決定してもよい。休止状態でなく電流が流れているとき(充放電状態)の時定数関数の例は、{(Ad/|I−Bd|)+Cd}である。ここで、Iは電流の値(放電時を負の値とする)であり、Ad、Bd、Cdは定数である。この関数は、たとえば、Pb02とPbSO4の反応時定数が電流の逆数依存により導かれる、という知見に基づく。Ad、Bd、CdはIの符号によって値を変えてもよい。
先に述べたように、回路20の特性パラメータの設定の第1および第2の態様の両方が用いられてもよい。この場合には、設定部6aは、蓄電デバイスが休止状態以外(充放電状態など)の場合には、第1の態様を用いて抵抗器21の抵抗値およびコンデンサ22の容量値を電流I(t)に応じて設定し、蓄電デバイスが休止状態の場合には、第2の態様を用いて時定数τ1を設定してよい。たとえばこのようにして、第1の態様および第2の態様の両方を組み合わせて用いることができる。
分極電圧計算部6bは、直流抵抗計算部5の計算結果および設定部6aの設定結果を用いて、分極電圧Vpol(t)を計算する部分である。具体的に、分極電圧計算部6bは、直流抵抗計算部5によって計算された電流I(t)と、設定部6aによって設定された抵抗器21の抵抗値およびコンデンサ22の容量値とを用いて、第1分極電圧Vp1(t)を計算する。第1分極電圧Vp1(t)は、抵抗器21またはコンデンサ22に発生する電圧として計算することができる。電圧の計算手法は特に限定されず、種々の公知の手法を用いることができる。たとえば、抵抗器21に発生する電圧は、抵抗器21に流れる電流I1(t)の大きさと抵抗器21の抵抗値Rpとから求められる。コンデンサ22に発生する電圧は、コンデンサ22に蓄えられた電荷量とコンデンサ22の容量値とから求められる。抵抗器21およびコンデンサ22に流れる電流I1(t)およびI2(t)は、両者に流れる電流の合計電流が電流I(t)となるという条件のもと、抵抗器21の抵抗値Rp、コンデンサ22の容量値Cp、およびコンデンサ22に蓄えられた電荷量から求められる。第2分極電圧Vp2(t)および第3分極電圧Vp3(t)についても同様である。そして、分極電圧計算部6bは、上述された式(2)に示されるように、第1分極電圧Vp1(t)、第2分極電圧Vp2(t)、および第3分極電圧Vp3(t)の合計電圧を、分極電圧Vpol(t)として計算する。
分極計算部6の分極電圧計算部6bによって計算された分極電圧Vpol(t)は、後述の端子電圧計算部8に出力される。
図3に戻り、蓄電デバイスシミュレータ1の機能ブロックの説明を続ける。OCV計算部7は、蓄電デバイスの開放電圧Vocv(t)を計算する部分である。先に説明したように、開放電圧Vocv(t)は、蓄電デバイスのSOCから求められる。たとえば、各SOCの値と開放電圧Vocvの値とを対応付けたテーブルが予め準備されている。OCV計算部7は、当該テーブルを参照することによって、SOC計算部3から受け取ったSOC(t)から開放電圧Vocv(t)を計算する。なお、上述のテーブルが、温度Tごとに準備されていてもよく、その場合には、さらに、蓄電デバイスの温度Tも考慮して、開放電圧Vocv(t)が計算される。
端子電圧計算部8は、蓄電デバイスの端子電圧V(t)を計算する部分である。先に説明したように、直流抵抗計算部5によって計算された直流抵抗電圧Vdc(t)、分極計算部6によって計算された分極電圧Vpol(t)、およびOCV計算部7によって計算された開放電圧Vocv(t)が端子電圧計算部8に送られる。端子電圧計算部8は、直流抵抗電圧Vdc(t)、分極電圧Vpol(t)、および開放電圧Vocv(t)に基づいて、端子電圧V(t)を計算する。具体的には、端子電圧計算部8は、上記式(3)に示されるように、直流抵抗電圧Vdc(t)、分極電圧Vpol(t)、および開放電圧Vocv(t)を加算し、その合計電圧を端子電圧V(t)として計算する。端子電圧計算部8は、計算した端子電圧V(t)を蓄電デバイスシミュレータ1の外部および直流抵抗計算部5に出力する。
次に、図9〜図11を参照して、蓄電デバイスシミュレータ1が実行する端子電圧V(t)の計算処理(シミュレーション方法)を説明する。図9は、蓄電デバイスシミュレータ1が実行する端子電圧V(t)の計算処理の例を示すフローチャートである。図10は、図9の電流および直流抵抗電圧の計算処理の例を示すフローチャートである。図11は、図9の分極電圧の計算処理の例を示すフローチャートである。図9に示されるフローチャートの処理は、たとえば燃費計算装置90の燃費計算において、ある時刻tにおける蓄電デバイスの端子電圧を推定する際に実行される。
まず、入力部2が指定値(bat_demand)を入力する(ステップS01)。たとえば、入力部2は、蓄電デバイスシミュレータ1の外部装置から指定値を受け取ることにより、その指定値を入力する。そして、入力部2は、入力した指定値を直流抵抗計算部5に出力する。
そして、SOC計算部3は、蓄電デバイスのSOCを計算する(ステップS02)。SOC計算部3は、たとえば、上述された式(4)を用いてSOC(t)を計算する。そして、SOC計算部3は、計算したSOC(t)をパラメータ設定部4、分極計算部6、およびOCV計算部7に出力する。
続いて、パラメータ設定部4は、等価回路モデル40の各パラメータを設定する(ステップS03)。ステップS03において設定されるパラメータは、たとえば、係数V0、抵抗値R0、係数I0、係数α、および容量値Cである。パラメータ設定部4は、たとえば、各パラメータの値を記述するルックアップテーブルを参照することによって、SOC計算部3から受け取ったSOC(t)に対応付けられた各パラメータの値を取得し、取得した値を各パラメータの値に設定する。そして、パラメータ設定部4は、設定したパラメータを直流抵抗計算部5および分極計算部6に出力する。
続いて、直流抵抗計算部5は、電流I(t)および直流抵抗電圧Vdc(t)を計算する(ステップS04)。ステップS04の処理では、図10に示されるように、まずモード判定部53が、蓄電デバイスの充放電モードを判定する(ステップS41)。ステップS41において、充放電モードがCCモードであると判定された場合(ステップS41;CC)、電流計算部51は、等価回路モデル40に流れる電流I(t)を計算する(ステップS42)。ステップS42では、電流計算部51は、入力部2によって入力された指定値に含まれる指定電流を電流I(t)に設定する。
そして、ステップS43〜ステップS46において、電圧計算部52は、電流I(t)に基づいて、電圧Vdc1(t)、電圧Vdc2(t)、および電圧Vg(t)を計算し、電圧Vdc1(t)、電圧Vdc2(t)、および電圧Vg(t)に基づいて直流抵抗電圧Vdc(t)を計算する。まず、電圧計算部52は、電圧Vdc1(t)を計算する(ステップS43)。具体的には、電圧計算部52は、上述された式(5)に示されるように、パラメータ設定部4から受け取った抵抗値R0と、電流計算部51から受け取った電流I(t)とを乗算することによって、電圧Vdc1(t)を計算する。
続いて、電圧計算部52は、電圧Vdc2(t)を計算する(ステップS44)。具体的には、電圧計算部52は、電流I(t)の値を変数としたバトラーボルマーの式を用いて電圧Vdc2(t)を計算する。より具体的には、電圧計算部52は、上述された式(6)〜式(10)を用いて、電圧Vdc2(t)を計算する。
続いて、電圧計算部52は、電圧Vg(t)を計算する(ステップS45)。ステップS45の計算を等価回路モデル40を用いて説明すると、電流I(t−1)が0よりも大きく、かつ端子電圧V(t−1)が閾値電圧Vthよりも大きいという条件が満たされている場合に、スイッチング素子14が開状態に設定される。蓄電デバイスが放電されているか、電流I(t−1)が0である場合(つまり、電流I(t−1)が0以下である場合)に、スイッチング素子14が閉状態に設定され、コンデンサ13の電荷量が0にリセットされる。
具体的には、上述された式(11)に示されるように、電圧計算部52は、電流I(t−1)が0より大きく(つまり、電池デバイスが充電されている)、かつ、端子電圧V(t−1)が閾値電圧Vthよりも大きい場合に、電流I(t−1)を積算した値を容量値Cで除算し、その除算結果を電圧Vg(t)とする。また、電圧計算部52は、電流I(t−1)が0以下である場合、つまり、蓄電デバイスが放電しているか、電流I(t−1)が0になった時には、電圧Vg(t)を0とする。
続いて、電圧計算部52は、直流抵抗電圧Vdc(t)を計算する(ステップS46)。具体的には、電圧計算部52は、上記式(1)に示されるように、電圧Vdc1(t)、電圧Vdc2(t)および電圧Vg(t)を加算し、その合計電圧を直流抵抗電圧Vdc(t)として計算する。そして、電流計算部51は、電流I(t)をSOC計算部3および分極計算部6にそれぞれ出力し、電圧計算部52は、直流抵抗電圧Vdc(t)を端子電圧計算部8に出力する。そして、ステップS04の処理が終了する。
一方、ステップS41において、充放電モードがCVモードであると判定された場合(ステップS41;CV)、電圧計算部52は、直流抵抗電圧Vdc(t)を計算する(ステップS47)。ステップS47では、電圧計算部52は、上述された式(12)を用いて直流抵抗電圧Vdc(t)を計算する。また、電圧計算部52は、上述された式(11)を用いて電圧Vg(t)を計算する。そして、電圧計算部52は、計算した直流抵抗電圧Vdc(t)および電圧Vg(t)を電流計算部51に出力する。
続いて、電流計算部51は、等価回路モデル40に流れる電流I(t)を計算する(ステップS48)。ステップS48では、電流計算部51は、電圧計算部52によって計算された直流抵抗電圧Vdc(t)に基づいて、電流I(t)を計算する。具体的には、電流計算部51は、上述された式(13)〜式(16)を用いて電流I(t)を計算する。そして、電流計算部51は、電流I(t)をSOC計算部3および分極計算部6にそれぞれ出力し、電圧計算部52は、直流抵抗電圧Vdc(t)を端子電圧計算部8に出力する。そして、ステップS04の処理が終了する。
続いて、分極計算部6は、分極電圧Vpol(t)を計算する(ステップS05)。ステップS05の処理では、図11に示されるように、まず、ステップS51において、分極計算部6が、回路20の特性パラメータを設定する。たとえば上述の第1の態様が用いられて回路20の特性パラメータが設定される場合には、分極計算部6の設定部6aが、先のステップS42またはステップS48で計算された電流I(t)の値に応じて、先に説明したように抵抗器21の抵抗値およびコンデンサ22の容量値の少なくとも一方を設定する。また、上述の第2の態様が用いられて回路20の特性パラメータが設定される場合には、設定部6aは、蓄電デバイスの状態(充放電状態または休止状態)に応じて、先に説明したように時定数τ1を設定する。第1の態様および第2の態様の両方が用いられる場合には、設定部6aは、蓄電デバイスが休止状態以外の場合には、電流I(t)の値に応じて抵抗器21の抵抗値およびコンデンサ22の容量値の少なくとも一方を設定する。蓄電デバイスが休止状態の場合には、時定数τ1を、休止状態以外の場合の時定数とは異なる値に設定する。
ステップS52において、分極計算部6は、分極電圧を計算する。具体的に、分極計算部6の分極電圧計算部6bが、先のステップS51で設定された抵抗器21の抵抗値およびコンデンサ22の容量値を用いて、第1分極電圧Vp1(t)を計算する。また、分極電圧計算部6bは、第2分極電圧Vp2(t)、および第3分極電圧Vp3(t)も計算する。そして、分極電圧計算部6bは、それら第1分極電圧Vp1(t)、第2分極電圧Vp2(t)、および第3分極電圧Vp3(t)の合計値を、分極電圧Vpol(t)として計算する。そして、ステップS05の処理が終了する。
続いて、OCV計算部7は、開放電圧Vocv(t)を計算する(ステップS06)。たとえば、OCV計算部7は、各SOCの値と開放電圧Vocvの値とを対応付けたテーブルを参照することによって、SOC計算部3から受け取ったSOC(t)から開放電圧Vocv(t)を計算する。そして、OCV計算部7は、計算した開放電圧Vocv(t)を端子電圧計算部8に出力する。
続いて、端子電圧計算部8は、端子電圧V(t)を計算する(ステップS07)。具体的には、端子電圧計算部8は、直流抵抗計算部5によって計算された直流抵抗電圧Vdc(t)、分極計算部6によって計算された分極電圧Vpol(t)、およびOCV計算部7によって計算された開放電圧Vocv(t)に基づいて、端子電圧V(t)を計算する。より具体的には、端子電圧計算部8は、上記式(3)に示されるように、直流抵抗電圧Vdc(t)、分極電圧Vpol(t)、および開放電圧Vocv(t)を加算し、その合計電圧を端子電圧V(t)として計算する。そして、端子電圧計算部8は、計算した端子電圧V(t)を蓄電デバイスシミュレータ1の外部、および直流抵抗計算部5に出力する。以上のようにして、時刻tにおける端子電圧V(t)の計算処理が終了する。
なお、ステップS01の処理と、ステップS02およびステップS03の処理と、は並行して行われてもよく、実施される順番が逆になってもよい。また、ステップS05の処理とステップS06の処理とは、並行して行われてもよく、実施される順番が逆になってもよい。また、ステップS43〜ステップS45の処理は、並行して行われてもよく、実施される順番が入れ替わってもよい。
以上説明した蓄電デバイスシミュレータ1および蓄電デバイスシミュレータ1によって実行されるシミュレーション方法では、直流抵抗成分(回路10)を含む蓄電デバイスの等価回路モデル40が用いられる。蓄電デバイスには、電極などの固定の直流抵抗成分の他、電解液などによる可変の直流抵抗成分が含まれる。この可変の直流抵抗成分を模擬するために、等価回路モデル40の直流抵抗成分(回路10)は、抵抗器11によって模擬される線形直流抵抗成分と、抵抗器12によって模擬される非線形直流抵抗成分と、を含み、抵抗器11と抵抗器12とは直列に接続されている。非線形直流抵抗成分(抵抗器12)は、電流I(t)に応じて変化する抵抗値R(I)を有している。この等価回路モデル40では、直流抵抗成分(回路10)の抵抗値が、蓄電デバイスの状態に応じて1つの値に定まることから、直流抵抗電圧Vdc(t)の計算精度が向上する。その結果、蓄電デバイスの端子電圧V(t)の推定精度を向上させることが可能となる。特に、クランキング時、およびCV充電時の端子電圧V(t)の推定精度を向上させることが可能となる。非線形直流抵抗成分を用いた端子電圧V(t)の推定は、たとえば、クランキング時の端子電圧V(t)に基づいて、蓄電デバイスの寿命を判定する場合などに有用である。
蓄電デバイスがCCモードである場合、蓄電デバイスに流れる電流I(t)が一定であるので、指定電流が電流I(t)に設定され(図10のステップS42)、電流I(t)に基づいて、線形直流抵抗成分(抵抗器11)に生じる電圧Vdc1(t)と、非線形直流抵抗成分(抵抗器12)に生じる電圧Vdc2(t)と、が計算される(図10のステップS43,S44)。そして、電圧Vdc1(t)および電圧Vdc2(t)に基づいて直流抵抗電圧Vdc(t)が計算される(図10のステップS46)。
蓄電デバイスがCVモードである場合、蓄電デバイスに流れる電流I(t)が一定でないので、まず直流抵抗電圧Vdc(t)が計算され(図10のステップS47)、その後、直流抵抗電圧Vdc(t)を用いて蓄電デバイスに流れる電流I(t)が計算される(図10のステップS48)。
また、蓄電デバイスのSOCが高い状態で蓄電デバイスが充電されることにより、ガッシングが生じることがある。ガッシングは、直流抵抗成分とみなし得る。このガッシングによる直流抵抗成分を模擬するために、等価回路モデル40の直流抵抗成分(回路10)は、ガッシングに基づく直流抵抗成分を模擬するガッシング部を含み、ガッシング部は、抵抗器11によって模擬される線形直流抵抗成分と直列に接続されている。ガッシング部は、コンデンサ13とスイッチング素子14とが並列に接続される回路によって構成される。このような簡単な回路によりガッシングに基づく直流抵抗成分が模擬されるので、蓄電デバイスの端子電圧V(t)の計算を簡易化することが可能となる。
蓄電デバイスのSOCが高くなるにつれ、蓄電デバイスの端子電圧も大きくなる。つまり、蓄電デバイスが充電されており、かつ、端子電圧V(t−1)が閾値電圧Vthよりも大きい場合に、ガッシングが生じ得る。このような場合に、ガッシング部のスイッチング素子14を開状態とすることによって、コンデンサ13によってガッシングによる直流抵抗成分が模擬される。これにより、コンデンサ13に加わる電圧を計算するだけで、ガッシング部に生じる電圧Vg(t)を計算することができるので、蓄電デバイスの端子電圧V(t)の計算を簡易化することが可能となる。
蓄電デバイスが放電されている場合、および蓄電デバイスに電流I(t)が流れていない場合には、ガッシングが生じない。このような場合に、ガッシング部のスイッチング素子14を閉状態とすることによって、ガッシングによる直流抵抗成分が0となる。これにより、ガッシングが生じない場合には、ガッシング部に生じる電圧Vg(t)が0に設定されるので、蓄電デバイスの端子電圧V(t)の計算を簡易化することが可能となる。
ガッシングによる直流抵抗成分は、蓄電デバイスのSOCに応じて変化する。このため、コンデンサ13の容量値Cが蓄電デバイスのSOCに応じて変更されることによって、ガッシング部に生じる電圧Vg(t)の計算精度を向上することができる。これにより、端子電圧V(t)の推定精度を向上することが可能となる。
また、蓄電デバイスシミュレータ1および蓄電デバイスシミュレータ1によって実行されるシミュレーション方法によれば、等価回路モデル40は、蓄電デバイスで発生する分極電圧Vpol(t)を表すための並列接続された抵抗器21およびコンデンサ22を含む。抵抗器21の抵抗値およびコンデンサ22の容量値少なくとも一方は、等価回路モデル40に流れる電流I(t)に応じて設定される(図11のステップS51)。これにより、抵抗器の抵抗値およびコンデンサの容量値が等価回路に流れる電流にかかわらず一定とされる場合と異なり、素子の値が電流によって変化するという非線形特性を抵抗器21およびコンデンサ22の少なくとも一方が有する。その結果、抵抗器およびコンデンサのいずれもが上記の非線形特性を有しない場合と比較して、分極電圧Vpol(t)の計算精度が向上する。よって、端子電圧V(t)の推定精度を向上することが可能となる。特に、蓄電デバイスの放電時(CC放電時)には分極電圧Vpol(t)の影響が大きいので、その際の端子電圧V(t)の推定精度を向上させることが可能となる。放電時には端子電圧V(t)が低下するが、その際、端子電圧V(t)がアイドリングストップ解除電圧を下回るか否かということは、燃費計算結果に影響する。分極電圧Vpol(t)の計算精度を向上させることで、放電時の端子電圧V(t)の変化(下がり方)を再現でき、アイドリングストップ解除を正しく判定することが可能になる。よって、燃費計算の計算精度が向上する。
抵抗器21およびコンデンサ22に流れる電流I1(t)および電流I2(t)(つまり電流I(t))の値に応じて、抵抗器21の抵抗値Rpおよびコンデンサ22の容量値Cpの少なくとも一方の値を設定してもよい(図11のステップS51)。たとえば、抵抗器21の抵抗値Rpを電流I(t)の値に応じて設定することにより、抵抗値Rpを抵抗器21に流れる電流I1(t)のみの値に応じて設定する場合よりも、分極電圧Vpol(t)をさらに正確に表すことができる。また、コンデンサ22の容量値Cpを電流I(t)の値に応じて設定することにより、容量値Cpをコンデンサ22に流れる電流I2(t)のみの値に応じて設定する場合よりも、分極電圧Vpol(t)をさらに精度良く計算することができる。
抵抗器21の抵抗値Rpは、電流I(t)の値を変数としたバトラーボルマーの式から求められる値を用いて設定されてもよい(図11のステップS51)。これにより、分極電圧Vpol(t)をさらに精度良く計算することができる。
コンデンサ22の容量値Cpは、電流I(t)の値を変数とした、スプライン関数、区分直線関数、電流I(t)の値に対して直線であるが正の関数、およびガウス関数などの関数を用いて、設定されてもよい(図11のステップS51)。これにより、分極電圧Vpol(t)をさらに精度良く計算することができる。
また、抵抗器21の抵抗値Rpおよびコンデンサ22の容量値Cpから定まる時定数τ1が、蓄電デバイスが充電状態若しくは放電状態の場合と蓄電デバイスが休止状態の場合とで、異なる値に設定される。このように、充電状態若しくは放電状態の場合と休止状態の場合とで時定数τ1の値を変えることによって、充電状態若しくは放電状態と休止状態とで同じ値の時定数が用いられる場合よりも、分極電圧Vpol(t)を精度良く計算できる。これにより、端子電圧V(t)の推定精度を向上することが可能となる。特に、蓄電デバイスが休止状態から充電状態(CV充電状態)に移行した際の電流は、開放電圧Vocv(t)とたとえばオルタネータの電圧との差で決定されるので、休止状態の端子電圧V(t)は、充電電荷の計算に影響する。このことは、燃費計算結果にも影響する。休止状態の分極電圧Vpol(t)の計算精度を向上させることで、休止中の端子電圧V(t)を正しく再現することが可能になる。よって、燃費計算の計算精度が向上する。
蓄電デバイスが休止状態の場合には、さらに、蓄電デバイスが当該休止状態になる前の状態が充電状態であった場合と、蓄電デバイスが当該休止状態になる前の状態が放電状態であった場合とで、時定数τ1を異なる値に設定してもよい。これにより、蓄電デバイスが休止状態になる前の状態にかかわらず同じ値の時定数が用いられる場合よりも、休止状態の分極電圧Vpol(t)をさらに精度良く計算することができる。
[蓄電デバイスの端子電圧のシミュレーション結果の例]
図12は、蓄電デバイスの端子電圧のシミュレーション結果の例を示す。図12のグラフにおいて、横軸は時間(秒)を示す。縦軸は蓄電デバイスの端子電圧(V)を示す。グラフ中、実線で示される曲線は、実測による端子電圧V(t)の値を示す。グラフ中、波線で示される曲線は、シミュレーションによる端子電圧V(t)の値を示す。燃費シミュレーションにおいて、車両の走行パターン(走行状態)が時間とともに変化し、それに応じて、蓄電デバイスは、充電状態、放電状態または充電も放電もしない状態(休止状態)など、さまざまな状態を取り得る。このようにして、図12のグラフに示されるように、蓄電デバイスの端子電圧V(t)は刻一刻と変化する。
グラフ中の一点鎖線で囲まれた部分に示されるように、クランキング時には、蓄電デバイスに流れる電流が大きく変化し、直流抵抗成分の抵抗値も大きく変化する。また、グラフ中の二点鎖線で囲まれた部分に示されるように、CV充電時においても、蓄電デバイスに流れる電流が変化し、直流抵抗成分の抵抗値も変化する。グラフ中の実線で囲まれた部分に示されるように、蓄電デバイスが満充電に近い状態(高SOC状態)では、ガッシングが発生することから、ガッシングに応じて直流抵抗成分の抵抗値も変化する。これらの抵抗値の変化によって、直流抵抗電圧Vdc(t)に変化が生じ、端子電圧V(t)の変化となって現れる。また、グラフ中の破線で囲まれた部分に示されるように、蓄電デバイスが充電されており端子電圧V(t)が高い状態(この例では約14V)から、蓄電デバイスが放電され端子電圧V(t)が低下しているときには、蓄電デバイスの分極電圧Vpol(t)の変化が、端子電圧V(t)の変化となって現れる。
図12の(a)は、比較例による蓄電デバイスの端子電圧V(t)のシミュレーション結果を示す。比較例のシミュレーションは、線形直流抵抗成分と線形分極インピーダンス成分とを含む等価回路モデルを用いて行われた。この場合、直流抵抗電圧Vdc(t)および分極電圧Vpol(t)を正確に表すことができないので、実測の端子電圧V(t)の値と、シミュレーションによる端子電圧V(t)の値と誤差が大きかった。
図12の(b)は、図12の(a)と同じ車両の走行パターンでの蓄電デバイスシミュレータ1による端子電圧V(t)のシミュレーションの結果を示す。この場合、上述の原理により、直流抵抗電圧Vdc(t)および分極電圧Vpol(t)を正確に表すことができるので、図12の(a)に示される比較例のシミュレーション結果と比較して、実測の端子電圧V(t)と、シミュレーションによる端子電圧V(t)との間の誤差が小さくなった。
具体的には、等価回路モデル40の回路10が抵抗器12を備え、直流抵抗電圧Vdc(t)の計算において、非線形直流抵抗成分の抵抗値R(I)が考慮されたことにより、クランキング時の端子電圧V(t)(グラフ中の一点鎖線で囲まれた部分)およびCV充電時の端子電圧V(t)(グラフ中の二点鎖線で囲まれた部分)の計算精度が向上した。また、等価回路モデル40の回路10がコンデンサ13およびスイッチング素子14を備え、直流抵抗電圧Vdc(t)の計算において、電圧Vg(t)が計算されたことにより、蓄電デバイスが満充電に近い高SOC状態(グラフ中の実線で囲まれた部分)における端子電圧V(t)の計算精度が向上した。
また、等価回路モデル40の回路20の抵抗器21の抵抗値Rpおよびコンデンサ22の容量値Cpの少なくとも一方が電流I(t)に応じて設定されることにより、放電状態(CC放電時)の蓄電デバイスの端子電圧V(t)(グラフ中の破線で囲まれた部分)の推定精度が向上した。これは、放電状態では、分極電圧Vpol(t)の変化が端子電圧V(t)の変化となって現れるが、分極電圧Vpol(t)が精度良く計算されるため、その分、放電状態での端子電圧V(t)の推定精度が向上した。
また、抵抗器21の抵抗値およびコンデンサ22の容量値から定まる時定数τ1を、蓄電デバイスが充電状態若しくは放電状態の場合と、休止状態の場合とで、異なる値に設定することによって、休止状態において蓄電デバイスに発生する分極電圧Vpol(t)も正確に表すことができる。その結果、次のような効果が奏される。
図13は、休止状態の端子電圧の変化を示す図である。この例は、時刻t1よりも前には蓄電デバイスが休止状態に置かれ、時刻t1において蓄電デバイスが充電状態(CV充電状態)に移行した様子を示す。グラフ中、実線で示される曲線A1および破線で示される曲線A2は、異なる二つの端子電圧V(t)の変化を示す。
曲線A1および曲線A2に示されるように、端子電圧V(t)は、時刻t1に至るまで徐々に低下し、時刻t1においてCV充電の電圧値まで上昇する。ここで、曲線A1によって示される端子電圧V(t)と、曲線A2によって示される端子電圧V(t)とは、時刻t1に至るまでの電圧変化の急峻さが異なるので、時刻t1における両者の端子電圧V(t)は異なっている。具体的に、曲線A1によって示される端子電圧V(t)の方が、曲線A2によって示される端子電圧V(t)よりも電圧の変化が急峻である。このため、時刻t1において両者の端子電圧V(t)がCV充電の電圧まで上昇すると、時刻t1における両者の電圧の変化量が、図13に示されるように、電圧変化量ΔV1と電圧変化量ΔV2とで異なる大きさとなる(この例では、ΔV1>ΔV2)。電圧変化量ΔV1および電圧変化量ΔV2が異なると、蓄電デバイスに流れる電流の値が同じであっても、蓄電デバイスの充電電荷の大きさが異なる。このことは、休止状態における端子電圧V(t)の電圧値が正確に推定されないと、その分、休止状態の後の充電状態(CV充電状態)における蓄電デバイスの充電電荷の大きさ(つまりSOC)に誤差が生じることを意味する。この誤差は、燃費計算の精度に影響し得る。
これに対し、先に説明したように、抵抗器21の抵抗値およびコンデンサ22の容量値から定まる時定数τ1を、蓄電デバイスが充電状態若しくは放電状態の場合と、休止状態の場合とで、異なる値に設定することによって、休止状態において蓄電デバイスに発生する分極電圧Vpol(t)も精度良く計算することができる。そのため、休止状態における端子電圧V(t)の推定精度を向上させることができる。その結果、休止状態の後の充電状態(CV充電状態)における蓄電デバイスの充電電荷の大きさも正確に推定される。よって、燃費計算の精度の向上にながる。
以上、本発明の実施形態について説明したが、本発明は上記実施形態に限定されない。たとえば、等価回路モデル40は、目的に応じて変更され得る。蓄電デバイスシミュレータ1では、等価回路モデル40の構成に応じて、上記実施形態における計算は適宜変更され得る。
たとえば、端子電圧V(t)のうち、直流抵抗電圧Vdc(t)の影響を受ける部分の推定精度の向上を目的とする場合には、等価回路モデル40の回路20の構成は上記実施形態の構成に限られず、任意の構成であってもよい。たとえば、線形分極インピーダンスを模擬する抵抗器およびコンデンサの並列接続構成のみを備えていてもよい。この場合、蓄電デバイスシミュレータ1では、抵抗器21の抵抗値およびコンデンサ22の容量値に関する計算、および時定数τ1に関する計算は適宜省略され、または変更され得る。
特に、クランキング時、およびCV充電時における端子電圧V(t)の推定精度の向上を目的とする場合には、回路10は、抵抗器11および抵抗器12を備えていればよい。この場合、蓄電デバイスシミュレータ1では、ガッシング部に関する計算は適宜省略され、または変更され得る。また、蓄電デバイスが満充電に近い状態(高SOC状態)における端子電圧V(t)の推定精度の向上を目的とする場合には、回路10は、抵抗器11、コンデンサ13およびスイッチング素子14を備えていればよい。この場合、蓄電デバイスシミュレータ1では、非線形直流抵抗成分に関する計算は適宜省略され、または変更され得る。
また、端子電圧V(t)のうち、分極電圧Vpol(t)の影響を受ける部分の推定精度の向上を目的とする場合には、等価回路モデル40の回路10の構成は上記実施形態の構成に限られず、任意の構成であってもよい。たとえば、回路10は、線形直流抵抗成分を模擬する抵抗器11だけを備えていてもよい。この場合、蓄電デバイスシミュレータ1では、非線形直流抵抗成分に関する計算、およびガッシング部に関する計算は適宜省略され、または変更され得る。
また、先に図2を参照して説明した蓄電デバイスの等価回路モデル40は、1セルの蓄電デバイスの等価回路モデルであってよい。車両では、例えば、6セルの蓄電デバイスが直列接続された鉛電池(自動車用鉛電池)が用いられる。この場合、図2に示される等価回路モデル40を6個直列に接続することで、6セルの蓄電デバイスの等価回路モデルを表現してもよい。こうすることで、例えば、自動車用鉛電池を使用しているうちに6セルのアンバランス(電解液濃度のばらつき等でOCVがセル間で変わること)が生じるような場合でも対応すること(シミュレーションすること)が可能になる。