- 1、本文档共6页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
直流电机三种控制方法示例及比较.
直流电机的三种控制方法讨论
比较了三种跟踪定位点命令及减小负载扰动敏感性的技术。
前馈控制
积分反馈控制
LQR最优二次型算法控制
一、问题描述
在电枢控制的直流电动机中,外加电压Va控制电机转轴的转角速度。如图1所示
图1 带负载电机工作示意图
图1中显示了两种减小角速度对负载变化(改变电机负载的反向转矩)敏感性的方法。
图2所示的是一个简单的直流电机模型,转矩Td作为电机的负载扰动。在该扰动下,必须使转速的变化减到最小。
图2 带负载电机结构模型
模型参数入下所示:
R = 2.0; % Ohms
L = 0.5; % Henrys
Km = 0.1; Kb = 0.1; % torque and back emf constants转矩和反电势常数
Kf = 0.2; % Nms 粘滞摩擦系数
J = 0.02; % kg.m^2/s^2 转动惯量
首先构造一个直流电机的状态空间模型,有两个输入(Va,Td)和一个输出(w):
h1 = tf(Km,[L R]); % armature电枢传递函数
h2 = tf(1,[J Kf]); % eqn of motion 转动负载的传递函数
dcm = ss(h2) * [h1 , 1]; % w = h2 * (h1*Va + Td) 角速度函数
dcm = feedback(dcm,Kb,1,1); % close back emf loop
现在绘制阶跃输入电压为Va的角速度响应曲线,如图3所示。右键点击图形,选择Characteristics可查看具体响应参数,上升时间,调节时间,峰值时间等。
stepplot(dcm(1));
图3 带负载电机在输入单位阶跃电压信号Va时的响应曲线
二、前馈控制设计
图4所示,是一个简单的前馈控制结构,通过控制器调节使角速度w达到w_ref的指定值。
图4 前馈控制示意图
前馈增益Kff应该设置为电压到角速度的直流增益的倒数Kff = 1/dcgain(dcm(1))。
为了估计消除负载干扰的前馈控制器参数,模拟一个时间从5秒到10秒范围的干扰转矩,干扰转矩为Td=-0.1牛米,设定参考角速度为w_ref=1。
t = 0:0.1:15;
Td = -0.1 * (t5 t10); % 装在扰动信号Td
u = [ones(size(t)) ; Td]; % 输入信号为指定角速度w_ref=1 and 扰动信号Td
cl_ff = dcm * diag([Kff,1]); % 在系统中增加前馈增益
set(cl_ff,InputName,{w_ref,Td},OutputName,w);
h = lsimplot(cl_ff,u,t);
title(Setpoint tracking and disturbance rejection)
legend(cl\_ff)
图5 前馈控制系统对干扰信号的响应曲线
显然,前馈控制处理负载扰动不佳。C(s) = K/s,式中的K是待确定的。为了确定增益K,可以在电压到角速度的开环传递函数中使用根轨迹的方法,用1/s乘以开环传递函数。利用反馈控制系统开环传递函数在根轨迹图中确定积分环节的增益K。图7所示为加入积分的反馈控制系统的根轨迹图。
h = rlocusplot(tf(1,[1 0]) * dcm(1));
setoptions(h,FreqUnits,rad/sec);
set(gca,Xlim,[-15 5],Ylim,[-15 15]);
图7 加入积分的反馈控制系统的根轨迹图
按下曲线可读取增益值及相关信息。这里合理的K值选择为K=5。注意单入单出系统设计工具提供了一个综合的图形用户界面来完成这样的设计。(相关内容请参考sisotool帮助)
在同一个测试系统中,将这个新的反馈控制设计和前面的前馈设计进行比较。对应的时域响应曲线如图8所示。
K = 5;
C = tf(K,[1 0]); % 积分控制器的传递函数C=K/s
cl_rloc = feedback(dcm * append(C,1),1,1,1);
h = lsimplot(cl_ff, cl_rloc,u,t);
set(cl_rloc,InputName,{w_ref,Td},OutputName,w);
title(Setpoint tracking and disturbance rejection)
legend(feedforward,feedback w/
文档评论(0)