蔬菜大棚温度控制系统设计(42页).doc
-蔬菜大棚温度控制系统设计-第 36 页目录摘要IABSTRACTII第1章 绪论11.1 选题背景11.2 国内发展现状及水平11.3 设计目的及意义11.4 本章小结2第2章 系统功能需求分析及方案选择32.1 设计要求 32.2 系统的功能需求分析3342.3 工作原理42.4 控制方案445552.5 系统控制方案的确定62.6 本章小结7第3章 硬件电路设计93.1主控制器AT89C51单片机电路9993.2 温度采集电路10 10 113.3 显示模块电路11 12 123.4键盘输入模块电路13 133.5 机械控制电路模块13 14 153.6 蜂鸣器报警电路153.7 电源输入部分 163.8 本章小结17第4章 系统软件设计194.1 系统主程序流程194.2 DS18B20测温读取子程序204.3 LCD1602显示子程序214.4 机械控制子程序 214.5 定时器子程序224.6 本章小结23第5章 系统调试与仿真255.1 系统调试255.2 系统仿真255.3仿真结果26第6章 结论27致谢29参考文献31附录33附录1 硬件电路原理图33附录2 元件清单表34附录3 源程序清单35摘要本设计完成了蔬菜大棚温度控制系统的系统设计。系统选用AT89C51单片机作为控制器,利用DS18B20数字温度传感器实时监测大棚当前温度,以加热灯泡和电机作为执行器,进行温度控制。采用Proteus软件绘制系统硬件电路图,以C语言为编程语言,利用Keil平台,完成了系统的软件开发,并进行了仿真。仿真结果表明,控制系统基本能够实现检测温度、降温和升温的功能,特别是以不同的工作模式工作时,通过PWM脉宽调制技术控制的电机以不同的转速工作,满足基本的设计需求。关键词:AT89C51,DS18B20,温度控制 ABSTRACTThe design is completed the system design vegetable greenhouse temperature control system. AT89C51 microcontroller as the controller system selected, using digital temperature sensor DS18B20 real-time monitoring greenhouse current temperature, heating lamp and motors as actuators for temperature control. Proteus uses software rendering system hardware circuit, with C language programming language, using Keil platform to complete software development system, and simulation. The simulation results show that the control system is basically possible to detect the temperature, cooling and heating function, especially in the different operating modes of work, by a motor control PWM pulse width modulation technology work at different speeds to meet the basic design requirements.Keywords: AT89C51 , DS18B20 , temperature control第1章 绪论1.1 选题背景在生活中,能量对于所有生物的重要性不言而喻,而温度则是能量的一个很重要的体现,所有生物跟温度都有着密不可分的关系。自从第一次工业革命以来,温度的控制对于工业的发展有着十分重要的作用,可以说掌控了温度,就掌控了工业发展的命脉。中国是个农业大国,而有农作物的生长跟温度有很大的关系,因此可以说温度的控制在农业的生产中也十分重要。限制我国农业发展的两个难题是耕地面积少和气候条件复杂,虽然说中国地大物博,但人口众多,耕地面积少,加上日益破坏严重的环境,人均占有的耕地面积就更少,这极大的制约了我国农业的发展。温室大棚技术的出现就是其中一个解决这两个难题的好方法。温室大棚通过温度控制建立一个适合农作物生长的人工气候环境,从而大大提高农作物产量。同时,温室大棚几乎可以建立在任何地方和任何环境,不用考虑地理因素和和环境因素,因此可以很好的解决制约农业发展中耕地面积少和气候条件差这两个难题,为农业的发展带来巨大的贡献。1.2 国内发展现状及水平随着生活水平不断提高,人们在解决温饱之后对生活的质量也有很高的要求,对绿色食物尤其是蔬菜的需求就在不断的增加。传统的农业生产带有很强季节性,即蔬菜的产量跟季节或自然环境有很大的关联,当季节不适合或自然环境不好时,其产量将大大降低,这就不能满足人们的需求,而蔬菜大棚的出现则能很好的解决这一难题。蔬菜大棚的主要技术核心之一是温度控制,目前我国最常用的蔬菜大棚温度控制的方法是通过人工在蔬菜大棚内装上温度计,然后通过读取温度计上显示的温度值得到大棚的当前温度,再把得到的当前温度与设定温度进行比较,看当前温度是过高还是过低,然后再进行相对应的降温还是升温10。这种人工监控方法不仅费时费力,成本高,而且误差大,随机性大,其调节措施也有很大的局限性。因此,我们需要一种造价低廉、测量准确以及控制方便的温度控制系统来解决这些难题。1.3 设计目的及意义单片机控制技术的出现为我们解决蔬菜大棚中温度控制的难题提供了很好的思路。单片机在现代的控制领域中被称之为小电脑,被越来越多的应用到现代的生活中13。在蔬菜大棚中进行温度控制时,采用单片机来控制温度的自动控制系统,其具有可靠性高、精度高、功能强以及造价低廉等的优点,这些优点可以大幅度提高被控温度的各项技术指标,给蔬菜提供一个适合生长的环境,从而大大提高蔬菜的生产质量和数量1。除此之外,在传统的大棚中,电机的转速在不同的温度下其转速都是一样的,当温度超过上限设定温度但不是很高的时候基本不会出现问题。但温度超过上限设定温度很多时,如果电机还是以较慢的转速开始工作,则会因为降温不及时而导致蔬菜生长受到影响。考虑到传统蔬菜大棚的这一缺陷,在本设计中运用PWM脉宽调制技术控制电机的转速2,避免出现上述提到的问题。同时,自动控制也将节省大量的人力和财力,给农民带来更高的收入。因此,采用单片机控制蔬菜大棚温度的自动控制系统比传统的人工控制具有不可比拟的优势,它为现代农业的发展提供了强大的技术支持,并指明了方向。本文的组织结构如下:在第二章中分析了控制系统的硬件和软件功能需求,提出问题。在第三章内容中分模块进行电路设计,完成系统的总体电路设计。在第四章中根据系统流程图完成系统的软件开发。第五章运用Proteus软件和Keil程序编写软件对系统硬件和软件进行仿真并分析仿真结果。第六章中是整个设计的结论,并对论文进行总结。1.4 本章小结本章节首先给出此次设计的选题背景和国内发展现状及水平,说明蔬菜大棚存在的问题,然后通过设计目的及意义阐明研究问题的技术要点和方向,为下一步的系统功能需求分析和方案选择打好基础,并在本章节的最后给出论文的结构。第2章 系统功能需求分析及方案选择完整的控制系统一般包含了多个部分的电路,每一部分电路可以由多种方案实现,但每一种方案在实现所需要的功能时,其电路在精确度、复杂程度、可行性分析等方面都各有所不同。为了使整个系统电路变的简单,制作成本低,精准度高,可行性好,本章将对整个系统的电路进行拆分,依次对每一部分电路的选择方案进行论证,使用最优的方案达到最优控制的目的。2.1 设计要求 本次设计需要设计一个蔬菜大棚温度控制系统,其具体要求如下: 蔬菜大棚设定的初始上下限温度值分别为30和20,也可以由人为调控设定,并通过显示器显示出上下限温度值和实时温度值,其最小的区分度为1。当实时温度在上下限温度之间时,表示系统温度处于正常状态,机械控制模块不工作;当实时温度高于上限温度时,蜂鸣器发出声音进行报警,机械控制模块控制降温设备进行散热降温,同时要求当实时温度超过上限温度越多,散热越快。当温度回降到上下限的中间值即25时,降温设备停止工作。当实时温度低于下限温度时,蜂鸣器发出声音进行报警,机械控制模块控制升温设备进行加热升温;当温度回升到上下限的中间值即25时,升温设备停止工作。2.2 系统的功能需求分析系统的功能需求分析包括硬件功能需求分析和软件功能需求分析。根据设计要求和系统的功能需求分析,得到系统的功能需求。首先,需要选择一个主控制器来进行数据的检测和处理,在大棚温度控制的过程中需要加热以及散热,所以在硬件系统中需要一个加热灯泡和电风扇,电风扇用电机代替。当通过主控制器检测到温度低于设定的温度下限时,则启动加热灯泡开始对空气温度进行加热升温,让系统的温度保持在所设定温度上下限值的范围内。在此过程中用到的温度传感装置为DS18B20,主控制器通过接收传感器传回的温度数据,判断是否在所设定温度上下限值的范围内。在本设计中当温度超过设定温度上限越多,电机转动的越快,这就需要控制电机速度2,根据电机所学知识,电机的转速与施加在电机两端的电压大小成正比,但是电机在接入电压后转速不会立即到最大值,而使在经过一段时间的加速后才会到达当前电压下的最大转速。在电机的速度控制程序中,通过控制输出高低电平占空比进而控制电机两端的平均电压,即通过PWM脉宽调试改变电机输入电压的占空比来实现的。软件就是对主控制器的编程,在软件编写的过程中以软件流程图为依据,然后根据硬件系统的设计要求按步编写。系统开始运行后,主控制器将检测到的温度信息进行分析,检测温度是否在所设定温度上下限值的范围内,若不在则主控制器与加热灯泡或电机相连的引脚输出高电平,使加热灯泡或电机工作开始对空气温度进行升温或降温。同时通过程序的编写,让主控制器能输出相应的PWM波信号,完成电机调速的功能。在本设计中用到的温度检测元件是DS18B20温度检测器,这就需要在程序中引入DS18B20的基本读写程序。按照上述对蔬菜大棚温度控制系统要求的分析,通过硬件系统和软件系统的配合工作来达到本设计的控制要求。2.3 工作原理本次设计的蔬菜大棚温度控制系统主要的工作原理过程是:温度采集模块对温度进行采集,在显示模块上显示出来的同时传给主控制模块,通过主控制模块的整合处理,最后通过主控模块输出的电平信号来使机械控制模块进行相对应的工作,使蔬菜大棚的温度达到所要求控制的目标。2.4 控制方案控制方案的选择关系到控制系统的成败,完整的控制方案一般包含了多个小的模块方案,每一小模块方案功能的实现,则控制系统将能完成所需要的功能。为了使整个控制方案合理可行,下面将进行收集分析各模块资料信息的工作,最终选出最合理的控制方案。随着科技的进步发展,目前常见的的温度控制器有很多种,其中单片机和PLC是最先进的两种,以这两种为主控制系统的设计方案十分符合蔬菜大棚温度自动控制的要求。方案一:单片机控制系统 由于要对系统内的温度进行检测和控制,因此选用AT89C51型号的单片机在控制性能要求上是可以完成主控制任务。AT89C51型号的单片机的电路的连接比较简单,其与其他设备很容易就可以实现双向数据传输交换8。同时,单片机控制系统的优点是单片机的价格便宜,使用灵活;其缺点是单片机的编程比较难,而且必须得到电路板技术的支持。方案二:PLC控制系统PLC的控制方式主要是根据所需求的环境条件,设置目标参数,然后PLC控制器根据已设置的目标参数自动进行相对应的动作,以达到所要完成的自动控制的任务。PLC的控制方式优点是稳定性和可靠性很高,能在各种复杂环境下稳定工作。但是,其缺点也比较明显,就是PLC本身的价格昂贵,类型不同的PLC不能兼容使用,其相对应的编程语言和指令系统也不兼容。综上所述,虽然PLC控制系统能很好的在复杂的环境中工作,其可靠性能也比单片机的要高,但是单片机也能通过编程完成自动控制的目的,而且更加经济实惠。所以,主控制系统选用单片机控制系统,即选择方案一。方案一:使用热敏电阻。使用热敏电阻所测量的温度,不能直接显示被测温度,需要进行A/D转换,因此电路设计复杂,而且测温精度低,抗干扰能力差,不利于完成控制任务。 方案二:温度采集电路可以使用DS18B20温度传感器。DS18B20温度传感器的精度高,工作稳定性好,具有很好的抗干扰能力,而且价格适中,其测温方式简单,能直接读取被测温度值,不用经过各种复杂的转换。因此,DS18B20温度传感器能很好的完成测温任务。 综上所述,采用DS18B20温度传感器的测温电路连接比较简单,而采用热敏电阻之类器件的测温电路比较复杂,测温精度及稳定性也不高,因此测温方式采用方案二的。方案由设计要求所知在显示器上所要显示的内容为实时温度值和设定的温度上下限值,要完成这个要求就需要合理选择显示器,因此在本小节中将通过对比分析选择大棚温度的显示模块。方案一:采用LED数码管显示。数码管使用简单,但一个数码管只能显示一个字符,要显示多位数据时就要使用多个数码管,这就增加了硬件电路的复杂度和额外功耗,而且LED数码管也无法显示字12。而本次设计显示模块需要显示出实时温度值和设定的温度上下限值,显示内容比较复杂,而LED数码管也无法显示字母,即LED数码管没办法显示这么多的内容,因此排除使用数码管。方案二:采用LCD1602液晶显示。LCD1602液晶具有功耗低,显示内容丰富清晰,显示信息量大,显示速度较快,使用简单等特点且得到了广泛的应用。并且与单片机连接电路简单,容易控制。综上所述,通过以上方案论述且由于LCD1602可以满足本设计的基本要求,因此选择方案二。在本次设计中,当系统的温度不在所设定温度范围内时,就需要机械控制系统进行相对应的动作使温度能够维持在所设定的范围内。机械控制系统包括升温模块和降温模块,其中升温设备是使用大功率电灯泡来加热空气温度进行升温,这种升温方式既快捷又方便,所以主要考虑的是降温的方案。降温最简单的方式是打开大棚的天窗进行自然通风,但当温度过高时,自然通风不能达到降温要求时,就需要机械控制通风进行降温,而机械控制通风最好的方式是采用风扇通风。蔬菜大棚温度控制系统是个模拟系统,所以使用电机来代替风扇来进行模拟实验。根据设计要求里的温度越高,降温越快的要求,这就涉及到电机的调速问题。目前,最常应用于调速的电机主要有步进电机和直流电机。根据对电机的分析,就可以选择合适的电机。方案一:采用步进电机。步进电机可以准确的控制电机的转动角度,但是如果控制不当就容易产生共振,难以获得较大的转矩和转速,而且调速范围小,耗电量也大,所以不适合使用在调速系统中。方案二:采用直流电机。直流电机可以在精确控制的情况下得到加大的转矩和较大的转速。同时,直流电机具有调速范围广、易于使用和安装,耗电量低,寿命长,抗干扰能力强等优点,所以被广泛应用在调速系统中。综上所述,因为直流电机能够实现平滑调速,而且控制更加方便,能耗少,符合控制任务要求,所以选择直流电机即方案二。2.5 系统控制方案的确定 综上所述,得到系统的基本组成结构框图如图2.1所示。电源模块 AT89C51单片机主控模块显示电路模块键盘输入模块机械控制模块温度采集模块报警电路模块晶振和复位模块 图2.1 系统的基本组成结构框图本次设计系统的基本组成结构其由八个小部分组成,分别是:使用AT89C51单片机芯片为控制核心的主控制模块;使用DS18B20温度传感器的温度采集模块;使用电灯泡升温和电机降温的机械控制模块;使用LCD1602液晶显示器的显示模块;使用按键的上下限可调控的键盘输入模块;蜂鸣器报警电路模块;单片机的最小系统即晶振和复位模块以及电源模块。2.6 本章小结本章内容是通过对控制系统的硬件和软件的系统功能分析,对此次设计的蔬菜大棚温度控制系统的各部分电路在方案选择上做了选择,并详细介绍所选择的每一部分电路的最优方案,为接下来的硬件电路设计和软件设计提供了基础,以系统的硬件和软件的功能要求逐步进行设计。第3章 硬件电路设计本章主要是基于第二章选择的最优控制方案,选择相关的电路控制方案,并且说明电路的基本原理,再通过合理的电路搭建完成硬件电路的设计。3.1主控制器AT89C51单片机电路本次设计中选择AT89C51单片机为主控制器,本节中将对AT89C51的功能进行简介,同时也将对连接单片机的基本外围电路进行简要说明。 单片机类型的不同将导致功能不同,作为能与MSC-51系列单片机兼容切换使用的单片机,下面将对AT89C51单片机的功能进行简介,其主要功能特性如表3-1所示。 表3-1 AT89C51单片机主要功能特性表主要功能特性兼容MCS51指令系统4K字节可编程闪烁存储器32可编程I/O线128x8bit内部RAM1000写/擦循环时钟频率0-24MHz两个16位定时器/计数器可编程UART串行通道三级加密位5个中断源AT89C51型单片机的最小系统由复位电路和时钟电路组成,以下将对单片机的最小系统电路进行具体说明。如图3.1所示为单片机最小系统电路,其中复位电路的复位输入引脚为单片机提供了初始化的手段。当系统运行时,如果电路中某一部分电路发生故障或出现程序错误等情况时,单片机就会出现故障,这时就需要单片机的最小系统的复位电路来清除错误的运行状态。按下复位电路的复位按钮,单片机就会停止当前的运行状态,内部的程序就会从头开始执行,使单片机内部的所有参数重新处于起始的位置,并清除单片机错误的运行状态,最后重新开始执行程序。图3.1 单片机的最小系统电路本电路中需要实现手动复位功能,则频率选用12MHZ时C5取10uF,R取10k。手动复位原理如图3-1所示,单片机的复位按键K1按下后,单片机就接入高电平,单片机的RST引脚接高电平被时序电阻R1拉低后进行复位,单片机运行的程序就会重头开始6。 单片机运行时需要有晶振产生基本的时钟信号,目的是让各个小部分的运行工作能保持同步。单片机经12MHZ的晶振分频之后,用于程序的每一步执行,晶振电路主要由电阻和电容的并联组成,晶振可以看做是一个电感,再并连上一个大小适当的电容,就组成了并联谐振电路。该电路用在负反馈中就可以构成正弦波振荡电路,由于其频率比较窄,不会受其它元件的影响。本电路原理上选择11.0592MHZ的晶振,电容典型值在20pF到100pF之间选择,典型值通常为20pF。故本电路的C1、C2都选择20pF的电容值。 3.2 温度采集电路本节主要是说明利用DS18B20温度传感器进行测量温度的电路原理,用到的主要器件是DS18B20芯片,故本节中主要对DS18B20温度传感器的功能进行简介以及电路连接原理的说明。传感器类型的不同将导致功能不同,下面将对DS18B20温度传感器的基本技术性能进行简介,其基本技术性能如表3-2所示。 表3-2 DS18B20温度传感器的基本技术性能表技术指标基本技术性能测温范围55125,在-10+85时精度为±0.5工作电源3.05.5V/DC可分辨率分别为0.5、0.25、0.125和0.0625接口方式单线接口即可实现微处理器的双向通讯电路接线在使用时不需要任何外围元件测温方式支持多点组网功能负压特性电源极性接反时,芯片不会因发热而烧毁工作特性具有极强的抗干扰纠错能力此次设计的DS18B20温度传感器测温电路具有工作稳定可靠、抗干扰能力强、而且电路也较简单的优点,能很好的完成测量温度的任务。因为DS18B20温度传感器的电路连接要求符合1-Wire协议内容4,因此在连接其测温电路时,把DQ口接入到单片机的P1.0端口,而DQ口再外接一个5V电源电压的10k上拉电阻,就可完成其测量温度电路的连接。此次设计的DS18B20测温电路图如图 3.2所示。图3.2 DS18B20测温电路图3.3 显示模块电路显示模块主要是利用LCD1602液晶显示器显示实时温度值和上下限温度值,以下将对LCD1602液晶显示器功能进行简述以及对显示模块电路的连接进行分析说明。本次设计的显示电路采用的是LCD1602液晶显示器。下面将对LCD1602液晶显示器的基本技术性能进行简介,其基本技术性能如表3-3所示。 表3-3 LCD1602的技术性能参数表技术指标技术性能参数显示容量16×2个字符工作电压4.55.5V工作电流2.0mA(5.0V)最佳工作电压5.0V 字符尺寸2.95×4.35(W×H)mm LCD1602可以显示2行16个字符,有8位数据总线D0-D7,分别连接到单片机的数据端口P0.0-P0.7上,进行数据传输;管脚RS、RW、E为三个控制端口,而3管脚VEE上连接的滑动变阻器具有可以调节字符的对比度和显示器的背光功能9。显示模块电路连接原理图如图3.3所示。图3.3 显示模块电路连接原理图3.4键盘输入模块电路当系统温度要求控制在不同的范围内时,需要重新调节温度上下限的范围,而这个过程就用到键盘输入信号进行调节。通过对温度上下限调节功能的分析,就得到键盘电路的设计思路。本次设计的温度控制系统在工作时,具备温度上下限可由人为设定调控的功能。因此,可以通过键盘输入电路来实现该功能。由于本设计的系统使用到4个按键,按键的使用比较少,因此可选用独立式按键,按键采用轻触开关3。4个按键的功能分别为: K2:选择键,可以切换需要更改的温度上限与温度下限;K3:增加键,当需要增大温度上下限时,按此键一次则可以让上限温度和下限温度增加1; K4:减小键,当需要减小温度上下限时,按此键一次则可以让上限温度和下限温度减小1;K5:确定键,当重新调节好温度上下限后,按下确定键可将此时重新设定好的温度上下限的值进行保存,并在显示器上显示出来。按键电路图如图3.4所示,其中按键K2-K5分别连入单片机的P1.3-P1.6端口,同时接地。图3.4 按键电路图3.5 机械控制电路模块机械控制电路模块主要包括降温和升温电路,当环境温度需要发生变化时,单片机就会控制降温模块电路或升温模块电路开始进行相对应的降温或升温工作。在实际应用中,升温用的大功率电灯泡和降温用的电风扇的工作电源是220V交流电源电压,但是因为单片机的引脚的驱动能力有限,所以考虑用继电器来驱动灯泡和风扇。利用单片机控制大功率电灯泡和电风扇的工作原理为:利用一只三极管的基集连接到单片机的I/O口,通过单片机输出的电平连接控制三极管的通断,然后用三极管的集电极电流Ic来控制5V继电器开关的吸合7,而继电器上连接着用220V电源电压驱动的灯泡或风扇。当继电器开关闭合时,220V电源电压与灯泡或风扇的电路形成回路,灯泡或风扇就开始工作;而当继电器开关断开时,220V电源电压与灯泡或风扇的电路没有形成回路,灯泡或风扇不工作。这样,单片机就可以通过电平的输出来控制灯泡或风扇的升温或降温工作。在本次设计的系统中,为安全起见,所以使用5V的直流电来代替模拟220V的交流电,相对应的灯泡和风扇也使用用5V驱动的小灯泡和直流电机来代替。当温度高于上限时,降温设备开始工作。当温度超过上限太多时,就需要进行快速降温散热,否则会影响蔬菜的生长;而当温度稍微超过上限时,缓慢降温散热就可以,这样既能达到很好的降温效果又能节约成本。因此,这就需要用到电机的调速来控制降温的快慢。本次设计的蔬菜大棚温度控制系统能自动控制温度,因此连接好电机的驱动电路后,通过编写程序来控制单片机端口产生的PWM波来控制电机的转速,达到自动控制的目的要求。其调速原理为:在单位时间(T)内PWM波产生高电平的时间(T1)占单位时间的百分比为占空比,即当占空比为50%时,电机的实际转速是按电机额定转速的50%来转动,这样就达到电机调速的目标要求。在本次设计的系统中,为了方便观察调速后电机转动的速度,用一个发光二极管并联到继电器的电路中去,发光二极管闪亮的快慢就是电机转动的快慢。其具体工作过程为:当实时温度低于上限温度时,P1.2管脚的输出信号为1,电机不转动;当温度超过上限温度且不超过5时,P1.2管脚的输出信号为0, 电机开始转动,在单位时间(T)内PWM波产生高电平的时间(T1)占单位时间的百分比为50%,即占空比为50%,则电机按额定转速的50%转动;当温度超过上限大于5时,在单位时间(T)内PWM波产生高电平的时间(T1)占单位时间的百分比约为100%,即占空比约为100%,则电机接近于按额定转速转动;当温度降到上下限温度的中间值即25时,P1.2管脚的输出信号为1,电机停止转动。因此温度越高,电机转速越快。降温电路原理图如图3.5所示。图3.5 降温电路原理图当温度低于下限时,升温设备开始工作,与单片机连接的P2.4管脚输入低电平,三极管导通,继电器有电流通过将吸合,则升温设备即大功率电灯泡开始对空气进行加热升温。当温度上升到上下限温度的中间值即25时,与单片机连接的P2.4管脚输入高电平,三极管截止,继电器没有电流通过将断开,则升温设备停止工作。升温设备使用大功率电灯泡,仿真时用5V的小电灯泡代替,小灯泡发光时可能看的不是很清楚,所以再用一个发光二极管并联到继电器的电路中去,以便于观察升温的工作过程。升温电路原理图如图3.6所示。图3.6 升温电路原理图3.6 蜂鸣器报警电路蜂鸣器电路存在的目的是报警,提醒环境温度已经发生变化,需要启动机械控制设备进行相对应的工作。蜂鸣器电路的工作原理是:蜂鸣器需要一只PNP9012三极管来驱动,三极管的基级b经过限流电阻为10k的R3后由单片机的P1.5端口,通过单片机端口输出的电平来控制三极管的导通与截止。当单片机端口输出高电平时,三极管截止,蜂鸣器电路没有形成回路,则蜂鸣器不发出声;当单片机端口输出低电平时,三极管导通,蜂鸣器的电流形成回路,这样蜂鸣器就会发出声音进行报警。本次设计的蜂鸣器报警电路在环境温度高于上限或低于下限时都会发出声音进行报警,只有在环境温度正常或人为主动停止的情况下,蜂鸣器电路才不会发出声音。蜂鸣器电路图如图3.7所示。图3.7 蜂鸣器电路图3.7 电源输入部分 本次设计的蔬菜大棚温度控制系统所需要用到的元器件都是使用5V的直流电源供电,因此得把220V的单相交流电压转换为5V直流电压。其转换的主要工作原理是利用电源变压器和整流电路把交流电变为大小合适的直流电,再经过滤波电路和稳压电路把其转换成稳定的直流电压5。稳压电路使用稳压芯片7805,其电路原理图如图3.8所示。图3.8 5V直流电压转换电路图由于输入电压为电网电压,一般情况下所需直流电压的数值和电网电压的有效值相差较大,因而电源变压器的作用就显现出来,起到降压的作用。降压后还是交流电压,所以需要整流电路把交流电压转换成直流电压。由于经整流电路整流后的电压含有较大的交流分量,会影响到负载电路的正常工作。因此需通过低通滤波电路滤波,使输出电压平滑。稳压电路的功能是使输出直流电压基本不受电网电压波动和负载电阻变化的影响,从而获得稳定性足够高的直流电压。3.8 本章小结本章主要对硬件电路部分进行了设计。通过对系统不同模块的功能分析完成硬件电路的搭建,并采用Protues软件绘制系统总电路图,结合下一章内容的软件设计,为最后的系统仿真工作做好准备。蔬菜大棚的整体硬件电路图和原件清单将在附录中给出。第4章 系统软件设计控制系统不仅需要设计最优的硬件电路,而且需要精确的程序来指引各部分电路的运行,使各部分电路能准确的实现其功能。本章将根据所设计出的硬件电路,编写使其能按所需功能进行运行的程序。 本系统是以AT89C51单片机为控制核心,采用C语言编程。系统程序主要由主程序,DS18B20测温读取子程序,LCD1602显示子程序,机械控制子程序和定时器子程序等组成。4.1 系统主程序流程本系统的总工作流程是:系统开始并初始化后,启动温度传感器读取温度值,读取成功后线性拟合数据,然后由显示器显示数据。用读取显示的温度值与设定的温度上下限进行比较,如果温度过限,则蜂鸣器发出声音报警并启动机械控制设备;如果温度在上下限范围内,则显示当前温度值。系统主程序流程图如图4.1所示。开始系统初始化设定温度上下限读取并显示温度值Y蜂鸣器发出声音报警判断温度是否过限N启动机械控制设备显示温度图4.1 系统主程序流程图4.2 DS18B20测温读取子程序DS18B20温度传感器在测量温度时,由于DS18B20转换后的代码并不是实际的温度值,所以要进行数据处理。同时,本程序采用的是0.0625的精度,因此小数部分的值,可以用后四位代表的实际数值乘以0.0625,得到真正的数值,数值可能带几个小数位,所以采取四舍五入,保留一位小数即可。也就说,本系统的温度精确到了0.1度15。 程序每次对DS18B20操作时都要按照DS18B20工作过程中的协议进行,其过程为:初始化-> ROM操作命令-> 存储器操作命令-> 数据处理->读取温度值 。DS18B20测温读取程序流程如图4.2所示。开始初始化DS18B20是否存在?NYROM操作指令存储操作指令数据处理返回读取温度值图4.2 DS18B20测温读取程序流程如图4.3 LCD1602显示子程序LCD1602显示器在显示字符时,经过写函数命令和写数据函数过程后,需要一个延迟程序,其显示程序流程图如图4.3所示。开始初始化Y检查到忙信号N写函数命令写数据函数延迟图4.3 LCD1602显示程序流程图 4.4 机械控制子程序 机械控制的子程序是根据机械控制设备所要实现的功能而编写的,单片机通过程序达到对机械控制设备的自动控制功能。其具体过程为:实时温度不超出上下限温度时,机械控制的子程序处于准备调用状态;当温度高于上限时,机械控制的子程序处于正在调用状态,蜂鸣器发出声音进行报警的同时机械控制设备进行降温调节;当温度降到指定值时,机械控制的子程序回到准备调用状态。当温度低于下限时,机械控制的子程序处于正在调用状态,蜂鸣器发出声音进行报警的同时机械控制设备进行加热升温。当温度上升到指定值时,机械控制的子程序回到准备调用状态。温度控制子程序流程图如图4.4所示。调用 读取温度值 进行温度处理Y温度>上限?N报警并启动降温设备Y温度<下限?N报警并启动升温设备调用图4.4 温度控制子程序流程图4.5 定时器子程序利用单片机的定时器来产生PWM波,然后通过驱动电路控制电机实现调速功能。以下将对定时器中断流程图进行设计,定时器中断流程图如4.5所示。在图4.5中,定时器中断流程图中开始先将定时器初始化,使用定时器来模拟PWM波输出,进而控制电机实现调速功能。首先将定时器设定定时时间为1ms,定义两个变量用于计数,每到1ms时将变量加1,如果变量加到了所设值使PWM输出管脚输出高电平,如果没到则输出低电平。由此原理来模拟PWM波输出。故在此流程图中首先设定计数变量和占空比变量,由变量值和占空比值的不同输出不同的高低电平,因为设定的PWM周期为100故当变量加到100时令变量值为0,重新开始计数16。开始 定时器初始化设定计数量 t1,t2设定占空比变量 a,b计数值<占空比设定变量?NYP1.2输出高电平 P1.2输出低电平t1=t1+1t2=t2+1YNt1或t2>=100 t1=0 t2=0结束 图4.5 定时器中断流程图4.6 本章小结通过对本章内容各阶段程序的分析,采用Keil软件对整个控制系统的程序进行编写,在下一章内容中将运用编写好的程序结合Proteus软件对控制系统进行模拟仿真。第5章 系统调试与仿真本章结合第三章硬件电路的搭建以及第四章软件程序的控制完成设计,完成对蔬菜大棚温度控制系统所需具备各功能的仿真实验,并确定所设计产品是否符合要求及有需改进的地方。5.1 系统调试调试的过程其实就是硬件系统和软件系统的查错过程。尽管调试方法和步骤有许多种,然而不同系统在这方面基本是相同的,只是具体的细节会有细微的差别,同时还和所选用的单片机型号有很大的关系。在进行硬件系统调试时,先给硬件电路进行通电,之后需要检查I/O端口的电位,测量每个电位从而可以看出是哪里出现了错误,尤其需要注意输出口的电位以确保正确。完成后将单片机信号的输出接口和外部仿真电路接口相连接,之后准备进行软件调试。进行软件调试时,不仅需要把每个程序模块都调节好,在每个程序模块调试好之后,还得把与每个程序模块相关的各功能模块都联合起来,整理好之后才可以进行综合调试。综合调试最终显示出正确的结果则软件调试才结束。同时,还需要进行多次连续调试,确保每次调试结果都正确后,即为调试成功。5.2 系统仿真把调试好的软件程序即程序下载到硬件电路中即为系统仿真。打开系统仿真软件Proteus的开始按钮,观察和记录仿真的运行过程和结果。下面将展示蔬菜大棚温度控制系统各个模块的仿真结果图。(1)蔬菜大棚通过LCD1602显示器显示实时温度和上下限温度如图5.1所示。图5.1 LCD1602温度显示图(2)蔬菜大棚的升温工作图如图5.2所示。图5.2 升温工作图