基于GSM网络电流信号监测系统设计研究
2012-07-05汪艳丽柏逢明
汪艳丽,柏逢明
(长春理工大学 电子信息工程学院,长春 130022)
随着现代工业的发展,对工业系统中各项指标的实时监测和故障的实时报警显得特别重要。现如今GSM网络飞速发展,GSM网络遍及各个角落,应工业领域对工业系统中各项指标的实时监测的要求,基于GSM网络的监测系统便应运而生了。本系统就是基于GSM网络,采用SIM900A模块和ATMEGA16单片机,以短信收发的方式实现了对工业系统中电路电流的实时监测和实时报警。
1 总体设计
基于GSM网络信号的监测系统主要由四个模块构成:电流处理模块,A/D转换模块,主控制模块以及SIM900A短信收发模块,系统结构如图1所示。其中,电流处理模块主要负责对被监测电路电流的处理,主要进行I/V转换;A/D转换模块主要负责对I/V转换后电压的量化处理;主控制模块主要负责控制A/D转换以及短信收发;SIM900A短信收发模块主要负责短信收发。基本原理是将监测的电流进行I/V转换,ATMEGA16单片机控制对转换的电压的模数转换,然后判断此电压的大小,如果大于或者小于系统的阈值,便控制SIM900A短信收发模块发短信到目标手机报警,工作人员便实时处理电路故障。在此期间,工作人员还可以根据需要发短信到SIM900A模块来监测当前的实时电流值,单片机便会控制SIM900A模块发送当前电流值到目标手机,进而实现对系统电流的实时监测和实时报警。
2 电流处理电路及收发系统
2.1 电流处理单元
电流处理电路使用斩波稳零放大器ICL7650作为前置放大器。电路如图2所示。
图1 信号监测系统结构框图Fig.1 Signal monitoring system block diagram
在图2中,电流由被监测电路引入到A1,进行I/V转换,转换得到的电压根据需要可调,可调范围0-5V。I/V转换得到的电压信号流入A2进行放大;为了得到稳定的电压值,需将输出的电压信号输入到A3进行跟随,增强后续电路的驱动能力,这样在Vout端输出的便是稳定的电压信号。电流处理电路器件参数见表1。电阻R1和R2为可调,其范围10~500KΩ。
图2 电流处理电路Fig.2 Current processing circuits
表1 电流处理电路参数Tab.1 Current processing circuit parameters
在I-V转换和放大电路中,由于输入寄生电容使相位滞后,电路变得容易振荡,为了防止振荡,提高系统的稳定性,必须使用超前相位补偿滞后的相位。相位常采用的方法是在反馈电阻上并联上相位补偿电容C1和C2。
其中,I-V转换电路的输出电压V1为:
电压放大电路输出电压V2为:
当增大反馈电阻R1时,会引起干扰振荡。集成放大器都有数PF~数十PF输入寄生电容,使得集成放大器的稳定性变差。由于放大器的输入寄生电容C,和反馈电阻R1构成了新的频率特性转折点和相位滞后而引起振荡,从导致系统的不稳定。转折点的频率 f:
信号采集部分采用高速高精度模数转换芯片TLC2543。
TLC2543是TI公司的12位串行模数转换器,使用开关电容逐次逼近技术完成A/D转换过程。由于是串行输入结构,能够节省单片机I/O资源。
2.2 GSM网络中短信收发单元
主控制芯片采用AVR单片机ATMEGA16。ATMEGA16可工作在外部4MHz-16MHz晶振频率下,本系统使用7.3728MHz。与传统的单片机相比,成本更低,性能更强。ATMEGA16最小系统如图3所示。
图3 ATMEGA16最小系统Fig.3 The ATMEGA16 minimum system
短信收发模块采用SIM900A模块,实现GSM网络电流信号故障信息实时传输,收发网络信号控制指令与代码,确保监测系统采集信号无故障传输。
SIM900A工作电压范围为3.4V-4.5V;工作频段为EGSM 900和DCS 1800,M900A可以自动的搜寻两个频段,也可以通过AT命令来设置频段;短消息(SMS)有MT,MO,CB,Text和PDU几种模式;串口支持标准的8线制串行接口,传输速率支持从1.2kbps到 115.2kbps可以通过串口发送AT命令和数据,支持RTS/CTS硬件流控,并且可以通过软件打开或者关闭流控功能,支持符合GSM 07.10协议的串口复用功能,支持从1200bps到 115200bps的自动波特率检查功能。
3 软件设计
软件设计部分主要包括以下几个模块:SIM900A驱动模块,串口驱动模块,A/D转换模块和主函数控制部分。程序流程如图4所示。
图4 程序流程图Fig.4 Program flow chart
在图4中,首先对单片机I/O口、串口,以及SIM900A进行模块初始化设置、系统信号循回扫描,按功能设定手动和自动两种监测方式。手动监测是工作人员发送短信息到短信模块,程序判断是否收到发送的信息,如果没有收到信息,则重新发送信息;如果收到则进行下一步发送当前电流值到目的手机。工作人员可以根据收到电流的大小判断当前系统的工作状况。自动监测是短信模块自动识别当前的电流值,程序判断电流是否正常,如果正常程序继续查询;如果不正常则发送警告信息到目的手机。工作人员收到信息后可以采取相应的措施。
其中,SIM900A驱动模块主要完成短信发送的格式,发送内容,目的号码的定义以及发送和接受短信函数的实现。
A/D转换模块主要完成将采集到的电压信号量化为二进制数,单片机将A/D转换来的数值处理成所需要的十进制数,送到手机供显示。
串口驱动模块主要负责传输数据,因为SIM900A与对外通信接口为标准 232协议,所以SIM900A与单片机通信的方式为串口通信,单片机通过串口发送指令给SIM900A,SIM900A收到指令后,回复相应的指令,完成一次握手。串口对SIM900A控制的一些主要指令代码:
在WindowsXP的环境下,通过串口调试助手可以观测到一次完整的通信过程如图5。
图5 串口通信过程Fig.5 Serial communication process
4 结束语
本文从工业领域的需求出发,根据现代工业报警的性能需要,设计了一套针对工业电路中电流变化的实时监测和实时报警的系统。通过本系统可实现对工业电流的监测,可以实时通过手机短信得到当前的实时电流值,而电流大于或小于阈值时,系统自动报警,并同时发短信到目的手机,工作人员可以及时采取措施,从而避免了不必要的故障和损失。
[1]杨素行.模拟电子技术基础教程[M].高等教育出版社,2006.
[2]高吉祥.数字系统与自动控制系统设计[M].电子工业出版社,2007.
[3]裘岚,张晓芸.C语言程序设计实用教程[M].电子工业出版社,2001.
[4]李鸿.用单片机控制手机收发短信息[Z].电子技术应用,2002.
[5]张宗达,李禹恒,李云超,等.基于ARM7 LPC2138的手机蓝牙考勤系统设计[J].长春理工大学学报:自然科学版,2011,34(4):145-148.