一种全自动电磁弹射系统的设计与实现
2021-11-06高丽,张辉,孙洋
高 丽,张 辉,孙 洋
(安徽师范大学 皖江学院,安徽 芜湖 241000)
1 引言
电磁弹射技术是一种新兴的直线推进技术,采用电磁产生的能量推动物体向外运动,与传统的机械弹射、能量弹射相比更加稳定、可控、环保[1-3]。目前的电磁弹射装置大多需要人工调节发射轨道,操作繁琐且误差较大[4,5]。测量方式一般使用超声波、激光等。测量维度单一,容易受环境影响且只能测算固定目标的位置[6-8]。本文设计的电磁弹射系统支持键盘输入距离和角度值,自动调节发射轨道,可以减少人为因素带来的操作误差。同时,支持摄像头和红外测距模块作为测量工具来实时测算目标的距离和角度,可在运动中锁定并击中目标。
2 系统设计
基于图像处理的全自动电磁弹射系统需实现按键输入、显示控制量、红外光测量距离、摄像头找寻目标、云台输出方向、电磁弹射发射等功能[9]。选择矩阵键盘、LCD 显示、红外测距、摄像头、二维舵机云台、电磁弹射等模块进行硬件电路设计。为整合所有设计模块之间数据的处理,选择STM32作为主控MCU。系统设计总体框图如图1所示。
图1 系统总体框图
全自动电磁弹射系统主要由3部分组成,即:主控部分、数据采集及电磁弹射部分。其中,主控模块选用STM32F103ZET6,负责数据的处理、控制指令的生成和协调其他模块。
数据采集主要由摄像头传感器、红外测距传感器组成。摄像头选择openMV,openMV 上搭载了Micro Python 解释器,方便在机器视觉算法中处理复杂的数据或执行算法,在图像处理方面有着高效快速的处理运算机制。红外测距模块选择TFmini Plus。
二维舵机云台由两个RDS3115 舵机、一个正副金属舵盘、一个正切U 型支架以及若干底座支架构成。主控运算数据输出PWM 波到舵机云平台计算弹射轨道。
3 系统硬件电路设计
系统的硬件电路主要包括电磁弹射电路、稳压电路及升压电路。稳压电路稳定系统的输入电压,便于整个控制系统数据的采集和输出数据的稳定。升压电路可以提升弹射电路的输入电压,弹射模块获得更高的能量,从而被弹射物体的初速度更大以提高整个装置的弹射距离。弹射电路将从升压电路获得的电能转化为被弹射物体的动能,从而弹射目标。
3.1 电磁弹射电路
电磁弹射按照加速原理可分为线圈型、导轨型两大类。其中导轨加速型体量大、不易控制且成本较高。本系统选择线圈加速型,将铜丝绕成线圈构成弹射轨道,铜丝的两端接入储能电路,当铜丝上电流瞬间变化时会引起线圈轨道内磁通量的变化,此时线圈内的导体产生电动势从而获得加速动能[10]。因此实现电磁弹射需要弹射电路且具备瞬间放电的能力。如图2 所示,选择1000uf 大电容作为储能元件,开始充电时稳压电路工作,电容C1 开始储存电能,直到被充满,按下按键使得加速线圈中的电流急剧增大,最终物体被弹出。
图2 弹射电路
3.2 稳压电路
整个弹射系统需要用到两种不同的供电,且总的实际供电电压值会有波动,为保证整个系统每次采集的数据受到的硬件电路影响降低,使用下列两种稳压方式进行稳定输出电压操作。
(1)7.2V 转5V 电压:通过AMS1086-5.0 稳压芯片进行转化,用于摄像头、电磁弹射模块和测距模块,如图3(a)所示。
(2)转3.3V 电压:使用AMS1086-3.3 稳压芯片进行转化,用于单片机的供电,如图3(b)所示。
图3 稳压电路
3.3 升压电路
由于被弹射物体弹射出一定距离需要足够的电能,系统最大只能提供5V 电压,因此需要升压。如图4,SX1308 是一种实用的贴片升压芯片,电路最高升压可达28V,输出电流最大为2A,并且可以在过流、过热时保护电路。SX1308可以为弹射模块提供足够的驱动能力。调节电阻的阻值可以控制电路实际电压,具有一定的开放设计范围,利于整体结构的调整。
图4 升压电路
4 系统软件设计
4.1 系统软件流程设计
系统的软件设计主要包括图像位置控制算法及发射控制部分,整体软件流程如图5所示。
图5 系统程序流程图
系统完成初始化且各模块能正常返回测量数据后,主控通过调节云台方向角的变化控制摄像头采集图像,寻找目标位置。同时利用算法处理,找到目标后立即触发中断。进入中断后,首先测量目标位置,然后计算并输出云台舵机仰角,控制舵机完成输出的仰角数值并启动弹射装置。将摄像头找寻到目标作为中断触发条件,距离测算和弹射仰角运算放在中断服务函数中执行,将其作为整体软件控制框架结构,并且可以通过节约MCU 的运算资源来增强单个模块数据处理的精度和速度。
4.2 图像位置控制算法设计
实现自动电磁弹射的第一步就是能够实时检测到目标的所在位置并控制弹射对准目标方向,因此需要提高摄像头的数据采集速度、目标位置锁定的准确性以及对输出控制量的平稳输出。本系统采用边缘检测、腐蚀膨胀处理、PID 控制3 种算法来实现。
4.2.1 边缘检测算法
当系统初始化完成后云台开始旋转,便于摄像头找寻目标,程序开始进入图像处理部分。当摄像头采集图像并传回后,对采集到的整体图像进行颜色识别和形状识别找寻目标,与此同时在找寻目标过程中加入边缘检测算法来提高摄像头对目标的反应速度。
4.2.2 图像腐蚀膨胀处理
为尽量减小环境光线对数据的影响以提高系统对目标位置锁定的准确性,使用腐蚀、膨胀手段先后处理摄像头扫描到的视野数据,对目标外的地方腐蚀处理,对目标进行膨胀处理。腐蚀处理可以将图像的高亮部分减小,突出目标区域。而膨胀会在目标图像的边缘添加像素值,进而达到突出目标的目的,使结果更为准确。
4.2.3 PID控制算法
利用位置PID算法来实时控制弹射对准目标方向,输出PWM 波控制舵机偏转角度,系统输出的PWM 波也代表了位置PID处理后的数学期望,其时域表达式如下:
T0表示PID 控制器的采样周期,利用millis()函数得到开机以来的毫秒数,通过dalta_time()函数得到当前时间,从而得到采样周期。因为在实际控制中摄像头每一次扫描到目标需要的时间不同,所以需要实时测量实际的采样周期,以达到精确控制的目的。
4.3 发射控制数据处理设计
控制弹射模块发射物体且准确击中目标,首先需测得目标与弹射装置的距离,分析云台仰角与弹射距离对应关系。通过红外测距模块测得离目标的距离值并利用多次测量的数据推导出距离-仰角的对应关系。
4.3.1 数据帧格式设计
当摄像头视野中心与目标中心位置一致后开启距离中断,TFmini Plus测距模块开始测量目标与摄像头之间的距离,通过飞行时间原理计算出距离数据,使用USART 发送给主控。由红外测距模块发送主控的数据信息如表1所示。
表1 数据帧格式
数据格式为十六进制。每一个数据帧的前两个字节都为0X59,主控在接收数据帧时需要分析数据帧头部并解析数据,若数据帧的头部为两个0X59,则为有效数,否则丢弃。解析出正确数据帧后,提取距离、信号强度信息。查询数据帧协议可知,需要将高八位左移八位,在加上低八位才是正确的数据,其中Dist 为距离信息,Str 为信号强度信息,范围为0-65535,一般信号强度越低代表目标物反射率越低,只有Str 值位于100-65535 时,此次的距离测量值有效。
4.3.2 距离-仰角函数拟合设计
仰角采用舵机控制,因此需要建立目标距离-仰角-PWM占空比之间的函数。
假设电磁弹射装置每次发射时给被弹射物的动能不变,则物体获得的初速度不变定义为V,云台的仰角为α,整个装置的水平高度为H,在忽略空气阻力的基础下结合自由落体数学公式得到如下距离角度公式。
5 测试结果
5.1 测试环境
组装舵机云台,固定摄像头支架,将测距模块中心点与摄像头焦点对齐,将电磁弹射装置固定于仰角舵机上。为了测量整个弹射系统的准确性及速度,设置如图6 所示的不同距离和不同角度的测试点。将电磁弹射装置放置在坐标定点处,目标位置为图中ABCDEFG7点。
图6 测试点位置
5.2 测试结果及分析
利用图像处理算法、控制算法、通信协议等,对实验数据进行了多次采集拟合。为加快整个系统的反应速度,通过以下3 种测量方式对整个系统的运行状况进行测量。
(1)通过矩阵键盘输入距离d值与中心轴线的偏离角度α,一键启动后,电磁弹射装置自动瞄准射击,取得输入射击数据表,测量准确性。
表2 所示为输入射击数据表,其中,P 为输入角度(°),S为输入距离(cm),D为5次的误差(cm),AD为里中心点的平均误差。通过矩阵键盘输入固定的角度及固定的距离得出误差不超过6cm。可见系统的精确系数较高,且目标距离越远,弹射装置的精度越差。
表2 输入射击数据表
(2)选取半径为30cm 的圆形靶作为目标,电磁弹射装置与环形靶的位置示意如图7所示。电磁弹射装置放在指定位置(定标点),所有参数全部为初始值即水平方向夹角为0°、垂直方向夹角为0°。环形靶水平放置在地面,靶心位置在与定标点距离200-300cm。通过引导标识确定输出量并计算轨道。
图7 电磁弹射装置与环形靶的位置示意图
选择固定住电磁弹射装置,并将摄像头偏转角的初始值设为0°,然后选择将标靶随机移动到图6的7 个测试点,并在标靶到达测试点固定不动且一键启动装置后开始计时,测量系统的反应时间。表3 所示为瞄准射击数据表,测量系统整体的反应速度,其中,T 为5 次的时间误差(s),AT 为平均时间误差(s)。
表3 搜寻瞄准射击数据表
由表3 的实验数据可以得出,在前方180°的水平偏转角度的范围内,系统的搜寻目标的时间不会超过21s。系统装置在进行目标搜寻时,先进行向左5°的偏转角偏转到左极限,若没有发现目标则由左极限向右极限方向以5°的偏转角偏转到右极限依次循环。实验结果表明按照此方法运行,系统的总体反映速度较快。
(3)将电磁弹射装置固定不动,将目标放置在E点即正对摄像头中心距离为260cm 的点,将摄像头进行左右匀速偏转45°角并做往复偏转运动,在运动中对目标进行位置锁定并弹射出去,得出运动瞄准射击数据,如表4 所示,用来测量系统的整体稳定性。
表4 运动瞄准射击数据表
6 总结
本文设计并实现了一种基于图像处理的全自动电磁弹射系统,解决了传统电磁弹射装置需要人工调整角度的问题,实现了自动扫描锁定目标位置的功能。设计了整个硬件电路,编写了控制系统的图像处理算法,位置控制算法,各模块之间的通信数据处理等。实验结果基本上实现了本文理论设计的功能。但文中提出的设计还有不足之处,如弹射电路的储能大电容的能量无法一次释放等,后期将继续改进。