模拟电磁曲射炮设计
扫描二维码
随时随地手机看文章
1系统方案设计
本设计主要采用sTM32单片机作为主控芯片,用openMV3采集数据,用双舵机云台控制炮台角度和摄像头方向,通过oLED显示模块作为整个系统的交互界面,按键可以进行模式选择和距离角度的输入,以调整云台角度,电源模块、电磁炮、继电器控制电磁炮的充电和发射。下面将其中主要模块的选择与设计方案进行详细介绍。系统整体框架如图1所示。
1.1控制方案选择
方案一:采用sTM32单片机。sTM32系列单片机拥有高性能、低成本、低功耗嵌入式应用设计的ARMCortex-M3内核,程序库比较齐全,并且程序为模块化,接口相对简单,应用较为广泛。但也存在一定不足,如针对多路信号处理需要多片DsP并行处理。
方案二:采用MsP430F5529作为主控芯片。MsP430系列单片机是美国德州仪器(TI)1996年开始推向市场的一种16位超低功耗、具有精简指令集(RIsC)的混合信号处理器(MixedsignalProcessor)。MsP430单片机具有处理能力强、运行速度快、功耗低、内部资源丰富等优点。但是I/o口无保护,易被过压过流击穿。
在综合比较上述两种方案后,基于本系统的特点采用方案一,使用sTM32单片机作为主控芯片。
1.2测距装置的选择
方案一:采用激光测距模块ATK-VL53L0X测量标识物体与炮台间的距离,但是激光测距模块测量范围较小,在规定射程内容易受光线强度影响,会产生较大的测量误差。
方案二:采用openMV3测量炮台与标识物间的距离,测量较为精准,误差较小,并且用openMV3还可以代替摄像头寻找目标,实现自动搜寻目标。在openMV3与sTM32单片机之间采用串口通信,实时回传openMV3所测量的数据。
考虑到整个系统的稳定性与所实现的功能等方面进行分析,本设计决定采用功能更为全面的openMV3作为测距装置。
1.3电源模块设计
电源模块不仅给单片机和云台供电,还要给电磁炮电容进行充电,给电磁炮提供足够动力。电源的选择还要首先在保证安全的前提下考虑。经过多次实验验证,在采用双电源对电路进行供电时,既能保证各个模块运行,还可减少各模块间的相互干扰,提高系统运行的稳定性,且可保障安全。通过降压稳压模块分别对sTM32单片机、openMV3和舵机进行供电,对电磁炮电容进行充电时,所需电压较高,为避免对其他模块运行造成影响,本设计采用单独电源s-15-24AC-DC变压器给电容充电,通过继电器控制电容充电和放电时间。
1.4电容的选择
电容在整个电磁炮组成中起着至关重要的作用,作为整个电磁设备的储能装置,可以为电磁炮的发射提供足够能量。所以电容的电荷和电压决定了电磁炮的发射动力。
方案一:采用小电容并联方式给电磁炮提供动力,当采用并联方案时,电容容量变大,耐压值变为并联电容中电压最小值,此方案会使用较多电容,使用更多资源,但成本较低。
方案二:采用一个大电容给电磁炮提供动力,大电容可以储存更多电量,还可以优化电路结构,减少资源使用,且大电容更能保证安全。
经过多次实验和理论分析,本设计决定采用一个100V、10000uF的大容量电容给电磁炮提供动力。
2理论分析和计算
2.1电容大小计算
电容器电势能计算公式:e=cu2/2=gu/2
多电容器并联计算公式:c=c1+c2+c3+…+cn
多电容器串联计算公式:1/c=1/c1+1/c2+…+1/cn
式中,e为电势能:c为电容:u为电压:g为电荷量。
2.2弹丸发射角度与距离的计算
当电磁炮供电电源和弹丸大小一定时,通过调整舵机角度测得以下实验数据,如表1所示。
经过多次实验调试和数据采集分析,当舵机角度为40。时,发射距离最大。经过数据分析和计算,理论距离与舵机角度公式:
式中,s表示距离:x表示角度。
3电路与程序设计
3.1电路总体设计方案
电路总体设计方案如图2所示。
3.2程序设计
本系统采用模块化结构设计,以KEIL为sTM32单片机开发环境,提供了C编译器及功能强大的仿真调试等完整的开发方案,以0penMVIDE为0penMV的开发环境,使用python进行语言编译,实现数据采集和单片机之间的通信,二者协同工作,使各功能组态更简洁明了,使用更便捷。
3.2.10penMV实现主要思想
导入所需模块,完成初始化设置,然后进行图像处理。设置ooVGA模式,即屏幕大小为180mm×120mm,根据先前设置的颜色阈值(红色目标),实现颜色追踪功能,再调用0pneMV相关库,将目标标记出来,然后选取目标最大色块进行标记,即最后屏幕上只标记目标最大色块,然后读取目标色块的横坐标、纵坐标,并通过串口通信发送给sTM32单片机,进行相关处理后,进一步控制舵机,同时根据摄像头成像相关原理,依据实际距离和像素关系,读取目标与摄像头直线距离,同样通过串口通信发送给sTM32单片机。
3.2.2sTM32实现主要思想
sTM32作为控制板,分为基础部分和发挥部分。首先通过按键输入,整体上分为5个模式,分别对应基本方法的3种功能实现。通过按键进入模式2,0LED会进行显示,比较清晰。模式2实现输入距离,控制线圈炮将炮弹打出。然后再次按键,切换到模式3,通过函数的调用,实现输入距离和角度,控制炮弹发射。发挥部分主要通过串口通信接收来自0penMV的数据,包括点坐标和距离,并读取写入sTM32程序,实现对云台舵机的调整,进而对移动目标进行跟踪。
3.2.3程序流程图
程序流程图如图3所示。
4系统测试
4.1测试仪器
(1)卷尺:(2)220V交流电源:(3)靶子:(4)目标标识物:(5)量角器:(6)秒表。
4.2测试方案
(1)搭建好场地后,连接电路电源。(2)分别对基本部分和发挥部分进行测试。(3)通过按键选择测试内容。(4)观察弹丸击中的目标靶数并记录靶数和所用时间。
4.3测试结果
基本要求测试结果如表2所示,发挥部分测试结果如表3所示。
4.4测试结果分析
通过测试结果可以看出,测量值存在较大偏差,且在发挥部分的测试结果并不理想,离预期还有一定的差距。经过对这个运动过程的分析发现:舵机在转动过程中产生的震动会对摄像头数据的采集和弹丸的发射产生一定影响,并且所使用的弹丸材质不同也会对结果有一定影响,经过多次实验发现,带磁性的物质发射距离更远,运动过程也更加稳定。
5结语
本设计利用所学专业知识,完成了模拟电磁曲射炮的设计与调试工作。模拟电磁曲射炮经过测试,可以较为精准地击中目标,但是模拟电磁炮在调试过程中也还存在一些问题,例如,0penMV在不同光照环境下的识别可能会出现识别结果错误,或者0penMV的识别会受到与目标相似干扰物的影响等。这些问题都需要在以后的改进和调试过程中解决。