非接触式测温系统.doc

上传人:scccc 文档编号:10751617 上传时间:2021-06-02 格式:DOC 页数:35 大小:553.50KB
返回 下载 相关 举报
非接触式测温系统.doc_第1页
第1页 / 共35页
非接触式测温系统.doc_第2页
第2页 / 共35页
非接触式测温系统.doc_第3页
第3页 / 共35页
非接触式测温系统.doc_第4页
第4页 / 共35页
非接触式测温系统.doc_第5页
第5页 / 共35页
点击查看更多>>
资源描述

《非接触式测温系统.doc》由会员分享,可在线阅读,更多相关《非接触式测温系统.doc(35页珍藏版)》请在三一文库上搜索。

1、I 附件 3:毕业设计规范格式 学号 年级 远程和继续教育学院远程和继续教育学院 毕业设计毕业设计 基于单片机的非接触式测温系统基于单片机的非接触式测温系统 专专 业业 姓姓 名名 指导教师指导教师 评评 阅阅 人人 年年月月 中国中国 苏州苏州 II 学术声明: 郑郑 重重 声声 明明 本人呈交的毕业设计,是在导师的指导下,独立进行研究工作 所取得的成果,所有数据、图片资料真实可靠。尽我所知,除文中 已经注明引用的内容外,本设计(论文)的研究成果不包含他人享 有著作权的内容。对本设计(论文)所涉及的研究工作做出贡献的 其他个人和集体,均已在文中以明确的方式标明。本设计(论文) 的知识产权归属

2、于培养单位。 本人签名: 日期: III 摘 要 本设计根据设计任务和实际考察进行了方案设计和方案论证,并且设计了 相应的硬件电路和软件系统,研制了非接触式测温系统。 该系统采用 MLX90614 红外温度传感器和 80C51 单片机为核心技术设计的非 接触式测温系统,利用传感器自带的低噪放大器、A/D 转换将传感器采集的温 度电压信号经过处理输出给单片机,从而单片机控制显示温度和高温声音报警。 对非接触式测温的实现技术进行了有意义的探索与研究,在快速、安全测温方 面有一定参考价值。 关键词:关键词:80C51;MLX90614;非接触式测温; IV ABSTRACT According to

3、 the design task and the actual investigation, the design and the scheme demonstration are carried out, and the corresponding hardware and software systems are designed, and the non-contact temperature measurement system is developed.The system uses the MLX90614 infrared temperature sensor and the 8

4、0C51 MCU as the non contact temperature measuring system. Using the low noise amplifier with the sensor and the A/D conversion, the temperature and voltage signals collected by the sensor are processed and output to the single chip microcomputer, and the microcontroller is controlled to display the

5、temperature and the high temperature sound alarm. It has made a meaningful exploration and Research on the realization technology of non-contact temperature measurement, and has a certain reference value in fast and safe temperature measurement. Key words: 80C51; MLX90614; Non-contact temperature me

6、asurement; V 目录 摘要摘要.I ABSTRACT.II 目目 录录.III 引言引言.1 第一章第一章.1 绪论绪论.1 1.1 课题背景.1 1.2 非接触测温系统概述.1 1.3 课题研究的目的及意义.2 第第 2 章系统总体概述与构架章系统总体概述与构架.2 2.1 系统总功能概述.2 2.2 系统硬件总体构架.3 2.3 系统软件总体构架.3 第第 3 章章 系统硬件选择与电路设计系统硬件选择与电路设计.4 3.1 芯片介绍及相关模块及相关电路模块设计.4 3.1.1 80C51 系列单片机简介.4 3.1.2 MLX90614 红外温度传感器测温模块介绍 .5 3.1.

7、3 LCD1602 液晶模块介绍.7 3.1.4 蜂鸣器概述.7 3.2 单片机系统及外围电路的设计.8 3.1.1 单片机最小系统原理图.8 3.2.1 传感器电路.9 3.2.3 温度显示电路.9 第第 4 章章 软件部分软件部分.10 4.1 系统程序流程图.11 4.2 温度显示与报警程序.11 附录附录.12 1 引言 一般来说,测温方式可以分为接触式和非接触式,接触式测温只能测量被测 物体与测温传感器达到热平衡后的温度,所以响应时间长,且极易受环境温度的 影响;而红外测温是根据被测物体的红外辐射能量来确定物体的温度,具有影响 动被测物体温度分布场,温度分辨率高、响应速度快、测温范围

8、广、不受温度上 限的限制、稳定性好等特点,近年来在家庭自动化、汽车电子、航空和军事上得 到越来越广泛的应用。 本文的非接触式测温系统是单片机系统的一种典型应用,要求在不接触物体 的情况下对物体的温度进行直接的测量和报警,从而快速直观的了解到物体的温 度。本次设计采用 80C51 单片机为控制核心,并结合传感器模块、显示模块,最 后单片机通过判断数字化的传感器温度信号直接控制蜂鸣器声音报警系统。整个 系统结构紧密,传输性能高。 第第 1 1 章章 绪论绪论 1.11.1 课题背景课题背景 随着现代科学技术的发展,传统的接触式测温方式以不能满足现代一些领域 的测温需求,对非接触、远距离测温技术的需

9、求越来越大。本红外测温系统设计 的出发点也正是基于此。 1.21.2 非接触式测温系统概述非接触式测温系统概述 非接触式红外测温也叫辐射测温,一般使用热电型或光电型探测器作为检测 元件。此温度测量系统比较简单,可以实现大面积的测温,也可以是被测物体上 某一点的温度测量;可以是便携式,也可以是固定式,并且使用方便;它的制造 工艺简单,成本较低,测温是不接触被测物体。具有响应时间短、不干扰被测温 场、使用寿命长、操作方便等一系列优点,但利用红外辐射测量温度,也必然受 到物体发射率、测温距离、烟尘和水蒸气等外界因素的影响,其测量误差较大。 在这种温度测量技术中红外传感器的选择是非常重要的,而且不仅在

10、点温度 测量中要使用红外温度传感器,大面积温度测量也可以使用红外温度传感器。本 设计正是采用红外温度传感器这种温度测量技术,它具有温度分别率高、响应速 度快、不扰动被测目标温度分布场、测量精度高和稳定性好等优点;另外红外温 2 度传感器的种类比较多。发展非常快,技术比较成熟,这也是本设计采用红外温 度传感器设计非接触温度测量系统的主要原因之一。 1.31.3 课题研究的目的及意义课题研究的目的及意义 设计出更加快速、安全且成本低的非接触式测温系统。 第第 2 2 章系统总体概述与构架章系统总体概述与构架 2.12.1 系统总功能概述系统总功能概述 非接触式测温系统大体上是由温度传感器、液晶显示

11、和报警器组成,温度传 感器的工作原理是传感器输出的电压模拟信号随着被测物体温度与传感器自身温 度变化而变化,再传输到单片机显示温度并判断是否报警,后传输到报警器做出 响应。系统整体功能如图 2-1 所示: 图 3-2 测温系统功能 2.22.2 系统硬件总体构架系统硬件总体构架 测温系统的主要模块:传感器测温模块、单片机控制模块、声音报警模块、 温度显示模块、电源模块(图中未显示),如图 2-2 3 图 2-2 硬件构架图 2.32.3 系统软件总体构架系统软件总体构架 程序初始化结束后,整个非接触式测温系统进入监控状态,温度传感器检测 温度并输出电压信号,80C51 单片机将经过传感器放大和

12、 A/D 转换的温度信号成 的十进度气体温度与限定值相比较,显示并判断是否报警。如有异常报警则需要 手动复位初始化整个系统。系统程序流程图如图 2-3 图 2-3 软件构架图 4 第第 3 3 章章 系统硬件选择与电路设计系统硬件选择与电路设计 硬件电路是电路系统的重要组成部分,硬件电路设计是否合理直接影响电路 系统的性能。 3.13.1 芯片介绍及相关模块及相关电路模块设计芯片介绍及相关模块及相关电路模块设计 3.1.13.1.1 80C5180C51 系列单片机简介系列单片机简介 虽然目前单片机的品种很多,但其中最具代表性的当属 Intel 公司的 MCS-51 单片机系列。MCS-51

13、以其典型的结构、完善的总线、SFR 的集中管理模式、位操 作系统和面向控制功能的丰富的指令系统,为单片机的发展奠定了良好的基础。 MCS-51 系列的典型芯片是 80C51(CHMOS 型的 8051) 。 1) 80C51 单片机特点: a) 体积小、重量轻、价格低、耗电少、电源单一。 b) 抗干扰能力强,可靠性高。 c) 面向控制,控制功能强,运行速度快。 2) 80C51 单片机引脚及其功能介绍: 单片机的 40 个引脚大致可分为 4 类:电源、时钟、控制和 I/O 引脚。 a) 电源:VCC - 芯片电源,接+5V;VSS - 接地端; b) 时钟:XTAL1、XTAL2 - 晶体振荡

14、电路反相输入端和输出端。 c) 控制线:控制线共有 4 根: d) ALE/PROG:地址锁存允许/片内 EPROM 编程脉冲 e) ALE 功能:用来锁存 P0 口送出的低 8 位地址 f) PROG 功能:片内有 EPROM 的芯片,在 EPROM 编程期间,此引脚输入 编程脉冲。 g) PSEN:外 ROM 读选通信号。 h) RST/VPD:复位/备用电源。 i) RST(Reset)功能:复位信号输入端。 j) VPD 功能:在 Vcc 掉电情况下,接备用电源。 k) EA/Vpp:内外 ROM 选择/片内 EPROM 编程电源。 l) EA 功能:内外 ROM 选择端。 5 m)

15、Vpp 功能:片内有 EPROM 的芯片,在 EPROM 编程期间,施加编程电源 Vpp。 n) I/O 线:80C51 共有 4 个 8 位并行 I/O 端口:P0、P1、P2、P3 口,共 32 个引脚。 P3 口还具有第二功能,用于特殊信号输入输出和控制信号(属 控制总线) 。 3) 8051 引脚图 图 3-1 80C51 单片机引脚图 3.1.23.1.2 MLX90614MLX90614 测温传感器介绍测温传感器介绍 MLX90614 系列测温芯片通过通远程物体的红外线放射加热,热量由芯片热电 偶测得。由红外温度传感器、低噪放大器、A/D 转换器、DSP 单元、脉冲调制电 路及逻辑

16、控制电路构成,热电堆输出的温度信号经过内部高性能、低噪声的运算 放大器放大后,送给模数转换器(ADC),ADC 输出的 17 位数字经过可编程 FIR 和 IIR 低通滤波器(即图中的 DSP)处理后输出,该输出作为测量结果保存在 MXL90614 内部 RAM 存储单元中,可以通过 SMBus 读取;同时测量结果送到后级数 子式脉冲宽度调制电路,将测量结果以 PWM 的方式输出。内部结构图如下。 6 图 3-1.1 MLX90614D 传感器内部结构 MXL90614 采用 4 脚罐形封装(TO239),顶端引脚分布视图如图所示,具体引脚功 能如下: 图 3-1.2 MLX90614 传感器

17、引脚图 VDD:外部电源输入; VSS:地,和外壳相恋; SCL/Vz:当 MXL90614 为 SMBUS 模式时 SCL 为串行输入,为 PWM 模式时 Vz 为由外 部电路置高电平; SDA/PWM:当 MXL90614 为 SMBUS 模式时串行数据输出接口,为 PWM 模式时做为 PWM 波输出接口。 测温原理:输出时被测物体温度(TO)与传感器自身温度(Ta)共同作用的结果, 理想情况下热电元件的输出电压为: 44 ir()VA ToTa 7 其中温度单位均为 Kelvin,A 为元件的灵敏度常数。 3.1.33.1.3 LCD1602LCD1602 液晶模块介绍液晶模块介绍 LC

18、D1602 是一种工业字符型液晶,能够同时显示 16X02 即 32 个字符。 LCD1602 引脚说明: 1) 第 1 脚:VSS 为地电源。 2) 第 2 脚:VDD 接 5V 正电源。 3) 第 3 脚:VL 为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对 比度最高,对比度过高时会产生“鬼影” ,使用时可以通过一个 10K 的电位器调 整对比度。 4) 第 4 脚:RS 为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄 存器。 5) 第 5 脚:R/W 为读写信号线,高电平时进行读操作,低电平时进行写操作。 当 RS 和 R/W 共同为低电平时可以写入指令或者显示地址,

19、当 RS 为低电平 R/W 为 高电平时可以读忙信号,当 RS 为高电平 R/W 为低电平时可以写入数据。 6) 第 6 脚:E 端为使能端,当 E 端由高电平跳变成低电平时,液晶模块执行命 令。 7) 第 714 脚:D0D7 为 8 位双向数据线。 8) 第 15 脚:背光源正极。 9) 第 16 脚:背光源负极.如图 图 3-1.3 LCD1602 引脚图 3.1.43.1.4 蜂鸣器概述蜂鸣器概述 蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于计 算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、定时器等 电子产品中作发声器件。蜂鸣器主要分为压电式蜂鸣器和

20、电磁式蜂鸣器两种类型。 蜂鸣器在电路中用字母“H”或“HA” (旧标准用“FM” 、 “ZZG” 、 “LB” 、 “JD”等) 表示。蜂鸣器原理图如图 8 图 3-1.4 蜂鸣器原理图 蜂鸣器驱动电路一般都包含以下几个部分:一个三极管、一个蜂鸣器、一个 续流二极管和一个电源滤波电容。 1) 蜂鸣器 发声元件,在其两端施加直流电压(有源蜂鸣器)或者方波(无源蜂鸣器) 就可以发声,其主要参数是外形尺寸、发声方向、工作电压、工作频率、工作电 流、驱动方式(直流/方波)等。这些都可以根据需要来选择。 2) 续流二极管 蜂鸣器本质上是一个感性元件,其电流不能瞬变,因此必须有一个续流二极管提 供续流。否

21、则,在蜂鸣器两端会产生几十伏的尖峰电压,可能损坏驱动三极管, 并干扰整个电路系统的其它部分。 3) 滤波电容 滤波电容 C1 的作用是滤波,滤除蜂鸣器电流对其它部分的影响,也可改善电源 的交流阻抗,如果可能,最好是再并联一个 220uF 的电解电容。 4) 三极管 三极管 Q1 起开关作用,其基极的高电平使三极管饱和导通,使蜂鸣器发声;而 基极低电平则使三极管关闭,蜂鸣器停止发声。 3.23.2 单片机系统及外围电路的设计单片机系统及外围电路的设计 3.2.13.2.1 单片机最小系统原理图单片机最小系统原理图 本文所使用的 80C51 单片机最小系统由晶振电路、复位电路、电源以及串口 通信组

22、成。原理图如图 9 图 3-2 51 单片机最小系统原理图 3.2.23.2.2 数据采集与处理电路数据采集与处理电路 本电路包括红外测温传感器 MLX90614 模块可以将传感器实时监测的温度模 拟信号经过放大以及模数转换转换成 80C51 单片机可识别的数字化的十六进制温 度信号。原理图如图。 图 3-2.2 传感器模块原理图 3.2.33.2.3 声音报警电路声音报警电路 本电路采用蜂鸣器来报警,当温度达到设定的警戒值或限定值蜂鸣器会发声 来报警,以期达到跟好的提示效果。 10 图 3-2.3 报警模块原理图 3.2.43.2.4 温度显示电路温度显示电路 本电路采用 LCD1602 液

23、晶显示被测物体的温度。如图为液晶显示模块原理图。 原理图如图。 图 3-2.4 温度显示模块原理图 第第 4 4 章章 软件部分软件部分 3.13.1 系统程序流程图系统程序流程图 非接触式测温系统控制器采用主控芯片为 80C51,是测温系统智能化的统一 体现。测温系统的软件采用了模块化程序设计方法,系统通过子程序调用,实现 各个模块的具体功能。不仅使程序结构清晰,又易于以后进一步扩展它功能。本 系统主要包括主程序、温度采集子程序、温度判断、温度显示与报警子程序等。 11 系统流程图如图。 图 3-1 系统流程图 3.23.2 温度显示与报警程序温度显示与报警程序 见附录二 附录一 电路原理图

24、 12 附录二 系统程序 #include #include #define uint unsigned int #define uchar unsigned char #define Nack_number 10 /*端口定义* / uchar flag; /LCD 控制线接口 sbit RS=P01; /RS 端 sbit RW=P02; /读写端 sbit LCDE=P35; /使能端 /mlx90614 端口定义 sbit BUZZ=P00; /定义蜂鸣器端口 sbit RS=P01; /定义 LCD 控制端口 sbit RW=P02; sbit EN =P03; /*数据定义*/ v

25、oid CALTEMP(uint TEMP); void ReadKey(void); void initInt(); void delay1(uint z); void show(); uchar key_num; uchar mah5; /*全局变量定义*/ bit b20ms,b100ms; /定时标志位 13 uchar c20ms,c100ms; /定时毫秒数 /* LCD1602 * / /向 LCD 写入命令或数据* / #define LCD_COMMAND 0 /命令 #define LCD_DATA 1 / 数据 #define LCD_CLEAR_SCREEN 0 x01

26、 / 清屏 #define LCD_HOMING 0 x02 / 光标返回原点 #define LCD_SHOW 0 x04 /显示开 #define LCD_HIDE 0 x00 /显示关 #define LCD_CURSOR 0 x02 /显示光标 #define LCD_NO_CURSOR 0 x00 /无光标 #define LCD_FLASH 0 x01 /光标闪动 #define LCD_NO_FLASH 0 x00 /光标不闪动 /*设置输入模式* / #define LCD_AC_UP 0 x02 /光标右移 AC+ #define LCD_AC_DOWN 0 x00 /默认光

27、标左移 AC- #define LCD_MOVE 0 x01 /画面可平移 #define LCD_NO_MOVE 0 x00 /默认 画面不移 动 /* mlx90614 */ /command mode 命令模式 #define RamAccess 0 x00 /对 RAM 操作 #define EepomAccess 0 x20 /对 EEPRAM 操作 #define Mode 0 x60 /进入命令模式 #define ExitMode 0 x61 /退出命令模式 #define ReadFlag 0 xf0 /读标志 #define EnterSleep 0 xff /进入睡眠模式

28、 /ram address read only RAM 地址(只读) #define AbmientTempAddr 0 x03 /周围温度 14 #define IR1Addr 0 x04 #define IR2Addr 0 x05 #define LineAbmientTempAddr 0 x06 /环境温度 /*0 x0000 0 x4074 16500 0.01/单元 -40 125*/ #define LineObj1TempAddr 0 x07 / 目标温度,红外温度 /*0 x27ad-0 x7fff 0 x3559 22610 0.02/单元 -70.01-382.19 0.0

29、1 452.2*/ #define LineObj2TempAddr 0 x08 /eepom address EEPROM 地址 #define TObjMaxAddr 0 x00 /测量范围上限设定 #define TObjMinAddr 0 x01 /测量范围下限设定 #define PWMCtrlAddr 0 x02 /PWM 设定 #define TaRangeAddr 0 x03 /环境温度设定 #define KeAddr 0 x04 /频率修正系数 #define ConfigAddr 0 x05 /配置寄存器 #define SMbusAddr 0 x0e /器件地址设定 #

30、define Reserverd1Addr 0 x0f /保留 #define Reserverd2Addr 0 x19 /保留 #define ID1Addr 0 x1c /ID 地址 1 #define ID2Addr 0 x1d /ID 地址 2 #define ID3Addr 0 x1e /ID 地址 3 #define ID4Addr 0 x1f /ID 地址 4 /*函数声明* / void start(); /MLX90614 发起始位子 程序 void stop(); /MLX90614 发结束位子 程序 uchar ReadByte(void); /MLX90614 接收字节

31、子 程序 15 void send_bit(void); /MLX90614 发送位子程 序 void SendByte(uchar number); /MLX90614 接收 字节子程序 void read_bit(void); /MLX90614 接收 位子程序 void delay(uint N); /延时程序 uint readtemp(void); /读温度数据 void init1602(void); /LCD 初始化子 程序 void busy(void); /LCD 判断忙子 程序 void cmd_wrt(uchar cmd); /LCD 写命令子 程序 void dat_w

32、rt(uchar dat); /LCD 写数据子 程序 void display(uint Tem); /显示子程序 void Print(uchar *str); /字符串显示程序 /*主函数* / void main() uint Tem; /温度变量 initInt(); SCK=1; SDA=1; delay(4); SCK=0; delay(1000); SCK=1; init1602(); /初始化 16 LCD while(1) while(b100ms) /每 100ms 扫描一次键盘 b100ms=0; ReadKey(); if(key_num=1) /按下 1 键时,进行

33、数码管显 示 Tem=readtemp(); CALTEMP(Tem); show(); if(key_num!=1) /液晶屏显示 Tem=readtemp(); /读取温度 cmd_wrt(0 x01); /清屏 Print( Temperature: ); /显示字符串 Temperature: 且换行 display(Tem); /显示温度 Print( C); /显示摄氏度 delay(100000); /延时再读 取温度显示 /-字符串显示程序- / void Print(uchar *str) /字符串显示程序 17 while(*str!=0) /直到字符串结束 dat_wrt(*str); /转成 ASCII 码 str+; /指向下一个字符 /-输入转换并显示(用于 LCD1602)- / void display(uint Tem) uint T,a,b; T=Tem*2; if(T=27315) /温度为正 T=T-27315; / a=T/100; /温度整数 b=T-a*100; /温度小数 if(a=100) /温度超过 100 度 dat_wrt(0 x30+a/100); /显示温度百位 dat_wrt(0 x30+a%100/10); /显示温度十位 dat_wrt(0 x30+a%10); /显示温度个位 else if

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1