ブロック線図を使ったPIDコントローラーのシミュレーション無償ソフトで技術計算しよう【制御工学基礎編】(3)(3/3 ページ)

» 2015年06月10日 10時00分 公開
[伊藤孝宏MONOist]
前のページへ 1|2|3       

 FreeMatでは配列として扱うため、変数名を下記のように配列にして、無名関数で定義し、ode45コマンドに渡せば、数値的に解いてくれます。




 m=1、c=1、k=10、kp=10、ki=10、kd=10として、プログラムとしたのがex505.mになりますが、これは【制御工学基礎編】(1)ex502.mと同じものになります。無名関数とode45についてはシミュレーション・応用編-3を参照してください。これを動作させると、図11が得られます。

図11:バネ・マス・ダンパ系をPIDコントローラーで制御
clear;m=1;c=1;k=10;kp=10;ki=10;kd=10;yset=0.1;
dydt=@(t,y) [y(2);(-(c+kd)*y(2)-(k+kp)*y(1)+kp*yset+y(3))/m;ki*(yset-y(1))];
[t,y]=ode45(dydt,[0,10],[0;0;0]);
plot(t,y(:,1));grid('on');
xlabel('Time[s]');ylabel('Height[m]');
ex505.m

>>「ex505.m」ダウンロード


 次回からは、【制御工学応用編】として、過渡応答、周波数応答について説明します。

参考文献

  • 「MATLABハンドブック」小林一行著、秀和システム刊
  • 「はじめてのFreeMat」赤間世紀著、工学社刊
  • 「制御工学」豊橋技術科学大学制御工学教育連携プロジェクト著、実教出版刊

無償ソフトで技術計算しよう

FreeMat

無償の工学計算ソフトでも、かなり高度な計算ができる!


筆者紹介

伊藤孝宏(いとう・たかひろ)

1960年生。小型モーターメーカーのエンジニア。博士(工学)。専門は流体工学、音・振動工学。現在は、LabVIEWを使って、音不良の計測・診断ソフト、特性自動検査装置などの開発を行っている。



前のページへ 1|2|3       

Copyright © ITmedia, Inc. All Rights Reserved.