PWM转直流之--无源低通滤波2022-6-4

我们要得到一个高精度纯净的直流  要求出这2个电容的值

详细截止频率计算

根据上图公式:令nC=C mR=R  则简化公式f=1/2πRC 

能够得到截止频率f  就能确定 R C的值

因为是用的单片机输出的PWM波形 所以

PWM波形可以用分段函数表示为式:

其中:T是单片机中计数脉冲的基本周期,也就是STM32定时器的计数频率的倒数。N是PWM波一个周期的计数脉冲个数,也就是STM32的ARR-1的值。n是PWM波一个周期中高电平的计数脉冲个数,也就是STM32的CCRx的值。VH和VL分别是PWM波的高低电平电压值,k为谐波次数,t为时间。我们将①式展开成傅里叶级数,得到公式②:

从②式可以看出,式中第1个方括弧为直流分量,第2项为1次谐波分量,第3项为大于1次的高次谐波分量。式②中的直流分量与n成线性关系,并随着n从0到N,直流分量从VL到VL+VH之间变化。这正是电压输出的DAC所需要的。因此,如果能把式②中除直流分量外的谐波过滤掉,则可以得到从PWM波到电压输出DAC的转换,即:PWM波可以通过一个低通滤波器进行解调。式②中的第2项的幅度和相角与n有关,频率为1/(NT),其实就是PWM的输出频率。该频率是设计低通滤波器的依据。如果能把1次谐波很好过滤掉,则高次谐波就应该基本不存在了。

通过上面的了解,我们可以得到PWM DAC的分辨率,计算公式如下:

                        分辨率=log2(N)

这里假设n的最小变化为1,当N=256的时候,分辨率就是8位。而STM32的定时器都是16位的,可以很容易得到更高的分辨率,分辨率越高,速度就越慢。不过我们要设计的PCA分辨率为12位。

在12位分辨条件下,我们一般要求1次谐波对输出电压的影响不要超过1个位的精度,也就是3.3/256=0.01289V。假设VH为3.3V,VL为0V,那么一次谐波的最大值是2*3.3/π=2.1V,这就要求我们的RC滤波电路提供至少-20lg(2.1/ 0.01289  )=-44dB的衰减。(电压衰减指:输出电压/输入电压 -44dB)

F是 PWM的频率=PCA/8位(或16位)/2分频/256

//如果是一阶RC滤波,那截止频率Fs的计算由-10*log[(1+F/Fs)^2]=-63dB,得Fs=14Hz

如果是二阶RC滤波,那截止频率Fs的计算由-20*log[(1+F/Fs)^2]=-44dB,得Fs=3723Hz

(a的x次方等于N(a>0,且a不等于1),那么数x叫做以a为底N的对数,记作x=logₐN)

再将Fs代入公式   Fs=1/2πRC  确定R C的值  2个电容的值是4.1nf

PWM的频率看单片机的时钟树  使用内部4M的时钟 经过6倍频 24M 经过HCLK/1 1分频  PCLK/1分频  仍然是24M  到达PCA模块的时候 32分频

F=24000000/32

https://blog.csdn.net/yuyan7045/article/details/120729093

有源 输入与负载通过运放跟随器隔离了  带更小的负载 负载是由运放供电

https://www.bilibili.com/video/BV19t4y1C7td/?spm_id_from=trigger_reload

https://www.bilibili.com/video/BV1iZ4y1u7WV?from=search&seid=11172278612938420732无源低通设计

https://www.bilibili.com/video/BV1Ry4y1V7CR?spm_id_from=333.999.0.0一阶无源低通

一阶无源低通     f0=1/2πRC (RC滤波器)    f0=R/2πL(RL滤波器) 

LR滤波器比RC通过的直流大 获得更低损耗

a的x次方等于N(a>0,且a不等于1),那么数x叫做以a为底N的对数,记作x=logₐN

你可能感兴趣的:(PWM转直流之--无源低通滤波2022-6-4)