• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

关于如何不关闭定时器 停止PWM输出 电机停转问题

lilei 2019-07-18 浏览量:2315
定时器PWM输出四通道控制步进电机,现在功能中需要电机停转一段时间,但是在此时间内,定时器不能关闭,因为在中断里还要做其他事情 依赖于定时器中断 所以直接disable定时器不行2 所以我想请问下各位大佬 有什么方法可以关闭电机一段时间 谢谢

0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 如果使用的是STM32 HAL库的话,可以用HAL_TIM_PWM_Stop函数。不过要注意该函数中最后还是禁用了Timer,所以要把禁用的那句disable一下。

    另外,是否有其他定时器,如果只是简单的定时任务,可以把定时任务交给这个空闲的定时器,一个定时器不要干太多事情,不然容易出现混乱。

    微信截图_20190718172700.png

    • 发布于 2019-07-18
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:4
  • 抛砖引玉一下,在控制电机的线路添加一开关或继电器,利用定时器中断(保险的话再添加一定时器)来控制电路的通断进而控制电机,不知可否?
    • 发布于2019-07-19
    • 举报
    • 评论 0
    • 0
    • 0

  • 可以把pwm管脚暂时配置成io模式,这个时候pwm不起作用,定时器也没停,然后通过电平高低关闭电机
    • 发布于2019-07-19
    • 举报
    • 评论 0
    • 0
    • 0

  • 停止输出PWM波步进电机继续转动是电机惯性导致的,要想电机停转就得阻止电机转动,步进电机速度不高还是比较好控制的,只需要在停止步进电机前让步进电机保持通电相不变0.5到1秒,然后再断电。
    • 发布于2019-07-19
    • 举报
    • 评论 0
    • 0
    • 0

  • 其实我很不明白你说的到底是什么意思,不过既然你遇到了这样的问题,那么一定程度上说明你的代码的逻辑没有处理好,你让PWM都变成0,那么不就可以让电机停止转动了
    • 发布于2019-07-19
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

关于如何不关闭定时器 停止PWM输出 电机停转问题