《智能温度报警器的设计(共29页).doc》由会员分享,可在线阅读,更多相关《智能温度报警器的设计(共29页).doc(29页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上吉林建筑大学电气与电子信息工程学院传感器与检测技术课程设计报告设计题目: 智能温度报警器的设计 专业班级: 信科121 学生姓名: 学 号 指导教师: 王超、高晓红 设计时间: 2015.6.152015.6.26 教师评语:成绩 评阅教师 日期 成绩 评阅教师 日期 目录第1章 绪论.11.1智能温度报警器研究的背景和意义.11.2 智能温度报警器的设计主要内容和要求.1第2章 系统总体设计方案.32.1总体方案设计图 .32.2系统工作模块及过程.3第3章硬件电路设计.53.1温度采集模块.53.2液晶显示模块.73.3电源模块.83.4温度报警器模块.93.5按
2、键模块.103.6复位模块.103.7控制模块.11第4章系统软件设计.144.1主程序流程图.144.2温度读取转换流程图.154.3温度计算流程图.16总结.17参考文献.17附录1总电路图 .18附录2程序.19 专心-专注-专业第1章 绪论1.1智能温度报警器研究的背景和意义 温度是一个十分重要的物理量,对他的测量与控制有十分重要的意义,随着现代工农业技术的发展及人们对生活环境要求的提高,人们也迫切需要检测与控制温度。本文通过采用压电陶瓷蜂鸣片作为电声元件的温度报警器的设计与制作,阐明了该装置进行设计与制作的具体过程及方法。这种温度报警器结构简单,可操作性强,应用广泛。工作时,温度测量
3、范围为1030。当前环境温度若超过设定的高温临界温度,由单片机发出报警信号并驱动继电器使风扇电机转动,从而防止因温度升高而带来的不必要的损失。 现代社会是信息社会,随着安全化程度的日益提高,机房作为现代化的枢纽,其安全工作已成为重中之重,机房内一旦发生故障,将导致整个系统瘫痪,造成巨大的损失很社会影响。 造成高温火灾有:电气线路短路、过载、接触电阻过大等引发高温或火灾;静电产生高温或或火灾;雷电等强电侵入导致高温或火灾;最主要是机房内电脑、空调等用电设备长时间工作,导致设备老化,空调发生故障,而不能降温;因此机房内所属的电子产品发热快,在短时间内机房温度升高超出设备正常温度,导致系统瘫痪或产生
4、火灾,这时温度报警系统就会发挥应有的功能。 由于现实生活中天然气泄漏、温度超限和失窃、加上以前通信网络的不完善,对于人们的生命财产有着很大的危害。现在随着通信技术和电子技术的飞速发展,电子信息技术与社会经济生活,生产的关系越来越密切,对社会经济的发展起着越来越大的作用。如果主任离开家去上班,家里失窃也不会知道。如果能实现远程报警,使报警器智能化,这将会给人们的生活带来极大的方便。 温度控制系统在国内各行各业的应用虽然已经十分广泛,但从国内生产的温度控制器来说,总体发展水平还不够高。存在以下几点问题。(1)行业内企业规模小,较为分散,造成技术力量不够集中.(2)商品化产品以PID控制器为主,智能
5、化仪表少,这方面同国外差距较大。目前,国内复杂的及精确度高的温控系统大多采用进口温度控制仪表。(3)仪表控制用关键技术。相关算法及控制软件方面的研发较国外落后。制参数多靠人工经验及现场调试来确定。随着我国经济不断进步,政府对此也非常重视。温度仪表工业得到迅速发展。1.2 智能温度报警器的设计主要内容和要求(1)课程设计目的 通过传感器与检测技术课程设计,使学生掌握传感器及检测系统设计的方法和设计原则及相应的硬件调试的方法。进一步理解传感器及检测系统的设计和应用。(2)智能温度报警器的设计内容 设计一个基于单片机的温度检测、报警的系统,该系统能实时采集周围的温度信息进行显示,当温度超限时,可以报
6、警。实现以下功能:实时温度检测并显示其对应的值。当温度超过预设范围时,可报警。其他功能:可以设报警置温度上下限,根据应用环境不同可设定不同的报警上下限。(3)本次课程设计要求掌握传感器的工作原理及相应的辅助电路设计方法。独立设计原理图及相应的硬件电路。设计说明书格式规范,层次合理,重点突出。并附上详细的原理图。第2章 系统总体设计方案2.1总体方案设计图 在很多单片机测温电路中,大都是使用温度传感器。测温范围广,精度高,且电路设计简单。其中温度传感器DS18B20体积小,精度高,经济实用,且容易直接读取被测温度,满足设计要求。本次设计采用控制器采用单片机AT89C51,可任意设定上下限温度报警
7、功能;采用DS18B20作为温度传感器,测温范围为-50-110,误差小于0.5;用LCD液晶屏实现温度及时间日期显示。本设计的系统框图如图2.1所示。单片机 AT89C51按键电路单片机复位电路液晶显示 上下限报警 电源辅助电路温度传感器 图2.1总体方案设计图2.2系统工作模块及过程(1)系统包含温度采集模块、显示模块、电源模块、报警模块、按键模块等几个部分组成。温度采集模块用来采集实时温度。显示模块用来显示温度,日期和时间。按键用于设置温度的上下限报警。电源模块对整个系统进行供电。报警模块即当温度超过上下限时进行报警提醒。复位电路进行单片机复位。(2)工作过程 电源转换模块将电压转换供电
8、,单片机控制中心进行命令。利用温度传感器DS18B20检测环境温度,通过按键在不同的应用环境设置不同的上下限温度,载由液晶显示器LCD1602显示实时温度和时间,当环境温度值不在所设的范围时,报警器发出报警提醒。同时设置复位电路,令单片机复位。第3章 硬件电路设计3.1温度采集模块图3.1温度采集电路 DS18B20主要特点温度采集模块采用温度传感器DS18B20测取温度信息,然后使用单片机与温度传感器进行通讯,读取温度信息。(1)DS18B20的主要特点如下: 独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。 测温范围 -55+1
9、25,固有测温误差(注意,不是分辨率,这里之前是错误的)1。支持多点组网功能,多个DS18B20可以并联在唯一的三线上,最多只能并联8个,实现多点测温,如果数量过多,会使供电电源电压过低,从而造成信号传输的不稳定。工作电源: 3.05.5V/DC (可以数据线寄生电源)。 在使用中不需要任何外围元件。 测量结果以912位数字量方式串行传送。 不锈钢保护管直径 6。 适用于DN1525, DN40DN250各种介质工业管道和狭小空间设备测温。 标准安装螺纹 M10X1, M12X1.5, G1/2任选。 PVC电缆直接出线或德式球型接线盒出线,便于与其它电器设备连接。(2)DS18B20引脚功能
10、DQ为数字信号输入/输出端;GND为电源地;VDD为外接供电电源输入端(在寄生电源接线方式时接地)。(3)工作原理 DS18B20的测温原理如图3.2所示,图中低温度系数晶振的振荡频率受温度的影响很小,用于产生固定频率的脉冲信号送给减法计数器1,高温度系数晶振随温度变化其震荡频率明显改变,所产生的信号作为减法计数器2的脉冲输入,图中还隐含着计数门,当计数门打开时,DS18B20就对低温度系数振荡器产生的时钟脉冲后进行计数,进而完成温度测量。计数门的开启时间由高温度系数振荡器来决定,每次测量前,首先将-55所对应的基数分别置入减法计数器1和温度寄存器中,减法计数器1和温度寄存器被预置-55所对应
11、的一个基数值。减法计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当减法计数器1的预置值减到0时温度寄存器的值将加1,减法计数器1的预置将重新被装入,减法计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到减法计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即所测温度。图3.2DS18B20的测温原理3.2液晶显示模块图3.3液晶显示电路 在温度报警器的工作过程中,系统需要对实时的温度和时间进行显示。使用液晶LCD1602显示器显示。(1)LCD1602液晶显示器主要特点 分表率高,显示质量好 数字式接口,设计简单,操作方便。 体积小,重量轻。 寿命长,功
12、耗低。(2)引脚功能引脚分布图如图3.4所示VSSVCCV0RSRWEDB0-DB7BLABLK 1 2 3 4 5 6 7-14 15 图3.4LCD1602引脚图 LCD1602采用标准的16脚接口各个接口引脚为:第1脚:VSS为电源地第2脚:VCC接5V电源正极第3脚:V0为对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会 产生“鬼影”,使用时可以通过一个10K的电位器调整对比度)。第4脚:RS为选择,高电平1时选择、低电平0时选择。第5脚:RW为读写信号线,高电平(1)时进行读操作,低电平(0)时进行写操作。第6脚:E(或EN)端为使能(enable)端。第71
13、4脚:D0D7为8位双向数据端。第1516脚:或背灯电源。15脚背光正极,16脚背光负极。3.3电源模块图3.5电源电路(1)模块组成电源变压器:是降压变压器,它将电网220V交流电压变换成12V的交流电压,并送给整流电路,变压器的变比由变压器的副变电压确定。整流电路:利用单向掉电元件,把59HZ的正弦交流电变换成脉动的直流电。滤波电路:可以将整流电路输出电压中的交流成分大部分加以滤除,从而得到比较平滑的直流电压。稳压电路:芯片7805稳压电路的功能是使输出的直流电压稳定,不随交流电网和负载的变化而变化。(2)工作原理 系统仅需要单个5V稳压电源,所以需要将电压转化。采用三端稳压集成7805得
14、到+5V的稳定电压。整流电路采用二极管桥式整流电路,在U正半周,二极管D8、D9导电,D6、D7截止;U的负半周时,D6、D7导电,D8、D9截止。正负半周均有电流流过负载,而且无论在正半周还是负半周,流过负载的电流方向是一致的,因而使输出电压的直流成分得到提高,脉冲成分被降低。桥式整流电路无需采用具有中心抽头的变压器,仍能达到全波整流的目的。3.4温度报警器模块图3.6温度报警器电路 报警电路采用的是LED灯和喇叭进行报警,其作用是当温度不在设定的范围内,LED灯亮,同时喇叭报警(当温度超过上下限时进行报警提醒)。以此来提醒用户该注意实时的温度,避免因为温度的原因而带来的损害。3.5按键模块
15、图3.7按键电路按键用于设置温度的上下限报警。通过按键调整液晶屏显示出的温度上限和下限,为接下来的报警工作做准备。本次设计按键数较少,采用独立式键盘。3个按键功能为S1为温度上限温度加1,S2为温度减1,S3为温度下限温度加1。3.6复位模块图3.8复位电路要使主控芯片在上电时能正常复位,按照要求执行程序,必须在上电位时给主控单片机提供至少两个机器周期以上的高电位复位脉冲。采用的上电复位电路,该电路在上电瞬间电源通过拉地的10K电阻充电,开始时的电流最大,电阻两端的电压最高,而后慢慢减小,直到电容充电完毕,电阻两端便保持低电平。此变化经单片机内部施密特触发器整形后便成了上电瞬间的一个高电平脉冲
16、,只要这个脉冲保持两个机器周期以上便可以正常复位。3.7控制模块图3.9AT89C51连接图控制器主要用于对各模块控制显示、报警、计时等。采用AT89C51作为系统控制器的CPU。该单片机算术运算功能强,软件编程较灵活、自由度大,可以用软件编程实现各种算法和逻辑控制,并且由于其功耗低、体积小、技术成熟和成本低等优点,使其在各个领域应广泛。(1)AT89C51功能4k 字节Flash 闪速存储器,128字节内部RAM,32 个I/O 口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。AT89C51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电
17、工作模式。空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。(2)引脚功能VCC:供电电压。GND:接地。P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P0口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的低八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须接上拉电阻。P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4
18、TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为低八位地址接收。P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存
19、器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 /INT0(外部中断0)P3.3 /INT1(外部中断1)P3.4 T0(0外部输入)P3.5 T1(计时器1外部输入)P3.6 /WR(外部数据存储器写选通)P3.7 /RD(外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收一些控制
20、信号。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。OG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的低位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。PSEN:外部程序存储器的选通
21、信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。第4章 系统软件设计 系统程序主要包括主程序,读出温度子程序,温度转换命令子程序,计算温度子程序,显示数据子程
22、序等。4.1主程序流程图初始化读取温度读出温度值温度计算处理显示数据刷新发温度转换开始命令调用显示子程序序调用显示子程序调用显示子程序 N Y图4.1主程序流程 主程序的主要功能是负责实时显示温度,设置报警温度线,每一秒进行读出处理DS18B20测量的温度值。4.2温度读取转换流程图温度读取流程图如图4.2所示,温度转换流程图如图4.3所示。 发DS18B20复位命令发DS18B20复位命令跳过ROM命令发跳过ROM命令发读取温度命令发温度转换开始命令读取操作9字节完? Y 结 束 N 图4.3温度转换流程CRC校验正 Y N移入温度暂存器 结 束 图4.2温度读取流程 温度读取程序主要是读出
23、RAM中的9字节,再进行CRC校验,校验有错时直接结束程序,不进行温度数据的改写。温度转换命令子程序主要是发温度转换开始命令。4.3温度计算流程图开 始温度零下置“0”标志温度值取补码置“1”标志 计算小数位温度 计算整数位温度 结 束 图4.4温度计算流程总结 智能温度控制报警器是传感器的第一次设计。在本次设计中,作为一个初学者,由于自身的知识水平有限,在设计过程中碰到了许多问题。 通过查阅资料和同学和老师的帮助,解决了很多问题。一开始并没有想到电源要转化的问题,后来通过老师的知道,说明电源转换是有必要的。设计报警电路的时候,二极管等原件的确定总是有些疑问,通过参考前辈的资料来确定了自己要使
24、用的元器件。 经过两周的学习查阅资料,我终于顺利完成了初步的设计,后期有修改了一下,但是中间得到的知识是非常让人欣慰又激动的。这种课程设计是非常和有趣生动的活动,在理论学习的同时又有实践结合,软件的操作。之前我并不擅长使用软件进行画图设计,但是本次设计中,甚至在网上看视频教程来学习了软件制作电路图仿真。当做完以后心里是无法言以表达的激动。对我以后的设计思想、设计方法、设计过程都将会产生深远的影响。学会查阅资料是我在这次设计中的最大收获,毕竟一个人的知识水平有限,资料在设计中的作用可以说是举足轻重。不断地收集和查阅资料使我知识面不断拓宽,为以后也打下了良好的基础。通过设计,使我对一个传感器的设计
25、过程有了全面的了解,设计过程中出现的许多困难也使我自己不断完善。不断的坚持使我信心百倍,我会以后继续努力。在设计过程中感谢老师的悉心指导以及同学们的帮助。参考文献1李光飞,楼然苗,胡佳文等.单片机课程设计实例指导M.北京:北京航空航天大学出版社,20042刘文涛.单片机语言C51典型应用设计M.北京:人民邮电出版社,20013魏立峰,王宝兴单片机原理与应用技术M.北京:北京大学出版社,20074杨素行模拟电子技术基础简明教程M.高等教育出版社,20045张克农.数字电子技术基础M.高等教育出版社,2008.6王俊峰.电子产品开发设计与制作M.北京:北京人民邮电出版社附录1总电路图附录2 程序#
26、include #include #include #define uchar unsigned char#define uint unsigned intsbit DQ = P36 /定义DS18B20端口DQsbit BEEP=P32; sbit UP=P33;sbit DOWN=P34;sbit BJ=P31;sbit JR=P30;sbit MUSIC=P35;bit presence ;sbit LCD_RS = P24sbit LCD_RW = P25sbit LCD_EN = P26uchar code cdis1 = DS18B20 OK uchar code cdis2 =
27、TEMP: C uchar code cdis3 = DS18B20 ERR0R uchar code cdis4 = PLEASE CHECK unsigned char code dis1 = play the song;unsigned char code dis2 = Hope you healthy-Sun Yue;unsigned char data temp_data2 = 0x00,0x00unsigned char data display5 =0x00,0x00,0x00,0x00,0x00 unsigned char code ditab16=0x00,0x01,0x01
28、,0x02,0x03,0x03,0x04,0x04, 0x05,0x06,0x06,0x07,0x08,0x08,0x09,0x09unsigned char codemytab8=0x0C,0x12,0x12,0x0C,0x00,0x00,0x00,0x00uchar LIM,tt,LIM2,XX;#define delayNOP() _nop_() _nop_() _nop_() _nop_() /*/ void delay1(int ms) unsigned char y while(ms-) for(y = 0 y250 y+) _nop_() _nop_() _nop_() _nop
29、_() /*/ /*检查LCD忙状态 */ /*lcd_busy为1时,忙,等待。lcd-busy为0时,闲,可写指令与数据。 */ /*/ bit lcd_busy() bit resultLCD_RS = 0LCD_RW = 1LCD_EN = 1delayNOP()result = (bit)(P0&0x80)LCD_EN = 0return(result) /*RS=L,RW=L,E=高脉冲,D0-D7=指令码。 */ /*/ void lcd_wcmd(uchar cmd) while(lcd_busy()LCD_RS = 0LCD_RW = 0LCD_EN = 0_nop_()_n
30、op_()P0 = cmddelayNOP() LCD_EN = 1 delayNOP() LCD_EN = 0 /*/ /*写显示数据到LCD */ /*RS=H,RW=L,E=高脉冲,D0-D7=数据 */ /*/ void lcd_wdat(uchar dat) while(lcd_busy()LCD_RS = 1LCD_RW = 0LCD_EN = 0P0 = datdelayNOP()LCD_EN = 1delayNOP()LCD_EN = 0 /* LCD初始化设定 */ /*/ void lcd_init() delay1(15)lcd_wcmd(0x01) /清除LCD的显示内
31、容 lcd_wcmd(0x38) /16*2显示,5*7点阵,8位数据delay1(5)lcd_wcmd(0x38)delay1(5)lcd_wcmd(0x38)delay1(5)lcd_wcmd(0x0c) /显示开,关光标delay1(5)lcd_wcmd(0x06) /移动光标delay1(5)lcd_wcmd(0x01) /清除LCD的显示内容delay1(5) /* 设定显示位置 */ /*/ void lcd_pos(uchar pos) lcd_wcmd(pos | 0x80) /数据指针=80+地址变量 /*自定义字符写入CGRAM */ /*/ void writetab() unsigned char i lcd_wcmd(0x40) /写CGRAM for (i = 0 i 0 i-) DQ = 0 / 给脉冲信号 dat = 1 DQ = 1 / 给脉冲信号 if(DQ) dat |= 0x80 Delay(4) return (dat) /* 写一个字节 */ /*/ WriteOneChar(unsigned char dat) unsigned char i = 0 for (i = 8 i 0 i-)DQ = 0DQ = dat&0x01Delay(5)