基于单片机的温度控制器设计热敏电阻_第1页
基于单片机的温度控制器设计热敏电阻_第2页
基于单片机的温度控制器设计热敏电阻_第3页
基于单片机的温度控制器设计热敏电阻_第4页
基于单片机的温度控制器设计热敏电阻_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

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

文档简介

1、重庆科技学院智能仪器仪表的设计与调试课程设计报告学院:电气与信息工程学院_专业班级:学生姓名:学号:设计地点(单位)逸夫科技大楼I506设计题目:基于单片机的温度控制器设计完成日期:2012年6月29日指导教师评语:成绩(五级记分制):指导教师(签字):摘要随着社会的进步和工业技术的发展,人们越来越重视温度对产品的影响,许多产品对温度范围要求严格,目前市场上普遍存在的问题有温度信息传递不及时、精度不够的缺点,不利于工业控制者根据温度变化及时做出决定。在这样的形式下,开发一种实时性高、精度高的温度采集系统就很有必要。本课题用一种基于单片机的数据采集系统方案,该方案根据热敏电阻随温度变化而变化的特

2、性,采用串联分压电路。单片机采集热敏电阻的电压,通过A/D转换将模拟量电压信号转换成数字量电压信号,经过查表转换得到温度值,控制数码管实时显示温度值。本系统中所用到的器件是STC12C5A60sM片机、NTCB敏电阻和数码管。关键词:温度控制器SC12C5A60S常片机A/D转换对半查表法PID算法ABSTRACTWiththesocialprogressanddevelopmentofindustrialtechnology,moreandmoreattentiontotheimpactoftemperatureontheproducts,manyproductsonthecriticalt

3、emperaturerange,temperatureinformationtransmissionisnottimely,notenoughprecisionshortcomingsofacommonproblemonthemarkettoday,donotconducivetoindustrialcontrolbasedontemperaturechangesandmaketimelydecisions.Inthisform,todevelopareal-time,highprecisiontemperatureacquisitionsystemisnecessary.Thistopicw

4、ithamicrocontroller-baseddataacquisitionsystemprogram,whichaccordingtothecharacteristicsofthethermistorvarieswithtemperaturechanges,theseriesvoltagedividercircuit.Themicrocontrollercollectionthermistorvoltage,theanalogvoltagesignalbytheA/Dconvertertoconvertthevoltagesignalofthedigitalconversiontempe

5、raturecontroldigitaltubetemperaturevalueisdisplayedinrealtimeafterthelook-uptable.ThedevicesusedinthissystemisSTC12C5A60S2microcontroller,NTCthermistoranddigitaltube.Keywords:Temperaturecontroller;SC12C5A60S2microcontroller;A/Dconverter;Halflook-uptablemethod;PIDalgorithm目录摘要2ABSTRACT31 绪论51.1 研究温度控

6、制系统的背景、目的及意义51.2 设计的主要内容及技术指标61.3 数据采集系统简单介绍62温度控制系统总体设计81 总体需求81 总体方案设计83硬件电路设计及分析97 单片机最小系统97 温度控制模块127 显示器137 按键电路147 LED指示灯报警模块144软件设计与分析15软件总体设计15A/D转换模块原理15室温补偿及查表程序设计16按键设计17PID算法18系统调试205总结21参考文献22致谢23附录1系统电路图24附录2PCB图25附录3程序清单261绪论研究温度控制系统的背景、目的及意义在人类的生活环境中,温度扮演着极其重要的角色。无论你生活在哪里,从事什么工作,无时无刻

7、不在与温度打着交道。自18世纪工业革命以来,工业发展对是否能掌握温度有着绝对的联系。在冶金、钢铁、石化、水泥、玻璃、医药等等行业,可以说几乎80%勺工业部门都不得不考虑着温度的因素。温度对于工业如此重要,由此推进了温度传感器的发展。进入21世纪后,温度传感器正朝着高精度、多功能、总线标准化、高可靠性及安全性、开发虚拟传感器和网络传感器、研制单片测温系统等高科技的方向迅速发展。在工农业生产中,温度检测及其控制占有举足轻重的地位,随着现代信息技术的飞速发展和传统工业改造的逐步实现,能够独立工作的温度检测和显示系统已经应用于诸多领域。要达到较高的测量精度需要很好的解决引线误差补偿问题、多点测量切换误

8、差问题和放大电路零点漂移误差等问题,使温度检测复杂化。模拟信号在长距离传输过程中,抗电磁干扰时令设计者伤脑筋的问题,对于多点温度检测的场合,各被检测点到监测装置之间引线距离往往不同,止匕外,各敏感元件参数的不一致,这些都是造成误差的原因,并且难以完全清除。单片机以其功能强、体积小、可靠性高、造价低和开发周期短等优点,成为自动化和各个测控领域中必不可少且广泛应用的器件,尤其在日常生活中也发挥越来越大的作用。采用单片机对温度采集进行控制,不仅具有控制方便、组态简单和灵活性大等优点,而且可以大幅度提高被控数据的技术指标,从而能够大大提高产品的质量和数量。由于科学技术的飞速发展,特别是微电子加工技术,

9、计算机技术及信息处理技术的发展,人们对信息资源的需求日益增长,作为提供信息的传感技术及传感器愈来愈引起人们的重视,而综合各种技术的传感器技术也进入到一个飞速的发展阶段。要及时正确地获取各种信息,解决工程、生产及科研中遇到的各种具体的检查问题,就必须合理选择和善于应用各种传感器及传感技术。如最简单的温度的测量,有热电偶、光纤温度传感器等等。但是,热敏电阻是开发早、种类多、发展较成熟的敏感元器。热敏电阻由半导体陶瓷材料组成,利用的原理是温度引起电阻变化。热敏电阻器是敏感元件的一类按照温度系数不同分为正温度系数热敏电阻器(PT。和负温度系数热敏电阻器(NTQ热敏电阻器的典型特点是对温度敏感,不同的温

10、度下表现出不同的电阻值。正温度系数热敏电阻器(PT。在温度越高时电阻值越大,负温度系数热敏电阻器(NTC在温度越高时电阻值越低,它们同属于半导体器件。随着半导体技术的不断发展,热敏电阻作为一种新型感温元件应用越来越广泛。他具有体积小、灵敏度高、重量轻、热惯性小、寿命长以及价格便宜等优点,最重要的是作为温度传感器的热敏电阻的灵敏度非常高,这是其他测温传感器所不能比拟的。设计的主要内容及技术指标要求温度控制系统完成以下功能:.基本功能1)温度上、下限报警值设定;温度上、下限报警;2)目标温度值设定;3)设定温度、测量温度显示;4)手动/自动方式设定;5)手动/自动控制。.扩展功能1)用红外遥控器实

11、现上述功能;2)实现温度的存储、调用。3)其它功能技术指标:控温范围为30-70OC;测温误差±1C1.3数据采集系统简单介绍随着自动控制的发展,数据采集越来越被广泛应用,如医疗、工业等方面,数据采集是指将温度,压力,流量,位移等模拟量通过各种传感元件做适当转换后,再经信号调理、采样、量化、编码、传输等步骤采集,转换成数字量后,传给PC机进行存储,处理,显示或打印的过程,相应的系统称为数据采集系统,可分为以下几种:1.基于通用微型计算机的数据采集系统.基于单片机的数据采集系统.基于DSP数字信号微处理器的数据采集系统本次课程设计采用的是单片机形式的数据采集系统:它是由单片机及其些外围

12、芯片构成的数据采集系统,是近年来微机技术快速发展的结果,它具有如下特点:(1)系统不具有自主开发能力,因此,系统的软硬件开发必须借助开发工具。(2)系统的软硬件设计与配置规模都是以满足数据采集系统功能要求为原则,因此系统的软硬件应用配置具有最佳的性价比。系统的软件一般都有应用程序。(3)系统的可靠性好、使用方便。应用程序在ROM中运行不会因外界的干扰而破坏,而且上电后系统立即进入用户状态。2温度控制系统总体设计总体需求结合当前我的设计及实际情况,具有以下任务需求:利用STC12C5A60S2片机和负温度系数热敏电阻的组合编程实现温度的实时测量和数码管显示。温度的测量范围为-30C至70C,当按

13、下报温键时,系统通过监测热敏电阻两端电压,经过计算得到实时温度值,再显示出来。总体方案设计温度控制系统主要由温度传感器(热敏电阻),A/D转换器,单片机(STC12C5A60S2,按键设置和数码管显示组成。其系统框图如图2.1:图2.1系统结构框图3硬件电路设计及分析单片机最小系统目前在单片机系统中,应用比较广泛的微处理芯片主要为8XC5粽列单片机。该系列单片机均采用标准MCS-51内核,硬件资源相互兼容,品类齐全,功能完善,性能稳定,体积小,价格低廉,货源充足,调试和编程方便,所以应用极为广泛。例如比较常用的AT89C205俾片机,带有2KBFlash可编程、可擦除只读存储器的低压、高性能8

14、位CMO微型计算机。拥有15条可编程I/O弓I脚,2个16位定时器/计数器,6个中断源,可编程串行UARTS道,并能直接驱动LED输出6-7。本系统采用新一代的8051单片机一一STC12C5A60S2由国内宏晶科技生产,具指令代码完全兼容传统8051,但速度快8-12倍。内部集成MAX81实用复位电路,具工作电压范围是3.5V5.5V°STC12C5A60S260KB的用户应用程序空间,256B的RAMF口1024B的XRAM能满足程序代码的需求和缓冲区定义的需求。另外与程序存储空间独立的一片闪存区域,可在应用编程中作EEPROM用。STC12C5A60S2双UART及ISP串口,

15、申口资源足够系统使用。另外通过宏晶科技提供的软件,使用UARTT很容易地实现程序O9cn6<1-432-1O98T65432I43333333333222222222VccPO.QPO.IJP0.21PQ,3P0.4P0.5P0.6P0.7EX_LVDP4.6RST2)ALE/F4JNAP4.4P2.7A15P2,fiA14P2.5AllJP24AI2P2JAllJP2.2AIOP2JA9P2.0AS下载。STC12C5A60S236个通用I/O口,大部分可位控,并且有强推挽输出的能力,足够系统使用。还拥有4个16bit定时器和一个独立的波特率发生器,另外还有两个PCA模块,能获得丰富的

16、定时器资源。STC12C5A60S2PDIP-40封装的芯片,易于快速进入实验。封装引脚图如图3.1所示。CLKOUT2ADCOPtOtADC1Pl.l匚RkD2ECIADC2PIJITXD2,CPP0ADC3PIJ匚SSCPPlADC4;P1.4MOSIADC5T1.5CMISOADC6PL6CZSCLKADC-PIJ匚_P4.7RSTCZlTRxDPJ.OCZTxDP3.1fINTOP3.2I_JSTP3.3CZCLKOUTOINTT0P3.4匚CLKOUT1iTTlP"匚ZWRP3.6CZRDP3二XTAL2匚XTALI匚Gnd匚二图3.1STC12C5A60S2芯片PDIP封

17、装引脚图STC12C5A60S2要性能:.增强型8051CPU1T,单时钟/机器周期,指令代码完全兼容传统8051。.STC12C5A60S2列工作电压:3.3V-5.5V;STC12LE5A60S2列工作电压:3.6V-2.2V。.工作频率范围:0-35MHZ,相当于普通8051的0-420MHZ4,用户应用程序空间8K/16K/20K/32K/40K/48K/52K/60K/62K字节等。.片上集成1280字节RAM6,通用I/O口(36/40/44个),复位后为:准双向口/弱上拉(普通8051传统I/O口)。可设置成四种模式:准双向口/弱上拉,推挽/强上拉,仅为输入/高阻,开漏。每个I/

18、O口驱动能力均可达到20mA但整个芯片最大不要超过55mA.ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器,无需专用仿真器,可通过用口(P3.0/P3.1)直接下载用户程序,数秒即可完成一片。.有EEPROMb能(STC12C5A62S2/AD/PW®内部EEPROM).看门狗。.内部集成MAX81%用复位电路(外部晶体12M以下时,复位脚可直接1K电阻到地)。.外部掉电检测电路:在P4.6口有一个低压门槛比较器。5V单片机为1.32V,误差为±5%3.3V单片机为1.30V,误差为±3%.时钟源:外部高精度晶体/时钟,内部R/C振荡器(温漂为&#

19、177;5呃1±10%Z内)用户在下载用户程序时,可选择是使用内部R/C振荡器还是外部晶体/时钟。常温下内部R/C振荡器频率为:5.0V单片机为:11MHz15.5MHz;3.3V单片机为:8MHz-12MHz精度要求不高时,可选择使用内部时钟,但因为有制造误差和温漂,以实际测试为准。.共4个16位定时器,两个与传统8051兼容的定时器/计数器,16位定时器T0和T1,没有定时器2,但有独立波特率发生器。做串行通讯的波特率发生器,再加上2路PCA1块可再实现2个16位定时器。.2个时钟输出口,可由T0的溢出在P3.4/T0输出时钟,可由T1的溢出在P3.5/T1输出时钟。.外部中断I

20、/O口7路,传统的下降沿中断或低电平触发中断,并新增支持上升沿中断的PCAf块,PowerDownl式可由外部中断唤醒,INT0/P3.2,INT1/P3.3,T0/P3.4,T1/P3.5,RxD/P3.0,CCP0/P1.3(也可通过寄存器设置到P4.2),CCP1/P1.4(也可通过寄存器设置到P4.3)。.PWM(骼)/PCA(可编程计数器阵列,2路),也可用来当2路D/A使用,也可用来再实现2个定时器,也可用来再实现2个外部中断(上升沿中断/下降沿中断均可分别或同时支持)。.A/D转换,10位精度ADC共8路,转换速度可达250K/S(每秒钟25万次)。.通用全双工异步用行口(UAR

21、T),由于STC12系列是高速的8051,可再用定时器或PCAa件实现多用口。.STC12C5A60S2列有双串口,后缀有S2标志的才有双串口,RxD2/P1.2(可通过寄存器设置到P4.2),TxD2/P1.3(可通过寄存器设置到P4.3)。.工作温度范围:-40-+85C(工业级)/0-75c(商业级)。.封装:PDIP-40,LQFP-44,LQFP-48,I/O口不够时,可用2到3根普通I/O口线外接,74HC164/165/595(均可级联)来扩展I/O口,还可用A/D做按键扫描来节省I/O口,或用双CPU三线通信,还多了用口。单片机最小系统由CUP芯片、时钟电路(外接11.0592

22、HZ的的晶振),和复位电路组成。其电路图如图3.1.1所示:714.-34-567890123456-7S9O111111111111-2FlJTFH16SP34VC14C15TTT>P10P16>FHrry、TF.FSyP12_:C/7”PT7ryi-r_Tn上jiTLOyFU丁pi2ypisypuy2315&71£1.11pppppPT即DnoTlm-WX1RB31iK12C5AlfrS2POJP02P03PWPVtPVCP07P20P】?22P23P乂PNP2721P2P.P01tP02pomw卬;户日.PC17yerPsf1F”RXDTXDALEPPSEN

23、图3.1.1单片机最小系统3.2温度控制模块温度控制模块硬件图如图3.2:热敏电阴型号,MF52-103/343510K±1%精度B值:3435VCC1KMMTppx?050温度控制模块川MC特性:R25c=10KR1O=18.56KR2O=12.69KR5O=4.065K,R8O=L586K,R1OO=O.918K图3.2温度控制模块其中所用热敏电阻的型号是MF52-103/343510K±1%精度B值:3435。热敏电阻的主要特点是:灵敏度较高,其电阻温度系数要比金属大10100倍以上,能检测出10-6C的温度变化;工作温度范围宽,常温器件适用于-55C315C,高温器

24、件适用温度高于315C(目前最高可达到2000C),低温器件适用于-273C55C;体积小,能够测量其他温度计无法测量的空隙、腔体及生物体内血管的温度;使用方便,电阻值可在0.1100kQ问任意选择;易加工成复杂的形状,可大批量生产;稳定性好、过载能力强.MF5210K3470温度特性表R25c=10KB(25/50)=3470KT(C)R(KQ)T(C)R(KQ)T(C)R(KQ)T(C)R(KQ)-40190.5562-2799.5847-1453.1766-129.2750-39183.4132-2694.6608-1350.7456028.0170-38175.6740-2590.03

25、26-1248.4294126.8255-37167.6467-2485.6778-1146.2224225.6972-36159.5647-2381.5747-1044.1201324.6290-35151.5975-2277.7031-942.1180423.6176-34143.8624-2174.0442-840.2121522.6597-33136.4361-2070.5811-738.3988621.7522-32129.3641-1967.2987-636.6746720.8916-31122.6678-1864.1834-535.0362820.0749-30116.3519-

26、1761.2233-433.4802919.2988-29110.4098-1658.4080-332.00351018.5600-28104.8272-1555.7284-230.60281118.4818T(C)R(KQ)T(C)R(KQ)T(C)R(KQ)T(C)R(KQ)1218.14892510.0000386.1418513.92711317.6316269.5762395.9343523.79361416.9917279.1835405.7340533.66391516.2797288.8186415.5405543.53771615.5350298.4784425.353455

27、3.41461714.7867308.1600435.1725563.29391814.0551317.8608444.9976573.17521913.3536327.5785454.8286583.05792012.6900337.3109464.6652592.94142112.0684347.0564474.5073602.82502211.4900356.8133484.3548612.77622310.9539366.5806494.2075622.71792410.4582376.3570504.0650632.6523T(C)R(KQ)T(C)R(KQ)T(C)R(KQ)T(C

28、)R(KQ)642.5817771.7197901.23601030.8346652.5076781.6727911.20371040.8099662.4319791.6282921.17141050.7870672.3557801.5860931.13901060.7665682.2803811.5458941.10671070.7485692.2065821.5075951.07441080.7334702.1350831.4707961.04221090.7214712.0661841.4352971.01041100.7130722.0004851.4006980.9789731.93

29、78861.3669990.9481741.8785871.33371000.9180751.8225881.30091010.8889761.7696891.26843.3显7K器目前使用较广的显示器有CRTLEDLCD和3D显示器等,根据钛渣自动称重系统实际需求,本设计选用LE躁码显示器,因为考虑到价格不高且能够实现所需的显示要求。其硬件图如图3.3所示:RP1A47O24xLEDCL3451AS1RP1B47011RP1C27041增1D,705RHEfO61RP1F470712HG470g1RP1H4709P00P01yP01、P02:'-/?P(UK3/P05£05

30、/P1。P07P07P24P25P2711工21012"9"6comlcorn2mm3con14mtntnm四位共阴数码管显示图3.3四位共阴极数码管显示按键电路按键用于实现人对整个温控仪器的控制,可以设定目标工作温度,设定报警上下线温度,调节PWW空比。其电路图如图3.4所示:MODEUPDNENT蹙j|,理1|.d|h-5-01|1四个独立按键图3.4四个独立按键LED指示灯报警模块LED旨示灯作为报警使用,当检测得的温度超过设定的温度上限或者低于设定的温度下限时,LED旨示灯由灭变亮,实现报警功能。LED指示灯电路如图3.5所示:图3.5LED指示灯报警模块电路图4软

31、件设计与分析软件总体设计软件系统初始化时把温度数据做成表格存储到ROW,通过AD对热敏电阻两端的进行测量,然后通过运算将电压值对应于电阻值,通过查表把电阻值对应于温度值,再通过运算把温度数据送到数码管上显示,其中程序初始化主要是对AD和数码管进行初始化。它的流程图图如图4.1:图4.1软件总体流程图A/D转换模块原理传感器获得的信号由于是模拟信号,而CPLM理的是数字信号,故要经过模数转换,本设计采用芯片STC12C5A60S2现的AD转换。STC12C5A60S系列单片机ADC(A/D转换器)的结构如下图4.2所示:ADC.POWERSPEED1SPEEDOADC_FLAGADC_START

32、CHS2CHSICKSOADCCONTRRegisterAD抄换结果寄存器:ADCR£SandADCRESL模拟输入信号通道选择?fCHS2/CHSl/CIB0ADC7P1.7ADC6PL6ADC5FPL5ADC4Pl4ADC3P13ADC2/P1.2ADCIPl1ADC0P10逐次比较/寄存器较黑n-10-bitDAC图4.2STC12C5A60S2系歹U单片机ADC吉构图室温补偿及查表程序设计首先将热敏电阻测得的冷端温度转换为对应的表中数值,再将其与滤波并转换后放大1000倍的数值相加进行冷端温度补偿。然后通过对半查表法查得温度值。对半查表法的思想是:有序表的数据排列有一定规律,

33、不必像无序表那样逐个查表,可以采用对半查表法亦称二分查表法)o对半查表就是每次截取表的一半,确定查表元素在哪一部分,逐步细分,缩小检索范围,从而大大加快查表速度。对半查表法的基本思想是:对半查表时,设置两个指针L0和Hi,分别保存表的下限值和上限值的序号,开始查表时设置Lo=0,Hi=N-1。设N个元素按照从小到大的顺序排列,则中心元素的序号为:A/j=(ZO+Hi)式中,表示小于等于(Lo+Hi)/2的最大整数。由此将表分为前半部分和后半部分。然后计算中心元素的地址:Addm=表苜地址+Mixi式中,i为数据元素的字节数。根据中心元素的位置找出中心元素,并和查表的元素进行比较,若中心元素大于

34、查表的元素,则选取表的前半部分,修改上限指针Hi:(下限指针Lo不变)Lo:(上限指针Hiw=w若中心元素小于查表的元素,则选取表的后半部分,修改下限指针不变)若中心元素等于查表的元素,则查表成功。对半查表法流程图如图4,3所示:按键设计按键部分共有四个按键,K1为模式键,K2与K硼节数字,K4显示温度。对应的单片机端口分别为P2A0,P2Alp2A2和P3A2口。其程序流程图如图4,4所示:卅口PUM-图4.4按键程序流程图PID算法PID算法有位置式和增量式两种,增量式PID算法得到的结果是增量,也就是说,在上一次的控制量的基础上需要增加(负值意味着减少)的控制量。例如,在可控硅电机调速系

35、统中,控制量的增量意味着可控硅的触发相位在原有的基础上需要提前或迟后的量;位置式算法则表现为当前的触发相位应该在什么位置。又如在温度控制系统中,增量式算法则表现为在上次通电时间比例的基础上,还需要增加或减少的通电时间比例;位置式算法则直接指明本周期内要通电多长时间。本系统采用的是位置式PID算法标准的直接计算公式:Pout(t)=Kp*e(t)+KixSum_e(t)+Kd*(e(t)-e(t-1);其中,e(t)为基本偏差,表示当前测量值与设定目标间的差值,设定目标是被减数,结果可以是正或负,正数表示还没有达到设定值,负数表示已经超过了设定值。这是面向比例项用的变动数据。累计偏差Sum_e(

36、t)=e(t)+e(t-1)+e(t-2)+e(1)是每次偏差值的代数和,是面向积分项用的一个变动数据。基本偏差的相对偏差e(t)-e(t-1)是用本次的基本偏差减去上一次的基本偏差,以考察当前被控量的变化趋势,有利于快速反应,是面向微分项的一个变动数据。Kp、Ki和Kd是PID算法的3个控制参数,分别称为比例常数,积分常数和微分常数,不同的控制对象选择不同的数值,需要经过现场整定才能获得较好的效果。比例调节的作用是按比例反应系统的偏差,系统一旦出现了偏差,比例调节立即产生调节作用用以减少偏差。比例作用大,可以加快调节,减少误差,但是过大的比例作用,使系统的稳定性下降,甚至造成系统不稳定。积分

37、调节的作用使系统消除稳态误差,提高无差度。因为一旦有误差,积分调节就进行,直至无差,积分调节停止,积分调节输出维持常量。微分调节作用反映系统偏差信号的变化率,具有预见性,能预见偏差变化的趋势,因此能产生超前的控制作用,使偏差还没有形成即被微分调节作用消除,因此,微分作用可以改善系统的动态性能。为了程序处理上的方便,可在程序内部设一个PID调节时钟(20MS。PID计算周期为2分钟,这样就对周期进行100等分。经PID计算后的输出值即为温度加热时间(0100)。加热时间到了,关闭加热的IO口,直到下一个2分钟到了,冉进行新一轮PID计算和加热控制。为了达到比较好的控制效果,同时减轻单片机的运算量

38、,Kp>Ki和Kd这三个参数采用整数,放大100倍进行计算,三个参数采用相同的放大比例。运算中往往出现数据溢出的情况,注意考虑符号,为此我们对输出值有一约定界限(0100),当结果超出约定界限时,不再增加(或减少)。加温的整个过程没有必要全程PID控制,一般可以在设定目标值前一个温度区域才进行PID控制。例如,设定目标温度为300度,则可以在250度以前全速加温,当达到250度以后才开始计算PID计算并予以控制,这样可以加快加温速度又不影响温度控制。在不产生过大的过冲的情况下,尽可能把起控点抬高,有利于后面控制部分的进一步细化。在进入控制之前,应将积分项清PID算法用以精确控制温度加热,

39、通过PID算法计算出PWM勺占空比,控制加热系统的工作。其程序流程图如图4,5所示:图4.5PID算法流程图系统调试本次课程设计通过对软件的编写,运行无误后下载到单片机中进行调试,最终达到了设计要求:测量温度范围在30c到70C;可设定加热电阻的的目标加热温度;可设定任意温度上下限值,并且在高于温度上限或者低于温度下限的时候由LED丁由灭变亮达到报警的效果。在模式1下设置加热电阻的目标温度,在模式2、3、4下分别可调节比例、积分、微分的参数。最终数码管显示的温度值的精度符合设计要求。5总结设计就是要讲究严谨,在这次课程设计中,我学到了很多知识,也使我的能力得到了提升。首先,硬件方面。选择硬件,

40、要比较同类产品的稳定性、功耗、体积、价格等,另外还要符合设计的全部要求。在显示方案上,我考虑的时间相对长了一点。利用数码管显示,程序复杂,但是,自己编程比较熟悉,价格便宜。利用LCD1602a示,程序简单,但是以前自己从未使用过。经过比较,我选择数码管显示,这样可以更加巩固以前的知识,提高自己的知识水平。在硬件电路的设计方面,用Protel绘制电路图时要标明元件的大小,有些封装元件要标明名称和封装。其次,软件方面。把程序分块编写能够有效地提高正确性和编程效率。在本次设计中,在软件编写的过程中也遇到了很多困难,不过有老师的指导也很快的解决了。在软件编写时,还要注意添加注释,使程序更加清晰,便于理

41、解。总而言之,在各位老师的带领和指导下,我顺利的完成了课程设计,完成了老师交给的任务。参考文献1程德福,林君.智能仪器.北京:机械工业出版社.2010.2万文略.单片机原理及应用.重庆:重庆大学出版社.2004.3赵茂泰.智能仪器原理及应用.北京:电子工业出版社.2004.1990.4合立民.MCS-51系列单片机应用系统设计.北京:北京航空航天大学出版社致谢通过四周的努力,终于完成了基于单片机的温度控制系统设计与调试。由于设计经验的不足在设计及调试中遇到了很多困难,但得到了老师和同学们的帮助,在此对他们表示衷心的感谢。在软件编写与调试中也得到了老师们的指导,本人对他们心存感激。由于本人的硬件

42、设计和调试在I506实验室完成,实验室的负责老师给我提供了设计地方和全部所需器材,并关心我的设计结果,给予我充分的支持和信任,非常感谢老师的帮助。在整个课程设计过程中,我的指导老师钟秉翔老师一直都是耐心的指导,至始至终都没有停止过对我的辅导,让我学到了许多知识,使我受益非浅。能让钟老师做我的指导老师,我感到万分荣幸。同时也要感谢其他辅导过我的老师。最后,感谢学校、学院给予这样的一次机会,经历了整个课程设计过程,我的收获是丰富的,也对整个大学的知识进行了梳理,对所学专业有了更深刻的认识。这次课程设计给我一年后毕业设计做了铺垫,让我了解了自己在哪些方面的不足,自己将会通过接下来的一年的时间逐渐完善

43、自己在这方面的知识,争取在毕业设计的时候能够顺利完成。附录1系统电路图显示模土夬,-3"ftILJJ44冬心A±Ct曲2XD2JAim4AIMW3S也=pT5-T*一凝鼻了M41UD步口LT4轴li鹤3。T3*TOw皿为dtrr的£53?TAUXT48n林-HinexinA1ZJ4.JKt544K'A&lsKE4DLJJADL3M.4处此MlADll制:At2K工询QTT报警模块附录2PCB图十nu*附录3程序清单/摘要:温度控制器系统(温度显示精确到0.1度)调温调节范围设定在35-65度/共at5种模式:/模式0:温度实时值显示(前1位数码管显

44、示模式,后2位显示实时温度值,精确到0.1C/模式1:目标温度设定(35-65度)/模式2:PID参数中的P参数调节模式(0.0-50.0)/模式3:PID参数中的I参数调节模式(0.0-50.0)/模式4:PID参数中的D参数调节模式(0.0-50.0)/数码管第一位显示模式值,后三位显示参数值/按MODE键显示对应卞II式,按UP,DOWN修改参数,按ENT键返回模式0即显示实时温度值/Designedbyzhishou.deng2012.6.25#include"STC12C5A60S2.h”#include"table.h"#defineAD_CHANNE

45、L0#defineucharunsignedchar#defineuintunsignedint#defineTHCO0xf8/11.0592MHZ晶振#defineTLCO0xcb定时2ms时间常数值unsignedcharData_Buffer4=1,2,3,4;ucharcodeDuan17=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x76;sbitP24=P2A4;四个数码管的位码口定义sbitP25=P2A5;sbitP26=P2A6;sbitP27=P2A7;sb

46、itwarm=P3A4;sbitMode_key=P2A0;sbitUP_key=P2A1;sbitDOWN_key=P2A2;sbitENT_key=P3A2;voidAD_init();unsignedintAD_Sample(unsignedcharchannel);voidBuffer_fresh();bitkuaisu=0;/按键快速处理unsignedcharV_mode=0;/0-4unsignedintcanshu5=0,450,110,50,10;/土匀放大10倍/模式0:温度实时值显示(前1位数码管显示模式,后2位显示实时温度值,精确到0.1C/模式1:目标温度设定(35-

47、65度)/模式2:PID参数中的P参数调节模式(0.0-50.0)/模式3:PID参数中的I参数调节模式(0.0-50.0)/模式4:PID参数中的D参数调节模式(0.0-50.0)unsignedintmaxcanshu5=0,700,500,500,500;unsignedintmincanshu5=0,300,1,1,1;bitADflag=0;bitPIDflag=0;bitDisp_flag=0;/*温度计算,放大10倍*/unsignedintADtempreture(void)unsignedintda=0,max,min,mid;unsignedintv;floatt,t1,j

48、;v=AD_Sample(AD_CHANNEL);t=v;t=v*4.883;/4.883=5000/1024;t1=t/1000;/t1为电压值t1=(5000-t)/t1;v=(unsignedint)t1*10;计算得电阻值da=v;max=97;min=0;while(1)/查表求出温度值mid=(max+min)/2;if(Tablemid<da)max=mid;elsemin=mid;if(max-min)<=1)break;if(max=min)da=min*10;温度值放大10倍elsej=(Tablemin卜Tablemax)/10;j=(Tablemin卜da)

49、/j;da=j;da=10*min+da;returnda;unsignedcharpid_val_mid=0;voidPIDcompute()/*根据设定及采集值进行计算PID调节,计算出PIDVALMID的值*/staticintSumError=0,PrevError=0,LastError=0;intdError=0,Error=0;doublej=0.0,i;Error=canshu1-canshu0;if(Error>10)pid_val_mid=255;return;elseif(Error+10<0)pid_val_mid=0;return;SumError+=Er

50、ror;dError=Error-LastError;PrevError=LastError;LastError=Error;/j=canshu2*Error+canshu3*SumError+canshu4*dError;/放大100倍i=canshu2;j=Error*i;i=canshu3;j=j+SumError*i;i=canshu4;j=j+dError*i;if(j>0)j=j/10;/PID参数放大了10倍,所以要减小10倍if(j>255)pid_val_mid=255;/全开elseif(j<0)pid_val_mid=0;/全关elsepid_val_mid=j;/计算值一一/*/voidmain(void)/bitx=0,y=0;主程序TMOD=0x11;TH0=THCO;TL0=TLCO;TR0=1;ET0=1;EA=1;设置定时器0工作模式,16位计数模式启动定时器使能定时器中断开总中断CCON=0;清标志CL=0;/清计数器CH=0;CMOD=0x08;/PCAPCAPWM1=0X0;时钟为SYSCLKCCAP1H=CCAP1L=0xff;/pwm0output50%dutycycle脉宽值越低输

温馨提示

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

评论

0/150

提交评论