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.

[参考译文] DRV8462:读取 ATQ_TRQ_DAC 时出现问题

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

https://e2e.ti.com/support/motor-drivers-group/motor-drivers/f/motor-drivers-forum/1332007/drv8462-problem-with-reading-atq_trq_dac

器件型号:DRV8462

您好!
我正在使用 DRV8462来控制步进电机 信号17E2115AB4-69SNSNSNSN-130。  

电源电压为24V。 我使用物理 STEP 和 DIR 引脚、并通过 SPI 控制其他寄存器。 电机以300Hz 的频率以全步进和自动1/32微步进运行。 我使用 静止省电模式、自动扭矩和失速检测。

我尝试在电机移动期间读取 ATQ_TRQ_DAC 寄存器、 但尽管启用了 ATQ、但该寄存器的值始终等于 ATQ_TRQ_MAX。

根据 DS -"当自动扭矩被启用时输出电机电流的值。 ATQ_TRQ_DAC 可以在 ATQ_TRQ_MIN 和 ATQ_TRQ_MAX 之间变化。"
-禁用自动扭矩时、ATQ_TRQ_DAC 会读取编程到 ATQ_TRQ_MAX 的值。

当我读取 ATQ_EN (ATQ_CTRL10)时设置为"1"(启用自动扭矩)。
例如、ATQ_TRQ_MIN (ATQ_CTRL11)设置为15、ATQ_TRQ_max (ATQ_CTRL12)设置为70、ATQ_TRQ_DAC 读取也为70、当 ATQ_cnt 根据负载时刻发生变化时、所有具有不同权重的物体都移动。

当我使用 ATQ 时、我想使用 ATQ_TRQ_DAC 在给定的时间读取电流。 我是否误解了 ATQ_TRQ_DAC_用途?

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

    尊敬的 Maciej:

    启用自动扭矩后、必须完成自动扭矩的调整过程、才能使自动扭矩正常运行。 该过程在数据表以及本应用手册 https://www.ti.com/lit/an/slvaff1/slvaff1.pdf 中进行了介绍。必须完成自动扭矩学习、KP 必须为非零、通常为1、并且已正确定义自动扭矩计数上限和下限。  针对设置 自动扭矩电流 DAC (ATQ_TRQ_DAC)将根据负载扭矩读取电流。 谢谢。

    此致、Murugavel

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

    尊敬的  Murugavel:

    感谢您的答复。

    您是对的、问题是 KP=0。 但现在、当我将 KP 更改为非零的值时、ATQ_TRQ_DAC 等于或非常接近 ATQ_TRQ_MIN。
    我尝试过 KP=1/10/100....
    我尝试改变 KD=5/10.... 且 ATQ_D_THR=5/10
    我做了学习过程中的 DS 和600Hz 和自动微步进1/32它给了我这些结果:
    CONST1= 64
    CONST2= 125
    ATQ_TRQ_MAX = 70
    ATQ_TRQ_MIN = 16
    ATQ_UL = 31
    ATQ_LL = 29

    当我打开 ATQ I 时:

    -将 ATQ_LRN_MIN_CURRENT 寄存器编程为值7 -与学习期间相同、
    -在学习期间将 ATQ_LRN_STEP 寄存器编程为3 - 64步长的值、
    -编程 ATQ_LRN_CONST_1和 ATQ_LRN_CONST_2
    -将 ATQ_EN 设置为1、
    -编程 ATQ_TRQ_MIN、ATQ_TRQ_MAX、ATQ_UL、ATQ_LL、
    -程序 KP, KD, ATQ_D_THR

    然后再起动发动机。  

    当 KP=1且 KD=0时可实现最佳结果、但即使是当 ATQ_TRQ_DAC 远高于 ATQ_TRQ_max 时。  

    我做的一切都好吗? 它是否应该像这样工作? 我应该怎么做才能使 ATQ_TRQ_DAC 更接近 ATQ_TRQ_max? 现在、一旦电阻增加、电机就会停止。

    使用示例(ATQ_cnt 增加(蓝色)表示负载增加-通常导致引擎停止):








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

    尊敬的 Maciej:

    我有一个类似的 NEMA17步进电机。 我将尝试重现此设置。 1/32步进、对于步进电机而言、300Hz 看起来速度非常低、可能无法生成足够的 BEMF。 这是目标速度限制还是您可以在应用中以更高的频率运行它?

     ATQ_CTRL11和12中的 ATQ_TRQ_MIN 和 ATQ_TRQ_MAX 设置是多少? 用于测试的 VREF 电压输入和 TRQ_DAC CTRL11设置是多少?  

    此致、Murugavel

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

    感谢您的帮助。

    正如我之前在这些电机转速为600Hz 的电机屏幕截图中提到的、我将其用作示例、因为在这个速度下、PD 最有效。
    在我的应用中、电机必须以100Hz 到1000Hz 的速度进行全步进。 我使用自动微步进1/32。
    CONST1= 64
    CONST2= 125
    ATQ_TRQ_MAX = 70
    ATQ_TRQ_MIN = 16
    ATQ_UL = 31
    ATQ_LL = 29

    基准电压源(VREF_INT_EN - CTRL13)我已设置为1 -内部源。

    TRQ_DAC CTRL11我已设置为70、但在启用 ATQ 时它很重要?

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

    尊敬的 Maciej:

    感谢您的澄清。  在未启用 ATQ 时、TRQ_DAC、CTRL11寄存器设置很重要、可确保在内部3.3V 基准下、在未启用 ATQ 时、步进器不会因更高的电流而过驱。

    启用 ATQ 后、ATQ_TRQ_DAC 将定义电机电流、TRQ_DAC 设置将被忽略。 务必将 ATQ_TRQ_MAX 设置为安全值以避免燃烧电机。

    当启用 ISTSL 时、TRQ_DAC 设置也不会影响保持电流。

    此致、Murugavel

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    感谢您的澄清。  在未启用 ATQ 时、TRQ_DAC、CTRL11寄存器设置很重要、可确保在内部3.3V 基准电压下、在未启用 ATQ 时、步进器不会因更高的电流而过驱。

    好的、我明白、但我的问题是在启用 ATQ 时。 我已设置 ATQ_TRQ_MAX、尽管负载增加了、并且正如第一个帖子中的图片所示、ATQ PD 环路达到此值时出现问题(有许多不同的 KP、KD 和 ATQ_D_THR)。 发动机在增加负载时的停止速度将快于 ATQ_TRQ_DAC 达到 ATQ_TRQ_MAX 的速度。 您知道问题所在、我做错了什么以及我可以更改什么来解决它吗?

    启用 ATQ 时、ATQ_TRQ_DAC 将定义电机电流、TRQ_DAC 设置将被忽略。 务必将 ATQ_TRQ_MAX 设置为安全值以避免燃烧电机。

    好的、我已经将 ATQ_TRQ_MAX 设置为安全值70、这是围绕600mA 的值、但电机可以在等于1A 的电流下运行。

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

    尊敬的 Maciej:

    根据电机规格 、看起来电流为1.5A 是17E2115步进的额定电流。  ATQ_TRQ_MAX 可设置为1.5A。 这将使 ATQ_TRA_DAC 更快地达到更高的电流。

    ATQ_TRQ_MIN 应该足够高、以便在该电流下、电机能够 以应用的最低负载情况运行、并具有一定的10%扭矩裕度。  在您的设置中、我注意到 ATQ_TRQ_MIN = 16。 最小电流约为137mA。 此电流是否足以在负载扭矩最小时在应用中驱动电机而不停止? 我~此电流设置应该高于现在的 V φ 400mA、尤其是 IFS 规格1.5A 时。

    我假设您在24V 电压下使用 IFS 处的电流波形= ATQ_TRQ_MAC 看起来是干净的正弦波。  

    ATQ 响应时间是电机步进速率的函数、因为这些计算是在电机电流电气周期的每次过零-正弦波的过零处进行的。 我怀疑响应时间可能会因 测试中电机的步进速率较慢而变慢。

    此致、Murugavel  

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

    感谢您的答复。


    根据电机规格, 看起来1.5A 是17E2115步进电机的额定电流。  ATQ_TRQ_MAX 可设置为1.5A。 这将使 ATQ_TRA_DAC 更快地达到更高的电流。

    根据 DS、我为电机加载了最大负载(+30kg)、ATQ_TRQ_MAX = ATQ_TRQ_MIN = 63足以驱动电机而不会停止、因此我设置 ATQ_TRQ_MAX = 70。 您是否建议我设置一个更高的值(但低于最大电流)、这样 PD 环路应该运行得更好?

    ATQ_TRQ_MIN 应该足够高、以便在此电流下、电机能够 以应用的最低负载情况运行、并具有大约10%的扭矩裕度。  在您的设置中、我注意到 ATQ_TRQ_MIN = 16。 最小电流约为137mA。 此电流是否足以在负载扭矩最小时在应用中驱动电机而不停止? 我~此电流设置应该高于现在的 400mA 水平,特别是 IFS 1.5A 规格。

    我的应用具有不同的负载可能性。 它可以在无负载且负载为+30 kg 的情况下移动。 我根据 DS 学习了参数、在空载且 ATQ_TRQ_MIN = ATQ_TRQ_MAX = 14的情况下、足以在不发生失速的情况下驱动电机、因此我设置 ATQ_TRQ_MIN = 16。 您是否建议将其设置为较高的值?


    atq 响应时间是电机步进率的函数,因为这些计算是在电机电流电气周期的每次过零-正弦波的过零处进行的。 我怀疑由于 测试中电机的步进速率较慢、响应时间可能较慢。

    我明白、但600Hz 是一个相当高的频率。 当您建议我使用 ATQ 时、最低频率是多少? 在自动微步进模式下、我在 DS 中读到它是10Hz、但关于 ATQ、我没有找到这样的信息。
    现在、我只能防止使用带有少量步骤(<20)的 ATQ。

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

    尊敬的 Maciej:

    "根据 DS、我为电机加载了最大负载(+30kg)、ATQ_TRQ_MAX = ATQ_TRQ_MIN = 63足以驱动电机而不会停止、因此我设置了 ATQ_TRQ_MAX = 70。 您是否建议我设置较高的值(但低于最大电流)、这样 PD 环路应该运行得更好?"。 我认为这可以为控制器提供更好的范围。

    "我的应用具有不同的负载可能性。 它可以在无负载且负载为+30 kg 的情况下移动。 我根据 DS 学习了参数、在空载且 ATQ_TRQ_MIN = ATQ_TRQ_MAX = 14的情况下、足以在不发生失速的情况下驱动电机、因此我设置 ATQ_TRQ_MIN = 16。 您是否建议将其设置为较高的值?"。 我之所以提出这个建议、是因为您提到步进器在加载时会停止。

    "我明白、但600 Hz 是相当高的频率"。 我漏掉了该部分。 使用的是全步进和自动微步进1/32。 出于某种原因、我想使用600Hz 时的1/32。 I STAL 已修正。  

    我正在分析自动扭矩工作范围、发现通过将 VREF 电压设置为所需的峰值、工作纬度要宽得多。 这将转换为 ATQ_CNT = 255、以获得最大电流。 然后、我们可以通过最小扭矩要求来确定最小电流。 在本示例中、假设我们选择64。 这将转换为376mA (接近你设定的314mA)。 这将最大化8位 ATQ_CNT 工作范围、并将其保持在 SNR 会更好的高端。  

    在完成这些设置后、调整自动扭矩功能没有问题。 请参阅以下屏幕截图。 谢谢。

    您会注意到、当我手动增大和减小电机轴上的负载时、ATQ_CNT 和 ATQ_TRQ_DAC 会按预期变化。

    空载电机电流:

    负载电机电流:

    此致、Murugavel

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

    Murugavel,
    感谢您的研究、

    我正在分析自动扭矩工作范围,并发现将 VREF 电压设置为所需峰值可使工作纬度变得更宽。

    我知道您可以通过设置 VREF_IN_EN=0和将 VREF 引脚设置为低于3.3V (我认为1.5A/5A*3.3V= 1伏 )、那么最大电流为1.5A、您可以使用满量程 ATQ_TRQ? 我是否理解正确?




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

    尊敬的 Maciej:

    是的、您的理解是正确的。 谢谢你。

    此致、Murugavel

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

    好的、谢谢、很遗憾、现在我无法使用外部 Vref、但我会尝试更改它、如果可以、我会检查这个解决方案。

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

    当然、它可以与内部 VREF 配合使用。 我也已经验证了这一点。 只是因为外部的 VREF 越低、纬度越高。 谢谢。