利用单片机产生SPWM波的一些疑问

2019-03-25 14:22发布

用单片的PWM的功能产生SPWM波,最后经过低通滤波得到想要的正弦波来驱动喇叭发音!看了一些资料,决定用“面积等效法”来计算脉宽,用查表法来做,有几个疑问:
1:“面积等效法”是将调制波的半个周期,平均分成N等分,那么程序里PWM的频率是多少呢?我的理解是这样:
      假如要产生50HZ的正弦波,半个周期就是100HZ,半个周期平均分成N等分,那么每一份就等于的时间 0.01/N秒
      那么PWM的周期也是 0.01/N秒  不知道对不对
2:  “面积等效法”是将调制波的半个周期,平均分成N等分,那么出来的SPWM波也只有半个周期,那么另外半个周期的波形怎么办呢?


3: SPWM波最后经过RC滤波变成想要的正弦波,如果想要得到50HZ的正弦波,要滤除高次谐波(150HZ,250HZ.......),那么低通滤波的
    截止频率应该在“50HZ<1/(2*PI*RC)<150HZ”这个范围就行了吧?
最后附上我参考的文档
      



此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
19条回答
elvike
1楼-- · 2019-03-25 21:40
 精彩回答 2  元偷偷看……
maychang
2楼-- · 2019-03-25 23:47
“半个周期就是100HZ”
这句错误。只能说:“半个周期就是10ms”。
程序会不会
3楼-- · 2019-03-26 03:59
maychang 发表于 2017-8-6 08:20
“半个周期就是100HZ”
这句错误。只能说:“半个周期就是10ms”。

那pwm的频率是这样算吗?能帮我解答一下三个问题吗?谢谢了!弄清楚之后马上写程序!面包板都搭好了!
maychang
4楼-- · 2019-03-26 09:45
“半个周期平均分成N等分,那么每一份就等于的时间 0.01/N秒  那么PWM的周期也是 0.01/N秒  不知道对不对”
对的。
不过这样更准确:“半个周期平均分成N等分,每一份的时间是 (0.01/N)秒,那么PWM的周期也是(0.01/N)秒"。
maychang
5楼-- · 2019-03-26 14:31
“面积等效法”是将调制波的半个周期,平均分成N等分,那么出来的SPWM波也只有半个周期,那么另外半个周期的波形怎么办呢?
要么设法在”另外半个周期“由单片机控制使PWM脉冲极性为负,要么由单片机控制使PWM输出经滤波后得到的信号反相(可以用一个模拟开关加反相器实现)。
maychang
6楼-- · 2019-03-26 15:53
SPWM波最后经过RC滤波变成想要的正弦波,如果想要得到50HZ的正弦波,要滤除高次谐波(150HZ,250HZ.......),那么低通滤波的截止频率应该在“50HZ<1/(2*PI*RC)<150HZ”这个范围就行了吧?

不仅要保证50Hz信号成份衰减控制在允许范围内,而且各高次谐波衰减要足够大。换句话说,滤波的阶数要够高。通常一阶滤波是不够的,至少三阶。

一周热门 更多>