用运放设计万用表.docx
《用运放设计万用表.docx》由会员分享,可在线阅读,更多相关《用运放设计万用表.docx(40页珍藏版)》请在冰豆网上搜索。
用运放设计万用表
用运放设计万用表
摘要
本文根据一种基于AT89S51单片机的智能型数字式万用表来完成设计,该系统采用MC14433——31/2位A/D转换器和LED数码显示,可以测量电压、电流和电阻,并且具有键盘选择测量对象、量程和自动量程转换功能。
关键词:
A/D转换器,单片机,转换电路,模拟开关
Abstract
ThispaperaccordingtoAbasedonAT89S51ofintelligentdigitalmultimeterstocompletethedesign,thissystemUSESMC14433-31/2anA/DconverterandLEDdigitaldisplay,canmeasurevoltage,currentandresistance,andhasthekeyboardchooseobjects,automaticmeasurementrangeandrangeconversionfunction.
KeyWords:
A/Dconverter,SCM,convertingcircuit,analogswitch
第1章前言
1.1设计目标
1、测量对象、范围及误差范围:
电压DC:
0~200V误差<±1%±2个字
AC:
0.2~20V误差<±2%±2个字
电流DC:
0~500mA误差<±2%±2个字
电阻0~200KΩ误差<±3%±2个字
2、采用LED数码显示,分辨率优于0.05%,具有符号判别和过量程显示
3、直流电压档最小输入阻抗≥1MΩ。
4、具有键盘选择测量对象、量程和自动量程转换功能。
1.2数字万用表简介
数字万用表(DMM)亦称数字万用表,是目前在电子检测及维修工作中最常用、最得力的一种工具类数字仪表。
它采用的数字化测量技术,通过对连续的模拟量(直流输入电压)的采样将其转换成不连续、离散的数字量,并以十进制数字形式显示出来。
由于内部采用了运放电路,内阻可以做得很大,往往在1M欧或更大(即可以得到更高的灵敏度)。
这使得对被测电路的影响可以更小,精度较高。
传统的指针式万用表功能单一、精度低,已经不能满足数字化时代的需求,而采用单片A/D转换器构成的数字万用表,具有读数方便、精度高,测试功能强、集成度高、微功耗、抗干扰能力强等特点,另外带有单片机的智能型数字万用表更是具有自动校准,自动测量,自动数据处理和实时通讯等多种功能。
目前,数字万用表已被广泛用于电子及电工测量、工业自动化仪表、自动测试系统等智能化测量领域,示出强大的生命力。
与此同时,由DMM扩展而成的各种通用及专用数字仪器仪表,也把电量及非电量测量技术提高到崭新水平。
1.3运算放大器原理与发展史
运算放大器发展历史
第一个使用真空管设计的运算放大器大约是在1930年前后完成的,这个放大器可以执行加与减的工作。
运算放大器最早被设计出来的目的是为了将电压类比成数字,用来进行加减乘除的运算,同时也称为实现模拟计算机(analogcomputer)的基本建构方块。
然而,理想运算放大器的在电路系统设计上的用途却远远超过加减乘除的运算。
今日的运算放大器,无论是使用晶体管(transistor)或真空管(vacuumtube)、分立式(discrete)元件或集成电路(integratedcircuits)元件,运算放大器的效能都已经逐渐接近理想运算放大器的要求了。
早期的运算放大器是使用真空管设计,现在则多半是集成电路式的元件。
但是如果系统对于放大器的需求超出集成电路放大器的需求时,常常会利用分立式元件来实现这些特殊规格的运算放大器。
60年代的晚期,仙童半导体(FairchildSemiconductor)推出了第一个被广泛使用的集成电路运算放大器,型号为μA709,设计者则是鲍伯·韦勒(BobWidlar)。
但是709很快地被随后而来的新产品μA741取代,741有着更好的性能,更为稳定,也更容易使用。
741运算放大器成了微电子工业发展历史上一个独一无二的象征,历经了数十年的演进仍然没有被取代,很多集成电路的制造商至今仍然在生产741。
运算放大器的工作原理
运放如图有两个输入端a(反相输入端),b(同相输入端)和一个输出端o。
也分别被称为倒向输入端非倒向输入端和输出端。
当电压U-加在a端和公共端(公共端是电压为零的点,它相当于电路中的参考结点。
)之间,且其实际方向从a端高于公共端时,输出电压U实际方向则自公共端指向o端,即两者的方向正好相反。
当输入电压U+加在b端和公共端之间,U与U+两者的实际方向相对公共端恰好相同。
为了区别起见,a端和b端分别用"-"和"+"号标出,但不要将它们误认为电压参考方向的正负极性。
电压的正负极性应另外标出或用箭头表示。
反转放大器和非反转放大器如下图:
图1-1运算放大器
一般可将运放简单地视为:
具有一个信号输出端口(Out)和同相、反相两个高阻抗输入端的高增益直接耦合电压放大单元,因此可采用运放制作同相、反相及差分放大器。
运放的供电方式分双电源供电与单电源供电两种。
对于双电源供电运放,其输出可在零电压两侧变化,在差动输入电压为零时输出也可置零。
采用单电源供电的运放,输出在电源与地之间的某一范围变化。
运放的输入电位通常要求高于负电源某一数值,而低于正电源某一数值。
经过特殊设计的运放可以允许输入电位在从负电源到正电源的整个区间变化,甚至稍微高于正电源或稍微低于负电源也被允许。
这种运放称为轨到轨(rail-to-rail)输入运算放大器。
运算放大器的输出信号与两个输入端的信号电压差成正比,在音频段有:
输出电压=A0(E1-E2),其中,A0是运放的低频开环增益(如100dB,即100000倍),E1是同相端的输入信号电压,E2是反相端的输入信号电压。
1.4单片机发展与应用
早期的单片机都是8位或4位的。
其中最成功的是INTEL的8031,因为简单可靠而性能不错获得了很大的好评。
此后在8031上发展出了MCS51系列单片机系统。
基于这一系统的单片机系统直到现在还在广泛使用。
随着工业控制领域要求的提高,开始出现了16位单片机,但因为性价比不理想并未得到很广泛的应用。
90年代后随着消费电子产品大发展,单片机技术得到了巨大的提高。
随着INTELi960系列特别是后来的ARM系列的广泛应用,32位单片机迅速取代16位单片机的高端地位,并且进入主流市场。
而传统的8位单片机的性能也得到了飞速提高,处理能力比起80年代提高了数百倍。
单片机比专用处理器更适合应用于嵌入式系统,因此它得到了最多的应用。
现代人类生活中所用的几乎每件电子和机械产品中都会集成有单片机。
手机、电话、计算器、家用电器、电子玩具、掌上电脑以及鼠标等电脑配件中都配有单片机。
事实上单片机是世界上数量最多的计算机。
单片机是嵌入式系统的独立发展之路,向MCU阶段发展的重要因素,就是寻求应用系统在芯片上的最大化解决;因此,专用单片机的发展自然形成了SoC化趋势。
随着微电子技术、IC设计、EDA工具的发展,基于SoC的单片机应用系统设计会有较大的发展。
1.5S51单片机
1.5.1、AT89S52芯片功能特性描述
AT89S52引脚框图:
图1-2AT89S51
1.5.2引脚功能
VCC:
AT89S51电源正端输入,接+5V。
VSS:
电源地端。
XTAL1:
单芯片系统时钟的反相放大器输入端。
XTAL2:
系统时钟的反相放大器输出端,一般在设计上只要在XTAL1和XTAL2上接上一只石英振荡晶体系统就可以动作了,此外可以在两引脚与地之间加入一20PF的小电容,可以使系统更稳定,避免噪声干扰而死机。
RESET:
AT89S51的重置引脚,高电平动作,当要对晶片重置时,只要对此引脚电平提升至高电平并保持两个机器周期以上的时间,AT89S51便能完成系统重置的各项动作,使得内部特殊功能寄存器之内容均被设成已知状态,并且至地址0000H处开始读入程序代码而执行程序。
EA/Vpp:
"EA"为英文"ExternalAccess"的缩写,表示存取外部程序代码之意,低电平动作,也就是说当此引脚接低电平后,系统会取用外部的程序代码(存于外部EPROM中)来执行程序。
因此在8031及8032中,EA引脚必须接低电平,因为其内部无程序存储器空间。
如果是使用8751内部程序空间时,此引脚要接成高电平。
此外,在将程序代码烧录至8751内部EPROM时,可以利用此引脚来输入21V的烧录高压(Vpp)。
ALE/PROG:
ALE是英文"AddressLatchEnable"的缩写,表示地址锁存器启用信号。
AT89S51可以利用这支引脚来触发外部的8位锁存器(如74LS373),将端口0的地址总线(A0~A7)锁进锁存器中,因为AT89S51是以多工的方式送出地址及数据。
平时在程序执行时ALE引脚的输出频率约是系统工作频率的1/6,因此可以用来驱动其他周边晶片的时基输入。
此外在烧录8751程序代码时,此引脚会被当成程序规划的特殊功能来使用。
PSEN:
此为"ProgramStoreEnable"的缩写,其意为程序储存启用,当8051被设成为读取外部程序代码工作模式时(EA=0),会送出此信号以便取得程序代码,通常这支脚是接到EPROM的OE脚。
AT89S51可以利用PSEN及RD引脚分别启用存在外部的RAM与EPROM,使得数据存储器与程序存储器可以合并在一起而共用64K的定址范围。
PORT0(P0.0~P0.7):
端口0是一个8位宽的开路汲极(OpenDrain)双向输出入端口,共有8个位,P0.0表示位0,P0.1表示位1,依此类推。
其他三个I/O端口(P1、P2、P3)则不具有此电路组态,而是内部有一提升电路,P0在当做I/O用时可以推动8个LS的TTL负载。
如果当EA引脚为低电平时(即取用外部程序代码或数据存储器),P0就以多工方式提供地址总线(A0~A7)及数据总线(D0~D7)。
设计者必须外加一锁存器将端口0送出的地址栓锁住成为A0~A7,再配合端口2所送出的A8~A15合成一完整的16位地址总线,而定址到64K的外部存储器空间。
PORT2(P2.0~P2.7):
端口2是具有内部提升电路的双向I/O端口,每一个引脚可以推动4个LS的TTL负载,若将端口2的输出设为高电平时,此端口便能当成输入端口来使用。
P2除了当做一般I/O端口使用外,若是在AT89S51扩充外接程序存储器或数据存储器时,也提供地址总线的高字节A8~A15,这个时候P2便不能当做I/O来使用了。
PORT1(P1.0~P1.7):
端口1也是具有内部提升电路的双向I/O端口,其输出缓冲器可以推动4个LSTTL负载,同样地若将端口1的输出设为高电平,便是由此端口来输入数据。
如果是使用8052或是8032的话,P1.0又当做定时器2的外部脉冲输入脚,而P1.1可以有T2EX功能,可以做外部中断输入的触发脚位。
PORT3(P3.0~P3.7):
端口3也具有内部提升电路的双向I/O端口,其输出缓冲器可以推动4个TTL负载,同时还多工具有其他的额外特殊功能,包括串行通信、外部中断控制、计时计数控制及外部数据存储器内容的读取或写入控制等功能。
其引脚分配如下:
P3.0:
RXD,串行通信输入。
P3.1:
TXD,串行通信输出。
P3.2:
INT0,外部中断0输入。
P3.3:
INT1,外部中断1输入。
P3.4:
T0,计时计数器0输入。
P3.5:
T1,计时计数器1输入。
P3.6:
WR:
外部数据存储器的写入信号。
P3.7:
RD,外部数据存储器的读取信号。
1.6MC14433功能
1.6.1MC14433介绍
MC14433是美国Motorola公司推出的单片31/2位A/D转换器,其中集成了双积分式A/D转换器所有的CMOS模拟电路和数字电路。
具有外接元件少,输入阻抗高,功耗低,电源电压范围宽,精度高等特点,并且具有自动校零和自动极性转换功能,只要外接少量的阻容件即可构成一个完整的A/D转换器,其主要功能特性如下:
1.精度:
读数的±0.05%±1字
2.模拟电压输入量程:
1.999V和199.9mV两档
3.转换速率:
2-25次/s
4.输入阻抗:
大于1000MΩ
5.输入阻抗:
大于1000MΩ
6.功耗:
8mW(±5V电源电压时,典型值)
7.功耗:
8mW(±5V电源电压时,典型值)
MC14433最主要的用途是数字电压表,数字温度计等各类数字化仪表及计算机数据采集系统的A/D转换接口。
1.6.2MC14433引脚功能
图1-3MC14433引脚图
MC14433的引脚说明:
Pin1(VAG):
模拟地,为高科技阻输入端,被测电压和基准电压的接入地。
Pin2(VR):
基准电压,此引脚为外接基准电压的输入端。
MC14433只要一个正基准电压即可测量正、负极性的电压。
此外,VR端只要加上一个大于5个时钟周期的负脉冲(VR),就能够复为至转换周期的起始点。
Pin3(Vx):
被测电压的输入端,MC14433属于双积分型A/D转换器,因而被测电压与基准电压有以下关系:
输出读数=Vx/Vr×1999,而当满量程为199.9mV时,VR取200.0mV,在实际的应用电路中,根据需要,VR值可在200mV—2.000V之间选取。
Pin4-Pin6(R1/C1,C1):
外接积分元件端。
次三个引脚外接积分电阻和电容,积分电容一般选0.1uF聚脂薄膜电容,如果需每秒转换4次,时钟频率选为66kHz,在2.000V满量程时,电阻R1约为470kΩ,而满量程为200mV时,R1取27kΩ。
Pin7、Pin8(C01、C02):
外接失调补偿电容端,电容一般也选0.1uF聚脂薄膜电容即可。
Pin9(DU):
更新显示控制端,此引脚用来控制转换结果的输出。
如果在积分器反向积分周期之前,DU端输入一个正跳变脉冲,该转换周期所得到的结果将被送入输出锁存器,经多路开关选择后输出。
否则继续输出上一个转换周期所测量的数据。
这个作用可用于保存测量数据,若不需要保存数据而是直接输出测量数据,将DU端与EOC引脚直接短接即可。
Pin10、Pin11(CLK1、CLK0):
时钟外接元件端,MC14433内置了时钟振荡电路,对时钟频率要求不高的场合,可选择一个电阻即可设定时钟频率,时钟频率为66kHz时,外接电阻取300kΩ即可。
Pin12(VEE):
负电源端。
VEE是整个电路的电压最低点,此引脚的电流约为0.8mA,驱动电流并不流经此引脚,故对提供此负电压的电源供给电流要求不高。
Pin13(Vss):
数字电路的负电源引脚。
Vss工作电压范围为VDD-5V≥Vss≥VEE。
除CLK0外,所有输出端均以Vss为低电平基准。
Pin14(EOC):
转换周期结束标志位。
每个转换周期结束时,EOC将输出一个正脉冲信号。
Pin15(OR非):
过量程标志位,当|Vx|>VREF时,输出为低电平。
Pin16、17、18、19(DS4、DS3、DS2、DS1):
多路选通脉冲输出端。
DS1、DS2、DS3和DS4分别对应千位、百位、十位、个位选通信号。
当某一位DS信号有效(高电平)时,所对应的数据从Q0、Q1、Q2和Q3输出,两个选通脉冲之间的间隔为2个时钟周期,以保证数据有充分的稳定时间。
Pin20、21、22、23(Q0、Q1、Q2、Q3):
BCD码数据输出端。
该A/D转换器以BCD码的方式输出,通过多路开关分时选通输出个位、十位、百位和千位的BCD数据。
同时在DS1期间输出的千位BCD码还包含过量程、欠量程和极性标志信息,这些信息所代表的意义见下表。
Pin24(VDD):
正电源电压端。
第2章智能型数字式万用表设计原理
2.1系统设计方框图
系统测量时,单片机与控制电路控制输入电路进行功能转换,将输入信号转换为符合A/D转换器的输入信号,然后A/D转换器将其输出数据传送到单片机,单片机对数据进行智能处理,最后显示在LED显示器上。
图2-1系统设计方框图
2.2系统设计方案
系统流程图:
图2-2系统总流程图
首先以A/D转换器(MC14433)为核心,设计一个多档的直流电压测量电路,再在此基础上对电路进行扩展,使其能多量程的测量交流电压、直流电流和电阻的测量电路。
然后通过单片机(AT89S51)编程对各个主要模块的进行智能控制和数据处理,实现对直流电压、交流电压、直流电流和电阻测量对象切换;手动和自动量程转换等功能,并将测量数据转换为人们日常习惯的十进制数字形式显示在LED显示器上。
所以本设计可以分为直流电压测量电路;交流/直流转换电路;电流/电压转换电路;电阻/电压转换电路;功能控制和数据显示电路这五个的主要电路模块。
第3章智能型数字式万用表硬件设计
3.1A/D转换电路
A/D转换器的转换精度对测量电路极其重要,它的参数关系到测量电路性能。
所以我依据设计性能指标要求,并综合A/D转换器的性能指标和价格选择了ICL7106和MC14433这两个A/D转换器作为候选芯片。
ICL7106的输入阻抗为1010Ω,转换速率为0.1-15次/s,转换准确度为±0.05%±1个字;MC14433的输入阻抗为109Ω,转换速率为3-10次/s,转换准确度为±0.05%±1个字,因此这两块芯片的性能指标大大超过设计要求的性能指标。
方案一:
采用ICL7106。
ICL7106是CMOS大规模集成电路芯片,它将模拟电路与数字电路集成在一个有40个功能端的电路内,所以只需外接少量元件就可组成一个31/2位数字电压表。
但是ICL7106是以静态方式驱动LCD转换器,无BCD码输出端,因此不能直接获得降量程信号。
方案二:
采用MC14433。
MC14433是一个低功耗31/2位双积分式A/D转换器,与ICL7106相比,MC14433采用动态扫描显示,有多路调制的BCD码输出端和超量程信号输出端,便于与单片机相连构成智能控制系统。
鉴于此,采用方案二。
MC14433是美国摩托罗拉(Motorola)公司生产的COMS单片31/2位A/D转换器,也是目前国内外数字式万用表中普遍采用的一种芯片。
MC14433的主要特点:
(1)工作电压为±4.5-±8V。
一般选典型值±5V,工作电流小于2mA,功耗为8mW。
(2)输入阻抗为109Ω,转换速率为3-10次/s,转换准确度为±0.05%±1个字。
(3)采用CMOS工艺制成的大规模集成电路(LSI)。
(4)芯片内部设有时钟振荡器,使用时仅需外接一只振荡电阻。
亦可采用外部时钟输入方式,时钟频率范围大约为48kHz-160kHz。
(5)有多路调制的BCD码输出,可直接配微型计算机或打印机。
(6)具有超量程、欠量程指示信号,便于实现自动量程转换。
(7)能增加读数保持功能。
(8)采用动态扫描显示方式。
如图3.1所示,MC1403提供输出可调基准电压Vref(大小为2V),被测信号(0-2V的直流电压)从MC14433的Vin引脚输入A/D转换器MC14433,每次当A/D转换结束时,MC14433的EOC引脚会输出一个高电平脉冲送给单片机,然后单片机会对MC14433的DS1-DS4引脚进行动态扫描,读取MC14433的Q0-Q3引脚的数据。
A/D转换相关理论推导:
双积分过程可以由下面的式子表示:
图3-1A/D转换电路图
因为
,故
,式中
=4000
,
是定时时间,
是变时间,由
确定斜率,若用时钟脉冲数N来表示时间
,则被测电压就转换成了相应的脉冲数,实现了A/D转换。
的参数计算:
(式1)
式中
为积分电容上充电电压具有自动调零和自动转换极性功能。
幅度,
=
,且
=0.5V,
=4000
。
假定
=0.1
,
=5V,
=66kHz。
当
=2V时,代入式1,可得
=480
,取标称值470
。
3.2直流电压测量电路
如图3.2.1所示,被测电压(0-200V)从DCV端输入,通过单片机控制模拟开关CD4052选择相应的量程,将被测电压值衰减到0-200mV,然后在经过由精密运算放大器OP07组成的放大电路,将电压值放大10倍后输入到A/D转换器MC14433的Vin端。
分压电阻采用误差为±0.5%的精密金属膜电阻。
图3-2直流电压测量电路
在实践中采用该方案时,若输入信号小于正5伏,结果正确,但是当输入信号大于正5伏时,模拟开关CD4052和集成运放OP07CP均工作不正常。
向老师请教后,得知该方案中,输入信号不经过任何衰竭直接加在模拟开关的1脚,使模拟开关处于不受保护的状态,当输入信号为大信号时,可能会使模拟开关工作不正常,甚至烧毁模拟开关,且模拟开关与运放直接相连,导致运放处于不受保护的工作状态。
为了解决这些问题,我修改了设计电路。
如下图3.2.2所示,该电路输入信号经过100千欧的电阻,从集成运放的反相输入端输入,由电阻、模拟开关和运放组成放大倍数可调的比例电路,并且这个100千欧的电阻还可以起到限流的作用,成功的解决了原电路的弊端。
实践证明,该电路可以达到任务书的要求。
图3-3改进后的直流电压测量电路
3.3交流/直流转换电路
方案一:
半波整流电路。
利用二极管的单向导电性,可以很容易的得到直流电压,且能满足设计要求。
方案二:
采用真有效值转换芯片,性能参数方面也都能满足设计要求,并且还能测量非正弦波,但一般真有效值转换芯片价格比较贵。
鉴于此,故采用方案一。
如图3.3所示,这个电路是利用低漂移单运算放大器TL062与二极管D11N4148组成平均值响应的线性半波整流电路。
该电路可避免二极管在小信号整理时所引起的非线性误差,使交流/直流转换电路的输入电压与输出电压成线性关系,适合测量40-400Hz的正弦电压,测量准确度优于±1%。
图3-4交流/直流转换电路图
3.4电流/电压转换电路
如图3.4所示,普通模拟开关可以通过的电流很微小,所以通过单片机控制继电器来控制线路导通断开,将被测电流信号(0-500mA)转换为相应的电压信号(0-200mV),然后经过OP07将信号放大10倍,最后输入A/D转换器MC14433的Vin端。
1A/250V的熔丝管FU为限流保护电路,两个二极管1N4007构成保护为过压保护电路。
阻值为90Ω、9Ω的电阻采用误差为±0.5%的精密金属膜电阻,而阻值为0.4Ω、0.6Ω的电阻通过的电流很大必须采用误差为±0.5%的精密绕线电阻。
图3-5电流/电压转换电路图
3.5电阻/电压转换电路
方案一:
利用运算放大器采用反相比例运算的方法进行测量。
该方法实现比较简单,且能满足设计要求。
方案二:
采用分压原理,利用流过标准电阻R0和被测电阻Rx的电流基本相等来得到电压与电阻的关系,但当电阻很小时电流过大。
鉴于此,故采用方案一。
如图3.5所示。
稳压二极管1N4730A的稳压值为3.9V(即B点处电压值),采用运算放大器反相比例运算的方法,将B点处的电压值衰减到2V(即A点处电压值),单片机通过控制模拟开关MAX4618(超低导通电阻)选择适当的标准参照电阻R1,再利用