楊煥崢, 楊國華, 徐 玲
(1. 江蘇省無線傳感系統應用工程技術開發中心, 江蘇 無錫 214153;2. 無錫商業職業技術學院, 江蘇 無錫 214153)
基于Modbus協議和ARM的電能監控系統設計
楊煥崢1,2, 楊國華1,2, 徐 玲1,2
(1. 江蘇省無線傳感系統應用工程技術開發中心, 江蘇 無錫 214153;2. 無錫商業職業技術學院, 江蘇 無錫 214153)
傳統電能監控采用電力線載波通訊,存在低壓電力線上的干擾,配電變壓器對信號的阻隔,監控數據不易上傳云平臺等缺點,設計結合家庭、企業等WIFI熱點,采用無線的方式,實現小范圍的物聯網智能電能監控系統,系統包含電能采集、智能網關、云平臺三部分。多個級聯的電表采集到的各個電氣設備的電能參數,經由Modbus協議、RS-485通信方式傳輸給智能網關。智能網關采用STM32微處理器對電能數據處理并顯示, WIFI模塊將電能數據上傳至Internet網絡。電能數據可以在樂聯網云平臺上實時顯示,并由網頁界面對用電設備進行節電反向控制。
電能監控; 網關; 無線傳輸; 電力系統
響應國家建設智能型、節能型、環保型用電系統的倡議,該系統作為傳統利用電力線進行電能監測方式的補充,基于最新物聯網技術,通過無線模塊和樂聯網,可以實時觀察電能傳感器數據的變化情況,可用于企業、工廠、校園、宿舍等區域性的電能監控。
設計一種物聯網智能電能監控系統[1],通過級聯的多個單相智能導軌式小型電表DDS238-1ZN采集各個電氣設備的電能參數,包含電壓、電流、有功功率、無功功率、視在功率等,通過Modbus協議、RS-485通信方式傳輸給智能網關。智能網關部分由STM32F103 ARM電路、TFT LCD觸摸液晶屏和HLK-RM04 WIFI模塊等組成。一方面將Modbus協議傳輸過來的電能數據經MCU處理后送TFT LCD觸摸液晶屏顯示,另一方面將電能數據通過WIFI模塊經無線路由器上傳至Internet網絡,傳遞給樂聯網云服務器,客戶可以通過計算機遠程登錄樂聯網網站,查看用電設備電能實時數據變化,并且在樂聯網網站上,設有按鍵分別可以遠程控制用電設備關閉和開啟,實現節能控制。
該系統結合了WIFI無線技術,不同于ZigBee技術[2],具有以下優勢:① 依托物聯網,系統結構合理,數據CRC校驗,Modbus和TCP/IP傳輸,可靠、安全。② 使用智能單相導軌式小型電能表DDS238-1ZN進行電能采集,可以每路至少級聯32個設備以上,可靠性強,集成度高。③ 采用最新HLK RM04 WIFI模塊進行串口轉TCP/IP數據傳輸,方案新穎。④ 采用目前主流的云平臺進行數據存儲、處理,安全可靠,方便快捷,并能實現短信、微信、網頁等發布數據。
該系統分為電能采集、智能網關、云平臺三部分,如圖1所示。

圖1 智能電能監控系統結構圖
(1) 電能采集。使用智能單相導軌式小型電能表DDS238-1ZN進行電能采集,通過RS-485接口傳輸電能數據給智能網關,通過Modbus規約與智能網關通信,CRC差錯校驗[3-4]。
(2) 智能網關。使用STM32F103RCT6 ARM微處理器芯片,采用TFT LCD顯示模塊,實現液晶顯示與觸摸操控,采用HLK-RM04 WIFI模塊進行TCP/IP數據傳輸。通過STM32F103的串口將電能數據發給相連WIFI模塊,經Internet網絡上傳到樂聯網云平臺。
(3) 云平臺。數據上傳樂聯網時,智能網關為客戶端,與樂聯網服務器建立TCP/IP鏈接,調用樂聯網API,推送JSON數據到樂聯網服務器,樂聯網反向控制采用長鏈接的通信機制[5-6]。
可以將RS-485-232轉換器的T+/B與DDS238型單相導軌式電子式電能表的5腳相連,將RS-485-232的T-/A與DDS238型單相電能表的6腳相連、DDS238型單相電能表的1腳接火線,DDS238型單相電能表的4腳接零線,用Z-TEK USB轉串口線將RS-485-232轉換器與電腦相連。打開測試軟件,選擇相對應的端口和波特率,分別進行讀地址、讀電壓、讀電流等選項的測試,發送指令看能否讀取到數據,以此測試電能表。
ModBus網絡用于工業系統的通信,該網絡可以支持247個以內的從節點控制器。該系統中的智能電表和STM32開發板之間就是通過ModBus通信協議進行數據交互的。STM32發送8 B指令碼給智能電表,格式如下:地址0x03、0x00、0x00、0x00、0x02、低位CRC、高位CRC。地址指電表被設置的地址,取值1-247;功能碼0x03,指使用該功能碼讀數據;0x00 0x00為數據寄存器地址;0x00 0x02為數據量,讀取兩個16位數;CRC為2 B的校驗碼,先低位再高位。智能電表發送電能數據給STM32(共9 B):地址 0x03 0x04 XX XX 低位CRC 高位CRC。數據量0x04,指數據發送的字節數;XX XX指4 B浮點數數據。讀電壓220 V過程為,STM32發指令01 03 00 0c 00 01 44 09給電表;STM32從電表接收01 03 02 56 ef c6 68數據。如果讀出電能表的電壓值為56EFH(22255),則實際值為222.55V,固定保留2位小數,電流等參數類似。
該部分主要采用STM32F103RCT6 ARM芯片作為核心處理器,最高72 MHz工作頻率,并與電源、晶振、復位等構成最小系統[7-8],如圖2所示。連接RS-485電路,接收電能傳感器Modbus協議傳輸過來的數據,連接TFT LCD模塊,實現電能數據的顯示,連接HLK-RM04 WIFI模塊,實現電能數據的TCP/IP Internet傳輸。連接GSM/GPRS模塊,實現對異常數據進行發送短信告警處理[9]。

圖2 ARM STM32F103RCT6的最小系統原理圖
RS-485連接組網形式采用一主多從。主站負責發起通信,從站接收數據,開始通信。RS-485是一種差分方式傳送數據,也就是說以電壓差來表示和傳送1、0。RS-485最高10 Mb/s的數據傳輸速率,有較好的抗噪聲干擾能力,能達到幾百米的通信距離,能支持最多32個節點數。數據格式共采用10位, 無起始位,8位數據位,1位停止位,先傳輸低位,再傳輸高位。
設置HLK-RM04模塊TCP/IP通信各選項參數,使用配置軟件通過配置項將模塊配置為所需要的功能,網絡協議選擇:TCP客戶端,遠端IP:42.121.128.216,端口:9960,串口轉WIFI:無線網卡模式,無線參數:輸入路由器的網絡名稱、密碼。串口參數:9600Baud速率,8位數據位,沒有檢驗位,1位停止位,啟用DHCP。STM32F103RCT6 ARM將電能數據通過串口發送給HLK WIFI模塊,上傳Internet網絡,串口選擇RS-232。
采用7.11 cm(2.8 in)的TFT LCD觸摸液晶彩屏模塊對多路電能多參數數據進行顯示[10]。另外,當ARM處理器檢測到傳感器采集的電能數據異常時,可以通過SIM900 GPRS模塊向遠程用戶手機發送告警短信。
采用樂為物聯(lewei50服務器)作為云平臺,研究了智能網關與云平臺JSON數據交互的過程。
(1) 智能網關正向發送數據到云平臺步驟及JSON數據格式如下:連接樂聯網,{"method":"update","gatewayNo":"01","userkey":"9d71078ba5014903884cd9221ce27dca"}&^!其中,"01"代表樂聯網網站添加的設備標識,"9d71078ba5014903884cd9221ce27dca"代表用戶秘鑰,申請樂聯網賬號時產生。給樂聯網發數據,{"method":"upload","data":[{"Name":"1","Value":"220.2"}]}&^!其中,"1"代表傳感器參數,"Value"代表值。
(2) 樂聯網反向控制智能網關步驟及JSON數據格式如下:連接樂聯網,{"method":"update","gatewayNo":"01","userkey":"9d71078ba5014903884cd9221ce27dca"}&^!樂聯網網站中,在智能物聯的執行命令管理中添加用電設備開啟/關閉控制命令,點擊執行開啟/關閉命令;智能網關接收到樂聯網反向JSON控制指令,{"method":"send","gatewayNo":"01","userkey":"9d71078ba5014903884cd9221ce27dca","f":"getAllSensors"}&^!其中,"f"代表樂聯網控制命令管理中用電設備關閉參數"off"。發送接收成功指令給樂聯網,使得樂聯網網頁能彈出執行成功提示。{"method":"response","result":{"successful":true,"message":"Write serial successful 0"}}&^!
編寫了智能網關ARM數據處理、傳輸、控制與顯示部分的程序,主程序流程圖如圖3所示。采用C語言作為軟件系統的編程語言,使用keil uVision4作為ARM的開發環境。主程序流程主要包括STM32系統初始化、向地址01電能表發送讀電能參數指令、接收地址01電能表反饋電能參數數據幀、數據處理、送液晶屏顯示、發送連接樂聯網服務器指令、數據經串口送WIFI模塊、接收樂聯網反控數據幀、判斷是關閉還是開啟指令、電氣設備1通斷控制,向地址02電能表發送讀電能參數指令等,如圖3所示。

圖3 智能網關主程序流程圖
編寫了主程序流程圖中各部分的C程序,例如STM32F103RCT6讀電能表參數的子程序如下:
void Read_Mvalue(const uint16_t mAddr,const uint8_t mCnt)
{
uint16_t crc_check;
//按Modbus協議數據格式發送代碼值
arry[1] = 0x03;
arry[2] = mAddr/256;
arry[3] = mAddr%256;
arry[4] = mCnt/256;
arry[5] = mCnt%256;
crc_check = getCRC16(arry,6);
arry[6] = crc_check/256;
arry[7] = crc_check%256;
Send_NByte(arry,8);
delay_ms(1);
USART_ITConfig(USART1,USART_IT_TC,ENABLE);
}
例如通過HLK-RM04 WIFI串口向樂聯網發參數的C語句如下:
if(arry[0]==0x01)
{
jieguo1=(float)(Meter_MSG.Vol[0]*256+Meter_MSG.Vol[1])/10;
sprintf(string1,"{”method”:”update”,”gatewayNo”:
”01”,”userkey”:
”9d71078ba5014903884cd9221ce27dca”}&^!
{”method”:”upload”,”data”:[{”Name”:”1”,
”Value”:”%f”}]}&^!",jieguo1);
USART5_Printf(string1);
jieguo2=(float)(Meter_MSG.Cur[0]*256+Meter_MSG.Cur[1])/100;
sprintf(string2,"{”method”:”update”,”gatewayNo”:
”01”,”userkey”:
”9d71078ba5014903884cd9221ce27dca”}&^!
{”method”:”upload”,”data”:[{”Name”:
”2”,”Value”:”%f”}]}&^!",jieguo2);
USART5_Printf(string2);
}
研制的智能網關實物如圖4所示,電能數據上傳樂聯網云平臺如圖5所示。

圖4 自制智能網關實物圖

圖5 上傳樂聯網云平臺的電能信息
(1) 電能采集。使用智能單相導軌式小型電能表DDS238-1ZN進行電能采集,通過RS-485接口傳輸電能數據給智能網關,提高系統集成度,通過Modbus規約與智能網關通信,CRC校驗。
(2) 智能網關。ARM處理器采用STM32F103 ARM芯片,采用μC/OS-II操作系統,UCGUI圖形支持系統,連接TFT LCD模塊,實現液晶顯示與觸摸操控[11-12]。采用HLK-RM04 WIFI模塊進行TCP/IP數據傳輸。
(3) 云平臺。樂聯網數據上傳過程,網關設備為客戶端,與樂聯網服務器建立TCP/IP鏈接,調用樂聯網API,推送JSON數據到樂聯網服務器,樂聯網反向控制采用長鏈接的通信機制。主要技術指標:電能測量的精度等級為有功1級,額定電壓AC 220 V,頻率50/60 Hz,功耗≤1 W/10 VA。WIFI通信的頻率范圍2.4~2.483 5 GHz,傳輸速率11~150 Mb/s,傳輸距離室內最遠100 m,室外最遠360 m(因環境而異)。
與傳統電能監控采用電力線載波通訊存在的低壓電力線上的干擾,配電變壓器對信號的阻隔,監控數據不易上傳云平臺等缺點比較[13-14],系統結合家庭、企業等WIFI熱點,采用無線的方式,在小范圍的電能監控實施方面有所創新,功能強大,性能穩定,結構簡單,操作方便,成本優勢明顯。可以預見,該創新產品具有較好的市場前景。
本文給出一種節能遠程監測與控制的思路并付諸于實現,不局限于企業、校園用電設備控制,可以推廣為家庭、工業電器設備的電能遠程監測與控制,改變傳感器還可實現其它遠程監控應用,可以節約使用人員時間,提高工作效率[15]。通過樂聯網的方向控制,可以通過一些現有的平臺,控制負載的變化(在條件允許的情況下,可以使用網頁、短息、微信等常用的通信手段進行反向控制)。
[1] 黃小慶,張軍永,朱玉生,等.基于物聯網的輸變電設備監控體系研究[J]. 電力系統保護與控制,2013,41(9):137-141.
[2] 黎步銀,張 杰.基于ZigBee 的智能電網高級量測體系數據采集系統[J].儀表技術與傳感器,2015(10):61-63.
[3] 范學佳,趙 斌,衣淑娟,等.基于Modbus的寒地水稻育秧環境智能監控系統[J].農機化研究,2016(2):201-204.
[4] 任玉茂.基于Modbus協議的電力儀表監控系統[D].杭州:杭州電子科技大學,2013.
[5] 楊煥崢,歐陽喬,楊國華,等.基于STM32的樂聯網的電能監測系統的設計[J].計算機測量與控制,2014,22(8):2353-2355.
[6] 楊煥崢,楊國華,歐陽喬,等.網絡電量表和反向節電控制系統的研究[J].自動化儀表,2015,36(3):53-55.
[7] 陳 凱,魏文博,鄧 明.嵌入式系統教學實驗板開發[J].實驗技術與管理,2016,33(1):82-85,95.
[8] 鄢秋榮,王玉皞,王艷慶,等.面向軟硬件協同設計的嵌入式系統教學改革與實踐[J].實驗室研究與探索,2016,35(6):190-193.
[9] 龔鋼軍,孫 毅,蔡明明,等.面向智能電網的物聯網架構與應用方案研究[J].電力系統保護與控制, 2011, 39(20):52-58.
[10] 黨 會.積木式模塊化結構的嵌入式系統實驗教學研究[J].實驗科學與技術,2016,14(1):158-163.
[11] 陳宜建.自主研制實訓設備在教學中的應用[J].實驗技術與管理,2016,33(10): 220-222.
[12] 梁 偉,徐建波,唐明董,等.教育部-英特爾嵌入式課程大學合作計劃項目[J].實驗室研究與探索,2015,34(8):162-165.
[13] 呂 穎, 孫樹明, 汪寧渤, 等. 大型風電基地連鎖故障在線預警系統研究與開發[J]. 電力系統保護與控制,2014, 42(11): 142-147.
[14] 張 躍, 楊汾艷, 曾 杰, 等. 主動配電網的分布式電源優化規劃方案研究[J]. 電力系統保護與控制, 2015,43(15): 67-72.
DesignofIntelligentPowerMonitoringSystemBasedonModbusProtocolandARM
YANGHuanzheng1,2,YANGGuohua1,2,XULing1,2
(1. Jiangsu Research and Development Center of Application Technology for Wireless Sensing System,Wuxi 214153, Jiangsu, China; 2. Wuxi Institute of Commerce,Wuxi 214153, Jiangsu, China)
Traditional power monitoring adopts a power-line carrier communication and its shortcomings include interferences from the low-voltage power line, blockage of the distribution transformer on the signal, and difficulty in uploading monitoring data to the cloud platform. This design integrates family and enterprise class WIFI hotspots and wirelessly realizes the innovation in small-scale power monitoring. Intelligent power monitoring system contains three parts of electric energy collection, intelligent gateway and cloud platform. Through multiple cascaded electric energy meters, the power parameter of the electrical equipment has been collected, is transmitted to intelligent gateway via Modbus protocol and RS-485 communication mode. By utilizing STM32 microprocessor, intelligent gateway processes and displays electric data, upload the data via WIFI module to Internet. Electric data can be displayed real-time on the cloud platform of LEWEI50. In addition, the data can conduct power saving reverse control of electric equipment by means of web interface.
electric energy monitoring; gateway; wireless transmission; electric power system

TM 933.4
A
1006-7167(2017)11-0072-05
2017-03-22
2016年度江蘇省高校自然科學研究面上項目(16KJB120007); 無錫商業職業技術學院校級課題(SYKJ16D17)
楊煥崢(1980-),男,江蘇無錫人,碩士,講師,主要從事電能監控的嵌入式系統工程等方向的研究。
E-mail:yanghuanzheng@wxic.edu.cn