直流电机控制

此示例示出了用于跟踪设定点的命令并减少负载扰动灵敏度三个DC马达控制技术的比较:

  • 前馈命令

  • 积分反馈控制

  • 等方面的监管

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

问题陈述

在衔铁控制的直流电动机,所施加的电压Va控制角速度ω轴的。

这个例子展示了两种直流电机控制技术,以降低w对负载变化(电机负载所反对的扭矩变化)的灵敏度。

DC电机的简化模型,如上所示。扭矩Td的模型负载扰动。你必须尽量减少这种干扰引起的速度变化。

在这个例子中,物理常数是:

R = 2.0;%欧姆L = 0.5;%亨利公里= 0.1;%扭矩常数KB = 0.1;%反电动势常数KF = 0.2;NMS%J = 0.02;% kg.m ^ 2 /秒^ 2

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

H1 = TF(公里,[L R]);%电枢H2 = TF(1,[J Kf个]);%的运动等式DCM = SS(H 2)* [H1,1];%W = H 2 *(H1 * VA + Td)为DCM =反馈(DCM,KB,1,1);%接近反电动势循环

注意:使用状态空间表单计算,以最小化模型顺序。

现在绘制角速度响应的一个步骤变化的电压Va:

stepplot (dcm (1));

右键选择“特性:设置时间”,显示设置时间。

前馈直流电动机控制设计

您可以使用这个简单的前馈控制结构来命令角速度w到给定值w_ref。

前馈增益Kff应该设置为Va到w直流增益的倒数。

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

为了评估前馈设计在负载扰动下的性能,在t=5到t=10秒之间,在干扰Td = -0.1Nm的情况下,模拟阶跃指令w_ref=1的响应:

t = 0时:0.1:15;TD = -0.1 *(T> 5&T <10);%负载扰动u = [one (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.1 nm”},...“变性”,“中间”,“水平的”,“中心”,“颜色”,“r”);

显然,前馈控制手柄负载扰动不佳。

反馈DC电机控制设计

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

为了实现零稳态误差,使用积分控制的形式

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.注意SISO设计工具提供了一个集成的图形用户界面来进行这样的设计(帮助SISOTOOL详情)。

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

K = 5;C = tf(K,[1 0]);%补偿器K / scl_rloc =反馈(dcm *追加(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 DC电机控制设计

为了进一步提高性能,尝试为如下所示的反馈结构设计一个线性二次调节器(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) = \omega(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 *追加(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);

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

直流电机控制设计比较

最后,我们比较我们的模拟试验情况下,三个DC电机控制设计:

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

由于其额外的自由度,在拒绝负载干扰的LQR补偿器执行最好的(三个DC电机控制设计中这里所讨论的)。