智能温度测试仪的设计毕业设计.docx
《智能温度测试仪的设计毕业设计.docx》由会员分享,可在线阅读,更多相关《智能温度测试仪的设计毕业设计.docx(36页珍藏版)》请在冰豆网上搜索。
智能温度测试仪的设计毕业设计
山东职业学院
毕业论文
题目:
智能型温度测量仪的设计
系别:
专业:
班级:
学生姓名:
指导教师:
完成日期:
1绪论
温度是工业生产和科学研究实验中的一个非常重要的参数,物体的许多物理现象和化学性质都是和温度相关的,许多生产过程都是在一定的温度范围才能进行,需要测量温度和控制温度的场合极其的广泛。
目前的温度测量控制系统中一般使用的都是传统仪器,传统仪器的功能都是通过硬件或者固化的软件来实现的。
这种框架结构决定了它只能由仪器生产厂家来定义、制造,而且功能和规格一般都是固定的,用户无法随意改变其性能和结构,不适合在实验室中使用。
虚拟仪器与传统仪器比较,它具有所需的硬件较少、购置费用低、可重复利用;仪器的关键在软件、可自行定义、技术更新非常快、开发与维护费用较低、系统开放、方便与外设、网络连接等一系列的优点。
因此虚拟仪器技术在国内外备受关注,近十年来,虚拟仪器在国际上的发展是非常迅速的,在发达国家应用已经十分普及。
目前正朝着总线与驱动程序标准化;硬件、软件模块化,硬件模块即插即用;软件编程平台图形化、通用化、智能化和网络化的方向发展。
2LabVIEW与虚拟仪器简介
2.1LabVIEW的概念
LabVIEW是实验室虚拟仪器集成环境(LaboratoryVirtualInstrumentEngineeringWorkbench)的简称,是目前功能最强、应用最广、发展最快的图形化软件开发环境,得到了工业界和学术界的普遍认可和好评。
它可以把复杂、繁琐、费时的文本语言编程简化成用菜单或图标提示的方法选择功能(图形),用线条将各种功能(图形)连接起来的简单图形编程方式,为没有编程经验的用户进行编程、调试提供了简单方便、完整的坏境和工具,尤其适合于从事科研、开发的科学家和工程技术人员使用。
LabVIEW是一种虚拟仪器开发平台软件,能够以其直观简便的编程方式、众多的源代码级的设备驱动程序、多种多样的分析和表达功能支持,为用户能够快捷地构筑自己在实际应用中所需要的仪器系统创造了基础条件。
2.2LabVIEW的组成及功能
G语言编写的程序称为虚拟仪器VI(VirtualInstrumention),因为它的界面和功能与真实的仪器十分相像,在LabVIEW环境下开发的应用程序都被冠以.VI后缀,以表示虚拟仪器的含义。
一个VI由交互式用户接口、数据流程和图标连接端口组成。
各部分的功能如下:
(1)VI的交互式用户接口
因为与真实物理仪器面板相似,又称作前面板。
当在启动屏幕上选择NEWNI时,屏幕上出现一个无标题的面板窗口,面板窗口显示VI的前面板,框图程序窗口用来创建VI的框图程序。
前面板是用户接口,用于像程序中输入各种控制参数,并以数字或图形等各种形式输出测试结果,我们可以把它想象为传统仪器的面板,面板上自然会有表头、按钮、拨盘等各种元件。
(2)VI从数据框图接受指令
框图是一种解决编程问题的图形化方法,实际上是VI程序代码,前面板和框图程序由一些图形化对象集组成,这些对象是LabVIEW编程元素。
框图程序含有与前面板控件和指示器对应的连线端子、常数、函数、子VI、结构和把数据从一个对象传送到另一个对象的线,程序框图程序的源代码,我们可以把它想象为传统仪器机箱里用来实现仪器功能的零部件。
(3)VI模块化特性
一个VI既可以作为上层独立程序,也可以作为其他程序(或子程序)的子程序。
当一个VI作为子程序时,称作SubVI,VI图标和连接端口的功能就像一个图形化参数列表,可在VI与SubVI之间传递数据。
正是基于VI的上述特性,G语言最佳的实现了模块化编程思想。
用户可以将一个应用分解为一系列任务,再将每个任务细分,将一个复杂的应用分解为一系列简单的子任务,为每个子任务建立一个VI,然后把这些VI组合在一起完成最终的应用程序。
因为每个SubVI可以单独执行,所以很容易调试。
2.3LabVIEW的应用现状
LabVIEW广泛应用于包括自动化、通信、半导体、电路设计、航空和生产、过程控制及生物医学在内的各种工业领域中,用来提高应用系统的开发效率,这些应用涵盖了产品的研发、测试、生产到后期服务的各个环节。
在系统设计中协调使用LabVIEW,共享软件及信息资源,可以节约大量的时间和金钱。
LabVIEW的应用大致可分为以下几个主要方面:
(1)应用于生产检测
LabVIEW已经成为用于测试测量领域的工业标准化开发工具。
LabVIEW结合NITestStand测试执行环境和该领域中最大的仪器驱动程序库,为整个系统建立稳固完整的检测管理平台。
(2)应用于研究与分析
在汽车、能源研究和其它众多工业领域的应用系统中进行实时数据的分析和处理、对于图像处理、时频分析、小波和数字滤波的应用系统中均可用到LabVIEW,LabVIEW特别提供各种附加工具包以加速系统的开发。
(3)应用于过程控制和工厂自动化
可用LabVIEW来建立过程控制和工业自动化应用系统。
在LabVIEW平台下,可以实现多通道的高速测量和控制,对于大型复杂的工业自动化和控制系统,有专门的LabVIEW数据记录和监控模块,用于监控多通道I/O、与工业控制器和网络进行通信,以及提供基于计算机的控制。
(4)应用于机器监控
对于要求有实时控制、视觉和图像分析或运动控制的机器监视和预先维护的应用系统,LabVIEW是理想的选择。
LabVIEW系列产品,包括用于可靠性、确定性控制的实时LabVIEW软件(LabVIEWRT),能够快速、准确的建立起功能强大的机器监视和自动控制应用程序。
(5)应用于测控系统
LabVIEW有着强大的功能和广阔的应用前景,但就目前国内的现状来看,大多数的用户还是把LabVIEW作为虚拟仪器,仅仅利用它来进行数据的处理、分析和显示,忽略了LabVIEW强大的数据采集和控制功能,特别是基于PC机的实时控制,在国内应用较少。
3温度监测系统虚拟仪表的总体设计
3.1虚拟仪表实现的功能
本文主要是介绍基于实验室建设的温度监测系统虚拟仪表,给实验室提供了很好的发展平台,节省了很多资金。
基于LabVIEW的虚拟仪表有很好的兼容性,模块化的设计有很容易读懂,并且可扩展性能较好,易于开发和维护。
此炉温控虚拟仪表统主要实现下面的几种功能:
(1)实现单片机与计算机的串口通信,可以及时的将温度数据传送给计算机。
(2)可以显示测试和控制的参数,例如测试的时间、设定的温度、当前的温度等,当温度超出某个范围时进行报警等。
(3)测试的结果通过计算机反送给单片机,给单片机相应的电信号,以便更好的利用实验结果。
(4)能够实现测试结果的数据保存,将采集到的数据以.TXT的形式保存起来,以便于以后的应用。
3.2虚拟仪表设计的原则
本文研究的基于LabVIEW的温度测控系统虚拟仪表,要想得到比较好的实验效果,首先要对虚拟仪表进行总体设计。
在设计的过程中主要考虑一下几个原则:
(1)从整体到部分的设计原则
首先把一个复杂的系统分解为若干个相对独立、简单、容易实现的几个部分,再把这几个部分分解为实现不同具体功能的模块,采用模块化的设计思想,分别对各个模块进行设计,然后再进行综合进而完成整个系统的设计。
本文所设计的基于LabVIEW的温度监测系统虚拟仪表分成多个模块进行设计,正是考虑了从整体到部分的设计原则。
(2)可扩展性原则
一个较好的系统应该有很好的扩展性,当使用者需要增加系统的功能或者需要改善系统的功能时,系统的可扩展性就显得很重要了。
如果只需要对系统中的软件部分作一定的修改,系统的功能就会加强或者会增加一些新的功能,那么该系统就有较好的可扩展性。
本文所讨论的基于LabVIEW的温度监测虚拟仪表就具有很好的可扩展性。
(3)经济性原则
在设计一个系统时,较高的性价比是系统设计和开发需要重视的。
在满足性能指标的前提下,应尽可能的采用易实现并且简洁、实用的方案,因为方案简洁意味着所用环节较少,可靠性较高,而且比较经济。
此外,在考虑经济性原则时,除造价外还应考虑使用期间的运转费、维护费等,还要综合考虑后才能评估出真正的经济效果,从而选出最佳的设计方案。
本论文所开发的基于LabVIEW的温度监测系统虚拟仪表,采用计算机机与单片机所构成的虚拟仪器系统,正是由于此系统成本低。
(4)易操作性原则
在温度监测系统虚拟仪表的设计开发时,应考虑系统操作的难易程度,尽量使系统的操作简单,人机界面友好,以降低对操作人员的专业知识的要求。
3.3虚拟仪表的总体设计方案
在本系统的设计过程中,根据从总体到局部的设计原则以及对系统的功能分析,将整个系统分解为实现不同功能的几个部分,然后分别对每个部分进行设计。
为了实现温度监测系统虚拟仪表的各项具体功能,可以将系统分解为上位机和下位机两个部分。
其中上位机是装有LabVIEW软件的计算机,而下位机是单片机及外围电路组成的小系统。
这两部分是通过计算机的串口进行通信的。
其中上位机部分主要完成数据显示及存储,越限报警及人及交互操作界面的生成,下位机部分主要完成温度信号的采集及输出。
4下位机信号采集的硬件设计
4.1下位机的硬件组成
一般温度的测量都是由数字式温度传感器实现的,通过按键输入电路,选择单片机的输入数据,传送给上位机。
系统的硬件组成框图,如图4-1所示由以下几个部分组成:
装有LabVIEW软件的计算机,AT98S52单片机,电平转换电路MAX232,按键输入电路。
系统硬件组成框图4-2所示。
由硬件电路产生一个电压信号,然后通过计算机的串口将数据传送给计算机,在计算机上运行的LabVIEW程序对输入的信号进行分析、处理,并将数据显示在计算机上,同时LabVIEW程序调用声音模块报警、数据保存等。
图4-1系统硬件组成图
4.2单片机的基础知识
本实验中涉及单片机控制I/O的读取,串口的读取和发送,定时器的使用,因此我们首先简单介绍一下与本实验相关的单片机的引脚功能,以最常见的STC89C51为例,其采用40引脚双列直插DIP封装形式,如图4-2所示。
其中与本设计相关的管脚:
I/O口:
四个8位并行I/O口P0-P4,既可用作输入,也可用作输出。
图4-2单片机管脚分布图
注意P0口为8位三态、双向的,无上拉电阻,必须加10k的上拉电阻,P1-P3为准双向,内有上拉电阻,单片机读入数据时,先写高电平“1”,CPU才能读取该口的状态;
在本设计中我们使用P1口作为AD转换器的数字量输出端,P0口作为DA换器的数字量输入复用端。
P3.3、P3.4、P3.5、P3.6、P3.7分别作为DA信号端、AD写信号端、AD读信号端使用。
P3口中两引脚第二功能:
P3.0:
RXD串行口输入;P3.1:
TXD串行口输出。
管脚9(RST/VPD):
复位管脚,2个机器周期高电平有效,即24个振荡时钟周期即可,工作时0.5V。
管脚18和管脚19(XTAL1,XTAL2):
外部晶振的输入端;
管脚20(VSS):
接地端
管脚40(电源):
+5V
4.2.1单片机能够运行起来的最小系统
所谓单片机最小系统,就是让单片机里面的程序运可以运行的最简单系统,一般只包括单片机芯片、时钟电路、复位电路、电源电路。
单片机工作过程中,各指令的操作在时间上有严格的次序,单片机的时钟信号用来为芯片内部各种微操作提供时间基准;而复位是使中央处理器以及其他功能部件恢复到一个确定的初始状态,并从这个状态开始工作,另外单片机在开机时或在工作中因干扰而使程序失控或工作中程序处于某种死循环状态等情况下都需要复位。
单片机的最小系统如图4-3所示。
图4-3单片机的最小系统
4.2.2定时器
单片机定时采样温度数据并发送,与定时器有关的寄存器是8位TCON寄存器,地址是0x88(注:
地址可以被8整除,可以进行位操作),其各位的功能如下:
sfrTCON=0x88;
sbitTF1=TCON^7;//定时器1溢出位,当定时器1定时时间到,并置TF1为1产生中断,CPU会自动处理(跳转到中断处理程序)并自动TF1清零;
sbitTR1=TCON^6;//启动定时器1;
sbitTF0=TCON^5;//定时器0溢出位,同TF1;
sbitTR0=TCON^4;//启动定时器0;
sbitIE1=TCON^3;//外部中断1标志位,同TF1和TF0的用法;
sbitIT1=TCON^2;//设置外部中断1触发方式
sbitIE0=TCON^1;//外部中断0标志位,同IE1;
sbitIT0=TCON^0;//外部中断0触发方式
定时/计数器的工作方式寄存器TMOD,地址为0x89(注:
不能被8整除,不能进行位操作,只能对TMOD进行赋值设置相关位)。
低四位用于定时器/计数器T0,高四位用于T1。
其格式如表4-1所示。
分别为:
门控位GATE;C/T=0/1:
定时/计数模式选择位;M1M0:
工作方式设置位,其工作方式如表4-2所示。
在本设计中,我们使用定时器0定时完成AD的转换并串口传送数据;使用定时器1的自动重装模式设置数据传输波特率。
其中,T0/T1计数器寄存器为:
sfrTL0=0x8A;//计数器0低8位。
sfrTL1=0x8B;//计数器1低8位。
sfrTH0=0x8C;//计数器0高8位。
sfrTH1=0x8D;//计数器1高8位。
表4-1定时器的格式
位
7
6
5
4
3
2
1
0
0x89
GATE
M1
M0-
GATE
M1
M2
TMOD
表4-2M1M0的工作方式
M1M0
工作方式
说明
00
方式0
13位定时/计数器
01
方式1
16位定时/计数器
10
方式2
8位自动重装定时/计数器
11
方式3
T0分成两个独立的8位定时/计数器;T1此方式停止计数
表4-3SCON各位的功能
位
7
6
5
4
3
2
1
0
0x98
SM0
SM1
SM2
REN
TB8
RB8
TI
RI
TCON
表4-4串口的工作方式
SM0
SM1
方式
说明
波特率
0
0
0
移位寄存器
fosc/12
0
1
1
10位异步收发器(8位数据)
可变
1
0
2
11位异步收发器(9为数据)
fosc/64或focs/12
1
1
3
11位异步收发器(9为数据)
可变
4.2.3串口读写
80C51单片机是全双工的串行异步传输,80C51串行口有两个物理上独立的接收、发送缓冲器SBUF,它们占用同一地址99H;接收器是双缓冲结构,只需读写缓冲器SBUF便可完成数据的接收和发送,由于发送时CPU是主动的,因此不会产生重叠错误。
与串口相关的控制寄存器是SCON,地址为98H,其各位的功能、串口的工作方式如表4-3、4-4。
其中,SM0和SM1为工作方式选择位,可选择四种工作方式;
SM2:
多机通信控制位,方式1(10位)置0;
REN:
允许串行接收位。
由软件置REN=1,则启动串行口接收数据;若软件置REN=0,则禁止接收;
TB8:
在方式2或方式3中,是发送数据的第九位,可以用软件规定其作用;
RB8:
在方式1时,若SM2=0,则RB8是接收到的停止位;
TI:
发送中断标志位。
在方式0时,当串行发送第8位数据结束时,串行发送停止位的开始时,由内部硬件使TI置1,向CPU发中断申请(中断号4,要开相应的中断即ES=1)。
在中断服务程序中,必须用软件将其
清0,取消此中断申请;
RI:
接收中断标志位。
在方式0时,当串行接收第8位数据结束时,串行接收停止位的中间时,由内部硬件使RI置1,向CPU发中断申请(中断号4)。
也必须在中断服务程序中,用软件将其清0,取消此中断申请。
在本设计中我们使用方式1,10位异步收发器(8位数据,1位起始位,1位停止位),发送中断标志位TI用以检测数据是否发送完毕,接收中断标志位RI用以检测数据是否接收完毕。
在串行通信中,收发双方对发送或接收数据的速率要有约定(一般设置收发的波特率相同)。
通过软件可对单片机串行口编程为四种工作方式,其中方式0和方式2的波特率是固定的,而方式1和方式3的波特率是可变的,由定时器T1的溢出(频)率来决定。
方式1的波特率=(2SMOD/32)•(T1溢出率);//SMOD电源寄存器PCON的第7位;当T1作为波特率发生器时,其工作在自动重装8位定时器方式(即方式2),溢出率取决于TH1中的计数值。
T1溢出率=fosc/{12×[256-(TH1)]}
fosc为单片机的时钟频率。
计数器1的低8位TL1计数满时,发送中断TR1后,将自动将TH1的数据装入到TL0中,重新进行计数,实现高精度定时。
单片机可以通过T1的软件编程来适应发送数据的波特率的要求,在本设计中设置波特率为9600,SMOD=1,时钟频率fosc=11.0592MHZ,则TH1=0xfd。
4.2.4IE中断允许控制寄存器
本设计中,需要处理数据串行通讯中断信息,因此要了解中断允许控制寄存器的设置,中断允许控制寄存器IE的各位的作用如下:
sfrIE=0xA8;//可以被8整除,可以进行位操作
sbitEA=IE^7;//中断允许总控制器=1(最高级权限允许)
sbitET2=IE^5;
sbitES=IE^4;//串行口中断允许位(本级权限允许)
sbitET1=IE^3;//开放定时器1中断(本级权限允许)
sbitEX1=IE^2;//开外部中断1(本级权限允许)
sbitET0=IE^1;//开放定时器0中断(本级权限允许)
sbitEX0=IE^0;//开外部中断0(本级权限允许)
中断允许设置,如同一个人(中断信号)需要从屋内走到院外去,首先要院门是打开的(总中断允许),然后如果房门是打开的(即本级中断允许),才能成行。
在本设计中,设置EA=1;ES=1;(开串口中断允许,允许接收串口数据接收/发送完毕产生的中断RI或TI);ET0=1;定时器0中断,定时采样AD转换器转换的数据。
4.3硬件输入电路
4.3.1独立式按键
(1)在单片机的PO口接按键,因为单片机的PO口没有内置上拉电阻,所以需要在外部接上10K的电阻。
P0.1~~P0.7的引脚先与排阻相连然后接按键的一端,按键另一端接地。
按键不按时为高电平,按下后为低电平。
选用八个按键分别选择温度检测的通道,程序运行自动默认一通道,当对应的某个按键按下,则上位机会显示和存储该通道的温度值。
按键连接电路如图4-5所示。
(2)因为单片机的扫描周期很短,会产生按键抖动,即当按键刚刚按下和上抬的时候产生的电压不稳,会导致单片机判断错误。
如果用硬件去抖,需要用触发器,造成硬件增多,成本增加。
这里采用软件去抖,简单而且方便。
3.3.2温度传感器采集
温度传感器的种类众多,在应用与高精度、高可靠性的场合时DALLAS(达拉斯)公司生产的DS18B20温度传感器当仁不让。
它具有线路简单,超小的体积,超低的硬件开销,抗干扰能力强,精度高,附加功能强,使得DS18B20更受欢迎。
DS18B20的优势更是学习单片机技术和开发温度相关的小产品的不二选择。
因此用它来组成一个测温系统,十分方便。
近年来,越来越多的温控产品都用使用18b20传感器作为测温装置。
它是单线式数字温度传感器,具有3引脚TO-92小体积封装形式;温度测量范围为-55℃-125℃,可编程为9位-12位A/D转换精度,测温分辨率可达0.0625℃;每个DS18B20均有单一独立的序列号,CPU只需要一根端口线就能与诸多DSl8B20通信。
以上的特点使DS18B20非常适用于分布式多点温度检测系统,为增强抗干扰能力,保证系统工作的稳定性,DSl8B20采用外接电源供电方式。
图4-5温度传感器连接电路
4.4电平转换电路
单片机为TTL电平,高+5V,低0V;而计算机的串口为RS232电平,高-12V,低+12V。
因此,计算机与单片机之间通讯时需要加电平转换芯片MAX232,连接图如图4-6所示。
图4-6MAX232串口连接图
5温度监测系统虚拟仪表的软件设计
虚拟仪器的许多功能都是通过软件来实现的,它充分利用了通用计算机的系统资源,特别是软件资源来为自己服务,它的重要特征之一,“软件就是仪器”,充分的说明了虚拟仪器软件的重要作用。
设计虚拟仪器时,一定要重视软件的设计,它关系到虚拟仪器的性能,也决定了是否能将虚拟仪器较传统仪器的优越性发挥出来。
下面详细介绍温度监测系统软件的设计方法与具体实现。
5.1温度监测系统寻仪表软件总体设计
本温度控制系统采用的是模块化的设计方法,将系统划分成几个相互独立的功能模块,各模块内部分别完成确定的任务。
采用模块化编程的主要优点是:
单个模块容易编写、查错和测试;有利于程序设计任务的划分;模块可以共享,一个模块可被多个任务在不同的条件下调用。
根据电烤箱温度控制系统的基本要求,将系统划分为六个功能模块,即,测温范围和参数设置模块、串行通讯模块、数据分析处理模块、越限报警模块、数据保存模块以及温度显示模块等。
温度控制系统软件总体组成框图如图5-1所示。
在整个程序设计中,首先完成了各子功能的程序,单个的模块是由更小的模块组成的,每一级的模块均可以图标形式放置在程序流程图中,这样不但增加了程序的可维护性,也增加了程序的可读性,使程序流程图更加清晰,同时也避免了大量的重复编程工作。
温度监测系统虚拟仪表运行时界面如图5-2所示,该界面主要包括温度统计表格显示、温度波形显示、串口配置、参数输入旋钮等。
系统通过串口将单片机上的电压数据进行实时采集,并在软件平台对采集的信号进行分析与处理,同时将采集的数据存盘,以备系统运行时随时查阅、分析。
图5-1系统软件组成框图
图5-2温度监测系统虚拟仪表的主界面
5.2LabVIEW串口通信模块的设计
5.2.1LabVIEW平台上VISA常用模块简介
在LabVIEW中,大多数的VISA功能模块使用了VISAsession参数,VISAsession是每次程序操作过程的唯一逻辑标识符,它标识了与之通讯的设备名称以及进行I/O操所必需的配置信息。
常用的VISA功能模块有:
VISAOpen,VISAWrite,VISARead和VISAClose。
VISAOpen根据ResourceName和VISAsession与指定的设备建立通讯,模块返VISAsession标识值,使用该标识值就可以调用此设备的任何其它操作功能,Errorin和Errorout字符串包含出错信息,ResourceName包含I/O接口类型以及设备地址等信息,其编程语法如表5-1所示。
在图表中,GPIB用于同GPIB设备通讯,VXI通过内置式或MXI总线控制器同VXI仪器建立通讯,GPIB.VXt用于GPIB.VXI控制器,SERIAL用于异步串行设备通讯。
VISAWrite模块把writebuffer中的字符串写入VISAsession指定的设备,dupVISAsession向下传送相同的session值,在Windows作平台下,数据异步写入,Returncount返回实际传送的字节数,Errorin和Errorout字符串包含出错信息。
VISARead模块读取由VISAsession指定设备中的数据,bytecount指明读入Readbuffer中的字节数,