光伏发电通信基站电源远程监测系统的设计
2011-03-14杨思俊
杨思俊
(西安航空职业技术学院电子工程系,陕西西安710089)
随着计算机控制技术的发展,计算机被广泛应用于数据采集系统领域中,数据采集系统多采用上位机和下位机的主从工作方式。因为单片机具有价格低、功能强、抗干扰能力好、温限宽和面向控制等特点,所以下位机一般采用单片机对现场数据采集与对设备一级监控;计算机的分析处理能力较强,有友好的人机界面和大容量的多种存储方式,故上位机一般采用计算机对采集数据进行图形显示、分析以及管理。上位机与下位机通过串行接口实现通信,在本系统采用了Visual Basic 6.0开发串口通信程序。
1 数据传输
太阳能发电监测分上位机和下位机两部分,下位机对各个模块的工作输入电压、电流,输出电压、电流数据进行存储、显示。由于本设计的太阳能发电装置用于通信基站的电源,其应用的环境一般位于偏僻且交通欠发达的地区,所以下位机的数据需通过GPRS传送到上位机,以便于监测和故障排除[1-3]。
GPRS模块(即MC35i)和外部设备之间的通信协议是通过AT指令集来完成的。AT指令集是从终端设备(Terminal Equipment,TE)或数据终端设备(Data Terminal Equipment,DTE)向终端适配器(Terminal Adapter,TA)或数据电路终端设备(Data Circuit Terminal Equipment,DCE)发送的。AT+CMGC指令的功能为Send anSMS command(发出一条短消息)。对短消息的控制有3种模式,即Block Mode、基于AT命令的PDU Mode和Text Mode。目前,PDU Mode应用最为广泛,它不仅支持中文短信,也能发送英文短信,其短消息正文经过十六进制编码后作为一个二进制字符串被传输。PDU模式收发短信可以使用3种编码:7 bit、8 bit和UCS2编码。7 bit编码用于发送普通的ASCLL字符,8 bit编码通常用于发送数据消息,UCS2编码用于发送Unicode字符。短信发送框图如图1所示(图中XX表示第几条短信)。
2 MC35i驱动及AT指令的编写
2.1 MC35i的开关机及初始化
目前市场上支持GPRS的模块有很多种,综合考虑后采用西门子的MC35i模块,该模块在支持GSM的基础上增加了对GPRS的支持,上传波特率可达21.4 kb/s,下传波特率最大为85.6 kb/s,并支持CS-1,CS-2,CS-3,CS-4等4种编码方案,是一个具有较高稳定性的工业及模块。MC35i的工作电压范围为3.3~4.8 V,传输功率在GMS 1 800时为1 W,休眠电流为3 mA。MC35i提供一个40引脚的外部控制接口,其中包括了控制、数据传输、SIM卡、声音以及电源接口。MC35i接口采用AT指令集,并支持部分西门子的扩展AT指令。
图1 短信发送框图Fig.1Sending SMS
MC35i的电源采用单个3.3 V到4.8 V的电源,由于MC35i在进行数据传输或通话过程中峰值电流可能达到2 A,所以电源必须能够提供足够的电流以保证在大电流时电源电压不低于3.3 V。如果在工作工程中电源电压下降到低于3.3 V或电压下降幅度超过400 mV时,MC35i将自动关闭。比如,在峰值电流2 A时,在线路上的电压损耗必须考虑,如果线路电阻为50 mΩ,那么电压损耗为100 mV,因此在布线时必须考虑这些问题。
MC35i的开关机需要在模块的ON/OFF引脚上加上脉宽1 s以上的低电平。当模块处于关机状态检测到ON/OFF引脚的下降沿并持续1 s以上的低电平时启动整个模块,同理,当模块启动后检测到持续1 s以上的低电平,则延时8 s关机。所有的AT指令操作都必须在开机状态下才能执行[4]。
开机后还要对MC35i进行初始化来实现单片机对模块的控制:首先要测试模块串口的连接状况,通过发送AT指令,等待模块的回复,返回OK则连接成功,没有响应则表示模块连接存在问题;接着还要向模块发送ATEO指令来关闭回显。回显功能主要用于串口调试,具体应用时应关闭该功能,防止回显字符和返回参数混合。
2.2 MC35i的AT控制指令
MC35i模块是采用AT 指令集进行控制的,采用AT指令集可以实现模块参数的设置,数据的发送与接收。AT指令集是调制解调器通信接口的工业标准,指令由ASCII字符组成,除“A/”、“+++”指令外,所有指令都是以“AT”开头,以<回车><换行>结束,绝大多数指令被执行后都有返回参数。
常见的AT指令有:
设置通信波特率:使用AT+IPR=19 200命令,把波特率设为19 200 b/s。
设置接入网关:通过AT+CGD CONT=1,“IP”。“CMNET”命令设置GPRS接入网关为移动梦网。
设置移动终端的类别:通过AT+CGCLASS=“B”设置移动终端的类别为B类,即同时*多种业务,但只能运行一种业务,即在同一时间只能使用GPRS上网,或者使用GSM的语音通信。
测试GPRS服务是否开通:使用AT+CGACT=1,1命令激活GPRS功能。如果返回OK,则GPRS连接成功;如果返回ERROR,则意味着GPRS失败。中国移动在GPRS与Internet网中间建立了许多的网关支持节点(GGSN),以连接GPRS网与外部的Internet网络。GPRS模块可以通过拨“*99***1#”登录到GGSN上,并通过PPP协议获取动态分配到Internet网的IP地址。
3 上位机软件
3.1 数据格式
由于Visual Basic 6.0引入了面向对象的编程机制,巧妙地将Windows编程的复杂性封装起来,只需使用窗体和控件等可视化界面设计程序,从而降低了程序设计的难度。本文就采用了VB来设计上位机软件,以实现太阳能发电监测的功能。
1)数据传输帧格式
下位机与上位机通信的数据传输帧格式为:
地址码(1)+功能码(1)+数据数量(1)+数据域()+CRC校验(2)
2)上位机软件功能码分类
0x01读取下位机历史数据
0x02读取系统当前时间
0x03设定时间
0x04读取实时数据
0x05报警指示
3.2 串口调试
VB6.0中,使用MSComm时,首先要在程序中打开相应的串口,然后对相应的串口通信参数进行设置[5]。串口通信时,无论发送还是接收,都要在通信程序中设置一个Variant类型变量作“中介”。程序设计如下:
Private Sub MSComm1_OnComm()’串口通信控件设置
Dim indata As Variant
Select Case MSComm1.CommEven’...通讯事件发生
Case comEvReceive’...有接收事件发生
Do While MSComm1.InBufferCount<>0
indata=MSComm1.Input’读地址码,功能码,数据数量,1~3字
emp(i)=AscB(indata)
If emp(0)<>&H3A Then’判断帧头
MSComm1.InBufferCount=0’停止接收
Else
i=i+1
End If
Loop
If i=emp(2)+5 Then’接收数据总长度
disp_flag=True
i=0
End If
End Select
End Sub
RTHreshold=1’最小接收字符数为1,当接收缓冲区达到1时,引发OnComm事件中的接收事件
MSComm1.Settings=“4800,n,8,1”’设置通讯参数MSComm1.PortOpen=True’打开串口
太阳能发电监测主要是对太阳能电源工作时的各模块的输入电压、电流,输出电压、电流以及环境温度的计算与监测。其测试界面如图2所示。
图2 实时数据监测界面Fig.2Interface of real-time data collection
4 功能实现
监测系统具有实时监测功能,上位机每5 s钟发送命令,下位机接收到命令后即刻将实时数据上传。其读取下位机历史数据时需输入要查询的起始时间和终止时间,由于下位机每小时只采样一个数据,所以上位机会显示出对应的数据[6],功能界面如图3所示。
图3 历史数据查询界面Fig.3Interface of historical data inquire
地址码(1)+功能码(1)+数据数量(1)+起始时间(4)+终止时间(4)+CRCH(1)+CRCL(1)的格式传输给下位机,例如:要读取2007年12月8日9时至2008年2月20日5时的数据则帧内容为
0x3a0 x010x080x090x080x120x080x050x20 0x02 0x09 0x10 0x81
注:终止时间不应超过当前时间,起始时间应在终止时间之前,则历史数据就会通过GPRS上传。此外,监测系统还具有校时和报警功能,监测系统获取系统时间,按照如下帧格式进行对下位机的时间设定。
地址码(1)+功能码(1)+数据数量(1)+时间(7)+CRCH(1)+CRCL(1)
图4 系统时间设置界面Fig.4Interface of system time setting
如果下位机中的各分机中出现断路、短路或通信故障等异常情况时,下位机即时发出报警信号,并传输给上位机,上位机接收到信号后进行报警提示。
5 系统检测结果
在实验系统中,为了提高发电效率,对于太阳能光电池转换效率低的问题,引用了MPPT(最大功率跟踪)技术来提高太阳能电池的利用率。分别采集了带MPPT技术的太阳能基站电源的控制器与不带MPPT技术的控制器的电压、电流,并将发电功率进行了比较,在设计中做了大量的实验,采集了输出电压、电流,并形成了图表予以分析。以下是日光强度逐渐增强时的数据测试。实际采集过程是每5 s采集一次,这里将简单将每隔1分钟的数据进行列表分析,如表1所示。
表1 日光强度逐渐增强时数据表Tab.1Sunlight gradually increased data
在同样的外界条件下,日光逐渐升强时引入MPPT技术的太阳能发电技术和无MPPT技术的情况下,将采集的数据进行分析,太阳能基站电源发电功率的比较见图5曲线所示。
图5 功率比较Fig.5Power compared
由以上的数据可统计,在引入MPPT技术的太阳能发电技术后,发电功率增长了25.9%。
太阳能发电监测主要是对太阳能电源工作时的各模块的输入电压、电流,输出电压、电流以及环境温度的计算与监测。上位机每5 s钟发送命令,下位机接收到命令后即刻将实时数据传送。如果下位机中的各分机中出现断路、短路或通信故障等异常情况时,下位机即时发出报警信号,并传输给上位机,上位机接受到信号后进行报警提示。
6 结束语
本文通过采用GPRS对数据进行远程传输,结合上位机软件的监测,使整个系统的应用更为便捷,实验证明,其传输与监测均具有高的可靠性,为新能源的普及提供了条件。
[1]郑万溪,黄元庆,张鑫,等.基于GPRS通信技术的远程气体检测系统[J].传感器与微系统,2008,27(2):83-85.ZHENG Wan-xi,HUANG Yuan-qing,ZHANG Xin,et al.Long distance detecting system based on GPRS communication technology[J].Transducer and Microsystem Technologies.2008,27(2):83-85.
[2]Lin C E,Li C,Hou A,et al.A real-time remote control architectureusingmobilecommunication[J].IEEE Transactions on Instrumentation and Measurement,2003,52(4):997-1003.
[3]QIU Wang-biao,QIU Zhi-yuan.Design for temp-humidity control system of tobacco parching House based on Fuzzy-PID Control[C]//Proceedings of the 2006 IEEE International Conference on Mechatronics and Automation,2006:2229-2234.
[4]张占新,孟如,孟庆洪,等.基于MC35的无线数据采集系统[J].微计算信息,2005,21(7):100-102.ZHANG Zhan-xin,MENG Ru,MENG Qing-hong,et al.The wireless date acquisition system based on MC35[J].Control and Automation Publication Group,2005,21(7):100-102.
[5]陈三凤,刘晓波.基于VB6.0与单片机串行通信的数据采集系统设计[J].计算机应用,2004,24(1)66-68.CHEN San-feng,LIU Xiao-bo.Data-acquisition system design based on serial communication between VB6.0 and SCM[J].Journal of Computer Applications.2004,24(1):66-68.
[6]李芳,贺雨田.基于VB的液压在线监测与故障诊断仪的上位机软件设计[J].石油仪器,2008,22(1):90-92.LI Fang,HE Yu-tian.Software design in host computer of online detecting and failure diagnosis instrument of hydraulic system based on VB[J].Petroleum Instruments,2008,22(1):90-92.