历史上的今天
返回首页

历史上的今天

今天是:2024年09月15日(星期日)

2020年09月15日 | 基于ARM单片机的高精度电子秤设计与实现

2020-09-15 来源:elecfans

1、系统框图简介

当秤盘上放入被秤物体后,电阻应变片受重力的影响产生形变,电阻值发生变化。应变片搭建的桥式电路会输出微弱的电压信号,微弱电压信号由HX711内部集成放大器放大后经过内部ADC进行采样转换后送到到MCU,接收到的数据信息经过线性拟合处理后送到LCD液晶显示。系统能完成称重、设置单价计算金额及金额累加、去皮及去皮范围限制等基本功能,还能实现时间、温度、报警、二维码支付等扩展功能。系统总体框图如图1所示。

基于ARM单片机的高精度电子秤设计与实现

图1:系统总体框图


2、理论分析与计算

2.1、电桥驱动电路分析

基于ARM单片机的高精度电子秤设计与实现

图2:差动全桥测量电路

如图2所示当被测负载作用在弹性臂梁上使其发生弹性形变;通过粘性物质使粘贴在感压装置上的电阻应变片发生形变,从而转化成应变片的阻值大小变化;差动电路将电阻应变片的阻值变化,转化为与负载成正比的电信号输出。其输出的电压为:

基于ARM单片机的高精度电子秤设计与实现

由公式1可知,理论上测量电路采用差动全桥测量,输出电压信号与电阻形变阻值大小成线性关系。国家标准的应变片阻值为60、120、200、350、500、1000Ω。鉴于大电阻小电流,持续运行周期长,信噪比高的情况,因此本系统采用阻值为1KΩ的电阻应变片。


2.2、模数(A/D)转换器分析

HX711为称重传感器提供一个激励电压,有重物加载到称重传感器上时,它输出一个比较小的电压信号;其在接收到这个电压信号后,对信号进行放大,然后进行A/D转换,直接变换成数字信号输出给外部设备。


2.3、数据处理分析

由于温差、冲击力、浮尘等因素的影响,传感器承受载荷与其输出电压之间并非都成线性关系。加上ADC的线性度不够理想,使小称量和大称量区间的线性斜率不一样。这两种情况都会使称量线性度发生变化,造成某些点的称量误差较大。采用分段校准测量值和分段计算测量值,可有效的减小测量值的相对误差。


为了提高精度与稳定性本系统采用了数字滤波。其可以对频率很低的信号进行滤波,这是模拟滤波器做不到的;数字滤波是用软件算法实现的有效降低了成本。数字滤波可通过改变自身滤波参数对其进行滤波。这对于低频、脉冲干扰、随机噪声等别有效。


3、硬件设计

如图3所示为电子秤专用24位模拟/数字(A/D)转换模块电路图。其内部集成低噪声可编程放大器可对电阻应变片产生的微弱信号进行放大后进行模数转换,片内自带稳压电路、时钟振荡器和部分外围电路,具有集成度高、响应快、抗干扰强等优点,减少了外围放大电路的成本和干扰。

基于ARM单片机的高精度电子秤设计与实现

图3:模/数(A/D)转换电路原理图


TM4C123GH6PZ:采用ARMCortex-M4架构,集成了32位可进行FPU运算的浮点单元处理器,内部Flash为256KB的内存,其时钟最高可达到80MHZ,含有丰富的外围接口,如图4所示。

基于ARM单片机的高精度电子秤设计与实现

图4:TM4C123最小系统原理图


4、软件设计

上电后初始化核心控制器及其外围模块,通过按键选择LCD菜单选择;通过确定键进入不同功能的二级菜单,可以实现称重、设置单价计算金额、设置单价及金额累加、去皮、时间及温度等功能。普通称重流程就是读取ADC数据进过数据拟合处理后送到LCD液晶显示。设置单价计算金额功能流程就是在普通称重的基础上再通过按键输入单价,金额=单价×重量,计算后送LCD液晶显示,如需扫码付款,按支付键后扫描码可。设置单价及金额累加就是在设置单价计算金额功能的基础上累加金额即可。去皮功能流程就是先放入需要去掉皮重的物品,判断皮重物品的重量是否超过100g,超过则报警,没超过就保存重量,再放入物品,由最后的重量减去皮重即可系统主程序设计流程图如图5所示。

基于ARM单片机的高精度电子秤设计与实现

图5:主程序流程图


5、实物制作与系统测试

实物制作如图6所示。表1为称重误差测试表,通过表中误差数据可以看出重量《75g,误差在0.2g以内。注:由于电子分析天平是精密仪器,表格中空白处砝码重量过大,无法测量。

基于ARM单片机的高精度电子秤设计与实现

图6:实物制作图


表1:称重误差测试

基于ARM单片机的高精度电子秤设计与实现

6、结论

系统支架选用铁选用铁质悬梁臂,系统硬件设计由大阻值应变片搭成差动桥式测量电路,抗干扰能力及稳定性比较强。选用24位高精度ADC,对测量的精度有很大的提高,由于应变片的安装及整体机械架构的组建比较合理,该电子秤称重范围在0.2g至1000g;被称物质量体低于200g时,误差低于0.2g;称重物体高于200g时,误差低于0.4g。其它设置单价、金额及金额累加、去皮等功能增添了该系统的实用性,切合实际需求。该系统具有体积小、精确度高、性能稳定、成本低等特点。

推荐阅读

史海拾趣

Edsun Laboratories Inc公司的发展小趣事

随着公司规模的扩大和产品线的丰富,ECM Electronics Limited.开始积极拓展市场。公司不仅在国内市场取得了良好的销售业绩,还积极开拓国际市场,将产品出口到多个国家和地区。为了更好地服务全球客户,公司还设立了海外办事处和研发中心,加强与国际市场的联系和合作。通过国际化战略的实施,ECM进一步提升了品牌知名度和市场竞争力。

General Microcircuits Corp公司的发展小趣事
在单电源供电情况下,PSRR对于抑制电源噪声尤为重要。
FASTRAX公司的发展小趣事

在成立初期,FASTRAX就注重技术创新,不断推出新的产品和技术方案。其中,Fastrax iSuite MP SDK软件开发系统是其技术创新的代表,该系统为编程人员提供了丰富的资源,大大简化了GPS接收模块的开发过程。这一创新不仅提升了FASTRAX产品的竞争力,也推动了整个电子行业的发展。

EFC [Electronic Film Capacitors, Inc.]公司的发展小趣事

EFC公司始终坚持“品质至上”的原则。他们严格控制原材料采购,确保每一批材料都符合最高标准。在生产过程中,EFC采用先进的生产设备和工艺,确保产品的稳定性和可靠性。此外,公司还建立了完善的质量检测体系,对每一个出厂的产品都进行严格的检测。正是这种对品质的执着追求,让EFC的产品在市场上赢得了良好的口碑。

GSI Technology公司的发展小趣事

GSI Technology公司成立于1995年3月,总部位于加利福尼亚州的圣何塞(硅谷),自创立之初便专注于提供领先的电信和网络解决方案。公司采用先进的CMOS工艺技术,如0.25、0.15和0.13微米等,致力于开发低功耗、全功能、高性能的SRAM产品。通过不断的技术创新和产品优化,GSI Technology逐渐在高性能存储器市场占据了一席之地,为后续的快速发展奠定了坚实的基础。

ELPIDA公司的发展小趣事

在被美光收购后,ELPIDA的技术和人才得到了保留和传承。美光利用ELPIDA的技术优势和市场经验,继续推出了一系列高性能的DRAM产品。同时,ELPIDA也在新的领域进行探索和尝试,如生物生产等。这些努力不仅为美光公司带来了新的增长点,也为ELPIDA品牌注入了新的活力。

以上五个故事概述了ELPIDA公司在电子行业中的重要发展历程。这些故事反映了公司在市场竞争中的起伏和挑战,以及公司在技术和市场上的不断探索和创新。

问答坊 | AI 解惑

bootloader说明

bootloader 来自网络。…

查看全部问答>

怎样理解肖特基二极管中少数载流子的存贮效应甚微

看了半天书还是不理解肖特基二极管中少数载流子的存贮效应甚微,肯请达人们详细解答下,拜托了,谢谢…

查看全部问答>

avr中的twi协议有误???(状态码0x40)

avr中的twi协议有误么??   在主机接收模式的状态码里:的0x40 .。 No TWDR action or No TWDR action 我认为应该是 Read data byte or Read data byte。。 这个时候是来了一个ack信号,但是紧接着来了个8个字节的数据在twdr中 ...…

查看全部问答>

求程序员故事,有故事的朋友请进来。

本人正在写一个关于程序员的故事。 《程序员神话之XX》欢迎有故事的朋友发e-mail给我 e-mail:huawuzixun@163.com…

查看全部问答>

请问MCP2510中RXnBF引脚怎么用啊?

刚涉足嵌入式,老大给了我一份MCP2510的官方手册,我觉得看得差不多了 他说我没看懂,然后问我如果启用报文接收满中断,且开启RXnBF引脚并配置为中断请求模式 那么当有报文收到时,CTRLINTF.RXnIF被置为,从而使INT引脚和RXnIF引脚都变为低电平了 ...…

查看全部问答>

会躲闪的汽车

当汽车相撞时,一方面会因为惯性而导致伤亡,另一方面也会由于对方车辆的直接撞击而将车体压扁从而导致车内人员受伤或死亡。而今天的这款奇特的概念车就是专门为减小后一种情况带来的伤害而设计的。这款汽车的底盘和车厢并不是固定在一起的,车厢可 ...…

查看全部问答>

MDK软件调试时卡死的问题??

        程序用到STM32的TIM1功能,在用MDK软件调试时,发现在运行到TIM1_DeInit()时MDK软件卡死了,单步运行进一步发现程序跳到如下(1)时卡死了,刚开始怀疑是哪个外设时钟没配置好,但检查了好 ...…

查看全部问答>

不花钱的可靠性设计

今天和几个朋友吃饭,席间请朋友们帮助推介我的业务,其中有几位大倒苦水,“现在经济危机呵,可靠性一直就想做,可拿不出钱来添置设备、增加产品的成本啊”,还都是曾经有过机电技术经历的人,有感而发,完成此文,展示给大家看,原来“可靠性设计 ...…

查看全部问答>

大虾们,请出手(AD转换)

ADC12MCTLx的最高位EOS代表的含义是什么? 还有那个Veref+和Veref-在没有外接电压的情况下处于什么电平?我量了Veref-在0.95v~1.05V之间变动?那是为何? :o…

查看全部问答>

求延时函数???

这个延时函数怎么不能使用呢???两个led不交替闪烁。。。。。#include int main(void) {   WDTCTL = WDTPW + WDTHOLD;   P1DIR |= 0x41; void delay(int i) { int j; for(j=0;j } int main(void) { 省略。。。。 while( ...…

查看全部问答>