基于Atmega128和SIM900A的智能停电报警器

2014-10-31 12:51张继飞
求知导刊 2014年9期

张继飞

摘 要:一种基于GPRS[1](General Packet Radio Service,通用分组无线业务)和ATMEL128L单片机的智能停电报警器,通过SIM900A模块建立与用户手机的远程短信电话连接,实现对水产养殖场供电情况的监控。该报警器在一些对持续供电要求较高的场所有很重要的应用价值。

关键词:GPRS;SIM900A;停电报警器;水产养殖场;AVR单片机

在众多的无线通信方式中,GPRS远程通信因为不受地理限制,加之其方便、高效、快捷、费用低廉等特点,而广泛应用于场地分散、户外的公司和企业中。在这些场所,通过GPRS无线通信模块,可以随时随地接收现场的终端设备状态,便于及时掌控现场数据并进行远程控制。水产养殖场由于其特殊性,不能停电,一旦停电造成的损失几乎不可挽回。为此,本系统采用先进的微处理器芯片,结合GSM无线传输技术,实现对水产养殖场供电电源远距离监控,随时进行管理和操作,提高了水产养殖场的科学管理水平。

一、整机系统组成

整机系统采用模块化设计,由AVR单片机微处理器、实时时钟模块、电源模块、锂电池充电模块、SIM900A通信模块、温湿度采集模块、外接报警器和继电器模块组成,其中温湿度采集模块、外接报警器和继电器模块可根据具体的情况来选择相应的模块使用。

首先在SIM900A模块安装手机卡,拨动电源开关后约20秒,网络指示灯每3秒闪烁一次,说明已注册到手机网络中,此时报警器与用户手机建立连接,即可通信。如果停电,报警器会通过SIM900A通信模块给用户手机或设定的手机客户发送停电报警的短信,同时给用户手机拨打电话,防止客户忽略停电报警信息。客户也可以通过给报警器拨打电话来主动获取报警器的信息。整机系统框图如图1所示。

二、系统硬件电路设计

1.微处理器

本设计选用的是ATMEL公司生产的微处理ATmega128[2]。它是一款基于AVR RISC结构的8位高性能、低功耗的CMOS微处理器。由于其先进的指令集以及单周期指令执行时间,Atmega128的数据吞吐率,高达1MIPS/MHz,从而可以减缓系统在功耗和处理速度之间的矛盾。包括6路分辨率可编程(1到16位)的PWM,8路10位ADC。

2.无线通信模块[3]

本设计的无线通信模块采用了SIMCom公司生产的SIM900A[4]模块。该模块采用工业标准接口,工作频率为GSM/GPRS850/900/1800/1900MHz, 其尺寸大小为24*24*3mm,适用于紧凑型电子产品。SIM900A功耗低,可以与一些低功耗的微处理器通过串口通信来实现数据的传输。另外,在硬件原理圖设计方面,SIMCom公司给出了SIM900A模块的典型电路应用设计,用户只需按照要求来做即可实现。在PCB设计方面,SIMCom公司主要给出了两个主要注意的问题点:①SIM900A模块的供电需要保持稳定;②天线可以采用直连的方式来保证阻抗匹配。

3. 锂电池充电模块

本设计的充电器模块[5]采用TP4056芯片。该芯片是完整的单节锂离子电池,采用恒定电流/恒定电压线性充电器。其底部带有散热片的SOP8封装与较少的外部元件数目,使得TP4056成为便携式应用的理想选择。

由于采用了内部PMMOSFET架构,加上防倒充电路,所以不需要外部隔离二极管。热反馈可对充电电流进行自动调节,以便在大功率操作或高环境温度条件下对芯片温度加以限制。充电电压固定于4.2V,而充电电流可通过一个电阻器进行外部设置。当充电电流在达到最终充电电压之后降至设定值的1/10时,TP4056将自动终止充电循环。当输入电压(交流适配器或USB电源)被拿掉时,TP4056自动进入一个低电流状态,将电池漏电电流降至2uA以下。如图2是锂电池充电电路。

三、系统软件设计

1.电源供电情况检测程序设计

本系统的电源供电情况的检测是通过硬件中的TP4056芯片的VddLevel脚(图3所示)与AVR单片机的PF0(ADC0)脚相连,软件设计中只要检测PF0输入脚高低电平,即可实现检测电源的供电报警情况,而停电后备用电源电压也可通过此脚来实现测量并衡量该报警器还能工作多长时间。

2.温湿度的数据采集程序设计

开机后首先进行初始化,在开机的20s内注册成功,然后启动心跳数据,保证停电报警器可以一直在线,按照报警器的要求不断采集温湿度数据和供电情况,通过串口与SIM900A模块通信。软件流程图如图3所示。

3.Atmega128与SIM900A的串口通信程序设计

SIM900A与AVR单片机是通过普通的串口来通信的。而SIM900A通信模块主要是通过AT指令来实现相应的短信、电话和联网等功能的。所以,AT指令是实现SIM900A无线通信模块和Atmega128单片机之间通信的桥梁。通过发送AT指令来控制和监控停电报警器的相关参数。在程序设计中,主要是将SIM900A与AVR单片机之间的串口通信函数封装起来作为底层固定的函数,要实现相应的功能时,只要向串口写相应的AT指令即可。程序的这部分用模块化来处理,增加了程序的可读性,并且程序跑起来更简洁。

基于AVR单片机和SIM900A的智能停电报警器[6],采用无线通信技术。此技术通讯稳定,较好地解决了对现代化水产养殖场供电情况和相关参数的远程监控问题。在软/硬件设计中采用了模块化的结构,灵活性高和适用性好。在移动设备和机房维护单位以及一些需要远距离监控的场所,该系统具有良好的应用前景。

参考文献:

[1](美)R.J.Bates.通用分组无线业务(GPRS)技术与应用[M].朱洪波,沈越泓,蔡跃明,等译.北京:人民邮电出版社,2004.

[2]马 潮.高档8位单片机ATmega128原理与开发应用指南[M].北京:北京航空航天大学出版社,2004.

[3]夏 华.无线通信模块设计与物联网应用开发[M].北京:电子工业出版社,2011.

[4]翟 顺,王卫红,张 衍,等.基于SIM900A的物联网短信报警系统[J].现代电子技术,2012(05).

[5]赵文倩,尹 斌.基于Atmega128的智能充电系统设计[J].电子设计工程,2013(22).

[6]宋 扬,丁月明,尹德强,等.用于GIS抽真空设备的停电报警器[J].价值工程,2012(36).

(作者单位:厦门海洋职业技术学院)