◆ ディジタル PID 制御の基本演算式は、式 4-1-5 に示しました。アナログ制御では、微分は、フィルタが必要でした。
しかし、ディジタル制御では、4.1.4.(3-A) の微分特性から推定できると、思いますが、フィルタ無しの式 4-1-5 が実用になります。
この講座では、これを基本式 として、解説します。基本式を、パルス伝達関数で表すと、
となります。
◆ 基本式は、十分実用になりますが、使い易さの点では、フィルタを含む、アナログと同等な式の方が優れています。フィルタを含むアナログ周波数領域形の式 3-2-21 に対応する式は、
です。これを、実用式 と呼ぶことにします。
この講座では、主に、この 2 種類について解説します。
ディジタル制御ですから、制御演算式の自由度が高く、その他、各種の演算式(たとえばフィルタを有する基本式、フィルタ無しの実用式、など)が使用されています。
しかし、上記の 2種類を理解すれば、それらの特性は、推定することが、できると思います。
◆ ディジタル制御では、制御演算後、サンプルアンドホールドを含む、出力処理を行います。シミュレーションは、それらを含めて行うことが必要です。
いろいろな組み合わせがありますから、汎用性を考えて、制御演算と、出力処理とは、別のサブサーキットにしてあります。
また、制御演算については、シミュレーションの都合上、トランジェント解析用と、AC 解析用とに分けてあります。次の 4つがあります。
PIDTB : ディジタルPID コントローラ (.TRAN用 基本 )
PIDTP : ディジタルPID コントローラ (.TRAN用 実用 )
PIDFB : ディジタルPID コントローラ ( .AC用 基本 )
PIDFP : ディジタルPID コントローラ ( .AC用 実用 )
何れも、親回路とのやり取りは、統一されています。見本として、PIDTB を、リスト 4-2-1 に示します。
[リスト 4-2-1] ディジタル PID コントローラ(.TRAN 用 基本)
*** ディジタルPID コントローラ (.TRAN用 基本 ) $ PIDTB * 出力 目標値 制御変数 比例ゲイン 積分時間 微分時間 サンプル周期 .SUBCKT PIDTB OT SP PV PARAMS: KP=1 TI=1G TD=0 TS=1 E1 1 0 VALUE {V(SP)-V(PV)} ; 偏差 E2 2 0 LAPLACE {V(1)} = {EXP(-TS*S)} ; 微分用ディレイ E3 3 0 LAPLACE {V(5)} = {EXP(-TS*S)} ; 積分用ディレイ E4 5 0 VALUE = {V(1)+V(4)} ; 積分項 R1 3 4 1K R2 4 0 1G E5 OT 0 VALUE = {KP*(V(1)+(TD/TS)*(V(1)-V(2)) + +(TS/(2*TI))*(V(5)+V(4)))} .ENDS |
◆ パルス伝達関数を、シミュレートするときは、テクニックが必要です(たとえば4.1.3.(3-B-a))。サブサーキットを利用すれば、それらのテクニックは、サブサーキットに織り込まれていますから、それを意識する必要はありません。
◆ ディジタル制御では、制御演算結果の出力処理を行います。
出力処理は、先ず、ポジションフォームとベロシティフォームの別があります。
しかし、特殊な場合を除いては、制御応答の上では、ベロシティフォームを使用していても、ポジションフォームと同じです。この講座では、シミュレーション上は、全てポジションフォームとして、取り扱います。
[注] 特殊な場合として、たとえば、4.1.2.(4-C-c) 図 4-1-10 の青色に示す遅れを、考えることが必要な場合があります。
出力処理では、サンプルアンドホールドの特性を考える必要があります。また、出力のタイミングとして、同時出力、中間出力、次回出力があります。
これらの出力処理を統一して取り扱う、サブサーキットにまとめてあります。
DAHT ディレイアンドホールド( .TRAN用 )
DAHF ディレイアンドホールド ( .AC用 )
これも、トランジェント解析用と、AC 解析用とがあります。AC 解析用は、ホールドの伝達関数と出力の遅れとを組み合わせたものです。
◆ トランジェント解析用のディレイアンドホールドのリストを、リスト 4-2-2 に示します。
[リスト 4-2-2] ディレイアンドホールド(.TRAN 用)
*** ディレイアンドホールド( .TRAN用 ) $ DAHT * 操作出力 入力 サンプル周期 ディレイ(0〜1) サンプル遅延(0〜1) .SUBCKT DAHT CNOT IN PARAMS: TS=1M TL=0 DLY=0.1 XSAH1 OT1 IN SAH PARAMS: TS={TS} DLY={DLY} ; 1回目ホールド XSAH2 CNOT OT1 SAH PARAMS: TS={TS} DLY={TL} ; 2回目ホールド .ENDS |
◆ トランジェント解析用は、サンプルアンドホールドのサブサーキット SAH を 2 つ組み合わせて 2 回サンプルアンドホールドを行います。パラメータは、TS (サンプリング周期)、DLY (サンプル遅延)、TL (ディレイ)の 3 つです(図 4-2-1)。
◆ TS は、システムのサンプリング周期に合わせます。
DLY は 1 回目のホールドにおける、サンプリング時点からの遅延で、サブサーキット SAH の DLY と同じものです。
1 回目ホールドのタイミングは、原理的にはサンプリングの時点ですから、ゼロです。しかし、4.1.3.(3-C-b) で説明した理由によって、DLY は、ゼロではない小さな値にすることが、必要な場合があります。
この値は、制御演算部の出力波形によって調整する必要がありますから、パラメータになっています。デフォルト = 0.1 です。
◆ TL は、2 回目ホールドのタイミングで、システムのサンプリング時点からの遅れで指定します。この 2 回目ホールドが、コントローラの出力になります。
同時出力形の場合は原理的にはゼロですが、上記の DLY がありますから、それよりもさらに(1% 程度)ずらせた値にします。
正確な同時出力は得られませんが、実用上はこれで十分です。
次回出力のときは、TL = 1 にします。この次回出力のタイミングは正確に取ることができます。
TL のデフォルトは 1 です。4.1.2.(4-B-b)に示したように、実際の制御では、次回出力形が多いからです。図 4-2-1 に示した TL の値は、デフォルト値です。
中間出力のときは、(DLY+1%)〜1までの値を取ります。