电路设计论坛
直播中

手托初梦

10年用户 971经验值
擅长:可编程逻辑 嵌入式技术
私信 关注
[问答]

使用AD7705测量AD8226输出端电压,AD转换结果明显偏低是怎么回事?如何解决?

使用AD8226测量测温端PT100与参考电阻的电压差值,经过2KΩ增益电阻配置仪表放大器增益后,输出端电压在1.25V的基准电压上,该电压输出到AD7705的通道1+端,通道1-端接地,AD7705通道2不使用,+级悬空,-级接地。
AD7705的REFIN+/-端电压为2.5V。时钟源为2.4576Mhz的有源晶振,连接在AD7705 的MCLKIN端。AD7705与主控芯片采用软件SPI方式通信
电路调试时发现,ADC转换结果明显偏低,使用万用表测试AIN1+引脚对地电压为1.669V,而ADC转换结果为0x5A95-0x5AE2附近波动,转换为实际电压为0.88V,明显偏低。
主控芯片对AD7705通道1的时间寄存器的配置参数为0x04,设置寄存器为0x46。即开启了通道自校准,配置了缓冲和单极性,并使能了滤波器。

以前也使用过AD8226输出端直接连接AD7705测量PT100,但当时的方案是AD8226使用双电源供电,AD8226的基准电压端接地,且输入端的信号极性恒为正,当时是可以得到正确的结果的。
本次的电路由于布局没有办法添加负电源,且输入端信号极性存在正负,所以在AD8226的基准电压端加入了1.25V的电压,但发现ADC的输出结果偏低。
信号的通路应该是正常联通的,改变pt100端的温度,通过万用表和ADC的结果都能发现有相应变化,但ADC输出结果偏低的情况没有改变。


                                                                                                                        

回帖(2)

王萍

2025-4-24 14:31:14
软SPI接收数据有错位,修正了就正常了。
举报

贾伟刚

2025-4-27 17:17:19

针对AD7705转换结果偏低的问题,以下是可能的原因及解决方案:




1. 参考电压配置问题



  • 检查点:确保REFIN+/-端电压准确稳定(2.5V)。

    • 用万用表测量REFIN+与REFIN-之间的电压,确认是否为2.5V。

    • 若参考电压由分压电阻生成,检查电阻值是否匹配(如分压电阻温漂、精度不足)。

    • 检查AD7705寄存器设置,确认参考源选择为外部REFIN(默认是REFIN,但需排除其他配置)。





2. 增益设置错误



  • 关键点:AD7705的增益设置需与输入信号范围匹配。

    • AD7705的输入范围由公式 VIN = (CODE × VREF) / (增益 × 2^16) 决定。当前使用2.5V参考电压,若输入电压为1.669V,理论转换值应为:
      CODE = (1.669V × 2^16 × 增益) / 2.5V

      例如,增益=1时,CODE ≈ 0xAA5F;若实测结果为0x5A95(约0.88V),可能是增益被错误设置为2(输入范围变为0~1.25V)。


    • 解决:检查配置寄存器中的增益位(如增益=1时,设置位为000),确保与实际信号匹配。





3. 输入模式配置错误



  • 检查点:确认AD7705通道配置为单端输入模式。

    • 通道1的-端(AIN1-)接地,此时应配置为单端输入模式。若误设为差分模式,可能导致负端电压未正确处理。

    • 解决:检查寄存器中的通道设置字(如单端模式配置位是否启用)。





4. 未使用通道处理不当



  • 风险点:未使用的通道2(AIN2+悬空,AIN2-接地)可能引入干扰。

    • 解决:将未使用的AIN2+引脚接地或固定到中间电平(如1.25V),避免悬空导致噪声耦合。





5. 时钟或滤波器设置错误



  • 关键点:时钟频率与滤波器设置需匹配。

    • AD7705的滤波器寄存器控制输出数据速率和抗混叠性能。若滤波器截止频率过低,可能导致信号衰减。

    • 解决:检查滤波器寄存器设置,确保输出数据速率(ODR)适合当前信号频率(例如,2.4576MHz时钟下,设置ODR=50Hz时,代码值为0x0C)。





6. 校准问题



  • 步骤遗漏:AD7705需在上电或配置变更后执行校准。

    • 解决:初始化时执行自校准(发送校准命令并等待DRDY引脚变低),校准期间避免读取数据。





7. 软件SPI通信错误



  • 潜在问题:时序或数据格式错误导致寄存器配置写入失败。

    • 检查SPI的时钟极性(CPOL)和相位(CPHA)是否符合AD7705要求(需CPOL=1, CPHA=1)。

    • 验证写入寄存器的数据是否正确,例如通过回读寄存器值确认配置是否生效。

    • 注意:AD7705的16位寄存器需先写8位通信字,再写8位数据。





8. 硬件信号路径问题



  • 排查点

    • 用示波器观察AD8226输出端和AD7705的AIN1+引脚波形,确认是否存在噪声或电压跌落。

    • 检查AD8226的增益电阻(2kΩ)是否计算正确,增益公式为 G = 1 + (49.4kΩ / Rg),若Rg=2kΩ,则增益≈25.7,可能导致输出电压超出AD7705的量程(需结合PT100信号范围验证)。

    • 确保AD8226的输出电压未超过AD7705的输入范围(0V~VREF=2.5V),若超过需调整增益或参考电压。





9. 电源与接地问题



  • 检查点

    • 确认AD7705和AD8226的电源电压稳定(如AVDD=3.3V/5V),地线无虚焊。

    • 使用星型接地或单点接地,避免地回路噪声影响小信号。





逐步排查流程



  1. 验证参考电压:测量REFIN+/-是否为2.5V,若偏差较大需检查参考电路。

  2. 回读寄存器配置:通过SPI读取AD7705的时钟、增益、模式寄存器,确认配置与预期一致。

  3. 简化信号输入:暂时断开AD8226,直接给AD7705输入已知电压(如1.25V),观察转换结果是否正常。

  4. 执行校准:重新发送校准命令,等待DRDY信号后再读取数据。

  5. 检查SPI时序:用逻辑分析仪捕获SPI通信波形,确认数据写入正确。




示例修正方案


假设发现增益被误设为2(输入范围0~1.25V):



  1. 修改配置寄存器,设置增益=1(寄存器值0x10)。

  2. 重新校准AD7705。

  3. 读取转换结果,若恢复为1.669V附近(理论CODE≈0xAA5F),则问题解决。




通过上述步骤逐一排查,应能定位并解决AD7705转换值偏低的问题。

举报

更多回帖

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