• 已解决 33245 个问题
  • 已帮助 5744 位优秀工程师

stm32如何输出指定脉冲个数来驱动步进电机

yhj416606438 2020-08-12 浏览量:975
如果用pwm输出脉冲就不能对脉冲计数,如果用定时器反转io那么速度太慢,有没有指定输出脉冲数量的功能
单片机 STM32
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 我刚刚就做了一个这样的项目。发送固定数据的脉冲,我使用的方式是:

    使用定时器的PWM_CH  模式,脉冲由定时器自动产生,然后在定时器中断里面计数脉冲个数。


    • 发布于 2020-08-12
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:6
  • 第一,用定时器生成1KHz-10KHz的pwm是绝对够的,步进电机好像不需要达到这么快的速度。

    第二,pwm输出脉冲是可以计数的,他有输出中断,你通过中断数去判断发送的脉冲个数去关闭pwm模块

    • 发布于2020-08-12
    • 举报
    • 评论 0
    • 0
    • 0

  • 如果使用的单片机输出PWM就不能计数的话,可以再使用一个定时器中断,中断时间要快,在这个里面判断PWM的IO口的状态也可以实现计数
    • 发布于2020-08-12
    • 举报
    • 评论 0
    • 0
    • 0

  • 你把输出的信号再接回到单片机的定时器的捕获外设上就可以对脉冲个数实时的测量了
    • 发布于2020-08-12
    • 举报
    • 评论 0
    • 0
    • 0

  • 可以另外找个定时器,大致计算一下输出指定个脉冲需要多长时间,时间到了就停止PWM输出
    • 发布于2020-08-12
    • 举报
    • 评论 0
    • 0
    • 0

  • 之前写过一个,用一个定时器输出PWM,然后在单片机内部用输出哪一个定时器的作为频率时基,然后计数即可

stm32如何输出指定脉冲个数来驱动步进电机