基于单片机的温湿度检测与控制系统研究
们设定的范围内,正常显示。
a=e;b=f;c=g;d=h;//把检测对应连接显示接口,显示温度、湿度值。
else
报警}
3系统软件设计
3.1数据采集
温度数据的采集经过DS18B20独特的功能,直接将采集的数据自动转化为数字量传入单片机,湿度数据是由传感器测得现场湿度信号经变送器转换成0~5V的直流信号,送到A/D模数转换器转换成数字量后,再送入单片机进行数据处理,处理后的数据进入PID算法比较做出控制量的选择。
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数码管直观的显示通过控制系统后的温、湿度值,当出现异常现象时,通过报警装置发出警告,及时得到处理,从而满足现场需要,具有广泛的应用前景。
本文创新点:采用单片机AT89C51性价比高,温度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.
单片机AT89C51 DS18B20温度传感器 检测与控制 PID 看门狗 相关文章:
- 基于单片机AT89C51的电子密码锁设计(11-11)
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)