APP下载

小球悬浮实验装置的设计与实现

2022-09-14朱建军孙佳东谢俊杰李天顺姜衍超

电子制作 2022年17期
关键词:稳态上位串口

朱建军,孙佳东,谢俊杰,李天顺,姜衍超

(1.吉林化工学院,吉林吉林,132022;2.燕山大学,河北秦皇岛,066004)

0 引言

PID[1]控制理论因其广泛的工程应用性,在高校的实验课程中占有较大比重,但是目前常见的PID控制实验装置多为温度、液位调节系统,这类平台普遍存在对实训环境要求较高、参数设定困难、调节周期长等问题。该类实验设备大都采购于教学仪器厂家,成本较高,维修升级麻烦。本文针对自动控制原理实验课程,研制了小球悬浮实验装置[2]。该装置操作简单且便于维护,完全可以满足自动化专业学生掌握PID原理、编程与应用的需要。

1 系统整体设计

本系统硬件系统主要由摄像头、Arduino单片机、串口模块、PWM调节器、玻璃筒、乒乓球、轴流风机等装置组成,并在此基础上设计软件程序及上位机界面。乒乓球放置在下方安装有轴流风机的竖直玻璃筒内,风机可吹动乒乓球在筒内沿竖直方向运动。上位机与单目摄像头连接,通过OpenCV进行颜色识别,可测得乒乓球在筒内的位置信息,上位机通过PID算法处理位置信息,通过串口将输出数据传送给下位机,下位机接收到数据后,通过改变电机驱动板的输入PWM波占空比,进而改变电机驱动板的输出电压,调整轴流风机风量,最终将乒乓球吹浮并稳定于设定高度值处。PID参数、浮球位置设定值的设置可在上位机中进行,并且通过上位机监视界面,还可以方便地观察乒乓球位置实时变化情况。

2 硬件设计

小球悬浮实验装置硬件部分由摄像头、PC机、Arduino微机、轴流风机、位置控制对象等组成。根据Arduino Mega 2560、USBTOTTL模块、轴流风机、4~24V直流电压源、自锁开关等模块的工作原理和使用方法,通过查找原理图确定引脚的功能和连接方式,利用画图软件绘制了硬件整体接线图如图1所示。

图1 硬件整体接线图

系统控制单元。该系统采用基于8位ATmega 2560芯片的Arduino Mega 2560单片机。该单片机片内资源丰富、编程环境搭建快速、编程简单快速、源码开放,包含PWM接口、UART接口,时钟、定时器等资源,负责接收PC数据和风机PWM脉宽调制。

串口通信[3]模块。由于单片机的串口通讯采用TTL标准,因此本装置采用USB TO TTL模块实现上位机和单片机的通讯。本装置串口波特率设置为115200bit/s,从而使系统整体具有较高的响应速度。

轴流风机,具有安装简单、成本低廉、功耗低、散热快、噪音低、节能环保等优点。San Ace 40轴流风机额定电压为12V,使用范围在8~13.2V之间,额定电流为 1.1A,最大风量在为0.85m3/min。运用此风机,系统的超调量较小,调节时间较短,能够快速到达稳态,并且系统达到稳态后,稳态误差能够保持在一个较小的范围内。

3 软件设计

■ 3.1 浮球定位

由单目相机为主要元件组成的单目视觉高度测量系统,通过小球在相机图像视野中4的位置,采用比例映射法测量小球的高度信息。小球高度测量示意图如图2所示。

图2 小球高度测量示意图

玻璃导管标定零点到标定最高点之间的距离为H,用单目摄像头将其投射到相机成像原件CCD靶面后,其在垂直方向所占像素点个数为N。小球每到达一个高度,在CCD靶面中都对应着一个像素块,像素块的几何中心距离图像底部的像素个数为n。因此小球高度h可以通过下式计算:

式中:N、H都是常量,其中N可以通过设置感兴趣区域更改,这里设置为320,H可以通过测量直接获得,这里为83cm。因此可以计算出H与N的比值k为0.26cm,可将(1)式简化为:

至此已经完成了对坐标世界坐标的建立,接下来需要通过OpenCV计算机视觉库对现场采集的图像进行处理。在数字图像处理中常用色彩模型是RGB模型和HSV模型,HSV模型更符合人描述和解释颜色的方式,因此本文在HSV颜色空间模型下进行颜色识别。

通过摄像头采集的图像在OpenCV计算机视觉库[4]中默认格式为BGR格式,因此需要将图片从BGR格式转化为HSV格式,再对图像进行二值化处理,根据小球HSV值,将阈值范围内的像素点设置为1,阈值范围外的像素点设置为0。对图像进行二值化处理后,通过区域生长算法[5]获得白色连通区域的面积大小,通过对比选择出最大的连通区域,即是二值化处理后的小球图形,其程序流程图如图3所示。

图3 程序流程图

在图像处理过程中会产生一些干扰[6],可以通过区域生长算法获得干扰区域大小,若小于设定值则视为噪声。区域生长算法先对每个需要分割的区域找到一个种子像素作为生长的起点,然后将种子像素周围领域中与种子像素具有相似性质的像素合并到种子像素所在的区域中,将这些新像素当做新的种子重复上面的过程。直到再没有满足条件的像素可被合并进来,生长停止。图像经过区域生长后,可以划分为3个部分,分别是噪音、小球、背景,其中噪音占73个像素,小于设定值,被过滤,小球占293个像素,如图4所示。

图4 图像消除干扰效果

■ 3.2 下位机程序

本次设计中,下位机需要具有开关状态检测、串口读写、PWM脉宽调制这三个功能,并且三个功能需要互不影响、协同工作,其具体流程为:下位机对硬件进行初始化,初始化成功后,I/O口对轴流风机开关状态进行检测,若开关状态引脚发生改变,则会通过串口发送开关状态改变信号给上位机,之后通过串口函数对串口输入缓冲区进行检测,若在串口缓冲区有数据进入,程序会将串口数据存入寄存器,当计数器的计数值与寄存器中的值匹配后,计数器会在下一个时钟周期清零计时器,重新计数。从而达到改变输出PWM波的占空比的目的。下位机程序流程图如图5所示。

图5 下位机程序流程图

■ 3.3 监控画面组态

为了更好地实现人机交互,本文设计了基于Qt[7]框架的悬浮小球装置人机交互软件,该软件实现了浮球位置的监控、绘制、数据保存、HSV阈值[8]调节、小球高度设定等功能。其中,PID参数、HSV阈值数据、曲线数据都将存入SQLite数据库中,并且曲线图片可以通过点击“保存图片”按钮存入本地,如图6所示。

图6 人机界面

在人机交互界面中能够进行较为人性化的操作,操作者只需要在界面中调节参数就能够实现人与软件之间的信息交互,达到对系统的监视和控制的目的。

4 系统测试

在上位机将小球高度值设定为41.6cm和31.2cm,分 别 设 置PID参 数 为P=1.5,I=0.04,D=30和P=3,I=0.04,D=30,进行位置控制实验。

系统的计算结果平均误差小于0.05cm,最大误差不超过0.6cm,实验结果表明:小球悬浮实验装置总体具有较好的稳定性,满足控制要求。

在实验中小球的高度控制会受到系统本身以及外界干扰的影响,因此需要对小球的稳定性进行分析。当小球进入稳态后,由于受到不可控的干扰影响,小球高度会产生微小的波动。每次实验都将小球设定在不同的高度,当小球进入稳态后对平均误差和最大误差进行分析,计算方法如下:

式中:avee是小球进入稳态后的平均误差;maxe是小球进入稳态后的最大误差;a是小球进入稳态前所采样点的个数;in是第i个采样点所对应的小球高度值,setn小球设定的高度位置。

多次实验后,在不同的设定高度下,小球达到稳态后所产生的位置误差,如表1所示。

表1 位置误差 单位cm

实验结果表明:小球悬浮实验装置总体具有较好的稳定性,在设定高度不同的情况下,其稳定性也不同。在高度设定在160cm时稳定性最好,平均误差只有0.03mm,最大误差为0.52cm。

本文同样对系统的跟随性和快速性进行了测试,分别把小球设定值设置为余弦和方波曲线,并绘制出跟随曲线。

通过测试结果表明,本文设计的小球悬浮装置具有很好的跟随性,能够快速、准确地跟随位置设定曲线。

5 结论

本文依据小球悬浮装置控制要求,利用Qt框架、OpenCV计算机视觉库、Arduino微机等,设计了小球悬浮控制系统。该系统搭建简单、运行稳定、数据存储方便、操作简单、人机交互界面简洁明了,可以实现阶跃、余弦、方波曲线的跟随实验,能够满足PID实验课程的需求。

猜你喜欢

稳态上位串口
组蛋白甲基化修饰复合物COMPASS成员Ash2l通过调控神经祖细胞稳态影响小鼠大脑皮层发育
隔舌安放角对旋流泵内非稳态流动特性的影响
一维有界区域上单稳态方程多重正解的存在性
一维有界区域上双稳态方程多重正解的存在性
一场史无前例的乐队真人秀
MCS—51单片机中的多串口通讯技术的应用
基础油“上位”
全国计算机等级考试机房准备工作探讨
微机串口的测试诊断
基于VC的PLC数据采集管理系统