abbey_tom
发表于 2022-4-22 20:28:00
xjw01 发表于 2022-4-22 18:05
不要剔出,数据是有效的。原理如下:
干扰脉冲的处理:
1.理解时序:
这个分析很细致,
我原以为SCLK应该是与读写时序同步的,
有干扰时只影响本帧数据,
不会位移到下一帧数据去的,
因为我直接使用的是MCU的SPI接口,
没有编写软件的SCLK节拍,
所以应该不会有您这个问题。
xjw01
发表于 2022-4-22 21:41:02
本帖最后由 xjw01 于 2022-4-22 21:45 编辑
abbey_tom 发表于 2022-4-22 20:28
这个分析很细致,
我原以为SCLK应该是与读写时序同步的,
有干扰时只影响本帧数据,
受强干扰时,也会有这个问题的。
因为你的板子用PCB板做的,抗干扰能力强,所以没发现这个问题。
我的spi线,长达15cm以上,而且芯片没有地线层保护。
分体直插元件调式,也有好处,可以排除元件之间的相互影呼,更容易控制误差细节。
比如,可以把热源、噪声源分离出去
黔驴一头
发表于 2022-4-22 22:38:46
去年买了1个原装的和几个淘宝几元的ADS1247,原装的噪声十几个数字,tb的一两百,电路没有做什么讲究的处理。
abbey_tom
发表于 2022-4-23 10:07:48
xjw01 发表于 2022-4-22 21:41
受强干扰时,也会有这个问题的。
因为你的板子用PCB板做的,抗干扰能力强,所以没发现这个问题。
我 ...
我的ADS1220昨天到了,
今天终于折腾出数据了,
这次不是板载STM32,
是分开的板,
SPI线是杜帮跳线。
从初步结果来看,
屏幕上显示的7位数纹丝不动
稳定度比1256好太多了,
手册上应该1220要差,
有可能是我的1256买到次品了或电路设计不佳。
回头我进一步测试噪声效果。
abbey_tom
发表于 2022-4-23 10:10:15
本帖最后由 abbey_tom 于 2022-4-23 12:00 编辑
楼上给出了ADS1220的照片,
内置基准和晶振,
板上只有几个电阻电容,
效果却是出乎意料的好。
观察后补充:
测量值几乎不变化,
就好像始终读的都是上一次测量的值,
但改变输入源(用电位器调整电压),
测量值却能够跟随(测量值也符合23S同步测量的结果),
这是什么毛病?
xjw01
发表于 2022-4-23 12:49:00
abbey_tom 发表于 2022-4-23 10:10
楼上给出了ADS1220的照片,
内置基准和晶振,
板上只有几个电阻电容,
检查是否有丢码问题。
ads1220,手册指标是20bit左右。ads1256大约是24bit,二者相差较大。按理说,ads1220跳得比较多。
slsdz
发表于 2022-4-23 13:05:21
abbey_tom 发表于 2022-4-15 08:31
我是用了中值滤波算法,
取最近9次的测量结果,
去掉3个最高值,
过滤太狠,数据也不真实
abbey_tom
发表于 2022-4-23 14:04:21
xjw01 发表于 2022-4-23 12:49
检查是否有丢码问题。
ads1220,手册指标是20bit左右。ads1256大约是24bit,二者相差较大。按理说,ads1 ...
已经崩溃了,
不像是丢码问题,
因为任何时候,
转换值都能快速地跟随输入源的变化,
并且转换正确。
但当信号不变时转换值就不动如山,
给人的感觉是它有一个噪声滤波器,
在允许的噪声范围内,
数据会保持固定值输出,
信号变化幅度大到一定程度时,
才变化输出数据。
一度我以为睡眠,
我在每次转换前都发复位指令及配置指令,
没有什么改观。
abbey_tom
发表于 2022-4-23 14:26:53
xjw01 发表于 2022-4-23 12:49
检查是否有丢码问题。
ads1220,手册指标是20bit左右。ads1256大约是24bit,二者相差较大。按理说,ads1 ...
程序也没有停留在某个地方,
按照转换速率,
始终能够均匀的读到数据,
并且我已经把所有的软件滤波或剔除数据的功能全部删除了。
xjw01
发表于 2022-4-23 22:33:14
abbey_tom 发表于 2022-4-23 14:26
程序也没有停留在某个地方,
按照转换速率,
始终能够均匀的读到数据,
我没有用过这个芯片,我了不清楚。
这个问题,实际上是丢码了。
xjw01
发表于 2022-4-23 22:35:57
本帖最后由 xjw01 于 2022-4-23 22:47 编辑
abbey_tom 发表于 2022-4-23 14:26
程序也没有停留在某个地方,
按照转换速率,
始终能够均匀的读到数据,
顺便说一下,ads1256对电路要求还是比较高的。你买的那个模块,要实现手册指标有点难。因为那块板上的元件可能不达标。
我的电路,已经达到手册指标了。
我把调试结果附上:
abbey_tom
发表于 2022-4-24 08:08:51
本帖最后由 abbey_tom 于 2022-4-24 09:14 编辑
xjw01 发表于 2022-4-23 22:33
我没有用过这个芯片,我了不清楚。
这个问题,实际上是丢码了。
谢谢,问题已经解决了。
确实没有丢码。
但其实是相当低级的错误。
沿用了TI官方例程中的一段,
ADS1220code = (((long)tempData << 16) + ((long)tempData << 8) + (long)tempData) >> 10; // take 3 bytes of voltage returned and place in word
出于对TI的绝对信任,这一句没有仔细看,
后来发现夹在英文注释中多了一个>>10
这样相当于舍弃了低10位,
如果是正值的话,数值缩小了1024倍
又因为约为1000倍,使得恰好是uV与mV之间的倍率,
显示值与23S没有差,
于是就没有怀疑转换数值的正确性,
把DEBUG的精力集中在时序相关。
xjw01
发表于 2022-4-24 15:25:49
abbey_tom 发表于 2022-4-24 08:08
谢谢,问题已经解决了。
确实没有丢码。
但其实是相当低级的错误。
ads1220有哪些优势?
abbey_tom
发表于 2022-4-24 15:56:09
本帖最后由 abbey_tom 于 2022-4-24 16:01 编辑
xjw01 发表于 2022-4-24 15:25
ads1220有哪些优势?
在精度等方面,
1220确实没有优势,
从我实测结果来看,
1220的噪声峰峰大概在10uV以内的量级(PGA=4、20Sps)
经过滤波后可达到5uV以内。
其实也是符合我的预期的。
测量100mV以内的信号,
精度可在100.00,
尾数最大一个字的跳动。
要说它的优势,
就是外围电路简单,
自带时钟及基准。
abbey_tom
发表于 2022-4-24 16:00:32
本帖最后由 abbey_tom 于 2022-4-24 16:55 编辑
xjw01 发表于 2022-4-23 22:35
顺便说一下,ads1256对电路要求还是比较高的。你买的那个模块,要实现手册指标有点难。因为那块板上的 ...
非常不错,
您这个如果打板的话,
把PCB文件给我分享一下,
我也搞一块验证一下:) 。
页:
2
3
4
5
6
7
8
9
10
11
[12]
13