自動制御web講座

2. シミュレーション

line

2.2. 制御系のシミュレーション


2.2.4アナログ P動作 図 1-13

2.2.4.(1) 回路ファイル

2.2.4.(1-A) リ ス ト

◆ アナログP動作 です。リストをリスト 2-2-3 に示します。

[リスト 2-2-3] P動作 fg1_13.cir

 P動作 fg1_13.cir



2.2.4.(1-B) 概   要

◆ この回路ファイルは P 動作だけの制御です。そして、ここに示す演算式が正統な P 動作です。
P 動作だけの制御は、実際にも、多く使用されています。しかし、実用的には、この制御演算式ではなく、標準の PID 制御演算式が、多く使用されています。
そして、パラメータの設定で I 動作と D 動作を殺して P 動作のみとして使います。この場合、次に示すマニュアル・リセットの機能がありません。
マニュアル・リセットは、リストの、ECNT 中の、VALUE の式に示した、定数 KM です。マニュアル・リセットは、昔 PI 動作がなかった時代に必要だったものです。
現在では、マニュアル・リセットを必要とする制御対象に対しては、PI 動作を使用します。P 動作を使用するのは、マニュアル・リセットを必要としない、制御対象に、対してです。
したがって、サブサーキットには、してありません。しかし、マニュアル・リセットの使い方を理解することは、PI 動作の効果を理解するのに役立ちます。

2.2.4.(1-C) 制御演算式

◆ 内容は、オンオフ制御のコントローラを、オンオフ動作から P 動作に変更しただけです。 制御演算式は、1.4(2)式 1-1 に示したものです。
デバイス ECNT を使用しています。

2.2.4.(1-D) コマンド .TRAN

◆ .TRAN の要素に UIC というのが入っています。これは、.TRAN のオプション要素です。
一般にトランジェント解析では、解析演算に先立って、回路各部の、直流電圧/電流値を計算します。そして、これを初期値として解析演算を開始します。
それに対して、UIC を付加したときは、初期値を全てゼロとして解析演算を開始します。すなわち、すべてのノードの電圧および電流値が、ゼロから始まります。
この講座における、ステップ応答の、すべての初期値はゼロです。したがって、シミュレーションにおいても、全てのノードの電圧と電流を、ゼロからスタートさせる必要があります。
オンオフ制御や、KM = 0 のときの P 動作では、UIC を指定しなくても、初期値は全てゼロと計算されます。
しかし、KM ≠ 0 のときの P 動作では、UIC を指定しないと、全ての初期値がゼロになりません。P 動作を、正常に動作させるために、UIC が必要です。

2.2.4.(1-E) コマンド .PARAM

◆ サブサーキットにおけるパラメータの定義は、.SUBCKT コマンドの PARAMS: で行ないました。親回路で使用するパラメータの定義は、
   .PARAM <<パラメータ名> = <値>>*
   .PARAM <<パラメータ名> = <{式}>>*
   ( < > は、必須   [ ] は、省略可能   *は、繰り返し可能)
のいずれかです。「値」は定数です。
「式」は { } 内に入れなければなりません。式には、定数、定義されたパラメータ名、+、-、*、/、(、) を使用できます。また、表 2-2-2 に示す関数を使用することができます。

表 2-2-2 SPICEで使用できる関数

ABS(x) | x |
SQRT(x) √x
EXP(x) e の x乗 (指数関数)
LOG(x) ln(x) (対数の底は e)
LOG10(x) log(x) (対数の底は 10)
PWR(x,y) | x | の y乗
SIN(x) sin(x) (x は radian)
COS(x) cos(x) (x は radian)
TAN(x) tan(x) (x は radian)
ATN(x) arctan(x) (結果は radian)
ARCTAN(x) arctan(x) (結果は radian)
2.2.4.(1-F) デバイス ECNT

◆ VALUE を使用していますから、制御演算式の通りに、分かりやすく表されています。

2.2.4.(2) 検   討

2.2.4.(2-A) UIC の検討

◆ リストでは、パラメータ KM はゼロになっています。まず、この条件でシミュレーションを行います。次に、UIC 無しにしてみます。両者の波形は一致しています。
こんどは KM = 2 にしてみます。このときは、UIC 無しを実行すると、ゼロからスタートしません。UIC を付加すると、初期値がゼロになります。

2.2.4.(2-B) マニュアル・リセットの検討

◆ 以降は、全て UIC を指定してシミュレーションを行います。

2.2.4.(2-B-a) 目標値変化に対して

◆ 先ほどの KM =2 の波形を見ると、オフセットの値が KM = 0 のときと異なっています。すなわち、マニュアル・リセット はオフセットの値を変化させる機能を持っています。
そこで、こんどは KM = 1 にしてみます。オフセットがゼロとなります。1.6.(2-B)で、「 P 動作は、オフセットをゼロにできない」と述べたのは、自動的には、オフセットは、ゼロならないということです。マニュアルリセットを有する制御演算式を使用して、手動で調整すれば、オフセットを、ゼロにすることは可能です。
次に、目標値のステップ幅を 1V から 2V に変えてシミュレーションを行ってみましょう。
目標値の値が変わると、オフセットの値が変化します。目標値をいろいろな値に変える制御では、目標値を変化させるたびに、マニュアル・リセットの値を手動で操作しなければ、オフセットをゼロにすることができません。これは面倒な仕事です。
すなわち、正統な P 動作では、オフセットをゼロにすることはできますが、実用的ではありません。
積分動作 (I 動作) を付加すれば、どのような目標値に対しても自動的にオフセットが調整されて、ゼロになります (1.6.(3-A) 参照)。これが積分動作の効果です。
このことから、昔は積分動作のことを「オートマチック・リセット 」とも呼んでいました。

2.2.4.(2-B-b) 外乱入力に対して

◆ 外乱入力に対しても、P 動作では、オフセットが発生します。この場合も、マニュアル・リセットには、目標値変化の場合と同様の、効果と問題点があります。各自試みてください。
自動的に、オフセットをゼロにするには、やはり積分動作が有効です。

2.2.5. アナログ PID動作 PIDA

2.2.5.(1) 概   要

◆ アナログ PID 制御 は、最も一般的な制御です。1 章で説明したように、実際の制御がディジタル PID 制御であっても、サンプリングが十分に細かいと、アナログ制御と同等になります(1.5.(5)図1-27)。
PSPICE は、アナログ回路シミュレータですが、ディジタル制御のシミュレーションを、行うことができます(4.1.4.2.)。しかし、アナログシミュレータですから、可能であるとは言っても、演算時間を要します。したがって、ディジタル制御であっても、アナログ制御で、近似できる範囲は、アナログ PID 制御を使用して解析を行う方が、効率的です。
アナログ PID 制御は、サブサーキット PIDA になっています。

2.2.5.(2) サブサーキット PIDA

2.2.5.(2-A) リ ス ト

◆ サブサーキット PIDA を、リスト 2-2-4 に示します。

[リスト 2-2-4] アナログ PID制御のサブサーキット PIDA

アナログ PID制御のサブサーキット PIDA



2.2.5.(2-B) 制御演算式

◆ この PID 制御の制御演算式は、 1.6.(1) の [注] に示したように、式 1-2 とは異なります。
式 1-2では、P 動作、I 動作、D 動作が、加算の形になっています。これに対して、このサブサーキットでは、PI 動作と PD 動作とを、組み合わせた形になっています。
また、PI 動作の表記法は、制御対象の表記法と同じで、 LAPLACE を使用しています(リストのECNT)。ここでは、結果としてこのように書くもの、と思ってください。
PD 動作の部分(リストの C1〜R2 )は、RC 回路になっています。ここも LAPLACE を使用できるのですが、2.2.3.(2-B) と同じ理由で、CR 回路を使用しています。そして、この部分はオペアンプ回路に入力されます。
E1 が、オペアンプ(増幅器)です(2.1.6.(1-E) 参照)。2.1.6.(1-E) では、デバイス E を完成された増幅器として利用していますが、ここでは裸のオペアンプとして使用し、オペアンプ回路を構成しています(コラム 2-2-2 参照)。
◆ PD 動作の部分には、ローパスフィルタを組み合あせてあります。これは、PD 動作単体では、都合が悪い特性を、持っているからです(この理由は3.1.3.(5-B)で示します)。このローパスフィルタは、オペアンプ回路を利用して作られています(コラム 2-2-2参照)。

[コラム 2-2-2] オペアンプ回路

★ オペアンプ 回路は、フィードバック回路です。回路図は、

オペアンプ回路図

です。ここで、X、Y、Z は各部の電圧、ZI、ZF はインピーダンスです。また、オペアンプの増幅率を K とします。
★ ブロック図の形で表すと、

オペアンプブロック図

となります。
★ 理想的なオペアンプ(したがってデバイス E も)は、その入力インピーダンスは無限大、出力インピーダンスはゼロです。したがって、インピーダンス ZI と ZF とに流れる電流 I は等しい値です。すなわち、
     I = (Y - Z) / ZF = (Z - X) / ZI
これを解けば、
     Y = -(K * ZI * X) / (1 + K * ZF)
です。
★ ただし、このように、数学的にとくよりも、ブロック図から、もっと要領良く解く方法が、次章に紹介されています(3.1.1.(6-C)参照)。
理想オペアンプの増幅率 K は、無限大です。したがって、
     Y = -(ZI / ZF) * X ・・・・ ( 1c )
となります。
★ ここで、インピーダンス ZI は、リストの C1 と R1 です。また、R3 は、浮いたところを作らないためのダミーです(2.1.6.(2-B-a)参照)。この C1、R1 が、PD 動作を作っています。
インピーダンス ZF は、リストの C2、R2 です。オペアンプ回路に組み込まれているので、その結果として、インピーダンスは、1 / ZF になってます(式 1c 参照)。
★ このインピーダンス 1 / ZF は、ローパスフィルタです。すなわち、PD動作は、ローパスフィルタと組み合わさっています。



2.2.5.(2-C) PARAMS:

◆ PARAMS: には、比例ゲイン KP、積分時間 TI、微分時間 TD の 3 つのパラメータが、あります。この 3 つを、制御パラメータ と呼んでいます。
積分時間のデフォルト値は、TI = 1MEG となっています。これは積分を殺した値です。真に積分を殺すには、TI = ∞ とします。しかし、シミュレーションは、有限の値しか使うことができません。無限大の代わりに、十分大きな値として 1MEG を使用しています。
また、微分時間 TD = 0 となっています。これも微分を殺した値です。
親回路の PARAMS: で、TI および/または TD を、デフォルトにすることによって、P 動作、PI 動作、PD 動作として、使用することができます。
たとえば、親回路で「PARAMS: KP=5」と書けば、KP = 5 の、マニュアル・リセットなしの P 動作になります。

目次に戻る   前に戻る   次に進む