adc芯片手册没有找到支持单次采样与连续采样模式的寄存器,是所有种类的模式都支持这2种采样模式,只是受程序控制?
读取10KNTC温度传感器,配置39K采样电阻常温下有周期性波动,使用外部参考电压源,50uA电流源,PGA为1,DR = 80 SPS,会有大概10秒的周期不定期波动,这种抖动应该可以排除是外部原因,想问问是不是配置问题造成的,还是电路原因造成的
你好,我使用四线PT100测温,使用ADS1247,用100欧姆,5ppm,0.01%的电阻模拟,看测得的电阻是否正确.恒流源为500uA,PGA增益8,
出现的问题是有一个恒定的误差,本来测得的电阻应该在99.99-100.01欧姆之间.但实际测得的电阻永远在100.28-100.29之间徘徊.
不知道是否万用表的关系,VrefOut测得的电压是:2.043V,
void ADS1247_Init(void)
{
// unsigned char i=0…
这是spi初始化:
void InitSpi2(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
SPI_InitTypeDef SPI_InitStructure;
RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOB, ENABLE);//使能GPIOB时钟
RCC_APB1PeriphClockCmd(RCC_APB1Periph_SPI2, ENABLE);//使能SPI2时钟
基于ADS1247芯片,按照TI官方的TIPD120参考设计,链接如下TIPD120 参考设计 | 德州仪器 TI.com.cn
以下为我的原理图
以下为我的寄存器配置
首先
通过SPI对寄存器进行读写命令是正常的,且读出的数据是我所写入的数据值;
但是接上PT100传感器后,通过SPI通讯读得数值为0x7FFFFF;
测量发现:VCC为3.29V,VREFOUT与VREFCOM之间为2…
上边是原理图,芯片一直没有恒流源的输出,转换标志DRDY脚的电平变化正常,但是数据跳动幅度较大。VCC和VCC_A不是同一个电源供电,都是3.3V。START脚接高电平,CLK引脚接地。请用过的朋友帮助看一下,因为恒流源设置的是1毫安电流,参考电阻正常应该有1.6V左右的电压,但是一直测不到电压,是电路有问题导致的芯片没有工作吗,着实弄不懂了。
附上我的代码:
最近使用ADS1247做PT100温度检测,设计测温范围为-20~220左右
电流源选取250uA,Rbias=3K,则参考电压为1.5V,Rcomp=140Ω
做好程序以后,读取的温度误差很大,比正常温度高5度,每次上电对AD进行校准,下面是图纸以及程序,请问不准的原因是什么
void ADS_Init(void)
{
WriteReg_S((Reg_MUX0…
目前我是写一个寄存器就读该寄存器的值,利用示波器查看,单片机SPI有发送数据给ADS1247,但是ADS1247发回的数据都为0xFF,那样表明通讯不正常,请问有无其他比较好的方法去验证是否通讯正常?SPI总线通讯是SCL空闲是低电平,在下降沿时采样!谢谢!
AIN2激励电流输出,输出电流给一个10欧电阻供电,采用内部基准。通过AIN0和AIN1采集10欧电阻两端电压,电压值从800000变到9xxxxx再到axxxxxx再到0xxxxxx最后变成7fffff就不变了。放大倍数16倍,激励电流500uA。为什么采集的电压会一直变动啊?测量内部基准为2.03V激励电流实测504uA。
如题,谢谢!
如题:请问会是啥原因,谢谢!
如题,谢谢!
目前寄存器的值还是无法读取,但是已经能够采集数据,改变寄存器配置的值,采集数据也有变化,所以我觉得寄存器的值已经写进去了
我现在用ads247 AIN1=GND,AIN2为模拟信号输入,当AIN2输入为0,也就是接地时采集数据位1A7000(低16位数据一直变化),当输入为1.6V时为7FFFFF,PGA=1,可我要求的范围是0---2.5V,该怎么调增寄存器,我试了好多次值都不行,当为0时采集的数据比1A7000还大…
AINN=1.23V AINP=1.30V PGA = 4 ,采集出来数据满量程 。
R BIAS= 820欧姆,输入信号PT100,输入100欧姆。
电路照手册上抄的。
设备出厂好的,在现场用了几天就这样了。别的寄存器读出来都是好的。
请各位大神帮忙分析下原因,谢谢!
ads1247 长时间断电后, 再次上电, 开始的一段时间读出来的AD值不对! 连续断电 上电 就没有这样的问题存在!
ADS1247采用内部基准,请问MUX1 寄存器如何配置
BIT7 BIT6 BIT5 BIT4 BIT3 BIT2 BIT1 BIT0
CLKSTAT VREFCON1 VREFCON0 REFSELT1 REFSELT0 MUXCAL2 MUXCAL1 MUXCAL0
寄存器REFSELT…
初始化函数
void ADS1247_init(void) { SPI2_Config(); Delay_ms(2); START_HIGH; Delay_ms(2); CS_LOW; Delay_ms(2); RESET_HIGH; Delay_ms(2); while(GPIO_ReadInputDataBit(GPIOD, GPIO_Pin_8) …
花了好多时间终于调通了ADS1247,但是突然发现转化结果不对,在室温下pt100的阻值是112.2欧姆,但是我用读取到的结果转化后只有89欧姆,
我的电流源选取1mA,Rbias=820,则参考电压为1.64V,增益为4,计算公式为Data*1.64/0x7fffff*1000/4,得到的。电路用的是ti官方的电路,求助啊