一文解析从数字PWM信号获得准确、快速稳定的模拟电压
扫描二维码
随时随地手机看文章
PWM基本原理
脉宽调制(PWM)基本原理:控制方式就是对逆变电路开关器件的通断进行控制,使输出端得到一系列幅值相等的脉冲,用这些脉冲来代替正弦波或所需要的波形。也就是在输出波形的半个周期中产生多个脉冲,使各脉冲的等值电压为正弦波形,所获得的输出平滑且低次谐波少。按一定的规则对各脉冲的宽度进行调制,即可改变逆变电路输出电压的大小,也可改变输出频率。
例如,把正弦半波波形分成N等份,就可把正弦半波看成由N个彼此相连的脉冲所组成的波形。这些脉冲宽度相等,都等于 π/n ,但幅值不等,且脉冲顶部不是水平直线,而是曲线,各脉冲的幅值按正弦规律变化。如果把上述脉冲序列用同样数量的等幅而不等宽的矩形脉冲序列代替,使矩形脉冲的中点和相应正弦等分的中点重合,且使矩形脉冲和相应正弦部分面积(即冲量)相等,就得到一组脉冲序列,这就是PWM波形。可以看出,各脉冲宽度是按正弦规律变化的。根据冲量相等效果相同的原理,PWM波形和正弦半波是等效的。对于正弦的负半周,也可以用同样的方法得到PWM波形。
在PWM波形中,各脉冲的幅值是相等的,要改变等效输出正弦波的幅值时,只要按同一比例系数改变各脉冲的宽度即可,因此在交-直-交变频器中,PWM逆变电路输出的脉冲电压就是直流侧电压的幅值。
根据上述原理,在给出了正弦波频率,幅值和半个周期内的脉冲数后,PWM波形各脉冲的宽度和间隔就可以准确计算出来。按照计算结果控制电路中各开关器件的通断,就可以得到所需要的PWM波形。
下图为变频器输出的PWM波的实时波形。
模拟电路PWM的实现电路
本图为一个使用游戏手柄或者航模摇杆上的线性电位器(或线性霍尔元件)控制两个底盘驱动电机的PWM生成电路。J1是手柄的插座,123和456分别是x,y两个方向的电位器。U1B提供半电源电压,U1A是电压跟随。x,y分量经过合成成为控制左右轮两个电机转速的电压信号。在使用中,让L=(x+1)y/(x+1.4),R=(x-1)y/(x-0.6),经过试验有不错的效果(数字只是单位,不是电压值)。经过U1C和U1D组成的施密特振荡器把电压转换为相应的PWM信号,用来控制功率驱动电路。以U1D为例,R1,R2组成有回差的施密特电路,上下门限受输入电压影响,C1和R3组成延时回路,如此形成振荡的脉宽受输入电压控制。Q1,Q2是三极管,组成反相器,提供差分的控制信号。具体振荡过程参见数字电路教材上对555振荡器的分析。
从数字PWM信号获得准确、快速稳定的模拟电压
脉宽调制(PWM)是从微控制器或FPGA等数字器件产生模拟电压的一种常用方法。大多数微控制器都具有内置的专用PWM产生外设,而且其仅需几行RTL代码即可从FPGA产生一个PWM信号。如果模拟信号的性能要求不是太严格,那么这就是一种简单和实用的方法,因为它只需要一个输出引脚,而且与具有一个SPI或I2C接口的数模转换器(DAC)相比,其代码开销是非常低。图1示出了一款典型应用,其采用一个经滤波的数字输出引脚来产生一个模拟电压。
该方案的诸多不足之处您不必深究就能发现。理想情况下,一个12位模拟信号应具有小于1LSB的纹波,因而对于一个5kHz PWM信号需要采用一个1.2Hz低通滤波器。电压输出的阻抗由滤波器电阻决定,如果要保持一个大小合理的滤波电容器,那么它就会相当大。因此,输出必须只驱动一个高阻抗负载。PWM至模拟转换函数的斜率(增益)由微控制器(很可能是不准确)的数字电源电压来决定。一个更微妙的影响是:为了保持线性度,在高态中连接至电源之数字输出引脚的有效电阻,以及在低态中连接至地的电阻,相比于滤波器电阻的阻值时,失配必须很小。最后,PWM信号必须是连续的,旨在把输出电压保持在一个恒定值,假如处理器被置于一种低功率停机状态,这或许会产生问题。
PWM至模拟转换能否得到改善
图2显示了试图弥补这些不足的方法。一个输出缓冲器允许在使用高阻抗滤波器电阻的同时提供一个低阻抗模拟输出。通过采用一个外部CMOS缓冲器改善了增益准确度,该缓冲器由一个高精度基准来供电,这样PWM信号摆幅在地电位和一个准确的高电平之间。此电路是有用的,但缺点是组件数量多,且无法改善1.1秒的稳定时间,再者也没有办法在不使用连续PWM信号的情况下“保持”模拟值。
PWM至模拟转换的改善
LTC2644和LTC2645是具有内部10ppm/°C基准的双通道和四通道PWM至电压输出DAC,可从数字PWM信号提供真正的8位、10位或12位性能。LTC2644和LTC2645克服了上面提到的那些问题,采取的方法是直接测量输入PWM信号的占空比,并在每个上升沿上将适当的8、10或12位代码发送至一个高精度DAC.
一个内部1.25V基准把全标度输出设定为2.5V,如果需要一个不同的全标度输出,则可使用一个外部基准。一个单独的IOVCC引脚负责设定数字输入电平,从而允许直接连接至1.8V FPGA、5V微控制器或介于其间的任何电压。DC准确度指标是非常出色的,具有5mV偏移、0.8%最大增益误差和2.5LSB (12位)最大INL.输出稳定时间为8μs,即可从PWM输入的上升沿稳定到终值(在12位时为1LSB)的0.024%之内。对于12位版本,PWM频率范围为30Hz至6.25kHz.
多用途的输出模式
图4示出了一款典型的电源修整/裕度调节应用电路,其利用了LTC2644的另一项独特特性。把IDLSEL连接至高电平将选择“采样/保持”操作;输出在启动时为高阻抗(无裕度调节),输入端上的一个连续高电平将导致输出无限期地保持其数值,而一个连续低电平则把输出置于高阻抗状态。因此,在上电时可利用一个PWM突发脉冲(其后随一个高电平)对电源进行一次修整。将PWM信号拉至低电平可使电路干净地退出裕度调节操作。把IDLSEL连接至GND将选择“透明模式”,在该模式中,输入端上的一个连续高电平把输出设定至全标度,而一个连续低电平则把输出设定至零标度。
结论
倘若遭遇典型PWM至模拟转换方法的局限性,请不要绝望。LTC2645可从脉宽调制数字输出产生准确、快速稳定的模拟信号,同时保持了低组件数目和代码简单性。