新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于AT89S52单片机的无线光电靶控制器的设计

基于AT89S52单片机的无线光电靶控制器的设计

作者:时间:2011-09-16来源:网络收藏
0 引言
针对部队瞄准训练的实际需要,这里研制了一套电路简单、体积小、重量轻、造价低、便于移动和自动报靶的无线光电靶系统,较好地解决了日常训练中的问题。

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

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


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


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

3 光电靶控制器电路设计
从图1可以看出,光电靶控制器由单片机、发光二极管阵列、无线通信模块、激光模块和语音播放模块组成。另外还有用于操作的按键。
3.1 单片机电路
使用的单片机仍然是,扩展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个区的区号计算子程序框图,其他子程序略。

从图5中可以看出,如果原始数据的最大区号不是8,那就直接计算中心区号。如果原始数据的最大区号是8,就要判断1区是否有被激光照射,如果没有,那就直接计算中心区号。如果1区有激光照射,最大区号要加1,然后还要判断2区,依此类推,直到没有照射,最大区号确定。这里判断到6区,已经留有余地,实际上不大可能出现这种情况(参照图3分析)。第一次计算的中心区号,还要判断其值是否大于8,如果大于8还要减1,得到最终的结果。
5 光电靶控制器的程序设计
光电靶控制器的程序主要由开机自检,操作命令的接收和执行,无线数据信号的接收和显示,声音的播放控制等几个部分组成,其主程序的框图如图6所示。


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



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



评论


相关推荐

技术专区

关闭