賴宋紅
(浙江商業職業技術學院,杭州 310053)
目前,浙江省正大力提倡智慧城市計劃,在光纖、無線等基礎設施較薄弱的地下車庫、偏遠城市及鄉村,充分利用現有的電力線傳輸數據,是對智慧城市信息傳輸平臺的有力補充。電力線通信技術是將電力線作為載體實現數據傳輸的一種通信方式[1]。該技術將載有信息的高頻信號加載到電力線載波中,利用電力線傳輸數據,并通過專用的調制解調器將信息從電力線上分離出來,最終將信息傳送到終端設備上[2-3]。使用電力線通信有助于進一步拓展信息溝通渠道,提高現有資源利用率,已逐漸成為物聯網應用開發熱點。本文基于電力線通信技術開發了一種低成本,適用于中小規模照明控制需求的控制器。

圖1 控制器系統結構圖Fig.1 Controller system structure diagram
基于電力線通信的照明控制器由中心控制器、智能節點、繼電器輸出端等組成。以學校教室為例,中心控制器顯示和控制所有教室的燈具運行的狀態,中心控制器裝有電力線載波模塊,一方面把電力線上傳輸過來的信號解析成中心控制器(PC、手機等終端)的信號;另一方面將控制器信號轉換成電力線載波信號傳輸到智能節點(智能插座、開關面板等)。如改造教室內的燈具開關面板,加入電力線載波模塊。載波模塊中存有節點地址,當收到電力線網絡的控制信號和節點地址匹配時,接收此幀控制信號。當數據幀的控制信號是高電平時,三極管導通,繼電器通電,繼電器的常閉觸點和燈具電源連接,從而燈具通電;當數據幀的控制信號是低電平時,三極管截止,繼電器斷電,繼電器的常開觸點和燈具電源連接,從而燈具斷電。在控制系統中,每個智能節點可以控制多個繼電器輸出端,每個繼電器輸出端對應一盞燈,智能節點加入網絡中,中心控制器為其分配一個地址,中心控制器通過該地址把控制信息發送給網絡中的特定智能節點,從而控制指定燈具的通斷電。智能節點的功能可以隨著繼電器輸出端的對象的改變而擴展,可以是這個線路上的智能家電、報警探頭、燃氣表、水表、電表等,控制信號、監測信號通過電力線傳給中央控制器,中央控制器運算后發出控制信號,所有部件的信號都通過電力線載波通信模塊進行調制和解調。
如圖1控制器系統結構圖所示,控制器使用STM32F0系列處理器作為網關和節點的核心控制器,完成組網操作、注冊節點及組網算法的實現[4]。調制解調器采用東軟的電力線載波模塊,系統的電源由電力線經變壓器供給,系統可以通過擴展節點來擴展控制對象。
系統硬件主要由電源模塊、中心控制器、智能節點、繼電器輸出電路等組成。中心控制器和智能節點通過電力線連接,信號由電力線載波通信模塊調制解調。
電力線載波通信模塊采用SSC1642模塊系列,ES1642-C載波模塊是一款小型化、低功耗的電力線載波通信模塊,其核心芯片采用東軟載波電力線載波通信芯片SSC1642,內部集成32位處理器,采用DBPSK數字調制解調方式傳輸,具有靈敏度高、通信可靠、抗干擾能力強、通信距離遠等特點。該模塊采用串口與用戶的MCU通信,可廣泛應用于智能家居、智能燈控、智能樓宇等領域。電源的噪聲對載波通信效果影響很大,因此控制器采用線性電源,最大程度地保證了載波通信效果[5-7]。每個載波模塊都有一個EID地址,它是廠商為每個出廠的PLC模塊設定的唯一不重復地址,可以確保出廠模塊在全部使用此地址作為通信地址時,不會出現因多個模塊地址重復而造成的混亂。
智能節點的控制器采用STM32F030F4,集成ARM Cortex-M0內核,最高主頻48MHz,16K FLASH,4K RAM,TSSOP20封裝,支持SWD調試,具有很高的性價比??刂破鞑捎?.3V電壓供電,集成了I2C接口、串口、SPI接口等,它和電力線載波通信模塊可以串口直連通信,不用電平轉換,外圍電路既簡單又穩定。STM32F030F4和電力線載波通信模塊使用串口直連,波特率設置9600bps,其余IO口連接繼電器輸出模塊。智能節點體積小,使用方便,可以嵌入開關面板內,改造成本低。
控制器實現燈具的通斷電控制,因此可以采用繼電器控制。繼電器的接點容量大,允許電壓高,一般沒有公共端。因此,可以直接驅動中小功率的負載,如交流接觸器、電磁閥等,但動作頻率較低,后續也可使用可控硅來實現對電器的無極控制。
控制器系統部件之間采用Modbus RTU通信協議,RTU模式采用主-從方式通信,由中心控制器發出的數據幀發起一次通信,智能節點對該數據幀進行響應。單播通信時,智能節點需要對中心控制器進行回復;廣播通信時,智能節點無需對中心控制器進行消息回復。RTU的信息幀由智能節點地址、功能碼、數據、CRC校驗組成。當照明系統規模變大時,防止節點地址重疊,可對上述的信息幀進行改進,把智能節點地址修改成區域地址,再將智能節點地址放入數據里。
數據轉發負責區域內燈具的分組管理,作為中心控制器和智能節點之間的通信樞紐,一方面,負責將來自中心控制器的開關控制和地址搜索命令轉發給智能節點;另一方面,將來自智能節點的數據信息轉發給中心控制器。數據轉發的任務主要劃分為數據接收發送任務、命令解析任務、數據上傳任務、數據下傳任務。智能節點通過數據接受任務與命令幀,并對命令幀進行解析,觸發數據下傳任務把來自中心控制器的開關信號轉發至繼電器控制模塊,通過數據上傳任務向中心控制器回復繼電器工作狀態信息。
智能節點處于網絡的最底層,主要負責繼電器通斷控制、PWM調光控制以及串行通信。根據控制系統的功能需求,將智能節點軟件劃分為命令接收處理任務、命令執行任務等。
命令接收處理任務主要負責串行數據的接收及發送,一方面接收電力線上的數據請求和調光、開關命令;另一方面,將自身地址信息及狀態信息等發送至電力線。主程序設置100us的定時中斷,不間斷地進行任務輪詢。當接收到數據幀時,首先判斷命令長度是否正確,若數據長度不正確,則丟棄數據幀,否則繼續解析;判斷接收到的數據CRC校驗碼是否正確,若校驗碼不正確,則丟棄數據幀,否則繼續解析;然后,判斷區域地址功能碼,如果是廣播識別碼,則觸發發送任務進行相應命令回復;若不是廣播識別碼,則繼續判斷地址字節是否為智能節點地址,若不是,則丟棄數據幀;否則繼續判斷功能碼是否正確,若不正確,觸發發送任務進行異?;貜?;否則根據不同功能碼觸發相應事件。
命令執行任務主要功能是通過對繼電器線圈的控制,實現觸點切換來調節燈具的開關及漸變。開關控制比較簡單,直接輸出高低電平即可改變常開常閉觸點的切換。如果是漸變調節,則為周期性任務,執行周期為20ms。為了避免亮度迅速變化造成的視覺沖擊,控制器采用漸變的亮度調節方式,使燈具的PWM值逐漸變至預設的目標值。
中心控制器的主要功能有地址搜索任務、實時單播控制任務、輪詢任務等。地址搜索任務是為獲取智能節點的地址,實現地址管理,每100ms進行地址搜索,將地址信息保存至中心控制器;實時單播控制任務接收來自操作者(手機、按鈕、語音)的實時控制命令,封裝成數據幀發送給指定智能節點;輪詢任務以200ms為周期執行輪詢燈具的狀態、PWM值,保證亮度設置的可靠性等。
根據上述方案,搭建系統進行測試。設計了中心控制器1個和智能節點50個,在工業現場進行下述測試。系統運行后,通過按鈕給中心控制器發送燈具開關控制、調光控制,所有智能節點連接的燈具都能根據控制命令動作。通過上位機軟件對指定地址的燈具進行開關控制:開機后,中心控制器和智能節點的載波模塊指示燈均以5Hz的頻率閃爍;指定地址燈具長亮指令下發后,中心控制器發送數據幀,指定地址的智能節點載波模塊比對到正確地址后指示燈常亮,經過測試,通信穩定可靠。
本文設計的照明控制器利用現有的電力線基礎設施,避免對建筑物的損壞,結構簡單、成本低廉。對智能節點功能加以擴展,能連接樓宇的防火、防盜、防有毒氣體泄漏的安防監控系統,保護了人身安全。對中心控制器的輸入擴展,將人機交互界面移植到云平臺上,可以在多種終端上查看和控制照明系統的工作狀態。試驗測試表明,該控制器能夠滿足中小規模照明的控制需求,能夠有效地進行功能擴展,具有較高的應用價值。