智能体重秤 - 嘉立创EDA开源硬件平台

编辑器版本 ×
标准版 Standard

1、简单易用,可快速上手

2、流畅支持300个器件或1000个焊盘以下的设计规模

3、支持简单的电路仿真

4、面向学生、老师、创客

专业版 professional

1、全新的交互和界面

2、流畅支持超过3w器件或10w焊盘的设计规模,支持面板和外壳设计

3、更严谨的设计约束,更规范的流程

4、面向企业、更专业的用户

专业版 智能体重秤

简介:基于stm32以及HX711的智能体重秤,具有基本的称重功能,具有蓝牙传输功能,通过手机可以实时查看称重信息,体重秤使用锂电池供电,带电池管理电路;

开源协议: GPL 3.0

(未经作者授权,禁止转载)

已参加:星火计划2023

创建时间: 2023-07-13 11:05:31
更新时间: 2024-04-29 23:06:55
描述

一、项目简介

        基于stm32以及HX711的智能体重秤,具有基本的称重功能;具有蓝牙或Wifi传输功能,通过手机可以查看称重信息; 手机端需具备称重信息存储功能,可以统计历史数据; 当有重物放上去时实现称重功能,重量小于一定值时进入待机状态;体重秤使用锂电池供电,带电池管理电路;

二、板载资源

Ilb62hGrLhWwSTJuae90kvXOuc84arKj6gxNFwUN.png

图1-1智能体重秤电路3D图

 

QQfo7UFsfxFJTEmp02A8saiJav9M8Le5fov0jFpn.png

图1-2智能体重秤电路平面图

1、主控芯片:STM32F103C8T6

2、电源接口:TYPE-C

3、按键:一个复位按键

4、体重测量芯片:HX711

5、显示接口:I2C协议的OLED显示器

6、调试接口:SWD下载调试接口

7、通信:通过蓝牙模块与手机进行通信

 

三、设计原理

       本方案使用HX711作为称重传感器处理芯片,使用四个压力应变片构成全桥来测量体重,使用STM32作为主控芯片和HX711通信获得压力应变片的变形量并换算成重量,并采用MX-01蓝牙模块与手机端进行通信,采用微信小程序设计手机端软件,可以存储称重数据,并进行数据分析。

四、电路解析

fZJGDqg7vXafWpOVASIIt8a5W6GNXKKmi605HkME.png

图4-1 智能电子秤整体原理图

4.1、电源电路

      电源电路主要由TYPE-C接口,锂电池模块以及充电电路组成,其中LED2作为充电指示灯,当充电完成时LED2灯亮,TP4056为锂电池充电管理芯片,P2为锂电池接口,采用3.7V的锂电池进行供电。

EcnezKpwziN4s7zEX6oqwSxWzdgY9MClNZJqpMoL.png

 

图4-2 智能电子秤电源电路

4.2、主控电路

     主控电路选择STM32F103C8T6作为主控芯片,工作电压为2.0v~3.6v,最大时钟频率为72MHZ,64KB的闪存存储器和20KB的SRAM,它配备了丰富的外设接口,包括多个通用定时器,通用同步/异步串行接口(USART),I2C和SPI接口,以支持多种通信和外部设备连接需求。芯片的电源输入部分需要加入100nf电容进行电源滤波。

mqvUlmJBBhPeIwKqdzf6w3uv9tLh5v71qQvi9Mpc.png

图4-3 智能电子秤主控电路

4.3晶振电路

    晶振电路使用了32.768Khz的低速晶振以及8Mhz的高速晶振,在软件配置中也要将芯片的时钟输入源配置成外部输入。

sau5Zjw12HskLMtMUAWiCDGONKjvy0JrL7srEv7n.png

图4-4 智能电子秤晶振电路

4.4称重电路

        称重电路使用HX711作为数模转换芯片,HX711是一款精密的模拟-数字转换芯片,广泛用于重量测量和称重应用。它特别适用于各种需要高精度和稳定性的称重系统,该芯片在测量过程中抑制了外部干扰和噪声,从而提供更可靠的测量结果。它通过数字接口(如SPI或者简化的串行接口)将模拟信号转换为数字数据,便于与微控制器通信。

       压力传感器通过全桥的连接方式进行连接,并通过4根线接入到HX711芯片,的E+,A+,GND,A- 接口,如图4-6所示。

gEcofIxoJqALaiF3c017nxX7NsnSA7NdexnQChVv.png

图4-5 智能电子秤称重电路

 

mBjcZNaEkKpA0hftDeWbutwixnJqQHc40OZ2YhQp.png

图4-6 压力传感器连接电路图

 

4.5 稳压电路

        稳压电路使用AMS1117作为稳压芯片,输出3.3V,AMS1117 是一款线性稳压器芯片,常用于电子电路中提供稳定的电压输出。它是微型封装的低压差稳压器,通常用于从较高电压源(如电池或电源适配器)降压到稳定的较低电压以供电其他电路或设备

 

C7buJVf94dXZPU2ffJ8HNe2Ss21K3D7ZUQWmyhPb.png

图4-7 稳压电路

4.6 通信电路

        智能体重秤通过蓝牙模块与手机进行通信,其中蓝牙模块使用MA-01A,采用BLE5.2蓝牙接口,体积小连接块,具有100m+的测试通讯距离,模块发射功率为5dbm,模块通过串口与主控电路连接实现透传。

 

1ABqAUIITE012Uony7fcGHAaC4zrDfL2jXYHPqTL.png

图4-8 蓝牙电路

4.6 复位电路

       复位电路,按键Reset按下主控的RESET引脚被拉低,系统进入复位状态,松开Reset按键,主控的RESET引脚恢复高电平,系统重新进行工作状态,完成复位。

tk30RCqWPNLkUqnIpiAu0UminhM9klL79KufRd0E.png

图4-9 复位电路

4.7 OLED显示接口

       项目采用OLED作为显示器,用来显示体重信息,OLED显示模块通过I2C协议与主控芯片通信,分别连接主控芯片的PB6和PB7,其中PB6为时钟线,PB7为SDA信号线。

fVg1dMEWtoIJ0zk7Nylaba0dJoX57gqMoXm96SWj.png

图4-10 OLED显示屏接口

五、嵌入式软件解析

5.1 时钟配置

       主控芯片使用STM32CUBE进行时钟配置,如图5-1所示,配置过程中要注意将时钟输入源切换到外部输入,即HSE,才可以或者最高主频72Mhz。

1auD27whxofiii8z7ELvvRzoMQirIhaKwHQWL8Xd.png

图5-1 时钟树

5.2 核心代码解析

      完整的嵌入式代码见附件,这里将对附件中的核心代码进行解释:

1、位于main.c中的HX711_Read(void) 函数作用是从hx711模块读取传感器的数值。

dvLyYzBkCMZpaYVMqI3uL7nqng8BDaUsDUzhiBHS.png

图5-2 传感器压力读取代码

 

2、位于main.c中的Get_Weight(void) 函数将压力传感器的数值转换成重量并储存,压力传感器的数据基本呈线性,可以直接进行线性标定,如果想要获得更高精度的测量结果,则需要使用插值标定。

wvlYfGbGc6UqYQIH0EMu1V7u7ez5esX0eOY5K92N.png

图5-3 传感器压力处理部分代码

3、OLED显示字符串代码,OLED显示字符串和数字的方式是首先使用取模软件PCtoLCD获取各个字符串的十六进制编码值,在将其写入单片机代码文件中如图5-5所示,本项目主要使用到的是一些字符串,也可以将二值化的图像通过取模软件进行取模并显示在OLED上,同时如果想要显示动画也可以GIF的多张图像通过取模软件取模并放置在代码文件中。

jYh63aG6juldIvWnaYW8pQWF7LS0HkV1TecvvPoB.png

图5-4 取模软件界面

TVzIMkX2590ccsINnLSUhpELvo3srQPdL0DFwcaR.png

 

图5-5 部分字符串的模值

 

六、手机端软件解析

 

6.1 软件页面介绍

         

       如图6-1为手机端软件的主要界面,其中图a是蓝牙连接界面,进入此页面软件会自动搜索附近蓝牙,在选择体重秤的蓝牙并进行连接后进入图b界面,图b界面会实时的显示称重体重,并且用户可以使用归零按钮进行重量归零,类似于高精度电子秤的去皮功能,同时用户可以点击记录功能来记录当前的体重,当用户点击历史分析时便会进入历史数据统计界面,界面会显示最近10次称重的体重,并计算平均体重以及最重和最轻的体重。

 

dAryyWc5LVn5a92rqljCr8zdEEPtrpauJUBd42Af.png

 

图6-1 手机端软件界面

 

6.2 小程序代码结构介绍

 

       完整的小程序代码会放到附件中,下面将介绍代码的结构和功能,小程序端主要有四个页面,index页面为首页,即蓝牙连接界面,WeightUI页面为称重主页,analyse页面为历史数据统计页面,可通过点击历史分析按钮切换到该页面。

       小程序使用了ec-canvas控件绘制折线图,并可以进行图表的动态修改,具体方式详见代码。ec-canvas开源库的github链接:GitHub - ecomfe/echarts-for-weixin: Apache ECharts 的微信小程序版本 

 

gz0xOrdAVQmxLrq870hLjvwAuuf5fAeU2sctyM7c.png

图6-2 手机端代码结构

     device页面是通信调试页面,可以接收数据和自定义发动数据,如图6-3所示。

 

5KzEMDoBTkVYOVMoaqDlR7QCl3ALQgAzextbZsgd.jpeg

图6-3 通信调试页面

 

 

七、实物展示

etpDbMZZY6Ex71tDzn1R4VUkGxDTltMRYvjG6Pfc.png

 

图7-1 智能体重秤正面图

G1dIZkVv1K3j8nv0IZOYpABQIDHJiQhervmKxEFf.png

图7-2 智能体重秤背面电路图

 

八、注意事项

 

8.1 电路原理图绘制注意事项

1、模块化电路结构,并进行合理分区。

2、没有网络的引脚要标注❌。

3、要注意电源滤波电容的添加。

8.2 布线需要注意的事项

1、电源的滤波电容要尽量接近电源引脚。

2、信号线避免形成回路。

3、蓝牙模块的天线要朝外面,并且天线下面不要铺铜。

4、避免出现直角走线。

5、电源走线建议使用T型连接。

6、晶振低下最好保证净空不要走线。

7、合理添加丝印提示。

m9ToJFFAosH2PuuGwna3ixOVO25aEQmteL31Ui3s.png

图8-1 电路平面图

8.3 调试注意事项

1、串口的RX对应蓝牙模块的TX,TX对应蓝牙模块的RX,注意不要弄反。

2、压力传感器的连接要注意全桥的连接方式,注意顺序不要反,如果一次接四个不好测试,可以先从一个压力传感器开始测试。

 

 

设计图
原理图
1 /
PCB
1 /
未生成预览图,请在编辑器重新保存一次
工程视频/附件
工程成员
侵权投诉
相关工程
换一批
加载中...
添加到专辑 ×

加载中...

温馨提示 ×

是否需要添加此工程到专辑?

温馨提示
动态内容涉嫌违规
内容:
  • 153 6159 2675

服务时间

周一至周五 9:00~18:00
  • 技术支持

support
  • 开源平台公众号

MP