基于嵌入式的溫濕度模糊控制系統的實現
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萬元左右,而由此給實施本系統的企業帶來的巨大經濟效益更是無法估算。
linux操作系統文章專題:linux操作系統詳解(linux不再難懂)linux相關文章:linux教程
土壤濕度傳感器相關文章:土壤濕度傳感器原理 溫濕度控制器相關文章:溫濕度控制器原理
評論