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.

[参考译文] ADS1015:获得低于/高于4V 的值

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/1292052/ads1015-getting-values-under-over-4v

器件型号:ADS1015

大家好!
我正在尝试集成连接到简单线路编码器的 ADS1015。
该线编码器的输出高达5V (取决于其拉伸程度)。

编码器的物理范围是0-40cm。

问题是、我只能获得高达4V 的值。

我尝试设置配置寄存器 FSR =+-6.144v、但没有帮助。 使用 CONFIG 寄存器尝试一下后、我可以获得两个独立的配置:
1. 0xF00E -二进制:1111000000001110 -它允许我接收高达~4V (约30cm)的值。

2. 0xD00E -二进制: 1101000000001110 -它允许我接收~4V +(30-40)范围内的值。

我尝试启用了窗口比较器、但没有成功(我没有相关经验)。

非常感谢任何帮助!

提前感谢您。

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

    您好!

    看起来您正在配置 ADS1015、以从1) AIN3或2) AIN1读取单端数据。 您尝试测量的实际连接到哪个输入电压?

    如果不提供有关您尝试如何使用该器件的更多信息、我无法很好地诊断应如何配置寄存器。 是否尝试进行单端测量? 编码器输出如何连接到 ADS1015输入引脚?

    [quote userid="583875" url="~/support/data-converters-group/data-converters/f/data-converters-forum/1292052/ads1015-getting-values-under-over-4v 我尝试启用了窗口比较器,但没有成功(我对此没有任何经验)。

    开始了解比较器功能的最佳时机是查看有关比较器的数据表部分。 另外、请通读寄存器映射说明以了解有关比较器配置方法的信息。 如果您在阅读这些内容后有任何想要回答的具体问题、我很乐意为您提供帮助。

    如果您还有任何问题、请告诉我、

    列维德弗里斯

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

    您好、 Levi:
    感谢您的回复!

    以下是 ADC 板的设计。 我正在尝试使用连接到 AIN3的器件。

    我再次通读了数据表、在其中读出了以下内容:

    "比较器作为数字比较器实现;因此、只要 PGA 设置发生变化、就必须更新这些寄存器中的值。"
     
    然后、我尝试相应地更改高阈值(这也没有帮助):

       // Set the desired voltage thresholds
    double highThresholdVoltage = 9.0;  // I tried playing around with this value
    
    // Calculate the corresponding ADC values based on the PGA setting
    int16_t highThresholdADC = static_cast<int16_t>((highThresholdVoltage / 6.144) * 2047);
    
    // Set the high and low threshold values for the comparator
    uint8_t highThresholdBuf[3] = {ADS1015_REG_HIGH_THRESHOLD, static_cast<uint8_t>(highThresholdADC >> 8), static_cast<uint8_t>(highThresholdADC & 0xFF)};
    
    write(i2c_fd, highThresholdBuf, sizeof(highThresholdBuf));
    

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

    您好!

    ADS1015的模拟输入必须保持在 VDD 以下、因此如果使用3.3V 电源、可输入到 AIN1或 AIN3的最高值为3.3V。 任何超过3.6V 的电压都有可能损坏器件。 坦率地说、我很惊讶 ADS1015仍然可为您工作、高达~4V。

    与此类似、 ADC 比较器的高阈值不能高于满标量程、因此在您的代码示例中、输入电压必须低于6.144。 此外、无法使用阈值寄存器的最低4位、因为 ADS1015仅是一个12位部件、因此您应将分频值乘以32,767。 还要记住、如果您希望设置负阈值、此处的代码不适用于负值。

    如果您想获取有关数据表基本解剖结构的指南、我们专门制作了一个15分钟的电流检测放大器视频:  https://www.ti.com/video/6149107217001?keyMatch=HOW%20TO%20READ%20DATASHEETS 本视频中讨论的一些内容与 ADS1015数据表无关、但关于如何使用数据表的许多一般建议仍然适用。

    如果您还有任何问题、请告诉我、

    列维德弗里斯

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

    哇、非常感谢您的支持!
    不幸的是,我在机械工程领域没有什么经验(我主要做软件)- 所以我仍然有很多学习。

    最棒的问候和再次感谢,你是最好的!