




文档简介
摘要近年来随着单片机技术、集成电路的迅速发展,温度控制技术得到了较快的发展。比如测温可采用新型的红外温度传感器,它是非接触式的测量方式,不同于接触式温度测量方式。测量物体的温度时,不需要等到被测物体与温度测量传感器热交换完成,达到热平衡以后,再进行测温。它的响应时间较短,受环境温度变化的影响较小。温度控制系统在医学研究、汽车电子、工业控制等领域里都有应用,好的温度控制系统能提高工业机器的使用寿命,提高产品质量,创造好的研发条件。因此,人们需要更实惠、稳定性更好、响应速度更快的温度控制系统。本文介绍了一种基于STC89C52RC单片机的温度控制系统,先是设定一个酸洗池的温度值,通过四个红外传感器测量酸洗池的温度,取其平均值,单片机获得酸洗池的温度后,把它与设定的起始温度值进行比较,如果测得温度小于设定温度时,对酸洗池内的液体进行加热;测得的温度大于设定值时,对酸洗池内的液体进行冷却,使酸洗池的温度稳定在设定值。本课题完成了对酸洗池的多个工位的温度的测量,显示其温度值,检测分辨率可以达到小于或等于0.1,能够设定酸洗池的温度值,对酸洗池进行冷却或加热,使它的温度稳定在给定值。关键词:STC89C52RC单片机;GY-906测温模块;电机驱动电路;多点测温AbstractInrecentyears,withtherapiddevelopmentofsinglechipmicrocomputertechnologyandintegratedcircuit,thetemperaturecontroltechnologyhasbeendevelopedrapidly.Suchastemperaturemeasurementcanbeusednewtypeofinfraredtemperaturesensors,itisnon-contactmeasurement,unlikecontacttemperaturemeasurement.Whenmeasuringthetemperatureoftheobject,donotneedtowaituntiltheobjecttobetestedwithtemperaturemeasuringsensorheattransferiscompleted,afterreachthermalequilibrium,thenthetemperaturemeasurement.Itsresponsetimeisshorter,lessaffectedbychangesinambienttemperature.Temperaturecontrolsysteminmedicalresearch,automotiveelectronics,industrialcontrolandotherfieldshaveapplications,goodtemperaturecontrolsystemcanimprovethelifeofanindustrialmachine,improveproductquality,researchanddevelopmenttocreategoodconditions.Therefore,peopleneedtobemoreaffordable,betterstability,fasterresponsetemperaturecontrolsystem.ThisarticledescribesthelatterbasedSTC89C52RCSCMtemperaturecontrolsystem.First,settemperaturevalueofapicklingtank,measurethetemperatureoftheacidpicklingtankthroughfourinfraredsensors,taketheaverage,themicrocontrollertoobtainthetemperatureoftheacidpicklingtank.Compareittosetthestartingtemperature,ifthemeasuredtemperatureislessthanthesettemperature,theheatingforpicklingliquidpool;whenthemeasuredtemperatureisgreaterthanthesetvalue,thepicklingliquidpoolforcooling,thetemperaturestabilityoftheacidbathinvalue.Thissubjecthascompletedthetemperaturemeasurementofmultiplestationsforpicklingtank,thetemperaturevalue,andthedetectingresolutioncanbelessthanorequalto0.1.Itisabletosetthetemperatureofpicklingtankwithinthestablerange.Italsocancoolorheatthepicklingtank,makingitstemperaturewithinthestablerange.Keywords:STC89C52RCsinglechipmicrocomputer;GY-906temperaturemeasurementmodule;motordrivecircuit;multipointtemperaturemeasurement目录1绪论.11.1温度控制系统的研究背景与意义.11.2课题的主要内容及要求.11.3论文的内容安排.22方案论证.32.1系统方案.32.2方案选择.33系统硬件设计.53.1单片机STC89C52RC的简介.53.2红外测温原理.63.3液晶显示原理.73.4隔膜抽水泵工作原理.113.5L298N电机驱动电路.113.6加热装置的选择.133.7PWM控制原理.133.8按键电路.143.9供电电源电路.144系统软件设计.164.1主程序设计.164.2温度测量子程序.174.3温度显示子程序.194.4按键电路子程序.204.5温度控制子程序.215样机调试过程.245.1调试过程.245.2测试结果分析.246结论.25谢辞.26参考文献.27附录.281绪论1.1温度控制系统的研究背景与意义随着单片机技术、纳米技术的快速发展,温度检测技术逐渐走向智能化、复合型,生产出来的温度传感器已经可以做得非常小,集成了非常多的元器件,测量的精度很高,在较远的距离依然能够检测到被测物体的温度。在生产产品、研发新产品、机器最优运行等方面都有必要控制好温度,这就需要具有良好的性能的温度传感器。市场的巨大需求引导着产品的开发,跟温度控制相关的电子产品开发,已经成为当下的热门研究项目。当今世界,工业生产已经离不开温度控制,温度控制系统已经在多个领域里得到应用,如温室大棚、医学研究、食品储存、火灾报警、生产产品,在这些不同的领域里,都需要拥有优异性能的温度控制系统。温度是一个在生活、工业生产、科学研究中,经常需要测量和控制的重要参数,对温度的测量与控制的好坏在很大的程度上直接影响着产品的好坏,科研成果的好坏。能够及时又准确地获得温度值,并对它进行合理的控制,在工业生产过程中是较为重要的一个环节。以前的温度传感器,很容易受外部环境的影响,所测量到的温度会发生较大的变化,它的电路结构又较为复杂,倘若它损坏了,难以进行维修,也就难以保证温度测量的精度。在国外,特别是在发达国家,温度控制系统已经较为成熟,控制性能非常好,创造了很高的价值。在各个领域里的应用非常广泛,他们在温度控制方面的研究比我们早,有相当多的应用经验,积累了足够的技术,拥有一大批优秀的人才。而在国内,很多地方的工厂都缺乏高精度的设备,缺乏技术开发人员,缺乏技术储备,受到这些客观因数的制约,所能生产出来的温度传感器,其测量精度不高,测量距离不够远,使用寿命不长,损坏率比较高,也就常常需要从国外引进先进的温度传感器,先进的生产技术,聘请国外的技术人员,这就需要花费大量的资金和时间,导致生产成本变得非常昂贵,所生产出来的产品缺乏行业竞争力。温度控制系统在控制方式、控制效果、应用范围等方面,跟发达国家有较大的差距。现在国家需要提高制造能力水平,创造一流的产品,改善人们的生活,这就需要改变这种现状。为此,我们需要设计出具有高精度、低成本、稳定性好、功耗小、使用简便的温度传感器,有了这些良好的组成部件,才能设计出性能优良的温度控制系统,设计出多种多样控制方式,才能把温度控制做好,满足他人的需求,这对提高产品质量,改善人们的生活水平都有很高的价值。1.2课题的主要内容及要求课题的主要内容:以光伏硅片酸洗池作为被控对象,来设计太阳能硅片酸洗池温度控制系统,控制酸洗池管式换热器的流量大小,实现控制酸洗池温度的目的。最后,系统实现了通过闭环调节方式,使酸洗池温度稳定在给定值。课题的主要要求如下:(1)测量酸洗池多个工位的温度值,并把实际测量被测对象的温度值显示出来;(2)在温度控制精度方面,要求控制精度小于或等于0.2,检测分辨率小于或等于0.5;(3)能够适应工业现场的工作要求,抗干扰能力强。1.3论文的内容安排论文分为六章来写,首章叙述的是课题的研究背景,它的主要内容、要求以及整篇论文各个部分内容的安排。第二章主要是对所提出的方案进行论证。第三章阐述了本课题的总体方案,详细介绍了各部分硬件电路,包括STC89C52RC主控芯片、385隔膜抽水泵的工作原理、红外温度传感器的测温原理、液晶显示原理、加热装置的选择、按键电路、供电电源电路。第四章所描述的是各部分程序的数据处理与控制过程。第五章描述了样机的调试过程中遇到的问题以及对测试结果的分析。第六章是对本课题进行总结,总结温度控制系统的控制过程,实现了那些功能,以及自己在做毕设过程中所能体会到的内心感受。2方案论证2.1系统方案方案一:主控芯片采用单片机STC89C51,采用多个七段LED数码管作为显示部分,加热采用简易的电热丝,冷却使用风扇,多只DS18B20温度传感器作为温度测量部分,DS18B20温度传感器,经过内部数据处理,能读取被测对象的温度,要正确显示其温度信息,还需要通过程序对其相应的位进行数据处理,这样就可以把被测对象的温度显示到LED数码管上。比较酸洗池的设定温度与红外温度传感器测量得到的温度的大小,设定温度较大时,控制加热装置开始工作,加热酸洗池;测得的温度较大时,风扇开始工作,使酸洗池加快散热,逐渐冷却下来。不断地进行比较,重复加热或冷却的步骤,使酸洗池的温度等于设定的温度。方案二:以单片机STC89C52RC为主控部分,采用固态继电器和电热丝作为加热部分,385隔膜抽水泵与常温的水作为冷却部分,显示采用12864液晶显示屏,四个GY-906测温模块作为温度测量部分,红外测温传感器可以很方便获取被测对象的温度值,经过内部数据转换之后,再由单片机处理数据,分离出各个位,再按照顺序让它正确的显示在12864液晶显示屏的位置上。把四个红外测温传感器测得的酸洗池的温度加起来,再取它的平均值,以这个平均值作为酸洗池的参考温度,比较它与设定的温度值的大小,设定的温度值较大时,在PWM控制方式下,控制固态继电器的导通与关断,进而控制电热丝工作,加热酸洗池内水的温度;酸洗池的温度较大时,抽水泵开始工作,把酸洗池内的热水抽到冷水储存器里,同时把冷水储存器里的冷水抽到酸洗池内,使酸洗池冷却。不断把酸洗池内水的温度值与设定温度值进行比较,又不断地重复加热或冷却,实现对温度的控制,使得酸洗池的温度等于设定的温度。2.2方案选择在提出的方案一中,所选用的是DS18B20温度传感器,使用它测量被测对象的温度时,需要与被测对象充分接触,并且热交换完成后,才能获取被测对象的温度值;一个七段数码管只能显示一个字符,采用数码管来显示较多的信息的时候,就得有足够的数码管,控制起来不是那么方便;采用风扇进行冷却,液体的比热容较大,冷却效果不明显,冷却过程非常缓慢,需要等待的时间较长,效率较低。方案二中,在需要时,通过控制电热丝加热酸洗池内水的温度,或是由385隔膜抽水泵把冷水储存器里的水抽到酸洗池内,又把酸洗池内已被加热的水抽到冷水储存器内,这样能够形成一个循环,通过较冷的水和自然冷却,把产生的多余热量带走,使酸洗池内的温度得到保持。使用红外温度传感器,进行现场测量温度可不与被测对象接触,测量得到的结果更准确,无需较长时间的等待,能够快递获得被测对象的温度值,看到被测对象温度的轻微变化,安装方法灵活简便,它更符合实际的温度控制系统。而使用12864液晶显示屏,所能够显示的信息量非常多,屏幕够大,显示的温度信息清晰可见,读取方便。综合考虑后,选择了控制效果更好的方案二。3系统硬件设计系统硬件设计的总体方案,主控模块采用STC89C52RC芯片,由四个GY-906测温模块测量要测对象的温度,温度的显示由12864液晶显示屏来完成,按键电路使用五个轻触开关,加热装置用电热丝来模拟,图3-1为系统硬件设计的系统框图。首先,通过5个按钮可以设定酸洗池的温度值,这5个按钮的功能分别为加、减、光标位置切换、设定、开始,把酸洗池的温度值设定好以后,通过四个红外测温传感器测量被测对象的温度,取它们的平均值作为酸洗池内水的温度值,当它小于设定的温度时,固态继电器导通,电热丝通电,开始工作,加热酸洗池内水的温度;而当它高于起始温度时,就打开抽水泵,把酸洗池内的热水抽出去,把冷水抽进来,使酸洗池冷却下来。不断地进行比较,又重复进行加热或冷却,在这个过程中,加热产生的热量不断被抵消掉,使酸洗池温度稳定在给定值。主控模块:STC89C52RC单片机芯片按键电路多点温度测量电源385隔膜抽水泵加热装置液晶显示电路图3-1系统框图3.1单片机STC89C52RC的简介STC89C52RC单片机芯片,是基于STC89C51单片机芯片开发出来的一款升级产品,它比STC89C51单片机芯片的容量更大,RAM多了128B,用户应用程序空间多了4KB,多加了一个16位的T2,它有40个引脚,四组I/O口,封装为双列直插式,它能外接频率更高的晶振,可达到40M(见)。在很多的控制领域中,都能见到它的身影。该单片机芯片的封装图如图3-2。图3-2STC89C52RC封装图3.2红外测温原理如今,比较常见到的有接触式、非接触式,这两种不同的测温方式。第一种测量精度高,电路简单,但响应时间长,要等到测温器件跟测温对象的热交换结束,达到平衡状态后,才能够读取其准确的温度值,极易受到环境温度变化的干扰;第二种温度分辨率高、不易受到外界环境温度变化的干扰、稳定可靠、可测量的温度范围宽、响应速度快。如红外温度传感器,它根据被测对象向外热辐射的能量来测量出被测对象的实际温度值,不需要进行接触,也不需要等待较长时间,在较远的距离也能进行测量,测量的温度误差较小。因此,在很多测温环境下,都可以使用它来进行温度的测量。本课题由四个GY-906测温模块来测温,GY-906测温模块以MLX90614系列测温芯片为主,一种高精度的MLX90614系列测温芯片,它体积小,节能,方便集成,拥有两种不同的工作模式,它能在-40到125以内正常地进行测温。倘若需要获得较高的测温精度,可设置较小的测温范围,通过SMBus总线,修改E2PRom中相应的控制字,即可实现,最高精度可达0.1。它多应用于高精度、无接触、远程测量,印刷机温度控制,人体温度测量,汽车空调系统等领域。表1为测温模块的引脚功能。表1GY-906测温模块引脚功能表引脚序号引脚名称功能描述1VIN电源输入端2GND接地端,跟金属外壳相连接3SCL/Vz工作在PWM模式下时,由外部电路置高电平;SMBus模式下,它是串行时钟的输入。在8V到16V外部电压下,该引脚稳压管的5.7V输出,可作为外部双极性晶体管的输入端4SDA/PWM数字输入/输出端,工作在SMBus模式下时,作为串行数据的输入/输出接口,此引脚自动设置为集电极开路模式;在正常模式下,作为测量温度输出脉宽调制(PWM)的输出端该系列模块的体积非常小,重量轻,它的温度分辨率最高可达到0.01C,因它测温范围宽,可以在多种不同的使用环境下正常工作,在这两种输出方式中,本课题选用的是可编程SMBus输出。SMBus是同步串行总线,数据传输速度非常迅速,只需要数据线和时钟信号线这两根信号线,它可以很方便的读取到RAM内温度等数据,它的中央处理器能够跟外部器件交换信息,较少地占用内部处理器的资源,这样就能够提高器件的工作效率。在出厂以前,厂家已经对MLX90614红外测温传感器做了标定和校验,温度范围被设置在-20120之间,能输出较好的线性信号。热电元件MLX81101,作为它的红外感应部分,输出的温度值,是传感器自身温度Ta与被测对象温度To两者相互作用得到的结果,在较为理想状态下,热电元件的输出电压为:),()4aooairTATV计算公式中的温度单位都是Kelvin,A作为元件的灵敏度常数。要测量酸洗池内水的温度,需要把四个GY-906红外测温模块固定,用胶枪按压出的溶胶可以很方便的把它固定好,固定的位置距离酸洗池要稍微远一些,分布在不同的位置上,测温模块上的红外温度传感器倾斜向下。除了可测温的红外温度传感器部分,其它的用胶布包起来,防止有水滴掉落器件上,损坏GY-906测温模块。此模块只需连接四根线,其中的两根用作供电,剩下的是信号线,连接线路比较简单。购买的时候,店家提供有GY-906测温模块的模块信息,仔细查阅测温模块的使用手册以及相关的参考例子,里面附有程序,只要能理解好整个控制过程,所编写程序的含义,使用该模块进行测温是很方便的,把总体程序编写好以后,修改相应的端口、变量,调用该模块程序就可以了。3.3液晶显示原理12864液晶显示模块,它由128*64个点构成,可以调节液晶显示的对比度,能在液晶的任意位置显示数字、字符、汉字以及图形信息,有并行、串行这两种不一样的控制方式(见)。本课题所使用的是串行控制方式,如下图3-3,它的串行接口所需的连接线较少,控制起来也很方便。图3-312864与单片机的串行连接图使用12864液晶的时候,需要把PSB引脚置0(即工作方式为串行控制方式),RST复位引脚直接连接电源端,再给背光电源的正负极接上+5V的电源,并且需要在电源的正极和对比度调节端加一个10K或20K的滑动变阻器。下面的表2列出了12864的引脚功能。调节滑动变阻器的旋钮,改变它的阻值,输入合适的电压到液晶显示对比度调节端VO,使得信息显示正常。在显示信息不清晰的时候,可用螺丝刀调节对比度,使显示出来的信息清晰可见,方便他人读取液晶显示屏上的温度数据。为了更好地重复利用优良的液晶显示屏,减少它的损坏,在焊接的时候,焊接一个插槽,这样能够很方便的取下液晶显示屏。在检测电路的时候,把它取下来,检测会方便一些。表212864引脚功能表引脚序号引脚名称功能描述1VSS接地端2VDD电源的正极3VO液晶显示对比度调节端4RS(CS)数据/命令选择端(H/L)(串行片选)5R/W(SID)读/写选择端(H/L)(串行数据口)6E(SCLK)使能信号(串行同步时钟信号)7D0数据端口8D1数据端口9D2数据端口10D3数据端口11D4数据端口12D5数据端口13D6数据端口14D7数据端口15PSB并行/串行选择端,端口被置为高电平:并行,低电平:串行16NC空脚17RST复位端口,端口处于高电平无效;低电平有效18NC空脚19BLA背光电源的正极20BLK背光电源的负极12864液晶显示屏的指令说明如下表3。使用该模块显示内容的时候,要遵循一定的步骤,初始阶段要打开整体显示功能,消除屏幕上的显示内容,通常设置为基本指令操作,这个阶段完成后,就可以写指令或数据,然后一个字节、一个字节地发送数据,设置内容的显示位置,再由单片机进行相应的数据处理,就可以显示数据了。在RE=1的时候,由扩充指令能够设置如待机模式、反白显示、绘图模式的功能(见)。表312864指令功能表指令码指令D7D6D5D4D3D2D1D0功能功能设定001DLREDL=0:4位数据;DL=1:8位数据RL=1:扩充指令操作;RL=0:基本指令操作清除显示00000001将DDRAM填满20H,即空格,并且设定DDRAM的地址计数器(AC)为00H显示开/关00001DCBB=0/1:游标位置反白不允许/允许C=0/1:关闭/打开游标D=0/1:整体显示关闭/打开设定CGRAM地址01AC5AC4AC3AC2AC1AC0用来设定CGRAM的地址进入点设定000001I/DS指定在数据的读取和写入时,设定游标的移动方向,以及指定显示的移位游标或显示移位控制0000S/CR/L设定游标或显示移位控制位,这个指令不会改变DDRAM的内容设定DDRAM地址10AC5AC4AC3AC2AC1AC0设定DDRAM地址,也就是显示的位置。第一行:80H87H;第二行:90H97H;第三行:88H8FH第四行:98H9FH读取忙标志和地址BFAC6AC5AC4AC3AC2AC1AC0BF为读取忙标志,可以确认内部动作是否完成,同时可以读取地址计数器(AC)的值。BF=0:表示模块正在准备状态,能够接受外部的数据或指令;BF=1:表示模块在进行内部的操作,这个时候它不接受外部的数据或指令。地址归位0000001设定DDRAM的地址计数器(AC)为00H,并且将游标移到开头原点位置12864液晶显示屏有的带字库,有的不带字库,不带字库的需要字体生成软件获取一段数据,在把它放到程序中,用数组包含。为了方便,本课题使用的是带字库的12864液晶显示屏。该显示模块的DDRAM跟显示屏上的显示内容是相对应的,我们把将要显示的内容写入到内部显示存储器中,就可以在液晶显示屏上显示出来。在需要显示汉字的时候,先要设置它的显示地址,有了明确的地址,才不会出现错乱,然后再送数据。比如要在第二行第三列显示数据,设置的显示地址为92H,设置好以后再发送数据。下面的表4列出了相应位置上的地址。在需要显示字符的时候,同样需要设置好显示的地址,再送数据,显示两个字符可相当于显示一个汉字的信息量。表4汉字显示坐标横坐标纵坐标第一行80H81H82H83H84H85H86H87H第二行90H91H92H93H94H95H96H97H第三行88H89H8AH8BH8CH8DH8EH8FH第四行98H99H9AH9BH9CH9DH9EH9FH在图3-4中,第一个字节的命令控制字格式为11111ABC,其中的ABC三位状态为110的时候,执行的是读数据;ABC三位状态为100的时候,执行的是读状态;ABC三位状态为010的时候,执行的是写数据;ABC三位状态为000的时候,执行的是写指令。第二个字节发送的是数据/指令的高四位,低4位直接置零,第三字节把低四位左移到高位,再把低位置零,再进行发送数据/指令。图3-412864的串行读/写操作时序图3.4隔膜抽水泵工作原理通电后,抽水泵内的直流电机开始做圆周运动,由机械装置控制抽水泵内部的隔膜,让它不停地做往复式运动,不断压缩泵腔内的空气,在单向阀作用下,排水口处就形成正向压力;而抽水口处形成真空,里面的压力小于外面大气压的压力,压力差足够大时,外面的水将在压力差的作用下,将水经水管不断压入进水口,紧接着不断从排水口排出到另一边的容器内。由抽水泵内直流电机产生的动能来不断吸入水、排出水,能够以一定的流量把水输送到另一处地方。本课题采用两个385隔膜抽水泵,用PWM控制方式进行控制,控制输出的波动小,对其它电路的影响小。一个抽走酸洗池内被加热的水,一个抽冷水到酸洗池。将GY-906测温模块所测得的温度值与设定的起始温度值进行比较,当GY-906测温模块所测得的温度值比较大时,就控制两个抽水泵同时开始工作,一个抽走热水,一个抽回冷水,形成一个循环,带走多余的热量,不至于出现酸洗池内的水过少的现象,使酸洗池的温度稳定在给定值。所使用的385隔膜抽水泵的流量在1.5L/Min到2L/Min之间,工作电压可取6到12V的直流电压,工作电流为1A。3.5L298N电机驱动电路L298N电机驱动电路,内部含有两个双全桥驱动器,输出的电流较大,可以达到2A。图3-5为L298N内部原理图,L298N的两个使能端都接电源,它们处于逻辑高电平,使能端有效,能够驱动两路直流电机。表5列出了该电机驱动电路中的IN1、IN2在不同的状态下,电机的对应的运行状态。图3-5L298N内部原理图表5L298N电机驱动电路的逻辑功能表IN1IN2EN电机的运行状态xx0停止101顺时针运行011逆时针运行001停止111停止想要控制电机的运行状态,需要把使能端设置为高电平,设置好IN1、IN2、IN3、IN4这四个与单片机相连的端口状态。电路中的二极管起保护的作用,因为电机在状态转换的过程中会产生的反向大电流,二极管的加入,为它提供了泄流的通路,从而起到保护L298N。要驱动两路电机转动的时候,驱动电路的功耗会变得比较大,L298N器件发热量很高,如果仅靠它自身进行散热,很可能会影响驱动电路的性能,严重的情况下,还可能导致L298N器件烧坏,需要在L298N器件上添加一个散热片,有了散热片,跟空气接触的面积变大了,可以取得较好的散热效果,使得L298N工作在较为合适的温度下。图3-6为L298N驱动模块电路连接图。图3-6L298N驱动模块电路连接图3.6加热装置的选择加热装置选择了功率为1500W,工作电压为220V的电热丝,为了能够减缓加热的速度,添加了一个动合型的固态继电器,采用PWM控制方式。固态继电器有四个接线端,分成两部分,一边作为输入,一边作为输出,输入端连接单片机的I/O端口,输出的两端接到电热丝的正负极,控制固态继电器的通电时间,就可以控制电热丝按较小的功率加热酸洗池,固态继电器在中间有隔离器件,把输入电压与输出电压隔离开来,人在低电压一边进行操作就比较安全了,其它的电路也得到了保护,减少了干扰。为了更好的实现本课题的温度控制,把占空比设置得比较小,加热过程缓慢一些,这样做有利于抽水泵抽水冷却与自然冷却,能够抵消掉加热装置加热过程产生的多余热量。如果占空比设置得比较高,加热过程过快,多余的热量无法在合适的时间内,通过自然冷却和抽水泵抽水冷却抵消掉,用来冷却的水,它的水温也会升高,这样的话,酸洗池内的水的温度会变得过高,温度控制系统就没有办法使得酸洗池的温度稳定在给定值。3.7PWM控制原理不改变开关周期T,改变通电时间ton占周期T的比值,也就是改变占空比,这样的控制方式成为脉冲宽度调制PWM。脉冲宽度调制经常应用于不间断电源(UPS)、开关稳压电源、交流电机变频调速以及直流电机调速等控制电路3。图3-7为PWM输出波形图,在一个脉冲周期T内,经过t1s后,信号由高电平转变为低电平,开关不导通,没有电压输出。经过t2s后,信号将由低电平转变为高电平,开关管导通,输出电压为U,由下列公式可求出输出电压的平均值UO为:UT121Ott其中是占空比。表示在开关管导通的时间t1与脉冲周期T的比值,。在1,0电源电压U不改变的情况下,可以通过改变值,使得输出电压的平均值UO发生相应改变,实现脉冲宽度调制。图3-7PWM输出波形图本课题使用PWM控制方式控制直流电机、控制加热装置,选择的加热装置功率较大,要使得加热过程缓慢些,使用这种控制方式,可以很方便地调节占空比,改变通电加热的时间,可调节的范围较宽,加热的快慢调节起来非常方便。驱动12V的直流电机的时候,采用PWM控制方式,控制直流电机的通电时间,延长通电时间,电机转速就会变块;缩短通电时间,电机转速会变慢,也能够很方便的调节电机转速的快慢。3.8按键电路按键电路总共使用5个按键开关,一个作为设定键,一个作为数值加键,一个作为数值减键,一个作为光标切换键,还有一个作为启动键。要设置酸洗池的温度,先要按设定键,通过切换键切换到需要调整位,此时再按下加键或减键,就能够调整这个位的数值大小。设定完后,若没有按下启动键,12864液晶显示屏只能显示四个GY-906测温模块测得的温度和它们的平均值;按下启动键,温度控制就会运行。3.9供电电源电路供电电源电路如图3-8所示,选用小型的变压器来供电,它的工作输入电压为220V,降压后,输出的电压为12V,其工作频率为50HZ。使用一个三端稳压器LM7805把12V转换成5V,转换得来的5V电源给单片机供电,使用一个三端稳压器LM7812获得稳定的12V电源,给两个385隔膜直流电机供电,组成的两个稳压电路共用一个整流桥。整流桥由四个整流二极管组成,利用二极管的单向导通特性,每次只有两个二极管导通,把交流转变成直流(见)。需要双电源供电时,共用一个整流桥,这是一个很不错的选择,能够减少了整流二极管的数量,充分利用了整流桥的作用。因为不稳定的供电电压会影响电路元器件的工作性能,所以不能把整流得来的电压直接给电机供电,需要LM7812把变压器转换得来的电压稳定在12V,减少纹波,降低对其它元器件性能的影响。图3-8电源电路图4系统软件设计程序设计采用Keil软件进行编写,可使用C语言或汇编来编写,比较两者,C语言的可读性、可维护性更胜一筹,而执行速度方面不如汇编语言。一般情况下,开发人员更喜欢使用汇编语言来编写程序,而对于编程造诣不深,缺乏经验的人,更喜欢使用C语言来编写程序。本课题使用C语言来编写程序,用它编写的程序更容易理解,查找问题比较方便。4.1主程序设计系统的主程序流程,最初要对系统进行初始化,经过数据处理,把相应的温度信息转换成可显示到12864液晶显示屏的数据,之后,把这些数据显示在12864液晶显示屏的相应位置上。接着可以设定酸洗池的起始温度,以四个红外测温传感器测得温度值的平均值作为酸洗池的温度,再把设定的温度值与酸洗池的温度值进行比较,两者相等时,不执行任何的操作;设定的温度值小于酸洗池的温度值时,控制电热丝开始加热酸洗池内的水温,加热到设定的温度值后,如果温度继续上升,控制抽水泵开始工作,使酸洗池冷却下来,抵消掉多余的热量;设定的温度值大于酸洗池的温度值时,控制385隔膜抽水泵抽水,使酸洗池的温度降下来,降到设定的温度值后,温度还在继续下降,就控制加热装置对酸洗池内的水进行加热,使得酸洗池的温度不再继续下降,温度保持在非常接近设定温度值,只在较小的范围内变化。不断进行比较两者的大小,重复上面的加热或冷却步骤,从而实现对酸洗池温度的控制。系统初始化数据处理显示当前测量到的温度,以及四个温度的平均值开始小于温度测量大于温度测量结束显示温度比较设定温度值与酸洗池温度的大小冷却温度测量启动加热装置温度测量设定起始温度图4-1主程序流程图4.2温度测量子程序温度测量子程序,其程序流程图如4-2,主要是用红外温度传感器测量酸洗池四个点的温度值,把四个红外测温传感器测得温度值的平均值作为酸洗池的温度。采用SMBus输出方式,要把测量的温度数据送到单片机的过程是:首先在SMBus总线上产生起始状态,紧接着是在SMBus总线上产生终止状态,在终止和起始状态之间产生总线空闲时间TBUFmin=4.7us;然后在SMBus总线上发送一位数据,再发送一个字节的数据,发送的过程中,是先发送数据的高位,利用循环语句,把数据的低位往高位移动,再进行发送;数据发送出去后,开始在SMBus总线上接收发送过来的一位数据,然后接收发送过来的一个字节的数据,同理,先接收高位,再通过移位,一位一位进行接收;最后在EEPROM中读出数据,所读取到的DataH_A*256+DataL为温度的十六位数据,若要正确显示到液晶显示屏上,还需要单片机进行数据处理,转换成数字显示。在SMBus总线上产生起始状态、终止状态开始发送一个字节的数据读取TH0,TL0中的数据发送一位数据接收一个字节的数据接收一位数据返回图4-2温度测量子程序流程图在E2PROM中读出数据程序如下:unsignedintmemread_A(void)start_bit_A();send_byte_A(0x00);/SendSlaveAddresssend_byte_A(0x07);/SendCommandstart_bit_A();send_byte_A(0x01);bit_out_A=0;DataL_A=receive_byte_A();bit_out_A=0;DataH_A=receive_byte_A();bit_out_A=1;Pecreg_A=receive_byte_A();stop_bit_A();return(DataH_A*256+DataL_A);/由MLX90615返回的寄存器数值4.3温度显示子程序要使用12864液晶显示屏,首先要做的是设置开始的状态,打开需要显示的功能,关闭不需要显示的功能,通过对获得的16位数据进行求余运算,分离出高位,再经过除运算,为下一位数据的求余运算做准备,就这样把无符号的整形数据按位分离出来。将指令/数据写入到液晶模块的寄存器里,然后按字节来发送数据,按顺序进行发送数据,直到传输完数据。最后,设置显示位置,根据公式进行换算,把数据按顺序逐位显示到液晶显示屏上,其流程图如图4-3。由T=(DataH:DataL)*0.02-273.15可以换算为温度数据(T,单位为),在公式中,(DataH:DataL)中的DataH是从测温模块读取到的高四位数据,而DataL为低四位数据。写指令/数据开始发送一个字节的数据液晶初始化数据处理设置显示地址显示数据图4-3温度显示子程序流程图根据公式计算温度并显示的部分程序如下:/*其中一路的温度显示,乘以100是因为数据处理的时候,是以整数进行处理的*/TemA=(memread_A()*0.02-273.15)*100;write(0,0x90);/设置的显示地址在第四行第一列write(1,1);/第一路温度值显示write(1,:);write(1,qian0);write(1,bai0);write(1,.);/小数点write(1,shi0);write(1,ge0);4.4按键电路子程序先判断5个按键哪一个被按下,延时后,再次判断它的状态,设定值被按下后,再按切换键,这两个按键都被按下后,并且按键按下有效,按键加、减调整才能够执行它们各自的功能。如果设定值没有被按下,是不能进行设定温度值的,按下加、减键不会起作用。流程图如下:开始图4-4按键电路子程序流程图判断某按键被按下的部分程序如下:if(k1=0|k2=0|k3=0|k4=0|k5=0)delaynms(80);if(k1=0|k2=0|k3=0|k4=0|k5=0)if(k1=0&set=1)/数据调整的减功能if(wei=1)t_set=t_set-1;if(wei=2)t_set=t_set-100;4.5温度控制子程序从四个不同位置测量酸洗池的温度值,求取测得的四个温度值的平均值,将这个平均值作为酸洗池的温度,用它减去设定的温度值,如果得到的结果大于0.1,抽水泵开始工作,把酸洗池内的热水抽出了,把冷水抽到酸洗池内,如果差值较大,可以让抽水速度加快些,尽快冷却,差值较小,抽水过程缓慢些,缓慢的进行冷却;如果得到的结果小于0.1,让加热装置开始通电工作,加热酸洗池中的热水,通过PWM控执行延时程序,等待按键松开判断5个按键中,是否有按键被按下Y执行这个按键的功能程序结束N制方式,控制固态继电器的通电时间,从而控制电热丝的加热时间,使加热效果能够控制在较合适的范围内。比较完一次,还需要继续进行比较,重复对酸洗池进行加热或者是冷却,使得酸洗池的温度一直非常接近设定的温度值。开始比较设定温度与四个传感器的测量平均温度大于设定温度抽水泵抽水冷却加热装置开始加热小于显示温度图4-5温度控制子程序流程图ZKB_B=2;while(1)if(go=1)if(t_set=Tem)ZKB_B=2;elseZKB_B=50+(Tem-t_set)/100*7;x1+;if(x1%11=0)P0_2=0;elseP0_2=1;Key();Deplay();/*限定占空比*/if(ZKB_B=99)ZKB_B=99;if(ZKB_R#include#include#include#include#include#include#includesbitP0_0=P00;sbitP0_1=P01;sbitP0_2=P02;unsignedcharshow1=0;unsignedintTemA,TemB,TemC,TemD,Tem;unsignedcharcodem=设定;unsignedcharcodem1=启动;unsignedcharcodem2=;unsignedcharD,D1;/占空比变量/*系统初始化函数*/voidinit_sys()/*TH0和TL0是计数器0的高8位和低8位计数器,计算办法:TL0=(65536-N)%256;*TH0=(65536-N)/256,其中N为所要计数的次数即多长时间产生一次中断;*TMOD是定时/计数器的工作模式选择,0X01表示选用模式1,它有16位计数器,*最大计数脉冲为65536,最长时间为1ms*65536=65.536ms*/TMOD=0X01;/定时器模式1EA=1;/总中断允许ET0=
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 风电项目资金与财务管理方案
- 《幼儿园管理》练习题附答案
- 2025年美发工具行业研究报告及未来行业发展趋势预测
- 装表接电工中级工模拟试题与答案
- 幼儿园清明节期间信息沟通制度及流程
- 2025年养生保健服务行业研究报告及未来行业发展趋势预测
- 2025年休闲裤行业研究报告及未来行业发展趋势预测
- 风电机组运营优化与故障预防方案
- 学校禁毒教育专题会议记录范文
- 旅游公路交通组织与疏导方案
- 个性化医疗决策模型-深度研究
- 2025-2030年中国汽车起重机市场前景规划及投资潜力分析报告
- Oracle财务系统应付账款模块操作手册
- 体检营销话术与技巧培训
- 泰山版(2025版)小学信息技术第5册教学计划
- 广东省佛山市顺德区2023-2024学年七年级(上)期末数学试卷(含答案)
- 变配电运维职业技能(中级)等级培训题库
- 矿山隐蔽致灾普查治理报告
- 实心球课件教学课件
- 玻璃体切割手术治疗2型糖尿病视网膜病变专家共识
- 大型养路机械司机(打磨车)高级工技能鉴定考试题库(含答案)
评论
0/150
提交评论