毕业设计论文基于KPCI823卡加速度信号数模转换方法的研究1.docx
《毕业设计论文基于KPCI823卡加速度信号数模转换方法的研究1.docx》由会员分享,可在线阅读,更多相关《毕业设计论文基于KPCI823卡加速度信号数模转换方法的研究1.docx(36页珍藏版)》请在冰豆网上搜索。
毕业设计论文基于KPCI823卡加速度信号数模转换方法的研究1
1绪论
1.1课题介绍
本课题研究的是利用ANSYS/LS-DANA软件建立炮弹侵彻两层钢板的模型,然后仿真弹体高速穿透两层钢板,得到弹体穿透钢板时的速度及加速度的数字信号,通过该软件的后处理器也可得到弹体的速度及加速度曲线。
前面仿真得到的加速度数字信号要通过KPCI-823数模转换卡转换得到加速度的模拟信号,从而为硬目标灵巧的设计提供技术途径。
1.2本课题的研究现状
从二十世纪中期开始,由于军事领域的迫切需求,现代军事目标均采取了埋设地下、提高建筑强度、增加复合材料、实现多层防护等措施,大大增强了抵御外部打击的自我保护能力。
对这类目标进行攻击时,为了获得最大破坏和毁伤效果,弹丸必须对目标介质具有一定的识别和判断能力。
这就涉及到了目标的侵彻动力学问题,许多武器实验室致力于进行碰撞后弹靶动态响应问题的研究。
为了适应现代战争的需要,在实际的碰撞问题中,随碰撞速度、碰撞角度、弹靶材料、弹靶的几何外形和尺寸等初始条件的不同,弹靶相互作用的结果千差万别,非常复杂。
弹靶动态响应问题之所以非常复杂的主要原因在于这一力学过程通常会同时涉及到三类非线性问题:
几何非线性、材料非线性和边界非线性问题。
几何非线性是指弹靶碰撞后发生大变形、大位移或大转动而导致平衡方程和几何关系都可能是非线性的。
材料非线性是指弹靶材料的非线性本构关系,这在通常弹速(10-1000m/s)的碰撞问题中尤其重要。
另外,弹靶碰撞问题中相互接触边界的位置和范围以及接触面上的力事先并不知道,需要依赖整个碰撞问题的求解才能确定,从而构成了边界条件的非线性。
通常将较高速度的弹体碰撞靶体之后的力学过程称为侵彻,它可以分为弹体侵入靶体、在靶体介质中运动和弹体穿出靶体等几个主要阶段。
同其它学科的研究一样,实验、理论分析和数值模拟是侵彻问题研究的三类基本方法。
这三类研究方法各有优缺点,可以也需要互相借鉴,互相促进,共同发展[1]。
早期,侵彻问题主要以实验、以及在大量实验的基础上提出或修正经验公式为主要研究方向。
实验是基础,是检验理论分析和数值模拟结果的基本标准。
但是,实验研究费时费力,也不可能得到侵彻过程的所有结果。
经验公式主要采用量纲分析的方法得到,另外也在一定程度上考虑弹体受到的阻力、能量效应等力学机制。
经验公式的优点是有实验数据的基础,但是,经验公式主要反映的是大量实验数据的数学拟合结果,难以全面反映侵彻过程的力学实质。
所以,选用经验公式分析问题时必须要同拟合经验公式的实验条件基本一致,因此经验公式的使用受到很大限制。
有许多研究者一直致力于对侵彻问题的理论分析模型的研究工作。
理论分析方法能够在一定程度上反映侵彻过程的主要力学机制,能够得到一些有定性指导意和重要应用价值的结果。
但是,理论分析方法需要对材料性质及力学过程进行必要的简化,过多的简化可能导致较大的误差,甚至产生错误的结果。
而且,对于武器研制和防护工程中的许多实际问题,如弹体强度分析和靶体损伤破坏分析等,利用理论方法分析非常困难。
随着计算机性能的飞速提高和计算方法的快速发展,数值模拟成为研究侵彻问题的重要方法。
数值模拟能够方便地得到侵彻过程的大量信息,可以进行各种不同条件下侵彻问题的计算分析。
数值模拟的基础是力学守恒方程、材料模型及计算方法。
其中,本构模型以及数值计算方法是数值模拟的关键环节,也是目前数值计算方法中需要改进的主要困难。
本构模型的作用尤其重要,如果没有准确描述材料性能的本构模型,那就很难正确地数值模拟侵彻的力学过程。
数值计算的方法,尤其是接触算法以及断裂和损伤等的处理技巧等在侵彻问题的计算中非常重要,是相关程序软件好坏的基本标志。
最近几年,国内钻地弹等武器研制以及防护工程建设的需要大大推动了侵彻问题的研究。
许多研究者在这一领域进行了许多卓有成效的研究工作,涉及实验研究、理论分析和数值模拟计算等的各个方面。
尽管如此,由于侵彻过程的理论和数值分析是当前材料学、力学和计算数学学科中极为困难的研究课题,还有许多相关工程中的实际问题得不到很好的解答。
目前,对于数模转换器,可内嵌的高速、高精度、低功耗数据转换器成为模拟集成电路领域中的研究热点,其原因是,1、与模拟信号相比,数字信号具有便于存储、转移、保真度和可靠性高等优点,因此,在过去的20年,各国的研究机构对数字技术的发展非常重视,随着CMOS工艺水平的长足进步和数字系统设计软件的日趋成熟,使数字系统无论是在理能力还是处理速度上都取得了飞速的发展[2-4]。
相对而言,模拟和数模接口电路的设计在过去几十年没有得到足够的重视,加之模拟设计软件也不够成熟,使模拟尤其是数模接口电路的发展落后于数字电路的发展,因此,在一些包括数模接口的电子系统,象数字视频系统和数字通信系统中,接口电路的性能(如速度、精度)成为限制整个系统性能的瓶颈;2、由于靠电池供电的便携式设备日益普及,也要求在达到高速、高精度的前提下,消耗尽可能小的功耗,以维持较长的待机时间;3、随着单片系统集成的快速发展,要求接口电路和数字系统集成在一块芯片上,这对降低成本、提高性能具有很重要的意义[5-6]。
综合国内外现有A/D转换技术资料可看出,A/D转换电路的主要发展趋势是向分辨率越来高、转换速率越来越高、精度越来越高、功耗越来越低、电压越来越低、趋于片化和CMOS化、结构越来越简单的方向发展[7].
1.3解决本课题的问题拟采用的研究手段
对加速度信号的仿真是利用ANSYS/LS-DYNA有限元分析软件,通过目标库获得目标介质特性,利用人机交互方式获得弹道终点弹头姿态信息,如着速、着角等,再选择合适的战斗部外形结构参数,利用专业的数值仿真工具就可以实现对钻地过程的仿真模拟,模拟得到的是数字信号,然后再利用kpci-823数模转换卡将这个数字信号转换为模拟信号。
解决思路如下图所示:
目标介质特性
战斗部结构参数ANSYS/LS–DYNA数字信号数模转换
弹道参数选择
模拟信号曲线示波器
1.4本论文所做设计要求达到的功能
通过对本论文的设计,首先要能够合理的设置参数,使得在仿真弹体穿透钢板时能够得到符合实际情况的结果。
在后一部分的设计中,即数模转换过程中,首先要编写正确的程序,将前面仿真得到的加速度数字信号添加到程序中,然后进行数模转换,利用示波器得到转换后的曲线与仿真得到的加速度信号曲线进行比较,若相似则本论文的设计是成功的。
本论文的设计结果的目的是要为硬目标灵巧引信的设计提供一些贴近真实情况的数据,从而为硬目标灵巧的设计、研发提供数据支持。
2硬目标灵巧引信及应用背景分析
2.1硬目标灵巧引信简介
目前在军事领域中,钻地导弹所使用的是一种硬目标灵巧引信,该引信以微型固态加速度计为核心部件,能够精确测量出侵彻弹头穿过地下板层及穿透距离,根据预编好的最佳引爆点来引爆穿透弹头,使弹头侵彻到最佳深度时在极短时间延时后引爆以达到最大的毁伤效果[8]。
硬目标灵巧引信的多功能智能控制装置,用微芯片感知物体在不同介质中运动的加速度变化,经过单片机处理,将差别转化为控制导弹、炸弹和炮弹的引爆信号。
其加速度计感应加速度值并输出相应电压信号,经整流滤波电路,由A/D转换器转换成数字信号。
由单片机处理器根据预置处理程序处理,满足触发条件时发出信号触发弹体炸药,实现控制侵彻弹头钻地或楼层攻击。
2.2硬目标灵巧引信应用背景分析
硬目标灵巧引信主要用在钻地导弹中,科索沃战争及阿富汗战争中,美军已大量使用包括“战斧23”巡航导弹GBU224öB、GBU228和GBU232等多种精确制导的钻地炸弹。
由于这种精确制导技术及深钻地炸弹在军事上的大规模运用,使得防护工程技术,将由主要防核武器向防包括核武器在内的高技术武器转变。
1996年5月,美国国防部在其《美国国防部技术领域计划》对钻地弹提出的技术要求:
①研究硬目标侵彻引信技术,提高武器效能,使之对钢筋混凝土侵彻深度超过8m(提高了3倍);②硬目标穿透弹头,用来对付埋在地下或混凝土中的各种目标与结构,包括坚固的大型多层地下设施以及大规模杀伤武器的贮存与生产设施所需的弹头。
近期(1~2年)将BLU2109穿透力提高1倍。
中期(3~5年)利用外部推进力量,提高撞击速度,增加侵彻深度300%。
远期(6年之后)将先进的高能量密度炸药用于攻击硬目标的超高速钻地炸弹,混凝土侵彻深度5.5~11.0m。
钻地导弹均采用穿甲弹头,弹头重50~135kg,弹头撞地速度600~800m/s,钻土50~70m,钻钢筋混凝土2.4m,钻混凝土6m。
钻地制导炸弹分重磅和小型钻地制导炸弹两种。
重磅钻地制导炸弹重500~2000kg,撞地速度200~400m/s,钻土30~70m,钻混凝土2~6m。
采用火箭加速等技术,撞地速度可达1000~2000m/s(M3~6),钻土达200m以上,钻混凝土达18m以上。
小型钻地制导炸弹重100~300kg,采用火箭加速等技术,撞地速度可达2km/s(M6),钻土200m左右,钻混凝土18m左右。
美正在研制的小型灵巧炸弹(MMTD),弹长1.8m,弹径0.15m,弹重113kg,装药量22.7kg,在1996年试验中,钻透0.9m厚混凝土后又钻土170m,另一次试验中,钻透了厚度达8m的混凝土防护层。
美空军认为,该小型钻地制导炸弹在攻击坚固目标时,比两千磅制导炸弹威力更大、更准确,称它是一种新概念武器。
海湾战争后美空军为GBU228激光制导炸弹安装了1800kg级BLU2113侵彻弹头,采用火箭加速等方法,使GBU228撞地速度达到1200m/s以上,钻混凝土约18m[9]。
新型钻地武器的基本特点:
①精确制导技术的应用,包括电视制导、激光制导、红外传感器和雷达搜索等技术,达到自动识别目标及针尖命中精度;②新型高强弹体材料的应用,新的外壳设计;③弹头撞击速度及撞击能量的进一步提高;④弹体长细比的增加,采用更有效的弹头形状;⑤优质引信和改进的能量输出;⑥复式侵彻弹的研究与应用。
3KPCI-823数模转换卡的介绍及工作原理
3.1KPCI-823数模转换卡的概述
3.1.1概述
KPCI-823模拟量输出接口卡适用于提供PCI总线插槽的原装机、兼容机和工控机。
该卡可广泛应用于工业过程控制系统以及实验室的模拟量输出控制。
具有适用范围广、操作使用简便、抗干扰能力强的特点。
用户可根据控制对象的需要,选择电压或电流输出方式以及不同的输出量程。
KPCI-823模拟量输出接口卡安装使用方便,程序编制简单。
其模拟量输出信号由卡上的37芯D型插头与外部设备连接。
3.1.2技术参数
2-1PCI局部总线性能:
●总线宽度32位,同步工作频率可达到33MHz,最高传输速率为132MB/S
●使用方便,能够实现自动配置,实现设备的即插即用
●提供数据和地址奇偶校验功能,保证了数据的完整性和准确性;
2-2模拟量输出部分:
●输出通道数:
12路(互相独立,可同时或分别输出)
●输出信号范围:
(标*为出厂标准状态)
电压方式:
0~10V(*);±5V;
电流方式:
4~20mA
●输出阻抗:
≤2Ω(电压方式)
●D/A转换器件:
DAC0832
●D/A转换分辨率:
8位
●D/A转换输出码制:
二进制原码
●D/A转换建立时间:
≤1μS
●系统综合建立时间:
约10μS
●D/A转换综合误差:
电压方式:
≤1%FSR
电流方式:
≤1%FSR
●电压输出方式负载能力:
5mA/每路
●电流输出方式负载电阻范围:
≤400
●.电源功耗:
全电压输出方式:
4W;全电流输出方式:
5W
●使用环境要求:
工作温度:
10℃~40℃;相对湿度:
0%~95%(不凝露)
存贮温度:
-55℃~+85℃
●外型尺寸:
长×宽=210mm×120m
3.2元件位置图、信号输出插座和开关跳线选择定义
3.2.1输出插座J1接口定义:
输出插座J1接口定义表
插座引脚号
信号定义
插座引脚号
信号定义
1
Vout1
21
Vout4
2
Vout3
22
Vout6
3
Vout5
23
Vout8
4
Vout7
24
Vout10
5
Vout9
25
Vout12
6
Vout11
26
公共地端
7
公共地端
27
公共地端
8
公共地端
28
公共地端
9
公共地端
29
Iout1
10
公共地端
30
Iout3
11
Iout2
31
Iout5
12
Iout4
32
Iout7
13
Iout6
33
Iout9
14
Iout8
34
Iout11
15
Iout10
35
公共正端
16
Iout12
36
公共正端
17
公共正端
37
公共正端
18
公共正端
19
公共正端
20
Vout2
3.2.2跳线选择说明:
跨接插座的用法:
JP1~JP12为每一输出通道的D/A输出量程及方式选择插座,各通道可以选择相同或不同的输出方式和范围,互不影响。
插座的使用方法见3-1图:
图3-1插座使用方法图
3.2.3调整与校准:
1.本卡出厂前,已按照单极性0~10V输出调整好,一般情况下用户不需进行调节。
如果用改变了工作方式及范围,可按本节所述方法进行调整。
调整时应开机预热20分钟左右,待各部电路处于稳定工作状态之后再调整,并准备一块4位半以上的数字万用表。
2.各电位器功能说明:
W0为-5V基准源输出精度调节。
W1为D/A1零点调节。
W2为D/A1满度调节。
W3为D/A2零点调节。
W4为D/A2满度调节。
W5为D/A3零点调节。
W6为D/A3满度调节。
W7为D/A4零点调节。
W8为D/A4满度调节。
W9为D/A5零点调节。
W10为D/A5满度调节。
W11为D/A6零点调节。
W12为D/A6满度调节。
W13为D/A7零点调节。
W14为D/A7满度调节。
W15为D/A8零点调节。
W16为D/A8满度调节。
W17为D/A9零点调节。
W18为D/A9满度调节。
W19为D/A10零点调节。
W20为D/A10满度调节。
W21为D/A11零点调节。
W22为D/A12满度调节。
W23为D/A12零点调节。
W24为D/A12满度调节。
3.模出调整:
凡改变模出的工作方式和量程范围后,如果输出结果误差较大时,需要对模出进行调整。
变为4~20mA方式时,更应进行此项调整。
待满度调整完毕后再观察零点情况并决定是否进行调整。
具体调整方式如下:
①零点调整:
在单极性方式或双极性输出方式时,分别测量调整W1(D/A1)、W3(D/A2)、W5(D/A3)、W7(D/A4)、W9(D/A5)、W11(D/A6)、W13(D/A7)、W15(D/A8)、W17(D/A9)、W19(D/A10)、W21(D/A11)、W23(D/A12)使其零点偏差最小。
②满度调整:
在零点调整正常情况下,如果满度偏差较大,可分别调整W2(D/A1)、W4(D/A2)、W6(D/A3)、W8(D/A4)、W10(D/A5)、W12(D/A6)、W14(D/A7)、W16(D/A8)、W18(D/A9)、W20(D/A10)、W22(D/A11)、W24(D/A12)使满度符合要求。
重复进行上述步骤,直到零点和满度都满足要求为止。
四.输出码制以及数据量与模拟量的相对关系:
1.本接口卡在单极性方式工作时,即输出模拟量为0~10V时,写出的8位数码为二进制原码。
此8位数码表示一个正数码,其数码与模拟电压值的对应关系为:
数码(8位)=(模拟电压值(V)/10)*255即:
1LSB约等于39mV。
2.本接口卡在双极性方式工作时,输出模拟量为-5V~+5V时,写出的8位数码为二进制偏移码。
此时8位数码的最高位(DB7)为符号位,“0”表示负,“1”表示正。
此时数码与模拟电压值的对应关系为:
数码(8位)=((模拟电压值(V)+5)/10)×255即:
1LSB约等于39mV。
3.4~20mA输出:
本卡在电流输出方式时的电流范围为4~20mA。
当数据(8Bit)全为“0”时,电流输出为4mA当数据(8Bit)全为“1”时,电流输出为20mA。
这样电流输出与数据的对应关系为:
数码(8位)=((电流值(mA)—4)/16)×255。
4.电流输出方式的使用:
本卡模出部分可选择4~20mA电流输出方式以直接驱动Ⅱ、Ⅲ型执行仪表。
采用电流出方式时,供电使用本卡提供的电源。
其连接使用方法见图3-2图:
图3-2电流输出方式连接图
5.电压输出方式的使用:
本卡模出部分可选择电压输出方式,其连接使用方法见3-3图。
图3-3电压输出方式连接图
3.3控制端口与数据格式
3.3.1端口地址与功能表:
端口偏移地址
操作命令
功能
0
写操作
写D/A的8位数据
80
读操作
启动第1路D/A
81
读操作
启动第2路D/A
82
读操作
启动第3路D/A
83
读操作
启动第4路D/A
84
读操作
启动第5路D/A
85
读操作
启动第6路D/A
86
读操作
启动第7路D/A
87
读操作
启动第8路D/A
88
读操作
启动第9路D/A
89
读操作
启动第10路D/A
8A
读操作
启动第11路D/A
8B
读操作
启动第12路D/A
3.3.2D/A转换数据格式:
端口地址
操作命令
D7
D6
D5
D4
D3
D2
D1
D0
意义
基地址+0
写操作
DB7
DB6
DB5
DB4
DB3
DB2
DB1
DB0
8位数据
3.4库函数调用说明及编程实例
光盘中提供了两个分别在VB和VC下开发的示例程序,给出了板卡的相关参数的设置过程和数据处理方法及板卡的工作过程和顺序,包括卡的打开与关闭。
用户可以参照相应VB或VC程序段根据实际需要利用函数库中提供的函数设计自己的软件,初次使用动态链接库的用户,还可以在程序中找到动态链接库的调用方法。
为方便用户分析示例程序以工程的形式提供了所有的资源和代码。
3.4.1D/A输出过程流程图:
3.4.2编程示例:
1.VB编程示例请参照“VB”下的程序
2.VC编程示例请参照“VC”下的程序
三.KPCI800.dll库函数说明
以下介绍KPCI800.dll所包含的全部函数应用方法,用户可以具体根据所选用的板卡使用其中的一些函数。
函数中的参数设置要参考具体的板卡说明来设置。
1.打开设备
VisualC++&C++Builder:
BOOLWINAPIOpenDevice(ULONGiIndex)
VisualBasic:
DeclareFunctionOpenDeviceLib"kpci800.dll"(ByValiIndexAsLong)AsBoolean
功能:
该函数负责打开板卡的设备对象
参数:
iIndex指定KPCI板卡的设备序号,0对应第一个设备
返回值:
“1”表示成功,“0”代表失败。
注意:
设备序号兼容机是靠近CPU的PCI插槽号为小序号(从0开始),工控机则相反,远离CPU的PCI插槽号为小序号(从0开始)。
2.关闭设备
VisualC++&C++Builder:
VOIDWINAPICloseDevice(ULONGiIndex)
VisualBasic:
DeclareSubCloseDeviceLib"kpci800.dll"(ByValiIndexAsLong)
功能:
该函数负责关闭板卡的设备对象
参数:
iIndex与OpenDevice中的相同
返回值:
无
3.读A/D某一通道转换数据(适用KPCI812数据采集卡)
VisualC++&C++Builder:
ULONGWINAPIPCI812_ReadAd(ULONGIindex,UCHARadch,ULONGdelay)
VisualBasic:
DeclareFunctionPCI812_ReadAdLib"kpci800.dll"(ByValiIndexAsLong,ByValadchAsByte,ByValdelayAsLong)
AsLong
功能:
启动KPCI812卡A/D某一通道采集数据并读入转换结果
参数:
iIndex与OpenDevice中的相同
adch为A/D的通道号
delay为改变通道后需要延时(单位为1微秒,此处delay的值要大于100)
返回值:
A/D数据
4.读A/D某一通道转换数据(适合KPCI815数据采集卡)
VisualC++&C++Builder:
ULONGWINAPIPCI815_ReadAd(ULONGiIndex,UCHARflbmode,UCHARflbnum,UCHARadch,ULONGdelay);
VisualBasic:
DeclareFunctionPCI815_ReadAdLib"kpci800.dll"(ByValiIndexAsLong,ByValflbmodeAsByte,ByValflbnumAsByte,ByValadchAsByte,ByValdelayAsLong)
AsLong
功能:
启动KPCI815卡A/D某一通道采集数据并读入转换结果
参数:
iIndex,与OpenDevice中的相同
flbmode,滤波方式,flbnum,滤波次数,adch,要采集的通道号
delay送通道号到启动AD转换之间延时(单位为1微秒,此处delay的值要大于200)
返回值:
两字节A/D转换数据
5.向AO端口输出一个字节(适用KPCI823模拟量输出卡)
VisualC++&C++Builder:
VOIDWINAPIDAOut823(ULONGiIndex,UCHARchannel,UCHARiByte)
VisualBasic:
DeclareSubDAOut823Lib"kpci800.dll"(ByValiIndexAsLong,
ByValchannelAsByte,
ByValiByteAsByte)
功能:
该函数向KPCI823卡AO