极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

楼主: shenhaiyu

基于24位AD转换模块HX711的重量称量实验(已补充皮重存储,线性温度漂移修正)

  [复制链接]
 楼主| 发表于 2014-3-6 21:10:28 | 显示全部楼层
smile51183 发表于 2014-3-5 14:48
不好意思 我的問題跟22樓一樣
但是我把hx711函式庫解壓縮放到這位址
C:\Program Files (x86)\Arduino\lib ...

你先学习一下如何扩展Arduino的库文件,估计是你HX711库的位置存放不正确。
Arduino是区分大小写的,注意你的路径:

C:\Program Files (x86)\Arduino\libraries\Hx711

并且要保证该路径下存在HX711.h和HX711.cpp文件,比如:

C:\Program Files (x86)\Arduino\libraries\HX711\HX711.cpp

不是

C:\Program Files (x86)\Arduino\libraries\Hx711\HX711.cpp
不是
C:\Program Files (x86)\Arduino\libraries\HX711\HX711\HX711.cpp
回复 支持 反对

使用道具 举报

发表于 2014-3-10 17:20:50 | 显示全部楼层
本帖最后由 smile51183 于 2014-3-10 21:09 编辑

我現在遇到的是這樣 ...
他的數值是不是太高了 ....... 1.jpg
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-3-11 09:45:37 | 显示全部楼层
smile51183 发表于 2014-3-10 17:20
我現在遇到的是這樣 ...
他的數值是不是太高了 .......

你都没认真看过我的帖子。。。。
回复 支持 反对

使用道具 举报

发表于 2014-4-7 19:25:52 | 显示全部楼层
大大不好意思 我看了文章 也弄了許久
到現在還是不明白為什麼還是-8388608
並且放了伐碼他也無變化 ...
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-4-7 22:35:44 | 显示全部楼层
smile51183 发表于 2014-4-7 19:25
大大不好意思 我看了文章 也弄了許久
到現在還是不明白為什麼還是-8388608
並且放了伐碼他也無變化 ...

应该是接线问题,或者模块有问题
回复 支持 反对

使用道具 举报

发表于 2014-4-14 18:39:27 | 显示全部楼层
大大我照著你的程式以及硬體做了
結果出來的數據與你的相差甚遠
請你救救我 老師快把我嘴爆了{:soso_e109:}
1.jpg
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-4-14 22:57:12 | 显示全部楼层
smile51183 发表于 2014-4-14 18:39
大大我照著你的程式以及硬體做了
結果出來的數據與你的相差甚遠
請你救救我 老師快把我嘴爆了{:soso_e109 ...

调整一下系数呗,每套系统都需要归零的
回复 支持 反对

使用道具 举报

发表于 2014-4-15 18:42:38 | 显示全部楼层
大大我的接線圖如下
可是我不管怎麼按壓卻都沒有變化
照你的程式要歸0結果完全無法變化 ....
謝謝大大幫忙
1897922_756010291090026_28198226385626472_n.jpg 10155477_756010347756687_9191558505242999367_n.jpg
1016841_756010321090023_1973379829619663969_n.jpg
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-4-16 00:38:16 | 显示全部楼层
smile51183 发表于 2014-4-15 18:42
大大我的接線圖如下
可是我不管怎麼按壓卻都沒有變化
照你的程式要歸0結果完全無法變化 ....

嗯,看接线没什么问题。你先别看我的程序,你先只用HX711库中的例子做测试,看看数值有没有变化
回复 支持 反对

使用道具 举报

发表于 2014-4-19 00:50:43 | 显示全部楼层
本帖最后由 yongxiangu 于 2014-4-19 00:52 编辑
mypsddhm 发表于 2013-12-28 17:11
1. Vbg = 1.25V, 这是参考输出电压, 是内部稳压管的基准; AVDD是模拟参考电压, 是模数转换的基准.
2. 没有 ...


没有Count=Count^0x800000的情况下:
-20mV    ~   -1mV   ~   0mV    ~   20mV
0x800000   0xffffff   0x000000   0x7fffff
有Count=Count^0x800000的情况下:
-20mV    ~   -1mV   ~   0mV    ~   20mV
0x000000   0x7fffff   0x800000   0xffffff

应该是这样吧?补码里0没有两种表示。展开来看,Count=Count^0x800000原来是这个作用。
回复 支持 反对

使用道具 举报

发表于 2014-4-20 12:53:58 | 显示全部楼层
本帖最后由 沧海笑1122 于 2014-4-20 12:58 编辑

第一步:计算修正系数
200G砝码时的采集值:-423826.59

100G砝码时的采集值:-228648.29
修正系数
=100/(-195178.3)=-0.00051235

HX711 hx(9, 10, 128,-0.00051235);

第二步:写入修正后,得到平均偏移-29500。

第三步:写入偏移后。
//对应200G砝码
-420665.00 200.45
-420739.68 200.45
-420689.90 200.44
-420724.90 200.45
-420630.00 200.41
-420716.50 200.43
-420634.90 200.40
-420703.50 200.43

//对应100G砝码
-224957.40 100.13
-224995.70 100.17
-224997.20 100.17
-224958.29 100.14
-224972.79 100.13
-224946.90 100.13


我的问题:为什么一开始的原始读数是负值?我已经排除了接线的错误(对调了A+和A-后,仍然是负值,只不过小写,在千位),我和商家进行了讨论,他建议我
在库中,
-----------------------------------------
把读到的数据 立刻转成原码,去掉 符号
不然 ad读数 有正负  后续处理 很麻烦。
-----------------------------------------
想请教楼主,需要这样处理吗?我看了HX711的库,好像不能直接这样处理。
我使用的库,是您例题里面的库,代码也是一样的。HX711也是浙江那家的,称重传感器是750G量程的。
谢谢。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-4-21 19:32:20 | 显示全部楼层
沧海笑1122 发表于 2014-4-20 12:53
第一步:计算修正系数
200G砝码时的采集值:-423826.59

数据有变化就没问题呗,剩下的就是修正的工作了。至于为什么是负值,这取决于很多因素,传感器的做工偏差,电源的电压,,你接的导线的电阻,电源的波纹等等等等……
回复 支持 反对

使用道具 举报

发表于 2014-4-21 21:28:14 | 显示全部楼层
谢谢您的回复,小秤已经调试完毕(按照您的代码和思路,实现去皮功能、温度补偿(DHT11),精度也满足要求),接上了nokia 5110液晶。我用了一个旧的USB HUB盒子改装为秤体,等组装完毕,上图汇报。
再次感谢。
回复 支持 反对

使用道具 举报

发表于 2014-4-27 02:06:50 | 显示全部楼层
谢谢,不错,学习了。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-4-27 19:44:50 | 显示全部楼层
lilaotou 发表于 2014-4-27 02:06
谢谢,不错,学习了。

谢谢支持~~~~~~~~
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|联系我们|极客工坊 ( 浙ICP备09023225号 )

GMT+8, 2020-9-30 08:17 , Processed in 0.050844 second(s), 24 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表