您好,
我们的产品使用失速检测来查找步进电机在通电时的端点。 系统正在为第一个原型运行,但第一个样品生产运行的10个样本中有4个未正确检测到停机。
我们的电动机具有相对较高的电感(68mH/22Ohm),即使是半步进,最大SMPLTH值1ms也只是刚刚足够长,但它看起来应该正常工作,但实际上不工作。 我们希望将SDCNT设置为4个步骤,但将其设置为1进行故障排除。
步进速率约为1.2毫秒
我已包含一个示波器跟踪,显示了问题。
CH0—步进输入脉冲
通道1-黄色,nstall
CH2,蓝色,BEMF
CH3,粉红色,电机相位电压-零电流步进
CH4,绿色,电机相位电流—零电流步进。
蓝色光标-显示零电流步进脉冲后的1ms窗口
采样阈值设置为大约1/4满刻度。
问题似乎在于BEMF样例出现在错误的时间。 在以下示例中,光标A位于步进输入处。 370uS之后,BEMF变高(这一次似乎与任何事情都无关。 从应采样BEMF的步骤开始1毫秒后,BEMF引脚再次变低。 当BEMF变高时,下一步n档销变高。 如果SDCNT设置为高于0 (1步),则停止引脚永远不会激活。
在工作正常的主板上,止动销在整个失速事件中保持低电平。
我们尝试更改步进速率,降低电流,因此PWM主动限制电流(不可取,因为我们想要最大扭矩),尝试其他微步进级别,更改电压阈值,更改衰减速率。 似乎没有什么帮助。
我们已考虑将SDCNT保持在1步,并实施我们自己的失速计数算法,但由于问题尚未完全了解,因此不确定这是否是一个可靠的解决方案。