您好!
我使用 DRV8889驱动电机、使其可以立即正向旋转、然后反向旋转、并且发生了开路负载故障。 测试结果如下

但是、在故障发生之前的200ms、电机电流不低于30mA、这意味着没有条件触发开路负载。
那么、我想问、还有什么可能触发开路负载?
通过 SPI 消息确认故障下拉电阻是由开路负载引起的、但 DRV8889的两组输出电流没有异常。 是否有任何其他现象可能导致开路负载故障?
谢谢、 此致、
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.
您好!
我使用 DRV8889驱动电机、使其可以立即正向旋转、然后反向旋转、并且发生了开路负载故障。 测试结果如下

但是、在故障发生之前的200ms、电机电流不低于30mA、这意味着没有条件触发开路负载。
那么、我想问、还有什么可能触发开路负载?
通过 SPI 消息确认故障下拉电阻是由开路负载引起的、但 DRV8889的两组输出电流没有异常。 是否有任何其他现象可能导致开路负载故障?
谢谢、 此致、
尊敬的 David:
是的、Itrip 和 IFS 是相同的。 我错了,我应该说 IFS。 要设置 IFS、请通过 TRQ_DAC 寄存器设置 TRQ_DAC 值(请参阅数据表中的寄存器映射部分)并施加 VREF 电压。 将根据您显示的公式设置 IFS。
您能告诉我示波器上电机电流的峰值吗?
根据大家分享的波形、我相信在 DIR 改变时、大家不要再提供步进脉冲。 这会导致电机电流在某个特定值停止。 如果该点的电机电流值大于30mA、则不会检测开路负载。 但如果它低于30mA、则会检测到开路负载。
此外、您能否共享您的寄存器设置? 我正在尝试了解在使用全步进模式时电机电流为什么为正弦。
此致、
卡兰
Karan、您好!
1. ol_time:200ms
2. MICROSTEP_MODE 不是 FULL_STEP 模式、而是1/32步进。

3. IFS 电流:160mA

当 STEP 信号停止(电机停止运行)时、MCU 将向 DRV8889 TRQ_DAC (0110 62.5%)和 SLEW_RATE (01 10.8V/us)的寄存器写入数据。 则会发生 OPEN_LOAD 故障。

您能帮助我找出导致 OPEN_LOAD 故障的原因吗? 是否有解决方案可以解决此问题?
谢谢、此致、
嗨、David:
有趣的是它发生在270°之外。
验证它的一种方法是 当报告 OL_A 或 OL_B 时、将电机再移动一个微步长。 如果 OL_A 未在新步骤上报告、则执行该操作。 原始 OL_A 不正确。 请注意、OLD 仅为报告类型、因此您可以将其添加到代码中、而无需考虑方向变化时的 OLD。
在上表中、"24"微步进是什么意思? 我们的器件没有1/24微步进、只有1/16和1/32 (以及其他)。
在下图中、我感觉 电机电流在您停止或改变方向时为0。 看起来您完成了~56个完整电气周期、以0电流结束。 我不正确吗?

当电流位于这些点时(红色箭头)、开路负载检测将不起作用:

此致!
雅各布
嗨、David:
" 您可以将旧代码添加到代码中,而忽略旧的方向更改。 "
这是否解决了 OPEN_LOAD 故障问题? 为什么?
OPEN_LOAD 故障 仅报告、这意味着所有 H 桥和器件的其余部分仍正常工作、没有任何情况被禁用。

David:
有关示例设置、请参阅数据表中的应用部分。 它还显示了详细的设计流程。
在您提供的所有故障示波器中、正弦波都接近0°、但第二个除外。 我假设这是导致上述故障的原因。 在第一个故障示波器截图中、波是90°、这使我相信另一个输出是0°。 我建议您通过放大电流波形来验证这一点。 如果情况并非如此、请随时与我分享。
正如 Jacob 所指出的、OL 检测故障是仅状态故障。 但不会停止驱动器操作。
如果您有任何其他问题、请告诉我们。
此致、
卡兰