打印

pwm频率问题

[复制链接]
8226|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
libaizhihun|  楼主 | 2009-8-19 21:43 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我最近在做直流电机的脉宽调制,用的是单片机89c52的定时器,我发现定时器的输出频率很低,在100HZ左右。而我需要10KHZ左右的频率,这该怎么办。我想还是用软件即时吧。有人用外部计数器,我觉得过于复杂了。

相关帖子

沙发
踢球老越位| | 2009-8-19 21:44 | 只看该作者
为什么定时器的输出频率会低?一般是高不上去的。。。

使用特权

评论回复
板凳
libaizhihun|  楼主 | 2009-8-19 21:46 | 只看该作者
那我要高频怎么办

使用特权

评论回复
地板
踢球老越位| | 2009-8-19 21:48 | 只看该作者
那你定时器初始值大点了咯。

使用特权

评论回复
5
libaizhihun|  楼主 | 2009-8-19 21:53 | 只看该作者
不可以,这时出来的波形是不准确的

使用特权

评论回复
6
踢球老越位| | 2009-8-19 21:55 | 只看该作者
软件问题

使用特权

评论回复
7
cauhorse| | 2009-8-19 22:04 | 只看该作者
可以试试用个带PWM的单片机,上10K不难,
现在这类芯片很好找。

使用特权

评论回复
8
bin362422| | 2009-8-21 17:54 | 只看该作者
用定时器可以的啊。为什么高不上去?
16位的:你的频率为10K时,初值为1F9CH。完全可以的啊!
8位自动重装的:...........................9CH ,就可以的啊。

使用特权

评论回复
9
QuakeGod| | 2009-8-22 02:28 | 只看该作者
回复楼上几位,定时器频率到10K是没问题的,但是那不代表PWM频率是10K,
PWM还有一个分辨率的问题,如果是8位PWM,即256级,那PWM输出频率只有10K/256Hz,即39Hz,
如果希望PWM输出频率20KHz,分辨率8位,那么计时频率要到5.12MHz,用软件肯定不能达到的。
如果想用软件输出,只能用折中的办法,
1,降低分辨率,比如降为4位,16级,分辨率降低,控制精度也会降低
2,降低PWM输出频率,比如将为10KHz或8KHz,但是PWM频率降低会造成可闻噪声问题
3,用优化算法,比如改PWM为PDM等
但是即使用4位分辨率,8KHz的PWM,计时频率还是需要128KHz,对软件也是很大的考验。
如果使用PDM方法,设置10%占空比以下和90%占空比以上为死区,那么使用40K的计时频率,
使用8位分辨率,在占空比为50%时,PDM输出频率为20KHz,
即使占空比10%和90%时,PDM输出频率也为4KHz。

使用特权

评论回复
10
QuakeGod| | 2009-8-22 02:29 | 只看该作者
其实PDM更适合做音频输出用,因为音频输出电平大部分集中在1/2电平附近。
这时PDM的效果是最好的。

使用特权

评论回复
11
QuakeGod| | 2009-8-22 02:32 | 只看该作者
PDM的产生算法非常简单,
以8位PDM为例,
设一个8位的累加器A,另外一个8位存储PDM的设置值W.
每个计时周期A=A+W,然后看有没有溢出,如果有溢出,那么输出为1,如果没有溢出,那么输出为0。

使用特权

评论回复
12
cjx2009| | 2009-8-27 14:56 | 只看该作者
难啊

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

7

主题

19

帖子

0

粉丝