(第1実施形態)
図1は、本発明の一実施形態に係る昇圧コンバータの制御方法が適用される昇圧コンバータ制御システム100を示すブロック図である。以下では、図1を参照して昇圧コンバータ制御システム100の構成について説明する。
昇圧コンバータ制御システム100は、バッテリ10と、負荷20と、昇圧コンバータ30と、電圧センサ2、8と、電流センサ6と、制御装置90とを備える。また、制御対象である昇圧コンバータ30は、主に、コンデンサ1、7と、リアクトル(インダクタンス)3と、スイッチング素子4a、4bとを含んで構成される。
バッテリ10は、昇圧コンバータ30に直流電力を供給する。バッテリ10は、例えば、充放電可能なリチウムイオン2次電池である。
負荷20は、昇圧コンバータ30から出力される直中電力を消費する。負荷20は、昇圧コンバータ制御システム100が車両に適用される場合は、例えばモータ等である。
昇圧コンバータ30は、入力された電圧(入力電圧Vin)を昇圧して、昇圧後の出力電圧Voutを出力する。
コンデンサ1は、スイッチング素子4a、4bがスイッチングすることに起因して入力電圧Vinに発生する脈流(電圧リップル)を吸収することにより入力電圧Vinを整流する。
電圧センサ2は、コンデンサ1に付設され、昇圧コンバータ30の入力電圧Vinすなわちコンデンサ1の電圧を検出して、検出した電圧値を制御装置90に送信する。
リアクトル3は、スイッチング素子4aがオン、4bがオフのときにバッテリ10からの電気エネルギーを蓄積し、蓄積した電気エネルギーをスイッチング素子4aがオフ、4bがオンのときに放電する。これにより、昇圧コンバータ30は、バッテリ10からの直流電圧(入力電圧Vin)を昇圧することができる。昇圧後の電圧値(出力電圧Voutの電圧値)は、スイッチング素子4aをオンする時間の割合(デューティ比)を変更することにより任意に調整することができる。また、リアクトル3は、スイッチング素子4a、4bがスイッチングすることに起因して発生する電流リップルを抑制する機能も有している。
スイッチング素子4a、4bは、例えばIGBTやMOS-FET等のパワー半導体素子で構成される。また、各スイッチング素子4a、4bには、ダイオード5a、5bがそれぞれ並列に接続される。
電流センサ6は、リアクトル3に流れる電流を検出して、検出した電流値を入力電流ILとして制御装置90に送信する。
コンデンサ7は、スイッチング素子4a、4bがスイッチングすることに起因して出力電圧Voutに発生する脈流(電圧リップル)を吸収することにより出力電圧Voutを整流する。
電圧センサ8は、昇圧コンバータ30の出力電圧、すなわちコンデンサ7の電圧を検出して、検出した電圧値を出力電圧Voutとして制御装置90に送信する。
制御装置90は、例えば、中央演算装置(CPU)、読み出し専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、および、入出力インタフェース(I/Oインタフェース)を備える1又は複数のコントローラにより構成される。制御装置90は、入力電圧Vinの検出値、出力電圧Voutの検出値、入力電流ILの検出値、及び、外部(例えば他のコントローラ)から入力される出力電圧指令値Vout_astrに基づいて、昇圧コンバータ30が備えるスイッチング素子4aのデューティ比を指示するゲート信号を生成し、昇圧コンバータ30へ出力する。なお、出力電圧指令値Vout_astrは、昇圧コンバータ制御システム100が例えば車両に適用される場合には、モータに所望のトルクを発生させるためのドライバのアクセル操作量に応じて公知の方法を用いて算出される。制御装置90の詳細については図2を参照して説明する。
図2は、制御装置90の構成を示すブロック図である。
制御装置90は、電圧制御部91と、電流指令値切替部92と、電流制御部93と、減算器94と、除算器95と、PWM生成部96と、から構成される。
電圧制御部91は、外部から入力される出力電圧指令値Vout_astrと、昇圧コンバータ30の出力電圧の検出値である出力電圧Voutとに基づいて、電流指令値IL_astr'を算出し、電流指令値切替部92に出力する。電圧制御部91は例えば図3で示す構成により実現される。
図3は、本実施形態の電圧制御部91の構成を示すブロック図である。電圧制御部91は、減算器911とPI補償器912とから構成される。減算器911は、出力電圧指令値Vout_astrから出力電圧Voutを減算して得た値をPI補償器912に出力する。
PI補償器912は、いわゆるPI制御を実行する演算器である。PI補償器912は、指令値(出力電圧指令値Vout_astr)に実電流(出力電圧Vout)を追従させるべく、出力電圧指令値Vout_astrと出力電圧Voutの偏差を補償する電圧フィードバック制御により電流指令値IL_astr'を算出する。
電流指令値切替部92は、電流指令値IL_astr'と、負荷電流を考慮して算出される電流指令値IL_astr'2のいずれか一方を入力電流指令値IL_astrとして出力する。電流指令値切替部92の動作、および電流指令値IL_astr'2の詳細については後述する。
電流制御部93は、入力電流指令値IL_astrと、リアクトル3を流れる電流の検出値である入力電流ILとに基づいて、目標リアクトル電圧VL_astrを算出し、除算器95に出力する。電流制御部93は例えば図4で示す構成により実現される。
図4は、本実施形態の電流制御部93の構成を示すブロック図である。電流制御部93は、減算器931とPI補償器932とから構成される。減算器931は、入力電流指令値IL_astrから入力電流ILを減算して得た値をPI補償器932に出力する。
PI補償器932は、PI制御を実行する制御器である。PI補償器932は、指令値(入力電流指令値IL_astr)に実電流(入力電流IL)を追従させるべく、入力電流指令値IL_astrと入力電流ILの偏差を補償する電流フィードバック制御により目標リアクトル電圧VL_astrを算出する。目標リアクトル電圧VL_astrの算出方法等については後述する。
減算器94は、昇圧コンバータ30の入力電圧の検出値である入力電圧Vinから目標リアクトル電圧VL_astrを減算して得た値を除算器95に出力する。
除算器95は、入力電圧Vinと目標リアクトル電圧VL_astrとの偏差を出力電圧Voutで除算することにより、昇圧コンバータ30が備えるスイッチング素子4aのデューティ比を指令するデューティ指令値Dを算出し、PWM生成部96に出力する。
PWM生成部96は、デューティ指令値Dをスイッチング素子4a、4bを駆動させるためのゲート信号に変換して、昇圧コンバータ30に出力する。
そして、昇圧コンバータ30は、ゲート信号に従ってスイッチング素子4a、4bを駆動することにより出力電圧指令値Vout_astrに応じた出力電圧Voutを負荷側に供給する。
続いて、制御装置90の動作の詳細を図5を参照して説明する。
図5は、第1実施形態の昇圧コンバータ30の制御方法によるゲート信号算出処理を示すフローチャートである。図5で示す開始から終了までにかかる一制御周期は、昇圧コンバータ制御システム100が起動している間一定の間隔で常時実行されるように上記コントローラ(制御装置90)にプログラムされている。
ステップS10では、制御装置90は、昇圧コンバータ30に付設された各センサの検出値(入力電圧Vin、出力電圧Vout、入力電流IL)、出力電圧指令値Vout_astr、および、記憶された一制御周期前のデューティ指令値Dをそれぞれ取得する。
ステップS20では、制御装置90は、現在のデューティ指令値Dが飽和しているか否かを判定するために、一制御周期前に算出されたデューティ指令値Dが所定値以上か否かを判定する。ここでの所定値は、スイッチング素子4a、4bのデッドタイム等を考慮して、デューティ指令値Dによって実際のデューティ比が飽和していることを判定可能な値が設定される。なお、デューティ比は0~1の範囲内の値であって、デッドタイム等を考慮せずに言えば、デューティ比=1の状態が飽和状態となる。
デューティ指令値Dが所定値以上の場合は、スイッチング素子4aのデューティ比が飽和していると判断して、ステップS30の処理に移行する。デューティ指令値Dが所定値未満の場合は、スイッチング素子4aのデューティ比は飽和していないと判断してステップS40の処理に移行する。
ここで、デューティ指令値Dが所定値以上の場合、すなわち、スイッチング素子4aのデューティ比(ONデューティ比)が飽和していると判断される場合は、負荷側から要求される電力(負荷電力)が急増したと判定することができる。
負荷電力が急増した場合、負荷20がコンデンサ7の電気エネルギーを消費するために出力電圧Voutが低下する。一方、昇圧コンバータ30の入力側では、負荷電力が増えるのに応じて入力電力も増大する。しかしながら、入力電圧Vinは一定であるため、負荷電力の増大に応じて必要となるコンデンサ7及び負荷20への電力を確保するために入力電流ILが上昇する。
負荷電力の急増(負荷変動)に伴うこれらの変動、すなわち、出力電圧Voutの低下および入力電流ILの上昇は、電圧制御部91による電圧フィードバック制御と電流制御部93による電流フィードバック制御とにより補償される。より詳細には、電圧制御部91は出力電圧Voutの低下を補償するように電流指令値IL_astr'を増加させる。このとき、電流制御部93は、負荷電力の増加に伴う出力電流の増加(変動)を補償するように出力電流を低下させるように作用する。
しかし、入力電流ILは負荷変動に対して瞬時に大きくなる一方で電流指令値IL_astr’は電圧制御部91による補償遅れがあるため、制御誤差が発生する。その結果、入力電流ILに対して電流指令値IL_astr’が一時的に小さくなり、デューティ指令値Dが上昇する。
従って、ステップS20においてデューティ指令値Dが所定値以上か否かを判定することにより、負荷電力が急増したか否かを判定することができる。なお、ここでの負荷電力(負荷電流)が「急増」するとは、電圧フィードバック制御の追従性(応答性)を悪化させる程度に負荷電流が増加することをいう。以下フローに戻って説明を続ける。
ステップS30は、デューティ指令値Dが所定値以上と判定された場合、すなわち、負荷電流が急増した場合に実行される処理である。ステップS30では、制御装置90(電流指令値切替部92)は、負荷電流を考慮した電流指令値IL_astr'2を入力電流指令値IL_astrに設定する。換言すると、電流指令値切替部92は、ステップS20においてデューティ指令値Dが飽和していると判定された場合は、入力電流指令値IL_astrの設定値を電流指令値IL_astr'から電流指令値IL_astr'2に切替える。電流指令値IL_astr'2が入力電流指令値IL_astrとして設定されると、ステップS70の処理が実行される。
電流指令値IL_astr'2としては、例えば、デューティ指令値Dが飽和している時における負荷電流(この場合の負荷電流を以下では外乱とも称する)に相当する入力電流ILが設定される。デューティ指令値Dが1で出力電圧Voutが入力電圧Vinと等しい場合は、スイッチング素子4aは常時オンであり、且つ、コンデンサ7から電流が流れないため、入力電流ILは負荷電流と等しくなる。よって、電流指令値IL_astr'2に、負荷電流に相当する電流(入力電流IL)を設定することにより、出力電圧Voutの応答性を向上させることができる。
また、電流指令値IL_astr'2として、入力電流ILより大きい値を設定してもよい。当該値は、例えば、昇圧コンバータ制御システム100及び負荷20に係るハード構成上流せる電流の最大値を考慮して決定してもよい。この場合、電流指令値IL_astr'2として入力電流ILを設定した場合よりも、負荷電流に対する入力電流指令値IL_astrがより大きくなるので、出力電圧Voutの応答性をより向上させることができる。
他方、ステップS40は、デューティ指令値Dが所定値未満と判定された場合、すなわち、負荷電流が急増していないと判断される場合に実行される処理である。ステップS40では、制御装置90は、入力電流指令値IL_astrの設定値が電流指令値IL_astr'2から電圧制御部91の出力値である電流指令値IL_astr'に切替られるか否か(復帰したか否か)を判定する。具体的には、一制御周期前のステップS20においてデューティ指令値Dが所定値以上と判定されていた場合(ステップS20がYES判定だった場合)には、本制御周期において入力電流指令値IL_astrの設定値が電流指令値IL_astr'2から電流指令値IL_astr'に復帰すると判定する。
入力電流指令値IL_astrの設定値が電流指令値IL_astr'に復帰すると判定されると、入力電流指令値IL_astrの設定値を電流指令値IL_astr'に切替えるためにステップS50の処理が実行される。一制御周期前のステップS20もNO判定だった場合は、入力電流指令値IL_astrの設定値を引き続き電流指令値IL_astr'とするためにステップS60の処理が実行される。
ステップS50では、制御装置90は、電圧制御部91のPI補償器912(図3参照)が備える積分器を初期化する。積分器の初期化は、入力電流指令値IL_astrの設定値を電流指令値IL_astr'に切替える際に、入力電流指令値IL_astrが急峻に変化しないようにするために行われる。例えば、本実施形態のように電流指令値IL_astr'が積分器を有するPI補償器912を用いたPI制御で算出される場合は、目標リアクトル電圧VL_astrが電流指令値IL_astr'2に基づいて算出された後、再び電流指令値IL_astr'に基づいて算出される場合に積分器を次式(1)で初期化する。これにより、一制御周期前の入力電流指令値IL_astr(入力電流指令値IL_astr_z)と、本制御周期において算出される入力電流指令値IL_astrを一致させることができる。
ただし、式(1)中のI0は、PI補償器912が有する積分器の初期化値、Kpは、PI補償器912で行われる比例制御の係数(比例ゲイン)、Kiは、PI補償器912で行われる積分制御の係数(積分ゲイン)、Voutは、出力電圧Vout、Vout_astrは出力電圧指令値である。
ステップS50において積分器の初期化処理を行うことにより、入力電流指令値IL_astrが電流指令値IL_astr'2から電流指令値IL_astr'に切り替わる時に、入力電流指令値IL_astrが急峻に変化することに起因して生じるハンチングを防止することができる。これにより、当該ハンチングを防止することができない場合に比べて出力電圧Voutの応答性を向上させることができる。初期化処理が実行されると、続くステップS60の処理が実行される。
ステップS60は、少なくともデューティ指令値Dが飽和していない場合に実行される処理である。ステップS60では、制御装置90(電流指令値切替部92)は、電圧制御部91から出力される電流指令値IL_astr'を入力電流指令値IL_astrに設定する。電流指令値IL_astr'が入力電流指令値IL_astrとして設定されると、ステップS70の処理が実行される。
ステップS70では、制御装置90は、入力電流指令値IL_astrに基づくゲート信号を算出する。より詳細には、まず、制御装置90(電流制御部93)が入力電流指令値IL_astrに基づいて目標リアクトル電圧VL_astrを算出する。目標リアクトル電圧VL_astrは、図1で示すリアクトル3に印加する電圧の指令値である。そして、制御装置90は、減算器94と除算器95とを用いて、目標リアクトル電圧VL_astrと、入力電圧Vinと、出力電圧Voutとからスイッチング素子4aのデューティ指令値Dを算出する。
ここで、昇圧コンバータ30の入力電圧Vinと出力電圧Voutの関係をデューティ指令値Dとリアクトル3の電圧(リアクトル電圧VL)とを用いて表すと、次式(2)の通りとなる。なお、デューティ指令値Dは、0~1の範囲で表される値とする。
上記式(2)において、リアクトル電圧VLを目標リアクトル電圧VL_astrに置き換えると、デューティ指令値Dは以下式(3)で表すことができる。
そして、制御装置90(PWM生成部96)は、上記式(3)により算出したデューティ指令値DをPWM信号に変換して、ゲート信号として昇圧コンバータ30に出力する。これにより、スイッチング素子4a、4bを入力電流指令値IL_astrに基づいて算出されたデューティ指令値Dに従って駆動させることができる。以上が、本実施形態の一制御周期にかかるゲート信号算出処理の詳細である。
ここで、本実施形態の昇圧コンバータ30の制御方法を適用することにより得られる効果を説明する前に、従来技術による昇圧コンバータ30の制御方法による制御結果について説明する。
図12は、従来技術による昇圧コンバータ制御システムの一例を示すブロック図である。図12では、図2で示した第1実施形態の昇圧コンバータ制御システム100と同様の構成には同じ指示番号を付し、説明を省略する。図示するように、従来技術による昇圧コンバータ制御システムは、電流指令値切替部92を有さない点、及び、負荷電力を考慮した電流指令値IL_astr'2を算出しない点が昇圧コンバータ制御システム100と相違する。すなわち、従来技術では、電圧制御部91の出力であるIL_astrが常に電流制御部93に入力される。
図6は、従来技術による昇圧コンバータ30の制御結果を示すタイムチャートである。横軸は時間を表し、縦軸は、上段から順に出力電圧(Vout)、入力電流(IL)およびデューティ指令値(D)を表している。
図6では、時間0.2において負荷電力を急増させたときの昇圧コンバータ制御システム(図12参照)の各値の時間波形が示されている。
時間0.2において負荷電力が急増した場合、負荷20がコンデンサ7の電気エネルギーを消費するため出力電圧Voutが低下する。一方、昇圧コンバータ30の入力側では、コンデンサ7および負荷20へ電気エネルギーを供給するために入力電流が上昇する。
出力電圧Voutの低下および入力電流ILの上昇は、電圧フィードバック制御(電圧制御部91)と電流フィードバック制御(電流制御部93)とにより補償される。しかし、入力電流ILは負荷変動に対して瞬時に大きくなる一方、電流指令値IL_astr’は電圧制御部91による補償遅れがあるため制御誤差が発生する。その結果、入力電流ILに対して電流指令値IL_astr’が一時的に小さくなるため、時刻0.2以降デューティ指令値が上昇する。
この状態においては、負荷20による電力消費及びデューティ比上昇による昇圧比の低下のために出力電圧Voutは低下する。一方で、ダイオード5a(スナバダイオード)の存在により出力電圧Voutは入力電圧Vinよりも原則小さくならない。そのため、特に入力電圧Vinと出力電圧Voutの差が小さい場合には、出力電圧Voutが入力電圧Vinと同じ値まで低下し、その値で定常となる(厳密にはリアクトル3の影響により多少の変動があるが、本説明においては無視する)。このとき、電圧制御部91に入力される電流指令値Vout_astrと出力電圧Voutのセンサ値との偏差(電圧偏差)は一定値でこれ以上大きくならない状態(飽和状態)となるので、電圧フィードバック制御による補償に遅れが発生する。その結果、出力電圧Voutの応答性が悪化してしまう。
また、上述のとおり、上記の制御誤差が発生している間はデューティ指令値が上昇していき上限値である1(上アーム(スイッチング素子4a)が常時オン)の状態で飽和してしまう(時刻0.2から0.22付近を参照)。この状態ではスイッチング素子4a、4bを制御できないので、これまでスイッチング制御によって抑えられていた出力電圧振動が発生してしまう。
その後、入力電流指令値IL_astrは電流制御部93により外乱が補償されるため、出力電圧Voutは徐々に増加する(時間0.22以降を参照)。そして、さらに間が経過して入力電流指令値IL_astrと入力電流ILとの入力電流偏差が小さくなると、デューティ比が低下していくとともに、出力電圧Voutが出力電圧指令値に向かって上昇していく。
以上のように、従来技術では、入力電圧Vinと出力電圧Voutとの差が小さい場合に負荷電力が急増した場合、換言すると、負荷電力が変動したことに起因して出力電圧Voutが入力電圧Vinと同等の値にまで低下するような場合には、電圧フィードバック制御による補償が遅れてしまう。これは、負荷電力が大きい状態にもかかわらず、その補償を適切に実行するために必要な電圧偏差が小さいことに起因する。その結果、電圧偏差が飽和することにより出力電圧Voutの応答性が悪化してしまい、デューティ比の飽和状態が継続する。
すなわち、従来技術には、昇圧コンバータ30の出力電圧Voutは入力電圧Vin以下にならないという特性に起因する電圧偏差の飽和により、入力電圧Vinと出力電圧Voutとの差が小さい場合に負荷電力が急増した場合には、電圧制御部91における電圧フィードバック制御による補償が遅れ、出力電圧Voutの応答性が悪化するという課題がある。
これに対して、本実施形態の昇圧コンバータ30の制御方法を適用することにより得られる効果について以下説明する。
図7、8は、第1実施形態の昇圧コンバータ制御システム100による昇圧コンバータ30の制御結果を示すタイムチャートである。横軸は時間を表し、縦軸は、上段から順に出力電圧(Vout)、入力電流(IL)およびデューティ指令値(D)を表している。
図7では、時間0.2において負荷電力を急増させたときの昇圧コンバータ制御システム(図12参照)の各値の時間波形が示されている。
本実施形態においても、時間0.2において負荷電力が急増した場合、負荷20がコンデンサ7の電気エネルギーを消費することにより出力電圧Voutが低下するとともに、コンデンサ7および負荷20に電気エネルギーを供給するために入力電流ILが上昇する。その結果、上述したとおり入力電流ILに対して電流指令値IL_astr’が小さくなるので、時刻0.2以降デューティ指令値Dが上昇する。
ここで、本実施形態の昇圧コンバータ制御システム100では、デューティ指令値Dが飽和したと判定された場合(例えば図中のt0参照)には、入力電流指令値IL_astrとして負荷電流を考慮した電流指令値IL_astr'2が設定される(図中の矢印参照)。ここでの電流指令値IL_astr'2は入力電流ILであるため、入力電流指令値IL_astrと入力電流ILとの偏差をなくすことができる。その結果、入力電流指令値IL_astrが入力電流ILに従来技術よりも早く収束し、外乱をより素早く補償できるので、出力電圧Voutの応答性を従来技術に比べて改善することができる。
図8は、デューティ指令値Dが飽和したと判定された場合に電流指令値IL_astr’として設定される電流指令値IL_astr'2を入力電流ILよりも大きい値にした場合の制御結果を示している。この場合、電流指令値IL_astr'2に入力電流ILよりも大きな値が設定されるので、入力電流指令値IL_astrがより大きくなる(図中の矢印参照)。その結果、入力電流指令値IL_astrの追従性を向上させ、入力電流ILにより早く収束させることができるので、図示するとおり、出力電圧Voutの応答性をさらに向上させることができる。
以上、第1実施形態の昇圧コンバータ30の制御方法によれば、入力電圧Vinを昇圧して負荷20側に出力する昇圧コンバータ30の制御方法において、昇圧コンバータ30への出力電圧指令値Vout_astrと検出した出力電圧Voutとの偏差に基づいて入力電流指令値(電流指令値IL_astr')を算出し、検出した昇圧コンバータ30の入力電流ILと入力電流指令値(電流指令値IL_astr')との偏差を補償する入力電流補償指令値(目標リアクトル電圧VL_astr)を算出し、入力電流補償指令値(目標リアクトル電圧VL_astr)と入力電圧Vinと出力電圧Voutとに基づいて昇圧コンバータ30へのデューティ指令値Dを算出し、デューティ指令値Dに応じた電圧を出力するように昇圧コンバータ30を制御する。負荷20側の要求電力(負荷電流)が急増したと判定した場合には、入力電流指令値(電流指令値IL_astr')よりも大きい負荷変動時電流指令値(電流指令値IL_astr'2)を設定し、入力電流補償指令値(目標リアクトル電圧VL_astr)を、入力電流指令値(電流指令値IL_astr')に代えて、負荷変動時電流指令値(電流指令値IL_astr'2)と検出した入力電流ILとの偏差に基づいて算出する。
これにより、電流指令値IL_astr'よりも大きく、負荷電流(外乱)を考慮した電流指令値IL_astr'2に基づいて電流フィードバック制御を実行することができるので、入力電流指令値IL_astrと入力電流ILとの偏差を小さくし、入力電流指令値IL_astrを入力電流ILに従来技術よりも早く収束させることが可能となる。その結果、出力電圧指令値Vout_astrに対する出力電圧Voutの応答性を従来よりも改善することができる。
また、第1実施形態の昇圧コンバータ30の制御方法によれば、デューティ指令値Dが所定値を超えた場合に負荷20側の要求電力が急増したと判定し、検出した入力電流ILを負荷変動時電流指令値(電流指令値IL_astr'2)に設定する。これにより、要求電力が急増したか否かを定量的に判定できるとともに、入力電流指令値IL_astrと入力電流ILとの偏差をなくし、入力電流指令値IL_astrを入力電流ILにより早く収束させることが可能となる。その結果、出力電圧指令値Vout_astrに対する出力電圧Voutの応答性をより改善することができる。
また、第1実施形態の昇圧コンバータ30の制御方法によれば、デューティ指令値Dが所定値を超えた場合に負荷20側の要求電力が急増したと判定し、検出した入力電流ILより大きい値を負荷変動時電流指令値(電流指令値IL_astr'2)に設定する。これにより、要求電力が急増したか否かを定量的に判定できるとともに、入力電流指令値IL_astrと入力電流ILとの偏差をなくし、入力電流指令値IL_astrを入力電流ILにより早く収束させることが可能となる。その結果、出力電圧指令値Vout_astrに対する出力電圧Voutの応答性をさらに改善することができる。
また、第1実施形態の昇圧コンバータ30の制御方法によれば、入力電流指令値IL_astrは、積分器を用いたPI制御によって算出され、入力電流補償指令値(目標リアクトル電圧VL_astr)が負荷変動時電流指令値(電流指令値IL_astr'2)に基づいて算出された後、再び入力電流指令値(電流指令値IL_astr')に基づいて算出される場合には、積分器を初期化する。これにより、入力電流指令値IL_astrが電流指令値IL_astr'2から電流指令値IL_astr'に切り替わる時に、入力電流指令値IL_astrが急峻に変化することに起因して生じるハンチングを防止することができる。
(第2実施形態)
以下では、第2実施形態の昇圧コンバータ30の制御方法について説明する。
図9は、第2実施形態の昇圧コンバータ30の制御方法が適用される昇圧コンバータ制御システム200を示すブロック図である。図9では、図2で示した昇圧コンバータ制御システム200と同様の構成には同じ指示番号を付し、説明を省略する。
昇圧コンバータ制御システム200は、昇圧コンバータ制御システム100の制御装置90が備えていた電流指令値切替部92を有していない一方で、電流制御部出力制限部97と負荷電流補償演算部98と加算器99とを更に有している点が第1実施形態と相違する。これら構成の詳細を中心に第2実施形態の昇圧コンバータ30の制御方法の詳細について以下説明する。
電流制御部出力制限部97は、電流制御部93の出力であるVL_astr'をデューティ指令値Dの飽和を考慮した所定の閾値(下限値Vmin)で制限し、下限値Vmin以下の値を目標リアクトル電圧VL_astrとして減算器94に出力するとともに、その飽和量Vsatを負荷電流補償演算部98に出力する。
ここでの下限値Vminは、デューティ指令値Dが1、すなわち、スイッチング素子4a(上アーム)が常時オンとなる場合のリアクトル電圧である。下限値Vminは次式(4)で表される。
飽和量Vsatは、目標リアクトル電圧VL_astrが下限値Vminを下回る量(飽和量)であって、次式(5)で表される。
負荷電流補償演算部98は、飽和量Vsatに基づいて、電圧制御部91での電圧フィードバック制御によって補償しきれていない分(補償不足分)の負荷電流(負荷電流補償値Isat)を推定する。負荷電流補償値Isatは次式(6)で算出される。
ただし、式(6)中のRはリアクトル3の抵抗成分である。算出された負荷電流補償値Isatは、加算器99に出力される。
加算器99は、電圧制御部91の出力である電流指令値IL_astr'に負荷電流補償値Isatを加算して得た値を入力電流指令値IL_astrとして電流制御部93に出力する。
なお、第1実施形態の昇圧コンバータ制御システム100が実行する処理であって、負荷電流が急増したか否かの判定結果に基づいて入力電流指令値IL_astrの設定値を電流指令値IL_astr'と電流指令値IL_astr'2とを切替える処理は、本実施形態における飽和量Vsatの存在と対応する。すなわち、本実施形態における入力電流指令値IL_astrの設定値は、飽和量Vsatが0のときは電流指令値IL_astr'となり、飽和量Vsatが0ではないときは電流指令値IL_astr'2となる。より具体的には、飽和量Vsatが0ではないとき(Vsat≠0)は負荷電流が急増したと判定された場合に対応し、飽和量Vsatが0のとき(Vsat=0)は負荷電流が急増していないと判定された場合に対応する。
次に、本実施形態の制御装置90の動作の詳細について説明する。
図10は、第2実施形態の昇圧コンバータ30の制御方法によるゲート信号算出処理を示すフローチャートである。図10で示す開始から終了までにかかる一制御周期は、昇圧コンバータ制御システム200が起動している間一定の間隔で常時実行されるように上記コントローラ(制御装置90)にプログラムされている。
ステップS100では、制御装置90は、現在の制御周期が昇圧コンバータ制御システム200の起動後1回目(開始タイミング)の制御周期か否かを判定する。本制御周期が起動後1回目と判定されると、負荷電流補償値Isatの初期化を行うためにステップS200の処理に移行する。本制御周期が起動後1回目ではないと判定されると続くステップS300の処理が実行される。
ステップS200では、制御装置90(負荷電流補償演算部98)は、負荷電流補償値Isatの初期化を行う。負荷電流補償値Isatは、本ステップにおいて0が代入されることにより、昇圧コンバータ制御システム200の起動時に1回だけ初期化される。負荷電流補償値Isatが初期化されると、続くステップS300の処理が実行される。
ステップS300では、制御装置90は、昇圧コンバータ30に付設された各センサの検出値(入力電圧Vin、出力電圧Vout、入力電流IL)、および、出力電圧指令値Vout_astrをそれぞれ取得する。
ステップS400では、制御装置90(電圧制御部91、電流制御部93、加算器99)は、目標リアクトル電圧VL_astr'を算出する。具体的には、まず、電圧制御部91が出力電圧指令値Vout_astrと出力電圧Voutとから電流指令値IL_astr'を算出する。次に、加算器99が、電流指令値IL_astr'と負荷電流補償値Isatを加算した値を入力電流指令値IL_astrとして出力する。そして、電流制御部93は、入力電流指令値IL_astrと入力電流ILとに基づいて、電流制御部出力制限部97により制限される前の目標リアクトル電圧VL_astr'を算出する。
ステップS500では、制御装置90(電流制御部出力制限部97)は、制限前の目標リアクトル電圧VL_astr'に対して、デューティ比を考慮した制限すなわち上述の下限値Vminを用いた制限を実施し、目標リアクトル電圧VL_astrを出力する。
なお、負荷電力が急増した場合、目標リアクトル電圧VL_astr'は、上述のとおり電圧制御部91による電圧フィードバック制御の補償の遅れにより低下し、ある時点で電流制御部出力制限部97の下限値Vminを下回る。下限値Vminは、上述のとおりデューティ比が1の状態に相当するように設定されるため(上記式(4)参照)、目標リアクトル電圧VL_astr'が電流制御部出力制限部97の下限値Vminを下回ることは、デューティ指令値Dが1を超える(飽和する)ことに相当する。この場合は、目標リアクトル電圧VL_astr'が電流制御部出力制限部97の下限値Vminによって制限されるので、下限値Vminに略一致する値が、目標リアクトル電圧VL_astrとして出力される。
続くステップS600では、制御装置90は、ステップS500において目標リアクトル電圧VL_astr'が電流制御部出力制限部97の下限値Vminを下回ったかどうか、すなわち、目標リアクトル電圧VL_astrが下限値Vminに対して飽和したか否かを判定する。目標リアクトル電圧VL_astrが飽和したと判定した場合、換言すると、目標リアクトル電圧VL_astrが下限値Vminに対して飽和した量(飽和量Vsat)が0より大きい場合には、負荷電流が急増したと判断して、ステップS700の処理が実行される。
ステップS700は、負荷電流が急増したと判定された場合に実行される処理である。ステップS700では、目標リアクトル電圧VL_astrが下限値Vminに対して飽和した量(飽和量Vsat)が演算され(上記式(5)参照)、負荷電流補償演算部98に入力される。負荷電流補償演算部98は、上記式(6)を用いて、飽和量Vsatから負荷電流補償値Isatを算出する。この負荷電流補償値Isatは、電圧制御部91においてデューティ指令値Dの飽和により補償できていない分の負荷電流である。よって、加算器99において負荷電流補償値Isatを電流指令値IL_astr'に加えた値を入力電流指令値IL_astrに設定することにより入力電流指令値IL_astrと負荷電流との偏差を適切に補償することができる。
一方、ステップS600において目標リアクトル電圧VL_astr'が下限値Vminに対して飽和していないと判定された場合は、ステップS800の処理(通常時処理)が実行される。
ステップS800では、負荷電流補償演算部98へ入力されるVsatを0とする。これにより、負荷電流補償値Isatも0となるため(上記式(6)参照)、電圧制御部91の出力である電流指令値IL_astr'が入力電流指令値IL_astrに設定される。
ステップS900では、制御装置90(除算器95、PWM生成部96)は、目標リアクトル電圧VL_astrに基づいて算出したデューティ指令値Dをゲート信号に変換して、昇圧コンバータ30に出力する。これにより、スイッチング素子4a、4bを入力電流指令値IL_astrに基づいて算出されたデューティ指令値Dに従って駆動させることができる。以上により、第2実施形態の一制御周期にかかるゲート信号算出処理は終了する。
続いて、第2実施形態の昇圧コンバータ30の制御方法を適用することにより得られる効果について説明する。
図11は、第2実施形態の昇圧コンバータ制御システム100による昇圧コンバータ30の制御結果を示すタイムチャートである。横軸は時間を表し、縦軸は、上段から順に出力電圧(Vout)、入力電流(IL)およびデューティ比(D)を表している。
図11では、時間0.2において負荷電力を急増させたときの昇圧コンバータ制御システム200(図9参照)の各値の時間波形が示されている。
本実施形態においても、時間0.2において負荷電力が急増した場合、負荷20がコンデンサ7の電気エネルギーを消費するために出力電圧Voutが低下するとともに、コンデンサ7および負荷20へ電気エネルギーを供給するために入力電流が上昇する。その結果、上述したとおり入力電流ILに対して電流指令値IL_astr’が小さくなるので、時刻0.2以降デューティ比が上昇する。
ここで、本実施形態の昇圧コンバータ制御システム200では、デューティ指令値Dが飽和するタイミング(図中のt0参照)において飽和量Vsatに基づいて算出される負荷電流補償値Isatが上昇するので、これに応じて入力電流指令値IL_astrが素早く上昇する(図中の矢印参照)。その結果、入力電流指令値IL_astrが入力電流ILに従来技術よりも早く収束し、外乱をより素早く補償できるので、出力電圧Voutの応答性を従来技術に比べて改善することができる。
以上、第2実施形態の昇圧コンバータ30の制御方法によれば、デューティ指令値Dの飽和を考慮して設定される所定閾値(下限値Vmin)に対する入力電流補償指令値(目標リアクトル電圧VL_astr')の飽和量(Vsat)を算出し、飽和量(Vsat)に基づいて補償不足分としての負荷電流補償値Isatを算出し、飽和量Vsatが0より大きい場合に負荷側の要求電力が急増したと判定し、電流指令値IL_astr’に負荷電流補償値Isatを加算した値を前記負荷変動時電流指令値(入力電流指令値IL_astr)に設定する。これにより、入力電流指令値IL_astrと入力電流ILとの偏差を小さくし、入力電流ILに対する入力電流指令値IL_astrの追従性を向上させることができるので、出力電圧指令値Vout_astrに対する出力電圧Voutの応答性を改善することができる。
以上、本発明の実施形態について説明したが、上記実施形態は本発明の適用例の一部を示したに過ぎず、本発明の技術的範囲を上記実施形態の具体的構成に限定する趣旨ではない。