求助:关于ad7124-8的冷端补偿有些问题不明白,希望各位大佬帮忙解惑一下,万分感谢
通道配置方面使用通道3
{0x0C, 0x939D, 2, 1}, /* AD7124_Channel_3 */ //配置1,内部20mV(实际只有18mV) V_20MV_M。与V_20MV_P一同使用,以将20 mV p-p信号施加于ADC.V_20MV_M。与V_20MV_P一同使用,以将20 mV p-p信号施加于ADC。
配置1
{0x1A, 0x01E0, 2, 1}, /* AD7124_Config_1 */ //PGA = 001, REF=REFIN1
关于后续的冷端操作
float Vntc = (1 << AD7124_ADC_N_BITS)/(float)channel_samples[3]*0.0181; //通过对内部20mV测量反推Vntc
int16_t Tntc = Nonlinear_Find_Table(Vntc*1000, (int32_t*)NTC_TABLE, sizeof(NTC_TABLE)/sizeof(int32_t), 1); //计算热电偶冷端温度
int16_t VtckOff = Vtck*1000000 + TC_T_TABLE[Tntc - TC_T_TABLE[0] + 1];
问题1:上边这样拿到ntc的电压转换成对应热电偶的电压加上热电偶对应的热电动势电压,但是计算的冷端补偿误差有点大,不知道这样计算冷端补偿是否正确?
问题2:如果使用热电动势直接拿取对应T型热电偶的温度,然后直接加上ntc对应的温度,存在误差是温度越高误差越大,不知道冷端补偿要如何和热电动势一起工作才能获得正确的电压比对出正确的温度值?
问题3:读内部20mv信号,基准也采用内部基准2.5V(可以配置内部基准从REFOUT输出,测量过,确实比较准),计算得出应该是18.9mv,这个跟上边配置 的内容不是类似吗?但是计算出来的不是18.9mv
|