主要内容

直流电机控制

这个例子展示了三种直流电动机控制技术的比较,用于跟踪设定值命令和降低对负载扰动的敏感性:

  • 前馈命令

  • 积分反馈控制

  • 等方面的监管

有关直流电机模型的更多详细信息,请参阅“入门:构建模型”。

问题陈述

在电枢控制的直流电动机中,施加电压Va控制轴的角速度w。

本例展示了两种直流电机控制技术,用于降低w对负载变化的敏感性(由电机负载相对的转矩变化)。

上面显示了一个简化的直流电动机模型。转矩Td模拟负载扰动。你必须尽量减少这种干扰引起的速度变化。

对于这个例子,物理常数是:

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

首先构造一个有两个输入(Va,Td)和一个输出(w)的直流电机的状态空间模型:

h1 = tf(Km,[L R]);%电枢h2 = tf(1,[J Kf]);% eqn的运动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的倒数。

Kff = 1/dcgain(dcm(1))
Kff = 4.1000

为了评估负载扰动时的前馈设计,在t=5和t=10秒之间,模拟对阶跃命令w_ref=1的响应,扰动Td = -0.1Nm:

T = 0:0.1:15;Td = -0.1 * (t>5 & t<10);负载扰动U = [ones(size(t));Td];% w_ref=1和Tdcl_ff = 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.1Nm'},...“变性”“中间”“水平的”“中心”“颜色”“r”);

显然前馈控制处理负载扰动很差。

反馈式直流电机控制设计

接下来尝试如下所示的反馈控制结构。

要实现零稳态误差,请使用表单的积分控制

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

要确定增益K,可以使用应用于开环1/s *传输(Va->w)的根轨迹技术:

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

点击曲线阅读增益值和相关信息。一个合理的选择是K = 5。控制系统设计器应用程序是执行此类设计的交互式UI。

将此新设计与相同测试用例的初始前馈设计进行比较:

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

根轨迹设计能更好地抑制负载扰动。

LQR直流电机控制设计

为了进一步提高性能,请尝试为如下所示的反馈结构设计一个线性二次型调节器(LQR)。

除了对误差积分外,LQR方案还利用状态向量x=(i,w)来合成驱动电压Va,得到的电压形式为

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) = \ s /s。$ $

该代价函数的最优LQR增益计算如下:

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

接下来推导闭环模型进行仿真:

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

该图比较了三种直流电机控制设计的闭环波德图

bodeplot (cl_ff cl_rloc cl_lqr);

点击曲线来识别系统或检查数据。

直流电机控制设计的比较

最后,我们在仿真测试用例中比较了三种直流电机控制设计:

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

由于其额外的自由度,LQR补偿器在拒绝负载扰动方面表现最好(在这里讨论的三种直流电机控制设计中)。