积分式数字电夺表设计_第1页
积分式数字电夺表设计_第2页
积分式数字电夺表设计_第3页
积分式数字电夺表设计_第4页
积分式数字电夺表设计_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、摘 要随着电子科技的发展,电子测量成为广大电子工作者必须掌握的手段,对测量的精度和功能的要求也越来越高,而电压的测量甚为突出,因为电压的测量最为普遍。同时随着微电子技术的迅速发展和超大规模集成电路的出现,特别是单片机的出现,正在引起测量控制仪表领域的新的技术革命。A/D转换电路是数据采集系统中的重要部分,也是计算机应用系统中一种重要的功能接口。目前市场上有两种常用的A/D转换芯片,一类是逐次逼近式的,如AD1674,其特点是转换速度较高,功率较低。另一类是双积分式的,如ICL7135,其特点是转换精度高、抗干扰能力强。但高位数的A/D转换器价格相对较高。本文介绍的一种基于单片机的高精度、双积分

2、型转换电路,具有电路体积小、成本低、性价比高、结构简单、调试容易和工作可靠等特点,有很好的实际应用价值。本设计在参阅了大量前人设计的数字电压表的基础上利用单片机技术结合LM339以及采用模拟开关CD4051构建一个测量范围达0-750V。本文首先简要介绍了积分式数字电压表的主要组成部分及原理,然后详细介绍了硬件系统和软件系统的设计,并给出了硬件电路的各部分电路的设计及原理以及软件算法。关键词: 电压测量;LM339;模拟开关;单片机Integral design of digital voltmeterAbstractWith the development of electronical s

3、cientific technology, electronic measurement become a technic that everyone of engaging electronical had to master it. Whats more, the measurement accuracy and functional equirements are getting higher and higher, and the voltage measurement is best important. At the same time as the rapid developme

4、nt of microelectronics technology and the emergence of ultra-large-scale integrated circuits, In particular the emergence of MCU, is causing the field of measurement and control instruments of the new technological revolution.A/D converter circuit is an important part of the data acquisition system,

5、 is also an important function of interface of the computer application system. At present there are two common A/D conversion chip on the market. one is successive approximation type, such as the AD1674, characterized by high conversion, a lower power,; and the other is a two-integral type, such as

6、 the ICL7135, characterized by high precision conversion, and strong interference capability, But the high number of A/D converter is relatively expensive. This article describes a microcomputer-based high-precision, dual integral conversion circuit, with circuit size and low cost, cost-effective, s

7、imple structure, easy and reliable debugging and so on, have a good practical value.The design of a large number of our predecessors in the see-designed based on the digital voltmeter the use of microcomputer technology combined the chip, LM339 and the use of analog switches CD4051 to build a measur

8、ing range up to 0-750V. This paper briefly describes the integral digital voltage meter and principle of the main components, and then details the hardware and software system design, and gives the various parts of the hardware circuit design and principles of the circuit and software algorithms.Key

9、 Words: Voltage measurement; LM339; Analog switch; Microcontroller目 录摘 要IAbstractII1 方案论证21.1 概述21.2 硬件系统流程概述22 积分式数字电压表硬件设计32.1 电压信号采样32.2 自动量程切换接口电路42.2.1 基本原理42.2.2 10倍放大器电路52.2.3 欠量程识别电路52.2.4 换程控制电路62.3 积分运算电路82.4 电压比较器工作原理112.4.1 什么是电压比较器11比较器的工作原理132.5 积分电路142.5.1 基本原理142.5.2 转换过程152.6 应用电路16

10、2.7 显示过程172.7.1 单片机 AT89S52 简介172.7.2 单片机最小系统及LED 显示电路173 软件设计193.1 积分式数字电压表系统软件流程193.2 单片机主程序流程图193.3 定时器 T0、TI 中断服务程序203.4 电压值计算子程序213.5 显示程序21总 结23参 考 文 献24附录 程序25致 谢30引 言在电量的测量中,电压和频率是最基本的三个被测量。其中电压量的测量最为经常。而且随着电子技术的发展,更是经常需要测量高精度的电压,所以数字电压表成为一种必不可少的测量仪器。数字电压表(Digital Voltmeter)简称DVM,它是采用数字化测量技术

11、,把连续的模拟量(直流输入电压)转换成不连续、离散的数字形式并加以显示的仪表。传统的指针式电压表功能单一、精度底,不能满足数字化时代的需求,而采用单片机的数字电压表,由精度高、抗干扰能力强,可扩展强、集成方便,还可与PC进行实时通信。目前,由各种单片A/D转换器构成的数字电压表,已被广泛用于电子测及电工测量、工业自动化仪表、自动测试系统等智能化测量领域,显示出强大的生命力。与此同时,由DVM扩展而成的各种通用及专用数字仪表,也把电量及非电量测量技术提高到崭新水平。积分式数字电压表是一种间接转换形式的数字电压表,它是对输入模拟电压进行积分并转换成中间量时间或频率,再通过计数器将中间量转换成数字量

12、。1 方案论证1.1 概述积分式数字电压表采用 AT89S52单片机作为主要控器,系统由分压及量程切换电路、积分电路、电压比较电路、单片机最小系统及外围显示接口电路等几个功能模块组成。本系统基本组成框图如图1.1所示。被测电压小数点驱动(配合被测量与量程)分压器(量程切换)电压比较单片机LED显示积分器图1.1 数字电压表基本组成框图1.2 硬件系统流程概述被测模拟电压经过初始最高挡位切换到最大分压电路衰减后,接着由运算放大器OP07 进行放大后,再送给比较电路进行电压比较,通过单片机控制制来判断量程是否合适并选择合适的量程,然后将电压信号送到由LM324构成的积分电路对输入电压进行定时积分,

13、再通过LM339构成的电压比较电路,输出相应的比较信号到单片机中对其进行判断,最后由单片机对转换的结果进行计算,得到被测电压数值 (BCD 码),通过单片机驱动四个LED数码管显示结果。2 积分式数字电压表硬件设计2.1 电压信号采样直流电压测量部分电路如图2.1所示。该电路是以 200mV 作为基本量程,共设5挡:200mV、2V、20V、200V、1000V。图中,R1R5 为分压电阻,均采用误差较小的精密金属膜电阻(相对误差为0.5%)五个电阻的总和为10 .在实际应用中,由于高阻值的精密电阻难以购到,R1(9)可由两只标称值为4.5的配对电阻串联而成,而分压电阻R5(1)可由 900和

14、100电阻串联而成。图2.1 分压电路实际设计时是根据各挡的分压比和总电阻来确定各分压电阻的。如先确定R总=R1+R2+R3+R4+R5=10M (2.1)再计算 1000V 挡的电阻R总=0.0001R (2.2)再逐挡计算 R4、R3、R2、R1。尽管上述最高量程挡的理论量程是2000V,但通常的数字电压表出于耐压和安全考虑,规定最高电压量程为1000V。显然,此挡满量程时,输出电压为1000V乘以 0.0001等于0.1V。即100mV,同理可以算出量程为200V 挡的分压系数等于0.001,满量程时输出电压为0.2V,即200mV。20V、2V、200mV挡的分压系数为 0.01、0.

15、1和1。总之,通过分压电路,使被测电压一律减至 200mV 以下,之后再放大10 倍送给自动量程切换接口电路,选取好量程后进行双积分转换电路进行电压周期变换后送入单片机处理和显示2.2 自动量程切换接口电路2.2.1 基本原理自动量程切换接口由10倍放大器电路、欠量程识别电路、换程控制电路组成,结构框图如图 2.2所示.换程电路欠量程识别电路量程选择电路10倍放大电路URA、B、CUoUi图2.2 自动量程切换接口方框图电路工作原理如下:当电路上电后,换程控制电路自动将量程设置为最高挡,即衰减为0.0001,然后欠量程识别电路对放大后的输出Uo进行判断。判断标准是以和它相配的A/D转换器的输入

16、上限作为其上限阀值Umax,以 9%Umax 作为其下限阀值 Umin,UoVB;在t1t2时,VBVA;在t2t3时,VAVB。在这种情况下,Vout的输出如图2.9(c)所示:VAVB时,Vout输出高电平(饱和输出);VBVA时,Vout输出低电平。根据输出电平的高低便可知道哪个电压大。图2.9(a) 电压比较器图2.9(b、c、d) 比较器输入输出波形图如果把VA输入到反相端,VB输入到同相端,VA及VB的电压变化仍然如图2.9(b)所示,则Vout输出如图2(d)所示。与图2.9(c)比较,其输出电平倒了一下。输出电平变化与VA、VB的输入端有关。 如果输入电压VA与某一个固定不变的

17、电压VB相比较,此VB称为参考电压、基准电压或阈值电压。如果这参考电压是0V(地电平),如图2.10(b)所示,它一般用作过零检测。图2.10零电压的比较器2.4.2比较器的工作原理比较器是由运算放大器发展而来的,比较器电路可以看作是运算放大器的一种应用电路。由于比较器电路应用较为广泛,所以开发出了专门的比较器集成电路。图2.11由运算放大器组成的差分放大器电路,输入电压VA经分压器R2、R3分压后接在同相端,VB通过输入电阻R1接在反相端,RF为反馈电阻,若不考虑输入失调电压,则其输出电压Vout与VA、VB及4个电阻的关系式为 (2.6)若 则 (2.7)RF/R1为放大器的增益。当R1=

18、R2=0(相当于R1、R2短路),R3=RF=(相当于R3、RF开路)时,Vout=。增益成为无穷大,其电路图就形成图2.9(a)的样子,差分放大器处于开环状态,它就是比较器电路。实际上,运放处于开环状态时,其增益并非无穷大,而Vout输出是饱和电压,它小于正负电源电压,也不可能是无穷大。图2.11 差分放大器电路从图2.11中可以看出,比较器电路就是一个运算放大器电路处于开环状态的差分放大器电路。同相放大器电路如图2.12所示。如果图2.12中RF=,R1=0时,它就变成与图2.9(a)一样的比较器电路了。图2.12中的Vin相当于图2.9(a)中的VA。图2.12 同相放大器电路2.5 积

19、分电路 基本原理 双积分电路基本电路如图2.13所示,运放A1、R、C用来组成积分器,C常取0.22F的聚丙运放烯电容,R1常取500k左右,A2作为比较器。电路先对未知的模拟输入电压U1进行固定时间T1的积分,然后转为对标准电压U0进行反向积分,直到积分输出返回起始值,反向积分时间为T0。如图2.14所示,输入电压U1越大,则反向积分时间越长。整个采样期间,积分电容C上的充电电荷等于放电电荷,因而有 (2.8)即 (2.9)由于U0及T1均为常数,因而反向积分时间T0与输入模拟电压U1成正比,此期问单片机的内部计数器计数值与信号电压的大小成正比,此计数值就是U1所对应的数字量。图2.13 双

20、积分转换电路T1T0T0图2.14 双积分转换波形图2.5.2 转换过程为了给积分电路提供积分零点,在系统上电阶段,积分电路先接通0电平,待比较器输出为低电平时,再对积分电路进行一段时间的放电,以使得积分电容零电荷。因此双积分电路的工作过程分为三个阶段。 (1)清零阶段:当比较器输出低电平时,积分电容上聚集了大量电荷,必须对其放电为后续积分提供精确的零起始点。即对电压值0进行定值积分。(2)积分阶段:对模拟输入电压Uin进行固定时间积分,积分时长T1,此阶段积分器的输出电压 (2.10)(3)比较阶段:对模拟输入电压进行定时积分后,再对基准电压U1进行反向积分直到比较器的输出发生翻转,此阶段设

21、积分时长为T0,由比较器原理则有以下关系式: (2.11)由此可得 (2.12)其中T1、U1均为常数,T0通过单片机定时器可求得。2.6 应用电路 综上可以画出自动量程切换接口电路,积分电路,电压比较电路如图2.15所示。自动量程切换接口电路中考虑到量程挡位因素,我们将欠量程识别电路的基准电压值取0.18V。其思路是初始时,由单片机设置CD4051(1)模拟开关CBA为最高挡,此时测量电压信号Ui通过分压电路后输出为原来0.0001倍。直接对其由OP07组成的电路放大10倍后送入量程识别电路进行判断,当电压比较器输出电平为1时,量程合适,反之输出为0时,则为欠量程,由单片机输出量程控制信号使

22、量程降一挡并再进行比较直至量程合适;同时输出电平给 CD4051(2)的INH 脚,控制它的有效性,当电平为0时,模拟开关有效进而使电压进入积分电路和电压比较电路,通过单片机定时器完成数据采集,再经过单片机计算得出所测电压。双积分转换电路中,单片机P1.0、P1.1、P1.2作为输出端口,控制其地址选择端A、B、C选择不同的通道输入到积分器A3,Uin为积分器的输入电压,U0为基准电压,为使双积分转换结果具有更高的精度,基准电路应该提供精确的电压,建议使用精度为1%的精密电阻,单片机使用89S52,其内部定时器T0为积分电路提供精确的时间定时,定时器T1用来记录反向积分时间,INT0用来检测比

23、较器电平变化。所需测量的模拟输入信号和零点参考电压以及基准电压接到多路选择开关的输入端,通过单片机中的程序控制,轮流选择接入各路输入信号,通过积分电路分别和固定电压进行定时或定值积分。积分电路的输出信号作为比较器的输入信号与比较电压进行比较,当比较器输出翻转信号时,CPU定时器停止,从而获得零点参考电压的定时值,对这个数据进行处理计算后,完成电压转换。图2.15 应用电路2.7 显示过程2.7.1 单片机 AT89S52 简介 单片机采用MCS-51系列单片机。ATMEL公司生产的AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash 存储器。使用Atmel 公

24、司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。片Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。 AT89S52主要性能包括:1)与MCS-51单片机产品兼容;2)8K字节在系统可编程Flash存储器;3)1000次擦写周期;4)全静态操作:0Hz33Hz;5)三级加密程序存储器;6)32个可编程I/O口线;7)三个16位定时器/计数器;8)八个中断源;9)全双工UART串行通道;10)低功耗空闲和掉电模式;11)掉电后中断可唤醒;

25、12) 看门狗定时器;13)双数据指针;14)掉电标识符。 单片机最小系统及LED 显示电路单片机最小系统包括晶体振荡电路如2.17示、复位开关电路如2.18示和电源部分。本系统采用的是12MH晶振;复位电路在单片机中是很重要的,它可以完成单片机的初始化。也可以在死机状态下重启单片机。它的基本原理是在时钟电路开始工作后,在单片机的RST引脚施加24个时钟振荡脉冲(即两个机器周期)以上的高电平,单片机便可以复位。在复位期间,单片机的ALE引脚和/PSEN引脚均输出高电平。当RST引脚从高电平跳变为低电平后单片机便从0000H单元开始执行程序。 在实际应用中,一般采用即可手动复位,又可以上电复位的

26、电路,这样即是人工复位单片机系统。上电部分的原理也是RC电路的充放电效应。除了系统上电的时候可以给RST引脚一个短暂的高电平信号外,当按下按键开关的时候,VCC通过一个电阻连接到RST引脚,给RST一个高电平;按键松开的时候,RST 引脚恢复为低电平,复位完成。 数码管的显示有静态和动态两种方式,但是由于静态显示在显示位数较多, 就需要占用更多的并行口,为简化电路,故本文采用动态显示方式。根据设计精度要求LED采用4位共阴级数码,利用单片机的I/O口驱动LED数码管的亮灭,设计中由P0口驱动LED的段码显示,即显示字符,由P2的 P2.1,P2.1,P2.2来输出控制信号使对应的数码管位有效显

27、示如2.19所示。图2.17 晶体振荡电路 图2.18复位电路 图2.19显示电路3 软件设计软件设计采用 C 语言编程,运用模块化程序设计思想,对不同功能模块的程序进行分别编程,以便移植或调用,这样使软件层次结构清晰,有利于软件的调试修改。 3.1 积分式数字电压表系统软件流程 单片机内部定时器T0、T1分别控制对基准电压和模拟电压的定时积分;P10、P11、P12控制多路选择开关的通道,P1.3用来控制是否进行A/D转换,P1.4口用来控制量程信号,P0、P2口用来控制数码管显示,且单片机以查询方式检测比较器的输出电平。3.2 单片机主程序流程图主程序开始后,先进行对系统初始化,设置定时器

28、 T0 工作模式,T1 工作在方式1定时,置位总中断允许。 初始化后,程序进入主循环。首先是进行电压比较电路比较信号的查询以此 选择合适的量程挡位,接着,启动定时器 T0、T1 工作进行电压比较和计 算,得到电压值后经 BCD 码转换后先送显示缓冲区再显示。图3.1 主程序流程图3.3 定时器 T0、TI 中断服务程序 本课题以在 200ms 内对信号进行积分,设定时器 T0 工作在方式 1, 初值为 TH0=0,TL0=0,定时器 T1 工作在方式 1 定时模式定时 50ms 则需进行 4 次即可。初值 TH1=(65536-50000)/256=0X3C,TL0=(65536-50000)

29、%256=0XB0。 其中断服务程序如下所显示。中断服务T0/T1计数器加1返回图3.2定时器T0/T1中断3.4 电压值计算子程序电压计算程序积分时间计算t1、t2计算电压返回首先计算积分时间t0,它由计数值T0count,以及T0中的TH0、TL0来确定如下t0=T0count*65536+TH0*256+TL0;再计算电压U=U0*t0/t1;其中U0为基准电压,t1=4*15536为一定值。 图3.3 电压计算子程序3.5 显示程序对电压值数据进行 BCD 码转换并送显示缓冲区,查表字型码并点亮对应的 量程信号下的小数点。程序流程图如图所示。显示程序量程信号初始化缓冲区BCD码转换点亮

30、对应小数点查字型码表输出显示图3.4 显示子程序总 结 我本次的设计题目是积分式数字电压表,是一个基于单片机的电压测量系统,在系统中提出了直流测量以及自切换功能的实现的思路。在设计的过程中我遇到了很多新的问题,通过请教老师和自己的学习,我不但解决了问题还学到了很多的知识,真是受益非浅。同时,这也是一次能力锻炼的好机会,在设计过程中当遇到问题的时候,我总是会想尽一切办法来解决。其中,用的最多的就是查找有关质料了,在这个过程中我觉的自己的解决问题的能力得到了极大的提高。 由于本人的实际设计经验不足以及水平有限,系统中可能存在一些缺陷,但是其硬件电路的设计思想还是符合实际电路设计要求。总之,这次毕业

31、设计令我终生难忘,它锻炼了我,也提高了我。它进一步温习和巩固在大学四年里所学的知识,对将在社会工作岗位上能为祖国、为社会做出一点贡献,都有极其重要的价值.参 考 文 献1 潘永雄.新编单片机原理与应用(笫二版).西安:西安电子科技大学出版社,20062 田立,田清,代方震.51单片机C语言程序设计快速入门.北京:人民邮电出版社,20073 张靖武,周灵彬.单片机系统的PROTEUS设计与仿真.北京:电子工业出片版式社,20074 康华光,陈大钦,张林.电子技术基础模拟部分(笫五版).北京:高等教育出版社,20055 阎石.当数字电子技术基础(笫五版).北京:高等教育出版社,2005 6苏文平编

32、著.电子电路应用实例精选M.北京:北京航空航天大学出版社,2001.3 7沙占友等编.模拟与数字万用表检测及应用技术M.北京:电子工业出版社,2000.5 8汪玉凤,赫飞,刘雨刚,孙秀芬.LM331应用在A/D转换中的体会J.电子器件,2004.9, 27(3):453455 9何希才编著.常用电子电路应用365例M.北京:电子工业出版社,2006.9 10高美珍.555时基芯片及其在A/D转换中的应用J.电子工程师,2005.6,31(6):38 40 11张鄂亮,林红,肖广润,周惠领.微型计算机原理与应用M.第二版.湖北:华中科技大 学出版社,2005.1 12孙安青编著.AT89S51单

33、片机实验及实践教程EB/OL. 13 严颂庄. 基于LabVIEW的频率测量虚拟仪器系统的研究与应用D.湖南大学 , 2003 . 14 王彦涛. 基于专家系统的热牵伸辊温度控制的研究D.天津工业大学 , 2000 . 15 赵玲. 无温度传感器实现热牵伸辊控制及其上位微机管理系统D.天津工业大学 2000 . 16杜虎林.数字万用表实用测量技法与故障检修M.北京:人民邮电出版社,2003.2 17赵亮,侯国锐.单片机C语言编程与实例M.北京:人民邮电出版社,2004.1 18张大明.单片机控制实训知道及综合应用实例M.北京:机械工业出版社2007.3 19姜文波,何立伟.常用双积分A/D转换

34、器自动量程转换接口电路J.仪表技术,2007(6) 20包本钢.基于ICL7107器件的量程自切换数字电压表的设计J.中国仪器仪表,2007(2): 3135 附录 程序#include #include #define uchar unsigned char; uchar code dispbit=0x0FE,0x0FD,0x0FB,0x0F7;uchar code dispcode=0x3f,0x06,0x5b,0x4f,0x66,0x7d,0x07,0x7f,0x6f,0x00,;uchar dispbuf4=0,0,0,0;uchar T0count;uchar timecount;s

35、bit flag=P32;unsigned long t0,t1,U0;float V;uchar i,j,k,l,m;sbit S3=P10; /Asbit S2=P11; /Bsbit S1=P12; /Csbit PD=P14;sbit ST=P13;sbit DP=P27; /定义小数点/宏定义不同的开关状态#define V10_ON S1=1;S2=1;S3=0; #define V0_ON S1=0;S2=0;S3=0; /0v#define V750_ON S1=0;S2=0;S3=1; /750V#define V200_ON S1=0;S2=1;S3=0; /200V #d

36、efine V20_ON S1=0;S2=1;S3=1; /20V#define V2_ON S1=1;S2=0;S3=0; /2V#define V02_ON S1=1;S2=0;S3=1; /200mv/定时器T0中断函数/void time0(void) interrupt 1 using 1 TL0=0;TH0=0;T0count+;/计数值加1/定时器T1中断函数/ void time1(void) interrupt 3 using 1 TH1=(65536-50000)/256;/重装初值TL1=(65536-50000)%256;timecount+; /T1中断溢出加1/电压

37、数据处理/ void datahandle() t0=T0count*65536+TH0*256+TL0;t1=4*15536;V=U0*t0*10000/t1;/延时函数/void delay() for(m=0;m=2;m+); for(j=0;j=100;j+); /显示函数/ void disp() for(i=0;i4;i+)/显示初始化“0” dispbufi=0; i=0; while(V) dispbufi=(int)V%10; V=V/10; i+; dispbufi=V; timecount=0; T0count=0; for(k=0;k4;k+) P0=dispcodedispbufk; P2=dispbitk; if(l=4)&(k=3)/点亮DP3P0=P0|0x80; else if(l=3)&(k=2) P0=P0|0x80;/点亮DP2else if(l=2)&(k=1) P0=P0|0x80;/点亮

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论