基于STM32 微控制器的无人艇测控装置设计*

2022-10-20 10:21叶楠王祥刘怀芝
电子技术应用 2022年9期
关键词:航迹航向测控

叶楠,王祥,刘怀芝

(1.中船重工鹏力(南京)大气海洋信息系统有限公司,江苏 南京 210000;2.中国船舶重工集团南京鹏力科技集团有限公司,江苏 南京 210000)

0 引言

无人艇作为一种无人化水上平台,军事上可以扩大现有作战能力,具有查打功能、可根据任务进行配置的智能无人艇,能够以较低成本迅速弥补我军在非对称作战体系中的不足,对提高海上作战能力具有重大意义[1-3]。民用方面,无人艇在海洋、大型湖泊等复杂危险海况下的巡逻、监测、灾害预警与救灾等方面有重要的应用价值。随着无人智能航行技术的发展,可在水面水下不同环境下航行的智能无人艇成为主流的发展趋势,其通信链路的畅通、导航定位的精准、控制命令的正确都关系到水面水下航行无人艇的航行安全,是航行的最基本条件[4-6]。因此无人艇的综合测控装置功能和性能是检验无人艇智能化水平的最重要指标之一。

目前小型无人航行器的测控装置多由国外公司如Hydroid 或蓝鳍公司长期不断开发和完善,形成了技术垄断。从我国目前已有的技术与产品看,无人航行器专用的测控装置还处于初期阶段,产品应用领域和技术程度还未成熟,与军民实际需求仍有不小的差距,具有较大的发展空间。

本文设计了一种基于STM32 微控制器的无人艇测控装置,可实现无人艇航行过程中各类信息的采集、处理、运动控制和数据共享,经测试,该装置功能多样、稳定性高、智能化水平高,在无人水面航行器领域具有广泛的应用价值。

1 总体设计

本文所设计的无人艇测控装置主要由信息采集控制板、稳压电源、接口端子和结构外壳组成。其中信息采集控制板由6 个模块组成,分别为主控模块、信号采集接口模块、通信接口模块、数据存储模块、电机驱动接口模块和电源模块。无人艇测控装置安装于无人艇艇体中,与艇上其他传感通信设备相结合,实现环境感知、通信导航、运动控制等多种功能。无人艇测控装置总体设计如图1 所示。

图1 无人艇测控装置总体设计

2 硬件设计

2.1 主控模块

考虑到功能要求及低功耗设计,信息采集控制板采用ST 公司Cortex-M4 内核的STM32F407ZET6 微控制器作为主控核心,其资源丰富,主频高达180 MHz,2 MB Flash,256 KB SRAM,带LCD_TFT 控制,5 个UART,17 个定时器,6 个SPI 以及3 个IIC,支持SDIO,24 通道12 位A/D,带LCD 控制,支持USB2.0(host/device/OTG),支持SD 卡,支持内部RTC 等,满足设计要求。以STM32 微控制器为核心的主控模块负责驱动整个装置的运行,完成各个任务功能的有序调动,实现数据采集、处理、存储、数据交互和电机控制等功能。

2.2 信号采集接口模块

信号采集接口模块预留了包括RS232、RS485、RS422、电压/电流采集、IO 口等多个数字和模拟信号采集接口,可方便接入多类型设备。同时,各接入设备的供电线路,均与信号采集模块的板载继电器进行连接,由主控模块进行统一控制,实现故障恢复,并可在无人艇低功耗状态下关闭非必需外接设备。

2.3 通信接口模块

通信接口模块预留包括RS232、RJ45 等接口,主控模块将实时数据通过通信接口模块传至数传电台、4G网络通信机等通信设备,进而上传至岸基上位机,同时反向接收岸基上位机发送过来的控制命令。

2.4 数据存储模块

数据存储模块通过SD 卡存储电路实现,主要完成无人艇测控装置在正常工作过程中会产生的包括通信指令、目标位置、气象水文环境要素、自身状态等各类数据的实时存储,供实时计算及后续数据统计需要。

2.5 电机驱动接口模块

电机驱动接口模块主要实现无人艇动力电机的正反向及转速控制,包括RS485 数字驱动及D/A 模拟量驱动。本装置设计的D/A 模拟量驱动电路实现±5 V 的电压输出,采用PWM 通过调整占空比的模式来实现,±7.5 V电路利用运放的“虚短、虚断”的特性获得,±5 V 电压通过调节PWM 占空比获得,电路图如图2 所示。

图2 电机驱动接口电路

2.6 电源模块

信息采集控制板电源模块与测控装置稳压电源相连接,输入采用DC24 V 输入,输入范围为9~33 V,输出12 V 以及5 V。首先通过DC-DC 将输入电压变为12 V;其中12 V 分为两路,一路给自身控制板提供电压,另一路给外设供电。电源芯片选择TPS54331,该芯片应用方便,所需要的外围电路简单,容易布局布线;5 V 通过LDO变为3.3 V 为主控芯片供电,LDO 选择SPX1117-3.3 V,此芯片最大电流可以达到1 A,可以满足应用需要。电路图如图3 所示。

图3 供电电路

3 软件设计

考虑到无人艇运动过程中的多任务及实时特性,无人艇测控装置在嵌入式软件设计上以μC/OS-II 嵌入式操作系统为核心,结合硬件系统资源及目标功能,将各种输入/输出设备相关的功能划分为不同的任务,主要包括数据采集任务、信息交互任务、数据存储任务、电机控制任务、自主航行任务、状态监测任务等。无人艇测控装置嵌入式软件整体工作流程如图4 所示。

图4 嵌入式软件整体工作流程

3.1 数据采集任务

无人艇测控装置数据采集任务主要完成GPS 设备、惯导设备、雷达声纳设备、气象水文设备等的数据采集,当有数据发送到采集的端口时,将进入相应的数据采集程序中,若接收到该数据的数据起始特征位,则开始接收数据,同时将接收到的数据写入到缓存区,若没有接收到数据起始特征位,则将丢弃数据,等待下一次的数据接收。当接收到数据结束特征位时,数据接收结束,进入程序处理部分。若没有接收到数据尾,将继续接收数据直到接收到数据的结束特征位。数据采集流程如图5 所示。

图5 数据采集流程图

3.2 信息交互任务

本设计中,无人艇测控装置与岸基上位机之间通过数传电台、4G 网络通信机等设备实现探测数据与控制命令的秒级实时传输。为保证数据的可靠性和可扩展性,本装置采用统一的数据格式完成信息交互任务,具体数据格式如表1 所示。

表1 与上位通信数据格式

当无人艇测控装置接收到上位机发送来的数据时,首先要对接收到的数据正确性进行检测,若检测不通过,数据将被丢弃;若数据检测正确,程序将读取数据类型标识符的识别来判断数据的类型,然后根据数据类型标识符对接收数据进行解析并存储至相应公共变量中。上位机至无人艇测控装置的通信流程图如图6 所示。

图6 上位机至无人艇测控装置的通信流程

3.3 电机控制任务

在无人艇航行过程中,远程遥控模式及自主航行模式下均需要通过无人艇测控装置完成转向及转速控制电机的驱动任务,实现无人艇的运动控制[7-9]。首先主控模块通过航向及航速预设值解算出转向及转速电机的控制值,并向电机接口驱动模块发送指令,使其形成相对应的模拟量输出值并向电机输入,其次,信号采集接口模块实时采集电机反馈数据及艇体航行数据,判读是否到达预设值,如到达,结束此次控制,并生成新的航向及航速预设值;如未到达,重复以上过程。电机控制流程如图7 所示。

图7 电机控制任务流程

3.4 自主航行任务

无人艇测控装置自主航行任务主要是通过当前GPS 数据、惯导数据及岸基上位机系统发来的目标点迹组,实现无人艇按预定航迹自主航行任务[10-15]。航迹控制的结构框图如图8 所示。它由三个闭环控制组成:外环航迹控制环、中间航向控制环、内部舵角控制环。航迹控制环将GPS 设备接收到的无人艇位置信息同规划航线作比较,计算出航迹偏差,由航迹控制算法解算后向航向控制单元发送一个能够消除航迹偏差的目标航向;航向控制环则将由GPS 设备和惯性导航获取的无人艇实际航向与目标航向进行比较,得到航向偏差信号,通过航向控制算法向舵角控制环发送一个命令舵角;舵角控制环驱动舵机伺服系统使实际舵角与命令舵角相一致,通过航向控制和舵角控制共同作用以消除航向偏差,三个闭环共同作用使无人艇向消除航迹偏差的方向航行从而实现航迹跟踪控制。

具体算法以无人艇当前GPS 坐标点O(Oj,Ow)为圆心,以设定的可视半径R 建立圆的方程,以设定路径的上一目标点A(Aj,Aw)和下一目标点B(Bj,Bw)建立航迹直线方程,取距离下一目标点最近的交点P(Pj,Pw)为实际航行目标点。计算公式如下:

根据O 点和P 点经纬度可求得目标航向,计算公式如下:

4 系统测试

为了验证无人艇测控装置的各项功能,本装置安装在单桨单舵控制方式的无人艇中进行跑船测试,测控装置实物如图9 所示。试验在扬州芒稻河开展,如图10 所示,全程自主航行22.5 km,当天海况二级,风力三级,全程选取220 个目标航路点。自主航行过程中,无人艇通过4G 网络与岸基进行通信,通过上位机可实时显示无人艇艇内状态及周围环境视频,如图11 所示。

图9 无人艇测控装置实物图

图10 跑船试验

图11 上位机监控界面

无人艇实时传输的GPS 等信息记录在岸基上位机数据库中,共29 000 多个经纬度点,以纬度为横坐标,经度为纵坐标,将无人艇的目标航线和实际航线进行对比,如图12 所示,无人艇能够很好地沿着目标航路点自主航行,航行期间无人艇测控装置各项功能均可顺利执行。

图12 实际航线与目标航线对比图

5 结论

本文所设计的无人艇测控装置以高性能的ARM Cortex-M4 内核的STM32F407ZET6 微控制器为核心,以μC/OS-II 实时操作系统为嵌入式软件平台,形成统一的标准硬件接口和标准软件功能模块,高效完成了数据采集、信息交互、数据存储、电机控制、自主航行、状态监测等各类任务,可通过无线传输设备与岸基上位机系统进行通信,实现监测数据与控制命令的实时传输。试验结果表明,该装置可有效完成无人艇航行过程中的信息采集、处理、运动控制与数据交互等多种任务,在无人水面航行器领域具有广泛的应用推广价值。

猜你喜欢
航迹航向测控
基于自适应视线法的无人机三维航迹跟踪方法
基于事件触发的船舶航向逻辑切换自适应控制
大数据分析的船舶航迹拟合研究
风浪干扰条件下舰船航向保持非线性控制系统
基于数据挖掘的船舶航迹自动识别系统
星载测控终端型谱化研究
一种基于全程净航迹的越障判定方法研究
用“国家使命”导引航向——大学之大,重在推进产学研深度融合和科技成果转化
消除大班额的正确“航向”