皇家彩世界网站 加入收藏

TOP

基于均值滑动滤波算法和 STM32电子秤的设计
2018-10-24 14:43:56 来源:http://www.kentcountyrestaurantweek.com 作者: 【 】 浏览:0次 评论:0

为了提高电子秤的抗干扰性和数据的准确性,介绍基于均值滑动滤波算法和 STM32电子秤的设计。选用电阻应变片构成的惠斯通电桥传感器采集重物信号,24 位 HX711 A/D 模块完成电信号的放大和转换,在 STM32 内实现软件滤波,采用滑动均值滤波算法,减小误差,提高数据的准确度。通过软硬件结合的方法进行校正。矩阵键盘输入控制指令实现设置单价、计算物品金额并实现金额累加和去皮等功能。实验测试表明,该电子秤测量范围是0~500 g,误差不超过±1 g,称重反应灵敏。


5s左右读数稳定。电子秤是一种通过作用在物体上的重力来测定该物体质量的一种计量仪器。因其操作简单、称量准确、体积小、称量速度快、读数方便,被广泛应用于商业贸易、医院、学校、企业等部门[1⁃2]。而悬臂式电子秤是一种铁质悬臂梁固定在支架上,悬臂梁上粘贴电阻应变片作为称重传感器进行感应相应重量变化的电子秤。提出一种在悬臂梁上粘贴电阻应变片构成惠斯通电桥[3]作为称重传感器采集数据,HX711 作为 A/D 转换器,STM32为主控器的电子秤,采用滑动均值滤波算法[4],减小各种干扰和提高数据的准确性。1 系统硬件设计系统以 STM32 为控制核心,采用电阻应变片和精密电阻构成惠斯通电桥电路作为称重传感器,通过电子秤专用的 HX711 A/D 芯片转换成电信号并进行放大处理,处理后的数据送到 STM32 中进行处理,从数据中总结出,重量与电压或者电阻的关系。通过它们之间的关系可以根据电压变化得出相应的重量。TFT 液晶屏用于显示各种参数,用矩阵键盘通过 STM32 主控系统设置的指令执行相应的命令。系统框图如图 1所示。图 1 系统硬件框图1.1 电子秤的工作原理设计选用电阻应变片粘贴在悬臂梁上作为称重传感器来进行重量信号的变换,把重量变换成电信号。当有重物放置到秤盘上时,悬臂梁发生弯曲,弯曲程度与放置物重量有对应关系。粘贴在上面的电阻应变片感应到相应的信号,输出微弱的电压信号。HX711对这个电压信号进行放大和 A/D 转换,转换后的数字信号送给 STM32 控制核心进行处理,先对数字信号进行数字滤波等处理,在 TFT 液晶屏上显示出来。电子秤的结构图如图 2所示。图 2 电子秤的结构图1.2 称重传感器将电阻应变片贴在铁质悬臂梁适当的位置上,使它里面的金属箔材随着尺子的弯曲一起伸缩,这样电阻应变片的电阻就会随着应变片的伸缩按一定的规律变化。应变片就是应用这个原理[5⁃6],通过测量电阻的变化而对应变进行测定。其电阻变化率为常数,与应变成正比例关系,即:ΔRR = K × ε (1)式中:R 为应变片的原电阻值;ΔR 为伸长或压缩所引起的电阻变化;K为材料的灵敏系数;ε 为测点处应变[7]。电阻的变化率可以通过惠斯通电桥间接测量。先对测量数据进行统计、分析,然后用公式进行计算。最终得出 R 与 ΔR 的比例系数。使用惠斯通电桥[3]电路,将电阻应变片的电阻变化转换为电压信号的变化,具有结构简单、灵敏度高、测量范围大、线性度好且易实现温度补偿等特点。对电桥电路的选择进行了简单的实验后发现单臂的性能比双臂和全桥的差,而双臂和全桥的性能在各方面相差不大,从节省元件方面出发,故采用双臂电桥电路。惠斯通电桥电路如图 3 所示,图中 R2 和 R3 为电阻应变片,R1 和 R4 为精密电阻阻值均为 1 kΩ,其电阻应变片初始阻值均为 1 kΩ。


由式(3)可知,Uo 与 ΔR3 R3 成线性关系,差动电桥无非线性误差,而且电桥电压灵敏度 Ku = E 2 ,是单臂工作时的两倍,同时还具有温度补偿作用[7]。图 3 电桥电路1.3 A/D 转换器的选择HX711 是一款电子秤专用的高精度 24 位 A/D 转换器芯片。芯片内部集成了电源、时钟振荡器等其他电路,具有集成度高、响应速度快、抗干扰性强等优点[8⁃9]。与后端 MCU 芯片的接口和编程非常简单。工作时是通过简单的数字控制和串口通信:所有控制由管脚输入,芯片内寄存器无需编程,输出数据编码二进制补码。电路简单,易于控制和使用。芯片的分辨率高,系统测得的数据比较精确。电路如图 4所示。


4 HX711模块原理图软件设计2.1 模块化子程序的本程 序 设 计 使 用 的是 Keil Software公司发的MDK5软件,使用模块化思想进行编程,液晶屏显示、矩阵键盘、A/D 模块、极大极小值滑窗均值滤波子程序、定时器中断以及字符字模处理显示等子程序都以模块的2.2 滑动均值滤波算法经过 A/D 转换后的数据信号存在着很多干扰的信号,需要把无用的信号滤除掉,采用了极大极小值滑窗均值滤波算法。该算法是由均值滑动算法演变而来[4]。令 u(n) 为称重传感器 n 时刻的采样值,L 为滑窗均值滤波器的窗口长度,则 n 时刻滤波器的输出值 x(n)x(n) = 1L - 2{∑ } i = n - mn + mu(n + i) - max 0  i  L{u(n + i)} - min 0  i  L{u(n + i)}n = m,m + 1,m + 2,⋯(4)由式(4)可知,滑动均值滤波算法采集 L 个数据并分别存入 L 个内存单元,完成 L 个称重数据的初次采样后,每采样一次 L 个内存单元按顺序移出一个最初的数据,并移入本次采样的数据,去除本次 L 个数据的最大最小值后,求取剩余 L - 2 个数据的均值[10]。 通过实验和根据选用的A/D转换速率,选取 L = 10 ,这样,在编程处理A/D模块输出的数据时,使用了去最值取均值的数字滤波法,从 A/D模块读回的每一个数据都要与前 9个数据中的最大最小值比较,并将比较后的 10个数中的最大最小值剔除,对剩余的 8个数据求平均,实现对误差较大的数据进行剔除,提高了系统的稳定性和抗干扰性。3 实验测试通过软硬件结合设计,对该系统进行测试。测试使用标准砝码,测试结果保留两位小数。加入标准砝码,将砝码的质量和相应的 A/D 输出值由上述对表 1 的数据计算和它的相应曲线图(图 6)可以得出,A/D 输出值与砝码质量的比值逐渐减小,但是变化不大。因此可以根据 K 值和 A/D 输出值来计算出物品的质量。又因为尺子发生弹性形变后,由于各种原因不能恢复,所以测量值会存在一定的误差。加入标准砝码,记录砝码质量和实测质量,并且计算出它的相对误差。

4 结 论本文研究基于均值滑动滤波算法和 STM32 电子秤的设计与实现,将电阻应变片构成的惠斯通电桥作为称重传感器采集重量信号,应用 HX711 完成信号的放大和转换成数字信号,在 STM32 运用均值滑动滤波算法





Tags:电子秤 责任编辑:admin
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到QQ空间
分享到: 
上一篇:没有了 下一篇:基于 STC89C52 的高精度电子秤的..

相关栏目

最新文章

图片主题

热门文章

推荐文章

相关文章

广告位