野火电子论坛

 找回密码
 注册

扫一扫,访问微社区

查看: 17|回复: 1

[步进电机] 关于步进电机持续运动和在任意时刻改变运动状态的策略

[复制链接]
发表于 3 天前 | 显示全部楼层 |阅读模式
各位朋友大家号:
       我之前的步进电机驱动程序都是参考论坛里下载的野火版驱动程序,只是在自己使用的时候修改了定时器和单片机的引脚。最近使用步进电机的时候遇到一个问题,当我需要步进电机持续运动时,现有的控制指令(如m 1000)只能按照指令中的参数运动1000步,如果我在电机运动过程中发送其它指令,程序必须在当前指令运行结束之后才能运行其他指令。

       我现在需要设计一个方法,当我发送一个电机正转指令(如m+,或者 run+)之后,电机可以一直正向转动,直到地老天荒海枯石烂;当电机在持续正转时,若我在串口助手中发送了其它指令(如停止指令stp,反转指令m-或者run-),电机能立即结束当前动作,立即执行最新指令。

       我先说说我的方法,让电机持续正转的方法没想到;
       让电机停止,可以使用使能端控制,当驱动器处于禁止使能时,不输出驱动电流,电机无法运动,但是在单片机里面,PWM端口还在持续输出脉冲控制,若是此时对寄存器操作(比如 TIMx.CCR1 = 0;)令输出脉冲占空比为0,单片机会在上次脉冲指令输出完后才会为0(不知为何不能插队)。

   请教各位朋友有没有其它方法或着建议,欢迎讨论。

谢谢!
回复

使用道具 举报

 楼主| 发表于 3 天前 | 显示全部楼层
简而言之:
1.如何通过只发一次指令让步进电机一直转?
2.对于一直转动的步进电机,如何通过只发一次指令,让步进电机立即停止转动?
2.对于一直正转的步进电机,如何通过只发一次指令,让步进电机立即反向转动?

以上方法都要在单片机里实现,即可程控。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

野火电子公众号

手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号-2 大学生ARM嵌入式2群

GMT+8, 2020-3-29 01:27 , Processed in 0.115847 second(s), 29 queries , Gzip On.

野火电子论坛

© 2014-2016 www.firebbs.cn

快速回复 返回顶部 返回列表