打印
[放大器-信号链]

关于称重传感器和AD的计算求助

[复制链接]
3100|15
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 Elric_QZH 于 2016-1-10 16:27 编辑

最近在做称重计算的时候遇到了问题,特来求助。问题1:


传感器输入的是差分信号,为什么满量程的1100.8mv要按照550.5mv计算呢?
问题2:使用AD读出来的数据跳动很大,我怎么才能知道这个读出来的数据精度是多少呢?传感器不放任何东西,得出来的数据如下

使用24位的AD,HX711读出的数据如下:

0016363484
011110011010111111101010
0016363498
011110011010111111101100
0016363500
011110011011000000100010
0016363554
011110011011000000000011
0016363523
011110011011000000111010
0016363578
011110011011000000001011
0016363531
011110011011000000111101
0016363581
011110011011000001011100
0016363612
011110011011000001110001
0016363633
011110011011000001111010
0016363642
011110011011000001011101
0016363613
011110011011000001110110
0016363638
011110011011000001001001
0016363593
011110011011000001000011
0016363587
011110011011000001110011
0016363635
011110011011000011000010
0016363714
011110011011000010101001
0016363689
011110011011000010000010
0016363650
011110011011000010000000
0016363648
011110011011000010110100
0016363700
011110011011000010101100
0016363692
011110011011000001010010
0016363602
011110011011000010000011
0016363651
011110011011000010001100
这个误差是不是很大呢?

相关帖子

沙发
Elric_QZH|  楼主 | 2016-1-10 16:04 | 只看该作者

使用特权

评论回复
板凳
玄德| | 2016-1-10 18:37 | 只看该作者

1、可否把原始文档传上来?百度要下载券。

2、看你读数,最小值是01行 0016363484,最大值是33行 0016363714
    二者相减,差值为 230 等效于 8位。故有效数据的等效位数为 24 - 8 = 16 位。
    感觉还不错。

    也许可以做更好,和测试方法,外围电路、PCB都有关系了。



使用特权

评论回复
地板
玄德| | 2016-1-10 18:40 | 只看该作者

我看到的文档,居然没有电压与输出码的对应关系。

使用特权

评论回复
5
Elric_QZH|  楼主 | 2016-1-10 18:41 | 只看该作者
关于第一个问题,知道了,丫书写错误,我去

使用特权

评论回复
6
airwill| | 2016-1-10 21:18 | 只看该作者
跳动不算大. 电源基准包括其它器件的噪声的因素足够引起这么大波动
可以考虑使用滤波算法来平滑掉它

使用特权

评论回复
7
markhwa| | 2016-1-10 22:16 | 只看该作者
要看该最大变动对应的称重误差是否满足你的设计要求。按你的数据推算,满量程大约160kg,24bit最高精度对应0.02g,16位精度大约对应8g。

使用特权

评论回复
8
haolaishi| | 2016-1-11 09:07 | 只看该作者
怎么个运算公式各位能否讲一下呢?

使用特权

评论回复
9
玄德| | 2016-1-11 10:56 | 只看该作者
haolaishi 发表于 2016-1-11 09:25
资料上传了,这是网络找到的一个资料。


需要这个芯片的官方pdf手册。

输入电压与输出码的对应关系,同时也是你要的运算公式,手册里一定会有。



使用特权

评论回复
10
haolaishi| | 2016-1-11 11:07 | 只看该作者
玄德 发表于 2016-1-11 10:56
需要这个芯片的官方pdf手册。

输入电压与输出码的对应关系,同时也是你要的运算公式,手册里一定会有。

ADS1230官方手册
ads1230.pdf (854.34 KB)

ADS1230REF User's Guide.pdf (1006.68 KB)



使用特权

评论回复
11
haolaishi| | 2016-1-11 11:16 | 只看该作者
本帖最后由 haolaishi 于 2016-1-11 21:55 编辑

这个是我接ADS1230读取到的数据:
数据从串口发出,第一行是二进制,第二行位10进制
00000100101010011010
0000019098
00000100101010011000
0000019096
00000100101010010111
0000019095
00000100101010010110
0000019094
00000100101010011000
0000019096

使用特权

评论回复
12
玄德| | 2016-1-11 11:22 | 只看该作者



1230手册,p13,table 4就是。

把右侧二进制数统统加上0x8000,无视溢出位,就能看明白了。






使用特权

评论回复
13
haolaishi| | 2016-1-11 14:45 | 只看该作者
玄德 发表于 2016-1-11 11:22
1230手册,p13,table 4就是。

把右侧二进制数统统加上0x8000,无视溢出位,就能看明白了。

现在发现几个问题:
1.为什么20位的AD可是手册TABLE4上面是(2的19次减1)
2.我如果按照前面的0.5×5V(2的19次减1)=262144。可是TABLE4说≤-0.5Vref/增益,
  ≥+0.5Vref/增益,这个是什么意思呢,还是有点看不明白。
3.按照上面您说的那个加上0X8000在右边,可是出来的数字。我实在看不出和这些有什么关系。
    您帮看看谢谢了。

使用特权

评论回复
14
玄德| | 2016-1-11 15:20 | 只看该作者
本帖最后由 玄德 于 2016-1-11 15:26 编辑
haolaishi 发表于 2016-1-11 14:45
现在发现几个问题:
1.为什么20位的AD可是手册TABLE4上面是(2的19次减1)
2.我如果按照前面的0.5×5V(2的 ...

1、正范围与负范围总共占用20位,所以各自要算19位。

2、0.5v是芯片的满量程,0.5/G 等于你的输入信号电压。
    只要0.5/G相等,得到的代码就相同。人家这样写法很“妙”的;否则,要根据G值写好几个表格才能说明问题。
    如果再不明白,就把G用64或者128代入;甚至直接视G为 1 。
   
3、先看懂0和正值,输入电压与代码的关系。




使用特权

评论回复
15
haolaishi| | 2016-1-11 23:29 | 只看该作者
玄德 发表于 2016-1-11 15:20
1、正范围与负范围总共占用20位,所以各自要算19位。

2、0.5v是芯片的满量程,0.5/G 等于你的输入信号电 ...

我算出来是包含噪声位的。所以最大确实读到268865左右的一个最大数值。而实际真正能使用的其实不是20位,经过软件滤波加一位是17.5+1=18.5位。所以就有了下面的有效位无噪声数据为的最大AD数值95058 。




[1048576(2的20次)]除以[5V*1000(5000mV)]=209.7152 AD/mV
AD增益为128,满载10mV代表AD值:
209.7152 AD/mV×10mV×128=268435.456 AD


使用特权

评论回复
16
Elric_QZH|  楼主 | 2017-11-25 09:40 | 只看该作者
都一年多了,时间过得真快,我居然没什么进展。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

20

主题

133

帖子

0

粉丝