Part Number:DRV8889-Q1
我在使用DRV8889 驱动 Nidec 电机MSRPC20B09的时候。想要检测 线圈断开,堵转以及丢步。
芯片手册中描述“失速检测算法仅在器件被编程为在智能调优纹波控制衰减模式下运行时才有效”(中文手册36页)
然而,在我实现过程中,设置到上述衰减模式之后。拔掉电机,芯片(drv8889)无法检测。
有什么建议么?
Cherry Zhou:
您好,我们已收到您的问题并升级到英文论坛寻求帮助,如有答复将尽快回复您。谢谢!
,
Cherry Zhou:
您好,
我们确认下您的问题是有关open load还是stall?以上手册截图似乎仅指 STALL。 open load是不同的问题。
,
qiang lin:
我在这个应用中,stall和open load都需要检测。贴图说明我为什么选择默认的衰减模式。
我先调试的是检测open load。打算调试完成后再研究stall。
下面是我设置的一些参数(未列出的寄存器使用的是默认值,我未写入):
1. TRQ_DAC = 0xA;//37.5% current2. MICROSTEP_MODE = 0x0A;//256 micro step mode
3. EN_OL = 0x01;//enable open load detection
使能PWM输出(到DRV8889的step)
4. STL_LRN = 0x1;//learn stall count for stall detection
5. EN_STL = 0x1;//enable stall detection
6. STL_REP = 0x1;//stall detection is reported on nFAULT上面列出了我的设置,不确定是否有不合理的地方。
,
Cherry Zhou:
好的,您先看下以下回复,我们将新的信息转达给工程师:
qiang lin 说:芯片手册中描述“失速检测算法仅在器件被编程为在智能调优纹波控制衰减模式下运行时才有效”(中文手册36页)
是的,失速检测仅在智能调优纹波控制 STRC 衰减模式(默认衰减模式)下工作。 对于所有其他衰减模式,失速检测即使已启用也不起作用。
失速和开路负载检测是两个不同的特性。 如果启用,在激活时拔下/断开步进电机将触发 OL (开路负载)故障。 可能检测到失速,也可能检测不到失速。 当电机机械失速时,如果失速检测设置正确,并且电机根据过载达到机械停止或失速,那么就会检测失速。
能否提供下 Nidec MSRPC20B09步进电机的电机规格?以及此此电机的数据表? 以及使用的电源电压、目标满量程电流设置和用于测试电机的微步进设置。 测试用的是 DRV8889-Q1EVM 还是使用您的硬件完成的?
,
qiang lin:
电压是12V。微步是256,电流不确定是否是我设置的37.5%。测试用我们自己的硬件MSRPC20B09仕様書(参考用).pdf
,
Cherry Zhou:
好的我们跟进给工程师看下。
,
Cherry Zhou:
您好,
您提到电流为设置的37.5%(待确认)。 我们假设 VREF = 3.3V,这将会转换为1.5A x 0.375 = 0.5625A 的满量程电流 FSI。 在目前的情况下,在以下条件下会出现 OL 检测的已知问题。 当 FSI < 0.96A 和1/64或更高的 uSteps、FSI < 1.5A 和1/128和1/256 uSteps 时,将不会检测到 OL。 因此,为了使 OL 检测与您的电流设置配合使用,我们建议使用1/64 uSteps 或较小的微步进值1/32、1/16等。
此外请注意,当OL 检测enabled时,必须要避免以下条件(数据表中的代码段下方),以防错误的 OL 检测:
而关于stall检测,您这边能否成功执行学习流程? 当电机以恒定目标速度运行以及stall时,扭矩计数值(来自寄存器)是多少?
还想补充一点,步进器datasheet提到绕组的直流电阻(DCR)为20欧。 DCR 值高于10欧,与1/256、1/128或1/64等更高的微步进相结合时,在步进器的稳定状态目标速度下,可能会导致扭矩计数非常低,并且失速检测可能不起作用,因为电机产生的反电动势上的 SNR 非常低。
除此之外,根据datasheet,该电机会以机械方式具有一个集成齿轮箱。 在这些情况下,使用 DRV8889-Q1可能无法可靠地检测该电机的失速。
,
qiang lin:
谢谢!VREF确实是3.3V。我根据建议调一下程序(OL)。从寄存器读出来的扭矩计数值(TRQ_COUNT)几乎一直为0. stall 我没有仔细调。电机里有减速器,依赖DRV8889-Q1来检测丢步应该不合适了。调完OL我再研究吧
,
Cherry Zhou:
好的,您先继续debug,我们先把扭矩计数值跟进给工程师。