logo资料库

基于单片机AT89C51的温度控制系统的设计.pdf

第1页 / 共2页
第2页 / 共2页
资料共2页,全文预览结束
中国科技信息2009年第12期CHINASCIENCEANbTECHNOLOGYINFORMATIONJun.2009基于攀片概AT8孕C。51温度控制系统的设计罗云松李丹攀枝花学院电气信息工程学院617000簿0甓≯≮0黪鬈曩叠鬈0霆0曩本文以单片机AT89C51为控制核心,温度信号经输八模数转换器ADC0809,转换后的数字量输八割单片机。单片机中采用PID控制算法对测量数据和设定数据进行处理。处理后的数据经数模转换器DACOB52转换为模拟量,以此来控制全隔离单相交流调压模块,从而控制锅炉艰温稳定于设定值。舞鳓矿≯00■熬∥鬈曩叠纂单片机;温度控制系统;PID控制@哆啦峨iI≯000100◆:◇■0j麓iThispapertakesthesinglechipmicrocomputerofAT89C51asthecentralcontroller,andthetemperaturesignalisinputtedintotheA/DConverterADC0809,thentheconverteddigitalsignalisimporttedintotheSingleChipMicrocomputer.Single-chipMicrocomputerusePIDcontrolalgorithmtOprocessthedatameasurementanddatasettings,andtheprocesseddataisconvertedintoanalogsignalbytheD/AConverSerDAC0832.Thesignalcontrolsthewholeiselations{ngIe—phaseACvoltageregulatormodule,andthencontre~theboilerwatertemperatureStabStyinthesettings.酶—晒媾囊—≯-0joi蒸■≯-0SingleChipMicrocomputer;TemperatureControlSystem;PIDControl1.引言随着现代化科技的进步,在很多工业控制场合需要非常精确的控制温度的变化,而在日常生活中,水温的智能控制应用也非常广泛,在这种环境下,便提出了智能水温控制系统。本设计以单片机AT89C51为控制核心,用K型热电偶作温度传感器,信号经放大后输入模数转换器ADC0809,转换后的数字量输入到单片机AT89C51中。单片机中采用PID控制算法对测量数据和设定数据进行处理,处理后的数据经数模转换器DAC0832转换为模拟量,以此来控制全隔离单相交流调压模块,从而控制锅炉水温稳定于设定值。2.温度控制系统方案设计采用K型热电偶测量温度,将温度信号放大后通过A/D转换进入单片机,单片机进行数字滤波和PID运算处理后,结果经DAC0832转换为模拟量对全隔离单相交流调压模块进行控制,达到控制电炉水温的目的。系统方案如图1所示。黼废f々,卷器.爬尢屯绱r.jADC0809i一:A18【x、5I锅炉温挖电路f,DAC0832}j图1系统结构框图3.温度控制系统硬件设计温度控制系统硬件包括:AT89c51单片机最小系统模块、A/D转换模块、D/A转换模块、信号放大电路、温控电路以及其它外围电路。3.1单片机的选择AT89C51是ATMEL公司采用CMOS工艺生产的低功耗、高性能8位单片机,与MCS一51单片机兼容,其功能特点为:(1)4K字节闪烁存储器(FLASH),可进行1000次写。(2)静态操作,外接OHZ一24MHZ晶振。(3)三层程序存储器琐。(4)128字节内部数据存储器(RAM)。(5)32跟可编程输入,输出线。(6)两个6位定时/计数器。(7)六个中断源。(8)一个可编程串口。(9)支持低功耗模式和掉电模式。非常适合用作控制系统设计。3.2传感器电路和信号放大电路采用K型热电偶作为温度传感器,它174是一种能测量较高温度的廉价热电偶。它的价格便宜,重复性好,产生的热电势大,约为0.04lmV/度,因而灵敏度很高,而且它的线性很好。虽然其测量精度略低,但完全能满足工业测温要求,所以它是工业上最常用的热电偶。由于热电偶输出的电压信号频率较低、电压弱,所以选用了一阶有源低通滤波电路。放大电路用同相放大、负反馈方式。3.3模数转换器ADC0809与单片机的接口模数转换器ADC0809是8位逐次比较式A/D转换芯片,具有地址锁存控制的分时采集8路模拟开关,其模拟量输入电压为0~5V,对应的数字量输出为00H—FFH,以及相应的通道抵制锁存用译码电路,其转换时间为100us左右。温度传感器将温度信号转换为电信号经放大后输入模数转换器ADC0809,转换后的数字量输入到单片机AT89C5l中,单片机AT89C5i中与模数转换器ADC0809的接口电路2如图所示。图2ADC0809与单片机AT89C51的接口电路3.4数模转换器DAC0832与单片机的接口DAC0832主要参数如下:分辨率为8位,转换时间为1“s,满量程误差为±1LSB,参考电压为(+10~一lo)v,供电电源为(+5~+ls)v,逻辑电平输入与TTL
兼容。本设计只需一个模拟量输出,因此,DAC0832的输出采用单缓冲输出方式。其接受从单片机送来的数字信号,并将其转换为可在0V~+5V范围内变化的模拟信号,此信号输出至下一级全隔离单相交流调压模块,从而调节该模块的输出功率。DAC0832与单片机AT89C51的接口电路如图3所示。┏━━━━━┳━━━━┳━━━━━━┓┃┃┃┃┃┣━━━━┫┃┃P2┃┃勰m翟c┃┃P2.┃]卜一┃┃┃砥┃┃┃┃┃F┃┃┃┣━━━━┫┃┃8┃j_┃┃┃┃=┃┃┃雷┃┃┃┃P00┃┃m裟:┃┃┣━━━━┫┃┃┃┃DAC┃┃:┃┃。i,”。m┃┃P07┃┃┃┗━━━━━┻━━━━┻━━━━━━┛图3DAC0832与单片机接口电路3.5功率驱动电路设计当水温和设定值不等时,必须对其进行控制以稳定于设定温度。本设计用全隔离单相交流调压模块来响应DAC0832的输出,以控制电阻丝的发热功率,进而控制水温。电路原理图如图4所示。┏━┳━━━━━┳━━━━━━┓┃┃夏流┃┃┣━┻━━━━━╋━━━━┳━┫┃┃┃┃┃┣━━━━┫┃┃护亭。┃J┃┃┣━━━━━━━┻━━━━┻━┫┃驴吲0③④┃┣━━━┳━━━━━━┳━━━┫┃┃TY一口一220┃┃┣━━━┻━━━━━━┻━━━┫┃+5VCONCOM┃┗━━━━━━━━━━━━━━┛图4全隔离单相交流调压模块实现水温控制电路4.PID温度控制算法程序PID控制算法是温度控制系统软件的核心部分。本设计采用增量式PID控制算法,其算式如下:AU=K。【(q,一P.卜.)+(71/r)q,+(r,/7')(%一:。q。+q,:)J式中,e一。一,分别为第次、n—neen1次和Fl一2次的偏差值;K。T.,T,,分别为比例系数、积分系数和微分系数;T为采样周期。控制模块工作过程为:单片机每隔固定时间将现场温度与用户设定目标温度的差值带入增量式PID算法公式,由公式输出量决定加热器功率大小。如现场温度与■一一目标温度的偏差大则电压导通个数多,加热电路的加热功率大,使温度的实测值与设定值的偏差迅速减少;反之,二者的偏差4,N电压导通个数小,加热电路加热功率减少,直至目标值与实测值相等,形成一个闭环调节系统。其控制流程如图5所7R。程序韧始化k:AtD:Y∞“从工,赢茹妊;“)W篓;:求粕蠢面一!控;、?:■”.¨?!■一’銎i—;瞬淼培蠹一一象;Au∞:q“oe异(k)“+ql’e”(瑁k-l。)+me(k12).AU(k>….….蕈.Ⅷ』D/A。《,将控制增量输出给D/Aj,l△u………i………一为下一时刻做准备!%t森、、。’,、时目到?图5软件控制流程数字曾量式PID控制子程序关键代码如下:typedefstructPID}doubleSetPoint;//设定目标DesiredValuedoubleProportion;//比例常数ProportionalConstdoubleIntegral;//积分常数IntegralConstdoubleDerivative;//微分常数DerivativeConstdoubleLastError;//Error[IIdoublePrevError;//Error[一2】doubleSumError;//StunsofErrors}PID;doublePIDCale(structPID*pp.doubleNextPoint){doubledError,Error;Error=PP>SetPoint-NextPoint;//偏差PP->SumError+=Error;//积分dError=pp->SumError-2*pp>LastError+pp->PrevError;//当前微分PP->PrevError-PP->LastError;PP->LastError=Error;retum(PP一>Prolmrtion*Error//Lk例项+pp>Integral*PP->SumError//积分项+pp一>Deriva_[ive}dError//微分项Xj5.结论本系统以AT89C51单片机为控制核175一心,利用热电偶检测温度并配合PID控制算法提高了水温的控制精度,使用PID控制算法和移相触发可控硅调节方式实施自动控制系统,具有控制参数精度高、反映速度快和稳定性好的特点。誓
分享到:
收藏