关于Arduino驱动步进电机驱动器控制步进电机导致电机跑飞问题

꧁༺雨月·听枫༻ ꧂ ꧁༺雨月·听枫༻ ꧂ 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区

最近在做一个项目,主要内容是,通过Arduino Mega2560控制3个步进电机驱动器,进而控制步进电机实现带目标物进行移动。代码中使用了定时器中断,1KHZ的频率访问定时器,再通过串口,发送指令,控制步进电机进行移动。在几乎快调试完成后,发现一个重大问题,在有时候突然发送指令时,步进电机会不受控制的跑飞,除非再次发送指令,不然步进电机会一直按照某种异常的速度不停移动。

步进电机是通过驱动器进行控制的,所以只需要DIR和PUL两个脚控制即可,PUL脉冲波形的频率在正常情况下,我只给到了400HZ,50%占空比。在异常情况下,频率会突然飚的很高,达到了几KHZ,但是程序中没有代码让他按照此种频率运行。

而且该问题出现的时机是偶然的,都在串口发送完指令,Arduino接受解析完指令,再控制步进电机是出现,概率很高。

不知道有没有大佬遇到类似情况,给小弟指条明路,由于是第一次使用Arduino 开发项目,代码还是参考网上的。

定时器中断部分代码

 

串口接收数据 部分代码

...全文

相关推荐

评论
收藏 已收藏
分享
返回顶部