基于GPRS通信方式的路燈監(jiān)控器的設(shè)計
摘要: 本文描述了一種基于GPRS通信方式的路燈監(jiān)控器設(shè)計。
關(guān)鍵詞: GPRS;路燈監(jiān)控
引言
隨著城市夜景照明設(shè)施的迅猛發(fā)展和人們生活品味的提高,對于城市的燈光設(shè)施建設(shè)提出了更高的要求。道路照明路燈,裝飾彩燈、燈光噴泉、彩燈草坪、大廈射燈等各種各樣的特色燈光構(gòu)成了美麗的城市燈光夜景系統(tǒng)。但是,在這些美麗的燈光后面,我們的路燈管理部門擔(dān)負(fù)著沉重的燈光設(shè)備維護(hù)管理工作。隨著亮化工程腳步的進(jìn)一步加快,這種沉重的負(fù)擔(dān)已經(jīng)成為困擾路燈管理部門的難題。
為了解決這個難題,提出了開發(fā)路燈監(jiān)控管理系統(tǒng),用于管理城市照明,目的是利用現(xiàn)代計算機(jī)技術(shù),通訊技術(shù)對日益快速發(fā)展的城市道路照明路燈實現(xiàn)自動化監(jiān)控和智能化的科學(xué)管理,進(jìn)一步提高道路照明質(zhì)量,從而提高服務(wù)質(zhì)量;進(jìn)一步提高維護(hù)、檢修效率,從而保證城市整體亮燈率和設(shè)備完好率;進(jìn)一步降低能耗、減輕勞動強(qiáng)度,從而避免無畏的電能和人力物力的浪費。
路燈監(jiān)控管理信息系統(tǒng)
路燈監(jiān)控管理信息系統(tǒng)是由通信服務(wù)器和若干路燈監(jiān)控器組成,如圖1所示。
圖1 路燈監(jiān)控管理信息系統(tǒng)
通信服務(wù)器通過局域網(wǎng)可以連接多個查詢終端,通信服務(wù)器和若干路燈監(jiān)控器采用ADSL與GPRS通訊方式。使用者可以在通信服務(wù)器上完成對整個城市內(nèi)任一區(qū)域、任一路燈監(jiān)控器的控制;可隨時向路燈監(jiān)控器發(fā)出查詢指令,對各路燈監(jiān)控器的運(yùn)行狀態(tài)、電流、電壓、門開狀態(tài)等數(shù)據(jù)進(jìn)行查詢。
路燈監(jiān)控器硬件設(shè)計
路燈監(jiān)控器在硬件電路設(shè)計上,根據(jù)其功能劃分,由六部分組成(見圖2)。
圖2 路燈監(jiān)控器功能結(jié)構(gòu)圖
電路圖如圖3所示。
圖3 路燈監(jiān)控器電路
時鐘存儲單元
時鐘芯片選擇了高精度實時時鐘芯片-SD2000BPI 。該芯片具有內(nèi)置晶振、I2C總線接口、定時中斷輸出 、高精度、免調(diào)校的特點。同時該時鐘芯片內(nèi)部含有EEPROM,用于存儲開關(guān)燈時間表等信息:
每組開/關(guān)燈時間包括2個字節(jié),每個字節(jié)由2位BCD碼組成,由高到低分別為時、分。
每組報警時間包括4個字節(jié),每個字節(jié)由2位BCD碼組成,由高到低分別為年、月、日、時、分、秒。默認(rèn)值為00H。
路燈監(jiān)控器編號2個字節(jié),可以表示00~65536數(shù)值。
路燈監(jiān)控器的工作狀態(tài)包括:報警狀態(tài)(ZT0)、門開狀態(tài)(ZT1)、手動/三遙狀態(tài)(ZT2)、全夜燈狀態(tài)(ZT3)、半夜燈狀態(tài)(ZT4)、景觀燈狀態(tài)(ZT5)。用連續(xù)的7個字節(jié)表示。
監(jiān)控器可以監(jiān)測9路工作電流,利用二個存儲單元的9個存儲位,分別存儲被監(jiān)測的電流的監(jiān)測狀態(tài)。
電壓電流采集
電壓及電流采集部分采用山東力創(chuàng)的EDA9016模擬量測量模塊,它可以采集12路電壓輸入信號,測量信號的輸入范圍0~10V,測量精度0.2級,其輸出采用RS-485總線。
將欲監(jiān)測的電壓、電流通過電壓互感器、電流互感器感應(yīng)出0~10V的電壓,輸出給EDA9016的模擬量輸入端,EDA9016通過RS-485總線與監(jiān)控器的單片機(jī)連接,路燈監(jiān)控器可以按照EDA9016的通訊協(xié)議,采集各路的電壓及電流,通過通訊服務(wù)器的查詢命令發(fā)送給客戶端軟件,實現(xiàn)路燈工作參數(shù)的自動監(jiān)測,對電壓欠壓、電壓過壓、欠流、過流及時作出報警。
串口擴(kuò)展
由于CPU采用PHILIPS的P89C51RD+芯片,該CPU只有一個串口,在本設(shè)計中用于同GPRS模塊通信。而多功能表和EDA9033均采用RS-485接口,所以要利用CPU普通IO口模擬SPI接口與MAX3100通信,MAX3100的串口再和MAX485相連,從而產(chǎn)生EDA9033和多功能電表需要的RS-485接口。
GPRS模塊
GPRS??焯峁㏑S-232接口與外界通信,透明傳輸模式,應(yīng)用十分方便。在本設(shè)計中采用一片MAX232芯片,通過CPU和GPRS模塊進(jìn)行通信。
控制執(zhí)行單元
控制執(zhí)行部分采用三級管驅(qū)動繼電器,繼電器控制交流接觸器的辦法。在三級管和CPU IO口之間采用光耦隔離,防止繼電器吸合對系統(tǒng)產(chǎn)生的干擾。
其他設(shè)計
由于路燈監(jiān)控器工作在無人職守的地方,為了路燈監(jiān)控器的安全防盜,設(shè)計時在路燈監(jiān)控器的門上,安裝了磁控開關(guān),當(dāng)門開時開關(guān)斷開,路燈監(jiān)控器判斷這個開關(guān)的狀態(tài),當(dāng)門開時,路燈監(jiān)控器路燈監(jiān)控器先將報警類型、報警時間存儲在路燈監(jiān)控器的存儲器內(nèi),然后通過GPRS無線通訊終端將門開信息發(fā)送給通訊服務(wù)器,通訊服務(wù)器在轉(zhuǎn)發(fā)給客戶端,以便及時通知檢修人員對門開進(jìn)行處理。
路燈監(jiān)控器軟件設(shè)計
本系統(tǒng)軟件采用keil C作為開發(fā)工具。除CPU程序外,還要開發(fā)一個對時鐘芯片進(jìn)行時間預(yù)置的程序,以便于批量生產(chǎn)。
路燈監(jiān)控器的工作流程如下:首先進(jìn)入上電初始化程序,對路燈監(jiān)控器的狀態(tài)進(jìn)行初始化,包括全夜燈、半夜燈狀態(tài)、手動三遙狀態(tài)、報警狀態(tài)等變量進(jìn)行初始化。然后初始化MAX3100和時鐘芯片,讀取設(shè)備的編號,初始化串口,讀取當(dāng)前的電壓電流,然后進(jìn)入主循環(huán)程序。
系統(tǒng)采用中斷方式接收GPRS串口數(shù)據(jù),根據(jù)通信協(xié)議規(guī)定的數(shù)據(jù)格式判斷接收的數(shù)據(jù)是否正確,并能在規(guī)定的時間內(nèi)接收不到數(shù)據(jù)后自動返回主程序,串口中斷子程序為:
while ((RI==0)&&(xj<5000))
{ Wdi=~Wdi; xj++; }
if((xj>=5000)||(SBUF!=Device_Codeh))
{ RI=0;return; } //B1!=Device_Codel
else
{ xj=0; RI=0; }
一幀數(shù)據(jù)接收完畢后,給串口中斷標(biāo)志置位,然后在主程序中判斷傳口中斷標(biāo)志,如果該標(biāo)志被置位,則開始判斷控制位,并進(jìn)入相應(yīng)的子程序,如設(shè)置開關(guān)燈時間,查詢工作參數(shù),查詢工作狀態(tài),實時開燈,實時關(guān)燈等,在執(zhí)行完相應(yīng)的子程序后將中斷標(biāo)志復(fù)位。
控制位判斷程序為:
if (sflag)
{
IE=0x00;
switch (Gprs_Data[0])
{
case 0x01: /*實時開燈*/
{ res1(); }break;
case 0x02:
{ res2();}break;
。。。
case 0x0c:
{ resc(); }break;
default: {erro_report();} break;
}
sflag=0;
}
在主循環(huán)中同時執(zhí)行自動開關(guān)燈的處理和門開報警的判斷。
為了實現(xiàn)路燈監(jiān)控器與通訊服務(wù)器的可靠通訊,制定合理的通訊協(xié)議,具有非常重要的意義。在制定協(xié)議時,充分考慮協(xié)議的格式,使之規(guī)范化,使之具有良好的擴(kuò)展性,規(guī)定好協(xié)議的起始標(biāo)志、設(shè)備的編號、設(shè)備類型、控制碼、控制類型、數(shù)據(jù)長度、數(shù)據(jù)域、結(jié)束標(biāo)志及如何進(jìn)行校驗等,達(dá)到預(yù)期的功能,又最精簡。
現(xiàn)舉例如下:
實時開燈幀(C = 01H)
功能:通信服務(wù)器請求路燈監(jiān)控器立即開燈。
幀格式:
F (回應(yīng)標(biāo)志):默認(rèn)值;
C (控制碼): 01H;
CT (控制類型): 01H表示全夜燈負(fù)載, 02H表示半夜燈負(fù)載,03H表示景觀燈負(fù)載, 04H表示全夜燈和半夜燈負(fù)載,05H全夜燈和景觀燈負(fù)載, 06H半夜燈和景觀燈負(fù)載,
FFH表示所有路燈負(fù)載;
I (后續(xù)幀標(biāo)志):默認(rèn)值;
L (數(shù)據(jù)長度): L=00H;
D (數(shù)據(jù)域): 無數(shù)據(jù)域;
結(jié)語
本系統(tǒng)采用51單片機(jī)作為主CPU,成本低,實時性高,已經(jīng)完成樣機(jī)試制,通過相關(guān)測試,并投入小批量生產(chǎn)。本產(chǎn)品已經(jīng)應(yīng)用于城市路燈監(jiān)控系統(tǒng),運(yùn)行穩(wěn)定,取得了良好的社會效益和經(jīng)濟(jì)效益。
參考文獻(xiàn):
1. 馬忠梅,單片機(jī)C語言Windows環(huán)境編程寶典,北京航空航天大學(xué)出版社,2004年4月
2. 張毅剛,新編MCS-51單片機(jī)應(yīng)用設(shè)計,哈爾濱工業(yè)大學(xué)出版社,2004年11月