基于ARM的太阳能供电式远程传输终端设计*
2012-08-15潘玉良凌在盈
袁 霄 ,潘玉良 ,凌在盈 ,李 凡
(1.杭州师范大学 遥感与地球科学研究院,浙江 杭州311121;2.浙江省城市湿地与区域变化研究重点实验室,浙江 杭州311121)
环境问题是当今社会日趋重视的问题之一,通过长期的在线监测和数据分析来反映环境质量现状及发展趋势,是为环境管理、污染源控制以及环境规划等提供准确、及时、全面的科学依据的一种可靠方法。当前人们普遍采用远程交互式监测技术对地理位置偏僻、自然环境恶劣的监测区域进行远程监控,由现场终端对监测数据进行远程传输。但是现场终端在数据传输瞬间功耗较大,需要具有足够的电源才能满足长期监控下的数据传输,这严重限制了该技术在布线困难、无人值守的野外复杂环境下的应用。本文以嵌入式ARM微处理器为核心,设计了一款具有太阳能光伏充电管理功能的现场终端,将太阳能合理存储于铅酸蓄电池中为现场终端提供长期远程监控所需的能源。
1 整体方案介绍
现场终端以ARM微处理器为核心实现了充电管理、远程监控、仪器数据采集等功能,整体结构如图1所示。在充电管理方面,ARM输出PWM波形调节DC-DC电路,管理太阳能电池板对蓄电池进行合理充电,同时采样得到蓄电池当前的电压值和充电电流值作为控制的反馈输入。在远程监控方面,监控中心通过短信发送连接命令给终端,当收到的短信与E2PROM中存储的连接密码一致时,终端主动连接上远程监控中心。随后,监控中心可以发送特定指令对终端进行相应操作,如控制终端从采集仪器中获取监测数据,返回相关的充电信息等,操作流程如图2所示。当GPRS通讯受阻时,终端一方面发送短信通知工作人员及时维护,另一方面使用SD卡存储通讯故障期间的数据。此外终端由主、从两块蓄电池进行供电,正常状态时主电池起作用,而当遇到连续阴雨天气导致主电池供电不足时,继电器切换至从电池工作,并远程通知相关人员尽快赶往现场进行维护。
2 终端功能实现
现场终端由多部分模块组成,由于部分模块较为通用,此处主要探讨实现充电管理及远程交互的具体方案。
2.1 充电管理实现
终端通过DC-DC电源变换的方式来实现充电管理,即利用ARM的ADC通道实时采样电池电压、充电电流值作为调整PWM脉宽的输入量,通过充电算法输出合理的PWM控制DC-DC电路。对于密封铅酸蓄电池来说,四阶段充电方式[1]可以为其提供在不同状态时合适的充电电压和电流,从而使蓄电池的容量达到额定值,延长其寿命。终端在充电前设置四阶段的充电参数值作为状态转换的临界值,于是当蓄电池的电压低于终止电压Vch时,充电器将提供一个很小的充电电流Itc进行充电,即涓流充电状态。当电池电压逐渐上升到Vch时,充电器将提供一个恒定的充电电流Ibuck,即恒流充电状态。直到电池电压上升到过充电电压Voc时,蓄电池进入过压充电状态,此时充电电流逐渐减小至Iotc后,充电器提供一个恒定的Vf电压来弥补蓄电池自身放电造成的容量损失。此后,若蓄电池在使用中使电压下降到Voc的90%,那么充电器自动进入涓充或恒流充电状态。充电状态曲线如图3所示。
在充电过程中,终端使用PID调节方式使各充电阶段的维持和转换迅速、平稳[2]。将PID控制规律转换为数字PID的增量型控制算法来调整PWN输出的占空比,使充电电流接近给定值,算法公式如式(1)。
其中 e(n)=给定值-采样值(滤波),三个常数 Kp、Ki、Kd可根据经验法或实验法得到。A/D采样周期Tad应满足N×Tad<Ts,Ts为 PWM 的周期。如采样周期 Tad太大,会使充电管理因不能及时调节而失去控制,这是必须予以避免的。
2.2 远程交互实现
GPRS具有传输速率高、接入速度快、永远在线、按流量计费等优点,但是这种基于IP网络的传输方式在数据中心异常或基站覆盖的区域语音业务繁忙时,都将与终端失去远程联系。当这些情况发生时可结合短信方式来发送一些紧急的数据和消息,保证数据传输的可靠性和灵活性[3]。
终端使用无线模块MC52i实现远程交互功能。该模块是西门子公司的一款高性能双频(GSM900/1 800 MHz)无线模块,具有语音、SMS、GPRS和 FAX等移动通讯方面的功能[4],通过模块上的板对板连接器与外围电路进行连接即可。如图4所示,模块的ASC0接口与ARM的Modem接口连接,而启动引脚IGT和紧急关闭引脚EMERGOFF由ARM的IO口控制。
MC52i支持标准的AT指令集,并且内嵌了TCP/IP协议栈,可轻松连接上Internet网,实现终端与数据中心之间的远程联系,极大地缩短了软件开发的难度[5]。实现短信和GPRS数据传输的AT指令操作如下:
(1)短信方式数据收发
发送指令[AT+CMGF=1],选择SMS信息格式为Text模式[6]。然后发送指令[AT+CMGS="目标号码"],收到符号">"返回,输入短信内容以"Ctrl+z"(十进制ASCII码为0x1A)结尾,短信自动发送。
发送指令[AT+CNMI=2,1],设置新短信显示模式,收到短信后会有提示信息[+CMTI:"MT",<index>],根据收到的<index>内容,发送读短信指令[AT+CMGR=<index>]获取短信内容。
(2)GPRS 数据收发
首先发送指令[AT+CGDCONT=1,"IP","CMNET"]进行PDP上下文定义,然后发送指令[AT+CGACT=1,1],对PDP上下文激活。发送指令[AT+CGREG?]检测是否登录上GPRS网络,返回[+CGREG:1,5]表示登录成功,执行下一步设置连接平台和服务平台。设置连接平台指令为[AT^SICS=<conProfileId>,<conParmTag>,<conParmValue>],其中需设置的<conParmTag>的参数包括"conType"、"passwd"、"user"和"apn"。而设置服务平台指令[AT^SISS=<srvProfileId>,<srvParmTag>,<srvParmValue>]中<srvParmTag>的参数包括"srvType"、"conId"和"address"。设置完成后,发送指令[AT^SISO=1]打开 TCP/IP连接,收到返回[^SISW:1,1]表示已经成功连接上数据中心。发送数据只需发送指令[AT^SISW=1,N],在返回[^SISW:1,N]后输入 N 个数据,MC52i将会自动发出。当数据中心有数据发送过来时,MC52i返回提示[^SISR:1,1],发送指令[AT^SISR=1,N]用于读取数据中心发送来的数据。发送指令[AT^SISC=1]关闭TCP/IP连接。
3 整体程序流程
现场终端的程序主要包括远程控制、充电管理和应急操作三部分。程序框图如图5所示。
本文阐述了一种基于ARM平台,将短信与GPRS协同式远程通讯技术、太阳能光伏充电管理技术相集成的数据传输终端,实现了远程交互式环境监测,并且解决了野外终端的供电问题。该终端通过开发、调试和测试已投人实际应用,应用结果表明终端运行稳定可靠,并且可推广至无线局域网通讯中解决其功耗问题。
[1]TEXAS INSTRUMENTS.Implementing multi-state charge algorithm with the UC3909 switch mode lead-acid battery charger controller[J/OL](1999-9-5).http://www.ti.com.
[2]韩俊淑,曾锐利,李长安.PID算法在蓄电池充电控制系统中的应用[J].自动化技术与应用,2005,24(9):48-51.
[3]广州致远电子有限公司.嵌入式GPRS与短信的互补通信方案[J/OL].(2009-11-16).http://www.zlgmcu.com.
[4]Cinterion.MC52i hardware interface description[J/OL].[2008-8-19].http://www.cinterion.com.
[5]Cinterion.MC52i AT command set[A](2008-8-19).http://www.cinterion.com.
[6]卢海涛,侯彤璞,李健.基于GPS和 GPRS的嵌入式汽车定位系统车载终端的开发[J].计算机与数字工程,2010,38(6):150-153.