STM32怎么实现精确控制PWM输出数量同时能改变频率?

2019-07-21 02:44发布

目前要实现电机加速启动和减速停止,并且要实现精确定位,就是控制PWM输出数量。频率范围 4000-40K
STM32怎么实现精确控制PWM输出数量,驱动的同时能改变频率?
这个问题可能大家问过,我在网上查了些资料,基本有一下几种方法:
1:采样PWM输出模式,外部再弄个IO口接到PWM脚上,用外部中断的办法,单独来计数。此办法可行,但个人感觉不科学,太频繁进入中断,严重影响资源。
2:使用2个定时器,使用一个和PWM频率一致的定时器,使用定时器中断来计数。但计数的过程中怎么实现频率的改变
3:使用1个定时器产生PWM,设定一个量,改变这个量值来改变频率同时波形计数。但实验过程中频率不能较好的线性改变。
------------------------------------------------------------
以上是我个人总结的一些观点,各位大神有没有好的办法!谢谢!!!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
8条回答
翱翔云端的鸟
1楼-- · 2019-07-21 06:57
http://www.openedv.com/posts/list/46194.htm
跟我遇到了一样的问题,看看我的帖子吧,可能对你有帮助
倒拔萝卜
2楼-- · 2019-07-21 12:22
打开PWM捕获中断即可,每输出一个PWM波形,都会响应一次捕获中断,
你在捕获中断计数就是了
西域海盗
3楼-- · 2019-07-21 17:48
回复【2楼】翱翔云端的鸟:
---------------------------------
过了大半年才回复。呵呵!
按照你的方法控制一路PWM需要2个定时器。是不是占资源?
我目前的方案用一个定时器翻转输出电平,计数输出脉冲数。同时根据脉冲数改变定时器中断时间来改变PWM频率,从而实现电机的加速减速。
系统运行了大半年,算稳定。目前实现梯形加减速,S型的不会!哈哈。
—孤独¥的风
4楼-- · 2019-07-21 19:45
 精彩回答 2  元偷偷看……
day day up
5楼-- · 2019-07-22 00:44
回复【4楼】西域海盗:
---------------------------------
请问可以给个资料学习吗?
liujie136997963
6楼-- · 2019-07-22 01:38
西域海盗 发表于 2015-9-17 15:48
回复【2楼】翱翔云端的鸟:
---------------------------------
过了大半年才回复。呵呵!
按照你的方法控制 ...

那么你每一次改变的频率是多少呢?计算出来的值是否有小数

一周热门 更多>