基于STM32的水质监测仿生机器鱼的研究

2020-11-03 09:26文小玲
自动化与仪表 2020年10期
关键词:游动红外机器

喻 盈,文小玲,张 川

(武汉工程大学 电气信息学院,武汉430205)

水质监测对保护水资源和促进水产养殖都具有十分重要的意义。 传统的水质监测方法有人工现定点采样和建立自动监测站点,但不能全面反映整个水域的水质状况。 随着嵌入式和无线通信网络的快速发展,水质监测技术也逐渐自动化、智能化和网络化[1]。 仿生机器鱼将仿生学结合到水质监测领域,使监测设备模拟鱼类游动,体积小,相较于使用螺旋桨推进的监测设备更灵活高效、低污染、无扰动,能在不同的水域环境中进行水质监测。 本文设计了一种基于STM32 的水质监测仿生机器鱼,鱼体搭载各种传感器和控制器,采用双关节二自由度尾鳍控制游动,在目标水域进行自动巡航与避障,将采集的水质参数通过无线传感器网络传输到上位机,完成对水质的实时监测和管理。

1 系统的总体设计

基于STM32 的水质监测仿生机器鱼总体结构如图1所示。

图1 水质监测仿生机器鱼总体结构框图Fig.1 Overall structure block diagram of biomimetic robot fish for water quality monitoring

仿生机器鱼主要由机器鱼实体模型、STM32 控制模块、水质传感器模块、机器鱼运动模块、红外避障模块、GPS 定位模块、Lora 无线模块和电源模块等几部分组成。 规划目标监测点后,仿生机器鱼通过GPS 定位技术确定与目标点之间的方位,红外传感器检测周围障碍物,由STM32 微控制器驱动舵机和水泵使机器鱼前进转向、上浮下潜,到达目标点后水质传感器模块进行采样,将检测的水质数据使用Lora 无线通信模块传输到上位机进行显示。

2 仿生机器鱼的硬件设计

2.1 仿生机器鱼机械结构

仿生机器鱼在水下工作必须具有良好的稳定性,因此将机器鱼的重心维持在浮心下方,并保证机器鱼的密封防水性。 自然界中大部分鱼类包括鳗鲡科、鲹科、鲔科等鱼类[2],借助鱼体和尾鳍的摆动进行推进,这种方式称之为BCF(body and/or caudal fin)推进模式。所设计的仿生机器鱼采用双关节尾鳍,使用2 个舵机控制尾部摆动,与鱼体协调来实现巡游和转向,比单关节尾鳍的机器鱼游动更灵活,转向角度更大。 仿生机器鱼的机械结构如图2所示。

2.2 仿生机器鱼控制模块

图2 仿生机器鱼机械结构Fig.2 Mechanical structure of biomimetic robot fish

仿生机器鱼控制模块采用的主控芯片为STM32F103ZET6,是意法半导体公司推出的基于ARM Cortex-M3 内核的低功耗、低成本和高性能MCU,主频可达72 MHz,存储器最高具有512 kB Flash 和64 kB SRAM,内置3个12位A/D 转换器,2个12位D/A转换器,12 通道DMA和8个定时器,同时拥有13 个通信接口(包括I2C,USART,SPI,CAN,USB 以及SDIO),兼容各种外围设备,在该系统中可用于舵机控制PWM 输出、水质传感器数据485 通信、LCD 显示等,完全满足仿生机器鱼的控制要求。

2.3 水质传感器模块

水质数据采集模块采用八合一多参数传感器,可同时检测pH 值、溶解氧、温度、电导率、浊度、盐度、ORP(氧化还原电位)、氨氮共8 种参数。 传感器采用RS-485 通讯接口与STM32 进行串口通信,需要MAX485 作为转换芯片,芯片原理如图3所示。

图3 MAX485 芯片原理Fig.3 MAX485 chip schematic

RS-485 是一种半双工的异步串行通信方式,不能同时进行数据的收发,因此需要控制MAX485 芯片的收发工作状态。当RE 引脚为低电平时,芯片处于接收状态,接收来自传感器采集的数据;当DE 为高电平时,芯片处于发送状态,向传感器发送采集指令。

2.4 GPS 定位模块

GPS 定位模块采用u-blox 公司的NEO-6M 模组方案,其体积小、高性能、低功耗,搜星能力强,定位精度高,可以直接通过串口向单片机系统输出GPS 定位信息。 这些信息采用NMEA-0183 标准协议,输出常见格式为“GGA”,包含了经纬度、海拔、时间、速度等参数。 模块工作电压为3.3~5 V,含有EEPROM,掉电后仍可保存GPS 定位信息。

2.5 无线通信模块

组成局域网的无线传输技术有WiFi,ZigBee,蓝牙,等;组成广域网的有2G,3G,4G,等。在该系统中,将水质数据从仿生机器鱼传输到上位机采用Lora 无线通信技术,其工作频段为(410~441)MHz,最大发射功率20 dBm,最大通信距离3000 m,为一种远距离、低功耗、低成本的无线传输技术,可以实现点对点、点对多传输。

Lora 无线模块工作电压为3.3~5 V,通过串口与STM32 传输数据,改变模块的地址和信道,可以实现点对点之间的定向传输。

3 控制策略

3.1 仿生机器鱼的运动控制

仿生机器鱼在巡游过程中可分为直线游动、转向游动和上浮下潜。

游动时借助双关节二自由度尾鳍的摆动来实现推进,鱼体和尾鳍由2 个舵机单元连接而成。 在直线游动过程中,单个关节在侧方向上摆动的幅度相等,为正弦运动;第2 个关节为相位滞后的正弦运动。 尾部摆动的运动学模型如图4所示。

图4 尾部摆动运动学模型Fig.4 Kinematic model of tail swing

忽略环境因素的影响,对仿生机器鱼做运动行为分析。 其数学模型为

式中:Ka为振幅系数,表示关节振幅与最大振幅的比值;Kb为偏斜系数,表示关节摆动对称轴与鱼体轴的偏斜程度;A1m为第1 个关节的振幅;A2m为第2个关节与第1 个关节之间的振幅;f 为摆动频率;φ为第2 个关节与第1 个关节之间的相位差。

根据对鱼类的实际观察,直线游动时关节角度α 和β 的最佳角度为20°,周期约为0.25 s[3]。

转向游动时,控制尾部偏向左侧,则机器鱼依靠惯性进行左转向;尾部偏向右侧,机器鱼进行右转向。

仿生机器鱼在游动的过程中同样会模仿鱼类进行上浮下潜,常用的方法有改变重力法、改变重心法、鱼鳔法和鱼鳍法[4]。 该系统采用改变重力法,在鱼体内嵌入水箱,由控制系统驱动继电器实现水泵的开关,进行抽水和排水控制水箱储水量,改变机器鱼的重力,进而实现上浮下潜。

3.2 仿生机器鱼的自主导航

为实现自动化水质监测,仿生机器鱼在目标水域使用GPS 定位模块进行自主导航,监测任务完成后自动返航。 首先,以正北和正东方向建立平面二维坐标系,如图5所示。

图5 二维坐标下仿生机器鱼的自主导航路线Fig.5 Autonomous navigation route of biomimetic robot fish in two-dimensional coordinates

由于GPS 输出的是经纬度坐标,因此利用墨卡托投影变换将经纬度坐标(L,B)转换为平面坐标(x,y)[5]。 其转换过程如下:

其中

式中:L0为原点经度;B0为基准纬度;e 为第一偏心率;a 为椭球体长半轴。

用户设定需要监测的目标位置经纬度,平面坐标为(x,y),机器鱼获取起始位置坐标(x1,y1),计算出向目标位置巡游的航向角度为

游动过程中实时获取当前定位坐标,计算出当前位置距目标位置的航向角度,与起始位置的航向角度θ 相对比,并调整机器鱼的游动方向。 当仿生机器鱼游动到(x2,y2)位置时,θ1<θ,控制系统驱动机器鱼向右调整游动方向;当位于(x3,y3)位置时,θ2>θ,向左调整游动方向,直至达到目标位置。为避免机器鱼频繁修正航向角度,设置可允许的角度偏差为5°,当θ-θ1≤5°或θ2-θ≤5°时机器鱼不做方向调整。

3.3 仿生机器鱼的避障策略

水下的环境复杂且多变,仿生机器鱼在巡游的同时必须具备自主避障的能力。 机器鱼头部搭载红外传感器,通过发射和接收反射回来的红外线来判断前方有无障碍物,传感器最大检测距离为30 cm,检测角度为35°。 由于单个传感器具有局限性,故在此使用了5 个红外传感器,分别为鱼体前侧的M,左前侧的L,右前侧的R,上侧的S1 和下侧的S2。其空间分布如图6所示,全方位检测机器鱼运动路径上存在的障碍物。

图6 红外传感器网络分布Fig.6 Infrared sensor network distribution

红外传感器检测到障碍物时,会输出低电平信号,控制系统接收到信号后进行相应避障决策。 仿生机器鱼在游动过程中,首先判断红外传感器M,L,R 的信号,当检测到鱼体左前侧、右前侧都存在障碍物而无法前行时,再利用传感器S1 和S2 来检测机器鱼的上侧、下侧有无障碍物,没有则上浮下潜后继续前行。 其避障策略见表1。

表1 仿生机器鱼的避障策略Tab.1 Obstacle avoidance strategy of biomimetic robot fish

4 系统软件设计

系统软件由水质数据采集、无线传输、GPS 自主导航与红外避障等几部分组成,主程序流程如图7所示。

图7 主程序流程Fig.7 Main program flow chart

系统初始化完成后,计算起始位置与目标位置的航向角度。 在巡游的过程中实施避障,并调整当前航向角度,直至到达目标位置,向水质传感器发出采集指令,控制系统获取目标点水质数据后通过Lora 无线模块远程传输到上位机进行显示。

上位机可视化界面使用VC++6.0 软件开发,实现串口参数设置、用户信息管理,对远程传输的水质数据进行存储、显示和预警,提供历史数据查询。上位机可视化界面如图8所示。

图8 上位机监测软件界面Fig.8 PC monitoring software interface

5 结语

所设计的仿生机器鱼尾部,采用双关节二自由度尾鳍作为推进和转向系统;以STM32 为主控芯片进行数据的通信与运动控制;通过GPS 定位技术实现水下自主定点导航,利用红外传感器网络多方位检测障碍物进行避障;建立Lora 无线通信网络传输水质数据。 用户可在上位机软件查看水质数据,加强对目标水域的管理,实现水质的自动化监测。

猜你喜欢
游动红外机器
机器狗
网红外卖
机器狗
球轴承用浪型保持架径向游动量的测量
闪亮的中国红外『芯』
把手放进袋子里
8路红外遥控电路
TS系列红外传感器在嵌入式控制系统中的应用
未来机器城
父亲