1、检测技术课程设计报告题 目: 温度检测系统(数字式温度传感器)姓 名: 学 号:班 级:指 导 老 师: 李运堂组 员 姓 名: 李楠 林玲 潘玲淋 戴瑶翔日 期: 2014年6月6日1.简介 本文主要介绍了一个基于ATmega16单片机的测温系统,详细描述了利用数字温度传感器DS18B20开发测温系统的过程,重点对单片机的扩展,传感器在单片机下的硬件连接,软件编程以及各模块系统流程进行了详尽分析,绘制了系统总体框图,并对主要元件进行了介绍。该系统可以方便的实现实现温度采集和显示,并可根据需要任意设定上下限报警温度,它使用起来相当方便,具有精度高、量程宽、灵敏度高、体积小、功耗低等优点,适合于
2、我们日常生活和工、农业生产中的温度测量,也可以当作温度处理模块嵌入其它系统中,作为其他主系统的辅助扩展。DS18B20与ATmega16结合实现最简温度检测系统,该系统结构简单,抗干扰能力强,适合于恶劣环境下进行现场温度测量,有广泛的应用前景,适用于现代社会的发展要求。2.课题的任务和要求 检测技术课程设计是机械工程测试技术和检测技术课程后续的集中实践环节,是对常见非电量物理量的检测方法与手段、模拟和数字电子技术、单片机技术及数据采集等知识的综合训练和实践。其主要目的在于训练学生将理论知识和实践结合的应用能力和动手能力,加深对非电量信号传感采集、传输、处理、显示等测试技术核心内容的理解和掌握,
3、通过实践形成测试系统的整体观念,理解测量的精度、误差、标定、抗干扰等概念。 课程设计基本要求是可选对温度、速度、位移、振动、力矩、压力、感应信号等其中之一或几种量的组合进行测量,构建一完整的测量系统,具备信号的测量、转换、显示和处理等功能;设计中应考虑测量过程中的干扰、误差、标定等问题及相关处理方法。课程设计验收的内容:焊接完成开发板一套,PCB 图,下位机程序,上位机程序,课程设计报告图,下位机程序,上位机程序,课程设计报告(每人一份,同一小组报告内容可相同)。3.方案设计31 功能描述本温度自动报警系统主要有以下功能: 实时采集温度信号并显示 单片机对温度信号能够实时监控 能够设置报警温度
4、上下限 能够自动实现鸣叫报警32 系统组成本温度自动报警系统主要由四部分组成:主控模块,采集模块,显示模块和报警模块。其中:主控模块实现巡回监视温度信号的功能,采集模块实现温度信号的采集,显示模块实现温度值和报警点的显示,报警模块实现报警的功能。系统框图如下所示:主 控 模 块显 示 模 块报 警 模 块采 集 模 块键盘模块33 芯片选择331 主控模块主控模块采用ATMEL公司生产的ATmega16。ATmega16是一个低电压,高性能CMOS 8位单片机,片内含4K的可反复擦写的FLASH只读存储器和128 BYTES的随机存取数据存储器,40个引脚,32个外部双向输入/输出(I/O)端
5、口,同时内含2个外中断口,2个16位可编程定时计数器,2个全双工串行通信口。ATmega16可以按照常规方法进行编程,也可以在线编程。器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。内置功能强大的微型计算机的ATmega16提供了高性价比的解决方案。332 采集模块 采集模块采用DALLAS 半导体公司生产的数字化温度传感器DS18B20。DS1820是世界上第一片支持 一线总线接口的温度传感器。一线总线独特而
6、且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。DS18B20也支持一线总线接口,测量温度范围为-55125度,在-1085度范围内, 精度为0.5度。现场温度直接以一线总线的数字方式传输,大大提高了系统的抗干扰性。适合于恶劣环境的现场温度测量,如:环境控制、设备或过程控制、测温类消费电子产品等。与前一代产品不同,新的产品支持3V5V的电压范围,使系统设计更灵活、方便。而且新一代产品更便宜,体积更小。DS18B20内部结构主要由四部分组成:64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。其管脚排列如下: DQ为数字信号输入/输出端;GND为
7、电源地;VDD为外接供电电源输入端(在寄生电源接线方式时接地)。可选更小的封装方式,更宽的电压适用范围。DS18B20可以程序设定912位的分辨率,分辨率设定及用户设定的报警温度存储在EEPROM中,掉电后依然保存。333键盘模块 键盘模块用于设置温度的报警上下限。键盘模块采用独立按键方式。分别由单片机的三个接口驱动。三个按键分别代表不同作用。按键1用于状态切换(温度监控和上下限设定界面切换),按键2用于上下限设定时的增,按键3用于上下限设定时的减。考虑到系统要求并不高,所以采用独立键盘,简单实用,降低了软件的要求,并且硬件电路复杂度也降低,安全可靠。334 显示模块 显示模块采用5110液晶
8、屏。LPH7366 是NOKIA 公司生产的可用于其5110、6150,6100 等系列移动电话的液晶显示模块,国内厂家也生产有类似的兼容产品。该产品除应用于移动电话外,也可广泛应用于各类便携式设备的显示系统。与其它类型的产品相比,该模块具有以下特点:1.84x48 的点阵LCD,可以显示4 行汉字。 2. 采用串行接口与主处理器进行通信,接口信号线数量大幅度减少,包括电源和地在内的信号线仅有9 条。支持多种串行通信协议(如AVR 单片机的I、MCS51 的串口模式等),传输速率高达4Mbps,可全速写入显示数据,无等待时间。 3. 可通过导电胶连接模块与印制版,而不用连接电缆,用模块上的金属
9、钩可将模块固定到印制板上,因而非常便于安装和更换。 4. LCD 控制器驱动器芯片已绑定到LCD 晶片上,模块的体积很小。 5.采用低电压供电,正常显示时的工作电流在200A 以下,且具有掉电模式。335 报警模块 当液晶屏幕显示“!”时,即为报警4 硬件电路设计41 主控模块 单片机ATmega16是该模块也是整个电路的核心器件。实现巡回监视温度信号。当温度超过给定的门限值时出现报警信号(液晶显示器显示当前温度值和报警点,判断液晶屏幕是否显示“!”的报警信号)。其电路图如下:42 采集模块采集模块主要由温度传感器DS18B20实现温度信号的采集及A/D转换,可以将检测到的温度直接显示在数码管
10、上。其电路图如下:43键盘模块 键盘模块用于设置温度的报警上下限。键盘模块采用独立按键方式。分别由单片机的三个接口驱动。三个按键分别代表不同作用。按键1用于状态切换(温度监控和上下限设定界面切换),按键2用于上下限设定时的增,按键3用于上下限设定时的减。考虑到系统要求并不高,所以采用独立键盘,简单实用,降低了软件的要求,并且硬件电路复杂度也降低。其电路图如下:44显示模块和报警模块 采用5110液晶屏,其模块如下:5 软件设计流程 系统程序主要包括主程序,读出温度子程序,温度转换命令子程序,计算温度子程序,显示数据刷新子程序,按键扫描处理子程序等。5.1主程序流程图主程序的主要功能是负责温度的
11、实时显示、读出并处理DS18B20的测量的当前温度值,温度测量每1s进行一次。这样可以在一秒之内测量一次被测温度,其程序流程见图3.1所示。初始化读取温度SET键是否按下读出温度值温度计算处理显示数据刷新发温度转换开始命令NY调用显示子程序设置报警温度图3.1 主程序流程图5.2读出温度子程序读出温度子程序的主要功能是读出RAM中的9字节,在读出时需进行CRC校验,校验有错时不进行温度数据的改写。其程序流程图如图3.2示。5.3温度转换命令子程序温度转换命令子程序主要是发温度转换开始命令,当采用12位分辨率时转换时间约为750ms,在本程序设计中采用1s显示程序延时法等待转换的完成。温度转换命
12、令子程序流程图如上图,图3.3所示。Y发DS18B20复位命令发跳过ROM命令发读取温度命令读取操作,CRC校验9字节完?CRC校验正?确?移入温度暂存器结束NNY发DS18B20复位命令发跳过ROM命令发温度转换开始命令 结束 图3.3 温度转换流程图图3.2 读温度流程图5.4 计算温度子程序计算温度子程序将RAM中读取值进行BCD码的转换运算,并进行温度值正负的判定,其程序流程图如图3.4所示。5.5 显示数据刷新子程序显示数据刷新子程序主要是对分离后的温度显示数据进行刷新操作,当标志位为1时将符号显示位移入第一位。程序流程图如图3.5。 开始温度零下?温度值取补码置“1”标志计算小数位
13、温度BCD值 计算整数位温度BCD值 结束置“0”标志NY温度数据移入显示寄存器分离显示温度NY标志位为1?Y最高位显示“”最高为显示分理出的数据 结束 图3.4计算温度流程图 图3.5显示数据刷新流程图5.6按键扫描处理子程序按键采用扫描查询方式,设置标志位,当标志位为1时,显示设置温度,否则显示当前温度。如下图3.6示。SET键按下ADD键是否按下DEC键是否按下显示切换标志位是否为“0”调用显示子程序报警温度加1报警温度减1YNYNYN图3.6 按键扫描处理子程序6. 性能分析本温度自动报警装置可以成功地实现现场温度采集并通过5110液晶屏显示。1)、测温范围099.92)、温度传感器采
14、用DS18B20,根据所选用的传感器,设计合理的测温电路。3)、3位数码显示,实时显示当前温度值。4)、键盘设置温度上、下限报警值,当温度到达设定值,蜂鸣器鸣叫报警。5)、记录历史最高温和最低温度6)、7)、7. 上位机制作7.1 LabVIEW软件LabVIEW是一种程序开发环境,由美国国家仪器(NI)公司研制开发,类似于C和BASIC开发环境,但是LabVIEW与其他计算机语言的显著区别是:其他计算机语言都是采用基于文本的语言产生代码,而LabVIEW使用的是图形化编辑语言G编写程序,产生的程序是框图的形式。 LabVIEW软件是NI设计平台的核心,也是开发测量或控制系统的理想选择。 La
15、bVIEW开发环境集成了工程师和科学家快速构建各种应用所需的所有工具,旨在帮助工程师和科学家解决问题、提高生产力和不断创新。与 C 和BASIC 一样,LabVIEW也是通用的编程系统,有一个完成任何编程任务的庞大函数库。LabVIEW的函数库包括数据采集、GPIB、串口控制、数据分析、数据显示及数据存储,等等。LabVIEW也有传统的程序调试工具,如设置断点、以动画方式显示数据及其子程序(子VI)的结果、单步执行等等,便于程序的调试。 LabVIEW是一种用图标代替文本行创建应用程序的图形化编程语言。传统文本编程语言根据语句和指令的先后顺序决定程序执行顺序,而 LabVIEW 则采用数据流编
16、程方式,程序框图中节点之间的数据流向决定了VI及函数的执行顺序。VI指虚拟仪器,是 LabVIEW 的程序模块。LabVIEW提供很多外观与传统仪器(如示波器、万用表)类似的控件,可用来方便地创建用户界面。用户界面在 LabVIEW 中被称为前面板。使用图标和连线,可以通过编程对前面板上的对象进行控制。这就是图形化源代码,又称G代码。LabVIEW 的图形化源代码在某种程度上类似于流程图,因此又被称作程序框图代码。7.2基于labview的温度检测系统上位机设计主要由一个while循环、一个条件结构、VISA配置串口、VISA写入、VISA读取和VISA关闭等控件组成。上位机监控界面程序框图如
17、下图图所示。 8. 课程设计体会 二周的课程设计结束了,在这次的课程设计中不仅检验了我所学习的知识,并且在软件反复地调试过程中,对自己编程的技能有了很大的提高。同时也培养了我如何去把握一件事情,如何去做一件事情,又如何完成一件事情。在设计过程中,与同学分工设计,和同学们相互探讨,相互学习,相互监督。学会了合作,学会了运筹帷幄,学会了宽容,学会了理解,也学会了做人与处世。课程设计是我们专业课程知识综合应用的实践训练,着是我们迈向社会,从事职业工作前一个必不少的过程。”千里之行始于足下”,通过这次课程设计,我深深体会到这句千古名言的真正含义我今天认真的进行课程设计,学会脚踏实地迈开这一步,就是为明天能稳健地在社会大潮中奔跑打下坚实的基础。同时感谢对我帮助过的同学们,谢谢你们对我的帮助和支持,让我感受到同学的友谊。9. 附录