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.

[参考译文] DAC8571:Arduino

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/1003980/dac8571-arduino

器件型号:DAC8571

您好!

我尝试使用 DAC8571使用 Arduino 并使用 https://github.com/baku1413/DAC8571库 、但无法使其正常工作。

下面是我的 DAC 电路

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

    我使用的是 I2C

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

    您好、Samarth、

    我不是 Arduino 编码专家、但请确保您向 DAC 写入4字节命令。  例如、您需要处理正确的更新模式(0x10 -用于立即更新)、并且需要一个16位值。  例如、写入:

    将更新器件。  如果您要查看命令、您会看到:

    0x98 0x10 0x7F 0xFF。  我建议您使用逻辑分析仪或示波器来确认写入的值是否正确。

    谢谢、

    Paul

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

    DAC 我能够编码直至输出为5V,但有时显示为5V,有时显示为0.6V。

    我每次进行编码时都无法将其编码为固定值?

    绿色 SDA

    黄色 SCL。

    我的 Arduino 代码:

    Wire.begin();
    Wire.beginTransmission(0b01001100);//地址
     Wire.write (0b00010000);      //设置立即更新
     Wire.write (0xff);// max
     Wire.write (0xff);// max  
     wire.endTransmission ();

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

    您好、Samarth、

    示波器屏幕截图中的 I2C 序列看起来正确、看起来 DAC 正在确认其应位于何处。 您的基准电压为2.5V。 您是否能够探测 DAC 输出、并让我们知道写入0xFFFF 时 DAC 输出是否为2.5V? 编写中间代码(0x8000)时、DAC 输出端是否看到1.25V 电压? 让我们首先尝试验证 DAC 是否正常工作。  

    最棒的

    Katlynne Jones

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

    您好!

    是的、我能够在0xFFFF 处获得5V 电压、在0x8000处获得2.5V 电压。 这是因为我在输出之前有一个运算放大器、如图所示。 问题是 DAC 仅在我打开电源并以实例方式写入时更新。

    之后、如果我尝试写入或更新、我的信号是正确的、但它仅在输出端显示0.6V、不会更新。

    如前所述、它有时会进行编码并进行更新、但在大多数情况下、它不会响应上述信号。

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

    您好、Samarth、

    对于 有助于调试 过程的其他上下文、 您是否在0xFFFF 和0x8000写入 DAC 时看到运算放大器输出端的0.6V 电压?

    您的后续 I2C 序列是否与第一个序列完全相同? 完整的  。

    SDA 和 SCL 的示波器快照的电压标度是多少?  两个信号都使用3.3V 逻辑吗?  

    最棒的

    Katlynne Jones

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

    您好、Samarth、

    从我之前的回复开始、我想知道 DAC 是如何工作的。 您能否在 DAC 输出端(引脚3和4)测量0x000和0xFFFF 之间的几个代码、并让我知道 您看到的电压。 我们将需要一次调试一个器件、以确定出现问题的位置。

    感谢您的耐心等待、

    Katlynne

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

    您好!

    Wire.begin();
    Wire.beginTransmission(0b01001100);
    Wire.write (0b00010000);//发送五个字节
    Wire.write (0x00);
    Wire.write (0x00);//发送一个字节
    wire.endTransmission ();

    上述代码运行一次、输出如下

    对于 FFFF 输出、

    引脚1 = 3.3V

    PIN2=2.5V

    引脚3=2.5V

    PIN4=2.5

    pin5=.1V

    PIN6=3.3V

    PIN7=3.3V

    PIN8=.1V

    但到达引脚3和4至2.5V 大约需要4分钟。这是非常奇怪的。我继续测量4分钟、在某个时刻、它从0.1升至2.5V

    输出为0

    引脚1 = 3.3V

    PIN2=2.5V

    引脚3=.1V

    PIN4=.1

    pin5=.1V

    PIN6=3.3V

    PIN7=3.3V

    PIN8=.1V

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

    您好、Samarth、  

    在将0x8000写入 DAC 时、您是否会看到类似的行为? 当运算放大器输出为0.6V 时、您在 DAC 输出上看到了什么? 此外、DAC 输出上的 C3大于数据表中给出的最大值。 您能否尝试删除此项并告知我们您的结果? 2kΩ Ω 负载时的最大值为1000pF。 您使用的是100nF。  

    谢谢、

    Katlynne Jones