<第1の実施の形態>
図1は、本発明の実施の形態における電力変換装置100の基本構成を示す。電力変換装置100は、直流電源10、リアクトル12、第1スイッチング素子14、第2スイッチング素子16及びコンデンサ18を含んで構成される。
直流電源10の正極にリアクトル12の一端が接続され、リアクトル12の他端には第1スイッチング素子14及び第2スイッチング素子16の接続点Cが接続される。第1スイッチング素子14の他端は負荷102への出力端(OUT+)に接続され、第2スイッチング素子16の他端は直流電源10の負極(OUT−)に接続される。また、出力端と直流電源10の負極との間には電圧を平滑化させるためにコンデンサ18が接続される。
なお、本実施の形態では、第1スイッチング素子14及び第2スイッチング素子16はNPNトランジスタとする。第1スイッチング素子14は、出力端側がコレクタ、リアクトル12側がエミッタとされる。第2スイッチング素子16は、リアクトル12側がコレクタ、直流電源10の負極側がエミッタとされる。また、第1スイッチング素子14及び第2スイッチング素子16のそれぞれに並列に環流ダイオードが接続される。
電力変換装置100において、第1スイッチング素子14をオフ状態及び第2スイッチング素子16をオン状態とすることで、リアクトル12を介して直流電源10の正極から負極に向けたリアクトル電流iLが流れる。これによって、リアクトル12にエネルギーが蓄積される。次に、第1スイッチング素子14をオン状態及び第2スイッチング素子16をオフ状態とすることで、リアクトル電流iLが遮断され、リアクトル12の端部に直流電源10の電圧(電池電圧vb)よりも高い電圧が生じ、これに応じた電流が出力端に向けて流れてコンデンサ18が充電されてコンデンサ電圧vcが上昇する。このコンデンサ電圧vcが負荷102に印加される。電力変換装置100の出力電圧、すなわちコンデンサ電圧vcは、第1スイッチング素子14及び第2スイッチング素子16のオン期間の比であるデューティ比によって決定される。
電力変換装置100は、制御装置104によって制御される。本実施の形態では、電力変換装置100の現在の状態値が制御装置104へ入力され、制御装置104は入力された状態値に応じて電力変換装置100を制御する。状態値として、直流電源10の電圧vb、リアクトル12を流れるリアクトル電流iL、コンデンサ18の両端のコンデンサ電圧vc、負荷であるモータの電流iu,iw及びモータの回転角θが制御装置104へ入力される。制御装置104は、モータの電流iu,iw及びモータの回転角θから電力変換装置100の出力電流imを算出する。
図2は、制御装置104の構成を示す図である。制御装置104は、PI制御器20、インダクタンス設定器22、予測時間計算器24、モデル予測制御器(MPC)26及びリミッタ28を含んで構成される。
PI制御器20は、電力変換装置100の制御の指令値となるコンデンサ電圧指令値vc *とコンデンサ18の現在の電圧値であるコンデンサ電圧vcとの偏差を受けて、MPC26での制御の目標値とするコンデンサ電圧指令値vc **を出力する。コンデンサ電圧指令値vc **は、MPC26へ入力される。
インダクタンス設定器22は、現在のリアクトル電流iLに基づいて現在のリアクトル12の値(インダクタンス)を求める。電力変換装置100では、リアクトル電流iLに応じてリアクトル12のインダクタンスLは変化する。図3は、電流値に対するリアクトル12のインダクタンスLの変化を示す図である。図3において、横軸の電流値は最大電流を1として正規化し、縦軸のインダクタンスLは電流値が0のときを1として正規化して示している。インダクタンス設定器22は、図3におけるリアクトル電流iLとインダクタンスLとの関係を示す関係式又はデータベースに基づいてリアクトル電流iLに応じたインダクタンスLを設定して出力する。インダクタンスLは、予測時間計算器24及びMPC26に入力される。
予測時間計算器24は、MPC26において電力変換装置100の状態値の予測を行う際に使用される予測時間を計算する。すなわち、予測時間計算器24では、電力変換装置100のデューティ比dを変化させた時のコンデンサ18のコンデンサ電圧vcが変化するまでの時間、すなわちデューティ比を変化させたときのコンデンサ18を流れるコンデンサ電流i c の変化に伴うコンデンサ電圧v c の変化量が所定値になるまでの時間を予測時間として算出する処理を行う。
コンデンサ電圧vcとコンデンサ電流icとは数式(1)の関係式、コンデンサ電流icと負荷電流imとは数式(2)の関係式、リアクトル電流iLとコンデンサ電圧vcとは数式(3)の関係式で表される。ここで、コンデンサ18の値(キャパシティ)C、リアクトル12の値(インダクタンス)L、予測時間Tpとする。インダクタンスLは、インダクタンス設定器22によって求められた値を適用する。
なお、kは、制御回数を示す。例えば、d(k)は、k回目の制御におけるデューティ比dを表し、d(k+1)は、k+1回目の制御におけるデューティ比dを表す。他の状態量についても同様である。
数式(1)を微分すると数式(4)が得られる。
数式(4)に数式(2)を代入すると数式(5)が得られる。
数式(5)において負荷電流imが変化しないものとすると数式(6)となる。
数式(6)に数式(3)を変形した数式(7)を代入すると数式(8)が得られる。
数式(8)を整理し、予測時間Tpに対する二次方程式にまとめると数式(9)となる。
ここで、予測時間Tpは、制御周期Tcとステップ数nとの積(Tp=Tc×n)として表すことができるので、数式(9)はステップ数nに対する二次方程式である数式(10)として表すことができる。なお、数式(10)における各項の係数をそれぞれa,b,cとする。
二次方程式をステップ数nについて解くと数式(11)となる。なお、ステップ数nは常に正の数であるので、数式(11)の+符号のみをステップ数nとして算出すればよい。ステップ数nに制御周期Tcを乗算することによって予測時間Tpが算出される。予測時間Tpは、MPC26へ入力される。
MPC26では、電力変換装置100の状態方程式を用いて、第1スイッチング素子14及び第2スイッチング素子16のデューティ比dを複数の異なる値に変化させたときの電力変換装置100における所定の状態値(状態量)に対する予測値を算出し、状態値(状態量)の目標を示す指令値と予測値との差に応じて電力変換装置100を制御する。
本実施の形態では、MPC26は、所定の状態値としてコンデンサ18の電圧の予測値であるコンデンサ電圧予測値vc ^(ハット)を算出する。そして、MPC26は、コンデンサ電圧指令値vc **に近づくようなコンデンサ電圧予測値vc ^(ハット)となるデューティ比d(=d(k+1))を求める処理を行う。
MPC26は、図4に示すように、加算器30(30−2〜30−129)、予測演算器32(32−1〜32−129)、評価関数演算器34(34−1〜34−129)、最小値選択器36を含んで構成される。
加算器30(30−2〜30−129)は、現在のデューティ比d(k)に所定値を加算することによりデューティ比d(k)に変化を与えて出力する。本実施の形態では、デューティ比d(k)は、0〜1023の値の範囲で表されるものとする。すなわち、下アームである第2スイッチング素子16が常時オンであり、上アームである第1スイッチング素子14が常時オフである状態のときのデューティ比dが0で表されるものとする。また、下アームである第2スイッチング素子16が常時オフであり、上アームである第1スイッチング素子14が常時オンである状態のときのデューティ比dが1023で表されるものとする。加算器30は、現在のデューティ比d(k)を中心値として、d(k)±64の範囲で変化を与えて出力する。変化の範囲は、電力変換装置100のデッドタイムの期間及びPWM周期に基づいて設定することが好適である。例えば、デッドタイム/PWM周期×デューティ比dの数値範囲で算出される値よりも大きな変換の範囲とすることが好適である。具体的には、デッドタイムが5μs、PWM周期が100μsである場合、デューティ比dを0〜1023の範囲で表した場合には5/100×1023=51よりも大きい数値範囲を変化の範囲とすることが好適である。一方、演算負荷をできるだけ小さくするために、変化の範囲はできるだけ狭い方が好適である。そこで、本実施の形態では、変化の範囲を±64とした例を示している。
加算器30−2は、現在のデューティ比d(k)に1を加算してd(k)+1を出力する。加算器30−3は、現在のデューティ比d(k)に2を加算してd(k)+2を出力する。同様に、加算器30−4〜加算器30−65は、現在のデューティ比d(k)にそれぞれ3〜64を加算して出力する。また、加算器30−66は、現在のデューティ比d(k)から1を減算してd(k)−1を出力する。加算器30−67は、現在のデューティ比d(k)から2を減算してd(k)−2を出力する。同様に、加算器30−68〜加算器30−129は、現在のデューティ比d(k)からそれぞれ3〜64を減算して出力する。加算器30−2〜30−129からの出力は、それぞれ予測演算器32−2〜32−129へ入力される。
予測演算器32は、加算器30からの出力、コンデンサ電圧vc、リアクトル電流iL、電源電圧vb、出力電流(負荷電流)im及び予測時間Tpを用いてコンデンサ電圧予測値vc ^(ハット)を算出して出力する。
ここで、電力変換装置100の状態方程式は数式(12)にて表される。
数式(12)を双1次変換を用いて離散化させると数式(13)のように示される。
コンデンサ電圧予測値vc ^(ハット)は、左辺の1行目vc(k+1)をvc ^[d(k)+a](ハット)、Tを予測時間Tpに置き換えて展開した数式(14)を用いて算出される。
予測演算器32−1は、数式(14)のaを0としてvc ^[d(k)](ハット)を算出して出力する。予測演算器32−2は、数式(14)のaを1としてvc ^[d(k)+1](ハット)を算出して出力する。同様に、予測演算器32−3〜予測演算器32−65は、それぞれaを2〜64としてvc ^[d(k)+a](ハット)を算出して出力する。予測演算器32−66は、数式(14)のaを−1としてvc ^[d(k)−1](ハット)を算出して出力する。予測演算器32−67は、数式(14)のaを−2としてvc ^[d(k)−2](ハット)を算出して出力する。同様に、予測演算器32−68〜予測演算器32−129は、それぞれaを−3〜−64としてvc ^[d(k)+a](ハット)を算出して出力する。予測演算器32−1〜32−129の出力は、それぞれ評価関数演算器34−1〜34−129へ入力される。
評価関数演算器34は、PI制御器20から入力されたコンデンサ電圧指令値vc **及び予測演算器32から入力されたコンデンサ電圧予測値vc ^(ハット)に基づいて評価関数Jの演算を行い、演算結果を出力する。評価関数Jは、数式(15)にて表される。
評価関数演算器34−1は、数式(15)のaを0としてJ[d(k)]を算出して出力する。評価関数演算器34−2は、数式(15)のaを1としてJ[d(k)+1]を算出して出力する。同様に、評価関数演算器34−3〜評価関数演算器34−65は、それぞれaを2〜64としてJ[d(k)+a]を算出して出力する。評価関数演算器34−66は、数式(15)のaを−1としてJ[d(k)−1]を算出して出力する。評価関数演算器34−67は、数式(15)のaを−2としてJ[d(k)−2]を算出して出力する。同様に、評価関数演算器34−68〜評価関数演算器34−129は、それぞれaを−3〜−64としてJ[d(k)+a]を算出して出力する。評価関数演算器34−1〜34−129の出力は、最小値選択器36へ入力される。
最小値選択器36は、評価関数演算器34−1〜評価関数演算器34−129にて算出されたJ[d(k)],J[d(k)+1]・・・J[d(k)−64]のうち最小値を選択し、評価関数Jを最小値とするd(k)+aを次の制御の際のデューティ比d(k+1)として出力する。
リミッタ28は、MPC26から出力されたデューティ比d(k+1)の入力をうけ、入力されたデューティ比d(k+1)が最適デューティ比範囲DR内になるように制限する。
図5は、電力変換装置100からの出力Pとデューティ比dとの関係を示す。図5に示すように、出力Pを最大出力Pmaxとするためにはデューティ比dを電源電圧vb/(2×コンデンサ電圧vc)となるように電力変換装置100を制御すればよい。一方、デューティ比dが電源電圧vb/(2×コンデンサ電圧vc)を下回るように電力変換装置100を制御すると、出力Pが低下してしまう。そこで、デューティ比dを電源電圧vb/(2×コンデンサ電圧vc)を下限とした範囲となるように電力変換装置100を制御することが好適である。なお、最適デューティ比範囲DRは、必ずしも電源電圧vb/(2×コンデンサ電圧vc)を下限とした範囲に設定する必要はなく、例えば、図6に示すように、最大出力Pmaxよりも小さい出力値Paを出力上限としたときのデューティ比dLをその下限に設定してもよい。さらに、出力値Pbを回生上限としたときのデューティ比dHを最適デューティ比範囲DRの上限に設定してもよい。
リミッタ28は、MPC26からのデューティ比d(k+1)が設定された最適デューティ比範囲DR内の値であれば、MPC26から出力されたデューティ比d(k+1)をそのまま出力する。また、リミッタ28は、MPC26からのデューティ比d(k+1)が設定された最適デューティ比範囲DR外の値であれば、MPC26から出力されたデューティ比d(k+1)が最適デューティ比範囲DR内に収まるように制限して出力する。
制御装置104は、リミッタ28から出力されたデューティ比dとなるように第1スイッチング素子14及び第2スイッチング素子16のオン期間を制御する。これにより、電力変換装置100は、指令値とされるコンデンサ電圧指令値vc **となるようにコンデンサ電圧vcが制御される。
なお、本実施の形態では、コンデンサ電圧指令値vc **に基づいて制御を行う態様としたが、これに限定されるものではない。コンデンサ電圧指令値vc **に代えてリアクトル電流指令値iL *に基づいて制御を行う態様としてもよい。
この場合、PI制御器20は、電力変換装置100の制御の指令値となるコンデンサ電圧指令値vc *とコンデンサ18の現在の電圧値であるコンデンサ電圧vcとの偏差を受けて、MPC26での制御の目標値とするリアクトル電流指令値iL *を出力する。リアクトル電流指令値iL *は、MPC26へ入力される。
また、MPC26は、所定の状態値としてリアクトル12を流れる電流の予測値であるリアクトル電流予測値iL ^(ハット)を算出する。そして、MPC26は、リアクトル電流指令値iL *に近づくようなリアクトル電流予測値iL ^(ハット)となるデューティ比d(=d(k+1))を求める処理を行う。
具体的には、予測演算器32において、加算器30からの出力、コンデンサ電圧vc、リアクトル電流iL、電源電圧vb、出力電流(負荷電流)im及び予測時間Tpを用いてリアクトル電流予測値iL ^(ハット)を算出して出力する。リアクトル電流予測値iL ^(ハット)は、数式(13)の左辺の2行目iL(k+1)をiL ^[d(k)+a](ハット)、Tを予測時間Tpに置き換えて展開した数式(16)を用いてリアクトル電流予測値iL ^[d(k)+a](ハット)を算出すればよい。
評価関数演算器34は、PI制御器20から入力されたリアクトル電流指令値iL *及び予測演算器32から入力されたリアクトル電流予測値iL ^(ハット)に基づいて評価関数Jの演算を行い、演算結果を出力する。評価関数Jは、数式(17)にて表される。
最小値選択器36は、評価関数演算器34−1〜評価関数演算器34−129にて算出されたJ[d(k)],J[d(k)+1]・・・J[d(k)−64]のうち最小値を選択し、評価関数Jを最小値とするd(k)+aを次の制御の際のデューティ比d(k+1)として出力する。リミッタ28は、MPC26から出力されたデューティ比d(k+1)の入力をうけ、入力されたデューティ比d(k+1)が最適デューティ比範囲DR内になるように制限する。制御装置104は、このようにして得られたデューティ比d(k+1)に基づいて電力変換装置100を制御する。
なお、本実施の形態では、数式(11)の解として得られたステップ数nに制御周期Tcを乗算した値を予測時間Tpとしたが、予測時間Tpはステップ数nに制御周期Tcを乗算した値以上であればよい。
図7(a)〜図7(c)は、それぞれ第1の実施の形態における制御装置104によって電力変換装置100を制御したときのコンデンサ電圧指令値vc **、コンデンサ電圧vc及び電源電圧vbを示す。図8は、第1の実施の形態における制御装置104によって電力変換装置100を制御したときのリアクトル電流iLを示す。また、図9は、数式(11)の解を示す。
なお、図7、図8及び図9では、横軸の時間は同じ時間範囲を示している。また、図7(a)〜図7(c)では、縦軸の電圧値は同じ電圧範囲を示している。
本実施の形態における制御装置104によって、図7〜図9に示すように、電力変換装置100は指令値とされるコンデンサ電圧指令値vc **にコンデンサ電圧vcが追従するように制御できる。
一方、図10(a)〜図10(c)は、第1の実施の形態における予測時間Tpよりも短い時間を用いて電力変換装置100を制御したときのコンデンサ電圧指令値vc **、コンデンサ電圧vc及び電源電圧vbを示す。図11は、第1の実施の形態における予測時間Tpよりも短い時間を用いて電力変換装置100を制御したときのリアクトル電流iLを示す。また、図12は、第1の実施の形態における予測時間Tpよりも短い時間を用いたときの数式(11)の解を示す。
なお、図10、図11及び図12では、横軸の時間は同じ時間範囲を示している。また、図10(a)〜図10(c)では、縦軸の電圧値は同じ電圧範囲を示している。
第1の実施の形態における予測時間Tpよりも短い時間を用いた場合、図7〜図9に示すように、電力変換装置100はコンデンサ電圧vcが指令値とされるコンデンサ電圧指令値vc **に十分に追従しておらず、第1の実施の形態に比べて制御の安定性が低下する。
<第2の実施の形態>
第1の実施の形態では、リアクトル12を実際に流れるリアクトル電流iLを計測し、そのリアクトル電流iLに基づいてデューティ比dを制御する制御装置104の構成について説明した。第2の実施の形態では、電力変換装置200は、図13に示すように、リアクトル12を流れるリアクトル電流iLを計測するためのセンサを備えない。その代わりに、図14に示すように、制御装置104aに含まれるオブザーバ40では、誤差デューティ比推定値Δd〜(=Δd〜(k)(チルダ))及びリアクトル12を流れる電流の推定値であるリアクトル電流推定値iL 〜(チルダ)を算出して出力する。
電力変換装置200の状態方程式は数式(12)で表され、数式(12)にデッドタイムを考慮した誤差デューティ比Δdを組み込むと数式(18)に示す状態方程式となる。
数式(18)を双1次変換を用いて離散化させると数式(19)のように示される。
数式(19)に基づいて、コンデンサ18の電圧の予測値であるコンデンサ電圧予測値(チルダ)vc 〜(k)、リアクトル12の電流の予測値であるリアクトル電流予測値(チルダ)iL 〜(k)及び誤差デューティ比の予測値である誤差デューティ比予測値(チルダ)Δd〜(k)は数式(20)のように表すことができる。ここで、制御周期Tであり、h1〜h3は比例定数である。
オブザーバ40は、入力されたコンデンサ電圧指令値vc *、コンデンサ電圧vc、リアクトル電流iL、電源電圧vb及び出力電流imを数式(20)に代入することによって、現在の誤差デューティ比Δd(=Δd(k))の推定値を算出する。なお、推定される誤差デューティ比推定値Δd〜(=Δd〜(k)(チルダ))は、数式(20)におけるkをk−1に読み替えて処理することによって算出することができる。算出された誤差デューティ比推定値Δd〜(=Δd〜(k)(チルダ))は、MPC26aに入力される。
また、オブザーバ40は、コンデンサ電圧指令値vc *、コンデンサ電圧vc、電源電圧vb及び出力電流imを数式(20)の代入することによって、リアクトル電流推定値iL 〜(=iL 〜(k)(チルダ))を算出する。なお、リアクトル電流推定値iL 〜(=iL 〜(k)(チルダ))は、数式(20)におけるkをk−1に読み替えて処理することによって算出することができる。算出されたリアクトル電流推定値iL 〜(=iL 〜(k)(チルダ))は、インダクタンス設定器22a及びMPC26aに入力される。
インダクタンス設定器22aは、インダクタンス設定器22において現在のリアクトル電流iLを用いたのに代えて、リアクトル電流推定値iL 〜(=iL 〜(k)(チルダ))に基づいて現在のリアクトル12の値(インダクタンス)を求める。インダクタンス設定器22aは、図3におけるリアクトル電流iLとインダクタンスLとの関係を示す関係式又はデータベースに基づいてリアクトル電流推定値iL 〜(=iL 〜(k)(チルダ))に応じたインダクタンスLを設定して出力する。インダクタンスLは、予測時間計算器24及びMPC26aに入力される。
予測時間計算器24は、MPC26aにおいて電力変換装置200の状態値の予測を行う際に使用される予測時間Tpを計算する。予測時間計算器24での処理は、第1の実施の形態と同様であるので説明を省略する。
MPC26aでは、電力変換装置200の状態方程式を用いて、第1スイッチング素子14及び第2スイッチング素子16のデューティ比dを複数の異なる値に変化させたときの電力変換装置100における所定の状態値(状態量)に対する予測値を算出し、状態値(状態量)の目標を示す指令値と予測値との差に応じて電力変換装置200を制御する。
本実施の形態では、MPC26aは、所定の状態値としてコンデンサ18の電圧の予測値であるコンデンサ電圧予測値vc ^(ハット)を算出する。そして、MPC26aは、コンデンサ電圧指令値vc **に近づくようなコンデンサ電圧予測値vc ^(ハット)となるデューティ比d(=d(k+1))を求める処理を行う。
MPC26aは、図15に示すように、加算器30(30−2〜30−129)、予測演算器32a(32a−1〜32a−129)、評価関数演算器34a(34a−1〜34a−129)、最小値選択器36を含んで構成される。
加算器30(30−2〜30−129)は、第1の実施の形態と同様の処理を行うので、説明を省略する。
予測演算器32aは、加算器30からの出力、コンデンサ電圧vc、リアクトル電流推定値iL 〜(=iL 〜(k)(チルダ))、電源電圧vb、出力電流(負荷電流)im、誤差デューティ比推定値Δd〜(=Δd〜(k)(チルダ))及び予測時間Tpを用いてコンデンサ電圧予測値vc ^(ハット)を算出して出力する。予測演算器32aは、リアクトル電流iLの代わりに、リアクトル電流推定値iL 〜(=iL 〜(k)(チルダ))及び誤差デューティ比推定値Δd〜(=Δd〜(k)(チルダ))を用いる点で第1の実施の形態の予測演算器32と相違する。
数式(19)において、コンデンサ電圧予測値vc ^(ハット)は、左辺の1行目vc(k+1)をvc ^[d(k)+a](ハット)、右辺のiL(k)をiL 〜(=iL 〜(k)(チルダ))、Tを予測時間Tpに置き換えて展開した数式(21)を用いて算出される。
予測演算器32a−1は、数式(21)のaを0としてvc ^[d(k)](ハット)を算出して出力する。予測演算器32a−2は、数式(21)のaを1としてvc ^[d(k)+1](ハット)を算出して出力する。同様に、予測演算器32a−3〜予測演算器32a−65は、それぞれaを2〜64としてvc ^[d(k)+a](ハット)を算出して出力する。予測演算器32a−66は、数式(21)のaを−1としてvc ^[d(k)−1](ハット)を算出して出力する。予測演算器32a−67は、数式(21)のaを−2としてvc ^[d(k)−2](ハット)を算出して出力する。同様に、予測演算器32a−68〜予測演算器32a−129は、それぞれaを−3〜−64としてvc ^[d(k)+a](ハット)を算出して出力する。予測演算器32a−1〜32a−129の出力は、それぞれ評価関数演算器34a−1〜34a−129へ入力される。
評価関数演算器34aは、PI制御器20から入力されたコンデンサ電圧指令値vc **及び予測演算器32aから入力されたコンデンサ電圧予測値vc ^(ハット)に基づいて評価関数Jの演算を行い、演算結果を出力する。評価関数Jは、数式(15)を用いればよい。
評価関数演算器34a−1は、数式(15)のaを0としてJ[d(k)]を算出して出力する。評価関数演算器34a−2は、数式(15)のaを1としてJ[d(k)+1]を算出して出力する。同様に、評価関数演算器34a−3〜評価関数演算器34a−65は、それぞれaを2〜64としてJ[d(k)+a]を算出して出力する。評価関数演算器34a−66は、数式(15)のaを−1としてJ[d(k)−1]を算出して出力する。評価関数演算器34a−67は、数式(15)のaを−2としてJ[d(k)−2]を算出して出力する。同様に、評価関数演算器34a−68〜評価関数演算器34a−129は、それぞれaを−3〜−64としてJ[d(k)+a]を算出して出力する。評価関数演算器34a−1〜34a−129の出力は、最小値選択器36へ入力される。
なお、本実施の形態では、評価関数Jとして、数式(22)を用いることがより好適である。この場合も、評価関数演算器34a−1〜評価関数演算器34a−129にてそれぞれJ[d(k)],J[d(k)+1]・・・J[d(k)−64]を算出して出力する。
最小値選択器36は、評価関数演算器34a−1〜評価関数演算器34a−129にて算出されたJ[d(k)],J[d(k)+1]・・・J[d(k)−64]のうち最小値を選択し、評価関数Jを最小値とするd(k)+aを次の制御の際のデューティ比d(k+1)として出力する。
リミッタ28は、MPC26から出力されたデューティ比d(k+1)の入力をうけ、入力されたデューティ比d(k+1)が最適デューティ比範囲DR内になるように制限する。制御装置104aは、このようにして得られたデューティ比d(k+1)に基づいて電力変換装置200を制御する。
なお、オブザーバ40において、さらにコンデンサ18の電圧の推定値であるコンデンサ電圧推定値vc 〜(vc 〜(k))(チルダ)を算出するようにしてもよい。この場合、予測演算器32aでは、コンデンサ電圧推定値vc 〜(vc 〜(k))(チルダ)を用いてコンデンサ電圧予測値vc ^(ハット)を算出して出力する。コンデンサ電圧予測値vc ^(ハット)は、数式(19)において、左辺の1行目vc(k+1)をvc ^[d(k)+a](ハット)、右辺のiL(k)をiL 〜(=iL 〜(k)(チルダ))、vc(k)をvc 〜(=vc 〜(k)(チルダ))、Tを予測時間Tpに置き換えて展開した数式(23)を用いて算出される。
なお、本実施の形態では、コンデンサ電圧指令値vc **に基づいて制御を行う態様としたが、これに限定されるものではない。コンデンサ電圧指令値vc **に代えてリアクトル電流指令値iL *に基づいて制御を行う態様としてもよい。
この場合、PI制御器20は、電力変換装置200の制御の指令値となるコンデンサ電圧指令値vc *とコンデンサ18の現在の電圧値であるコンデンサ電圧vcとの偏差を受けて、MPC26aでの制御の目標値とするリアクトル電流指令値iL *を出力する。リアクトル電流指令値iL *は、MPC26aへ入力される。
また、MPC26aは、所定の状態値としてリアクトル12を流れる電流の予測値であるリアクトル電流予測値iL ^(ハット)を算出する。そして、MPC26aは、リアクトル電流指令値iL *に近づくようなリアクトル電流予測値iL ^(ハット)となるデューティ比d(=d(k+1))を求める処理を行う。
具体的には、予測演算器32aにおいて、加算器30からの出力、コンデンサ電圧vc、リアクトル電流推定値iL 〜(=iL 〜(k)(チルダ))、電源電圧vb、出力電流(負荷電流)im、誤差デューティ比推定値Δd〜(=Δd〜(k)(チルダ))及び予測時間Tpを用いてリアクトル電流予測値iL ^(ハット)を算出して出力する。リアクトル電流予測値iL ^(ハット)は、数式(19)の左辺の2行目iL(k+1)をiL ^[d(k)+a](ハット)、右辺のiL(k)をiL 〜(=iL 〜(k)(チルダ))、Tを予測時間Tpに置き換えて展開した数式を用いてリアクトル電流予測値iL ^[d(k)+a](ハット)を算出すればよい。
評価関数演算器34は、PI制御器20から入力されたリアクトル電流指令値iL *及び予測演算器32aから入力されたリアクトル電流予測値iL ^(ハット)に基づいて評価関数Jの演算を行い、演算結果を出力する。評価関数Jは、数式(17)を用いればよい。
なお、評価関数Jとして、数式(24)を用いることがより好適である。この場合も、評価関数演算器34a−1〜評価関数演算器34a−129にてそれぞれJ[d(k)],J[d(k)+1]・・・J[d(k)−64]を算出して出力する。
最小値選択器36は、評価関数演算器34−1〜評価関数演算器34−129にて算出されたJ[d(k)],J[d(k)+1]・・・J[d(k)−64]のうち最小値を選択し、評価関数Jを最小値とするd(k)+aを次の制御の際のデューティ比d(k+1)として出力する。リミッタ28は、MPC26から出力されたデューティ比d(k+1)の入力をうけ、入力されたデューティ比d(k+1)が最適デューティ比範囲DR内になるように制限する。制御装置104は、このようにして得られたデューティ比d(k+1)に基づいて電力変換装置100を制御する。
また、本実施の形態では、誤差デューティ比推定値Δd〜(=Δd〜(k)(チルダ))及びリアクトル電流推定値iL 〜(チルダ)を用いて制御を行う構成としたが、図1に示したようにリアクトル電流iLを計測するセンサが設けられている場合、リアクトル電流推定値iL 〜(チルダ)を推定することなくリアクトル電流iLを用いてもよい。
この場合、予測演算器32aにおいて、数式(21)の右辺におけるリアクトル電流推定値iL 〜(チルダ)を実際に測定されたリアクトル電流iLに置き換えてコンデンサ電圧予測値vc ^(ハット)を算出すればよい。また、予測演算器32aにおいて、数式(23)の右辺におけるリアクトル電流推定値iL 〜(チルダ)を実際に測定されたリアクトル電流iLに置き換えてリアクトル電流予測値iL ^(ハット)を算出すればよい。
本実施の形態における電力変換装置200においても、制御装置104aによる制御を適用することによって、第1の実施の形態と同様の安定した制御を実現することができる。
<第3の実施の形態>
第3の実施の形態は、MPC26aの構成を変更したものである。本実施の形態では、MPC26aは、電力変換装置200の状態方程式を第1スイッチング素子14及び第2スイッチング素子16のデューティ比dに対する二次方程式に変形し、当該二次方程式にオブザーバ40で算出されたリアクトル電流推定値iL 〜(チルダ)、コンデンサ電圧推定値vc 〜(チルダ)及び誤差デューティ比推定値Δd〜(チルダ)を適用することでデューティ比dを算出する。制御装置104aは、算出されたデューティ比dを用いて電力変換装置200を制御する。
数式(19)の左辺の2行目iL(k+1)をiL ^*(k)、右辺のd(k)をΔd〜(k)(チルダ)、リアクトル電流iLをリアクトル電流推定値iL 〜(k)(チルダ)、コンデンサ電圧vcをコンデンサ電圧推定値vc 〜(k)(チルダ)、Tを予測時間Tpに置き換えて、デューティ比d(k)に対する二次方程式に変更すると数式(25)となる。
数式(25)の二次方程式をデューティ比d(k+1)に対して解くと、数式(26)で表される。
MPC26aは、数式(26)に、電力変換装置200の各状態量及びオブザーバ40で算出されたリアクトル電流推定値iL 〜(チルダ)、コンデンサ電圧推定値vc 〜(チルダ)及び誤差デューティ比推定値Δd〜(チルダ)を代入することによって制御に用いるデューティ比d(k+1)を算出する。
リミッタ28は、MPC50から出力されたデューティ比d(k+1)の入力をうけ、入力されたデューティ比d(k+1)が最適デューティ比範囲DR内になるように制限する。制御装置104aは、リミッタ28から出力されたデューティ比d(=d(k+1))となるように第1スイッチング素子14及び第2スイッチング素子16のオン期間を制御する。これにより、電力変換装置200は、指令値とされるコンデンサ電圧指令値vc *及びリアクトル電流指令値iL *となるようにコンデンサ電圧vc及びリアクトル電流iLが制御される。
また、別の方法にてデューティ比d(k+1)を求めることもできる。数式(19)の左辺の1行目vc(k+1)をvc ^*(k)、右辺のd(k)をΔd〜(k)(チルダ)、リアクトル電流iLをリアクトル電流推定値iL 〜(k)(チルダ)、コンデンサ電圧vcをコンデンサ電圧推定値vc 〜(k)(チルダ)、Tを予測時間Tpに置き換えて、デューティ比d(k)に対する二次方程式に変更すると数式(27)となる。
数式(27)の二次方程式をデューティ比d(k+1)に対して解くと、数式(28)で表される。
MPC26aは、数式(28)に、電力変換装置200の各状態量及びオブザーバ40で算出されたリアクトル電流推定値iL 〜(チルダ)、コンデンサ電圧推定値vc 〜(チルダ)及び誤差デューティ比推定値Δd〜(チルダ)を代入することによって制御に用いるデューティ比d(k+1)を算出する。制御装置104aは、算出されたデューティ比d(k+1)を用いて電力変換装置200を制御する。
また、さらに別の方法にてデューティ比d(k+1)を求めることもできる。MPC26aにおいて、リアクトル電流推定値iL 〜(チルダ)及びコンデンサ電圧推定値vc 〜(チルダ)の代わりに、それぞれリアクトル電流iL及びコンデンサ電圧vcの実測値を適用してもよい。この場合、リアクトル電流iL及びコンデンサ電圧vcを計測するためのセンサを設ければよい。この場合、数式(19)は、数式(29)に示すような二次方程式に変更される。
数式(29)の二次方程式をデューティ比d(k+1)に対して解くと、数式(30)で表される。
MPC26aは、数式(28)に、電力変換装置200の各状態量及びリアクトル電流iL、コンデンサ電圧vc及び誤差デューティ比推定値Δd〜(チルダ)を代入することによって制御に用いるデューティ比d(k+1)を算出する。制御装置104aは、算出されたデューティ比d(k+1)を用いて電力変換装置200を制御する。
これらの方法においても、電力変換装置200は、指令値とされるコンデンサ電圧指令値vc *及びリアクトル電流指令値iL *となるようにコンデンサ電圧vc及びリアクトル電流iLが制御される。
<第4の実施の形態>
上記第1〜第3の実施の形態では、MPC26又はMPC26aにおける状態値の予測のための予測時間Tpを適正化する態様について説明した。これに対して、第4の実施の形態では、状態値に対する指令値を設定するための整定時間Tsを適正化する態様について説明する。
図16は、本発明の実施の形態における電力変換装置300の基本構成を示す。電力変換装置300は、直流電源10、リアクトル12、第1スイッチング素子14、第2スイッチング素子16及びコンデンサ18を含んで構成される。直流電源10、リアクトル12、第1スイッチング素子14、第2スイッチング素子16及びコンデンサ18の構成については、第1〜第3の実施の形態と同様であるので説明を省略する。
電力変換装置300は、制御装置104bによって制御される。本実施の形態では、電力変換装置300の現在の状態値が制御装置104bへ入力され、制御装置104bは入力された状態値に応じて電力変換装置300を制御する。状態値として、直流電源10の電圧vb、リアクトル12を流れるリアクトル電流iL、コンデンサ18の両端のコンデンサ電圧vc、負荷であるモータの電流iu,iw及びモータの回転角θが制御装置104へ入力される。制御装置104は、モータの電流iu,iw及びモータの回転角θから電力変換装置100の出力電流imを算出する。
図17は、制御装置104bの構成を示す図である。制御装置104bは、オブザーバ40、指令値生成器50、インダクタンス設定器22a、整定時間計算器52、モデル予測制御器(MPC)26b及びリミッタ28を含んで構成される。
オブザーバ40は、第2の実施の形態と同様に、入力されたコンデンサ電圧指令値vc *、コンデンサ電圧vc、リアクトル電流iL、電源電圧vb及び出力電流imを数式(20)に代入することによって、誤差デューティ比推定値Δd〜(=Δd〜(k)(チルダ))及びリアクトル電流推定値iL 〜(=iL 〜(k)(チルダ))を算出する。誤差デューティ比推定値Δd〜(=Δd〜(k)(チルダ))及びリアクトル電流推定値iL 〜(=iL 〜(k)(チルダ))を算出する処理は、第2の実施の形態と同様であるので説明を省略する。
インダクタンス設定器22aは、オブザーバ40において算出されたリアクトル電流推定値iL 〜(チルダ)に基づいて現在のリアクトル12の値(インダクタンス)を求める。当該処理は、第2の実施の形態と同様であるので説明は省略する。インダクタンスLは、整定時間計算器52及びMPC26bに入力される。
整定時間計算器52は、指令値生成器50において状態量に対する指令値を設定するために使用される整定時間を計算する。すなわち、整定時間計算器52では、電力変換装置300のデューティ比dを変化させる制御を行う際に指令値となるリアクトル電流指令値iL *を設定するまでの時間を整定時間として算出する処理を行う。本実施の形態では、リアクトル電流指令値iL *を設定する基準となる整定時間Tsについて説明する。
数式(6)に、数式(3)を変形した数式(31)を代入すると数式(32)が得られる。なお、予測時間Tpを整定時間Tsに置き換える。
数式(32)を整理して、整定時間Tsに対する二次方程式に書き替えると数式(33)となる。
ここで、整定時間Tsは、制御周期Tcとステップ数nとの積(Ts=Tc×n)として表すことができるので、数式(33)はステップ数nに対する二次方程式である数式(34)として表すことができる。なお、数式(34)における各項の係数をそれぞれa,b,cとする。
二次方程式をステップ数nについて解くと数式(35)となる。なお、ステップ数nは常に正の数であるので、数式(35)の+符号のみをステップ数nとして算出すればよい。ステップ数nに制御周期Tcを乗算することによって整定時間Tsが算出される。整定時間Tsは、指令値生成器50及びMPC26bへ入力される。
指令値生成器50では、整定時間Tsに基づいてリアクトル電流指令値iL *が設定される。数式(19)において、左辺の第1行目のvc(k+1)をvc *(k)、右辺の第2項第2行第1列のiL(k)をiL *(k)、第2項第3行第1列のΔd(k)をΔd〜(k)(チルダ)、Tを整定時間Tsに置き換えて、1行目を整理すると数式(36)となる。指令値生成器50は、数式(36)に基づいてリアクトル電流指令値iL *(k)を設定してMPC26bに出力する。なお、本実施の形態では、リアクトル電流iLの代わりにリアクトル電流推定値iL 〜(k)(チルダ)を適用する。
MPC26bでは、電力変換装置300の状態方程式を用いて、第1スイッチング素子14及び第2スイッチング素子16のデューティ比dを複数の異なる値に変化させたときの電力変換装置300における所定の状態値(状態量)に対する予測値を算出し、整定時間Tsに基づいて設定された状態値(状態量)の指令値と予測値との差に応じて電力変換装置300を制御する。
本実施の形態では、MPC26bは、所定の状態値としてリアクトル12の予測値であるリアクトル電流予測値iL ^(ハット)を算出する。そして、MPC26bは、リアクトル電流指令値iL *に近づくようなリアクトル電流予測値iL ^(ハット)となるデューティ比d(=d(k+1))を求める処理を行う。
MPC26bは、図18に示すように、加算器30(30−2〜30−129)、予測演算器32b(32b−1〜32b−129)、評価関数演算器34b(34b−1〜34b−129)、最小値選択器36を含んで構成される。
加算器30(30−2〜30−129)は、第1の実施の形態と同様の処理を行うので、説明を省略する。
予測演算器32bは、加算器30からの出力、指令値生成器50からのリアクトル電流指令値iL *、コンデンサ電圧vc、リアクトル電流推定値iL 〜(=iL 〜(k)(チルダ))、電源電圧vb、出力電流(負荷電流)im及び誤差デューティ比推定値Δd〜(=Δd〜(k)(チルダ))を用いてリアクトル電流予測値iL ^(ハット)を算出して出力する。予測演算器32bは、リアクトル電流iLの代わりに、リアクトル電流推定値iL 〜(=iL 〜(k)(チルダ))及び誤差デューティ比推定値Δd〜(=Δd〜(k)(チルダ))を用いると共に、指令値生成器50からのリアクトル電流指令値iL *に基づいて処理を行う点で予測演算器32と相違する。
数式(19)において、リアクトル電流予測値iL ^(ハット)は、左辺の2行目iL(k+1)をiL ^[d(k)+a](ハット)、右辺のiL(k)をiL 〜(=iL 〜(k)(チルダ))、誤差デューティ比Δdを誤差デューティ比推定値Δd〜(=Δd〜(k)(チルダ))に置き換えて展開した数式(37)を用いて算出される。
予測演算器32b−1は、数式(37)のaを0としてiL ^[d(k)](ハット)を算出して出力する。予測演算器32b−2は、数式(37)のaを1としてiL ^[d(k)+1](ハット)を算出して出力する。同様に、予測演算器32b−3〜予測演算器32b−65は、それぞれaを2〜64としてiL ^[d(k)+a](ハット)を算出して出力する。予測演算器32b−66は、数式(37)のaを−1としてiL ^[d(k)−1](ハット)を算出して出力する。予測演算器32b−67は、数式(37)のaを−2としてiL ^[d(k)−2](ハット)を算出して出力する。同様に、予測演算器32b−68〜予測演算器32b−129は、それぞれaを−3〜−64としてiL ^[d(k)+a](ハット)を算出して出力する。予測演算器32b−1〜32b−129の出力は、それぞれ評価関数演算器34b−1〜34b−129へ入力される。
評価関数演算器34bは、指令値生成器50から入力されたリアクトル電流指令値iL *及び予測演算器32bから入力されたリアクトル電流予測値iL ^(ハット)に基づいて評価関数Jの演算を行い、演算結果を出力する。評価関数Jは、数式(24)を用いればよい。なお、本実施の形態でも、評価関数Jとして、数式(17)を用いてもよい。
評価関数演算器34b−1は、数式(24)のaを0としてJ[d(k)]を算出して出力する。評価関数演算器34b−2は、数式(24)のaを1としてJ[d(k)+1]を算出して出力する。同様に、評価関数演算器34b−3〜評価関数演算器34b−65は、それぞれaを2〜64としてJ[d(k)+a]を算出して出力する。評価関数演算器34b−66は、数式(24)のaを−1としてJ[d(k)−1]を算出して出力する。評価関数演算器34b−67は、数式(24)のaを−2としてJ[d(k)−2]を算出して出力する。同様に、評価関数演算器34b−68〜評価関数演算器34b−129は、それぞれaを−3〜−64としてJ[d(k)+a]を算出して出力する。評価関数演算器34b−1〜34b−129の出力は、最小値選択器36へ入力される。
最小値選択器36は、評価関数演算器34b−1〜評価関数演算器34b−129にて算出されたJ[d(k)],J[d(k)+1]・・・J[d(k)−64]のうち最小値を選択し、評価関数Jを最小値とするd(k)+aを次の制御の際のデューティ比d(k+1)として出力する。
リミッタ28は、MPC26bから出力されたデューティ比d(k+1)の入力をうけ、入力されたデューティ比d(k+1)が最適デューティ比範囲DR内になるように制限する。制御装置104bは、リミッタ28から出力されたデューティ比d(k+1)となるように第1スイッチング素子14及び第2スイッチング素子16のオン期間を制御する。これにより、電力変換装置100は、リアクトル電流指令値iL *となるようにリアクトル電流iLが制御される。
図19(a)〜図19(c)は、それぞれ第4の実施の形態における制御装置104bによって電力変換装置300を制御したときのコンデンサ電圧指令値vc *、コンデンサ電圧vc及び電源電圧vbを示す。図20(a)〜図20(b)は、第4の実施の形態における制御装置104bによって電力変換装置300を制御したときのリアクトル電流指令値iL *及びリアクトル電流iLを示す。また、図21は、数式(35)の解を示す。
なお、図19、図20及び図21では、横軸の時間は同じ時間範囲を示している。また、図19(a)〜図19(c)では、縦軸の電圧値は同じ電圧範囲を示している。また、図20(a)〜図20(b)では、縦軸の電流値は同じ電流範囲を示している。
本実施の形態における制御装置104bによって、図19〜図21に示すように、電力変換装置300は指令値とされるコンデンサ電圧指令値vc *及びリアクトル電流指令値iL *にコンデンサ電圧vc及びリアクトル電流iLが追従するように制御できる。
一方、図22(a)〜図22(c)は、第4の実施の形態における整定時間Tsよりも短い時間を用いて電力変換装置300を制御したときのコンデンサ電圧指令値vc *、コンデンサ電圧vc及び電源電圧vbを示す。図23(a)〜図23(b)は、第4の実施の形態における整定時間Tsよりも短い時間を用いて電力変換装置300を制御したときのリアクトル電流指令値iL *及びリアクトル電流iLを示す。また、図24は、第4の実施の形態における整定時間TSよりも短い時間を用いたときの数式(35)の解を示す。
なお、図22、図23及び図24では、横軸の時間は同じ時間範囲を示している。また、図22(a)〜図22(c)では、縦軸の電圧値は同じ電圧範囲を示している。また、図23(a)〜図23(b)では、縦軸の電流値は同じ電流範囲を示している。
第4の実施の形態における整定時間TSよりも短い時間を用いた場合、図22〜図24に示すように、電力変換装置300はコンデンサ電圧指令値vc *及びリアクトル電流指令値iL *にコンデンサ電圧vc及びリアクトル電流iLが十分に追従しておらず、第4の実施の形態に比べて制御の安定性が低下する。
なお、リアクトル12を実際に流れるリアクトル電流iLを測定するためのセンサが設けられている場合、上記実施の形態においてリアクトル電流推定値iL 〜(k)(チルダ)の代わりに実測されたリアクトル電流iLを各数式に適用して処理を行ってもよい。
<第5の実施の形態>
指令値生成器50で設定されたリアクトル電流指令値iL *は、第3の実施の形態における処理にも適用することができる。すなわち、MPC26aは、数式(25)の二次方程式に基づいてデューティ比d(k+1)を算出する際に、指令値生成器50で設定されたリアクトル電流指令値iL *を適用してデューティ比d(k+1)を求める。その後は、算出されたデューティ比d(k+1)に基づいて第3の実施例と同様に制御が行われる。なお、数式(27)及び数式(29)に基づいて制御を行う場合も同様である。