lklhzu 发表于 2014-4-8 13:55:02

hx711读取的AD值与重量的对应关系处理?

本帖最后由 lklhzu 于 2014-4-8 13:57 编辑

用hx711连接称重传感器,求读取的AD值与重量之间的关系,有以下两种方法:
1、用砝码标定。将不同AD值下对应的砝码质量做好对应,取多个点做出曲线图,单片机根据采样的AD值结合曲线方程进行计算。
2、根据称重传感器的激励电压、灵敏度、量程计算。满量程输出电压=激励电压*灵敏度,重量与AD值得关系为:重量=AD数据对应的电压值*(满量程重量/满量程输出电压)
请问大侠们用的哪一种啊?

lyhfdz 发表于 2014-4-9 15:46:05

重量=AD数据对应的电压值/1g量程输出电压,这样应该更简单吧。

lklhzu 发表于 2014-4-13 23:02:16

lyhfdz 发表于 2014-4-9 15:46
重量=AD数据对应的电压值/1g量程输出电压,这样应该更简单吧。

嗯,也可以的,看有个教程上要根据激励电压、灵敏度、量程计算,其实拿个砝码一标会更简单,不知道那两个方法哪个更精确。

tragedy 发表于 2014-4-13 23:35:35

帮别人搞得毕设,用的第一种。

让爱随风 发表于 2014-4-13 23:59:54

用过第一种方法,效果还不错

lklhzu 发表于 2014-4-14 08:26:13

让爱随风 发表于 2014-4-13 23:59
用过第一种方法,效果还不错

问下哈,你当时标定了几组点?

marshallemon 发表于 2014-4-14 12:58:40

HX711貌似这AD的短期稳定性还可以,长期稳定性真不怎样

touch_mcu 发表于 2014-4-14 13:26:47

第一种,,,

让爱随风 发表于 2014-4-14 13:55:37

lklhzu 发表于 2014-4-14 08:26
问下哈,你当时标定了几组点?

当时传感器是150KG的,标定了4组,20/50/100/150,每个区间单独计算的

lklhzu 发表于 2014-4-14 17:55:24

让爱随风 发表于 2014-4-14 13:55
当时传感器是150KG的,标定了4组,20/50/100/150,每个区间单独计算的

嗯,不错,我也试一下,谢谢你哈。

jasminee 发表于 2014-8-31 15:30:36

楼主大人,用过第二种的办法吗。。。我没有砝码,取点好不方便。。还有就是HX711可以用于3.3V吗

lklhzu 发表于 2014-9-5 09:00:28

jasminee 发表于 2014-8-31 15:30
楼主大人,用过第二种的办法吗。。。我没有砝码,取点好不方便。。还有就是HX711可以用于3.3V吗 ...

我用的第一种方法,随便拿个物体,然后用电子称称一下重量,就可以把这个东西当砝码用。
HX711工作电压2.6V-5.5V。

jasminee 发表于 2014-9-23 16:17:03

lklhzu 发表于 2014-9-5 09:00
我用的第一种方法,随便拿个物体,然后用电子称称一下重量,就可以把这个东西当砝码用。
HX711工作电压2. ...

楼主大人,我试过那种方法咯,确实也可以得到,但是为什么隔了一段时间,711得到的值就变得超大的= =
能把你的711驱动程序发给我看看吗?count=count^0x800000这一句我还是不懂需不需要,看其他帖子楼主大人有同问过。。谢谢

jasminee 发表于 2014-10-13 15:43:34

楼主大人我又来咯,可不可以麻烦你贴一下你从HX711获取AD值的程序啊~跪谢啊!!!

lklhzu 发表于 2014-10-13 17:35:59

jasminee 发表于 2014-10-13 15:43
楼主大人我又来咯,可不可以麻烦你贴一下你从HX711获取AD值的程序啊~跪谢啊!!! ...

程序很简单,就是文档里面自带的那个。
我想你是卡在下面了吧!

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

jasminee 发表于 2014-10-13 20:09:29

lklhzu 发表于 2014-10-13 17:35
程序很简单,就是文档里面自带的那个。
我想你是卡在下面了吧!



这个是什么意思啊?求解~
我没用那句,我用的这句:
if((count& 0x800000) == 0x800000)
        {
                count= ~(count - 1);         //这里是由补码求出其除符号位的原码的计算。
        }   
   return (count);            

我不懂Count=Count^0x800000这句的意思,如果得到是负数的话,这句也只是把补码的最高位换过来了,并没有把后面的取反换成原码啊~
求指点~~~

lklhzu 发表于 2014-10-14 09:24:47

jasminee 发表于 2014-10-13 20:09
这个是什么意思啊?求解~
我没用那句,我用的这句:
if((count& 0x800000) == 0x800000)


你这个没用过,用的Count=Count^0x800000

jasminee 发表于 2014-10-14 14:50:24

lklhzu 发表于 2014-10-14 09:24
你这个没用过,用的Count=Count^0x800000

请问为什么我用了这句,在称重时得到的数值比无负载时的还要小啊

jasminee 发表于 2014-10-14 16:20:33

那个正负20mv的电压是不是在A+ ,A-端可测量啊

lklhzu 发表于 2014-10-14 17:08:03

jasminee 发表于 2014-10-14 16:20
那个正负20mv的电压是不是在A+ ,A-端可测量啊

可以!!!

jasminee 发表于 2014-10-14 19:14:45

lklhzu 发表于 2014-10-14 17:08
可以!!!

谢谢~~~~~~~

ApexUSB 发表于 2014-11-8 17:27:24

正在研究中,感觉有时噪声挺大的,我用的是十点滑动滤波(抛弃最低和最高点)
页: [1]
查看完整版本: hx711读取的AD值与重量的对应关系处理?