摘要:對現(xiàn)有多種傳統(tǒng)溫濕度監(jiān)控系統(tǒng)進行了研究,發(fā)現(xiàn)其多采用RS485傳輸方式,具有控制范圍小和布線繁瑣等局限性。為構(gòu)建大規(guī)??绲赜虻臏貪穸缺O(jiān)控系統(tǒng),采用將以太網(wǎng)技術(shù)與傳統(tǒng)溫濕度監(jiān)控系統(tǒng)相結(jié)合的方法及軟硬件協(xié)同設計的思想,研制出了一種模塊化可裁減、基于以太網(wǎng)的分布式智能溫濕度監(jiān)控系統(tǒng)。實踐證明,該系統(tǒng)控制范圍大且利用現(xiàn)有發(fā)達的網(wǎng)絡,不必重新布線,可有效實現(xiàn)遠程溫濕度監(jiān)控。文中對系統(tǒng)的整體結(jié)構(gòu)和各部分的工作原理進行了詳細的說明。
關(guān)鍵詞:
溫濕度監(jiān)控;遠程控制;以太網(wǎng);分布式
1、引言
現(xiàn)在有很多大型企業(yè)單位擁有多個庫房分散在不同的地點,不利于統(tǒng)一管理;如何利用已得到廣泛應用的以太網(wǎng)改造傳統(tǒng)的基于RS485總線的溫濕度監(jiān)控系統(tǒng),以組建大范圍遠程分布式[1]溫濕度監(jiān)控系統(tǒng)成為一個迫切需要解決的課題。在此,本文提出了一種便于安裝、不必重新布線、基于現(xiàn)有以太網(wǎng)的遠程分布式溫濕度智能監(jiān)控系統(tǒng),文中詳細介紹了系統(tǒng)的整體組成結(jié)構(gòu)和工作原理。該系統(tǒng)采用了模塊化設計,可以稍加裁剪改造為適于多種不同場合的多庫點分布式遠程溫濕度智能監(jiān)控系統(tǒng)。
2、硬件系統(tǒng)的設計與實現(xiàn)
2.1系統(tǒng)整體組成
每個溫濕度監(jiān)控儀由單片機、溫度傳感器、濕度傳感器、DS1302、LED數(shù)碼管顯示模塊、地址撥碼模塊、外部存儲器、蜂鳴器、空調(diào)機、除濕機、加濕機等組成。128個具有獨立地址的溫濕度監(jiān)控儀通過RS485總線并聯(lián)在一起,再通過一個RS485轉(zhuǎn)TCP/IP協(xié)議轉(zhuǎn)換器可直接與微機之間進行網(wǎng)絡通訊從而組成一個單元溫濕度監(jiān)控系統(tǒng)(單元溫濕度監(jiān)控系統(tǒng)結(jié)構(gòu)圖見圖1)。
可根據(jù)實際情況由若干單元溫濕度監(jiān)控系統(tǒng)通過集線器組成一個完整的遠程分布式溫濕度智能監(jiān)控系統(tǒng)(系統(tǒng)整體結(jié)構(gòu)圖見圖2)。
2.2具體溫濕度監(jiān)控儀的組成與實現(xiàn)
由AT89C52外加時鐘模塊、測溫度模塊、測濕度模塊、LED顯示模塊、外部存儲模塊、地址模塊、空調(diào)機、加濕機、除濕機驅(qū)動模塊等組成一個具體的溫濕度監(jiān)控儀。
2.2.1MCU模塊
每個溫濕度監(jiān)控儀采用了美國ATMEL公司的8位單片機AT89C52;片內(nèi)含8KBytes的可反復擦寫的只讀程序存儲器和256Bytes的隨機存取數(shù)據(jù)存儲器。
2.2.2時鐘模塊
DS1302增加了主電源/后備電源雙電源引腳,同時提供了對后備電源進行涓細電流充電的能力,以便在主電源掉電的情況下由蓄電池工作能繼續(xù)保存時間信息以及數(shù)據(jù)。DS1302與CPU的連接僅需要三條線,即SCLK、I/O、RST;在控制指令字輸入后的下一個SCLK時鐘的上升沿時數(shù)據(jù)被寫入DS1302,數(shù)據(jù)輸入從低位即位0開始。同樣,在緊跟8位的控制指令字后的下一個SCLK脈沖的下降沿讀出DS1302的數(shù)據(jù)[2]。
2.2.3測溫度模塊
DS18B20[3]是DALLAS公司的單線數(shù)字溫度傳感器,可把溫度信號直接轉(zhuǎn)換成串行數(shù)字信號供微機處理;在本系統(tǒng)中DS18B20的分辨率設定為12位;故實際溫度=溫度整數(shù)部分+溫度小數(shù)部分*0.0625。
2.2.4測濕度模塊
HS1101在電路中等效于一個電容器,其電容隨所測空氣的相對濕度增大而增大;具有*的線性輸出,在相對濕度為(0-100)%RH的范圍內(nèi),其誤差不大于±2%RH;年漂移量0.5%RH/年,響應時間小于5S[4]。
將該濕敏電容置于555振蕩電路中,將電容值的變化轉(zhuǎn)為與之呈反比的電壓頻率信號,可直接被計算機所采集[5]。
2.2.5LED顯示模塊
由一片SN74LS145N芯片驅(qū)動10個LED數(shù)碼關(guān)組成顯示模塊來同步顯示溫度值、濕度值與當前時間。
2.2.6外部存儲模塊
外部存儲模塊采用ATMEL公司的容量為64K字節(jié)的24C512芯片,利用I2C總線進行讀寫操作,可存儲6520條歷史數(shù)據(jù)紀錄。
2.2.7地址模塊
由8位撥碼管組成地址撥碼模塊,利用8421編碼的方法來確定每個溫濕度儀的地址。
2.3單元溫濕度監(jiān)控系統(tǒng)通訊模塊
RS485轉(zhuǎn)TCP/IP協(xié)議轉(zhuǎn)換器主要負責串口數(shù)據(jù)幀和以太網(wǎng)數(shù)據(jù)幀之間的相互轉(zhuǎn)換和發(fā)送。處理器接收到以太網(wǎng)數(shù)據(jù)包后,先按某種排隊規(guī)則對數(shù)據(jù)包排隊,數(shù)據(jù)按一定順序放在緩沖區(qū)中,當?shù)竭_一定限度時,內(nèi)部的數(shù)據(jù)處理芯片開始處理數(shù)據(jù)幀,然后以串口數(shù)據(jù)幀的形式發(fā)送出去。反之,當有串口數(shù)據(jù)到達時,轉(zhuǎn)換器把串口數(shù)據(jù)幀轉(zhuǎn)化為以太網(wǎng)數(shù)據(jù)幀,其處理過程是類似的,兩個處理過程互為逆過程[6]。
3、溫濕度監(jiān)控儀工作原理
上電初始化,根據(jù)板子的撥碼開關(guān)的狀態(tài)讀取并保存溫濕度儀地址;讀取存在外存中的上次已設置好的溫濕度上下限的歷史值和保存的采樣間隔歷史值。然后,進入主循環(huán)中,根據(jù)采樣間隔時間,將溫度、濕度、等數(shù)據(jù)存入外存,點亮LED數(shù)碼管顯示當前時間、溫度、濕度,并根據(jù)已設置好的溫濕度上下限值來確定是否驅(qū)動蜂鳴器報警且控制空調(diào)機、加濕機、除濕機工作進行溫濕度控制調(diào)節(jié)[7](溫濕度上下限控制示意圖見圖3)。系統(tǒng)有良好的交互性能,利用中斷可在線隨時設置時間校正值、溫濕度上下限值、采樣間隔時間值、溫濕度校正值并將這些數(shù)據(jù)存到外存中;可在線提取當前溫濕度數(shù)據(jù)和溫濕度儀狀態(tài)等數(shù)據(jù);可由相應指令提取根據(jù)采樣間隔已存在外存中的歷史溫濕度數(shù)據(jù)。
微機發(fā)送的指令格式為:FF+從機地址+指令碼+數(shù)據(jù),而溫濕度控制儀在中斷程序中可根據(jù)廣播的從機地址是否與自己的地址匹配來接收指令,并根據(jù)指令做相應的動作設置時間校正值、溫濕度上下限值、采樣間隔時間值、溫濕度校正值并將這些數(shù)據(jù)存到外存中以防斷電遺失。
4、PC機軟件設計
本溫濕度監(jiān)控系統(tǒng)軟件部分包括以下五大部分功能模塊:
一、系統(tǒng)設置:(1)設置溫濕度上下限、日期、采樣間隔、接口轉(zhuǎn)換器參數(shù)等;(2)用戶密碼修改、系統(tǒng)用戶信息管理;(3)庫房單位管理、溫濕度儀管理。
二、提取數(shù)據(jù):(1)系統(tǒng)用戶隨時提取溫度、濕度的歷史數(shù)據(jù)并存入系統(tǒng)數(shù)據(jù)庫;(2)系統(tǒng)用戶隨時提取溫度、濕度的當前數(shù)據(jù)和溫濕度當前工作狀態(tài)。
二、數(shù)據(jù)采集與分析:(1)對溫度、濕度數(shù)據(jù)的采集;(2)對當前數(shù)據(jù)的分析。
四、數(shù)據(jù)查詢與分析:按年、按月、按日對已有數(shù)據(jù)查詢,并對查詢結(jié)果進行分析,以表格或者曲線的方式顯示。
五、數(shù)據(jù)備份與恢復:完成對數(shù)據(jù)庫中的歷史數(shù)據(jù)進行備份及恢復操作。
圖3溫濕度上下限控制示意圖
5、結(jié)束語
本系統(tǒng)靈活性、交互性較強,可在線根據(jù)需要隨時設置溫濕度上下限值、采樣間隔、校正值等參數(shù);系統(tǒng)設計開發(fā)過程中充分運用了軟硬件協(xié)同設計的思想,各部分盡量采用模塊化設計,可以稍加裁剪改造為適于多種不同場合的多庫房分布式遠程溫濕度智能監(jiān)控系統(tǒng)。系統(tǒng)已投入實際運行,穩(wěn)定可靠、實時性強且充分利用現(xiàn)有網(wǎng)絡,利于傳統(tǒng)的基于RS485溫濕度監(jiān)控系統(tǒng)快速改造為大范圍分布式遠程溫濕度智能監(jiān)控系統(tǒng),取得了較好的社會經(jīng)濟效益。