《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計應(yīng)用 > 基于Mega128和WiFi的電氣設(shè)備無線監(jiān)控系統(tǒng)
基于Mega128和WiFi的電氣設(shè)備無線監(jiān)控系統(tǒng)
2014年微型機(jī)與應(yīng)用第23期
王 磊,趙曉軍,,張鵬遠(yuǎn),,霍曉東
(河北大學(xué) 電子信息工程學(xué)院,河北 保定 071002)
摘要: 為了解決人員流動監(jiān)測設(shè)備運行狀態(tài)的信息滯后問題,,減少因此而帶來的損失,,提出了一種基于Mega128單片機(jī)和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單片機(jī)和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)濟(jì)實力的增長和科學(xué)技術(shù)的進(jìn)步,,越來越多的智能化,、自動化設(shè)備應(yīng)用于家庭和工廠企業(yè),為人們的生活服務(wù),,為企業(yè)節(jié)省人力,,提高產(chǎn)能,創(chuàng)造更大的效益,。這些設(shè)備平時并不需要時刻有人操作,,但是一旦這些設(shè)備出現(xiàn)異常,必然會對人們的生活帶來不便,,為企業(yè)的利益帶來損失,。為此,設(shè)計了基于單片機(jī)采集和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系列單片機(jī)系統(tǒng)和WiFi傳輸?shù)臒o線監(jiān)控系統(tǒng)的設(shè)計方案。該方案采用Mega128單片機(jī)搭建設(shè)備的現(xiàn)場監(jiān)控模塊,,通過WiFi模塊實現(xiàn)單片機(jī)和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)由單片機(jī)監(jiān)控模塊、WiFi傳輸模塊,、監(jiān)測網(wǎng)站三部分組成,。監(jiān)控系統(tǒng)的整體結(jié)構(gòu)如圖1所示。

001.jpg

  該系統(tǒng)以Mega128單片機(jī)和WiFi模塊為基礎(chǔ),,所完成的主要功能是實現(xiàn)設(shè)備工作狀態(tài)的遠(yuǎn)程監(jiān)測,。單片機(jī)監(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用于存儲單片機(jī)采集到的信息,使服務(wù)器在斷電恢復(fù)后可以調(diào)取,。此外,,本設(shè)計還添加了硬件報警設(shè)計和監(jiān)測網(wǎng)站網(wǎng)絡(luò)報警設(shè)計,。一旦設(shè)備出現(xiàn)異常狀態(tài),單片機(jī)監(jiān)控模塊將在設(shè)備現(xiàn)場發(fā)出警報,,并控制繼電器使設(shè)備斷電,,同時監(jiān)測網(wǎng)站的Web網(wǎng)頁界面上設(shè)置的報警提示也將發(fā)出警報,提示工作人員及時發(fā)現(xiàn)異常設(shè)備并采取措施,,從而減少經(jīng)濟(jì)損失,。多個監(jiān)控模塊的單片機(jī)都工作在多機(jī)通信模式,配合多個WiFi模塊,,可以實現(xiàn)對多個電氣設(shè)備使用情況的監(jiān)控,。

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

  系統(tǒng)硬件由Mega128單片機(jī)芯片、電流互感器,、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)換成單片機(jī)能夠采集的狀態(tài)量,本設(shè)計選用了電流互感器,,采集設(shè)備的電流信號,。由于設(shè)備在運行、關(guān)閉,、異常等不同狀態(tài)時,,其工作電流是不同的,所以可先用電流互感器檢測出設(shè)備的工作電流,,然后將其轉(zhuǎn)換成電壓信號,,再經(jīng)放大整流后得到平穩(wěn)的直流電壓信號,,通過Mega128單片機(jī)自帶的10位ADC(模數(shù)轉(zhuǎn)換接口)對得到的直流電壓信號進(jìn)行采集并轉(zhuǎn)換為數(shù)字信號存儲到單片機(jī)上,通過對單片機(jī)的編程對不同的狀態(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 單片機(jī)監(jiān)控模塊程序設(shè)計

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

004.jpg

  單片機(jī)檢測到狀態(tài)量信號發(fā)生變化后,,便開始了一次“記錄”時間的過程,。首先單片機(jī)通過SPI總線的形式讀取當(dāng)下DS1302中記錄的時間,包括年,、月,、日、星期,、時,、分、秒,,這些信息都寄存在DS1302內(nèi)部相關(guān)的寄存器中,。單片機(jī)與DS1302傳輸數(shù)據(jù)之前要先寫入相應(yīng)的控制字——讀取或者寫入,以及讀寫的地址,。不僅如此,,單片機(jī)每次與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ī)號相符,。如果編號符合,則根據(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ù)摹1O(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é)束語

  本文論述了基于單片機(jī)信號采集和WiFi傳輸?shù)脑O(shè)備無線監(jiān)控系統(tǒng)的軟,、硬件設(shè)計方法,利用單片機(jī)對設(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 系列單片機(jī)原理與高級應(yīng)用[M]. 北京:中國林業(yè)出版社, 2006.

  [2] 張軍. AVR單片機(jī)應(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)載,。