• 1.04 MB
  • 2022-04-29 14:00:15 发布

太阳能热水器自动控制系统.docx

  • 27页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
'太阳能热水器自动控制系统绪论太阳能热水器已经进入千家万户,太阳能热水器给人们的生活或工作提供了很大的便利,但是还存在着很大的不足。比如夜间用水,太阳能即便有很强的保温设备,但收到外接温差的影响,内部温度还是会下降。如何实现热水的实时供给,成为一个研究的方向。本课题根据上述问题,提出解决方案,重在研究自动加热系统,完善太阳能热水器的功能,提高使用性。本设计使用STC89C52系列单片机作为主节制模块,实现太阳能自动控制系统设计,该系统由八个基本模块组成,实现对太阳能水箱水位、温度的实时检测并报警,通过按键调整时间设置,切换夜间自动加热和手动加热等多种功能。本设计进行了proteus仿真,验证可行之后,通过软件绘制电路原理图,然后根据电气路焊接实物,在实物上完成所有预期功能。关键词:单片机太阳能自动控制软件仿真ABSTRACTThedesignisdesignedbasedonSTC89C52microcontrollertocontrolthesmartcarautomatictracingsystemiseasytouse,whichcoversthedesignofmodulesandsoftwareofautomatictracingsmartcarhardwareonthemainpart.ThesmartcarautomatictracingsystemisbasedonC52microcontrollerbasedcontrollercore,thenthefourroadtopavementofinjectiontubeofinfrareddetectionsystemtodetectthetrack,thenthesignal detectedbythereal-timefeedbacktransmissionforC52mcu.C52microcontrollerreceivesthedetectionsignal,comparestherelativesoftwareaccordingtointernalprocedures,obtainedthroughtheanalysisresultstocontrolthedrivemotorrunning,drivingdirectionwhichdrivesrotationcontroltocontrolthewheelsofthecarcar,allowingthecartotraveltotheirownalongthetracklaying.Inthisway,theautomatictracingsmartcarisbasicallycanbecompletedalongtheselflayingautomatictracingonthetracktorun.Keywords:STC89C52,Infraredsystem,Direct-currentmachine,Auto-tracking目录1概述11.1本课题的研究意义11.2本课题研究的应用前景与国内外进展11.2.1国内wai进展及应用前景21.2.2本论文的研究目标与研究内容22系统总体设计22.1系统设计规划2 2.2模块方案论证33硬件设计53.1传感器检测模块53.1.1液位传感器原理与应用53.1.2水温传感器检测模块73.2液晶显示模块73.3单片机83.3.1单片机晶振模块93.3.2单片机复位模块93.3.3单片机P0口上拉电阻103.3.4最小系统原理图103.4时钟模块103.5光耦继电器模块113.6电源模块123.7按键模块124软件设计134.1软件架构图134.2系统设计总流程图144.3水位检测软件设计154.4液晶显示软件设计164.5温度传感器软件设计184.6时钟模块软件设计204.7按键扫描软件设计215测试和分析225.1测试225.2性能分析23总结24致谢25 参考文献26 1概述1.1本课题的研究意义随着科技的进步,太阳能热水器逐步进入千家万户。太阳能热水器给你人们的生活或工作提供了很大的便利,但是还存在着很大的不足。比如夜间用水,太阳能热水器即便有很强的保温设备,但受到外接温差的影响,内部温度还是会下降。如何实现热水的实时供给,成为一个研究的方向。1.2本课题研究的应用前景与国内外进展1.2.1国内外进展及应用前景中国现在已经成为了世界上产量最大的太阳热水器生产国家,我国慢慢地出现了一些太阳能热水器温度测控,但是绝大多数热水器存在着比如性能不够稳定,经常产生错误的操作;温度、水位检测、控制误差大,太阳热水器,尤其是太阳热水系统及其控制器有着广阔的发展前景。国外太阳能热水器技术已日趋成熟,国外近几年主要发展的仍是管板式,主要研究如何继续降低成本提高可靠性。国外太阳能热水器的普及面积广,很多国家已经把太阳能热水器发展到工业化生产阶段。1.2.2本论文的研究目标与研究内容本论文主要研究一种智能化控制的太阳能热水器自动控制系统,能够实现对水位温度检测,时间显示和控制,自动/手动加热和报警功能。2系统总体设计2.1系统设计规划太阳能自动控制设计系统,实现智能控制。主要实现以下功能:1、水位检测和显示。水位传感器使用光电传感器,实物和仿真中可以使用拨码开关代替,并设置水位上限,当实际水位超过温度上限是,报警并停止加水。2、温度检测和显示。温度检测使用DS18B20实时检测温度,通过LCD1602显示,设置温度上限。自动加热时,如果温度达到上限,则停止加热。3、 时间显示及调整。使用DS1302做时钟芯片,该芯片参考资料丰富,开发简单,并且功能强大,能够实现设计要求。专门设置三个按键,一个用来选择日期/时间,另外两个用来调整时间。1、根据水位高低自动调整水位。2、自动/手动电加热、晚上用电低谷时实现自加热。2.2模块方案方案:单片机通过引脚实时检测水位高低和当前水温,当温度达到上限时报警,并通过三个按键实现温室上限的设定,显示器字符、数字的LCD1602显示,两行显示足够。由于本设计是弱电控制强电,所以加上光耦和外部链接会更安全,当外部电压过大时能有效保护单片机,然后通过继电器控制加热和加水的关闭状态。为了实现智能加热,本设计另外加了时钟模块,实现在规定时间内自加热,如图2-22.图2-22太阳能自动控制设计由八个基本模块组成,他们分别是电源模块,水位检测模块,温度检测模块,时钟模块,按键扫描模块,液晶屏显示模块,光耦继电器模块,报警模块。太阳能自动控制电路实现的结构框图如图2-23。 图2-23系统结构框图3硬件设计3.1传感器检测模块3.1.1液位传感器原理与应用光电液位传感器是利用光在有水和无水两种不同状态下发生反射折射效果不同的原理而开发的点液位测控传感器。工作图3-11。 图3-11光电液位传感器工作示意图考虑到液位传感器种类较多,单片机引脚有限,选定如下光电液位传感器:美国Honeywell光电液位传感器LLE101000。实物如图3-12。图3-12光电液位传感器LLE101000太阳能热水器检测液位的方法是把传感器按一定比例安插到太阳能水管中,通过液位浸没传感器的数目来确定当前的水位。本设计采用了4个水位传感器。安装效果如图3-13。图3-13液位传感器安装效果如图采用4位拨码开关模拟光电液位传感器。4位拨码开关如图3-14 图3-14拨码开关3.1.2水温传感器检测模块图3-15TO-92水温探头在设计实物中为了检测温度方便,采用TO-92式封装ds18b20芯片方便演示和操作。仿真、原理图中对应DS18B20芯片/接口如图3-16图3-16温度传感器DS18B20仿真图3.2液晶显示模块液晶显示模块采用1602LCD,主要技术参数:显示容量:16×2个字符,芯片工作电压:4.5—5.5V,工作电流:2.0mA,字符尺寸:2.95×4.35(W×H)mm。可以直接和单片机引脚链接。LCD1602实物和电路原理图如图3-2: 图3-2液晶显示屏实物和电路原理图3.3单片机单片机采用STC89c52单片机,实物如图3-3。图3-3STC89c52STC89c52具有以下标准功能:8k字节Flash,512字节RAM,32位I/O口线,看门狗定时器,内置4KBEEPROM,MAX810复位电路,3个16位定时器/计数器,其中定时器0还可以当做两个八位定时器使用。3.3.1单片机晶振模块本设计采用12M晶振,它的时钟周期是1/12us,单片机工作是每完成一个机器周期执行一次程序,而一个机械周期是12个时钟周期即1us.与晶振一起组成晶振模块的还有两个电容,电容的取值采用值:30pf.电路原理图3-31。 图3-31晶振电路3.3.2单片机复位模块当单片机运行中出现错误,或调试时用于观察现象,要不断进行复位,让单片机从程序的开头重新执行,电路原理图如图3-32。图3-32复位电路复位电路工作原理如图3-421所示,VCC上电时,C充电,在10K电阻上出现电压,使得单片机复位;几个毫秒后,C充满,10K电阻上电流降为0,电压也为0,使得单片机进入工作状态。3.3.3单片机P0口上拉电阻本设计中的上拉电阻选型:A331型330R9脚A型排阻。实物如图3-33。 图3-33排阻3.3.4最小系统原理图图3-34最小系统原理图3.4时钟模块本设计采用DS1302,现进行DS1302元器件简单介绍:采用普通32.768kHz晶振。它可以对年、月、日、周、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V~5.5V。采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。DS1302如图3-4图3-4时钟模块DS1302实物和原理图 3.5光耦继电器模块本设计通过光电隔离的方法,有效的控制了强电电路,而且很好的保护了单片机等低电压工作芯片。这里取其中一个光耦继电器-加热模块加以详细的说明。加热模块如图3-5。图3-5光耦继电器模块工作流程:当P2.1口为高电平时,光耦的输出引脚为高电平,三极管导通,继电器内部线圈通电,OUT1和OUT2吸合,外部电路导通。反之,当P2.1口为低电平时,光耦的输出引脚为低电平,PNP三极管不导通,继电器内部线圈不通电,OUT1和OUT2无法吸合,外部电路不导通。3.6电源模块本设计主要元器件工作电压统计如下:器件电压单片机Stc89c52+5V温度传感器DS18B20+5V光耦+5V蜂鸣器+5V液晶显示屏LCD1602+5V继电器+5V时钟模块DS1302+5V 图3-6电源模块3.7按键模块设计中采用四个按键。完成对万年历时间、温度上限的修改,按键电路和对应功能如图3-7。图3-7按键模块按键具体操作过程如下:按键次数功能备注P12功能键********************1年修改加/减2月修改加/减3日修改加/减4星期(LCD1602没地方显示,直接按一下)5时修改加/减6分修改加/减7秒修改加/减8温度上限修改加/减9写保护禁止修改P32自动/手动切换键****************1自动模式(夜间自加热模式)2手动加热(没有温度上限) 3回复初始状态既不是自动也不是手动4软件设计4.1软件架构图图4-1软件流程图 4.2系统设计总流程图图4-2系统总流程图要求系统能实时检测太阳能水箱内部的水位变化、检测太阳能水箱内部的温度变化、准确的显示当前日期和时间、根据水位的高低自动调整水位、实现自动/手动电加热、晚上用电低谷时实现自加热、水位报警、通过按键调节水位上限值、温度上限值、日期和时间等。系统流程图如图4-2。 4.3水位检测软件设计图4-3水位检测流程图单片机和4个水位传感器的输出接口连接,通过实时检测对应接口的状态判断,判断当前水位。定义单片机四个引脚对应四个水位开关。把读取的数据在shuiwei()函数中比较,如果第一个水位输入为低,则把wei赋值为1,如前两个水位输入为低,则把wei赋值为2,依次类推。然后单片机通过控制显示模块LCD1602液晶屏把水位”wei”显示出来。本设计中设置了水位报警功能:当水位超过第四个水位时,视为太阳能水箱水位接近满的状态,则进行报警,并停止加水。水位的检测流程图如图4-3。sbitshuiwei1=P1^4;//四个水位sbitshuiwei2=P1^5;sbitshuiwei3=P1^6;sbitshuiwei4=P1^7;voidshuiwei(){if(shuiwei1==0)wei=1;if(shuiwei1==0&&(shuiwei2==0))wei=2; if(shuiwei1==0&&(shuiwei2==0)&&(shuiwei3==0))wei=3;if(shuiwei1==0&&(shuiwei2==0)&&(shuiwei3==0)&&(shuiwei4==0))wei=4;if(shuiwei1==1&&(shuiwei2==1)&&(shuiwei3==1)&&(shuiwei4==1))wei=0;}4.4液晶显示软件设计图4-41LCD1602显示流程图1602LCD的指令说明及时序1602液晶模块内部的控制器共有11条控制指令。程序流程图如图4-41。 4.5温度传感器软件设计图4-5温度获取流程图温度传感器采用DS18B20芯片,测温软件流程图如图4-5。部分DS18B20温度传感器程序:voidtempchange()//启动温度转换{ds18b20init();//初始化delayms(1);//延时tempwritebyte(0xcc);//跳过RAMtempwritebyte(0x44);//启动温度转换 }uintget_temp()//获取温度{uchara,b;ds18b20init();delayms(1);tempwritebyte(0xcc);tempwritebyte(0xbe);//读暂存器a=tempread();b=tempread();temp=b;temp<<=8;temp=temp|a;//温度处理f_temp=temp*0.0625;//前五位为0时,读取的温度为正值,只需将测得的数值乘以0.0625即可得到温度实际值//前五位为1时,读取的温度为负值,且测到的数值取反加1再乘以0.0625才得到实际温度temp=f_temp*100+0.5f_temp=f_temp*10+0.05;returntemp;//返回温度} 4.6时钟模块软件设计图4-6时钟模块流程图时钟模块DS1302流程图如图4-6。DS1302的操作时序。DS1302与单片机进行数据交换时,首先是单片机通过5脚(RST),6脚(I/O),7脚(SCLK)实现数据传输,其中7脚(SCLK)是串行数据的同步时钟信号,6脚(I/O)进行串行发送数据,5脚(RST)是通讯允许信号,当其值为1是表示禁止通信,当其值为0是表示允许通信。 4.7按键扫描软件设计图4-7按键流程图 按键扫描函数在while循环中不断执行并读取按键状态,当功能键“key1”按第一下,系统变量num=1,此时进入时钟中“年的修改”,继续检测按键状态,若此时有“key2”按下,则把年的大小加1并写入DS1302中,若此时有“key3”按下,则把年的大小减1并写入DS1302中;当功能键“key1”按第二下,系统变量num=2,此时进入时钟中“月的修改”,继续检测按键状态,若此时有“key2”按下,则把月的大小加1并写入DS1302中,若此时有“key3”按下,则把月的大小减1并写入DS1302中;依次类推,当功能键“key1”按第八下,系统变量num=8,此时进入时钟中“wendu的修改”,继续检测按键状态,若此时有“key2”按下,则把wendu的大小加1,若此时有“key3”按下,则把wendu的大小减1;当功能键“key1”按第九下,系统变量num=9,此时进入时钟写保护,结束对时钟的修改。当功能键“key1”按第十下,系统变量num=1,重新开始对时钟的修改。流程图如下图4-7所示。5测试和分析5.1测试仿真效果如图5-1图5-1仿真运行图具体仿真测试情况如下:(1)水位的测试以及报警功能的测试:从图中lcd可以看到,水位目前是在三上,我们可以按图中四个水位中的最下面的开关,水位就会变成四并有蜂鸣器发出警报声。(2)时间的修改测试:我们可以从图5-1中有功能切换键,按一下功能切换键再通过加减来改变年月日时分秒。(3)温度的设置和修改测试:可以从图5-1看到lcd显示频温度上限是31,我们同样是用功能切换键控制的。当功能切换键按到第八下的时候就可以通过加减改变温度上限。 (4)自动手动加热的测试:从图中我们可以看到自动手动切换键,当按第一下的时候是自动加热,这是lcd显示屏的时间必须要设定在晚上一点到五点,这时,加热的led灯就会亮,当lcd显示频中的温度达到温度上限是,加热led灯就会自动灭掉。当按第二下自动手动切换键后,就切换到手动加热,加热led灯亮起并且当加热温度超过温度上限led灯依然还是在亮,仍然继续加热,是人为手动控制的。5.2性能分析测试结果与相关问题如下:1.水位检测,闭合开关代表水位加1,显示屏显示水位相应加1,反应速度较快,实时检测性能较好。2.时钟模块,时间增加平稳,具有掉电保持功能。本设计时间误差很小。3.实时温度检测性能良好,0.1的高精度测温,并且灵敏度较高。4.按键调整测试时按键后系统反应较慢。虽然操作时反应慢,但可以保证调节数据的稳定性。总结本设计太阳能热水器自动控制系统除了常用功能实现外,还完成了对夜间自动加热的控制,并设置了手动加热,完善了太阳能热水器的功能。通过本文,我所想达到的功能要求就是:1、水位检测和显示。水位传感器使用光电传感器,实物和仿真中可以使用拨码开关代替,并设置水位上限,当实际水位超过水位上限时,报警并停止加水。 2、温度检测和显示。温度检测使用DS18B20实时检测温度,通过LCD1602显示,设置温度上限。自动加热时,如果温度达到上限,则停止加热。3、时间显示及调整。使用DS1302做时钟芯片,该芯片参考资料丰富,开发简单,并且功能强大,能够实现设计要求。专门设置三个按键,一个用来选择日期/时间,另外两个用来调整时间。4、根据水位高低自动调整水位。致谢太阳能热水器自动控制系统是一个多功能系统,实现每一项功能基本都要有外部电路。本次设计采用的元器件都是实用的,他们相关资料比较丰富,容易开发。通过近一个学期的专研学习,网上查阅资料,咨询同学和老师,终于有所成果,在仿真成功的基础上制作事物并调试成功。虽然很辛苦,但是看到最后的成品感觉还是很欣慰。通过本次毕业设计,让我对单片机有了更加深刻的认识,开发温度传感器和时钟模块的过程锻炼了我独立开发简单元器件的能力。最后感谢我的毕业设计老师和同学对我的指导和帮助。祝你们工作顺利,万事如意。 参考文献[1]张凯等编著·MCS-51单片机综合系统及其设计开发·北京:科学出版社,1996[2]朱宇光编著·单片机应用新技术教程·北京:电子工业出版社,2000:301~303.[3]《Protel99SE 电路设计与制版》 北京人民邮电出版社 [4]楼然苗,李光飞·51系列单片机设计实例·北京:北京航空航天大学出版2003[5]马忠梅.单片机的C语言应用程序设计[M].北京:航空航天大学出版杜,1999. [1]戢卫平.单片机系统开发实例经典[M].北京:冶金工业出版社,2006.[2]郭天祥.新概念51单片机C语言教程[M].北京:电子工业出版社,2009.[3]白延敏.51单片机典型系统开发实例精讲[M].北京:电子工业出版社,2009.[4]谭浩强.C程序设计[M].北京:清华大学出版社.4版.2010.[5]马本,宋国君,杜倩倩.中国太阳能热水器成本分析方法和应用研究.中国人口资源与环境.2012.[6]华磊.太阳能热水器智能控制装置.广西大学.2012[7]太阳能热水器性能反洗与参数化设计方法研究及其软件开发.山东大学.2008'