激光自动射击装置设计与研究

时间:2022-06-11 09:28:55

激光自动射击装置设计与研究

【摘要】为模拟激光枪射击打靶过程,设计了一种通过手动或自动控制激光枪瞄准胸环靶并发射激光的自动射击系统。该系统分为胸环靶和射击台两部分,采用Stm32F10X单片机控制。手动打靶时用键盘控制激光枪弹着点,投射在胸环靶上的激光点通过摄像头识别,并在LCD上显示弹着点的环数与方位信息;自动打靶时摄像头作为系统的反馈环节,保证了系统的准确性和稳定性。实验表明该系统可以快速,准确的完成射击,并实时显示射击结果,实现了预期的功能。

【关键词】激光枪;自动打靶原理;摄像头;Stm32F10X

Abstract:In order to simulate the process of laser gun aiming and shooting,the automatic shooting system is designed by a manual or automatic control of laser gun aimed at and shot the chest bitmap laser.The Stm32F10X is the control unit of the system,which is divided into the chest bitmap and launch pad.When in manual mode,the keyboard is used to change the position of laser bullet point,after the camera identification of the laser point on the chest bitmap,and then LCD shows the ring number and location information;when in automatic mode,the camera as a feedback,guarantees the accuracy and stability of the system.Experiments show that the system can be quickly,accurately complete the shooting,and real-time display of shooting results,achieved the expected function.

Key words:the laser gun;automatic shooting principle;camera;Stm32F10X

1.引言

目前的射击打靶训练,基本以实弹训练为主,国防开支大,危险系数高。以光代弹,可以模拟多种武器的射击情况,减少了场地的限制,并能检验射击效果。激光打靶射击训练在这种要求下应运而生。

但是其装置成本和可靠性有待改善。在分析其需求后,设计了一个容易实现并且成本低的电子系统来模拟激光枪打靶过程。该系统具有手动打靶,快速打中靶心及自动打靶的功能,本文主要就其自动瞄准打靶,自动控制打靶的原理与算法展开。

2.系统总体方案

系统由Stm32F10X控制模块,电机驱动模块,按键模块,带FIFO的OV7670摄像头模块,分辨率为320*240的LCD液晶显示模块,W25X16构成的外部存储模块以及相应的电路组成。通过按键控制激光枪射击台的上下两个电机,从而改变胸环靶上弹着点位置,摄像头拍照后的数据存放到flash中,根据一定算法,处理器从flash中分辨出各点,最后将弹着点所在的环数、方位通过LCD液晶显示。系统框图如图1所示。

图1 系统框图

3.理论分析与计算

系统的关键点在于如何检测弹着点、在判断环数后,如何根据要求来控制电机的转动。系统自动打靶原理分为激光枪控制和弹着点检测及处理两部分。

3.1 激光枪自动控制原理

胸环靶和激光笔都固定在三脚架上,其位置示意图如图2所示。使激光笔水平时的高度与靶子的中心等高,控制时让激光点打在第n环上的中点,则激光笔转过的角度为:

(1)

由反正切函数数学特性可知,激光笔转过的角度最小为:

(2)

可见,为能准确打靶,则电机转过的精度必须高于0.9483°。激光枪由单片机通过三极管控制其开关,由两个步进电机组成的二维转动平台来控制激光笔所打的位置。选用28BYJ48的步进电机,采用四相八拍的控制方式,其步距角为0.0879°,可实现激光枪精确打靶。

图2 胸环靶和射击台位置示意图

图3 胸环靶示意图

图4 步进电机驱动原理图

3.2 弹着点检测原理分析、计算

摄像头配置成RGB565模式,摄像头得到图像显示在LCD上,然后读出240*320这些像素点的RGB565值按顺序存入W25X16。激光点的亮度很高,其RGB值在0xd000左右,白色点的值接近0xffff,黑色标记点的值在0x5300以下。在杂光干扰下,不能近根据RGB值来区分这三种点,因为此时白色点很可能误判成激光点。系统最终在确定红色激光点时,用红色分量与蓝色、绿色分量的差值大于45来确定红色激光点。在确定标记点、激光点的坐标时,将所有符合条件的点的坐标数据取出,利用平均值法,得到相应点的绝对坐标。

以固定在胸环靶四角的4个标记点黑点来定位,分别采集这4个点的坐标,得到靶子的坐标。建立坐标的示意图如图3所示。由得到的四个标识点的坐标A1(x1,y1)、A2(x2,y2)、A3(x3,y3)和A4(x4,y4),便可得到电子靶的中心点O1(x0,y0),以及7个同心圆之间的距离d0。即:

x0=(x1+x2+x3+x4)/4 (3)

y0=(y1+y2+y3+y4)/4 (4)

d0=(x3+x2-x1-x4)/4 (5)

每两环之间的距离为:

r0=d0/7 (6)

当检测到激光点的坐标为M(x,y)时,与靶中心O1的距离为d,

(7)

则打中的环数为n,

n=10-d/r0;(n=10,9,8,7,6) (8)

图5 闪存电路

图6 激光笔电路

4.电路与程序设计

4.1 电机驱动设计 (下转第91页)(上接第88页)

用L298N驱动步进电机,控制步进电机采用四相八拍的方式,不需要调整角度时,关闭使能端,以降低功耗。本系统需要驱动两个步进电机,因此使用两片L298N。

4.1.1 存储器电路

外扩存储器为SPI接口的Flash(W25x16),其容量为16Mb可存储13张320*240像素点的图片。Stm32通过SPI1接口以主模式来读写Flash。拍照时,将LCD上显示的照片中各像素点RGB值存入Flash中,在对图片信息分析时,将各像素点RGB值从Flash中读出。闪存W25x16连接电路如图5所示。

4.1.2 激光笔电路

激光枪与胸环靶间距离为3m,调节滑动变阻器R2,改变激光笔电流,使激光枪发射直径小于5mm的激光束。程序中仅在调整电机结束后,控制激光枪发射激光。激光笔电路如图6所示。

4.1.3 摄像头模块

采用ALIENTEK OV7670摄像头模块,该摄像头模块自带了一个FIFO芯片,配置成QVGA输出(320*240),RGB565格式。因为有许多参数要综合调节,所以调试摄像头时需要结合上位机来调试。其自带的用户手册中有较详细说明,在此不赘述。当摄像头拍摄出来的图像清晰时,需要将它固定下来,以减少拍照中干扰,固定后还要作进一步的调试,直至图像失真最小。本系统中将摄像头、射击台及主控板固定在一个三脚架上。

4.2 程序设计

本系统采用状态机思想编程,设置了五个独立按键。Key1用于四种大模式的切换,在每种模式下,key2用于几种状态的切换,key3是增加键,key4是减少键。以手动拍照模式为例,key2用于选择显示存储器中第几张照片或摄影模式下拍第几张照片或拍照功能,key3和key4用作增减键。Key5作为确认键或退出键。系统程序流程图如图7所示。

图7 程序流程图

5.测试结果

胸环靶位置不变,测试其三种功能。功能1:任意给激光笔的指示位置,打靶,液晶显示打靶结果;功能2:迅速瞄准并击中靶心,液晶显示打靶结果;功能3:任意给环数,激光枪打到相应环数,液晶显示打靶结果。三种功能测试数据如表1所示。

表1 验证3种功能所测数据

实验次数 验证功能 相应状态 实验结果 环数偏差

1 1 实际环数5 报靶环数5 0

2 1 实际环数6 报靶环数6 0

3 1 实际环数8 报靶环数8 0

4 1 实际环数9 报靶环数9 0

5 2 击前环数9 击中环数10 0

6 2 击前环数8 击中环数10 0

7 2 击前环数6 击中环数10 0

8 2 击前环数5 击中环数10 0

9 3 设定环数5 击中环数5 0

10 3 设定环数7 击中环数7 0

11 3 设定环数9 击中环数9 0

12 3 设定环数10 击中环数10 0

经过反复调试,胸环靶位置不变,任意给激光笔的指示位置,手动打靶,液晶能正确显示弹着点的环数与方位信息,此外,在15S之内,激光束光斑从胸环靶上的指定位置迅速瞄准并击中靶心;任意设定环数,激光枪能自动准确打到相应环数。由所测实验结果,如表1,系统很好的完成了指定功能。

6.结束语

本系统射击台与胸环靶相对位置不变,为更真实模拟射击过程,仍需扩展一定功能,主要是图片处理算法的完善这方面。在本系统方案基础上,后期工作主要是在改变电子靶的一定倾角后使系统仍能准确快速完成射击。

参考文献

[1]刘军.例说STM32[M].北京:北京航空航天大学出版社,2011.

[2]简楹.基于颜色和边缘信息的交通标志检测[J].山西电子技术,2011.

[3]余剑.基于CMOS图像传感器的激光射击模拟训练系统的研究[D].南京:南京理工大学,2005.

[4]黄智伟.全国大学生电子设计竞赛系统设计(第2版)[M].北京:北京航空航天大学出版社,2011.

基金项目:该文系武汉轻工大学大学生科研项目。

作者简介:

熊碧涛,现就读于武汉轻工大学电气与电子工程学院电气工程及其自动化专业。

樊东,现就读于武汉轻工大学电气与电子工程学院电气工程及其自动化专业。

李亚巨,现就读于武汉轻工大学电气与电子工程学院电气工程及其自动化专业。

通讯作者:李战胜(1978—),男,讲师,主要研究方向:计算机控制及算法研究。

上一篇:基于ARM的矩阵键盘设计及其linux驱动实现 下一篇:智慧城市关键技术研究