你好,最近在调试ADS1115.出现了一下问题:
1、当输入电压低于1.46V以下时,出现了Conversion Register返回值一直保持0x1FFF的问题。Config Register寄存器的写入值为 0x40 0xe3(AINP = AIN0 and AINN = GND ;FSR = ±6.144 V ; 860 SPS );
2、同时出现另外一种现象。当输入电压在3.065V ~ 3.172V 之间时,ADS1115返回值跳变为3.26V并保持不变(此时查看Conversion Register值为0x50FF维持不变)。当电压超过3.172V是,采集又恢复正常。当把Config Register寄存器的写入值修改为 0x42 0xe3( 001 : FSR = ±4.096 V )时,同样在输入电压载2.56V~ 2.58V时,ADS1115返回值跳变跳变至2.89V并保持不变(此时查看Conversion Register值为0x43FF维持不变)。从设置寄存器到等待数据转换完毕的时间设置为200ms~1S区间均对上述现象无影响。
user151383853:
怎么感觉 ADC 不是线性了呢?这个问题好奇怪呀
Amy Luo:
您好,
I2C总线上就挂接了ADS1115 这一个设备吗,查看一下通讯时序图有没有问题呢
user4193918:
回复 Amy Luo:
IIC总线上就此一个设备,时序没有问题。时序有问题的话,在其他输入电压下应该也会出现问题的。目前的感觉像是,在特定的输入电压下,刚好处在ADS1115某一开关量阈值一样,因为此现象只会在特定的输入电压下才会出现。另外,不管FSR设置的是哪一个分辨率量程的,测量范围应该都能到0的吧,不明白为什么下限到0x1FFF就采不到了。论坛上看到过有同样的问题的出现,但是没有给出对应的解决方案,说明应该还是芯片或者对芯片操作的问题。
user4193918:
回复 Amy Luo:
另外,0x50FF,0x43FF,这种ADC值应该和芯片内部逻辑有关系吧。这种ADC值,看着还是挺特殊的,DataSheet上看不到芯片具体的工作原理,烦请TI的工程师们帮忙分析一下。谢谢