您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 交通运输 > 基于单片机的恒温控制系统
基于单片机的恒温控制系统设计摘要:本设计的温度测量及加热控制系统以AT89S52单片机为核心部件,外加温度采集电路、键盘及显示电路、加热控制电路和越限报警等电路。采用单总线型数字式的温度传感器DS18B20,及行列式键盘和动态显示的方式,以容易控制的固态继电器作加热控制的开关器件。本作品既可以对当前温度进行实时显示又可以对温度进行控制,以使达到用户需要的温度,并使其恒定在这一温度。人性化的行列式键盘设计使设置温度简单快速,两位整数一位小数的显示方式具有更高的显示精度。建立在模糊控制理论上的控制算法,使控制精度完全能满足一般社会生产的要求。通过对系统软件和硬件设计的合理规划,发挥单片机自身集成众多系统级功能单元的优势,在不减少功能的前提下有效降低了硬件成本,系统操控简便。关键词:单片机恒温控制模糊控制Abstract:ThedesignofthetemperaturemeasurementandheatingcontrolsystemstoAT89S52microcontrollercorecomponent,plusthetemperatureacquisitioncircuit,keyboardanddisplaycircuit,heatingcircutaltemperaturesensorDS18B20,andthedeterminantofthekeyboardanddynamicdisplayinordertoeasilycontrolthesolid-staterelaysforheatingcontroloftheswitchingdevice.Thisworksbothonthecurrenttemperatureinreal-timedisplayoftemperaturecanbecontrolledinordertoenableuserstoreachtherequiredtemperature,andmakeitconstantatthistemperature.HumanizeddesignkeyboarddeterminanttemperatureeasyExpress,thetwodecimalinteger,adisplayshowsahigheraccuracy.Setupinthefuzzycontroltheory,controlalgorithms,sothatthecontrolaccuracycanmeetthegeneralrequirementsofsocialproduction.Throughthesystemsoftwareandhardwaredesignofrationalplanning,exerttheirownsingle-chipintegrationofmanysystem-levelfunctionalunitoftheadvantages,doesnotreducethefunctionsatthepremiseofeffectivelyreducingthecostofhardware,thesystemeasytomanipulate.Keywords:microcontroller,temperaturecontrol,fuzzycontrol-1-1.引言温度是工业生产中主要的被控参数之一,与之相关的各种温度控制系统广泛应用于冶金、化工、机械、食品等领域。温度控制是工业生产过程中经常遇到的过程控制,有些工艺过程对其温度的控制效果直接影响着产品的质量,因而设计一种较为理想的温度控制系统是非常有价值的。2.整体方案设计本设计的温度测量及加热控制系统以AT89S52单片机为核心部件,外加温度采集电路、键盘及显示电路、加热控制电路和越限报警等电路。采用单总线型数字式的温度传感器DS18B20,及行列式键盘和动态显示的方式,以容易控制的固态继电器作加热控制的开关器件。实验证明该温控系统能达到0.2℃的静态误差,0.45℃的控制精度,以及只有0.83%的超调量,因而本设计具有很高的可靠性和稳定性。2.1.方案论证设计中采用了两个方案,具体的方案见方案一和方案二。方案一:温度测量及加热系统控制的总体结构如图1所示。系统主要包括现场温度采集、实时温度显示、加热控制参数设置、加热电路控制输出、与报警装置和系统核心AT89S52单片机作为微处理器。单片机数字式温度传感器加热器显示器键盘越限报警控制器图1:方案一框图温度采集电路以数字量形式将现场温度传至单片机。单片机结合现场温度与用户设定的目标温度,按照已经编程固化的模糊控制算法计算出实时控制量。以此控制量控制固态继电器开通和关断,决定加热电路的工作状态,使水温逐步稳定于用户设定的目标值。在水温到达设定的目标温度后,由于自然冷却而使其温度下降时,单片机通过采样-2-回的温度与设置的目标温度比较,作出相应的控制,开启加热器。当用户需要比实时温度低的温度时,此电路可以利用风扇降温。系统运行过程中的各种状态参量均可由数码管实时显示。方案二:2.2方案比较由于方案一涉及的电路相对较多,消耗的功率相对较大,而且单片机采集数据更加方便,便于处理,而且单片机已经成为主流产品。单片机在电路上相对比较简单,而且消耗的功率相对较少,调试也较方便,因此设计采用了方案二。-3-3.单元模块的设计3.1温度采集电路的设计温度采集电路模块如图2示。DS18B20内部结构主要由四部分组成:64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。其中DQ为数字信号输入/输出端;GND为电源地;VDD为外接供电电源输入端。图2:温度采集电路DS18B20中的温度传感器可完成对温度的测量,以12位转化为例:用16位符号扩展得二进制补码读数形式提供,以0.0625℃/LSB形式表达,其中S为符号位这是12位转化后得到的12位数据,存储在18B20的两个8比特的RAM中,二进制中的前面5位是符号位,如果测得的温度大于0,这5位为0,只要将测到的数值乘于0.0625即可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1再乘于0.0625即可得到实际温度。3.2、键盘和显示的设计键盘采用行列式和外部中断相结合的方法,图3中各按键的功能定义如下表1。其中设置键与单片机的脚相连,、YES、NO用四行三列接单片机P0口,REST键为硬件复位键,与R、C构成复位电路。模块电路如下图3:-4-表1:按键功能按键键名功能REST复位键使系统复位RET设置键使系统产生中断,进入设置状态90SS数字键设置用户需要的温度YES确认键用户设定目标温度后进行确认NO清除键用户设定温度错误或误按了YES键后使用图3键盘接口电路显示采用3位共阳LED动态显示方式,显示内容有温度值的十位、个位及小数点后一位。用P2口作为段控码输出,并用74HC244作驱动。P1.0—P1.2作为位控码输出,用PNP型三极管做驱动。模块电路如下图4:图4显示接口电路3.3加热控制电路的设计用于在闭环控制系统中对被控对象实施控制,被控对象为电热杯,采用对加在电热-5-杯两端的电压进行通断的方法进行控制,以实现对水加热功率的调整,从而达到对水温控制的目的。对电炉丝通断的控制采用SSR-40DA固态继电器。它的使用非常简单,只要在控制端TTL电平,即可实现对继电器的开关,使用时完全可以用NPN型三极管接成电压跟随器的形式驱动。当单片机的P1.3为高点平时,三极管驱动固态继电器工作接通加热器工作,当单片机的P1.3为低电平时固态继电器关断,加热器不工作。控制电路图如下图5:图5加热控制电路3.4报警及指示灯电路的设计当用户设定的目标温度达到时需用声音的形式提醒用户,此时蜂鸣器为三声断续的滴答滴答的叫声。在本系统中我们为用户设计了越限报警,当温度低于用户设置的目标温度10度或高于10度时蜂鸣器为连续不断的滴答滴答叫声。当单片机P1.7输出高电平时,三极管导通,蜂鸣器工作发出报警声。P1.7为低电平时三极管关断,蜂鸣器不工作。D1为电热杯加热指示灯,P1.5低电平有效;D0为检测到DS18B20的指示,高电平有效;D10为降温指示灯,低电平有效。报警及指示灯电路如下图6示:图6报警及指示灯电路-6-4软件系统的设计系统的软件由三大模块组成:主程序模块、功能实现模块和运算控制模块。4.1主程序模块主程序主要完成加热控制系统各部件的初始化和实现各功能子程序的调用,以及实际测量中各个功能模块的协调在无外部中断申请时,单片机通过循环对外部温度进行实时显示。把设置键作为外部中断0,以便能对数字按键进行相应处理。主程序流程图如下图7:开始用户RAM初始化中断初始化调读温度子程序关中断开中断对采集的温度进行数据处理调数码管显示子程序有中断产生吗?是否设计了温度?调读温度子程序关中断开中断对采集的温度进行数据处理调数码管显示子程序调比较子程序处理后的设温=实温?关加热器处理后的设温实温?处理后的设温实温?开加热器亮蓝灯设温=实温?报警提醒是否越上限?是否越下限?报警报警YYYNNNYNYNYNYYNN图7主程序流程图-7-4.2功能实现模块以用来执行对固态继电器及电热杯的控制。功能实现模块主要由中断处理子程序、温度比较处理子程序、键盘处理子程序、显示子程序、报警子程序等部分组成。键盘显示及中断程序流程图如下图8:中断开始有键按下?调键扫子程序调比较子程序调温度处理子程序调键处理子程序恢复寄存器内容是NO键?是YES键?温度设置完?返回保护寄存器内容11NNYNYY2N2调显示子程序图8键盘、显示、中断子程序流程图-8-4.3运算控制模块该模块由标度转换、模糊控制算法,及其中用到的乘法子程序。4.3.1标度转换式中A为二进制的温度值,为DS18B20的数字信号线送回来的温度数据。单片机在处理标度转换时是通过把DS18B20的信号线送回的16位数据右移4位得到二进制的温度值。其小数部分通过查小数表的形式获取。程序流程图如下图9:开始将28H低4位与29H高4位组合成一个字节给DPTR赋常数表格2首地址将查到的数值(即小数部分)送30H单元将合成的字节(整数部分)送29H单元将29H单元低4位送A结束图9标度转换子程序流程图4.3.2模糊控制算法子程序由于无法确切确定电炉的物理模型,因而无法建立其数学模型和传递函数。加热器为一惯性系统,我们采用模糊控制的方法,通过多次温度测量模糊计算当用户设定目标温度时需提前关断加热器的温度,利用加热器自身的热惯性使温度上升到其设定温度。-9-每隔5摄氏度我们进行一次温度测量,并当达到其温度时关断加热器记录下因加热器的热惯性而上升的温度值。从而可以建立热惯性的温度差值表,在程序中利用查表法,查出相应设定温度对应的关断温度。通过实验数据我们可以看出,当水温从0℃加热到50℃这段温度区域,其温度惯性曲线可近似成线性的直线,水温从50℃加热到100℃这段温度惯性曲线可近似成另一条线性的直线段。通过对设置的目标温度与温控系统监测温度进行差值处理就可近似的求出单片机的提前关断温度。程序流程图如图10:开始设温(38H单元)实温(29H单元)?NY返回设温25度?设温50度?设温80度?设温-实温3?设温←设温-2度设温←实温+1.4度设温-实温3?设温-实温3?设温←设温-2度设温←实温+1.5度设温←设温-2度设温←实温+1.2度设温←设温-1度YNNYYNNNNYYY设温90度?YN设温-实温3?设温←实温+1度图10模糊控制算法子程序流程图-10-5设计总结我们的温度控制系统是基于AT89S52单片机的设计方案,她能实时显示当前温度,并能根据用户的要求作出相应的控制。此系统为闭环系统,工作稳定稳定性高,控制精度高,利用模糊控制算法使超调量大大降低。软件采用模块化结构,提高了通用性。本设计的目的不仅仅是温度控制本身,主要提供了单片机外围电路及软件包括控制算法设计的思想,应该说,这种思想比控制系统本身更为重要。5.1设计所达到的性能指标5
本文标题:基于单片机的恒温控制系统
链接地址:https://www.777doc.com/doc-5859665 .html