微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 硬件电路设计 > TI模拟硬件电路设计 > ADS1130读取的数据与实际值对应不上的问题

ADS1130读取的数据与实际值对应不上的问题

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

您好以上是我PT100采集与ADS1130的电路图

 uint32_t ADS1130_Read(void) //ÔöÒæ128
{
unsigned long count; 
unsigned char i; 
// nrf_gpio_cfg_output(DIO);
// nrf_gpio_pin_set(DIO);
//nrf_gpio_cfg_input(DIO,GPIO_PIN_CNF_PULL_Disabled);
  GPIO_ResetBits(ADS1130_SPEED_PORT,ADS1130_SPEED_PIN);
GPIO_SetBits(ADS1130_PDWN_PORT,ADS1130_PDWN_PIN);

GPIO_ResetBits(ADS1130_SCLK_PORT,ADS1130_SCLK_PIN);
// delay_us(10);
  // ADS1130_SCK=0; 
   count=0; 
  while(GPIO_ReadInputDataBit(ADS1130_DIO_PORT,ADS1130_DIO_PIN)==1); 
   while(GPIO_ReadInputDataBit(ADS1130_DIO_PORT,ADS1130_DIO_PIN)==0); 
 delay_us(10);
   for(i=0;i<24;i++)

GPIO_SetBits(ADS1130_SCLK_PORT,ADS1130_SCLK_PIN);
  // ADS1130_SCK=1; 
   count=count<<1; 
delay_us(1);

GPIO_ResetBits(ADS1130_SCLK_PORT,ADS1130_SCLK_PIN);
// ADS1130_SCK=0; 
if(GPIO_ReadInputDataBit(ADS1130_DIO_PORT,ADS1130_DIO_PIN))
{
count++; 
// nrf_delay_us(1);
}
delay_us(1);

delay_us(100);
GPIO_SetBits(ADS1130_SCLK_PORT,ADS1130_SCLK_PIN);
 // ADS1130_SCK=1; 
count>>=6;
delay_us(100);
GPIO_ResetBits(ADS1130_SCLK_PORT,ADS1130_SCLK_PIN);
// ADS1130_SCK=0;  
GPIO_SetBits(ADS1130_PDWN_PORT,ADS1130_PDWN_PIN);
return(count);

上面是我读取ADS的程序,根据现在的电路,我测试AINP与AINN的电压差为0.014v的时候读取的值是23584,但是理论计算值 0.014v对应输出大概是  0.014*64 *131071/ 1.65 = 71175 芯片自带64倍的放大 18位差分;其他输入值也对应不上,测试到0.7V

左右达到正向满量程,与理论值差距很大,按照计算输入0.025就已经达到满量程了,请攻城狮们帮忙看看啥问题,花了不少时间了,谢谢

有可能是共模输入电压不满足要求。适当改一下两个桥臂的电阻阻值。

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

网站地图

Top