采用PWM生成正弦波信号的简单方法

您所在的位置:网站首页 pwm波产生原理 采用PWM生成正弦波信号的简单方法

采用PWM生成正弦波信号的简单方法

2024-07-10 00:16| 来源: 网络整理| 查看: 265

本文介绍采用PWM生成正弦波信号的简单方法。

1.原理

采用PWM生成正弦波信号,本质上是用一个PWM周期对应的平均电压去等效生成正弦信号的电压。设输出的正弦波电压(单极性输出,有一个直流偏置电压)如下图。

公式推导如下:

\frac{T_{on}}{T_{c}}\cdot U_{cc}=\frac{1}{2}\cdot U_{cc}+U_{m}\cdot \sin (2\cdot \pi \cdot f_{m}\cdot t)

其中,T_{on}为PWM开启时间,T_{c}为PWM周期,U_{cc}为供电电压,f_{m}为输出正弦信号频率

m=\frac{U_{m}}{\frac{1}{2}\cdot U_{cc}},m即调制度,U_{m}=\frac{1}{2}\cdot U_{cc}\cdot m

代入得:

\frac{T_{on}}{T_{c}}\cdot U_{cc}=\frac{1}{2}\cdot U_{cc}+\frac{1}{2}\cdot U_{cc}\cdot m\cdot \sin (2\cdot \pi \cdot f_{m}\cdot t)

进一步:

T_{on}=\frac{T_{c}}{2}\cdot (1+ m\cdot \sin (2\cdot \pi \cdot f_{m}\cdot t))

\sin (2\cdot \pi \cdot f_{m}\cdot t)进行离散化,采样频率为f_{s},一个周期采样点数N=\frac{f_{s}}{f_{m}},采样序号k=0,1,2\cdots N-1,则

T_{on}=\frac{T_{c}}{2}\cdot (1+ m\cdot \sin (\frac{2\cdot \pi\cdot k }{N}))

至此,我们只要确定输出U_{m}的大小及采样点数N,就可以确定输出PWM开启时间T_{on}。 在使用MCU/DSP进行PWM输出时,通常调整的是CCR(比较捕获寄存器)和ARR(自动重载寄存器),因此,上述等式也可写成:

CCR=\frac{ARR}{2}\cdot (1+ m\cdot \sin (\frac{2\cdot \pi\cdot k }{N}))

注意:要想输出平滑的正弦信号,还需要在PWM输出接口加低通滤波器(如简单的RC滤波器),截止频率比输出模拟信号频率f_{m}稍大即可。

2.实现

清楚原理,实现就比较简单了。

对于\sin (\frac{2\cdot \pi\cdot k }{N}),可将其离散化,做成表格,输出时按表格内容输出即可,matlab代码如下:

fm=100; fs=1000; N=fs/fm; k=0:1:N; y=sin(2*pi*k/N); plot(y);

实现过程中只需要将表格中数据按采用频率f_{s}输出即可(可以用定时器实现),不要忘记在PWM输出端加低通滤波器以平滑输出。

总结,本文介绍了采用PWM生成正弦波信号的简单方法。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3