干燥器的传递函数为Gp(s)=(2/(30s+1))*e^-30s,设计大时延控制系统,基于matlab R2017b的simulink,利用微分先行+Smith预估该如何实现
时间: 2024-02-16 08:02:42 浏览: 101
好的,下面我将详细介绍如何在 MATLAB R2017b 中使用 Simulink 来实现基于微分先行+Smith预估的大时延控制系统。
首先,我们需要将干燥器的传递函数转化成单位反馈下的标准传递函数形式。根据上面的计算,我们可以得到:
Gp(s) = (2/(30s+1))*e^-30s
= 2/(30s+1)*e^-s*e^-29s
将其转化为 MATLAB 中的传递函数模型:
```matlab
num = 2;
den = [30, 1];
Gp = tf(num, den)*tf('1', 's')*exp(-29*tf('1', 's'));
```
接下来,我们可以使用 Simulink 来构建整个控制系统。首先,我们需要在模型中添加一个 Transfer Fcn 模块,用于表示被控对象,其传递函数为 Gp(s)。然后,我们需要添加一个微分先行控制器,其传递函数为 Gc(s) = Kp + Tds,其中 Kp 和 Td 分别为比例系数和微分时间常数,需要根据实际情况进行调整。最后,我们需要添加一个 Smith 预估器,其传递函数为 Gf(s) = e^-Ls/(1-e^-Ls),其中 L 是预估时间常数,同样需要根据实际情况进行调整。
具体来说,我们可以在 Simulink 中按照如下方式构建控制系统:
1. 在模型中添加一个 Transfer Fcn 模块,用于表示被控对象。双击该模块,在 Numerator 和 Denominator 中分别输入上面计算得到的 num 和 den,然后添加一个 Delay 模块,设置 Delay Time 为 29,用于表示干燥器的时滞。
2. 添加一个微分先行控制器。在模型中添加一个 Transfer Fcn 模块,设置 Numerator 为 [Kp, Td],Denominator 为 [1, 0]。然后添加一个 Scope 模块,用于显示系统的响应结果。
3. 添加一个 Smith 预估器。在模型中添加一个 Transfer Fcn 模块,设置 Numerator 为 [1],Denominator 为 [1, -1],然后添加一个 Delay 模块,设置 Delay Time 为 L。
4. 将被控对象、微分先行控制器和 Smith 预估器按照串联的方式连接起来。
最后,我们需要设置微分先行控制器和 Smith 预估器的参数,并运行 Simulink 模型进行仿真。具体来说,我们可以在微分先行控制器的 Transfer Fcn 模块中设置 Kp 和 Td 的值,然后在 Smith 预估器的 Delay 模块中设置 L 的值。在 Simulink 模型中点击 Run 按钮,就可以看到系统的响应结果了。
希望这些信息对你有所帮助!
阅读全文