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:不同驱动器设置之间的电机精度不同

Guru**** 2507255 points
Other Parts Discussed in Thread: DRV8462

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

https://e2e.ti.com/support/motor-drivers-group/motor-drivers/f/motor-drivers-forum/1549294/drv8462-motor-precision-different-between-different-driver-settings

器件型号:DRV8462


工具/软件:

您好、

我遇到了在自动步进模式或静音步进模式下运行驱动程序时无法获得适当精度的问题。  对于此应用、我们使用 DRV8462 驱动器运行通过正时皮带连接到砂轮的步进电机。  砂轮用于送入塑料薄膜。  我们使用由 Arduino 控制的外部旋转编码器通过固件确定正确的步数/毫米来校准电机。   我们想要自动微步进模式和/或静音步进模式、因为它允许我们以所需的速度和可接受的噪声水平运行电机。  在这两个设置中、它们始终未通过校准步骤、并且故障模式显示为随机的(即:旋转编码器节拍与以线性或相关方式行驶的距离不对应)。  不过,有趣的是,当我在关闭这些设置的情况下运行驱动器时,它会始终通过校准过程 — 这里的主要缺点是电机运行噪音过大。   这里提出了两个主要问题:

1) 这种绩效差异的原因可能是什么?
2) 有哪些方法可以获得所需的精度并降低整体噪声水平?

如果您有任何其他问题、请告诉我。 以下是校准流程和项目事实的更多背景信息。  提前感谢!

----------------------------------------------------------------------------------------

将编码器安装到机器上的过程如下:
1.设置任意步数/mm 值。
2.告诉电动机走一定的距离(本例为 50mm )
3.计算编码器计数的节拍数。
4.将数字转换为刻度数,任意步数/mm 转换为实际行驶距离。
5.重新计算新的步数/mm 值。
6、验证步骤:告诉电动机走的距离与步骤 2 相同。
7.计算编码器计数的节拍数。
8.验证编码器节拍数是否与我们允许的容差范围内的行进距离一致。
9.如果它在允许的公差范围内,请设置步长/毫米值。  如果不是、则是故障。
注意:电机以大约 400 转/分转速运转(输出到大约 500 毫米/分钟的进纸)。  此外、我们还成功将该编码器和校准过程用于其他应用。

其他项目事实:
-我们正在为切割机构建一个定制的 PCB ,它由 2 个双极步进电机驱动(一个在 x 轴,另一个在 y 轴。  为此、只有 y 轴电机适用于随附数据表的情况)。
-我们将在 SPI 模式下使用 DRV8462 电机驱动器、以利用 SPI 模式下的一些可用功能。
-微控制器是一个 Arduino 克隆,固件是一个修改的 GRBL 代码(主要修改是添加 SPI 通信)
-在制作和设计定制 PCB 之前,我们使用连接到 Arduino 板的评估板进行了测试。  评估板使用基于网络的 GUI 进行配置、固件只是正常的 GRBL 代码。  工作正常。
-切割机使用的是 48V 电源。

e2e.ti.com/.../3757.ML23HS0P4100.pdf

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

    尊敬的 Phillip:

    感谢您发送编修。 请让我回顾一下、然后回来。

    此致、Murugavel  

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

    尊敬的 Phillip:

    感谢您分享电机数据表。 这是一款具有高电感 16mH 电感的 NEMA23 步进电机。 您提到应用程序速度为 400 RPM。 对于 1.8° 电机、全步进模式下的步进速率为 1333 步进/秒、1/256 步进模式下的步进速率为 341.248 步进/秒。 我们建议将步进速率保持在 100kHz 的最大值。 虽然 STEP 的数字输入能够接受高达 500kHz 的电流上升和衰减时间 可能无法跟上、从而导致正弦波失真。 将步进速率降至 1/64 有助于将步进速率降至 85.3kHz。 如果您使用自动微步进、请选择 1/64 步进模式。 当在内部启用静音步进时、驱动器使用 1/256 步进模式。 在此用例中、请勿使用静音步进模式。 为了更大限度地降低可闻噪声、请使用智能调优纹波控制衰减模式或智能调优动态衰减、以哪种模式可提供最佳结果。  

    如果在进行这些更改后仍有问题、我们能否以稳态速度捕获电流波形? 谢谢你。

    此致、Murugavel  

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

    您好 Murugavel、

    感谢您回复我。  在我的初始帖子中、我的应用程序速度出现错误。  顶端为 400RPM、但校准实际为 30RPM。  在这种较慢的速度下、我看到我在初始帖子中提到的设置中的校准失败。  这会改变您的建议吗?

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

    尊敬的 Phillip:

    感谢您的跟进。 是、在 30RPM 且使用 1/256 步进模式时、或具有 1/256 的自动微步进不应导致任何问题。  为了更大限度地降低可闻噪声、请使用智能调优纹波控制衰减模式或智能调优动态衰减、以哪种模式可提供最佳结果。  

    关于静音步进模式、如果调整适当的电流调节正弦波相电流波形不正确、则可能会丢失步进。 除了在电机运行或设置过低时启用和禁用静音步进模式之外、静音步进转换步进速率也可能会导致步进缺失。 为了获得一致的性能、您应该在整个运行过程中以静音步进模式运行、并进行适当的 PID 调优。 您可以将静音步进 转换阈值设置为更高的步进速率值。 如果没有、您可能希望避免静音步进模式。 谢谢你。

    此致、Murugavel   

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

    这对我来说毫无意义。  我的假设是、在较慢的速度下、驱动程序应更精确、并且不易跳过步骤。  但是、我的编码器读数表明情况并非如此。  我正在尝试您的所有建议、所以当我了解这些建议时、我会更新您的建议。  这可能会导致以下问题:电机在使用自动微步进或静音步进时失去精度、但在不使用它们的情况下足够精确?

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

    尊敬的 Phillip:

    那么您是对的。 在较慢速度下、步进电机不太可能失速或跳过步进、因为其输出扭矩往往较高。 这是步进电机转速与扭矩特性的性质。

    我的第一点是、如果您在电机旋转时在静音步进模式和非静音步进模式之间动态切换、则可能会丢失步进。 为了避免这种情况发生、您可以将静音步进转换阈值设置为最大值、这样驱动器就可以在整个速度范围内以静音步进模式运行。 请参阅下面的示例设置。

      

    第二点是确保正确调整静音步进模式 PI 环路、以在所需的电流振幅电平下实现无失真正弦波输出。 请注意、静音步进模式下的电流调节不是使用 Itrip 比较器逻辑完成的。 相反、它使用 PI 环路通过固定 fPWM 进行电流调节。 请参阅数据表中的下面方框图。 如果 SS 步进模式 PI 环路 不完美、则可能会导致步进缺失。 这就是我的意思。   

    自动微步进基于数字内插器、该内插器可从 STEP 输入的一个完整周期内插子步进。 一旦启用自动微步进、便会根据前两个 STEP 输入脉冲之间的时间来计算子步进周期  

    如果 STEP 输入频率发生变化(例如加速或减速)、插值会根据频率变化的方向自动校正或保持。 请参阅以下信息。 只要 STEP 脉冲输入介于 10Hz 和 300kHz 之间、汽车微步进就有望非常准确地运行、而不会出现步进损耗。 谢谢你。   

    此致、Murugavel  

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

    感谢您的解释。  我只是在不同的设置下进行了一系列测试、我注意到了一些可能导致我所看到的精度不高的问题。  当电机旋转和停止时、当电机停止时、我可以看到主轴稍微朝相反方向旋转。  起初我假设这是电机主轴连接到的正时皮带机构的问题。  但是、当电机与机械系统断开连接时、我仍然看到这种情况发生、这使我认为这是一个电气问题。  您以前是否遇到过此问题?  您能解释一下这里会发生什么吗?  谢谢!

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

    此外、为了更详细地说明一点、电机停止后和发生反向旋转之间存在非常轻微的延迟。  当电机停止时不会立即发生相反旋转、因此似乎不太可能出现机械问题。   

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

    尊敬的 Phillip:

    当电机旋转和停止时、当电机停止时、我可以看到主轴以相反的方向稍微旋转。

    您是否看到这种启用和禁用自动微步进的行为有任何区别?  

    当瞬时阶跃输入停止时、假设使能引脚保持逻辑高电平、我期望电机保持在位置、线圈 A 和 B 中的最后一个分度器位置电流。 如果在电机停止的同时使能设置为低电平,则可能会因惯性而出现过冲 — 空载时是转子惯性,加载时是系统惯性。 不过、如果在阶跃输入电气停止时使能为高电平、则预计不会出现不必要的驱动。 您应该能够使用示波器捕获此结果并分析 — 捕获线圈 A 和 B 电流 (包括 STEP 输入的最后一个下降沿)。 线圈中的保持电流将是最后一个分度器位置的函数。  

    在机械结构上、转子可以具有全步进或半步进的二阶脉冲响应、尤其是在电机输出没有充分衰减的情况下。 转子将会如此轻微地来回反弹、最终稳定到稳定的状态值。 但这不会导致位置错误。   

    请参阅下面的屏幕截图。 这里显示了全步进模式。 蓝色图是电机轴上无任何负载时的编码器位置输出、红色图是电机轴上有负载时的编码器位置输出。 在微步进模式下、这种行为将几乎消失。 谢谢你。

    此致、Murugavel  

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

    所以我弄清楚了问题是什么。  我们的固件具有“Step Idle Delay“配置选项、在该配置选项中、运动完成后、固件会在设定的延迟后禁用电机。  一旦我禁用了这个功能、它就完全解决了这个问题。  然而、这会带来一个单独的问题 、即电机会无限期保持启用。  我希望能够降低电机功率、同时在电机 空闲时仍保持其保持功率。   是否有办法配置 DRV8462 驱动程序来实现这一点?  如果是、您会如何推荐我使用它?  谢谢!

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

    尊敬的 Phillip:

    感谢您的更新。 很高兴您找到了此问题的根本原因。

    但是、这会带来一个单独的问题 、即电机无限期启用。  我希望能够降低电机功率、同时在电机 空闲时仍保持其保持功率。   是否有办法配置 DRV8462 驱动程序来实现这一点?  如果是、您会如何推荐我使用它?  [/报价]

    。  静止省电模式 该器件中的模式允许您使用寄存器配置较低保持电流以及可编程的延迟时间和下降时间设置、以便较低的电流在停止操作稳定后触发。 这将有助于电机在常规保持电流水平期间过热。 发出新的 STEP 脉冲后、将自动并立即退出静止模式、驱动器将以正常的电流设置恢复。 EVM GUI 的以下部分可帮助评估此功能。 谢谢你。

    此致、Murugavel