基于嵌入式的温湿度模糊控制系统的实现
扫描二维码
随时随地手机看文章
1 引言
大多数工业环境温湿度控制系统都是基于有线网络的,监控程序运行于PC机上,监控人员需要在固定的监控室内进行温湿度等参数的监控.这样的应用模式存在如下问题,一是监控节点位置固定,可移动性差;二是布线受环境限制,通信故障查找困难.这在一定程度上给温湿度的实时监控带来了不小的麻烦.因此,有必要利用嵌入式技术在PDA上实现温湿度模糊控制系统,这样就可以做到随时随地进行温湿度参数的监控了.另外,目前的工业环境温湿度控制系统大都不支持带有模糊控制条件的参数设置,如湿度“大约在50度左右”或“高温状态”.因此,PDA端的温湿度模糊控制系统需要能接收和处理类似于这样的模糊控制条件.文章对温湿度模糊控制系统的系统构成、模糊控制条件规则转换以及PDA端的嵌入式软件开发技术进行了深入研究.
文章的组织结构如下,第2节介绍温湿度模糊控制系统的系统结构和功能模块;第3节研究模糊控制条件转换规则;第4节介绍PDA端嵌入式软件的关键实现技术;第5节总结全文.
2 系统硬件结构和功能
2.1 系统硬件结构
系统的整体架构分为两个层次,上层是数据存储与监控系统,由PDA、AP(无线接入点)、数据库服务器构成,利用IEEE802.11b无线网络技术和无线设备构成无线局域网络.PDA通过AP和数据中转服务系统与数据库服务器进行实时数据交互,监测和控制各监测点的温湿度参数.上位机采用性能较高的PC机(必要时可采用集群技术保障数据的安全)、操作系统为Windows 2000Server,上位机和PDA利用所建立的模糊控制条件转换规则对检测点环境进行智能控制.下层是数据采集与控制系统,由温湿度采集器、数字化温湿度传感器,变频器等组成.温湿度传感器和测量模块用“1-wire Bus”方式进行连接,测量模块与上位机采用RS-485总线实现远程通讯.下位机选用智能模块LTM8303, LTM8600等直接面向被控对象,通过传感器DS1820/DS18B20等组成测温电缆,对温湿度等参数进行实时检测.
系统采用两级通讯网络连接.一级由上位机通过SIMATIC S7-200隔离型RS-232/485转换模块组成RS 485分布式测控网,LTM8903和LTM8600智能模块作为子站;另一级为“1-wire Bus”网,LTM8903智能模块作为采集中心,测量线缆上的数字化温湿度传感器探头作为子站,探头选用Dallas半导体公司数字化温度传感器DS1820/DS18B20;LTM8600模块为采集中心和控制中心,在保持与上位机通讯的同时采集温度,湿度等参数,并接收上位机的控制信号通过变频器控制风机,空调,水泵等执行机构[1].系统的硬件总体结构如图1所示.
图1 系统硬件总体结构图
2.2 功能模块
PDA端嵌入式软件:采用嵌入式和无线通信技术,与数据库服务器进行实时数据交互,通过模糊控制条件转换程序监测和设置各监测点的温湿度参数.当现场监控点的温湿度参数超标时,提供报警功能.
数据中转模块:发送/接收数据.从数据库中提取PDA端所需数据,构造数据包,经由WLAN发送给该终端;解析来自PDA端的温湿度参数数据包,并写入数据库.同时,该模块还提供日志功能,记录何时哪台PDA设置了那些参数.
上位机控制系统:与下位机和PDA进行数据交互,接收来自PDA端的温湿度控制参数,形成控制信号发送给下位机;同时,接收来自下位机所采集的温湿度参数,提交给数据库和PDA;同时,也具有对各监测点实行集中监控,管理以及数据统计等功能.
参数采集控制模块:采集温度,湿度参数,发送给上位机; 接收上位机的控制信号,对各风机,空调,水泵等设备通过变频器实施控制.
3 模糊控制系统设计
3.1模糊集基本理论
可见,一个模糊数的l-截集对应一个区间.如,令A为论域U上的模糊数, 模糊数A的l-截集为 .
2.2输入变量和输出变量
工业环境中,温湿度参数通常处于一个数值范围之内,而不是一个精确值.
在控制现场温湿度参数时,所需设定的温湿度精确值和阈值作为输入变量,经过相应的隶属函数进行处理,得到的温度控制范围和湿度控制范围作为输出变量.阈值作为对温湿度变化范围的允许程度,由监控者根据实际需要进行设定,通过调整阈值,可以使现场的温湿度控制在模糊控制和精确控制之间变换.当阈值为1时,为精确控制,即温湿度参数是一个确定值;当阈值为0~1之间的数值时,温湿度参数为一个数值区间,阈值越小,区间范围越大.
在监测现场温湿度参数时,下位机采集到的现场温湿度参数传送到上位机和PDA,这时温度参数和湿度参数作为输入变量,通过模糊控制转换模块,利用隶属函数分别计算现场采集的温湿度参数隶属度.若隶属度超出所设定的阈值,则报警;否则,认为正常.
2.3模糊控制条件转换
工业环境中,许多控制条件都是模糊的,如湿度“大约在50度左右”或温度要求处于“高温状态”.而这些模糊控制条件在计算机进行处理时,需要转换成确定值或确定的区间.下面主要探讨温湿度控制中经常出现的几个模糊控制条件的转换规则,具体包括“接近于(大约为)某个值”,“不超过某个值”,“不低于某个值”.
在PDA上设置模糊控制条件,如温度要求处于“高温状态”,模糊控制转换器需要根据监控者设置的阈值将该模糊控制条件转换成一个确定的温度数值控制区间.根据工业环境的领域知识,可以得到模糊数“高温状态”的隶属函数, 定义为:
(7)
假设l取值为0.9,监测点温度的值域为[0,1000],则“高温状态”的0.9截集运算结果为[600,1000],即在这个区间的温度,都可视为高温状态.模糊控制条件“高温状态”的0.9截集如图3所示:
现在考虑模糊控制条件, 湿度“大约在Y度左右”,根据文献[3],模糊数“接近(大约)Y”的隶属函数在论域上的定义为:
假设模糊控制条件为“湿度大约在50度左右”,l取值为0.9,监测点湿度的值域为[10,100],那么,“湿度大约在50度左右”的0.9截集运算结果为[47,53],即在这个区间的湿度,都可视为正常湿度.模糊控制条件“湿度大约在50度左右”的0.9截集如图4所示
图3 模糊控制条件“高温状态”的0.9截集图
4 模糊控制条件“湿度大约在50度左右”的0.9截集
现在考虑模糊控制条件, 温度或湿度“不超过Y”,它的隶属函数在论域上的定义为:
假设模糊控制条件为“温度不超过500度”,l取值为0.9,监测点温度的值域为[300,800],那么, “温度不超过500度”的0.9截集运算结果为[300,530],即在这个区间的温度,都可视为正常温度.模糊控制条件“温度不超过500度”的0.9截集如图5所示.
现在考虑模糊控制条件, 温度或湿度“不低于Y”,它的隶属函数在论域上的定义为:
假设模糊控制条件为“湿度不低于40度”,l取值为0.9,监测点湿度的值域为[10,100],那么, “湿度不低于40度”的0.9截集运算结果为[37,100],即在这个区间的湿度,都可视为正常湿度.模糊控制条件“湿度不低于40度”的0.9截集如图6所示.
图5 模糊控制条件“温度不超过500度”的0.9截集
图6 模糊控制条件“湿度不低于40度”的0.9截集
3 嵌入式软件关键技术
本文利用嵌入式技术在PDA上实现了温湿度模糊控制系统,开发模式不同于传统的应用软件.下面就以本系统的PDA端嵌入式软件开发为例,说明其开发模式和关键技术.
3.1嵌入式操作系统和图形系统
对于嵌入式操作系统,有Vxwork、VRTX、pSOS、
Palm OS、Neculeus和Windows CE.但这些专用操作系统都是商业化产品,其价格昂贵,不适合低端嵌入式产品开发.而且,源代码封闭性很大程度上限制了开发者的开发.嵌入式Linux操作系统弥补了上述不足,Linux操作系统是遵循GPL公约,并且有运行稳定、源码开放的特点,被认为是未来嵌入式操作系统的最佳选择.
MiniGUI是由原清华大学教授魏永明主持开发的轻量级图形系统,现遵循GPL公约.能跨多种操作系统,主要运行于linux及一切具有POSIX线程支持的POSIX兼容系统,包括普通嵌入式Linux、eCos、uC/OS-II、VxWorks 等系统.MiniGUI的主要特点有:
遵循GPL条款的纯自由软件;提供了完备的多窗口机制;多字符集和多字体支持,目前支持ISO8859-1、GB2312及Big5 等字符集,并且支持各种光栅字体和 TrueType、Type 1 等矢量字体;全拼和五笔等汉字输入法支持;BMP、GIF、JPEG及PCX 等常见图像文件的支持;Windows的资源文件支持,如位图、图标、光标、插入符、定时器及加速键等;可移植性好.
3.2 MiniGUI的移植
本文MiniGUI移植目标系统为:XScale PXA255处理器,Linux2.4.18操作系统.交叉编译工具:arm-linux-gcc 2.95.3版,MiniGUI版本:1.3.0,主机系统为:Fedora Core 1 Linux.
MiniGUI的移植通过如下步骤:
1)安装交叉编译工具: arm-linux-gcc 2.95.3
2)建立挂装目录,实现主机与目标机的连接
3)安装Minigui资源文件:Minigui-res-1.3.0.tar.gz
4)配置Minigui交叉编译脚本
5)移植Minigui库文件和实例程序
3.3嵌入式软件实现
在开发基于MiniGUI的嵌入式软件时,先将mde-1.3.0中的configure.in、autogen.sh以及脚本arm-complier拷贝到项目开发目录中并修改confiugre.in在AC_INIT(<参数>),将<参数>改为项目主程序源文件名(如:main.c),将AC_OUTPUT(<参数>)中<参数>改为Makefile,编写Makefile.am 即可.执行./autogen.sh; ./arm-complier; make即可交叉编译项目程序.
然后,更改MiniGUI的配置文件MiniGUI.cfg设置设备驱动程序,设置显示区域及字体等内容.
如触摸屏驱动设置(在MiniGUI.cfg中设置):
# IAL engine
ial_engine=UCB1X00 //驱动引擎名称
mdev=/dev/touchscreen/0raw //驱动程序所在位置
mtype=
3.4源程序的交叉编译
当主机系统(开发应用程序的系统)和目标主机(应用程序将在其上运行的系统)不兼容时,需要在主机上通过交叉编译工具编译出目标系统可以运行的程序,这个过程叫做交叉编译.GNU编译器(GCC)是Linux系统中的一个强有力的编译工具,交叉编译后的软件可直接下载到PDA的Flash Rom里[4].
4结论
该系统在首钢东华集团试运行约半年左右, ,此间企业运作比较良好。除了能够完成传统控制系统的功能外,在模糊控制方面和系统的灵活性方面都显示出良好的性能.在嵌入式软件方面,由于Linux与MiniGUI都遵循GPL公约,同时MiniGUI能稳定、可靠的运行于linux系统下,并且通过上述实践证明其可以快速构建一个稳定的可视化软件系统.
在经济效益方面,据粗略统计,在与没有实施移动温湿度监测系统情况下相比,实施此系统之后使得现场监测加灵活准确,在降低生产成本,提高工作效率,避免事故发生方面所形成的附加经济效益大约在30~50万元左右,而由此给实施本系统的企业带来的巨大经济效益更是无法估算。