关于HX711电子秤的问题求助

2019-07-21 07:31发布

最近在做一款电子秤,用的是HX711芯片,主控是STM32F103VET6, 电子秤模块.png ,称重原理图是这样的,我只写了一个HX711的驱动程序,读出来的值一直为16777215,即2^24,不管怎么改变压力传感器,一直都是这个数值,这个好像是最大值了,不知道问题出在哪了。E+E-的电压接近3.3V,和芯片的供电电压接近了。。所以是这个最大值吗,请教一下做过这个东西的人,提供一下解决办法,还是我的思路有问题了
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
48条回答
Clivia
1楼-- · 2019-07-22 22:02
 精彩回答 2  元偷偷看……
Clivia
2楼-- · 2019-07-23 03:05
hyxhyx 发表于 2016-8-31 15:02
楼主,我用的是4个50kg的,请问怎样转换称重量?而且我用上述程序获取的值是val值是7583411,后三位一直在 ...

因为不同传感器特性曲线不一样,read之后除以那个常数之后如果重量跟实际的比偏大,就 加大,反之就减小。
comprends
3楼-- · 2019-07-23 04:39
Clivia 发表于 2016-8-31 16:40
因为不同传感器特性曲线不一样,read之后除以那个常数之后如果重量跟实际的比偏大,就 加大,反之就减小 ...

你是指这个吗?Weight_Shiwu = (unsigned int)((float)Weight_Shiwu/4.30+0.05);,改这个4.3?我获得的数据与0x800000进行异或,后再按这个处理的话差的很多,按他写的那个思路算。。完全是错的,http://bbs.elecfans.com/jishu_521207_1_1.html。我用的是30KG的传感器,异或后的数据为7个数,比如说:8167473,这种数据;如果我不进行异或,得到的是个二进制补码,就是6个数,如:203018。如果说这个数据是线性变化的话,我0G的时候读一个AD值,1g的时候再读一个,依次读下去,应该会有个大概的函数曲线,但这样的话,精度很差,而且读取的数据后三位变化比较大,经常是我空盘的时候,后三位数据可以从1-100的变化,加砝码也是一样的变,不知道怎么处理,现在加了一个例子里的滤波函数,效果稍微有一点,但误差有+-10g,太差了,这个应该是能精确计算的,就是不知道是怎么弄
comprends
4楼-- · 2019-07-23 08:49
而且不知道为什么,读这个数据的时候,数据不是一个稳定的小范围,而是一直递增,后三位增个100左右再递减,如果我要取这些的平均值的话应该怎么算呢?
donsbin
5楼-- · 2019-07-23 13:11
波动是很正常的,24位ADC有效位数只能达到21位。
很多时候电子秤的精度取决于传感器的精度,毕竟传感器理想上是线性的
Clivia
6楼-- · 2019-07-23 15:55
 精彩回答 2  元偷偷看……

一周热门 更多>