天天减肥网,内容丰富有趣,生活中的好帮手!
天天减肥网 > Simulink学习——基础建模流程案例(二)(简单弹簧阻尼器系统+控制建模)

Simulink学习——基础建模流程案例(二)(简单弹簧阻尼器系统+控制建模)

时间:2020-04-19 16:53:46

相关推荐

Simulink学习——基础建模流程案例(二)(简单弹簧阻尼器系统+控制建模)

Simulink Example : Create Model Components

案例学习

继上一期

当对简单的弹簧、阻尼系统建立完了模型。现在提出第二个问题:

如果F可控,但是外界环境也会有一些扰动,那么如何控制F能让小球最快到达稳定状态。

对于这样一个问题,在workflow第二期的Create Model Components(创建模型元件)这个案例里,simulink告诉我们,在对详细系统进行进一步建模前,我们可以先辨识出模型的各个元件及其边界,然后以创建子系统的方式将其分离。如下图所示:

根据问题,案例创建了Operator、Environment、Controller、Mechanical system子系统。虽然子系统内的系统不一定这么复杂,但是这样的建模方式使可读性大大增加。能更好地捋清楚思路。

Mechanical system 子系统

由于我们控制的和收到扰动的都是外力,因此原来的F替换成control和disturbance。

Controller 控制器

example中通过一个PID控制器来控制外力,sensor的来源为小球的位置x

Operator 操作器

这里example给出了多个小球的目标位置,通过stateflow

Environment 环境因素

目前环境因素只有一个外力的扰动,这里通过一个step去给出这个扰动

建模练习

来学着例子自己做做看吧,加入点自己的想法:

首先既然要分元件,我干脆就分的更彻底一些吧,Contro视为input到system的调整模块,

urbance然后在control部分加入PID控制器,在前面加入Disturbance,并做好两侧的信号传递

仿真

把所有模块连好仿真试一下:

PID调试

先随便给个PID试试

嗯。。。。很明显不行

用PID Tuner更新一下PID参数再仿真一下

很稳定,尝试一下让小球的目标位置处于一个变动状态,看看我们的控制效果如何。

把目标位置的输入改一改:

嗯,效果不错,完全重合了。。分开看更清楚点

换成随机位置输入:

目标位置变化速度太快的话还是会有超调

把控制速度调慢点,减少震荡,效果好了很多。

小结

1.可以通过子系统创建来将不同类型的系统封装起来并定义接口

2.使用bus时线的位置要计划好,不然会让信号线变得非常乱

模型分享:

/download/weixin_44281768/12839416

如果觉得《Simulink学习——基础建模流程案例(二)(简单弹簧阻尼器系统+控制建模)》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。