Other Parts Discussed in Thread: ADS1219
你(们)好
我有一个使用 ADS1219制造的原型、其电路如下。 我尝试使用 TI 运算放大器、但由于不可用、我使用了 MCP6V02。 无论是否使用气体传感器、我都会在 ADC1219上获得相同的读数。 气体传感器连接到 AIN1。 请帮助我解决此问题。
AIN0:1.02438 | AIN1:1.02438 | AIN2:1.02438 | AIN3:1.02438
请单击链接查看原理图

此致
Vijay
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Other Parts Discussed in Thread: ADS1219
你(们)好
我有一个使用 ADS1219制造的原型、其电路如下。 我尝试使用 TI 运算放大器、但由于不可用、我使用了 MCP6V02。 无论是否使用气体传感器、我都会在 ADC1219上获得相同的读数。 气体传感器连接到 AIN1。 请帮助我解决此问题。
AIN0:1.02438 | AIN1:1.02438 | AIN2:1.02438 | AIN3:1.02438
请单击链接查看原理图

此致
Vijay
我已经验证了 ADC 处的 VREF。 它是2.048V +/- 0.01V。 运算放大器输入端的 VREF 也是相同的。 我正在使用 Arduino 库。 目前、配置为单次触发、增益1、20SPS、外部 VREF。 根据传感器制造商的说法、没有传感器的读数被视为零读数。 当我添加传感器时、我应该使用传感器从读数减去零读数。 但问题是、无论是否使用传感器、读数都没有变化。 我在没有传感器的情况下获得的电压是正确的、但当我添加传感器时、它应该会改变。 请在以下来自传感器制造商的交谈记录。

我最近购买了一台示波器,但我仍然需要弄清楚如何使用它。
您好 Bob
看起来电路板工作正常。 在代码中添加2秒的延迟、同时在通道之间切换可解决问题。 但是、我想知道 在通道之间切换所需的最短时间是多少。 下面是部分代码。
serial.println (ads.readSingleEnd (0)*2.048/pow (2、23),5);
延迟(2000年);
serial.println (ads.readSingleEnd (1)*2.048/pow (2、23),5);
延迟(2000年);
此致
Vijay
您好、Vijay、
除非通信非常慢和/或传感器测量之间有大量模拟稳定时间、否则您不必等待2秒。 当在20sps 时使用单次模式时、转换在 START/SYNC 命令被锁存时开始。 命令在 SCL 的第8个下降沿锁存。 实际转换时间在 ADS1219数据表的第19页的第8.3.6节中列出。 当您使用单次模式时、除了表4下的注释1所述的 ADC 转换时间外、还将有一个内部振荡器28us 启动时间。 在20sps 输出数据速率下、总转换时间大约为最大50.04ms。
如果您更改多路复用器设置并发出 START/SYNC 命令、则需要考虑完成此通信所需的全部时间。 不清楚 SCL 时序频率是多少、但即使它很慢(例如1kHz)、也不应仅基于 ADC 就需要这么长的时间。 我建议使用示波器或逻辑分析仪监控通信、以确定通信为何看起来如此缓慢。
此致、
Bob B
我认为通信速度没有任何问题、因为我能够在同一电路板上快速读取 BME680中的值、而不会出现任何此类问题。 但是、我将对此进行仔细检查并告知您。
我所面临的另一个问题是、我使用板载传感器获得非常高且不稳定的读数(UV)。

如果没有传感器、读数在1.024V 左右时会非常稳定、这符合预期。 我已获取10分钟的平均读数并将其应用到通道中、没有传感器的读数持续为0 +/- 0.00001左右。
#define AIN0_Zero 1024400 // UV
#define AIN1_Zero 1022210
#define AIN2_Zero 1023590
#define AIN3_Zero 1024720
我将为该电路使用2.048V 外部电压基准。 我不确定是否应该使用7.1中提到的有效分辨率19.63 (17.66)、并将代码从更改为
(ADC 读数 x 2.048 / 2 ^ 23)- AIN0_Zero (根据8.2.2)
更改为
(ADC 读数 x 2.048 / 2 ^ 18.63)- AIN0_Zero (根据7.1)
如何知道 PCB 中 ADC 的实际分辨率是多少? 我应该让硬件工程师检查 PCB 中的哪些参数、以获得适合读数的分辨率? 另请告诉我8.2.7中提到的 ADC 校准过程。
此致
Vijay 博士
您好、Vijay 博士、
如果您的读数在没有传感器的情况下一致、但与传感器不一致、您如何确定 ADC 存在问题?
您无法根据数据表表表表1中给出的20SPS 增益为1的19.71uV P2P ADC 的基极噪声进行改善。 因此、噪声远高于+/-4uV 的典型偏移、而偏移校准只会校准噪声。 我建议尝试进行偏移校准(8.3.7)。
至于确定 ADC 结果、您可以通过将结果截断为许多客户将执行的特定位数来消除测量中的 ADC 噪声。 但是、有效分辨率(RMS)仍会在结果中包含噪声、因此您应该根据峰-峰值噪声使用无噪声分辨率。 不过、这只会降低 ADC 结果相对于 ADC 的噪声、而不会降低系统噪声。
如果您在没有传感器的情况下看起来效果良好、我怀疑真正的问题是 ADC 之前的系统、而不是 ADC。 根据所使用的运算放大器、您可能会遇到一些稳定性问题、其中可能包括振荡。 我强烈建议您使用示波器来验证系统的噪声和稳定性以及噪声和稳定性与返回的 ADC 代码值之间的关系。
此致、
Bob B