株式会社 アイ・アール・エス ~ インジェクタ再生洗浄サービス ~

ガソリン・ディーゼルエンジン用インジェクター再生洗浄サービス

エクセルのちょっとフェチな使い方。

2013-03-27
p1m
こんばんは。アイ・アール・エスのせんむです。
今日は夕方でも少し暖かかったので、春から通勤に使おうと思っているバイクのメンテナンスを少ししました。 メンテナンスと言ってもリアダンパーをちょっと調整しただけなんですが、そういえばこの前、同じようなことでシミュレーションをしたことを思い出しました。 インジェクター洗浄とは直接は関係のない、ある2次遅れ系の制御に関する簡単なシミュレーションだったので、エクセル上で2次遅れ系の関数とPID制御器を作って全部やってしまったんですが、使い方によってはエクセルって実はかなりの機能をもっていて、久しぶりに使ったら思いのほか面白かったので、ちょっと紹介します。 ? まずお題ですが、2次遅れ系の古典制御で、PID制御定数を適合するというものです。 ? 対象となる系のステップ応答だけが分かっていて、制御系は純粋なPID制御です。 と、いきなり書き始めてしまいましたが、理系じゃないと分からない単語ばかりだと思うので、以下に解説します。(^_^;) 2次遅れ系とは、機械で言えば バネ・マス(質量)・ダンパー の組み合わせでできた系で、バイクやクルマのサスペンション等が当てはまり、こんな感じです。
5f211b6036

で、ステップ応答とは、そのサスペンションをグっと押したときに、どんな感じで動くかを観察した結果で、「グっと押す」というのは、下図のようにある時点で、瞬間的に力を与えるということです。

97b6f44baa

で、このときの応答がステップ応答ですが、こんな感じです。

02104d886d

押した直後に、ちょっと行き過ぎて、戻ってきて、また行き過ぎてを繰り返しながら、徐々に動きが収まって行きます。 びよ~~ん、びよ~ん、びよん、びょ・・・・・ みたいな感じですね。 この動きは、2次遅れ系の特徴的なものなんですが、自動車や電車のサスペンション以外にも、身の回りにたくさんあることは感覚的に分かりますよね。(^_^) で、PID制御ですが、これも身の回りの様々なところで使われていて、無理やり簡単に説明すると、目標値(上図だと青線)と実際の値(上図だと緑線)をもとに、 P制御 : 現時点の差の大きさに応じて制御量を決める。 I制御 : 現時点までの差を積分したものに応じて制御量を決める。 D制御 : ちょっと前と現時点の差の変化量に応じて制御量を決める。 というもので、これらを合わせたものがPID制御です。 ピンとこないと思いますが、これは書き出すと長くなるので後日解説します。m(_ _)m で、なにも考えずグッと押すだけだと、ビヨンビヨンして困るので、このPID制御を使って、なるべくビヨンビヨンさせずに素早く安定させるのですが、この制御のP、I、Dそれぞれの強さの調整(適合)をするのが割と大変なんですね。 例えば、おかしな適合をすると、下図のような感じでむしろビヨンビヨンが増幅してしまい、最終的にはモノが壊れる等の問題が発生します。(@_@;)

aaa77dbf54
? これをといいますが、自分が適合した系が発散したりすると、エンジニアとしてかなりショックだったりします。(T_T) こうならないために、制御定数を求める方法はたくさんあるのですが、中でも有名なのはジーグラ・ニコルス法で、キャリブレーションをする人に知らない人はいないと思います。 でも、今回のようにモノが手元にない場合、ジーグラ・ニコルス法等に基づいて、さらに実験的に試行錯誤して適合を煮詰めることができないので、ちょっとした系の適合であれば、いつもエクセルでやってしまいます。 これにはソルバーというのを使うのですが、エクセルのアドイン追加で使えるようになります。 このソルバーとは、簡単に言えば、ある関数が分かっている場合、その関数が自分が指定した結果となるような入力値を、逆算して求めるというものです。 例を書くと、下図のような関数があるとき、x=1、2のような場合にyを計算するのは簡単ですが、y=7になるようなxを求めるのはけっこう大変です。 これを、ある方法でサクっと求めるのがソルバーです。
5e26dbe7ba

これを応用して、対象となる系とPID制御器を関数化し、  欲しい結果 : 系が目標値になるべく近くなる。 入力値   : P、I、Dの各制御定数 として計算してみると、それなりの適合値が出てきて、今回の結果は下図のようになりました。(^。^)

元の薄緑色の線と比較すると、適合したPID制御で動かした場合(赤色の線)は、目標値に到達するのが早く、かつ安定しているのが分かります。 これはなぜかというと、グッと押すときの力の入れ方をPID制御がサポートしているからで、PID制御による制御量を図にすると、下図のようになります。

b044812ac6

P・I・Dそれぞれがいろんな動きをして、何もしない場合の青線と比べて、PIDの総和(マゼンダ線)は、ものすごくグッと押した後、行き過ぎを防ぐためにギュッと引いているのが分かります。(^0_0^) このため、系はうまいこと押し引きされて、結果的に早く安定して目標値を達成することができる、ということです。 で、ステップ応答より複雑な動きをさせたときに、無制御・PID制御での応答をシミュレーションした結果が下図です。

4db9946df1

無制御だとメチャメチャですが、PID制御するときちんと目標値に付いていっているのが分かりますね。(*^_^*) ただ、これだとあっさり答えが出てしまうようですが、注意が必要なのは、ソルバーに入力する条件の設定や、ソルバーに逆算させる前の各PID定数の初期値の設定などがかなりのノウハウで、もちろん、系の関数もなるべく正確である必要がある点です。 また、これは決して最適解というわけではなくて、最終的には実験で最終調整をすることを前提に使わないといけません。 ただ、簡単なシミュレーションや、適合実験の準備としてはそれなりに有効で、以前実務で使って、適合時間をものすごく短くできたこともあります。 また、制御結果を使って、ボード線図もエクセルで計算させて安定判別したりと、工夫次第でエクセルもいろんな使い方が出来るという一例のご紹介でした。m(_ _)m

関連情報URL :? http://www.irs-japan.com/
レベリングインジェクターオンラインショップ

営業日カレンダー

2024年4月
 123456
78910111213
14151617181920
21222324252627
282930    
2024年5月
   1234
567891011
12131415161718
19202122232425
262728293031 
  • 非営業日
  • 工場非稼働日(設備メンテナンス)
ガソリンインジェクター洗浄オーダーフォーム
ディーゼルインジェクター洗浄オーダーフォーム
バナー
バナー
日本液体微粒化学会

サービス内容動画