stm32控制步进电机 带加减速和位移控制。
用定时器的pwm功能产生频率可调的脉冲,来驱动步进电机。用什么来记产生的脉冲数? 还有就是pwm波是一直有的,当到达位置后怎么使电机停转。 LZ标题不合格,另此问题论坛内相关帖子汗牛充栋,自己搜去~ 如果你懂得配置stm32,pwm的每个脉冲都可以产生中断的,在中断里面放一个变量a,用a++这样的语句就可以统计脉冲数量了。两定时器级联,主定时器PWM输出,从定时器计脉冲,16位定时器如果计数不够可以再级联一个从定时器,或者干脆选个带32位定时器的(stm32f0或stm32f4)。然后从定时器中设置CCR值即到达设定脉冲数产生中断使电机停止。 tyw996 发表于 2015-11-12 21:43
两定时器级联,主定时器PWM输出,从定时器计脉冲,16位定时器如果计数不够可以再级联一个从定时器,或者干 ...
从定时器是设置为计模式,计主定时器的脉冲数吗 codefish 发表于 2015-11-10 15:19
如果你懂得配置stm32,pwm的每个脉冲都可以产生中断的,在中断里面放一个变量a,用a++这样的语句就可以统计 ...
定时值设置为10CCR设置为5。当定时计数到5输出低电平,当定时计数到10就会进入中断吗? 本帖最后由 codefish 于 2015-11-13 08:55 编辑
对的。
不要说stm32,最早的8位51单片机也能这样。
如果不行,那可能是你没配置好寄存器。 比如从定时器CCR值设为5,ARR设置为最大(0xffff,其实就是上限),开启从定时器对应比较中断,当计数到5时(即5个脉冲数)就产生中断了。
页:
[1]