中国计量学院检测技术课程设计报告

  • 格式:doc
  • 大小:1.18 MB
  • 文档页数:13

检测技术课程设计报告题目:温度检测系统(数字式温度传感器) 姓名:学号:班级:指导老师:李运堂组员姓名:李楠林玲潘玲淋戴瑶翔日期: 2014年6月6日1.简介本文主要介绍了一个基于ATmega16单片机的测温系统,详细描述了利用数字温度传感器DS18B20开发测温系统的过程,重点对单片机的扩展,传感器在单片机下的硬件连接,软件编程以及各模块系统流程进行了详尽分析,绘制了系统总体框图,并对主要元件进行了介绍。

该系统可以方便的实现实现温度采集和显示,并可根据需要任意设定上下限报警温度,它使用起来相当方便,具有精度高、量程宽、灵敏度高、体积小、功耗低等优点,适合于我们日常生活和工、农业生产中的温度测量,也可以当作温度处理模块嵌入其它系统中,作为其他主系统的辅助扩展。

DS18B20与ATmega16结合实现最简温度检测系统,该系统结构简单,抗干扰能力强,适合于恶劣环境下进行现场温度测量,有广泛的应用前景,适用于现代社会的发展要求。

2.课题的任务和要求检测技术课程设计是《机械工程测试技术》和《检测技术》课程后续的集中实践环节,是对常见非电量物理量的检测方法与手段、模拟和数字电子技术、单片机技术及数据采集等知识的综合训练和实践。

其主要目的在于训练学生将理论知识和实践结合的应用能力和动手能力,加深对非电量信号传感采集、传输、处理、显示等测试技术核心内容的理解和掌握,通过实践形成测试系统的整体观念,理解测量的精度、误差、标定、抗干扰等概念。

课程设计基本要求是可选对温度、速度、位移、振动、力矩、压力、感应信号等其中之一或几种量的组合进行测量,构建一完整的测量系统,具备信号的测量、转换、显示和处理等功能;设计中应考虑测量过程中的干扰、误差、标定等问题及相关处理方法。

课程设计验收的内容:焊接完成开发板一套,PCB 图,下位机程序,上位机程序,课程设计报告图,下位机程序,上位机程序,课程设计报告(每人一份,同一小组报告内容可相同)。

3.方案设计3.1 功能描述本温度自动报警系统主要有以下功能:①实时采集温度信号并显示②单片机对温度信号能够实时监控③能够设置报警温度上下限④能够自动实现鸣叫报警3.2 系统组成本温度自动报警系统主要由四部分组成:主控模块,采集模块,显示模块和报警模块。

其中:主控模块实现巡回监视温度信号的功能,采集模块实现温度信号的采集,显示模块实现温度值和报警点的显示,报警模块实现报警的功能。

系统框图如下所示:3.3 芯片选择3.3.1 主控模块主控模块采用ATMEL 公司生产的ATmega16。

ATmega16是一个低电压,高性能CMOS 8位单片机,片内含4K 的可反复擦写的FLASH 只读存储器和128 BYTES 的随机存取数据存储器,40个引脚,32个外部双向输入/输出(I/O )端口,同时内含2个外中断口,2个16位可编程定时计数器,2个全双工串行通信口。

ATmega16可以按照常规方法进行编程,也可以在线编程。

器件采用ATMEL 公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash 存储单元,其将通用的微处理器和Flash 存储器结合在一起,特别是可反复擦写的Flash 存储器可有效地降低开发成本。

内置功能强大的微型计算机的ATmega16提供了高性价比的解决方案。

3.3.2 采集模块采集模块采用DALLAS 半导体公司生产的数字化温度传感器DS18B20。

DS1820是世界上第一片支持 "一线总线"接口的温度传感器。

一线总线独特而且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。

DS18B20也支持"一线总线"接口,测量温度范围为-55~125度,在-10~85度范围内, 精度为0.5度。

现场温度直接以"一线总线"的数字方式传输,大大提高了系统的抗干扰性。

适合于恶劣环境的现场温度测量,如:环境控制、设备或过程控制、测温类消费电子产品等。

与前一代产品不同,新的产品支持3V~5V 的电压范围,使系统设计更灵活、方便。

而且新一代产品更便宜,体积更小。

DS18B20内部结构主要由四部分组成:64位光刻ROM 、温度传感器、非挥发的温度报警触发器TH 和TL 、配置寄存器。

其管脚排列如下: DQ 为数字信号输入/输出端;GND 为电源地;VDD 为外接供电电源输入端(在寄生电源接线方式时接地)。

可选更小的封装方式,更宽的电压适用范围。

DS18B20可以程序设定9~12位的分辨率,分辨率设定及用户设定的报警温度存储在EEPROM 中,掉电后依然保存。

3.3.3键盘模块键盘模块用于设置温度的报警上下限。

键盘模块采用独立按键方式。

分别由单片机的三个接口驱动。

三个按键分别代表不同作用。

按键1用于状态切换(温度监控和上下限设定界面切换),按键2用于上下限设定时的增,按键3用于上下限设定时的减。

考虑到系统要求并不高,所以采用独立键盘,简单实用,降低了软件的要求,并且硬件电路复杂度也降低,安全可靠。

3.3.4 显示模块显示模块采用5110液晶屏。

LPH7366 是NOKIA 公司生产的可用于其5110、6150,6100 等系列移动电话的液晶显示模块,国内厂家也生产有类似的兼容产品。

该产品除应用于移动电话外,也可广泛应用于各类便携式设备的显示系统。

与其它类型的产品相比,该模块具有以下特点:1.84x48 的点阵LCD,可以显示4 行汉字。

2.采用串行接口与主处理器进行通信,接口信号线数量大幅度减少,包括电源和地在内的信号线仅有9 条。

支持多种串行通信协议(如AVR 单片机的SPI、MCS51 的串口模式0等),传输速率高达4Mbps,可全速写入显示数据,无等待时间。

3.可通过导电胶连接模块与印制版,而不用连接电缆,用模块上的金属钩可将模块固定到印制板上,因而非常便于安装和更换。

4.LCD 控制器/驱动器芯片已绑定到LCD 晶片上,模块的体积很小。

5.采用低电压供电,正常显示时的工作电流在200μA 以下,且具有掉电模式。

3.3.5 报警模块当液晶屏幕显示“!”时,即为报警4 硬件电路设计4.1 主控模块单片机ATmega16是该模块也是整个电路的核心器件。

实现巡回监视温度信号。

当温度超过给定的门限值时出现报警信号(液晶显示器显示当前温度值和报警点,判断液晶屏幕是否显示“!”的报警信号)。

其电路图如下:4.2 采集模块采集模块主要由温度传感器DS18B20实现温度信号的采集及A/D转换,可以将检测到的温度直接显示在数码管上。

其电路图如下:4.3键盘模块键盘模块用于设置温度的报警上下限。

键盘模块采用独立按键方式。

分别由单片机的三个接口驱动。

三个按键分别代表不同作用。

按键1用于状态切换(温度监控和上下限设定界面切换),按键2用于上下限设定时的增,按键3用于上下限设定时的减。

考虑到系统要求并不高,所以采用独立键盘,简单实用,降低了软件的要求,并且硬件电路复杂度也降低。

其电路图如下:4.4显示模块和报警模块采用5110液晶屏,其模块如下:5 软件设计流程系统程序主要包括主程序,读出温度子程序,温度转换命令子程序,计算温度子程序,显示数据刷新子程序,按键扫描处理子程序等。

5.1主程序流程图主程序的主要功能是负责温度的实时显示、读出并处理DS18B20的测量的当前温度值,温度测量每1s进行一次。

这样可以在一秒之内测量一次被测温度,其程序流程见图3.1所示。

图3.1 主程序流程图5.2读出温度子程序读出温度子程序的主要功能是读出RAM 中的9字节,在读出时需进行CRC 校验,校验有错时不进行温度数据的改写。

其程序流程图如图3.2示。

5.3温度转换命令子程序温度转换命令子程序主要是发温度转换开始命令,当采用12位分辨率时转换时间约为750ms ,在本程序设计中采用1s 显示程序延时法等待转换的完成。

温度转换命令子程序流程图如上图,图3.3所示。

图3.3 温度转换流程图图3.2 读温度流程图5.4 计算温度子程序计算温度子程序将RAM 中读取值进行BCD 码的转换运算,并进行温度值正负的判定,其程序流程图如图3.4所示。

5.5 显示数据刷新子程序显示数据刷新子程序主要是对分离后的温度显示数据进行刷新操作,当标志位为1时将符号显示位移入第一位。

程序流程图如图3.5。

图3.4计算温度流程图图3.5显示数据刷新流程图5.6按键扫描处理子程序按键采用扫描查询方式,设置标志位,当标志位为1时,显示设置温度,否则显示当前温度。

如下图3.6示。

图3.6 按键扫描处理子程序6.性能分析本温度自动报警装置可以成功地实现现场温度采集并通过5110液晶屏显示。

1)、测温范围0—99.9℃2)、温度传感器采用DS18B20,根据所选用的传感器,设计合理的测温电路。

3)、3位数码显示,实时显示当前温度值。

4)、键盘设置温度上、下限报警值,当温度到达设定值,蜂鸣器鸣叫报警。

5)、记录历史最高温和最低温度6)、7)、7.上位机制作7.1 LabVIEW软件LabVIEW是一种程序开发环境,由美国国家仪器(NI)公司研制开发,类似于C和BASIC开发环境,但是LabVIEW与其他计算机语言的显著区别是:其他计算机语言都是采用基于文本的语言产生代码,而LabVIEW使用的是图形化编辑语言G编写程序,产生的程序是框图的形式。

LabVIEW软件是NI设计平台的核心,也是开发测量或控制系统的理想选择。

LabVIEW开发环境集成了工程师和科学家快速构建各种应用所需的所有工具,旨在帮助工程师和科学家解决问题、提高生产力和不断创新。

与 C 和BASIC 一样,LabVIEW也是通用的编程系统,有一个完成任何编程任务的庞大函数库。

LabVIEW的函数库包括数据采集、GPIB、串口控制、数据分析、数据显示及数据存储,等等。

LabVIEW也有传统的程序调试工具,如设置断点、以动画方式显示数据及其子程序(子VI)的结果、单步执行等等,便于程序的调试。

LabVIEW是一种用图标代替文本行创建应用程序的图形化编程语言。

传统文本编程语言根据语句和指令的先后顺序决定程序执行顺序,而 LabVIEW 则采用数据流编程方式,程序框图中节点之间的数据流向决定了VI及函数的执行顺序。

VI指虚拟仪器,是 LabVIEW 的程序模块。

LabVIEW提供很多外观与传统仪器(如示波器、万用表)类似的控件,可用来方便地创建用户界面。

用户界面在 LabVIEW 中被称为前面板。

使用图标和连线,可以通过编程对前面板上的对象进行控制。

这就是图形化源代码,又称G 代码。

LabVIEW 的图形化源代码在某种程度上类似于流程图,因此又被称作程序框图代码。