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.

[参考译文] DRV2605L:在 RTP 模式中、最大值仅为127 (0x7F)

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

https://e2e.ti.com/support/motor-drivers-group/motor-drivers/f/motor-drivers-forum/994139/drv2605l-in-rtp-mode-the-maximum-value-is-127-0x7f-only

器件型号:DRV2605L
主题中讨论的其他器件: TCA9554TCA9548A

大家好、

根据客户、在 RTP 模式下运行 DRV2605L 电机驱动器时、它们可以使用的最大值为127 (0x7F)。 当n`t 将符号位更改为无符号、以便在 Control3寄存器(地址0x1D)中具有更高的整数值时、它们可以运行电机。  除了 Control3寄存器之外、他们还需要配置任何寄存器吗?

感谢您的支持!

此致、

Danilo

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

    您好 Danilo、  

    我对此有几个问题要问:

    1. 它们是在双向还是单向模式下运行 DRV2605L?
    2. 这是闭环还是开环?  
    3. 它们用于 RTP_INPUT 值的内容  

    谢谢、  

    Justin Beigel

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

    您好 Justin、

    以下是客户的回应。

    1. 它们是在双向还是单向模式下运行 DRV2605L? 答案。  以双向模式运行
    2. 这是闭环还是开环? 答案。  闭环
    3. RTP_INPUT 值使用什么?  RTP=0×7F

    这是客户提供的代码。

    #include //SparkFun 触觉电机驱动器库
    #include
    #include //I2C 库

    SFE_HMD_DRV2605L HMD;//创建触觉电机驱动器对象
    DRV2605LEVM_MD multi_drv;//创建多电机驱动器对象

    void setup()

    Serial.begin(9600);
    HMD.begin();

    serial.println ("自动校准电机驱动器...");
    //通过将 GO 位设置为1来启动自动校准
    hmd.go ();
    HMD.Mode (0x07);
    serial.println ("自动校准已完成! 正在初始化电机驱动器...");
    // HMD.Mode (0);//内部触发输入模式--必须使用 GO ()函数来触发回放。
    HMD.Mode (0x05);// RTP 模式--必须使用 RTP 函数来触发振幅。
    HMD.MotorSelect (0xB6);// LRA 电机、4x 制动、中等环路增益、1.365x 反电动势增益
    HMD.Library (6);/1-5和7用于 ERM 电机、6用于 LRA 电机

    multi_drv.initialize_motors();
    serial.println ("电机驱动程序已初始化!");



    void loop()


    HMD.RTP (0x7F);
    延迟(5.

    此致、

    Danilo

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

    您好 Danilo、  

    感谢您提供更多信息。 根据代码、这是使用 DRV2605LEVM_MD 还是仅使用用于自己电路板的代码?  

    此外、在代码中、我实际上看不到 Control3寄存器中的 Data_Format_RTP 位被写入的位置。 您能对此进行澄清吗?  

    对于自动校准、最好在将 GO 位设置为1之前将器件设置为自动校准模式(HMD.Mode (0x07))。  

    谢谢、  

    Justin Beigel

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

    您好 Justin、

    我们已收到以下客户的回复。

    我们使用名为“DRV2605LEVM_MD”的定制库与 TCA9554和 TCA9548A 器件通信,并使用 SparkFun 的“SparkFun_DRV2605L”库与 DRV2605L 电机驱动器通信。
    您的问题的答案:
    1.单向还是双向色调?
    •我们使用的是默认设置。 我们应该使用单向吗?
    2.这是闭环还是开环?
    •我们再次使用 RTP 的默认设置。 我们不确定应该使用哪种模式。 你有什么建议?
    3.它们将什么用于“rtc_input”值。
    •我们正在发送“0x7F”。 电动机不会以高于“0x7F”的值振动。
    •当我们将“CONTROL3寄存器(0x1D)”的“DATA_FORMAT_RTP”字段更改为“unsigned”时,“RTP_INPUT”的值不会使电机振动。
    •因此,我们从代码中删除了该行,但却使用以下命令通过 SparkFun 的库更改了该行:
    •HMD。 writeDRV2605L (CONTROL3、0xA8)

    我们可以详细说明的一点是,当我们开始与 DRV2605LEVM-MD 板通信时,从状态寄存器中可以看到“E4”。 我认为这意味着“反馈控制器超时”,但我们不明白它的含义是什么? 是否可以收到该状态/错误消息? 我们应该怎么做?

    此致、

    Danilo

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

    您好 Danilo、  

    不需要更改1或2的配置、只是我知道如何在这里提供最佳帮助。 "E4"值不是问题、不应在启动时引起问题。 如果您在尝试播放波形后读取状态寄存器、它是否提供相同的值?  

    我仍在努力重新创建 此问题、并将在我取得进展时随时向您更新。  

    最棒的  

    Justin Beigel

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

    您好 Justin、

    感谢您的反馈。 我们将等待您的更新。

    此致、

    Danilo

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

    您好 Justin、

    这是客户提供的代码。

    e2e.ti.com/.../DRV2605LEVM_5F00_MD.zip

    此致、

    Danilo

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

    您好 Danilo、  

    我无法重现此问题。 我以相同的配置设置 EVM、并将 DATA_FORMAT_RTP 设置为无符号。 您能让客户在写入0x1D 寄存器后读取该寄存器、以确保该值得到正确更新吗? 此外、如果运行自动校准、是否存在任何问题?  

    谢谢、  

    Justin Beigel

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

    您好 Justin、

    这是客户的反馈。

    客户正在使用 Arduino Uno、并通过 DRV2605LEVM-MD TCA9548APW 的 SDA 和 SCL 线将其连接、正如我在下面的另一个线程中提到的那样。

    https://e2e.ti.com/support/motor-drivers/f/motor-drivers-forum/989055/drv2605levm-md-port-the-drv2605levm-md-firmware-v1-3-rev-a-from-the-product-page-of-drv2605levm-md-to-arduino-mega

    此致、

    Danilo

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

    您好 Danilo、  

    我将与同事再次核实这方面的情况、并将在明天再次与您联系。  

    此致、  

    Justin Beigel

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

    您好 Danilo、  

    只是想为您提供更新。 我能够获得复制您的设置所需的一切、并将在明天进行测试以解决此问题。  

    此致、  

    Justin Beigel

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

    您好 Danilo、  

    经过一些测试、我认为 EVM 启动会更改一些寄存器配置、您需要在代码中专门写入这些配置、以确保它们处于正确的状态。 我只需添加一个 control2寄存器写入即可使代码正常工作。 我将器件写入单向模式、但可以通过将写入更改为0xFF 将器件置于双向模式。  

    HMD。 writeDRV2605L (Control2_REG、0x7F);//单向模式

    如果您有任何其他问题、请告诉我。  

    此致、  

    Justin Beigel