新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于单片机的温湿度检测与控制系统研究

基于单片机的温湿度检测与控制系统研究

作者:时间:2012-01-07来源:网络收藏

引言

温、湿度是工业生产中常见的被控参数,温度和湿度己不再是相互独立的量,而应在系统集成中综合考虑。利用单片机对温、湿度控制,具有控温、湿精度高、功能强、体积小、价格低,简单灵活等优点,很好的满足了工艺要求。本文介绍了利用AT89C51单片机进行温度和湿度的检测及其控制的智能化方法。

1系统的硬件结构及工作原理

工业中很多装置温度和湿度需要保持在一个既定的温度和湿度值上,本文针对实际需要,设计了一套温度、湿度闭环系统,系统整个硬件结构如图1:

图1 系统硬件结构图

系统的工作中,经过温度、湿度检测及变换电路把被测对象的温度、湿度转换成电压信号,该电压信号经A/D变换器转换为数字信号后送入单片机中,与给定的对应所要控制的多组温度、湿度值进行比较,找出现温度、湿度值所在范围,根据中设置的参数,输出相应温度、湿度初值对应的受控对象电机的转速初值,经D/A转换器转换为模拟电压,通过信号转化为变频器的频率,控制变频调速装置,带动被控对象,并且把被控对象的转速经变换电路和A/D转换器反馈到单片机中,与输出的转速初值进行比较,其偏差被程序计算出后重新输出,在规定的时间内循环,从而实现对温度、湿度的控制 [1],直到达到在误差允许的范围内输出的转速值与转速初值相等。对于欠温度,控制加热功率;对于过温度,控制吹风冷却装置,对于湿度则控制一个加湿、去湿装置[2]

2硬件系统的组成

2.1温度传感器的选择[3]

本系统采用美国DALLAS公司生产的单总线数字式温度传感器DS18B20,由于具有结构简单不需要外接电路,可用一根I/0数据线既供电又传输数据,并且具有体积小,分辨率高,转换快等优点,被广泛用于测量和控制温度的地方。

2.2湿度传感器的选择

本系统采用的是电容式湿敏传感器HS1101,电容式湿度传感器的感湿机理是当基于电极间的感湿材料吸附环境中的水分时,其介电常数也随之变化,其电容量与环境中水蒸汽相对压(PV/P}关系可由下式表示:

电容式湿度传感器实用化程度高,工艺成熟,性能稳定,普遍用于各种情况下湿度测量。

2.3主控模块单片机的选择[4]

本系统单片机选用ATMEL公司的闪速存储器(flash ROM)型单片机芯片AT89C51。AT89C51是ATMEL公司的新一代8位的一片机产品,带有4KROM、128BRAM,最大工作频率24MHZ,同时,具有32条输入输出线,16位定时/计数器,5个中断源,一个串行口;它具有集成度高、系统结构简单,体积小可靠性高,处理功能强,速度快等特点。

2.4A/D芯片的选择

本系统采用Ti公司的串行A/D芯片TLC2543,A/D转换电路作为TLC2543与单片机的接口电路,它是一种利用12位开关电容逐次逼近模拟信号的模数转换器,片内有14位通道。具有12位分辨率A/D转换口,在标定转换温度范围内转换时间为10us,输出数据长度可编程,TLC2543自带采样、保持电路。所以输出引脚可以直接与单片机的并行I/0口连接。

2.5D/A芯片的选择

本系统采用带有缓冲基准输入的10位电压输出数据的模拟转换器TLC5615,D/A转换电路作为TLC5615与单片机的接口电路,它具有基准电压两倍的输出电压范围。通过3线串行总线和工业标准的微处理器和微控制器接口,接收16位数据字以产生模拟输出。

2.6报警电路简介

本设计的报警电路由一个自我震荡刑的蜂鸣器,只要在蜂鸣器两端加上超过3v的电压,蜂鸣器就会叫个不停和一个发光二极管组成。设计中蜂鸣器是通过ULN 2003达林顿管芯片电流放大IC来控制。在要求的温度、湿度达到一定的上界或者下界时,报警电路开始工作。

2.7温度、湿度显示电路

本设计中用4个LED组成显示单元,采用静态显示方式。如图2所示,

图2 温、湿度显示模块图

AT89C51通过2-4译码器对4只MC14495芯片进行控制。MC14495的输出端与LED数码管的7段a,b,c,d,e,f,g相连。MC14495芯片的作用是输入被显示字符的二进制码(或BCD码),井把他自动转换成相应的字形码,送给LED显示。

图2中,4个输出端口用于输出显示字符的二进制码 (或BCD码)。1个输出端口用于控制2-4译码器工作,还有2个输出口经译码器输出后控制哪一片MC14495显示输出,从而直观的看出温度、湿度经过闭环调节之后的效果值。如我们假定温度上限、下限为50,0,湿度为70,30。我们可根据现场检测直观的显示温、湿度值,超出系统将做报警处理。程序简单思路如下[5]

#includeiostream.h>

Void main( ){ int a,b,c,d,e,f,g,g;//设置检测点a,b用来检测温度上下限,c,d检测湿度上下限,e,f,g,h对应显示温度与湿度的测量值。

If(a>0a5c>3c7)//如果温度、湿度都在我们设定的范围内,正常显示。

a=e;b=f;c=g;d=h;//把检测对应连接显示接口,显示温度、湿度值。

else

报警}

3系统软件设计

3.1数据采集

温度数据的采集经过DS18B20独特的功能,直接将采集的数据自动转化为数字量传入单片机,湿度数据是由传感器测得现场湿度信号经变送器转换成0~5V的直流信号,送到A/D模数转换器转换成数字量后,再送入单片机进行数据处理,处理后的数据进入算法比较做出控制量的选择。

3.2数字滤波

当采样过程完成后,要对采样所得的数据进行数字滤波。数字滤波程序用于滤去来自控制现场对采样值的干扰,数字滤波的算法很多,这里采用中值滤波。中值滤波原理很简单,就是对采样过程中的n个 (一般是3个)采样值进行比较,取中间值放入指定的存储单元。

3.3单片机抗干扰电路的设计

在抗干扰方面的许多技术,如设计软件陷阱、加硬件电路等。若失控的程序进入“死循环”,通常采用“”技术使程序脱离“死循环”。通过不断检测程序循环运行时间,若发现程序循环时间超过最大循环运行时间,则认为系统陷入“死循环”,需进行出错处理。“”技术大大提高了系统可靠性,本系统“看门狗”让系统运行更加稳定可靠。

3.4系统的PID控制算法[6]

控制算法是控制系统的核心部分,是控制系统能否稳定和调节品质是否优良的关键。本系统是一个闭环控制的单片机直接控制系统(DDC),它的工作原理是按照一定的采样周期T去对被控量(温度、湿度)进行采样,并经过控制算法算出控制量,以此控制量作为输出控制执行器,实现对被控对象的控制,采用单片机作为控制器核心所构成的自动控制系统,软件算法流程图如图3。闭环温度、湿度控制程序,由求偏差E和偏差变化率Ec,数据量化算法、增量PID控制算法等程序模块组成。单片机首先读取数字化的实际转速,并与设定的转速相比较,得出差值,单片机再根据差值,调用PID程序,计算并输出模拟电压控制变频调速器,调节被控对象电机转速的大小,同时,寻找最优条件,改变PID参数。

PID的计算公式为:

U(K)=U(K-1)+KP[E(K)-E(K-1)]+KI×E(K)+KD[E(K)-2 E(K-1)+ E(K-2)]

= U(K-1)+PP+PI+PD (2)

KI=T/TK (3)

KD=Td/T (4)

式中:KP为比例系数;T为采样周期;TK为积分时间;Td为微分时间。

根据公式进行编程,相应的程序流程如图4

图3软件算法流程图

图4PID算法子程序流程图

4 结束语

该闭环控制系统实现了AT89C51单片机为核心,通过PID算法达到对温度、湿度的检测及其控制,运行可靠,操作简单,精度高,响应速度快,可以满足温、湿度的控制。同时,通过LED数码管直观的显示通过控制系统后的温、湿度值,当出现异常现象时,通过报警装置发出警告,及时得到处理,从而满足现场需要,具有广泛的应用前景。

本文创新点:采用性价比高,温度DS18B20转化温度简洁,整个闭环控制系统通过PID设置的参数,根据单片机自动修正启动温、湿度控制装置,调整满足现场需要,同时可通过数码显示,清楚的观测到温、湿度值,超过限定值进行报警处理。此套装置实施方便、可靠。

参考文献:

[1]刘攀,俞杰.基于单片机的温度测控系统[J]. 兰州交通大学学报,2005,6-12: 103-106.

[2]夏晓南.基于单片机的温箱温度和湿度的控制[J].现代电子技术,2005,215-24: 117-118.

[3]赵娜,赵刚.基于51单片机的温度测量系统[J].微计算机信息,2007,23-1:146-148.

[4]冯建华,赵亮.单片机应用系统设计与产品开发[M].北京:人民邮电出版社 2004

[5]谭浩强.C语言程序设计[M].北京:清华大学出版社 1999

[6]王德玉等.智能井控系统的控制研究[J].西南石油大学学报,2006,28-4:97-100.

蜂鸣器相关文章:蜂鸣器原理


评论


相关推荐

技术专区

关闭