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:额定电压

Guru**** 2487425 points
Other Parts Discussed in Thread: DRV2605L, DRV2605

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

https://e2e.ti.com/support/motor-drivers-group/motor-drivers/f/motor-drivers-forum/1124313/drv2605l-rated-voltage

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

我对使用 DRV 2605L 触觉电机驱动器提高 LRA 的振幅有一些疑问。

首先、当我看到它的数据表时、我认为它可以调整额定电压和 OD_CLAMP 电压以增加 LRA 的振幅。  

与此相关,我有一些问题,如下所示:  

(1)我只想知道调整额定电压和波形库效果列表之间的差异。

具体而言、当我尝试使用列表(效果 ID 号=1、强力点击- 100%)时、我只想找到增加 LRA 振幅的解决方案。  

因此、我想弄清楚"100%"的定义。  

(2)使用 Arduino 和 LRA (振动电机),是否可以将额定电压提高到5V 以上?  

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

    您好、Kihun、

    rated 电压值将定义任何波形效应的100%强度。 这意味着、对于100%强度的波形、它会暂时将 LRA 过驱至 OD_CLAMP 电压、然后输出在波形持续时间内下降至 rated _votlage。  

    如果您希望增加 LRA 的振动强度、则可以增加额定电压。

    由于此器件上的最大 VDD 为~5.2V、 因此您无法将 RATed_VOLTAGE 提高到5V 以上

    此致、

    Arthur

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

    Brown、您好!  

    根据 DRV2605L 数据表、有多个图表描述了每个波形库如何振动。 我想知道如何获取这些图形  

    以描述振动加速度。  

    是否有任何您可能建议的参考?  

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

    此外、根据您的 DRV2605设置指南数据表、它说过使用以下公式将 LRA 数据表中的额定电压转换为"绝对平均值"电压。 我只想知道 f (LRA)的值。 是否来自 LRA 数据表? 我想知道它是否意味着谐振频率。  

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

    您好、Kihun、  

    无法说出系统中的加速度是多少、但您可以使用此加速度计 EVM 测量与数据表中所示的加速度相同的加速度。  https://www.ti.com/product/DRV-ACC16-EVM/part-details/DRV-ACC16-EVM?

    f (LRA)是 LRA 的谐振频率。 更具体地说、它是 DRV2605L 的驱动频率。 它应与谐振频率相同、

    此致、
    Arthur

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

    关于自动校准、数据表指出"自动校准可补偿变化、并根据指定的额定电压和过驱钳位寄存器设置对所需的传动器执行缩放。" 根据您的答案、如果我想更改 LRA 的振动强度、我可以使 rated 电压值变得多种多样。 对吗?  

    此外、我是否需要处理自动校准以仅改变强度?  

    我想知道是否有任何有关自动校准代码的参考。  

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

    您好、Kihun、

    很抱歉耽误您的时间;Arthur 正在评估您的问题、并将在一天结束前给您回复。

    谢谢、

    Jeff

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

    你(们)好。

    是如果您希望增大 DRV2605L 器件将驱动至 LRA 的最大电压、则可以增大 Rated 电压。 您还应在更改额定电压后执行自动校准

    此致、
    Arthur

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

    在更改 sBearned_voltage 值之前,我只执行了如下自动校准:  

    我使用了 LRA 传动器和 DRV2605L 电机驱动器。  

    #include
    #include

    SFE_HMD_DRV2605L HMD;
    uint8_t feedback_val = 0;
    const int f_LRA = 240;
    float v_rms = 1.2;
    字节 dr_time;

    void setup(){

    Serial.begin(9600);
    Wire.begin();
    HMD.begin();
    HMD.Mode (0x07);
    set_feedback();
    hmd.writeDRV2605L (MODE_REG、feedback_val);
    float sample_time = 300 * pow (10、-6);//采样时间、默认值300us
    float v_avg_abs = v_rms* sqrt (1-(4*sample time_time+300*pow (10、-6))*f_LRA);
    uint8_t ratedv_val =(uint8_t)((v_avg_abs*255)/5.3);
    hmd.writeDRV2605L (RATEDVOLT_REG、ratedv_val);
    HMD.writeDRV2605L (OVERDRIVECLAMP_REG、0x89);
    set_ctrl1_val ();
    hmd.writeDRV2605L (CONTROL1、DR_TIME|0x80);
    hmd.writeDRV2605L (CONTROL2 _REG、0xf5);
    HMD.writeDRV2605L (Control3_REG、0x80);
    hmd.writeDRV2605L (GO_REG、0x01);

    字节 SET_Feedback (){

    feedback_val |=(1<<7);//设置 LRA 模式
    feedback_val |=(3<<4);//将制动因数设置为4倍
    feedback_val |=(1<<2);//将环路增益设置为中等
    feedback_val |=(1<<1);//将 BEMF_Gian 设置为20x

    返回 feedback_val;

    字节 set_ctrl1_val (){
    uint8_t ctrol1_val = 0;
    浮点 PERIOD_LRA = 1.0/f_LRA;
    uint8_t dr_time =(uint8_t)(((Period_LRA * 1000.0 / 2.0)-0.5)/ 0.1);

    返回 dr_time;

    void loop(){
    uint8_t status = HMD.readDRV2605L (STATUS_REG);//读取状态寄存器中的 DIAG_RESUL结果 bt
    uint8_t Acalcomp = HMD.readDRV2605L (COMPRESULT_REG);//auto_calibration compensation result
    uint8_t Acalbemf = HMD.readDRV2605L (BACKEMF_REG); //自动校准反电动势补偿结果
    serial.println ("DRV2605L STATUS");
    serial.println (status);
    serial.println (Acalcomp);
    serial.println (Acalbemf);

    返回(STATUS&0x08)==0;

    我刚才得到了状态、自动校准补偿结果和自动校准反电动势补偿结果的值、如所示  

    224、12和108。 我只想确认这些值是否合适。 如果我得到这些结果、我是否需要执行下一步?  

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

    您好、Kihun、

    我没有看到自动校准结果有任何问题。  

    状态寄存器= 224只是表示您正在使用的器件是 DRV2605L。 关于状态寄存器、最关键的位是 DIAG_RESULT 位。 如果该位被置位、则自动校准失败。 如果未设置、则自动校准成功。

    现在、您可以继续更改 rated 电压值并重新运行自动校准。 只要 DIAG_RESULT 未设置、校准就会成功

    此致、

    Arthur

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

    Brown、您好!  

    我只想知道如何增加额定电压。 如果我使用开环模式、我只需要调整"OD_CLAMP [7:0]"的值、或者是否有任何建议要参考?  

    此外、我只想知道开环模式和闭环模式之间的差异。 闭环反馈是什么?  

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

    此外、我对实时回放模式(RTP)有点困惑。  

    根据其数据表和图26 (如下所示)、当我设置 RTP 寄存器(0x02)时、例如0x7F、  

    (1)这意味着我用我设置的100%过驱电压驱动传动器。 对吗?  

    (2)那么、如果我没有设置 OD_CLAMP [7:0]的值、会产生什么电压?  

    (3)此外、当我使用 RTP 模式时、频率的值是多少? 我认为该值是每个 LRA 具有的谐振频率、对吗?

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

    您好、Kihun、

    在闭环模式下、器件会定期从 LRA 对反电动势进行采样、以跟踪谐振频率。  

    在开环模式下、没有反馈、器件不跟踪频率。 它以 DRIVE_TIME 寄存器字段中的频率驱动 LRA。  

    数据表的第8.5.2.1节和8.5.2.2节提供了用于转换开环和闭环模式下 OD_CLAMP 和 Rated 电压寄存器值的公式。  

    [引用 userid="528903" URL"~/support/motor-drivers-group/motor-drivers/f/motor-drivers-forum/1124313/drv2605l 额定电压/4179782#4179782"](1)这意味着我用我设置的100%过驱动电压驱动传动器。 对吗?  [/报价]

    是的、如果 DATA_FORMAT_RTP = 0、则7f 等于 OD_CLAMP 电压的100%。

    [引用 userid="528903" URL"~/support/motor-drivers-group/motor-drivers/f/motor-drivers-forum/1124313/drv2605l 额定电压/4179782#4179782"](2)如果我没有设置 OD_CLAMP [7:0]的值、则会产生什么电压?  [/报价]

    OD_CLAMP 的默认值为0x8C

    [引用 userid="528903" URL"~/support/motor-drivers-group/motor-drivers/f/motor-drivers-forum/1124313/drv2605l 额定电压/4179782#4179782"](3)另外、当我使用 RTP 模式时、频率的值是什么? 我认为该值是每个 LRA 具有的谐振频率、对吗?[/引述]

    闭环模式下的频率在 OL_LRA_PERIOD 寄存器字段中跟踪和保持不变

    在开环模式下、它以 DRIVE_TIME 频率驱动

    此致、

    Arthur

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

    感谢您的善意回应。  

    我只想再次检查使用 DRV2605L 设置 LRA 的过程。  

    在开始为我的研究项目驱动 LRA 之前、我需要进行自动校准。 然后、无论何时开始驱动电机、我是否需要再次执行该操作?  

    这意味着在获得校准值并且我的系统没有变化之后、我是否需要在运行驱动传动器的代码之前重新校准。

    其次、在主代码中、我是否需要始终写入初始化模式、然后再运行到驱动传动器代码中?  

    或者、它与校准过程类似?  

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

    您好、Kihun、

    您不需要每次运行自动校准。 它只需执行一次、然后在加电时、您可以对先前通过自动校准找到的寄存器进行编程。

    写入必要的值后、您可以继续驱动加速器。

    此致、

    Arthur

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

    感谢您进行初始化?  

    我现在对那个很好奇。

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

    您好、Kihun、

    我不能完全确定您在说"初始化"时所指的内容  

    但每次器件上电时应完成的基本流程是

    1) 1)与自动校准结果相关的程序寄存器(在先前找到并记录的位置)

    2) 2)进入所需的播放模式

    3) 3)回放波形

    或~~~~~μ A (如果您决定在器件每次通电时运行自动校准)

    1) 1)将输入编程到自动校准引擎

    2) 2)执行自动校准例程并确保未设置 DIAG_RESULT 位。

    3) 3)进入所需的播放模式

    4)回放波形