Matlab 仿真——直流电机速度控制(4)通过根轨迹法进行控制器设计

Matlab 仿真——直流电机速度控制(4)通过根轨迹法进行控制器设计

1. 受控对象与设计要求

受控对象

%motor parameter
J = 0.01;
b = 0.1;
K = 0.01;
R = 1;
L = 0.5;
%motor tf function
s = tf('s');
P_motor = K/((J*s+b)*(L*s+R)+K^2)

设计需求(阶跃响应):

  • 稳定时间<2s
  • 超调<5%
  • 稳态误差<1%
2.画出根轨迹

根轨迹设计的主要思想是根据根轨迹图预测闭环响应,该图描绘了可能的闭环极点位置。然后,通过控制器添加零和/或极点,可以修改根轨迹,以实现所需的闭环响应。

本节我们使用Control system designer工具箱来协助我们进行根轨迹分析与控制器设计。

运行以下代码绘制根轨迹图

%motor parameter
J = 0.01;
b = 0.1;
K = 0.01;
R = 1;
L = 0.5;
%motor tf function
s = tf('s');
P_motor = K/((J*s+b)*(L*s+R)+K^2)
controlSystemDesigner('rlocus', P_motor)

运行结果(通过右击图像,选择Grid选项以打开网格显示)
在这里插入图片描述
在这里插入图片描述

3.确定增益K

Control system designer工具箱方便我们把时域上的设计要求转换成根轨迹的区域,现在我们试着把我们的设计要求添加进根轨迹图里面

  1. 右击图像,选择添加设计需求
    在这里插入图片描述

  2. 设置Setting time小于两秒,然后点击OK在这里插入图片描述
    在这里插入图片描述

  3. 接着再加上超调的设计要求
    在这里插入图片描述
    上图白色区域就是满足超调和稳定时间条件的所有极点位置。通过鼠标点击粉色方块并拖动它,我们可以找到新的根位置。松手之后响应的阶跃响应图像也会随之更新。我们把极点拖到大概6±2i的位置,然后切换到阶跃响应图像,观察新系统的性能。
    在这里插入图片描述
    新系统的超调和稳定时间都能满足要求,但是稳态误差很大。因此需要加一个lag controller来补偿稳态误差。

4.设计Lag controller

Lead compensator通常用来使系统稳定,而Lag compensator通常用来补偿系统的稳态误差。这里显然需要一个Lad compensator。我们试着添加如下的Lag 补偿器(这里为什么这么设计我们没有涉及,直接给出了结论)
C ( s ) = ( s + 1 ) ( s + 0.01 ) C(s) = \frac {(s + 1)} { (s + 0.01) } C(s)=(s+0.01)(s+1)
利用Control System Designer工具箱可以很方便地添加Lag补偿器
4.1 点击Perference
在这里插入图片描述
4.2 点击Options, 选择Zero/pole/gain: , 点击OK
在这里插入图片描述
4.3 双击左边Controllers and Fixed Blocks 里面的C,会打开控制器编辑窗口,我们右键单击Dynamics窗口,然后选择Add Pole and Zero,选择添加Lag 补偿器
在这里插入图片描述
4.4 配置零极点位置
在这里插入图片描述
关闭补偿器编辑窗口之后,根轨迹图也做了相应的更新。

5. 确定带有Lag补偿器的增益K

我们再一次拖动极点,到一个比较接近白色区域边界的位置
在这里插入图片描述

在这里插入图片描述
然后观察阶跃响应,发现这里的稳态误差已经很小了,但是稳定时间变得不满足要求。wait,what?我们之前不是说白色区域肯定会满足超调和稳定时间要求吗?原因很简单,加了Lag补偿器的新系统已经不具备标准二阶系统的形式了,因此不能用二阶系统划分根轨迹区域的方法来划分阴影和空白区域。更具体地来说,观察根轨迹图我们发现第三个极点在很接近虚轴的位置。该极点一方面拖慢了系统的收敛(所以不满足稳定时间要求),另一方面因为它很好的衰减,所以对于新系统的超调被有所减小,因此能满足超调要求。

综上所述,对于新的系统,我们可以脱离划分的阴影区域带来的限制。我们进一步地提高增益K,看看系统怎么响应。由于图像只显示了一部分,我们调整一下虚轴的上下限

5.1 调整图像
在这里插入图片描述
在这里插入图片描述
5.2 进一步拖动极点,直到阶跃响应满足系统设计要求。
我们把极点拖到了新的位置,此时的增益为44.276
在这里插入图片描述
新的阶跃能满足系统设计要求,至此,根轨迹法的控制器设计过程结束
在这里插入图片描述

  • 10
    点赞
  • 52
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
直流电机双闭环直流调速系统中,控制器设计需要考虑到速度环和电流环两个环节。 首先,对于速度环,我们需要设计一个 PI(比例积分)控制器控制转速。控制器的输出是电机的电压,输入是速度误差,即设定速度与实际速度之差。PI控制器的传递函数为: $$G_{p}(s)=K_{p}+\frac{K_{i}}{s}$$ 其中 $K_p$ 和 $K_i$ 分别为比例增益和积分增益。 其次,对于电流环,我们需要设计一个 PI 控制器控制电流。控制器的输出是调节电压,输入是电流误差,即设定电流与实际电流之差。PI控制器的传递函数为: $$G_{i}(s)=K_{p}+\frac{K_{i}}{s}$$ 其中 $K_p$ 和 $K_i$ 分别为比例增益和积分增益。 在实际应用中,可以采用串联型控制器,将速度环和电流环串联起来。串联型控制器的传递函数为: $$G(s) = G_p(s)G_i(s) = \left(K_p+\frac{K_i}{s}\right)\left(K_p+\frac{K_i}{s}\right)$$ 据系统的要求,可以通过调整控制器的参数 $K_p$ 和 $K_i$ 来实现系统的优化。常见的调节方包括轨迹、频域和最优控制等。 在 MATLAB 中,可以使用 Simulink 工具箱进行系统的建模和仿真。具体步骤如下: 1. 在 Simulink 中建立模型,包括电机模型、PI 控制器模型和反馈环路模型。 2. 设置模型参数,包括电机的额定电压、额定转速和电流等参数,以及控制器的 $K_p$ 和 $K_i$ 参数。 3. 进行仿真,观察系统的响应性能,包括稳态误差、超调量、调节时间等指标。 4. 仿真结果,调整控制器的参数,优化系统的性能。 需要注意的是,在实际应用中,还需要考虑到系统的稳定性和鲁棒性等因素,以确保系统的可靠性和安全性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值