电路设计论坛
直播中

邹俩珍

7年用户 1032经验值
私信 关注
[问答]

AD7124-8内部温度传感器如何读取,通道配置如何设置呢?

Product Number: AD7124-8
Software Version: 通道配置
现在自己摸索了下,通道配置为: {0x1A, 0x09F0, 2, 1}, /* AD7124_Config_1 */ //PGA = 001, REF=2.50V;
采样处理: tint = (pAd7124_dev[0]->channel_samples[7] - 0x800000) * 10 / 13584 - 2725; //读AD7124内部温度,精度0.5°C
发现温度比芯片表面温度总是低了1.5°C左右,我哪里做错了,请告诉我正常的设置,多谢!

回帖(1)

tulin

2024-7-4 16:45:33
首先,我们需要了解AD7124-8是一款12位、8通道的模数转换器(ADC),具有内部温度传感器。在您的代码中,您已经设置了通道配置,但是可能存在一些问题。让我们逐步检查并解决问题。

1. 通道配置设置:
您提供的通道配置为:{0x1A, 0x09F0, 2, 1}。这个配置看起来是正确的,其中PGA(增益)设置为1,参考电压设置为2.50V。但是,我们需要确保这个配置与您的硬件和需求相匹配。

2. 读取内部温度传感器:
您的代码中使用了以下公式来计算内部温度:
`Tint = (pAd7124_dev[0]->channel_samples[7] - 0x800000) * 10 / 13584 - 2725;`

这个公式看起来有问题。根据AD7124-8的数据手册,内部温度传感器的输出与温度的关系应该是:
`Tint = (pAd7124_dev[0]->channel_samples[7] - 0x800000) * 5 / 32768 - 273.15;`

这里,我们将公式中的10改为5,并将-2725改为-273.15,以获得更准确的温度值。

3. 温度偏差问题:
您提到温度比芯片表面温度总是低了1.5°C左右。这可能是由于以下原因:
- 温度传感器的位置:内部温度传感器可能位于芯片内部,与芯片表面有一定的距离,因此温度可能略有差异。
- 环境因素:周围环境的温度变化可能会影响测量结果。

为了解决这个问题,您可以尝试以下方法:
- 校准温度传感器:通过在已知温度下测量芯片表面温度,然后调整公式中的常数以消除偏差。
- 考虑环境因素:在计算温度时,考虑周围环境的温度变化。

总之,您需要修改温度计算公式,并考虑可能影响测量结果的因素。希望这些建议能帮助您解决问题。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分