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