基于pc104的陀螺仪动态测试系统设计
0 引 言
陀螺仪是平台稳定系统的敏感测量元件,它敏感台体的角运动信号,通过平台伺服回路,建立平台的稳定基准。因此陀螺仪的性能直接影响到平台稳定系统的性能,对严格测试其动态性能指标具有重要的意义。
传统的测试设备和手段复杂且效率低,为了便于对陀螺仪进行机内测试,改善测量效果,运用当今主要工业控制计算机技术——嵌入式pc/104总线结构来搭建测试系统,其独特的堆栈总线扩展方式,可使其具有体积小、功耗低、可靠性高等特点;其次,利用美国ni公司开发的虚拟仪器labview,为开发平台设计软件,使其人机界面友好、功能强大、开发效率高、可维护性强,且测试精度和可靠性能得到充分保证。
1 测试系统硬件组成
该测试系统由pc/104工控计算机、dmm-32-at多功能数据采集卡、信号调理模块组成。其测试系统组成框图如图1所示。
(1)pc/104工控计算机。采用digital-log-ic ag公司的msmp3sev,它是一个基于pc/104(isa总线)和pc104/plus(pci总线)的高可靠all-in-one cpu模块,主板主要集成了最大256 mb内存、256 kb二级高速缓存、2个rs 232c 串口、1个lpt1并口、eied硬盘接口、标准软盘接口、crt显示器接口、平板显示器接口、鼠标接口、1个usb接口、看门狗计数/定时电路等。
(2)dmm-32-at多功能数据采集卡。4路12位d/a模拟输出,16位差分或32位单端16位模拟输入,24路数字i/o端口,最高采样速率为200 mb/s。该多功能采集卡主要用于激励信号的产生,测试信号的采集以及控制信号的产生。
(3)信号调理模块。主要是将计算机给定的电压控制信号变换为电压或电流信号,对动态测试的激励信号进行整形、放大、滤波,以及对测试信号进行滤波,再由数据采集卡进行采集和处理。
系统的工作原理为:由pc/104控制,通过dmm-32-at的d/a端口产生测试信号,经过调理,对陀螺仪力矩器施加指令电流信号,以模拟陀螺仪输入轴的角运动,使力矩器产生一个力矩,引起陀螺仪自转轴发生偏转。这时信号器输出一个电压,经放大器后转换成一个电流输入到力矩器,使力矩器内原来外加电流减小到零,使转子自转轴处于平衡状态。通过信号调理模块对信号器上的电压进行变换,由a/d采样模块进行采样,输入到pc/104工控机,系统再对采集数据进行处理、判断和显示。这整个过程是由程序控制自动完成的。
2 软件设计
陀螺仪的动态测试软件采用labview软件进行设计,labview不仅是软件开发环境,而且是一个编程软件,它是一种适合应用于任何编程任务,具有扩展函数库的通用编程语言。它定义了数据模型、结构类型和模块调用语法规则等编程语言的基本要素,在功能完整性和应用灵活性上不亚于任何高级语言。lab-view提供了丰富的数据采集、分析和存储库函数以及包括daq,gpib,pxi,vxi,rs 232在内的各种仪器通信总线标准的所有功能函数。但是labview所提供的功能仅能驱动ni公司支持的数据采集卡,dmm-32-at是第三方数据采集模块,它需要用户自己设计开发驱动程序。
2.1 dmm-32-at驱动程序的实现
labvlew提供了对外部代码调用的接口库函数。其中,调用库函数(call library function,clf)节点使得用户可以方便地调用标准共享库和自定义库函数。在此,设计的数据采集系统就是通过labview提供的。clf实现对动态连接库(dynamic link library,dll)调用的方法.完成对第三方数据采集模块的驱动,实现labview与普通数据采集模块的结合。
使用vc++生成一个dmm32driver.dll的动态链接库,通过clf节点对其调用,以实现该数据采集卡的驱动,该程序实现的主要源代码为:
需要注意的是,在头文件中加入extcode.h,以便在dll程序中使用labview中的数据类型,避免在传递参数和返回值时冲突。其次,需要在导出的函数原型前添加_declspec(dllexport)关键字,指出函数的出口。由此,可从一个动态链接库文件中输出数据、函数、类以及类成员函数而不需要.def文件。
2.2 数据采集流程
该测试系统采用如图2所示的单线程循环软件架构。采用单线程结构可以保证每个任务在一次数据采集循环中都能得到有效执行,既能满足数据的实时采集,又能保证数据的完整存储,增强了测试的可靠性。与此同时,采用单线程结构也简化了流程控制,避免了多线程结构中各个任务之间的调度与控制的复杂问题。
2.3 系统程序设计
虚拟测试系统的主要功能是实时接收数据采集卡采集的数据,进行数据处理(如滤波,fft变换等)、数据存储和数据实时显示。操作者根据数据判断测试指标是否合格。
程序设计的数据采集过程为:在开始数据采集后,daq卡不断地采集数据,并将它们存贮在指定的缓冲区中;然后labview每隔一段时间,将一批数据送入计算机进行处理。如果缓冲区存放已满,daq卡就会又重新从内存起始地址写入新数据,覆盖原来的数据。这个过程一直持续,直到采集到了指定数目的数据点,或者中止采集过程。程序方框图如图3所示。在对陀螺输出信号进行测量时,采用了多次采样取平均值的方法,以减小误差。
3 结 语
在此,提出一种基于pc/104的陀螺仪动态测试系统,并分析该测控系统的软/硬件基本构成。在系统组建过程中,由于利用了可靠的pc/104工控机和数据采集卡,以及高性能的虚拟仪器编程软件,使得系统组建效率高,性能可靠,而且可以方便地对测试结果进行判断,简单易用。
【节能学院】安科瑞预付费云平台系统在苏中模具园项目的设计与应用
无源传感器技术突破了电池供电带来的问题障碍
万用表测电容方法
余承东疯了吗?华为P10Plus配备这项黑科技!
美国风起“云”涌五年,中国云计算机会几何?
基于PC104的陀螺仪动态测试系统设计
中国掩膜版的发展与需求分析
使用PLL565电路的FSK解调器
SSD20X上如何移植WK2124驱动?
三星展示一款MLC闪存的PCIe 4.0 SSD 持续读取最高6.5GB/s
技术新知:硅的“终结者”,石墨烯是神奇材料吗?
高压开关柜常见故障解析
英飞特电子EUM-BG系列驱动电源在体育场馆的应用
工业首100G ,通信新领航
Cadence Allegro Xnet的创建详细教程
PCB的相同模块,布局布线的方法和注意事项
盲目的降价并不利于产业的发展 应该通过技术的创新与变革来实现
雷达式流速流量水位雨量监测站的特点是什么
lightyear结构:一种改变当前能源结构的全新的电动车结构
公交站预防漏电事故专用监控系统