激光枪自动射击装激光枪自动射击装置_第1页
激光枪自动射击装激光枪自动射击装置_第2页
激光枪自动射击装激光枪自动射击装置_第3页
激光枪自动射击装激光枪自动射击装置_第4页
激光枪自动射击装激光枪自动射击装置_第5页
已阅读5页,还剩10页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2013年大学生校内电子设计竞赛

激光枪自动射击装置

姓名

指导教师

完成日期2013年6月15口

1.3方案比拟选择3

1.3.1电机选择3

2理论分析与计算5

2.1激光靶点分析5

2.1.1激光点运动轨迹分析5

2.1.2打靶精度分析6

3.1总体设计6

3.2.1PWM波的生成7

佳的美PL8003TFT点阵显示屏7

4测试方案与测试结果7

4.1测试方案设计7

4.1.1测试仪器7

4.1.2测试方法:8

4.3弹着点图像显示则试及结果(拓展局部)8

4.4自动中心打靶测试及结果(拓展局部)9

4.5任一点打靶测试及结果(拓展局部)9

设计一个能够控制激光枪击发、自动报靶及自动瞄准等功能的电子系统。该系统由激光枪及

瞄准机构、胸环靶、弹着点检测电路组成,其结构示意见图1。

1.用激光笔改装激光枪,激光枪可受电路控制发射激光束,激光束照射于胸环靶上弹

着点的光斑直径V5mni;激光枪与胸环靶间距离为3mo

图1激光枪自动射击装置示意图

2.激光枪固定在一机构上,可通过键盘控制激光枪的弹着点[用键盘设置激光束在靶

纸上上下、左右移动一定距离)。

3.制作弹着点检测电路,通过摄像头识别激光枪投射在胸环靶上的弹着点光斑,并显

示弹着点的环数与方位信息。其中环数包括:10、9、8、7、6、5、脱靶;方位信息是指弹

看点与10环区域的相对位置,包括:中心、正上、正下、正左、正右、左上、左下、右上、

右下。详见图2-b。

1.在图形点阵显示器上显示胸环靶的相应图形,并闪烁显示弹着点。

2.自动控制激光枪,在15秒内将激光束光斑从胸环靶上的指定位置迅速瞄准并击中靶

心(即10环区域)。

3.可根据任意设定的环数,控制激光枪瞄准击中胸环靶上相应位置。

4.其他

2-a胸环靶尺寸2-b胸环靶环数及方位信息示意

图2胸环靶示意图

1.3方案比拟选择

1-3.1电机选择

方案一:两个伺服电机。伺服电机自带高精度编码器,便于进行速度的闭环控制,驱动能力强,机械

性能也好。在实验中发现,虽然进行了闭环控制,控制也很平缓,但是打靶的精度也只能根本到达要求。

方案二:两个步进电机。步进电机具有快速启动能力,转换精度高,正反转控制灵活,可以轻松到达

通过脉冲进行控制。在实验中发现,当步进电机进行一定的细分之后,精度可以很好地控制,完全能满

足控制要求。

方案三:步进电机加舵机。舵机使用方便,扭矩大,控制简单,机械性能好,但是在实验中发现,鸵

机的转动靠脉冲宽度来调节,它的转动精度不能到达根本要求,误差很大。

电机作为此次设计最主要的次行单元,它的好坏直接关系到指标的完成情况,对控制精度要求很高,

综合考虑以上因素,本次设计选择方案二。

方案一:使用L298N电机驱动芯片。L298N是一个具有高电压大电流的全桥驱动芯片,响应频率高,

自带使能控制端,操作方便,性能稳定,一个L298N就可以控制一个两相四线步进电机。但是L298N不

能进行细分,步进电机转动所需要的精度不能得到有效的调节,

方案二:使用半桥驱动芯片BTS7960,需要2个芯片来驱动一个电机,电流最高43A,由于其内阻很

小,驱动过程中发热不明显,但其价格较高,并且经过实验,它不能满足细分的精度要求。

方案三:使用东芝公司的TB6560AQH驱动芯片,可以输出高达3A的驱动电流,集成度高所需外围器

件少,使用方便,并且经过芯片自带的细分设置后能够很好地满足控制电机时的转动精度要求,芯片自

带的衰减模式也非常利于调节电机的震动。

电机驱动主要受DSP6436里的PWM控制用去驱动本设计的主要执行单元一一步进电机,它的好坏直

接影响到执行单元的运行稳定性。综合考虑转动精度,电流衰减等因素,选择方案三。

方案一:采用索尼公司的1/3480线CCD摄像头,该摄像头具有超过38万的像素,清晰度很高,价

格适中。该摄像头为多电源供电,供甩复杂,通过CCI)摄像头采集I可来的图像需要经过AD转换后再通过

预处理器预处理,处理过程较为复杂。在实验中发现使用这种摄像头,单片机无法快速完成图像处理工

作,在时间上不能给主控制器足够的时间进行步进电机控制,不能满足控制要求。

方案二:采用0V7670摄像头集成模块,该摄像头为30万(640*480)像素,内部集成了AGC、AWB.

AEC多种功能,集成度极高。OV767O对环境的适应性好,不依赖于特定环境,能很好地进行自我调节。

该摄像头模块集成了一定容量的存储空间可以缓存一局部图像,对于单片机处理采集回来的图像增加了

更多的时间,对于电机控制器也增加了有效的定位时间。0V7670摄像头价格廉价,对于此次设计所需要

的图像采集精度信息量完全足够,在实验中也能完全满足测试要求。

方案三:采用日本WATEC星光级黑白摄像机WAT-902B高清晰CCD摄像头集成模块,该摄像头为30万

(640*480)像素,内部集成了AGC、AWB、AEC多种功能,集成度极高。OV7670对环境的适应性好,不依

赖于特定环境,能很好地进行自我调节。该摄像头模块集成了一定容量的存储空间可以缓存一局部图像,

对于单片机处理采集回来的图像增加了更多的时间,对于电机控制器也增加了有效的定位时间.0V7670

摄像头价格廉价,对于此次设计所需要的图像采集精度信息量完全足够,在实验中也能完全满足测试要

求。

摄像头作为此次设计的唯一传感器,是此设计的核心器件之一。它的好坏直接影响到PID算法中的反

应信息,对执行单元的调节直接构成影响。综合以上考虑,此设计选择方案三。

方案一:采用MSP430F149单片机作为控制器。MSP430F149单片机具有丰富的接口资源且为即插型可

编程器件,编程方便,同时它可以直接驱动96LQ)。MSP430F149功耗极低,价格廉价,是低功耗要求下

的的一款首选处理器。

方案二:采用可编程器件CPLD作为控制器。CPLD可以实现各种复杂的逻辑功能、规模大、密度小、

体积小、稳定性高、10资源丰富,易于进行功能扩展。采用并行的输入输出方式,提高了系统的处理速

度,适合作为大规模控制系统的核心,但是功耗大价格也相对昂贵。

方案三:采用STM32F4单片机作为控制器,STM32F4为32位处理器数据处理能力比普通苴片机更强,

并且最高可到达72MHz的主频,处理速度极快,端口资源丰富,价格廉价,适合作为一个自动控制系统

的控制器。

方案四:MS320DM6437是TI公司2006年推出的、专门为高性能、低本钱视频应用开发的、主频600MHz

的、32位定点DSP达芬奇(DaVinci(TM))技术的处理器系列,采用TI第3代超长指令集结构(VelociTL3)

的TMS320C64x+DSP内核,主频可达600MHz,支持8个8位或4个16位并行MAC运算,峰值处理能力

高达4800MIPS,可实时处理8路CIF或3路D1格式的H.264编码算法。

根据此题目的要求以及我们现有的资源,所以我们选用了方案四。

2理论分析与计算

2.1激光靶点分析

2.1.1激光点运动轨迹分析

在胸环靶面上建立一个直角坐标系,根据匀速直线运动公式:S=V*t,激光点从任一点到达指

定点它的位移等于X方向与Y方向的和位移,由此可知S=疡商(2J)

通过运动路径分析(如图2),只要分别满足了X方向和Y方向的位移,那么它的运动轨迹即和位

移也就确定了,就可到达任一点移动要求。

图2运动路径分析

2.1.2打靶精度分析

如图3,抽象出激光打靶的数学模型。对于同心圆,在水平方向和竖直方向所需要的位移量是相等的,

即控制激光点水平和竖直移动所需要的位移量精度是相等的。

根据自主选择的胸环靶以及设计要求可知:

L=300c〃z(2-2)

H=50cm

(2-3)

L产2c〃七⑷

<=1cm

(2-5)

L,=A/L2+H2(2-6)

L2=L]*tan6(2-7)

L3=L*tan(/74-cuttan(H/L))-H(2-8)

图3激光打靶模式数学模型

根据数学模型推导如下:

Q,2H、

p=acrtan(^------)一arctan^—)(2-10)

LL

L--激光点距胸环靶水平距离

H—-胸环靶中心距地面垂直距离

a-一激光点在胸环靶上最小水平移动距离对应移动角

B---激光点在胸环靶上最小竖直移动距离对应移动角

3.1总体设计

系统以DSP6437为核心,通过按键切换工作模式,将摄像头采集的射击定位数据实时传

输到MCU,控制驱动器驱动两个步进电机实现激光枪光斑在胸环靶上下、左右移动,并通过

800X600TFT显示屏显示射击环数及方位。通过键盘和DSP控制激光枪的亮和灭。

整体系统框图如图3所示。

图3整体系统框图

3.2.1PWM波的生成

分析:

DSP可以通过捕捉/比拟功能来产生PWM波,并且仅在P4口才能产生,通过设定CCRO来设置

PWM的频率,CCRx(广7)来确定占空比,占空比是CCRx/CCRO。由于舵机的精度与靶和激光笔

的3米距离,多以我们要选用较高频率的PWM波,保证单片机能够使舵机到达其最高精度,保

证准确性。

佳的美PL8003TFT点阵显示屏

佳的美PL8003液晶电视采用8寸高分辨率(800x600)TFT液晶屏,图像清晰细腻,色

彩艳丽;全功能红外遥控,中英文菜单操作显示;内置立体声扬声器,支持音效调节功;支

持图像上下、左右翻转控制,适应不同的安装使用方式;具备定时开关机及信号自动待机功

能。

与CPU接口采用了8位数据总线并行输入输出和8条控制线。逻辑工作电压(VDD):4.5〜

5.5V电源地(GND):0V工作温度(Ta):0〜60℃(常温)/-20〜75℃(宽温),模块控制

芯片提供两套控制命令,根本指令和扩充指令。详见相关资料。

下表是管脚的功能表;

佳的美PL8003TFT点阵显示屏显示中文、数字只需写好控制字后,再直接输入数据就可

以了。但是显示图像时,我们需要先用字模提取软件提取图像,再将我们的字模显示。

我先用CAD画好靶子后,用生成一个图像文件,在字模提取软件里面不断调整,得到最

终的图像字模。通过串口通信来得到点的位置,改变字模,通过相应的算法,到达闪烁的效

果。

4测试方案与测试结果

4.1测试方案设计

4.1.1测试仪器

器件精度备注

直尺1mm

卷尺1cm

秒表

4.1.2测试方法:

按要求调节激光头打至所需环数,记录液晶显示器上显示的位置信息和实际的位置信息。

测量激光中心点打靶时.,根据蜂鸣器提示记录实际的环数信息和显示器上的环数信息以及偏差距离,

同时用秒表测量每次中心打靶所需要的时间。

当激光点打到胸环靶上某一具体位置时,显示器上进行环数和方位信息的显示。测试结果如表1。

表1环数与方位信息、显示测试数据

实际环环数是否有方位

序号测量环数实际方位测量方位

数误差误差

199左上左上0否

21010中心中心0否

377正下正下0否

488右下右下0否

555右上右上0否

4.3弹着点图像显示测试及结果〔拓展局部〕

当激光点打在胸环靶上时,胸环靶及弹着点的相应图形都在图形点阵显示器上进行显示,同时闪烁

提示。测试结果如表2。

表2弹着点图像显示测试数据

显示实际环数与方位是否有误差误差环

序号

环数方位环数方位环数方位数

110中心10中心否否0

29左上9左上否否0

38右下8右下否否0

47正下7正下否否0

56左下6左下否否0

66右上6右上否否0

4.4自动中心打靶测试及结果〔拓展局部〕

激光点从任意指定位置打到中心点。测试结果如表3。

表3自动中心打靶测试数据

序号设定环数是否到达中心误差环数偏差距离耗时蜂鸣器是否指示

19是0是

26是0是

38是0是

45是0是

57是0是

610是0是

4.5任一点打靶测试及结果〔拓展局部〕

通过键盘设定『10的任意环数,激光点自动打到设定环数。测试结果如表4。

表4任一点打靶测试数据

序号设定环数实际环数误差环数

1550

2660

3770

4880

5990

4.7结论与分析

通过表格中数据分析♦,各项指标均到达设计要求,证明该自动射击装置具有较高的可靠性、稳定性,

能够快速地进行图像扫描和处理,在多种模式下快速有效的进行射击打靶。

附录一

硬件电路图:

附录二

局部源程序:

〃初始化OSD

StartOSD();

touch_screen_init();

nTemp=VPBE_VENC_DACSEL;

nTemp=VPBE_VENC_DACTST;

nTemp=CHIP_CRGET(IER);

GUIJnitialO;

GUI_Exec();

dcl_binary_image_osdO();

GUI_Exec();

#ifdefMOUSE_STATE_EN

GUI_CURSOR_SelPosition(20,20);

#endif

OpenLCD();〃翻开LCD

//sd卡初始化

SdRcady=0;

if(SDUSE_init()==0)

(

SdReady=1;〃可以使用SD卡

}

osdReady=I;〃可以触摸屏

nStartCursor=1;

nSetupState=0;

nOsdState=OSD_STATE_IDLE;

SDUSE_crcatcfn(FilcNamc,string2str("LD"jcCountl),"BMP");

sho\v_whichbmp(FileNaine);

GUI_Exec();

//屏幕校准

//nOsdState=OSD_STATE_TS_CALIBRATION;

//tsCalSteps=0;

//TouchScreen_Calibration();

memset(Mark,0,sizeof(Mark));

while(status==9&&ss==0){//status用来表示视频设甘否存在

staticintbb=0;

FVID_exchange(hGioVpfeCcdc,&frameBuffPtr);

#ifchannel==I

cur=(Uint8sk)framcBuffPtr->framc.framcBuffcrPtr;

#cndif

memcpy((void*)L_pImage,cur.ImageHeighl*ImageWidth*2);

for(i=0;i<ImagcHeight;i++)

{

for(j=0;j<IniiigeWidth;j++)

plmage[i*ImageWidth+j]=cur[i*ImageWidth*2+j*2+1];

//if(plmagc[i*ImageWidth+j]<198)plmagc|i*ImageWidth+j]=0;〃二值化

//elseplmage[i4ImageWidth+j]=255;

//erzhi();

GUI_Exec();

//new=plmage;

mtemp=CLK_getltime();

switch(nOsdState)

(

caseOSD_CALIBRATION:

EVMDM6437_GPIO_selOuipu【(GPIO63,1);〃激光

markkk=0;

findXY();

yuanX^jix;

yuanY=jiy;

show_yuanxin(ytanX,yuanY);

break;

caseOSD_STATE_INITIAL:

EVMDM6437_GPIO_setOutput(GPIO63,0);

break;

caseOSD_STATE_RUN:

nOsdStatc=0;

EVMDM6437_GPIO_selOu【put(GPlO63,1);〃激光

memset(Mark,0,sizeof(Mark));

findXYO;

fangwci();

sho\v_huanshu(t,f);

erzhihua();

break;

caseOSD_STATE_UPCHU:

EVMDM6437_GPlO_setOutput(GPIO63,1);〃激光

nOsdState=0;

MotorDown();

if(yuanX!=0){

findXYO;

fangwei();

show_huiinshu(t.f);}

break;

caseOSD_STATE_DOWNCHU:

EVMDM6437_GPlO_setOutput(GPIO63』);〃激光

nOsdSlate=();

MotorUpO;

if(yuanX!=0){

findXYO;

fangwci();

show_huanshu(i,f);)

break;

caseOSD_STATE_LEFTCHU:

EVMDM6437_GPIO_selOutput(GPIO63,1);〃激光

nOsdState=0;

EVMDM6437_GPIO_seiOutput(STEP_DIR」O,I);

EVMDM6437_GPIO_setOutput(STEP_ENJO,0);

MotorPWM21xl();

if(yuanX!=O){

findXYO;

fangwei();

show_huanshu(tJ);}

break;

caseOSD_STATE_RIGHTCHU:

EVMDM6437_GPlO_setOutput(GPIO63,1);〃激光

nOsdState=0;

EVMDM6437_GPIO_setOutput(STEP_DIR」O,0);

EVMDM6437_GPIO_setOulput(STEP_ENJO,0);

MotorPWM21xl();

if(yuanX!=O){

findXYO;

fangwci();

show_huanshu(t.f);}

break;

caseOSD_STATE_COME:

EVMDM6437_GPIO_setOutput(GPIO63,1);

nOsdState=0;

shang();

if(yuanX!=O){

findXYO;

fangwciO;

show_huanshu(t.f);}

break;

caseOSD_STATE_BACK:

EVMDM6437_GPIO_setOutput(GPIO63.1);

nOsdState=();

xia();

if(yuanX!=0)(

findXYO;

fangwei();

show_huanshu(t,f);}

break;

caseOSD_STATE_LEFT:

EVMDM6437_GPIO_setOutput(GPIO63.1);

nOsdState=0;

left();

if(yuanX!=O){

findXYO;

fangwei();

show_huanshu(tJ);)

break;

caseOSD_STATE_RIGHT:

EVMDM6437_GPlO_sctOutput(GPIO63,1);

nOsdState=0;

right();

if(yuanX!=0){

findXYO;

fangwei();

show_huanshu(t.f):)

break;

caseOSD_STATE_SHI:

EVMDM6437_GPlO_sctOutput(GPIO63,1);

nOsdState=0;

shihuanO;

if(yuanX!=0){

findXYO;

fangwci();

show_huanshu(t,f);)

break;

caseOSD_STATE_JIU:

EVMDM6437_GPIO_setOutput(GPIO63,1);

nOsdState=0;

jiuhiian();

if(yuanX!=0){

findXYO;

fangwciO;

show_huanshu(t,f);}

break;

caseOSD_STATE_BA:

EVMDM6437_GPIO_setOutput(GPIO63.1);

nOsdState=();

bahuan();

if(yuanX!=()){

findXYO;

fangwciO;

show_huanshu(l,f);}

break;

caseOSD_STATE_QI:

EVMDM6437_GPIO_setOutput

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论