主题中讨论的其他器件: ADS131M04
工具与软件:
大家好、团队成员:
我所做的就是尝试读取电压。 也就是我用来提供电压的电位器。 请为我指引道路。 阅读方法
谢谢、此致、
Pavan
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.
尊敬的 Pavan:
我建议您首先读取 ADC 的内部寄存器、以确保您的 SPI 接口和时序正确。 要读取内部寄存器、您可以发送带有或不带 CRC 字的 RREG 命令、如下图所示、寄存器数据将显示在下一帧的第一个字中。
寄存器读取正确后、可以使用0的数据而不是发送 RREG 命令作为第一个字、您将能够看到来自 ADC 的转换数据。 我连接了一个时序示例来读取 ADS131M04中的数据、该示例还具有另外两个通道、与 ADS131M02相比:
建议使用/DRDY 信号将您的命令或 SCLK 发送到 ADC。 您实际上可以在 ADS131M02数据表中找到所有信息和示例代码。
BR、
戴尔
尊敬的 Dale:
我发送了像0x00 0x00这样的 RREG 指令来获取读取电压。 I 接收到 rxdata[0]=0x305并 rxdata[2]=0x100作为返回值、这取决于电位器值(0x100 -最小值、0x7f00 -最大值)。 rxdata[3]=0xb5 (它也在更改0xb5 -最小值、0xff 最大值)。 rxdata 的大小为16。
谢谢、此致、
Pavan
尊敬的 Pavan:
如果我的理解正确、那么这些数据是针对同一信号和通道收集的数据、您想知道如何将它们从代码转换为电压。 您可以使用下载并使用以下工具、该工具专为其他 ADC 而设计、但转换对 ADS131M02是相同的:
BR、
戴尔
尊敬的 Dale:
首先,我要感谢您的建议。 当我测量电压时、我能够读取1.2V 的最大电压。 但是、我读取的电压没有超过1.2伏。 我使用了转换时间
uint16_t rxData[5];
uint32_t ADC_data =(rxData[1]<< 8)| rxData[2];
float input_voltage =(ADC_DATA * 1.2)/ 8388608);//此处、8388608 = 2^23 (在这种情况下、如果我写入3.3、而不是1.2、因此它会提供最大3.3的、但每当我将3.3V 设置为 Vref 时、该时间我提供了1.116v。 该时间输出提供3.3V 电压。我认为这是个问题)
请建议我使用额外电压。 我该如何进行?。或者请告诉我是否有电压转换公式。
此致、
Pavan