温度控制系统的设计温度采集模块.docx
- 文档编号:23980353
- 上传时间:2023-05-23
- 格式:DOCX
- 页数:33
- 大小:707.50KB
温度控制系统的设计温度采集模块.docx
《温度控制系统的设计温度采集模块.docx》由会员分享,可在线阅读,更多相关《温度控制系统的设计温度采集模块.docx(33页珍藏版)》请在冰豆网上搜索。
温度控制系统的设计温度采集模块
本科毕业设计
(2008届)
题目温度测控系统的设计-
温度采集模块
学院物理与电子工程学院
专业电气工程及其自动化
班级
学号
学生姓名
指导教师
完成日期2008年4月
温度控制系统的设计-温度采集模块
DesignofTemperatureControlSystem-TemperatureAcquisitionModule
学生姓名:
Student:
指导教师:
Advisor:
LecturerZhouMuxun
台州学院
物理与电子工程学院
SchoolofPhysics&ElectronicEngineering
TaizhouUniversity
Taizhou,Zhejiang,China
2008年4月
April2008
摘要
温度测控系统设计以AT89C51单片机作为其主控制芯片,可以完成A/D转换,数据处理,液晶显示等功能。
对构成系统的各相关模块的技术和功能进行论述,全面地分析了系统的工作原理以及注意事项。
系统中增加了温度采集测量电路,提高了测量的精度和保持了温度的线性。
设计中的温度控制策略采用PID控制,大大地提高了系统的控制精度,很好地达到了设计要求。
关键词
温度;控制系统;单片机;液晶显示
Abstract
TemperaturemeasurementandcontrolsystemdesignedtoAT89C51MCUasitsmaincontrolchip.ItcancompleteA/Dconversion,dataprocessing,LCDfunctions.Inthispaperthetechnicalandfunctionalofallthesystemrelevantmodulesarediscussed,theworkingprincipleofthesystemisanalyzedcomprehensive,aswellasattentiontothematter.SystemAcquisitionincreasedtemperaturemeasurementcircuit,whichimprovesthemeasurement’saccuracyandtomaintainthetemperaturelinear.DesignofthetemperaturecontrolstrategyusingPIDcontrol,thesystemwillgreatlyimprovethecontrolprecisionandreachthedesignrequirementsverywell.
Keywords
Temperature;ControlSystem;MCU;LiquidCrystalDisplay
1. 引言
近年来,单片微型计算机以其强大的生命力飞速发展,在工业控制、智能仪器仪表、智能化设备和家用电器等领域得到了广泛的应用,因而引起了各行各业的极大关注,有着广阔的发展前景。
单片机具有体积小、重量轻、耗能省、价格低、可靠性高和通用灵活等优点,因此也广泛应用于卫星定向、汽车火花控制、交通自动管理和微波炉等专用控制上,它已渗透到诸多学科的领域,以及人们生活的各个方面[1]。
而在单片机的一个重要的领域,就有一种基于单片机的温度控制系统。
随着工业的不断发展,对温度测量的要求越来越高,测量的范围也越来越广,对温度的控制技术的要求也进一步加强。
因此,温度控制技术研究也是一个重要的研究课题。
温度测控系统是一个闭环反馈控制系统,它是用温度传感器将检测到的实际温度A/D转换,送入计算机中,与设定值进行比较,得出偏差。
对此偏差进行修正,从而实现对温度的控制[2]。
温度测控系统在现实生产、生活中有着广泛的应用,如仓库存储、家禽养殖以及许多工业生产,都需要对环境温度进行监视和控制[3]。
有一种采用模糊控制来设计温控系统[4],模糊控制技术是基于模糊集合理论发展起来的一门前沿高新技术,具有精度高,响应快,过度过程超调量小适应性强,控制规律简单等特点,应用日益广泛。
在国外,一种电子温度控制系统专门运用于管道上的混合阀控制[5],对于它的环增益控制单位至少大约要和混合阀的瞬时斜坡特性曲线成反比,而斜坡特性曲线是由阀门的开放的瞬时值,以及冷和热的补给温度和混合温度决定的,其控制精度要求很高,而且决定因素很多,可见该电子温度控制系统的要求多高。
另一种的温度控制系统是在其中加入中心恒温器[6],用于对电加热和电冷却设备进行控制,使设备在一定区域内,保持一定范围内的温度,这种温控系统的恒温器非常多元化,它通过区域内的电力导体与控制器联系,通讯,然后根据温度状况改变恒温器的设定值。
目前大多数温度控制系统都具有温度时延、控制精度不够、智能程度低等缺点[7],而单片机温控系统可以很好的运用于实际的生活和生产中,同时投入也不大,成本低,具有很好的实际运用价值,所以对于温度控制系统的研究单片机温控系统是个很好的典范,也是主要的发展方向,同时加入一些先进的控制整定技术可以使其控制的精度大大提高,对未来的发展有很大的意义[8]。
2. 设计方案思路
温度测控系统设计的基本思路是采用一个控制芯片,将采集进来的信号,进行放大,调幅,滤波,最后通过A/D转换后,输入到控制芯片中,通过程序将各个模块连接起来,实现整套系统的功能。
可见,控制芯片的选择最重要。
文献[9]提出了以PLC作为控制器的加热炉温度控制系统设计方案,实现了加热炉电阻丝两端的电压和加热炉温度的控制。
PLC具有抗干扰强,稳定性高,可靠性好等特点,但是其控制精度不高,且成本较高,不容易进行试验,实用性不强。
而单片机相比PLC有成本低,功耗低,功能强等优势,方便进行试验和研究,课题采用单片机作为控制芯片。
测量温度有很多传感器。
如热电偶的测温范围广,但灵敏度较低;热敏电阻灵敏度高,但工作温度范围较窄。
而集成温度传感器利用了半导体PN结电流电压特性和温度的相关性,与热电偶、热敏电阻相比,具有输出线性好,测温精度较高的优点。
课题采用AD590作为温度传感器。
A/D转换芯片的选择ADC0809,该芯片带有8位A/D转换器、8路多路开关以及微处理机兼容的控制逻辑的CMOS组件,可以与单片机直接接口。
最后整体方案是用AD590采集温度,经过采集电路放大,滤波之后,通过ADC0809转换,输入单片机AT89C51,经过程序处理最后直观的呈现在液晶上。
3. 温度测控系统的硬件设计
3.1 芯片介绍
3.1.1 AT89C51单片机
Atmel公司的AT89C51是一种低功耗、高性能的片内含有4kB快闪可编程/擦除只读存储器(FPER—OM)的8位CMOS微控制器,使用高密度、非易失存储器技术制造,并且与80C51引脚和指令系统完全兼容[10]。
AT89C51具有40管脚,有P0,P1,P2,P3四个主要I/O口,每个口都分为八位,其中以P3口功能最强大,是单片机的主要功能口,AT89C51的引脚图如图1所示:
图1 AT89C51的引脚图
3.1.2 ADC0809转换器
ADC0809是一种8位逐次逼近型A/D转换器,带8个模拟量输入通道,芯片内有通道地址译码锁存器,有输出三态数据锁存器,启动信号为脉冲启动方式,每个通道的转换大约为100μS,可以与单片机直接接口。
ADC0809的引脚图如图2所示:
图2 ADC0809的引脚图
ADC0809可处理8路模拟量输入,有三态输出能力,既可与各种微处理器相连,也可单独工作。
多路开关可选通8个模拟通道IN0~IN7,允许8路模拟量分时输入,共用A/D转换器进行转换。
三态输出锁存器用于锁存A/D转换完的数字量,当OE端为高电平时,才可以从三态输出锁存器取走转换完的数据。
3.1.3 AD590温度传感器
AD590是美国AD公司研制的一种电流式集成温度传感器[11]。
其直流工作电压为+4V到+30V,当电源电压由5V向10V变化时,其电流变化仅为0.2μA/V,最佳使用温度范围-55℃~+150℃,在此测温范围内,测量误差为±0.5℃,测量分辨率为0.1℃。
AD590的主要特性:
(1)具有良好的线性和互换性,测量精度高,并具有消除电源波动的特性[12]。
(2)仅需+4V到+30V的直流工作电压,不需要传送器、滤波器和线性化电路等。
(3)具有优良的干扰抑制比,只需很小的功率(115mW)。
(4)电源电压漂移和波纹不敏感。
(5)电气上耐用,可承受+44V正向电压,+20V反向电压,不必担心管脚接错。
AD590管脚排列如图3所示:
图3 AD590管脚排列
3.2 温度控制系统的硬件设计
总体框图如图4所示,以单片机系统为核心,通过温度传感器AD590将温度信号转换为电流信号,放大后,经A/D转换器ADC0809将送进来的模拟信号转换成数字信号后送到单片机处理,并将采集的温度值与键盘设定的温度值进行比较,通过内部的程序处理,将最后的结果显示在液晶上。
图4 系统总体框图
主要模块:
AD590采集测温模块,ADC0809和AT89C51的A/D转换和主控制模块,液晶显示模块。
为了增强系统的抗干扰性,各模块独立制板。
3.2.1 键盘设置电路
图5 键盘与单片机的接口
键盘与单片机的接口电路如图5所示,对于键盘的设置较简单,直接加在主模块电路中,四个按钮的作用分别为读取当前温度,读取设定温度,增高设定温度,减低设定温度。
控制键盘可以改变阈值。
3.2.2 ADC0809和AT89C51的接口电路。
图6 ADC0809和AT89C51的接口电路图
ADC0809和AT89C51的接口电路如图6所示,单片机和ADC0809进行接口是一种常见的单片机接口电路[13],ADC0809可以将8通道的模拟信号转换成数字信号,按一般的方法是先写入一次某一模拟信号的地址,查询ADC0809的EOC信号看其是否转换完成,如果转换完成了,就可以得到其数字。
当地址所存信号ALE为高电平时,C、B、A三条线上的数据送入ADC0809内部的地址锁存器中,经过译码器译码后选中某一通道。
当ALE=0时,地址锁存器处于锁存状态,模拟开关始终与刚才选中的输入通道接通。
当IN0通道的模拟量到达ADC0809时,并不是马上开始A/D转换,只有当转换信号START出现下降沿时才启动A/D转换,当START到达上升沿时,对ADC0809进行复位。
A/D转换结束后,必须使ADC0809的允许输出控制端OE为高电平,打开三态输出锁存器,单片机才能读到A/D转换结果。
一路的模拟量输入,选择IN0,通道地址线A,B,C全部接地。
8位的数字量输出和AT89C51的P0口八位相连,EOC-A/D转换结束信号和AT89C51的P3.3相连即外部中断1,采用74LS74的双D触发器来构成二分频电路,ADC0809的A/D转换过程在时钟信号的协调下进行。
ADC0809的时钟信号由CLOCK端送入。
3.2.3 AD590和采集电路和驱动电路
图7 AD590采集测量电路
AD590采集测量电路如图7所示,温度传感器采用AD590,之后连接由运算放大器OP07构成的跟随器,以提高输出负载能力。
要得到输出电压与实际采集到的温度成线形比,必须对信号进行降压和放大。
对跟随器的输出信号经过一级反向放大,再经过一级反向求和降压,可以提高精度,使整个温度范围内保持良好的线性。
电路的计算过程如下:
0℃~x℃时
(1)
(2)
(3)
(4)
则:
(5)
其中:
电位器R7为10K,调节电位器R8,使
为2.732V,电位器
为10K。
驱动电路用红绿发光二极管模拟加热和降温。
红灯表示加热,绿灯表示降温。
3.2.4 液晶显示模块
图8 液晶显示电路
液晶显示电路如图8所示,采用1602c液晶显示,相比数码管,液晶更直观,程序设计也较简单,具有配置灵活,与单片机连接方便的特点。
1602c液晶采用标准的16脚接口,其中,3脚:
V0为液晶显示器对比度调整端,接正电源时对比度弱,接地电源时对比度最高,对比度过高时会产生“鬼影”,使用时通过一个10K电位器调整对比度,4脚:
RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。
5脚:
RW为读写信号线,高电平时进行读操作,低电平时进行写操作。
6脚:
E端为使能端,E端由高电平跳变成低电平时,液晶模块执行命令。
7~14脚:
D0~D7为8位双向数据线,通过一个十孔插槽,通过数据线与单片机的P1口相连。
4. 温度测控系统的软件实现
软件采用C语言编写,C语言属于高级语言,具有通俗易懂,修改方便,语句简单等优点,在单片机的编程语言中C语言的运用很成熟,也很广泛。
课题中控制策略采用PID控制。
PID控制,实际中也有PI和PD控制。
PID控制就是根据系统的误差,利用比例、积分、微分计算出控制量进行控制[14]。
本系统PID算法由仿真软件实现,增量PID算法的优点是编程简单,数据可以递推使用,占用存储空间少,运算快[15]。
4.1 主程序设计
图9 主程序流程图
主程序流程图如图9所示,程序一开始进行初始化,液晶清屏,使两个发光二极管处于灭的状态,之后设置并启动AD转换以及键盘扫描,检测是否有键按下,并分析。
当设置温度的键按下,程序转到温度设置子程序中运行,键盘扫描完后,对温度进行采样,将采集的电压经过AD转换后转换成相应的温度值,在液晶上显示,最后将采集的温度和设置的温度进行比较,若采集的温度比设置的温度高,绿灯亮,反之,红灯亮。
主程序段如下:
voidmain()
{
EPIN=0;/*程序初始化*/
lcdreset();
ST=0;/*启动AD转换*/
OE=0;.
while
(1)
{
keyscan(); /*调用键盘子程序*/
t0=i;
if(count>=200) /*采集两百次再求平均值*/
{
count=0;
temp=temp/200;
temp=temp*2;
t0=t0*10;
if(t { led1=0; led2=1; }/*否则,绿灯亮*/ else { led2=0; led1=1; } } 主程序完成A/D转换的功能,以及调用键盘用来设置温度的值,最后处理采集到的数据,并与设置的温度值进行比较确定红绿灯的亮灭情况。 4.2 键盘设置子程序 键盘设置子程序流程图如图10所示: 图10 键盘设置子程序流程图 首先进行按键和单片机的端口设置,1键的功能是实现温度加功能,2键是实现温度减功能,3键和4键是实现设置温度和采集温度显示界面转换的功能。 程序段如下: Keyscan() { key1=1;/*端口的设置*/ key2=1; if(key1==0)/*键按下*/ { while(key1==0);/*键盘设置温度*/ i++; if(i==100)i=0; } if(key2==0) { key2=1; delay(20);/*延时*/ if(key2==0) { while(key2==0); if(i==0)i=9; elsei--; } } } 4.3 AD转换子程序 AD转换子程序流程图如图11所示: 图11 AD转换子程序流程图 程序段如下: { ST=0; /*启动AD转换*/ OE=0; ST=1; ST=0; while(EOC==0);/*转换结束*/ OE=1;/*处理数据*/ count++; temp=temp+P0; OE=0; ST=1; ST=0; } 4.4 液晶显示子程序 液晶显示子程序流程图如图12所示: 图12 液晶显示子程序流程图 液晶显示子程序如下: display1()/*完成显示设置的温度的功能*/ { lcdwda1(0x03,i/10+0x30);/*显示数据的处理*/ lcdwda1(0x04,i%10+0x30); lcdwda1(0x05,'C'); } display2()/*完成显示采集的温度的功能*/ { lcdwda1(0x04,t/100%10+0x30); lcdwda1(0x05,t/10%10+0x30); lcdwda1(0x06,'.'); lcdwda1(0x07,t%10+0x30); lcdwda1(0x08,'c'); temp=0; } 4.5 PID控制模块 PID控制采用Simulink进行仿真,系统的传递函数是1/(5s+1),其Simulink仿真图如图13所示: 图13 系统仿真图 PID参数的整定采用临界比例法,先将积分和微分断开,单调节比例环节,调节比例值直到系统运行平稳。 仿真曲线如图14所示: 图14 系统稳定图 根据临界边界法整定参数计算表,算出P,I,D的参数值加入到上述系统中再进行整定得到最后的整定曲线,如图15所示: 图15 整定后的曲线 PID控制器参数整定采用的是临界比例法。 利用该方法进行PID控制器参数的整定步骤如下: (1)首先预选择一个足够短的采样周期让系统工作; (2)仅加入比例控制环节,直到系统对输入的阶跃响应出现临界振荡,记下这时的比例放大系数和临界振荡周期;(3)在一定的控制度下通过公式计算得到PID控制器的参数。 5. 调试 5.1 液晶显示的调试 液晶显示出数据后,能直观了解电路是否正常。 在调试过程中,首先遇到了液晶只能背光灯亮,而不能显示数据。 最先考虑到硬件问题,通过查找资料和用仪器测量,发现液晶有几根线接错,在原来的电路上将接错的线接对后,再次进行试验,发现可以正常显示数据,于是将液晶显示模块重新制板。 随后又发现无数据显示,再次检查硬件和软件均无问题,这时想到了亮度的问题,于是耐心的调节滑动变阻器,发现屏幕亮了出现了数据。 5.2 AD590测温电路的调试 由于AD590的增益有偏差,同时电阻也有误差,因此必须对电路进行调整。 为了获取准确的温度值,分别在0℃(冰水混合物)、100℃(沸水)和36.5℃(人体温度)进行温度定标。 具体步骤是: (1)把AD590放于冰水混合物中,调节电位器R1,使得跟随器输出电压为273.2mV。 依次调节R7、R8,使得运放U2、U3的输出为-2.732V和2.732V。 (2)将AD590放入沸水中,调节电位器R11,使得U4输出为1V。 (3)同理进行36.5℃使得定标。 这样就保证了AD590的准确性,在特殊的温度点的温度,这个过程是很费时间也需要耐心,这个调试的关键就是放大电路的稳定性,和运放的性能,OP07为低失调电压、低失调电流和低漂移的超低失调运算放大器,其增益和共模抑制比高,噪声小,是一种通用性强的运算放大器。 在调试的过程中没有遇到什么大问题,顺利的完成了调试。 5.3 主电路的调试 主电路的调试是最后也是最重要的环节,主电路的调试主要是看看A/D转换是否成功,还有键盘电路,主要的功能是否可以实现。 先把液晶和主电路连接起来,有了液晶,能更直观的了解调试是否成功。 然后将采集电路连接起来,为了防止AD590参数产生误差,先不接上AD590。 将采集端输入一个电压值,程序经过多次修改,没有问题后,输入单片机接通电源进行调试,发现液晶上显示的数值和预想的值有偏差,于是想到是程序的设计上数据处理这一块没处理好。 接着完善了程序之后再调试,终于成功了,说明A/D转换没有问题。 再进行键盘电路的检查,同样的方法先软件,以软件检查硬件的问题。 经过几次的调试,最后按键能成功的设置预想的数值并且可以在液晶上显示出来。 红绿发光二极管也能按要求产生亮灭现象。 6. 结论 本设计经过自己的努力和指导老师的悉心教导,基本功能都能完成,按键可以设置温度值并能转换显示采集的温度和设置温度界面。 通过控制AD590这端的温度,液晶上的数值也会随着变化。 并且当采集的温度高于设置的温度时,绿灯亮,表示要降温处理;而低于设置的温度时,则红灯亮,表示可以继续加热。 但是还存在一些小问题,其中有PID控制这一块没有做到很完美,于是检测的温度精确度不是非常高,但是基本上误差不大。 希望这个课题在以后能更得到很大的改善,能进一步的完美的采集温度以及控制温度,随着科学技术的不断发展对于控制系统的稳定性和可靠性的要求不断的提高,对其方案要求不断的简化,实用,灵敏度要高,以后人们对于温度控制系统的研究也不断加深。 基于单片机的温度控制系统的设计具有功能强、成本低、元件少、可靠性好、抗干扰性强、简单易行、具有实效性、使用范围广等特点。 另外对于数据量要求不大和工作环境比较恶劣的数据存储也具有良好参考价值和推广前景。 参考文献 [1]龙泽明,顾立志等.MCS-51单片机原理及工程应用[M].北京: 国防工业出版社,2005 [2]刘昭斌.利用单片机实现温度智能控制[J].石油化工自动化,2004,(4),52-54 [3]卢流发,杜婷.基于单片机的温度监控系统的实现[J].电子工程师,2005,(31),63-65 [4]周奕辛,于艳春.模糊控制在温度控制系统中的研究和应用[J].仪器仪表用户,2007, (2),8-9 [5]RonaldJ·Liebl,Paul·W.Madaus.Temperaturecontrolsystemhavingcentralcontrolforthermostats[J].UnitedStatesPatent,1994,42-46 [6]KonradBergmann.Electronictemperaturecontrolsystem[J].UnitedStatesPatent,1991,67-71 [7]李建民.单片机在温度控制系统中的应用[J].江汉大学学报,1999,(3),60-62 [8]卿燕玲,李蕾.基于单片机的温度测控系统的设计与实现[J].信息技木与信息化,2006,(3),78-80 [9]宋乐鹏.基于PLC控制的加热炉温度控制系统[J].可编程控制器与工厂自动化(PLCFA),2007,(5),70-72 [10]敬岚,朱海君一等.基于AT89C51的自动测量和控制系统设计[J].仪表技术与传感器,2004,(12),35-37 [11]凌振宝,王君等.集成温度传感器原理及应用[J].传感器世界,2002,8(9),29-32 [12]逢玉台,王团部.集成温度传感器AD590及其应用[J].国外电子元器件,2002,(7),22-24 [13]王新辉.ADC0809,8155应用在MCS-51单片机系统中的问题[J].电脑开发与应用,2003,16(11),38-39 [14]宋逢春,孟红莉等.PID参数的设定调节[J].电
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 温度 控制系统 设计 采集 模块