版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
饮水机温控系统摘要论文采用高性价比的AT89C2051单片机作为核心控制芯片,外围部件由防水数字温度传感器DS18B20,键盘电路,水位探测器,LED显示电路,加热控制器组成。实现了:能检测饮水机加热体中的水量和水温并能LED数码管显示水温。水量低于设定值时禁止加热;防止干烧。设定两种加热模式;温水键可以把水加热到60度,开水键可以把水加热到100度并实时显示水温。管显示水温。水量低于设定值时禁止加热;系统自动比较水温和系统设定温度,当水温低于设定温度10度时,加热器开始加热,当水温达到设定温度时,加热器停止工作。饮水机设置温水键、开水键对水温进行控制。接通电源后,系统检测饮水机加热体中的水量及水温,并将水温清晰地显示在LED数码显示器上。为防低于系统设置,系统处于待机状态,此时温水键和开水键无效,待用户加足水后按键功能有效。本设计中的数字温度传感器采用DS18B20。键盘电路由温水键、开水键2个独立式按钮组成。显示电路由4位七段码LED显示器组成。水深探测器为一根金属棒。加热控制器为MOTOROLA公司生产的单片集成光电耦合可控硅驱动器件MOC3041。关键字温度/控制/单片机/传感器DESIGNOFTEMPERATURECONTROL
SYSTEMOFDRINKINGMACHINEABSTRACTInthisthesis,cost-effectiveAT89C2051MCUasacorecontrolchip,theexternalpartsofthewaterproofdigitaltemperaturesensorDS18B20,keyboardcircuit,waterleveldetector,LEDshowcircuit,theheatingcontroller.Achieved:1.CandetectwaterfountainsandwatertemperatureandwatertemperaturecanbeusedLEDdigitaldisplay.2.Theprohibitionofwaterbelowthesetvalueofheating,topreventdry.3.Tosettwoheatingmode,warmwaterkeytothewaterheatedto60degrees,waterkeytothewaterheatedto100degreesanddisplaythewatertemperature.4.Comparisonofwatertemperatureandthesystemautomaticallysetthetemperature,whenthewatertemperature10degreesbelowthesettemperature,theheaterbegantoheat,whenwatertemperaturereachesthesettemperature,theheaterstoppedworking.Therearetwobuttonsondrinkingwatertemperaturecontrol.Whenpoweredon,temperatureclearlydisplayedontheLEDdigitaldisplay.Topreventdrydamagedheater,heatingsystemuseswaterleveldetectortomonitorthewaterlevelinthebody,ifthewaterislowerthanthesetting,thesystemisinstandbymode,thecursorkeysandwarmwaterkeyisinvalid,whentheusertoaddalittlewatertokeyfunctioneffectively.Inthisdesign'sdigittemperaturesensorisDS18B20.Keykeyboardcircuitconsistsofwarmwater,waterstand-buttonkeycomponent2.DisplaycircuitconsistsoffoursevensegmentLEDdisplaycomposition.Duringtheheatingcontrolleristhemonolithicintegratedelectro-opticcouplingsilicon-controlledrectifierwhichMOTOROLACorporationproducesactuatesMOC3041.KEYWORDStemperature,control,SCM,sensorTOC\o"1-5"\h\z中文摘要I英文摘要II\o"CurrentDocument"1引言1\o"CurrentDocument"1.1课题的目的及意义1\o"CurrentDocument"1.2国内外发展现状及研究概况11.3设计的主要技术指标与参数2\o"CurrentDocument"1.4设计的主要内容2\o"CurrentDocument"2设计要求的分析和方案的确定3\o"CurrentDocument"2.1设计要求分析3\o"CurrentDocument"2.2方案的确定4\o"CurrentDocument"3总体电路的设计53.1电路组成及工作原理53.1.1电路的组成.5\o"CurrentDocument"3.1.2电路系统框图6\o"CurrentDocument"3.2单元电路的设计与元件选择7\o"CurrentDocument"3.2.1主控制单元的设计7\o"CurrentDocument"3.2.2温度传感系统的设计10\o"CurrentDocument"3.2.3加热控制系统的设计13\o"CurrentDocument"3.2.4水位探测系统的设计15\o"CurrentDocument"3.2.5显示电路及键盘电路的设计17\o"CurrentDocument"3.3整体电路图23\o"CurrentDocument"4系统软件设计24\o"CurrentDocument"4.1系统主程序设计24\o"CurrentDocument"4.2按键处理子程序25\o"CurrentDocument"4.3温度检测子程序27结论28致谢29\o"CurrentDocument"参考文献大30附录311引言1.1课题的目的及意义随着计算机技术的发展,单片机技术已成为计算机技术中的一个独特的分支,单片机的应用领域也越来越广泛,特别是在工业控制和仪器仪表智能化中扮演着极其重要的角色。过去经常采用模拟电路、数字电路实现的电路系统,现在相当大一部分可以用单片机予以实现,传统的电路设计方法已演变成为软件和硬件相结合的设计方法。在实际应用中,单片机经常要与各种传感器相结合组成一定的应用系统,以实现系统的自动检测与控制。单片机在电子产品中的应用已经越来越广泛,在很多电子产品中也用到了温度检测和温度控制。目前广泛使用的饮水机,具有价格低廉,制造简便等优点。但是随着用户长时间使用,这些饮水机功能单一、能耗较大、长时间饮用饮水机的水对健康不利等缺点逐渐暴露出来。传统的饮水机的局限性一般体现在以下几个方面:第一,功能相对简单。只有简单的温度控制,而且用户还不能根据自己的喜好设定温控参数。第二,能耗较大。在没有人使用的时候饮水机也处在开机状态无疑会造成能源的大量浪费,在能源紧缺的今天这个方面亟待解决。第三,长期饮用饮水机里的水会对健康不利。由于广泛使用的饮水机烧水不能完全沸腾,长期饮用这种水会对身体造成较大的伤害。此次设计是基于单片机的温度控制系统。整个设计过程将使我巩固所学的本专业基础理论、专业知识和基本技能,增强综合运用所学知识与技术独立分析问题解决问题的能力;对饮水机的工作原理、元器件选择及电子仪器的常用设计方法等有比较深入的了解;进而掌握应用计算机进行电子线路设计的基本思想和方法。本设计完全面向实际的思想可以使我全面的了解电子设计的基本过程和基本工艺,并且对成本的考虑也使得此次设计变的更加有意义。1.2国内外发展现状及研究概况当今社会,随着科技的进步,电子技术得到了飞速的发展与应用,数字系统的设计也有了很大的进步,如今运行速度快、在功能更加强大的基础上更加便于使用携带也成了发展的方向。60年代以来,在半导体器件和计算机技术发展的基础上,智能控制变的越来越简单,70年代单片机产生使世界进入高智能,高效,以及高可靠性的电子时代。单片机是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。单片机是随着超大规模集成电路技术的发展而诞生的。随着技术的发展,单片机片内集成的功能越来越强大,并朝着SoC(片上系统)方向发展。单片机有着体积小、功耗低、功能强、性能价格比高、易于推广应用等显著优点,所以广泛应用于电子仪表、家用电器、节能装置、机器人、工业控制等诸多领域,使产品小型化、智能化,既提高了产品的功能和质量,又降低了成本,简化了设计。把单片机应用于温度控制中,采用单片机做主控单元,无触点控制,可完成对温度的采集和控制的要求。现代单片机可靠性及应用水平越来越高,和互联网连接已是一种明显的走向。所集成的部件越来越多;NS(美国国家半导体)公司的单片机已把语音、图像部件也集成到单片机中,也就是说,单片机的意义只是在于单片集成电路,而不在于其功能了;如果从功能上讲它可以讲是万用机。原因是其内部已集成上各种应用电路。功耗越来越低和模拟电路结合越来越多。现如今单片机的发展日新月异,各种新功能,新器件,新思想不断涌现。在国内外依旧以做嵌入式控制内核为主,而本文也是采用这样的一种智能控制思想来实现饮水机的智能控制的,从而实现饮水机温度可控,节能,可视化等设计指标。1.3设计的主要技术指标与参数能检测饮水机加热体中的水量和水温并能用LED数码管实时显示水温。水量低于设定值时禁止加热,防止干烧。设定两种加热模式,温水键可以把水加热到60度,开水键可以把水加热到100度并实时显示水温。系统自动比较水温和系统设定温度,当水温低于设定温度10度时,加热器开始加热,当水温达到设定温度时,加热器停止工作。1.4设计的主要内容(1)方案比较及论证,查阅相关资料,找到设计电路的基本思路。基本测量原理。工作原理、框图及单元电路设计。系统实现,选择元器件。绘电路原理图,列元件明细表,整理及分析有关数据。结论。2设计要求的分析和方案的确定2.1设计要求分析在硬件设计上,家用饮水机温控系统要求能检测加热体中的水温并实时的显示在LED显示器上,这就要求在加热体中设置温度传感器,并能用单片机将传感器的数据传送给LED显示模块,为防止干烧还需在加热体中加入水位测量装置,此装置只需对加热体中的水进行定性测量有无水即可,不需定量细致的测量水位因此可以采用较简单的设计,这样也可以减少设计成本。因为饮水机存在两种加热模式所以要设计至少存在两个按键的键盘电路。首先来分析设计要求的核心内容,按照设计要求来看,本次设计的饮水机以智能节能控制为核心内容,从而我们应该选择一种既能满足设计要求又尽量能降低设计成本的一款单片机。我们可以结合实际设计中引脚的使用情况来选择一款简化版的单片机。温度传感的选择应该本着便于和在此之前所选的单片机相通信的原则,在这里我们也要尽量考虑成本的问题,模数转换的问题也应该充分的考虑到,如果传感器可以集成模数转换器可以在较大的程度上降低设计成本,简化设计过程。显示电路我们可以采用LED显示器也可以采用LCD显示器但是应该着重考虑用户使用的方便性,综合考虑各种利弊,以及设计的简便性。在如今的各种显示设计中LED显示器无疑占有很高的比例,这种成熟的成品较多应当仔细分析比较。水位探测装置应该尽量考虑节省成本的问题因为此次的探测要求仅是定性的判断加热体中水的有无,所以应该尽量采用简洁的设计方案,降低和单片机的连接、编程等设计的工作量。在软件设计上,在系统主程序的基础上应该再设计上按键处理子程序和温度检测子程序。其中主程序还要承担检测水位的任务。尽可能的将程序流程做的简洁实用。2.2方案的确定经过以上对设计要求的分析我们可以基本确定下设计方案的雏形,即以单片机为核心,外围围绕温度传感器,水位探测器,加热控制器,键盘电路和显示电路等。通过软件编程实现对各硬件的控制和通信,进而实现对加热器的控制,实现设计要求。在此我们可以选用AT89C2051单片机,此单片机是一种精简型的51单片机。完全可以满足设计要求并能节省设计成本。我们选用数字温度传感器DS18B20,首先此款传感器自身具有模数转换功能所以在使用的过程中不需考虑模数转换的问题并且易于和单片机进行通信以及数据交换,再次,DS18B20具有非常高的市场普及率,有各种各样的封装形式所以适合我们的选用。在显示电路上我们选用LED显示器,LED虽然发光亮度较低但完全可以满足用户在夜间使用的要求,这一点是普通LCD显示器所不能比拟的,所以在此我们选用LED显示器。水位探测装置我们仅选用一根不锈钢棒即可满足设计要求。另外我们还可以使用简易的温控系统,这也是现在绝大多数低端饮水机采用的温度控制系统,它一般使用像“纽扣”大小的“温度继电器”内部是由双金属片制成的温度敏感“开关”,温度到达一定值时会断开电路。元件一般装在金属“水胆”外壁上。这种“温度继电器”成本低廉,易更换,但控制精度差,一般有上下2~3度的误差。另外饮水机一般都是有两个温度继电器,一个是控制热水温度的,大概在90左右度,是自动断电自动复位的,另一个是极限温度控制器,大概在100左右度,断电后是手动复位的,此温度继电器主要用来防止加热体干烧。这种控制方式简单,温度传感器经过译码器可直接与显示器相连。但此方法智能控制水平较低不能体现出设计的核心思想,所以在这里我们一提而过,在具体设计中将采用我们的第一种设计方案。3总体电路的设计3.1电路组成及工作原理3.1.1电路的组成家用饮水机温度控制系统由传感器,模数转换器,水位探测器,LED显示电路,键盘电路,加热控制器等组成。单片机:完成监控系统数据采集过程、采集方式的控制。是整个系统的核心处理器,单片机首先把通过传感器测到的现场温度与预先设置的温度进行比较,如果大于或小于预先设置值,就输出信号去控制加热器的工作,从而实现温度控制与此同时将温度数据传输给LED显示器,并对水位探测器的反馈信号进行处理从而实现防止干烧的发生。温度传感器:温度传感器将加热体中的温度采集,经过模数转换变换成数字数据供单片机使用,在设计过程中尽量采用集成模数转换功能的传感器,这样一来可以极大的减少设计工作量,并且可靠性也将会有比较大的提高,这种传感器在实际生产中有这很广泛的应用。水位探测器:水位探测器主要是用来防止加热体干烧,在设计过程中可以根据需求将其简化成能定性测量水位是否足够即可,在这里我们要尽量的简化设计。键盘电路:键盘电路用来设置加热模式,与单片机通信,加热模式控制信号传送给单片机供其与温度传感器所提供的数据进行比较决定是否继续或停止加热。显示电路:实时显示加热体内水温,要求多位显示,在满足水温显示的条件下还要对加热状态等进行显示。加热控制器:弱电低压信号驱动强电220V电流对加热体内水进行加热控制,是整个设计的与加热体相结合的重要模块,设计方案要遵循安全可靠的要求。3.1.2电路系统框图图3-1系统框图从系统框图可以看的出温度传感器信号,键盘电路信号,水深探测器信号均为饮水机温控系统的输入信号而显示电路信号,加热控制信号则为饮水机温控系统的输出信号。系统框图也充分的体现出了单片机作为整个系统的核心部件的这一理念。所有的外围的设备围绕单片机作为单片机的功能模块与单片机进行信息交换和通信。核心部件单片机对所有的外围设备数字温度传感器、键盘电路、水位探测器等器件反馈的信息在软件的设定下进行综合分析,发出指令信号控制加热控制器和LED显示器的工作状态。设计框图作为整个设计方案的灵魂将自始至终的指导设计的全过程,在以后的设计中将完全按照框图所列的模块进行分模块设计。这样一来使整个设计简化为六部分,各部分又可以单独的进行设计,这样一来通过对各个模块的多种方案进行分析比较确定最佳选择并将其作为最终选择,最后将各模块的最佳方案进行组合得到我们的最终设计方案。3.2单元电路的设计与元件选择3.2.1主控制单元的设计主控制电路是以单片机为核心的控制电路。我们在这里选用AT89C2051单片机,AT89C2051是美国ATMEL公司生产的低电压、高性能CMOS8位单片机,片内含2kbytes的可反复擦写的只读程序存储器(PEROM)和128bytes的随机数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,功能强大AT89C2051单片机多使用于高性价比的应用场合。PSSPIOPEL2P岩ATWC3(W1瓦455CTALIPESXTAL2Pi-PiZ-^D1AT=^2051图3-2AT89C2051管脚图由管脚图我们也可以看出AT89C2051虽然是一个功能强大的单片机,但它只有20个引脚。15个双向输入/输出(I/O)端口,其中P1是一个完整的8位双向I/O口,两个外中断口,两个16位可编程定时计数器,两个全双向串行通信口,一个模拟比较放大器。相比于传统的8051芯片AT89C2051减少了两个对外端口(即P0、P2口),使它最大可能地减少了对外引脚,因而芯片尺寸也有所减少。其引脚介绍如下:(1)主电源引脚(2根)VCC(Pin20):电源输入,接+5V电源。GND(Pin10):接地线。⑵外接晶振引脚(2根)XTAL1(Pin5):片内振荡电路的输入端。XTAL2(Pin4):片内振荡电路的输出端。⑶控制引脚(1根)RST/VPP(Pin1):复位引脚,引脚上出现2个机器周期的高电平将使单片机复位。(4)可编程输入/输出引脚(15根)P1口:8位准双向I/O口线,P1.0〜P1.7,共8根P3口:8位准双向I/O口线,P3.0〜P3.5、P3.7,共7根另外P3口还可以实现AT89C2051的其他各种功能如下表3-1:P3口引御!P3加RXD(史行勒入螭口:中P3-1」1XD(李行翰出蛹口)P32」INTO(外中断0)+JP3.3」INT1(外中断1)小PB.4^T0(走时善0外部翰入)wP3.5」T1(走时嚣1外部魅入)M表3-1P3口的复用功能AT89C2051有以下特性:与MCS-51产品指令系统完全兼容,2k字节可重擦写闪速存储器,1000次擦写周期,2.7V-6V的工作电压范围,全静态操作:0Hz-24MHz,两级加密程序存储器,128x8字节内部RAM,15个可编程I/O口线,2个16位定时/计数器,6个中断源,可编程串行UART通道,可直接驱动LED的输出端口,内置一个模拟比较器,低功耗空闲和掉电模式。AT89C2051还带有2K字节闪速可编程可擦除只读存储体(EEPROM)的低电压,高性能8位CMOS微型计算机。它采用ATMEL的高密非易失存储技术制造并和工业标准MCS-51指令集和引脚结构兼容。通过在单块芯片上组合通用的CPL1和闪速存储器,ATMELAT89C2051是一强劲的微型计算机,它对许多嵌入式控制应用提供一高度灵活和成本低的解决办法。AT89C2051可以采用下面2种方法开发应用系统。(1)由于AT89C2051内部程序存贮器为Flash,所以修改它内部的程序十分方便快捷,只要配备一个可以编程89C2051的编程器即可。调试人员可以采用程序编辑-编译-固化-插到电路板中试验这样反复循环的方法,对于熟练的MCS-51程序员来说,这种调试方法并不十分困难。不过这种调试不能够了解片内RAM的内容和程序的走向等有关信息。(2)将普通8031/80C31仿真器的仿真插头中P1.0〜P1.7和P3.0〜P3.6引出来仿真2051,这种方法可以运用单步、断点的调试方法,但是仿真不够真实,比如,2051的内部模拟比较器功能,P1口、P3口的增强下拉能力等等。在设计过程中我们还考虑过其他的单片机,现代电子设计领域应用最广泛的八位单片机首推Intel的51系列,由于产品硬件结构合理,指令系统规范,加之生产历史“悠久”,有先入为主的优势。世界有许多著名的芯片公司都购买了51芯片的核心专利技术,并在其基础上进行性能上的扩充,使得芯片得到进一步的完善,形成了一个庞大的体系,直到现在仍在不断翻新,把单片机世界炒得沸沸扬扬。51系列优点之一是它从内部的硬件到软件有一套完整的按位操作系统,被称为“位处理器”,或“布尔处理器”。它的处理对象不是字或字节而是位。它不仅仅只能对片内某些特殊功能寄存器的某位进行处理,如传送、置位、清零、测试等,还能进行针对位的逻辑运算,其功能十分完备,使用起来得心应手。虽然其他种类的单片机也具有位处理功能,但能进行位逻辑运算的实属少见。系列在片内RAM区间还特别开辟了一个双重功能的地址区间,51十六个字节,单元地址20H〜2FH,它既可作字节处理,也可作位处理(作位处理时,合128个位,相应位地址为00H〜7FH),使用极为灵活。这一功能无疑给使用者提供了极大的方便,因为一个较复杂的程序在运行过程中会遇到很多分支,因而需建立很多标志位,在运行过程中,需要对有关的标志位进行置位、清零或检测,以确定程序的运行方向。而实施这一处理(包括前面所有的位功能),只需用一条位操作指令即可。51系列的I/O脚的设置和使用非常简单,当该引脚作输入脚使用时,只须将该引脚设置为高电平(复位时,各I/O口均置高电平)。当该脚作输出脚使用时,则为高电平或低电平均可。低电平时,吸入电流可达20mA,具有一定的驱动能力;而为高电平时,输出电流仅数十mA甚至更小(电流实际上是由脚的上拉电流形成的),基本上没有驱动能力。其原因是高电平时言亥脚也同时作输入脚使用,而输入脚9必须具有高的输入阻抗,因而上拉的电流必须很小才行。作输出脚使用,欲进行高电平驱动时,得利用外电路来实现,I/O脚不通,电流经R驱动LED发光;低电平时,I/O脚导通,电流由该引脚入地,LED灭(I/O脚导通时对地的电压降小于IV,LED的域值1.5〜1.8V)。一些简装的51产品也相应出现,Atmel公司的AT89C1051、如AT89C2051、AT89C4051等(闪速存储器分别为1K、2K、4K等,但不能外接数据存储器),指令系统与AT89C51完全兼容,但引脚均为20脚,不光体积小,而且价格低廉。在本设计中就是采用这种简装的单片机AT89C2051可以完全达到设计要求并且可以节省成本从软件编程角度来考虑也同样完全兼容我们常规的51单片。在本设计中我们对管脚做如下分配:P1.0〜P1.3作为4个数码管的位选信号控制,P1.4〜P1.7接到译码器7447上输出数码管的显示数据。P3.0用于连接水位探测器,P3.1用于控制加热器电路的通断,P3.2和P3.3分别用来连接温水键和开水键,实现对饮水机加热模式的选择,P3.4用来连接DS18B20数字温度传感器。3.2.2温度传感系统的设计在本次设计中对温度检测范围是0°C〜100°C,最好能集成模数转换器从而方便通信,因为是直接测试水温所以必须采用防水封装的温度传感器。在这里我们综合考虑各种因素选择防水封装的DS18B20ODS18B20是美国DALLAS公司生产的一种可组网的单线数字式温度传感器,它采用单线总线结构,集温度测量和A/D转换于一体,直接输出数字量,用一根I/O线就可以传送数据与命令,并可兼作电源线,其温度测量范围为-55C〜+125C,精度为±0.5C;使用中无需外部器件,可以利用数据线或外部电源提供电能,供电电压范围为3.3〜5.5V;通过编程可实现9〜12位分辨率读出温度数据。除此之外还有以下特点:DS18B20支持多点组网功能,多DS18B20可以并联在唯一的三线上,实现组网多点测温。DS18B20在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路内。编程的分辨率为9〜12时,对应的可分辨温度分别为0.5C、0.25C、0.125C和0.0625C,可实现高精度测温。在9位分辨率时最多在93.75ms内把温度转换为数字,12位分辨率时最多在750ms内把温度值转换为数字,速度更快。)测量结果直接输出数字温度信号,以"一线总线"串行传送给CPU,同时可传送CRC校验码,具有极强的抗干扰纠错能力。负压特性:电源极性接反时,芯片不会因发热而烧毁,但不能正常工作。DS18B20内部结构主要由四部分组成:64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL配置寄存器。该装置信号线高的时候,内部电容器储存能量通由1线通信线路给片子供电,而且在低电平期间为片子供电直至下一个高电平的到来重新充电。DS18B20的电源也可以从外部3V-5.5V的电压得到。DS18B20的读写时序和测温原理与DALLAS公司生产的另一种温度传感器DS1820相同,只是得到的温度值的位数因分辨率不同而不同,且温度转换时的延时时间由2s减为750ms。传感器内部的低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信号送给传感器内部计数器1。高温度系数晶振随温度变化其振荡率明显改变,所产生的信号作为内部计数器2的脉冲输入。计数器1和温度寄存器被预置在一55°C所对应的一个基数值。计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当计数器1的预置值减到0时,温度寄存器的值将加1,计数器1的预置将重新被装入,计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正计数器1的预置值使用时,将DS18B20的数据信号线DQ与单片机的一位具有三态功能的双向口相连接,就可实现数据的传输。DS18B20采用两种供电方式:外部电源供电(VDD接电源)和数据线供电(VDD和GND接地)方式。为保证在有效的S18B20时钟周期内提供足够的电流,采用外部电源单独供电时,需在数据线上加1个4.7kQ的上拉电阻;若采用数据线供电,除了加一个4.7kQ上拉电阻外还要加一个MOSFET管来完成对总线的上拉。本系统采用DS18B20的外部供电方式。U1DS1SB20图3-3DS18B20管脚图由管脚图3-3我们可以看出DS18B20有着非常简洁的管脚设置,DS18B20引脚定义:管脚1:GND为电源地;管脚3:VCC为外接供电电源输入端(在寄生电源接线方式时接地);管脚3:VCC为外接供电电源输入端(在寄生电源接线方式时接地);DS18B20虽然具有测温系统简单、测温精度高、连接方便、占用口线少等优点,但在实际应用中也应注意以下几方面的问题:较小的硬件开销需要相对复杂的软件进行补偿,由于DS18B20与微处理器间采用串行数据传送,因此,在对DS18B20进行读写编程时,必须严格的保证读写时序,否则将无法读取测温结果。在使用PL/M等高级语言进行系统程序设计时,DS18B20C对操作部分最好采用汇编语言实现;在DS1820的有关资料中均未提及单总线上所挂DS18B20数量问题,容易使人误认为可以挂任意多个DS18B20,在实际应用中并非如此。当单总线上所挂DS18B20超过8个时,就需要解决微处理器的总线驱动问题,这一点在进行多点测温系统设计时要加以注意;连接DS18B20的总线电缆是有长度限制的。试验中,当采用普通信号电缆传输长度超过50m时,读取的测温数据将发生错误。当将总线电缆改为双绞线带屏蔽电缆时,正常通讯距离可达150m,当采用每米绞合次数更多的双绞线带屏蔽电缆时,正常通讯距离进一步加长。这种情况主要是由总线分布电容使信号波形产生畸变造成的。因此,在用DS18B20进行长距离测温系统设计时要充分考虑总线分布电容和阻抗匹配问题;在DS18B20测温程序设计中,向DS18B20发出温度转换命令后,程序总要等待DS18B20的返回信号,一旦某个DS18B20接触不好或断线,当程序读该DS18B20时,将没有返回信号,程序进入死循环。这一点在进行DS18B20硬件连接和软件设计时也要给予一定的重视。在最初考虑元件时曾考虑过使用DS1822,DS1822与DS18B20软件兼容,是DS18B20的简化版本。省略了存储用户定义报警温度、分辨率参数的EEPROM,精度降低为±2°C,适用于对性能要求不高,成本控制严格的应用,是经济型产品。但考虑到精度问题以及两种产品在市场上的普及率最终还是选择的DS18B20O3.2.3加热控制系统的设计本次设计的中连接加热器体的加热控制器将采用光耦合器(opticalcoupler,英文缩写为OC)亦称光电隔离器,简称光耦。光耦合器以光为媒介传输电信号。它对输入、输出电信号有良好的隔离作用,所以,它在各种电路中得到广泛的应用。目前它已成为种类最多、用途最广的光电器件之一。光耦合器一般由三部分组成:光的发射、光的接收及信号放大。输入的电信号驱动发光二极管(LED),使之发出一定波长的光,被光探测器接收而产生光电流,再经过进一步放大后输出。这就完成了电一光一电的转换,从而起到输入、输出、隔离的作用。由于光耦合器输入输出间互相隔离,电信号传输具有单向性等特点,因而具有良好的电绝缘能力和抗干扰能力。又由于光耦合器的输入端属于电流型工作的低阻元件,因而具有很强的共模抑制能力。所以,它在长线传输信息中作为终端隔离元件可以大大提高信噪比。在计算机数字通信及实时控制中作为信号隔离的接口器件,可以大大增加计算机工作的可靠性。光耦合器的主要优点是:信号单向传输,输入端与输出端完全实现了电气隔离隔离,输出信号对输入端无影响,抗干扰能力强,工作稳定,无触点,使用寿命长,传输效率高。光耦合器是70年代发展起来产新型器件,现已广泛用于电气绝缘、电平转换、级间耦合、驱动电路、开关电路、斩波器、多谐振荡器、信号隔离、级间隔离、脉冲放大电路、数字仪表、远距离信号传输、脉冲放大、固态继电器(SSR)、仪器仪表、通信设备及微机接口中。在单片开关电源中,利用线性光耦合器可构成光耦反馈电路,通过调节控制端电流来改变占空比,达到精密稳压目的。本文具体采用MOC3041,MOC3041是MOTOROLA公司生产的单片集成光电耦合可控硅驱动器件,内部集成了双向可控硅、发光二极管、过零触发电路等器件,它由输入和输出两部分组成。MOC3041与饮水机的加热器相连,实现对加热器的驱动和控制。本系统用单片机的P3.1口与MOC3041连接,当P3.1口输出低电平时,MOC3041输入部分的发光二极管导通,发出足够强度的红外光去触发输出部分,控制可控硅导通,从而打开加热器;当P3.1口输出高电平时,MOC3041输入部分的发光二极管截止,可控硅断开关闭加热器。U3MOC3041534MOC3041图3-4MOC3041管脚图MOC3041有六个管脚其中有两个管脚为空管脚。具体功能如下:管脚1:ANODE(阳极)管脚2:CATHODE(阴极)管脚3:NC管脚4:MAINTERMINAL(主输出)管脚5:SUBSTRATEDONOTCONNECT管脚6:MAINTERMINAL(主输出)COUPLERSCHEMATICtAWOOECATHODENCTERMINAL%SUDSIRATLDONOTCONNECT6WiNflRMMAL图3-5MOC3041原理图在初始设计时曾考虑另外一种方案,选用了9012三极管和固态继电器实现了弱电对强电的控制。9012PNP型三极管应用广泛,在收音机等常用家电中可以经常看见它的身影。9012三极管在此作为开关量环节,起到了放大电流的作用,与固态继电器结合,从而实现了开关的作用。与此对应所选用的固态继电器是百特公司的产品,该型号的固态继电器是直流输入控制,交流过零导通,过零关断输出型无触点继电器。它常用与控制电路的导通和断开,是控制一般家用电器,如电动机、加热器、白炽灯的首选器件。具体电路图如下:但是考虑到更好的和单片机连接以及比较高的集成度我们选择了(1)方案。D39012+J图3-6备选方案的开关量控制环节3.2.4水位探测系统的设计在饮水机加热体中无水或水量极少的情况下继续对其加热将会产生干烧这种现象。饮水的干烧是非常危险的。根据用户的反馈,饮水机干烧轻则产生异味影响饮水机的正常使用,严重甚至可能损坏电线的外层塑胶皮引发短路进而可能引起火灾。所以在设计过程中防干烧系统显得尤为重要。下面我们来讨论使用较多的几种防干烧设计方案。D3方案:饮水机加热体可以设计为排水口的位置高于发热管,就算怎么烧也无所谓,因为里面的液体始终没排完(排水口的位置始终高于发热管),而且内胆是密封的,水蒸汽无处排,再且,当加热到一定温度时,电路会自动停止加热,所以相当一段时间内不会烧干。这种方法设计简单可行,但如果出现这种情况会反复加热浪费能源。方案:如果不考虑成本的话可以采用“液位开关”来检测水位,“液压开关”就是用来控制液位的开关。从形式上主要分为接触式和非接触式。非接触式的如电容式液位开关;接触式的例如:浮球式液位开关;电极式液位开关,电子式液位开关电容式液位开关也可以采用接触式方法实现。工业市场上有很多饮水机专用的“液压开关”,所以如果选用“液压开关”也是一种不错的选择。方案:另外一些低端的饮水机一般会采用“突跳式温控器”,该种温控器是双金属片温控器的新型产品,主要作为各种电热产品具过热保护时,通常与热熔断器串接使用,突跳式温控器作为一级保护。热熔断器则在突跳式温控器失效导致电热元件超温时,作为二级保护,有效地防止烧坏电热元件以及由此而引起的火灾事故。所以将突跳式温控器运用到饮水机中可以简单的实现防止干烧的目的。以上我们介绍了多种在实际中使用较多的防干烧方案,它们在现实工业设计中均有广泛的使用,在本次设计中我们考虑到我们定性测量要求以及方便与单片机相连接以及水的导电性等各种因素,我们将采用另外的一种方法来实现对加热体内水位的定性检测。口相连,另一端浸入饮水机的加热体中。当加热体中水量达到系统设定值时,系统采用一根不锈钢水位探测棒作为探测器,探测棒一端与单片机的P3.0探测棒浸入水中,由于水具有导电性,且加热体接地,从而使输入到单片机P3.0口的信号为低电平;当加热体中水量不足时,探测棒悬空,使输入到单片机P3.0口的信号为高电平。单片机根据水位探测器的输入信号执行相应操作,可有效地防止饮水机“十烧”。这种设计与单片机的连接及其的简单并且可以将加热体中缺水的信号通过单片机显示到LED显示模块上,方便用户及时发现缺水信息并及时解决。水位探测棒220V加热休加热器图3-7加热体及水位控制器示意图3.2.5显示电路及键盘电路的设计根据设计要求我们要为饮水机设计人机对话设备。目前,在一般的智能仪器中都采用键盘和七段显示器,在示波器,频谱仪,逻辑分析器或其他功能较完善的智能仪器中采用LCD或CRT显示器,少数仪器还附有微型打印机或绘图仪等,新型的仪器还有语音输出,在此我们讨论最常见的键盘,LED显示器这两种最常用的输入输出设备。首先我们来讨论饮水机的输出设计,在这里我们使用LED显示器。发光二极管LED是一种简单而常用的输出设备,智能仪器常用它来显示测量的结果或仪器的工作状态等信息。它的优点是价格低,寿命长,对电流、电压的要求低及容易实现多路等;但具有亮度较低、温度依赖性较大等缺点。LED适宜也脉冲工作状态,在平均电流相同的情况下,脉冲工作状态可产生比直流工作状态较强的亮度。一般其每秒可导通100次〜500次,每次为几毫秒。LED有单个、七段及点阵等类型。七段LED有共阴极与共阳极两种。对共阴极型LED数码管来说,公共阴极接地,当阳极上的信息为“1”时,段就被点亮;信息为“0”时,段就不亮。对共阳极型LED数码管来说,公共阳极接到电压合适的电源上,当阴极上的信息为“1”时,段就不亮;信息为“0”时,段就点亮。为了七段LED上显示字符,必须向LED显示器输入相应的字形码(或称为段码),完成字符代码到段代码的转换称为译码。一般有硬件译码和软件译码两种方法。在该设计中我们使用硬件译码我们所采用的译码器是7447译码器。常用的BCD七段显示器译码器TTL的7446、7447、7448、7449与CMOS的4511等等。其中7446、7447必须使用共阳极七段显示器,7448、7449、4511等则使用共阴极七段显示器。下图为7447集成电路译码器还有引脚图。在正常操作时,当输入DCBA=0010则输出abcdefg=0010010。故使显示器显示“2”。当输入DCBA=0110时,输出abcdeg=1100000,显示器显示“6”。在7447中尚有LT、RBI与BI/RBO控制脚,其功能分述如下:该电路是由与非门、输入缓冲器和7个与或非门组成的BCD-7段译码器/驱动器。通常是低电平有效,高的灌入电流的输出可直接驱动显示器。7个与非门和一个驱动器成对连接,以产生可用的BCD数据及其补码至7个与或非译码门。剩下的与非门和3个输入缓冲器作为试灯输A(LT)端、灭灯输入/动态灭灯输出(BI/RBO)端及动态灭灯输入(RBI)端。该电路接受4位二进制编码一十进制数(BCD)输入并借助于辅助输入端状态将输入数据译码后去驱动一个七段显示器。输出结构设计成能承受7段显示所需要的相当高的电压。驱动显示器各段所需的高达24mA的电流可以由其高性能的输出晶体管来直接提供°BCD输入计数9以上的显示图案是鉴定输入条件的唯一信号。该电路有自动前、后沿灭零控制(RBI和RBO)。试灯(LT)可在端处在高电平的任何时刻去进行,该电路还含有一个灭灯输入(BI),它用来控制灯的亮度或禁止输出。该电路在应用中可以驱动共阳极的发光二极管或直接驱动白炽灯指示器。7447之输出系为驱动器设计,其逻辑0之吸入电流高达40mA,故在使用必须加入330Q左右电阻加以限流,以免过大电流流经LED而烧毁显示器。g心RBO图3-8集成电路译码器7447管脚图本设计中的显示电路由4位七段码LED显示器组成,根据用户所选模式的不同,LED显示器的第一位显示字符“E”(温水模式)或字符“F”(开水模式);若系统检测到水量不足时,显示器第一位显示字符“L”。AT89C2051DS18B20采集到的数字水温信号经过处理,P1口输出段码和位选控制信号,由通过7447TTL/BCD译码器译码,由其余三位LED显示器动态显示水温值。这样一个译码器连接多个LED,每次只选通一位LED显示,诸位轮流选通,显示时先显示第一位,送出第一位要显示字符代码到译码器和相应的第一位的位选择信号,持续一段时间t后再显示第二位,,第N位。周而复始,N位显示一遍需Nt时间,只要Nt时间不超过20ms,人眼就不会感觉闪烁。图3-9LED显示模块的连接图讨论完LED显示电路,现在我们讨论键盘电路的设计。键盘是一组开关的集合,是最常用的输入设备之一。智能仪器在面板上均使用键盘输入取代各种传统的开关旋钮,键盘控制有以下优点:改用键盘后的按键可以复用,只要位数不多的按键就可以完成传统仪器许多面以少胜多。由于仪器的智能化,功能大大增加。如果按传统的方法,面板上需要增加很多控制按钮。这样不仅增加费用,而且使人眼花缭乱、操作困难。板控制按钮的作用。简单可靠。键盘一般使用单触点瞬间接通式按键,或使用电容或电感传感式无触点单线通断键。与传统的多刀多位旋转开关或琴键开关相比,单触点按键的机械结构和装配工艺都非常简单,因而其可靠性很高,造价亦低。还可以采用双触点按键来进一步提高可靠性。易于修改。在仪器的原型设计中或在仪器的更新改型时,常常需要对面板做些修改。而键盘的修改很容易,有时甚至可以完全不必更动面板原有结构,只需修改软件即可达到目的。便于远控。在使用单线通断键时,每个键都只有按下和释放两种状态,可分别对应于逻辑“0”和逻辑“1”状态,极易转换为与面板操作一一对应的远程控制,并使人工测试的手工程序与自动测试的程控操作统一起来。此外,面板键盘的排列布置不像传统按钮那样受到许多机械上和电气上的限制或牵连,可以布置的更有条理,更合乎逻辑而便于使用,并使面板更加美观悦目,这也能减少对操作者的精神压力,减少操作错误。但是键盘接口仍要解决一系列问题。例如,决定是否有键按下;如果有按键按下,决定是哪一个键被按下;确定被按键的读数;反弹跳;不管一次按键持续的时间多长,都仅采样一个数据;处理同时按键等。键盘接口的这些任务可用硬件或软件来完成,相应地出现了两大类键盘,即编码键盘和非编码键盘。编码键盘:每按一次键,键盘自动的提供被按键的读数,同时产生一个选通脉冲通知微处理器,一般还具有反弹跳和同时按键保护功能。这种键盘易于使用但硬件比较复杂。非编码键盘:只简单的提供键盘的行与列矩阵,其他操作如:键值的识别、决定按键的读数等均靠软件完成,故硬件较为简单。如果按键盘的组织方式可分为独立联接式和矩阵联接式两种。独立联接式是每一键互相独立的各自接通一条输入数据线;矩阵联接式是将诸按键排列成矩阵形式,这样可以减少按键的引出线。在本设计中我们只需要两个按键所以我们使用独立联接式的键盘电路,所以综上所述键盘电路由温水键、开水键2个独立式按键组成,控制饮水机的两种加热模式,系统将根据用户的按键选择进入温水模式或开水模式,并执行相应操作,单片机的P3.2和P3.3分别用来连接温水键和开水键。通过软件编程来实现他们的通信。
KIP3JKIP3J3.3整体电路图图3-11整体硬件电路图4系统软件设计硬件与软件是单片机应用开发系统的两个重要组成部分,本设计为了充分体现装置的智能化以及减小硬件电路的体积,软件部分设计的重要性就显得尤为突出了,所以软件设计工作在整个设计中是非常重要的、其工作量也是比较大的。单片机在推广应用的初期,主要使用汇编语言,这是因为当时的开发工具只能支持汇编语言。随着硬件技术的发展,单片机开发工具的功能也有很大的提高,对于8051单片机,有四种语言支持,即汇编语言、PL/M语言、C语言和BASIC语言。C语言是一种通用的程序设计语言,其代码效率高、数据类型及运算符丰富,并具有良好的程序结构,适用兼容于各种应用程序的设计和调试。在拟订软件总体设计方案时,由于实际单片机控制系统的功能复杂、信息量大和程序较长,这就需要选择合理的切合实际的程序结构设计方法。常用的设计方法有三种:(1)模块化的程序设计;(2)自顶向下逐步求精程序设计;(3)结构化程序设计。在本设计中采用第一种方法,既模块化程序设计,它的设计思路是把一个复杂应用程序整体功能规划成若干相对独立的程序模块,各模块可以单独设计、编程、调试,然后把功能相关的模块通过连接程序连在一起调试,最后各模块在主程序控制下进行总体调试,最终成为可完成设计要求,具有使用价值的程序。所谓流程图就是用各种符号图形箭头把程序的流向及过程用图形表示出来。绘制流程图是单片机程序编写前最重要的工作,通常我们的程序就是根据流程图的指向采用适当的指令来编写的。下面几节就是本次设计中的软件流程图。绘制流程图时首先画出简单的功能流程图粗框图再对功能流程图进行扩充和具体化即对存储器标志位等单元做具体的分配和说明把功能图上的每一个粗框图转化为具体的存储器或地址单元从而绘制出详细的程序流程图即细框图。在本次的设计中系统软件主要包括主程序、按键处理子程序和温度检测子程序。4.1系统主程序设计系统上电复位初始化后,首先检测是否有足够水量,同时启动DS18B20,若水量充足,则检测是否有键按下,有则进行相应的键处理,没有键按下,则待DS18B20读出温度数据后,输出给LED显示电路;若水量不足,LED显则示器第一位显示标志水量不足的字符(“L”。主程序流程图如图4-1所示。)
系貌初始化J—4水位监测器监测款位启动DS1&BW0P读温度和尹算匮度^¥」链处理4LED显亍u图4-1主程序流程图启动DS1&BW0P读温度和尹算匮度^¥」链处理44.2按键处理子程序当主程序检测到有键按下时,就转到按键处理子程序进行按键判断,根据判断结果进入温水模式或开水模式分支。在两个分支中,首先都判断当前水温值是否小于系统设定值,若小于系统设定值,则打开加热器将水加热至设定温度,然后返回主程序,否则直接返回主程序。按键处理子程序流程图如图4-2所示。
图4-2按键处理子程序流程图4.3温度检测子程序温度检测子程序流程图如下:图4-3温度检测子程序悬图图4-3温度检测子程序流程图经过近三个月努力,毕业设计终于完成了。本次设计的任务是设计出原理图并用Protel画出其电路图,做出实物。本次设计的电路主要包括主控制电路、温度传感电路、加热控制电路,人机对话电路等各电路均选用集成芯片构成的。根据确立的方案,将其原理框图画出,后选择合适的集成块用Protel99进行画图,画出电路图,从而完成了本次设计的要求。设计的关键部分:(1)用一片AT89C2051单片机作为整个系统的核心部件负责对外围器件的控制。(2)温度采集系统采用DS18B20芯片,因其集成模数转换器件,所以使用起来非常的方便。(3)人机对话器件包括键盘电路和LED显示电路两种,两种电路的设计均遵循简单易用,可靠的原则。(4)加热控制系统采用最常用的光电耦合可控硅驱动器件,使得无论是可靠性还是与单片机的易连接性都得到很好的保证通过这次毕业设计,加深了我对模电、数电、Protel99画图软件以及集成电路等方面的知识,将理论知识应用于具体电路的设计,加强了运用知识的能力。由于设计时间相对来说比较仓促,加上专业水平有待提高,虽然完成了任务书中的要求,但还存在一些不足之处,需要改进的地方。如果充分考虑单片机的性能可以在现有的基础上补充加热温度可调等功能,但限于时间关系暂时不能在本设计中体现出来,这也就成为本次设计的一个遗憾之处。感谢学校在即将毕业之际给了我这样一次锻炼的机会,我要衷心的感谢我的导师对我悉心的指导和帮助。他们的言传身教将使我终生受益,导师广博的学识和严谨的治学态度也使我受益匪浅。不论是在大学四年的学习期间还是在这次毕业设计中,老师和同学都给了我极大的帮助,是他们在我遇到困难的时候一次次给我鼓励,帮我克服困难,渡过难关。当我遇到不懂的问题时他们都及时帮助我,一次次的帮我解决困难,让我能顺利的完成设计任务。所以最后我要再次感谢校领导,感谢我的导师,感谢所有关心和帮助过我的人们!谢谢!参考文献魏立峰.单片机原理与应用技术[M].2006年第一版.北京大学出版社⑵王幸之.钟爱琴,王雷,王闪,AT89系列单片机原理与接口技术[M].北京航空航天大学出版社,2004年5月喻华.TLC5615芯片的应用[M].辽宁师范大学学报,2003李群芳.肖看.单片机原理、接口及应用-嵌入式系统技术基础[M].北京:清华大学出版社,2005.朱定华.戴汝平.单片微机原理与应用[M].清华大学出版社,2003陈良光.管聪慧.由数字式传感器DS18B20构成的多点测温系统[J].传感器世界,1999(9):32235.余孟尝.数字电子技术基础简明教程北京:高等教育出版设,2000宋春荣.通用集成电路手册.山东科学技术出版社,2001孙江宏等编.Protel99电路设计与应用.机械工业出版社,2001—01.258~263孙燕等编.Protl99设计与实例.机械工业出版设,1999—10.221~231刘大茂.智能仪器原理与设计.国防工业出版社,2008—05.129〜164郁有文,常键,.传感器原理及工程应用.西安电子科技大学
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论