您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > 基于单片机的水箱温度自动测控系统设计
—248—基于单片机的水箱温度自动测控系统设计顾春阳1,任玲1,王广林2(1.哈尔滨工业大学电气工程及自动化学院,哈尔滨150001;2.哈尔滨工业大学机电学院,哈尔滨150001)摘要:采用新型单片机STC12C5412AD以及高灵敏度的热敏电阻对水箱温度进行实时测量,由单片机内集成的10bitA/D进行模数转换,从而实现实时监测、实时控制、实时显示及越限报警等功能。系统硬件由主机、电源、按键及显示、控温执行和串行口通信等部分组成,软件由主程序、温度检测转换、温度控制等模块组成。系统通过按键切换实现实际温度和设定温度在数码管中的显示和更改。实验结果表明,该系统检测精度高、反应快,具有一定应用价值。关键词:水温自动控制;热敏电阻;A/D转换;SPI通信DesignofWaterTankTemperatureAutomaticMeasuringandCybernatingSystemBasedonSCMGUChun-yang1,RENLing1,WANGGuang-lin2(1.CollegeofElectricEngineering&Automation,HarbinInstituteofTechnology,Harbin150001;2.CollegeofMechinery&Electricity,HarbinInstituteofTechnology,Harbin150001)【Abstract】Thetemperatureofwatertankismeasuredonreal-timebyusingthenewkindofSingle-ChipComputer(SCM)STC12C5412ADandthermo-esistancesofhighsensitivity.Thereal-timemonitoring,controlling,displayingandover-limitalarmingareimplementedbyemployingA/Ddeviceof10digitsintegratedinthecomputerforthetransformationofanaloganddigit.Thehardwareofthesystemconsistsofthemaincomputer,powersource,buttonanddisplay,temperature-controllingprocess,andserialinterfacecommunication.Thesoftwareofthesystemconsistsofthemodulessuchasmainprogram,temperaturemeasurementandtransformation,temperature-controlling,andetc.Therealtemperatureistransformedandthesettemperatureinthenixietubeisdisplayedandalteredarbitrarilywiththebutton.Experimentalresultsshowthissystemisofhighaccuracyinmeasurementandrapidityinresponse,whichhasthevalueofapplications.【Keywords】automaticcontrolofwatertemperature;thermo-resistance;A/Dtransformation;SPIcommunication计算机工程ComputerEngineering第35卷第3期Vol.35No.32009年2月February2009·工程应用技术与实现·文章编号:1000—3428(2009)03—0248—03文献标识码:A中图分类号:N9451概述温度检测和温度控制是单片机在电子产品中的主要应用之一[1-2]。随着温度控制器应用范围的日益扩大,各种适用于不同场合的智能温度控制器应运而生。在科研和生产中,常要对某些系统进行温度监测和控制,目前已有的实现温控的方法有很多,如油浴恒温法、比例式、积分式及其组合的调节方法等,有的方法达到热平衡需要的时间很长,但其控温精度很高,而有的方法达到热平衡的时间短,但其控温精度较低。用单片机实现系统温度的自动控制,能提高整个系统的灵活性和可靠性,系统达到热平衡较快,精度也较高,且该方法更易实现。有多种方法实现温度的自动检测与控制[3]。传统的常规温度自动测控因其明显的缺点已被淘汰;热电偶测温的基本技术和主要性能指标均依赖于热电偶,可实现较宽温度范围的精确测量,但其连续测量能力低、实时跟随性弱,不适合于连续、快速在线的测控;红外测温利用红外测温仪进行测温,其特点是响应速度快、使用安全、且寿命长。该技术在工业过程温度测控、设备故障诊断得到应用,但因测量精密度和连续跟随性方面的缺陷,在在线连续实时高精度检测应用中受到限制。2系统方案设计2.1系统功能分析由于系统应实现温度的自动精确控制及显示,并可以随时调整设定温度,从而扩大应用范围,因此功能扩展为:通过加热器实现升温,通过轴流风机实现降温;通过单片机控制使温度相对恒定;控制温度精度约为0.1℃;通过按键输入设定值;实时显示当前温度值并可以进行设定温度与实际温度的显示转换;越限报警。2.2精度保证与实现方法采用现有最灵敏的感温元件——热敏电阻,并使用单片机内的10bitA/D转换。由于控制精度要求为0.1℃,因此温度传感器和A/D转化器的精度应较高,以保证控制精度的实现。温度传感器要能区分0.1℃,热敏电阻可区分到10-3℃;而对于A/D转换器,测量范围为0℃~100℃,以0.1℃作为响应的A/D区分度要求,A/D需要区分(100-0)/0.1=103个数字量,显然要10bit或以上的A/D转换器。片内的10bit模数转换可以基本满足要求。2.3控制执行单片机系统使用5V直流电,而加热器和风机可均使用220V交流电,适用范围广;通过继电器将强弱电分离,并由单片机直接控制。基金项目:黑龙江省自然科学基金资助项目(E0523)作者简介:顾春阳(1988-),女,本科生,主研方向:自动控制与智能控制;任玲,本科生;王广林,教授、博士、博士生导师收稿日期:2008-07-02E-mail:guchunyang@163.com—249—2.4按键设计根据功能要求,系统中应设置5个按键:(1)复位键:用于单片机的软件复位;(2)运行键:使温度控制系统运行;(3)显示转换键:用于切换实际温度与设定温度的显示;(4)设置温度加0.5℃键;(5)设置温度减0.5℃键。2.5显示设计使用3个共阳极数码管,通过74HC164串入并出芯片扩展,并由单片机SPI(同步外围串口)实现静态显示,温度由0.00℃~99.99℃。2.6越限报警系统中设置蜂鸣器,通过单片机进行比较判断,当得到温度越限时进行报警处理。系统整体控制结构如图1所示。传感器水箱模数转换执行电路单片机3bitLED显示按键输入出错报警加热散热图1控制系统总体框图3闭环控制系统为保证测温和控温的高精度,除了运用最灵敏的热敏电阻、片内的10bitA/D转换,还需采用闭环反馈系统。实测温度包括2个方面:(1)温度自身实际值,(2)温度变化速率。闭环反馈控制实现实际值与设定值的比较,控制升温、降温或保温。为保证系统精度,超调量应该控制在231010−×℃。4硬件电路系统设计硬件电路主要由主机、电源、按键及显示、控温执行和串行口通信等部分组成。4.1主机电路分析与设计单片机采用STC12C5412AD新型单片机,工作电压为3.4V~5.5V,12KBFlash储存器,SRAM512Byte,8路10bit模数转换,4路PCA/PWM,并采用窄28脚封装,其中包含23个I/O口。单片机为本系统的核心部分,其电路原理如图2所示。图2主机部分电路原理4.2温度检测电路设计温度检测部分的主体为负温度系数热敏电阻,其标称阻值为50KΩ。由于热敏电阻灵敏度高,因此阻值虽温度变化的幅度大,可以不经过放大器,直接进行模数转换,仍能保持较高精度,这就简化了温度检测电路,便于调试,且不易出错。电路原理如图3所示。图3温度检测部分电路原理4.3执行部分设计系统的执行部分由升温和降温2个部分构成。由于加热器和风机都使用220V交流电,因此直接由单片机控制5V继电器,即可达到自动控制的目的。升-降温控制电路按功能相近-结构相似原理设计。4.4按键及显示部分设计4.4.1按键由于I/O口富余,因此按键部分可以不使用A/D输入,而直接由I/O口实现,其中,K0为复位键;K1为运行键;K2为显示转换键;K3为设置温度加0.5℃键;K4为设置温度减0.5℃键。电路原理如图4所示。图4按键部分电路原理4.4.2显示电路设计在单片机资源扩展中,可以进行串口输出口扩展。而本系统中的串口需通过编程加以实现,因此,使用同步串行外围接口(SPI)并通过外接74HC164(串入并出移位寄存器)可扩展并行输出口,如图5所示。图5显示部分电路原理4.5电源电路设计整个系统采用220V交流电,单片机电源通过变压器将—250—220V交流输入转换成9V交流输入,再经整流、滤波以及7805稳压,就可得到较稳定的5V直流电源,此电压也是A/D输入的参考电压,如图6所示。图6电源部分电路原理4.6串口通信电路设计为了可靠方便地与其他部分电路连接,实现高效通信,采用并行顺接方式,如图7所示。图7串口通信部分电路原理5系统程序设计考虑到程序的可读性及可移植性,所有程序采用C51语言进行编程,并用KeilC51软件进行调试、修改、编辑和仿真。与汇编语言相比,C语言在功能、结构性、可读性、可维护性等方面都有明显优势。5.1主程序模块系统主程序框图如图8所示。图8系统主程序流程5.2按键扫描模块为简化硬件,按键采用软件消除抖动。单片机的晶振频率在4MHz~8MHz之间变化,在精度要求不高的情况下,可认为约等于6MHz,则其一个机器周期约为12×1/6µs,即2µs。采用一种常见的消抖动法:判断有键按下后延时10ms~20ms后再次读键判断,以便在一次按键后产生一个有效信号供单片机处理。由于键被按下的时间持续上百毫秒,因此延时后再扫描也不迟,如图9所示。图9按键扫描流程5.3显示模块由于需显示的是3bit10进制数字,因此要设置3个变量分别储存十位、个位和小数位数字,且由SPI模拟串口逐位发送,每发送一批后有一定延时。5.4温度控制模块此模块使用全局控制位runflag,当runflag=0时,系统根据采集到的数据与设定温度相比较,进行加热或升温;runflag=1时,系统只进行温度检测而不进行温度控制。5.5温度检测转换模块采用ADC_DATA/ADC_LOW2特殊功能寄存器实现A/D转换。其中,ADC_DATA(C6h)全部8bit均有效,ADC_LOW2(Beh)只有低2bit有效。计算公式为结果(ADC_DATA[7:0],ADC_LOW2[1:0])=1024×Vin/VccVin——模拟输入通道输入电压Vcc——单片机实际工作电压,并作为模拟参考电压取ADC_DATA的8bit为ADC转换的高8bit,ADC_LOW2的低2bit为ADC转换的低2bit,即为10bit精度;如果舍弃ADC_LOW2的低2鼻涕,只用ADC_DATA的8bit作为ADC转换的高8bit,则A/D转换结果为8bit精度。此时的计算公式为结果(ADC_DATA[7:0])=256×Vin/Vcc将输入的电压信号转换成数字信号后,经过反复调试对比,把温度和电压的关系近似地归为分段线性关系,并由分支语句分别计算得到比较准确的摄氏温度值,在30℃~53℃之间可达到0.1℃精度,其他温度段的精度约为0.3℃。5.6系统初始化模块系统初始化模块中包含与A/D转换和SPI有关的位设置。与SPI有关的特殊功能寄存器包括:控制寄存器(SPCTL
本文标题:基于单片机的水箱温度自动测控系统设计
链接地址:https://www.777doc.com/doc-5753761 .html