基于Mega128和Wifi的电气设备无线监控系统

2020-05-08 08:11张鹏远
好日子(下旬) 2020年1期
关键词:断电单片机监控

张鹏远

1 概述

随着我国经济实力增长,科学技术的进步,越来越多的智能化、自动化设备走进我们的生活,为我们服务;走进企业工厂,为企业节省人力,提高产能,创造更大的效益。这些设备平时并不需要时刻有人操作,但是一旦这些设备出现异常,必然会对我们的生活带来不便,为企业的利益带来损失。为此,我们设计了这套基于单片机采集和Wifi传输的电气设备无线监控系统,用于对这些设备的工作状态进行实时监测,并且当监测到设备出现异常状态时,可控制继电器使设备断电,以避免造成不必要的损失。

本文介绍了自主开发的基于Mega系列单片机系统和Wifi传输的无线监控系统的设计方案。该方案采用Mega128单片机搭建设备的现场监控模块,通过Wifi模块实现单片机和Internet服务器之间的通信。本文对系统的整体结构、硬件结构、软件结构的设计做了介绍。通过实验测试,结果表明,本设计方案具有很好的准确性和可靠性。

2 系统总体设计

本监控系统由单片机监控模块、Wifi传输模块、监测网站三部分组成。监控系统的整体结构。

该系统以Mega128单片机和Wifi模块为基础,所完成的主要功能是实现设备工作状态的远程监测。单片机监控模块可以检测到设备的运行、关闭、异常等状态,并记录各状态发生改变的时刻。检测到的设备状态信息以及相应的设备编号将通过Wifi模块实时传送到Internet数据库并在监测网站的网页上显示。为防止服务器断电异常无法接受数据而导致数据丢失,本设计添加了EEPROM用于存储单片机采集到的信息,以便服务器断电恢复后调取。此外,本设计还添加了硬件报警设计和监测网站网络报警设计。一旦设备出现异常状态,单片机监控模块将在设备现场发出警报,并控制继电器使设备断电,同时监测网站的web网页界面上设置的报警提示也将发出警报,提示工作人员及时发现异常设备并采取措施从而减少经济损失。使多个监控模块的单片机都工作在多机通信模式,配合多个Wifi模块,可以实现对多个电气设备使用情况的监控。

3 系统硬件设计

系统硬件由Mega128单片机芯片、电流互感器、Ds1302时间芯片、24C512 EEPROM、Wifi模块组成。系统的硬件结构。

Mega128是一款高性能、高配置、低功耗的8位微处理器,此微处理器工作在16MHz时性能高达16MIPS,而且大部分指令都能在一个时钟周期之内完成[1]。工作的电压从2.7v~5.5v,可以和Wifi模块共同使用5v的电源供电。同时,其自带10位ADC(模数转换接口),以便对采集到的数据进行模数转换[2]。Mega128的特点足以为系统提供可靠的性能。

出于简化设计和降低成本的考虑,为将设备的运行、关闭、异常等状态转换成单片机能够采集的状态量,本设计选用了电流互感器,采集设备的电流信号。由于设备在运行、关闭、异常等不同状态时,其工作电流是不同的,所以可先用电流互感器检测出设备的工作电流,然后将其转换成电压信号,再经放大整流后得到平稳的直流电压信号,通过Mega128单片机上自带的10位ADC(模数转换接口)对得到的直流电压信号进行采集并转换为数字信号存储到单片机上,通过对单片机的编程对不同的状态设定相应的阈值便可实现状态量的采集。

Mega128检测到状态量的变化后,需要读取的时间信息来自时间芯片Ds1302。Ds1302是一种带RAM的低功耗的实时时钟电路,可以对年、月、日、时、分、秒进行计时[3]。配备后备电源后,即便主电源关闭,Ds1302也能够保证持续地记录时间。为保证数据不会丢失,故将Mega128检测到的状态信息及时间信息存入到EEPROM中,EEPROM选择ATMEL公司的24C512芯片,它内部有64k字节的存储,分为512页,地址范围为0000~ffffH[4]。

Wifi模块选用的是海凌科电子推出的低成本嵌入式UART-ETH-WIFI(串口-以太网-无线网)模块HLK-RM04。该模块是基于通用串行接口的符合網络标准的嵌入式模块,内置TCP/IP协议栈,能够实现用户串口、以太网、无线网(WIFI)3个接口之间的转换。

4 系统软件设计

本监控系统的软件部分包括设备现场监控模块软件、Wifi模块配置和监测网站的设计。其中Wifi模块无需编程只需对Wifi模块进行初始化并配置成客户端模式,设置远程服务器IP、端口号,与Internet服务器连接。Wifi模块的配置。

4.1 单片机监控模块程序设计

首先是单片机对设备工作状态的状态量的提取。Mega128单片机上自带的10位ADC(模数转换接口)对通过硬件电路处理过的直流电压信号进行采集并将其转换为数字信号存储到单片机上,由于设备工作状态的不同,其工作电流将不同,采集到的电压信号也将不同,所以最终存储到单片机上的数字信号也不同,只要测出采集到的不同工作状态对应的电压范围便可设定阈值,单片机通过这几个阈值对设备的工作状态进行判定,当设备的工作状态发生变化时DS1302记录其时间,此时将工作状态的判定结果和记录的时间发送至Internet服务器,同时将其存储到EEPROM中。若服务器出现异常断电,期间其将无法接收数据,待其恢复后可通过单片机调取EEPROM中存储的断电期间的数据。此外,当检测到设备出现异常状态时,单片机需对警报器发出信号令其报警。单片机监控模块程序流程。

单片机检测到状态量信号发生变化后,便开始了一次“记录”时间的过程。首先单片机通过SPI总线的形式将当下Ds1302中记录的时间读取出来,包括年、月、日、星期、时、分、秒,这些信息都寄存在Ds1302内部相关的寄存器中。单片机与Ds1302传输数据之前要先写入相应的控制字——读取或者写入,读写的地址。不仅如此,单片机每次与Ds1302通信都要经过严格的“握手程序”。Mega128读取Ds1302中的时间数据,只需要按照相应的通信原则读取其内部的相应地址的寄存器即可。与之类似,Mega128对24C512进行读取或者写入数据操作时也需要先写入相应的控制字,读写其内部的相应地址空间所存储的数据,并且同样在每次通信的过程中进行严格的“握手程序”。

如果监测网站要调取历史记录时,当Mega128接受到监测网站通过Wifi模块传来的指令,如设备编号、所要读取信息的日期,Mega128现根据接收到的设备编号确定是否与本机号相符。如果编号符合,则根据所要读取信息的日期查询符合条件的数据并读取出来,然后将数据依次通过串口发送出去。

4.2 监测网站的设计

监测网站发送和接收数据是通过SOCKET套接字与Wifi模块进行传输的。监测网站主要由网站监测前台,Windows服务程序和数据库三部分组成。

网站监测前台使用ASP开发平台采用C#语言编写的B/S模式的网站,它主要通过SQL语句实现对数据的访问。Windows服务程序是ASP开发平台编写的C/S模式的软件,它通过SOCKET套接字来接收现场Wifi设备传来的现场设备的信息,并使用SQL语句存入数据库中[5]。这里采用SQL server2012数据库,数据库把从Wifi接收来的分类数据储存起来,使前台网站能够时时访问到更新的数据。

(作者单位:河北科技学院)

猜你喜欢
断电单片机监控
用完洗衣机及时断电
通信电源监控系统在电力通信中的应用
最怕孩子突然断电那一刻
免费充电
GPS/DR/GIS技术在基于GSM—R列车监控系统中应用
外婆家的太阳能热水器
侦察兵
C8051F020与80C51单片机的异同点
1-Wire在家庭监控网络中的应用
单片机I/O口模拟串行通讯的C51实现方法