基于AT89S52单片机的无线光电靶

发布者:心语如画最新更新时间:2011-11-24 关键字:T89S52  无线光电靶 手机看文章 扫描二维码
随时随地手机看文章
O 引言
    中国人民解放军某部高炮部队,在日常训练中有一个难题,就是操炮战士瞄准移动靶标与否不好判断。靶标距离高炮几十米,高度十几米,并且不断移动,射击的机会稍纵即逝。
    针对这个问题,查阅了许多现有的光电靶产品,有的是实弹射击的测量装置,使用的方法多数是平行光幕加光敏元件,也有的是采用单光幕,还有的是瞄准训练器,功能都比较完善,但大部分都体积比较大,重量重,只能固定使用,很难移动。针对部队瞄准训练的实际需要,这里研制了一套电路简单、体积小、重量轻、造价低、便于移动和自动报靶的无线光电靶系统,较好地解决了日常训练中的问题。

1 整体设计
    该无线光电靶系统主要由悬挂于移动装置上的光电靶;置于操炮手附近的光电靶控制器;一个固定在炮身上并与炮身同步移动的半导体激光器三部分组成。
    当操炮手训练中,瞄准靶标时踩动射击踏板,激光器发出一束激光,照射在靶标上,靶标上的光敏元件接收到激光,由单片机采集光敏元件的信息,利用无线装置将信息发送到光电靶控制器,由控制器显示激光照射的位置,同时用语音报告环数和偏离的方向系统图如图1所示。

2 光电靶电路设计
    从图1可以看出,光电靶由单片机、光敏元件阵列、无线通信模块和夜间指示灯4部分组成。


2.1 单片机模块
    这里采用51系列单片机中的新型号AT89S52,因为这款设计需要扩展5个8位并行口,主要考虑其具有比较好的扩展能力,其他特性无需赘述。
2.2 光电测量模块的设计
    光敏元件采用光敏二极管,在反向电压作用下,其电流随光线强度成正比。将光敏二极管在规定的范围内(直径60 mm)形成阵列(按照圆环)排列,由AT89S52单片机扩展的接口电路对光敏元件的输出信号进行采集。
    以前有的方案是利用光纤将采集的激光信号传导到光敏元件,这里为了降低成本减少体积,将光敏管直接布置在靶面上,每个光敏元件由一个遮光管套住,可避免大部分散射光的影响。光敏电路是光电靶的核心,也是本设计的创新之处,其他电路围绕光敏电路展开设计。利用比较器进行光电检测的模数转换,图2是光敏电路的基本原理图。其中LM324是运算放大器,作为比较器使用,当电压V2>V1时,运算放大器正向饱和,输出电压V。接近电源电压,称为高电平1;当电压V2


    在靶面安排上,参考光检测元件放在靶标周围不远处,使得其接受的环境光照条件与光电靶测光元件相同。当没有激光照射时,参考光检测元件和光电靶测光元件同时受到环境光线的照射,调整电位器RV1,使得V1略大于V2,运算放大器LM3243的输出电压V0为O;当有激光照射到光电靶测光元件的时候,V2就会大于V1,使V0为1。当激光照射脱离光电靶的范围,哪怕只照射到参考光检测元件,运放的输出始终为0。利用这种方法实现光电信号的采集和A/D转换,省去了速度慢且价格高的模数转换器,电路得到简化,速度得到提高,同时也排除了环境光线的变化的影响。
    在实际电路中,一个参考光检测元件为多个光电靶测光元件提供参考电压,电路得到进一步简化。在这种情况下,要求多个光电靶测光元件的光电特性一致,或者接近一致,才不至于出现误差。经过筛选的测光元件完全可以满足这种要求。
    实际实验证明,在阳光强烈的室外,只要没有阳光直射到靶面,就工作正常;在夜晚星光下(远处有路灯),也工作正常。
光敏元件的排列与LED的排列方式基本一致,不同的地方是,7环有16个光敏元件均布,6环有24个光敏元件均布。这样排列的目的是减小各个光敏元件的间距,以免激光束照射不到。
    利用51系列单片机扩展的多个并行接口来读取光电靶的信息,然后进行数据处理,就可以判定激光束所照射的中心点,从而给出射击成绩。扩展电路使用了数据收发器74HC244和译码器74HCl388。
2.3 无线通信模块
    光电靶需要接收光电靶控制器发送来的操作命令,还需要把采集的射击成绩发送给光电靶控制器,所以无线模块需要双向通信(半双工)。这里采用市场比较常见的工业无线通信模块并加以改造,基本满足功能需要,并且成本低廉。无线通信模块与单片机的连接利用一个扩展的并行口和几根控制线。[page]

2.4 夜间指示灯
    为了夜间训练方便,设计了由发光二极管组成的靶标指示灯,在夜间可以打开此指示灯,以便观瞄。此指示灯是由靶心灯(内灯)和靶周灯(外灯)组成,可以由光电靶控制器无线控制其开关。

3 光电靶控制器电路设计
    从图1可以看出,光电靶控制器由单片机、发光二极管阵列、无线通信模块、激光模块和语音播放模块组成。另外还有用于操作的按键。
3.1 单片机电路
    使用的单片机仍然是AT89S52,扩展5个8位并行口,其中4个并行口用来控制LED发光,1个用来连接无线通信模块。
3.2 发光二极管显示阵列
    由AT89S52单片机扩展的并行口来驱动发光二极管(LED)的亮和灭,用来显示击中的位置。LED的排列方式与光敏元件的排列方式一致,便于指示射击结果,如图3所示。


    图3中,一个最小的圆圈代表一个LED。可以看出,10环只用1个LED,亮的时候表示击中10环;9环只用4个LED,可以指示上下左右4种偏差,上边的LED亮表示9环偏上等;8,7,6环都是8个LED,可以表示8种偏差。
3.3 激光器
    购买市场常见的笔形半导体激光器。
3.4 无线通信装置
    购买市场常见的无线收发器,加以改造以适合与单片机匹配。光电靶和控制器均为双向收发(半双工)。
3.5 语音电路
    在单片机的控制下播放事先录制好语音内容。

4 光电靶程序设计
4.1 光电靶的主程序

    整个光电靶的程序由开机自检,光信号检测,数据处理,向控制器发送检测结果,无线命令接收和执行等子程序组成,由主程序根据条件调用子程序。主程序框图如图4所示。


    无线接收利用中断完成。每次接收到一个有效的命令,就会将命令保存在一个指定地址,然后建立一个标志位,通知主程序。主程序根据命令内容,调用相应的子程序,完成命令要求的任务。中断服务程序框图略。
4.2 数据处理程序
   
数据处理程序的功能是根据读取的光敏检测数据,计算出激光击中的位置。
    由于民用激光器的光斑直径有的比较大,有的比较小。在几十米的距离上,一般光斑直径在10~30 mm。激光照射靶标,往往是同时照射几个光敏元件,该程序就是要确定光斑的中心位置。
    对照图3,假设光斑中心在10环,可能被照射光敏元件只有10环的,也可能还有9环的4个,还有可能8环的8个也被照射等。要确定10环,除了10环的光敏元件被照射,还有9环、8环、7环可能被照射,并且全环都被照射,否则不能确定10环。
    10环以外的其他环数的确定,需要根据光斑照射到的环数和区数来确定。环号,就是10,9,8,7,6环;环数就是光斑照射到的环有几个,比如光斑照射到9,8,7环,环数就是3。区号和区数:正上方为1区,右上方为2区,按照顺时针方向分为8个区,编号为1~8号区;光斑照射到3,4,5,6区,则区数为4。
    中心环号计算:首先要根据所有照射到的环号计算出环数,然后计算出中心环号。最大环号减去环数除以2取整,这就是光斑中心的环号。取整的目的是小数的环数不好显示。如果用数码显示则可以保留小数。
    中心区号计算:根据所照射的所有区号计算出区数,再计算出中间区号,就是光斑的中心区号。这里有一个问题:当被照射的区号是7,8,1,2,3的时候,要把最大区号确定为11,最小区号确定为7,再计算出区数和中心区号。如果计算的中心区号大于8则减去8才是真正结果。以区号是7,8,1,2,3为例:区数=11-7+1=5,5/2=2.5,2.5取整=2,最大区号减去区数的一半取整,即11-2=9,由于9大于8,要减去8,即9-8=1,这就是中心区号,即偏上方。
    中心环号和区号确定,数据处理完毕。
    图5是8个区的区号计算子程序框图,其他子程序略。


[page]

从图5中可以看出,如果原始数据的最大区号不是8,那就直接计算中心区号。如果原始数据的最大区号是8,就要判断1区是否有被激光照射,如果没有,那就直接计算中心区号。如果1区有激光照射,最大区号要加1,然后还要判断2区,依此类推,直到没有照射,最大区号确定。这里判断到6区,已经留有余地,实际上不大可能出现这种情况(参照图3分析)。第一次计算的中心区号,还要判断其值是否大于8,如果大于8还要减1,得到最终的结果。

5 光电靶控制器的程序设计
    光电靶控制器的程序主要由开机自检,操作命令的接收和执行,无线数据信号的接收和显示,声音的播放控制等几个部分组成,其主程序的框图如图6所示。


    从图6可以看出,主程序开机自检之后,进入主循环。在主循环中,除了按照各种标志位来控制LED的显示和语音播放之外,就是检查按键,一旦有键盘命令,立即启动无线发送模块进行发送。这几个键盘命令都是针对光电靶的命令,内灯命令和外灯命令是对光电靶的夜间指示灯的控制命令,击发命令和重发命令解释如下:
    击发命令 在操炮手瞄准靶标踩下开炮开关时,接通激光器电源发出激光,并同时产生一个信号给光电靶控制器的单片机,由单片机通过无线信号传送给光电靶。光电靶接收到击发命令,开始对光敏元件进行扫描,得到原始数据。在对扫描的数据处理之后得到激光光斑中心位置的信息,就是环号和区号。光电靶将此环号和区号通过无线模块发送回光电靶控制器。光电靶控制器据此控制LED的显示和语音播放。
    重发命令 这个命令是要光电靶将上次击发产生的信息重新发送一次,以便核对。
    数据的接收每当无线模块接收到一次有效的信号,就会申请一次中断。在中断服务程序中读取接收的数据,并保存在一个指定的地址里,以便主程序处理。数据的内容是激光光斑中心的环号和区号。中断服务程序的框图如图7所示。



6 结语
    利用参考光和比较器进行模数转换,电路简单可靠,速度快。光敏元件圆环状排列,可以充分利用元件。利用单片机的程序处理可以很容易得到光斑的中心位置。经中国人民解放军高炮某部使用效果很好,达到了设计要求,解决了动态靶瞄准的训练问题。而且光电靶重量轻、移动方便,很适合各种野外训练需要。如果将激光器安装在其他枪械上,还可以用在步兵的射击训练上。现在正在改进,准备添加射击成绩统计功能,在光电靶控制器上加一个数码显示器,实时显示射击次数、总环数等,同时还可以与上位机联网,便于数据的储存和管理。

 

 

关键字:T89S52  无线光电靶 引用地址:基于AT89S52单片机的无线光电靶

上一篇:基于数字PID和51单片机的温度控制系统
下一篇:用AT89S52单片机实现DTMF信号译码

小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • 学习ARM开发(16)
    ARM有很多东西要学习,那么中断,就肯定是需要学习的东西。自从CPU引入中断以来,才真正地进入多任务系统工作,并且大大提高了工作效率。采 ...
  • 学习ARM开发(17)
    因为嵌入式系统里全部要使用中断的,那么我的S3C44B0怎么样中断流程呢?那我就需要了解整个流程了。要深入了解,最好的方法,就是去写程序 ...
  • 学习ARM开发(18)
    上一次已经了解ARM的中断处理过程,并且可以设置中断函数,那么它这样就可以工作了吗?答案是否定的。因为S3C44B0还有好几个寄存器是控制中 ...
  • 嵌入式系统调试仿真工具
    嵌入式硬件系统设计出来后就要进行调试,不管是硬件调试还是软件调试或者程序固化,都需要用到调试仿真工具。 随着处理器新品种、新 ...
  • 最近困扰在心中的一个小疑问终于解惑了~~
    最近在驱动方面一直在概念上不能很好的理解 有时候结合别人写的一点usb的例子能有点感觉,但是因为arm体系里面没有像单片机那样直接讲解引脚 ...
  • 学习ARM开发(1)
  • 学习ARM开发(2)
  • 学习ARM开发(4)
  • 学习ARM开发(6)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved