APP下载

基于STM32的计数电子秤设计

2022-05-30刘泳志

电脑知识与技术 2022年30期
关键词:电子秤计数

刘泳志

摘要:在分析目前主流的电子秤设计方案的基础上,以STM32F103为主控,硬件电路采用模块化设计,辅助以按键、OLED屏幕、电桥设计了一款称重量程为200g以内的多功能计数电子秤,实现称重、计数功能,适用于螺丝、芯片、三极管等微小电子元器件计量的应用场景。

关键词:STM32;计数;电子秤

中图分类号:TP311        文献标识码:A

文章编号:1009-3044(2022)30-0086-03

开放科学(资源服务)标识码(OSID):

1 引言

称重一直是人们关注的热点话题之一[1],随着科技的进步与发展,越来越多的功能丰富的电子产品已经进入普通人们的生活,像电子秤这种常用工具在市场上也处处可见。目前市场上的电子秤各种各样,基本上都是应用于重量较大的应用场景的,比如说体重秤、商用电子秤、小型台秤,对于电子元器件等微小物品且带有计数功能的电子秤则较为少见。据此,本文设计了一款称重量程在200克以下的多功能计数电子秤,其采用STM32为主控,利用Altium Designer21软件设计电子秤的硬件电路[2],运用Keil软件设计出电子秤的控制程序[3],辅助以对比度可调的0.96英寸OLED12864屏幕[4]以及若干个按键组成。经测试,此款电子秤能计数、能称重、界面友好,实用性强。

2 总体设计方案

所设计的电子秤实现可称重和计数的功能,称重范围是0-200g。总体设计方案如图1所示,系统主要由STM32主控、传感器模块、信号采集电路模块、键盘单元和OLED屏幕显示单元一共五个模块组成。将测量的物体放在传感器上,在压力的作用下,电桥的输出电压会发生变化,这个时候通过信号采集电路对信号进行放大处理,再通过STM32的12位AD模块进行模数转换成数字信号,此后通过按键进行功能选择,在OLED屏幕上显示物体的重量和个数。

主要技术指标如下:

① 称重范围:0-200g。

② 重量误差:8%以内。

③ 计数误差:8%以内。

④ LCD显示:传感器上器件的数量和重量。

⑤    键盘:有确认、返回、上移、下移四个按键。

3 系统硬件设计

硬件设计中分别采用3.3V的电压和+5V和-5V的电压给单片机和各个模块的集成运放供电。传感器采用电阻应变片式[5],单片机的控制模块以STM32F103最小系统[6]来控制其他各个模块。确认、上移,下移和返回四个独立按键分别与单片机引脚相连,下面着重介绍传感器模块和数据采集电路模块。

3.1 称重传感器

称重传感器是一种物体质量转化为电子电路可测量的电信号的装置[7]。选择传感器首先应先要考虑这个传感器的使用环境,这点至关重要,因为这关系到传感器能否正常工作,甚至传感器的使用寿命和安全性[8]。在各种称重传感器的概念和评价方法上,新旧国标有较大的差别,目前主流的有S型,悬臂型、桥式等[9];此外,传感器按照其转换方法又可以分为液压式、电容式、振动式、电阻应变式,我们选用的是电阻应变式的S型称重传感器。

称重传感器主要包含电阻应变片、弹性体和检测电路这三个部分[10],它能称重的原因是,在物体的压力之下,传感器产生了物理形变,这种形变使得紧贴在其表面的关键转换器件电阻应变片在外力的作用下也产生了形变,电阻应变片伸长时,其横截面积会缩小,截面圆半径减少,其电阻变化率和电阻丝伸长之间成比例关系,所以电阻应变片形变之后,其电阻阻值将会发生微小的变化,通过一系列检测电路把这一微弱的电阻阻值变化转化为电压输出,因为其中的惠斯登桥可以抑制温度变化的影响和侧向力的干扰,从而成功将外力变化转换为可测量的电信号。

3.2 数据采集电路模块

通过电阻应变效应之后,称重传感器采集的物料压力的电信号是模拟信号,而且强度较弱,为了能够精确地测量物料的重量,我们必须通过数据采集电路模块对传感器传输过来的信号进行放大等其他处理之后才能连接到单片机的AD采集引脚。

首先采用了一个仪用放大器来对传感器的差分信号进行放大,集成运放采用OP07,采用正负5V供电。仪用放大器电路是一种经典的精密差分电压放大器,是差分放大器的一种改良版本,它主要由两极差分放大器电路构成,其中AR1和AR4兩个运算放大器是以同相差分输入方式,这是因为在反馈电阻R23的作用下,运算放大器AR1和AR4存在着电压串联负反馈,这样就使得输入电阻比集成运放自身的输入电阻要大,所以同相输入可以相当幅度地提升电路的输入阻抗,并且能一定程度地减小对幅度较为微弱的输入信号的衰减作用;除此之外,差分输入还具有只对差模信号进行放大的优点,对于共模信号仅仅是跟随作用,这样使得送到后面一级信号的共模抑制比得到一定程度的提高。在后一级的差分电路是一个典型的减法运算电路,该电路结构也是对称的,对共模的抑制能力也比较强。

仪用放大器的放大倍数计算如下:

[Av=-R17R16(1+2R23Rw1)]                  (1)

两路差分信号通过仪用放大器的放大后,必须通过一个加法器把电位抬高,使得信号进入STM片内AD的数据采集范围。如图2所示,加法器的运放由AR2构成,可以通过调节电位器R13调节放大后信号的电位,确保在200g重量的范围内,传感器输入信号的电位处于AD可采集的范围,然后再接入单片机的AD采集引脚。

3.3 STM32核心板

主控采用ALIENTEK NANO STM32F103核心板,MCU为STM32F103RBT6,它的资源包含了20KB的RAM、128KB的flash、3个通用定时器、1个高级定时器等等。该芯片是STM32F1家族中的中等配置芯片,具有性价比高、可靠性高等优点。最小系统板由复位、时钟、电源等三部分电路组成、复位的作用是当按下复位按键之后,程序的SP指针指向main函数,重新开始运行;时钟电路由32M的晶振提供基准频率,可以在寄存器中设置倍频;电源电路只要是为单片机以及OLED屏幕模块提供3.3V电源。

3.4 OLED屏幕模块

OLED(Organic Light Emitting Display),也就是有机发光显示器,同时也叫作有机激光显示,在商业领域中,目前常用的复印机、电话、智能手环都安装有小尺寸的OLED屏幕,轻薄且色彩浓艳,既美观又实用;在电子产品领域,在智能手机、数码相机、曲面显示屏等级产品上都有它的身影,特别是在VR设备上,由于LCD屏幕观看VR设备有比较严重的拖影现象,又有OLED屏幕是点亮光分子,而普通液晶是采用光液体流动的原理,所以使用OLED屏幕就不会有此缺点;在工业领域,现在我国工业正朝着工业自动化和智能化的方向前进,随着物联网的发展,智能硬件也越来越多,这对显示的屏幕也有着越来越多的要求,OLED屏幕是不二人选,发展空间十分巨大。

OLED屏幕与常见的LCD等屏幕不同,OLED同阴极射线管相比较,OLED有着体积轻薄、功耗较低等优点,由于特别轻薄,甚至可以作为显示屏贴在物体表面使用,目前三星等公司已经实现了OLED可折叠式软屏,除此之外OLED还具有抗震性好的优点,有利于在便携设备商使用;相对于工作电压低,种类多、能够大规模生产的LCD屏幕,OLED有着不需要借助屏幕背光的被动显示方式、响应速度快、易实现全色彩的优势;除此之外,OLED还具有高亮度、高对比度、大视角、功耗低、制作工艺简单等优点,这也是这款电子秤考虑使用OLED屏幕的主要原因。

OLED屏幕上有4个外接引脚,分别是VCC、GND、SCL和SDL,由于屏幕通信的速率对硬件要求不高,因此STM32单片机采用软件模拟IIC总线的方式与OLED屏幕通信,VCC接STM32核心板的VCC电源并且与单片机核心板共地。

4 软件系统设计

硬件搭建完了以后需要进行软件设计,电子秤的软件设计分为两个重要部分,即物料标定和称重计算。

我们进行计数的算法如下,比如说先放入10个10g的砝码,在界面上选择数量为10个,再点击“确定”按键,此时单片机会通过AD引脚读取经过放大后的信号,计算出当前放在传感器上的若干个砝码的重量,而且在单片机中会记录下此时的重量,之后,我们放入30个10g的砝码,再次点击“确定”读取并记录下此时的重量。之所以要得到10个和者30个器件的重量,是因为标定的目的取得一次线性函数的系数。标定时有两次砝码称重,设第一次称重砝码有x1个,重量为y1;第二次称重砝码有x2个,重量一百y2。經过两次称重可以得到以下两个等式:

[y1=k*x1+by2=k*x2+b]                             (2)

求解方程,可得:

[k=y2-y1x2-x1]                                   (3)

[b=x2*y1-x1*y2x2-x1]                       (4)

在得到系数k和b的值之后,在测得任意重量值y后,都可以直接计算出物料的个数,如下式:

[x=y-bk]                                     (5)

在单片机上电后,首先执行的是初始化操作,在称重和计数之前,必须先做物料标定设置。在主界面点击“确定”按键,进入功能选择界面;在功能选择界面,再调节“上移”和“下移”按键,将光标移到参数设置,点击“确定”进入参数设置界面;以同样的操作,选择“物料标定”,进入物料标定界面。此时,先在传感器上放入10个相同的物体,点击确定,等待单片机记录下此时的重量,之后再点击“下移”按键,在传感器上放入30个同样的物体,点击确定,记录下此时的重量,到此物料标定完成。

完成物料标定之后,就可以称重和计数了。在功能选择界面,通过操作按键进入称重模式,此时在传感器上放入数量不明的若干个物料,界面会显示这些物体的总重量。此外,在功能选择界面,进入计数模式,此时界面上可以显示通过单片机计算后的当前传感器上所放的物料个数信息。

5 电路的制作与测试

电子秤的误差来源有很多,比如说零漂误差、偏载误差等等,本设计通过称重1g左右的螺丝来评估电子秤的精准度。从下面的测试数据可以看到,螺丝的个数越多,得到的计数结果就越精确,最低的误差可以达到3%左右,如果选用更高位数的外置AD模块,显然可以达到更高的精度。

6 总结

设计了一款以STM32F103为主控的电子秤,分别分析了电子秤硬件电路的设计和称重传感器的工作原理,再设计了软件功能,最后通过实际测试,在没有加入高精度外置AD的情况下,精度可以小于3%,基本实现功能。但是本设计还具有较大的改进空间,比如可以外置AD模块提高精度,还可以设置微调按键弥补传感器长期使用后的形变误差等,随着科技的发展和进步,电子秤的设计水平和功能会不断提升和丰富。

参考文献:

[1] 陈莉.计量测试技术在电子衡器中的应用[J].计量与测试技术,2022,49(3):82-85.

[2] 王春泉.基于单片机的电子秤质量检测系统设计[J].轻工标准与质量,2022(1):120-122.

[3] 于雯雯.基于单片机的电子秤设计[J].设备管理与维修,2021(21):164-166.

[4] 陈德龙.电子秤量值比对结果的总结分析[J].计量与测试技术,2021,48(6):93-95,100.

[5] 李嘉明,冯建,廖明华,等.基于ESP32的电子秤系统设计[J].电脑知识与技术,2021,17(12):216-219.

[6] 詹祥为.“传感器应用技术”课程教学浅析——以制作简易数显电子秤为例[J].科教导刊,2021(7):154-156.

[7] 王丹.基于单片机的廉价电子秤设计与实现[J].能源与环保,2021,43(2):109-113.

[8] 马欣如.基于单片机的电子秤设计与制作[J].电子技术与软件工程,2021(2):104-105.

[9] 曾钟波.电子秤比对测试及结果评价[J].衡器,2021,50(1):41-43.

[10] 程丽霞,吴璞.家用智能电子秤设计[J].机械工业标准化与质量,2020(10):46-48.

【通联编辑:梁书】

猜你喜欢

电子秤计数
电子秤
古人计数
递归计数的六种方式
古代的计数方法
关于电子秤的设计
这样“计数”不恼人
压死电子秤
基于STM32的高精度电子秤设计