摘 要:针对浮标技术在海洋环境监测中的应用,研究并改进了现有的浮标系统,设计并实现了自升降式浮标控制系统,以获取水下不同深度的环境数据,具有很好的安全性和隐蔽性。系统以MSP430处理器为核心,以Si4432为无线收发模块,结合温湿度、光照、加速度、倾角、CTD、溶解氧传感器和SD卡,实现了对海洋数据的采集、存储和传输。经测试,能可靠地将数据传输至岸基模块,满足了设计要求。
关键词:自升降式浮标;MSP430;Si4432;数据采集
以自升降式浮标系统为载体的海洋数据传感采集与传输系统可以实现海平面以下不同深度水环境监测数据的获取和更新。国外在上世纪80年代研制出了一种将潜标和锚泊浮标相结合的系统,由于该系统既能采集海洋定点数据,又能实时回传数据,因此得到了广泛使用。国内潜标技术紧随国际潮流,提出了具备紧绷式锚泊潜标系统架构的自治式海洋监测潜标,但该系统仍处于研制阶段,未投入实际使用。本文提出将潜标和浮标合二为一的锚泊自升降海洋潜标系统,可以为海洋环境监测提供充分的数据材料,同时对海洋环境保护和海洋资源开发有深远意义,应用前景宽广[1]。自升降传动装置及其控制系统是本次研究中的一项核心关键技术和创新点。Si4432模块采用的是半双工的通信方式,其中通信的可靠性和冲突处理为本研究的技术难点。
1 系统工作原理
自升降式浮标数据采集与传输系统的整体结构如图1所示,主要包含传感器组、岸基模块、中继模块、浮标模块、潜标模块、无线收发模块和上位机监测平台。
本系统主要由数据采集传输板、传感器组和用户远程监控终端组成。其中数据采集传输板包括岸基系统、中继系统、浮标系统和潜标系统。岸基系统和浮标系统与中继系统的通信是通过Si4432[2]无线收发模块实现的。浮标系统与潜标系统在海底的通信是以电缆及导电滑环为介质,按照RS485协议进行通信的。系统结构框图如图2所示。
系统设计要求指标如下:
(1)无线通信可靠传输距离:1 000 m;
(2)数据包传输误码率低于0.1%;
(3)浮标板下潜深度:5 m~20 m;
(4)潜标板下潜深度:20 m~100 m。
海洋环境采集与传输系统的工作原理:浮标发送浮标下降命令给潜标,潜标控制绞盘电机拉动浮标作垂直向下运动。当浮标被拉到海面以下时,浮标就开始采集海洋环境参数,同时将采集到的数据写入SD卡中。电机拉动浮标向下运动到一定深度后,电机向相反方向运动,浮标开始上浮。当浮标被再次释放到海面上时,浮标板停止采集,然后将采集到的海洋环境参数结合当前时间打包为一帧数据后发送给中继模块。中继模块直接与岸基模块进行通信,中继模块将接收到的浮标数据结合自身传感器采集到的数据打包为一帧数据后发送到岸基模块,通过上位机监控软件实时显示当前各项传感器测得的海洋环境参数。同时,可以通过上位机向中继模块发送回收浮标的命令,浮标将对应命令转发给潜标,对应步进电机执行释放动作,完成释放任务。
上述传感器组集中在中继模块和浮标模块,中继模块的传感器组包括加速度传感器MMA7361、倾角传感器SCA60C、温度传感器DS18B20、温湿度传感器SHT11和光照传感器BH1750;浮标模块的传感器组包括CTD[3]传感器和DO溶解氧传感器。为了记录采集数据的时间,浮标模块带有实时时钟芯片DS1302。同时,为了能实现水下采集数据的大容量存储,通过FAT文件系统可以很方便地实现对SD卡的数据写入和读出。
2 系统硬件
Si4432的工作频段为433 MHz,最大输出功率可以达到+20 dBm,外围可加入功率放大电路,以提高发送功率。Si4432主要有关闭模式、挂机模式、发射模式和接收模式。关闭状态下可以降低功耗,各模式间的切换必须先进入挂起状态。本设计中,Si4432模块在发送或者接收完数据后立即切换到关闭模式,从而可以降低系统工作功耗。Si4432数据传输方式主要有FIFO模式、直接模式和PN9模式3种。本设计中Si4432工作在FIFO模式下,使用片内的先入先出堆栈区来发送和接收数据。此状态下,Si4432自动退出发送或者接收状态,当相关的中断信号产生时,自动处理字头和CRC校验码。在接收数据时,自动把字头和CRC校验码移去。在发送数据时,自动加上字头和CRC校验码。Si4432的通信距离可以达到1 km,可以达到本设计的指标要求。总之,Si4432具有低功耗特性,并且数据传输有效距离可以达到1 km,从数据传输有效距离和功耗上来考虑,Si4432可以实现海洋环境下的数据可靠传输,因此本文采用Si4432来实现数据传输。
本设计的创新点在于低功耗升降式浮标的设计,浮标升降的实现是通过潜标控制电机的正反转来实现的。浮标与潜标的通信以RS485为接口,以电缆为传输途径实现。由于电缆是盘绕在电机上的,利用导电滑环可以实现浮标与潜标间信号的稳定可靠传输。水下电机采用12 V直流无刷电机,减速比为153:1,最大拉力1 500磅,在无负载情况下电流4.5 A左右,在最大拉力下电流能高达27 A,所以在浮标上要加上配重装置以平衡浮力,减小拉力。驱动采用BTN7960芯片为主的模块,驱动电压范围为6 V~24 V,最大驱动电流约为40 A。
本系统中微处理器选用TI公司16 bit单片机MSP430F149。这款单片机特点之一是它的低功耗,同时还可以很方便地在5种低功耗模式下进行切换。MSP430F149内部具有两个USART收发控制器,12 bit A/D转换器,以及丰富的定时器资源;片上集成2 KB RAM和60 KB Flash Memory,完全能满足本系统设计的资源要求[4]。
加速度和倾角传感器输出的模拟电压信号,可以通过430单片机内部12 bit A/D转换器获得;温度传感器采用单总线的通信方式,可以通过430单片机I/O访问;湿度传感器[5]和光强度传感器采用I2C协议进行访问;CTD传感器和DO溶解氧传感器通过串口进行访问。
3 系统软件设计
本系统软件设计包括3大部分:中继板传感器组数据采集和传输程序,浮标板传感器组数据采集和传输程序以及潜标板控制程序,本设计程序均在IAR下编译、调试。
3.1 中继板数据采集及传输程序设计
中继板程序设计可以分为以下5个步骤:
(1)系统初始化
上电后,对系统时钟、I/O口、UART、A/D以及传感器接口初始化配置。
(2)Si4432模块参数配置
通过单片机配置Si4432模块的工作模式、收发波特率、本机地址、目的地址以及发射功率等级等参数。中继板参数配置:工作模式为收发工作模式,波特率2 400 b/s,本机地址为0x60,目的地址为0x59,发射功率等级为7。
(3)中继板接收浮标板数据包
Si4432接收中断程序4432_RX判断是否接收到浮标板发送数据的请求,如果接收到发送请求,则中继板进入接收数据的状态,并且一直等接收到完整的数据帧后才使能发送功能。使能发送后,中继板可以将完整的数据帧发送给岸基板。
(4)数据帧整合和发送
中继板使能发送数据后,发送程序开始将数据装成完整的64 B数据帧格式,然后通过Si4432模块发送64 B的数据到岸基模块,发完为止。
(5)中继板传感器采集数据并更新缓冲区
中继板在没有请求发送和请求接收数据的情况下,温度传感器、湿度传感器、光照传感器、倾角传感器和加速度传感器开始工作并不断获取当前传感器数据,以及时更新缓冲区。中继板程序流程图如图3所示。
3.2 浮标板数据采集及传输程序设计
浮标板程序设计可以分为以下4个步骤:
(1)系统初始化
上电后,对系统时钟、I/O口、UART、A/D、传感器接口、DS1302以及FAT文件系统初始化配置。
(2)Si4432模块参数配置
通过单片机配置Si4432模块的工作模式、收发波特率、本机地址、目的地址以及发射功率等级等参数。中继板参数配置:工作模式为收发工作模式,波特率为2 400 b/s,本机地址为0x61,目的地址为0x60,发射功率等级为7。
(3)浮标板发送控制命令到潜标板
浮标板与潜标板通信是在电缆上以RS485协议为基础进行通信,通过时间片切换的方法依次发送如下命令给潜标板:电机下降命令0x01,上传电池剩余电量命令0x03,释放潜标系统命令0x02。每发送一个命令后,要等到相应的动作执行完毕后才能执行下一条命令。
(4)浮标板发送数据帧到中继板
浮标板在接收到发送数据请求时,将传感器数据和时间一起从SD卡中读出,准备待发送的数据,将数据打包成完整的64 B数据帧格式,通过Si4432模块发送到中继板,发完为止。
(5)传感器组开始工作并更新缓冲区
在浮标板发送电机下降命令,浮标下降到海面以下后,CTD传感器和DO溶解氧传感器开始工作,并将传感器数据和当前时间以FAT文件系统形式存放到SD卡中,直到浮标再次浮到海面上为止。浮标板程序流程图如图4所示。
3.3 潜标板程序设计
潜标板程序设计可以分为以下2个步骤:
(1)系统初始化
上电后,对系统时钟、I/O口、UART、A/D进行初始化配置。
(2)潜标板接收浮标板命令,进行解析并执行
潜标板接收浮标板发送的命令:浮标系统释放命令0x02,电机下降命令0x01以及上传电量命令0x03。潜标板接收到系统释放命令后,驱动步进电机执行释放命令;潜标板接收到电机下降命令后,驱动直流电机先做向下运动,过一段时间后再做向上运动,将浮标板送至海面上;潜标板接收到电量上传命令后,将电量信号上传到浮标板。潜标板程序流程图如图5所示。
4 系统调试
在实验室环境下,通过Si4432无线收发模块建立岸基模块、中继模块、浮标模块之间的通信;浮标模块与潜标模块之间通过RS485总线电缆连接。
外围的传感器组挂接到单片机系统中,然后设定岸基模块的本地地址为0x59,中继模块的本地地址为0x60,浮标模块的本地地址为0x61,打开电源,让系统开始工作。接着以64 B为一个数据包,连续发送1 000个数据包,以不同距离和不同发送波特率完成数据传输误码率的测试,得出结果如表1所示。
由表1中测试结果可知,在传输距离为1 000 m以内,数据传输速率低于9 600 b/s的条件下,数据传输误码率基本为零,所以本系统基本上符合设计要求。
在实验室模拟调试的基础上,在户外也进行了进一步的测试,选择测试点为海洋二所。将中继板、浮标板和潜标板放入水中,基站板连接上位机软件,对系统实行为期一周的实地测试。结果表明,系统工作正常,达到预期的测试结果。
本文利用升降式浮标设计和实现了一种海洋数据采集与传输系统。该系统在设计时还保留了一些传感器接口,为以后改进、升级系统做准备。同时由于浮标系统在海水中受到浮力作用,为保证浮标系统可靠的上升和下降,配备了一个重物挂在浮标系统上,已减去浮标系统的浮力,从而减轻了直流电机的负担,节省电量,进而提高了水下系统持续工作时间。本系统很好地满足了海洋数据实时传输要求,达到了预期的目标。
参考文献
[1] 姚泊.海洋环境概论[M].北京:化学工业出版社,2007.
[2] 郭亮.基于Si4432的无线射频收发系统的设计[J].新器件新技术,2009,11(1):38-41.
[3] 孙贵新,史峰.SBE25 CTD剖面仪以及使用方法[J].气象水文海洋仪器,2010,3(3):18-20.
[4] 张福才.MSP430单片机自学笔记[M].北京:北京航空航天大学出版社,2011.
[5] Sensirion公司.SHT1x datasheet[Z].2008.