解决STM32下步进电机无法转动的问题

步进电机无法转动问题解决

现象

输出比较模式/PWM模式下下,设置好pulse, dir和enable通道,编译器正常烧录,电机轴锁住,会有微微的蜂鸣声,有时候又会有点震动,但电机不转动。

调试

1.电机轴能够锁住,说明enable已经使能成功
2.相同的pwm波形,用二极管代替电机,二极管发光,说明可以输出PWM波形。同理,利用keil的仿真模式,显示波形输出引脚的波形图,可以看到PWM波形,也印证了波形是可以输出的
3.利用keil debug模式,观察GPIO在key按下时的状态变化,证明key生效。在key按下时,里面的程序换成串口输出信息,同样证明key GPIO生效。
4.检查驱动器电源和驱动器之间的连接,我用的是一根杜邦线,电流太小,把杜邦线换成5A线,电机依旧没转
5.检查程序,例程对应为32细分,驱动器没有设置成32细分。将驱动器设置成32细分后,电机依旧没转
6.怀疑是驱动器on/off上拨还是下拨搞反,找到商家技术确认,确认搞反(之前商家销售说的是反的),将on/off状态弄对后,电机已经可以平稳转动了。

总结

1.先检查各引脚设置以及生效
2.步进电机驱动器上的细分一定要能和程序中PWM的频率对上

作者:大杯啤酒

物联沃分享整理
物联沃-IOTWORD物联网 » 解决STM32下步进电机无法转动的问题

发表回复