何 楓,周雪芹,何文德,羅石愛
(1.武漢地產集團武漢時代建筑設計有限公司,湖北 武漢 430013;2.長沙學院計算機工程與應用數學學院,湖南 長沙 410022)
隨著我國經濟和社會的快速發展,人們期盼路燈等公共照明設施更加普及,更加完善,以方便夜間出行,因此,夜景照明設施的建設成為了城市和鄉村公共基礎設施建設的重要內容之一。路燈是城鄉亮化便民工程的重要組成部分,如今,隨著政府對此投入力度的加大,城市的背街小巷以及農村的夜晚更加亮麗了。然而,不斷增加的路燈不僅消耗了大量的電能,而且由此產生的設施維護工作量也大增;再加上當今社會對節能環保和設備智能化的要求越來越高,路燈照明系統面臨諸多嚴峻的挑戰[1]。目前,由于我國各地經濟發展狀況不同,各地區的路燈控制方式也不同,對路燈的維護管理大多采用人工方式,消耗了較多的人力和財力資源[2],同時,很多路燈的開關燈控制方式簡單粗放,無法在節能環保與精準服務民眾之間取得平衡。因此,設計一款簡單實用、性能可靠的智能路燈控制器是當務之急。
本文以單片機STM32F103T8為核心,采用TSL2561模塊作為環境光強度傳感器,用ADE7755芯片測量功率和電能,通過SIM800C模塊發送告警短信,以此完成智能路燈控制系統的設計。該系統不僅能按定制的時間表自動開關路燈,而且還能在白天環境光強度小時開啟路燈,環境光亮度大后關閉路燈,并且在路燈線路功率異常時立即向指定手機發送短信告警。
路燈的開關分2種情況:①定時開關路燈。根據1年內日出和日落的時間變化,制訂出以月份為時間段的差異化開關燈時間表,不僅能最大限度地滿足使用需求,還能節省電能,避免比如夏天傍晚天很亮路燈已開、早上天已大亮路燈還沒關等浪費電的情況出現。②在雨霧天、白天光線很暗的情況下自動開關路燈。在非定時開燈時間(即白天),如果是天氣原因導致光線暗,可利用光強傳感器感應到光強度低于設定的閾值后開路燈,待檢測到光強度正常后關閉路燈。光控的優先級高于時控優先級,它能實現白天暴雨、濃霧燈天氣下開啟路燈。
此外,在路燈線路功率大于上限閾值或小于下限閾值時,系統立即按照設定的時間間隔向指定手機發送告警短信,以便于管理人員及時發現路燈線路故障或偷電等異常情況。
系統的硬件主要由STM32F103T8單片機、ADE7755功率計量芯片、環境光強度傳感器、TSL2561模塊、SIM800C GSM/GPRS模塊、電源模塊、按鍵、液晶顯示器和繼電器等組成。系統的硬件架構如圖1所示。
圖1 智能路燈控制系統的硬件架構
STM32F103T8是中等容量增強型32位基于ARM核心、帶64 KB閃存的單片機,它內部集成了20 KB SRAM、2個USART、RTC、2個12位的ADC、3個通用16位定時器、1個PWM定時器、2個I2C和SPI、1個USB和CAN、看門狗。通過USART1下載用戶程序,USART2連接GSM/GPRS模塊。
ADE7755是美國模擬器件公司生產的一種高準確度的電能測量集成電路,它適用于單相配電系統的高精度電能計量,可提供基于輸電線電壓和電流計算的瞬時有功功率和平均有功功率,超過IEC61036標準規定的精度要求。其中使用的唯一模擬電路是ADC和參考電壓電路,所有其他信號處理(例如乘法和濾波)都是在數字域實現,因此,它在環境條件和時間變化很大的情況下具有較好的穩定性和較高的精確度[3]。
引腳V1P、V1N為電流傳感器的模擬輸入端,V2P、V2N為電壓傳感器的模擬輸入端。引腳F1和F2以較低頻率形式輸出有功功率平均值,能直接驅動機電式計度器或單片機接口。引腳CF以較高頻率形式輸出有功功率瞬時值,用于校驗或與單片機接口,利用CF經光電耦合器輸出的電度脈沖計數來獲得負載的功率和電能。單片機的INT0接入CF經光電耦合器的輸出端。
光強度傳感器是用來檢測環境光強度的。TSL2561是TAOS公司生產的一款高速、低功耗、可編程、配置靈活的光強度數字轉換芯片,含I2C總線接口,涵蓋1~70 000 Lx的光強度范圍,適合街道路燈環境下的光強度測量。其內部集成了2個光敏二極管,通道0對可見光和紅外線敏感,通道1只對紅外線敏感,2個積分式ADC分別對2個光敏二極管的電流積分,并將其轉化為數字量,且保存在各自的數字寄存器中。單片機通過I2C總線可編程設置環境光強度的上下閾值,當光強度大于該上限閾值或小于下限閾值時,會產生低電平中斷信號。
SIM800C為GSM/GPRS無線通訊模塊,可支持4頻GSM/GPRS,工作的頻段為GSM850 MHz、EGSM900 MHz、DCS1800 MHz和PCS1900 MHz,支持移動和聯通的手機卡。模塊通過串口與單片機的USART2連接,單片機通過AT命令對其進行操作。
系統的軟件部分由主程序和2個中斷服務程序組成,代碼由C語言編寫。
系統上電后,程序開始初始化,包括單片機本身的定時器、看門狗、實時時鐘、中斷和2個串口的初始化,I/O口的模式設置,以及環境光強度閾值設置。其中,建議將單片機的2個中斷INT0和INT1設置成下降沿觸發方式,將USART1和USART2的波特率設置成115 200 bps。
初始化完成后,使用AT命令通過GPRS模塊從SIM卡中讀取手機號碼用于發送告警短信,讀取RTC的當前月份和時間與開關燈時間表對照,判斷是否為開路燈時間,以及當前路燈的開關狀態。如果是白天,還要判斷當前光強度是否低于最小閾值或高于最大閾值,綜合判斷是否要開關路燈。此外,還要根據CF脈沖計數來累加用電量和用電有功功率,分別判斷開燈和關燈期間的功率是否正常,如果異常,則向指定手機發送告警短信。程序主函數流程如圖2所示,圖中的開燈時間是指正常的夜晚開燈時間。
圖2 主函數流程圖
外部中斷0(INT0)的中斷服務程序可實現對ADE7755輸出的CF脈沖計數,用來計算功率和用電量,流程如圖3所示。外部中斷1(INT1)的中斷服務程序可實現對環境光強度低于指定的最小閾值或高于最大閾值的判斷和記錄。該實時記錄結果(光線暗或光線正常)用在主程序中,以此判斷白天是否要開路燈,或開路燈后是否要關掉路燈。流程如圖4所示。
圖3 INT0中斷服務程序流程圖
ADE7755的CF引腳的輸出頻率反映了有功功率的大小,將CF的輸出頻率設定為2 048(F1,F2),要求設置SCF=0和S0=S1=1.單片機在內部定時器設定的積分時間內對CF輸出的脈沖計數,平均功率正比于CF脈沖的頻率,而在1個積分周期內消耗的電能則與積分周期內的脈沖個數成正比。實際測量功率時,要具體參照電壓和電流互感器參數以及芯片的外圍電路設置。
在ADE7755的外圍電路中,通過輸出頻率設置電路,設置CF引腳的輸出頻率,即電表常數的設置。本文的電表常數設定為3 200 imp/kW·h,即電表記錄1 kW·h(即1度電)電能,表現為ADE7755的CF引腳輸出3 200個脈沖。
圖4 INT1中斷服務程序流程圖
本文基于STM32F103T8單片機,采用光強度傳感器模塊TSL2561、電能測量芯片ADE7755、GSM/GPRS模塊SIM800C設計實現了智能路燈控制系統。該系統安裝在路燈的配電箱中,既能按定制的開關燈時間表開關路燈,又可以在白天暴雨、濃霧等天氣情況下開路燈,天氣好轉后自動關路燈。此外,當檢測到用電功率出現異常時,系統自動向指定手機發送短信告警,以便管理人員及時發現路燈線路用電異常。在測試中,系統電源采用鋰電池與220 V供電相結合,這樣可以保證停電后系統依然能工作,且記錄的用電量等信息不會丟失。實驗結果表明,該系統造價比較低,性能較為穩定,有較大的實用價值。
[1]蘇賜民,李琪德,黃健倡,等.智能路燈控制器的研究與設計[J].現代信息科技,2017,1(3):8-10.
[2]樊冬蘭.智能路燈控制器的研究[J].商品與質量,2016(8).
[3]Biao M A.Design of Electricity Power Measurement and Management System for Student Apartment Based on ADE7755[J].Computer Engineering,2007,33(2):205-207.