周錦榮 鄒力偉周志森楊豐亮
(1.閩南師范大學物理與信息工程學院,福建 漳州 363000;2.漳州零點智能工程有限公司,福建 漳州 363000)
隨著智能用電網絡技術的發展,利用NB-IoT 物聯網平臺實施遠程數據采集、傳輸、分析與監測控制在各領域得到廣泛應用[1-5]。用電設備遠程無線監測管理信號的傳輸方式目前主要有ZigBee 技術進行無線組網,基于nRF 射頻芯片、GPRS 數據傳輸技術等多種形式[6-9]。本設計以大功率LED 路燈作為智能監測控制對象,通過對路燈電能參數采集和上位機軟件開發應用,實現路燈的自動開關、故障監測報警、運行轉態遠程控制與管理等功能。系統采用STM32F103RCT6 構成主控電路,通過BC95 傳感器終端模塊、電信云的物聯網平臺以及阿里云的服務器及數據庫來設計實現,網絡傳輸框架如圖1 所示。

圖1 系統網絡傳輸架構
圖1 中傳感器終端通過電信NB-IoT 網絡與IoT平臺連接。具體流程如下:QS1212B 電能計量芯片將采集到的數據通過串口傳輸至MCU;MCU 對采集到的數據進行處理,并通過串口傳輸至BC95 模塊;BC95 模塊使用CoAP 協議通過NB-IoT 核心網絡將采集的電能數據發送至IoT 平臺。NB-IoT 核心網絡承擔與傳感器終端非接入層交互的功能,將有IoT 業務的相關數據轉發至IoT 平臺進行處理。NBIoT 核心網與LTE 核心網架構基本相同,但是進行了功能簡化和優化。
IoT 平臺與阿里云服務器通信過程:由服務器發送數據請求,IoT 平臺將數據封裝成JSON 格式,通過HTTP 的GET/POST 請求,與云服務器進行數據交互,實現對LED 路燈運行時電能參數的計量、監測以及下發控制等功能。
硬件電路主要由AD/DC 電源電路、DC/DC 降壓電路、STM32F103RCT6 核心電路、QS1212B 電能采樣電路、BC95 通信電路、DA 輸出及放大電路、E2PROM存儲電路、DS3231 時鐘電路組成。本設計采用80 W 的LED 路燈作為實驗負載,LED 供電電源為壓控恒流源,需要提供0~10 V 的控制電壓。硬件系統框圖如圖2 所示。

圖2 硬件系統框圖
系統供電電源電路如圖3 所示,主要包括AD/DC 轉換電路、DC/DC 降壓電路,通過電壓轉換為各模塊提供需要的電壓,具體電路如圖4 所示。

圖3 系統供電電源框圖

圖4 系統供電電源電路
AD/DC 轉換電路采用海凌科AC/DC 隔離穩壓電源模塊10M12,DC/DC 降壓電路采用LM2576 構成BUCK 降壓型開關電源,得到較高轉換效率和較大輸出電流。為給STM32 核心電路、BC95 通信電路及QS1212B 計量電路提供穩定的3.3 V 供電電源,系統采用AMS117 線性穩壓電源。為了確保AMS1117 的穩定性,輸入端加入了100 nF 的旁路電容,輸出端加入了100 μF 和100 nF 的旁路電容。為了提高供電電源的質量和抗干擾能力,電路加入了磁珠和0 Ω 電阻[10-11]。磁珠可以抑制電源線上的高頻傳導干擾和尖峰干擾,還具有吸收靜電脈沖的能力,有利于提高電源穩定性;0 Ω 電阻用于模擬地和數字地之間的單點接地,能夠有效限制環路電流,使噪聲得到抑制,減少模數間的互相干擾[10-11]。
本設計系統并不需要太強的運算能力,且盡量要求在低功耗狀態下工作,選擇STM32F103RCT6 作為主控芯片可滿足上述要求。STM32F103RCT6 擁有DMA 數據傳輸、ADC、DAC 等豐富的軟件資源[12],其在電路中的主要資源分配如表1 所示。因為STM32F103RCT6 的I2C 接口與Q21212B 使用的通信接口USART3 接口復用,設計中采用軟件模擬I2C 協議,避免了接口沖突以及由于I2C 接口缺陷問題可能造成的程序運行不穩定,又方便了程序的移植。

表1 主控芯片主要資源分配
同時,STM32F103 工作頻率為72 MHz,擁有豐富的接口,如:USART 通信接口、I2C 接口、SPI 接口、CAN 接口及USB 接口等,為硬件的拓展和數據的傳輸提供了保證,硬件電路如圖5 所示。

圖5 STM32F103RCT6 主控電路原理圖
電能采樣計量單元電路主要由電能計量處理電路、電流互感采樣以及電壓互感采樣電路組成[13]。電能計量處理電路采用深圳艾銳達光電有限公司生產的QS1212B 芯片,該芯片是一款內嵌32 位ARM Cortex-M0 內核定制開發的低功耗、高性能、高集成度、高可靠的單相電能芯片。QS1212B 可以測量交直流電壓、電流、功率、功率因數、頻率,計量有功和無功電能,支持2 路單相計量和測量。內部嵌入了電能計量算法和電能計量校準算法,用戶只需要通過DL/T 645-2007 規約和Modbus-RTU 規約即可讀出電壓、電流、電能等數據,便于用戶開發和應用。使用中,QS1212B 的XO 和XI 引腳之間跨接32.768 kHz 晶振,不需外接電阻和電容。電路原理圖如圖6 所示。

圖6 電能計量處理電路原理圖
電流采樣通過電流互感器采用艾銳達CT41A-001。其為5 A:2.5 mA 的電流互感器,初級基本電流為5 A,最大電流為80 A;次級基本電流為2.5 mA,最大電流為40 mA。電路原理圖如圖7 所示。

圖7 電流互感采樣電路
本設計路燈的最大電流為1.6 A,電流傳感器的次級電流最大為0.8 mA。采樣點的電壓有效值為0.8 mV,電壓幅值為1.31 mV,計算如式(1)和式(2)所示。為保證采樣信號的可靠性,采樣信號經過后端RC 濾波電路,防止高頻干擾。

電壓采樣采用2 mA:2 mA 的艾銳達PT02A-001 型電流互感器,初級基本電流為2 mA,最大電流為10 mA;次級基本電流為2 mA,最大電流為10 mA。電路原理如圖8 所示。

圖8 電壓互感采樣電路
本設計接220 V 市電,電壓互感器的初級電流為0.18 mA,初級電流計算如式(3)所示。所以,次級電壓有效值為18.3 mV,次級電壓計算如式(4)所示;幅值為25.880 mV,幅值計算如式(5)所示。經過后端RC 濾波,進一步消除了高頻分量,并使到達IO 口的電壓低于3.3 V,滿足后端電壓采樣的范圍要求。

時鐘電路采用低成本、高精度I2C 實時時鐘RTC 芯片DS3231 與MCU 連接構成,如圖9 所示[14]。DS3231 包含電池輸入端,斷開主電源時仍可保持精確計時。MCU 通過I2C 總線與DS3231 連接,其SCL 及SDA 引腳連接到了STM32 的通用GPIO 引腳,結合上拉電阻,通過軟件模擬I2C 通信協議,構成了I2C 通訊總線,通過I2C 總線與MCU進行數據交互。

圖9 時鐘與存儲單元電路
圖9 中采用AT24C02 型號的E2PROM 芯片進行數據存儲,其SCL 及SDA 引腳連接到了STM32的通用GPIO 引腳,結合上拉電阻,通過軟件模擬I2C 通信協議,構成了I2C 通訊總線,通過I2C 總線與MCU 進行數據交互。
NB-IoT 窄帶通信單元采用移遠通信的BC95 芯片NB-IoT 電路模塊[15]。BC95 模塊包含有電源供電接口、串口通信接口、模數轉換接口、USIM 卡接口、網絡狀態指示接口、RF 接口。該模塊對電源的要求為:0.5 A 電流能力、VBAT 電壓輸入范圍為3.1 V~4.2 V,采用XC6221 穩壓芯片構成供電電源。XC6221 系列芯片是一款低消耗電流正電壓型電壓穩壓器,且內置了過流等保護電路。電路設計如圖10 所示。

圖10 NB-IoT 窄帶通信單元電路
本設計包含雙路5V DC 的繼電器驅動電路,可以實現雙路LED 的單獨控制。由MCU 的IO 口輸出控制電壓,并配合三極管進行擴流,使三極管工作在截止區和飽和區,從而控制繼電器的開斷。由式(6)、式(7)可知三極管飽和區電流最小為208 mA,而繼電器工作的最大電流為100 mA,驅動電路可以保障繼電器的正常開合。圖11 中二極管反向并聯在繼電器線圈兩端,可以保護線圈不受反峰電壓的沖擊,對繼電器起到保護作用。電路設計如圖11 所示。


圖11 繼電器驅動電路
系統采用漳州零點智能工程有限公司的壓控式LED 恒流驅動模塊,該產品可提供兩路電壓單獨控制,需要通過驅動0~10V DC 的壓控恒流源控制燈光的亮度。因此,設計中采用LM324 運放電路對STM32 的DAC 輸出0~3.3 V DC 電壓進行放大可滿足壓控電壓要求。如圖12 所示。

圖12 集成運算放大電路
DAC 輸出采用STM32 內部DAC,其輸出電壓范圍為0~3.3 V DC,由式(8)可得其Uout的輸出范圍為0~11.55 V DC,滿足壓控LED 恒流源所需的0~10 V的電壓。
STM32 內部DAC 具有12 位的分辨率,由式(9)可得其步進電壓USV為0.8 mV。通過式(8)可知,運放放大電路最小可實現2.8 mV 的電壓步進。本系統通過實現LED 恒流驅動模塊控制電壓10 mV 的步進對LED 的精確控制,實現步進為0.1%的調光。

本設計STM32F103RCT6 程序設計采用FreeRTOS實時操作系統為框架,增強系統的穩定性和執行效率[16]。主程序框架分為三個任務執行:(1)系統網絡在線檢測;(2)云平臺下發命令解析;(3)設備離線控制。系統結合各硬件驅動子程序,組成系統的整體程序框架。主程序流程如圖13 所示。

圖13 主程序流程圖
任務1 主要通過讀取DS3231 的時間,進行網絡狀態的檢測。當網絡連接正常時上傳電能參數,當網絡異常時啟動時基控制方案,該程序流程圖如圖14 所示。

圖14 任務一程序流程圖
QS1212B 的通信接口支持標準UART 通訊接口,設計中將STM32F103RCT6 串口3 設置為波特率4 800 bit/s,數據位為8 位,1 位停止位。當MCU需要讀取QS1212B 多路寄存器時,需要發送符合MODBUS-RTU 規約的16 位數據幀,MCU 數據發送和數據接收示。BC95 通過MCU 的串口2 與MCU進行數據交互。串口設置為波特率9 600 bit/s,8 位數據位,1 位停止位。MCU 需要傳輸的數據封裝成幀,使用CoAP 協議發送至IoT 平臺。MCU 與BC95通信是通過AT 指令。
任務2 用于接收服務器下發的命令,該程序流程圖如圖15 所示。

圖15 任務二程序流程圖
在BC95 與云平臺通信之前,云平臺需完成以下三個步驟:(1)云平臺完成Profile 文件的編寫與上傳;(2)云平臺完成插件開發;(3)云平臺綁定該設備的IMEI 碼。綁定成功后,MCU 只需通過串口向BC95 發送需要傳輸數據的地址域與符合Profile文件、插件開發中描述相同的數據格式,即可與平臺進行數據交互。
任務3 主要功能是網絡異常時系統通過時間控制系統的正常運行,其流程圖如圖16 所示。

圖16 任務三程序流程圖
電信平臺支持圖像化的插件開發界面,其主要功能是將設備的二進制碼流轉化為平臺的JSON 格式,同時將平臺下發的命令轉化為設備的二進制碼流,方便開發者對信息的查看和處理。
(1)數據上報
以A 路電壓量上報為例,上傳插件開發如圖17所示,其中messageld 為標志地址域,功能是當有多條信息或命令是需要有不同的地址域,以便區分不同消息,其數據格式為8 位無符號整型;A_Voltage為上報的數據。其中AT+NMGS 為發送指令,其數據格式為32 位有符號整型,具體說明如表2 所示。

圖17 電壓上傳云平臺插件

表2 上傳命令解析數據格式
MCU 需要根據定義的地址域和數據類型上報消息的數據,可以自己根據實際情況設置數據格式。如上報A 路電壓需發送如下格式的數據:AT+NMGS=5,04xxxxxxxx。
(1)數據下發
以定時時間下發為例,下發插件開發如圖18 所示,其中messageld 為標志地址域;hour、min 分別為下發的小時和分鐘;status 為下發的狀態命令,MCU接收到的數據為:+NNMI=4,24xxxxxx,MCU 只要根據需要解碼下發的數據,即可得到相應的命令。

圖18 云平臺定時時間下發插件
系統調試可用服務器通過IoT 平臺進行,也可直接利用IoT 平臺的應用調試助手進行調試。調試時需注意下發命令的數據范圍,以免系統工作出現異常。電參數上傳命令可以在IoT 平臺的歷史數據中直接查看,也可通過調閱接口至自己的服務器。
本設計主要功能為路燈控制命令的下發和電參數的上傳。控制命令的下發由服務器執行。因此,需要硬件系統進行在線檢測保證硬件系統與服務器間良好通信,當通信中斷時需要及時報警,并啟動相應擁有通信中斷時的備用措施的應急方案。實驗測試通過下發時間控制命令,并存儲于E2ROM 內,保證通信中斷時硬件系統的正常工作。經實驗測試,系統能實現獨立兩路路燈的控制及電能參數的采集,并通過NB-IoT 傳輸在電信阿里云平臺采集得到上傳的一路路燈的電源和電流的實時數值顯示。
實驗測試MCU 對電能參數的采集以及通過NB-IoT 核心網絡推送至電信IoT 平臺,由IoT 服務平臺(阿里云服務器)接收來自電信IoT 平臺的消息推送,進行數據顯示及入庫等工作。
電信IoT 平臺與IoT 服務平臺的交互流程為:電信IoT 平臺收集終端數據,并推送數據到IoT 服務平臺,由IoT 服務平臺接收來自電信IoT 平臺的消息推送,通過WSS 將數據推送到網站前端、終端狀態查詢、異常處理、入庫保存工作,具體工作流程如圖19 所示。

圖19 IoT 服務平臺工作流程框圖
圖20 為電信IoT 平臺收集終端數據。圖21 為IoT 服務平臺接收電信IoT 平臺的數據推送并在前端進行顯示。

圖20 電信IoT 平臺收集終端數據

圖21 IoT 服務平臺接收數據并顯示
如表3 和表4 是采用優利德UT61E 作為標準表對一路路燈實時工作的測試數據和經過數據采集后通過NB-IoT 上傳到云平臺得到的電壓測量數據和電流測量數據值。

表3 電壓測量數據 單位:V

表4 電流測量數據 單位:mA
NB-IoT 具有更強的網絡覆蓋能力和鏈接能力。本系統采用STM32F103RCT6 輔以QS1212B 電能計量芯片,基于窄帶物聯(NB-IoT)BC95 模塊將數據傳輸至電信IoT 平臺的阿里云服務器,在云服務器中部署上位機程序,通過API 的調用將電信IoT 平臺的數據傳輸至數據庫。設計基于Tomcat 實現Web 端的功能,用戶可在Web 端查看數據,并可下發命令控制路燈開關運行狀態,實現了路燈系統的運行狀態監測、異常報警。通過較為完整地闡述本系統設計方法,可對采用電能智能采集監控以及窄帶物聯網遠程傳輸控制技術等提供相關的工程實際應用參考。