站内搜索
发作品签到
专业版

带重力感应的桥式压感智能秤基于立创·地奇星RA6E2

工程标签

1.8k
0
0
8

简介

带陀螺仪的桥式压感高精度智能秤基于立创·地奇星RA6E2

简介:带陀螺仪的桥式压感高精度智能秤基于立创·地奇星RA6E2
立创·地奇星RA6E2开发板征集令

开源协议

GPL 3.0

创建时间:2025-12-14 16:05:33更新时间:2026-01-04 09:47:53

描述

1.简介

使用立创·地奇星RA6E2作为主控,桥式压感做主传感器,HX711作为高精度电子秤设计的24位A/D转换器芯片,OLED屏幕显示内容,MPU6050作为重力感应器陀螺仪于一体的智能秤

该秤引入电子开关,自动判断开关状态;MPU6050作为重力感应器陀螺仪判断秤是否放平,以减少测量时的误差。

2.系统框图

框图比较简单,主要是引入了电子开关,需要软件硬件一起配合才能达到比较好的效果,3.3V的电是从地奇星开发板出来的。

3.原理图

3.1 蜂鸣器 按键

蜂鸣器采用上接形式,N管控制下端,并联续流二极管

按键默认上拉,按下电平0

3.2 HX711

HX711标准电路

3.3 MPU6050

mpu6050标准电路。

3.4 充电升压

增加usb转串口方便调试,充电是TP4056标准电路

升压是sx1308标准电路。

3.5 电子开关

电子开关引入了两个p mos管,mos管前端连着电池,管子打开的条件是5伏有输入或者电源按键被按下或者连接到MCU的POWER_ON脚被拉高

3.6 RA6E2

RA6E2接线和端口

4.layout/焊接

整板采用横4段式设计,大小10x10cm 可以白嫖jlc

最上面放电池,中间放桥式传感器,下面主控,最下面是按键和外围

其中桥式传感器这里开孔,不要开金属孔,开机械孔。

整板如图

焊接的时候需要注意mpu6050重力传感器一定需要焊平。

5.外壳

使用sw2025绘制。

外壳采用上下两段设计。

 

 

亚克力也在这里绘制。

下外壳如图。

上外壳如图。

6.面板

在sw绘制完后导出dxf。

导入面板绘制,增加图案

7.安装

OLED屏幕需要插到一半。

地奇星开发板对接的形式安装

桥式传感器的多余的线可以放到开发板下面

桥式传感器装好三个垫高片。

背面打好螺丝

电池安装在预定位置,使用双面胶固定。

桥式传感器的上面先不装和打螺丝

先把主板安装到上外壳

对应好下外壳。打上螺丝。

安装完后再安装桥式传感器的上面板。

有螺丝孔的面板线安装。安装时三个垫片也需要垫上。用双面胶固定上图案面板。

安装按键和屏幕面板

按键再安装键帽。

成品如图

 

8.代码逻辑

8.1 工程

使用到三个例程,主要在0.96iic屏幕工程基础上修改

hx711和mpu6050工程需要移植过来

hx711和mpu6050工程按照原来文件结构移动到0.96iic中

添加文件到工程中

MCU原理图如下

根据原理图设置好IO口设置

IO口 输入输出 默认 描述
P111 输出 低电平 蜂鸣器控制
P112 输入 高电平 电源按键输入检测
P104 输出 高电平 电子开关控制自锁脚
P103 输入 高电平 按键输入
P102 输入 高电平 按键输入
P101 串口 / 串口
P100 串口 / 串口
P015 输入 低电平 5V输入检测
P000 ADC / 电池电量检测
P301 输出 高电平 HX711时钟脚
P302 输出 高电平 HX711数据脚
P206 输出 高电平 MPU6050时钟脚
P207 输出 高电平 MPU6050数据脚
P407 输出 高电平 0.96OLED时钟脚
P408 输出 高电平 0.96OLED数据脚

根据以上状态IO设置选择好引脚

8.2 头函数和IO修改

基于oled0.96修改而来

app.c中

把bsp_hx711.h bsp_mpu6050.h头函数添加进来,另外需要用到math.h用于后面的滤波算法等使用

bsp_hx711.h中

修改对应的时钟和数据脚

oled.h中

修改对应的时钟和数据脚

bsp_mpu6050.h中

修改对应的时钟和数据脚

其中mpu6050和oled都是使用软件iic的形式而没有使用硬件iic

因此bsp_mpu6050.c中有个别函数与oled.c中的冲突,因此增加了MPU6050前缀

8.3 全局变量,定义,枚举

app.c中

最大量程定义5000g

定义不同单位,主机内部依然是用g做其他判断,其他单位仅做显示

由于引入了电子开关,也需要枚举状态定义

还有些计数和全局变量

滤波算法中的采样次数,消抖范围等也在这里定义

8.4 电子开关控制逻辑

电子开关上下电逻辑和充电逻辑如图

开机一瞬间MCU自己一定要拉住POWER_ON引脚,否则自己就会掉电

原理图已经说过通电的条件是5伏有输入或者电源按键被按下或者连接到MCU的POWER_ON脚被拉高

拉住后MCU需要判断是谁使他上电,因此先判断电源按键被按下和5伏是否有输入,此时状态是UNKNOW未知状态

先判断是否按键按下,如果是按键按下则是正常用户导致的开机,进入开机流程此时状态是ON开机状态

如果不是再判断5V是否输入,是的话则是充电导致开机,只显示充电画面,不进入开机,此时状态是CHARGE充电状态

按键和充电判断可以对调没前后顺序

如果都不是,则继续UNKNOW状态继续判断,直到一定次数还是无法判断出来则认为是误触开关导致的瞬间通电,最后系统把POWER_ON脚被拉低,自断电

充电状态中也需要时刻判断是否有按下开机,如果按下则正常开机,状态从CHARGE变更ON

如果插着充电时按下关机,则从ON变更为CHARGE,而非ON变更为OFF

下面是代码的实现

首先检测IO状态

开机时初始化枚举已经吧默认状态改为UNKNOW,在这里需要进行开机状态的判断

如果是开机按键被按下则变更为ON状态

如果未被按下而是5V输入高电平说明是充电5V插入,进入CHARGE状态

否则继续UNKNOW状态,并且计数+

可以看到如果计数超过10次则会拉低POWER_ON的引脚自锁断电

 

如果进入关机状态也会拉低自锁POWER_ON的引脚

开机和充电则拉高

 

8.5称重消抖

由于HX711采样的值都会有抖动,因此引入滤波算法,这里更推荐的是中值滤波+阈值判断的做法

核心设计思路
1.AD 值转重量校准:先将 HX711 的原始 AD 值转换为实际克数(需提前校准);
2.滑动采样缓冲区:缓存最近 N 个重量采样值,平衡响应速度与稳定性;
3.频次统计滤波:在采样缓冲区中统计 ±0.5g 范围内的数值频次,取频次最高值作为候选;
4.显示值更新规则:候选值与当前显示值偏差 > 0.5g 时刷新,否则保持;
5.零位特殊处理:显示值在 - 0.5~0.5g 区间时强制显示 0.0g。

多次采样值后按照从小到大冒泡排序进行排列后取中置,然后再和上一次采样的中置进行阈值比较,超过阈值则更新数值,否则继续显示上一次的值

0位处理也是在0±0.5的范围里都判定为是0,显示值为0

不建议再增加延迟,多次采样的延迟已经拿掉,增减延迟会导致mpu6050软件iic出现异常

在实际赋值时直接用Get_Stable_Weight函数

8.6报警

蜂鸣器使用计数的方式进行使能

10个值进行累减,2/10值时进行报警

蜂鸣器响的条件是:

超重 hx711的值超过5000g,重力感应器x和y值有偏差

0认为是与重力垂直

屏幕报警 hx711重量大于5000g也会屏幕上显示报警

 

8.7重力传感器

mpu6050使用软件iic,在主函数中尽量不要加入软件延迟,否则影响采样

只需要获取pitch和roll值即可

然后显示在OLED屏幕上

-5~5的范围里都认为是放平了

由于OLED显示数字只能显示整数,因此需要把正负号拿出来,把整数部分提取出来做绝对值处理,需要用到math.h

8.8 温度显示

mpu6050带了温度传感器,也是使用累减的方式一段时间去采样温度值

温度值返回是浮点型,显示在oled上也需要做提取整数和小数的处理

温度负值也需要做正负处理,绝对值处理

最终显示温度和重力值效果如图

8.9 其他按键处理

清零和单位切换处理如图

清零由于底层代码改动较大暂时未做该功能,只做了单位切换

按键按下时会循环切换g,kg,oz,lb单位

单位换算如图,converted是最终换算值,用于显示,其他的判断例如超重判断还是用hx711_value的g做单位的判断

oled上的单位切换

8.10 初始化

初始化第一件事就是拉住自锁开关

然后初始换串口,mpu6050,hx711,oled这些

8.11 while(1)

主循环里防了蜂鸣器,led,温度,mpu6050,按键扫描和重量获取的循环

9.总结

这个智能秤基于 立创·地奇星RA6E2 直接使用例程方便快捷,开发板便宜,IO口使用瑞萨自己的e²做开发 ,方便配置。秤精度高,焊接组装难度不大,但是代码处理尤其是电子开关部分处理有点难度,总体上是一个结构和硬件偏简单,软件中等偏难的项目

软件难点在于:

1.软件需要配合硬件的电子开关做各种判断。

2.秤抖动处理。

3.显示状态处理。

10.成品演示

500克的砝码显示如图,下面视频还有对比

设计图

未生成预览图,请在编辑器重新保存一次

BOM

暂无BOM

3D模型

序号文件名称下载次数
1
电子秤3D.7z
18

附件

序号文件名称下载次数
1
与其他秤对比.mp4
9
2
放平警告.mp4
3
3
0-96-iic-single-screen.7z
28
克隆工程
添加到专辑
0
0
分享
侵权投诉

工程成员

知识产权声明&复刻说明

本项目为开源硬件项目,其相关的知识产权归创作者所有。创作者在本平台上传该硬件项目仅供平台用户用于学习交流及研究,不包括任何商业性使用,请勿用于商业售卖或其他盈利性的用途;如您认为本项目涉嫌侵犯了您的相关权益,请点击上方“侵权投诉”按钮,我们将按照嘉立创《侵权投诉与申诉规则》进行处理。

请在进行项目复刻时自行验证电路的可行性,并自行辨别该项目是否对您适用。您对复刻项目的任何后果负责,无论何种情况,本平台将不对您在复刻项目时,遇到的任何因开源项目电路设计问题所导致的直接、间接等损害负责。

评论

全部评论(1
按时间排序|按热度排序
粉丝0|获赞0
相关工程
暂无相关工程

底部导航