杨焕峥, 杨国华, 徐 玲
(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