scilabで遊ぼう (9) [プログラム三昧]
今回は、フィードバック・ループを作成し、全体の特性を調べます。 トランジスタ技術、2008年7月号と9月号に掲載されている記事「dsPICで作るDC-DCコンバータのソフトウェア」もご参照ください。
あれ? いつのまにか、scilab-5.0.3の方が立ち上がっていたみたいだ。
ここまで作成してきた部品
前回までで必要な部品はほとんどそろいました。 まずは、これまでのあらすじから。
L1=39d-6; C1=680d-6; w0_lc=1.0/sqrt(L1*C1); Q=0.8; s=poly(0,'s'); lc_cont=syslin('c',w0_lc^2/(s^2+s*(w0_lc/Q)+w0_lc^2)); Ts=50d-6; lc_filter=ss2tf(dscr(tf2ss(lc_cont),Ts)); Ap=3.87; Fc=100; z=poly(0,'z'); p_factor=syslin(Ts,Ap/(1+z*0)); i_factor=syslin(Ts,2*%pi*Fc*Ts*(z/(z-1))); PI=p_factor*(1+i_factor);
変数 | 概要 |
---|---|
Ts | サンプリング周期 |
lc_filter | 離散時間表現のLCフィルタ |
p_factor | 比例制御フィルタ |
i_factor | 積分制御フィルタ |
PI | PI制御フィルタ |
フィードバック制御を作成する
フィードバック制御の基本にしたがって、入力から出力までの伝達関数を"A"、出力から入力に戻ってくるフィードバックの伝達関数を"beta"(β)と定義します。
-->A=PI*lc_filter; -->beta=syslin(Ts,1/(2+z*0));
"A"は、PI制御とLCフィルタの合成です。 また、"beta"は、記事にあったものと同じ1/2分圧回路です。 "z*0"は、"z"の関数とするためのおまじないです。
-->open_loop=A*beta open_loop = 2 - 0.1406813 - 0.0148216z + 0.1649467z --------------------------------------- 2 3 - 1.3625494 + 4.569748z - 5.2071985z + 2z -->scf(1);clf;bode(open_loop,1,3000);
"open_loop"は、フィードバック・ループを一周したときの伝達関数です。 このループ・ゲインからシステムの安定性を検証します。
-->[G,freqGM]=g_margin(open_loop) freqGM = 0. G = - 272.57409
マニュアルによれば、"g_margin"でゲイン・マージンを計算してくれることになっているのですが、思ったようには動作してくれませんでした。 ボード線図を見たところ、2.6kHzで13dBぐらいのマージンがあるようです。
-->[P,freqPM]=p_margin(open_loop) freqPM = 1351.9202 P = 45.890072
一方、フェーズ・マージンは、計算してくれました。 1352Hzで45.9°のフェーズ・マージンになっています。 これは、ボード線図から得られる値と同じです。
閉ループ特性を調べる
閉ループ特性は、"A"と"beta"を用いて簡単に計算させることが出来ます。
-->closed_loop=A/.beta closed_loop = 2 - 0.2813627 - 0.0296433z + 0.3298935z --------------------------------------- 2 - 1.5032308 + 4.5549263z - 5.0422518z 3 + 2z -->scf(1);clf;bode(closed_loop,1,3000);
これは、出力電圧に対する基準電源の影響を示します。 DC領域では、6dBのゲインがあるので、入力の二倍の出力電圧が得られます。 また、3kHzを超えると利得が急激に落ちるので、基準電源にゆらぎがあっても出力には影響しないはずです。 1.5kHz付近に利得のピークがあるのだけど、問題にならないのかな?
付録 : 「scilab で遊ぼう」索引
- scilabで遊ぼう (1)
- scilabで遊ぼう (2)
- scilabで遊ぼう (3)
- scilabで遊ぼう (4)
- scilabで遊ぼう (5)
- scilabで遊ぼう (6)
- scilabで遊ぼう (7)
- scilabで遊ぼう (8)
- scilabで遊ぼう (9)
- scilabで遊ぼう (10)
- scilabで遊ぼう (11)
- scilabで遊ぼう (12)
- scilabで遊ぼう (13)
参考文献
トランジスタ技術 (Transistor Gijutsu) 2008年 07月号 [雑誌]
- 作者:
- 出版社/メーカー: CQ出版
- 発売日: 2008/06/10
- メディア: 雑誌
トランジスタ技術 (Transistor Gijutsu) 2008年 09月号 [雑誌]
- 作者:
- 出版社/メーカー: CQ出版
- 発売日: 2008/08/09
- メディア: 雑誌
コメント 0