当前位置:首页 > 电源 > 数字电源
[导读]1、概述模拟训练器激光靶是接收射击训练手枪发出的激光束,训练枪由真实手枪改造而成,子弹为空爆弹,即没有子弹头。射击过程膛内有压力,手枪有后坐力,因此和实弹射击没有不同的感觉,能够达到预期的训练效果。手枪

1、概述

模拟训练激光靶是接收射击训练手枪发出的激光束,训练枪由真实手枪改造而成,子弹为空爆弹,即没有子弹头。射击过程膛内有压力,手枪有后坐力,因此和实弹射击没有不同的感觉,能够达到预期的训练效果。手枪的不同之处是枪内加入一组小型纽扣电池和一个微型激光发生器,并利用膛内压力使激光器工作,其工作时间由膛内压力控制.激光靶由光敏二极管,模拟电路,数字电路,单片机和个人计算机系统组成,激光靶接收到激光信号后,经过信号处理,由单片机以串口通讯方式将信息发送给个人计算机,此时个人计算机显示胸靶图像,弹着点颜色不同与其它部分,并语音报靶,同时系统采用网络技术,在监控室可以实时的观看并统计各个激光靶的射击训练情况,及对训练效果进行评估.

2、硬件电路

2.1 激光信号采集处理电路

训练枪激光器发出的激光束波长为622~1500nm,激光靶采用光敏二极管作为传感器,而太阳光含有该波长范围内的光,特别是当阳光强烈时激光枪信号更显微弱.设计中采用完全补偿方案,即单独使用一个光敏二极管感应太阳光,再叠加微小电压作为基准电压,当激光打到靶面光敏二极管时,其输出高于基准电压,否则其输出低于基准电压,设计中采用CD4053将电平信号转换为开关信号.

由于激光器的工作时间较短,加之射击时的抖动,因此必须对CD4053的输出信号进行脉宽调制,以保证单片机读到有效的激光信号脉冲.激光信号采集处理电路如图1所示.

2.2 计算机实时通讯电路

8031单片机将采集到的数据处理完成后,将中靶位置信息通过RS232串口传送给个人计算机,由于单片机供电没有负电源,采用如图2所示的电路实现8031单片机与个人计算机的通信.


图1中V1和V2分别为激光接收电路电压和基准电压

2.3 数字信号编码采集电路

我们将激光靶的764 个光敏二极管分为64块,采用8位二进制编码处理,并将其组成8×8矩阵式键盘机构,使用8279完成对靶面位置的不断扫描,自动消抖,自动识别出位置并给出编码.采用8031单片机完成对8279的初始化和控制,以及数据的采集和处理,数字信号编码采集电路如图3所示


图3数字信号编码采集电路

3、单片机软件流程

单片机程序设计主要包括主程序,中断服务程序和数据传送子程序,其基本工作方式采用中断方式。单片机用8031CPU,它与PC机数据传送采用RS232串口通讯。单片机程序流程图如图4所示。

4、PC机软件设计

4.1 设计思想

软件使用VC++6.0设计,通过RS232串行接口接收下位机发来信息,然后显示并报环,同时记录做统计处理,产生报表。串行通讯采用MSCOMM32.OCX控件实现。

由于需要同时对对台下位机进行监控,软件采用多文档模式进行设计,硬件采用多串口卡PCL-858实现。系统结构如图1

[!--empirenews.page--]

4.2 关于MSCOMM32.OCX

MSCOMM32.OCX 控件是由微软提供,该控件提供了一系列标准通信命令的接口,它允许建立串口连接,可以连接到其他串行通信设备;可以发送命令、进行数据交换以及监视和响应在通信过程中可能发生的各种错误和事件,从而可以用它创建全双工的、事件驱动的、高效实用的通信程序。现将常用的属性列举如下:
CommPort:设置通信口号     Settngs:设置串行口参数
PortOpen:打开与关闭串行口    InputLen:读入输入数据长度
Input:读入数据          InBufferCount:输入缓冲区读入字节数
Output:输出数据         OutBufferCount:输出缓冲区读出字节数
InputMode:定义Input属性获得数据的方式。
Rthreshold:设置、返回在通信控件置ComEvRecieve并激发OnComm事件前要接收的字符数。
Sthreshold:设置、返回通信控件置ComEvSend并激发OnComm事件前发送缓冲区种的最小字符数。

4.3 串口通讯的实现

在ClassWizard中为新创建的通信控件定义成员对象:CMSComm m_Serial。以下是通过设置控件属性对串口进行初始化的源代码:
CString m_set;
  m_CommDpj.SetCommPort(m_pDoc->m_dpjComm.m_uPort); // 指定串口号
  m_set.Format("%d,n,8,1",m_pDoc->m_dpjComm.m_uBps);
  m_CommDpj.SetSettings(m_set); // 通信参数设置
m_CommDpj.SetInBufferSize(1024);// 指定接收缓冲区大小
m_CommDpj.SetInBufferCount(0);// 清空接收缓冲区
m_CommDpj.InputMode(1);// 设置数据获取方式
m_CommDpj.SetInputLen(0);// 设置读取方式


图5  系统结构图

[!--empirenews.page--]

m_CommDpj.SetRThreshold(10);//设置OnComm事件的响应

m_Opened=m_CommDpj.SetPortOpen(m_Port);// 打开指定的串口

打开所需串口后,使用OnComm事件和CommEvent属性捕捉并检查通信事件和错误的值。发生通信事件或错误时将触发OnComm事件,CommEvent属性的值将被改变,应用程序通过检查CommEvent属性值并作出相应的反应。以下为OnComm事件的源代码:
  VARIANT m_input1;
  COleSafeArray m_input2;
  long length,i;
  if(m_CommDpj.GetCommEvent()==2)//接收缓冲区内有字符
  {
     m_input1=m_CommDpj.GetInput();//读取缓冲区内的数据
     m_input2=m_input1;//将VARIANT型变量转换为ColeSafeArray型变量
     length=m_input2.GetOneDimSize();//确定数据长度
     for(i=0;i<length;i++)
     m_input2.GetElement(&i,m_Data+i);//将数据转换为BYTE型数组
     FromDpj();//进行事件处理
     DpjLock=false;
}

4.4 数据文件的生成

数据文件才文本形式进行存储。在数据文档中建立如下结构体:
struct ShotData{
unsigned int m_uNum;//编号
unsigned int m_uSNum;//站号
unsigned int m_uPlot;//射击点
 CTime  m_Curtime;//当前时间};

数据记录的源代码如下:
void CJGBDoc::GetFileName()//获取记录文件名
{
CString m_str;
GetCurrentDirectory(128,m_str.GetBuffer(128));
m_str.ReleaseBuffer(-1);
CFileDialog dlg(false,"Txt",m_str+"\*.Txt",NULL,"记录文件(*.Txt)");
if(dlg.DoModal()==IDOK)
{
     if(file.Open(dlg.GetPathName(),CFile::modeRead)!=0)
     {
         if(AfxMessageBox("文件已存在,是否覆盖?",MB_YESNO)==IDNO)
         {
AfxMessageBox("文件保存失败!");
             return;
}
file.Close();
     }
     if(file.Open(dlg.GetPathName(),CFile::modeWrite|CFile::modeCreate)==0)
     {
         AfxMessageBox("文件保存失败!");
     }
}
else
     AfxMessageBox("文件保存失败!");
}

实时记录函数:
{
---
CString  m_record;
m_record.Format("%d,%d,%d,%s",m_pDoc-> ShotData.m_uNum,
m_pDoc-> ShotData.m_uNum, m_pDoc-> ShotData.m_uNum
m_pDoc-> ShotData.m_CurTime.Format ("%y-%m-%d %H:%M:%S"));
file.Write(m_record);
---
}

[!--empirenews.page--]

5、结论

激光靶研制出样机后,与模拟射击训练用手枪进行了联调,试验表明,激光靶设计合理,满足设计技术指标要求,工作稳定可靠。通过采用模拟射击训练,一方面可以降低训练成本,另一方面也可消除意外事故,因此模拟射击训练器有很好的应用前景。

参考文献
[1] 王福瑞. 单片微机测控系统设计大全.北京航空航天大学出版社,1998.4
[2] 李大友.微型机算计接口技术.清华大学出版社,1998.5
[3] David J.Kruglinski,Scot Wingo,George Shepherd ,Programming Visual C++ 6.0技术内幕
1999.5
 

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

作者 Mohamad Ali| IBM咨询首席运营官 北京2024年5月24日 /美通社/ -- 生成式AI的兴起几乎在所有面向上给业务带来改变。根据 IBM 商业价值研究院最新的年度 CEO 研究,近60%...

关键字: IBM AI BSP 模型

台北2024年5月21日 /美通社/ -- 提供针对AMD WRX90和TRX50主板优化的DDR5 OC R-DIMM 提供容量128GB(16GBx8)到768GB(96GBx8),速度5600MHz到8...

关键字: AMD 内存 BSP GB

上海2024年5月20日 /美通社/ -- 2024年5月16日,世界知名的生命科学公司 Eppendorf 集团于第二十三届生物制品年会上成功举办了"疫路超越 推流出新"的产品发布会,正式推出大规模...

关键字: RF PEN BSP IMAC

北京2024年5月20日 /美通社/ -- 过去五年里,支付和收款方式日新月异,其发展和变化比过去五十年都要迅猛。从嵌入式数字商务的出现,到"一拍即付"的...

关键字: VI BSP PAY COM

华钦科技集团(纳斯达克代码: CLPS ,以下简称"华钦科技"或"集团")近日宣布致敬 IBM 大型机 60 载辉煌历程,并将继续实施集团大型机人才培养计划。

关键字: IBM BSP 研发中心 PS

助力科研与检测新突破 上海2024年5月15日 /美通社/ -- 全球知名的科学仪器和服务提供商珀金埃尔默公司今日在上海举办了主题为"创新不止,探索无界"的新品发布会,集中展示了其在分析仪器领域的最...

关键字: 质谱仪 BSP DSC 气相色谱

上海2024年5月16日 /美通社/ -- 2024年5月10日至5月13日,富士胶片(中国)投资有限公司携旗下影像产品创新力作亮相北京P&E 2024。在数码相机展览区域,全新制定的集团使命"为世界绽...

关键字: 富士 数码相机 影像 BSP

贝克曼库尔特目前已成为MeMed Key免疫分析平台和MeMed BV检测技术的授权经销商 在原有合作的基础上,继续开发适用于贝克曼库尔特免疫分析仪的MeMed BV检测 加州布瑞亚和以色列海法2024年5月16日...

关键字: BSP IO 检测技术 免疫分析仪

英国英泰力能的燃料电池是可产业化的产品解决方案 英国首个专为乘用车市场开发的燃料电池系统 在 157kW 功率下,此燃料电池比乘用车的其他发动机更为强大 &...

关键字: ENERGY INTELLIGENT 氢燃料电池 BSP

深爱人才,共赴"芯"程 深圳2024年5月15日 /美通社/ -- 5月11日,深圳国资国企"博士人才荟"半导体与集成电路产业专场活动在深圳市重投天科半导体有限公司(简...

关键字: 半导体 集成电路产业 BSP 人工智能
关闭
关闭