孟志強,劉小可?,周華安,童軒,鄭瑤
(1.湖南大學 電氣與信息工程學院,湖南 長沙 410082;2.湖南大學 機械與運載工程學院,湖南 長沙 410082)
隨著城市建設的高速發展,城市道路的數量及規模日益擴大,城市道路照明的能源消耗日益增多[1].為減少路燈照明的能源消耗,基于物聯網技術的城市道路照明智能控制系統已成為一種必然,在城市道路照明建設中起著重要的作用.在物聯網城市路燈智能照明控制系統中,單燈控制器是控制并監測照明燈具的關鍵設備,主要的無線物聯網通信方式有Zigbee、WIFI、LoRa 和NB-IoT.
文獻[2]設計了基于Zigbee 和神經網絡的照明控制系統,提升了Zigbee 通信的穩定性,但Zigbee 傳輸距離不遠,易受道路障礙物的影響,且一個網絡系統可控制的路燈數量較少.文獻[3]搭建了基于WIFI的路燈控制系統,其節點之間的最大通信距離為19 m,不適用于城市主要道路的照明應用.文獻[4]設計了一個基于LoRa 的三級樹結構智能路燈控制系統,實現了燈具有效調光和故障診斷,但需要自建基站,否則,像Zigbee 網絡一樣易受道路障礙物的影響.文獻[5]設計了LoRa 無線照明設備測試系統,為LoRa 無線路燈控制系統的建設提供了可靠的技術支持.
窄帶物聯網(Narrow Band Internet of Things,NB-IoT)已經由營運商建成了完全覆蓋城市的無線傳輸網絡,具有組網方便、傳輸距離遠、功耗低等優點,用戶不再需要建設基站或者網關等設施[6].因此,基于NB-IoT 的城市路燈無線控制系統越來越受到業界和用戶的青睞,也形成了許多研究成果和實用技術.文獻[7]應用NB-IoT 通信實現網關與服務器間的數據交互;文獻[8]通過NB-IoT 技術實現路燈控制器與遠程平臺的通信;文獻[9-10]設計的NB-IoT 路燈控制器采用自動瞬時調光實現節能.但是,很少有文獻研究路燈控制器的設計技術.
本文研究與設計的NB-IoT 路燈控制器可實現LED 燈具電氣參數的實時采集、燈具故障診斷和定位、燈具遠程漸變調光與瞬時調光、燈具本地自動漸變調光與瞬時調光、燈具電源開關的遠程控制和本地控制等功能,給出了路燈控制器主要硬件、控制程序和通信協議設計,實驗結果驗證了NB-IoT 路燈控制器的有效性.
NB-IoT 路燈控制器在城市路燈控制系統中,通過NB-IoT 通信接收監控平臺控制命令,實現燈具用電信息采集、故障診斷、遠程0~10 V 或者PWM 調光和電源開關控制,實時向監控平臺返回燈具的電氣參數、故障和運行狀態等信息,實現城市路燈智能監控與管理.
NB-IoT 路燈控制器電路構成如圖1 所示.

圖1 NB-IoT 路燈控制器電路構成Fig.1 Circuit composition of the NB-IoT street lamp controller
路燈控制器CPU(Central Processing Unit)采用STM8s003f3p6 單片機,NB-IoT 無線通信模塊選用尺寸小、功耗低、性能優、成本低的M5311 雙頻模組,配置SIM 識別卡;復位、開機和串口電平轉換電路構成STM8 與M5311 之間的接口電路,實現M5311 的可靠復位、開機和串行通信;D/A 調光模塊將CPU 提供的0~100%占空比可調的PWM 調光信號轉化為0~10 V 的調光信號;繼電器模塊實現路燈電源的接通或關斷;電量采集模塊采用HLW8112 電氣參數采集芯片,實時采集路燈電流、電壓、功率、電能以及功率因數,并通過SPI 通信傳輸至CPU 處理,實現路燈故障診斷.
M5311 與STM8 的接口電路如圖2 所示.

圖2 M5311 與STM8 接口電路Fig.2 Interface circuit between M5311 and STM8
復位和開機電路是由STM8 提供脈沖控制信號的兩個三極管反相開關電路.
串口通信電路由兩個射級控制三極管開關電路組成,實現STM8 與M5311 之間的3.3~1.8 V 電平轉換和數據傳輸.例如,STM8 按照通信規程及其波特率向M5311 發送數據1 時,其UART_TX 引腳輸出高電平1,QM1截止,使得M5311 的RXD 引腳被上拉為1.8 V 的高電平1;STM8 發送數據0 時,UART_TX引腳輸出電平0,QM1導通,使得M5311 的RXD 引腳被下拉為低電平0.
LED 燈具電源一般使用0~10 V 的調光控制信號調節照明亮度,而路燈控制器通過無線網絡接收的調光信息是百分比數據,因此,需要用轉換電路實現數字調光量到模擬調光控制信號的轉換.D/A 調光電路如圖3 所示.

圖3 D/A 調光電路Fig.3 D/A dimming circuit
PWM 是STM8 將百分比調光數據轉換成的1 kHz、變占空比d、幅值3.3 V 方波信號,三極管QD1和電壓基準TLD1將PWM 的幅值轉化為2.5 V,RD4、CD1低通濾波電路將PWM 信號轉換為0~ 2.5 V 的直流電壓,經4 倍運算放大器放大為0~ 10 V 的調光信號.
電氣參數采集電路如圖4 所示,由電流、電壓采集通道和HLW8112 電氣參數采集芯片構成.電流采樣使用變比n1為1 000 ∶1 的電流互感器TQ1,RQ8為電流采樣電阻;電壓采樣使用電阻網絡和變比n2為1 的電流型互感器TQ2.

圖4 電氣參數采集電路Fig.4 Electrical parameters acquisition circuit
定義HLW8112 芯片的電流、電壓、有功功率有效值寄存器值分別為Ia、Ua、Pa,對應的有效值系數寄存器值分別為Iε、Uε、Pε.由《HLW8112 用戶手冊REV 1.19》可知,電流、電壓的轉換系數K1、K2分別為:

路燈電流Iin(單位:A)、電壓Uin(單位:V)、有功功率Pin(單位:W)分別為:

NB 無線路燈控制器的程序有主程序、定時器中斷服務子程序、串口接收中斷服務子程序三部分.主程序完成控制器的初始化、遠程NB 指令解析;定時器中斷服務子程序完成燈具調光、開關燈控制和本地時間處理;串口接收中斷服務子程序完成STM8對M5311 模塊數據的讀取,并置串口接收指令標志位為1.
NB 路燈控制器主程序流程圖如圖5 所示.NB路燈控制器上電后,初始化串口、定時器、看門狗、M5311,使能串口接收中斷;調用聯網子程序進行聯網操作,使能與NB-IoT 基站的連接,實現與遠程控制平臺的通信;在看門狗循環喂狗操作中,查詢串口接收指令標志位狀態,若已接收到M5311 的通信數據,則調用指令解析子程序并執行指令功能;根據指令功能要求向遠程控制平臺返回相應信息,清空串口緩存數組.因此,聯網服務子程序、指令解析子程序是主程序的重要組成部分.

圖5 主程序流程圖Fig.5 Flow chart of main program
2.1.1 聯網服務子程序
聯網服務子程序的功能是實現路燈控制器與圖1 所示城市路燈無線控制系統中遠程控制平臺之間的連接,流程圖如圖6 所示.STM8 程序控制M5311模塊開機,通過串口讀取并識別SIM 卡卡號,通過配置M5311 的頻帶使其快速鏈接到NB-IoT 網絡;讀取NB-IoT 基站的實時時間校準路燈控制器的本地時間變量;創建相應的TCP Socket,實現與路燈遠程控制平臺的連接,并將SIM 卡號發送給遠程控制平臺.

圖6 聯網程序流程圖Fig.6 Flow chart of networking program
2.1.2 指令解析子程序
指令解析子程序分析并執行遠程控制平臺指令,流程圖如圖7 所示.

圖7 指令解析子程序流程圖Fig.7 Flow chart of instruction parsing subroutine
在完成接收數據CRC 校驗和ID 號核對后,解析功能碼并執行相應功能,如配置平臺IP 和端口、故障閾值、開關燈時間、調光時間及調光值等.
若指令為故障及電氣參數采集指令,則運行故障及信息處理子程序,如圖8 所示.對比實時電流與電流閾值判斷故障狀態.讀取HLW8112 的電流寄存器值,代入式(3)計算實時電流Iin,與電流故障閾值IO比較.若Iin<IO,則燈具發生故障.

圖8 故障診斷程序流程圖Fig.8 Flow chart of fault diagnosis program
定時器設置為1 ms 定時中斷模式,中斷服務子程序流程圖如圖9 所示.

圖9 定時器中斷服務子程序流程圖Fig.9 Flow chart of timer interrupt service subroutine
路燈開燈與關燈是定時進行的,且季節不同、天氣狀態均影響開關燈時間,車流量和人流量在夜間不同時間段的變化很大,所需要的照明亮度不同,也需要按時間進行亮度調節,故需要建立路燈控制器的本地時鐘.因此,路燈調光、開關燈控制和本地時鐘均在定時器中斷服務子程序中完成.
在1 ms 的定時器中斷服務子程序中,首先通過時鐘處理子程序段建立控制器本地時鐘,并在每天凌晨與NB 基站進行對時.本地時鐘變量包括s(秒)、min(分鐘)、h(小時).然后,將本地時鐘變量分別與調光配置的10 個時間參數比較,對應完成調光和開關燈控制.
路燈調光采用8 個可配置的分時段調光策略,因此,調光和開關燈控制有10 個時間點需要檢測判斷.路燈控制器按照遠程控制平臺發送的調光配置參數:分時段調光百分比和調光時間和開關燈時刻進行調光和開關燈控制.
實現NB-IoT 路燈控制器功能的核心是有效設計其串口通信協議,格式如表1 所示.

表1 NB-IoT 路燈控制器串口通信協議格式Tab.1 Serial communication protocol format of NB-IoT street lamp controller
遠程控制平臺下發至路燈控制器和路燈控制器回復遠程控制平臺的數據格式均由功能碼、ID 號、數據和CRC 校驗組成,下發和回復指令中的數據及CRC 校驗部分不同,不同的功能具有不同的功能碼和不同長度的數據信息.由圖8 可知,NB-IoT 路燈控制器共設計了8 條不同的功能,每個功能對應一個通信協議.每個NB-IoT 路燈控制器的SIM 卡具有唯一的卡號,可作為路燈控制器的ID 識別號,長度固定為15 位.
例如:故障及電氣參數采集功能協議如表2 所示,其功能碼為0×33.當接收到該功能碼,控制器比較電氣參數采集芯片采集的實時電流與設置的電流故障閾值,判斷燈具是否發生故障,若發生故障,則同時將故障信息和采集到的所有電氣參數回復給遠程控制平臺,可以實現燈具的故障定位檢測.

表2 故障及電氣參數采集功能協議格式Tab.2 Fault and electrical parameters acquisition function protocol format
本文搭建的NB-IoT 路燈控制器樣機測試平臺如圖10 所示.

圖10 樣機測試平臺Fig.10 Photo of experimental prototype
路燈控制器上電后,自動打開LED 燈,將調光值設置為100%;由遠程控制平臺依次發送50%、30%、關燈的瞬時調光值指令,使用泰克示波器實錄圖4 中控制器的輸出調光信號如圖11 所示,遠程控制平臺讀取的控制器對應交流輸入電流、功率曲線如圖12 所示.

圖11 控制器輸出的調光信號Fig.11 Dimming signal output by controller

圖12 對應調光信號的交流輸入電流、功率曲線Fig.12 AC input current and power curve corresponding to dimming signal
路燈控制器未上電時,控制器輸出的調光控制信號為0 V,電氣參數采集芯片HLW8112 不工作;路燈控制器上電后自動打開LED 燈具滿功率運行,然后遠程控制平臺依次發送50%、30%調光指令和關燈指令.由圖12 可知,燈具控制器的輸出調光信號依次輸出10.5 V、4.7 V、2.5 V、299 mV 的調光控制信號,遠程控制平臺采集到路燈控制器的負載電流依次為0.27 A、0.15 A、0.10 A、0 A,功率為63 W、33 W、18 W、0 W.
基于各種物聯網技術的智能路燈控制系統已經成為現代城市道路照明的主流裝備,其中,采用NBIoT 窄帶物聯網的系統越來越顯生命力.本文采用M5311 無線傳輸模塊、嵌入式單片機STM8、智能電量采集芯片HLW8112 設計的NB-IoT 路燈控制器,為NB-IoT 智能路燈控制系統提供了路燈控制與管理的有效裝備.采集的燈具電流、電壓、功率和功率因數等實時數據有利于城市路燈智能控制平臺進行數據分析;設計的平滑與瞬時調光功能可適應不同場景的調光需求,提高了路燈控制器的靈活性;在控制器與平臺斷網條件下,可基于自身時鐘執行本地開關控制與調光策略,實現對燈具的穩定控制.測試實驗平臺的實驗結果驗證了NB-IoT 無線路燈控制器在上電、調光值和關燈等工作狀態下,均能可靠實現各種控制功能,輸出的調光電壓值精度滿足燈具控制要求,通信可靠穩定,具有良好的應用價值.