智能体重秤
简介
基于stm32以及HX711的智能体重秤,具有基本的称重功能,具有蓝牙传输功能,通过手机可以实时查看称重信息,体重秤使用锂电池供电,带电池管理电路;
简介:基于stm32以及HX711的智能体重秤,具有基本的称重功能,具有蓝牙传输功能,通过手机可以实时查看称重信息,体重秤使用锂电池供电,带电池管理电路;开源协议
:GPL 3.0
描述
一、项目简介
基于stm32以及HX711的智能体重秤,具有基本的称重功能;具有蓝牙或Wifi传输功能,通过手机可以查看称重信息; 手机端需具备称重信息存储功能,可以统计历史数据; 当有重物放上去时实现称重功能,重量小于一定值时进入待机状态;体重秤使用锂电池供电,带电池管理电路;
二、板载资源
图1-1智能体重秤电路3D图
图1-2智能体重秤电路平面图
1、主控芯片:STM32F103C8T6
2、电源接口:TYPE-C
3、按键:一个复位按键
4、体重测量芯片:HX711
5、显示接口:I2C协议的OLED显示器
6、调试接口:SWD下载调试接口
7、通信:通过蓝牙模块与手机进行通信
三、设计原理
本方案使用HX711作为称重传感器处理芯片,使用四个压力应变片构成全桥来测量体重,使用STM32作为主控芯片和HX711通信获得压力应变片的变形量并换算成重量,并采用MX-01蓝牙模块与手机端进行通信,采用微信小程序设计手机端软件,可以存储称重数据,并进行数据分析。
四、电路解析
图4-1 智能电子秤整体原理图
4.1、电源电路
电源电路主要由TYPE-C接口,锂电池模块以及充电电路组成,其中LED2作为充电指示灯,当充电完成时LED2灯亮,TP4056为锂电池充电管理芯片,P2为锂电池接口,采用3.7V的锂电池进行供电。
图4-2 智能电子秤电源电路
4.2、主控电路
主控电路选择STM32F103C8T6作为主控芯片,工作电压为2.0v~3.6v,最大时钟频率为72MHZ,64KB的闪存存储器和20KB的SRAM,它配备了丰富的外设接口,包括多个通用定时器,通用同步/异步串行接口(USART),I2C和SPI接口,以支持多种通信和外部设备连接需求。芯片的电源输入部分需要加入100nf电容进行电源滤波。
图4-3 智能电子秤主控电路
4.3晶振电路
晶振电路使用了32.768Khz的低速晶振以及8Mhz的高速晶振,在软件配置中也要将芯片的时钟输入源配置成外部输入。
图4-4 智能电子秤晶振电路
4.4称重电路
称重电路使用HX711作为数模转换芯片,HX711是一款精密的模拟-数字转换芯片,广泛用于重量测量和称重应用。它特别适用于各种需要高精度和稳定性的称重系统,该芯片在测量过程中抑制了外部干扰和噪声,从而提供更可靠的测量结果。它通过数字接口(如SPI或者简化的串行接口)将模拟信号转换为数字数据,便于与微控制器通信。
压力传感器通过全桥的连接方式进行连接,并通过4根线接入到HX711芯片,的E+,A+,GND,A- 接口,如图4-6所示。
图4-5 智能电子秤称重电路
图4-6 压力传感器连接电路图
4.5 稳压电路
稳压电路使用AMS1117作为稳压芯片,输出3.3V,AMS1117 是一款线性稳压器芯片,常用于电子电路中提供稳定的电压输出。它是微型封装的低压差稳压器,通常用于从较高电压源(如电池或电源适配器)降压到稳定的较低电压以供电其他电路或设备。
图4-7 稳压电路
4.6 通信电路
智能体重秤通过蓝牙模块与手机进行通信,其中蓝牙模块使用MA-01A,采用BLE5.2蓝牙接口,体积小连接块,具有100m+的测试通讯距离,模块发射功率为5dbm,模块通过串口与主控电路连接实现透传。
图4-8 蓝牙电路
4.6 复位电路
复位电路,按键Reset按下主控的RESET引脚被拉低,系统进入复位状态,松开Reset按键,主控的RESET引脚恢复高电平,系统重新进行工作状态,完成复位。
图4-9 复位电路
4.7 OLED显示接口
项目采用OLED作为显示器,用来显示体重信息,OLED显示模块通过I2C协议与主控芯片通信,分别连接主控芯片的PB6和PB7,其中PB6为时钟线,PB7为SDA信号线。
图4-10 OLED显示屏接口
五、嵌入式软件解析
5.1 时钟配置
主控芯片使用STM32CUBE进行时钟配置,如图5-1所示,配置过程中要注意将时钟输入源切换到外部输入,即HSE,才可以或者最高主频72Mhz。
图5-1 时钟树
5.2 核心代码解析
完整的嵌入式代码见附件,这里将对附件中的核心代码进行解释:
1、位于main.c中的HX711_Read(void) 函数作用是从hx711模块读取传感器的数值。
图5-2 传感器压力读取代码
2、位于main.c中的Get_Weight(void) 函数将压力传感器的数值转换成重量并储存,压力传感器的数据基本呈线性,可以直接进行线性标定,如果想要获得更高精度的测量结果,则需要使用插值标定。
图5-3 传感器压力处理部分代码
3、OLED显示字符串代码,OLED显示字符串和数字的方式是首先使用取模软件PCtoLCD获取各个字符串的十六进制编码值,在将其写入单片机代码文件中如图5-5所示,本项目主要使用到的是一些字符串,也可以将二值化的图像通过取模软件进行取模并显示在OLED上,同时如果想要显示动画也可以GIF的多张图像通过取模软件取模并放置在代码文件中。
图5-4 取模软件界面
图5-5 部分字符串的模值
六、手机端软件解析
6.1 软件页面介绍
如图6-1为手机端软件的主要界面,其中图a是蓝牙连接界面,进入此页面软件会自动搜索附近蓝牙,在选择体重秤的蓝牙并进行连接后进入图b界面,图b界面会实时的显示称重体重,并且用户可以使用归零按钮进行重量归零,类似于高精度电子秤的去皮功能,同时用户可以点击记录功能来记录当前的体重,当用户点击历史分析时便会进入历史数据统计界面,界面会显示最近10次称重的体重,并计算平均体重以及最重和最轻的体重。
图6-1 手机端软件界面
6.2 小程序代码结构介绍
完整的小程序代码会放到附件中,下面将介绍代码的结构和功能,小程序端主要有四个页面,index页面为首页,即蓝牙连接界面,WeightUI页面为称重主页,analyse页面为历史数据统计页面,可通过点击历史分析按钮切换到该页面。
小程序使用了ec-canvas控件绘制折线图,并可以进行图表的动态修改,具体方式详见代码。ec-canvas开源库的github链接:GitHub - ecomfe/echarts-for-weixin: Apache ECharts 的微信小程序版本
图6-2 手机端代码结构
device页面是通信调试页面,可以接收数据和自定义发动数据,如图6-3所示。
图6-3 通信调试页面
七、实物展示
图7-1 智能体重秤正面图
图7-2 智能体重秤背面电路图
八、注意事项
8.1 电路原理图绘制注意事项
1、模块化电路结构,并进行合理分区。
2、没有网络的引脚要标注❌。
3、要注意电源滤波电容的添加。
8.2 布线需要注意的事项
1、电源的滤波电容要尽量接近电源引脚。
2、信号线避免形成回路。
3、蓝牙模块的天线要朝外面,并且天线下面不要铺铜。
4、避免出现直角走线。
5、电源走线建议使用T型连接。
6、晶振低下最好保证净空不要走线。
7、合理添加丝印提示。
图8-1 电路平面图
8.3 调试注意事项
1、串口的RX对应蓝牙模块的TX,TX对应蓝牙模块的RX,注意不要弄反。
2、压力传感器的连接要注意全桥的连接方式,注意顺序不要反,如果一次接四个不好测试,可以先从一个压力传感器开始测试。
评论