このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
ハードディスクの読み取り/書き込みヘッド コントローラーの設計
この例では、古典制御設計法を使用して、コンピューターのハードディスクの読み取り/書き込みヘッド位置コントローラーを設計する方法を説明します。
読み取り/書き込みヘッド モデルの作成
ニュートンの法則に基づき、次の微分方程式を使用して読み取り/書き込みヘッドをモデル化します。
ここで
はヘッド アセンブリの慣性です。
はベアリングの粘性減衰係数です。
は戻しバネ定数です。
はモーター トルク定数です。
はヘッドの角度位置です。
は入力電流です。
ラプラス変換を使用すると、 から への伝達関数は次のようになります。
次を満たすようなモデルの物理定数を指定します。
J = 0.01; C = 0.004; K = 10; Ki = 0.05;
これらの定数を使用して伝達関数を定義します。
num = Ki; den = [J C K]; H = tf(num,den)
H = 0.05 ----------------------- 0.01 s^2 + 0.004 s + 10 Continuous-time transfer function.
モデルの離散化
読み取り/書き込みヘッドの正確な位置決めを行うデジタル コントローラーを設計するには、まず連続時間プラントを離散化します。
サンプル時間を指定します。
Ts = 0.005;
モデルを離散化します。コントローラーはその入力に接続された (ゼロ次ホールドの) デジタル アナログ コンバーターをもつので、c2d
コマンドを使用して 'zoh'
離散化手法を指定します。
Hd = c2d(H,Ts,'zoh')
Hd = 6.233e-05 z + 6.229e-05 ----------------------- z^2 - 1.973 z + 0.998 Sample time: 0.005 seconds Discrete-time transfer function.
連続時間モデルと離散時間モデルのボード線図を比較します。
bodeplot(H,'-',Hd,'--') legend('Continuous-time','Discrete-time')
離散システムを解析するには、そのステップ応答をプロットします。
stepplot(Hd)
ステップ応答には大きな振幅があります。これはおそらく減衰が小さいためです。システムの開ループ極の減衰を確認します。
damp(Hd)
Pole Magnitude Damping Frequency Time Constant (rad/seconds) (seconds) 9.87e-01 + 1.57e-01i 9.99e-01 6.32e-03 3.16e+01 5.00e+00 9.87e-01 - 1.57e-01i 9.99e-01 6.32e-03 3.16e+01 5.00e+00
予想したとおり、極は小さな等価の減衰率をもち、単位円の近くにあります。したがって、システムの減衰を増加させる補償器を設計しなければなりません。
補償器のゲインの追加
最も簡単な補償器は、極や零点をもたないゲイン係数です。根軌跡法を使用して、適切なフィードバック ゲインを選択してみてください。根軌跡は、閉ループ極の軌跡をフィードバック ゲインの関数としてプロットします。
rlocus(Hd)
極は急激に単位円から離れて不安定になります。したがって、システムに進みを導入しなければなりません。
リード ネットワークの追加
に零点をもち、 に極をもつ進み補償器を定義します。
D = zpk(0.85,0,1,Ts);
対応する開ループ モデルは、補償器とプラントの直列接続です。
oloop = Hd*D
oloop = 6.2328e-05 (z+0.9993) (z-0.85) ------------------------------ z (z^2 - 1.973z + 0.998) Sample time: 0.005 seconds Discrete-time zero/pole/gain model.
進み補償器が開ループ周波数応答に与える影響を確認するには、Hd
と oloop
のボード線図を比較します。
bodeplot(Hd,'--',oloop,'-') legend('Plant','Plant plus lead compensator')
補償器がシステムに進みを追加し、それによって位相応答が周波数範囲 で上方向にシフトします。
根軌跡プロットを使用して、閉ループ システムの極の動作を調べます。x
軸と y
軸の両方の範囲を -1
~ 1
に設定します。
rlocus(oloop) zgrid xlim([-1 1]) ylim([-1 1])
すると、閉ループ極はある程度の間、単位円内に留まります。
プロットのデータ マーカーを作成するには、根軌跡の曲線をクリックします。マーカーをドラッグして、曲線上で減衰が最大になる点を見つけます。0.782 の最大減衰は、4.07e+03
のフィードバック ゲインに対応します。
設計の解析
この設計を解析するには、まずフィードバック ゲインが 4.07e+03
の開ループ システムで構成される閉ループ システムを定義します。
k = 4.07e+03; cloop = feedback(oloop,k);
閉ループのステップ応答をプロットします。
stepplot(cloop)
この応答は、閉ループ設定点によって異なります。ここで示すものは、比較的速く、約 0.06 秒で落ち着きます。したがって、この閉ループ ディスク ドライブ システムの探索時間は 0.06 秒です。今日の標準から見るとこの探索時間は比較的遅いものですが、ここでは若干減衰したシステムを使用しています。
設計のロバスト性を調査することを推奨します。これを行うには、システムのゲイン余裕と位相余裕を計算します。まず、補償器、プラント、フィードバック ゲインを直列に接続して、単一フィードバックの開ループ システムを作成します。
olk = k*oloop;
次に、この開ループ モデルの余裕を計算します。
[Gm,Pm,Wcg,Wcp] = margin(olk)
Gm = 3.8360 Pm = 43.3061 Wcg = 296.7985 Wcp = 105.4738
このコマンドはゲイン余裕 Gm
、位相余裕 Pm
、およびそのそれぞれの交差周波数 Wcg
と Wcp
を返します。
ゲイン余裕を dB に変換します。
20*log10(Gm)
ans = 11.6776
余裕をグラフィカルに表示することもできます。
margin(olk)
この設計はロバストであり、開ループ システムで 11 dB のゲインの増加または 40 度の位相遅れを不安定にならずに許容します。この設計の手順を続けることで、開ループ システムを安定化し、探索時間をさらに短縮する補償器を見つけられる場合があります。