主要内容

このページの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。

直流モーター制御

この例では,設定点コマンドに追従し,負荷外乱に対する感度を下げるための,3つの直流モーター制御手法を比較します。

  • フィードフォワード指令

  • 積分フィードバック制御

  • 等レギュレーター

直流モーターモデルの詳細は,“入門”のモデル作成についての記載を参照してください。

問題の定義

電機子制御の直流モーターでは,印加電圧Vaによってシャフトの角速度wが制御されます。

この例では,負荷変動(モーター負荷に抗するトルクの変化)に対する感度wを下げる,2つの直流モーター制御の手法を示します。

直流モーターの簡易モデルを上図に示しています。トルクTdは,負荷変動をモデル化します。このような変動によって誘発される速度変化を最小限に抑えなければなりません。

この例では,以下の物理定数を使用します。

R = 2.0;%欧姆L = 0.5;%亨利公里= 0.1;%转矩常数Kb = 0.1;反电动势常数%Kf = 0.2;% NmsJ = 0.02;% kg.m ^ 2 /秒^ 2

最初に2つの入力(Va, Td)と1つの出力(w)を使用して,直流モーターの状態空間モデルを作成します。

h1 = tf(Km,[L R]);%电枢h2 = tf(1,[J Kf]);运动的%方程式DCM = ss(h2) * [h1, 1];% w = h2 * (h1*Va + Td)dcm =反馈(dcm, Kb, 1, 1);%关闭反emf循环

メモ:モデルの次数を最小限に抑えるために状態空間形式を使用して計算します。

ここで,電圧Vaのステップ変化に対する角速度応答をプロットします。

stepplot (dcm (1));

プロットを右クリックし,[特性:整定時間]を選択して,整定時間を表示します。

フィードフォワード直流モーター制御の設計

この簡単なフィードフォワード制御構造を使用すると,角速度wを所定の値w_refに設定できます。

フィードフォワードゲインKffはVaからwへの直流ゲインの逆数に設定する必要があります。

凯萨= 1 / dcgain (dcm (1))
凯萨= 4.1000

負荷変動を考慮してフィードフォワード設計を評価するには,変動Td = -0.1 nm (t = 5からt = 10秒の間)として,ステップコマンドw_ref = 1に対する応答をシミュレートします。

t = 0:0.1:15;drawtext (t> = 1 and t> = 1 and t> = 1 and t> = 1 and t> = 1 and t> = 1;%负载扰动U = [one (size(t))];Td];% w_ref=1 and TdKff = dcm * diag([Kff,1]);%加前馈增益cl_ff。InputName = {“w_ref”“Td”};cl_ff。OutputName =' w ';h = lsimplot (cl_ff, u, t);标题(“设定跟踪和抗干扰”)传说(“cl \ _ff”%注释情节线([5,5],[。2,3]);线([10、10],[。2,3]);文本(7.5,升至,{“干扰”“T_d = -0.1 nm”},...“变性”“中间”“水平的”“中心”“颜色”“r”);

明らかに,フィードフォワード制御では負荷変動にうまく対処できません。

フィードバック直流モーター制御の設計

次に,以下のフィードバック制御構造を試してみます。

定常偏差をゼロにするには,以下の形式の積分制御を使用します。

C (s) = K / s
K是要确定的。

開ループ1 / s *转移(Va - > w)に適用される根軌跡法を使用すれば,ゲインKを決めることができます。

H = rlocusplot(tf(1,[1 0]) * dcm(1));setoption (h,“FreqUnits”“rad / s”);-15年xlim ([5]);ylim (15) (-15);

曲線をクリックして,ゲイン値と関連情報を読み取ります。ここで適切な選択は,K = 5です。输出設計ツールには,このような設計に使用できる統合GUIが用意されています(詳細は,ヘルプsisotoolを参照)。

この新しい設計を,同じテストケースの最初のフィードフォワード設計と比較します。

K = 5;C = tf(K,[1 0]);%补偿器K / sif (dcm * append(C,1),1,1,1), colorred;h = lsimplot (cl_ff cl_rloc, u, t);cl_rloc。InputName = {“w_ref”“Td”};cl_rloc。OutputName =' w ';标题(“设定跟踪和抗干扰”)传说(“前馈”“反馈w / rlocus”“位置”“西北”

根軌跡設計の方が負荷外乱の抑制に適しています。

等直流モーター制御の設計

さらに性能を改善するために,以下のようなフィードバック構造に対する線形2次制御器等)の設計を試してみます。

等スキームでは,誤差の積分のほかに,状態ベクトルx =(我,w)を使用して駆動電圧Vaを合成します。その結果,電圧は以下のような形式になります。

K1 * w + K2 * w/s + K3 * i
其中I为电枢电流。

良好な外乱の抑制を得るために,コスト関数を使用して大きい積分誤差を抑制します。たとえば以下のコスト関数があります。

$ $ C = \ int ^ \ infty_0 (20 q (t) ^ 2 + \ω(t) ^ 2 + 0.01 v_a (t) ^ 2) dt $ $

ここで

$$ q(s) = 0 /s。$$

このコスト関数にとって最適な等ゲインは,以下のように計算されます。

Dc_aug = [1;Tf (1,[1 0])] * dcm(1);%增加输出w/s到直流电机模型K_lqr = lqry(dc_aug,[1 0;0 20], 1);

次に,シミュレーション目的の閉ループモデルを導出します。

P = augstate (dcm);%的输入:Va, Td输出:w xC = K_lqr * append(tf(1,[1 0]),1,1);%补偿器包括1/sl = P * append(C,1); / /%开环CL =反馈(OL,眼(3),1:3,1:3);闭环反馈cl_lqr = CL(1,[1 4]);%萃取转移(w_ref,Td)->

これは3つの直流モーター制御設計の閉ループボード線図を比較するプロットです。

bodeplot (cl_ff cl_rloc cl_lqr);

曲線をクリックし,システムを特定するか,データを調べます。

直流モーター制御設計の比較

最後に,シミュレーションテストケースで直流モーター制御の3つの設計を比較します。

h = lsimplot (cl_ff cl_rloc cl_lqr, u, t);标题(“设定跟踪和抗干扰”)传说(“前馈”“反馈(rlocus)”的反馈等方面)“位置”“西北”

等補償器では自由度が高くなるため,負荷外乱が最も効果的に抑制されます(ここで扱った直流モーター制御の3つの設計の中で)。