周静
(西北民族大学,甘肃兰州,730030)
电磁炮是当代一种极具杀伤力的武器系统,是利用电磁感应原理及抛物原理所构成的实体,随着电子技术在各个领域的快速发展,人们希望电磁炮拥有更强的打击力度、更精确的射击目标定位和更短的攻击时间。本系统将传统电磁炮与现代控制系统相结合构成模拟电磁曲射炮,来进一步提高电磁炮的响应速度和攻击能力。
本系统供电采用12V的格式电池,经多路稳压将合适的电源输送至各个模块,外部控制由4×4的矩阵键盘完成,各个模块的执行情况均会在OLED显示模块中体现出。系统总体结构如图1所示。
图1 系统总体结构
本系统技术方面分为两部分,一部分由单片机、舵机、键盘实现外部控制,人为计算出所要打击的位置,另一部分由单片机、舵机、摄像头实现自动控制,由单片机采集摄像头图像自动分析出所要打击的位置,并且自动炮击。系统技术路线图如图2所示。
图2 技术路线图
1.3.1 控制器模块方案选择
方案一:采用STM32F407ZGT6为系统的控制器。该控制器拥有ARM Cortex-M内核,具有一流的外设,以及在芯片上集成32-512kb的闪存, 6-64KB的SRAM存储器,2.0-3.6V的电源供电和I/O接口的驱动电压。最多高达112个的快速I/O端口、最多多达13个通信接口、最多多达11个定时器;STM32由于有各种外设操作起来简单,可以处理模拟以及数字信号。
方案二:采用STM32H743VIT6为系统的控制器。OpenMV基于STM32F407ZGT627CPU,集成了OV7725摄像头芯片。用于OpenMV的 STM32H743VIT6具有丰富的硬件资源。但是由于我们完成的部分,需要用芯片控制舵机的转动方向,从而控制炮口的发射方向,如果直接使用OpenMV的芯片来实现此功能,则难度过大,且实现度较低。
方案三:采用STC89C51单片机为系统的控制器。51单片机是当前社会相关行业所最广泛使用的。不但能够对晶片内某个特定功能寄存器加以管理,还能实现位的逻辑计算。但是对于我们制作的这套系统来说,用51有很大的缺陷,AD、EEPROM等功能需要靠扩充,增加了硬件和软件负担;虽然I/O脚使用简单,但高电平时无输出能力;运行速度太慢,尤其是双数据指针;51单片机保护能力很差,容易导致芯片烧毁。
以三者来看,方案一更适合用于我们设计的模拟电磁曲射炮控制电路,该芯片可以很稳定的将控制板和舵机相结合,和摄像头结合,并且实现我们需要的功能。
1.3.2 电磁炮方案选择
方案一:线圈炮
线圈炮又称交流同轴线圈炮,早起的电磁炮即是由加速线圈及弹丸线圈所构成的。它所基于的原理是带点线圈间磁场相互作用。将加速线圈固定在线圈炮的炮管内部,之后给线圈通入直流电,其会形成变化的电磁,可以在线圈包裹的炮管内部形成反电压。因而退动线圈电压的磁性与反应电压的磁性相互影响,形成洛仑兹力,可以使导磁的弹丸被洛伦兹力带动而发射出去。
方案二:轨道炮
钢轨炮的原理是运用两个钢轨电流间相互作用的安培力把炮弹发送过去。其由两个相互平行的长直导轨构成,导轨间安放一个质量较小的滑块当作炮弹。之后给两轨接通电源,电压将从一个轨道流入,经过滑块之后通过另一个导轨流回,进而在该回路形成强磁场,由于滑块不是固定在钢轨上的,收到该回路安培力的作用下,会以很大的速度射出。
以上两个方案,方案一更加能够实现的我们的系统,制作方便,操作安全简便。
SPTS410LV舵机、OLED显示屏、STM32F407ZGT627开发板、电池、漆包线、按键模块、继电器、稳压模块、升压模块、超级电容、可控硅、二极管。
电磁炮加速跑弹的原理是,在磁场中,载流导体或者运动电荷会引起电磁力(即洛伦兹力)效应。
电磁场中,磁感应强度为:
其中:μ0为真空磁导率常数,值为μ0=4π× 10-7N·A-2,n为线圈的匝数,I为流过线圈的电流。因此弹丸在线圈中受到的电磁力:
因为空气阻力Fr=-kv,由牛顿第二定律的分量式,可知:
则:
对上两式分别计算,并考虑起始条件,t=0时:
得:
由于dx=vxdt,dy=vydt,将上两式代入后取积分,得:
最终可得抛物体的轨迹方程为:
已知电容储存能量 E_1=1/2 CU2,电磁炮炮弹所具有的能量(动能)为E_2=1/2 mv2,则电磁炮的能量转换效率为η=E_2/E_1。
3.1.1 电磁炮电路设计
本系统电路采用20V升压模块对12V电源进行升压,以满足电磁线圈的磁力要求,而升压电路的开断由可控硅及继电器进行控制。电磁炮电路如图3所示。
图3 电磁炮电路
3.1.2 升压模块电路设计
本系统升压模块采用模拟电子技术原理,采用电阻、电容、电感、三极管等原件,构成多组运算放大电路,对电源进行升压。升压模块电路如图4所示。
图4 升压模块电路
本系统软件设计方面,在单片机初始化之后,会等待外部键盘输入参数,并且将单片机接收参数之后进入的工作模式通过OLED进行显示,之后单片机向IO发送PWM信号,使舵机位置根据输入参数进行调整,继而发送炮弹,在完成发射之后,单片机控制舵机复位,等待下一次参数的输入。本模拟电磁曲射炮的程序流程图如图5所示。
图5 软件设计流程图
4.1.1 电磁炮发射功能测试
主控制器可以根据参数自动给超级电容充电,当超级电容器的电压达到预设时间之后自动停止充电;再按下发射按键,测试电磁炮能否发射弹丸并测量弹丸落地位置距离定标点的距离。
4.1.2 由键盘输入数据控制电磁炮发射测试
首先,给电磁炮的储能电容器充电,当储能电容器的电压达到一定数值后(40V)停止充电;然后,通过外部键盘键入环形靶中心和定标点之间的间距d与和中心轴的偏离角度到主控制器中;之后,按下电磁炮启动按键,单片机控制的操舵装置自行调节炮管水平方向与垂直仰角方位;最后,主控制器根据键入参数调整舵机位置到预定姿态,并且控制电容充放电电路,发射炮弹到预定位置,根据炮弹第一次落地时所在靶环数计分。
4.1.3 炮击测试和环形靶的自动搜索
首先,环形靶将根据规则要求被放置在随机位置;然后,按下电磁炮的启动按键,单片机给电磁炮的储能电容器充电,当储能电容器的电压达到一定数值后(40V)停止充电;再次,单片机根据舵机上的摄像头模块对引导标识的自动搜索来驱动舵机以调整炮管水平方位及垂直仰角方向,从而实现自动瞄准;最后,主控制器对电容进行充放电操作,射出炮弹,所得分数按炮弹第一次落地击中位置计分。
充电800ms:(按键次数) 0123456 PWM占空比 2620260025802560254025202500150148160170190248265射程148150165180220260290140140170195228260300平均射程 146146165181.7212.7256285
本系统在测试阶段共进行多组数据采样,其中选取了七组最具代表性的数据,以此为素材进行函数拟合,得到一组线性函数,将其写入单片机,实现目标距离、目标角度到舵机转动角度值之间的转换。
经过软件对所得数据进行线性拟合,得到一条平滑曲线,对其进行直线投射得到一组函数方程。如图6所示,x轴为PWM波占空比,y轴为平均射程。
图6
(1)电磁炮能够成功将弹丸射出。
(2)环形靶被放置在定标点前方的0.2m~0.3m之间,并且处在中心位置。
(3)当靶在炮管的同一条轴线上时。由键盘键入靶心到炮管的距离值,电磁炮即可自动充电,将炮弹射击到靶心的位置,且误差值的绝对值小于等于50厘米。
(4)由键盘向主控制器外部键入所需打击的距离以及角度,按下启动按键后,电磁炮可以根据键入参数自动调整到舵机相应的位置,得分由实际击中的环形靶计分,脱靶则无分数。
(5)在规定区域内任何地方安放环形靶(有导向标志),按下启动按键后,主控制器控制舵机按照一定规则自动寻找红色目标靶心并进行炮击,可以打中环形靶,而且结束时限≤30s。
本文详细介绍了曲射电磁炮系统控制方案。该系统STM32F407ZGT6作为系统控制处理器,采用基于摄像头图像采集目标信息,并得到系统与目标之间的偏移量,单片机得到信息后控制云台瞄准、发射。本系统对于电能消耗较大,且电路元件负载较大。若改用多级线圈加速,可使加在线圈上的电压减小,使电路更稳定,能耗小。