基于STM32步进电机控制器用PWM调速怎么实现精确到一个输出脉冲的控制?

2019-07-14 16:38发布

在用STM32做一个简单的步进电机控制器,脉冲50-100K,要求能任意调速,且能给定脉冲数给控制器让电机走完指定步数。用定时器测试了一下,功能基本可以实现,但感觉不理想,主要是频繁进中断频率不能太高及速度调整不便问题,所以想用PWM来实现,用PWM调速和加减速处理倒不是问题,但不知怎么实现精确到一个输出脉冲的控制。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
11条回答
zzpf
1楼-- · 2019-07-14 21:27
加减速不太好做
LEON1985
2楼-- · 2019-07-15 03:03
 精彩回答 2  元偷偷看……
YOYOOO
3楼-- · 2019-07-15 07:38
可以使用另一个定时器计时,计时结束中断时停止PWM输出。
tigerwang711
4楼-- · 2019-07-15 08:49
比如需要输出120个50kHz的脉冲,计算得知每个脉冲是20us,120个脉冲需要2.4ms,这样计时2.4ms后停止PWM输出即可。只要中断响应的时间不超过20us就没有问题。
成长的小师弟
5楼-- · 2019-07-15 13:09
sharp4016的方法也曾想到过,但要浪费一些IO端口
uvysdfydad
6楼-- · 2019-07-15 13:47
如果PWM有一个类似输出比较寄存器就好了。

一周热门 更多>