一、概述
倒立摆系统的整定是自动控制理论中的典型问题,在网路上或者书籍中可以找到不少相关的资料知识,整定算法也多式多样,模糊PID、LQR、以及本文用到的PID等。
在传统的倒立摆实验中,常用的仿真工具组合Matlab+Adams、或者构建一个传递函数在Simulink仿真等,或者直接用单片机搭建一套实物系统,在网路上也有见到用汇川或者倍福PLC搭建实物倒立摆系统。
二、实现思路
在本文中使用到的环境正如标题所示Matlab+MCD+PLC,其中Matlab用到是Simulink,PLC用到的是西门子的PLCSIM Advanced,MCD为NX MCD,为纯软件在环仿真,实验分两步走:
1、Simulink(控制算法)+MCD(物理环境),这一步主要是利用MATLAB丰富的算法模型,方便的搭建控制算法(虽然倒立摆控制算法已经很成熟了,大家以点带面,领悟精神即可)。
2、PLC SIM(从Simulink中移植算法)+MCD(物理环境),完整实现倒立摆从起摆到整定过程。
三、程序设计及实现
第一步:在MCD中构建倒立摆模型的物理仿真环境,在Simulink中搭建并级PID控制器。
在Simulink中搭建控制模型,为了方便实验参数调整,这里提前将Simulink调整为定步长。
实现效果:从波形和实际效果可以看到效果符合预期,且对于手动拖拽摆棍,这种施加外力因素下,也有较好的整定效果。
演示视频
小结:至此我们已经实现了双环的控制,并且得到了较好的效果。其实省去了动力学模型分析以及传递函数构建,而是直接放在了MCD的物理环境中。(当然PID等参数我也没有计算,有兴趣的朋友可以推导下)。
第二步:将Matlab中的控制算法离散化移植到PLC中,为了贴合实际环境,采用了工艺对象轴控制滑台的运动,MCD继续引用之前的测试环境。
实现效果:这一步完整实现了倒立摆从起摆到整定的过程。