高金龙 李新娟 蒋庆林
摘要:本文设计了一个基于STM32单片机的自容式CTD采水控制系统。该控制系统采用蓄电池供电,通过CTD传感器采集并存储温盐深数据,实时检测系统周围海水压力作为采水控制的触发条件,实现对不同深度海水的自动取样,具有结构简单,工作可靠的特点。
[关键词]采水STM32F103ZET6控制系统设计
海水的温度、盐度、深度是海洋水文调查和海洋水质监测的重要参数。海洋水质监测首先要采取相应的水质样本,从而得到目的深度海水的各项指标,实现对海洋水资源的多层次采样具有重大的科研价值。本文立足于高效率、高精度的样本采集需求,设计了一种多深度CTD采水控制系统,采用自动控制技术,可以实现温盐深数据采集存储、自动采水等功能。
1控制系统整体结构
如图1所示,CTD采水测控系统的组成如图1所示。其中单片机位于控制舱内,根据CTD传感器采集的数据判断系统周围海水压力值,实时计算得到深度值,在设置好的的深度下发送采水信号给释放机构,触发相应的采水器采集水样。
自主式CTD采水器控制系统单片机主控模块位于特殊制造的密封舱内。由于密封艙需要承受外界海水压力,因此单片机主控模块的尺寸应尽量小,外形应尽量细长,否则密封舱的尺寸、壁厚和重量都会加大。整个控制系统采用蓄电池供电,因此应采用低功耗设计,同时,为保证系统正常工作,要求控制系统抗干扰性强、稳定性好。
因此,要求设计的取样控制系统必须具有以下功能:系统的工作参数可调、实时监测周围海水温盐深参数、电源管理、异常处理等,能够实现自主式采水控制。
2控制系统硬件设计
本文设计的控制系统硬件主要包括:单片机主控模块、电源模块、CTD传感器、EEPROM存储模块、SD卡存储模块、固态继电器组等,如图2所示。
单片机主控模块采用STM32F103ZET6作为系统核心控制芯片,内置32位Corex-M3内核,最高工作频率为72MHZ,支持ADC、USART、SDIO等模块,具有超低功耗、高可靠性等优点,适用于电力电子系统、电机驱动、应用控制等领域。
电源模块主要由蓄电池和电源转换芯片组成。蓄电池提供的24V电压直接提供给CTD传感器、继电器组;采用电源转换芯片K7803-500R3将电压转换为3.3V之后给单片机系统供电。
由于STM32F103ZET6内部集成了12位A/D转换模块,可用于监测蓄电池电压,通过电平转换之后输入给单片机。
单片机的I/O模块输出信号控制继电器组,通过电磁释放机构打开采样瓶,实现整个取样过程的自动控制。
EEPROM存储模块采用FM24CL16,用于工作参数的存储,系统中采用两个并行I/O口进行软件模拟产生I2C总线时序信号,实现数据的读写。SD卡存储模块通过单片机自带的标准SD卡接口,用于存储工作过程中的采集数据、状态信息等。
固态继电器组由6个H3MB-052D继电器组成,采用高电平触发,具有灵敏度高、电磁干扰小、控制功率小的特点。
3控制系统软件设计
采水器控制系统软件程序采用C语言进行设计,采用KeilMDK开发环境,主要完成命令的收发、参数存储、工作状态监测以及采水控制等功能。软件采用模块化设计,主要包括以下几个功能模块:系统初始化模块、串口通信模块、EEPROM存储模块、A/D定时中断数据处理模块以及固态继电器控制模块、SD卡存储模块等。
控制系统软件的主要工作流程如图3所示。控制程序在系统上电后先进行系统初始化工作,然后读取存储在EEPROM中的数据,包括预先设置的采水深度、系统采水状态等。控制系统采用中断的方式实现蓄电池电压检测、温盐深数据获取、SD卡存储等操作。当根据CTD传感器采集数据计算得到的系统所在深度与预设深度相近时,单片机给出对应深度的采水触发信号,截取当前深度水样到相应的采水瓶中。当采水状态发生变化后,实时更新工作状态并写入到EEPROM中存储。
4结语
本文介绍了基于STM32的CTD分层采水控制系统,并给出了控制系统的硬件结构和软件功能模块,能够获取并存储海水垂直剖面的温盐深等参数数据,同时自动采集6种深度的海水样本,具有集成度高、体积小、功耗低等特点,可用于海洋科学研究和海洋调查领域。
参考文献
[1]张龙,叶松,周树道,刘凤,韩月琪.海水温盐深剖面测量技术综述[J].海洋通报,2017,36(05):481-489.
[2]祖正帅。水质采样控制智能化方法与装置研究[D].大连理工大学,2017.
[3]刘火良,杨森.STM32库开发实战指南(第2版)
[M].北京:机械工业出版社,2017.[4]张新民,段洪琳.ARMCortex-M3嵌入式
开发及应用[M].北京:清华大学出版社,2016.
[5]江自强,葛亚炬,张乐年,基于STM32的数据采集及存储系统设计[J].机械制造与自动化,2017,46(04):136-139.