咨询电话

ENGLISH0755-88840386
新闻中心

咨询电话

0755-88840386
您的位置:首页 > 学习专题 > 专业技术专题 > 工业自动化称重仪表>详情页

组合秤称重模块优化方法研究

发布时间:2021-07-07 11:30:42 |来源:网络转载

0引言
在农业、食品等行业中,传统的单秤称量结构简单、功能单一,不能实现个性化的定量称量。组合秤的出现则加快了定量称量这一过程的速度,提高了生产效率。然而设备工作过程中一直伴随重物的下落冲击、料斗的开关闭合等动作,对称重过程有一定的振动干扰,另外设备工作时间过长后,称重传感器会出现温漂零漂等现象,导致称重信号中含有噪声[1]。
为解决噪声问题,工业上对称重模块进行了部分优化,其中硬件方面多采用高位数AD转换芯片,并在参考电压引脚端接入高精度稳压芯片,或者采用更高频率的MCU芯片。这些方法增大了模块制作成本,不利于生产推广[2]。软件滤波方面多采用去极值平均法对称重数据进行处理,而由于该方法是基于含噪信号进行处理,计算出的重量难免会有因此,必须要对硬件进行低成本优化,同时采用更复杂算法将噪声滤除,确保参与计算的数据是去除噪声后的有用数据[3]。
目前常用的信号去噪方法多为傅里叶变换、卡尔曼滤波等分析算法,然而上述算法对平稳信号的过滤较为有效,当信号波动较大时,传统去噪算法的函数很难与之匹配[4]。重物撞击瞬间,重量数值在极短时间内发生突变,傅里叶变换就要分解出很多正弦波形去拟合,效果不佳,时间也比较长因此需要采用能够滤除动态噪声的滤波算法:胥馨尹等[5]采用QRD-LSL自适应滤波算法,对整体结构的震动效果进行了控制,但无法控制滤波器的阶数以应对不同环境,无法滤除硬件电路温漂零漂产生的噪声信号。郁洋等[6]提出了一种基于小波滤波的滤波算法,能够有效滤除称量系统的噪声,但具体实现与应用仍有待考究。张西良等[7]用离散小波变换处理动态称量信号,并对快速傅里叶变换和离散小波变换的滤波效果进行了对比分析,确定了离散小波变换进行滤波处理的有效性。
小波变换方法是一种时域和频域窗口形态都可改变的时频分析方法,在高频阶段具有较高的时间分辨率和较低的频率分辨率,尤其适合处理含噪信号中的高频噪声。本文针对工业上组合秤的称重精度问题,开发了一款全新的基于小波去噪方法的组合秤称重模块,并在现场对该模块的称重性能进行了检验分析。
1称重模块工作原理
目前市面上流行的组合秤主要由线振器、料斗、称重模块、主控模块、电机模块及挡板构成。工作流程为:加料机将物料放在线振器上方的平台上,通过线振器的振动将物料均匀运送到多个料斗,电机模块控制料斗开合,称重模块进行称重处理及数据传输,主控模块负责对称重模块传来的各斗重量进行组合,当组合出目标重量时,选中对应料斗进行放料,物料通过挡板进入包装机内,然后不断循环整个过程[8]。其中,称重模块是组合秤的核心部分,既要保证称量精度与速度,又要配合主控模块完成一定的业务逻辑。称重模块主要由压力传感器、放大电路、AD转换芯片、MCU单片机及电源模块构成。工作原理如图1所示。
首先,压力传感器将压力信号转换为电压信号。放大电路负责将该电压放大至AD转换芯片适配范围进行输出,AD转换芯片根据基准电压与输入电压的比例,将电压信号转换为数字信号,通过如SPI等协议传输给MCU。MCU可对该数据进行处理或包装后进行传输。

称重模块工作原理图

实际生产中,一旦整体结构发生振动,传感器的输出电压就会发生跳变,而高精度的AD转换芯片只会如实的将电压转换成数字量交给MCU处理[9]。当初始数据存在噪声,执行平均滤波就无法得出实际重量。本模块采用单片机与PC端共同控制的思想,在放大电路电压输出端加入采集卡,将数据传输给PC端,以PC端强大的数据处理工具对电压信号进行小波分析,去除噪声,得到称重数据,然后将称重数据通过RS-485通讯协议发送给MCU,由MCU对初始数据与PC端传输数据进行平均处理,输出真实重量[10]。
2称重模块选型及设计
为方便硬件电路的布线及维修,本模块采用双面板设计。其中放大电路与AD采集电路放在背面与称重传感器连接,通讯电路与控制电路放在正面与PC端连接。正反面板在必要位置进行打孔,通过排针进行连接,实现电源供电或通讯协议传输。具体设计如下:
2.1硬件选型及设计
模块主要由压力传感器、放大电路、AD转换芯片、MCU单片机及电源模块构成。
其中压力传感器是称重数据的来源,必须要保证足够的精准度。考虑到自制压力传感器的线性度低,不同重量下的补偿度不一致等问题,本模块选用市面上的德国HBM称重传感器,型号为SP5C3,其灵敏度能达到2mV±10%/V,且能根据重物重量0~50kg输出0~10mV的电压。
放大电路选用由OPA2277及TLC2272两个运放电路组成的推挽放大电路。在输入端加入150R/100MHz磁珠,抑制信号线上的高频噪声和尖峰干扰,防止静电击穿。经过串联放大,输出端AIN+达到0~2.5V,满足AD转换芯片需要。输出电压接到AD转换芯片输入端,同时经过采集卡将该电压传输给PC端。
AD转换芯片负责将电压信号转换为数字信号,是单片机的数据来源,必须要保证较高的精准度。本文选用美国CirrusLogic公司推出的24位模数转换器CS5532-BSZ。该芯片可通过编程配置增益放大倍数1~32不等,转换速率范围为7.5Hz~3.84kHz,具有极佳的动态特性。芯片内部有一个完整的自校正系统,解决了A/D转换器本身的零点增益和漂移误差,方便调试者进行其他方面的优化滤波[11]。
MCU是业务逻辑核心,负责数据的处理与传输。由于称重模块对定时器的数量要求不高,外围电路少,不需要太多引脚,模块采用stm32103c8t6芯片,其中串口2连接RS-485芯片进行传输通信,串口3连接串口转USB接口,将数据打印到监视窗口方便调试,引脚PA3~PA7用于电路板正反面之间的SPI通信,PB12~PB15负责拨码开关的初始化及数值采集,来选择本称重模块的传输编号。其余引脚负责连接稳压器、电源,控制LED灯的通断进行状态显示等工作。
由于AD转换芯片需要精准的参考电压,模块选择双电源独立供电方式。模块外接12V独立电源,连接至两片LP2950CDT-5.0V低压差线性稳压器,其中一片给AD转换芯片做基准电压,另一片通过AMS1117-3.3V稳压器输出3.3V电压给MCU供电。由于双点接地需要加入隔离电路,为避免增加成本,便将MCU地端与AD转换芯片地端连接,中间加入0Ω电阻进行缓冲。
2.2软件设计
硬件设计完成后,要根据业务需求进行软件设计。
软件部分可根据功能划分为控制逻辑程序和驱动程序。其中,控制逻辑主要涉及与PC端通信、数据采集、平均处理。驱动程序涉及AD转换芯片、SPI协议、各串口引脚的初始化。其中控制逻辑流程如图2所示。

称重模块控制流程图

具体实现为,首先执行驱动程序初始化,然后每隔5ms对SPI接口进行一次数据读取,采集12次后把数值从小到大排列,去除两个最大值、两个最小值,求出剩余数值的平均值,然后判断PC端有没有数据传入。如果有数据传入,则将平均值与传入值进行平均处理,计算出实际重量,否则重新采集。其次解析主控模块的逻辑,判断需要的工作模式,最后将重量数据进行输出或存储到SD卡以备算法的改进[12]。
驱动程序主要分为3个部分:
1)引脚初始化:上电后首先进行引脚初始化,将不同引
脚设置为推挽输出等工作模式。
2)SPI使能:设置SPI为双线双向全双工模式,数据帧大小为8位,设置串行同步时钟的空闲状态为高电平,命令MCU于串行同步时钟的第一个跳变沿采样数据,定义波特率为115200。
3)AD转换芯片初始化:首先延时1000ms,确保AD转换芯片上电正常。然后通过SPI协议设置该芯片的时钟频率,根据手册发送15个“0XFF”和1个“0XFE”进入命令模式,发送复位指令,读取反馈数据。若复位成功则开始写配置寄存器、通道设置寄存器来设置工作模式、转换速率、增益放大倍数等参数,执行自校准后开始进行连续转换[13]。
实际操作中,由于焊接不准确、芯片污损等原因,偶尔会出现初始化失败的现象,因此设置初始化程序连续执行两次。
2.3通讯协议设计
本设计在PC端进行小波去噪处理,需要通过串口与单片机进行数据通讯。为保证数值传输过程的准确可靠,设计一种包含校验的通讯协议。每一帧数据由开始头、编码号、重量数据、BCC校验码组成,均用十六进制表示。其中开始头设置为0XAA,编码号可根据实际料斗个数进行设置,为避免小数的传输和换算,重量数据是实际重量的100倍,占4个字节,单片机接收到后直接除以100。BCC校验码是工业上常用的校验方式,原理是对该帧数据逐位进行异或运算,以检验传输数据的完整[14]。

 

本文源于网络转载,如有侵权,请联系删除

分享到