数字式直流电流表的设计.docx
- 文档编号:10577231
- 上传时间:2023-05-26
- 格式:DOCX
- 页数:27
- 大小:207.08KB
数字式直流电流表的设计.docx
《数字式直流电流表的设计.docx》由会员分享,可在线阅读,更多相关《数字式直流电流表的设计.docx(27页珍藏版)》请在冰点文库上搜索。
数字式直流电流表的设计
摘要
直流数字电流表的诞生打破了传统电子测量仪器的模式和格局。
它显示清晰直观、读数准确,采用了先进的数显技术,大大地减少了因人为因素所造成的测量误差事件。
数字电流表是建立在数字电压表的基础上,让电压表与电阻串联,其显示的是电流,数字电压表是把连续的模拟量(直流输入电压)转换成不连续、离散的数字形式,并加以显示的仪表。
数字电流表把电子技术、计算技术、自动化技术的成果与精密电测量技术密切的结合在一起,成为仪器、仪表领域中独立而完整的一个分支,数字电流表标志着电子仪器领域的一场革命,也开创了现代电子测量技术的先河。
本设计采用了以单片机为开发平台,控制系采用AT89C52单片机,A/D转换采用ADC0809。
系统除能确保实现要求的功能外,还可以方便进行8路其它A/D转换量的测量、远程测量结果传送等扩展功能。
简易数字电流测量电路由A/D转换、数据处理、显示控制等组成。
第一章引言1
1.1引言1
1.2课题研究的现状和发展趋势1
1.3智能仪表目前发展状况1
第二章设计任务及可行性分析3
2.1系统设计要求3
2.2系统设计思路3
2.3总体结构3
2.3.1数字电流表的组成3
2.3.2电路设计4
2.3.310倍放大器电路4
2.3.4A/D转换电路5
2.3.5电桥输入电路6
2.3.6测量电路6
第三章元器件的选择8
3.1单片机的选择8
3.2A/D转换器的选择9
3.3LED显示电路的选择9
3.4所需元器件清单10
第四章数字式电流表的软件设计11
4.1系统程序设计总方案11
4.2系统子程序设计11
4.2.1初始化程序11
4.2.2A/D转换子程序11
4.2.3显示子程序12
4.3系统程序代码13
第五章数字式电流表的调试14
5.1软件调试16
5.2显示结果及误差分析16
5.2.1显示结果16
5.2.2误差分析17
第六章结论19
参考文献20
第一章引言
1.1引言
传统的指针式刻度电流表功能单一,精度低,容易引起视差和视觉疲劳,因而不能满足数字化时代的需求。
采用单片机的数字电流表,将连续的模拟量如直流电压转化成不连续的离散的数字形式并加以显示,从而精度高、抗干扰能力强,可扩展性强、集成方便,还可与PC实时通信。
数字电压表是诸多数字化仪表的核心与基础。
以数字电流表为核心,可以扩展成各种通用数字仪表、专用数字仪表及各种非电量的数字化仪表。
目前,由各种单片机和A/D转换器构成的数字电流表,已被广泛用于电子及电工测量、工业自动化仪表、自动测试系统等智能化测量领域。
显示出强大的生命力。
与此同时,由DVM扩展而成的各种通用及专用数字仪器仪表,也把电量及非电量测量技术提高到崭新的水平。
因此对数字电压表作全面深入的了解是很有必要的。
1.2课题研究的现状和发展情况
最近的十几年来,随着半导体技术、集成电路(IC)和微处理器技术的发展,数字电路和数字化测量技术也有了巨大的进步,从而促使了数字电流表的日新月异,并不断出现新的类型。
数字电流表从1952年问世以来,经历了不断改进的过程,从最早采用继电器、电子管的型式发展到了现在的全固态化、集成化(IC化〕。
另一方面,精度也从0.1%提高到了现在的0.01%——0.005%,而且从实验中空用的“高价样品”开始已发展到了现在为厂矿企业广所使用的的“廉价型”,进而出现了能够用于安装板上作指示仪表的“安装型”。
目前,数字电流表的内部核心部件是A/D转换器,转换的精度很大程度上影响着数字电流表的准确度,因而,以后数字电流表的发展就着眼在高精度和低成本这两个方面。
1.3智能仪表目前发展状况
在自动化控制系统中,仪器仪表作为其构成元素,它的技术进展是跟随控制系统技术的发展的。
常规的自动化仪器仪表适应常规控制系统的要求,它们以经典控制理论和现代控制理论为基础,以控制对象的数学模型为依据。
当今,控制理论已发展到智能控制的新阶段,自动化仪器仪表的智能化就成为必然和必须。
本文将就自动化仪器仪表的智能化的状况与进展,以及当今对智能仪器仪表研究、开发热点做概要的分析与表述。
作者建议人们关注自动化仪器仪表智能化技术的进展,关注仪器仪表装置与控制系统技术的互动发展,这对推进我国自动化技术水平的进一步提高将是大为有益的。
智能化的自动化仪器仪表应以智能控制理论为基础,体现人的智能行为。
人工智能是智能控制理论的基本组成部分之一,它以知识为基础,它的目标是建造智能化的计算机系统,用来模拟和执行人类的智力功能,如判断、理解、推理、识别、规划、学习和问题求解等等,进而用自动机模仿人类的思维过程和智能行为。
基于智能控制理论基础的智能仪器仪表目前大致有几方面的进展:
(1)专家控制系统(expertcontrolsystem,ECS)是典型的基于知识控制系统,它是一个具有大量的专门知识与经验的程序系统。
它运用人工智能技术和计算机技术,根据某领域一个或多个专家提供的知识和经验,进行推理和判断,模拟人类专家的决策过程,解决那些需要人类专家才能解决好的复杂问题。
专家控制器的结构按控制要求的不同而有所不同。
典型的结构由知识库、推理机、人机接口等组成。
其中,知识的获取、知识库的建立是关键。
人们已经总结出的方法是领域专家和知识专家的有机结合,同时收集、归纳有经验的操作员方面的知识。
然后把获取的知识变成可用的规则,以期在推理过程中得到更高的命中率。
专家控制已在工业控制中得到广泛的应用。
(2)模糊控制器(FC-FuzzyController),也称模糊逻辑控制器(FLC-FuzzyLogicController)。
自然界的事物都具有一定的模糊性,模糊逻辑在控制领域中的应用产生了模糊控制技术。
由于模糊控制技术具有处理不确定性、不精确性和模糊信息的能力,对无法建造数学模型的被控过程能进行有效的控制,能解决一些用常规控制方法不能解决的问题,因而模糊控制在工业控制领域得到了广泛的应用。
模糊控制器一般由输入标定、模糊化、模糊决策、清晰化、输出标定等几个部分组成。
其中,模糊化、模糊决策、清晰化是主要和基本的部分,“模糊化”将输入量(精确量)变为模糊量,“模糊决策”进行模糊运算,其过程是由推理机进行预估输出推理,得到模糊量输出。
“清晰化”将模糊量输出转化为精确量,提供给系统的驱动器定标后使用。
当前,模糊控制技术在工业控制中得到广泛的应用,尤其在不确定性过程、难于建模的场合发挥了模糊控制技术的长处。
模糊控制器在家电和其它行业同样得到了广泛的应用。
(3)神经网络在工业控制系统中的应用提高了系统的信息处理能力,提高了系统的智能水平。
所谓神经网络控制,简称神经控制,它是指采用神经网络这一技术对复杂的非线性对象进行建模,或担当控制器,或优化计算,或进行推理,或故障诊断等工作。
由于神经网络具有高度的并行结构和并行实现能力,具有对任意非线性关系的描述能力,具有通过训练学习归纳全部数据能力,使得它在控制系统中被广泛灵活地应用。
数字电流表,作为智能仪表的一种,它是采用数字化测量技术,把连续的模拟量(直流输入电压)转换成不连续、离散的数字形式并加以显示的仪表。
传统的指针式电压表功能单一、精度低,不能满足数字化时代的需求,采用单片机的数字电流表,由精度高、抗干扰能力强,可扩展性强、集成方便,还可与PC进行实时通信。
目前,由各种单片A/D转换器构成的数字电流表,已被广泛用于电子及电工测量、工业自动化仪表、自动测试系统等智能化测量领域,示出强大的生命力。
第二章设计任务及可行性分析
2.1系统设计要求
1、可以测量0-5V的8路输入电压值;
2、测量结果可在四位LED数码管上轮流显示后单路选择显示;
3、测量最小分辨率为0.019A;
4、测量误差约为+0.0AV。
2.2系统设计思路
1、根据设计要求,选择AT89S51单片机作为核心控制器件。
2、A/D转换采用ADC0809实现。
与单片机的接口为P0口和P2的高四位引脚。
3、电压显示采用4位一体的LED数码管。
4、LED数码管的段码输入,由并行端口P1产生;位码输入,由并行端口P3低三位产生。
图2.1设计思路框图
2.3总体结构
2.3.1数字电流表的组成
图2.2数字电流表的组成框图
数字直流电流表的核心是A/D转换器。
按系统功能实现要求,决定控制系统采用AT89C51单片机,A/D转换采用ADC0809。
系统除能确保实现要求的功能外,还可以方便地进行8路其他A/D转换量的测量和远程测量结果传送等扩展功能。
数字电流表系统设计方案框图如图2.3所示。
图2.3数字电流表系统设计方案框图
2.3.2电路设计
1、IO口资源分配
①P3口连接ADC0804的8位数据口;
②P1.4连接ADC0804的2、3引脚,进行数据读取控制;
③P0口连接LED数码管段码A-H;
④P2、0-P2、2连接LED数码管的位选驱动;
⑤P1.0,P1.1连接按键,P1.2连接LED指示灯;
2.3.310倍放大器电路
下图是一个最简单的10倍放大电路,运算放大器使用的是精度比较高的OP07,利用它,可以把0~200mV的电压放大到0~2.000V。
在使用的数字电流表量程为2.000A时,特别有用。
如果把它应用在基本量程为±200.0mA的数字电流表上,就相当于把分辨力提高了10倍,在一些测量领域中,传感器的信号往往觉得太小了,这时,可以考虑在数字流表前面加上这种放大器来提高分辨力。
图2.4倍放大器电路
2.3.4A/D转换电路
在电流或者电压的测量中,经常遇见测量的并不是直流而是交流,这时候,绝对不可以把交流信号直接输入到数字电流表去,必须先把被测的交流信号变成直流信号后,才可以送入数字电流表进行测量。
下图就是一个把交流信号转换成为直流信号的参考电路。
(说明:
更好的交流转换成为直流的电路是一种“真有效值”转换电路,但是由于其专用芯片价格昂贵,多应用在一些高档场合。
)
本电路中,输入的是0~200.0mV的交流信号,输出的是0~200.0mV的直流信号,从信号幅度来看,并不要求电路进行任何放大,但是,正是电路本身具有的放大作用,才保证了其几乎没有损失地进行AC-DC的信号转换。
因此,这里使用的是低功耗的高阻输入运算放大器,其不灵敏区仅仅只有2mA左右,在普通数字万用表中大量使用,电路大同小异。
首先输入3位地址,并使ALE=1,将地址存入地址锁存器中。
此地址经译码选通8路模拟输入之一到比较器。
START上升沿将逐次逼近寄存器复位。
下降沿启动A/D转换,之后EOC输出信号变低,指示转换正在进行。
直到A/D转换完成,EOC变为高电平,指示A/D转换结束,结果数据已存入锁存器,这个信号可用作中断申请。
当OE输入高电平时,输出三态门打开,转换结果的数字量输出到数据总线上。
图2.5AC-DC转换电路
2.3.5电桥输入电路
在温度测量和其他物理及化学量的测量中,经常会出现“零点”的时候信号不是零的情况,这时候,下面的“电桥输入”电路就被优先采用了。
可以根据被测信号的特点,用传感器替换电桥回路中的某一个电阻元件。
数字电压表的两个输入端也不再有接地点,作为一种典型的“差分”输入来使用了。
图2.6电桥输入(差分输入,比例输入)电路
2.3.6测量电路
电桥输入电路的变种还可以延伸到下面的电路,这是一个把4~20mA电流转换为数字显示的电路。
它的零点就是4mA而不是0mA。
当输入零点电流为4mA的时候,利用IN-上面建立起来的电压,抵消掉IN+由于4mA出现的无用信号,使得数字电压表差分输入=0,就实现了4mA输入时显示为0的要求。
随着信号的继续增大,例如到了20mA,对数字电流表来说,相当于差分输入电流为20-4=16mA,这个16mA在62.5R电阻上的压降,就是数字电流表的最大输入信号。
这时候,把数字电流表的基准电压调整到与16*62.5=1000mV相等,显示就是1000个字。
图2.7测量电路
简易数字电流表测量电路由A/D转换、数据处理及显示控制等组成。
A/D转换有集成电路ADC0809完成。
ADC0809具有8路模拟输入端口,地址线(第23-25脚)可决定对哪一路模拟输入作A/D转换。
第22脚位地址锁存控制,当输入为高电平时,对地址信号进行锁存。
第6脚位测试控制,当输入一个2μs宽高电平脉冲时,就开始A/D转换。
第7脚为A/D转换结束标志,当A/D转换结束时,第7脚输出高电平。
第9脚为A/D转换数据输出允许控制,当OE脚为高电平时,A/D转换数据从端口输出。
第10脚为ADC0809的时钟输入端,利用单片机第30脚嘚分频晶振频率,再通过14024二分频得到1MHz时钟。
单片机的P1、P3.0-P3.3端口作为4位LED数码管显示控制。
P3.5端口用作单路显示/循环显示转换按钮。
P3.6端口用作单路显示时选择显示的通道。
P0端口用作A/D转换数据读入,P2端口用作ADC0809的A/D转换控制。
第三章元器件的选择
3.1单片机的选择
20世纪80年代以来,单片机的发展非常迅速,就通用单片机而言,世界上一些著名的计算机厂家已投放市场的产品就有50多个系列,数百个品种。
目前世界上较为著名的8位单片机的生产厂家和主要机型如下:
美国Intel公司:
MCS—51系列及其增强型系列
美国Motorola公司:
6801系列和6805系列
美国Atmel公司:
89C52等单片机
美国Zilog公司:
Z8系列及SUPER8
美国Fairchild公司:
F8系列和3870系列
美国Rockwell公司:
6500/1系列
美国TI(德克萨司仪器仪表)公司:
TMS7000系列
NS(美国国家半导体)公司:
NS8070系列等等。
尽管单片机的品种很多,但是在我国使用最多的还是Intel公司的MCS—51系列单片机和美国Atmel公司的89C52单片机
MCS—51系列单片机包括三个基本型8031、8051、8751
8031内部包括一个8位CPU、128个字节RAM,21个特殊功能寄存器(SFR)、4个8位并行I/O口、1个全双工串行口、2个16位定时器/计数器,但片内无程序存储器,需外扩EPROM芯片。
比较麻烦,不予采用
8051是在8031的基础上,片内集成有4KROM,作为程序存储器,是一个程序不超过4K字节的小系统。
ROM内的程序是公司制作芯片时,代为用户烧制的,出厂的8051都是含有特殊用途的单片机。
所以8051适合与应用在程序已定,且批量大的单片机产品中。
也不予采用。
8751是在8031基础上,增加了4K字节的EPROM,它构成了一个程序小于4KB的小系统。
用户可以将程序固化在EPROM中,可以反复修改程序。
但其价格相对8031较贵。
8031外扩一片4KBEPROM的就相当于8751,它的最大优点是价格低。
随着大规模集成电路技术的不断发展,能装入片内的外围接口电路也可以是大规模的。
也不予采用。
AT89S51是美国ATMEL公司生产的低功耗、高性能CMOS8位单片机。
AT89S51片内含有4k字节Flash闪速存储器,128字节内部RAM,32个I/O口线,看门狗(WDT),两个数据指针,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。
同时,S51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。
空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。
掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89S51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
因此我选择AT89S51为系统的控制器。
3.2A/D转换器的选择
A/D转换器大致分有三类:
一是双积分A/D转换器,二是逐次逼近式A/D转换器,三是并行A/D转换器。
双积分A/D转换器通过两次积分将输入的模拟电压转换成时间或频率,然后由定时器/计数器获得数字值。
它的优点是分辨率高,抗干扰性好,价格便宜,但转换速率低。
逐次逼近式A/D转换器是将采样输入信号与给定电压不断地进行比较,从逐次逼近寄存器的最高位开始,顺序地对寄存器的每一位将输入电压与内置D/A转换器输出进行比较,一个时钟周期完成1位转换,进过n次比较而得到数字值。
它的优点是精度、速度、价格适中、不存在延迟问题。
适合于中速率而分辨率较高的场合。
并行A/D转换器是内部有多个比较器,只需要作一次比较就可完成转换。
优点是它是所有A/D转换器中速度最快的,但价格也昂贵,分辨率却不是很高。
在转换精度、转换速率、以及经济上的考虑,该系统决定选用逐次逼近式A/D转换器的ADC0809型。
ADC0809是典型的8位MOS型8通道逐次逼近式A/D转换器,每采集一次一般需100μs。
图3.1逐次逼近式A/D转换原理图
3.3LED显示电路的选择
LED显示器是由N个LED显示块拼接成N位LED显示器。
N个LED显示块有N跟位选线,根据显示方式的不同,位选线和段选线的连接方法也各不相同,段选线控制显示字符的字型,而位选线为各个LED显示块的公共端,它控制该LED显示位的亮、暗。
LED显示器有静态显示和动态显示两种显示方式。
(1)LED静态显示方式:
LED显示器工作于静态显示方式时,各位的共阴极(或共阳极)连接在一起并接地(或+5V);每位的段选线(a~dp)分别与一个8位的锁存器输出相连。
所以称为静态显示。
各个LED的显示字符一经确定,相应锁存器的输出将维持不变,直到显示另一个字符为止。
也正因此如此,静态显示器的亮度都较高。
这种显示方式接口编程容易。
付出的代价是占用口线较多,若用I/O接口,则要占用4个8位I/O口,若用锁存器接口,则要用4片74LS373芯片。
如果显示器位数增多,则静态显示方式更是无法适应,因此在显示位数较多的情况下,一般都采用动态显示方式。
(2)LED动态显示方式:
在多位LED显示时,为了简化硬件电路,通常将所有位的段选线相应的并联在一起,有一个8位I/O口控制,形成段选线的多路复用。
而各位的共阳极或共阴极分别由相应的I/O线控制,实现各位的分时选通。
其中段选线占用一个8位I/O口,而位选线占用一个4位I/O口。
由于各位的段选线并联,段码的输出对各位来说都是相同的,因此,同一时刻,如果各位位选线都处于选通状态的话,4位LED将显示相同的字符。
若要各位LED能够显示出与本位相应的显示字符,就必须采用扫描显示方式,即在某一时刻,只让某一位的位选线状态,而其他各位的位选线处于关闭状态,同时,段选线上输出相应位要显示字节的段码。
在确定LED不同位显示的时间间隔,不能太短,因为发光二极管从导通到发光有一定的延时,导通时间太短,发光太弱人眼无法看清。
但也不能太长,因为毕竟要受限于临界闪烁频率,而且此时间越长,占用CPU时间也越多,另外,显示位增多,也将占用大量的CPU时间,因此动态显示实质是一牺牲CPU时间来换取元件的减少。
所以,由于本系统涉及到4位显示输出,采用LED动态扫描显示方式。
3.4所需元器件清单
器件类型
器件名
数值
数量
单片机
AT89S51
1
A/D转换器
ADC0809
1
数码管
TSEG-MP*4-CC-BLUE
1
开关
按键开关
1
电容
C1、C2
33uF
2
电解电容
C3
10uF
1
电阻
R1
1K
2
排阻
RP1
200
1
变阻器
RV1
1K
1
晶振
X1
1MHz
1
第四章数字式电流表的软件设计
4.1系统程序设计总方案
根据模块的划分原则,将该程序划分初始化模块,A/D转换子程序和显示子程序,这三个程序模块构成了整个系统软件的主程序,如图4.1所示。
图4.1数字式直流电流表主程序框图
4.2系统子程序设计
4.2.1初始化程序
所谓初始化,是对将要用到的MCS_51系列单片机内部部件或扩展芯片进行初始工作状态设定,初始化子程序的主要工作是设置定时器的工作模式,初值预置,开中断和打开定时器等。
4.2.2A/D转换子程序
A/D转换子程序用来控制对输入的模块电流信号的采集测量,并将对应的数值存入相应的内存单元,其转换流程图如图4.2所示。
开始
图4.2A/D转换流程图
4.2.3显示子程序
显示子程序采用动态扫描实现四位数码管的数值显示,在采用动态扫描显示方式时,要使得LED显示的比较均匀,又有足够的亮度,需要设置适当的扫描频率,当扫描频率在70HZ左右时,能够产生比较好的显示效果,一般可以采用间隔10ms对LED进行动态扫描一次,每一位LED的显示时间为1ms。
在本设计中,为了简化硬件设计,主要采用软件定时的方式,即用定时器0溢出中断功能实现11μs定时,通过软件延时程序来实现5ms的延时。
其转换流程图如图4.3所示。
图4.2显示子程序流程图
4.3系统程序代码
根据数字式电压表的设计电路图及系统软件流程图所需系统软件的主程序代码:
LED_0EQU30H;//百分位显示存储
LED_1EQU31H;//十分位显示存储
LED_2EQU32H;//个位显示存储
ADCEQU35H
CLOCKBITP2.4
STBITP2.5
EOCBITP2.6
OEBITP2.7
ORG00H
SJMPMAIN
ORG0BH
LJMPINT_T0
MAIN:
MOVLED_0,#00H;//初始化
MOVP2,#0FFH
MOVLED_1,#00H
MOVLED_2,#00H
MOVDPTR,#TABLE
MOVTMOD,#02H;//定时器T0定时器工作模式,工作在方式1
MOVTH0,#245;//装入计数初值
MOVTL0,#00H
MOVIE,#82H
SETBTR0;//置位定时器T0溢出中断请求标志位
HERE:
CLRST
SETBST
CLRST
JNBEOC,$;//判断转换是否结束
SETBOE;//允许输出转换的数字量
MOVADC,P1;//转换的数字量存入ADC即35H中
CLROE
MOVA,ADC
MOVB,#51
DIVAB
MOVLED_2,A
MOVA,B
MOVB,#5
DIVAB
MOVLED_1,A
MOVLED_0,B
LCALLDISP
SJMPHERE
INT_T0:
CPLCLOCK;//提供时钟
RETI
DISP:
MOVA,LED_0;//显示程序
MOVCA,@A+DPTR
CLRP2.3
MOVP0,A
LCALLDELAY
SETBP2.3
MOVA,LED_1
MOVCA,@A+DPTR
CLRP2.2
MOVP0,A
LCALLDELAY
SETBP2.2
MOVA,LED_2
MOVCA,@A+DPTR
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字式 直流 电流表 设计