您好,
我们正在使用ADS1248测量热电偶,并且系统和自偏移校准产生了一些奇怪的结果。
当使用SELFOCAL命令执行自偏移校准时,我们得到的偏移值大约为-15到-17微伏。
但是,当我们通过将0V差分输入应用到输入引脚来执行系统校准时,我们会根据我们使用的输入来测量(4096个测量值的平均值)- 6.851 到9.421 的偏移。
我们还提升了ADS1248的引脚,然后测量-1至-3微伏的偏移。
我们很难解释校准中的这些差异,因此我们不确定我们是否正确地进行了所有操作。
我们的原理图:
和7100_7400_热 电7400 电偶输入部件:
以及用于自偏移校准的代码:
Int32_t DRV_ADS1248_SelfOffset (void)
{
UINT8_t writeBuffer[3]={0};
UINT8_t readBuffer[3]={0};
UINT32_t preExtended = 0;
Int32_t已扩展 = 0;
数据就绪 =假;
//清除偏移寄存器
writeBuffer[0]= 0x00;
writeBuffer[1]= 0x00;
writeBuffer[2]= 0x00;
DRV_ADS1248_WriteReg (ADS_OFC0_offset,writeBuffer,readBuffer,3);
//将FSC设置为0x40万
writeBuffer[0]= 0x00;
writeBuffer[1]= 0x00;
writeBuffer[2]= 0x40;
DRV_ADS1248_WriteReg (ADS_FSC0_OFFSET,writeBuffer,readBuffer,3);
//开始自偏移校准
DRV_ADS1248_WriteCmd (ADS_SELFOCAL);
while (!dataReady);
//读取校准结果
DRV_ADS1248_ReadReg (ADS_OFC0_OFFSET,readBuffer,3);
PreExtended =(readBuffer[2]<<16 | readBuffer[1]<8 | readBuffer[0]);
扩展= 0;
//如果位ADC_SIGK_BIT为1,则扩展符号,否则复制
IF (预扩展>> 23 == 1)
{
扩展= preExtended |(0xFF <<24);
}
否则
{
Extended = preExtended;
}
//返回扩展ADC值
回车时间延长;
}
我们想知道为什么我们在系统偏移校准和自偏移校准方面遇到如此大的差异(对于热电偶而言,这是很大的差异)