目前要实现电机加速启动和减速停止,并且要实现精确定位,就是控制PWM输出数量。频率范围 4000-40K
STM32怎么实现精确控制PWM输出数量,驱动的同时能改变频率?
这个问题可能大家问过,我在网上查了些资料,基本有一下几种方法:
1:采样PWM输出模式,外部再弄个IO口接到PWM脚上,用外部中断的办法,单独来计数。此办法可行,但个人感觉不科学,太频繁进入中断,严重影响资源。
2:使用2个定时器,使用一个和PWM频率一致的定时器,使用定时器中断来计数。但计数的过程中怎么实现频率的改变?
3:使用1个定时器产生PWM,设定一个量,改变这个量值来改变频率同时波形计数。但实验过程中频率不能较好的线性改变。
------------------------------------------------------------
以上是我个人总结的一些观点,各位大神有没有好的办法!谢谢!!!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
---------------------------------
过了大半年才回复。呵呵!
按照你的方法控制一路PWM需要2个定时器。是不是占资源?
我目前的方案用一个定时器翻转输出电平,计数输出脉冲数。同时根据脉冲数改变定时器中断时间来改变PWM频率,从而实现电机的加速减速。
系统运行了大半年,算稳定。目前实现梯形加减速,S型的不会!哈哈。
一周热门 更多>