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.

[参考译文] ADS1220:使用 ADS1220和 STM32H7测量 RTD Pt100 (通过 SPI 连接)

Guru**** 1981085 points
Other Parts Discussed in Thread: ADS1220
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/1362529/ads1220-measure-of-rtd-pt100-with-ads1220-and-stm32h7-over-spi-connexion

器件型号:ADS1220

尊敬的 TI、尊敬的 Angel Rodriguez、

我们正在测试我在上一个问题[1]中提到的电路板 、以通过 RTD 3线 Pt100传感器使用 ADS1220测量精确温度。

1.原理图
在验证了 EVB 和连接到 Arduino MCU 的 cjmcu-1220后、我们使用此原理图。
ADS1220连接到 SPI 总线和 STM32H7 MCU、用于 MOSI/MISO/CK 和 CS/DRDY 通过 GPIO 扩展器连接。


GPIO 扩展器工作正常、我们可以通过配置寄存器的 SPI 与 ADS1220进行通信、并读取输出代码、不过接收到的数据似乎不正确、但硬件连接似乎正常工作

SPI 通信
SPI 线路上的探测似乎正确
D4=、D5=MISO、D6=MOSI、D7=CS


我们可以观察到传入的 MISO 数据、


软件配置
我们目前正在使用以下代码

Fullscreen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <Adafruit_MCP23X17.h>
#include <Protocentral_ADS1220.h>
#include <SPI.h>
#include <atomic>
Adafruit_MCP23X17 mcp;
#define PGA 32 // Programmable Gain, confirm that the same as set_pga_gain
#define VREF 2.048 // Internal reference of 2.048V
#define VFSR VREF/PGA
#define FULL_SCALE (((long int)1<<23)-1)
#define ADS1220_CS_PIN PIN_SPI_SS
#define ADS1220_DRDY_PIN 2
// #define NUM_ADS1220 8
#define NUM_ADS1220 1
SPISettings spi_settings(1000000, MSBFIRST, SPI_MODE1);
Protocentral_ADS1220 ads1220[NUM_ADS1220];
int32_t adc_data;
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX


不过、我们会收到以下数据、

ADS1220 0号差分电压(mV):-1.47
读取:0xFFFD0D28 (-193240)

因此、我想知道电流寄存器配置是否正确以便为三线 RTD 测量检索正确的数据。

我的好!

Zabieru.


[1]: e2e.ti.com/.../ads1220-ads1220-spi-connection-to-stm32h7

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Angel Rodriguez:


    我希望你们做得好。 我们一侧的一些更新

    -我们在 ADS1220上连接了引脚
    AIN3/REFN1 <--> AIN0/REFP0
    有问题2          <--> AIN1
    参考 EVB 设计、
    -我们确实有更好的看我们接收到的输出数据(约~0x2BF66)

    不过、我们在 SPI 测量(10Hz 采样)中存在不稳定情况、某些值接近~0x2BF66、但也会导致更高/更低的值。
    我想知道 AIN 和 REF 引脚上是否缺失滤波器元件、但在测试 cjmcu-1220时、它能产生良好的结果。

    我怎么能解决这种不稳定性? 软件/硬件/寄存器设置?

    此致、
    Zabieru.

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Zabieru:

    很抱歉这么晚才回复。

    我将更深入地探讨这个问题、并很快与您联系。  

    此致、

    天使

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,Angel,

    部分更新、以重点介绍 PT100精确测量。

    供参考的是我们的原理图

    R= alone
    b/W=引脚到一起
    在 Pt100 3线 RTD 传感器上

    1.测量1V 差动工作正常
    我们能够准确测量 AIN0和 AIN1之间的差分电压为1V、并且能够在 SPI 链路上进行稳定测量

    在驱动器中按照以下配置插入3线 PT100时

    ADS1220_CONFIG0_PGA_ENABLE | ADS1220_CONFIG0_GAIN_1 | ADS1220_CONFIG0_MUX_AIN0_AIN1
    ADS1220_CONFIG1_BCS_OFF | ADS1220_CONFIG1_TS_DISABLED | ADS1220_CONFIG1_CM_SINGLE_SHOT |ADS1220_CONFIG1_MODE_NORMAL | ADS1220_CONFIG1_DR_45_SPS
    ADS1220_CONFIG2_IDAC_250UA | ADS1220_CONFIG2_PSW_OPEN | ADS1220_CONFIG2_FILTER_NONE | ADS1220_CONFIG2_VREF_EXTERNAL0
    ADS1220_CONFIG3_DRDYM_ONY_DRDY | ADS1220_CONFIG3_I1MUX_AIN2 | ADS1220_CONFIG3_I2MUX_AIN3

    我得到0xFExxxx 输出代码而不是0x2Bxxx (100欧姆参考值)

    可能我在配置中或线路中丢失了某些信息?

    此致、
    Zabieru.

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    亲爱的天使,

    随着我们不断进步、但并未达到 ads1220能够提供的完美 OUTPUT_CODE 精度、因此会进行更多更新。
    进行一些位移修复后、平均输出代码为0x21A70 (78.87欧姆)、在几 ms 的采样平均值计算后、PT100已连接(使用 Yokogawa CA150输出理想100欧姆)、RTD 值为100欧姆。
    在某个位置、我们具有大约20欧姆的 Δ 值。
    它会在某个地方为你敲响钟吗? 我记得下面的配置

    ADS1220_CONFIG0_PGA_ENABLE | ADS1220_CONFIG0_GAIN_1 | ADS1220_CONFIG0_MUX_AIN1_AIN0;
    ADS1220_CONFIG1_BCS_OFF | ADS1220_CONFIG1_TS_DISABLED | ADS1220_CONFIG1_CM_CONTINUOUS|ADS1220_CONFIG1_MODE_NORMAL | ADS1220_CONFIG1_DR_20_SPS;
    ADS1220_CONFIG2_IDAC_250UA | ADS1220_CONFIG2_PSW_OPEN | ADS1220_CONFIG2_FILTER_BOTH | ADS1220_CONFIG2_VREF_EXTERNAL0;
    ADS1220_CONFIG3_DRDYM_ONY_DRDY | ADS1220_CONFIG3_I1MUX_AIN2 | ADS1220_CONFIG3_I2MUX_AIN3;

    我希望我能尽快完成这一修正,以便能够进行8个并联 ads1220的准确测试。

    此致、

    Zabieru.

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Zabieru:

    我已经浏览过这些信息、但不幸的是、我不太确定问题可能是什么。

    原理图/硬件连接似乎正常。

    我将向一些团队成员提出这个问题、以收集他们对该问题的反馈。 我将在我收集到一些反馈后尽快回复您、并将在明天向您通报最新情况。  

    很抱歉没能尽快解决这个问题。

    同时、您方面是否有任何更新?

    此致、

    天使

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Zabieru:

    此原理图是否有专为该设计的 PCB、或者此设置是否一起采用 Fly-Wire?  

    仔细观察一下、我们会注意到在原理图的输入引脚上没有抗混叠滤波、并且可能也会出现一些相当大的噪声问题。

    是否可以向我们提供设置的图片、以便我们更好地了解它的外观?

    此致、

    天使

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Zabieru:

    您是否曾尝试使用示波器测量 RTD 和基准电阻两端的电压? 当 IDAC 设置为250uA 时、基准电阻器两端的电压应约为1.2V、RTD 两端的电压应约为25mV、示波器还将允许您查看这些点是否存在任何明显的噪声。  

    如果您可以提供配置寄存器的输入和数据读数的逻辑分析仪/存储文件、以确保通信看起来正确、这可能也会有所帮助。  

    此致、

    天使

x 出现错误。请重试或与管理员联系。