硬汉嵌入式论坛

 找回密码
 立即注册
查看: 4130|回复: 10
收起左侧

[有问必答] stm32pwm如何精确控制频率?

[复制链接]

28

主题

73

回帖

162

积分

初级会员

积分
162
发表于 2017-11-10 15:52:03 | 显示全部楼层 |阅读模式
现在需要做一个可以控制pwm频率的程序,要求是频率从1Khz开始每隔10ms频率增加1hz,一直增加到500Khz,如何才能实现呢?[sub][/sub][sup][/sup][strike][/strike]
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106934
QQ
发表于 2017-11-11 09:41:03 | 显示全部楼层
定时器中断最简单,实测F407,定时器中断频率可以搞到1MHz。不过你的中断服务程序越简单越好。
回复

使用道具 举报

28

主题

73

回帖

162

积分

初级会员

积分
162
 楼主| 发表于 2017-11-11 13:36:50 | 显示全部楼层

回 eric2013 的帖子

eric2013:定时器中断最简单,实测F407,定时器中断频率可以搞到1MHz。不过你的中断服务程序越简单越好。
(2017-11-11 09:41)
就是配置定时器,在定时器中断中进行反转输出pwm吗?stm32f103可以做到1hz累加吗
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106934
QQ
发表于 2017-11-11 13:38:09 | 显示全部楼层

回 月霜寒 的帖子

月霜寒:就是配置定时器,在定时器中断中进行反转输出pwm吗?stm32f103可以做到1hz累加吗 (2017-11-11 13:36) 
没问题,你测试下。
回复

使用道具 举报

28

主题

73

回帖

162

积分

初级会员

积分
162
 楼主| 发表于 2017-11-13 08:32:45 | 显示全部楼层

回 eric2013 的帖子

eric2013:没问题,你测试下。 (2017-11-11 13:38)
好的,我测试一下,谢谢[s:143][s:143]
回复

使用道具 举报

28

主题

73

回帖

162

积分

初级会员

积分
162
 楼主| 发表于 2017-11-13 15:03:09 | 显示全部楼层

回 eric2013 的帖子

eric2013:没问题,你测试下。 (2017-11-11 13:38)
我算了一下,我是103的主控,假使发出100KHZ的波,那么中断频率是10us,100001hz的波,中断频率是9.9999000009us,这个达不到,还是没有办法实现1HZ的频率累加,硬汉哥还有什么好的算法之类的方法吗?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106934
QQ
发表于 2017-11-14 00:34:22 | 显示全部楼层

回 月霜寒 的帖子

月霜寒:我算了一下,我是103的主控,假使发出100KHZ的波,那么中断频率是10us,100001hz的波,中断频率是9.9999000009us,这个达不到,还是没有办法实现1HZ的频率累加,硬汉哥还有什么好的算法之类的方法吗? (2017-11-13 15:03)
这样的话,那还真有些麻烦了,暂时我也没有思路了。
如果你会i.MX RT的话,搞这个比较轻松了,主频可以600MHz,你可以跑5MHz的中断,这样到500KHz,还有0.1的分辨率。
回复

使用道具 举报

28

主题

73

回帖

162

积分

初级会员

积分
162
 楼主| 发表于 2017-11-14 13:11:12 | 显示全部楼层

回 eric2013 的帖子

eric2013:这样的话,那还真有些麻烦了,暂时我也没有思路了。
如果你会i.MX RT的话,搞这个比较轻松了,主频可以600MHz,你可以跑5MHz的中断,这样到500KHz,还有0.1的分辨率。
(2017-11-14 00:34)
现在我们的主控已经确定了,没办法改了,对于步进电机的控制,有什么好的办法吗?这个高频也是为了控制步进电机
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106934
QQ
发表于 2017-11-14 14:15:42 | 显示全部楼层

回 月霜寒 的帖子

月霜寒:现在我们的主控已经确定了,没办法改了,对于步进电机的控制,有什么好的办法吗?这个高频也是为了控制步进电机 (2017-11-14 13:11) 
不行的话,换个思路可以不,控制一段时间内的脉冲数,做细分。

这里有个分享,你看看:http://www.armbbs.cn/forum.php?m ... 58&page=e#a
回复

使用道具 举报

28

主题

73

回帖

162

积分

初级会员

积分
162
 楼主| 发表于 2017-11-14 17:16:58 | 显示全部楼层

回 eric2013 的帖子

eric2013:不行的话,换个思路可以不,控制一段时间内的脉冲数,做细分。

这里有个分享,你看看:http://www.armbbs.cn/forum.php?m ... 58&page=e#a (2017-11-14 14:15)
好的,我现在也是打算分段控制,还没测试,我看看这个
回复

使用道具 举报

39

主题

929

回帖

1051

积分

至尊会员

积分
1051
发表于 2017-11-15 11:03:14 | 显示全部楼层
我觉得PSOC最符合这种应用场合了,PWM部分用verilog做可编程逻辑,精准控制。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-10 21:52 , Processed in 0.328763 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表