智能风扇调速系统的设计_第1页
智能风扇调速系统的设计_第2页
智能风扇调速系统的设计_第3页
智能风扇调速系统的设计_第4页
智能风扇调速系统的设计_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

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

文档简介

本科毕业论文智能风扇调速系统的设计DesignofIntelligentControlSystemforFans学院名称:电子信息与电气工程学院专业班级:学生姓名:学号:指导教师姓名:指导教师职称:讲师2014年5月毕业设计〔论文〕原创性声明和使用授权说明原创性声明本人郑重承诺:所呈交的毕业设计〔论文〕,是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得安阳工学院及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过奉献的个人或集体,均已在文中作了明确的说明并表示了谢意。作者签名:日期:指导教师签名:日期:使用授权说明本人完全了解安阳工学院关于收集、保存、使用毕业设计〔论文〕的规定,即:按照学校要求提交毕业设计〔论文〕的印刷本和电子版本;学校有权保存毕业设计〔论文〕的印刷本和电子版,并提供目录检索与阅览效劳;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的局部或全部内容。作者签名:日期:目录24581摘要=1\*ROMANI24581Abstract=2\*ROMANII24581引言1TOC\o"1-3"\h\u27815第一章绪论2214511.1智能风扇控制系统概述2240501.2设计任务和主要内容2135461.3.1系统框图326131.3.2系统功能描述37770第二章方案论证4278542.1系统总体设计4278542.1.1系统框图4278542.2温度传感器的选择4194542.3控制核心的选择5197662.4显示电路6127702.5调速方式615573第三章硬件设计7233733.1主要元器件介绍7172473.1.1AT89S51单片机简介7318483.1.2DS18B20数字温度传感器简介926903.1.3八段LED数码管简介11199103.2电路设计12122113.2.1开关复位与晶振电路12269923.2.2独立按键连接电路12137213.2.3数码管显示电路13307333.2.4温度采集电路1424933.2.5风扇驱动与调速电路1524933.2.6电路总图16第四章13958软件设计18192824.1系统软件总体设计18122584.2数字温度传感器模块和显示子模块的设计18306404.3电机控制模块设计1957034.4系统功能描述2012654第五章系统调试21123905.1软件调试21252545.1.1按键显示局部的调试2174545.1.2传感器DS18B20温度采集局部的调试2176775.2硬件调试22242495.2.1按钮显示局部的调试2256085.2.2传感器DS18B20温度采集局部的调试22312075.3调试过程中遇到的问题及其解决方法224152结论2413776致谢255349参考文献2612686附录271867附录A电路仿真图2713976附录B电路PCB图2815378附录C程序清单2917069附录D实物图30智能风扇调速系统的设计摘要:温控风扇是利用温度的变化控制风扇启停及转速的智能系统,在现代社会中的生产以及人们的日常生活中都有广泛的应用,如工业生产大型机械散热系统中的风扇、现在笔记本电脑上的广泛应用的智能CPU风扇等。本文设计了基于单片机AT89C51的温控风扇系统,用单片机为控制器,利用温度传感器DS18B20作为温度采集元件,并根据采集到的温度来控制风扇电机。根据检测到的温度与系统设定的温度比较实现风扇电机的自动启动和停止,并能根据温度的变化自动改变风扇电机的转速,同时用LED八段数码管显示检测到的温度与设定的温度。系统的预设温度的设置是通过两个独立按键来实现的,一个增大预设温度,一个减小预设温度。关键词:AT89C51;智能风扇;调速系统;温控DesignofintelligentcontrolsystemforfansAbstract:Temperaturecontrolfaninmodernsocietyproductionandpeople'sdailylifehaveawiderangeofapplications,Suchasindustrialproductionoflargemechanicalcoolingsystemoffan,nownotebookcomputeronawiderangeofapplicationofintelligentCPUfan.ThispaperintroducesthedesignofMCUbasedtemperaturecontrolfansystem,usingSCMasthecontroller,useoftemperaturesensorDS18B20asatemperatureacquisitioncomponent,andaccordingtothecollectedtemperature.Accordingtothedetectedtemperatureandasettemperaturetoachievesystemcomparisonoffanmotorforautomaticstartandstop,andaccordingtotemperaturechangesautomaticallychangethefanmotorspeed,atthesametimewiththeLEDeightdigitaltubedisplaythedetectedtemperatureandasettemperature.Thepresettemperaturesetbythreeindependentbuttonstoachieve,Theoneincreasethepresettemperature,andtheanotheronereducedthepresettemperature.Keywords:AT89C51;smartfan;speedregulatingsystem;temperaturecontrol引言生活中,我们经常会使用一些与温度有关的设备。比方,现在虽然不少城市家庭用上了空调,但在占中国大局部人口的农村地区依旧使用电风扇作为降温防暑设备,春夏〔夏秋〕交替时节,白天温度依旧很高,电风扇应高转速、大风量,使人感到清凉;到了晚上,气温降低,当人入睡后,应该逐步减小转速,以免使人感冒。虽然电风扇都有调节不同档位的功能,但必须要人手动换档,睡着了就无能为力了,而普遍采用的定时器关闭的做法,一方面是定时时间长短有限制,一般是一两个小时;另一方面可能在一两个小时后气温依旧没有降低很多,而风扇就关闭了,使人在睡梦中热醒而不得不起床重新翻开风扇,增加定时器时间,非常麻烦,而且可能屡次定时后最后一次定时时间太长,在温度降低以后风扇依旧继续吹风,使人感冒;第三方面是只有简单的到了定时时间就关闭风扇电源的单一功能,不能满足气温变化对风扇风速大小的不同要求。又比方在较大功率的电子产品散热方面,现在绝大多数都采用了风冷系统,利用风扇引起空气流动,带走热量,使电子产品不至于发热烧坏。要使电子产品保持较低的温度,必须用大功率、高转速、大风量的风扇,而风扇的噪音与其功率成正比。如果要低噪音,那么要减小风扇转速,又会引起电子设备温度上升,不能两全其美。为解决上述问题,我们设计了这套温控自动风扇系统。本系统采用高精度集成温度传感器,用单片机控制,能显示实时温度,并根据使用者设定的温度自动在相应温度时作出小风、大风、停机动作,精确度高,动作准确。第一章绪论空调有强大的制冷功能,可以快速有效的降低环境温度,但是电风扇更温和,更加适合老人和体质弱的人群使用;并且由于大局部家庭消费水平的限制,电风扇作为一个成熟的家电行业中的一员,具有价格优势,价格低廉而且还相对省电,安装和使用都非常简单。在中小城市,以及乡村将来一段时间内仍然占有市场的大局部份额。尽管电风扇尤其市场优势,但面临庞大的市场需求时,也需要提高市场的竞争力,使其在技术含量上有所提高。传统电风扇有许多地方应当进行改进,最突出的缺点就是他不能根据温度变化适时调节风力大小。智能风扇控制技术,是目前在家电应用方面比较前沿的技术。电风扇是一种比较普及的家电,它与智能控制器技术相结合,实现了智能控制,这类功能优化更新对于智能控制技术开展特别有意义,为我们的日常生活提供了更多方便。风扇的智能控制技术主要表达在这几方面:利用按键来实现风扇工作时间及风速的控制;周围温度来控制风扇的风速,实现实时自动调节风速,且可显示周围的温度;语音控制风扇的工作与否,这样可以节约能源;以及基于红外技术来实现对风扇的控制,它主要表达在较远距离的遥控控制;等等。新型传感器的应用来实现对风扇的控制有着重大作用。从目前应用来看,以后智能控制技术将有更大的开展前景。如果能使电风扇具有对环境温度检测的功能,当环境温度升高或者下降时能自动调节风速甚至自动关闭风扇,这样一来就防止了传统风扇的一些缺点。我的设计就是围绕这一点对现有的电风扇改进的。1.1智能风扇控制系统概述传统的电风扇是以220V的交流电供电,电机的转速分为几个档次,通过人为调整电机的转速来改变风力大小的目的。每次都人为改变风力的大小,必然会带来诸多的不便,尤其是当老人儿童和体质较弱的人使用时会遇到很多的麻烦。本设计中的智能风扇调速系统,是将风扇的转速转变为被控制量,由单片机分析采集到的数字温度信号,再通过单片机的输出电平触发对风扇电机进行调速。这样就不用人工控制风扇的转速了,到达了风扇自动控制风力的大小,给我们的生活带来方便。1.2设计任务和主要内容本文以AT89C51单片机为核心,通过数字温度传感器对外界环境温度进行数据采集,从而建立一个控制系统,使电风扇随温度的变化而自动调节档位,实现“温度高、风力大、温度低、风力弱”的性能。另外,通过红外发射和接收装置及按键实现各种功能的启动与关闭,并且可对各种功能实现遥控,用户可以在一定范围内设置电风扇的最低工作温度,当温度低于所设置温度时,电风扇将自动关闭,当高于此温度时电风扇又将重新启动。第二章方案设计论证本系统实现风扇的温度控制,需要有较高的温度变化分辨率和稳定可靠的换档停机控制部件。2.1系统总体设计2.1.1系统框图本系统由集成温度传感器、单片机、LED数码管、三极管驱动电路及一些其他外围器件组成。系统结构框图如图2.1所示。AT89C51数码管显示电路AT89C51数码管显示电路震荡复位电路震荡复位电路风扇风扇驱动电路风扇风扇驱动电路温度传感温度传感按键输入电路按键输入电路图2.1系统结构框图本系统通过温度传感器DS18B20采集,然后通过单片机处理并在数码管上显示,用于对温度进行实时控制操作。当温度低于温度的下限值时,电机不转,当温度介于上限和下限之间时,电机转速缓慢,当温度大于上限值时,电机转速最快。可以实现根据环境温度的变化来实现对电机转速调控。有四个独立按键。第一个是复位键。第二个是功能键,按一次,可以进行上限温度设置,按两次,可以进行下限温度设置,按第三次恢复温度显示。第三个按键是增加键,可以对上限温度或下限温度进行增大调整。第四个按键是减小键,可以对下限温度或上限温度进行减小调整。2.2温度传感器的选择温度传感器可由以下几种方案可供选择:方案一:选用热敏电阻作为感测温度的核心元件,通过运算放大器放大由于温度变化引起热敏电阻电阻的变化,进而导至的输出电压变化的微弱电压变化信号,再用AD转换芯片ADC0809将模拟信号转化为数字信号输入单片机处理。方案二:采用热电偶作为感测温度的核心元件,配合桥式电路,运算放大电路和AD转换电路,将温度变化信号送入单片机处理。方案三:采用数字式集成温度传感器DS18B20作为感测温度的核心元件,直接输出数字温度信号供单片机处理。对于方案一,采用热敏电阻有价格廉价、元件易购的优点,但热敏电阻对温度的细微变化不敏感,在信号采集、放大、转换过程中还会产生失真和误差,并且由于热敏电阻的R-T关系的非线性,其本身电阻对温度的变化存在较大误差,虽然可以通过一定电路予以纠正,但不仅将使电路复杂稳定性降低,而且在人体所处温度环境温度变化中难以检测到小的温度变化。故该方案不适合本系统。对于方案二,采用热电偶和桥式测量电路相对于热敏电阻其对温度的敏感性和器件的非线性误差都有较大提高,其测温范围也非常宽,从-50摄氏度到1600摄氏度均可测量。但是依然存在电路复杂,对温度敏感性达不到本系统要求的标准,故不采用该方案。对于方案三,由于数字式集成温度传感器DS18B20的高度集成化,大大降低了外接放大转换等电路的误差因素,温度误差很小,并且由于其感测温度的原理与上述两种方案的原理有着本质的不同,使得其温度分辨力极高。温度值在器件内部转换成数字量直接输出,简化了系统程序设计,又由于该传感器采用先进的单总线技术〔1-WRIE〕,与单片机的接口变的非常简洁,抗干扰能力强。故采用该方案。2.3控制核心的选择方案一:采用电压比较电路作为控制部件。温度传感器采用热敏电阻或热电偶等,温度信号转为电信号并放大,由集成运放组成的比较电路判决控制风扇转速,当高于或低于某值时将风扇切换到相应档位。方案二:采用单片机作为控制核心。以软件编程的方法进行温度判断,并在端口输出控制信号。对于方案一,采用电压比较电路具有电路简单、易于实现,以及无需编写软件程序的特点,但控制方式过于单一,不能自由设置上下限动作温度,无法满足不同用户以及不同环境下的多种动作温度要求,故不在本系统中采用。对于方案二,以单片机作为控制器,通过编写程序不但能将传感器感测到的温度通过显示电路显示出来,而且用户能通过键盘接口,自由设置上下限动作温度值,满足全方位的需求。并且通过程序判断温度具有极高的精准度,能精确把握环境温度的微小变化。故本系统采用方案二。2.4显示电路方案一:采用数码管显示温度,动态扫描显示方式。方案二:采用液晶显示屏LCD显示温度。对于方案一,该方案本钱低廉,显示温度明确醒目,在夜间也能看见,功耗极低,显示驱动程序的编写也相对简单,这种显示方式得到广泛应用。缺乏的地方是扫描显示方式是使数码管逐个点亮,因此会有闪烁,但是人眼的视觉暂留时间为20MS,当数码管扫描周期小于这个时间时人眼将感觉不到闪烁,因此可以通过增大扫描频率来消除闪烁感。对于方案二,液晶体显示屏具有显示字符优美,不但能显示数字还能显示字符甚至图形的优点,这是LED数码管无法比较的。但是液晶显示模块价格昂贵,驱动程序复杂,从简单实用的原那么考虑,本系统采用方案一。2.5调速方式方案一:采用变压器调节方式,运用电磁感应原理将220V电压通过线圈降压到不同的电压,控制风扇电机接到不同电压值的线圈上可控制电机的转速,从而控制风扇风力大小。方案二:采用三极管驱动PWM进行控制。对于方案一,由于采用变压器改变电压调节,有风速级别限制,不能适应人性化要求。且在变压过程中会有损耗发热,效率不高,发热有不平安因素。对于方案二,PWM的一个优点是从处理器到被控系统信号都是数字形式的,无需进行数模转换。让信号保持为数字形式可将噪声影响降到最小。噪声只有在强到足以将逻辑1改变为逻辑0或将逻辑0改变为逻辑1时,也才能对数字信号产生影响。对噪声抵抗能力的增强是PWM相对于模拟控制的另外一个优点,而且这也是在某些时候将PWM用于通信的主要原因。从模拟信号转向PWM可以极大地延长通信距离。故本系统采用方案二。第三章硬件设计系统主要器件包括DS18B20温度传感器、AT89C51单片机、四位LED共阴数码管、风扇直流电机。辅助元件包括电阻、电容、电源、按键开关等。3.1主要元器件介绍3.1.1AT89S51单片机简介单片微型计算机〔SingleChipMicrocomputer〕简称单片机,是指集成在一块芯片上的计算机,它具有结构简单、控制功能强、可靠性高、体积小、价格低等优点。以下是对各个主要局部的具体介绍:内部介绍:〔1〕中央处理器又称CPU,是整个单片机的核心部件,是8位数据宽度的处理器,能处理8位二进制数据或代码,CPU负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入输出功能等操作。〔2〕定时/计数器,C51有两个16位的可编程定时/计数器,称为定时器0〔T0〕和定时器1〔T1〕。T0有专用存放器TH0和TL0组成,T10有专用存放器TH1和TL1组成。并且可编程定时/计数器的工作方式、定时时间、计数值、启动、中断请求等都可以由程序设定。〔3〕时钟电路,C51内部有时钟电路,但石英晶体和微调电容需外接。用于产生整个单片机运行的脉冲时序,系统允许的晶振频率一般位6MHz和12MHz,在应用精度要求较高的场合一般选用11.0592MHz,可以使定时器/计数器更精确。以上是从C51单片机的内部介绍,下面再从外部看其结构。外部介绍:从外部结构图中我们可以看到,C51单片机有40个管脚。正电源和地线两根,外置石英振荡器的时钟线两根,一个复位端RESET,/EA,ALE,/PSEN三根线,P0-P3共32个I/O口,中断口线与P3口线复用。现在对主要引脚的功能加以说明:(1)时钟电路引脚XTAL1和XTAL2:接外部晶体振荡器的引线端。当使用芯片内部时钟时,两引脚用于外接石英晶体和微调电容;当使用外部时钟时,用于接外部时钟脉冲信号。这两个引脚连接的电路成为时钟电路,用来产生单片机正常工作时所需要的时钟脉冲信号。(2)控制信号RST/Vpd、ALE/(/PROG)、/PSEN和(/EA)/VppRST/Vpd〔9脚〕:复位端。高电平有效,保持在2个机器周期宽度以上,使单片机复位,用于完成单片机的复位初始化操作。在进行单片机应用系统设计时,这个引脚一定要连接相应的电路,即复位电路。该引脚有复用功能,Vpd为备用电源输入端,防止主电源掉电。(3)输入/输出引脚P0、P1、P2和P3口P0.0~P0.7〔39~32脚〕:访问片外存贮器时作为低八位地址线和八位数据线〔复用〕。负载能力为8个LSTTL门。P1.0~P1.7〔1~8脚〕:8位准双向I/O口。负载能力为3个LSTTL门。P2.0~P2.7〔21~28脚〕:访问片外存贮器时作为高八位地址线。P3.0~P3.7〔10~17脚〕:8位准双向I/O口。负载能力为3个LSTTL门。89C51虽然有内部振荡电路,但要形成时钟,必须外部附加电路。80C51单片机的时钟产生方法有两种。内部时钟方式和外部时钟方式。本设计采用内部时钟方式,利用芯片内部的振荡电路,在XTAL1、XTAL2引脚上外接定时元件,内部的振荡电路便产生自激振荡。本设计采用最常用的内部时钟方式,即用外接晶体和电容组成的并联谐振回路。振荡晶体可在1.2MHZ到12MHZ之间选择。电容值无严格要求,但电容取值对振荡频率输出的稳定性、大小、振荡电路起振速度有少许影响,CX1、CX2可在20pF到100pF之间取值,但在60pF到70pF时振荡器有较高的频率稳定性。所以本设计中,振荡晶体选择6MHZ,电容选择65pF。在设计印刷电路板时,晶体和电容应尽可能靠近单片机芯片安装,以减少寄生电容,更好的保证振荡器稳定和可靠地工作。为了提高温度稳定性,应采用NPO电容。89C51的复位是由外部的复位电路来实现的。复位引脚RST通过一个斯密特触发器用来抑制噪声,在每个机器周期的S5P2,斯密特触发器的输出电平由复位电路采样一次,然后才能得到内部复位操作所需要的信号。复位电路通常采用上电自动复位和按钮复位两种方式。最简单的上电自动复位电路中上电自动复位是通过外部复位电路的电容充电来实现的。只要Vcc的上升时间不超过1ms,就可以实现自动上电复位。时钟频率用12MHZ时C取10uF,R取10KΩ。除了上电复位外,有时还需要按键手动复位。本设计就是用的按键手动复位。按键手动复位有电平方式和脉冲方式两种。其中电平复位是通过RST端经电阻与电源Vcc接通而实现的。时钟频率选用12时,C取10uF。单片机工作的最小模块,如图3.1所示。图3.1单片机最小工作模块DS18B20数字温度传感器简介DS18B20是美国DALLAS半导体器件公司推出的单总线数字化智能集成温度传感器。单总线(1-Wire)是DALLAS公司的一项专有技术,它采用单根信号线,既传输时钟又传输数据,而且数据传输是双向的,具有节省I/O口线资源、结构简单、本钱低廉、便于总线扩展和维护等诸多优点。DS18B20特点如下:(1)采用独特的单总线接口方式,即只有一根信号线与控制器相连,实现数据的双向通信,不需要外部元件;(2)测量结果直接输出数字温度信号,以单总线串行传送给控制器,同时可传送CRC校验码,具有极强的抗干扰纠错能力;(3)支持多点组网功能,多个DS18B20可以并联在唯一的三根线上,实现组网多点测量;(4)适应电压范围宽3.0-5.5V,不需要备份电源、可用数据线供电,温度测量范围为-55℃~125℃,-10℃~85℃时测量精度为±0.5℃;(5)通过编程可实现9~12位的数字值读数方式,对应的可分辨温度分别为0.5℃,0.25℃,0.125℃,0.0625℃,实现高精度测温;(6)负压特性。电源极性接反时,芯片不会因发热而烧毁,但不能正常工作。DS18B20内部结构图及其封装如图3.2和3.3所示。64位光刻ROM及单总线接口存储及存放逻辑 DQ64位光刻ROM及单总线接口存储及存放逻辑温度传感器温度传感器高速暂存存放器接地高速暂存存放器上限存放器上限存放器下限存放器电源下限存放器8位CRC发生器结构存放器供电方式检测8位CRC发生器结构存放器供电方式检测图3.2DS18B20内部结构图18273618273645DS18B20123DS18B20 GNDNCDS18B20 NCNC NCNC GNDI/OUDD图3.3DS18B20的封装DS18B20采用3脚TO-92封装或8脚SOIC及CSP封装方式。图2-8所示为DS18B20的内部结构框图,它主要包括寄生电源、温度传感器、64位光刻ROM及单总线接口、存放中间数据的高速暂存器〔内含便笺式RAM〕、存储与控制逻辑、用于存储用户设定的温度上下限值的TH和TL触发器、结构存放器、8位循环冗余校验码〔CRC〕发生器等八局部。64位ROM的结构如图3.4所示,开始8位是产品类型的编号;接着是每个器件唯一的序号共48位;最后8位是前面56位的CRC检验码,这也是多个DS18B20可采用单线进行通信的原因。非易失性温度报警触发器TH、TL,可以通过编程写入用户报警上下线数据。LSBLSBMSBLSBMSBLSBMSB48位序列号8位工厂代码〔10H〕8位检验CRC图3.464位ROM示意图DS18B20完成温度转换后,就把测得的温度值与RAM中的TH、TL字节内容对照,假设T>TH或T<TL,那么将该器件内的报警标志位置位,并对主机发出的报警搜索命令做出响应。因此,可以用多个DS18B20同时测得温度并进行报警搜索。在64位ROM的最高有效字节中存储有循环冗余检验码〔CRC〕。主机根据ROM的前56位来计算CRC值,并与存入DS18B20的CRC值作比较,以判断主机收到的ROM数据是否正确。如图3.5所示,是DS18B20在电路中的接发,本设计采用的是单独电源供电方式。图3.5DS18B20电路3.1.3八段LED数码管简介设计采用共阴极四位数码管显示数据,单片机P0口加上拉电阻驱动数码管的段码,数码管位选端可直接单片机,即可驱动点亮数码管,数码管正反如图3.8所示。图3.6数码管实物图LED数码管实际上是由七个发光管组成8字形构成的,加上小数点就是8个。这些段分别由字母a,b,c,d,e,f,g,dp来表示。当数码管特定的段加上电压后,这些特定的段就会发亮,以形成我们眼睛看到的字样了。如:显示一个“2”字,那么应当是a亮b亮g亮e亮d亮f不亮c不亮dp不亮。LED数码管有一般亮和超亮等不同之分,也有0.5寸、1寸等不同的尺寸。小尺寸数码管的显示笔画常用一个发光二极管组成,而大尺寸的数码管由二个或多个发光二极管组成,一般情况下,单个发光二极管的管压降为1.8V左右,电流不超过30mA。发光二极管的阳极连接到一起连接到电源正极的称为共阳数码管,发光二极管的阴极连接到一起连接到电源负极的称为共阴数码管。透过分时轮流控制各个LED数码管的COM端,就使各个数码管轮流受控显示,这就是动态驱动。在轮流显示过程中,每位元数码管的点亮时间为1~2ms,由于人的视觉暂留现象及发光二极体的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示资料,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O口,而且功耗更低。3.2电路设计3.2.1开关复位与晶振电路在单片机应用系统中,出单片机本身需要复位以外,外部扩展I/O接口电路也需要复位,因此需要一个包括上电和按钮复位在内的系统同步复位电路。单片机上的XTAL1和XTAL2用来外接石英晶体和微调电容,即用来连接单片机内OSC的定时反应回路。笨设计中开关复位与晶振电路如图3.7所示,当按下按键开关S1时,系统复位一次。其中电容C1、C2为33pF,C3为10uF,电阻R2、R3阻值为10k,晶振频率为12MHz。图3.7系统复位与晶振电路3.2.2独立按键连接电路按键包括三个独立按键S1、S2、S3和一个复位键S4,独立按键一端分别与单片机的P35、P36、P37口连接,另一端接地,当按下任一键时,P1口读取低电平有效。系统上电后,进入按键扫描子程序,以查询的方式确定各按键,完成温度初值的设定。S1是功能键,按一次,可以进行上限温度设置,按两次,可以进行下限温度设置,按第三次恢复温度显示;S2按键是增加键,可以对上限温度或下限温度进行增大调整;S3按键是减小键,可以对下限温度或下限温度进行减小调整。其连线图如图3.7所示。图3.7独立按键连接电路3.2.3数码管显示电路本设计制作中选用四位共阴极数码管作为显示模块,它和单片机硬件的接口如图3.8所示。其中前3位数码管DS1、DS2、DS3用于显示温度传感器实时检测采集到的温度,可精确到0.1摄氏度,显示范围为0~99.9摄氏度;后2位数码管DS4、DS5用于显示系统设置的初值温度,只能显示整数的温度值,显示范围为0~99摄氏度。5位数码管的段选a、b、c、d、e、f、g、dp线分别与单片机的P0.0~P0.7口连接,其中P0口需要接一10K的上拉电阻,以使单片机的P0口能够输出上下电平。5位数码管的位选W1~W5分别与单片机的P2.0~P2.4口相连接,只要在P2.0~P2.4口任一位中输出低电平,那么选中与该位相连的数码管。图3.8数码管显示电路3.2.4温度采集电路DS18B20数字温度传感器通过其内部计数时钟周期的作用,实现了特有的温度测量功能。低温系数振荡器输出的时钟信号通过由高温度系数振荡器产生的门周期而被计数,计数器预先设置有与-55℃相应的一个基权值。如果计数器计数到0时,高温度系数振荡周期还未结束,那么表示测量的温度值高于-55℃,被预置在-55℃的温度存放器中的值就加1℃,然后这个过程不断反复,知道高温系数振荡周期结束为止。此时温度存放器中的值即为被测温度值,这个值以16位二进制的形式存放在存储器中,通过主机发送存储器读命令可读出此温度值,读取时低位在前,高位在后,依次进行。由于温度振荡器的抛物线特性的影响,其内用的斜率累加器进行补偿。DS18B20在使用时,一般都单片机来实现数据采集。只须将DS18B20信号线与单片机1位I/O线相连,采用且单片机的1位I/O线可挂多个DS18B20,就可实现单点或多点温度检测。本设计中将DS18B20接在P1.7口实现温度的采集,其与单片机的连接如图3.9所示。图3.9温度采集电路3.2.5风扇驱动与调速电路本设计中由单片机的I/O口输出PWM脉冲,通过驱动12V的直流无刷电机以及实现风扇电机转速的调节。按键控制设置温度,通过软件向单片机输入相应控制指令,由单片机通过P10口输出与转速相应的PWM脉冲来控制电路,实现电机转速与启停的自动控制。当环境温度升高时,直流电机的转速会相应按照设定的等级有所提高;当环境温度下降时,电机的转速会相应的下降;当环境温度低于设置温度时,电机停止转动,而环境温度又高于预设温度时,电机重新启动。电路图如图3.10所示,风扇电机的一端接12V电源,另一端经过三极管的调节来控制。单片机的P10引脚输出PWM信号,由此控制风扇直流电机的转速。图3.10风扇电机驱动与调速电路3.2.6电路总图电路总图主要包括系统复位与晶振电路、独立按键连接电路、数码管显示电路、温度采集电路、风扇电机驱动与调速电路等,如图3.11所示。图3.11总体电路图第四章软件设计4.1系统软件总体设计主程序流程图如图4.1所示。调用按键扫描函数开始调用按键扫描函数开始调用数码管显示函数程序初始化调用数码管显示函数程序初始化调用DS18B20初始化函数调用DS18B20初始化函数调用温度处理函数调用温度处理函数调用DS18B20温度转换函数调用风扇电机控制函数调用风扇电机控制函数调用温度读取函数调用温度读取函数结束结束图4.1主程序流程图4.2数字温度传感器模块和显示子模的设计主机控制DS18B20数字温度传感器完成温度转换工作必须经过三个步骤:初始化、ROM操作指令、存储器操作指令。单片机所用的系统频率为12MHz。根据DS18B20数字温度传感器进行初始化时序、读时序和写时序分别可编写3个子程序:初始化子程序、写子程序、读子程序。温度传感与显示流程图如遇4.2所示。开始开始DS18B20DS18B20初始化启动DS18B20启动DS18B20调用相应的键值处理程序调用相应的控制程序内部判断调用相应的控制程序内部判断调用读子程序调用写子程序调用读子程序调用写子程序显示子程序结束结束图4.2温度传感与显示流程图4.3电机控制模块的设计电机控制模块流程图如图4.3所示。开始开始是否设置温度 否是否设置温度速度显示 是速度显示PWM调制PWM调制PWM输出PWM输出结束结束图4.3电机控制模块流程图4.4系统功能描述程序实现的功能是上电复位时检测温度传感器,将从DS18B20读取的二进制温度值转换为七段码在LED上显示出来。在温控自动状态,本系统可根据需要自由设置大小风档的切换温度值TH,TL,硬件设计上为通过3个按键,由按键扫描子程序KEYSCAN子程序提供软件支持。按下一次设置键K1,进入温度上限设置,此时按下“加”键K2,加一,按下“减”键K3,减1。再按一次设置键K2,进入温度下限设置状态,此时按下“加”键K2,加一,按下“减”键K3,减1。下限动作温度值TL和上限动作温度值的设置范围为10-100摄氏度,满足一般使用要求。再按一次设置键K3退出上下限温度设置状态,恢复到当前温度显示状态。要实现根据当前温度实时的控制风扇的状态,需要在程序中不时的判断当前温度值是否超过设定的动作温度值范围。由于单片机的工作频率高达12MHz,在执行程序时不断将当前温度和设定动作温度进行比较判断,当超过设定温度值范围时及时的转去执行超温处理和欠温处理子程序,控制风扇实时的切换到关闭、弱风、大风三个状态。显示驱动程序以查七段码取得各数码管应显数字,逐位扫描显示。第五章系统调试5.1软件调试按键显示局部的调试起初根据设计编写的系统程序:程序的键盘接口采用P1口,数码管显示采用P0口控制LED的断码,P2口控制LED的位码,从而实现键盘性能及数码管的显示。经过编译没有出错,但在仿真调试时,数码管显示的只为乱码,没有精确的显示温度,按钮性能也不灵,当按下键时,显示并不变化。经过查找分析,发现键盘扫描程序没有没有按钮消抖局部,按钮在按下与松手时,都会有一定程度的抖动,从而可能使单片机做出错误的判断,导致按钮条件预设温度时失灵,甚至根本不能工作。因此必须在按钮扫描程序中参加消抖局部,即在按钮按下与松手时参加延时判断,以检测键盘为否真的按下或已完全松手。数码管不能精确的显示,主要为因为所以数码管的段码都由P0口传送,而数码管显示又采用了动态扫描的方式,但在程序中却没有设置显示段码的暂存器,导致当P0口传送段码时发生混乱,不能精确识别段码。经过查找资料,在程序中设定存储段码的空间,数码管才显示正常。在键盘参加了消抖程序,数码管显示程序中参加了段码的存储空间后,数码管能够正常的显示,按钮也能够工作,到达了较好的效果。传感器DS18B20温度采集局部的调试由于数字式集成温度传感器DS18B20的高度集成化,为软件的设计和调试带来了极大的简便,小体积、低功耗、高精度为控制电机的精度和稳定提供了可能。软件设计采用P3.1口为数字温度输入口,但为需要对输入的数字信号进行处理后才能显示,从而多了温度转化程序。通过软件设计,实现了对环境温度的连续检测,由于硬件LED个数的限制,只显示了预设温度的整数局部。在温度转化程序中,为了能够精确的检测并显示温度的小数位,程序中把检测的温度与10相乘后,再按一个三位的整数来处理。如把24.5变为245来处理,这样为程序的编写带来了方便。5.2硬件调试按钮显示局部的调试系统按钮局部实现了以下性能:按下P1.3口键,LED的后两位显示温度值增一;按下P1.4口键,LED的后两位显示温度值减一。调试过程中出现了当按钮时间过长时,设置的温度值不为增一或者减一,而为增加后减少几个值,出现这种情况的主要元婴可能为按钮的去抖动延时时间过长造成,改进方案为将对应的按钮去抖动延时时间适量增加,但也不应过长,否那么将出现按钮无效的情形。系统显示局部实现了以下性能:LED显示的前三位实现了环境温度整数局部与小数局部的连续显示,LED的后两位能根据按钮的调整显示所需要的设计温度。且LED的显示效果很好,很稳定。5.2.2传感器DS18B20温度采集局部的调试将DS18B20芯片接在系统板对应的P3.1口,通过插针在对应系统板的右下侧三口即为对应的VCC、P3.1和GND,可将芯片直接插在该插针上,因此即为方便。系统调试中为验证DS18B20为否能在系统板上工作,将手心靠拢或者捏住芯片,即可发现LED显示的前两位温度也迅速升高,验证了DS18B20能在系统板上工作。由于DS18B20为3个引脚,因此在调试过程中因注意其各处引脚的对应位置,以免将其接反而为芯片不能工作甚至烧毁芯片。5.3调试过程中遇到的问题及其解决方法在硬件和程序的调试过程中,遇到了许许多多的问题。这些问题有的是由于自己的粗心造成的,有的是因为自己的根底知识不扎实造成的。许多方面凑在一起,酿成了一个个的问题。〔1〕单片机的P0口驱动共阴数码管,数码管不能正常工作,这是因为P0口内部没有上拉电阻的原因。一定要接上拉电阻,电阻的大小为1K欧姆左右。〔2〕在焊接好电路板以后,接上220V的交流市电,发现电源指示灯无显示,经过检测,原来是稳压块装反了,而且有点虚焊的现象。〔3〕通电仿真时数码管显示乱码,考虑可能是硬件或者软件有问题,首先检查硬件,发现本应装共阳极的数码管,装成了共阴的数码管,后经更正,问题排除。〔4〕一切正常以后,数码管出现了显示相反的结果,很明显是数码管显示程序中,应加个非号,经过编译仿真,显示正常。〔5〕CPU不响应任何中断,这错误是由于连续运行时不执行中断效劳程序的规定操作,当断点设在中断入口或中断效劳程序中时不到断点。错误的原因是:中断控制存放器〔IE,IP〕的初值不正确,使CPU没有开放中断或不允许某个中断求。〔6〕目标系统根本上已能正常操作,但是控制有误动作或者输出的结果不正确,这是由于计算机程序中的错误引起的。结论系统总体上有五局部组成,分别是振荡与复位电路、独立按键连接电路、数码管显示电路、温度检测电路、风扇驱动与调速电路,首先考虑的是温度检测电路,该局部是整个系统的首要局部,要检测到环境的温度,才能用单片机判断温度的上下,然后通过单片机输出的信号来风扇调速电路的工作状态来控制电机转速。其次是数码显示电路,该局部的功能实现了对环境温度和定时时间的显示。其中的DS18B20对环境温度进行采集,按键电路实现风扇不同档位以及温度的调整,实现了对环境温度和定时时间及时连续的显示。现在的社会是一个科技高度开展的时代,创新性、合理性将在未来的市场里占据主流地位。很多的数字化的产品以其灵巧轻便、功能强大、美观得体为卖点而深受广阔市民的青睐,由此可见市民的消费观念大多取决于新潮与创意,所以现今产品的开展越来越趋向人性化和智能化。本系统以单片机AT89C51为控制核心,实现由温度对电风扇自动的智能控制,以及温度的实时显示。利用单片机实现的智能温控电风扇系统,性能可靠,本钱较低,适合群众消费,有重要应用价值。本系统的电路和程序稍作修改,还可以实现其他一些功能,比方大棚温度控制、电动机温度检测、家庭电器自动控制系统等,可以移植到很多方面。致谢在我完成这一篇论文的过程中,特别感谢我的指导老师讲师和王、李同学以及身边关心帮助我的朋友们,在这篇论文的撰写时我遇到了很多的麻烦和困难,但都在他们的热心帮助下解决。尤其要特别感谢我的同学王伟刚,他对我进行了无私的指导和帮助,不厌其烦的帮助我本次设计的修整和改进,帮助我解决一个又一个阻碍,真的很感谢!与此同时也要感谢这篇论文所涉及到的各位学者,如果没有各位学者的研究成果的帮助和启发,我将很难完本钱篇论文的写作。由于我的学术水平有限,所写论文难免有缺乏之处,恳请各位老师和学友批评和指正!在毕业设计完成的的同时,也意味着四年的大学生活即将结束的。即将离开这一站,站在人生的又一个转折点上,心中难免思绪万千,一种感恩之情油然而生。感谢安阳工院的各位领导对我们教育与培养,特别感谢信息工程信的所有专业老师,没有你们的辛勤劳动,就没有我们今日。参考文献[1]林立,张俊亮,曹旭东,刘德军.单片机原理及应用[M].北京:电子工业出版社,2009:56-85.[2]王伦.电风扇原理与维修技术[M].北京:新时代出社,1999:8-12.[3]陈桂友.增强性8051实用开发技术[M].北京:北京航天航空大学出版社2009:95-121.[4]毛学军,沙祥.液晶模块应用[M].北京:电子工业出版社,2010:22-25.[5]廖琪梅,韩彬,杨文昭.基于单总线器件DS18B20的温度测量仪[J].国外电子元器件,2008:24-26.[6]刘同法,陈忠平,彭继卫,眭仁.单片机外围接口电路与工程实践[M].北京:北京航空航天大学出版社,2009:598-564.[7]谢自美.电子线路设计·实验·测试[M].武汉:华中科技大学出版社,2000:31-32.[8]王港元.电工电子实践指导[M].南昌:江西科学技术出版社,2003:292-293.[9]马忠梅,籍顺心等.单片机的C语言应用程序设计[M].北京:北京航空航天大学出版社,2003:224-225.[10]陈小忠,黄宁等.单片机接口技术实用子程序[M].北京:人民邮电出版社,2005:206-237.[11]徐瑞华.单片机原理与接口技术[M].安徽:中国科技大学出版社,2005:123-165.[12]李学龙.使用单片机控制的智能遥控风扇[J].电子电路制作,2003,35(1):13-15.[13]郭天祥.新概念51单片机C语言教程[M].电子工业出版社,2009:210-229.[14]胡全.51单片机的数码管动态显示技术[J].信息技术,2009,8(2):56-57.[15]王会明.智能电风扇控制器的研制[J].电子与自动化,1998,45(4):25-26.[16]孙号.Proteus软件在设计电子电路中的应用[J].仪表技术,2009,13(1):74-75.[17]李刚.总线数字温度传感器DS18B20原理及应用[J],现代电子技术,2005,28(21):77-99.[18]Ylai,Y,Wang.Threedimensionalnonlinearanalysisfortemperaturecharacteristofventilatedembankmentinpermafrostregions[J].GoldRegionsScienceandTechnology,2004,38(2):165-184.[19]ChengGuodong.Linearityengineeringinpermafrostareas[J].JournalofGlaciologyandGeocryology(inChinese),2001,23(3):213-217.附录附录A电路仿真图附录B电路PCB图附录C程序清单#include<reg51.h>#include<intrins.h>#defineucharunsignedchar#defineuintunsignedint////////////////////sbitdj=P1^0;//电机控制端接口sbitDQ=P1^6;//温度传感器接口//////////按键接口/////////////////////////////////sbitkey1=P3^5;//设置温度sbitkey2=P3^6;//温度加sbitkey3=P3^7;//温度减//////////////////////////////////////////////////////sbitw1=P2^4;sbitw2=P2^5;sbitw3=P2^6;sbitw4=P2^7;/////共阴数码管段选//////////////////////////////////////////////uchartable[22]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x77,0x7C,0x39,0x5E,0x79,0x71,0x40,0x38,0x76,0x00,0xff,0x37};//'-',L,H,灭,全亮,n 16-21uintwen_du; uchargao,di;//pwmuintshang,xia;//比照温度暂存变量uchardang;//档位显示ucharflag;uchard1,d2,d3;//显示数据暂存变量voiddelay(uintms){ ucharx; for(ms;ms>0;ms--) for(x=10;x>0;x--);}voiddisplay()//显示温度{ w1=0;P0=table[d1];delay(10);//第1位 P0=0x00;w1=1;delay(1); w2=0;P0=table[16];delay(10);//第2位 P0=0x00;w2=1;delay(1); w3=0;P0=table[d2];delay(10);//第3位 P0=0x00;w3=1;delay(1); w4=0;P0=table[d3];delay(10);//第4位 P0=0x00;w4=1;delay(1);}/***********ds18b20延迟子函数〔晶振12MHz〕*******/voiddelay_18B20(uinti){ while(i--);}/**********ds18b20初始化函数**********************/voidInit_DS18B20(){ ucharx=0; DQ=1;//DQ复位 delay_18B20(8);//稍做延时 DQ=0;//单片机将DQ拉低 delay_18B20(80);//精确延时大于480us DQ=1;//拉高总线 delay_18B20(14); x=DQ;//稍做延时后如果x=0那么初始化成功x=1那么初始化失败 delay_18B20(20);}/***********ds18b20读一个字节********

温馨提示

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

评论

0/150

提交评论