SSブログ

scilabで遊ぼう (8) [プログラム三昧]このエントリーを含むはてなブックマーク#

WS000199.png

いよいよ、PI制御を作成します。

scilabで、P優先型PI制御を作る

ここで作成するのは、トランジスタ技術、2008年7月号と9月号に掲載されていた「dsPICで作るDC-DCコンバータのソフトウェア」という記事からの完全な焼き直しです。 100Hzを境に低周波側で積分特性、高周波側で比例特性をもつフィルタを作ります。 サンプリング周期は、50µ秒(20kHz)です。

-->Ts=50d-6;
 
-->A=3.87;
 
-->Fc=100;

まず、各種定数を定義しておきます。 ここで定義するのは、サンプリング周期(Ts)、比例制御ゲイン(A)、P/I制御の交点周波数(Fc)の三つです。

-->z=poly(0,'z');
 
-->p_factor=syslin(Ts,A/(1+z*0))
 p_factor  =
 
    3.87   
    ----   
     1     
 

"p_factor"は、比例制御部分の伝達関数です。 第二引数は、本来は定数なのですが、"z"の関数しか受け付けられないので、"z*0"というおまじないを入れてあります。

-->i_factor=syslin(Ts,2*%pi*Fc*Ts*(z/(z-1)))
 i_factor  =
 
    0.0314159z   
    ----------   
    - 1 + z      
 

"i_factor"は、積分制御部分の伝達関数です。 記事の「実用的なディジタル積分器」をそのまま使っています。

-->PI=p_factor*(1+i_factor)
 PI  =
 
  - 3.87 + 3.9915796z   
    -----------------   
        - 1 + z         

"p_factor"と"i_factor"を記事の「ブロック図」を参考にしてPI制御を構成します。 これで、完成です。

PI制御の周波数特性を確認する

出来上がったPI制御の周波数特性をボード線図で確認します。

-->scf(1);clf;bode(p_factor,1,1e4);
WS000223.png

最初は、比例制御部分単体の特性です。 あたりまえですが、平坦な周波数特性になっています。

-->scf(1);clf;bode(i_factor,1,1e4);
WS000224.png

二つ目は、積分制御部分単体の特性です。 ゲインが直線的に落ちていくのがわかります。 100Hzの時のゲインがちょうど0dBになっています。

-->scf(1);clf;bode(PI,1,1e4);
WS000225.png

最後は、PI制御全体の特性です。 100Hz付近を境に積分制御と比例制御が切り替わっているのがわかります。

部品がそろったので、次回はフィードバック・ループを組み、ループ・ゲインを確認します。

付録 : 「scilab で遊ぼう」索引

参考文献

トランジスタ技術 (Transistor Gijutsu) 2008年 07月号 [雑誌]

トランジスタ技術 (Transistor Gijutsu) 2008年 07月号 [雑誌]

  • 作者:
  • 出版社/メーカー: CQ出版
  • 発売日: 2008/06/10
  • メディア: 雑誌
トランジスタ技術 (Transistor Gijutsu) 2008年 09月号 [雑誌]

トランジスタ技術 (Transistor Gijutsu) 2008年 09月号 [雑誌]

  • 作者:
  • 出版社/メーカー: CQ出版
  • 発売日: 2008/08/09
  • メディア: 雑誌

nice!(0)  コメント(0)  トラックバック(0)  このエントリーを含むはてなブックマーク#

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 0

トラックバックの受付は締め切りました