量程自动切换电压表.docx
- 文档编号:8305529
- 上传时间:2023-01-30
- 格式:DOCX
- 页数:21
- 大小:513.70KB
量程自动切换电压表.docx
《量程自动切换电压表.docx》由会员分享,可在线阅读,更多相关《量程自动切换电压表.docx(21页珍藏版)》请在冰豆网上搜索。
量程自动切换电压表
西安航空职业技术学院
毕业设计(论文)
论文题目:
量程自动切换电压表
所属系部:
指导老师:
职称:
学生姓名:
班级、学号:
专业:
西安航空职业技术学院制
2016年1月10日
西安航空职业技术学院
毕业设计(论文)任务书
题目:
量程自动切换电压表
任务与要求:
数字电压表采用采用数字化测量技术把连续的模拟量转换成离散的数字形式并加以显示的仪表与传统的模拟式仪表比较,具有显示清晰直观,读数准确,测量范围宽,通过发光二极管来显示被测电压所选择的档位。
输入的模拟电压通过A/D转换模块将其转换成数字电压,再通过软件编程的方式使其在LED数码显示器上显示出来,实现了数字电压表的显示功能。
时间:
2015年11月16日至2016年1月10日共8周
所属系部:
学生姓名:
学号
专业:
指导单位或教研室:
指导教师:
职称:
西安航空职业技术学院制
2015年1月10日
毕业设计(论文)进度计划表
日期
工作内容
执行情况
指导教师
签字
2015.11.06-2015.11.23
查找资料,确定论文题目
2015.11.24-2015.12.1
了解所做课题的意义,熟悉所设计的内容。
2015.12.02-2015.12.08
先设计出大概原理框图,确定方向然后逐步完善框图
2015.12.09-2015.12.16
根据所设计的原理框图,详细的做出量程自动切换电压表的各个硬件部分
2015.12.17-2015.12.24
软件的设计,查看资料做出量程自动切换电压表所显示的流程图
2015.12.25-2015.1.1
利用软件设计量程自动切换电压表的代码。
2015.1.2-2015.1.28
完成设计,做出自我评价。
2015.1.29-2016.1.10
打印并上交。
教师对进度计划实施情况总评
本表作评定学生平时成绩的依据之一
量程自动切换的电压表
【摘要】
数字电压表(DigitalVoltmeter)简称DVM,它是采用数字化测量技术,把连续的模拟量(直流输入电压)转换成不连续、离散的数字形式并加以显示的仪表。
传统的指针式电压表功能单一、精度低,不能满足数字化时代的需求,采用单片机的数字电压表,由精度高、抗干扰能力强,可扩展性强、集成方便。
目前,由各种单片A/D转换器构成的数字电压表,已被广泛用于电子及电工测量、工业自动化仪表、自动测试系统等智能化测量领域,示出强大的生命力。
与此同时,由DVM扩展而成的各种通用及专用数字仪器仪表,也把电量及非电量测量技术提高到崭新水平。
本论文重点介绍单片A/D转换器以及由它们构成的基于单片机的数字电压表的工作原理。
关键字:
量程电压表读数
Automaticrangeswitchingvoltagemeter
Abstract:
VoltmeterDVM(digitalDigital)isadigitalmeasurementtechnology,whichusesdigitalmeasurementtechnologytoconvertthecontinuousanalogquantity(DCinputvoltage)intodiscontinuous,discretedigitalformanddisplayinstrument.Thetraditionalpointermeterissingle,lowaccuracyandcannotmeettheneedsofthedigitalera.Ithasbeenwidelyusedinelectronicandelectricalmeasurement,industrialautomationinstrument,automatictestsystemandsoon.Inthispaper,wefocusontheworkprincipleofsinglechipdigitalvoltagemeterbasedonsinglechipcomputer,whichcanimprovethepowerofDVM,andalsoimprovethepowerandnonpowermeasurementtechnologytoanewlevel.
Keywords:
rangevoltagemeterreadings
1概述
1.1数字电压表的发展前景
数字电压表作为数字技术的成功应用发展相当快。
数字电压表(Digital VoIt Me-ter,DVM),以其功能齐全、精度高、灵敏度高、显示直观等突出优点深受用户欢迎。
特别是以A/D转换器为代表的集成电路为支柱,使DVM向着多功能化、小型化、智能化方向发展。
DVM应用单片机控制,组成智能仪表;与计算机接口,组成自动测试系统。
现代数字电压表按测量功能可分为直流数字电压表和交流数字电压表。
数字电压表一般由模拟部分和数字部分组成,模拟部分主要功能是获取电压并将其转换为相应的数字量,数字部分完成逻辑控制、译码和显示等功能。
数字电压表的核心是A/D转换器,由A/D转换器工作原理的不同,数字电压表又可分为逐次比较型和双积分型。
传统模拟式电压表具有电路简单、成本低、测量方便等特点,但测量精度较差,特别是受表头精度的限制,即使采用0.5级的高灵敏度表头,读测时的分辨力也只能达到半格。
再者,模拟式电压表的输入阻抗不高,测高内阻源时精度明显下降。
本设计为克服以上缺点选用ICL7135芯片实现双积分A/D转换,提高精度,
它是一种四位半的双计分A/D转换器,具有精度高(精度相当于14位二进制数)、价格低廉、抗干扰能力强等优点。
本设计介绍用单片机并行方式采集ICL7135的数据以实现单片机电压表和小型智能仪表的设计方案。
在当今的数字时代,从大到空间雷达,地球卫星定位系统,移动通信,计
算机,医用断层扫描设备,小到家用计算机,数码影像设备,数字录音笔,数码微波炉等设备中,数字技术与数字电路组成的数字系统已经成为这些现代电子系统的重要组成部分。
数字电压表正进入一个蓬勃发展的新时期,一方面它开拓了电子测量领域的先河,另一方面它本身正朝着高准确度、智能化、低成本的方向发展。
此外,数字电压表在安装工艺、外观设计、安全性、可靠性等方面也在不断改进,日臻完善。
1.2电路组成及工作原理
本设计以单片机作为电路的核心部件,采用软件编程和硬件相结合的方式设计了一种量程可以自动切换且具有高清晰度显示的数字式直流电压表。
其硬件电路简单,主要用软件编程的方式检测输入信号的大小来实现数字电压表的量程自动切换功能,在硬件电路上通过发光二极管来显示被测电压所选择的档位。
输入的模拟电压通过A/D转换模块将其转换成数字电压,再通过软件编程的方式使其在LED数码显示器上显示出来,实现了数字电压表的数字显示功能。
电路的组成框图如图1-1所示,电路主要有档位自动切换电路、A/D转换电路,显示电路与单片机及其外围电路组成。
图1-1电路组成框图
1.3档位自动切换电路
利用电压衰减器、继电器与单片机软件编程相结合来实现电路的档位自动切换功能。
该电路主要有四个档位,它们分别是2.5V、5.0V、10.0V和20.0V档。
为了计算方便,本设计中A/D转换模块的VREF设定为2.55V,因此为了检测大于2.55V的直流电压,必须在输入端引入电压衰减器,将输入电压信号变换到0~2.55V之间,通过软件判断档位,在自动切换档位后将A/D转换模块得到的数值放大相同的倍数在LED数码显示器上通过动态扫描的方式显示电压衰减器的设计方案有两种,一种是用精密电阻构成的分压器,电路如图1-2(a)所示;另一种是利用多个电位器并联,调节各个电位器而得到衰减电压,再通过电位器的中间抽头输出衰减后的电压值,电路如图1-2(b)所示,该衰减器避免了前一种衰减器由于电阻精密性不高而引入的测量误差,因此,本电路设计选择图1-2(b)所示的电压衰减器。
当被测电压Vx在0~20V范围内变化时,经过电压衰减器均可以把它转换为0~2.55V之间作为A/D转换电路的输入电压,再通过单片机编程来实现档位。
(a)精密电阻构成分压器(b)并联电位器
图1-2电压衰减器
1.4A/D转换电路
A/D转换电路主要利用ADC0809和单片机相连,根据ADC0809的时序图通过软件编程的方式启动A/D转换电路,实现A/D转换功能。
ADC0809是8位逐次逼近型A/D转换器。
带8个模拟量输入通道,有通道地址译码锁存器,输出带三态数据锁存器。
启动信号为脉冲启动方式,最大可调误差为±1LSB。
ADC0809内部设有时钟电路,故CLK时钟需由外部输入,clk允许范围500kHz1MHz。
START信号端的脉冲由单片机的P3.4产生启动ADC0809,由P3.6设置ADC0809有效,即P3.6为高电平时ADC0809有效,P3.7作为转换结束标志,转换结束P3.6变为低电平。
通过软件实现了ADC0809的模数转换功能。
图1-3A/D转换电路图
1.5显示电路
显示电路主要由共阴极LED七段数码显示器和单片机的并行I/O口组成,单片机的P2口作为段码输出端口,P1口的低四位作为数码显示器的位码选通端子。
实现测量结果的显示,具体电路如图3中所示
1.6时钟电路和复位电路
时钟电路由片外石英晶体、微调电容和单片机的内部电路组成。
选用12MHz晶体,微调电容C1、C2采用30pF的瓷片电容,单片机的复位电路有开关复位和上电复位两种,本设计采用开关复位电路,电解电容C3=10μF,电阻R8=200Ω,R9=1kΩ,在单片机工作时复位电路中按键按下后单片机内各寄存器的值变为初始状态值。
2系统各部分的组成电路
2.1高精度程控放大电路
程控放大电路如图2-1所示。
该电路由输入失调电压小、温漂和时漂小、低噪声的集成运算放大器OP07及通用运算放大器LM358和模拟电子开关CD4052组成,其增益CD4052A、B两端的数字量来控制。
由于模拟电子开关的导通电阻Ron以及它的不稳定性一直是影响程控放大器放大精度的症结所在,所以我们在设计中将切换量程电阻和模拟电子开关置于OP07运放的闭环回路中,这样就利用了运放的高增益特性和反馈性,使模拟电子开关的导通电阻及其温度系数对放大器
增益的影响基本上得以消除,而放大器的增益A1仅取决于反馈电阻RF和R0R。
A1=-RF/R0,A2=-1,放大器的总增益A=A1·A2=RF/R。
当我们将RF选用多圈可调电阻时,图2所示的电路就形成了四量程控制的放大器。
当CD4052的B、A端给定为00、01、10、11时,调节RF1、RF2、RF3、RF4使得放大器的总增益A分别为1、0.1、0.01、0.005使之与量程2V、20V、200V、500V一一对应。
另外,为了提高系统的输入电阻,可在输入端加个电压跟随器。
图2-1程控放大电路
2.2超/欠量程的识别
分析ICL7135内部结构电路图,发现该芯片内具有超/欠量程识别电路,其中第28脚为欠量程信号输出脚,该脚若输出高电平则表示读数小于或等于满量程的9%,发出欠量程信号;正常应是低电平。
第27脚为超量程信号输出脚,该脚若输出高电平则表示输入电压超过2.0000V,发出超量程信号;正常应为低电平。
图2-2超/欠量程内部结构电路图
2.3量程程控制电路
该电路由两块三—3输入与非门(型号为74LS10)和一块双时钟加/减计数器CD40193构成。
其作用是按输入条件信号(过量程信号OR,欠量程信号UR,原量程控制信号An、Bn和换程脉冲信号CP)进行组合,产生满足下面要求的量程控制信号An+1、Bn+1:
①有几档量程,就有几种对应的不同的量程控制信号,在任何时刻都不允许有一个以上量程同时有效;②过量程时,量程控制信号应由低向高变化,已在最高量程仍过量程时,则维持最高量程不变;③欠量程时,量程控制信号应由高向低改变,已在最低量程仍欠量程时,则维持最低量程不变;④量程合适时,维持原量程不变;⑤每档量程都能达到并且保持。
根据以上所要求,得到表1所列的逻辑真值表。
从真值表可见图2-1所示电路完全实现了上述设计的要求.
表2-1换程控制信号逻辑真值
2.4小数点切换电路
小数点切换电路如图2-3所示。
其中模拟电子开关CD4052的一半用来进行小数点切换,另一半用于程控放大电路中量程切换。
因此小数点切换与量程切换是同步的,从而达到数字直读之目的。
另外由于TD1913型数字电压表的显示器是共阳极式的,所以图2-3所示的电路是能满足要求的,该电路的真值表如表2-2所列。
图2-3小数点切换电
表2-2小数点切换电路的真值表
3硬件电路设计
8路数字电压表应用系统硬件电路由单片机、A/D转换器、数码管显示电路和按键处理电路等组成,电路原理图如图3—1所示。
图3-1硬件电路原理图
ADC0809具有8路模拟量输入通道IN0---IN7,通过3位地址输入端C、B、A(引脚23--25)进行选择。
引脚22为地址锁存控制端ALE,当输入为高电平时,C、B、A引脚输入的地址锁存于ADC0809内部是锁存器中,经内部译码电路译码选中相应的模拟通道。
引脚6为启动转换控制端START,当输入一个2μs宽的高电平脉冲时,就启动ADC0809开始对输入通道的模拟量进行转换。
引脚7为A/D转换器,当开始转换时,EOC信号为低电平,经过一段时间,转换结束,转换结束信号EOC输出高电平,转换结果存放于ADC0809内部的输出数据寄存器中。
引脚9脚为A/D转换数据输出允许控制端OE,当OE为高电平时,存放于输出数据锁存器中的数据通过ADC0809的数据线D0—D7输出。
引脚10为ADC0809的时钟信号输入端CLOCK。
在连接时,ADC0809的数据线D0—D7与AT89S52的P0口相连接,ADC0809的地址引脚、地址锁存端ALE、启动信号START、数据输出允许控制端OE分别与AT89S52的P2相连接,转换结束信号EOC与AT89S52的P3.7相连接。
时钟信号输入端CLOCK信号,由单片机的地址锁存信号ALE得到。
LED数码管采用动态扫描方式连接,通过AT89S52的P1口和P3.0—P3.3口控制。
P1口为LED数码管的字段码输出端,P3.0—P3.3口为LED数码管的位选码输出端,通过三极管驱动并反相。
S1和S2是两个按键开关,分别与单片机的P3.5和P3.6相连接。
S1用于单路显示或多路循环显示转换控制,S2用于单路显示时的通道选择。
4软件设计
量程自动切换数字电压表的软件设计采用单片机常用的汇编语言,主要包括三个部分,即主程序部分、档位切换部分和LED数码显示器的显示部分。
其软件设计流程图如图4-1、4-2、4-3所示。
图4-1主程序
图4-2显示子程序图
图4-3量程自动化切换程
4.1主程序
主程序设计的软件流程图如图4-1(a)所示,在A/D模块启动子程序中,主要根据A/D转换模块的时序图设置单片机的各引脚电平来启动ADC0809。
判断部分主要是通过A/D转换模块采集到的电压值与档位值进行比较来选择数字电压表的档位,再通过档位处理子程序对A/D转换模块转换后的电压值进行处理,然后在数码显示器上显示出来。
4.2LED送显子程序
LED数码管采用软件译码动态扫描方式。
在显示子程序中包含多路循环显示和单路显示程序。
多路循环显示把8个存储单元的数值依次取出送到4位数码管上显示,每一路显示1秒。
单路显示程序只对当前选中的一路数据进行显示。
每路数据显示需经过转换变成十进制BCD码,放于4个数码管的显示缓冲区中。
单路显示或多路循环显示通过标志位00H控制。
在显示控制程序中加入了对单路或多路循环按键和通道选择按键的判断。
图4-4LED送显子程序
C语言源程序清单
#include
#include
#include
#definead_conP2//0809控制口
#defineaddataP0//0809数据入口
#definedisdataP1//数码管显示
#defineucharunsignedchar
#defineuintunsignedint
ucharnumber=0x00;//存放单通道显示时的当前通道数
sbitALE=P2^3;//0809地址锁存信号
sbitSTART=P2^4;//启动信号
sbitOE=P2^5;//输出允许通道
sbitKEY1=P3^5;//循环或单路选择按键
sbitKEY2=P3^6;//通道选择按键
sbitEOC=P3^7;//转换结束信号
sbitDISX=disdata^7;//小数点位
sbitFLAG=PSW^0;//循环或单路显示标志位
Ucharcodedis_7[11]={0x3F,0x06,0x5B,0X4F,0x66,0x6D,0x7D,0x07,0x7E,0x6F,0x00};
//数码管的字段码
ucharcodescan_con[4]={0xF1,0xF2,0xF4,0xF8};//4个LED数码管的位选
Uchardataad_data[8]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
//0809的8个通道转换数据缓冲区
uchardatadis[5]={0x00,0x00,0x00,0x00,0x00};//显示缓冲区
/*主函数*/
main()
{
P0=0xff;//初始化端口
P2=0x00;
P1=0xff;
P3=0xff;
while
(1)
{test();//测量转换数据
scan();//显示数据
}
}
/*1秒延时*/
delay1ms(uintt)
{uinti,j;
for(i=0;i for(j=0;j<120;j++); } /*检测按键子程序*/ keytest() { if(KEY1==0)//检测循环或单路选择按键是否按下 {FLAG=! FLAG;//标志位取反,循环,单路显示却换 while(KEY1==0); } if(FLAG==1)//单路循环时,检测通道选择按键是否按下 {if(KEY2==0) {number++; if(number==8) {number=0;} while(KEY2==0); } } } /*显示扫描子程序*/ scan() { uchark,n; inth; if(FLAG==0)//循环显示子程序 { dis[3]=0x00;//通道值清零 for(n=0;n<8;n++)//循环8次 { dis[2]=ad_data[n]/51;//转换为BCD码 dis[4]=ad_data[n]%51; dis[4]=dis[4]*10; dis[1]=dis[4]/51; dis[4]=dis[4]%51; dis[4]=dis[4]*10; dis[0]=dis[4]/51; for(h=0;h<500;h++)//每个通道显示时间控制为1s { for(k=0;k<4;k++)//4位LED循环显示 { disdata=dis_7[dis[k]]; if(k==2) {DISX=0;} P3=scan_con[k]; delay1ms (1); P3=0xff; } } dis[3]++;//通道值加1 keytest();//检测按键 } } if(FLAG==1)//单路显示子程序 { dis[3]=number; for(k=0;k<4;k++)//4位LED扫描显示 { disdata=dis_7[dis[k]]; if(k==2) {DISX=0;} P3=scan_con[k]; delay1ms (1);P3=0xff; } keytest();//检测按键 } } /*转换子函数*/ test() { ucharm; uchars=0x00;//初始通道位0 ad_con=s;//第一通道地址送0809控制口 for(m=0;m<8;m++) { ALE=1;_nop_();_nop_();ALE=0;//锁存通道地址 START=1;_nop_();_nop_();START=0;//启动转换 _nop_();_nop_();_nop_();_nop_(); while(EOC==0);//等待转换结束 OE=1;ad_data[m]=addata;OE=0;//读取当前通道转换数据 s++;ad_con=s;//改变通道地址 } ad_con=0x00;//通道地址恢复初值 } 4.3 档位自动切换子程序 档位自动切换子程序的软件流程图如图4-3所示,该程序的设计主要对A/D转换模块转换得到数据和该档位的数据进行比较进行档位的选择,再通过计算将十六进制数转换为十进制数,存储在50H~53H四个单元中,然后再通过调用送显子程序将其在数码显示器上显示出来。 利用单片机编程控制数字电压表的量程自动切换和显示功能,不仅使整个硬件电路的设计使用的元器件数量减少,而且调节起来也较为方便,整个系统性能也更加稳定。 实验结果表明,该数字电压表实现了量程自动切换功能和高清晰度数字显示功能,且性价比较高,有较强的适用性。 它是0+20V的单量程数字电压表,在此基础上还可以进一步的扩展,让电路具有更好更强大的功能。 如器还可以实现更多档位的量程自动切换功能,配上高压探头还可测上万伏的高压,在电压输入端加反向器即可实现负电压的测量。 为了提高测量的精度还可在A/D转换电路部分采用12位或24位A/D转换器件。 : 利用电压衰减器还可以实现更多档位的量程自动切换功能,配上高压探头还可测上万伏的高压,在电压输入端加反向器即可实现负电压的测量。 为了提高测量的精度还可在A/D转换电路部分采用12位或24位A/D转换器件。 5常见故障及其调查方法 在计量前,先要对表进行机械调零: 旋转电表零点调整螺丝,使表针指示零。 在计量中,我们最常遇到的故障现象有如下几种: 5.1电压表的全部量程呈线性超差 对于输人频率为1kHz、不同大小幅值的信号,电压表的所有幅值测量量程均呈偏大或偏小的现象。 这时应主调可变电位器vR102,它位于表头放大器电路部分;兼顾调节电位器vR101,它位于电路中第一衰
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 量程 自动 切换 电压表
![提示](https://static.bdocx.com/images/bang_tan.gif)