基于单片机的温湿度控制系统设计改_第1页
基于单片机的温湿度控制系统设计改_第2页
基于单片机的温湿度控制系统设计改_第3页
基于单片机的温湿度控制系统设计改_第4页
基于单片机的温湿度控制系统设计改_第5页
已阅读5页,还剩59页未读 继续免费阅读

下载本文档

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

文档简介

1绪论111课题背景研究意义112国内外研究情况及其发展2121国外研究发展状况2122国内研究发展状况3123发展趋势313设计目标42系统方案选择521总体方案522单片机的选择623传感器信号检测电路724显示电路的选择825键盘电路的选择93硬件系统设计1031单片机系统1032温湿度传感器及检测电路1233显示电路1534键盘电路1736输出控制电路204软件系统设计2641主程序2642温度湿度采集程序2943LCD显示程序3436开始LCD初始化延时设置第一行显示位置显示第一行内容设置第二行显示位置显示第二行内容结束44键盘扫描程序3745系统输出控制程序415系统仿真与调试4451系统软件调试与仿真4452系统综合调试49结论51致谢52参考文献531尚书旗等,设施养殖工程技术北京中国农业出版社,20003405329靳传道未来孵化设备的发展方向中国禽业导刊2003,14125335林其禄,葛秀珍,关于孵化设备的现状、发展与孵化工艺若干问题的商榷中国家禽,1996,8465347侯满宏智能箱体孵化设备的研究【硕士学位论文】长春长春理工大学图书馆,200653610郁筝,基于现场总线的孵化测控系统的研究,【硕士学位论文】长春吉林大学图书馆,2003538金美华,傅星琪一种基于CAN总线的分布式温度测控系统无锡南洋学院学报,2005,346505311廖纪朝等,科学养鸡指南金盾出版社,19985312王小芬,湿度对孵化效果的影响,中国家禽,2000,12485313刘洪恩孵化自动测控系统的设计INSTRUMENTATIONTECHNOLOGY2007,138405314顾道良,孵化湿度对孵化效果的影响孵禽生产,1998,15125315马忠梅,张凯等,单片机的C语言应片J程序设计M)北京北京航空航天大学出版社,20035316李朝清,单片机学习辅导测验及解答讲义北京北京航空航天大学出版社2003,75317刘雪雪,赵良法单片机原理及实践北京高等教育出版社,20065319LAZADEHFUZZYSETSJINFORMATIONANDCONTROL,1965,854摘要孵化设备是模拟自然界的孵化环境,为胚胎发育提供适宜的条件,用于家禽种蛋孵化的一种仿生学应用。当前孵化设备温度和湿度的控制精度不高,价格昂贵,孵化管理效率不高。基于以上原因,本文设计了基于单片STC89C51的智能孵化箱温湿度测控系统,该系统主要有数字主控单元,孵化箱,加热器,加湿器,传感器,电机,风扇等单元构成。数字主控单元主要有按键显示模块,温度湿度采集模块,输出控制等模块构成。温湿度传感器SHT10采集孵化箱内的温湿度并进过一系列转化计算传送给单片机,单片机与预设值比较,然后通过光电耦合器TLP521和功率驱动芯片ULN2803AG以及继电器等组成的输出控制部分电路来控制孵化箱加温或减温,加湿或减湿,通风等来实现要求达到的孵化条件。另外按键显示模块为用户提供了人机交互的通道,用户可以通过键盘输入预先需要设定的参数,比如温度湿度值等。LCD显示模块能够显示实时检测的温度和湿度。报警系统当温度湿度超过上限后产生报警。硬件系统设计完成后,在此基础上运用C语言编写了单片机驱动硬件的程序,并运用PROTEUS仿真软件进行了仿真,做了简单的实物试验,证明该设计能达到基本的设计要求且成本低廉,适合中等小型孵化控制的需求。最后对所设计的进行了总结反思,讨论了该设计的不足之处和今后的改进方向,为此类设计今后系统性能的进一步提高奠定了基础。关键词孵化箱、单片机、温湿度控制ABSTRACTINCUBATIONEQUIPMENTISABIONICAPPLICATIONFORPOULTRYBREEDEREGGSHATCH,TOSIMULATETHEHATCHINGENVIRONMENTOFNATURE,PROVIDINGTHESUITABLECONDITIONSFOREMBRYONICDEVELOPMENTNOWTHETEMPERATUREANDHUMIDITYCONTROLLINGACCURACYOFTHEINCUBATIONEQUIPMENTISNOTHIGH,WHICHISEXPENSIVEWITHPOOREFFICIENCYINCUBATORMANAGEMENTFORTHESEMANYREASONS,THISPAPERDESIGNEDATEMPERATUREANDHUMIDITYMEASUREMENTANDCONTROLSYSTEMFORTHEINTELLIGENTINCUBATORBASEDONMICROCONTROLLERSTC89C51,WHICHMAINLYINCLUDESTHEDIGITALMASTERCONTROLUNIT,INCUBATOR,HEATER,HUMIDIFIER,SENSOR,MOTOR,FANANDOTHERUNITSDIGITALMASTERCONTROLUNITMAINLYCONSISTSOFKEYSDISPLAYMODULE,TEMPERATUREHUMIDITYACQUISITIONMODULE,OUTPUTCONTROLMODULES,ETCTHETEMPERATUREANDHUMIDITYCOLLECTEDBYTHETEMPERATUREANDHUMIDITYSENSORSHT10INTHEHANDINASERIESOFTRANSFORMATIONCALCULATIONISTRANSMITTEDTOMCUMCUCOMPAREDITWITHPRESETVALUE,ANDTHENTHROUGHTHEOUTPUTOFTHEPHOTOELECTRICCOUPLERTLP521ANDPOWERDRIVECHIPULN2803AGANDRELAYCONTROLSPARTOFTHECIRCUITTOCONTROLTHEINCUBATOROFHEATINGORCOOLING,HUMIDIFICATIONORDEHUMIDIFICATION,VENTILATION,ETC,TOREALIZETHEREQUIREDINCUBATIONCONDITIONSBESIDESTHEKEYDISPLAYMODULEPROVIDESUSERSWITHHUMANCOMPUTERINTERACTION,INWHICHUSERSCANTHROUGHTHEKEYBOARDINPUTPARAMETERSNEEDEDTOBESETINADVANCE,SUCHASTHEUPPERLIMITOFTEMPERATUREHUMIDITYANDSOONTHELCDDISPLAYMODULECANDISPLAYREALTIMEDETECTIONOFTEMPERATUREANDHUMIDITYALARMSYSTEMWORKSWHENTHETEMPERATUREANDHUMIDITYEXCEEDTHEUPPERLIMITSAFTERTHEHARDWARESYSTEMDESIGNED,ONTHEBASISOFITTHEMCUDRIVINGHARDWAREPROGRAMISWRITTENBYTHECLANGUAGEANDUSINGTHEPROTEUSSIMULATIONSOFTWARESIMULATIONSWEREMADE,ASIMPLETESTDONE,PROVINGTHATTHEDESIGNCANMEETTHEBASICDESIGNREQUIREMENTSWITHLOWCOST,SUITABLEFORMEDIUMSMALLHATCHCONTROLREQUIREMENTSFINALLYTHEREFLECTIONONTHEDESIGNWASSUMMARIZEDANDTHEDEFICIENCIESOFTHEWORKANDTHEFUTUREIMPROVEMENTDIRECTIONWEREDISCUSSED,LAYINGASOLIDFOUNDATIONFORTHISKINDOFDESIGNTOIMPROVETHEPERFORMANCEOFTHESYSTEMINTHEFUTUREKEYWORDSINCUBATOR,MICROCONTROLLER,TEMPERATUREANDHUMIDITY,PIDALGORITHM目录1绪论11课题研究目的和意义12国内外研究情况及其发展13设计目标2系统方案选择21总体方案22单片机的选择23传感器信号检测电路选择24显示电路的选择25键盘电路的选择3硬件设计及工作原理31单片机最小系统32温湿度传感器及检测电路33显示电路34键盘电路35报警指示电路36输出控制电路4软件系统设计41C语言在单片机中的应用42应用软件的介绍43软件流程图5系统调试51系统硬件调试52系统软件调试53系统综合调试总结致谢参考文献附录1绪论11课题背景研究意义随着生活水平的提高,人们对物质生活的要求越来越高,尤其是日用饮食,与前几十年相比,有了明显的改善。鸡肉、鸡蛋以其营养价值高、价格便宜等优点,始终是人们日常生活中不可缺少的农产品。为了能够生产出高质量的鸡肉,在养殖过程中对种蛋的选择以及种蛋孵化过程中的各种影响因素提出了更高的要求,不仅要保证禽蛋的出雏率,而且还要保证健雏率尚书旗,2000。据了解,目前大多养殖场所使用的孵化设备控温、控湿精度不高,不能满足孵化过程中的要求,使得出雏率和健雏率较低,经济效益受到较大的影响,而且很多孵化设备价格昂贵,孵化管理效率不高。随着我国加入WTO,养殖业与世界接轨,竞争将会更加激烈。竞争的结果,必将使养殖业沿着产业化、规模化的方向发展,而与之相配套的孵化设备必将迎来新的挑战和机遇靳传道,2003。作为一个复杂的生物学过程,适当地控制孵化温湿度,家禽孵化既能提高出雏率,而又能提高雏禽质量。在孵化期间,如果湿度不适或者温度过高会增加死亡率,所以需要设计一种能实现温湿度感应,温湿度控制的智能孵化机来满足市场,因此此毕业设计非常有实际意义。12国内外研究情况及其发展121国外研究发展状况孵化设备是养禽业的重要技术设备,它是根据家禽孵化的生物学原理,利用经济合理的工程手段,创造孵化及出雏的人工控制生态环境的种仿生设备。国外孵化机制造业起步较早,其特色是设计科学化、机型多样化、规格标准化、部件通用化、电脑自控化。辅助仪器、设备、工具系列化,而且用材考究,制造工艺精致,操作安全简便,运作程序完善,其装演与质量都堪称上乘。国际著名的孵化机厂家和公司有美国“鸡王”孵化器公司、比利时“皮特森”公司、加拿大的“詹姆斯威”公司、荷兰“派司雷风”公司、丹麦的“富基”公司、澳大利亚的“哈利森”公司等。据国际家禽杂志不完全统计,世界各国较有规模孵化机制造厂约350家。荷兰“派司雷风”公司己有10多年的历史林其禄等,1996。部分公司的产品己经具备网络化和无线通信化的功能。人们可以通过上位机监控孵化设备的运行,也可以通过INTERNET远程访问孵化箱甚至修改控制参数。122国内研究发展状况我国孵化设备的相比国外制造起步较晚。1980年以前,只有少数鸡场从日本引进少量的设备,并仿制了部分产品,谈不上有设计能力。80年代初期北京市平谷电子机械厂生产出了云峰牌孵化机,对当时养禽业有很大的促进,同时北京西山孵化设备厂等也开始从事专业的孵化设备生产。80年代末至90年代初期,养禽业有了极大的发展,国内孵化设备己不能满足需要,于是大型鸡场开始大量从国外引进先进的孵化设备。这一来,对我国孵化设备的研制产生了深远的影响,许多生产厂家从中吸收先进技术改进自己的设计,设计水平有了很大程度的提高侯满宏,2006。目前我国己经形成了具有一定规模的有关孵化机设计和制造的专业队伍据。典型的产品主要有“依爱”牌数显孵化机、汉显智能箱体孵化机、FT系列微控孵化出雏机等林其禄等,1996。这些设备,部分已经具有模糊控制技术,液晶显示,触摸屏等。吉林大学郁筝采用薄膜铂电阻作为温度传感器,HS系列电容作为湿度传感器设计了基于现场总线的孵化控制系统郁筝,2003,将工控中的现场总线思想运用到孵化控制中来,取得了一定的成果。长春理工大学侯满宏采用模拟温度传感器AD590和HS系列湿度传感器以及89C51单片机设计了单孵化箱的控制系统侯满宏,2006。123发展趋势随着生活水平的提高,养殖行业的不断发展,孵化场向大型化方向发展趋势越来越明显。因此新一代的孵化设备应该向着人性化、智能化、网络化、高可靠性和节能型的方向发展,以下是孵化设备的发展趋势1控制精度越来越高。由于新型传感器向智能化、数字化、标准化发展,使的孵化机的控制效果也会更加精确。2计算机网络技术的迅速发展使得远程控制得以实现,人们可以通过互联网在远程监控和管理孵化设备,而且一个人可以同时监控管理多个多地孵化设备,省时省力。3将专家系统的引入孵化箱控制系统。引入孵化专家系统能够有效的减轻孵化人员的负担,降低孵化过程的难度,减少孵化过程中可能出现的错误,改善孵化效果等靳传道,2003。13设计目标131系统的主要技术指标根据施温方案得到本系统设计的主要参数如下1控温范围35402控湿范围5080RH3控温精度024温度显示分辨率015湿度显示精度5RH132系统的关键设计本系统的关键设计主要包括硬件电路设计和软件程序设计,硬件电路包括温湿度度检测电路、温度控制电路、湿度控制电路数据显示电路,键盘接口电路、报警指示电路。软件程序设计主要是单片机驱动硬件程序及控制程序。2系统方案选择21总体方案因为胚胎发育所需要的条件有温度、湿度、通风、翻蛋、凉蛋等。所以本系统以孵化箱内的温度和湿度作为主要的被控对象,通过加热系统、加湿系统、通风风扇等执行机构作为控制手段来达到设计目标。系统总体框图如下图31所示孵化箱现场温度现场湿度传感器信号采集电路单片机报警指示电路转换放大驱动电路键盘显示电路增温系统增湿系统风门系统控制孵化箱图31系统总体结构框图孵化设备工作过程是单片机依据编写好的程序和温湿度探头采样的温湿度信号进行数据处理与运算。根据需要发出驱动信号,实现增温、增湿、通风等孵化控制功能。孵化箱控制设备是以单片机为核心、外围电路做辅助的单片微型计算机控制系统。它最核心的部分是温湿度控制模块。另外还有传感器检测电路、驱动电路、键盘接口、LCD数码显示等模块。最终该系统可以实现对温度、湿度、时间进行实时监测与控制功能当温度、湿度低于设定下限时,系统自动启动加温、加湿。当温度、湿度上升到下限以上时,停止加温、加湿;当温度、湿度高于设定上限时,系统自动启动风扇降温、排湿,使温度下降、湿度降低,并且蜂鸣器产生报警指示灯点亮。当温度、湿度下降到上限以下时,停止降温、排湿。温度、湿度在上下限温度之间时,执行机构不执行。1602液晶显示器即时显示温度、湿度、设定的温度、湿度上限。22单片机的选择在现今市场上,单片机的生产厂商很多、单片机的类型也很多。对于本孵化箱控制系统,进行单片机选型应该遵循的原则或要求主要是1选择的单片机必须有较好的稳定性。这是因为在孵化箱这样的环境中存在有很多的干扰。2选择的单片机必须具有丰富的片上外围设备,因为这样可以简化电路的设计,也可以让电路的调试更加容易。3选择的单片机要有方便的调试功能,单片机生产厂商要提供免费的调试软件,使单片机程序大部分能够在PC机上仿真出来而且无误而且,单片机程序语言要多样化,要既可以用单片机汇编语言也可以用C语言编写程序。4选择的单片机功耗要低,由于设计的通用智能终端长期在环境现场工作,为了节能,应选择功耗低的单片机目前最常用的两种单片机是AT89C51系列单片机和STC89C51系列单片机。STC89C51系列单片机的指令系统和AT89C51系列的完全兼容,但实际操作起来却存在很多问题(1)AT89C51不带ISP下载,要用下载器才行,STC89C52可以用你的USB转串口下载,下载软件可以到STC厂家网上去下。(2)STC单片机执行指令的速度很快,大约是AT的330倍,尽管快是好事,但这样一来,你在AT上好使的程序在STC上不一定好用,最典型的例子就是那些对时序有严格要求的模块,用STC时注意得加长延时,大约是AT的1030倍就差不多。(3)STC单片机对工作环境的要求比较低,电压低于5伏时仍然正常工作,甚至3伏到4伏之间都还可以工作,然而这样的环境下AT肯定不行了,所以当一个系统用STC单片机好用,但用AT的单片机不工作时,直接查最小系统,看单片机的供电是否正常。综上我选择用STC系列芯片完成。23传感器信号检测电路方案一采用独立的温度和湿度传感器1)温度传感器的选择温度传感器的有很多的选择,常用的有热敏电阻,温度传感器铂电阻PT1000,模拟温度传感器AD590K,数字温度传感器DS18B20。热敏电阻精度、重复性、可靠性都比较差,其测量温度范围相对较小,稳定性较差;AD590K具有较高精度和重复性但其测量的值需要经过运算放大、模数转换再传给单片机,硬件电路较复杂,调试也会相对困难。2)湿度传感器的选择常用湿敏传感器可采用H0S201,这是一种高湿度开关传感器,它的工作电压为1V一下,频率为50HZ1KHZ。可测量相对湿度范围在0100RH,工作温度范围为050。方案二采用一体化的温度湿度传感器选用SHT10作为设计的温湿度检测模块。SHTIO测湿精度45RH,测温精度05(25),测湿量程0100RH,测温量程401238。满足设计要求。经上述分析,方案一稍显复杂。方案二既能满足设计要求且简便易行。由于本系统采用的SHT10本身自带A/D转换模块,能将检测的温度湿度值直接传送单片机,然后由单片机控制将温湿度值通过液晶显示屏显示出来,并将每次读入的数据与上限做比较,以决定是否调用报警和启动调湿调温装置。24显示电路的选择电子设计中常用的输出显示设备有两种数码管显示和LCD液晶显示。方案一采用数码管显示数码管显示的数据内容比较直观,可以显示从0到9中的任意一个数字,一个数码管可以显示一位,多个数码管就可以显示多位,在显示位数比较少的电路中,程序编写,外围电路设计都十分简单,但是当要显示的位数相对多的时候,数码管操作起来十分烦琐,显示的速度受到限制,并且当硬件电路设计好之后,系统显示能力基本也被确定,系统显示能力的扩展受到了限制。方案二采用液晶屏显示液晶显示屏具有体积小、功耗低、显示内容丰富等特点,用户可以根据自己的需求,显示自己所需要的,甚至是自己动手设计的图案。当需要显示的数据比较复杂的时候,它的优点就突现出来了,并且当硬件设计完成时,可以通过软件的修改来不断扩展系统显示能力。外围驱动电路设计比较简单,显示能力的扩展将不会涉及到硬件电路的修改,可扩展性很强。字符型液晶显示屏已经成为了单片机应用设计中最常用的信息显示器件之一。不足之处在于其价格比较昂贵,驱动程序编写比较复杂。本设计为使得电路设计简单且显示内容丰富直观,因此选用方案二液晶屏做显示设备。25键盘电路的选择由于需要对温度湿度的上限进行设定,因此需要使用按键。方案一使用独立式键盘。方案二使用矩阵式键盘。因本系统需要的按键不多,共需四个按键,第一个温度上限加一,第二个温度上限减一,第三个湿度上限加一,第四个湿度下限减一,要求简单。所以采用方案一独立式键盘即直接用I/O口线构成的单个按键电路,这样电路配置灵活,软件结构简单。3硬件系统设计31单片机系统311STC89C52单片机概述STC89C52系列单片机是宏晶科技生产的单时钟/机器周期1T的单片机,是高速、低功耗、超强抗干扰的新一代8051单片机,指令代码完全兼容传统8051,但速度快812倍,内部集成MAX810专用复位电路。312STC89C52单片机特点工作电压55V35V(5V单片机);工作频率范围040MHZ,相当于普通8051的080MHZ;用户应用程序空间4K/8K/16K/32K/64K字节;每个I/O口驱动能力均可达到20MA,但整个芯片最大不要超过120MA;313单片机控制系统电路单片机最小系统主要由电源、复位、振荡电路以及扩展部分等部分组成。单片机控制系统电路原理图如图41所示。图31单片机控制系统电路原理图如图所示,单片机的RST引脚接复位电路,单片机的XTAL1、XTAL2引脚接晶振电路。单片机P3口的P30、P31、P32、P33接键盘电路,控制温度、湿度上限值的输入。单片机P2口的P20、P21、P22、P23接输出控制电路,以实现加热、加湿、通风功能。单片机的P0口分别接LCD1602的数据引脚。单片机P2口的P24、P25、P26接LCD1602使能信号,读写选择,数据命令选择引脚。单片机的P16,P17接SHT10测温测湿模块。单片机的P10,P11接温度、湿度报警指示电路。单片机的P12、P13、P14接温度、湿度、风门工作指示灯电路。32温湿度传感器及检测电路321传感器性能说明现代传感器在原理与结构上千差万别,所以在根据具体的测量目的、测量对象以及测量环境合理地选择好系统所用的传感器后,要了解其工作原理,特点和使用注意事项。如图32为SHT10的内部框图,表41为SHT10的测量量程和精度。信号放大电路测温元件测湿元件14位BITA/D串行通信接口及CRC发生器OTP校验存储单元SCKDATAGNDVCC图32SHT10内部框图表31SHT1O测量量程和精度SHT10量程精度测量温度40123805(25)测量湿度0100RH45RH322SHT10简介及电路模块1SHT10的特点SHT10的主要特点如下相对湿度和温度的测量兼有露点输出;全部校准,数字输出;接口简单(2WIRE),响应速度快;超低功耗,自动休眠;出色的长期稳定性;超小体积(表面贴装);测湿精度45RH,测温精度05(25)。2SHT10实物图及原理图如图43,44分别为SHT10的实物图和原理图图33SHT10实物图图34SHT10原理图3温湿度采集电路原理图图35温湿度采集电路原理如图35所示为温度、湿度采集电路原理图。SHT10的供电电压为24V55V,所以引脚4VDD接5V电压,传感器上电后,要等待11MS,从“休眠”状态恢复,在此期间不发送任何指令。引脚1GND接地,电源引脚(VDD和GND)之间可增加1个100UF的电容器,用于去耦滤波。串行时钟输入(引脚3SCK)是SHT1O与单片机之间通信的同步时钟,所以接单片机的P17口,串行数据(引脚2DATA)是1个三态门,用于单片机与SHT10之间的数据传输,接单片机的P17口。DATA的状态在串行时钟SCK的下降沿之后发生改变,在SCK的上升沿有效。在数据传输期间,当SCK为高电平时,DATA数据线上必须保持稳定状态。为避免数据发生冲突,单片机应该驱动DATA使其处于低电平状态,所以外部接1个上拉电阻将信号拉至高电平。并且外部接1个上拉电阻将信号拉至高电平。33显示电路331LCD1602简介字符型液晶显示模块是一种专门用于显示字母、数字、符号等点阵式LCD,目前常用161,162,202和402行等的模块。本设计用长沙太阳人电子有限公司的1602字符型液晶显示器实物如图36,图37所示。图36液晶显示屏正面图37液晶显示屏背面3321602LCD的基本参数1602LCD分为带背光和不带背光两种,基控制器大部分为HD44780,带背光的比不带背光的厚,是否带背光在应用中并无差别1602LCD主要技术参数显示容量162个字符芯片工作电压4555V工作电流20MA50V模块最佳工作电压50V字符尺寸295435WHMM335显示电路原理图如图38所示为LCD1602显示电路原理图。引脚1GND接电源地,引脚2VCC接5V正电源,引脚3V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度。引脚4RS接单片机P24,高电平时选择数据寄存器、低电平时选择指令寄存器。引脚5R/W接单片机P25口,高电平时进行读操作,低电平时进行写操作,因为不从液晶读取任何数据,只向其写入命令和显示数据,因此此端始终选择为写状态,即低电平。当RS和R/W共同为低电平时可以写入指令或者显示地址,当RS为低电平R/W为高电平时可以读忙信号,当RS为高电平R/W为低电平时可以写入数据。引脚6接单片机P26口,当P26口由高电平跳变成低电平时,液晶模块执行命令。714引脚D0D7接单片机的P0口,接收来自单片机的信息。引脚15背光源正极接VCC,为仿真直接加5V电压烧坏背光灯,在15脚串接一个10欧电阻用于限流。引脚16背光源负极接GND图38显示电路原理图34键盘电路341按键电路单片机上电运行后会提取单片机程序中设置的默认的温湿度参数,并开始输出温湿度控制信号。在特殊情况下,可以根据需通过按键修改存默认的温湿度参数值,所以对系统设计了按键电路。本系统采用的独立式键盘设计,其接口电路如图39所示。图39按键电路本系统扩展4个用于修改系统参数的按键S1、S2、S3、S4分别为温度目标值01、01的操作键、湿度目标值1RH和一1RH操作键。4个按键分别接至单片机外部中断口P33,P32,P34,P35。当某个按键按下时,输出低电平,单片机通过按键扫描程序扫描判断按键值并修改单片机相应的温湿度目标参数。342复位电路计算机在启动运行时都需要复位,使中央处理器CPU和系统中的其它部件都处于一个确定的初始状态,并从这个状态开始工作。图310复位电路如图310所示,本次设计采用的复位方式是按键复位方式。单片机的复位键接一个电容至VCC并在其两端并联按键与电阻串联的电路。在加电瞬间,电容通过电阻充电,就在RST端出现一定时间的高电平,只要高电平时间大于10MS,就可以使MCS51有效的复位。35报警及指示电路当温度和湿度超过设定的量程时为了引起用户注意,所以设定了报警指示电路,该电路可实现声光报警功能,是一种结构简单、性能稳定、使用方便价格低廉、智能化的报警电路。图311报警指示电路如图311所示。该电路采用一个小功率的三极管(Q2)来驱动扬声器(LS4),当单片机接收到超温信号或超湿信号时,P10口输出低电平,Q2导通,致使扬声器得电工作,发出报警声音。同时二极管(D5)导通点亮,指示电路的工作状态。35输出控制电路孵化箱内温湿度信号进入单片机,由程序作出处理并得到系统的温湿度值。该值将与设定值进行比较运算,单片机根据运算结果对温湿度控制设备进行控制。这是本系统的一个重要环节。本孵化箱控制系统有大量的功能执行部件,这些功能执行部件包括大功率电热丝、搅热风扇电机、超声波增湿器、风门驱动步进电机等。这些部件由于功率大,启动和关断时产生的干扰信号强,为了有效的驱动和控制这些部件采用光电耦合隔离达林顿管继电器的驱动方式来控制这些大功率模块。即单片机发出的控制信号先经过光耦隔离TLP521来驱动达林顿管ULN2803,然后由达林顿管来驱动性能可靠的继电器,通过继电器间接控制这些功能部件。351加热控制1加热组成图312加热电路原理图加热控制部分电路原理图如图312所示本系统设计采用2组加热电阻丝,电阻丝分布于孵化箱的两侧,并在两侧安置大的搅热风扇。单片机的P20,P21输出高低电平分别控制这两组电阻丝的通断。共组成3热状态不加热,中等加热,完全加热。一开始通电,孵化箱内温度低,所以系统自动采取完全加热,这样有助于孵化箱内的温度快速上升,单片机通过比较传感器采集电路采集回的温度与设定值比较,当温度上升到一定范围后,来选择中等加热即关掉一组电阻丝,只保留一组加热,这样防止温度加热过快,超过最适宜温度。当温度达到要求后,单片机发出控制信号,关掉加热系统,即保持不加热状态。由于电阻丝工作接通与关闭的瞬间会产生较大的干扰信号,故单片机输出口接光电耦合器TLP521来实现工作电路与控制电路的电气隔离。TLP521的输出功率只有150MW,无法驱动继电器。所以在光耦后面接功率驱动芯片ULN2803再驱动继电器SRD05VDCSLC控制加热电阻丝的通断。2PID算法控制的精确加热方式自动加热通过PID算法来改变PWM的脉冲宽度,PID算法有位置式和增量式两种,增量式PID算法得到的结果是增量,也就是说,在上一次的控制量的基础上需要增加(负值意味着减少)的控制量。位置式算法则直接指明本周期内要通电多长时间。本系统采用的是位置式PID算法。标准的直接计算公式POUTTKPETKISUM_ETKDETET1其中,ET为基本偏差,表示当前测量值与设定目标间的差值,设定目标是被减数,结果可以是正或负,正数表示还没有达到设定值,负数表示已经超过了设定值。这是面向比例项用的变动数据。累计偏差SUM_ETETET1ET2E1是每次偏差值的代数和,是面向积分项用的一个变动数据。基本偏差的相对偏差ETET1是用本次的基本偏差减去上一次的基本偏差,以考察当前被控量的变化趋势,有利于快速反应,是面向微分项的一个变动数据。KP、KI和KD是PID算法的3个控制参数,分别称为比例常数,积分常数和微分常数,不同的控制对象选择不同的数值,需要经过现场整定才能获得较好的效果。比例调节的作用是按比例反应系统的偏差,系统一旦出现了偏差,比例调节立即产生调节作用用以减少偏差。通过PID算法可以精确控制温度加热,通过PID算法计算出PWM的占空比,控制加热系统的工作。由于KP、KI和KD需要经过现场整定才能获得较好的效果,本设计系统由于时间以及其他诸多方面的原因没有采用PID算法精确控制加热,只是在程序中设置了当温度低于35时,采用完全加热,即P20,P21均输出低电平,当温度高于35时,采用中等加热,即P20输出低电平,P21输出高电平,当温度高于375时,采用不加热,即P20,P21均输出高电平,当温度高于385时,报警指示电路报警指示,并加大风门的开度来降低温度。352加湿控制超声波加湿器是国内外应用较广的一种加湿方式。在工作时无机械驱动、无噪音干扰、无污染,故障率低、能耗低、雾化效率高、维护简便、可靠。既可以较大空间进行均匀加湿,也可对特殊空间进行局部湿度补偿,具有较高的使用灵活性。所以本设计采用超声波加湿器对孵化箱进行加湿控制。图313加湿电路原理图如图313所示。为了避免干扰信号的影响,单片机的P22口,接光电耦合器,来实现工作电路与控制电路的电气隔离。光耦输出功率无法驱动继电器,所以在光耦后面接功率驱动芯片ULN2803再驱动继电器SRD05VDCSLC来控制超声波加湿器启动与停止。单片机P14接指示灯电路。当湿度低于设定值时,单片机P22为低电平,控制继电器闭合,启动超声波加湿器加湿,并且P14为低电平,点亮指示灯,表明超声波加湿器处于加湿状态。当湿度值达到设定值,单片机P22为高电平,继电器断开,加湿系统停止工作。同时P14变为高电平,指示灯不亮。353风门控制孵化箱的侧面设置风门,风门的形状为矩形。本系统设置4种风门状态不通风,小通风,中等通风,完全通风,在风门口安置向内的鼓风风扇,只有在风门有开度时鼓风风扇才开始工作。图314风门控制电路原理图如图314为风门控制电路原理图。同样由于电动机工作接通与关闭的瞬间会产生较大的干扰信号,故单片机输出口P23接光电耦合器TLP521来实现工作电路与控制电路的电气隔离。由于TLP521的输出功率驱动继电器,所以在光耦后面接功率驱动芯片ULN2803再驱动继电器SRD05VDCSLC控制电机的开通,即风门的闭合。当温湿度高于设定值时,单片机的P23输出低电平控制继电器闭合,电动机启动打开风门。4软件系统设计程序设计是本次设计的另一重要环节。本次程序设计按照分析系统控制要求,确定算法根据算法画流程图编写程序的步骤设计了主程序、初始化程序、显示子程序、数据采集子程序和延时程序。KEILUVISION是KEILC51FORWINDOWS的集成开发环境IDE,可以完成软件编辑、编译、连接、调试和仿真等整个开发流程。开发人员可以在IDE编译和连接文件,最终产生标准的HEX目标文件以供调试器使用进行源代码级调试,也可供仿真器直接对目标板进行调试,还可以直接写入程序存储器中。由于C语言的语言简洁、紧凑,使用方便、灵活;运算符和数据结构丰;所以本设计采用C语言在KEIL中完成编程。41主程序411主程序流程框图本设计软件主程序流程图如图41所示。数据初始化显示初始化进入WHILE循环开始是否有按键按下温湿度测量温湿度转换是否超过设定上限数据显示温度控制湿度控制风门控制报警并驱动继电器按键处理是否是否图41主程序流程图单片机上电后,首先数据进行初始化,LCD1602显示函数初始化,然后进入WHILE循环,进入WHILE循环后首先判断是否有按键按下,如果有按键按下则进行按键处理,如果没有按键按下,则执行传感器温湿度测量函数,然后进行温湿度转换,单片机将温湿度测量转换后的数据发送给1602显示,并同时与设定的温度湿度上限值比较,如果超过温湿度上限则进行报警指示,并关闭加热加湿系统,打开风门系统,如果没有超过温湿度上限,则相应的执行加热加湿等功能。412主程序部分程序VOIDMAINUNSIGNEDINTTEMP,HUMI/VALUEHUMI_VAL,TEMP_VAL/定义两个共同体,用于湿度和温度UNSIGNEDCHARERROR/用于检验是否出现错误UNSIGNEDCHARCHECKSUM/CRCTB375,HB500LCD_INITIAL/初始化液晶KEYSCANWHILE1FENGSHAN0KEYSCANERROR0/初始化ERROR0,即没有错误ERRORS_MEASUREUNSIGNEDCHAR/温度测量ERRORS_MEASUREUNSIGNEDCHAR/湿度测量IFERROR0S_CONNECTIONRESET/如果发生错误,系统复位ELSEHUMI_VALFFLOATHUMI_VALI/转换为浮点数TEMP_VALFFLOATTEMP_VALI/转换为浮点数CALC_STH10/修正相对湿度温度TEMPTEMP_VALF10HUMIHUMI_VALF10CONTROLTEMP,HUMISHOWTEMP,HUMIDELAY5/等待足够长的时间,以现行下一次转换42温度湿度采集程序421SHT10的工作过程发送一组“传输启动”序列进行数据传输初始化,当SCK为高电平时DT翻转保持低电平,紧接着SCK产生1个发脉冲,随后在SCK为高电平时DATA翻转保持高电平。紧接着的命令包括3个地址位(仅支持“000”)和5个命令位。SHT10指示正确接收命令的时序为在第8个SCK时钟的下降沿之后将DATA拉为低电平(ACK位),在第9个SCK时钟的下降沿之后释放DATA(此时为高电平)。“00000101”为相对湿度(RH)量,“00000101”为温度()测量。发送一组测量命令后控制器要等待测量结束,这个过程大约需要20/80/320MS对应其8/12/14位的测量。测量时间随内部晶振的速度而变化,最多能够缩短30。SHT10下拉DATA至低电平而使其进入空闲模式。重新启动SCK时钟读出数据之前,控制器必须等待这个“数据准备好”信号。接下来传输2个字节的测量数据和1个字节的CRC校验。MCU必须通过拉低DATA来确认每个字节。所有的数据都从MSB开始,至LSB有效。例如对于12位数据,第5个SCK时钟时的数值作为MSB位;而对于8位数据,第1个字节(高8位)数据无意义。确认CRC数据位之后,通信结束。如果不使用CRC8校验,控制器可以在测量数据LSB位之后,通过保持ACK位为高电平来结束本次通信。测量和通信结束后,SHT10自动进入休眠状态模式。422SHT10传感器程序流程图根据SHT10的工作过程绘制其流程图如42所示。首先执行VOIDS_TRANSSTARTVOID启动函数,然后发送一个开始测量的数据,并检测是否发送成功,如果发送成功则接收来自SHT10的数据。接收完数据后,对数据进行补偿得出绝对数据。这便是SHT10子程序。温湿度都是由SHT10传感器测量,其中在CHARS_MEASUREUNSIGNEDCHARP_VALUE,UNSIGNEDCHARP_CHECKSUM,UNSIGNEDCHARMODE函数中进行温度或者湿度测量,由参数MODE决定测量内容;在得到传感器测量数据后,根据数据种类,进行相应的处理,其中我们对温度做补偿,对湿度进行线性补偿,最后通过计算得出相对温度湿度值。初始化启动传输发送测温量命令通信中断接收测量数据温湿度值标度变换及温度补偿显示相对温湿度值复位连接是否图42SHT10传感器子程序流程图423SHT10传感器部分程序CHARS_MEASUREUNSIGNEDCHARP_VALUE,UNSIGNEDCHARP_CHECKSUM,UNSIGNEDCHARMODE/进行温度或者湿度转换,由参数MODE决定转换内容;UNSIGNEDERROR0UNSIGNEDINTIS_TRANSSTART/启动传输SWITCHMODE/选择发送命令CASETEMPERRORS_WRITE_BYTEMEASURE_TEMPBREAK/测量温度CASEHUMIERRORS_WRITE_BYTEMEASURE_HUMIBREAK/测量湿度DEFAULTBREAKFORI0I100RH_TRUE100/湿度最大修正IFRH_TRUE报警上限36375只启动一组加热器加热器停止湿度值80加湿器启动加湿器停止风门打开关闭风门图46系统输出控制流程图如图,当温度、湿度值高于设定的上限时,报警指示电路工作,且风门打开;当温度值小于36时,两组加热器全部启动,当温度大于36小于375时,只启动一组加热器,当温度大于375且小于设定的温度上限时,加热器全部停止工作,当湿度值小于50加湿器启动,当湿度值大于小于时加湿器停止。452系统输出控制程序VOIDCONTROLUNSIGNEDINTP,UNSIGNEDINTWIFP300WENDUJIARE1IFP385WENDUWARNING0WARNINGDELAY100ELSEWENDUWARNING1IFW550SHIDUZHISHI1IFW650SHIDUWARNING0WARNING1DELAY100ELSESHIDUWARNING1IFP385|W650FENGMENZHISHI0ELSEFENGMENZHISHI15系统仿真与调试单片机应用系统的调试,包括硬件调试和软件调试。51系统软件调试与仿真511软件调试KEILUVISION是KEILC51FORWINDOWS的集成开发环境IDE,可以完成软件编辑、编译、连接、调试和仿真等整个开发流程。开发人员可以在IDE编译和连接文件,最终产生标准的HEX目标文件,以供调试器使用进行源代码级调试,也可供仿真器直接对目标板进行调试,还可以直接写入程序存储器中。软件调试首先建立新工程源程序。按照单片机C语言源程序所要求的格式、语法规定,把源程序输入到KEIL编程软件中,并保存。然后在KEIL程软件中,对输入的源程序进行编译法错误全部纠正为止。最后无语法错后进行编译产生HEX文件。512系统仿真系统的仿真是PROTEUS软件实现的。PROTEUS软件是英国LABCENTERELECTRONICS公司研发的EDA工具软件。它是一个集模拟电路、数字电路、模/数电混合电路以及多种微处理器系统为一体的系统设计和仿真平台。是目前同类软件中最先进、最完整的电子类仿真平台之一。它真正实现了在计算机上完成从原理图设计、电路分析与仿真、单片机代码调试与仿真、系统测试与功能验证到PCB板生成的完整的电子产品研发过程,实现了从概念到产品的完整设计。PROTEUS能够完成模拟电子、数字电子、单片机以及嵌入式的全部实验内容,支持所有电工电子的虚拟仿真,在此软件平台上能够实现ISIS智能原理图绘制、代码调试、CPU协同外围器件进行VSM模拟系统仿真,在调试完毕后,还可以一键切换至ARES生成PCB板。PROTEUS主要有如下功能智能原理布图、混合电路仿真与精确分析、单片机软件调试、单片机与外围电路的协同仿真、PCB自动布局与布线。仿真时先启动PROTEUS软件,打开绘制好仿真图,然后将KEIL编译产生的HEX文件加载到单片机中,点击运行按钮,开始仿真。1软件调试仿真遇到的问题(1)由于PROTEUS软件元件列表中无STC89C52型单片机,考虑用AT89C52代替。仿真测试时1602只有背光亮,无字符显示。经检查发现,由于AT89C52和STC89C52的P0口并不相同,后者内有上拉电阻,故AT89C52的P0外连接9线10K排阻器。(2)将程序运行完后,液晶显示屏上显示了部分自己所写的字符。但是总是会出现乱码的情况。经过进行资料的查找和请教别人后,发现是由于自己在写显示函数时,对字符串的位置放置有问题,导致前一行的字符串出现了溢出的情况。经过对程序的改动,最终达到了自己想要的显示界面。(3)键盘按键按一下不是增加或者减小一个单位,经过查找是延时时间设定不对,修改之后按键正常2仿真结果如图51所示当前温度为288,湿度为180,所以要如图52所示加热系统开启两组电阻丝加

温馨提示

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

评论

0/150

提交评论