以下、図面を参照しつつ、本発明の実施の形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがってそれらについての詳細な説明は繰返さない。
図1に示すように、本実施の形態に係る車両10は、電気自動車である。モータジェネレータ(以下、MGと記載する)12と、インバータ18と、第1システムメインリレー(以下、第1SMRと記載する)26と、第1バッテリ28と、第2システムメインリレー(以下、第2SMRと記載する)30と、第2バッテリ32と、ECU(Electronic Control Unit)200とを含む。
MG12の回転軸は、駆動輪を回転させるための駆動軸に連結される。すなわち、この車両10は、MG12からの駆動力によって走行する。
MG12は、たとえば、永久磁石が埋設されたロータを備える三相交流回転電機である。MG12は、U、VおよびW相の3つのステータコイルを含む。MG12のU、VおよびW相の3つのステータコイルの一端は、中性点に共通接続されている。各相の他端は、各相上下アームのスイッチング素子の中間点と接続されている。
MG12は、インバータ18から供給される電力を用いて駆動力を発生させる。MG12の駆動力は、駆動輪に伝達される。なお、車両10の制動時等には、駆動輪によりMG12が駆動させられ、MG12が発電機として作動する。このようにして、MG12は、制動エネルギーを電力に変換する回生ブレーキとして作動する。MG12により発電された電力は、インバータ18に供給される。
第1バッテリ28および第2バッテリ32は、再充電可能な直流電源であり、たとえば、ニッケル水素電池やリチウムイオン電池等の二次電池や、大容量キャパシタ等である。また、第1バッテリ28と第2バッテリ32とはインバータ18に対して並列に接続される。なお、本実施の形態において、第1バッテリ28および第2バッテリ32を主電源として説明するが、特に2個の蓄電装置に限定されるものではない。たとえば、3個以上の蓄電装置が並列に接続された電池ユニットを主電源としてもよい。また、本実施の形態においては、第1バッテリ28および第2バッテリ32とは、同一の定格電圧および容量を有するとして説明するが、異なる容量であってもよい。
第1バッテリ28には、第1バッテリ28の電池温度TB_aを検出するための第1電池温度センサ156と、第1バッテリ28の電流IB_aを検出するための第1電流センサ158と、第1バッテリ28の電圧VB_aを検出するための第1電圧センサ160とが設けられる。
第1電池温度センサ156は、電池温度TB_aを示す信号をECU200に送信する。第1電流センサ158は、電流IB_aを示す信号をECU200に送信する。第1電圧センサ160は、電圧VB_aを示す信号をECU200に送信する。
第2バッテリ32には、第2バッテリ32の電池温度TB_bを検出するための第2電池温度センサ162と、第2バッテリ32の電流IB_bを検出するための第2電流センサ164と、第2バッテリ32の電圧VB_bを検出するための第2電圧センサ166とが設けられる。
第2電池温度センサ162は、電池温度TB_bを示す信号をECU200に送信する。第2電流センサ164は、電流IB_bを示す信号をECU200に送信する。第2電圧センサ166は、電圧VB_bを示す信号をECU200に送信する。
なお、ECU200は、受信した電池温度TB_a,TB_b、電圧VB_a,VB_bおよび電流IB_a,IB_bの少なくともいずれか一つの物理量についての実測値の所定期間の平均値を計測値として算出してもよいし、あるいは、少なくともいずれか一つの物理量の実測値の所定期間の最小値を計測値として算出してもよい。
ECU200は、予め記憶されたプログラムを図示しないCPU(Central Processing Unit)で実行することによるソフトウェア処理および/または専用の電子回路によるハードウェア処理により、インバータ18の動作を制御する。
インバータ18は、IPM(Intelligent Power Module)32と、コンデンサ36と、放電抵抗38と、相電流センサ60,62とを含む。
コンデンサ36は、電力線MPLとアース線MNLとの間に接続される。コンデンサ36は、電力線MPLおよびアース線MNLに含まれる電力変動成分を低減する。
IPM32は、互いに並列に電力線MPLおよびアース線MNLに接続される。IPM32は、第1バッテリ28および第2バッテリ32から供給される直流電力を交流電力に変換してMG12に出力する。
さらに、IPM32は、MG12において発電される交流電力を直流電力に変換して第1バッテリ28および第2バッテリ32に出力する。なお、IPM32は、たとえば、三相分のスイッチング素子を含むブリッジ回路から成る。
IPM32は、U相、V相、W相の上下アームを含む。各相の上下アームは電力線MPLとアース線MNLの間に互いに並列に接続される。各相の上下アームは、電力線MPLおよびアース線MNLの間に直列接続されたスイッチング素子を含む。
たとえば、U相の上下アームは、スイッチング素子Q1,Q2を含む。V相の上下アームは、スイッチング素子Q3,Q4を含む。W相の上下アームは、スイッチング素子Q5,Q6を含む。また、スイッチング素子Q1−Q6に対して、逆並列ダイオードD1−D6がそれぞれ接続されている。スイッチング素子Q1−Q6のオンオフは、ECU200からのインバータ駆動信号によって制御される。
スイッチング素子Q1−Q6として、たとえば、IGBT(Insulated Gate Bipolar Transistor)、電力用MOS(Metal Oxide Semiconductor)トランジスタあるいは、電力用バイポーラトランジスタ等の電力用半導体スイッチング素子が用いられる。
IPM32は、ECU200からのインバータ駆動信号に応じてスイッチング動作を行なうことによりMG12を駆動させる。
ECU200には、相電流センサ60,62が接続される。相電流センサ60,62は、MG12に流れる各相のモータ電流(相電流)を検出する。相電流センサ60,62は、検出した各相のモータ電流をECU200に出力する。なお、三相電流の瞬時値の和は零であるので、相電流センサ60,62は、MG12の2相分のモータ電流を検出する。ECU200は、検出された2相分のモータ電流から残り1相分のモータ電流を算出する。本実施の形態において、相電流センサ60は、MG12の三相のうちのW相の電流Iwを検出し、検出された電流Iwを示す信号をECU200に出力する。相電流センサ62は、MG12のV相の電流Ivを検出して、検出された電流Ivを示す信号をECU200に出力する。
ECU200には、レゾルバ50が接続される。レゾルバ50は、MG12の回転軸の回転角θを検出し、その検出した回転角θをECU200に出力する。ECU200は、回転角θに基づきMG12の回転速度および角速度ω(rad/s)を算出することができる。
なお、レゾルバ50については、回転角θをECU200にてモータ電圧や電流から直接演算する場合には配置を省略してもよい。
また、ECU200は、インバータ18からインバータ情報を受信する。インバータ情報は、たとえば、インバータ18の温度と、第1バッテリ28および第2バッテリ32側の電圧および電流と、MG12に供給される各相の電流とのうちの少なくともいずれか一つの情報を含む。インバータ18には、上述したインバータ情報を取得するための各種センサ(図示せず)が設けられる。
第1バッテリ28は、第1SMR26を介在してインバータ18に接続される。第1バッテリ28は、電力線MPLの一方端とアース線MNLの一方端とに接続される。第2電力線PLの他方端と第2アース線NLの他方端とは、インバータ18に接続される。
第1SMR26は、ECU200からの制御信号に基づいて、導通状態と遮断状態とのうちのいずれか一方の状態から他方の状態に切り替える。導通状態とは、第1バッテリ28とインバータ18とが電気的に接続された状態である。遮断状態とは、第1バッテリ28とインバータ18とが電気的に遮断された状態である。
第2バッテリ32は、第2SMR30を介在してインバータ18に接続される。第2バッテリ32は、電力線MPLの一方端とアース線MNLの一方端とに接続される。したがって、第1バッテリ28と第2バッテリ32とは、インバータ18に対して並列に接続される。ECU200は、たとえば、車両10のシステム起動時に第1SMR26および第2SMR30の各々の状態が遮断状態から導通状態に切り換わるように第1SMR26および第2SMR30を制御する。
ECU200は、車速センサ、アクセルポジションセンサおよびブレーキペダル踏力センサ(いずれも図示せず)等の各検出信号および走行状況などに基づいて車両要求パワーPmを算出する。
ECU200は、算出された車両要求パワーPmと、許容電力制限値とに基づいて指令パワーPcを決定する。ECU200は、決定された指令パワーPcに基づいてインバータ駆動信号を生成する。ECU200は、生成したインバータ駆動信号をインバータ18に送信する。
許容電力制限値は、上限値Woutfと下限値Winfとを含む。上限値Woutfと下限値Winfとによって許容電力範囲が規定される。ECU200は、算出された車両要求パワーPmに基づいて許容電力範囲内で指令パワーPcを決定する。
たとえば、ECU200は、算出された車両要求パワーPmが上限値Woutfを上回る場合は、上限値Woutfを指令パワーPcとして決定する。また、ECU200は、算出された車両要求パワーPmが下限値Winfを下回る場合は、下限値Winfを指令パワーPcとして決定する。さらに、ECU200は、算出された車両要求パワーPmが上限値Woutfと下限値Winfとの間の許容電力範囲内である場合には、車両要求パワーPmを指令パワーPcとして決定する。
ECU200は、第1バッテリ28において入出力が許容される第1許容電力範囲と、第2バッテリ32において入出力が許容される第1許容電力範囲とに基づいて第1バッテリ28および第2バッテリ32全体の許容電力範囲を決定する。
以上のような構成を有する車両10において、たとえば、ECU200が、第1バッテリ28の充電時に許容される入力電力(以下、Win_aと記載する)と、第2バッテリ32の充電時に許容される入力電力(以下、Win_bと記載する)との和によって、下限値Winfを決定し、第1バッテリ28の放電時に許容される出力電力(以下、Wout_aと記載する)と、第2バッテリ32の放電時に許容される出力電力(以下、Wout_b)との和によって上限値Woutfを決定する場合を想定する。なお、Wout_aおよびWout_bは、正の値であり、Win_aおよびWin_bは、負の値であるとする。
このようにすると、第1バッテリ28および第2バッテリ32とがいずれも同一の状態である場合には、第1バッテリ28および第2バッテリ32とは、各バッテリに対して同様の充放電が行なわれても、容量のばらつきは発生しにくい。
しかしながら、第1バッテリ28および第2バッテリ32のうちのいずれか一方のみが低温状態である場合、いずれか一方のみが劣化している場合、あるいは、いずれか一方のみに対して保護モードが選択されて他方よりも入出力電力(以下の説明においては、充放電電力と記載する場合もある)が制限される場合には、各バッテリに対して同様の充放電が行なわれると、一方のバッテリにおいて許容される入出力電力を超えて充放電が行なわれる場合がある。そのため、一方のバッテリの保護を十分に図れない場合がある。
一方、ECU200は、第1バッテリ28および第2バッテリ32のうちのいずれか小さい方の入出力電力に合わせて第1バッテリ28および第2バッテリ32全体の許容電力範囲を決定する場合を想定する。
この場合、ECU200は、Win_aおよびWin_bのうちのいずれか小さい方の2倍の値を下限値Winfとして決定し、Wout_aおよびWout_bのうちのいずれか小さい方の2倍の値を上限値Woutfとして決定することもできる。
しかしながら、この場合には、図2に示すように、たとえば、制限された第2バッテリ32において許容される出力電力Wout_bの値に制限されていない第1バッテリ28において許容される出力電力Wout_aの値を合わせることとなる。そのため、第1バッテリ28の充放電性能を十分に使いきれない場合がある。
そこで、本実施の形態においては、ECU200は、Wout_aとWout_bとを合算した値を上限値Woutfとして決定し、Win_aとWin_bとを合算した値を下限値Winfとして決定する。さらに、ECU200は、第1バッテリ28および第2バッテリ32のうちのいずれか一方の電力が制限値と一致する第1時点に、上限値Woutfおよび下限値Winfのうちの車両要求パワーPmに対応する境界値と車両要求パワーPmとが乖離している場合には、対応する境界値を第1時点における車両要求パワーPmに一致させる。
図3に、本実施の形態に係る車両10に搭載されたECU200の機能ブロック図を示す。ECU200は、第1電力判定部202と、第2電力判定部204と、乖離判定部206と、クリア処理部208と、Woutf決定部210と、Winf決定部212と、電力制御部214とを含む。
第1電力判定部202は、車両要求パワーPmがゼロよりも大きい場合あるいは第1バッテリ28の使用電力WB_aがゼロよりも大きい場合、第1バッテリ28の使用電力WB_aがWout_a以上であるか否かを判定する。
また、第1電力判定部202は、車両要求パワーPmがゼロよりも小さい場合あるいは第1バッテリ28の使用電力WB_aがゼロよりも小さい場合、第1バッテリ28の使用電力WB_aがWin_a以上であるか否かを判定する。
なお、第1電力判定部202は、たとえば、第1バッテリ28の使用電力WB_aがWout_a以上であると判定した場合に、第1上限判定フラグをオンするようにしてもよい。また、第1電力判定部202は、たとえば、第1バッテリ28の使用電力WB_aがWin_a以下であると判定した場合に、第1下限判定フラグをオンするようにしてもよい。
第1電力判定部202は、たとえば、第1バッテリ28の電圧VB_aと電流IB_aとに基づいて使用電力WB_aを算出する。さらに、第1電力判定部202は、第1バッテリ28の温度TB_aまたは第1バッテリ28の残容量(以下、SOC_aと記載する)に基づいてWout_aおよびWin_aの各々を算出する。
第1電力判定部202は、第1バッテリ28の現在のSOC_aがしきい値SOC_a(0)よりも低下した場合には、現在のSOC_aがしきい値SOC_a(0)よりも高い場合よりもWout_aおよびWin_aの大きさが低下するようにWout_aおよびWin_aをそれぞれ決定する。なお、しきい値SOC_a(0)は、Wout_aを決定する場合とWin_aを決定する場合とで異なる値としてもよい。
また、第1バッテリ28として用いられる二次電池は、低温時に内部抵抗が上昇する温度依存性を有する。また、高温時には、さらなる発熱によって温度が過上昇することを防止する必要がある。
このため、第1電力判定部202は、第1バッテリ28の電池温度TB_aがしきい値TB_a(0)よりも低下した場合には、電池温度TB_aがTB_a(0)よりも高い場合よりもWout_aおよびWin_aの大きさが低下するようにWout_aおよびWin_aをそれぞれ決定する。
また、第1電力判定部202は、第1バッテリ28の電池温度TB_aがしきい値TB_a(1)(>TB_a(0))よりも上昇した場合には電池温度TB_aがTB_a(1)よりも低い場合よりもWout_aおよびWin_aの大きさが低下するようにWout_aおよびWin_aをそれぞれ決定する。なお、しきい値TB_a(0)およびしきい値TB_a(1)の各々は、Wout_aを決定する場合とWin_aを決定する場合とで異なる値としてもよい。
第1電力判定部202は、電池温度TB_aおよび現在SOC_aに応じて、たとえば、マップ等を用いることによって、Win_aおよびWout_aを決定するようにしてもよい。
また、第1電力判定部202は、第1電流センサ158によって検出された電流IB_aと、第1電圧センサ160によって検出された電圧VB_aとに基づいて第1バッテリ28のSOC_aを算出する。なお、ECU200は、電流IBおよび電圧VBに加えて、第1バッテリ28の温度TBに基づいて第1バッテリ28のSOC_aを算出するようにしてもよい。
また、本実施の形態においては、第1電力判定部202は、OCV(Open Circuit Voltage)に基づいて第1バッテリ28のSOC_aを算出するとして説明するが、このような算出方法に限定されるものではなく、たとえば、充電電流と放電電流とに基づいて第1バッテリ28のSOC_aを算出するようにしてもよい。
第2電力判定部204は、車両要求パワーPmがゼロよりも大きい場合あるいは第2バッテリ32の使用電力WB_bがゼロよりも大きい場合、第2バッテリ32の使用電力WB_bがWout_b以上であるか否かを判定する。
第2電力判定部204は、車両要求パワーPmがゼロよりも小さい場合あるいは第2バッテリ32の使用電力WB_bがゼロよりも小さい場合、第2バッテリ32の使用電力WB_bがWin_b以下であるか否かを判定する。
なお、第2電力判定部204は、たとえば、第2バッテリ32の使用電力WB_bがWout_b以上であると判定した場合に、第2上限判定フラグをオンするようにしてもよい。また、第2電力判定部204は、たとえば、第2バッテリ32の使用電力WB_bがWin_b以下であると判定した場合に、第2下限判定フラグをオンするようにしてもよい。
また、使用電力WB_b、SOC_b、Wout_bおよびWin_bの算出方法は、上述の使用電力WB_a、SOC_a、Wout_aおよびWin_aの算出方法と同様であるため、その詳細な説明は繰返さない。
乖離判定部206は、第1バッテリ28の使用電力WB_aおよび第2バッテリ32の使用電力WB_bのうちのいずれか一方と制限値とが一致した時点において指令パワーPcと上限値Woutfとが乖離しているか否かを判定する。
具体的には、乖離判定部206は、第1電力判定部202によって、第1バッテリ28の使用電力WB_aがWout_a以上であると判定された場合に、指令パワーPcと上限値Woutfとの差の大きさが所定値以上であるか否かを判定する。あるいは、乖離判定部206は、第2電力判定部204によって、第2バッテリ32の使用電力WB_aがWout_b以上であると判定された場合に、指令パワーPcと上限値Woutfとの差の大きさが所定値以上であるか否かを判定する。
また、乖離判定部206は、第1バッテリ28の使用電力WB_aおよび第2バッテリ32の使用電力WB_bのうちのいずれか一方と制限値とが一致した時点において指令パワーPcと下限値Winfとが乖離しているか否かを判定する。
具体的には、乖離判定部206は、第1電力判定部202によって、第1バッテリ28の使用電力WB_aがWin_a以下であると判定された場合に、指令パワーPcと下限値Winfとの差の大きさが所定値以上であるか否かを判定する。あるいは、乖離判定部206は、第2電力判定部204によって、第2バッテリ32の使用電力WB_bがWin_b以下であると判定された場合に、指令パワーPcと下限値Winfとの差の大きさが所定値以上であるか否かを判定する。
乖離判定部206は、指令パワーPcと上限値Woutfまたは下限値Winfとの差の大きさが所定値以上である場合に指令パワーPcと上限値Woutfまたは下限値Winfとが乖離していると判定する。なお、所定値は、一定値であってもよいし、第1バッテリ28および第2バッテリ32のうちの少なくともいずれか一方の状態に応じて決定される値であってもよい。
なお、使用電力WB_aおよびWB_bのうちのいずれか一方と制限値とが一致した時点において指令パワーPcと上限値Woutfまたは下限値Winfと乖離している場合、指令パワーPcは、車両要求パワーPmと一致する。
なお、乖離判定部206は、たとえば、第1上限判定フラグまたは第2上限判定フラグがオンされている場合、指令パワーPcと上限値Woutfとが乖離しているか否かを判定し、指令パワーPcと上限値Woutfとが乖離している場合に、上限乖離判定フラグをオンするようにしてもよい。
あるいは、乖離判定部206は、たとえば、第1下限判定フラグまたは第2下限判定フラグがオンされている場合、指令パワーPcと下限値Winfとが乖離しているか否かを判定し、指令パワーPcと下限値Winfとが乖離している場合に、下限乖離判定フラグをオンするようにしてもよい。
クリア処理部208は、乖離判定部206において指令パワーPcと上限値Woutfとが乖離していると判定された場合、Winf側補正量をクリアして、Winf側補正量をゼロとする。また、クリア処理部208は、乖離判定部206において指令パワーPcと下限値Winfとが乖離していると判定された場合、Woutf側補正量をクリアして、Woutf側補正量をゼロとする。
なお、クリア処理部208は、たとえば、上限乖離判定フラグがオン状態である場合にWinf側補正量をクリアし、下限乖離判定フラグがオン状態である場合にWoutf側補正量をクリアするようにしてもよい。
Woutf決定部210は、FF項とFB項との和を算出して上限値Woutfを決定する。Woutf決定部210は、上述のWout_aとWout_bとの和を算出して、上限値Woutfを決定するためのFF項を算出する。
Woutf決定部210は、第1バッテリ28の使用電力WB_aと第2バッテリ32の使用電力WB_bとの和WB_a+WB_bと上限値Woutfとの偏差に基づいてWoutf側補正量を算出する。なお、Woutf側補正量は、ゼロ以下の値となる。そのため、Woutf決定部210は、算出されたWoutf側補正量がゼロよりも大きい値になる場合は、Woutf側補正量をゼロとする。Woutf決定部210は、Woutf側補正量と後述するWinf側補正量との和をFB項として算出する。
Woutf決定部210は、比例項と積分項との和からWoutf側補正量を算出する。Woutf決定部210は、WB_a+WB_bと上限値Woutfとの偏差に比例ゲインを乗じた値を比例項として算出する。さらに、Woutf決定部210は、WB_a+WB_bと上限値Woutfとの偏差を時間積分した値に積分ゲインを乗じた値を積分項として算出する。
Woutf決定部210は、WB_a+WB_bが前回の計算サイクルにおいて決定された上限値Woutfよりも高くなる場合には、WB_a+WB_bと上限値Woutfとの偏差に応じたWoutf側補正量の大きさだけWoutよりも低い値を今回の計算サイクルにおける上限値Woutfとして決定する。偏差の大きさが大きくなるほどWoutf側補正量の大きさは大きくなる。Woutf側補正量の大きさが大きくなるほどFB項の大きさは大きくなる。
本実施の形態においてWoutf側補正量は、比例項と積分項とから算出されるとして説明したが、比例項と積分項とに加えて、微分項とから算出されるようにしてもよい。Woutf決定部210は、WB_a+WB_bと上限値Woutfとの偏差を時間微分した値に微分ゲインを乗じた値を微分項として算出するようにしてもよい。なお、Woutf側補正量の正負の符号は、WB_a+WB_bと上限値Woutfとの偏差あるいは各種ゲインの符号によって調整すればよい。
本実施の形態においては、さらに、Woutf決定部210は、乖離判定部206において、指令パワーPcと上限値Woutfとが乖離していると判定された場合にWoutf上乗せ処理を実行して、上限値Woutfを決定する。
Woutf決定部210は、第1電力判定部においてWB_aがWout_aよりも小さいと判定された場合、第2電力判定部においてWB_bがWout_bよりも小さいと判定された場合、あるいは、乖離判定部206において指令パワーPcと上限値Woutfとが乖離していないと判定された場合には、上述のFF項とFB項との和から上限値Woutfを決定するための通常Woutf決定処理を実行して、上限値Woutfを決定する。
Woutf決定部210は、第1バッテリ28の使用電力WB_aおよび第2バッテリ32の使用電力WB_bのうちのいずれか一方が対応する上限値(Wout_aまたはWout_b)と一致する時点における指令パワーPc(0)に上限値Woutfを一致させる処理をWoutf上乗せ処理として実行する。
Woutf決定部210は、上述のWoutf側補正量を算出する際の積分項にWout−Pc(0)の大きさだけ上乗せする。すなわち、上述の積分項にWout−Pc(0)の大きさだけ上乗せすることによって、FB項の大きさがWout−Pc(0)の大きさだけ増加することとなる。
なお、本実施の形態において、Woutf決定部210は、Woutf上乗せ処理の実行時において、上述のWoutf側補正量を算出する際の比例項にWout−Pc(0)の大きさだけ上乗せしてもよい。あるいは、Woutf決定部210は、上述の積分項と比例項との和にWout−Pc(0)の大きさだけ上乗せしてもよい。
Woutf決定部210は、たとえば、上限乖離判定フラグがオン状態である場合に、オン状態となった時点にWoutf上乗せ処理を実行して、上限値Woutfを決定するようにしてもよい。
あるいは、Woutf決定部210は、たとえば、第1上限判定フラグおよび第2上限判定フラグがいずれもオフ状態である場合、あるいは、第1上限判定フラグまたは第2上限判定フラグがオン状態であっても上限乖離判定フラグがオフ状態である場合、通常Woutf決定処理を実行して、上限値Woutfを決定するようにしてもよい。
Winf決定部212は、FF項とFB項との和を算出して下限値Winfを決定する。Winf決定部212は、上述のWin_aとWin_bとの和を算出して、下限値Winfを決定するためのFF項を算出する。
Winf決定部212は、第1バッテリ28の使用電力WB_aと第2バッテリ32の使用電力WB_bとの和WB_a+WB_bと下限値Winfとの偏差に基づいてWinf側補正量を算出する。なお、Winf側補正量は、ゼロ以上の値となる。そのため、Winf決定部212は、算出されたWinf側補正量がゼロよりも小さい値になる場合は、Winf側補正量をゼロとする。Winf決定部210は、Winf側補正量と上述のWoutf側補正量との和をFB項として算出する。
Winf決定部212は、比例項と積分項との和からWinf側補正量を算出する。Winf決定部212は、WB_a+WB_bと下限値Winfとの偏差に比例ゲインを乗じた値を比例項として算出する。さらに、Winf決定部212は、WB_a+WB_bと下限値Winfとの偏差を時間積分した値に積分ゲインを乗じた値を積分項として算出する。
Winf決定部212は、WB_a+WB_bが前回の計算サイクルにおいて決定された下限値Winfよりも低くなる場合には、WB_a+WB_bと下限値Winfとの偏差に応じたWinf側補正量の大きさだけWinよりも高い値を今回の計算サイクルにおける下限値Winfとして決定する。偏差の大きさが大きくなるほどWinf側補正量の大きさは大きくなる。Winf側補正量の大きさが大きくなるほどFB項の大きさは大きくなる。
本実施の形態においてWinf側補正量は、比例項と積分項とから算出されるとして説明したが、比例項と積分項とに加えて、微分項とから算出されるようにしてもよい。Winf決定部212は、WB_a+WB_bと下限値Winfとの偏差を時間微分した値に微分ゲインを乗じた値を微分項として算出するようにしてもよい。なお、Winf側補正量の正負の符号は、WB_a+WB_bと下限値Winfとの偏差あるいは各種ゲインの符号によって調整すればよい。
本実施の形態においては、さらに、Winf決定部212は、乖離判定部206において、指令パワーPcと下限値Winfとが乖離していると判定された場合にWinf上乗せ処理を実行して、下限値Winfを決定する。
Winf決定部212は、第1電力判定部においてWB_aがWin_aよりも大きいと判定された場合、第2電力判定部においてWB_bがWin_bよりも大きいと判定された場合、あるいは、乖離判定部206において指令パワーPcと下限値Winfとが乖離していないと判定された場合には、上述のFF項とFB項との和から下限値Winfを決定するための通常Winf決定処理を実行して、下限値Winfを決定する。
Winf決定部212は、第1バッテリ28の使用電力WB_aおよび第2バッテリ32の使用電力WB_bのうちのいずれか一方が対応する下限値(Win_aまたはWout_b)と一致する時点における指令パワーPc(1)に下限値Winfを一致させる処理をWinf上乗せ処理として実行する。
Winf決定部212は、上述のWinf側補正量を算出する際の積分項にPc(1)−Winの大きさだけ上乗せする。すなわち、上述の積分項にPc(1)−Winの大きさだけ上乗せすることによって、FB項の大きさがPc(1)−Winの大きさだけ増加することとなる。
なお、本実施の形態において、Winf決定部212は、Winf上乗せ処理の実行時において、上述のWinf側補正量を算出する際の比例項にPc(1)−Winの大きさだけ上乗せしてもよい。あるいは、Winf決定部212は、上述の積分項と比例項との和にPc(1)−Winの大きさだけ上乗せしてもよい。
Winf決定部212は、たとえば、下限乖離判定フラグがオン状態である場合に、オン状態となった時点にWinf上乗せ処理を実行して、下限値Winfを決定するようにしてもよい。
あるいは、Winf決定部212は、たとえば、第1下限判定フラグおよび第2下限判定フラグがいずれもオフ状態である場合、あるいは、第1下限判定フラグまたは第2下限判定フラグがオン状態であっても下限乖離判定フラグがオフ状態である場合、通常Winf決定処理を実行して、下限値Winfを決定するようにしてもよい。
電力制御部214は、上限値Woutf、下限値Winfおよび指令パワーPcに従ってMG12を制御する。電力制御部214は、インバータ駆動信号および昇圧コンバータ駆動信号を生成して、生成した駆動信号をPCU16に送信する。
本実施の形態において、第1電力判定部202と、第2電力判定部204と、乖離判定部206と、クリア処理部208と、Woutf決定部210と、Winf決定部212と、電力制御部214とは、いずれもECU200のCPUがメモリに記憶されたプログラムを実行することにより実現される、ソフトウェアとして機能するものとして説明するが、ハードウェアにより実現されるようにしてもよい。なお、このようなプログラムは記憶媒体に記録されて車両に搭載される。
図4を参照して、本実施の形態に係る車両に搭載されたECU200で実行される、第1バッテリ28の使用電力WB_aに応じて上限値Woutfを決定するプログラムの制御構造について説明する。ECU200は、図4で示されるフローチャートに基づくプログラムを所定の計算サイクル毎に実行する。
ステップ(以下、ステップをSと記載する)100にて、ECU200は、第1バッテリ28の使用電力WB_aがWout_a以上であるか否かを判定する。第1バッテリ28の使用電力WB_aがWout_a以上である場合(S100にてYES)、処理はS102に移される。もしそうでない場合(S100にてNO)、処理はS108に移される。
S102にて、ECU200は、指令パワーPcと上限値Woutfとが乖離しているか否かを判定する。指令パワーPcと上限値Woutfとが乖離している場合(S102にてYES)、処理はS104に移される。もしそうでない場合(S102にてNO)、処理はS108に移される。
S104にて、ECU200は、Winf側補正量をクリアする。すなわち、ECU200は、Winf側補正量をゼロとする。
S106にて、ECU200は、Woutf上乗せ処理を実行して、上限値Woutfを決定する。S108にて、ECU200は、通常Woutf決定処理を実行して、上限値Woutfを決定する。なお、Woutf上乗せ処理および通常Woutf決定処理については、上述したとおりであるためその詳細な説明は繰返さない。
次に、図5を参照して、本実施の形態に係る車両に搭載されたECU200で実行される、第2バッテリ32の使用電力WB_bに応じて上限値Woutfを決定するプログラムの制御構造について説明する。ECU200は図5で示されるフローチャートに基づくプログラムを所定の計算サイクル毎に実行する。
なお、図5に示したフローチャートの中で、前述の図4に示したフローチャートと同じ処理については同じステップ番号を付してある。それらについての処理も同じである。したがって、それらについての詳細な説明はここでは繰返さない。
S150にて、ECU200は、第2バッテリ32の使用電力WB_bがWout_b以上であるか否かを判定する。第2バッテリ32の使用電力WB_bがWout_b以上である場合(S150にてYES)、処理はS102に移される。もしそうでない場合(S150にてNO)、処理はS108に移される。
なお、ECU200は、Woutf上乗せ処理を通常Woutf決定処理よりも優先して実行する。したがって、ECU200は、図4および図5のうちのいずれかの一方のフローチャートにしたがってWoutf上乗せ処理の実行が決定された場合には、他方のフローチャートにしたがって通常Woutf決定処理の実行が決定された場合でもWoutf上乗せ処理を実行する。
図6を参照して、本実施の形態に係る車両に搭載されたECU200で実行される、第1バッテリ28の使用電力WB_aに応じて下限値Winfを決定するプログラムの制御構造について説明する。ECU200は図6で示されるフローチャートに基づくプログラムを所定の計算サイクル毎に実行する。
S200にて、ECU200は、第1バッテリ28の使用電力WB_aがWin_a以下であるか否かを判定する。第1バッテリ28の使用電力WB_aがWin_a以下である場合(S200にてYES)、処理はS202に移される。もしそうでない場合(S200にてNO)、処理はS208に移される。
S202にて、ECU200は、指令パワーPcと下限値Winfとが乖離しているか否かを判定する。指令パワーPcと下限値Winfとが乖離している場合(S202にてYES)、処理はS204に移される。もしそうでない場合(S202にてNO)、処理はS208に移される。
S204にて、ECU200は、Woutf側補正量をクリアする。すなわち、ECU200は、Woutf側補正量をゼロとする。
S206にて、ECU200は、Winf上乗せ処理を実行して、下限値Winfを決定する。S208にて、ECU200は、通常Winf決定処理を実行して、下限値Winfを決定する。なお、Winf上乗せ処理および通常Winf決定処理については、上述したとおりであるためその詳細な説明は繰返さない。
次に、図7を参照して、本実施の形態に係る車両に搭載されたECU200で実行される、第2バッテリ32の使用電力WB_bに応じて下限値Winfを決定するプログラムの制御構造について説明する。ECU200は、図7で示されるフローチャートに基づくプログラムを所定の計算サイクル毎に実行する。
なお、図7に示したフローチャートの中で、前述の図6に示したフローチャートと同じ処理については同じステップ番号を付してある。それらについての処理も同じである。したがって、それらについての詳細な説明はここでは繰返さない。
S250にて、ECU200は、第2バッテリ32の使用電力WB_bがWin_b以下であるか否かを判定する。第2バッテリ32の使用電力WB_bがWin_b以下である場合(S250にてYES)、処理はS202に移される。もしそうでない場合(S250にてNO)、処理はS208に移される。
なお、ECU200は、Winf上乗せ処理を通常Winf決定処理よりも優先して実行する。したがって、ECU200は、図6および図7のうちのいずれかの一方のフローチャートにしたがってWinf上乗せ処理の実行が決定された場合には、他方のフローチャートにしたがって通常Winf決定処理の実行が決定された場合でもWinf上乗せ処理を実行する。
以上のような構造およびフローチャートに基づく本実施の形態に係る車両に搭載されたECU200の動作について図8−図13を参照して説明する。
<第1バッテリ28の使用電力WB_aがWout_a以上になる場合>
たとえば、車両10が停止状態である場合を想定する。このとき、アクセルペダルの踏み込み量が0%である場合、MG12に電力が供給されていない。そのため、図8に示すように、総合使用電力WB(すなわち、WB_a+WB_b)、第1バッテリ28の使用電力WB_a、第2バッテリ32の使用電力WB_b、指令パワーPcおよびFB項(補正量)は、実質的にゼロとなる。その結果、上限値Woutfは、Wout(=Wout_a+Wout_b)と同一の値になる。また、たとえば、第1バッテリ28のみが低温状態である等の要因により、第1バッテリ28のWout_aが第2バッテリ32のWout_bよりも低い場合を想定する。
時間T(0)にて、運転者がアクセルペダルの踏み込みを開始した場合に、MG12に電力が供給されて、車両10が走行を開始する。その後、運転者は、アクセルペダルの踏み込み量が100%になるまでアクセルペダルの踏み込み量を増加させる。そのため、第1バッテリ28の使用電力WB_aは、Wout_aに向けて増加していく。
時間T(1)にて、第1バッテリ28の使用電力WB_aがWout_aと一致することによってWout_a以上となる場合(S100にてYES)、一致した時点における指令パワーPc(0)と前回の計算サイクルで算出された上限値Woutfとは、乖離している(S102にてYES)。そのため、Winf側補正量がクリアされるとともに(S104)、Woutf上乗せ処理が実行される(S106)。
このとき、Woutf側補正量の積分項には、Wout−Pc(0)の大きさだけ上乗せされる。なお、第1バッテリ28の使用電力WB_aがWout_aと一致する場合、Woutf側補正量およびWinf側補正量はいずれもゼロである。したがって、Woutf側補正量は、Pc(0)−Woutとなる。そのため、上限値Woutfは、FF項(Wout)とFB項との和によってPc(0)となる。すなわち、時間T(1)において、上限値Woutfは、Pc(0)に一致させられる。
そのため、ECU200は、時間T(1)以降においては、車両要求パワーPmがPc(0)よりも大きい場合であっても、上限値Woutf、すなわち、Pc(0)を指令パワーPcとして決定する。
その結果、指令パワーPcの増加が抑制されるため、第1バッテリ28の使用電力WB_aおよび第2バッテリ32の使用電力WB_bの各々の増加が抑制される。また、第1バッテリ28の使用電力WB_aとWout_aとが一致する状態が継続した場合(S100にてYES)、指令パワーPcと上限値Woutfとは乖離しない(S102にてNO)。そのため、通常Woutf決定処理によって上限値Woutfが決定される(S108)。このとき、WB_a+WB_bと上限値Woutfとの偏差がゼロであるため、前回の計算サイクルにおけるFB項の値が維持される。そのため、上限値Woutfは、Pc(0)と同一の値となる。
<第2バッテリ32の使用電力WB_bがWout_b以上になる場合>
たとえば、車両10が停止状態である場合を想定する。このとき、アクセルペダルの踏み込み量が0%である場合、MG12に電力が供給されていない。そのため、図9に示すように、総合使用電力WB、第1バッテリ28の使用電力WB_a、第2バッテリ32の使用電力WB_b、指令パワーPcおよびFB項(補正量)は、実質的にゼロとなる。その結果、上限値Woutfは、Wout(=Wout_a+Wout_b)と同一の値になる。また、たとえば、第2バッテリ32のみが低温状態である等の要因により、第2バッテリ32のWout_bが第1バッテリ28のWout_aよりも低い場合を想定する。
時間T(0)にて、運転者がアクセルペダルの踏み込みを開始した場合に、MG12に電力が供給されて、車両10が走行を開始する。その後、運転者は、アクセルペダルの踏み込み量が100%になるまでアクセルペダルの踏み込み量を増加させる。そのため、第2バッテリ32の使用電力WB_bは、Wout_bに向けて増加していく。
時間T(1)にて、第2バッテリ32の使用電力WB_bがWout_bと一致することによってWout_b以上となる場合(S150にてYES)、一致した時点における指令パワーPc(0)と前回の計算サイクルにおいて算出された上限値Woutfとは、乖離している(S102にてYES)。そのため、Winf側補正量がクリアされるとともに(S104)、Woutf上乗せ処理が実行される(S106)。そのため、時間T(1)において、上限値Woutfは、Pc(0)に一致させられる。
ECU200は、時間T(1)以降においては、車両要求パワーPmがPc(0)よりも大きい場合であっても、上限値Woutf、すなわち、Pc(0)を指令パワーPcとして決定する。
その結果、指令パワーPcの増加が抑制されるため、第1バッテリ28の使用電力WB_aおよび第2バッテリ32の使用電力WB_bの各々増加が抑制される。また、第2バッテリ32の使用電力WB_bとWout_bとが一致する状態が継続した場合(S150にてYES)、指令パワーPcと上限値Woutfとは乖離しないため(S102にてNO)、通常Woutf決定処理によって上限値Woutfが決定される(S108)。このとき、WB_a+WB_bと上限値Woutfとの偏差がゼロであるため、前回の計算サイクルにおけるFB項の値が維持される。そのため、上限値Woutfは、Pc(0)と同一の値となる。
<第1バッテリ28の使用電力WB_aがWin_a以下になる場合>
図10に示すように、アクセルペダルの踏み込み量が100%である状態が維持されている場合を想定する。このとき、第1バッテリ28および第2バッテリ32は、MG12に電力を供給する放電状態である。
時間T(0)にて、運転者がアクセルペダルの踏み込みを解除することによってアクセルペダルの踏み込み量が0%になる場合、MG12を用いた回生制動が行なわれる。そのため、時間T(0)以降において、第1バッテリ28の使用電力WB_aは、Win_aに向けて低下していく。
時間T(1)にて、第1バッテリ28の使用電力WB_aがWin_aと一致することによってWin_a以下となる場合(S200にてYES)、一致した時点における指令パワーPc(1)と下限値Winfとは、乖離している(S202にてYES)。そのため、Woutf側補正量がクリアされるとともに(S204)、Winf上乗せ処理が実行される(S206)。
このとき、Winf側補正量の積分項には、Pc(1)−Winの大きさだけ上乗せされる。なお、第1バッテリ28の使用電力WB_aがWin_aと一致する場合、Woutf側補正量およびWinf側補正量はいずれもゼロである。したがって、Winf側補正量は、Pc(1)−Winとなる。そのため、下限値Winfは、FF項(Win)とFB項との和によってPc(1)となる。すなわち、時間T(1)において、下限値Winfは、Pc(1)に一致させられる。
そのため、ECU200は、時間T(1)以降においては車両要求パワーPmがPc(1)よりも小さい場合であっても、下限値Winf、すなわち、Pc(1)を指令パワーPcとして決定する。
その結果、指令パワーPcの減少が抑制されるため、第1バッテリ28の使用電力WB_aおよび第2バッテリ32の使用電力WB_bの各々の減少が抑制される。また、第1バッテリ28の使用電力WB_aとWin_aとが一致する状態が継続した場合(S200にてYES)、指令パワーPcと下限値Winfとは乖離しない(S202にてNO)。そのため、通常Winf決定処理によって下限値Winfが決定される(S208)。このとき、WB_a+WB_bと下限値Winfとの偏差がゼロであるため、前回の計算サイクルにおけるFB項の値が維持される。そのため、下限値Winfは、Pc(1)と同一の値となる。
<第2バッテリ32の使用電力WB_bがWin_b以下になる場合>
図11に示すように、アクセルペダルの踏み込み量が100%である状態が維持されている場合を想定する。このとき、第1バッテリ28および第2バッテリ32は、MG12に電力を供給する放電状態である。
時間T(0)にて、運転者がアクセルペダルの踏み込みを解除することによってアクセルペダルの踏み込み量が0%になる場合、MG12を用いた回生制動が行なわれる。そのため、時間T(0)以降において、第2バッテリ32の使用電力WB_bは、Win_bに向けて低下していく。
時間T(1)にて、第2バッテリ32の使用電力WB_bがWin_bと一致することによってWin_b以下となる場合(S250にてYES)、一致した時点における指令パワーPc(1)と下限値Winfとは、乖離している(S252にてYES)。そのため、Woutf側補正量がクリアされるとともに(S204)、Winf上乗せ処理が実行される(S206)。そのため、時間T(1)において、下限値Winfは、Pc(1)に一致させられる。
ECU200は、時間T(1)以降においては車両要求パワーPmがPc(1)よりも小さい場合であっても、下限値Winf、すなわち、Pc(1)を指令パワーPcとして決定する。
その結果、指令パワーPcの減少が抑制されるため、第1バッテリ28の使用電力WB_aおよび第2バッテリ32の使用電力WB_bの各々の減少が抑制される。また、第2バッテリ32の使用電力WB_bとWin_bとが一致する状態が継続した場合(S250にてYES)、指令パワーPcと下限値Winfとは乖離しない(S202にてNO)。そのため、通常Winf決定処理によって下限値Winfが決定される(S208)。このとき、WB_a+WB_bと下限値Winfとの偏差がゼロであるため、前回の計算サイクルにおけるFB項の値が維持される。そのため、下限値Winfは、Pc(1)と同一の値となる。
<使用電力WB_bがWout_bからWin_bに変動する場合>
たとえば、車両10が停止状態である場合を想定する。このとき、アクセルペダルの踏み込み量が0%である場合、MG12に電力が供給されていない。そのため、図12に示すように、総合使用電力WB、第1バッテリ28の使用電力WB_a、第2バッテリ32の使用電力WB_b、指令パワーPcおよびFB項は実質的にゼロになる。その結果、上限値Woutfは、Wout(=Wout_a+Wout_b)と同一の値になる。このとき、たとえば、第2バッテリ32のWout_bが第1バッテリ28のWout_aよりも低く、かつ、第1バッテリ28のWin_aが第2バッテリ32のWin_bよりも高い場合を想定する。
時間T(0)にて、運転者がアクセルペダルの踏み込みを開始した場合に、MG12に電力が供給されて、車両10が走行を開始する。その後、運転者は、アクセルペダルの踏み込み量が100%になるまでアクセルペダルの踏み込み量を増加させる。そのため、第2バッテリ32の使用電力WB_bは、Wout_bに向けて増加していく。
第2バッテリ32の使用電力WB_bがWout_bと一致することによってWout_b以上となる場合(S150にてYES)、一致した時点における指令パワーPc(0)と前回の計算サイクルにおいて算出された上限値Woutfとは、乖離している(S102にてYES)。そのため、Winf側補正量がクリアされるとともに(S104)、Woutf上乗せ処理が実行される(S106)。そのため、時間T(1)において、上限値Woutfは、Pc(0)に一致させられる。
時間T(1)にて、運転者がアクセルペダルの踏み込みを解除することによってアクセルペダルの踏み込み量が0%になる場合、MG12を用いた回生制動が行なわれる。そのため、時間T(1)以降において、第1バッテリ28の使用電力WB_aは、Win_aに向けて減少していく。
時間T(2)にて、第1バッテリ28の使用電力WB_aがWin_aと一致することによってWin_a以下となる場合(S200にてYES)、一致した時点における指令パワーPc(1)と下限値Winfは、乖離している(S202にてYES)。そのため、Woutf側補正量がクリアされるとともに(S204)、Winf上乗せ処理が実行される(S206)。そのため、時間T(2)において、下限値Winfは、Pc(1)に一致されられる。Woutf側補正量はクリアされることによって、上限値Woutfの上乗せ分は解消される。以下、アクセルペダルの踏み込み量が0%の状態と100%の状態とを繰返すことによって、時間T(0)から時間T(1)のECU200の動作と同様の動作が行なわれる。
以上のようにして、本実施の形態に係る車両によると、第1バッテリ28のWB_aまたは第2バッテリ32のWB_bが制限値と一致する時点において、Woutf上乗せ処理またはWinf上乗せ処理が実行される。これによって、第1バッテリ28または第2バッテリ32のうちのいずれか一方の使用電力が制限値と一致するまでは、第1バッテリ28のWin_aと第2バッテリ32のWin_bとを合算した値から第1バッテリ28のWout_aから第2バッテリWout_bを合算した値までの電力範囲で充放電が許容される。そのため、いずれか低い方の2倍までの電力範囲で充放電が許容される場合と比較して、第1バッテリ28および第2バッテリ32の電力を使いきることができる。
そのため、たとえば、第2バッテリ32が低温状態である場合には、第2バッテリ32の内部抵抗が高くなるため、第1バッテリ28から優先的に電力が持ち出されることとなる。そのため、たとえば、図13に示すように、各バッテリの使用電力WB_aおよびWB_bは、Wout_aおよびWout_bにそれぞれ近い状態となる。すなわち、第1バッテリ28および第2バッテリ32の充放電性能を十分に発揮させることができる。
一方、第1バッテリ28および第2バッテリ32のうちのいずれか一方の使用電力が制限値と一致した場合には、一致した時点以降においてWinf上乗せ処理あるいはWoutf上乗せ処理の実行によって、第1バッテリ28の使用電力WB_aおよび第2バッテリ32の使用電力WB_bの増加が抑制される。その結果、第1バッテリ28および第2バッテリ32のいずれも制限値を超えて使用されることが抑制される。その結果、第1バッテリ28および第2バッテリ32の保護を図ることができる。したがって、複数の蓄電装置の各々を保護しつつ、複数の蓄電装置の各々の充放電性能を十分に発揮するための車両および車両用制御方法を提供することができる。
また、Woutf上乗せ処理を実行する場合には、Winf側補正量をゼロとし、Winf上乗せ処理を実行する場合には、Woutf側補正量をゼロとすることによって、Winf側およびWoutf側の両方が補正されることを抑制できる。そのため、Woutf上乗せ処理を実行した場合に、応答性よく第1バッテリ28の使用電力WB_aおよび第2バッテリ32の使用電力WB_bの増加を抑制することができる。さらに、Winf上乗せ処理を実行した場合に、応答性よく第1バッテリ28の使用電力WB_aおよび第2バッテリ32の使用電力WB_bの減少を抑制することができる。
なお、本実施の形態においてインバータ18と第1バッテリ28または第2バッテリ32との間には、昇圧コンバータが設けられてもよい。また、本実施の形態において、車両10は、電気自動車であるとして説明したが、特にこれに限定されるものではなく、さらにエンジンを搭載したハイブリッド車両であってもよい。
さらに、本実施の形態においては、Woutf上乗せ処理またはWinf上乗せ処理の実行時においては、WB_a+WB_bと下限値Winfとの偏差に応じたWinf側補正量あるいはWB_a+WB_bと上限値Woutfとの偏差に応じたWoutf側補正量の積分項に上乗せするとして説明したが、たとえば、電流IBと制限値との偏差、あるいは、電圧VBと制限値との偏差に基づいて上限値Woutfあるいは下限値Winfを補正する場合には、それらの補正量を算出する際の積分項あるいは比例項に上乗せしてもよい。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。