crlfc 发表于 2015-11-10 13:31:13

stm32控制步进电机 带加减速和位移控制。

用定时器的pwm功能产生频率可调的脉冲,来驱动步进电机。用什么来记产生的脉冲数? 还有就是pwm波是一直有的,当到达位置后怎么使电机停转。

error_dan 发表于 2015-11-10 15:15:35

LZ标题不合格,另此问题论坛内相关帖子汗牛充栋,自己搜去~

codefish 发表于 2015-11-10 15:19:54

如果你懂得配置stm32,pwm的每个脉冲都可以产生中断的,在中断里面放一个变量a,用a++这样的语句就可以统计脉冲数量了。

tyw996 发表于 2015-11-12 21:43:03

两定时器级联,主定时器PWM输出,从定时器计脉冲,16位定时器如果计数不够可以再级联一个从定时器,或者干脆选个带32位定时器的(stm32f0或stm32f4)。然后从定时器中设置CCR值即到达设定脉冲数产生中断使电机停止。

crlfc 发表于 2015-11-13 07:28:33

tyw996 发表于 2015-11-12 21:43
两定时器级联,主定时器PWM输出,从定时器计脉冲,16位定时器如果计数不够可以再级联一个从定时器,或者干 ...

从定时器是设置为计模式,计主定时器的脉冲数吗

crlfc 发表于 2015-11-13 07:32:02

codefish 发表于 2015-11-10 15:19
如果你懂得配置stm32,pwm的每个脉冲都可以产生中断的,在中断里面放一个变量a,用a++这样的语句就可以统计 ...

定时值设置为10CCR设置为5。当定时计数到5输出低电平,当定时计数到10就会进入中断吗?

codefish 发表于 2015-11-13 08:54:20

本帖最后由 codefish 于 2015-11-13 08:55 编辑

对的。
不要说stm32,最早的8位51单片机也能这样。
如果不行,那可能是你没配置好寄存器。

tyw996 发表于 2015-11-13 19:46:41

比如从定时器CCR值设为5,ARR设置为最大(0xffff,其实就是上限),开启从定时器对应比较中断,当计数到5时(即5个脉冲数)就产生中断了。
页: [1]
查看完整版本: stm32控制步进电机 带加减速和位移控制。