近有一系列基于 PWM 信号“处理器”主题的设计思想发表。这些处理器的目的是限度地减少响应 PWM 占空比变化的建立时间和残余 PWM 纹波。在许多情况下,更简单的处理器(仅由一个由电阻器和电容器构建的低通滤波器组成)表现良好(图 1)。
用您独特的设计让工程界惊叹不已: 设计创意提交指南
图 1带有低通滤波器的简单 PWM 处理器,该低通滤波器由电阻器和电容器构成,该滤波器结构只能实现实极点。
然而,关于如何为任意特性的PWM选择滤波器元件值的讨论很少,更不用说针对一种想法中提到的特定PWM(8位,1MHz时钟)。在本文中,我将介绍一种针对任意周期 PWM 优化这些更简单滤波器的方法。
让我们从一些术语开始:我们将未过滤的 PWM 描述为具有 B 位、占空比 d、周期 T 和(无单位)输出值 0 或 1。(警告:如果您只想解决问题并且不想体验推导的快感和数学的痛苦,请跳至本文末尾的“实施解决方案”部分。)
对于具有负、不等极点 p1、p2 和 p3 的任何三阶滤波器,单位阶跃的时域响应为:
如果两个或三个极点相等,则响应不同。对于三个,它是:
我们的兴趣之一是稳定到 1 的指定分数 F 所需的时间 (t s )(从 d = 0 到 1 的满量程 PWM 转换的坏情况)。处理幅度稳定误差 (ASE),h(t, p1, p2, p3) = 1 – hh(t, p1, p2, p3)。ASE 在时间 t = 无穷大时完全稳定(归零)。我们可能会询问 t s的值,使得 h(t s ,p1,p2,p3) = F = 2 -B-1或 PWM 的 ? LSB。当然,如果应用程序产生更小的占空比阶跃,则可以做出其他选择。
我们还对过滤后的 PWM 纹波的幅度感兴趣。滤波器的频率响应为:
其中 j = (√-1),ω 是以弧度/秒 (rad/sec) 为单位的频率。
未滤波的 PWM 输出可以表示为频率为 1/T = ω PWM /(2π) Hz整数倍的无限多个正弦波的总和。当 d = 50% 且频率为 ω PWM弧度/秒时,可产生的幅度正弦波具有 2/π 的峰值幅度。整个 PWM 信号通过一个低通滤波器,该滤波器比个衰减更高的倍数。在这些条件下,相当好的低通滤波器的输出几乎完全由 ω PWM的频率组成。显然,过多的纹波和过多的稳定时间同样会毁掉您的一天。所以我们想知道 ω PWM和 t s对于 ASE 和纹波幅度都等于 F 的滤波器,即它们满足 H(ω PWM , p1, p2, p3) = π?HH(ω PWM , p1, p2, p3 )/2 = F 且 F = h(t s , p1, p2, p3)。当然,我们还想找到对于给定的 F 值能为我们提供 t s和 ω PWM的滤波器。
让我们首先看一下 PWM 的具体情况,其值为 T = 2 8 /1 MHz = .000256,其中 ω PWM = 2π/T = 24543。一个明显的起点是等值电阻器和电容器的滤波器。对于图 1 电路,频率响应传递函数为:
将每个 R 设置为 1 Ω,将每个 C 设置为 1 F,多项式求根例程可用于确定满足 H() = F = 2 -8-1 : -3.247, -1.555的三个极点和 ω 的值, -.1981 和 9.0699。为了在频率 ω PWM下获得相同的衰减,将极数相乘,电阻器除以 FSF = ω PWM /ω。当然,至少可以说,这些电阻器和 1 F 电容器使用起来不方便。因此,我们可以选择一个阻抗比例因子 ZSF,例如 10 -8乘以电容并划分电阻。结果为 37.0k(选择接近的标准值)和 10n。(应用 ZSF 对滤波器的响应没有影响。)已知 1 Ω / 1 F 滤波器的极点并要求 h( ) = F,求根例程也为我们提供了 t s = 32.5 s 的值。将 t s除以 FSF 保持相同的 F 并导致 t s的值等于 12.01 ms。
当然,没有理由期望 R’s 和 C’s 相等会产生一个滤波器,在给定的 F 值下产生尽可能低的 t s和 ω PWM。我们应该如何寻找更好的滤波器?我们使用蒙特卡洛。从上面极点的 FSF 缩放值开始,只有当它减少 H( , , , ω PWM ) 或 h(, , , t s ) 的值而不增加另一个的值时,才会选择一个新的、更好的极点集. 运行了一个 1000 万样本的蒙特卡罗,其中包含一组随机选择的极点。结果是 -2290.7、-2238.9 和 -2218.6 处的极点,更好的纹波衰减 .001938 < F,以及大大改进的 ASE 7.3834?10 -10. 显然,的选择是同极,有时也称为同步极。不幸的是,不可能用图 1 的网络实现同步极点。但是如果我们设置 R 3 = K?R 2 = K 2 ?R 1和 C 1 = K?C 2 = K^2C 3 ,我们可以接近,其中 K 是一个大于 1 的值。K越大越好。当然,K 的值有明显的实际限制,但让我们看看 K 为 1、√10、10、100 和无穷大的情况。参见图 2,它显示了满足“标准”的滤波器的时域响应。
图 2 ASE 显示了各种滤波器类型的满量程 PWM 转换与时间的关系。水平线对应于 2 -9的 ASE 。
水平虚线的值为 F = 2 -9。其他每条曲线对应于 H( , , , ω PWM ) 也为 F 的滤波器的 ASE。曲线在滤波器的 ASE 降至 F 时与水平线相交。表现差的是红色曲线,其中对于 K = 1,R 和 C 相等。对于 K = √10 和 10,黄色和绿色更好并且看起来实用,但是蓝色 K = 100 滤波器需要 K 2 = 10000 的阻抗比。紫色 K = 无穷大曲线是无法实现的……或者是吗?
图 1 网络的滤波器在驱动阻性负载时会降低精度。简单的解决方案是在电压跟随器配置中使用运算放大器缓冲它们的输出。使用此运算放大器还有另一大优势:图 3中的滤波器配置扩展了可实现的滤波器类型的数量,不仅包括等极点版本,还包括性能更好的滤波器——通过反复试验确定的复杂极点滤波器,从贝塞尔滤波器的极点开始。“更好”的极点是:-.84668、-.786203+.725726?√-1 和 -.786203-.725726?√-1。该滤波器的 R 值可以缩放,使其衰减 H( , , , ) 在 ω PWM是 F。缩放滤波器的性能由黑色曲线反映。为什么奇怪的形状?复数极点产生由阻尼振荡组成的时间响应。它在稳定时反复通过零。图中显示的是响应的。
图 3可以实现实极点(部分或全部相同)和复极点的滤波器结构图像。对于显示的组件值,表 1 的复数极部分的每个给定行中的参数值都得到满足(见正文)。
您可能认为这些图显示了复极点滤波器的先天优势。但它们仅代表 F = 2 -9满足“标准”的情况。F 的其他值呢?其他值为 ω PWM的 PWM 又如何呢?这是一个答案。PWM 具有整数位数,因此仅当 N 是一组正整数时,才考虑 F = 2 -N的值才有意义。对于每个 2 -N和每个正在考虑的过滤器,我们可以确定满足“标准”的 ω 和 t s的值。知道 ω 后,可以为任何所需的 PWM ω PWM计算 FSF ,FSF 也可以用于确定缩放 t s的值和过滤器 R’s。在具有 FSF 标度极点的滤波器中,ω标度= FSF?ω 和 t s-标度= t s /FSF。因此,无论 PWM 频率 ω PWM为何,ωPWM与 FSF 缩放的 t s的乘积将保持不变。这个产品的价值越小越好。我们可以针对复数滤波器和同步滤波器比较这些产品,以确定哪个是每个 F 值的更好选择。请参阅表 1。
表 1对于各种 F = 2 -N值,复杂同步滤波器的ω、t s和 ω?t s的值。
比较表明,对于每个 F,复滤波器具有更小的值乘积,是更好的选择。我们现在可以概括滤波器设计过程。
实施解决方案
一个具体的例子将说明一般问题的解决方案。假设一个 PWM,其中 B = 8 且 T = 2 B /1 MHz = .000256。我们想要 F = 2 -9的纹波电平和 ASE 。图 3 显示了表 1 中复杂滤波器的滤波器元件值。对于 N = 9,滤波器给出频率 ω = 9.1868,对应 F 值。但我们希望衰减频率为 ω PWM = 2π /T。我们需要将滤波器的电阻器和表的 t s = 6.3876 除以 FSF = ω PCM /ω = 2671.7。由此得出 R1 = 66.527 kΩ、R2 = 45.445 kΩ 和 R3 = 178.95 kΩ(您可以使用接近的标准值)和 t s= 2.39 毫秒。您也可以选择通过恒定 ZSF 缩放这些电容器和电阻器,将电阻器乘以该值并将电容器除以该值。ZSF 操作对滤波器响应没有影响。
应该注意的是,对于 N = 6 或更小的值,同步滤波器具有比复数滤波器更小、更好的 ω 值,并且对于更大的 N 值,ω 的值几乎相同。尽管如此,复杂的过滤器仍然是更好的选择;可以使用表中对之间的分母中的 ω 值计算 FSF。增大 ω 会增加纹波衰减和稳定时间。总能找到一个 FSF 值,它会导致 ω 和 t s的缩放滤波器值比其他滤波器提供的值更小。
为任意频率的 PWM 设计滤波器
已经提出了一种使用运算放大器和三对电阻器和电容器的方法来设计用于任意频率和位数的 PWM 的滤波器。该滤波器将 ASE 和峰值纹波限制为 F,即用户选择的负整数 2 的幂。研究了具有各种相互关系的极点的滤波器。所选的复极点滤波器在所考虑的滤波器中具有的频率和稳定时间乘积。使用表 1 和图 3,对于任何频率的 PWM,滤波器组件可以缩放到所需的 F 值。可以对表中列出的稳定时间应用相同的缩放比例,以计算缩放后的稳定时间。
如果您更喜欢无运算放大器的解决方案,您可能需要考虑图 1 电路的 K = 10 版本。在 R1 = 4.3k 和 C1 = 100n 的情况下,对于 F = 2 -9,您在图 2 中的绿色曲线中看到的 t s约为 4.6 ms。对于相同的 F,该滤波器的 ω 为 15787 弧度/秒。我尚未提供此滤波器的表格,但您可以在将不同的 FSF 应用于滤波器电阻器时在电路模拟器中测试结果。