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

步进电机驱动

8a592285ef16a4ac 2018-11-23 浏览量:985
本人使用的STM32单边机直接使用普通IO口模拟PWM端口发送PWM脉冲信号实现对步进电机的控制,在使用定时器操作是容易出现丢脉冲的现象,如何解决
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 不知道你的步进电机控制器是啥样子的,使用模拟方式去控制的话,控制的精读不好把握吧。PWM是用来控制直流电机速度的,步进电机的控制是脉冲。一个脉冲转动一下,至于转动的角度是由控制器的细分数决定的。
    • 发布于 2018-11-24
    • 举报
    • 评论 0
    • 1
    • 0

其他答案 数量:16
  • STM32的IO不能直接驱动步进电机,至少也要加个达林顿管才行。

    如果你有驱动器,一般驱动器也是使用脉冲来控制电机,而不是PWM,通过控制脉冲的频率来控制电机的速度。

    不知道你的硬件到底是怎么弄得,所以很不好判断。

    你可以从电机的驱动电流和你的脉冲频率是否太高的方向进行排查


    • 发布于2018-11-23
    • 举报
    • 评论 0
    • 2
    • 0

  • 这种情况建议用示波器看看你的波形....用IO模拟的话不能保证波形的质量
    • 发布于2018-11-23
    • 举报
    • 评论 0
    • 1
    • 0

  • IO口驱动能力是不够的,要加驱动电路
    • 发布于2018-11-23
    • 举报
    • 评论 0
    • 1
    • 0

  • 建议用PWM控制IC来驱动步进电机,这样精度比较高!
    • 发布于2018-11-24
    • 举报
    • 评论 0
    • 1
    • 0

  • 步进电机最好不要用pwm直接驱动,用外部ic驱动好,步进电机驱动模块3元,自己写代码效果达不到模块性能,而且你自己还要用mos管驱动,成本比用模块还贵
    • 发布于2018-11-23
    • 举报
    • 评论 0
    • 0
    • 0

  • 应该是pwm频率低了或者脉宽设置的不对 毕竟电机也有反应时间
    • 发布于2018-11-24
    • 举报
    • 评论 0
    • 0
    • 0

  • 来个驱动芯片或者电路(直接上MOS管也行)
    • 发布于2018-11-24
    • 举报
    • 评论 0
    • 0
    • 0

  • 用l293d步进电机驱动芯片会容易很多
    • 发布于2018-11-26
    • 举报
    • 评论 0
    • 0
    • 0

  • io模拟的话不能保证波形符合要求,最好用定时器输出pwm,并且驱动步进电机需要加驱动器。

    • 发布于2018-11-26
    • 举报
    • 评论 0
    • 0
    • 0

  • 你这是不是其他高优先级的中断,打断了这个模拟pwm的中断啊
    • 发布于2018-11-27
    • 举报
    • 评论 0
    • 0
    • 0

  • 这种直接用定时器的PWM输出就好,不要用模拟的PWM
    • 发布于2018-11-27
    • 举报
    • 评论 0
    • 0
    • 0

  • 是不是定时器没有设置好啊, 看看优先级,循环,初始化配置等
    • 发布于2018-11-29
    • 举报
    • 评论 0
    • 0
    • 0

  • 要看你的PWM输出,一般都是通过模拟的方式控制
    • 发布于2018-12-27
    • 举报
    • 评论 0
    • 0
    • 0

  • 根据的控制器有关系,一大部分都是用PWM控制
    • 发布于2018-12-30
    • 举报
    • 评论 0
    • 0
    • 0

  • 这个一般都是你的定时器配置的问题,检查你的分频参数
    • 发布于2019-01-07
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

步进电机驱动