ZHCSJO5D April 2020 – April 2021 DRV8889-Q1
PRODUCTION DATA
步进电机的绕组电流、反电动势和电机的机械扭矩负载之间有着独特的关系,如图 7-21 所示。当电机负载接近电机在给定的绕组电流下的扭矩能力时,反电动势将与绕组电流同相移动。通过检测电机电流的上升和下降电流象限之间的反电动势相移,该器件可检测到电机过载失速情况或线路末端运动。
失速检测算法仅在器件被编程为在智能调优纹波控制衰减模式下运行时才有效。CTRL5 寄存器中的 EN_STL 位必须为“1”才能启用失速检测。该算法可通过监控 PWM 关断时间来比较上升和下降象限之间的反电动势,并生成一个由 8 位寄存器 TRQ_COUNT 表示的值。进行比较时,TRQ_COUNT 值实际上与电机电流、电机绕组电阻、环境温度和电源电压无关。该算法支持全步进操作模式。
对于轻载电机,TRQ_COUNT 将为非零值。当电机接近失速状态时,TRQ_COUNT 将接近零并可用于检测失速状态。如果任何时候 TRQ_COUNT 降至低于失速阈值(由 8 位 STALL_TH 寄存器表示),器件将检测到失速情况,并且 STALL、STL 和 FAULT 位在 SPI 寄存器中被锁存为高电平。要指明 nFAULT 引脚上的失速检测故障,CTRL5 寄存器中的 STL_REP 位必须为“1”。如果 STL_REP 位为“1”,当检测到失速时,nFAULT 引脚将被驱动为低电平。在失速状态下,电机轴不会旋转。当失速状态消失后,电机又开始旋转。当已通过 CLR_FLT 位或 nSLEEP 复位脉冲发出清除故障命令后,nFAULT 线路将被释放并且故障寄存器将被清除。
系统会根据最近的四个电气半个周期计算 TRQ_CNT 的平均值。一旦计算出来,其在 100ns 内在 SPI 寄存器中更新。最近的 TRQ_CNT 更新之后,它会将值保留在 SPI 寄存器中,用于下一个电气半个周期,此后,TRQ_CNT 将更新为新值。电气半个周期的持续时间取决于微步进和步进频率。最多时,需要两个电气循环来检测失速。
失速阈值可以通过两种方式设置 – 用户可以写入 STALL_TH 位,或者让算法通过失速学习过程自行了解失速阈值。失速学习过程要求 CTRL5 寄存器中的 STL_LRN 位为“1”,并且电机会刻意失速一段时间,以使算法学习理想的失速阈值。该过程需要 16 个电周期,并且在成功学习结束时,会使用适当的失速阈值位来加载 STALL_TH 寄存器。此外,STL_LRN_OK 位在成功学习结束后会变为高电平。建议用户使用失速学习过程设置失速阈值,以进行正确检测失速检测。一种速度下的失速阈值可能不适用于另一种速度 - 因此,建议在电机速度发生变化时重新了解失速阈值。