微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 硬件电路设计 > TI模拟硬件电路设计 > ADS1115不是连续变化的 怎么回事

ADS1115不是连续变化的 怎么回事

时间:10-02 整理:3721RD 点击:

我用ADS1115 采集电压   反应不灵敏  它不是连续变化的     还有参考电压怎么配置

你好,

请问所需采集的电压最大频率是多少?ADS1115的Config Register 配置是怎么样的?

能否上传一下你的测试数据?

ADS1115的参考电压是内部固定的,配置PGA即可以配置满量程输入电压范围,具体请参考数据手册13页Table 3. PGA Gain Full-Scale Range。

我给的电压是固定的   实际1.218V   采到的是1.215       实际1.484   采到的是1.455     实际是0.951    采到的是0.959  ……  采到的值是我经过换算后得到的

adcx=GetData_ADS1115();      

 LCD12864_DATA3(4,0, adcx);    

 temp=(float)adcx*((float)2048*2/65535);   

 LCD12864_DATA1(3,3,(uint)(temp));

我还发现一个规律    采到的值得mV位只会是1  3  5  7  9       比如只会有0.951  0.955   0.959  0.963  0.967   都是相差4     它不会连续变化    而且实际当中的误差有时不只是4mV偶尔10mV

配置是这样的

void Configure_ADS1115()
{
uchar i=0;
Init_Data[0] =0x90; // 地址 + 写命令(写地址0x90,读地址0X91)
Init_Data[1] =0x01; // 指向配置寄存器
Init_Data[2] =0x54; // 配置字高字节,
Init_Data[3] =0x83; // 配置字低字节,选择转换速率即通信速率
SCL_H;
I2CforADS1115_Start();
for(i=0;i<4;i++)
{
I2CforADS1115_WriteByte(Init_Data[i]);
_NOP();
}
I2CforADS1115_Stop();
}

您好,我怀疑您只读到了数据的高8位,没有读到低8位,你再仔细查查您的程序。

为什么我用ads1115的时候,能写,也能读,但是读的不是0000就是0FFF,呢,不知道为什么

同问,不是0就是满量程,程序是别人给的149的例程,但是下进去没有值 ,寄存器的值和时序应该都是对的。如果你的问题解决了麻烦可以给我一份例程吗,谢谢 609188535@qq.com

yuan wang3

同问,不是0就是满量程,程序是别人给的149的例程,但是下进去没有值 ,寄存器的值和时序应该都是对的。如果你的问题解决了麻烦可以给我一份例程吗,谢谢 609188535@qq.com

个人遇过这个问题,

写/读 Config Register都是对的,

电路配置也都对,

就是读值完全不对,

试到最后是‘换一颗IC’就正常了...

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top