非接触式测温系统.docx

上传人:b****6 文档编号:4587330 上传时间:2022-12-07 格式:DOCX 页数:30 大小:214.77KB
下载 相关 举报
非接触式测温系统.docx_第1页
第1页 / 共30页
非接触式测温系统.docx_第2页
第2页 / 共30页
非接触式测温系统.docx_第3页
第3页 / 共30页
非接触式测温系统.docx_第4页
第4页 / 共30页
非接触式测温系统.docx_第5页
第5页 / 共30页
点击查看更多>>
下载资源
资源描述

非接触式测温系统.docx

《非接触式测温系统.docx》由会员分享,可在线阅读,更多相关《非接触式测温系统.docx(30页珍藏版)》请在冰豆网上搜索。

非接触式测温系统.docx

非接触式测温系统

附件3:

毕业设计规范格式

学号

年级

 

远程和继续教育学院

毕业设计

基于单片机的非接触式测温系统

专业

姓名

指导教师

评阅人

ⅩⅩⅩⅩ年Ⅹ月

中国苏州

 

学术声明:

 

郑重声明

本人呈交的毕业设计,是在导师的指导下,独立进行研究工作所取得的成果,所有数据、图片资料真实可靠。

尽我所知,除文中已经注明引用的内容外,本设计(论文)的研究成果不包含他人享有著作权的内容。

对本设计(论文)所涉及的研究工作做出贡献的其他个人和集体,均已在文中以明确的方式标明。

本设计(论文)的知识产权归属于培养单位。

 

本人签名:

日期:

 

 

摘要

本设计根据设计任务和实际考察进行了方案设计和方案论证,并且设计了相应的硬件电路和软件系统,研制了非接触式测温系统。

该系统采用MLX90614红外温度传感器和80C51单片机为核心技术设计的非接触式测温系统,利用传感器自带的低噪放大器、A/D转换将传感器采集的温度电压信号经过处理输出给单片机,从而单片机控制显示温度和高温声音报警。

对非接触式测温的实现技术进行了有意义的探索与研究,在快速、安全测温方面有一定参考价值。

关键词:

80C51;MLX90614;非接触式测温;

 

ABSTRACT

Accordingtothedesigntaskandtheactualinvestigation,thedesignandtheschemedemonstrationarecarriedout,andthecorrespondinghardwareandsoftwaresystemsaredesigned,andthenon-contacttemperaturemeasurementsystemissystemusestheMLX90614infraredtemperaturesensorandthe80C51MCUasthenoncontacttemperaturemeasuringsystem.UsingthelownoiseamplifierwiththesensorandtheA/Dconversion,thetemperatureandvoltagesignalscollectedbythesensorareprocessedandoutputtothesinglechipmicrocomputer,andthemicrocontrolleriscontrolledtodisplaythetemperatureandthehightemperaturesoundalarm.IthasmadeameaningfulexplorationandResearchontherealizationtechnologyofnon-contacttemperaturemeasurement,andhasacertainreferencevalueinfastandsafetemperaturemeasurement.

Keywords:

80C51;MLX90614;Non-contacttemperaturemeasurement;

 

摘要I

ABSTRACTII

目录III

引言1

第一章1

绪论1

课题背景1

非接触测温系统概述1

课题研究的目的及意义2

第2章系统总体概述与构架2

系统总功能概述2

系统硬件总体构架3

系统软件总体构架3

第3章系统硬件选择与电路设计4

芯片介绍及相关模块及相关电路模块设计4

80C51系列单片机简介4

MLX90614红外温度传感器测温模块介绍5

LCD1602液晶模块介绍7

蜂鸣器概述7

单片机系统及外围电路的设计8

单片机最小系统原理图8

传感器电路9

温度显示电路9

第4章软件部分10

系统程序流程图11

温度显示与报警程序11

附录12

引言

一般来说,测温方式可以分为接触式和非接触式,接触式测温只能测量被测物体与测温传感器达到热平衡后的温度,所以响应时间长,且极易受环境温度的影响;而红外测温是根据被测物体的红外辐射能量来确定物体的温度,具有影响动被测物体温度分布场,温度分辨率高、响应速度快、测温范围广、不受温度上限的限制、稳定性好等特点,近年来在家庭自动化、汽车电子、航空和军事上得到越来越广泛的应用。

本文的非接触式测温系统是单片机系统的一种典型应用,要求在不接触物体的情况下对物体的温度进行直接的测量和报警,从而快速直观的了解到物体的温度。

本次设计采用80C51单片机为控制核心,并结合传感器模块、显示模块,最后单片机通过判断数字化的传感器温度信号直接控制蜂鸣器声音报警系统。

整个系统结构紧密,传输性能高。

第1章绪论

课题背景

随着现代科学技术的发展,传统的接触式测温方式以不能满足现代一些领域的测温需求,对非接触、远距离测温技术的需求越来越大。

本红外测温系统设计的出发点也正是基于此。

非接触式测温系统概述

非接触式红外测温也叫辐射测温,一般使用热电型或光电型探测器作为检测元件。

此温度测量系统比较简单,可以实现大面积的测温,也可以是被测物体上某一点的温度测量;可以是便携式,也可以是固定式,并且使用方便;它的制造工艺简单,成本较低,测温是不接触被测物体。

具有响应时间短、不干扰被测温场、使用寿命长、操作方便等一系列优点,但利用红外辐射测量温度,也必然受到物体发射率、测温距离、烟尘和水蒸气等外界因素的影响,其测量误差较大。

在这种温度测量技术中红外传感器的选择是非常重要的,而且不仅在点温度测量中要使用红外温度传感器,大面积温度测量也可以使用红外温度传感器。

本设计正是采用红外温度传感器这种温度测量技术,它具有温度分别率高、响应速度快、不扰动被测目标温度分布场、测量精度高和稳定性好等优点;另外红外温度传感器的种类比较多。

发展非常快,技术比较成熟,这也是本设计采用红外温度传感器设计非接触温度测量系统的主要原因之一。

课题研究的目的及意义

设计出更加快速、安全且成本低的非接触式测温系统。

第2章系统总体概述与构架

系统总功能概述

非接触式测温系统大体上是由温度传感器、液晶显示和报警器组成,温度传感器的工作原理是传感器输出的电压模拟信号随着被测物体温度与传感器自身温度变化而变化,再传输到单片机显示温度并判断是否报警,后传输到报警器做出响应。

系统整体功能如图2-1所示:

图3-2测温系统功能

系统硬件总体构架

测温系统的主要模块:

传感器测温模块、单片机控制模块、声音报警模块、温度显示模块、电源模块(图中未显示),如图2-2

图2-2硬件构架图

系统软件总体构架

程序初始化结束后,整个非接触式测温系统进入监控状态,温度传感器检测温度并输出电压信号,80C51单片机将经过传感器放大和A/D转换的温度信号成的十进度气体温度与限定值相比较,显示并判断是否报警。

如有异常报警则需要手动复位初始化整个系统。

系统程序流程图如图2-3

图2-3软件构架图

第3章系统硬件选择与电路设计

硬件电路是电路系统的重要组成部分,硬件电路设计是否合理直接影响电路系统的性能。

芯片介绍及相关模块及相关电路模块设计

80C51系列单片机简介

虽然目前单片机的品种很多,但其中最具代表性的当属Intel公司的MCS-51单片机系列。

MCS-51以其典型的结构、完善的总线、SFR的集中管理模式、位操作系统和面向控制功能的丰富的指令系统,为单片机的发展奠定了良好的基础。

MCS-51系列的典型芯片是80C51(CHMOS型的8051)。

1)80C51单片机特点:

a)体积小、重量轻、价格低、耗电少、电源单一。

b)抗干扰能力强,可靠性高。

c)面向控制,控制功能强,运行速度快。

2)80C51单片机引脚及其功能介绍:

单片机的40个引脚大致可分为4类:

电源、时钟、控制和I/O引脚。

a)电源:

VCC-芯片电源,接+5V;VSS-接地端;

b)时钟:

XTAL1、XTAL2-晶体振荡电路反相输入端和输出端。

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选择端。

m)Vpp功能:

片内有EPROM的芯片,在EPROM编程期间,施加编程电源Vpp。

n)I/O线:

80C51共有4个8位并行I/O端口:

P0、P1、P2、P3口,共32个引脚。

P3口还具有第二功能,用于特殊信号输入输出和控制信号(属控制总线)。

3)8051引脚图

图3-180C51单片机引脚图

MLX90614测温传感器介绍

MLX90614系列测温芯片通过通远程物体的红外线放射加热,热量由芯片热电偶测得。

由红外温度传感器、低噪放大器、A/D转换器、DSP单元、脉冲调制电路及逻辑控制电路构成,热电堆输出的温度信号经过内部高性能、低噪声的运算放大器放大后,送给模数转换器(ADC),ADC输出的17位数字经过可编程FIR和IIR低通滤波器(即图中的DSP)处理后输出,该输出作为测量结果保存在MXL90614内部RAM存储单元中,可以通过SMBus读取;同时测量结果送到后级数子式脉冲宽度调制电路,将测量结果以PWM的方式输出。

内部结构图如下。

图MLX90614D传感器内部结构

MXL90614采用4脚罐形封装(TO239),顶端引脚分布视图如图所示,具体引脚功能如下:

图MLX90614传感器引脚图

VDD:

外部电源输入;

VSS:

地,和外壳相恋;

SCL/Vz:

当MXL90614为SMBUS模式时SCL为串行输入,为PWM模式时Vz为由外部电路置高电平;

SDA/PWM:

当MXL90614为SMBUS模式时串行数据输出接口,为PWM模式时做为PWM波输出接口。

测温原理:

输出时被测物体温度(TO)与传感器自身温度(Ta)共同作用的结果,理想情况下热电元件的输出电压为:

其中温度单位均为Kelvin,A为元件的灵敏度常数。

LCD1602液晶模块介绍

LCD1602是一种工业字符型液晶,能够同时显示16X02即32个字符。

LCD1602引脚说明:

1)第1脚:

VSS为地电源。

2)第2脚:

VDD接5V正电源。

3)第3脚:

VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度。

4)第4脚:

RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。

5)第5脚:

R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。

当RS和R/W共同为低电平时可以写入指令或者显示地址,当RS为低电平R/W为高电平时可以读忙信号,当RS为高电平R/W为低电平时可以写入数据。

6)第6脚:

E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。

7)第7~14脚:

D0~D7为8位双向数据线。

8)第15脚:

背光源正极。

9)第16脚:

背光源负极.如图

图LCD1602引脚图

蜂鸣器概述

蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、定时器等电子产品中作发声器件。

蜂鸣器主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型。

蜂鸣器在电路中用字母“H”或“HA”(旧标准用“FM”、“ZZG”、“LB”、“JD”等)表示。

蜂鸣器原理图如图

图蜂鸣器原理图

蜂鸣器驱动电路一般都包含以下几个部分:

一个三极管、一个蜂鸣器、一个续流二极管和一个电源滤波电容。

1)蜂鸣器

发声元件,在其两端施加直流电压(有源蜂鸣器)或者方波(无源蜂鸣器)就可以发声,其主要参数是外形尺寸、发声方向、工作电压、工作频率、工作电流、驱动方式(直流/方波)等。

这些都可以根据需要来选择。

2)续流二极管

蜂鸣器本质上是一个感性元件,其电流不能瞬变,因此必须有一个续流二极管提供续流。

否则,在蜂鸣器两端会产生几十伏的尖峰电压,可能损坏驱动三极管,并干扰整个电路系统的其它部分。

3)滤波电容

滤波电容C1的作用是滤波,滤除蜂鸣器电流对其它部分的影响,也可改善电源的交流阻抗,如果可能,最好是再并联一个220uF的电解电容。

4)三极管

三极管Q1起开关作用,其基极的高电平使三极管饱和导通,使蜂鸣器发声;而基极低电平则使三极管关闭,蜂鸣器停止发声。

单片机系统及外围电路的设计

单片机最小系统原理图

本文所使用的80C51单片机最小系统由晶振电路、复位电路、电源以及串口通信组成。

原理图如图

图3-251单片机最小系统原理图

数据采集与处理电路

本电路包括红外测温传感器MLX90614模块可以将传感器实时监测的温度模拟信号经过放大以及模数转换转换成80C51单片机可识别的数字化的十六进制温度信号。

原理图如图。

图传感器模块原理图

声音报警电路

本电路采用蜂鸣器来报警,当温度达到设定的警戒值或限定值蜂鸣器会发声来报警,以期达到跟好的提示效果。

图报警模块原理图

温度显示电路

本电路采用LCD1602液晶显示被测物体的温度。

如图为液晶显示模块原理图。

原理图如图。

图温度显示模块原理图

第4章软件部分

系统程序流程图

非接触式测温系统控制器采用主控芯片为80C51,是测温系统智能化的统一体现。

测温系统的软件采用了模块化程序设计方法,系统通过子程序调用,实现各个模块的具体功能。

不仅使程序结构清晰,又易于以后进一步扩展它功能。

本系统主要包括主程序、温度采集子程序、温度判断、温度显示与报警子程序等。

系统流程图如图。

图3-1系统流程图

温度显示与报警程序

见附录二

附录一电路原理图

附录二系统程序

#include<>

#include<>

#defineuintunsignedint

#defineucharunsignedchar

#defineNack_number10

//*********端口定义************************************************//

ucharflag;//LCD控制线接口

sbitRS=P0^1;//RS端

sbitRW=P0^2;//读写端

sbitLCDE=P3^5;//使能端

//mlx90614端口定义

sbitBUZZ=P0^0;//定义蜂鸣器端口

sbitRS=P0^1;//定义LCD控制端口

sbitRW=P0^2;

sbitEN=P0^3;

 

//**********数据定义***********************************************//

voidCALTEMP(uintTEMP);

voidReadKey(void);

voidinitInt();

voiddelay1(uintz);

voidshow();

ucharkey_num;

ucharmah[5];

/****全局变量定义***********************************************//

bitb20ms,b100ms;//定时标志位

ucharc20ms,c100ms;//定时毫秒数

//*********************LCD1602*********************************//

//向LCD写入命令或数据*********************************************//

#defineLCD_COMMAND0//命令

#defineLCD_DATA1//数据

#defineLCD_CLEAR_SCREEN0x01//清屏

#defineLCD_HOMING0x02//光标返回原点

#defineLCD_SHOW0x04//显示开

#defineLCD_HIDE0x00//显示关

#defineLCD_CURSOR0x02//显示光标

#defineLCD_NO_CURSOR0x00//无光标

#defineLCD_FLASH0x01//光标闪动

#defineLCD_NO_FLASH0x00//光标不闪动

//***********设置输入模式***********************************//

#defineLCD_AC_UP0x02//光标右移AC+

#defineLCD_AC_DOWN0x00//默认光标左移AC-

#defineLCD_MOVE0x01//画面可平移

#defineLCD_NO_MOVE0x00//默认画面不移动

//**************************mlx90614****************************//

//commandmode命令模式

#defineRamAccess0x00//对RAM操作

#defineEepomAccess0x20//对EEPRAM操作

#defineMode0x60//进入命令模式

#defineExitMode0x61//退出命令模式

#defineReadFlag0xf0//读标志

#defineEnterSleep0xff//进入睡眠模式

//ramaddressreadonlyRAM地址(只读)

#defineAbmientTempAddr0x03//周围温度

#defineIR1Addr0x04

#defineIR2Addr0x05

#defineLineAbmientTempAddr0x06//环境温度

/*0x00000x407416500单元

-40125*/

#defineLineObj1TempAddr0x07//目标温度,红外温度

/*0x27ad-0x7fff0x355922610单元

*/

#defineLineObj2TempAddr0x08

//eepomaddressEEPROM地址

#defineTObjMaxAddr0x00//测量范围上限设定

#defineTObjMinAddr0x01//测量范围下限设定

#definePWMCtrlAddr0x02//PWM设定

#defineTaRangeAddr0x03//环境温度设定

#defineKeAddr0x04//频率修正系数

#defineConfigAddr0x05//配置寄存器

#defineSMbusAddr0x0e//器件地址设定

#defineReserverd1Addr0x0f//保留

#defineReserverd2Addr0x19//保留

#defineID1Addr0x1c//ID地址1

#defineID2Addr0x1d//ID地址2

#defineID3Addr0x1e//ID地址3

#defineID4Addr0x1f//ID地址4

//************函数声明*****************************************//

voidstart();//MLX90614发起始位子程序

voidstop();//MLX90614发结束位子程序

ucharReadByte(void);//MLX90614接收字节子程序

voidsend_bit(void);//MLX90614发送位子程序

voidSendByte(ucharnumber);//MLX90614接收字节子程序

voidread_bit(void);//MLX90614接收位子程序

voiddelay(uintN);//延时程序

uintreadtemp(void);//读温度数据

voidinit1602(void);//LCD初始化子程序

voidbusy(void);//LCD判断忙子程序

voidcmd_wrt(ucharcmd);//LCD写命令子程序

voiddat_wrt(uchardat);//LCD写数据子程序

voiddisplay(uintTem);//显示子程序

voidPrint(uchar*str);//字符串显示程序

//*************主函数*******************************************//

voidmain()

{

uintTem;//温度变量

initInt();

SCK=1;

SDA=1;

delay(4);

SCK=0;

delay(1000);

SCK=1;

init1602();//初始化LCD

while

(1)

{

while(b100ms)//每100ms扫描一次键盘

{

b100ms=0;

ReadKey();

}

if(key_num==1)//按下1键时,进行数码管显示

{

Tem=readtemp();

CALTEMP(Tem);

show();

}

if(key_num!

=1)//液晶屏显示

{

Tem=readtemp();//读取温度

cmd_wrt(0x01);//清屏

Print("Temperature:

");//显示字符串Temperature:

且换行

display(Tem);//显示温度

Print("^C");//显示摄氏度

delay(100000);//延时再读取温度显示

}

}

}

//------------------字符串显示程序--------------------------//

voidPrint(uchar*str)//字符串显示

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

当前位置:首页 > 高中教育 > 英语

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1