林錦鋒,曾 酌,雷娜娜,高怡紅,邱 斌
(桂林理工大學 信息科學與工程學院,廣西 桂林 541004)
近年來,我國電氣火災發(fā)生頻繁,僅2007—2016年間,我國共發(fā)生火災69.46萬起,造成死亡5 325人,直接損失114.51億余元[1]。由此可見,如何實現安全用電監(jiān)測至關重要。物聯網技術等相關技術的發(fā)展為安全用電實時監(jiān)測提供了多種解決方案。其中,LoRa具有低功耗、遠距離傳輸等優(yōu)點,近年來在物聯網遠程傳輸領域被廣泛應用[2-6]。
本文設計基于STM32單片機和LoRa的遠程用電監(jiān)測系統,該系統能實時檢測電源線上的電能參數,具有下位機顯示、遠程通信及電腦上位機實時顯示的功能,可用于校園、小區(qū)和商業(yè)樓等場景的安全用電管理。
圖1為本文設計的LoRa遠程用電監(jiān)測裝置實現框圖。該系統以STM32F103C8T6核心板為控制核心,同時結合了電能采集傳感器SUI-101A、LoRa通信、LCD顯示、電源模塊及其蜂鳴器模塊。其中,STM32F103C8T6核心板是一款基于Cortex-M3內核的32位微控制器。
本文采用了SUI-101A電能傳感器作為電能采集電路的核心,使用全隔離采集方案,實現高低壓完全隔離。傳感器與電源線及其負載、單片機的電能采集電路連接圖如圖2所示。電源降壓模塊輸出直流穩(wěn)壓5 V電源給傳感器、繼電器及單片機供電。其中,繼電器控制著傳感器的工作狀態(tài)。為方便對特定用電器進行測量,在設計時對插座進行改裝,插座電源線直接和傳感器的電源采集線連在一起。當測特定負載時,直接在插座上給負載供電即可。
LoRa是一種專門用于無線電擴頻調制解調的通信技術,工作在ISM非授權頻段上,采用了ISM頻段射頻SX1278擴頻芯片,工作頻率為410~441 MHz。文中采用了ATK-LoRa通信模塊,可通過AT指令在線修改信道、發(fā)射功率、空中速率和工作模式等各種參數。有透明傳輸、定向傳輸,以及廣播與數據監(jiān)聽3種模式。本設計中使用了透明傳輸模式。透明傳輸即數據透傳,當2個LoRa通信模塊具有相同地址、相同信道時,數據傳輸可以是字符或16進制數據格式。
通過GPIO口控制放大器的導通與截止,控制蜂鳴器。當單片機檢測到用電器產生的功率超過設定的功率上限閾值時,會觸發(fā)GPIO1口PA12產生高電平,使得放大器處于放大狀態(tài),蜂鳴器響。
LCD液晶屏利用串口作為通信接口,通過上位機對顯示界面進行設計,利用串口把設計好的界面下載到屏幕。通過單片機控制串口傳輸數據,并在屏幕上實時顯示。
本系統的軟件設計主要包括:用電監(jiān)測硬件控制部分、信號處理與分析設計部分、LCD液晶屏上位機軟件設計部分。硬件控制部分的軟件設計在結構上分為主控程序、電量計算程序、LCD顯示程序、STM32與LoRa模塊的數據傳輸程序。
用電檢測器在啟動后,進入初始化狀態(tài),不斷地通過電能采集模塊采集電源線上的電能信息,經過處理并在LCD顯示。然后通過LoRa模塊發(fā)送數據,并利用電腦端連接的LoRa通信模塊接收相應的數據。LoRa通信模塊發(fā)送完一次數據后,系統會判斷當前功率值是否超過設定的上限值,如果超過則觸發(fā)蜂鳴器響,達到報警效果;否則,蜂鳴器不響,繼續(xù)返回到開始電能采集的位置開始執(zhí)行。簡要的系統軟件設計流程如圖3所示。
設計中用到的電能采集模塊SUI-101A可實時測量交流電流、電壓、有功功率、累計電量和頻率等參數,提供標準通信接口。單片機通過控制串口給傳感器發(fā)送數據請求命令,然后傳感器對采集到的電能參量信息再次通過串口傳回單片機進行分析處理。電能采集模塊關鍵的數據請求和解析過程如下。
數據請求:
ATK-LoRa通信模塊軟件設計流程圖如圖4所示。透明傳輸時2個ATK-LoRa通信模塊間的地址和通信信道相同。在單片機上開啟串口3,PB10作TXD,PB11作RXD,MDO接單片機PA4,AUX接PA5。當AUX=0和MD0=1時ATK-LoRa通信模塊通過單片機控制串口發(fā)送AT指令集來實現通信配置,且進入配置前設置通信波特率為115 200、校驗位為8、位數據為1、位停止為無、無數據校驗,發(fā)送AT指令等待模塊的應答,應答成功則模塊初始化成功。另外也可借助上位機和USB轉TTL對ATK-LoRa通信模塊進行快速配置,當AUX=0和MD0=0即能進入通信狀態(tài)。
其中,ATK-LoRa通信模塊基本配置實現核心代碼如下
LCD上位機軟件設計流程圖如圖5所示,打開USART HMI軟件后,新建工程:設置好路徑及名稱,然后選擇LCD型號和顯示方向、字符編碼GB2312。建立好工程后,切換到Program.s,在page指令前設置好界面的高度、寬度;數據傳輸波特率為9600。然后再制作字庫添加進工程,接著設計菜單界面,添加顯示控件,進入調試。調試成功后,把工程下載到LCD液晶屏,達到初步顯示效果。
為實現系統軟硬件測試并保證測試安全,本文借助隔離變壓器作為保護點。通過隔離變壓器給系統供電,借助繼電器控制電能采集傳感器工作,下位機測試時用熱風槍作為測試電器。測試效果如圖6所示。測出的數據有一定的波動,如實測得到的一組數據:電流3 285.76 mA,電壓223.40 V,功率719.48 W,功率因數0.4,累計電能0.010 79 kW·h。熱風槍工作時參考值電流4 A,電壓220 V,功率700 W。由此可知,本文設計的裝置測量得到的數據與實際數據接近。
進一步,打開電腦的軟件串口調試助手或者ATK-LoRa上位機,用USB轉TTL轉換頭把LoRa通信接收模塊和電腦連接,實現測量數據的遠程傳輸。
本文介紹了一種基于STM32單片機和LoRa的遠程用電監(jiān)測裝置的軟硬件設計過程,并通過系統測試驗證了該裝置的有效性。實驗測試結果表明,該裝置能實時檢測到電源線上的電能參數,并具有下位機顯示、遠程通信以及上位機實時顯示的功能。