基于以太网的设备电源远程控制系统设计

2015-08-19 14:09穆莉莉薛程光
关键词:以太网

穆莉莉++薛程光

摘 要:为使工业现场设备电源实现网络控制,设计了一款基于STM32的网络电源控制系统,给出了系统软硬件设计方案。系统采用主控制器STM32F103及以太网控制器ENC28J60进行网络互联,采用μIP协议栈进行网络数据通信。进行了网络电源控制测试实验,结果表明可通过以太网对设备电源进行远程控制,并可接收工业现场实时信息数据。与传统电源控制系统相比,本系统具有智能化、集成化、远程化的特点。

关键词:STM32F103;ENC28J60;以太网;μIP

中图分类号:TP27 文献标志码:A 文章编号:1672-1098(2015)02-0048-05

Equipment Power Remote Control System Design Based on the Ethernet

MU Li-li, XUE Cheng-guang

(School of Mechanical Engineering, Anhui University of Science and Technology, Huainan Anhui 232001, China)

Abstract:For the implementation of industrial site equipment power network control, a network power control system was designed based on MCU STM32. Software and hardware design scheme of the system was given. The system used the main controller of STM32F103 and the Ethernet controller of ENC28J60 to connect network, which was used for network data communication by μIP protocol stack. Network power control test experiment was carried out, and the result showed that it can control the equipment power remotely, and can receive real-time information data of the industrial field through Ethernet. Compared with the traditional power control system, the system has the characteristics of intelligence, integration and remote control.

Key words:STM32F103; ENC28J60; Ethernet; μIP

网络化控制己成为远程控制的主要研究方向,利用网络实现对局域乃至全球范围内设备的监控是工业控制系统的发展趋势。嵌入式Internet远程监控技术作为网络化控制的代表,它解决了工业控制领域中异构网络互联问题,提高了传统装备的智能化水平,促进了传统产业结构的调整[1]。

目前,一些工业设备安装在距离远,维修人员不易到达的场所,这些设备大多为工控机系统,由于温度和湿度的变化,或软件的原因易出现死机的现象。为确保生产,降低设备故障时间,电源远程控制系统的研制迫在眉睫。

基于此,提出了一种基于嵌入式Internet远程监控技术的电源控制系统,嵌入式终端将现场温度、湿度、电源工作状态等信息发布到网上,监控人员通过网络页面,就可实时了解监控工业设备现场的环境参数的变化,并对设备进行远程控制。1 网络电源控制系统原理及硬件设计

11 工作原理

系统以STM32为控制核心,主要分为五大模块,分别是中央控制器模块,电源转化模块,继电器控制模块,网络模块,LED显示模块(见图1)。

图1 网络电源控制系统结构图

中央控制器模块是整个系统的大脑和灵魂,它控制整个系统程序的执行,数据的采集、发送、接收等等。电源转化模块是将220 V交流电转化成5 V直流电给中央控制器模块以及继电器模块供电,它是整个系统的供电端。继电器模块是通过STM32输出的高低电平来控制继电器,从而实现电源开关的通断。网络模块是用来实现数据通过以太网进行传输。

计算机安装有配套的网络电源控制软件,其相应的电源开关控制界面上的虚拟按键,一经触发便通过网络模块下发对应的指令(例如关闭某个电源),主控芯片收到指令后对其进行解析处理,向继电器模块输出对应的电平信号,通过继电器控制开关电源的通断。同时单片机采集的相关环境参数(比如温度)可以通过以太网传输实时显示在网络电源控制软件上,便于用户进行直观的判断。

12 硬件平台设计

网络电源控制系统的所涉及到的硬件部分主要包括带有主控芯片STM32F103的中央控制模块,电源转化模块,继电器控制模块,网络模块等。

1) 中央控制模块。中央控制模块外设系统如图2所示,外设有:用于程序调试标准的20针JTAG接口;采用SP232EEN电平转换芯片实现电平转换RS232串口;选择24C02的EEPROM芯片;用于环境数据的采集温、湿度传感器DHT11;用于接入局域网的以太网接口;保证系统的稳定运行看门狗SP706RE。

图2 中央控制模块外设系统框图

主控芯片STM32F103RBT6选择的是由ST公司生产的基于Cortex-M3内核的ARM处理器,最高主频达到72 MHz,拥有128 K的FLASH,20KSRAM,两个串行外设接口(SPI),三个串口,一个USB,一个CAN,两个十二位的模数转换(ADC),两个通用同步异步收发器(USART),51个可用的IO引脚等等,总之是外设种类齐全,功能十分强大,性价比很高的主控芯片[2]。endprint

2) 网络模块。系统网络模块采用的网络芯片是ENC28J60以太网控制器,单芯片即可实现以太网接入。它是带有行业标准串行外设接口(Serial Peripheral Interface,SPI)的独立以太网控制器。它可作为任何配备有SPI的控制器的以太网接口。ENC28J60符合IEEE 8023的全部规范,采用了一系列包过滤机制以对传入数据包进行严格限制。它还提供了一个内部DMA模块,以实现数据的快速吞吐和硬件支持的IP校验和计算。与主控器的通信通过两个中断引脚和SPI实现,数据传输速率高达10 Mb/s。两个专用的引脚用于连接LED,进行网络活动状态指示。

以太网网络模块原理如图3所示,该模块通过八个引脚和外部电路相连接,这八个引脚分别是:GND、RST、MISO、SCK、MOSI、INT、CS、VCC33。MISO/SCK/MOSI用于SPI通信,其中MISO是主设备数据输入从设备数据输出,MOSI 是主设备数据输出从设备数据输入,SCK是时钟信号由主设备产生。GND和 V33用于给模块供电,CS是片选信号,INT是中断输出引脚,RST为模块复位信号。

图3 ENC28J60网络模块原理图

其中RST、MISO、SCK、MOSI、CS分别与STM32的PA12、PA6、PA5、PA7、PA11连接。

3) 电源转化模块。该模块要求220 V交流电转化成5 V直流电,目的是给主控模块和继电器控制模块供电(见图4)。将220 V交流电通过整流桥HD06,将电平在零点上下浮动的交流电转化成单向的直流电,再通过开关管TNY264,利用开关的导通和关断,将该电压截成矩形波,这样做的意义就是把高能量切割成无数个低能量,传递到输出端去,输出端会通过输出电压高低,对输入端进行反馈,达到稳定输出电压的目的,然后经过变压器得到7V的电压。变压器右端为整流滤波电路,它们分别由二极管,滤波电容,滤波电感等构成。7 V电压经过三端稳压集成转化成5 V电压给单片机供电。

图4 7V电压转化原理图2 软件设计

21 网络协议选择

网络电源控制系统重点是要实现网络通信,利用网络实现数据的接收和发送,通俗的说就是通过网络收发命令和文件。在网络中要实现数据有条不紊地交换,就必须遵守一些事先约定好的规则。这些规则明确规定了所交换数据的格式以及有关的同步问题。这些为进行网络中的数据交换而建立的规则、标准或约定称为网络协议。

该系统采用的网络协议是μIP协议栈。μIP协议栈提供一系列接口函数供于系统使用。uip_input( )和uip_periodic( )两个函数供系统底层使用。其中uip_input( )函数根据输入包首部的协议处理这个输入包和需要时调用应用程序,当uip_input( )返回时,一个输出包放在全局缓冲区uip_buf中,大小赋给uip_len,如果uip_len为0,则说明没有包要发送,否则调用底层系统的发包函数将包发到网络上。uip_periodic( )在周期运行时调用,每秒一次,返回时,输出的IP包要放到uip_buf中,供底层系统查询uip_len的大小发送。UIP_APPCALL()函数将用户的应用层入口程序作为接口提供给μIP协议栈,μIP在接收到底层传来的数据包后,在需要送到上层应用程序处理的地方调用UIP_APPCALL()。

使用μIP遵循如下步骤:第一步实现回调函数UIP_APPCALL();第二步初始化网卡ENC28J60;第三步初始化μIP协议栈;第四步设置IP地址,网关及掩码:第五步设置监听端口;第六步处理μIP事件。其中μIP是通过uip_polling函数轮询处理μIP事件,在主循环里面隔一段时间调用一次[3]。

22 信号控制流程和实现

μIP将网页数据存放在data-index-html里,浏览器提取出URL中的主机后,向DNS发出请求,解析主机名的IP地址,DNS将解析地址返回给浏览器,浏览器根据该地址请求建立TCP连接,浏览器发出请求报文,服务器向浏览器发送响应报文,并将指定数据发送给浏览器。

当连接开始时,客户端发送GET方法请求给服务器,以访问服务器网页,GET方法用来向服务器传输少量数据并且为透明数据,相比于大数据传输的POST方法对于该系统已足够使用。若信息有误,服务器返回以状态码401为起始行的响应消息。

由于数据处在不停的变化之中,为使网页的相关数据能够及时地更新,网页程序初始化时,要显示的数据如温度时间数据都使用字符串标记暂时表示,在每次发送响应消息到端口前,再将网页中定义字符串标记用当前设备的实际值替换。

对于继电器的控制是根据不同的页面请求来实现的,采用的是GET的方法,将请求参数放到URL里,继电器1的控制参数设为1,继电器2控制参数设为2,以此类推。STM32从URL获得控制参数来控制继电器的吸合,例如点击网页上控制继电器1的按钮,μIP从URL获得GET控制参数1,控制继电器1的吸合,然后修改网页数据的部分内容即继电器1的状态,发送浏览器,显示新网页界面。

温度和RTC时间的更新通过刷新来实现的,因为根据HTTP协议规定,如果客户端没有发出请求,则服务器是不会自动发送页面的,所以通过浏览器的刷新请求可以更新温度和时间。页面刷新采用自动刷新即在网页程序中加入标记,使浏览器自动进行周期性地刷新页面,从而保证用户及时地获得工控现场的数据信息,每隔十秒刷新一次,自动刷新控制代码写在网页源码中。

该系统主控制流程如图5所示,先初始化STM32、网卡和μIP等,然后设置IP地址(192,168,1,160)及监听端口(1 200端口用于TCP Server,80端口,用于Web Server),判断是否与网络端口联络成功,如果联络成功,则向网页服务器发送初始页面消息,如果没有连接成功,则IP指示灯闪烁,提示没有链接上。然后控制LED模块显示时间以及各灯的状态。开始uip轮询函数,判断有没有事件产生,接受网口信息,判断数据包类型,针对不同的包进行不同的处理方式,这里主要处理IP包,实现数据处理。如果数据包内容为继电器复位,则下位机控制继电器断开,延时01s,然后继电器闭合,事件处理结束后继续接受网口信息,实现循环[4]。

3 测试结果

利用硬件实现了μIP协议的网络芯片ENC28J60及具有Cotex-M3内核的STM32处理器构成嵌入式客户端的方案,进行了设备电源网络控制测试。通过网络,用户在浏览器端可及时收到远程现场传感器采集的数据,远程现场的电源状态可实现实时监测和控制。浏览器网页界面如图6所示。

图5 主程序流程图

图6 网页界面4 结束语

网络电源控制系统采用STM32为核心芯片,通过网络模块(ENC28J60)与计算机连接并通信,实时地监控开关电源,实现了现场与网络的混合控制。该系统的优点主要包括以下几点:

1) 可以通过以太网,进行网络传输,网络监控,实现了远程化,异地化;

2) 可以采用大容量的存储器实现大容量数据的采集并处理;

3) 该系统体积小,成本低,便于安装和使用;

4) 通过部分电路的改装,和上位机软件预留的监控电源,可以实现监控电源的添加。

参考文献:

[1] 王铁流,高嵩,袁海英,等. 基Cortex-M3内核处理器的嵌入式Web服务器设计[J].电子产品世界,2009,16(3):41-43.

[2] 廖义奎.Cortex-M3之STM32嵌入式系统设计 [M].北京:中国电力出版社,2012:14.

[3] 汪三清.基于STM32的嵌入式网络协议UIP的移植与分析[D].武汉:武汉理工大学,2011:34-47.

[4] 崔小玲,侯思祖,张旋.基于STM32智能终端的设计与实现[J].电力系统通信,2012,33(235):76-79.endprint

猜你喜欢
以太网
NWCS' 23新一代车载以太网传输技术研讨会成功召开
基于1500以太网养猪场的智能饲喂控制系统的设计与实现
三大因素驱动创新提速以太网快步迈入“灵活”时代
三大因素驱动创新提速 以太网快步迈入“灵活”时代
谈实时以太网EtherCAT技术在变电站自动化中的应用
基于以太网传输的高速32通道数据采集系统
一种90W高功率以太网供电系统的设计
基于SOPC的工业嵌入式以太网接口设计
浅谈EPON与工业以太网在贵遵高速公路中的应用
万兆以太网在连徐高速公路通信系统改造中的应用