PWM 整流器フィードバック用 V アンプ・I アンプ回路設計 - 静岡理工科大学

PWM 整流器フィードバック用 V アンプ・I アンプ回路設計
静岡理工科大学
電力変換装置研究室
1.直流電圧制御用 V アンプ基本回路の説明
図1
V アンプのブロック線図と基本回路
PWM 整流器の直流電圧一定制御に用いる V アンプの設計について述べる。これは比例積分制御と 1 次遅れ
くの組み合わせである。1 次遅れを用いるのはスイッチングリプルを除去する、正帰還を防止する目的である。
ブロック線図より、この V アンプの伝達関数を求めると
(1)
となる。また、この伝達関数をオペアンプで構成すると
(2)
となる。PI の伝達関数は
(3)
であり、
(4)
であるので、ゲイン、位相は
(5)
(6)
-90°≦θ≦0°
(7)
また、1 次遅れの伝達関数は
(8)
(9)
であるので、ゲイン、位相は
(10)
(11)
-90°≦θ≦0°
(12)
PI と 1 次遅れの折線近似によるボード線図を図 2 に示す。
PI の折線近似
1 次遅れの折線近似
図2
折線近似によるボード線図
PI の折線近似の時定数 TI と 1 次遅れの時定数 T が十分に離れていれば上記の折線近似を合成すれば良いが、
V アンプを設計する際は正帰還防止の理由があるため、それほど大きな差は出ない。以下、周波数への換算は
f=ω/2πで計算する。1次遅れと PD を組み合わせた場合のゲイン・位相は次式となる。
(13)
(14)
ここで、TI を 7.05[ms](22.5[Hz])、T を 2.9[ms] (55[Hz])、Kp を 1.87 でボード線図を描くと図 3 となる。位相余
裕は 72.8°である。
図3
V アンプのボード線図
デジタル制御を行う場合は双一次変換をこのまま行えば良いが、アナログ回路で構成する場合、図 1 のオペア
ンプ回路の定数を設計しなければならない。ここでは R1 を 47k[Ω]とする。
となる。
2.交流電流制御用 I アンプ基本回路の説明
図4
I アンプのブロック線図と基本回路
PWM 整流器の交流電流追従制御に用いる I アンプの設計について述べる。これは比例微分制御と 1 次遅れ
くの組み合わせである。1 次遅れを用いるのはスイッチングリプルを除去する、純粋な微分はノイズで誤動作
するので効果を鈍らせる、正帰還を防止する目的である。ブロック線図より、この I アンプの伝達関数を求め
ると
(16)
となる。また、この伝達関数をオペアンプで構成すると
(17)
となる。PD の伝達関数は
(18)
であり、
(19)
であるので、ゲイン、位相は
(20)
(21)
0°≦θ≦90°
(22)
となる。PD と 1 次遅れの折線近似によるボード線図を図 5 に示す。
PD の折線近似
1 次遅れの折線近似
図5
折線近似によるボード線図
PD の折線近似の時定数 TD と 1 次遅れの時定数 T が十分に離れていれば上記の折線近似を合成すれば良いが、
I アンプを設計する際はスイッチングリプル除去と正帰還防止の目的がある。ホール CT、電流振幅調整用のマ
ッチング回路(バッファ回路)は 1 次遅れで近似できるが、これらでも位相遅れが生じるため、正帰還で不安定
となりやすい。これらの位相遅れ(カットオフ周波数はかなり高い所にある)を補償する(進ませる)ために
D(微分)制御を入れている。以下、周波数への換算は f=ω/2πで計算する。1次遅れと PD を組み合わせた場合
のゲイン・位相は次式となる。
(23)
(24)
ここで、T を 3.52[ms] (45.2[Hz])、TD を 219.5[µs](725[Hz])、Kp を 31.9 でボード線図を描くと図 6 となる。
図6
I アンプのボード線図
デジタル制御を行う場合は双一次変換をこのまま行えば良いが、アナログ回路で構成する場合、図 4 のオペア
ンプ回路の定数を設計しなければならない。ここでは R1 を 47k[Ω]とする。
となる。
3.設計例
PWM 整流器の設計例を以下で行う。図 7 に PWM 整流器のブロック線図を示す。この PWM 整流器は入力 3
相線間定格電圧 200V,装置容量 10kVA,直流電圧 400V とする。
図7
PWM 整流器のブロック線図
3.1.直流電圧検出部
図 7 に示されている直流電圧 Vdc、受電電圧 Vs、入力電流 Irec を図のレンジで取り込む必要がある。最初に直流
電圧検出部について設計を行う。
図 8 に直流電圧検出部の回路構成を示す。
図8
直流電圧検出部の回路構成
PWM 整流器の直流電圧(電解コンデンサの電圧)を絶縁アンプ(入力最大電圧 5V)を介して取り込むために、抵
抗分圧させる。5V 以上の入力が継続すると絶縁アンプを壊すため、マージンを取って 4V 程度となるような分
圧比を選択した。なお、分圧抵抗の組み合わせは E6(「1.0」,「1.5」,「2.2」,「3.3」,「4.7」,「6.8」の 10 の倍
数)系列から選択した。図 8 の分圧抵抗にはそれぞれ 26.47mA の電流が流れる。6.8kΩの抵抗は 4.76W,680Ω
の抵抗は 0.48W,150Ωの抵抗は 0.11W の損失が生じる。表 1 に各種抵抗の温度上昇と設計負荷率を示す。プ
リント基板上では、温度上昇を 15℃以下に抑えたいので、1/2W 時の負荷率を 40%としている。セメント抵抗
は主回路やゲート回路等で使用され、温度上昇を 60℃以下とした。ホウロウ抵抗は主回路フィルタや放電抵抗
などで使用され、手に触れる箇所ではなく、主回路冷却用の風も吹いていると考え(想定より温度上昇が抑制
できる)、温度上昇を 100℃以下とした。いずれの抵抗も最大使用温度を超えると、抵抗値が補償されなくな
るため、周囲温度と温度上昇の和がこれを越えないよう注意する必要がある。
表1
各種抵抗の温度上昇と設計負荷率
6.8kΩの抵抗は 4.76W であるので、負荷率を考え 30W のホウロウ抵抗を選択,680Ωの抵抗は 0.48W であるの
で 3W のセメント抵抗,150Ωの抵抗は 0.11W であるが、余裕を持たせるため 0.5W の金属被膜抵抗を選択する。
次にマッチング回路部について設計する。図 9 に 1 次遅れのフィルタ兼ゲインマッチング回路を示す。1 次
遅れフィルタはリプル除去用である。
図9
1 次遅れのフィルタ兼ゲインマッチング回路
3.97V の入力電圧を 8V にしたいため、R1 の抵抗が 47kΩであれば、R2 の抵抗は 94.71kΩとしなければならない。
ただし、分圧抵抗の誤差、絶縁アンプの誤差を調整するため、±10%程度の調整機能を設ける。図9の R2 の抵抗
で説明すると 85.2 kΩから 104kΩに可変したい。そこで、図8のような 68kΩ+15kΩ+20kΩ(VR)の構成とした。ま
た、直流電圧に含まれるリプル成分をある程度除去したいため、1 次遅れのフィルタによる LPF を構成する必
要がある。このフィルタの時定数が大きすぎると制御ができなくなるので限度がある。このフィルタの時定数
は以下の式で与えられ、この時定数程度となるよう設計する必要がある。(杉本英彦編著「AC サーボシステム
の理論と設計の実際」,総合電子出版社,p90)(PWM インバータはせいぜいキャリア周波数 fc の約 1/3 以下の
周波数しか制御できないから、ノイズ源となる高周波を 1 次遅れ LPF でカット)
(24)
キャリア周波数 fc はここでは 6kHz としているので、R2 の抵抗が 94.71kΩならば、C2 は 880pF と計算される。
これを E6 系列から近い値になるよう選択すると 680pF+220pF となり、図 8 の定数と決定した。
なお、直流電圧が想定より高くなってしなった場合に、素子を保護するため、ゲートストップ、主電源から
の切り離しなどを行う必要がある。デジタル制御をする場合、この直流過電圧をマイコンで行っていては遅す
ぎて(演算周期の問題)、素子を破壊することがあるため、こういった過電圧検出はアナログで処理する必要
がある。図 7 に示した PWM 整流器の場合、整流器の仕様は 3 相入力電圧 200Vrms、入力電流 28.9Arms で装置容
量 10kVA である。直流電圧は 400V としている。この装置に使用する IGBT は 600V,100A の素子を選択する。
おおざっぱであるが、素子の選択は入力電圧実効値を 2 倍した直流電圧(400V)とし、直流電圧の 3/2 倍以上の
素子耐電圧(400*3/2=600V)を選択する。直流過電圧保護は、素子耐電圧の 80%以下(サージ電圧や負荷変動によ
るマージンを考え)と選択すべきで、ここでは 480V と設定する。なお、電流はおおよそ入力電流実効値を 3 倍
した素子耐電流以上(28.9*3=86.7A)を選択すれば良い。
図 10 に直流過電圧検出保護回路図を示す。図 8 のマッチング回路の出力を取り込んで、480V 以上の電圧で
ロ ジ ッ ク 信 号 を ラ ッ チ す る 回 路 で あ る 。 480V に な っ た と き 、 オ ペ ア ン プ へ の 入 力 電 流 Iin は
-9.6/47000=-204.255µA となる。また、10V 基準電源からオペアンプへの入力電流 Iin は 10/49000=204.08µA であ
り、480V 以下の場合はオペアンプのダイオードにフィードバック電流が流れるので 0V、480V を越えるとオペ
アンプの+の最大出力電圧が出力される。NEC のµPC824 の場合、±15V 電源を用いたとき最大出力電圧は、軽
負荷時(10kΩ)で標準 13.5V,ワースト値 12V である。15V 電源は±10%の電圧変動があるので、電源の最低電
圧は 13.5V である。最悪の条件における最大出力電圧は 13.5*12/15=10.8V である。分圧抵抗によって、HC14
には 10.8*2.2k/5.5k=4.32V が入力される。(1N4148(フェアチャイルド)は秋月で容易に入手可能なのでこれを選
択した)
(a)
過電圧検出回路
図 10
(b)
直流過電圧検出保護回路図
ロジック内部保護回路
HC14 の電源が 5V のとき、この電源も±10%の電圧変動がある。一番厳しいと思われる条件は 15V 電源が-10%
の 13.5V、5V 電源が+10%の 5.5V の場合である。HC14 の H レベルしきい値は、電源電圧 6V 時に素子のばら
つきを考慮すると最低 3.0V,最大 4.2V という特性を持つ。従って、電源電圧 5.5V のとき、最悪 5.5*4.2/6=3.85V
以上の電圧が入力されなければならない。オペアンプからの電圧は分圧抵抗を含んで 4.32V が最悪値であるの
で、確実に異常を検出できることがわかる。
HC14 の入力には図 10 に示すように入力保護ダイオードがある。この入力保護ダイオードには最大 20mA ま
で流すことができる。このダイオードに一番大きな電流が流れる条件は 15V 電源が+10%の 16.5V、5V 電源が
-10%の 4.5V の場合である。このとき、オペアンプの最大出力電圧のワースト値は 16.5*13.5/15=14.85V であり、
分圧抵抗を介して HC14 に入力される電圧は 14.85*2.2k/5.5k=5.94V となる。例え 15V 電源のみが確立し、5V
電源が確立しておらず 0V 状態であっても 5.94/3.3k=1.8mA であるので、HC14 が壊れることはない。故に、分
圧抵抗は 3.3k と 2.2k ならば確実に異常を検出できるといえる。
次に、この検出した直流電圧をマイコンに取り込む電圧レベル変換回路について述べる。アナログ回路は基
本的に±10V フルスケールで設計する。(最悪の条件における OP アンプ最大出力電圧は 13.5*12/15=10.8V よ
り±10V フルスケール)図 8 の出力/VDC は-10V から 0V(フルスケール 10V)が出力されるが、これをマイコンの
A/D 入力(ここでは 0V~5V)のフルスケールに電圧変換する必要がある。図 11 に直流電圧 A/D 用レベル変換回
路図を示す。
l
図 11
直流電圧 A/D 用レベル変換回路
反転増幅回路のフィードバック抵抗と並列に接続されたコンデンサは発振防止用コンデンサである。これは単
なる比例ゲインのアンプでも、つけておくべきお守りである。(0.1µF 程度のパスコンも IC1 個につき±電源
にそれぞれ 1 個ずつつけるべし)100Ωの抵抗が 2 個 A/D 入力の前に接続されているが、これは A/D 入力にサ
ージ電圧などの流入を防止するリミット回路である。
3.2.交流電流検出部
図 12 に交流電流検出部の回路構成を示す。
ホール CT の周波数応答
時定数 3µs なので
53kHz(-3dB)
図 12
交流電流検出部の回路構成
PWM 整流器の入力電流をホール CT(±4V 出力/±100A)を介して取り込む。Iu+Iv+Iw=0 より、Iv=-Iu-Iw で求ま
るため、u 相と w 相の 2 相分の電流のみを検出している。ホール CT は U_RD 社の HCS-20-100A-AP を選択し
た。この装置は損失等を無視(通常 5%程度の損失分を上乗せする)すれば電源電圧 200Vrms 時に定格入力電流
が 28.9Arms となる。入力電圧は±10%の電圧変動があり、電圧-10%時には電流は 10%増加(31.8Arms)して動作
することとなる。PWM 整流器では電流は正弦波状に制御されるので、最大値は 1.4142*31.8=45A となる。リ
プル分が 10%と考えると 50A 以上のホール CT が必要となる。UR_D 社の±15V 電源のホール CT の定格電流
は±10A,±20A,±50A,±100A,±150A,±200A,±500A,±800A があり、この条件に見合う機種を選定した結果、
100A のものを選んだ。
今回使用する IGBT は 600V,100A の素子を選択しているが、マージンを定格電流の 80%以下で使用すると考
えると、80A 以下で過電流設定をしなければならない。ワースト時の定格電流振幅値が 45A に対して、IGBT
に流す最大電流 80A の割合は 80/45=1.78 である。ここでは制御回路内のフルスケール電圧は±10V 以内として
いるため、10/1.78/1.4142=3.97Vrms 程度の交流電圧が出るようなマッチングゲインが必要である。よって、
4Vrms/31.8Arms となるゲインを設計する。31.8Arms のとき、ホール CT 出力は 1.272Vrms となる。マッチング
回路の出力を 4Vrms とするには 3.14 倍のゲインが必要となる。入力抵抗を 47k+4.7k=51.7kΩとすると、フィー
ドバック抵抗は 162.3kΩ必要となる。ホール CT の誤差を調整するため、±10%程度の調整を可能とさせるに
は、フィードバック抵抗を 146kΩ~179 kΩとする必要がある。一般的に製造されている可変抵抗は 10 kΩ,20
kΩ,50 kΩの中からの選択となるので、ここでは 20kΩを選択する。よって固定抵抗は 150kΩを選択すること
とした。(24)式より、キャリア周波数 fc は 6kHz,フィードバック抵抗が 162.3kΩならば、C2 は 513pF と計算さ
れる。これを E6 系列から近い値になるよう選択すると 470pF となる。また、ホール CT のオフセットを調整
するため、162.3k/2.2M*±10=±738mV の調節ができるようにし、図 12 の定数と決定した。
直流過電圧保護と同様に、素子を保護するため、ゲートストップ、主電源からの切り離しなどを行う必要が
ある。前述したように IGBT 定格素子電流の 80%以下で使用すると考えると、80A 以下で過電流設定をしなけ
ればならない。また、アナログ回路のフルスケール電圧は±10V 以内も満たさなければならない。31.8Arms の
電流がマッチング回路で 4Vrms になり、このピーク値は 5.66V である。この定格電流の 175%のとき、IGBT
には 78.7A 流れ、マッチング回路出力は最大で 9.9V となるので、条件を満たしている。図 13 に瞬時交流過電
流検出保護回路図を示す。
(a)
過電流検出回路図
図 13
(b)
IN4148 順方向電圧
瞬時交流過電流検出保護回路図
定格電流 175%のときのマッチング回路出力のピーク値は 9.9V である。これを図 13(a)の回路で三相全波整流
して過電流検出を行う。9.9V の出力電圧が、オペアンプの入力抵抗 47kΩに流れるため、入力電流はおおよそ
9.9/47k=210µA となる。信号用ダイオード 1N4148 の順方向電流 210µA に対する順方向電圧は図 13(b)からおお
よそ 0.53V と読み取れる。よって三相全波整流の出力は-(9.9-0.53)=-9.37V となる。9.37/47k=199.4 µA の入力電
流が比較器に流れるため、+10V 電源からの入力抵抗はおおよそ 50kΩとすることで検出可能となる。なお、図
13(a)の赤丸で示したダイオードは保険用であり、入力電流がなく、オフセット電圧やバイアス電流等で 0 付近
をうろうろするとオペアンプが 0V 又は最大電圧(13.5V 程度)でばたばたし、オペアンプが発振状態になること
を防止する目的で入れている。
図 14 にこの検出した交流入力電流をマイコンに取り込む電圧レベル変換回路を示す。アナログ回路は基本
的に±10V フルスケールで設計しており、電圧レベル変換回路によって、0A が 2.5V、+側の最大電流が+5V、
-側の最大電流が 0V となるようにレベルを変換し、マイコン内蔵 A/D に取り込ませている。
図 14
交流入力電流 A/D 用レベル変換回路
3.3.交流電圧検出部
図 15 に交流電圧検出部の回路構成を示す。
図 15
交流電圧検出部の回路構成
主回路との絶縁は、計器用変圧器 PT(Potential Transformer)を用いて行う。なお、JIS では PT と呼んでいるが、
IEC 規格では計器用変圧器は VT(Voltage Transformer)で表記されている。1 次側をスター結線、2 次側をΔ結線
することで、相電圧を検出している。2 次側に出力された相電圧は定格電圧時 3.43Vrms となり、これを 5Vrms
とするために 5/3.43=1.46 のゲインとしている。(24)式より、キャリア周波数 fc は 6kHz,フィードバック抵抗
が 68.51kΩならば、C2 は 1216pF と計算される。E6 系列から近い値を選択し、1000pF とした。入力電圧 200Vrms
は、±10%の変動があるため、220Vrms で動作し続ける可能性がある。ここでは過電圧保護は 120%(240Vrms)
以上で動作するように設定する。過電圧 120%時、マッチング回路出力の相電圧は 1.2*5*1.4142=8.49V となる。
このときダイオードに流れる電流は 8.49/47k=181 µA であるので VF 電圧は 0.53V となり、-7.96V が出力され
る。保護回路を図 16 に示す。
図 16
交流過電圧検出保護回路図
PWM インバータを相電圧の増幅アンプ(実際にはデッドタイムが無駄時間、三角波との比較部分が高周波
になるにつれ位相遅れが遅れるなどの特性がある)と考えると次式となる。なお、(25)の Vu は瞬時値を意味し
ている。
(25)
200Vrms の線間電圧を出力するには、変調率 a は
(26)
となる。PWM 整流器は、系統電圧とインバータ電圧との差電圧を制御して、リアクトルの電流を制御する。
このリアクトルに流れる電流が相電圧と同位相に制御されなければならない。これを電流制御系として考える
と、相電圧は外乱に相当するので、フィードフォワード制御であらかじめインバータ電圧指令値として与える
ことができる。図 7,図 15 より、相電圧は 5*1.4142=7.07V の振幅の正弦波であり、三角波の振幅は±10V で
あるので、(26)式の結果より、振幅が 8.165V の正弦波電圧になるよう、ゲインを与えなければならない。従っ
て、図 7 でフィードフォワードゲインを 8.165/7.07=1.155 で与えている。
4.シミュレーション上の制御モデル
図 17 に、これまでに設計を行った、検出回路の遅れ等を考慮した制御ブロック線図を示す。シミュレーシ
ョンを行う場合は、マッチング回路の 1 次遅れ、センサ類を 1 次遅れで近似したものを図のように使用しない
と、不安定になる可能性が多く、実機とは異なる結果となるので、注意が必要である。
図 17
検出回路の遅れ等を考慮した制御ブロック線図
5.電流制御系のモデル
図 18 に電流制御系モデルを示す。外乱を無視したこのブロックの開ループ(一巡伝達関数)のゲイン・位
相は(27),(28)式となる。
(a)
(b)
電流制御系ブロック線図
電流制御系モデルブロック線図
図 18
電流制御系モデル
(27)
(28)
-1
ただし、Gcg=4/31.8,Kinv=Vdc/20,tan は[deg]とする。
上記モデルを用いて制御を行う際、L の値、リプル除去フィルタ時定数 T2、比例ゲイン K2、微分時定数 TD が
現在不明な定数である。以下でこれらの値を設計することとする。(27),(28)式はエクセル等で解析する。
リアクトルの設計式は(29)式で表される。(「直列形電圧補償装置における LCR フィルタ設計法」,電気学
会論文誌 D,Vol.132,No.6,pp.642-650(2012 年 6 月))Vrms が線間定格電圧、Vdc が直流電圧、Is が定格電流、{%Irip}
がリプル率、fc がキャリア周波数を意味する。Vrms=200[Vrms],Vdc=400[V],Is=28.9[Arms],{%Irip} =0.2,fc=6[kHz]
とすると、Lf=527[µH]となるので、ここでは Lf=530[µH]とする。
(29)
上記条件、リプル率を 20%固定で、キャリア周波数を fc=1~20[kHz]に変化させたときの%インピーダンスを図
19 に示す。
図 19
キャリア周波数に対する%インピーダンス値(リプル率 20%時)
Lf=530[µH]は電源周波数 fn が 60Hz 時、%インピーダンスは 6%に相当する。
式(27),(28)から求まる開ループ特性によってボード線図を描くが、アナログ制御の場合、ゲインが 0[dB]とな
るゲイン交差周波数 fcross は次式以下としなければならない。(キャリア周波数 fc で PWM インバータが出せる電
圧の周波数は(30)式が限界なので、制御できる最大周波数となる。fc が高ければもっと高い周波数まで制御で
きます。マッチング部の方では fc /3 と説明しています。)
(30)
デジタル制御を行う場合、アナログ制御に比べてむだ時間が増加するので、この計算式よりゲイン交差周波数
は小さくする必要がある。(杉本英彦編著「AC サーボシステムの理論と設計の実際」,総合電子出版社,p117)
ここではマージンを取って 80%とし、fcross=0.8*1910=1528[Hz]と設定する。I アンプの 1 次遅れのカットオフ周
波数 fcut はゲイン交差周波数よりも十分低くする必要がある。また、後に設定する微分時定数 TD より大きくす
る必要がある。つまり 1 次遅れのカットオフ周波数 fcut は微分の周波数(1/2πTD)より低くしなければならない。
fcut はおおよそ fcross の 1/50 から 1/40 程度にすると fcross 点を設定しやすくなる。ここでは 1/45 として計算すると
次式となる。
(31)
I アンプの 1 次遅れ時定数 T2 はリプルの除去、微分を不完全微分とすることが目的と冒頭で述べたが、その他
に正帰還を防ぐためと言う箇所がゲイン交差周波数を設定することに相当し、T2 は次式で計算される。
(32)
電流制御系の場合、できるだけ比例制御のゲインを大きくして追従性を上げる必要があるので、ここでは位相
余裕を 40[deg]で設計することとする(位相余裕と比例ゲインはトレードオフの関係がある。比例ゲインを大き
くすればするほど、位相余裕は小さくなりがち)。上記条件で、開ループ伝達関数の位相余裕 40[deg],つまり
ゲイン交差周波数での位相遅れを 140[deg]とするための設計をアナログ制御用とデジタル制御用で設計する。
(28)式を用いて位相が 140[deg]となる TD を見つけることが必要である。(28)式のω=2πfcross と固定し、TD を変化
させてθが-140[deg]となる箇所を計算した結果を図 20 に示す。
図 20
ゲイン交差周波数での位相遅れを 140[deg]とするための TD 値
図 20 より、アナログ制御系では TD は 706[µs]、デジタル制御系では TD は 427[µs]と求まる。
これらのゲイン交差周波数で、(27)式が 0[dB]となる比例ゲイン K2 はアナログ制御系で 18.1、デジタル制御系
で 21.4 となる。これらの設計値を用いたアナログ系用及びデジタル系用の開ループボード線図を図 21 に示す。
(a)
アナログ用開ループボード線図
図 21
(b)
デジタル用開ループボード線図
開ループボード線図によるゲイン交差周波数,位相余裕,ゲイン余裕
図 21 に示すように、アナログ用では K2 が 18.1,TD は 706[µs]で設計通りゲイン交差周波数(0dB)が 1910[Hz],
位相余裕が 40[deg]となり、このときのゲイン余裕が 25.8[dB]となった。また、デジタル用では K2 が 21.4,TD
は 427[µs]で設計通りゲイン交差周波数(0dB)が 1528[Hz],位相余裕が 40[deg]となり、このときのゲイン余裕が
28.0[dB]となった。
この設計条件で閉ループボード線図を描くと図 22 となった。
(a)
アナログ用閉ループボード線図
図 21
(b)
デジタル用閉ループボード線図
閉ループボード線図による 60Hz でのゲイン位相特性とゲインピーク値
図 21 の結果より、PWM 整流器の電流制御系の追従特性に問題がないことがわかる。
6.直流電圧制御系のモデル
図 22 に直流電圧制御系モデルを示す。外乱を無視したこのブロックの開ループ(一巡伝達関数と同じと書
いてある教科書が多い)のゲイン・位相は(33),(34)式となる。このモデルは「パワーエレクトロニクス技術教
科書」,CQ 出版,p122 を参考とした。
(a)
(b)
直流電圧制御系ブロック線図
直流電圧制御系モデルブロック線図
図 22
直流電圧制御系モデル
(33)
ただし
(34)
上記モデルを用いて制御を行う際、Cdc の値、リプル除去フィルタ時定数 T1、比例ゲイン K1、積分時定数 TI が
現在不明な定数である。以下でこれらの値を設計することとする。(33),(34)式はエクセル等で解析する。
直流電解コンデンサは 200V 系(Vdc=400[V]程度)の場合、一般的に 1kW 当たり 1,000µF 程度とされている(実
践パワーエレクトロニクス入門,p167 など)。実際には電解コンデンサの寿命やリプル電流が許容値以下かを
調べる必要があるが、おおよそこの値近辺になると思う。ここでは 10kW の装置を検討するため、Cdc=10,000µF
とする。
V アンプは、直流を一定に制御することが目的であるため、積分が主となり、リプル除去フィルタ時定数 T1,
積分時定数 TI の関係は TI> T1 を満たす必要がある。(I と 1 が紛らわしいので注意。積分の時定数 TI が 1 次遅れ
の時定数 T1 より大きい必要がある)。また、直流電圧一定制御といえど、太陽光発電のように直流電圧を秒単
位で変化させて最大電力を探索する場合や、キャパシタなどの充放電制御など、ゆっくりではあるが設定値を
変化させる場面があり得る(1Hz 程度から 0.1Hz 程度など状況によって様々)。電流制御系では 60Hz の電流を制
御するため、デジタルでは開ループでのゲイン交差周波数(0dB)を十分電流制御できる 1528[Hz]とした。この
比は 1528/60=25.5 となる。電圧制御系では秒単位(ここでは 1Hz の周波数を制御すると設定)の追従性をさせる
ため、電圧制御系の開ループでのゲイン交差周波数(0dB)を 25Hz(26Hz でもいいが、キリがいいのでここでは
25Hz を選択)と設定する。電流制御系の 1 次遅れ時定数 T2 は 3.75ms と設定したので、電圧制御系リプル除去
フィルタ時定数 T1 も 3.75ms と設定する。(カットオフ周波数は 42.4Hz。位相余裕の確保など状況に応じて倍程
度 42.4*2=84.8Hz まで上げても、スイッチングリプルは除去できるので、かまわないと思う。)
図 23
ゲイン交差周波数での位相遅れを 140[deg]とするための TI 値
直流電圧制御系の場合も、1Hz 以下の追従性が必要となる。ここでも位相余裕を 40[deg]で設計する(完全に直
流電圧一定制御しか行わないならば、位相余裕を 20[deg]としてもいい)こととする。上記条件で、開ループ伝
達関数の位相余裕 40[deg],つまりゲイン交差周波数での位相遅れを 140[deg]とするための設計を行う。(34)式
を用いて位相が 140[deg]となる TI を見つけることが必要である。(34)式でω=2πfcross(fcross=25Hz)と固定し、TI を
変化させてθが-140[deg]となる箇所を計算した結果を図 23 に示す。
図 23 より、TI は 19.2[ms]と求まる。ゲイン交差周波数 25Hz で、(33)式が 0[dB]となる比例ゲイン K1 は 25.2
となる。これらの設計値を用いた開ループボード線図を図 24 に示す。
図 24
開ループボード線図によるゲイン交差周波数,位相余裕,ゲイン余裕
上記設計値を用いた閉ループボード線図とステップ応答特性を図 25 に示す。
(a)
閉ループボード線図
図 25
(b)
閉ループボード線図とステップ応答特性
ステップ応答
7.マイコンでの制御
SH コンパイラの整数型が表 1 であると仮定する。(今後どうなるかわからない)
表1
コンパイラの整数型
マイコンによる制御では、A/D で取り込んだ値や内部で計算した値が桁落ちしないようにスケーリングするこ
とが重要になる。浮動小数点計算を行う CPU ではあまり気にしなくていいが、当研究室のように予算的に厳
しい、もしくは企業での量産品では安価な CPU を用いる必要があるため、整数型 CPU でのプログラミングが
必要になってくる。固定小数演算、Q15 フォーマットなどのキーワードを検索すれば、結果として同様の説明
があるので、詳しくはそちらを参考にして頂きたい。
当研究室で使用する CPU を SH7125 とする。秋月で¥1,700 にて購入でき、無料のコンパイラを使用できるか
らである。この CPU 内蔵の A/D 変換器精度は 10bit である。また、シミュレータ等で検討した電圧レベルのフ
ルスケールは±10V であり、CPU 内では+10V→+32767,-10V→-32768 に対応させてスケーリングする。表 2
にスケーリング対応表を示す。なお、SH7125 の A/D 変換器の絶対精度は 4µs 以上の変換時間で±4LSB である。
(これは、実質的な精度は 8bit 相当と解釈できる。精度が要求される場合は、外付けの 16bit の A/D などを増
設して取り込む必要あり。)直流電圧の最大電圧が+10V で入力されるので、10/1024=9.766[mV]が 1LBS であ
るので、4LSB=39.0625[mV]の誤差が A/D 取り込み時に生じると解釈できる。実際の主回路の電圧に換算する
と、±39.0625/1000*500/10=±1.953[V]の誤差が原理的に生じるといえる。A/D で取り込んだデータは上位ビッ
トに格納されるので、内部変換値(±15bit)に変換するには、表 2 の下部ように変数のスケーリングを行う必要
がある。
表2
スケーリング対応表
次に PI 制御を行うための IIR フィルタ設計を行う。双 1 次 z 変換は次式で示される。Ts はサンプリング時間
を意味する。なお、(35)は近似式であるが、一般的にこの近似式で設計されている。
(35)
直流電圧制御部の 1 次遅れの伝達関数は次式となる。
(36)
(36)式を双 1 次 z 変換すると、パルス伝達関数は次式となる。
(37)
(37)式を変形して 1 次遅れの IIR フィルタを求めると次式となる。
(38)
キャリア周波数は 6kHz、三角波の山と谷で割り込みをして制御すると考えると、サンプリング時間 Ts は 83.3µs
となる。電圧制御系リプル除去フィルタ時定数 T1 を 3.75ms と設定したので、IIR フィルタは次式となる。
(39)
SH の内部では浮動小数型で処理すると演算時間が相当長くなってしまうため、整数型で(39)式を処理しなけれ
ばならない。最低でも IIR フィルタの係数は 3 桁以上必要と考える。SH の int は符号付き 32bit であるので、
-2147483648~2147483647 の値まで処理が可能である。しかし、A/D にて取り込んだ値は 10bit であり、実質 8bit
の精度しかないため、精度はそれほど気にする必要はない。プログラム内部では符号付き 32bit の変数 int を用
いるが、最大符号付き 16bit で処理を行う(アナログでの±10V に相当し、計算結果が-32768~+32767 となるよ
うスケーリングする)こととする。まず最初は 1bit 余裕がある 32768(215)を掛けてみる。係数 2n は割り算すると
ビットシフト(演算時間が短い)しやすいからである。コンパイラが勝手に割り算でなくビットシフトしてくれ
ます。(39)式全体に 32768(215)を掛けた結果を(40)に示す。
(40)
y(n-1),x(n) ,x(n-1)の上限値が±215 とする場合(そのようにスケーリングする)、(40)式の計算結果は最大でも±230
に収まる。符号ビット分を考えると、計算結果が±231 以下になるようにしなければならない。このような考え
方で、計算結果のあふれが出ないかどうかを確認し、設計を行っていく。以下にプログラム記述例を示す。現
在の値を now、1 つ前のサンプルデータや計算結果を old とする。ここでは入力信号は x_now です。
y_now=360*x_now+360*x_old+32048*y_old;//(40)式の計算
x_old=x_now;//現在の x の値を、次の計算時に入ったとき過去のデータ x_old とするため
y_old=y_now/32768;//(40)式を 215 倍していたので、ここで元に戻す。このフィルタの出力は y_old である。
なお、y_old が±215 の値になると掛け算の結果が振り切る可能性がある(ないようにシミュレータで電圧レベル
を確認して設計しているけれど)。y_now の上限は 2147483647(231-1)であり、これを越えると値が 0 にすっ飛ん
でしまう。x_now ,x_old2 の値が Max の 32767 の場合、(2147483647-360*32767-360*32767)/32048=66272 であり、
66272>32767 なので溢れに対し余裕がある。y_old の値は上限値を±215 とするので
if(y_old >=32767){I_old = 32767;}
if(I_old <=-32768){I_old = -32768;}
のようにリミッタをかけておくと無難である。
この 1 次遅れの結果を PI の IIR フィルタに通過させる。PI の比例ゲイン K1 は 25.2,積分時定数 TI は 19.2ms
である。積分の伝達関数は次式で示される。
(41)
(41)式を双 1 次 z 変換すると、パルス伝達関数は次式となる。
(42)
従って、積分の IIR フィルタは次式で示される。
(43)
サンプリング時間 Ts を 83.3µs、積分時定数 TI を 19.2ms とし、(43)式に代入すると次式となる。
(44)
15
32768(2 )を掛けると x(n) ,x(n-1)の係数が 71 と 2 桁となってしまうので、最低限 3 桁以上の係数とするには
65536(216) を掛ける必要があり、次式に計算結果を示す。
(45)
プログラム例を書くと
I_now=140* y_old +140* y_old 2+65536*I_old;//(45)式の計算,y_old は 1 次遅れの出力
y_old2=y_old;//現在の 1 次遅れの値を、次の計算時に入ったとき過去のデータ y_old2 とするため
I_old=I_now/65536;//(45)式を 216 倍していたので、ここで元に戻す。このフィルタの出力は I_old である。
なお、I_old が±215 の値になると掛け算の結果が振り切る可能性がある(ないようにシミュレータで電圧レベル
を確認して設計しているけれど)。I_now の上限は 2147483647(231-1)であり、これを越えると値が 0 にすっ飛ん
でしまう。y_old ,y_old 2 の値が Max の 32767 の場合、(2147483647-140*32767-140*32767)/65536=32628 である
ので、I_old の値は
if(I_old >=32627){I_old = 32627;}
if(I_old <=-32628){I_old = -32628;}
のようにリミッタをかけておくと無難である。確かめ算をすると(140*32767*2+65536*32628)=2147483368<231-1
(231-1)より 279 計算結果は小さいといえるので、リミッタは十分効果がある。
従って PI のプログラム例を書くと(比例ゲイン K1 は 25.2)
PI_in=y_old+I_old;//y_old は 1 次遅れの出力,I_old は積分の出力
PI_gain=825754*PI_in;//PI の結果を 25.2*32768 のゲインで計算
PI_out=PI_gain/32768;//スケーリング結果
なお、上記プログラムは 1 行にまとめられるが、説明のため分離した。
次に電流制御系のプログラムについて検討する。電流制御部の 1 次遅れ(時定数 T2)と比例ゲイン K2 の伝達
関数は次式となる。
(46)
(46)式を双 1 次 z 変換すると、パルス伝達関数は次式となる。
(47)
(47)式を変形して 1 次遅れ+比例ゲインの IIR フィルタを求めると次式となる。
(48)
サンプリング時間 Ts を 83.3µs、1 次遅れ時定数 T2 を 3.75ms、比例ゲイン K2 を 21.4 とし、(48)式に代入する
と次式となる。
(49)
15
32768(2 )を掛けると x(n) ,x(n-1)の係数は 7706、y(n-1) の係数は 32048 で、3 桁以上の係数となる。次式に計算
結果を示す。
(50)
プログラム例を書くと
I_AMP_P_now=7706*i_ref +7706* i_ref_old +32048* I_AMP_P_old;//(50)式の計算,1 次遅れの出力と比例
i_ref_old = i_ref;//現在の値を、次の計算時に入ったとき過去のデータ i_ref_old とするため
I_AMP_P_old = I_AMP_P_now /32768;//(50)式を 215 倍していたので、ここで元に戻す。このフィルタの出力は
I_AMP_P_old である
I_AMP_P_old の上限は 2147483647(231)であり、これを越えると値が 0 にすっ飛んでしまう。i_ref , i_ref_old の
値が Max の 32767 の場合、(2147483647-7706*32767-7706*32767)/32048=50251 であるので、50251>32767 なの
で溢れに対し余裕がある。I_AMP_P_old の値は上限値を±215 とするので
if(I_AMP_P_old >=32767){ I_AMP_P_old = 32767;}
if(I_AMP_P_old <=-32768){ I_AMP_P_old = -32768;}
のようにリミッタをかけておくと無難である。
次に電流制御系の不完全微分について検討する。電流制御部の 1 次遅れ(時定数 T2)と微分(時定数 TD)の伝達
関数は次式となる。
(51)
(51)式を双 1 次 z 変換すると、パルス伝達関数は次式となる。
(52)
(52)式を変形して 1 次遅れ+微分の IIR フィルタを求めると次式となる。
(53)
サンプリング時間 Ts を 83.3µs、1 次遅れ時定数 T2 を 3.75ms、比例ゲイン K2 を 21.4、微分時定数 TD を 427µs
とし、(53)式に代入すると次式となる。
(54)
32768(215)を掛けると x(n) ,x(n-1)の係数は 78970、y(n-1) の係数は 32048 で、3 桁以上の係数となる。次式に計
算結果を示す。
(55)
プログラム例を書くと
I_AMP_D_now=78970*i_ref -78970* i_ref_old +32048* I_AMP_D_old;//(50)式の計算,1 次遅れの出力と微分
//i_ref_old = i_ref;//手前で行っているので、ここでは不要なので//をつけてある
I_AMP_D_old = I_AMP_D_now /32768;//(55)式を 215 倍していたので、ここで元に戻す。このフィルタの出力は
I_AMP_D_old である
I_AMP_D_old の上限は 2147483647(231)であり、これを越えると値が 0 にすっ飛んでしまう。i_ref , i_ref_old の
値が Max の 32767 の場合、(2147483647-78970*32767+78970*32767)/32048=67008 であるので、67008>32767 な
ので溢れに対し余裕がある。I_AMP_D_old の値は上限値を±215 とするので
if(I_AMP_D_old >=32767){ I_AMP_D_old = 32767;}
if(I_AMP_D_old <=-32768){ I_AMP_D_old = -32768;}
のようにリミッタをかけておくと無難である。
1 次遅れ+PD 制御それぞれに分離しているので
I_AMP_out= I_AMP_P_old+ I_AMP_D_old;
if(I_AMP_out >=32767){ I_AMP_out = 32767;}
if(I_AMP_out <=-32768){ I_AMP_out = -32768;}
にて電流制御系の電圧指令値となる。