风扇过热报警控制器设计毕业论文.doc_第1页
风扇过热报警控制器设计毕业论文.doc_第2页
风扇过热报警控制器设计毕业论文.doc_第3页
风扇过热报警控制器设计毕业论文.doc_第4页
风扇过热报警控制器设计毕业论文.doc_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

风扇过热报警控制器设计毕业论文目 录第1章 绪论11.1 风扇发展状况11.2 课题研究必要性21.3 本课题主要内容3第2章 系统方案设计分析42.1 系统的构成42.2 系统的软件构成52.2.1 系统的工作原理6第3章 风扇温度报警器硬件设计73.1数字温度传感器73.1.1内部结构83.1.2测温原理83.1.3工作时序93.1.4与单片机的硬件接口113.2 STC89C52单片机113.2.1时序113.2.2引脚及其功能123.3 LCD1602显示模块153.4 系统整体结构17第4章 系统软件设计194.1 主程序流程图194.2 温度读取程序设计204.2.1芯片初始化子程序设计204.2.2芯片写字节子程序214.2.3芯片读字节子程序224.2.4温度处理子程序234.3 显示程序设计244.4 温度处理程序设计25第5章 仿真分析275.1 编程软件及其使用275.2 仿真软件及其使用285.3 仿真分析29第6章 系统调试336.1 实物制作336.2 系统调试34第7章 总结分析36致 谢37参考文献38附录A 仿真源程序421 主程序422 温度读取程序463 LCD显示程序51II中国计量学院现代科技学院毕业设计(论文)第1章 绪论在生产生活中,温度控制是一个重要的环节。对着经济的发展和科技的进步,人们对用电设备的要求也越来越高,传统的风扇收到时代市场的强烈冲击,“智能温控风扇”随之而现,并迅速地向前发展。1.1 风扇发展现状随着空调机日益走进千家万户,很容易会叫人们想到电风扇会被社会所淘汰,其实经过市场的考验和证实,事实并不是这样的。在空调产品的冲击下,电风扇产品仍然具有很大的市场空间,在市场的考验中并没有淡出市场,反而销售在不停的复苏中具有强大的发展空间。根据市场的调查,电风扇之所以任然生命力强大具有很大的市场空间有如下几个原因:一是电风扇虽然没有空调那样直接制冷使室温保持在一个凉爽的温度,但由于电风扇直接取风,风力温和,更加适合中老年人、儿童及幼儿还有身体抵抗力不强的人使用。二是电风扇经过多年的市场使用,较符合人们的使用习惯,而且结构简单、操作方便、安装简易。三是电风扇比起空调产品而言,其价格低廉,相对省电,更易的进入老百姓的家庭。在激烈的市场竞争下,尽管电风扇仍然具有广阔的市场空间,但不断新生产品的出现,想要保持住市场优势,仅仅依靠传统型的,思路一成不变的风扇是不行的,因此要根据市场的需求,不断的改进,使之处于一直常青,不被淘汰替代。现在电风扇的发展现状:大部分的风扇只有通过手动调速,另外再有一个定时的功能,功能单一。这样的风扇存在隐患,也有不足:比如说人们常常离开后忘记关闭电风扇,浪费电且不说还容易引发火灾,长时间工作还容易损坏电器。再比如说前半夜温度高电风扇调的风速较高,但到了后半夜气温下降,风速不会随着气温变化,容易着凉。之所以会产生这些隐患的根本原因是:缺乏对自身温度的检测。如果能使电风扇具有对自身温度进行检测的功能,当温度过高,会对人们的生产生活产生影响是时可以发出警报提醒人们,到达危险温度时,自动切断主电路,是风扇停止工作,到达了真唱的温度下是再打开主电路,使风扇工作,这样一来就避免了上述的不足。本次设计就是围绕这两点对现有电风扇进行改进。1.2 课题研究必要性随着电子技术和微型计算机的迅速发展,微机测量和控制技术得到了迅速的发展和广泛的应用 刘苏英. 单片机实现温度自动控制系统研究J. 赤峰学院学报(自然科学版). 2012.24: 58-612 李相众. 热电偶温度变送器的智能化研究D. 山东科技大学. 20113 覃鲜艳. 基于DS18B20的无线测温系统的研究与设计D. 武汉理工大学. 20124 凌志浩智能仪表原理与设计技术M华东理工大学出版社,2003.115 李红欣. 基于DS18B20的智能温度测量装置在安全生产中的应用J. 电工技术. 2006.9: 76-796 杨洲. 设计模式在数据采集系统中的应用J. 微电子学与计算机. 2008.2: 23-277 高学群. 温度控制电机调速系统软件的研制J 华章. 2012.28: 86-888 刘迪. 基于数字PID和89C52单片机的温度控制系统J. 电子设计工程. 2010.4: 45-479 王帼媛等. 单总线多点温度数据采集系统的设计和实现J 航空精密制造技术. 2011.2: 66-6910 吴红太. 基于单片机的无缝线路轨温自动监测系统的研究D. 北京交通大学. 200811 郑敏. 温室大棚恒温理论及检测技术的研究D. 华中科技大学. 200612 王思婷. 单片机智能热水器系统设计J 科技创新与应用. 2012.22: 83-8413 高葵. 基于SENSIRION SHT系列传感器的分布式温湿度监测系统D. 山东科技大学. 200714 薛青等. 新型温度测量显示系统的设计与实现J 计算机光盘软件与应用. 2010.15: 53-5515 戴明. 基于CAN总线的温度监控系统D. 南京理工大学. 200616 李维等. DS18B20在YWJC-1C型ECS原位检测仪中的应用J. 教练机. 2007.1: 47-4917 马桂云等. 基于单片机的电子密码锁设计J. 电子测试. 2013.12: 41-43xviii 刘松. 智能压力检测系统研究与设计D. 天津大学. 2006xix 李兴伟. 工业设计的计算机辅助形态设计技术研究D. 西北工业大学. 2004xx Dallas Corp.DS18B20 Programmable Resolution one-Wire Digital Thermometer. 2000xx G LI, Y ZHAO. Principle and Application of 1Wire Bus Digital Thermometer DS18B20 J. Modern Electronic Technique. 2005.4: 127-132。价格低廉的单片机具有处理能强、运行速度快、功耗低等优点,可以应用在精度要求相对不高的温度测量与控制方面,并且其控制简单方便,测量范围广,精度能满足需求,并且可以实现自动化控制,而且由于其体积不大,可以放进风扇中,完成对温度的检测进而报警并控制风扇的行止。现有的使用的控制现场的温度控制一般都是进行恒温控制。这就导致了在许多过程中都是由人工操作完成的。人工操作就不可必免的给人们带来的不必要的麻烦。而通过用单片机制作的过热报警控制器并安装于风扇中,则使得人们可以省却这些麻烦。1.3 本课题主要内容课题的任务是应用单片机及数字化温度传感器设计一套温度检测系统,实现对温度的测量、显示以及对主电路的保护控制,系统以高性价比的STC89C52为核心,完成对数据的分析、处理、显示、超限自动控制的功能,采用数字化温度传感器18B20对温度的采样和转换。由于课题是完成对温度的实时监测,因而系统的核心部分就是如何实现温度采集。课题的难点在于如何读取数字化温度传感器中的温度值,并将对温度值进行相应的处理,以做到采集温度的通知实现对主电路的保护,对温度的变化做出实时的响应,以满足对系统稳定性的需求。文章将从以下方面展开:1、针对系统的控制要求提出提供设计方案;2、选择合适的方案并验证方案的可行性;3、针对所选方案进行硬件选型;4、根据硬件选型进行系统程序设计;5、系统的仿真测试;6、系统硬件验证。第2章 系统方案设计分析2.1 系统构成从接到毕业设计的任务书起,对毕业设计内容进行了详细的分析,并查阅了大量的相关资料。本设计的目的是设计出智能化风扇温度检测及保护控制器,控制器的功能要具备:显示温度、报警、切断主电路、自动回复主电路等。因此要为实现这些功能选用一定的元器件。课题设计的硬件部分由STC89C52单片机、18B20、LCD1602、以及若干电容、发光二极管、晶振、蜂鸣器组成。(结构如图2.1)图2.1 系统设计结构图各元器件在本设计中所实现的功能简单介绍如下:STC89C52单片机用于温度的采集,数据处理和超温控制;18B20是温度传感器,用于接收温度信号;晶振是为单片机提供工作脉冲;LCD1602用于显示温度以及当前的工作状态;发光二极管用于温度超限报警、正常工作指示;蜂鸣器用于工作异常报警。在硬件设计部分可以用Proteus软件进行仿真分析,此软件具备标准的元器件库,可以实现模拟硬件的仿真可以测试。通过我自己对文献的查阅和理解,本课题的电路设计还有另外一种方案,具体电路如下所示:图2.2方案2示意图方案2与上一方案不同之处在于,此方案中热敏电阻作为温度接收芯片,经过AD芯片后将数值送入单片机中进行信号的处理。对比以上两种方案可以发现,方案1直接使用数字化温度传感器读取温度,快捷方便,并且精度高、使用的元器件少,因此系统的稳定性也更高。方案2使用了更多的元器件,增加了系统的冗余度,同时使用AD芯片读取温度也大大降低了读取的精度。并且热敏电阻的阻值并不是线性变化,测量不够便捷。因此本设计选用方案1。2.2 系统的软件构成课题原计划用汇编语言完成,后来决定使用C语音编写程序,因为C语言有更好的可读性和移植性,并且调试方便,编写灵活。系统的软件由温度数据采集、数据处理、温度显示及报警等部分组成。STC89C52完成的功能主要是数据处理、数据分析、控制计算、进制转换、数据显示、以及报警器和继电器的控制等。软件的构成主要分为如下几块内容:1、 18B20温度的读取和转换2、 LCD1602的驱动显示3、 温度值的处理4、 继电器控制5、 报警控制2.2.1 系统的工作原理首先,由温度传感器18B20对温度进行采样,将测量结果送给单片机,单片机将输入的温度值进行数据处理,并将温度值与设定的报警值进行比较。根据比较结果进行相应的处理。若温度超限则报警指示灯亮,以便进行及时处理,此时应检查风扇的工作环境,人工增大风扇的通风量,给风扇进行降温。图2.3 系统的工作原理第3章 风扇温度报警器硬件设计本章是论文核心部分,主要介绍基于单片机的温度控制系统硬件总体设计,按照设计方案,整个温控系统硬件主要包括以下单元:按键输入,温度采集、处理,温度超限报警,定时发出脉冲等。温度控制的核心为温度的采集和处理,系统选用特别适用于编程及数据处理的MS-51单片机STC89C52,并通过STC89C52实现对其他各组成部分的编程控制。下面是核心元件的介绍:3.1 数字温度传感器常见的数字温度传感器为DS18B20温度传感器,DS18B20是美国DALLAS半导体公司生产的可组网数字式温度传感器,在其内部使用了在板(ON-B0ARD)专利技术。全部传感元件及转换电路集成在形如一只三极管的集成电路内。与其它温度传感器相比,DS18B20具有以下特性:1)独特的单线接口方式:DS18B20与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。2)在使用中不需要任何外围元件。3)可用数据线供电,电压范围:+3.0 V+5.5 V。4)测温范围:-55+125。固有测温分辨率为0.1。5)通过编程可实现912位的数字读数方式。6)用户可自设定非易失性的报警上下限值。7)支持多点组网功能,多个DS18B20可以并联在惟一的三线上,实现多点测温。DS18B20的外形如图3.1所示。其体积只有DS1820的一半,引脚定义相同。a) DQ:数据输入输出引脚b) VDD:可接电源,也可接地。因为每只DS18B20都可以设置成两种供电方式。采用数据总线方式时VDD接地,可以节省一根传输线,但完成温度测量的时间较长;采用外部供电方式则接5V,多用一根导线,但测量速度较快。图3.1 DS18B20的外观3.1.2 测温原理DS18B20测量温度采用了特有的温度测量技术,其温度测量电路如图3.3所示。图3.3 DS18B20 测温结构图图3.3中低温度系数晶振的振荡频率受温度的影响很小,用于产生固定频率的脉冲信号送给减法计数器1,高温度系数晶振随温度变化其震荡频率明显改变,所产生的信号作为减法计数器2的脉冲输入,图中还隐含着计数门,当计数门打开时,DS18B20就对低温度系数振荡器产生的时钟脉冲后进行计数,进而完成温度测量。计数门的开启时间由高温度系数振荡器来决定,每次测量前,首先将-55所对应的基数分别置入减法计数器1和温度寄存器中,减法计数器1和温度寄存器被预置在-55所对应的一个基数值。减法计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当减法计数器1的预置值减到0时温度寄存器的值将加1,减法计数器1的预置将重新被装入,减法计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到减法计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。图3.3中的斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正减法计数器的预置值,只要计数门仍未关闭就重复上述过程,直至温度寄存器值达到被测温度值,这就是DS18B20的测温原理。另外,由于DS18B20单线通信功能是分时完成的,他有严格的时隙概念,因此读写时序很重要。系统对DS18B20的各种操作必须按协议进行。操作协议为:初始化DS18B20(发复位脉冲)发ROM功能命令发存储器操作命令处理数据。3.1.3 与单片机的硬件接口因为DS18B20是单线接口器件,因此它与单片机硬件接口十分简单,只需占用单片机的一个双向的I/O口,其接口电路见图3.7。在此采用外部电源供电,占用89C52的P1.0口。图3.7 单片机接口电路3.2 STC89C52单片机STC89C52是一种带4K字节闪烁可编程可擦除只读存储器FPEROMFlash Programmable and Erasable Read Only Memory的低电压、高性能CMOS 8位微处理器,俗称单片机。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中ATMEL的STC89C52是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。3.2.1 引脚及其功能MCS-51系列单片机共外设了40个引脚,其中有2个专用于链接主电源进行供电,2个外接晶振的引脚为单片机提供工作时序,4个控制或与其它电源复用的引脚,剩余的32条为输入输出I/O引脚,同时有些I/O引脚也具备其它第二功能。下面按引脚功能分为4个部分叙述个引脚的功能。图3.8 89C52管脚图电源引脚Vcc和Vss:Vcc接+5V电源正端;Vss接+5V电源负端。外接晶振引脚XTAL1和XTAL2:XTAL1接外部石英晶体的一端。在单片机内部,它是一个反相放大器的输入端,这个放大器构成采用外部时钟时,对于HMOS单片机,该引脚接地;对于CHOMS单片机,该引脚作为外部振荡信号的输入端。XTAL2接外部晶体的另一端。在单片机内部,接至片内振荡器的反相放大器的输出端。当采用外部时钟时,对于HMOS单片机,该引脚作为外部振荡信号的输入端。对于CHMOS芯片,该引脚悬空不接。控制信号或与其它电源复用引脚有RST/VPD、ALE/P、PSEN和EA/VPP等4种形式。1)RST/VPD(9脚):RST即为RESET,VPD为备用电源,所以该引脚为单片机的上电复位或掉电保护端。当单片机振荡器工作时,该引脚上出现持续两个机器周期的高电平,就可实现复位操作,使单片机复位到初始状态。当VCC发生故障,降低到低电平规定值或掉电时,该引脚可接上备用电源VPD(+5V)为内部RAM供电,以保证RAM中的数据不丢失。2)ALE/P(30脚):当访问外部存储器时,ALE(允许地址锁存信号)以每机器周期两次的信号输出,用于锁存出现在P0口的低电平。3)PSEN(29脚):片外程序存储器读选通输出端,低电平有效。当从外部程序存储器读取指令或常数期间,每个机器周期PESN两次有效,以通过数据总线口读回指令或常数。当访问外部数据存储器期间,PESN信号将不出现。4)EA/Vpp(31脚):访问外部程序储器控制信号,低电平有效。当外部给EA端保持高电平时,将单片机访问片内程序存储器的空间限定为4KB。若寻址超出该范围,则单片机自动转去执行外部程序存储器的程序及数据。当EA端保持低电平时,无论片内有无程序存储器,均只访问外部程序存储器。对于片内含有EPROM的单片机,在EPROM编程期间,该引脚用于接21V的编程电源Vpp。P3口(10脚17脚):P3.0P3.7统称为P3口。它为双功能口,可以作为一般的准双向I/O接口,也可以将每1位用于第2功能,而且P3口的每一条引脚均可独立定义为第1功能的输入输出或第2功能。P3口的第2功能见下表表3-1单片机P3.0管脚含义综上所述,MCS51系列单片机的引脚作用可归纳为以下两点:引脚第2功能P3.0RXD(串行口输入端0)P3.1TXD(串行口输出端)P3.2INT0(部中断0请求输入端,低电平有效)P3.3INT1(中断1请求输入端,低电平有效)P3.4T0(时器/计数器0计数脉冲端)P3.5T1(时器/计数器1数脉冲端)P3.6WR(部数据存储器写选通信号输出端,低电平有效)P3.7RD(部数据存储器读选通信号输出端,低电平有效)a.单片机功能多,引脚数少,因而许多引脚具有第2功能;b.单片机对外呈3总线形式,由P2、P0口组成16位地址总线;由P0口分时复用作为数据总线。3.3 LCD1602显示模块工业字符型液晶,能够同时显示16x02即32个字符。图3.9 LCD1602的管脚结构1602字符型LCD通常有14条引脚线或16条引脚线的LCD,多出来的2条线是背光电源线。VCC(15脚)和地线GND(16脚),其控制原理与14脚的LCD完全一样,其中:表3-2 LCD1602的引脚 使用LCD1602作为本设计的显示模块,因为液晶相对于数码管能够实时显示测量的参数,以便可以方便快速的读出所测量的数值。且显示内容丰富,显示效果良好,模块化程度高。3.4 电路原理图设计根据以上硬件选型及系统的控制要求,设计系统硬件结构图如下所示:图3.11 系统整体框图如图3.11所示,系统由单片机及其外围电路、LCD液晶显示、DS18B20温度传感器、蜂鸣器及LED灯、继电器以及风扇主电路组成。其中,DS18B20主要完成的是温度的测量,LCD1602实现温度的显示,蜂鸣器和LED对错误进行报警,继电器控制主电路的通断。系统的整体流程为DSI8B20对电机进行温度检测,到达预置温度75度时,先由LED灯发出警报和蜂鸣器蜂鸣,当温度到达86度时,LED灯和蜂鸣器继续发出警报并且切断电源,然后由系统自然降温,当温度到达40度时,DS18B20检测到风扇已进入安全温度,于是电风扇继续正常工作。综上所述,系统的整体流程如下:1)开机自检,如果温度正长温度(低于75度),接通电机风扇开始工作。2)如果温度上升至预设的警戒温度(75度),蜂鸣器打开报警,LED灯亮提示;3)当温度上升至86度,切断风扇电源,蜂鸣器继续打开报警,LED灯继续亮提示;4)如果温度从86度以上开始下降,下降过程中电机不工作,直至降到40度以下,风扇才重新工作。5)此后,如果再次升温,直至升温至86度,才切断风扇电源。第4章 系统软件设计我在课题的程序设计中使用Keil C51语言编写,由于使用了C语言,寄存器的分配、不同的存储器的寻址及数据类型等细节可由编译器管理,尤其是数学运算不必人工干预,大大缩短了编程与调试的时间,提高了效率,降低了编程的难度,使编程更加简便。系统的控制软件可分为主程序,模数转换程序,按键程序等模块。主程序可分为系统的初始化、自检子程序、温度显示子程序和温度比较程序四部分。温度采集子程序主要完成对18B20的通讯及其数据的读取,同时对读取的温度进行数制的转换,将转换结果输送到显示子程序。下面是主程序和各个子程序的流程图。4.1 主程序流程图系统完成的任务是对风扇的工作温度进行检测,当温度超过正常的工作温度时,进行报警,温度继续上升超过极限温度时切断风扇的主电源。引入单片机控制是实现系统智能化很重要的一个部分,采用单片机可以实现程序控制和监视的功能。系统采用STC89C52和18B20的连接进行实时控制和数据处理。通过软件编程的方式设定系统的工作方式,然后让系统根据设置的程序完成控制功能。主程序流程图如图4.1所示。图4.1 主程序流程图4.2 温度读取程序设计4.2.1 芯片初始化子程序设计DS18B20在初始化序列期间,总线控制器拉低总线并保持480us以发出(TX)一个复位脉冲,然后释放总线,进入接收状态(RX)。单总线由5K上拉电阻拉到高电平。当DS18B20探测到I/O引脚上的上升沿后,等待1560us,然后发出一个由60240us低电平信号构成的存在脉冲。完成对DS18B20的初始化操作,在每次测温前必须对其进行初始化,否则系统无法正常运行。所以这个步骤很重要。DS18B20初始化子程序流程如图4.2所示。图4.2 DS18B20初始化子程序流程图4.2.2 芯片写字节子程序DS18B20写字节由两种写时序组成:写1时序和写0时序。总线控制器通过写1时序写逻辑1到DS18B20,写0时序写逻辑0到DS18B20。所有写时序必须最少持续60us,包括两个写周期之间至少1us的恢复时间。当总线控制器把数据线从逻辑高电平拉到低电平的时候,写时序开始总线控制器要生产一个写时序,必须把数据线拉到低电平然后释放,在写时序开始后的15us释放总线。当总线被释放的时候,5K的上拉电阻将拉高总线。总控制器要生成一个写0时序,必须把数据线拉到低电平并持续保持(至少60us)。总线控制器初始化写时序后,DS18B20在一个15us到60us的时间内对I/O线采样。如果线上是高电平,就是写1。如果线上是低电平,就是写0。DS18B20写字节程序流程图如图4.3所示。图4.3 DS18B20写字节流程图4.2.3 芯片读字节子程序总线控制器发起读时序时,DS18B20仅被用来传输数据给控制器。因此,总线控制器在发出读暂存器指令BEh或读电源模式指令B4h后必须立刻开始读时序,DS18B20可以提供请求信息。除此之外,总线控制器在发出发送温度转换指令44h或召回EEPROM指令B8h之后读时序,所有读时序必须最少60us,包括两个读周期间至少1us的恢复时间。当总线控制器把数据线从高电平拉到低电平时,读时序开始,数据线必须至少保持1us,然后总线被释放。在总线控制器发出读时序后,DS18B20通过拉高或拉低总线上来传输1或0。当传输逻辑0结束后,总线将被释放,通过上拉电阻回到上升沿状态。从DS18B20输出的数据在读时序的下降沿出现后15us内有效。因此,总线控制器在读时序开始后必须停止把I/O脚驱动为低电平15us,以读取I/O脚状态。DS18B20读字节子程序如图4.4所示。图4.4 DS18B20读字节子程序4.2.4 温度处理子程序温度处理子程序主要完成温度的读出和处理输出功能。当温度为零下时显示为“”号;当温度为零上时消隐。温度处理子程序流程图如图4.5所示。图4.5 温度显示子程序4.3 显示程序设计为了实现显示内容的丰满,在显示芯片的选择上使用了LCD。考虑到实际的使用情况和价格,选用LCD1602来完成显示工作。LCD的功能主要是显示电动机的实时状态,通过温度的变化LCD显示内容。其分显示是:当前温度。工作的流程图如下所示:图4.6 LCD显示流程图4.4 温度处理程序设计根据工业应用的需要,系统的工作过程分析如下:1)开机自检,如果温度正常(低于86度),接通电机风扇开始工作。如果不正常(不低于86度),则电机关闭,同时报警;2)如果温度从较低温度上升至75度,打开报警提示;3)如果温度上升至86度,切断风扇电源;4)如果温度从86度以上开始下降,下降过程中电机不工作,直至降到40度以下,风扇才重新工作。5)此后,如果再次升温,直至升温至86度,才切断风扇电源。系统的工作流程图如下所示:图4-7 温度处理流程图根据以上分析的流程结构,编写程序见附录所示,通过程序的编写及验证,才能使用仿真及实物验证方案的可行性。第5章 仿真分析在学习及科研过程中,由于条件的限制,以及实验理论的不成熟同时为了节约时间和成本,通常在设计的初期使用软件来辅助设计,成为计算机辅助设计。而本课题由于实验的条件限制,在理论的初期验证阶段需借助计算机软件来验证方案的可行性以及程序的完整性。本章将对相关软件进行简单的介绍。5.1 编程软件及其使用在单片机领域,大家耳熟能详的软件莫过于Keil C51,这款软件是美国的一家公司出品的针对51系列兼容单片机的C语言开发系统,也因此,使得现在的单片机编程都是用C语言。与汇编相比,其优点在于:功能上、结构性、可读性、可维护性上。运行Keil软件需要WIN98、NT、WIN2000、WINXP等操作系统。如果你使用C语言编程,那么Keil几乎就是你的不二之选,同时这款软件也支持基于单片机的汇编语言,因此在开发单片机时,可以使用此软件进行混合汇编和调试。Keil公司2005年由ARM公司收购。其两家公司分别更名为ARM Germany GmbH和ARM Inc。Keil公司首席执行官Reinhard Keil表示:作为ARM Connected Community中的一员,Keil和ARM保持着长期的良好关系。通过这次收购,我们将能更好地向高速发展的32位微控制器市场提供完整的解决方案,同时继续在uVision环境下支持我们的8051和C16x编译器。而后ARM Keil推出基于Vision界面,用于调试ARM7,ARM9,Cortex-M内核的MDK-ARM开发工具,用于为控制领域的开发。C51工具包的整体结构,Vision与Ishell分别是C51 for Windows和for Dos的集成开发环境(IDE),可以完成编辑、编译、连接、调试、仿真等整个开发流程。开发人员可用IDE本身或其它编辑器编辑C或汇编源文件。然后分别由C51及C51编译器编译生成目标文件(.OBJ)。目标文件可由LIB51创建生成库文件,也可以与库文件一起经L51连接定位生成绝对目标文件(.ABS)。ABS文件由OH51转换成标准的Hex文件,以供调试器dScope51或tScope51使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮器如EPROM中。使用Keil编程的优点:Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。5.2 仿真软件及其使用在单片机的基础学习阶段,由于条件或者经费的限制,大多是使用单片机仿真软件实现仿真式的学习研究。Proteus ISIS软件是英国一家公司研发的EDA工具软件(Electronic Design Automation)。它类似于常见的EDA软件功能,同时Proteus还能进行单片机及其外围电路的仿真,是目前最好的仿真单片机电路设计、仿真及PCB布线的工具。Proteus软件在实现单片机仿真的同时可以实现原理图布图、代码调试以及外围电路的协同仿真,并且可以进行PCB设计,可以实现从理论到产品的完整设计。其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,在2010年发布的proteus8中增加了Cortex和DSP系列处理器。Proteus ISIS软件是一款很好的图形交互式仿真软件,可以形象化许多单片机功能,并且可以对单片机的工作过程进行全程监控与测试。使用此软件进行仿真,能够直观的感受其运行过程,在节约成本的财力的基础上最大程度的实现了单片机系列的设计。由于毕业设计中需要进行单片机设计,但是同时缺乏可用的元器件。然而仿真软件Proteus提供了与现实参数和功能相当的大量的元器件库,完善的元件库可以满足对于单片机及其外围电路设计的需要,因此使用此软件可以达到单片机设计的基础目标。随着科技的发展,计算机辅助设计已经成为一门专门的学科,使用仿真技术进行科学研究已成为许多前期设计的重要手段。使用仿真进行设计,方法灵活,结果、过程的统一,参数和元器件容易更正。可以大大缩短设计的周期,耗资大为减少,同时也可降低了工程制造的风险。目前Proteus的最新版为8.0,增加了ARM cortex处理器,在7.10中已经增加DSP系列(TMS320)。由于实验条件的限制,本设计只能在计算机的协助仿真下完成。本实验使用的单片机仿真软件是目前最稳定和常用的Proteus7.8,虽然在功能上,越新版的功能越强大,但是我们在仿真中,功能稳定和技术成熟才是关键,所以我们选择了此版本。5.3 仿真分析通过上文的分析,本设计已经完成了硬件的选型及程序的编写,为了验证程序的完整性以及所选器件在功能中的可行性,需要对所设计的系统进行完整性和可靠性测试。图5.1 系统整体结构图通过上图可以看出,电路主要有几大部分组成:温度接收、液晶显示电路、报警电路、风扇电机控制电路。将我使用Keil软件设计好的软件编译后写入到单片机中,调试程序没有错误后,运行此仿真结构,得到如下结果:图5.2 系统开机运行状态如上图5.2所示,当电机的开机温度为58时,系统正常工作。此时报警器关闭,电机电路通过继电器闭合,电机开始工作。由于风扇在工作过程中会升温,当温度达到75时,报警器打开,如图5.3所示,仿真中红色报警灯点亮,蜂鸣器发出报警声。图5.3 升温至75时系统状态由于升温至75时,系统没有切断主电路,只是打开报警提示。此时若没有相关降温处理,电机继续运转会导致电机继续升温,当升温至86时,电路状态如下:图5.4 升温至86时系统状态当升温至86时,为了保证电机不因为温度过高而被烧毁,系统设定最高工作温度不超过85,由上图可以看出,当温度到达86时,控制主电路的继电器被切断,此时电机停止工作,进入自然降温状态。电机自然降温时,电机温度下降,当温度高于75时,系统会继续处于报警状态。电路状态如下:图5.5 降温未至75时系统状态当电机温度低于75时,电机报警解除,具体电路状态如下图所示。然而为了让电机充分降温,设定的降温温度为40,因此在4075期间,电机依然停转。图5.6 降温低于75时系统状态当温度将至40以下时,电机恢复供电。具体电路状态如下图所示,此时电机重新接入电路,系统没有警报,整体状态正常。图5.7 降温低于40时系统状态通过仿真我们可以发现,在仿真环境中系统运行完美,能够自动检测到电机的温度状态,实时准确的显示当前温度,并可以根据电机温度状态发出报警,同时当温度超过电机工作极限时,能够主动切断电机主电路。仿真运行过程中无任何错误。此仿真证明了此设计的可行性,同时我考虑到此设计具有一定的实用价值,将按照硬件电路结构设计出实物。第6章 系统调试6.1 实物制作根据上一章的仿真分析,系统在Proteus仿真环境下可以完备的运行,但是工科的理论需要运用到生产实际,因此我们尝试根据此仿真搭建出。通过仿真电路图,列出如下材料清单:表6-1材料清单由于仿真中使用到的元器件比较多,器件的采集过程经历了从学校实验室到电子市场到网购的三个阶段,经过三个阶段的材料采购,最终买齐了所需要的所有元器件。由于刚开始在公司里面没有想到制作PCB版,我就直接采用通用版来焊这次的事物,在制作事物的时候刚开始遇到种种困难,比如说:由于仿真上用的元器件比较特殊,或者说是有的电阻比较小,在电子市场根本买不到这种产品,只好去淘宝买。这次购买事物中唯一不好的就是DS18B20温度传感器在电子市场没有买到,仿真中才有10欧姆的可变电阻是为了更好的调节温度,其实在计算中理想情况下是才有2欧姆的电阻就够了,最后由于条件的局限性只好才用2欧姆的电阻来焊接,但是这样的焊接可能会导致后面的仿真以及事物制作出来的局限性。6.2 系统调试事物的制作出来,我们不知道这半个月来努力到底成功与否,所以我要进行系统的测试。在测试时候我遇到了以下几个问题:第一,由于系统的要求是正负5V的电源。我去了学校的电子实验室进行了测试。第一遇到的问题是我在系统上电时,整个实物没有响应,所以我决定要进行分步测试,首先我要检查显示板的状态,经过对比,以及网上的种种找资料,我发现原来是显示器上面要外接一个电位器来调节显示的对比度。附图6.1所示。最终做好的系统整体结构如图6.2所示。图5.1 对比度调节图6.2 整体结构第二,可是当我上电之后整个程序一直显示的是一个数字,温度不会变,和我当时仿真的完全不一样,然后我就考虑是不是我的DS18B20不能检测到温度,然后我就逐步开始检测每个地方的电压,检测是不是什么地方断路,导致整个放大与检测区域没有给单片机发送信号,可是最后检查过,发现整个电路图都是通的,可是检测不到温度,经过查阅资料发现,当给DS18B20的信号端加上上拉电阻可以提高系统的稳定性。对电路进行改进后,系统果然正常工作。经过实物系统的测试,系统完全可以实现仿真中所需的功能。当给单片机上电时,单片机正在初始化,此时电机不工作,等初始化完成后,系统显示室温,电机开始工作。使用热水给温度传感器加热,到达75时,系统有报警提示,到达86时,电机主电路被切断,停止工作。直到温度下降到40才恢复工作,功能完全符合预期。第7章 总结分析在基于单片机的工业风扇控温报警器的研究和设计过程中,借鉴已有的一些设计经验和设计理论,使系统主要具有以下特点:a) 采用STC89C52单片机作为系统的核心单元,在开发上省去了很多精力,并且功能强大,方便用户操作,成本上比专用DSP芯片要低得多。b) 实验初期设计使用PT100做传感器,但是由于此类热敏电阻传感器功能性差,电路设计复杂,且精度较低。经过对比以及导师指导,最终选择了精度高且控制方便的数字式温度传感器。c) 系统显示电路设计采用LCD液晶显示技术,LCD1602的结构简单,使用方便,并且显示的内容丰富。d) 系统上电初期先对电路进行保护,再进行环境温度的检测,有效的保护了整体电路,防止因初始状态的不合适造成的系统损坏。然而,现今的智能温度控制系统的测温精度、分辨力和测试功能都在逐步提高。测温精度越来越高、分辨力越来越强、测试功能越来越多。因此我对于本设计的改进有如下建议:a) 在单片机中开辟一块存储单元,用以存储一个时间段的温度信息,方便需要查询时进行查询。b) 为单片机增加远程功能,比如红外通信、短信通信功能,可以实现遥控远距离控制、短信远程控制、短信接收风扇的状态。致 谢在论文完成之际,回顾大学的成长道路,我在学业和生活上得到了众多老师、同学和朋友们的热心帮助和大力支持。在此,我要向你们表示我最诚挚的谢意!本论文是在孙冠群老师的悉心指导下完成的,在此我首先对孙冠群老师表示诚挚的谢意。在我的整个学习阶段,无论在专业学习,还是在课题研究和论文撰写上,老师都给予了极大的关心、指导和鼓励。孙冠群老师求真务实的治学精神、渊博的知识、丰富的实践经验、勇于开拓的科学精神和平易近人的态度,是我终身难忘,并将深深影响我以后的工作和学习,再次感谢老师对我不倦的栽培。在毕业设计期间,教研组的所有老师都给予我非常大的关心和指导,感谢你们。感谢同班的同学及其他大学阶段认识的同学,他们在我课题完成过程中给予了极大的帮助和支持。衷心感谢我的父母,是他们在不断鼓励我,安慰我,使我能顺利的完成学士学业。最后感谢所有对我有过帮助在我人生中知遇的许许多多匆匆过客,愿他们能心想事成。参考文献第47页 共49页附录A 仿真源程序1 主程序#include #include lcd1602.h#include DS18B20.H/*/引脚绑定/*sbit greenLed = P34;/电源灯sbit redLed = P37;/故障指示sbit motor = P17;/电机继电器控制bit zijian; /降温标志位/*/全局变量/*bit flag_error = 0;bit flag_old = 0;bit flag_Timer0 = 0;unsigned char counter = 0;/定时器0的中断次数记录unsigned int temperatrue;/当前温度/*/函数声明/*void initTimer0(void);void display_Temperatrue(void);void delay1(char);/*/主函数/*void main(void)greenLed = 1;/电源redLed = 0;/开机不需要报警P1 = 0XFF; /开机时强行关闭风扇,先检测温度zijian=0;Lcd_Init();/LCD1602初始化Lcd_DisplayString(0, 0, welcome);read_temp();/预读温度传感器-防止初始虚假温度initTimer0();/初始化定时器0while(1)/检查工作模式if(greenLed)Lcd_DisplayString(0, 0, welcome );/进行温度判断,选择工作模式if(flag_Timer0)flag_Timer0 = 0;/修改标志位if(temperatrue 400)zijian = 0; /设定标志位,供降温判断。motor = 0;if(temperatrue 7

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论