在工业仪表中,通常增加到12位。12位D/A的价格目前比单片机的价格要高得多,占用的接口线数量也多。尤其是在需隔离的场合时,所需的光电耦合器数量与接口线相当,造成元器件数量大批增加,使体积和造价随之升高。如果在单片机控制的仪表里用PWM方式完成D/A输出,将会使成本降低到12位D/A芯片的十分之一左右。我们在S系列流量仪表中采用了这种方式,使用效果非常理想。下面介绍一下PWM方式D/A的构成原理。
二 电路原理
一般12位D/A转换器在手册中给出的精度为±1/2LSB,温度漂移的综合指标在20—50ppm/℃,上述两项指标在0.2级仪表中是可以满足要求的,下面给出的电路可以达到上述两项指标。
图1中的T是固定宽度,τ的宽度是可变的。τ分为5000份,每份2us。所以τ的最大值τmax=2×5000=10000us,这就是T的宽度。当τ=T时,占空比为1,Vo=5.000V,τ=0时,Vo=0V。这种脉冲电压经过两级RC滤波后得到的电压可由下式表示:
VM必须是精密电压源。Vo与占空比成正比,且线性较好,这种方式在理论上是很成熟的,但实际应用上还存在一些问题。图2是实际线路,其中单片机可用8098或8031两种常用芯片,VM的数值为5.000V±2mV,D/A与单片机必须是电气隔离的。否则数字脉冲电流产生的干扰会影响D/A精度,从示波器可以看到高达50mV的干扰毛刺电压,因此有必要加光电隔离。经隔离后的脉冲驱动模拟开关CD4053。CD4053是三组两触点模拟开关,由PWM脉冲控制开关的公共接点使之与+5.000V和地接通,在VI得到与单片机输出相一致的PWM波形。该波形经两级RC滤波后由运放构成的电压跟随器输出Vo。其中RC的时间常数一般取RC≥2T,这样两级RC加起来就会得到纹波小于3mV的直流电压,本电路中RC=220ms,如果想进一步减小纹波,可适当提高RC的乘积,但电路的响应速度也会放慢。
用运放做RC滤波器输出的缓冲大有益处。它不仅提高了滤波电路带载能力,而且使线性度得到了提高。通过实验可知,这一级运放的的缓冲作用是保证整个D/A精度和线性度的重要环节。尽管RC滤波器无负载,处在非常理想的条件下工作,但Vo并不完全与占空比成正比。经测试,Vo与理想值有一些误差,如图3所示。