《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計應(yīng)用 > 基于Mega128和WiFi的電氣設(shè)備無線監(jiān)控系統(tǒng)
基于Mega128和WiFi的電氣設(shè)備無線監(jiān)控系統(tǒng)
2014年微型機與應(yīng)用第23期
王 磊,趙曉軍,張鵬遠(yuǎn),霍曉東
(河北大學(xué) 電子信息工程學(xué)院,河北 保定 071002)
摘要: 為了解決人員流動監(jiān)測設(shè)備運行狀態(tài)的信息滯后問題,減少因此而帶來的損失,提出了一種基于Mega128單片機和WiFi的電氣設(shè)備無線監(jiān)控系統(tǒng)。根據(jù)設(shè)備正常運行和非正常運行時的工作電流的不同,通過電流互感器檢測其工作電流,進(jìn)而判斷其工作狀態(tài)。最后Mega128將檢測到的結(jié)果經(jīng)WiFi模塊傳送至Internet服務(wù)器,并在監(jiān)控界面上顯示。經(jīng)過實驗,該系統(tǒng)能夠?qū)Χ鄠€設(shè)備的使用情況進(jìn)行監(jiān)測,用戶能通過監(jiān)測網(wǎng)站網(wǎng)頁讀取設(shè)備的使用信息并長期保存。
Abstract:
Key words :

  摘 要: 為了解決人員流動監(jiān)測設(shè)備運行狀態(tài)的信息滯后問題,減少因此而帶來的損失,提出了一種基于Mega128單片機和WiFi的電氣設(shè)備無線監(jiān)控系統(tǒng)。根據(jù)設(shè)備正常運行和非正常運行時的工作電流的不同,通過電流互感器檢測其工作電流,進(jìn)而判斷其工作狀態(tài)。最后Mega128將檢測到的結(jié)果經(jīng)WiFi模塊傳送至Internet服務(wù)器,并在監(jiān)控界面上顯示。經(jīng)過實驗,該系統(tǒng)能夠?qū)Χ鄠€設(shè)備的使用情況進(jìn)行監(jiān)測,用戶能通過監(jiān)測網(wǎng)站網(wǎng)頁讀取設(shè)備的使用信息并長期保存。

  關(guān)鍵詞: 無線監(jiān)控;Mega128;WiFi

0 引言

  隨著我國經(jīng)濟實力的增長和科學(xué)技術(shù)的進(jìn)步,越來越多的智能化、自動化設(shè)備應(yīng)用于家庭和工廠企業(yè),為人們的生活服務(wù),為企業(yè)節(jié)省人力,提高產(chǎn)能,創(chuàng)造更大的效益。這些設(shè)備平時并不需要時刻有人操作,但是一旦這些設(shè)備出現(xiàn)異常,必然會對人們的生活帶來不便,為企業(yè)的利益帶來損失。為此,設(shè)計了基于單片機采集和WiFi傳輸?shù)碾姎庠O(shè)備無線監(jiān)控系統(tǒng),用于對這些設(shè)備的工作狀態(tài)進(jìn)行實時監(jiān)測,并且當(dāng)監(jiān)測到設(shè)備出現(xiàn)異常時,可控制繼電器使設(shè)備斷電,以避免造成不必要的損失。

  本文介紹了自主開發(fā)的基于Mega系列單片機系統(tǒng)和WiFi傳輸?shù)臒o線監(jiān)控系統(tǒng)的設(shè)計方案。該方案采用Mega128單片機搭建設(shè)備的現(xiàn)場監(jiān)控模塊,通過WiFi模塊實現(xiàn)單片機和Internet服務(wù)器之間的通信。本文對系統(tǒng)的整體結(jié)構(gòu)、硬件結(jié)構(gòu)、軟件結(jié)構(gòu)的設(shè)計做了介紹。通過實驗測試,結(jié)果表明,本設(shè)計方案具有很好的準(zhǔn)確性和可靠性。

1 系統(tǒng)總體設(shè)計

  本監(jiān)控系統(tǒng)由單片機監(jiān)控模塊、WiFi傳輸模塊、監(jiān)測網(wǎng)站三部分組成。監(jiān)控系統(tǒng)的整體結(jié)構(gòu)如圖1所示。

001.jpg

  該系統(tǒng)以Mega128單片機和WiFi模塊為基礎(chǔ),所完成的主要功能是實現(xiàn)設(shè)備工作狀態(tài)的遠(yuǎn)程監(jiān)測。單片機監(jiān)控模塊可以檢測到設(shè)備的運行、關(guān)閉、異常等狀態(tài),并記錄各狀態(tài)發(fā)生改變的時刻。檢測到的設(shè)備狀態(tài)信息以及相應(yīng)的設(shè)備編號將通過WiFi模塊實時傳送到Internet數(shù)據(jù)庫并在監(jiān)測網(wǎng)站的網(wǎng)頁上顯示。為防止服務(wù)器斷電異常無法接受數(shù)據(jù)而導(dǎo)致數(shù)據(jù)丟失,本設(shè)計添加了EEPROM用于存儲單片機采集到的信息,使服務(wù)器在斷電恢復(fù)后可以調(diào)取。此外,本設(shè)計還添加了硬件報警設(shè)計和監(jiān)測網(wǎng)站網(wǎng)絡(luò)報警設(shè)計。一旦設(shè)備出現(xiàn)異常狀態(tài),單片機監(jiān)控模塊將在設(shè)備現(xiàn)場發(fā)出警報,并控制繼電器使設(shè)備斷電,同時監(jiān)測網(wǎng)站的Web網(wǎng)頁界面上設(shè)置的報警提示也將發(fā)出警報,提示工作人員及時發(fā)現(xiàn)異常設(shè)備并采取措施,從而減少經(jīng)濟損失。多個監(jiān)控模塊的單片機都工作在多機通信模式,配合多個WiFi模塊,可以實現(xiàn)對多個電氣設(shè)備使用情況的監(jiān)控。

2 系統(tǒng)硬件設(shè)計

  系統(tǒng)硬件由Mega128單片機芯片、電流互感器、DS1302時間芯片、24C512 EEPROM、WiFi模塊組成。系統(tǒng)的硬件結(jié)構(gòu)如圖2。

002.jpg

  Mega128是一款高性能、高配置、低功耗的8位微處理器,此微處理器工作在16 MHz時性能高達(dá)16 MIPS,而且大部分指令都能在一個時鐘周期之內(nèi)完成[1]。工作電壓范圍2.7 V~5.5 V,可以和WiFi模塊共同使用5 V的電源供電。同時,其自帶10位ADC(模數(shù)轉(zhuǎn)換接口),以便對采集到的數(shù)據(jù)進(jìn)行模數(shù)轉(zhuǎn)換[2]。Mega128的特點足以為系統(tǒng)提供可靠的性能。

  出于簡化設(shè)計和降低成本的考慮,為將設(shè)備的運行、關(guān)閉、異常等狀態(tài)轉(zhuǎn)換成單片機能夠采集的狀態(tài)量,本設(shè)計選用了電流互感器,采集設(shè)備的電流信號。由于設(shè)備在運行、關(guān)閉、異常等不同狀態(tài)時,其工作電流是不同的,所以可先用電流互感器檢測出設(shè)備的工作電流,然后將其轉(zhuǎn)換成電壓信號,再經(jīng)放大整流后得到平穩(wěn)的直流電壓信號,通過Mega128單片機自帶的10位ADC(模數(shù)轉(zhuǎn)換接口)對得到的直流電壓信號進(jìn)行采集并轉(zhuǎn)換為數(shù)字信號存儲到單片機上,通過對單片機的編程對不同的狀態(tài)設(shè)定相應(yīng)的閾值,便可實現(xiàn)狀態(tài)量的采集。

  Mega128檢測到狀態(tài)量的變化后,需要讀取的時間信息來自時間芯片DS1302。DS1302是一種帶RAM的低功耗的實時時鐘電路,可以對年、月、日、時、分、秒進(jìn)行計時[3]。配備后備電源后,即便主電源關(guān)閉,Ds1302也能夠保證持續(xù)地記錄時間。為保證數(shù)據(jù)不會丟失,將Mega128檢測到的狀態(tài)信息及時間信息存入EEPROM中,EEPROM選擇ATMEL公司的24C512芯片,它內(nèi)部有64 KB的存儲,分為512頁,地址范圍為0000~ffffH[4]。

  WiFi模塊選用的是海凌科電子推出的低成本嵌入式UART-ETH-WiFi(串口-以太網(wǎng)-無線網(wǎng))模塊HLK-RM04。該模塊是基于通用串行接口的符合網(wǎng)絡(luò)標(biāo)準(zhǔn)的嵌入式模塊,內(nèi)置TCP/IP協(xié)議棧,能夠?qū)崿F(xiàn)用戶串口、以太網(wǎng)、無線網(wǎng)(WiFi)3個接口之間的轉(zhuǎn)換。

3 系統(tǒng)軟件設(shè)計

  本監(jiān)控系統(tǒng)的軟件部分包括設(shè)備現(xiàn)場監(jiān)控模塊軟件、WiFi模塊配置和監(jiān)測網(wǎng)站的設(shè)計。其中WiFi模塊無需編程,只需對WiFi模塊進(jìn)行初始化并配置成客戶端模式,設(shè)置遠(yuǎn)程服務(wù)器IP、端口號,與Internet服務(wù)器連接。WiFi模塊的配置如圖3所示。

003.jpg

  3.1 單片機監(jiān)控模塊程序設(shè)計

  首先是單片機提取設(shè)備工作狀態(tài)的狀態(tài)量。Mega128單片機上自帶的10位ADC(模數(shù)轉(zhuǎn)換接口)對通過硬件電路處理過的直流電壓信號進(jìn)行采集并將其轉(zhuǎn)換為數(shù)字信號存儲到單片機上,由于設(shè)備工作狀態(tài)的不同,其工作電流將不同,采集到的電壓信號也將不同,所以最終存儲到單片機上的數(shù)字信號也不同。只要測出采集到的不同工作狀態(tài)對應(yīng)的電壓范圍便可設(shè)定閾值,單片機通過這幾個閾值對設(shè)備的工作狀態(tài)進(jìn)行判定,當(dāng)設(shè)備的工作狀態(tài)發(fā)生變化時DS1302記錄其時間,此時將工作狀態(tài)的判定結(jié)果和記錄的時間發(fā)送至Internet服務(wù)器,同時將其存儲到EEPROM中。若服務(wù)器出現(xiàn)異常斷電,將無法接收數(shù)據(jù),待其恢復(fù)后可通過單片機調(diào)取EEPROM中存儲的斷電期間的數(shù)據(jù)。此外,當(dāng)檢測到設(shè)備出現(xiàn)異常狀態(tài)時,單片機需對警報器發(fā)出信號令其報警。單片機監(jiān)控模塊程序流程如圖4。

004.jpg

  單片機檢測到狀態(tài)量信號發(fā)生變化后,便開始了一次“記錄”時間的過程。首先單片機通過SPI總線的形式讀取當(dāng)下DS1302中記錄的時間,包括年、月、日、星期、時、分、秒,這些信息都寄存在DS1302內(nèi)部相關(guān)的寄存器中。單片機與DS1302傳輸數(shù)據(jù)之前要先寫入相應(yīng)的控制字——讀取或者寫入,以及讀寫的地址。不僅如此,單片機每次與DS1302通信都要經(jīng)過嚴(yán)格的“握手程序”。Mega128讀取DS1302中的時間數(shù)據(jù),只需要按照相應(yīng)的通信原則讀取其內(nèi)部相應(yīng)地址的寄存器即可。與之類似,Mega128對24C512進(jìn)行讀取或者寫入數(shù)據(jù)操作時也需要先寫入相應(yīng)的控制字,讀寫其內(nèi)部的相應(yīng)地址空間所存儲的數(shù)據(jù),并且同樣在每次通信的過程中進(jìn)行嚴(yán)格的“握手程序”。

  如果監(jiān)測網(wǎng)站要調(diào)取歷史記錄,當(dāng)Mega128接收到監(jiān)測網(wǎng)站通過WiFi模塊傳來的指令,如設(shè)備編號、所要讀取信息的日期,Mega128根據(jù)接收到的設(shè)備編號確定是否與本機號相符。如果編號符合,則根據(jù)所要讀取信息的日期查詢符合條件的數(shù)據(jù)并讀取出來,然后將數(shù)據(jù)依次通過串口發(fā)送出去。

  3.2 監(jiān)測網(wǎng)站的設(shè)計

  監(jiān)測網(wǎng)站發(fā)送和接收數(shù)據(jù)是通過SOCKET套接字與WiFi模塊進(jìn)行傳輸?shù)?。監(jiān)測網(wǎng)站主要由網(wǎng)站監(jiān)測前臺、Windows服務(wù)程序和數(shù)據(jù)庫三部分組成。如圖5所示。

005.jpg

  網(wǎng)站監(jiān)測前臺是使用ASP開發(fā)平臺采用C#語言編寫的B/S模式的網(wǎng)站,它主要通過SQL語句實現(xiàn)對數(shù)據(jù)庫的訪問。Windows服務(wù)程序是ASP開發(fā)平臺編寫的C/S模式的軟件,它通過SOCKET套接字來接收現(xiàn)場WiFi設(shè)備傳來的現(xiàn)場設(shè)備的信息,并使用SQL語句存入數(shù)據(jù)庫中[5]。這里采用SQL server2005數(shù)據(jù)庫,數(shù)據(jù)庫把從WiFi接收來的分類數(shù)據(jù)儲存起來,使前臺網(wǎng)站能夠?qū)崟r訪問更新的數(shù)據(jù)。

4 實驗結(jié)果

  本實驗以學(xué)校實驗室的電氣設(shè)備作為實驗對象,對不同實驗室的不同設(shè)備進(jìn)行編號,同時進(jìn)行監(jiān)測。實驗表明該系統(tǒng)能夠?qū)Χ鄠€設(shè)備的運行狀態(tài)進(jìn)行監(jiān)測,并且該系統(tǒng)具有良好的穩(wěn)定性。因為實驗條件所限并未對設(shè)備出現(xiàn)異常狀態(tài)的情況進(jìn)行試驗,所以未能驗證系統(tǒng)對設(shè)備出現(xiàn)異常狀態(tài)的反應(yīng)。監(jiān)測信息在監(jiān)測網(wǎng)站網(wǎng)頁上的顯示如圖6所示。

006.jpg

5 結(jié)束語

  本文論述了基于單片機信號采集和WiFi傳輸?shù)脑O(shè)備無線監(jiān)控系統(tǒng)的軟、硬件設(shè)計方法,利用單片機對設(shè)備的運行情況進(jìn)行監(jiān)測,并通過WiFi模塊進(jìn)行數(shù)據(jù)傳輸,最后由監(jiān)測網(wǎng)站用戶界面將信息顯示給用戶。經(jīng)過實驗,該方案能夠?qū)崿F(xiàn)設(shè)備運行狀態(tài)的實時監(jiān)測,并且檢測到的信息可長期存儲在服務(wù)器中,解決了管理人員流動監(jiān)測設(shè)備的滯后性,同時節(jié)約了成本。

參考文獻(xiàn)

  [1] 霍宏偉,牛延超,黃吉瑩. ATmega 128/2560 系列單片機原理與高級應(yīng)用[M]. 北京:中國林業(yè)出版社, 2006.

  [2] 張軍. AVR單片機應(yīng)用開發(fā)典型實例[M]. 北京:中國電力出版社, 2005.

  [3] 姚德法,張洪林. 串行時鐘芯片DS1302的原理與使用[J]. 信息技術(shù)與信息化, 2006(1):92-94.

  [4] 楊學(xué)昭,馬彥霞,薛立. AT24C512存儲器在無線抄表器中的應(yīng)用[J]. 中原工學(xué)院學(xué)報, 2004(4):5-7,13.

  [5] 張躍廷,許文武,王小科. C#數(shù)據(jù)庫系統(tǒng)開發(fā)完全手冊[M]. 北京:人民郵電出版社, 2006.


此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。