APP下载

控制理论虚拟仿真实验教学软件开发

2023-10-07赵婷婷胡长斌

电气电子教学学报 2023年4期
关键词:步长差分环节

郑 勇 赵婷婷 胡长斌 瞿 浩

(北方工业大学 电气与控制工程学院, 北京 100144)

在自动化及相关专业的课程建设工作中,实践教学效果如何很受重视,其中,虚拟仿真实验教学内容的建设是一个重要环节,特别是对疫情期间的线上教学来说,更能发挥其独特的作用。

Matlab是国际上流行的动态系统建模仿真工具,广泛应用于控制工程设计和控制理论教学等诸多领域,其强大的图形建模功能极大地提高了仿真应用的开发效率。但Simulink自身不支持实时仿真,从配合目前常用的半实物仿真式实验教学的角度来说,也缺少一些“所见即所得”式的人机界面设计功能。为此,我们开发了一套基于C#的控制理论课程虚拟仿真实验教学软件,这套软件可以与实验室所开发的实验教学设备无缝对接,该软件具备易于快速更改实验方案、控制算法及参数等优点,真正实现了“所见即所得”,具有较高的实用价值。

该平台可将“计算机软件开发”“控制系统仿真”“自控原理”“计算机控制”“现代控制理论”等课程的教学内容有机结合,在学习的广度、深度方面形成对课程教学的有效补充,并可延伸至毕业设计等阶段作为开放学习平台继续发挥作用。

1 仿真算法讨论

虚拟仿真软件开发的核心内容是将连续控制系统用计算机语言(差分方程)进行离散化仿真,连续系统的数字仿真主要方法有数值积分法和离散相似法,该项软件开发采用的是离散相似法,在此首先对涉及到的一些离散化实现方法进行必要的讨论。

1.1 不同离散方法的精度对比

以一阶惯性系统

(1)

仿真步长均为10 ms为例:

1)采用一阶前向差分方法(T=10 ms)

(2)

展开为:

0.2zX(z)-0.19X(z)=0.02U(z)

(3)

转化为差分方程形式为:

x(k+1)=0.95x(k)+0.1u(k)

(4)

2)采用一阶后向差分方法(T=10 ms)

(5)

展开为:

21X(z)-20z-1X(z)=2U(z)

(6)

转化为差分方程形式为:

21x(k+1)-20x(k)=2u(k+1)

(7)

x(k+1)=0.95238x(k)+0.095238u(k+1)

(8)

3)采用双线性变换方法(T=10 ms)

(9)

展开为:

41zx(z)-39x(z)=2zu(z)+2u(z)

(10)

转化为差分方程形式为:

41x(k+1)-39x(k)=2u(k+1)+2u(k)

(11)

x(k+1)=0.95122x(k)+0.04878u(k+1)+0.04878u(k)

(12)

4)采用Matlab中的c2d函数方法(T=10 ms)

num=[2];

den=[0.2 1];

sys=tf(num,den)

sys_d=c2d(sys,0.01)

(13)

展开为:

zx(z)-0.9512x(z)=0.09754u(z)

(14)

转化为差分方程形式为:

x(k+1)=0.9512x(k)+0.09754u(k)

(15)

几种不同离散化方法的误差对比:

其实际阶跃响应输出为:

(16)

如图1、表1所示,是不同离散化方法的结果与误差对比。

表1 不同离散化方法的误差对比

图1 不同离散化方法的误差对比

结论:在以上几种离散化方法中,Matlab中的c2d函数方法具有相对较高的精确度且较容易以差分方程的方式实现。

1.2 c2d方法不同仿真步长的误差对比

以公式(1)所表示的一阶惯性系统为例,研究采用c2d方法时不同仿真步长对仿真精度的影响,如表2所示。

表2 c2d方法采用5 ms仿真步长对仿真精度的影响

结论:仿真步长越小精度越高,但步长太小,即使不计舍入误差,也会使得仿真计算量增大,计算时间增长,本系统选用5 ms仿真步长,已能满足计算精度要求。

1.3 几种不同离散化位置的对比

如图2所示的三阶系统稳定性实验为例,研究不同的离散化位置对仿真精度的影响。

(a)三阶系统

(b)整体离散化

(c)前向通道离散化

(d) 各环节均离散化图2 三阶系统及不同离散化位置示意图

系统中,T0=0.1,T1=0.5,K1=1,K2=1图3与表3为不同的离散化位置对仿真精度的影响。

表3 几种不同离散化位置仿真误差对比

图3 不同的离散化位置对仿真精度的影响

结论:整体离散化结果最精确,各环节均离散化有利于仿真实现,且仿真误差在可接受范围内,故本系统采用各环节均离散化仿真实现方案。

2 控制系统的规范化方框图描述形式

根据参考文献并结合实例验证,采用1.1中所述的Matlab中的c2d函数,其仿真效果相当于一阶后向差分零阶保持器后再加上一个超前补偿装置,以抵消零阶保持器的滞后影响[1-2]。

超前补偿装置数学表达式为:

c=λerTs

(17)

通常取λ=1,为幅值补偿;γ=1,为相位补偿。

由此推导出:

x(k+1)=x(k)+kiTu(k)

(18)

(19)

(3)微分环节kds的差分方程表达式为:

(20)

对于绝大多数的控制系统,都可以化成规范化方框图的描述形式,在规范化方框图中,仅含有比例、积分、微分、惯性等环节,在仿真程序设计中,可以做成相应的子函数进行调用。

(21)

3 基于C#开发控制理论虚拟仿真软件

3.1 利用C#开发控制理论虚拟仿真软件的特点

C#是一种面向对象的编程语言,对于开发控制理论虚拟仿真软件而言,其相较于Matlab GUI等其他开发手段主要有以下优势:

(1)使用Matlab GUI开发的虚拟仿真软件需要电脑搭载Matlab软件或者MCR运行环境,较为繁琐;

(2)C#编程语言的控件种类和数量相较于Matlab GUI更多,且有着丰富的第三方资源库,使用C#语言开发控制理论虚拟仿真软件具有更好的实用性、灵活性、便捷性和兼容性;

(3)便于向开发实际控制工程软件过渡。这套软件配合相应的硬件设备,进一步扩展功能,可延伸至毕业设计等阶段作为开放学习平台继续发挥作用。

3.2 控制理论虚拟仿真软件C#编程实现的要点

这套软件编程实现的要点主要包括以下方面:

(1)系统初始化(包括界面初始化、变量定义等);

(2)参数确认(主要包括输入信号的类型与大小、电路的阻容值以及计控采样时间等);

(3)计算系统的输出(主要包括获取输入值、按5 ms仿真步长计算各环节的离散表达式,并得到系统的输出);

(4)将C#的picture控件作为软件界面的示波器,根据计算数值绘制各变量的波形图。

3.3 控制理论虚拟仿真软件程序流程图

虚拟仿真软件使用的是仿真时间,而非实际时间,因而直接使用循环方式进行计算,设定虚拟仿真软件中各环节的仿真计算步长为5 ms,循环总次数等于仿真总时长除以仿真步长5 ms。

在自控类项目仿真实验程序中,所有的仿真计算步长均为5 ms(以较小的仿真步长来模拟一个连续系统的运行过程)。其程序流程图如图4所示。

图4 自控类项目仿真实验程序流程图

在计控类项目的仿真实验程序中,为体现计算机控制的作用,还引入了采样周期,并将采样周期设定为可选的5 ms的倍数,其中被控对象部分还是按照5 ms的仿真步长来进行计算,每次进入循环都判断当前的仿真运行时间是否达到了采样周期,如达到则进行一次控制器运算。其程序流程图如图5所示。

图5 计控类项目仿真实验程序流程图

4 已开发完成的仿真实验项目与效果

已开发完成的仿真实验项目包括:

1)自控原理部分

(1)典型环节阶跃响应

(2)典型二阶系统阶跃响应

(3)稳定性分析

(4)稳态误差分析

(5)串联校正

(6)模拟PI控制

(7)采样系统分析

(8)系统频率特性分析

部分软件界面如图6、图7所示。

图6 典型二阶系统阶跃响应

图7 系统频率特性

2)计算机控制部分

(1)DA&AD转换实验

(2)采样与保持实验

(3)模拟PI 控制实验

(4)数字PID控制实验

(5)最小拍控制实验

(6)大林算法控制实验

部分软件界面如图8、图9所示。

图8 数字PID控制实验

图9 最小拍控制实验

5 结语

虚拟仿真实验教学软件面向北方工业大学自研的自控计控多功能实验装置进行物理建模,基于原理分析和实体装置运行数据,完成所有实物实验在虚拟空间的映射。学生可以在虚拟环境下完成从系统建模、性能分析到控制调节的仿真和模拟,观察评估不同的实验效果。同时,可以在实物装置平台上引用虚拟实验中的参数,轻松复现课程中的实验内容。这种“虚实对照、以虚促实”的交互方式,不仅可以显著提高学生对课程内容的理解应用能力,实验设计与分析能力,同时也为实践能力培养的自主学习模式提供了可能[3-5]。该软件的运行使用不依赖特定工具和环境平台支持,可以方便地在课堂讲授、课后练习和实验预习等环节使用。

软件开发成功以后,已在北方工业大学多个控制理论课堂上实现了应用,以其功能全面、效果直观、使用方便等特点受到师生的好评,在疫情期间的线上教学中也发挥了其独特的作用。该软件已推广至三十余所其他院校,并收到了使用效果良好的反馈。今后,将尝试增加与实际传感器和执行机构的接口,完善人机界面,以期达到更好的使用效果。

猜你喜欢

步长差分环节
基于Armijo搜索步长的BFGS与DFP拟牛顿法的比较研究
数列与差分
必要的环节要写清
在农民需求迫切的环节上『深耕』
现代学徒制管理模式及其顶岗实习环节
基于逐维改进的自适应步长布谷鸟搜索算法
基于差分隐私的大数据隐私保护
相对差分单项测距△DOR
一种新型光伏系统MPPT变步长滞环比较P&O法
差分放大器在生理学中的应用