在这里插入图片描述

一、項目介绍

摘 要

随着物联网技术的发展,传统电子秤已难以满足数据远程管理、长期记录的应用需求,为此本文设计了一款集称重、显示、数据存储与远程上传于一体的智能电子秤。本设计以STM32F411CEU6为核心控制器,搭配电阻应变式称重传感器与 HX711 24位高精度A/D转换芯片完成重量信号的采集与数字化处理;采用TFT LCD 屏幕实现称重数据与系统状态的本地实时显示,通过ESP8266 WiFi模块构建无线通信链路,实现数据向物联网云平台的远程上传;软件层面移植RT-Thread实时操作系统,完成多任务调度,开发了数据采集、显示驱动、WiFi传输等核心程序,实现各功能模块的协同运行。系统测试结果表明,该智能电子秤称重范围为10g~10kg,测量误差控制在±5g内,响应时间小于1秒,可稳定实现重量测量、数据本地显示与云端上传功能,且软硬件模块耦合度低、扩展性强,能够满足家庭健康管理、小型商业称重等场景的使用需求,相比传统电子秤实现了数据的智能化、可追溯化管理,具有良好的实用价值。

关键词:智能电子秤;STM32;HX711;ESP8266;RT-Thread;物联网

主要研究内容
本设计着眼于智能电子秤系统软硬件的达成,其主要研究内容涵盖系统总体方案设计,硬件电路设计,嵌入式软件设计以及系统检测这四个方面,在系统总体方案设计这个层面,首先要针对智能电子秤的功能需求实施分析,从而明确系统须要达成的称重计量,数据显示,数据存储以及远程上传等关键功能。按照功能需求来确定系统的性能指标,包含称重范围,测量精度,响应时间以及通信距离等技术参数,凭借这些参数去设计系统的总体框架,划分各个功能模块,并明确模块之间相互传递数据的关系,进而规划出系统的完整运作流程。
在硬件电路设计上,选取了 STM32F411CEU6作主控芯片,针对这个芯片来规划最小系统电路,其中牵涉到时钟电路,复位电路以及下载调试电路。称重采集模块采取电阻应变式传感器结合 HX711 A/D 转换芯片这样的设计方案,规划传感器信号调理电路和数字接口电路,显示模块挑选了 TFT LCD 屏幕,利用 SPI 接口同主控芯片相接,做到称重数据在本地的显现,无线通信模块选定的是 ESP8266,经由串口与主控芯片展开通信,达成把数据上传到物联网云平台的目的,而且规划了按键输入电路和电源守护电路,给整个系统赋予稳定可靠的运行环境,还完成了 PCB 电路板的总体设计。
在嵌入式软件设计上,采用 RT - Thread 实时操作系统来执行软件平台搭建,从而做到多任务的调度与经营,要编写 HX711 推动程序以及称重数据采集程序,以达成获取传感器信号并实施重量换算的目的,还要编写 LCD 显示推动程序,用以完成数据显示界面的设计及其更新操作,另外,也要编写 ESP8266 推动程序,以做到 WiFi 网络的连接,并具备数据上传能力,经由合理规划各项任务并设定相应的优先级,使得各个功能模块得以协同运作,在系统检测环节,则需针对每个功能模块展开单独检测,还要做系统联合调试,以此去核实称重精度,显示效果以及网络输送的可靠性,保证该系统符合预先制定的设计目标。

                        	系统功能需求分析

本设计要达成的智能电子秤系统需有四项主要功能,即称重测量,数据显示,数据保存以及远程上传。称重测量属于系统的基本功能,要精确测出放在秤盘上的物品重量,并把传感器产生的微小电信号转为成数字形式的重量值,测量时需稳定且抗干扰,防止因环境或者机械抖动造成测量失误,数据显示功能得即时把所测到的重量值显在LCD屏上,显示效果要清楚易懂,方便使用者查看,从实用角度出发,显示内容除当前重量值外,还可以有测量单位,数据保存状况以及网络关联状况之类的附加信息。
本设计的数据保存功能有别于传统电子秤,用户经由按键操作来保存当下的称重数据,所保存的数据需存入本地或者依靠无线网络上传到云端。此功能可让用户记录并比较多次的称重结果,符合健康管理或者商业应用方面的数据记录需求,要达成远程上传功能,系统就得依靠 WiFi 模块连接互联网,把保存的称重数据传递给物联网云平台,用户可以借助电脑或者手机登录云平台,随时查看过往的称重数据,从而做到对测量数据的远程访问与管理,这样一种设计冲破了传统电子秤数据孤岛的局限,令称重数据变成可追溯,可剖析的信息资源。
系统除具备前面述及的核心功能之外,还要有较好的用户交互体验,按键操作需反应灵敏,按键反馈要清晰可见,显示界面的设计得合理恰当,关键信息应该明显显现出来,系统应具有一定的容错能力,当传感器出现故障或者网络连接中断的时候,可以给予提示信息,并保留主要功能的运行状态,站在系统整体的层面看,各个功能模块之间应当相互协作配合,数据采集,显示更新,按键判断以及网络传送等工作任务要有条不紊地安排好,防止发生资源争用以及响应迟缓的情况,遵照前面所述的功能需求来展开分析,此设计就选定以 STM32 微控制器作为核心器件,把称重传感器, LCD 显示屏, WiFi 模块和按键输入整合到一起形成一个完整的方案。

系统总体架构
本设计以模块化设计思想为参照,把智能电子秤系统分解为五大核心部分,即主控模块,称重采集模块,显示模块,通信模块以及人机交互模块。这些模块经由清晰界定的接口来实施数据交互并协作运行,其中,主控模块以 STM32F411CEU6 微控制器为核心,充当整个系统的指挥核心,承担调度各模块工作顺序,整理收集到的数据,回应用户指令以及支配数据上传的任务,此芯片所搭载的 ARM Cortex - M4 内核可达到高达 100MHz 的时钟频率,内置 512KB 的 Flash 存储空间与 128KB 的 RAM 存储空间,具备诸多外部设备接口,可以适应多任务随时处理的情况,而且主控模块当中还设有时钟电路,复位电路以及程序下载调试电路,给系统运行给予基本的支撑。
称重采集模块包含电阻应变式称重传感器以及HX711 A/D转换芯片,传感器以桥式电路结构为基础,当秤台承受压力的时候,应变片电阻产生变化,桥式电路就会输出与重量呈正比的差分电压信号。这个信号十分微弱,其幅值处于毫伏等级,必要经过放大以及模数转换之后才有可能被微控制器所处理,HX711芯片内置有可编程放大器以及具有24位精度的A/D转换器,可以将传感器发出的微弱信号径直转化为数字量,并经由简单的数字接口同微控制器开展交流,这样的设计构思精简了模拟电路的设计流程,优化了系统的抗干扰性能与测量精度。
显示模块配备的是TFT LCD彩色屏幕,它经由SPI串行接口同主控芯片相接,与并行接口相比,SPI接口所占有的引脚数目较少,其关联更为简单,非常契合那些引脚资源较为紧缺的嵌入式应用场景。通信模块选择了ESP8266 WiFi芯片,此芯片已经整合了TCP/IP协议栈,并符合802.11 b/g/n无线标准,借助串口与主控芯片形成对接,便能够轻松达成WiFi网络的接入以及数据的传送,人机交互模块包含按键输入以及状态指示这两个方面,用户可凭借按键来做数据保存之类的操作,而系统则经由屏幕显现以及也许会有的声光提示来给予用户关于自身当前状况的反馈信息。 人机交互模块由按键输入和状态指示这两部分形成,用户可通过按键执行数据保存等操作,系统则凭借屏幕显示及可能的声光提示向用户反馈自身状况,电源模块向整个系统赋予稳定的工作电压,把输入的5V电压转变成3.3V以供各个芯片使用,各个模块相互配合,一起达成智能电子秤的各种功能。

二、文档介绍

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

三、項目设计

RT-Thread操作系统移植
RT - Thread属于开源的嵌入式即时操作系统,此设计把它移植到 STM32平台当作系统的软件根基,RT - Thread采取模块化设计,其内核体积较小而且裁剪性较强,特别适合资源有限的嵌入式应用。操作系统的核心功能涵盖任务调度,同步与互斥,软定时器,内存守护等部分,任务调度器具备抢占式和时间片轮转这两种调度方式,能够给不同任务指定不同的优先级,从而保证紧急任务得以及时响应,在本设计当中,称重数据采集任务对即时性要求比较高,所以把它设成高优先级,而显示和网络通信任务的优先级比较低,经由合理设置来保障系统具备即时性。
RT - Thread的启动流程包含若干个阶段,硬件复位之后会先去执行启动代码,完成堆栈指针和异常向量表的初始化工作,然后执行 C 运行时库的初始化,给 C 程序运行创建环境,系统时钟的设置属于启动过程中的重要环节,经由调用时钟设置函数来设定锁相环参数,把系统主频设置成 100MHz,RT - Thread 内核的初始化牵涉调度器的初始化,定时器的初始化以及内存池的初始化,当内核初始化完毕以后,系统会创建主线程并且转入调度循环,主线程承担着创建应用任务的任务,等到应用任务被创建出来以后,系统就可以开始正常运行了,这样的启动流程既清晰又规范,非常利于开发者领会系统的运行原理并实施功能拓展。

称重数据采集程序
称重数据采集程序属于系统的核心功能模块,它的职责是读取HX711芯片的变换成果,并把它转化为现实的重量值。HX711芯片同主控芯片经由两线串行接口来开展通信,数据读取的时候要精准把控引脚电平变换的时间顺序,读取流程先是耐心等待DOUT引脚转为低电平,这表明A/D变换已经结束。之后,主控芯片就在PD_SCK引脚发出24个时钟脉冲,每一个脉冲的下降沿读取一位数据,而且是从高位开始逐步获取到24位的变换成果,第25个时钟脉冲被用来确定下一次变换的增益和通道,在当前这个设计方案当中,通道A的增益被选定为128倍,所获取到的24位数据就是原本的变换成果,这个数值和传感器输出的电压存在线性关联,不过和实际的重量还是必要去做标定换算。
数据处理流程包含数字滤波,零点校准以及标度变换这三项步骤,数字滤波是用来压制测量过程中的随机噪声的,本设计采用了移动平均滤波算法,也就是从众多采样值当中获取平均值当作有效数据,这样做可以很好地缓解由于噪声造成的测量波动。零点校准会在系统启动的时候自行达成,它会采集处于无负载状态下的很多次测量值来算出零点偏移量,之后所得的测量结果要是减去零点偏移量就可以得到相对重量,标度变换需按照已知的重量来做线性校准,利用标准砝码执行测量就能够得到传感器输出值与重量之间存在的比例系数,等到真正做测量的时候就把原来得到的数据减去零点再乘上这个系数,就可以得出重量值。 处理过的重量数据稳定性较高,准确度不错,符合日常称重的使用需求。

LCD显示程序
LCD显示程序需掌控屏幕内容更新及界面刷新事宜,向用户给出直观的称重数据显示效果,其显示驱动部分包含SPI通信协议与屏幕初始化流程,上层应用经由调用显示接口函数来达成文字,数字以及图形的绘制操作。屏幕初始化乃是显示功能得以正常运行的必要条件,在系统启动之时,会遵照驱动芯片所给定的要求发送初始化命令序列,设置诸如显示方向,颜色格式以及扫描模式之类的相关参数,等到初始化过程结束以后,屏幕便步入正常的工作阶段,从而具备接收显示数据的能力,显示内容被安排在帧缓冲区当中,应用程序把期望显示的内容写入到该缓冲区之中,随后由显示刷新程序把其中的数据传递到屏幕之上。
显示界面的设计重视信息显现的清晰度与易读性,主界面用大号字体显示当下的称重数值,使得用户能立即获取测量结果。界面上存在一个辅助信息区,用以显示重量单位,数据保存情况以及网络连接状况等等,一旦用户点击保存键,屏幕上就会暂时出现保存完成的提示信息,给用户以清晰的操作回应,要想达成流畅的显示效果,显示更新采取局部更新策略,仅仅更新发生改变的部分区域,免除因整屏更新而产生的闪烁现象和数据输送成本,称重数值变动速度较快,所以要有比较高的更新频次,静态文本和状态图标变动较少,可以减小更新频次来节省处理器资源。

WiFi数据传输程序
WiFi数据输送程序担负着管理ESP8266模块网络连接以及数据上传工作的职责,该模块依靠串口AT指令集来执行控制操作,主控芯片向其发送已定格式的指令,模块完成相应动作之后会给予回应信息,数据输送程序要先对ESP8266的工作模式和网络参数展开设置,涵盖设定STA模式,关联指定的WiFi网络,设置TCP关联参数等方面,而在形成网络关联的过程中,应对诸如连接失败,密码不符之类的异常状况,利用重试机制及错误提示来优化系统的稳定性,等到关联达成以后,程序便转入到数据发送预备阶段,静候用户按下按键以开始数据上传流程。
数据上传功能经由TCP协议关联到物联网云平台来达成,在用户按下保存键的时候,程序把当下的称重数据依照预定的格式加以封装,这个被封装好的数据包涵盖了设备标识,时间戳以及重量值等相关信息。程序经由串口向ESP8266发送AT + CIPSEND命令,告诉模块准备要发送的数据量,模块准备好之后会回送发送指示符,然后程序再传送已封装好的数据,模块再利用TCP链接把这个数据传送到云平台服务器那里,服务器接收完数据以后会给予确认信息。 程序要保证数据传送的可靠性,所以具备了超时重传机制,如果超出了一定时限还未从服务器得到确认信息,就会再次去传送数据。当网络连接出现问题时,程序会试图重新创建连接,从而使得系统在网络状况恢复正常之后仍能正常运行。
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
总 结

本文就智能电子秤的设计与达成展开了系统性研究,包含了从需求分析,方案设计一直到硬件达成,软件开发,系统评定这些完整的研发步骤,在硬件设计上,选用了 STM32F411CEU6为主控芯片,再加上HX711高精度A/D转换芯片来采集称重传感器的信号,用TFT LCD屏幕来做数据显示,依靠 ESP8266模块做到 WiFi无线通信,还规划出了完整的电路原理图和 PCB板图。在软件设计方面,则把 RT - Thread即时操作系统移植成软件平台,完成了称重数据采集, LCD显示以及 WiFi数据输送等相关应用程序的开发,达成了多任务的高效调度与守护,系统检测结果显示,这个设计所完成的智能电子秤可以精确测量重量,随时显示测量结果,而且经由按键操作把数据上传到物联网云平台,其各项功能和性能指标均符合设计预期。
本设计完成了传统电子秤的智能化升级,把称重数据从本地孤立的状态解脱出来,变成成可追溯,可分析的信息资源,用户能够经由云平台随时查看历史称重数据,给健康守护,商业统计这些应用场景给予数据支持,系统用的是模块化的设计理念,各个功能模块耦合度小,接口清楚,利于后面功能的拓展和性能的改善,RT-Thread操作系统被运用到其中,提升了软件的模块化水平和可守护性,给复杂嵌入式系统的软件开发供应了参照范例。 本设计的成果可应用于家庭健康经营,厨房称重,小型商业秤重等诸多场景,具备一定的实用价值与推广意义,受时间与条件的限制,本设计尚有改进之处,日后可以朝着提升测量精度,改善能耗守护,增添更多传感器支持等方面持续完善。

更多推荐