资料查找方式:
特纳斯电子(电子校园网):搜索下面编号即可
编号:
CP-51-2021-023
设计简介:
本设计是基于单片机的非接触式人体红外测温系统,主要实现以下功能:
- 可通过LCD1602显示温度和是否有人;
- 可通过按键调整温度阈值;
- 可通过红外对管监测是否有人;
- 可通过语音播报TTS播报温度和温度状态。
标签:51单片机、LCD1602、非接触人体测温、语音播报
中控部分概述
中控部分以STC89C52单片机为核心,扮演着整个非接触人体红外测温系统的“大脑”角色。它负责接收来自输入部分的各类数据,包括人体温度、是否有人存在、用户通过按键设置的温度上下限值等。STC89C52单片机对这些数据进行内部处理,包括温度数据的读取、人体存在状态的判断、温度上下限的比较等,并根据处理结果控制输出部分的相应动作。通过其强大的数据处理和控制能力,实现了系统的智能化运行。
输入部分概述
输入部分由四个关键模块组成,共同为系统提供必要的输入信息:
- MLX90614红外测温模块:该模块负责检测当前的人体温度,并将温度数据发送给STC89C52单片机进行处理。
- 红外对管模块:此模块用于检测当前是否有人存在,通过红外线的发射与接收来判断人体是否进入检测范围,为系统提供人体存在状态的输入。
- 独立按键:系统配备了三个独立按键,用户可以通过这些按键切换显示界面,以及设置人体温度的上下限值,为系统提供了灵活的交互方式。
- 供电电路:供电电路为整个系统提供稳定的电源输入,确保系统能够正常工作。
输出部分概述
输出部分由三个主要模块组成,负责将系统的处理结果以直观、清晰的方式呈现给用户:
- LCD1602显示模块:该模块用于显示当前的人体温度、是否有人存在、以及用户设置的温度最大值等信息,使用户能够直观地了解系统的运行状态和检测结果。
- 语音模块:当系统检测到有人存在且持续3秒后,语音模块会播报当前的温度值以及温度是否正常,为用户提供了便捷的听觉反馈。
- 蜂鸣器:蜂鸣器作为系统的报警装置,当检测到的人体温度超过用户设置的最大值或低于最小值时,蜂鸣器会每隔100ms发出报警声;当温度恢复正常范围内时,蜂鸣器停止报警。通过这种方式,系统能够及时提醒用户注意异常情况。
5 系统调试
5.1仿真调试
5.1.1仿真总体设计
如图5-1-1所示为总体设计仿真图,其中包括单片机的最小系统,LCD1602显示屏、环境测温模块、人体测温模块、按键调整、蜂鸣器报警。其中,单片机最小系统包括主芯片STC89C52、外部晶振电路和外部复位电路;按键调整可以通过“设置”按键切换不同的界面,再通过“加”键和“减”键进行值的更改;本次仿真设计采用与环境测温模块相同的元器件,模拟人体红外测温。
图5.1.1 总体设计仿真图
5.1.2环境温度和人体温度检测仿真测试
如图5-1-2所示为界面0的状态下,主要显示检测的环境温度和人体温度。环境温度的采集是通过DS18B20温度传感器获取的,可通过改变仿真中DS18B20传感器上的两个红色调节按钮进行温度的改变;人体温度的采集是通过MLX90614非接触型人体红外测温传感器获取的,可通过改变仿真中MLX90614传感器上的两个红色调节按钮进行温度的改变,模拟人体温度的变化。
图5.1.2 环境温度、人体温度检测仿真图
5.1.3设置人体温度最大值仿真测试
如图5-1-3所示为界面1的状态下,设置人体温度最大值的仿真。从界面0切换到界面1是通过“设置”按键进行切换,并可通过“加”键和“减”键修改“R_Temp_Max”的值。“R_Temp_Max”的值是设置的人体温度可达到的温度最大值,当人体温度大于“R_Temp_Max”时,蜂鸣器会每隔500ms报警一次,当人体温度下降到小于或等于“R_Temp_Max”时,蜂鸣器会停止报警。
图5.1.3 设置人体温度最大值仿真图
5.2实物制作与调试
5.2.1系统实物图
根据课题的要求设计原理图,并通过Altium Designer绘制PCB图,然后发送厂家进行打板,并购买元器件主要元器件如下:
表5.2.1 元器件清单
元器件名称 | 型号 | 数量 |
单片机 | STC89C52 | 1 |
晶振 | 11.05926MHz | 1 |
瓷片电容 | 30pF | 2 |
极性电容 | 10uF | 2 |
复位按键 | / | 1 |
电阻 | 10k | 2 |
电阻 | 1k | 2 |
电阻 | 3.3k | 1 |
电源插座 | / | 1 |
电源开关 | / | 1 |
LED指示灯 | / | 1 |
三极管 | S9012 | 1 |
显示屏 | LCD1602 | 1 |
环境温度检测模块 | DS18B20 | 1 |
非接触型人体红外测温模块 | MLX90614 | 1 |
蜂鸣器 | / | 1 |
独立按键 | / | 3 |
图5.2.1 元器件散装图
首先,焊接单片机、两个30pF瓷片电容、一个11.05926MHz晶振、按键、10uF极性电容、10k电阻以及下载接口。
图5.2.2 单片机最小系统板
其次,将焊接电源插座、电源开关、1k电阻、30pF瓷片电容和一个指示灯,焊接好后,插入DC电源,指示灯点亮,说明电源部分正常。再将HEX文件下载到单片机中,查看是否能下载正常。测试验证一切正常。
图5.2.3 电源电路焊接图
然后,将独立按键、蜂鸣器和显示屏一一焊接,先测试按键按下,蜂鸣器是否报警,再测试显示屏是否显示正常,测试验证一切正常。
图5.2.3 按键和蜂鸣器焊接图
最后焊接非接触型人体红外测温模块、环境温度检测模块和10k电阻。验证非接触型人体红外测温模块和环境温度检测模块,在非接触型人体红外测温模块镜面擦拭干净后将手指放在距离该模块上2-3cm处,观察显示屏上温度变化是否合理;将手放在DS18B20传感器上,模拟环境温度变化,观察显示屏上温度变化是否合理,测试验证一切正常。
总体验证后,一切和所预想功能一致,测试成功。最终实物图如图5-2-4所示:
图5.2.4 系统实物图
5.2.2环境温度、人体温度检测实物测试
图5-2-2为上电后,实物图显示为此时测得的环境温度为12.8℃,人体红外测温所测得的人体温度为18.2℃。
图5.2.5 环境温度、人体温度检测实物测试图
5.2.3设置人体温度最大值实物测试
如图5-2-3所示,在此次作品中设置的人体温度最大值为37℃,当人体温度大于人体温度最大值时,蜂鸣器会每隔500ms报警一次,当人体温度小于或者等于人体温度的最大值时,蜂鸣器会停止报警。
图5.2.6 设置人体温度最大值实物测试图
设计摘要:
本设计以STC89C52单片机为核心的红外测温系统技术的研究。系统分为单片机最小系统、温度传感器DS18B20以及红外非接触MLX90614ESF测温模块电路、蜂鸣器报警电路、按键输入电路、显示电路和电源电路。本设计以温度为研究对象,以温度传感器DS18B20和MLX90614ESF红外非接触测温模块为输入信号,通过按键控制阀值大小会有异常报警以及显示屏实时显示采集的数据的系统。
关键词:单片机;实时显示;温度传感器;红外非接触测温
字数:10000+
内容预览:
目录
摘要
Abstract
1 引言
1.1 选题背景及实际意义
1.2 红外测温的特点
1.3 本文的研究方法
2 系统设计方案
2.1 整体设计方案
2.2 传感器方案选择
2.3 控制电路
2.3.1 单片机的选择
2.3.2 显示电路的选择
3 系统设计与分析
3.1 整体设计分析
3.2 输入电路分析
3.2.1 传感器电路分析
3.2.2 按键输入电路分析
3.3 输出电路分析
3.3.1 显示模块
3.3.2 报警电路
3.4 控制电路分析
3.4.1 单片机
3.4.2 复位和晶振电路
3.4.3 电源电路
4 系统程序设计
4.1 编程软件介绍
4.2 主程序流程设计
4.3 按键函数流程设计
4.4 显示函数流程设计
4.5 处理函数流程设计
5 系统调试
5.1仿真调试
5.1.1仿真总体设计
5.1.2环境温度和人体温度检测仿真测试
5.1.3设置人体温度最大值仿真测试
5.2实物制作与调试
5.2.1系统实物图
5.2.2环境温度、人体温度检测实物测试
5.2.3设置人体温度最大值实物测试
6 结论
参考文献
致 谢
附 录
附录A:原理图
附录B:PCB图