主题中讨论的其他器件: ADS1220、 ADS131M02
工具与软件:
您好!
我目前使用的是 ADS1115 ADC 和 STM32f4、在我的项目中使用 CT 传感器测量交流负载上的电流变化。 使用单端模式时、我遇到 ADC 读数波动、但在差分模式下读数是稳定的。 下面是我的配置和问题的详细信息:
配置:
我需要在连续模式下运行 ADC、而不是在单次模式下运行、因此在 ALERT/READY 引脚中使用转换就绪信号、我正在读取存储在转换寄存器中的值。 根据数据表中的信息、我将 High_THRESHOLD 寄存器 MSB 设置为1 (我写入的值为0x8000)、将低阈值寄存器 MSB 设置为0 (我写入该寄存器的值为0x0000)
-
ADS1115设置 :
- OS 位: 0 (未在进行转换)
- MUX[14:12] :
- 对于差分模式(我使用以下内容进行了检查):
001
:AINP=AIN0、AINN=AIN3010
:AINP=AIN1、AINN=AIN3011
:AINP = AIN2、AINN = AIN3
- 对于单端模式:
100
:AINP=AIN0、AINN=GND101
:AINP=AIN1、AINN=GND110
:AINP=AIN2、AINN=GND111
:AINP=AIN3, AINN=GND
- 对于差分模式(我使用以下内容进行了检查):
- FSR : 用2.048V 和4.096V 校验、用于转换 ADC 值的公式为: 电压 =((ADC_value * FSR * 1000)/ 32768);
- 数据速率 :128SPS
- 比较器模式 :零
- 比较器极性 :一个
- COMP_QUE :设置为00 (无比较器)
-
"Hardware Setup" :
- VDD :5V 连接至 ADS1115
- 接地 :所有组件(ADS1115、STM32微控制器和分压器)之间的共同接地
- 用于测试的输入电压 : STM32微控制器的3.3V 电压,使用分压电路(两个电阻,每个1kΩ)降压至1.651V。
- 测试信号 :使用万用表验证输入电压为1.651V。
观察结果:
-
单端模式下的波动 :
- 向输入(AIN0)施加1.651V 电压时、会观察到 ADC 读数的波动。 这些值不是恒定的、在不同的时间在1.601V、1.624V 和1.532V 等范围内变化。 我很难预测变化。
-
偏移读数 :
- 使用0V 输入检查 ADC 值(测量失调电压)时、会出现负值波动、如-0.101V、-0.92V 和-0.27V、在不同的时间。 这些值是不一致的、因此很难校准失调电压误差。
-
差分模式下的稳定读数 :
- 当 I 切换到差分模式(AINP = AIN0、AINN = AIN3)时、ADC 显示稳定且正确的读数:施加输入电压时为1.653V、通过连接0V 测量失调电压时为0V。
问题:
- 为什么在单端模式下观察到这些波动?
- 什么可能导致单端模式下的失调电压误差、如何纠正这些误差?
- 与差分模式下的稳定读数相似、是否有办法稳定单端模式下的 ADC 读数?
- 如何在应用中添加适当校准的失调电压值?
非常感谢您提供有关如何解决此问题的任何帮助、建议或指导!
- 当 I 切换到差分模式(AINP = AIN0、AINN = AIN3)时、ADC 显示稳定且正确的读数:施加输入电压时为1.653V、通过连接0V 测量失调电压时为0V。