简易数字电压表的设计毕业设计.doc
扬州高等职业技术学校 学生毕业设计(论文)题 目: 简易电压表设计 系 部: 电子信息工程系 专 业: 电子信息工程技术 学 号: 班 级: G10105 姓 名: 鲜 平 源 指导老师: 严 勇 目 录 摘 要I目 录 II第一章 选题背景11.1 智能仪表目前发展状况11.2 设计原理及设计目的31.3 设计要求3第二章 方案比较与论证42.1 功能特性概述42.2 电源方案62.3 显示方案72.4 AD采样方案82.5 键盘部分10第三章 方案设计113.1 系统整体电路113.2 硬件设计123.3 软件设计12第四章 性能测试144.1 电压测试144.2 电阻值测试144.3 短路测试144.4 高压报警测试154.5 串口功能测试154.6 时间功能测试154.7 交流峰峰周期测试15第五章 结果分析16第六章 设计总结17致 谢18参考文献19附录 元件清单20第一章 选题背景1.1 智能仪表目前发展状况 在自动化控制系统中,仪器仪表作为其构成元素,它的技术进展是跟随控制系统技术的发展的。常规的自动化仪器仪表适应常规控制系统的要求,它们以经典控制理论和现代控制理论为基础,以控制对象的数学模型为依据。当今,控制理论已发展到智能控制的新阶段,自动化仪器仪表的智能化就成为必然和必须。本文将就自动化仪器仪表的智能化的状况与进展,以及当今对智能仪器仪表研究、开发热点做概要的分析与表述。作者建议人们关注自动化仪器仪表智能化技术的进展,关注仪器仪表装置与控制系统技术的互动发展,这对推进我国自动化技术水平的进一步提高将是大为有益的。智能化的自动化仪器仪表应以智能控制理论为基础,体现人的智能行为。人工智能是智能控制理论的基本组成部分之一,它以知识为基础,它的目标是建造智能化的计算机系统,用来模拟和执行人类的智力功能,如判断、理解、推理、识别、规划、学习和问题求解等等,进而用自动机模仿人类的思维过程和智能行为。基于智能控制理论基础的智能仪器仪表目前大致有几方面的进展: (1)专家控制系统(expert control system, ECS)是典型的基于知识控制系统,它是一个具有大量的专门知识与经验的程序系统。它运用人工智能技术和计算机技术,根据某领域一个或多个专家提供的知识和经验,进行推理和判断,模拟人类专家的决策过程,解决那些需要人类专家才能解决好的复杂问题。专家控制器的结构按控制要求的不同而有所不同。典型的结构由知识库、推理机、人机接口等组成。其中,知识的获取、知识库的建立是关键。人们已经总结出的方法是领域专家和知识专家的有机结合,同时收集、归纳有经验的操作员方面的知识。然后把获取的知识变成可用的规则,以期在推理过程中得到更高的命中率。专家控制已在工业控制中得到广泛的应用。 (2)模糊控制器(FC-Fuzzy Controller),也称模糊逻辑控制器(FLC-Fuzzy Logic Controller)。自然界的事物都具有一定的模糊性,模糊逻辑在控制领域中的应用产生了模糊控制技术。由于模糊控制技术具有处理不确定性、不精确性和模糊信息的能力,对无法建造数学模型的被控过程能进行有效的控制,能解决一些用常规控制方法不能解决的问题,因而模糊控制在工业控制领域得到了广泛的应用。模糊控制器一般由输入标定、模糊化、模糊决策、清晰化、输出标定等几个部分组成。其中,模糊化、模糊决策、清晰化是主要和基本的部分,“模糊化”将输入量(精确量)变为模糊量,“模糊决策”进行模糊运算,其过程是由推理机进行预估输出推理,得到模糊量输出。“清晰化”将模糊量输出转化为精确量,提供给系统的驱动器定标后使用。当前,模糊控制技术在工业控制中得到广泛的应用,尤其在不确定性过程、难于建模的场合发挥了模糊控制技术的长处。模糊控制器在家电和其它行业同样得到了广泛的应用。 (3)神经网络在工业控制系统中的应用提高了系统的信息处理能力,提高了系统的智能水平。所谓神经网络控制,简称神经控制,它是指采用神经网络这一技术对复杂的非线性对象进行建模,或担当控制器,或优化计算,或进行推理,或故障诊断等工作。由于神经网络具有高度的并行结构和并行实现能力,具有对任意非线性关系的描述能力,具有通过训练学习归纳全部数据能力,使得它在控制系统中被广泛灵活地应用。数字电压表(Digital Voltmeter)简称DVM,作为智能仪表的一种,它是采用数字化测量技术,把连续的模拟量(直流输入电压)转换成不连续、离散的数字形式并加以显示的仪表。传统的指针式电压表功能单一、精度低,不能满足数字化时代的需求,采用单片机的数字电压表,由精度高、抗干扰能力强,可扩展性强、集成方便,还可与PC进行实时通信。目前,由各种单片A/D 转换器构成的数字电压表,已被广泛用于电子及电工测量、工业自动化仪表、自动测试系统等智能化测量领域,示出强大的生命力。举例如图1.1:图1.11适用范围 该系列产品是一种高精度的安装式仪表,它可广泛用于电力系统和自动化控制系统中对单相三相电量参数(交直流电流-电压-功率-因数-频率)的测量和显示。采用大规模集成电路,具有转换精度高、响应速度快、性能稳定等特点,可直接替代指针式仪表。2.通用技术参数* 精度等级:数显0.2、0.5级 光柱1.5级 * 数显范围:四位半显示01 9 9 9 9 * 光柱指示:0120% * 标称输入:电流1A、5A;电压100V、220V、380V 、450V* 过 量 程:持续:1.2倍,瞬时:电流10倍/5秒,电压2倍/1秒1.2 设计原理 数字电压表是一种用数字显示的电压测量仪表。由于数字电压表具有读数准确方便、精度高、误差小、灵敏度高和分辨率高、侧量速度快等特点而备受青睐。其基本原理是采用数字化测量技术,对直流电压进行模数转换,转换成不连续、离散的数字形式并加以显示。1.3 设计要求可以测量0-5V的8路输入电压值;可在四位LED数码管上轮流显示或单路选择显示或液晶显示;测量最小分辨率为0.019V;测量误差约为+0.02V;带有一定的扩展功能。第二章 方案比较与论证单片机采用AT89S52,它是一个低功耗,高性能CMOS 8位单片机,片内含8k Bytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,功能强大的微型计算机的AT89S52可为许多嵌入式控制应用系统提供高性价比的解决方案。单片机基础电路如图2.1: 图2.1 单片机基础电路2.1 功能特性概述40个引脚,8k Bytes Flash片内程序存储器,256 bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。此外,AT89S52设计和配置了振荡频率可为0Hz并可通过软件设置省电模式。空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复位。同时该芯片还具有PDIP、TQFP和PLCC等三种封装形式,以适应不同产品的需求。引脚功能:·VCC:电源电压·GND:地·P0口:P0口是一组8位漏极开路型双向I/O口,也即地址/数据总线复用口。作为输出口用时,每位能吸收电流的方式驱动8个TTL逻辑门电路,对断口P0写“1”时,可作为高阻抗输入端使用。在访问外部数据存储器或程序存储器时,这组端口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。在FLASH编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。·P1口:P1口是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(In)。与AT89C51不同之处是,P1.0和P1.1还可分别作为定时/计数器2的外部计数输入(P1.0/T2)和输入(P1.1/T2EX)。第二功能:P1.0:T2(定时/计数器2外部计数脉冲输入),时钟输出P1.1:T2EX(定时/计数2捕获/重新载触发和方向控制)·P2口:P2是一个带内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。在访问外部程序存储器或16位地址的外部数据存储器(例如执行MOVXDPTR指令)时,P2口送出高8位地址数据。在访问8位地址的外部数据存储器(如执行MOVXRI指令)时,P2口输出P2锁存器的内容。·P3口:P3口是一组带有内部上拉电阻的8位双向I/O口。P3口输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对P3口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。此时,被外部拉低的P3口将用上拉电阻输出电流。P3口除了作为一般的I/O口线外,更重要的用途是它的第二功能端口引脚 第二功能:P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 INT0(外中断0)P3.3 INT1(外中断1)P3.4 TO(定时/计数器0)P3.5 T1(定时/计数器1)P3.6 WR(外部数据存储器写选通)P3.7 RD(外部数据存储器读选通)·RST:复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。·ALE/PROG:当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。该位置位后,只有一条MOVX和MOVC指令才能将ALE激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效。·PSEN:程序存储允许PSEN输出是外部程序存储器的读选通信号,当AT89C52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲。在此期间,当访问外部数据存储器,将跳过两次PSEN信号。·EA/VPP:外部访问允许。欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH),EA端必须保持低电平(接地)。需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。如EA端为高电平(接Vcc端),CPU则执行内部程序存储器中的指令。·XTAL1:振荡器反相放大器的内部时钟发生器的输入端。·XTAL2:振荡器反相放大器的输出端。2.2 电源方案 由变压器输入7805的1脚,2脚接地,3脚+5V输出,中间加2个104电容和1000u的电解电容分别为了退耦和稳压。使+5V更稳定地输出。电源接线图如图2.2。 图 2.2 电源接线图2.3 显示方案 方案一:显示部分(采用共阴4位八段数码管显示。如图2.3:) 图2.3 数码管电路图显示部分与单片机连接图如图2.4: 图2.4 显示与单片机连接图方案二:采用液晶1602做为显示电路,功能强大,适合做各类扩展。其中7-14脚为数据口脚,3脚为背景灯亮度调节脚,EN、RW、RS命令状态字脚。我们可以通过程序使1602显示各类字符如图2.5。 图2.5 1602显示电路1602管脚说明:1.Vss 电源地 ;2.Vdd 电源正极 4.55.5V 通常使用5V;3.Vl 对比度调节 电源调节范围05V。接正电源时对比度最弱,接地对比度最高,但是对比度过高时产生“鬼影”,因此通常使用一个10K电位器来调整对比度,或者直接接一个电阻到地;4.Rs 数据/命令选择 高电平选择数据寄存器,低电平选择指令寄存器;5.R/W 读/写选择 高电平读取数据,低电平写入数据;6.E 模块使能端 写数据需要下降沿触发模块;7.14.D0D7 三态双向数据口 MCU I/O口资源紧张可以使用4位数据线D4D7接口传送数据;15.Blk 背光源地;16.Bla 背光源正极 需要背光串接一个限流电阻接Vdd,blk接地,实测该模块背光电流50mA左右。 比较:由于用数码管作为显示电路,结构单一,扩展空间太小,显示效果不理想,最终我们放弃了数码管显示。而采用1602作为显示不但实现了用数码管难以显示的功能,而且适合做各类扩展,使得数字电压表功能更完善,使用效果更好。2.4 AD采样方案方案一:采用TLC1543为美国TI公司生产的多通道低价格数模转换器。我们在程序中通过read1543()发送通道号,芯片开始A/D转换,转换结束时,EOC输出端表示转换完成,在INT0产生中断,通过外部中断0的服务自程序读取转换结果。接线如图2.6: 图2.6 TLC1543采样电路图优点:TLC1543为串行输入芯片,10位的精度,价格适中 。方案二:采用8位AD转换器ADC0809,编程简单方便,价格便宜。采样电路如图2.7。 图2.7 ADC0809采样电路比较:通过我的市场调研,考虑到ADC0809的需求量及供货便利度,我选用了ADC0809作为AD转换器如图2.8。 图2.8 ADC0809串口通讯接线图2.5 键盘部分通过程序的扫描,判断按键,并切换到不同的功能模式中。实现模式切换后可以实现电压表单路和循环显示所测电压值如图2.9。 图2.9 键盘硬件程序第三章 方案设计3.1 系统整体电路(如图3.1:) 图3.1 系统整体电路图3.2 硬件设计(如图3.2:)RS232AD采样AT89S52程序烧录1602液晶显示高压,短路报警ADC0809串口通讯控制键盘 电源电源 电源 图3.2 系统硬件框图电源部分提供整个系统的电能,单片机部分控制系统,显示部分显示测量结果以及模式状态,模数转换采集电压以及电阻值发送到单片机,如果电压过高超过量程或者测量短路,单片机控制蜂鸣器报警。通过程序烧录模块可以通过烧录线烧入程序。通过串口通讯可以实现上位机与电压表的通讯,通过上位机选择,可以切换电压表模式,从而实现上位机功能选择的功能。3.3 软件设计我们采用C语言编程,通过定时器0计时实现显示时间功能,通过串口中断实现上位机对下位机的模式切换功能。通过键盘扫描和扫描处理函数,实现键盘的模式切换功能。同时我们还设计了浮点数显示处理函数,采样函数,交流采集电压峰峰值函数,显示交流周期和峰峰值函数。这些函数的组合,实现了电压表功能的完善。 系统软件框图如图3.3:YYNNYN开始系统初始化显示时间有键按下?模式判断改变系统功能显示串口通讯结束主程序流程图:开始定时器开启显示时间交流采样?采样显示是否计时?结束定时中断流程:图: 图3.3 系统软件框图 第四章 性能测试4.1 电压测试1.R1=200欧 R2=500欧测量所示1点的电压的时候,电压表值为1.406V理论值为U=(200/(200+500)*5=1.429V2.R1=4.20K欧 R2=4.28K欧测量所示1点的电压的时候,电压表值为2.089V理论值为U=(4.2/(4.2+4.28)*5=2.476V4.2 电阻值测试1.100欧姆的电阻,电压表实测为101欧姆。2.200欧姆的电阻,电压表实测为199欧姆。3.4.73K的电阻,电压表实测为4.6347K。4.6.73K的电阻,电压值实测为6.6578K。5.10K的电阻,电压表实测为10.1020K。6.12K的电阻,电压表实测为12.0235K。4.3 短路测试用白色导线接于IN7,另一端黑色导线接地。当两导线短接时1602显示为0,同时鸣蜂器报警,没有短接时蜂鸣器不报警。4.4 高压报警测试把单片机接5.5V,鸣蜂器报警。4.5 串口功能测试打开串口调试软件,按功能键,观察下位机,按1-8切换到各通道的模式,按9是时间模式,按10-13是特殊功能模式,串口功能正常。4.6 时间功能测试观察时间的即使与显示功能,然后切换功能模式,再切换到时间模式,观察变化,发现时间照常计时,时间功能正常。4.7 交流峰峰周期测试由于没有频率信号发生器,此项扩展功能没有展开测试。第五章 结果分析1.电阻值测量我们发现只有0-20k的电阻测量比较准确,而大于20k的电阻就测的很不准了,这可能是因为单片机系统在工作时电阻并不是固定的,而我们电阻测量的原理是基于电阻分压原理,电阻过大就不适合测量了,因为我们的拉地电阻只有500欧姆。2.在电压测试功能中,一开始我们发现ADC0809的电压在没有测量值时并不稳定,但是我们通过路边下拉一个500欧姆的电阻,可以把起始电压拉为0,但是电阻不能太小,否则电流会太大。根据测量结果,实测值比理论值基本上吻合,只是由于精度问题,不能完全相同,但是基本上符合题目的要求。我们又测量了一节干电池,所测的电压值在1.56V左右,与现有的电压表所测量的也差不多。3.在蜂鸣器功能测试中,一开始系统初始化蜂鸣器没有响,这让我们检查了很久,到后来才发现1815的ebc脚弄错了,资料的管脚是从背面看的,检查出错误,我们马上重新焊接,蜂鸣器工作正常了。4.在液晶显示电路测试中,一开始我们要显示“made by demon”但是却显示了一大串英文字符,这让我觉得很奇怪,因为如果别的线接错了,应该不会显示,要显示也是乱码,我检查了下液晶数据接口。发现DB6没有接好(板子是我原来的已经有点氧化了,并没有焊上去),接好后测试正常。在调试过程中我们发现了硬件连接的重要性,因为有太多线路要连接而导致容易出现由于粗心而导致的连接错误,这个错误看似简单,但却是在整个系统设计调试过程中最不可忽视的,因此我们在硬件焊接时非常细心,同时其他同学也要密切配合焊接同学的工作,这样一个团结的小组,才能解决所有问题,同时也可以保证系统的稳定和可靠。 第六章 设计总结我本来想扩展12个键盘,但是等到把ADC0809焊接上去的时候发现ADC0809占了15个I/O口,蜂鸣器占了一个I/O口,串口通讯占2个I/O口,液晶1602占11个I/O口,这样就只有3个I/O口,我们就只能就扩展了2个键盘做模式切换用。只有事先计划好,要么不用ADC0809用串行输出的TLC1543,这样不但可以节省出很多I/O口,还可以减少错误的发生,使功能更加完善,编程也可以更简单方便。一方面,通过“简易数字电压表的设计”的设计过程,我们结合所学过的课程,了解了简易仪表的发展状况,掌握了目前自动化仪表的一般设计要求,工程设计方法,开发及设计工具使用方法,最重要的是通过这一设计实践过程,我们不在是约束在理论上而是锻炼了我们的动手能力和分析,解决问题的能力,积累经验,培养按部就班,一丝不苟的工作和对所学知识的综合应用能力,了解了很多课本上学不到的知识,我想这样的实践环节在我的学生生涯是很难得的,也为我们以后步入社会开始工作打下了一定的基础。另一方面,本次毕业设计用到很多以前我们所学课程的知识,如单片微机原理,电子技术,检测技术,电路基础,protel99教程等,基本上涵盖了这三年所学过的大多专业基础知识,也不同于我们平时的作业,在这次设计中需要自己做出决策,自己不断的查取资料、设计流程,去电子市场做调研,编程等等。它让我们在综合运用前修课程知识的同时,养成独立思考的习惯,从而得到类似实际工程设计的初步训练,基本掌握目前自动化仪表的一般设计要求、工程设计方法、开发及设计工具的使用方法,锻炼了我们的动手能力,提高了我们分析和解决实际问题的能力。致 谢岁月飞逝,四年的大专时光转眼就这么过去了。我们告别了自己的学生生活走向社会。毕业设计可以说是对我自己学生生涯的一次总结,但它同时也是一个学习的过程。希望通过它为自己的校园生活划上一个圆满的句号,同时也是对我今后的人生的一个开始。通过“简易电压表的设计”的设计过程,我结合所学过的课程,了解了简易仪表的发展状况,掌握了目前自动化仪表的一般设计要求,工程设计方法,开发及设计工具使用方法,最重要的是通过这一设计实践过程,锻炼了我的动手能力和分析,解决问题的能力,一丝不苟的工作和对所学知识的综合应用能力,我想这样的实践环节在我的学生生涯是很难得的,也为我以后步入社会开始工作打下了一定的基础,我也要感谢同学们,只有在他们团结协作下,本次课程设计才可以顺利进行并实现所有功能,同时我也明白了团结协作的重要性。“长风破浪会有时,直挂云帆济沧海。”用这句诗作为谢辞的结尾,也是我新生活的开始。我也希望自己能够谨记尚未完成的梦想,在人生的道路上不管是晴天还是风雨,都能够毫无畏惧地前行,直至完成心中的梦想。再一次感谢所有帮助我的人!谢谢你们!参考文献1余文俊.中国水利水电出版社.2万福君,潘松峰.单片微机原理系统设计与应用M.中国科学技术大学出版社.3周责魁.控制仪表与计算机控制装置M.化学工业出版社.4李青.电路与电子技术基础M.浙江科学技术出版社.5陈乐.过程控制与仪表M.国计量学院出版社.6孙育才.新型AT89S52系列单片机及其应用M.清华大学出版社.7李莉,路而红.电子设计自动化课程设计与项目实例M,中国电力出版社.8 吴道悌,王建华.电动学实验M.北京高等教育出版社.9 程 周, 可编程序控制器原理与应用 ·北京高等教育出版社.附录 元件清单 AT89S52一片;1602显示屏一块;ADC0809一片;MAX232电平转换芯片一片;7805稳压管一片;键盘3个;开关1个;蜂鸣器一个;C1815三极管一个;500欧姆电阻10个;10K电阻4个;串口借口一个;程序烧录接口一个;1000u电容两个;104电容6个;25PF电容2个;11.0592M晶振一个;发光二极管一个;排线插针若干;