利用单片机构成高精度PWM式12位D/A

发布者:心若澄明最新更新时间:2016-01-12 来源: eefocus关键字:单片机  高精度  PWM式  12位DA 手机看文章 扫描二维码
随时随地手机看文章
[一].前言
在用单片机制作的变送器类和控制器类的仪表中,需要输出1-5V或4-20mA的直流信号的时候,通常采用专用的D/A芯片,一般是每路一片。当输出信号的精度较高时,D/A芯片的位数也将随之增加。在工业仪表中,通常增加到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所示。 


图中的曲线1表示理想值,曲线2表示实测值。由图中可见,曲线2的根部不太理想。这是因为所使用的电容不是纯电容,其中含有一定的电感。在占空比极小时,由于脉冲非常窄,它产生的高次谐波的频率很高,电感对高次谐波的感抗较大,因此在脉冲沿的位置上,尽管电压变化很大,但实际实际给电容充电却很小。这样就在窄脉冲时产生非线性。当采用无感电容时,这种非线性有较大改善,但仍不能完全吻合。由于无感电容容量太小,价格也较高,所以在大时间常数滤波电路中没有实际意义。在实际使用中解决这一问题的方法是舍弃根部非线性部分,只用线性部分,在工业仪表中,标准的信号一般为1-5V或4-20mA。而曲线2的非线性部分在0.4V以下,所以当采用1-5V输出信号时,精度为0.03%完全满足12位 D/A要求。

 

除精度满足要求外,温度特性也必须满足要求。影响温度特性的原因主要是5V精密电源和运算放大器的温度特性。为不使价格太高,选用2DW232精密稳压二极管,运放的电阻与滤波电阻要匹配且温度系数≤25ppm。运算放大器选择温漂≤10uV/℃的均可,一般廉价低温漂运放都可满足这个指标。采用上述措施后D/A的总温度漂为33ppm/℃。

 

[三].实测数据
由于这个线路是在0.2级精密仪表中使用的,因此要求线性度和温度特性必须满足要求,另外,这个数据是测量V/I转换后4-20mA电源值与给定电流值之间的误差。这个误差还包含了V/I转换的误差。因此实际的D/A自身的误差比总误差要小。

Igd(mA) Io(mA) Δ=Io-Igd
4.000 3.999 -0.001
8.000 7.998 -0.002
11.000 11.002 +0.002
16.000 16.006 +0.006
20.000 20.008 +0.008

线性=Δmax/20=0.0004

20℃ 60.℃
4.000mA 3.993mA Δ=-0.007mA
20.000mA 19.974mA Δ=-0.026mA

温度漂移=Δmax/20×40=33ppm/℃

由以上数据可知,满量程的线性度为0.04%,满量程的温度漂移为0.033%/10℃,系统响应时间约为2.2s,输出信号与标准值相差0.1%时所用的时间为11s。

 

[四].结束语
上面所介绍的D/A电路结构简单,原理易懂,在8098及8031单片机上都可以应用,笔者采用8098单片机的四路高速输入输出同时控制四路精密D/A输出。后面加一级V/I转换电路,构成标准的4-20mA电流输出,电路经一年多的现场实际应用,效果很好,适于目前0.2级仪表的全部要求。

关键字:单片机  高精度  PWM式  12位DA 引用地址:利用单片机构成高精度PWM式12位D/A

上一篇:51单片机 基于方式1的单工通信
下一篇:基于单片机的LCD1602显示秒表程序

推荐阅读最新更新时间:2024-03-16 14:43

单片机的常用名词
总线: 指能为多个部件服务的信息传送线,在微机系统中各个部件通过总线相互通信。 地址总线: 它是传送由CPU发出的用于选择要访问的器件或部件的地址。 数据总线: 它是用来传送微型机系统内的各种类型的数据。 汇编: 是能完成一定任务的机器指令的集合。 二进制数: 只有0和1两个数码,基数为二。 16进制数: 采用0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F等16个数码,其中A-F相应的十进数为10-15,基数是16。 指令: 是计算机所能执行的一种基本操作的描述,是计算机软件的基本单元。 存储器: 用来存放计算机中的所有信息:包括程序、原始数据、运算的中间结果及最终结果等。 暂存器: 用来暂存由数据总线
[单片机]
如何使用单片机制作一个手动计数器
1.实验任务 利用AT89S51单片机来制作一个手动计数器,在AT89S51单片机的P3.7管脚接一个轻触开关,作为手动计数的按钮,用单片机的P2.0-P2.7接一个共阴数码管,作为00-99计数的个位数显示,用单片机的P0.0-P0.7接一个共阴数码管,作为00-99计数的十位数显示;硬件电路图如图19所示。 2.电路原理图 图4.10.1 3.系统板上硬件连线 (1. 把“单片机系统”区域中的P0.0/AD0-P0.7/AD7端口用8芯排线连接到“四路静态数码显示模块”区域中的任一个a-h端口上;要求:P0.0/AD0对应着a,P0.1/AD1对应着b,……,P0.7/AD7对应着h。 (2. 把“单片机系统”区域中的
[单片机]
如何使用<font color='red'>单片机</font>制作一个手动计数器
S3C2440微控制器外部中断实验
实验目的:掌握S3C2440微控制器I/O和外部中断的使用方法 实验内容: 用外部中断的方式,实现: (1)按下K11,LED1闪烁2次; (2)按下K12,LED2闪烁2次; (3)按下K13,LED3闪烁2次; (4)按下K14,LED4闪烁2次; (5)按下K15,LED1与LED3一起闪烁2次; (6)按下K16,LED2与LED4一起闪烁2次; 要求使用下降沿触发外部中断。 #include 2440addr.h #include 2440lib.h #define rGPBCON (*(volatile unsigned *)0x56000010) //Port B control #define rGPBD
[单片机]
用C51系列单片机设计物体分级设备的测量光幕
摘要:首先介绍了光幕测量高度的原理,给出了高度测量光幕的一种实现方法,分析了由该方法设计的系统结构和主要性能。从而彻底解决了相邻通路间的干扰,提高了测量精度。 关键词:单片机;测量光幕;分级 1 引言 光幕是电子测量系统中应用比较多的一种设备。利用光幕可以测量恒速传送带上的物体高度、长度或宽度等一系列数据,以便为后面的电子系统提供相应的参数。本文给出了一种利用单片机实现物体高度测量的光幕测量方法。 2 光幕测量物体高度的基本原理 图1所示是一个用普通光幕测量物体高度的测试原理结构示意图。图中,光幕的一边等间距安装有多个红外发射管,另一边相应的有相同数量同样排列的红外接收管,每一个红外发射管都对应有一个相应的红外接收管,且
[单片机]
单片机软件抗干扰的这几种办法
1、软件抗干扰方法的研究 在工程实践中,软件抗干扰研究的内容主要是:一、消除模拟输入信号的噪声(如数字滤波技术);二、程序运行混乱时使程序重入正轨的方法。本文针对后者提出了几种有效的软件抗干扰方法。 (1) 指令冗余 CPU取指令过程是先取操作码,再取操作数。当PC受干扰出现错误,程序便脱离正常轨道“乱飞”,当乱飞到某双字节指令,若取指令时刻落在操作数上,误将操作数当作操作码,程序将出错。若“飞”到了三字节指令,出错机率更大。 在关键地方人为插入一些单字节指令,或将有效单字节指令重写称为指令冗余。通常是在双字节指令和三字节指令后插入两个字节以上的NOP。这样即使乱飞程序飞到操作数上,由于空操作指令NOP的存在,避免
[单片机]
详解80C51单片机的四种I/O口
在80C51单片机中有4个双向的8位I/O口P0~P3,在无片外存储器的系统中,这4个I/O口的每一位都可以作为准双向通用I/O使用。 在具有片外存储器的系统中,P0口作为地址线的低8位以及双向数据总线,P2口作为高8位的地址线。这4个I/O口除了可以按字节寻址外,还可以按位寻址。 P0口 下图给出了P0口的逻辑结构,它由一个锁存器,两个三态输入缓冲器,一个多路复用开关,一个与门,一个非门以及控制电路和驱动电路组成。 “锁存器,是数字电路中的一种具有记忆功能的逻辑元件。锁存,就是把信号暂存以维持某种电平状态,在数字电路中则可以记录二进制数字信号 0 和 1 。 只有在有锁存信号时输入的状态被保存到输出,直到下一个锁
[单片机]
详解80C51<font color='red'>单片机</font>的四种I/O口
单片机驱动能力-继电器应用注意
单片机引脚不能直接驱动继电器,电流达不到要求。继电器不会动作。
[单片机]
<font color='red'>单片机</font>驱动能力-继电器应用注意
MCS96系列单片机的一种大容量的外部RAM扩展技术
    摘要: 在MCS96系列单片机的应用开发中,我们经常会遇到需要大容量的外部RAM的情况, 本文针对MCS96系列单片机的内存体系结构特点介绍了的一种段式管理的大容量的外部RAM扩展技术,此技术由于使用方便具有很高的实用性。     关键词: 单片机 段 物理地址 逻辑地址 1 引言     MCS96系列单片机是一种16位字长的比MCS51系列单片机功能更全,性能更高的单片机,它在仪器仪表,过程控制等若干领域应用极为广泛。在采用MCS96系列单片机的应用开发中我们碰到一个难题,当需要大容量的数据存储时,外部数据存储器的扩展如采用与MCS51系列单片机同样的方法则无法工作,因为其内存体系结构
[缓冲存储]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved