基于STM32 的模拟电磁曲射炮实验系统设计

2020-11-20 03:20:22张清勇吕笑天李志勇李嘉豪
实验室研究与探索 2020年10期
关键词:电磁炮舵机测距

张清勇, 吕笑天, 李志勇, 李嘉豪

(武汉理工大学自动化学院,武汉430070)

0 引 言

随着机器视觉不断发展以及人们对电磁场学科的不断探索,电磁曲射炮逐渐步入人们的视野。针对高校对电磁场以及机器视觉的教学,设计一种基于机器视觉的模拟电磁曲射炮系统可以更好地帮助学生掌握相关知识。

目前出现的电磁发射器按照发射原理和结构不同主要分为轨道型、重接型和线圈型[1-2]。

轨道型电磁炮采用金属轨道作为炮管、固体或等离子体作为电枢、运用洛伦兹力实现电枢的发射,轨道型电磁炮起步较早,从构造方面来看更加接近传统炮概念,但因受轨道材料限制当今发展较慢。

重接型电磁炮无炮管、电枢,采用磁场重接完成弹丸的发射,该电磁炮具有无接触、无烧融等优点,但目前对重接型电磁炮的研究还不是很成熟,不适合本次设计使用。

线圈型电磁炮的炮管形式为驱动线圈,使用金属环作为电枢,运用载流导体间的磁力完成弹丸的发射,此种电磁炮因驱动线圈与炮弹无直接接触,避免摩擦因素,并且相同电流下推进力更大、可控性更好[3]。

本文使用线圈型电磁炮以及OpenMV机器视觉模块,实时获取所需颜色位置,实现炮口对引导标识的实时追踪,并实现对环形靶心的精准打击。系统方案实现难度较低,且精度极高,足够满足本次设计需要。

1 系统机械结构

基于机器视觉的模拟电磁曲射炮系统机械结构如图1 所示。该结构由两个2 自由度云台构成,舵机1控制电磁炮、摄像头以及超声波模块的横向转动;舵机2 控制电磁炮的纵向转动;舵机3、4 控制超声波模块的角度,完成对超声波模块角度的微调,实现超声波模块精准正对引导标识,以达到对标识距离的精准测量。

图1 系统机械结构图

2 系统硬件

2.1 系统硬件

模拟电磁曲射炮系统需要实现的功能有:识别引导标识,控制舵机1 运动使炮管正对引导标识,测出引导标识与电磁炮的距离,完成对环形靶心的精准打击。

模拟电磁曲射炮系统硬件由主控制器、识别、运动控制、电磁炮控制和人机交互等模块构成,系统硬件总体框图如图2 所示。主控制器负责驱动各传感器、执行相关运算并负责输出控制信号。识别模块包括一个超声波测距模块和一个摄像头,摄像头自带微处理器,运行相关图像处理算法,将获得的结果发送给主控制器。运动控制模块包括两个大扭矩以及两个普通舵机。人机交互模块包括OLED显示屏和红外遥控接收发送装置,实现模式选择和相关信息的显示。

图2 系统硬件总体框图

2.2 主控模块

模拟电磁曲射炮系统主控模块选用STM32F407VGT6 芯片,该款微处理器采用ARM -CortexM4 核心,最高工作频率168 MHz[4],采用LQFP100 的封装形式。FLASH 大小为1 024 KBytes,共有82 个GPIO,具有10 个16 bit通用定时器、2 个16 bit高级定时器和2 个16 bit 基本定时器。还有10.5 Mbit/ s的串口4 个,通过串口可以和OV7725 摄像头系统进行通信,使系统获取目标点的位置信息,实现对引导标识的获取。

2.3 识别模块

模拟电磁曲射炮系统识别模块中包括US-100 超声波测距模块以及基于OV7725 摄像头的OpenMV Cam H7 视觉模块,如图3 所示。

图3 识别模块实物图

US-100 超声波测距模块可实现2 cm ~4.5 m 的非接触测距功能,拥有2.4 ~5.5 V 的宽电压输入范围,静态功耗低于2 mA,自带温度传感器对测距结果进行矫正,同时具有GPIO、串口等多种通信方式,内带看门狗,工作稳定可靠谱且精度较高。

OpenMV Cam H7 机器视觉模块由板载微处理器STM32H743VI 和OV7725 摄像头构成。其具有400MHz的主频、1MB 的RAM 和2Mb 的Flash,可以使用MicroPython对其进行编程,实现机器视觉相关任务[5],例如:颜色识别、形状识别、人脸识别、边缘检测和特征点追踪等。在颜色追踪[6]、3D 定位识别[7]和特征检测人脸识别[8]等领域均获得了应用。在本系统的设计中,通过对目标颜色识别,将获取到的坐标点发送给主控芯片以进行后续的运算与处理。

2.4 运动控制模块

模拟电磁曲射炮系统运动控制模块由2 个小型舵机、2个大扭矩舵机组成。大扭矩舵机采用BLS-825 型舵机,该舵机在8.4 V电压时具有3.5 N·m的扭矩,并且具有0.11 s/ 60°的相应速度。该舵机如图4所示。

图4 BLS-825型舵机

2.5 人机交互模块

模拟电磁曲射炮系统人机交互模块由一片2.44 cm OLED 屏幕、红外接收头HS0038 和红外遥控器组成。

系统中OLED屏幕采用2.44 cm 128 × 64 SPI/ IIC OLED屏幕,如图5 所示。其OLED 显示驱动器为SSD1306,该OLED 屏幕具有以下特点:对比度高,显示清晰;接线方式丰富,具有串行SPI 和IIC 接口方式,且接线方便、节约微处理器的I/ O 口。OLED 屏幕用来显示当前的模式和相关信息。

图5 OLED屏幕

红外遥控器使用NEC协议,数据格式为:同步码、地址码、地址反码、控制码和控制反码。同步码由一个低电平和一个高电平组成,低电平时长9 ms、高电平时长4.5 ms,数据中剩下的4 部分均由8 bit 数据组成。

2.6 电磁炮控制模块

模拟电磁曲射炮系统电磁炮控制模块由电磁炮控制电路组成,该电路具有40 mF电解电容构成储能部分、一个OPA548 功率运放、一个SS8050 三极管构成可控充电部分、一个CSD19535 MOS管构成放电部分,该电路充电电压可控,输出电流恒定,该电路模块的实物图如图6 所示。

图6 电磁炮控制电路

2.7 硬件电路

(1)电磁炮控制电路。电磁炮控制电路原理如图7 所示,使用OPA548 功率运放搭建10 倍同相放大电路,通过采集单片机D/ AC输出的电压,并对电压进行10 倍放大,作为电容的充电电压,以达到控制电容能量作用;通过SS8050NPN 型三极管控制功率运放的E / S端,完成运放的通断功能。

图7 电磁炮控制电路原理图

由数据手册得知,该运放的输出电流:

由电容储能公式得知,电容储能与电容量C 成正比,与电容电压U 的平方成正比,本设计使用40 mF的电容以减小充电电压的大小,提高整体安全性。

电磁炮控制电路控制端与STM32F407VGT6 的接线方式见表1。

表1 电磁炮控制电路与STM32F407VGT6 接线方式

(2)运动控制模块电路。运动控制模块中,舵机的控制端须连接到主控的PWM 输出引脚上。4 个舵机控制端与STM32F407VGT6 的接线方式见表2。

表2 舵机与STM32F407VGT6 接线方式

(3)识别模块电路。OpenMV Cam H7 机器视觉模块使用串口与STM32F407ZGT6 微处理器进行通信。OpenMV Cam H7 机器视觉模块的VIN 引脚连接电源正极,使用5V电源进行供电,P4 引脚和P5 引脚与STM32F407VGT6 微处理器的接线方式见表3。

表3 OpenMV Cam H7 与STM32F407VGT6 接线方式

US-100 超声波测距模块同样使用串口与STM32F407ZGT6 微处理器进行通信。US-100 超声波测距模块的VIN 引脚连接电源正极,使用5V 电源进行供电,TX 引脚和RX 引脚与STM32F407VGT6 微处理器的接线方式见表4。

表4 US-100 超声波测距模块与STM32F407VGT6 接线方式

(4)人机交互模块电路。人机交互模块中,红外接收头HS0038 与STM32F407ZGT6 的PB1 通过10 kΩ电阻相连。

OLED 显示屏,采用4 线串口模式,通过VCC给OLED屏幕进行供电,使用3.3 V 电源,OLED 屏幕的D0、D1、RES、DC 和CS 引脚与STM32F407VGT6 微处理器的接线方式如表5 所示。

表5 OLED屏幕与STM32F407VGT6 接线方式

基于机器视觉的模拟电磁曲射炮系统的硬件电路如图8 所示。

图8 系统硬件电路图

3 系统软件

模拟电磁曲射炮系统软件设计部分主要包括STM32F407VGT6主程序设计、颜色追踪功能的实现以及测距功能的实现。

3.1 主程序

模拟电磁曲射炮系统软件设计采用状态机的思想,主程序流程如图9 所示。打开系统后,首先完成STM32 主控芯片的系统配置:初始化中断优先级、定时器中断、USART 中断和相关I/ O 端口;之后对外设模块进行初始化配置:OLED 显示屏初始化。之后进入任务控制循环,通过等待红外遥控输入信号来进行任务的选择。当TASK 被置为相应序号,则进行相应指令的执行。

配置串口中断,使OpenMV 摄像头模块以及US-100 超声波测距模块的数据传输到主控制芯片,并通过主控制芯片对坐标位置进行运算。

图9 主程序流程图

3.2 颜色追踪功能实现

使用OpenMV Cam H7 机器视觉模块实时监测引导标识的坐标信息,引导标识处设计为红色,在周围没有其他红色物体的场地,采用颜色追踪的方式进行坐标识别。OpenMV使用MicroPython 进行编程,首先对摄像头寄存器进行配置:使用RGB565 色彩模式和QVGA级别分辨率,关闭白平衡和自动增益。之后进入程序主循环,不断进行色块检测并将色块位置使用串口发送给STM32F407VGT6。USART 每次传输8 bit数据,摄像头图像平面坐标水平方向数据范围为0 ~319,将水平方向数据拆成2 次进行发送,STM32F407VGT6 端将数据重新组合进行使用。

STM32F407VGT6接收到坐标信息后,进行数据校验和滤波等预处理,接着进行坐标变换,然后驱动舵机1 进行转动,直至检测到引导标识位于图像横向正中心。

3.3 测距功能的实现

测距功能的实现采用超声波测距辅以单目摄像头测距[9]。颜色追踪步骤完成后,引导标识位于图像横向正中心,此时摄像头正对引导标识,摄像头所成图像与实际引导表示大小的关系如图10 所示。

图10 单目摄像头测距原理图

由于摄像头内图像呈现为像素点形式,而像素点形式换算成图像的大小时具有一定范围的误差[10-11]。已知引导标识大小、所测图像像素点大小以及相机焦距,可粗略估计引导标识距摄像头距离的范围[12-15],并使其作为引导标识距超声波传感器精确距离的范围,然后使舵机3 进行小范围摆动并获取超声波传感器的读数,取超声波传感器在精处理的估计范围中读数的最大值作为超声波传感器距离。

4 测试与分析

模拟电磁曲射炮实物如图11 所示,云台1 的结构由铝板构成,电磁炮支撑结构、云台2 支撑结构由3D打印件组成。环形靶由10 个直径分别为5、10、15、…、50 cm 的同心圆组成,外径50 cm,靶心直径5 cm;环形靶引导标识为直径20 cm 的红色圆形平板,在距靶心30 cm 处与靶平面垂直固定安装,圆心距靶平面高度30 cm。并设定平均环数测试指标,换算公式为:平均环数=总环数/测试次数。

图11 模拟电磁曲射炮实物图

4.1 模拟电磁曲射炮测试

(1)手动环形靶打击测试。首先进行手动环形靶打击功能测试,用键盘给电磁炮输入环形靶中心与定标点的距离d 及与中心轴线的偏离角度a,一键启动后,电磁炮自动瞄准射击,记录击中环数。相关测试结果见表6。

表6 手动环形靶打击测试记录表

(2)自动环形靶打击测试。进行自动环形靶打击功能测试,在指定范围内任意位置放置环形靶,一键启动后,电磁炮自动搜寻目标并炮击环形靶4 次均击中9 环。

4.2 模拟电磁曲射炮测试结果分析

通过多次测试,手动环形靶打击平均环数为9.4环,自动环形靶打击测试平均环数为9.35 环。实验结果表明使用机器视觉追踪引导标识精度高,并且测距精度高,手动打靶与自动打靶环数极为接近。但同时暴露出一系列问题。电磁炮距离与电磁炮俯仰角度关系模型建立精度较低,在电磁炮距引导标识235 ~240 cm时精度较低,偏差较大。

5 结 语

设计一种基于机器视觉的模拟电磁曲射炮实验系统,该系统结合了机器视觉与颜色追踪技术,实现了通过追踪引导标识使电磁炮对环形靶精准打击功能。系统使用较为简单的方案实现了较高颜色追踪以及环形靶打击准确性。该系统应用于教学与实验,可帮助学生更好地掌握电磁场和机器视觉领域相关知识。

整个系统仍有一定改进空间:通过更换云台1 的舵机为步进电机,实现对云台角度更精准的控制;通过增加对电磁炮电压的控制,实现对电磁炮射击距离的更精准控制。

猜你喜欢
电磁炮舵机测距
类星体的精准测距
科学(2020年3期)2020-01-06 04:02:51
含齿隙弹载舵机的全局反步模糊自适应控制
自动化学报(2019年6期)2019-07-23 01:18:36
电磁炮作为无人机武器系统的设计原理
电子制作(2018年18期)2018-11-14 01:47:56
一种三级加速便携式电磁炮的设计和制作
电子制作(2018年12期)2018-08-01 00:47:44
电磁炮的工作原理与发展趋势
消费导刊(2018年8期)2018-05-25 13:19:36
基于dsPIC单片机的飞艇舵机控制实现
电子制作(2018年1期)2018-04-04 01:48:14
浅谈超声波测距
电子制作(2017年7期)2017-06-05 09:36:13
基于高速同步485总线通信的多通道舵机控制器设计
基于PSOC超声测距系统设计
基于云模型的舵机同步控制