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