你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

关于STM32输出精确PWM脉冲数的方法?  

[复制链接]
hongtusy 提问时间:2013-9-11 08:50 /
在驱动伺服或步进电机的时候,都需要用精确的PWM脉冲数。并且PWM的频率都还挺高,一般100kHz,还可能是多路同时工作,比如驱动4个伺服。
大体看到有两种做法可以实现精确的脉冲数:1,外部再弄个IO口接到PWM脚上,用外部中断的办法,单独来计数。此办法可行,但非常不科学,并且浪费资源。   2,使用定时器,使用一个和PWM频率一致的定时器,使用定时器中断来计数。此方法比第一种办法好了很多,但是仍然感觉比较笨。
STM32的定时器寄存器中有一个重复次数寄存器RCR。   这个寄存器在定时器中可以使用,个人想,若这个重复次数能做到PWM的重复次数计数该多好?
请问大伙,这个能实现吗?或者有不用每个脉冲中断一次的办法实现PWM的精确计数吗?
收藏 5 评论36 发布时间:2013-9-11 08:50

举报

36个回答
回答时间:2013-9-11 13:09:18

RE:关于STM32输出精确PWM脉冲数的方法?

for(脉冲数)
{
IO高电平;延时;IO低电平;延时;
}
不好意思,发帖的时候点错,接着上面的发
王建 回答时间:2014-12-17 13:07:40
本帖最后由 王建 于 2014-12-17 13:13 编辑

我测试用STM32F103C8发出两路PWM,一路200KHz,另外一路150KHz,这两路频率都是固定的,同时以位置控制的模式(精确个数脉冲)驱动两个伺服电机,还带有USB通讯,没有什么问题。要搞六路的话,还得看资料,换资源多的芯片,六路有点多。DMA方式输出,控制机器人最少8路PWM输出,至少需要8路DMA传输完毕中断。不如上CAN open。
story_xjj 回答时间:2013-9-11 12:53:42

RE:关于STM32输出精确PWM脉冲数的方法?

RCR是重复次数计数器,如果你想要用这个你必须这样设置,
假设你想要测量的是100PWM周期为一次计数,需要重复计数10次的话:
1、选择TIM1的时钟源为“外部时钟源模式1”;
2、TIM1向上计数,且计数周期为100;
3、重复计数RCR设为10;
4、设置产生UDE更新时中断,你已经测量到100x10=1000个脉冲了。
以前用过STM32的PWM计数,测量发动机转速,都是基于比较捕获引脚的定时器计数或是中断计数,转速快的时候就用计数方式,转速慢的时候就测量周期,也挺好用的,就是中断进的次数多,不过我的项目中处理速度跟转速有关,所以必须进中断。
回答时间:2013-9-11 13:07:53

RE:关于STM32输出精确PWM脉冲数的方法?

直接用单片机的pwm不好控制,我控制步进电机的方法就是用到精确脉冲数,形如:
for()
{
}
stephenking 回答时间:2013-9-11 20:26:39

RE:关于STM32输出精确PWM脉冲数的方法?

可以选择使用DMA来控制发送的脉冲数,最大可以65535个。如果你的脉冲宽度一致,则DMA地址不增加的方式传输;如果你想使用不同频率,可以设置不同的装载值,PWM使用单次触发。如果你发送的脉冲数超过65535个,则可以使用DMA传输完成中断中切换DMA传输的数据起始地址及发送数量,继续发送。这个方法即方便,又减轻CPU的负担,可以同时驱动多个电机工作,还可以根据电机的启动-运行-停止使用不同的频率。不知道这个方法符不符合你的要求呢。
zykzyk-93033 回答时间:2013-9-11 21:11:04

RE:关于STM32输出精确PWM脉冲数的方法?

你的精确是什么意思?可控吗?
hongtusy 回答时间:2013-9-13 10:41:13

RE:关于STM32输出精确PWM脉冲数的方法?

精确可控就是: 比如我要输出100kHZ,占空比50%的PWM,发出102个脉冲后,自动停止。
发出的PWM脉冲数是准确的。而不仅仅是频率或占空比。
yygkqzh 回答时间:2014-3-31 18:31:24

回复:关于STM32输出精确PWM脉冲数的方法?

楼主,你好!
请问你实现了吗?
我也急用这个方法,而且最好是一个定时器控制一路,因为我需要6路脉冲。
翱翔云端的鸟 回答时间:2014-12-16 16:01:32
我也遇到了上述问题求教
1234下一页
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版