ZHCSN20 April 2020 DRV8434A
PRODUCTION DATA
步进电机的绕组电流、反电动势和电机的机械扭矩负载之间有着独特的关系,如图 7-13 所示。对于给定的绕组电流,当电机负载接近电机的扭矩能力时,反电动势将与绕组电流同相。
通过检测电机电流的上升和下降电流象限之间的反电动势相移,DRV8434A 可以检测电机过载失速情况或线路末端运动。如果没有失速检测,驱动器将继续流过障碍物,从而导致发热、可闻噪音并损坏系统。
失速检测可取代成本高昂的霍尔传感器。与霍尔传感器的超时机制相比,集成的无传感器失速检测可在电机失速时立即做出响应。
失速检测算法可通过监控 PWM 关断时间来比较上升和下降象限之间的反电动势,并生成一个由扭矩计数表示的值。进行比较时,扭矩计数实际上与电机电流、环境温度和电源电压无关。
对于轻载电机,扭矩计数将为非零值。当电机接近失速状态时,扭矩计数将接近零并可用于检测失速状态。如果任何时候扭矩计数降到失速阈值以下,器件将检测到失速。在失速情况下,电机轴不会旋转。当失速情况消失后,电机又开始旋转。
电机线圈阻抗较高可能会导致扭矩计数低。DRV8434A 的 ENABLE 引脚允许按比例调高低扭矩计数值,以便于进一步处理。如果 ENABLE 引脚为高阻态,扭矩计数和失速阈值将乘以 8。如果 ENABLE 引脚为逻辑高电平,扭矩计数和失速阈值会保留算法最初计算的值。
DRV8434A 的失速检测算法可通过两个数字 IO 和一个模拟 IO 引脚配置 - STL_MODE、STL_REP 和 TRQ_CNT/STL_TH。
STL_MODE 对失速检测模式进行编程。当该引脚为逻辑低电平时,失速阈值由驱动器或外部微控制器 (MCU) 计算。TRQ_CNT/STL_TH 引脚会输出扭矩计数模拟电压。如果 STL_MODE 引脚断开(高阻态),它会启用失速阈值学习过程。如果学习成功,TRQ_CNT/STL_TH 引脚会将失速阈值输出为模拟电压。当 STL_MODE 为逻辑高电平(连接至 DVDD)时,可通过在 TRQ_CNT/STL_TH 引脚上应用电压来设置失速阈值。TRQ_CNT/STL_TH 引脚可同时充当输入或输出,具体取决于工作模式。1nF 电容器必须从 TRQ_CNT/STL_TH 引脚连接至 GND。在 STL_MODE 引脚和 GND 之间连接 330k 电阻会禁用失速检测。此外,如果存在任何故障条件(UVLO、OCP、OL、OTSD 等),将禁用失速检测。
STL_REP 为开漏输出。当 STL_MODE = GND 或 DVDD 时,如果没有任何失速故障,STL_REP 被驱动器拉至低电平;如果检测到失速,则变为高电平。如果 STL_MODE = GND 或 DVDD,并且 STL_REP 引脚从外部被拉至低电平,则会禁用失速故障报告,如果检测到失速,nFAULT 不会变为低电平。在失速阈值学习模式(STL_MODE = 高阻态)下,如果 STL_REP 从高电平变为低电平,即表明成功学习失速阈值。必须通过外部上拉电阻上拉 STL_REP。
以下过程介绍了失速阈值学习操作:
开始失速阈值学习之前,请确保电机速度已达到其目标值。请勿在电机速度加快或减慢时学习失速阈值。
通过将 STL_MODE 引脚设为高阻态来启动学习。
空载运行电机。
等待 32 个电气周期,让驱动器了解稳定计数。
让电机失速。
等待 16 个电气周期,让驱动器了解失速计数。
如果学习成功,STL_REP 将被拉至低电平。
失速阈值计算为稳定计数和失速计数的平均值。
学习成功后,TRQ_CNT/STL_TH 引脚会将失速阈值作为模拟电压输出,并在内部存储该值以用于扭矩计数模式。
学习成功后,一旦器件通过更改 STL_MODE 逻辑电平进入扭矩计数模式或失速阈值模式,STL_REP 就会变为高电平,nFAULT 会被下拉并且 TRQ_CNT/STL_TH 引脚上的电压会复位。
应用 nSLEEP 复位脉冲以拉低 STL_REP 并再次拉高 nFAULT。
有时,由于电机运行或失速时扭矩计数不稳定,失速学习过程可能无法成功进行。例如,当电机具有较高的线圈电阻或以非常高或低的速度运行时,扭矩计数可能会随时间变化很大,并且稳定计数与失速计数之间的差异可能很小。在这种情况下,建议不要使用失速学习方法。用户应仔细研究整个工作条件范围内的稳定计数和扭矩计数,并将阈值设为介于最小稳定计数和最大失速计数之间的中间值。
当电机最初加速时,建议将驱动器配置为纽约计数模式或失速阈值模式。如果器件在初始加速期间处于学习模式,学习过程可能会导致较低的失速阈值。一旦达到稳态速度,就可以开始学习过程。
表 7-6显示了可以检测失速的所有不同工作模式。
工作模式 | STL_MODE | TRQ_CNT/STL_TH | STL_REP | nFAULT | 说明 |
---|---|---|---|---|---|
扭矩计数模式 |
GND |
扭矩计数电压作为输出 | 输出:高电平:失速故障 输入:低电平:禁用失速报告 |
如果 STL_REP > 1.6V,nFAULT 会在检测到失速时变为低电平 | 此模式支持两种操作: 1.独立失速检测模式:驱动器负责失速检测和报告(前面需要带有学习模式)。 2.MCU 辅助失速检测模式:MCU 将 TRQ_CNT/STL_TH 电压作为输入,对任何二阶效应进行补偿,并将其与自己的失速阈值进行比较以检测失速。由于此工作模式是外部的,因此必须禁用器件失速报告。MCU 还可以基于扭矩计数运行算法来控制 VREF。 |
学习模式 | 高阻态 | 失速阈值电压作为输出 | 输出:高电平:未完成学习 低电平:学习成功 |
不适用 | 1.扭矩计数学习结果可通过 TRQ_CNT/STL_TH 引脚获得。 2.在这种模式下,电机必须空载旋转至少 32 个电气周期,然后失速至少 16 个电气周期,以便失速检测算法确定内部失速阈值。 |
失速阈值模式 |
DVDD |
失速阈值电压作为输入 | 输出:高电平:失速故障 输入:低电平:禁用失速报告 |
如果 STL_REP > 1.6V,nFAULT 会在检测到失速时变为低电平 | 从扭矩计数模式或学习模式记录扭矩计数,并向 TRQ_CNT/STL_TH 引脚应用所需的失速阈值电压。失速阈值电压必须低于从扭矩计数模式记录的扭矩计数。必须在电机正以扭矩计数模式旋转时选择失速阈值模式。 |
禁用失速检测 |
330k 至 GND |
输出:低电平 |
电机失速将被忽略,除非 STL_MODE = 0 或 1。 |
图 7-14 显示了 DRV8434A 驱动器的失速检测流程图。