主题中讨论的其他器件: ADS1115、 OPA2187
大家好、
我的客户现在使用 ADS1115-Q1、读取输出值为0。读取电压时 、他们只使用三个函数:
- ADS1115_Config();
- ADS1115_PointRegister();
- VOL=ADS1115_ReadData()
请提供一些建议吗?
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.
大家好、
我的客户现在使用 ADS1115-Q1、读取输出值为0。读取电压时 、他们只使用三个函数:
请提供一些建议吗?
Amelie、
我不擅长编码、但从 ADS1115_ReadData()读取的每个 ADC 似乎都需要在 ADS1115_PointRegister()前面加上 ADS1115_PointRegister()、以确保器件从正确的寄存器中读取数据。
您能否让客户使用示波器显示 ADC 读取序列? 我想在整个 I2C 事务中看到 SCL 和 SDA 线路。 读取应为5个字节、我想查看所有位、以便我可以读取器件和主器件之间发送的内容。
吴约瑟
Amelie、
我很高兴您的客户最终能够获得数据。 导致他们看到错误的原因是什么? 是否是数据采集顺序的问题?
ADC 输入阻抗不是无限的。 连接 ADC 后、它会加载其测量的输出阻抗。 ADC 输入阻抗取决于 FSR 范围、并在电气特性部分的数据表中列出。
该输入阻抗来自测量输入电压的电容器的重复采样和放电。 它位于第16页的数据表中。 输入阻抗有一个共模和差分分量、输入结构如下所示:
由于输入电压取决于采样电容器中输入电压的稳定程度、因此我通常认为最大串联阻抗为10kOhm。 此外、如果要跨电阻器进行测量、则需要使用远小于 ADC 输入阻抗的电阻器。
例如。 如果客户使用最小的 FSR 设置、则 ADC 的输入阻抗为710k 欧姆。 如果我测量到一个7.1k Ω 电阻器、并联组合会产生等效的7.029k Ω 电阻器。 这意味着、如果输入阻抗比电阻大100倍、则会产生1%的误差。
通过直接测量150k 电阻器、如果使用较低的 FSR、它们可能会产生较大误差、但是、如果它们可以选择使用 OPA2187作为缓冲器、这将是更好的选择。
他们使用什么 FSR? 他们看到了多少错误?
吴约瑟