以下、本発明の昇降圧コンバータの駆動制御装置を適用した実施の形態について説明する。
図1は、本実施の形態の昇降圧コンバータの回路構成を概略的に示す図である。この昇降圧コンバータ10は、リアクトル11、昇圧用IGBT(Insulated Gate Bipolar Transistor)12A、降圧用IGBT12B、バッテリ13を接続するための電源接続端子14、モータ15を接続するための出力端子16、一対の出力端子16に並列に挿入される平滑用のコンデンサ17、及びリアクトル電流検出部18を備える。コンバータ10の出力端子16とモータ15との間は、DCバス19によって接続される。
リアクトル11は、一端が昇圧用IGBT12A及び降圧用IGBT12Bの中間点に接続されるとともに、他端が電源接続端子14に接続されており、昇圧用IGBT12Aのオン/オフに伴って生じる誘導起電力をDCバス9に供給するために設けられている。
昇圧用IGBT12A及び降圧用IGBT12Bは、MOSFET(Metal Oxide Semiconductor Field Effect Transistor)をゲート部に組み込んだバイポーラトランジスタで構成され、大電力の高速スイッチングが可能な半導体素子である。昇圧用IGBT12A及び降圧用IGBT12Bは、後述する昇降圧コンバータの駆動制御装置からゲート端子にPWM(Pulse Width Modulation)電圧が印加されることによって駆動される。昇圧用IGBT12A及び降圧用IGBT12Bには、整流素子であるダイオード12a及び12bが並列接続される。
バッテリ13は、昇降圧コンバータ10を介してDCバス19との間で電力の授受が行えるように、充放電可能な蓄電器であればよい。なお、図1には、蓄電器としてバッテリ13を示すが、バッテリ13の代わりに、コンデンサ、充放電可能な二次電池、又は、電力の授受が可能なその他の形態の電源を蓄電器として用いてもよい。
電源接続端子14及び出力端子16は、バッテリ13及びモータ15が接続可能な端子であればよい。電源接続端子14及び出力端子16には、電源電圧及び出力電圧を検出する電圧検出部14A及び16Aがそれぞれ配設される。電圧検出部14Aは、バッテリ13の電圧値(vbat_det)を検出し、電圧検出部16Aは、DCバス19の電圧(以下、DCバス電圧:vdc_det)を検出する。
出力端子16に接続される負荷であるモータ15は、力行運転及び回生運転が可能な電動機であればよく、例えば、磁石がロータ内部に埋め込まれたIPM(Interior Permanent Magnetic)モータで構成することができる。図1には、直流駆動用のモータ15を示すが、インバータを介して交流駆動されるモータであってもよい。
平滑用のコンデンサ17は、出力端子16の正極端子と負極端子との間に挿入され、出力電圧を平滑化できる蓄電素子であればよい。
リアクトル電流検出部18は、リアクトル11に通流する電流の値を検出可能な検出手段であればよく、電流検出用の抵抗器を含む。このリアクトル電流検出部18は、バッテリ13に通流する電流値(ibat_det)を検出する。
「昇降圧動作」
このような昇降圧コンバータ10において、DCバス19を昇圧する際には、昇圧用IGBT12Aのゲート端子にPWM電圧を印加し、降圧用IGBT12Bに並列に接続されたダイオード12bを介して、昇圧用IGBT12Aのオン/オフに伴ってリアクトル11に発生する誘導起電力をDCバス19に供給する。これにより、DCバス19が昇圧される。
また、DCバス19を降圧する際には、降圧用IGBT12Bのゲート端子にPWM電圧を印加し、降圧用IGBT12Bを介して、モータ15によって発生される回生電力をDCバス19からバッテリ13に供給する。これにより、DCバス19に蓄積された電力がバッテリ13に充電され、DCバス19が降圧される。
ところで、モータ15の力行運転及び回生運転に際しては、力行運転に必要な電力はDCバス19からモータ15に供給されるとともに、回生運転によって得られる電力はモータ15からDCバス19に供給されるため、DCバス19の電圧値は変動する。
しかしながら、本実施の形態の昇降圧コンバータの駆動制御装置によれば、以下で説明する制御手法によって昇圧動作と降圧動作の切替点付近における電流の応答性を向上させ、これによりDCバス19の電圧値を一定の範囲内に保持する。
図2は、本実施の形態の昇降圧コンバータの駆動制御装置の回路構成を示す制御ブロック図である。この図に示すように、本実施の形態の昇降圧コンバータの駆動制御部20は、電圧制御指令生成部21、電圧制御部22、PWM指令算出部23、PWM指令合算部24、昇降圧切替制御部25、補償値算出部26、及び補償値切替部27を含む。
これらのうち、電圧制御指令生成部21、電圧制御部22、PWM指令算出部23、PWM指令合算部24、及び昇降圧切替制御部25は、DCバス電圧値(vdc_det)とDCバス目標電圧値(vdc_ref)との偏差に基づくPI制御により昇降圧コンバータ10を駆動するための駆動指令を生成するフィードバックループを形成する。このフィードバックループは、駆動指令を生成するための主制御部として機能する。
また、PWM指令合算部24、補償値算出部26、及び補償値切替部27は、DCバス電圧値(vdc_det)、バッテリ電圧値(vbat_det)、及びバッテリ電流値(ibat_det)を用いて昇降圧コンバータ10の駆動指令を補償するための補償値を演算し、この補償値を駆動指令に合算するためのフィードフォワードループを形成する。
なお、バッテリ電流値(ibat_det)は、バッテリ13からDCバス19へ流れる方向を正とする。
「各部の説明」
電圧制御指令生成部21は、DCバス19の目標電圧となるDCバス目標電圧値(vdc_ref)を出力する。モータ15の駆動開始前におけるDCバス電圧は0(V)であるため、このDCバス目標電圧値(vdc_ref)は、モータ15の駆動開始により0(V)から徐々に上昇し、モータ15の駆動が立ち上がってDCバス電圧が所定値を超えると、一定値に保持されるように設定されている。DCバス目標電圧値(vdc_ref)は、電圧制御部22と補償値切替部27に入力される。
電圧制御部22は、DCバス電圧値(vdc_det)とDCバス目標電圧値(vdc_ref)に近づけるように(すなわち、この偏差を小さくするように)PI制御を行い、そのために必要な電圧制御指令(datl)を演算する。生成された電圧制御指令(datl)は、PWM指令算出部23に入力される。
PWM指令算出部23は、電圧制御指令(datl)をPWM制御に必要なデューティ値を表すPWM電圧指令値(pwm_v)に変換するための算出処理を行う。算出されたPWM電圧指令値(pwm_v)は、PWM指令合算部24に入力される。
PWM指令合算部24は、PWM指令算出部23から入力されるPWM電圧指令値(pwm_v)と、補償値算出部26から入力される補償デューティ値(pwm_duty)とを補償値切替部27から入力されるフラグ(duty.flg)の値に応じて合算し、合算デューティ値(pwm_sum)を出力する合算処理を行う(合算部としての機能)。この合算処理は、PWM指令合算部24の不感帯補償機能により、フラグ(duty.flg)の値に応じて、PWM電圧指令値(pwm_v)と補償デューティ値(pwm_duty)との合算の手法が変更される。この不感帯補償機能による合算処理については後述する。
なお、PWM指令合算部24で出力される合算デューティ値(pwm_sum)は、PWMデューティ値に変換される前の制御量(%)である。
昇降圧切替制御部25は、合算デューティ値(pwm_sum)をPWMデューティ値であるデューティ指令値(pwm_ref)に変換する。このデューティ指令値(pwm_ref)は、昇降圧コンバータ10の昇圧用IGBT12Aと降圧用IGBT12Bを駆動するためのPWMデューティを表す値(%)である。
ここで、デューティ指令値(pwm_ref)は、昇圧用の値に正の符号を付し、降圧用の値に負の符号を付して昇降圧用の値を区別する。このため、昇降圧切替制御部25は、デューティ指令値(pwm_ref)が正の値である場合は、デューティ指令値(pwm_ref)を昇圧用IGBT12Aに送り、デューティ指令値(pwm_ref)が負の値である場合は、デューティ指令値(pwm_ref)を降圧用IGBT12Bに送る。
補償値算出部26は、DCバス電圧値(vdc_det)、バッテリ電圧値(vbat_det)、及びバッテリ電流値(ibat_det)に基づき、PWM電圧指令値(pwm_v)を補償するための不感帯補償機能による合算処理に必要な補償デューティ値(pwm_duty)を算出する。この補償デューティ値(pwm_duty)は、昇降圧コンバータ10のPWMデューティに対する電流の特性(図7参照)における昇圧側又は降圧側の変曲点を表すPWMデューティ値に相当する制御量である。変曲点を表すPWMデューティ値に相当する制御量は、降圧側の値はDCバス電圧値(vdc_det)に対するバッテリ電圧値(vbat_det)の比(vbat_det)/(vdc_det)で与えられ、昇圧側の値は、{1-(vbat_det)/(vdc_det)}で与えられる。補償値算出部26は、DCバス電圧値(vdc_det)に対するバッテリ電圧値(vbat_det)の比(vbat_det)/(vdc_det)を表す制御量を補償デューティ値(pwm_duty)として算出し、補償値切替部27に入力する。
補償値切替部27は、DCバス目標電圧値(vdc_ref)、DCバス電圧値(vdc_det)、及びバッテリ電流値(ibat_det)に基づいてフラグ(duty.flg)を導出し、このフラグ(duty.flg)と補償デューティ値(pwm_duty)をPWM指令合算部24に入力する処理を行う。フラグ(duty.flg)は「−1」、「0」又は「+1」のいずれかの値をとる。このフラグ(duty.flg)は、後述する不感帯補償機能による合算処理に用いられる。
図3は、本実施の形態の昇降圧コンバータの駆動制御装置の補償値切替部27で導出するフラグ(duty.flg)と、昇降圧コンバータ10の駆動領域との関係を示す図である。
図3において、横軸はバッテリ電流値(ibat_det)、縦軸はDCバス電圧偏差{DCバス目標電圧値(vdc_ref)−DCバス電圧値(vdc_det)}である。
ここで、バッテリ電流値(ibat_det)は、バッテリ13からDCバス19へ流れる方向を正とするため、横軸が正の領域は、DCバス19を昇圧する(リアクトル11からDCバス19に電力を供給する)領域である。この動作が継続されると、バッテリ13に蓄積された電力がDCバス19へ供給される(バッテリ13からDCバス19への放電が行われる)。これに対して横軸が負の領域は、DCバス19を降圧する(バッテリ13を充電する)領域である。
また、縦軸のDCバス電圧偏差は、{DCバス目標電圧値(vdc_ref)−DCバス電圧値(vdc_det)}で表されるため、縦軸が正の領域は、DCバス目標電圧値(vdc_ref)よりもDCバス電圧値(vdc_det)が低く、DCバス19の電圧が降下している領域である。この領域では、モータ等の負荷の変動により、DCバス電圧値(vdc_det)が低下するので、昇降圧コンバータ10は、DCバス電圧値(vdc_det)を昇圧するための制御を行う。その結果、バッテリ13からDCバス19への放電が行われる。これに対して縦軸が負の領域は、DCバス目標電圧値(vdc_ref)よりもDCバス電圧値(vdc_det)が高く、DCバス19の電圧が上昇している領域である。この領域では、モータ等の負荷の変動により、DCバス電圧値(vdc_det)が上昇するので、昇降圧コンバータ10は、DCバス電圧値(vdc_det)を低下させるために、バッテリ13を充電するための制御を行う。
横軸には、中央のバッテリ電流値(ibat_det)=0の軸を挟み、-bat_Iと+bat_Iの2つの閾値が設定されている。これにより、昇降圧コンバータ10の駆動領域は、横軸方向において、バッテリ電流値(ibat_det)に応じて、-bat_I≦バッテリ電流値(ibat_det)、-bat_I<バッテリ電流値(ibat_det)<+bat_I、+bat_I≦バッテリ電流値(ibat_det)の3つの領域に分けられている。なお、予め定められた閾値である-bat_Iと+bat_Iとの間は、従来の昇降圧コンバータであれば不感帯領域(図7参照)が生じるような電流値の微小な領域である。
また、縦軸には、DCバス電圧偏差{DCバス目標電圧値(vdc_ref)−DCバス電圧値(vdc_det)}=-dc_V、0、+dc_Vの3つの予め定められた閾値が設定されている。これにより、昇降圧コンバータ10の駆動領域は、縦軸方向において、DCバス電圧偏差に応じて、DCバス電圧偏差≦-dc_V、-dc_V<DCバス電圧偏差<0、0≦DCバス電圧偏差<+dc_V、+dc_V≦DCバス電圧偏差の4つの領域に分けられる。
ここで、縦軸における予め定められた閾値は、DCバス19の特性に基づく制御精度に対応して決定される。閾値+dc_Vを大きくすると、切替が起こりづらくなり、DCバス19が過電圧となってしまう。一方、閾値+dc_Vを小さくすると、切替が頻繁に行ってしまい、電流補償が過多となり、その結果、DCバス19を流れる電流の損失が大きくなってしまう。これは、閾値-dc_Vの絶対値についても同様である。
このように横軸及び縦軸に閾値を設定することにより、昇降圧コンバータ10の駆動領域は、図3に示すようにマトリクス状に配置される12個の領域(1)〜(12)に区分される。昇降圧コンバータ10の駆動時には、バッテリ電流値(ibat_det)とDCバス電圧偏差{DCバス目標電圧値(vdc_ref)−DCバス電圧値(vdc_det)}が変動するため、駆動領域は(1)〜(12)の中で遷移する。これにより、異なる処理形態への切替判断を簡単に行うことができるだけでなく、迅速に不感帯補償機能を起動することができる。
なお、上述したように、フラグ(duty.flg)は、後述する不感帯補償機能による合算処理に用いられるフラグであり、フラグ(duty.flg)が「+1」であることは昇圧動作中において不感帯補償機能が起動状態であることを表し、フラグ(duty.flg)が「−1」であることは降圧動作中に不感帯補償機能が起動状態であることを表す。また、フラグ(duty.flg)が「0」であることは不感帯補償機能が解除状態であることを表す。なお、不感帯機能は、起動開始されて起動状態となり、起動終了されて解除状態となる。
「駆動領域(1)〜(12)の説明」
領域(1)は「バッテリ電流値(ibat_det)≦-bat_I、かつ、+dc_V≦DCバス電圧偏差」の駆動領域である。駆動領域が領域(1)に遷移しても、充放電の切替から離れた領域、すなわち、DCバス19の電流不感帯から離れた領域であるため、そのままのフラグを用いることができる。具体的には、フラグ(duty.flg)を遷移前の(前回の)フラグ(duty.flg)と同一の値に設定する(duty.flg=前回のduty.flg)。
領域(2)は「-bat_I<バッテリ電流値(ibat_det)<+bat_I、かつ、+dc_V≦DCバス電圧偏差」の駆動領域である。駆動領域が領域(2)に遷移した場合は、フラグ(duty.flg)を「+1」に設定する(duty.flg=+1)。ここで、領域(2)に遷移した場合に、フラグ(duty.flg)を「+1」に設定するのは、昇圧動作中においてバッテリ電流値(ibat_det)が絶対値で閾値よりも小さく、かつ、DCバス電圧偏差が閾値(+dc_V)以上である場合には、DCバス電圧値(vdc_det)が比較的低くてDCバス19の昇圧が必要な状態であるのに、電流が十分に流れていない状態であるため、不感帯補償機能を起動開始させてバッテリ電流値(ibat_det)を増大させることにより、昇圧動作を促進するためである。ここで、フラグ(duty.flg)の「+1」への切替は、例えば、領域(5)においてフラグ(duty.flg)が「0」の状態からDCバス電圧偏差が大きくなり、+dc_Vを超えて領域(2)になった場合に実行される。これにより、DCバス電圧偏差に基づく充放電制御を行う際に、DCバス19の不感帯において強引に電流を流すべく、後述するPWM電圧指令値(pwm_v)を補償する操作が起動される。
領域(3)は「+bat_I≦バッテリ電流値(ibat_det)、かつ、+dc_V≦DCバス電圧偏差」の駆動領域である。駆動領域が領域(3)に遷移した場合は、フラグ(duty.flg)を遷移前の(前回の)フラグ(duty.flg)と同一の値に設定する(duty.flg=前回のduty.flg)。
領域(4)は「バッテリ電流値(ibat_det)≦-bat_I、かつ、0≦DCバス電圧偏差<+dc_V」の駆動領域である。駆動領域が領域(4)に遷移した場合は、フラグ(duty.flg)を遷移前の(前回の)フラグ(duty.flg)と同一の値に設定する(duty.flg=前回のduty.flg)。
領域(5)は「-bat_I<バッテリ電流値(ibat_det)<+bat_I、かつ、0≦DCバス電圧偏差<+dc_V」の駆動領域である。すなわち、DCバス電圧偏差が小さく、バッテリ電流値(ibat_det)も充放電が切り替わる遷移領域に相当する。駆動領域が領域(5)に遷移した場合において、遷移前の(前回の)フラグ(duty.flg)が「−1」又は「0」の場合は、(今回の)フラグ(duty.flg)を「0」に設定し、遷移前の(前回の)フラグ(duty.flg)が「+1」の場合は、(今回の)フラグ(duty.flg)を(前回の)フラグ(duty.flg)と同一の値「+1」に設定する。
ここで、領域(5)に遷移した場合において、遷移前の(前回の)フラグ(duty.flg)が「−1」の場合に(今回の)フラグ(duty.flg)を「0」に設定するのは、フラグ(duty.flg)が「−1」であって降圧動作時において不感帯補償機能が起動されている状態から、バッテリ電流値(ibat_det)が絶対値で閾値よりも小さく、かつ、DCバス電圧偏差が閾値(+dc_V)未満の状態(領域(5))に遷移した場合には、遷移前の降圧動作時における不感帯補償機能によってDCバス電圧値(vdc_det)は十分に降圧されており、領域(5)に遷移した後は不感帯補償機能によるバッテリ電流値(ibat_det)の増大は不要と考えられるためである。これにより、DCバス電圧偏差に基づく充放電制御において、後述するPWM電圧指令値(pwm_v)を補償する操作が解除される。
領域(6)は「+bat_I≦バッテリ電流値(ibat_det)、かつ、0≦DCバス電圧偏差<+dc_V」の駆動領域である。駆動領域が領域(6)に遷移した場合は、フラグ(duty.flg)を遷移前の(前回の)フラグ(duty.flg)と同一の値に設定する(duty.flg=前回のduty.flg)。
領域(7)は「バッテリ電流値(ibat_det)≦-bat_I、かつ、-dc_V<DCバス電圧偏差<0」の駆動領域である。駆動領域が領域(7)に遷移した場合は、フラグ(duty.flg)を遷移前の(前回の)フラグ(duty.flg)と同一の値に設定する(duty.flg=前回のduty.flg)。
領域(8)は「-bat_I<バッテリ電流値(ibat_det)<+bat_I、かつ、-dc_V<DCバス電圧偏差<0」の駆動領域である。駆動領域が領域(8)に遷移した場合において、遷移前の(前回の)フラグ(duty.flg)が「−1」の場合は、(今回の)フラグ(duty.flg)を(前回の)フラグ(duty.flg)と同一の値「−1」に設定し、遷移前の(前回の)フラグ(duty.flg)が「0」又は「+1」の場合は、(今回の)フラグ(duty.flg)を「0」に設定する。
ここで、領域(8)に遷移した場合において、遷移前の(前回の)フラグ(duty.flg)が「+1」の場合に(今回の)フラグ(duty.flg)を「0」に設定するのは、フラグ(duty.flg)が「+1」であって昇圧動作時において不感帯補償機能が起動されている状態から、バッテリ電流値(ibat_det)が絶対値で閾値よりも小さく、かつ、DCバス電圧偏差が閾値(-dc_V)より高い状態(領域(8))に遷移した場合には、遷移前の昇圧動作時における不感帯補償機能によってDCバス電圧値(vdc_det)は十分に昇圧されており、領域(8)に遷移した後は不感帯補償機能によるバッテリ電流値(ibat_det)の増大は不要になったと考えられるためである。これにより、DCバス電圧偏差に基づく充放電制御において、後述するPWM電圧指令値(pwm_v)を補償する操作が解除される。
領域(9)は「+bat_I≦バッテリ電流値(ibat_det)、かつ、-dc_V<DCバス電圧偏差<0」の駆動領域である。駆動領域が領域(9)に遷移した場合は、フラグ(duty.flg)を遷移前の(前回の)フラグ(duty.flg)と同一の値に設定する(duty.flg=前回のduty.flg)。
領域(10)は「バッテリ電流値(ibat_det)≦-bat_I、かつ、DCバス電圧偏差≦-dc_V」の駆動領域である。駆動領域が領域(10)に遷移した場合は、フラグ(duty.flg)を遷移前の(前回の)フラグ(duty.flg)と同一の値に設定する(duty.flg=前回のduty.flg)。
領域(11)は「-bat_I<バッテリ電流値(ibat_det)<+bat_I、かつ、DCバス電圧偏差≦-dc_V」の駆動領域である。駆動領域が領域(11)に遷移した場合は、フラグ(duty.flg)を「−1」に設定する(duty.flg=+1)。ここで、領域(11)に遷移した場合に、フラグ(duty.flg)を「−1」に設定するのは、降圧動作中においてバッテリ電流値(ibat_det)が絶対値で閾値よりも小さく、かつ、DCバス電圧偏差が閾値(-dc_V)以下である場合には、DCバス電圧値(vdc_det)が比較的上昇していてDCバス19の降圧が必要な状態であるのに、DCバス19からバッテリ13へ電流が十分に流れていない状態であるため、不感帯補償機能を起動開始させることにより、DCバス19からバッテリ13の方向に流れる電流として負の値で表されるバッテリ電流値(ibat_det)を絶対値で増大させることにより、降圧動作を促進するためである。
領域(12)は「+bat_I≦バッテリ電流値(ibat_det)、かつ、DCバス電圧偏差≦-dc_V」の駆動領域である。駆動領域が領域(12)に遷移した場合は、フラグ(duty.flg)を遷移前の(前回の)フラグ(duty.flg)と同一の値に設定する(duty.flg=前回のduty.flg)。
ここで、昇降圧コンバータ10の起動時は「バッテリ電流値(ibat_det)=0、かつ、DCバス電圧偏差{DCバス目標電圧値(vdc_ref)−DCバス電圧値(vdc_det)}=0」であり、この駆動状態は領域(5)に含まれる。このため、昇降圧コンバータ10の起動時には、図3に示す駆動領域は、領域(5)から始まり、バッテリ電流値(ibat_det)とDCバス電圧偏差{DCバス目標電圧値(vdc_ref)−DCバス電圧値(vdc_det)}の変化により、他の領域に遷移する。
従って、不感帯補償機能が起動開始されるのは、フラグ(duty.flg)が「0」の状態から駆動領域が領域(2)に遷移してフラグ(duty.flg)が「+1」に変化した場合、又は、フラグ(duty.flg)が「0」の状態から駆動領域が領域(11)に遷移してフラグ(duty.flg)が「−1」に変化した場合である。すなわち、不感帯補償機能は、DCバス電圧偏差が絶対値で所定電圧値(dc_V)以上で、かつ、バッテリ電流値(ibat_det)が絶対値で所定の低電流値(bat_I)未満になると起動開始される。
また、不感帯補償機能が起動終了されるのは、フラグ(duty.flg)が「−1」の状態から駆動領域が領域(5)に遷移してフラグ(duty.flg)が「0」に変化した場合、又は、フラグ(duty.flg)が「+1」の状態から駆動領域が領域(8)に遷移してフラグ(duty.flg)が「0」に変化した場合である。すなわち、不感帯補償機能は、バッテリ電流値(ibat_det)が絶対値で所定の低電流値(bat_I)未満で、かつ、DCバス電圧偏差が零になった場合、又は、DCバス電圧偏差の符号が反転した場合に起動終了される、
その他の場合において、駆動領域が遷移してもフラグ(duty.flg)が「0」のままである場合は、不感帯補償機能は解除状態に保持され、駆動領域が遷移してもフラグ(duty.flg)が「−1」又は「+1」のままの場合は、不感帯補償機能は起動状態に保持される。
なお、上述のように、横軸が負の領域はDCバス19を降圧する(バッテリ13を充電する)領域であり、縦軸が正の領域はDCバス19の電圧が降下している領域であるため、領域(1)と領域(4)は、通常は経由しない駆動領域である。
同様に、横軸が正の領域はDCバス19を昇圧する(リアクトル11からDCバス19に電力を供給する)領域であり、縦軸が負の領域はDCバス19の電圧が上昇している領域であるため、領域(9)と領域(12)は、通常は経由しない駆動領域である。
「不感帯補償機能による合算処理」
次に、PWM指令合算部24の処理内容(不感帯補償機能による合算処理)について説明する。ここで、不感帯補償機能は、フラグ(duty.flg)が「−1」又は「+1」の場合に起動状態とされ、フラグ(duty.flg)が「0」の場合は解除状態とされる。
PWM指令合算部24は、フラグ(duty.flg)の値に応じて合算の手法を以下のように切り替える。
フラグ(duty.flg)が「0」の場合は、補償デューティ値(pwm_duty)は合算されず(補償デューティ値(pwm_duty)を零として合算し)、合算デューティ値(pwm_sum)としてPWM電圧指令値(pwm_v)を出力する。すなわち、合算デューティ値(pwm_sum)=PWM電圧指令値(pwm_v)となる。
フラグ(duty.flg)が「1」の場合は、補償デューティ値(pwm_duty)をPWM電圧指令値(pwm_v)に合算する。すなわち、合算デューティ値(pwm_sum)=PWM電圧指令値(pwm_v)+補償デューティ値(pwm_duty)となる。
フラグ(duty.flg)が「−1」の場合は、符号を反転させた補償デューティ値(pwm_duty)をPWM電圧指令値(pwm_v)に合算する。すなわち、合算デューティ値(pwm_sum)=PWM電圧指令値(pwm_v)−補償デューティ値(pwm_duty)となる。
このように、補償デューティ値(pwm_duty)は、フラグ(duty.flg)が「1」又は「−1」の場合に合算される。
また、PWM指令合算部24は、フラグ(duty.flg)が「0」から「1」又は「−1」に変化する際(不感帯補償機能が起動開始される際)には、変曲点を表すPWMデューティ値に相当する制御量が補償デューティ値(pwm_duty)として加えられる。そして、PWM指令算出部23から出力されるPWM電圧指令値(pwm_v)に含まれる積分成分値(I成分値)と比例成分値(P成分値)に対して、積分成分値(I成分値)を比例成分値(P成分値)の反数に置き換える処理を行う。これにより、PWM電圧指令値(pwm_v)の値は零となる(置換部としての機能)。
また、これとは逆に、PWM指令合算部24は、フラグ(duty.flg)が「1」又は「−1」から「0」に変化する際(不感帯補償機能が起動終了される際)には、PWM指令算出部23から出力されるPWM電圧指令値(pwm_v)に含まれる積分成分値(I成分値)の値を不感帯補償機能を起動終了直前の積分成分値(I成分値)と補償デューティ値(pwm_duty)との合計値に置き換える(置換部としての機能)。
次に、上述のような不感帯補償機能による合算処理について図4及び図5を用いて説明する。
「降圧時の不感帯補償機能による合算処理」
図4は、本実施の形態の昇降圧コンバータ10の駆動制御装置における降圧時の不感帯補償機能による合算処理を説明するための原理図であり、(a)は不感帯補償機能の起動開始時の処理、(b)は不感帯補償機能の起動終了時の処理、(c)は不感帯補償機能の起動中の処理をそれぞれ時間経過で示す。この不感帯補償機能による合算処理は、PWM指令合算部24によって実行される。
なお、図中、PWM電圧指令値(pwm_v)の棒グラフ中に示すP及びIは、比例成分値(P成分値)と積分成分値(I成分値)の割合を表す。
ここで、降圧時に不感帯補償機能が起動開始されるのは、フラグ(duty.flg)が「0」の状態から駆動領域が領域(11)に遷移してフラグ(duty.flg)が「−1」に変化する場合である。また、この不感帯補償機能が起動終了されるのは、フラグ(duty.flg)が「−1」の状態から駆動領域が領域(5)に遷移してフラグ(duty.flg)が「0」に変化した場合である。
図4(a)に示すように、不感帯補償機能の起動開始前(フラグ(duty.flg)=「0」の場合)は、補償値切替部27から入力される補償デューティ値(pwm_duty)は零にされているため、合算デューティ値(pwm_sum)=PWM電圧指令値(pwm_v)となる。
次に、駆動領域が領域(11)に遷移することによってフラグ(duty.flg)が「−1」に変化して不感帯補償機能が起動開始されると、補償デューティ値(pwm_duty)がPWM電圧指令値(pwm_v)に合算され、合算デューティ値(pwm_sum)=PWM電圧指令値(pwm_v)+補償デューティ値(pwm_duty)となる。
このとき、図4(a)に示すように、PWM電圧指令値(pwm_v)に含まれる比例成分値(P成分値)は、不感帯補償機能の起動開始前後で同一の値を有するが、不感帯補償機能の起動開始直後の積分成分値(I成分値)は、比例成分値(P成分値)の反数に置き換えられている。このように、不感帯補償機能が起動開始された直後は、PWM電圧指令値(pwm_v)の値は零となるようにする。
このため、実際には、合算デューティ値(pwm_sum)=補償デューティ値(pwm_duty)となる。
ここで、補償デューティ値(pwm_duty)の値は、補償デューティ値(pwm_duty)は、昇降圧コンバータ10のPWMデューティ値に対する電流値の特性における降圧側の変曲点を表すPWMデューティ値に相当する制御量となる。その後、補償デューティ値(pwm_duty)とPWMデューティ値とを合算した値に基づき、デューティ指令値(pwm_ref)が求められ、充放電制御が行われる。
従って、本実施の形態の昇降圧コンバータの駆動制御装置によれば、昇降圧コンバータ10のバッテリ電流値(ibat_det)の絶対値が所定値未満で、かつ、DCバス電圧偏差が絶対値で所定値以上であり、DCバス電圧値(vdc_det)が上昇して降圧動作が必要な場合に、十分なバッテリ電流値(ibat_det)が得られないと判定した場合は、不感帯補償機能を起動開始することにより、PWM指令合算部24において、PWM電圧指令値(pwm_v)に補償デューティ値(pwm_duty)を合算するので、図4(c)に示すように合算デューティ値(pwm_sum)が絶対値で増大され、これにより、昇降圧コンバータ10を駆動するための最終的なデューティ指令値(pwm_ref)が絶対値で増大される。このため、DCバス19からバッテリ13の方向に流れる電流が増大され、従来のように、低電流領域においてPWMデューティに対して電流の応答が遅れることがなく、電流応答性が良好でDCバス19の電圧値を一定の範囲内に保持することができる昇降圧コンバータ10の駆動制御装置を提供することができる。
次に、図4(b)を用いて降圧時における不感帯補償機能を起動終了する際の動作を説明する。不感帯補償機能の起動状態(フラグ(duty.flg)=「−1」の場合)では、補償値切替部27から入力される補償デューティ値(pwm_duty)が合算されているため、合算デューティ値(pwm_sum)=PWM電圧指令値(pwm_v)+補償デューティ値(pwm_duty)となる。
次に、フラグ(duty.flg)が「0」に変化して不感帯補償機能が起動終了されると、補償デューティ値(pwm_duty)が零にされ合算デューティ値(pwm_sum)=PWM電圧指令値(pwm_v)となる。
このとき、図4(b)に示すように、PWM電圧指令値(pwm_v)に含まれる比例成分値(P成分値)は、不感帯補償機能の起動開始前後で同一の値を有するが、不感帯補償機能の起動終了直後の積分成分値(I成分値)は、不感帯補償機能の起動終了直前の積分成分値(I成分値)と補償デューティ値(pwm_duty)との合計値に置き換える操作を行う。
従って、不感帯補償機能の起動終了の前後において、合算デューティ値(pwm_sum)の値は同一となり、連続性が保たれるので、不感帯補償機能を起動終了しても昇降圧コンバータ10の制御性が低下することを抑制することができる。
なお、不感帯補償機能が起動終了された後は、フラグ(duty.flg)が「0」となり補償デューティ値(pwm_duty)は合算デューティ値(pwm_sum)に合算されず、合算デューティ値(pwm_sum)=PWM電圧指令値(pwm_v)となるため、昇降圧コンバータ10は、PWM指令算出部23におけるPI制御によって生成されるPWM電圧指令値(pwm_v)によって駆動されることになる。
「昇圧時の不感帯補償機能による合算処理」
図5は、本実施の形態の昇降圧コンバータ10の駆動制御装置における昇圧時の不感帯補償機能による合算処理を説明するための原理図であり、(a)は不感帯補償機能の起動開始時の処理、(b)は不感帯補償機能の起動終了時の処理、(c)は不感帯補償機能の起動中の処理をそれぞれ時間経過で示す。この昇圧時の不感帯補償機能による合算処理は、降圧時の処理と同様に、PWM指令合算部24によって実行される。なお、図中、PWM電圧指令値(pwm_v)の棒グラフ中に示すP及びIは、比例成分値(P成分値)と積分成分値(I成分値)の割合を表す。
ここで、昇圧時に不感帯補償機能が起動開始されるのは、DCバス電圧偏差の変動により、フラグ(duty.flg)が「0」の状態から駆動領域が領域(2)に遷移してフラグ(duty.flg)が「+1」に変化する場合である。また、この不感帯補償機能が起動終了されるのは、フラグ(duty.flg)が「+1」の状態から駆動領域が領域(8)に遷移してフラグ(duty.flg)が「0」に変化した場合である。
図5(a)に示すように、不感帯補償機能の起動開始前(フラグ(duty.flg)=「0」の場合)は、補償値切替部27から入力される補償デューティ値(pwm_duty)は零にされているため、合算デューティ値(pwm_sum)=PWM電圧指令値(pwm_v)となる。
次に、駆動領域が領域(2)に遷移することによってフラグ(duty.flg)が「+1」に変化して不感帯補償機能が起動開始されると、補償デューティ値(pwm_duty)がPWM電圧指令値(pwm_v)に合算され、合算デューティ値(pwm_sum)=PWM電圧指令値(pwm_v)+補償デューティ値(pwm_duty)となる。
このとき、図5(a)に示すように、PWM電圧指令値(pwm_v)に含まれる比例成分値(P成分値)は、不感帯補償機能の起動開始前後で同一の値を有するが、不感帯補償機能の起動開始直後の積分成分値(I成分値)は、比例成分値(P成分値)の反数に置き換えられている。これにより、不感帯補償機能が起動開始された直後は、PWM電圧指令値(pwm_v)の値は零となる。
このため、実際には、合算デューティ値(pwm_sum)=補償デューティ値(pwm_duty)となる。
ここで、補償デューティ値(pwm_duty)の値は、補償デューティ値(pwm_duty)は、昇降圧コンバータ10のPWMデューティ値に対する電流値の特性における昇圧側の変曲点を表すPWMデューティ値に相当する制御量である。
従って、本実施の形態の昇降圧コンバータの駆動制御装置によれば、昇降圧コンバータ10のバッテリ電流値(ibat_det)の絶対値が所定値未満で、かつ、DCバス電圧偏差が絶対値で所定値以上であり、DCバス電圧値(vdc_det)が低下して昇圧動作が必要な場合に、十分なバッテリ電流値(ibat_det)が得られないと判定した場合は、不感帯補償機能を起動開始することにより、PWM指令合算部24において、PWM電圧指令値(pwm_v)に補償デューティ値(pwm_duty)を合算するので、図5(c)に示すように合算デューティ値(pwm_sum)が絶対値で増大され、これにより、昇降圧コンバータ10を駆動するための最終的なデューティ指令値(pwm_ref)が絶対値で増大される。このため、バッテリ13からDCバス19の方向に流れる電流が増大され、従来のように、低電流領域においてPWMデューティに対して電流の応答が遅れることがなく、電流応答性の良好な昇降圧コンバータ10の駆動制御装置を提供することができる。
次に、図5(b)を用いて昇圧時における不感帯補償機能を起動終了する際の動作を説明する。不感帯補償機能の起動状態(フラグ(duty.flg)=「+1」の場合)では、補償値切替部27から入力される補償デューティ値(pwm_duty)が合算されているため、合算デューティ値(pwm_sum)=PWM電圧指令値(pwm_v)+補償デューティ値(pwm_duty)となる。
次に、フラグ(duty.flg)が「0」に変化して不感帯補償機能が起動終了されると、補償デューティ値(pwm_duty)が零にされ合算デューティ値(pwm_sum)=PWM電圧指令値(pwm_v)となる。
このとき、図5(b)に示すように、PWM電圧指令値(pwm_v)に含まれる比例成分値(P成分値)は、不感帯補償機能の起動開始前後で同一の値を有するが、不感帯補償機能の起動終了直後の積分成分値(I成分値)は、不感帯補償機能の起動終了直前の積分成分値(I成分値)と補償デューティ値(pwm_duty)との合計値に置き換えられている。
従って、不感帯補償機能の起動終了の前後において、合算デューティ値(pwm_sum)の値は同一となり、連続性が保たれるので、不感帯補償機能を起動終了しても昇降圧コンバータ10の制御性が低下することを抑制することができる。
なお、不感帯補償機能が起動終了された後は、フラグ(duty.flg)が「0」となり補償デューティ値(pwm_duty)は合算デューティ値(pwm_sum)に合算されず、合算デューティ値(pwm_sum)=PWM電圧指令値(pwm_v)となるため、昇降圧コンバータ10は、PWM指令算出部23におけるPI制御によって生成されるPWM電圧指令値(pwm_v)によって駆動されることになる。
図6は、本実施の形態の昇降圧コンバータの駆動制御装置による動作特性の一例を示す特性図である。
昇降圧コンバータ10の駆動を開始した直後は、駆動領域は領域(5)であるため、フラグ(duty.flg)は「0」に保持されるため、合算デューティ値(pwm_sum)=PWM電圧指令値(pwm_v)となり、昇降圧コンバータ10は、PWM指令算出部23によって生成されたPWM電圧指令値(pwm_v)によってPI制御される。
駆動開始直後からA時点までは、DCバス電圧値(vdc_det)は-dc_V~+dc_Vの間を推移している。この状態は、図3に示す領域(5)と領域(8)とをDCバス電圧偏差の僅かな変動によって行き来している状態に相当する。
このように駆動領域が領域(5)又は領域(8)にある状態では、フラグ(duty.flg)は「0」に保持されるため、合算デューティ値(pwm_sum)=PWM電圧指令値(pwm_v)となり、昇降圧コンバータ10は、PWM指令算出部23によって生成されたPWM電圧指令値(pwm_v)によってPI制御される。
次に、A時点を超えると、DCバス電圧値(vdc_det)が大きくなり、これにより、DCバス電圧偏差{DCバス目標電圧値(vdc_ref)−DCバス電圧値(vdc_det)}が零より小さくなる。
このとき、駆動領域は領域(8)に遷移するが、フラグ(duty.flg)は「0」に保持された状態が継続する。
また、モータ等の電気負荷が回生運転を行うと、回生電流が発生するので、DCバス電圧値(vdc_det)が上昇し、バッテリ電圧値(vbat_det)/DCバス電圧値(vdc_det)の比も小さくなる。これは、DCバス電圧検出値の上昇により、DCバス9の降圧(バッテリ13の充電)が必要になるため、バッテリ13からDCバス19へ流れる電流値が減るためである。
また、図6には示されていないが、モータ等の電気負荷が力行運転を行った場合には、電気負荷から電力供給が要求され、DCバス電圧値(vdc_det)が低下する。この場合には、DCバス電圧値(vdc_det)の低下により、DCバス19の昇圧(バッテリ13の放電)が必要になる。
次に、B時点を超え、さらにDCバス電圧値(vdc_det)が大きくなると、DCバス電圧偏差{DCバス目標電圧値(vdc_ref)−DCバス電圧値(vdc_det)}が閾値「-dc_v」より小さくなる。
従来は、このようにDCバス電圧偏差の絶対値が大きくなり続ける状態が継続すると、昇圧動作と降圧動作の切替点付近の低電流領域では不感帯領域の影響を受けるため、電流の低下する速度が遅くなり、DCバス電圧値(vdc_det)が上昇し過ぎて過電圧となり、モータ15のドライバ等の機器が損傷する課題があった。
しかしながら、本実施の形態の昇降圧コンバータの駆動制御装置によれば、低電流領域でDCバス電圧偏差が大きい状態では、不感帯補償機能が起動開始されることにより、DCバス電圧値(vdc_det)を低下させるために、積極的に電流を流すようになる。この状態は、図3に示す駆動領域では領域(8)から領域(11)に遷移し、フラグ(duty.flg)は「−1」に設定される。
これにより、PWM指令合算部24においてPWM電圧指令値(pwm_v)に補償デューティ値(pwm_duty)が合算するようになり、合算デューティ値(pwm_sum)=PWM電圧指令値(pwm_v)+補償デューティ値(pwm_duty)なる合算デューティ値(pwm_sum)が出力される。
このとき、PWM電圧指令値(pwm_v)に含まれる比例成分値(P成分値)は、不感帯補償機能の起動開始前後で同一の値を有するが、不感帯補償機能の起動開始直後の積分成分値(I成分値)は、比例成分値(P成分値)の反数に置き換えられている。これにより、不感帯補償機能が起動開始された直後は、PWM電圧指令値(pwm_v)の値は零(P+I=0)となるため、実際には、合算デューティ値(pwm_sum)=補償デューティ値(pwm_duty)となる。
これにより、図6に示すバッテリ電流値(ibat_det)のように、DCバス9を降圧させるためにDCバス9からバッテリ13に向かう電流が増大し(すなわちバッテリ電流値(ibat_det)が絶対値で増大し)、これによりDCバス電圧値(vdc_det)を低下させることができる。
この結果、昇圧動作と降圧動作の切替点付近の低電流領域における電流の応答性を向上させることができ、これによりDCバス電圧値(vdc_det)を大きく変動させることなく一定の範囲内に保持することができる。
その後は、PWM指令合算部24においてPWM電圧指令値(pwm_v)に補償デューティ値(pwm_duty)が合算される状態が継続し、このうちのPWM電圧指令値(pwm_v)はPWM指令算出部23におけるPI制御によって生成された値であるため、降圧動作が継続され、DCバス電圧値(vdc_det)は降圧される。DCバス電圧値(vdc_det)の低下により、DCバス電圧偏差が絶対値で小さくなり、閾値「-dc_V」を超えたところで駆動領域は領域(8)に遷移する(戻る)。これが時点Cに相当する。
C時点を超えて駆動領域が領域(8)に遷移しても、フラグ(duty.flg)は「−1」に保持される。その後は、PWM指令合算部24においてPWM電圧指令値(pwm_v)に補償デューティ値(pwm_duty)が合算される状態が継続し、このうちのPWM電圧指令値(pwm_v)はPWM指令算出部23におけるPI制御によって生成された値であるため、降圧動作が継続され、DCバス電圧偏差が安定する。このとき、DCバス電圧偏差が0(V)以上になると、駆動領域が領域(5)に遷移する。これが時点Dに相当する。
時点Dにおいて、駆動領域が領域(8)から領域(5)に遷移すると、フラグ(duty.flg)が「−1」の状態で領域(5)に遷移したことになるので、フラグ(duty.flg)は「0」に切り替わり、不感帯補償機能が起動終了される。
このように不感帯補償機能を起動終了するのは、降圧動作時における不感帯補償機能によってDCバス電圧値(vdc_det)は十分に降圧されており、不感帯補償機能によるバッテリ電流値(ibat_det)の増大は不要になったと考えられるためである。
不感帯補償機能が起動終了されると、補償デューティ値(pwm_duty)が零にされ合算デューティ値(pwm_sum)=PWM電圧指令値(pwm_v)となる。このとき、図4(b)に示すように、PWM電圧指令値(pwm_v)に含まれる比例成分値(P成分値)は、不感帯補償機能の起動開始前後で同一の値を有するが、不感帯補償機能の起動終了直後の積分成分値(I成分値)は、不感帯補償機能の起動終了直前の積分成分値(I成分値)と補償デューティ値(pwm_duty)との合計値に置き換えられている。
従って、不感帯補償機能の起動終了の前後において、図4(c)に示すように合算デューティ値(pwm_sum)の値は同一となり、連続性が保たれるので、不感帯補償機能を起動終了しても、図6に示すように昇降圧コンバータ10のDCバス電圧値(vdc_det)を略一定値に安定させることができる。
なお、不感帯補償機能が起動終了された後は、フラグ(duty.flg)が「0」となり補償デューティ値(pwm_duty)は合算デューティ値(pwm_sum)に合算されず、合算デューティ値(pwm_sum)=PWM電圧指令値(pwm_v)となるため、昇降圧コンバータ10は、PWM指令算出部23におけるPI制御によって生成されるPWM電圧指令値(pwm_v)によって駆動されることになる。
また、不感帯補償機能が起動終了され、フラグ(duty.flg)が「0」となって領域(5)で駆動されている際に、DCバス電圧偏差が微小変化により0(V)を下回ると、駆動領域が再び領域(8)に遷移するが、領域(5)から領域(8)に遷移した場合はフラグ(duty.flg)は「0」に保持されるため、その後も昇降圧コンバータ10は、PWM指令算出部23におけるPI制御によって生成されるPWM電圧指令値(pwm_v)によって駆動されることになる。
以上のように、本実施の形態の昇降圧コンバータの駆動制御装置によれば、昇圧動作と降圧動作の切替点付近における低電流領域での電流応答性を改善し、これによりDCバス19の電圧値を一定の範囲内に保持し、過電圧による負荷のドライバの損傷を抑制でき、負荷の制御性を良好な状態に保持することができる。
なお、図6の動作例には、領域(5)、(8)、及び(11)を遷移することによって降圧時における不感帯補償機能が起動開始され、その後起動終了される場合を示すが、昇圧時における不感帯補償機能の起動開始/起動終了は、領域(2)、(5)、及び(8)を遷移することにより、同様に行われるため、その説明を省略する。
また、図6の動作例には、-bat_I<バッテリ電流値(ibat_det)<+bat_Iの場合を示すが、バッテリ電流値(ibat_det)≦-bat_Iの場合(領域(1)、(4)、(7)、及び(10)の場合)は、フラグ(duty.flg)の値は遷移前の値(前回の値)に保持されるため、バッテリ電流値(ibat_det)≦-bat_Iとなっても、不感帯補償機能の起動状態又は解除状態が保持されるに過ぎない。このため、バッテリ電流値(ibat_det)≦-bat_Iの場合の動作説明を省略する。なお、これは、同様に、+bat_I≦バッテリ電流値(ibat_det)の場合(領域(3)、(6)、(9)、及び(12)の場合)においても同様である。
以上では、出力端子16に直流駆動のモータ15を直接接続する形態について説明したが、これに代えて、出力端子16にインバータを介して交流駆動されるモータを接続してもよい。
なお、本実施の形態の昇降圧コンバータの駆動制御装置の制御部は、電子回路又は演算処理装置のいずれでも実現することができる。
また、以上では、PI制御を用いる形態について説明したが、制御方式はPI制御方式に限られるものではなく、ヒステリシス制御、ロバスト制御、適応制御、比例制御、積分制御、ゲインスケジューリング制御、又は、スライディングモード制御であってもよい。
以上、本発明の例示的な実施の形態の昇降圧コンバータの駆動制御装置について説明したが、本発明は、具体的に開示された実施の形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。