俞青松,陳 晨,陳友忠
(浙江意博高科技術(shù)有限公司,浙江 杭州 311100)
隨著我國城鎮(zhèn)化建設(shè)的推進(jìn),路燈作為城市公共照明的一部分,已成為人們生活中不可缺少的一部分。 但路燈每年消耗的電能也是巨大的,因而對路燈進(jìn)行高效管理, 實(shí)現(xiàn)按需照明具有重要的意義。 路燈控制管理系統(tǒng)使路燈能夠被遠(yuǎn)程監(jiān)測控制,提高了路燈應(yīng)對突發(fā)天氣的靈活性、故障上報的及時性以及節(jié)能控制方式的多樣性。路燈控制管理系統(tǒng)一般由監(jiān)控軟件平臺、遠(yuǎn)程通信網(wǎng)絡(luò)、集中控制器、本地通信網(wǎng)絡(luò)和單燈控制器組成。 單燈控制器作為路燈的直接控制設(shè)備,其工作的可靠性和有效性會影響整個控制系統(tǒng)。本文設(shè)計了一種基于ZigBee 通信技術(shù)的單燈控制器, 通過采用多種機(jī)制,在實(shí)現(xiàn)其功能完整性和有效性的前提下,保證了其工作的可靠性。
目前市面上單燈控制器, 采用的通信方式有ZigBee,PLC,RS485,NB-IoT,LoRa 等。 ZigBee 采用免許可證頻段2.4GHz (全球)、915MHz (美國)和868MHz(歐洲),數(shù)據(jù)傳輸率可達(dá)250kb/s,節(jié)點(diǎn)間通信距離100m,加AP 后可以達(dá)到1000m,支持大量網(wǎng)上節(jié)點(diǎn),支持星狀、片狀和網(wǎng)狀等多種網(wǎng)絡(luò)拓?fù)洌哂械蛷?fù)雜度、快速、可靠、安全的特點(diǎn)。
表1 列舉了常見單燈控制器的通信方式及優(yōu)缺點(diǎn)。 采用ZigBee 通信的單燈控制器在安裝便捷性、維護(hù)成本、網(wǎng)絡(luò)可靠性、通信實(shí)時性、通信距離(擴(kuò)展后)上具備優(yōu)勢。 本設(shè)計通過采用ZigBee 通信、高精度計量芯片、多重故障判斷方式、數(shù)據(jù)包重發(fā)機(jī)制等方式進(jìn)行設(shè)計優(yōu)化,在提高設(shè)備可靠性同時,提高了網(wǎng)絡(luò)的安全性和可維護(hù)性,同時降低了網(wǎng)絡(luò)設(shè)備的故障誤報率。
表1 單燈控制器各通信方式對比Table 1 Comparison of communication methods of single lamp controller
如圖1 所示為路燈控制管理系統(tǒng)框圖??刂乒?jié)點(diǎn)也即單燈控制器,安裝在燈桿或燈頭上,直接對路燈進(jìn)行控制,并采集路燈狀態(tài)信息,通過ZigBee通信技術(shù)與集中控制器進(jìn)行數(shù)據(jù)交互。集中控制器通過4G 網(wǎng)絡(luò)和遠(yuǎn)程服務(wù)器進(jìn)行數(shù)據(jù)通信,接收遠(yuǎn)程服務(wù)器控制命令,通過單燈控制器對路燈進(jìn)行開關(guān)、調(diào)光等控制,并上報單燈控制器采集的路燈狀態(tài)信息。在遠(yuǎn)程服務(wù)器端以可視化界面展示整個控制系統(tǒng)的工作狀況,以便工作人員及時了解路燈的工作情況,做出精確判斷。
圖1 路燈控制管理系統(tǒng)框圖Figure 1 Block diagram of street lamp control and management system
單燈控制器硬件框圖如圖2 所示,包含ZigBee控制模塊、開關(guān)模塊、計量模塊、調(diào)光模塊、電源、RTC (Real Time Clock)、EEPROM (Electrically Erasable Programmable read only memory) 、Watchdog 等部分。
圖2 單燈控制器硬件框圖Figure 2 Hardware block diagram of single lamp controller
硬件功能模塊主要包括ZigBee 控制模塊、開關(guān)模塊、計量模塊、調(diào)光模塊以及RTC。
ZigBee 控制模塊。 ZigBee 控制模塊電路如圖3所示, 采用TI 的CC2530 作為主控芯片, 外加RFX2401C 作為功放芯片, 通過外接天線阻抗匹配,使ZigBee 模塊的有效傳輸距離不低于300m。
圖3 ZigBee 模塊電路Figure 3 ZigBee module circuit
ZigBee 控制模塊作為主控模塊,采用TI 的ZStack 協(xié)議棧,是整個控制器的控制中心。 整個ZStack 采用分層的軟件結(jié)構(gòu),包括硬件抽象層、操作系統(tǒng)抽象層等。 硬件抽象層提供各種硬件模塊的驅(qū)動,包括定時器Timer、通用I/O 口GPIO、通用異步收發(fā)傳輸器UART、 模數(shù)轉(zhuǎn)換ADC 的應(yīng)用程序接口API,提供各種服務(wù)的擴(kuò)展集。 操作系統(tǒng)抽象層實(shí)現(xiàn)了一個易用的操作系統(tǒng)平臺, 通過時間片輪轉(zhuǎn)函數(shù)實(shí)現(xiàn)任務(wù)調(diào)度,提供多任務(wù)處理機(jī)制。 通過調(diào)用操作系統(tǒng)抽象層提供的相關(guān)API 進(jìn)行多任務(wù)編程,將應(yīng)用程序作為一個獨(dú)立的任務(wù)來實(shí)現(xiàn)。ZigBee 控制模塊在Z-Stack 的基礎(chǔ)上實(shí)現(xiàn)控制任務(wù)、接收控制命令和完成控制任務(wù)。 其通過串口與計量模塊進(jìn)行數(shù)據(jù)通信,配置計量模塊參數(shù),讀取保存計量數(shù)據(jù),并檢測計量模塊的工作狀態(tài);通過I2C 接口與EEPROM 和RTC 進(jìn)行通信, 實(shí)現(xiàn)數(shù)據(jù)的存儲讀取和實(shí)時時鐘的讀取與配置; 通過給調(diào)光模塊提供PWM(Pulse Width Modulation)信號,實(shí)現(xiàn)調(diào)光0~10V 控制。
開關(guān)模塊。 采用超小型大功率繼電器,實(shí)現(xiàn)對負(fù)載供電的控制,同時通過提供負(fù)載供電電壓信號和電流信號給計量模塊。
計量模塊。 計量模塊電路如圖4 所示,采用電能計量專用芯片RN8209, 通過實(shí)時采集電壓信號和電流信號,實(shí)現(xiàn)檢測出負(fù)載電壓、電流、功率、功率因數(shù)及能耗的值;底層控制軟件會對檢測數(shù)據(jù)進(jìn)行分析、判斷,獲取燈的狀態(tài)。數(shù)據(jù)精度優(yōu)于1%,符合大部分場景應(yīng)用。
圖4 計量模塊電路Figure 4 Metering module circuit
調(diào)光模塊。通過CJ431 電壓基準(zhǔn)芯片及阻容濾波,把ZigBee 模塊輸出的PWM 信號轉(zhuǎn)換為0~10V電平信號,同時采用射極跟隨器進(jìn)行阻抗調(diào)整,減小負(fù)載對電路輸出的影響。
RTC 采用PCF8563,配合超級電容,實(shí)現(xiàn)掉電維持時鐘的功能。
在整機(jī)硬件可靠性設(shè)計方面, 進(jìn)行了以下設(shè)計:在AC 輸出加阻容吸收電路,減少感性負(fù)載對單燈控制器的影響; 在調(diào)光輸出加ESD(Electro-Static Discharge)芯片,進(jìn)行ESD 保護(hù);外置硬件看門狗,防止干擾引起死機(jī);選用工業(yè)級芯片;在電路設(shè)計時考慮器件降額設(shè)計;選用電壓范圍比ZigBee模塊更大的EEPROM 芯片, 防止掉電時對EEPROM 數(shù)據(jù)的破壞。
單燈控制器程序流程如圖5 所示。 上電后,首先進(jìn)行相應(yīng)的初始化操作,接著開啟60s 定時器和3s 定時器,然后進(jìn)入任務(wù)循環(huán)處理。 程序每隔60s進(jìn)行失聯(lián)計數(shù)加1 操作, 一旦未收到命令超過5min,單燈控制器進(jìn)入自動運(yùn)行模式,比對RTC 時鐘和記錄的開關(guān)燈與調(diào)光時間是否一致。若一致則執(zhí)行相應(yīng)的動作, 保證單燈控制器在ZigBee 網(wǎng)絡(luò)異常時也能按照事先設(shè)置的策略運(yùn)行。 同時,程序每隔3s 讀取一次負(fù)載的電參數(shù), 并和記錄的報警閾值比較,若超過閾值,則進(jìn)行報警處理。處理命令流程對接收的命令進(jìn)行處理,包括開關(guān)、調(diào)光、數(shù)據(jù)上報、策略設(shè)置、參數(shù)設(shè)置等操作。
圖5 單燈控制器程序流程圖Figure 5 Program flow chart of single lamp controller
3.2.1 ZigBee 組網(wǎng)
ZigBee 組網(wǎng)流程如圖6 所示。一個區(qū)域的燈控有許多個ZigBee 網(wǎng)絡(luò)組成, 為了區(qū)分不同的控制網(wǎng)絡(luò),不同的網(wǎng)絡(luò)需要選擇不同PANID 和信道。在選擇的信道上發(fā)送信標(biāo)請求,掃描該信道上的網(wǎng)絡(luò)信息,若接收到符合要求的信標(biāo),則發(fā)送連接請求,等待對方應(yīng)答,再進(jìn)行數(shù)據(jù)請求獲取網(wǎng)絡(luò)地址。 在獲取網(wǎng)絡(luò)地址后,廣播本身的地址信息,讓處在網(wǎng)絡(luò)上的節(jié)點(diǎn)知道有新的節(jié)點(diǎn)加入。
圖6 ZigBee 組網(wǎng)流程圖Figure 6 ZigBee networking flow chart
3.2.2 命令處理模塊
命令處理模塊程序流程如圖7 所示。首先對接收的命令進(jìn)行校驗和計算:若校驗和錯誤,則返回命令錯誤;若校驗和正確,則進(jìn)行命令類型判斷,進(jìn)行不同的處理,返回處理結(jié)果。
圖7 命令處理模塊程序流程圖Figure 7 Program flow chart of command processing module
3.2.3 報警判斷模塊
報警判斷模塊程序流程如圖8 所示, 進(jìn)行電壓、電流、功率及控制器故障等報警的判斷。把采集的電參數(shù)和設(shè)置的電參數(shù)閾值進(jìn)行比較,如果連續(xù)5 次超過閾值,則設(shè)置相應(yīng)的報警標(biāo)志,在平臺軟件來查詢時,上報報警信息。
圖8 報警判斷模塊程序流程圖Figure 8 Program flow chart of alarm judgment module
數(shù)據(jù)存儲的可靠性。 對于EEPROM 數(shù)據(jù)的存儲,采用一值多單元存儲的方式,在寫入和讀出時從多個單元獲取數(shù)據(jù)并進(jìn)行比對,防止或降低讀寫錯誤的產(chǎn)生。
報警機(jī)制。 對于報警數(shù)據(jù),通過連續(xù)多次的判斷,若結(jié)果都超過閾值,則生成報警數(shù)據(jù)。
異常數(shù)據(jù)處理。 保存異常數(shù)據(jù),并在數(shù)據(jù)召測時,上報異常數(shù)據(jù)。
設(shè)備死機(jī)處理。 在設(shè)備出現(xiàn)異常死機(jī)時,軟件停止清硬件看門狗動作, 硬件看門狗復(fù)位設(shè)備,設(shè)備重啟后讀取EEPROM 數(shù)據(jù),恢復(fù)復(fù)位前狀態(tài)。
設(shè)備離線(脫網(wǎng))處理。 設(shè)備在離線時,按照設(shè)定的策略實(shí)現(xiàn)自動開關(guān)調(diào)光動作,并每隔一定時間嘗試入網(wǎng),直到重新加入網(wǎng)絡(luò)。
關(guān)鍵數(shù)據(jù)處理。 采用定時更新的方式,保存到EEPROM,并做備份。
上傳數(shù)據(jù)及狀態(tài)和下傳命令可靠性。數(shù)據(jù)及命令采用CRC16 校驗及重發(fā)機(jī)制,保障可靠傳輸。
如圖9 所示,圓點(diǎn)代表裝配了單燈控制器的路燈,標(biāo)簽代表集中控制器(集中管理單燈控制器,并與遠(yuǎn)程服務(wù)器進(jìn)行數(shù)據(jù)通信),此時路燈未開。
如圖10 所示, 圓點(diǎn)代表裝配了單燈控制器的路燈,標(biāo)簽代表集中控制器,此時路燈已開。
如圖11 所示, 灰色圓點(diǎn)代表裝配了單燈控制器的路燈,黑色圓點(diǎn)代表單燈控制器異?;騿螣艨刂破魉刂频穆窡舢惓#?標(biāo)簽代表集中控制器,此時路燈已開。
隨著城市化建設(shè),路燈作為城市基礎(chǔ)設(shè)施建設(shè)的一部分,對其進(jìn)行高效管理維護(hù),具有重要意義。目前, 越來越多的地方開始部署路燈控制管理系統(tǒng)。 本文設(shè)計的基于ZigBee 通信技術(shù)的單燈控制器, 在對路燈開關(guān)調(diào)光控制及狀態(tài)監(jiān)測的同時,采用多種方法,提高了其可靠性,為路燈控制管理系統(tǒng)的穩(wěn)定性提供了前端硬件保證。
圖9 非工作時段路燈狀態(tài)圖Figure 9 Street lamp state diagram during nonworking hours
圖10 工作時段路燈狀態(tài)圖Figure 10 Street lamp state diagram during working hours
圖11 異常情況路燈狀態(tài)圖Figure 11 Street lamp state diagram under abnormal conditions