打印
[电机及执行机构驱动]

关于步进电机如何持续运动与任意时刻改变运动状态的控...

[复制链接]
8441|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
MissFortune|  楼主 | 2020-3-26 16:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
各位朋友大家好:
       最近使用步进电机的时候遇到一个问题,当我需要步进电机持续运动时,现有的控制指令(如m 1000)只能按照指令中的参数运动1000步,如果我在电机运动过程中发送其它指令,程序必须在当前指令运行结束之后才能运行其他指令。

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

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

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

谢谢

使用特权

评论回复

相关帖子

沙发
MissFortune|  楼主 | 2020-3-26 16:43 | 只看该作者

简而言之:
1.如何通过只发一次指令让步进电机一直转?
2.对于一直转动的步进电机,如何通过只发一次指令,让步进电机立即停止转动?
2.对于一直正转的步进电机,如何通过只发一次指令,让步进电机立即反向转动?

以上方法都要在单片机里实现,即可程控。

使用特权

评论回复
板凳
触觉的爱| | 2020-3-27 15:43 | 只看该作者
在逻辑控制中,考虑优先级处理的级别。 当然了,如果你的控制中是有循环控制的,考虑通过全部变量……

比如,现在A电机正转,总步数还有2000步。需要马上停止, 剩余的步数变量清零……如果是在循环控制中的,在中断中修改。 如果是速度较高的,可能还得减速后才能停止。这样还得转入减速控制……  能实现动态切换速度,其它的不是问题

关闭使能来停止电机,是不可取的。电机转动后会有惯量,关闭使能就是关闭功率级,可能会出现惯性过冲。必须要即刻停止的,最佳是用电磁闸刹车

使用特权

评论回复
地板
caitao1103| | 2020-4-1 10:17 | 只看该作者
有同样的困惑需要解决

使用特权

评论回复
5
sky9218| | 2020-4-23 14:44 | 只看该作者
加入一个运行状态机制实现你的控制状态。而步进电机的运行条件哪是另一回事,无论是停止还是正反转控制,在此过程中,由于惯性作用,都要加入加减速控制机制。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

11

主题

82

帖子

0

粉丝