甘辉,詹丽萍,吕美妮,劳梅兰
(1.梧州学院,广西梧州 543000;2梧州医学高等专科学校,广西梧州 543002)
称重系统的应用领域非常广泛,包括工业生产、交通运输、医疗保健、环境监测[1]等方面。目前,国内外研究人员主要关注称重系统在智能制造、物流管理[2]、健康监测等领域的应用研究。由于各个领域对称重系统的要求越来越高,但是影响称重系统的因素有很多[3],传统的方法主要从传感器技术、信号处理技术、系统设计优化技术等方面进行研究,由于硬件方面的研究成本高、难度大,因此从软件方面补偿称重系统能更好地优化系统和节约成本。
为了更好地研究称重系统在各种环境下的精度波动,以整个称重系统作为研究对象,实时采集称重系统的重量数据、温度数据。灵活调整系统在不同环境及不同精度需求下的补偿算法,进一步减小称重系统的误差,因此开发称重补偿系统控制界面是不错的解决方案。
本文针对称重系统补偿的应用需求,以Qt为软件平台开发设计了一套通信稳定可靠,可跨平台控制的称重补偿系统。通过系统界面,可以定时获取称重数据、温度数据,可以选择多种补偿算法对称重系统进行补偿。保证称重系统在不同的环境及不同需求下有较好的称重精度和稳定性。
根据称重补偿系统的需求分析,在Qt软件平台中,搭建了模块化控制界面。将系统界面分为四个功能模块,其结构见图1所示。四个功能模块分别为通信模块、称重模块、波形曲线模块、表格显示模块。通信模块作为上位机界面和下位机数据交互的核心,称重模块用于称重的相关参数设定,为了方便观察参数数据,可视化部分数据在波形曲线模块和表格显示模块中。
图1 功能模块结构图
通信模块是用于控制界面与上位机数据交互的核心,整个界面的数据来源于下位机称重采集系统,下位机会根据控制界面设置的参数按照通信协议发送数据。
通信界面如图2所示。界面左边主要是串口通信功能的参数设置,点击检测串口,在串口号中选中连接的串口,分别设置波特率为9600、数据位为8位,停止位为1 位,无校验位[4-5]。点击打开串口,如果串口存在,则显示串口打开成功,否则提示失败。接收控制功能:可以接收两种字符格式的数据,ASCII、HEX,接收窗口显示接收的数据。发送控制功能:与接收控制相同,可以设置两种接收数据的格式,在发送窗口输入数据,点击发送数据按钮数据就会通过串口发送出去。
通信模块不仅能实现有线串口数据的收发,也能实现串口蓝牙模块的数据交互,使得数据采集更加灵活。通信模块的整个界面设计为调试上、下位机数据交互提供了方便。
图2 通信界面
称重控制模块,主要有几个功能:称重操作、标定操作、去皮操作、称重显示、滤波设置。称重界面如图3所示。
称重操作:主要用于完成系统数据读取和保持的操作。1)手动读取数据:点击一次手动读取按钮,系统将向下位机发送一次读取数据指令。2)定时读取数据:在定时串口输入定时时间,时间单位最小为1ms,如图设置数值为1000,再点击定时读取按钮,系统将1000ms 给下位机发送一次读取数据命令请求。3)显示称重:勾选显示称重,称重显示区域会定时刷新数据。4)数据存储:勾选数据存储,系统将会自动存储以下数据:采集时间、实时温度、实时重量、实时内码、标零内码等数据入Excel 表格中供用户查询,如图4所示。
标定操作:为了保证称重系统的精度,在使用称重系统前要先完成标定零点、砝码标定的工作。1)零点标定:点击零点标定按钮将当前称重系统的重量值标定为0g 并记录对应此刻重量数据的对应的模数转换值。2)标定工作:在称重系统中放上标准砝码,比如2000g的砝码,然后在界面内输入标定砝码的重量,该单位为g,在这里输入2000,再点击“砝码标定”,系统会记录2000g 砝码所测量到的模数转换器数值,最后根据标零和标定的数值重新计算得到新的称重比例参数。
去皮操作:“去皮操作”:点击“去皮”按钮,将当前系统的重量设定为0g,“取消去皮”按钮,将去皮之前的重量重新加上。
称重显示:主要有实时温度、实时重量、实时内码、零点内码、标定内码。1)实时温度:显示的是系统采集到下位机的温度数据,单位为摄氏度,精度为0.1摄氏度。2)实时重量:显示的是系统采集后计算得到的最终称重重量。单位为g。3)实时内码:称重系统发送回来的10 进制的模数转化器的数值,下位机模数转换精度为24 位,数值范围是0~16777216。4)零点内码:显示系统标零时,模数转换器的数值,数值范围是0~16777216。5) 标定内码:显示系统砝码标定时,模数转换器的数值,数值范围是0~16777216。
滤波设置:主要功能是对称重数据进行数字滤波,保证称重系统的精度和稳定性。界面提供了3种称重补偿方式,均值滤波、IIR 滤波、BP神经网络温度补偿。1)均值滤波[6]:均值滤波是常用的滤波方式,能较好地抵抗系统周期性的干扰,滤波次数越大,系统稳定性和精度也就越高,但是系统的灵敏度也就越低,要根据具体需求选择不同的滤波系数。界面设计了滤波系数填写,便于实际修改。勾选“均值滤波”,填写滤波次数,实现对称重重量的均值滤波功能。2)IIR 滤波[7]:IIR 低通滤波器能够有效地滤除称重系统的高频干扰,灵敏度比均值滤波好,是称重系统理想的滤波器。本系统设置了四阶IIR 低通滤波器,滤波截止频率为4Hz,能满足大多数需求。勾选“IIR 滤波”,系统将对称重原始数据进行IIR 滤波,滤波后对数据幅值会按比例减小,为了正常使用需要重新完成一次标定工作。3) BP 神经网络滤波[8]:BP 神经网络滤波能融合称重系统多个环境因素进行系统补偿,是称重系统补偿有效的研究方向。由于称重系统容易受到温度变化的影响,系统通过采集同一时刻温度数据、重量数据,利用MATLAB 神经网络工具进行神经网络训练,最后将最佳模型参数导入系统中,从而实现了称重系统实时温度补偿。勾选“BP 神经网络滤波”,系统将实时采集的温度数据、称重重量数据进行神经网络补偿。
图3 称重界面
图4 数据存储excel格式
波形显示模块主要用来观察称重系统数据走势,可分别单独观察称重数据、温度数据的波动情况,也可以观察同一时刻不同温度情况下对称重的影响。如图5 所示,橙色为称重数据曲线,绿色为温度数据曲线。为了方便查看数据曲线,可以点击“放大”按钮观察曲线波形细节,点击“缩小”按钮,可以查看更多的数据,点击“恢复”按钮,可以恢复到曲线1:1 的原始显示比例。点击“保存”按钮:目的是保存当前曲线的图片,系统弹出保存曲线图片路径对话框,用户选择保存路径,填写保存名字,选择保存图片类型,默认类型是png 格式。
图5 波形显示
数据表格。如图6 所示为了方便用户观察数据:该功能将采用表格显示4 类参数:当前温度、补充前重量、补偿后重量、称重误差。系统设置了15 行、4 列的表格用来显示最近15 个时间节点的数据,如果超过15 行,系统会从第一行开始重新覆盖数据。
图6 数据表格界面
系统界面主要功能运行流程如图7 所示,根据系统设定的定时时间,向下位机发送读取数据指令,等待下位机发送回来的数据包,解释数据包,然后根据选定的滤波补偿功能,对数据进行处理,最后显示在指定区域,或存储数据到Excel表格中。
图7 整体界面流程图
本文设计了基于QT 的称重补偿系统界面,描述了界面的相关布局和功能模块,特别对称重模块进行了详细说明,为研究称重系统补偿提供了可视化的操作平台,结合多种滤波算法供选择使得称重补偿能高效满足各种需求。本文的设计后期还会加入各种滤波算法的训练,动态选择最优算法参数,进一步提高系统的实用性。