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.

[参考译文] DRV8434A:DRV8434A -失速检测不一致

Guru**** 2393765 points


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

https://e2e.ti.com/support/motor-drivers-group/motor-drivers/f/motor-drivers-forum/1446322/drv8434a-drv8434a---stall-detection-not-consistent

器件型号:DRV8434A

工具与软件:

您好!

我在其中一个设计中使用了"drv8434apwpr"。 对失速检测有疑问。  

失速检测不一致。 最初、我们已将电机驱动设置为"TorqueCount Mode"、并检查失速检测。 但是、当电机失速时、 STL_REP 信号并没有变为低电平。 但在某段时间内、它也变得很低(我们检测到失速的情况不是始终如此)

然后、我们通过将 MODE 设置为"TorqueCount Mode"来检查"TRQ_CNT/STL_TH"引脚电压 。 我们先检查电机开启状态(电压约为90-100mV)下的电压、然后再检查失速状态(50-60mV)下的电压。 然后根据以上观察结果、我们在"TRQ_CNT/STL_TH"处设置了~50mV 的电压、并将模式更改为"StallThreshold Mode" 。 但即使电机正常运行、我们也会让 STL_REP 信号变为低电平(失速检测)。 我们曾尝试将此电压更改为40mV 至75mV、但即使电机正常运行、也会进行失速检测。 对此有什么想法吗?

然后、我们希望执行学习过程。 但根据该过程、电机必须在稳定状态下运行32个电周期、在失速情况下运行16个周期。 我们想了解32个电气周期意味着什么? 一个电气周期意味着一个电机完成旋转?  

以下是面向您的参考的电机规格快照。  

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

    Pradeep、您好!

    [报价 userid="597329" url="~/support/motor-drivers-group/motor-drivers/f/motor-drivers-forum/1446322/drv8434a-drv8434a---stall-detection-not-consistent "]然后我们通过将模式设置为"TorqueCount Mode"来检查"TRQ_CNT/STL_TH"引脚电压 。 我们先检查电机开启状态(电压约为90-100mV)下的电压、然后再检查失速状态(50-60mV)下的电压。 然后根据以上观察结果、我们在"TRQ_CNT/STL_TH"处设置了~50mV 的电压、并将模式更改为"StallThreshold Mode" 。 但即使电机正常运行、我们也会让 STL_REP 信号变为低电平(失速检测)。 我们曾尝试将此电压更改为40mV 至75mV、但即使电机正常运行、也会进行失速检测。 对此有什么想法吗?

    您可能使电机旋转得较慢。 在反电动势较低的情况下、扭矩计数可能较低。 扭矩计数电压约为200mV 将更好地用于失速检测。 从失速检测的角度来看、步进电机的规格没有问题。 使用的 VM 电压和使用的 VREF 电压是多少? 您能否为 A 线圈或 B 线圈共享线圈电流波形?

    失速阈值电压必须> 60mV (失速期间的最高扭矩电压)、才能正确检测并避免在用例中误触发。  

    您如何为器件生成 STEP 输入? 步进至步进周期必须一致(无变化)、才能正确检测失速。 理想情况下、在 MCU 中使用计时器硬件。 出于测试目的、您可以使用函数发生器的方波输出。

    然后我们想学习这个过程。 但根据该过程、电机必须在稳定状态下运行32个电周期、在失速情况下运行16个周期。 我们想了解32个电气周期意味着什么? 一个电气周期意味着一个电机完成旋转?  [报价]

    可以将一个电周期显示为线圈电流的一个周期。 在全步进模式下、需要4步。 在微步进模式下、它将是一个正弦波周期或4 x 微步进数。 为了便于学习、电机可以运行超过32个电气周期(最小32个)、停止超过16个周期(最小16个)。  

    此致、Murugavel  

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

    使用的 VM 电压和使用的 VREF 电压是多少? 您能否为 A 线圈或 B 线圈共享线圈电流波形?

    PNG:VM 电压设置为+24V。 我们将探测线圈电流波形并共享。  

    您如何为器件生成 STEP 输入? 步进至步进周期必须一致(无变化)、才能正确检测失速。 理想情况下、在 MCU 中使用计时器硬件。 出于测试目的、您可以使用函数发生器的方波输出。

    PNG:我们将从 MCU 生成 STEP 输入(基于计时器)。  

    另一个问题如下:

    在学习过程中、我们是否可以首先实现32个周期的稳态计数、然后停止电机。 使其进入失速状态、然后运行? 这样可以吗? (不关闭电机驱动器电源- VM-0+24V 开启)

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

    Pradeep、

    感谢您提供更多详细信息。  

    [报价 userid="597329" url="~/support/motor-drivers-group/motor-drivers/f/motor-drivers-forum/1446322/drv8434a-drv8434a---stall-detection-not-consistent/5547727 #5547727"]PNG:VM 电压设置为+24V。 我们将探测线圈电流波形并共享。  [报价]

    听起来不错。

    [报价 userid="597329" url="~/support/motor-drivers-group/motor-drivers/f/motor-drivers-forum/1446322/drv8434a-drv8434a---stall-detection-not-consistent/5547727 #5547727"]PNG:我们将从 MCU 生成阶跃输入(基于计时器)。  [报价]

    好极了。

    [报价 userid="597329" url="~/support/motor-drivers-group/motor-drivers/f/motor-drivers-forum/1446322/drv8434a-drv8434a---stall-detection-not-consistent/5547727 #5547727"]在学习过程中、我们能否先实现稳态计数达32个周期、然后停止电机? 使其进入失速状态、然后运行? 这样可以吗? (不关闭电机驱动器电源- VM-+24V 开启)

    是的、可以这样做。 谢谢。

    此致、Murugavel  

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

    您好、我们又尝试了一个实验。 我们将驱动器置于扭矩计数模式、增加了 RPM。 在一 RPM 下、我们发现在正常电机运行条件下、TRQ_CNT/STL_TH 引脚将变为2.2V、而在失速期间、它为500mV。 然后、我们将  TRQ_CNT/STL_TH 引脚上的电压设置为1V、并将模式更改为 StallThreshold 模式。 但同样在正常条件下、检测到了 ITSEL 失速。 仅当我将 TRQ_CNT/STL_TH 引脚电压更改为10mV 时、电机才正在运行、但未检测到失速。 StallThreshold 模式是否缺少一些内容?

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

    我还注意到数据表中的以下声明。 这是什么意思呢? 我们无法在上电期间设置模拟电压并实现失速阈值模式吗?

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

    Pradeep、

    我们又尝试了一个实验日。 我们将驱动器置于扭矩计数模式、增加了 RPM。 在一 RPM 下、我们发现在正常电机运行条件下、TRQ_CNT/STL_TH 引脚将变为2.2V、而在失速期间、它为500mV。 然后、我们将  TRQ_CNT/STL_TH 引脚上的电压设置为1V、并将模式更改为 StallThreshold 模式。 但在正常情况下,还是检测到了 itsel STALL。[/报价]

    您是否使用了步进加速斜坡曲线? 这可能会导致错误检测、因为阈值仅对稳态速度有效。

    [报价 userid="597329" url="~/support/motor-drivers-group/motor-drivers/f/motor-drivers-forum/1446322/drv8434a-drv8434a---stall-detection-not-consistent/5550314 #5550314"]我还注意到数据表中的以下陈述。 这是什么意思呢? 我们是否无法设置模拟电压并在上电期间具有"失速阈值"模式?[/QUOT]

    让我检查一下这个问题、明天再回来与您联系。 谢谢。

    此致、Murugavel

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

    您好、下面是响应。  

    您是否使用了步进加速斜坡曲线? 这可能会导致错误检测、因为阈值仅对稳态速度有效。

    PNG:否 我说过我们是在300rpm 时进行电压测量的。 发现电压为2.2V、并在相同的 RPM 下停止、发现电压降至500mV。 然后、我们将 TRQ_CNT/STL_TH 引脚设置为1V、并将模式更改为 StallThreshold Mode。 然后我们尝试以相同的300 RPM 速度运行、但我们看到了失速检测、即使电机自由运行也是如此。 这是一种奇怪的行为。  

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

    Pradeep、您好!

    感谢您提供信息。 由于没有斜坡曲线、我们可以排除由此产生的潜在问题。  

    PNG: no 正如我所说的、我们在300rpm 时进行了电压测量。

    用于测试的 VREF 电压和微步进模式是多少? 另请分享300RPM 时的线圈电流波形。 谢谢。

    此致、Murugavel  

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

    Vref = 1.29V。 使用的微步进为1/4。 下面是捕获的波形(在其中一个线圈端子上探测、以接地为基准)。  

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

    Pradeep、您好!

    Unknown 说:

    感谢您提供信息。 VREF = 1.29V 表示 IFS = 1.29 / 1.32 = 977 mA、约为1A。根据您第一条消息中分享的电机数据表、额定线圈电流为0.67A。额 定电流比额定电流高46%的原因是什么? 步进电机过驱可能会在空载时减小扭矩计数。 失速检测的最佳起点是1/8或1/16微步进设置。

    以及以下是捕获的波形(在其中一个线圈端子处探测、接地)。  [报价]

    这是其中一个线圈端子的电压波形。 我们无法理解是否正确的电流流过线圈。 我们需要使用电流探针来查看其中一种线圈电流波形、这种探针通常带有用于示波器的钳位电流探针。 如果电流波形虽然可能具有可见的微步进、但与正弦波不同、则失速检测不一致。 根据24V 电源和线圈规格、我认为这应该是预期的波形。 因此、将电流(VREF)降低到接近600 650 mA 并以1/8微步进运行可以在失速检测方面为您提供更好的性能。 谢谢你。

    此致、Murugavel  

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

    关于 Vref 计算、IFS 是峰值电流、对吧? 显示的电机电流为均方根电流(0.67A)。 因此、对于0.67A 的 RMS 电流(峰值为0.98A)、我们将 Vref 设置为1.29。  

    关于波形、很遗憾、我们没有电流探头。 我们将尝试使用1/8微步进、看看它是否可以提高失速检测的性能。  

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

    Pradeep、您好!

    [报价 userid="597329" url="~/support/motor-drivers-group/motor-drivers/f/motor-drivers-forum/1446322/drv8434a-drv8434a---stall-detection-not-consistent/5556648 #5556648"]关于 Vref 计算、IFS 的峰值电流是否正确? 所示电机电流为均方根电流(0.67A)。

    是的、这是正确的。

    通常、在步进电机中、 除非另有说明、否则电流规格是在全步进驱动下指定的。 在全步进模式下、电流驱动将是方波、因此峰值和 RMS 相同。 因此、对于0.67A 规格、峰值也将相同为0.67A   

    对于微步进、电流将跟随正弦波、 因此 RMS 将为(峰值/√2)、因此、为了获得与全步进驱动相同的扭矩、线圈应过驱该量、这只是从输出扭矩的角度来看。 从电流驱动的角度来看、这种情况会产生大约1A 的峰值电流、正如您提到过的。 对于连续占空比运行、这可能会导致电机过热、因为系统在1A 电流下的损耗比在0.67A 电流下的损耗更高。例如、当您将电机停止在某个微步进分度器位置时、其中一个线圈将为100%、这将导致1A 的连续驱动。 在 FS 模式下、当您停止电机时、线圈电流不会超过0.67A

    这就是我们使用 FS 71%和 FS 100%模式的原因。 FS 71%模式会提供与微步进模式相同的 RMS。 FS 100%会使用更高的电流(Ipeak)对其进行驱动。  

    简而言之、如果您希望在不过热的情况下运行步进电机、则可能需要考虑在应用中减小 Ipeak。 这也将改善失速检测。 但是、如果您的应用需要 RMS 扭矩水平、您可以通过驱动1A 峰值电流来进行补偿。   

    关于波形、很遗憾、我们没有电流探针。 我们将尝试使用1/8微步进、看看它是否可以提高失速检测的性能。  [报价]

    我懂了。 好的、好的。 谢谢你。

    此致、Murugavel