摘 要:介绍一种实用的过载测试系统,能够实现空间三个垂直方向上数据的采集,实现过载过程中过载量的测试。
概述
随着经济的飞速发展,汽车等现代化交通工具日益走进众多家庭,电梯等载人工具的应用也越来越广泛,随之而来的安全隐患不能不引起社会的高度重视。过载量的大小作为衡量运动系统综合性能的一个重要指标,日益被提上日程,因为过载量的大小直接关系到人身安全,不容忽视。本文介绍了一种便携式过载测试系统,使用锂电池作为供电源,当过载发生时能够在空间三个垂直方向上采集过载量并存储,数据采集完毕后,可以送入微机进行处理,也可以直接打印结果。
系统硬件
该测试系统主要由过载数据采集系统和通讯软件组成。数据采集系统通过三个方向的加速度传感器采集数据,而后存入外部数据存储器中。通讯软件通过串行口进行数据的读取和处理。数据采集系统采用8751单片机作为主控芯片,实现数据的采集和存储。整个系统的组成如图1所示。
图1 系统组成框图
信号放大电路
本系统的信号源自三个沿空间三维方向分布的加速度传感器输出的电压信号,传感器使用的是3031型加速度传感器,标准量程为±50g,规格为0.994mv/g。由于传感器内部含温补电路,因而不需考虑温度对测量信号的影响。又由于加速传感器响应的是过载冲击量,过载值的输出量较小,因此必须采用合适的放大电路对信号进行放大,放大电路必须保证具有一定的对称性,减少漂移量,并且应具有高输入阻抗和高共膜抑制比,才能对微小的差模电压信号敏感。另外由于传感器的输出特性为非线性,必须采用分段放大的方式才能提高测试精度。为达到以上要求,我们采用了如图2所示的信号放大电路。
利用回归分析法,用三段折线段逼近加速度传感器的输出曲线,图2中由线性放大器A3决定基本折线,A2和A1分别决定另外两条折线。当电压输入量为ei时,放大器A1、A2和A3的线性放大输出分别为eo1、eo2和eo3,总的合成特性曲线为:eo=eo1+eo2+eo3。采用分段线性放大的方法,可以大幅减少传感器由于传感器的信号输出为非线性而造成的误差。
供电电路设计
由于本测试装置需要便于携带,电源要保证能够一定的供电时间,还要体积小,因此选用了锂电池作为电源,并设计了配套的升压电路。锂电池的规格为:1000mAh 3.6V,系统所需的电压为+5V。该系统中采用的电池升压电路如图3。
由于锂电池的储电容量较高,充电完毕后,该升压电路能够为整个系统提供长达20小时的+5V直流电压输出,符合长时间不间断测量的要求。
数据存储电路
由于采集的数据量较大,必须考虑扩展外部数据存储器,测试系统中采用了扩展动态RAM的方式。动态RAM具有成本低、功耗小等优点,特别适合于需要大量的数据存储空间的场合。电路设计时选用了两片62128芯片,整个单片机控制系统的组成框图如图4所示。
系统软件设计
下位机软件
为了便于将采集的数据送入PC机进行处理,该系统采用了RS-232串行通讯方式与计算机的RS-232标准串行口通信。RS-232串行通讯接口具有高效、可靠、简便和低成本等特点,非常适合于应用在各种测试装置中。采用串行口作为通信手段,必须首先将TTL电平转化为RS-232电平,通讯电缆只需提供RXD、TXD、GND三个信号即可。
测试时依次采集X、Y、Z三个方向的过载量数据各4次,经算术平均滤波后通过串行I/O将数据发送至PC机。系统软件流程如图5所示。
数据的滤波处理通过调用平均值滤波法子程序实现,平均值滤波采用摒弃最大与最小值的方法对测量值进行平均滤波处理。
上位机软件
PC机的通信程序在Visual Basic 6.0中设计与调试。
采用VB6.0实现串行通信有两种方法:(1)使用串行通信控件(Mscomm32.ocx);(2)使用Windows的应用编程接口(API)。VB中使用的MSCOMM.VBX用户通信控件,使用户程序具有通过串行口发送和接收数据的能力,不仅包括了全部Windows API中关于串行通信的16个函数所完成的功能,而且还开拓了更多的对象属性,为串行通信控件设置了标准的事件函数、过程,并通过属性的方法提供了串行通信参数的设置。而API提供了完备的应用程序接口函数和中断方式的通信设备驱动程序(COMM.DRV)。这两种方法都能访问标准接口,但使用Mscomm32.ocx控件比较简便,上位机软件设计采用了该方式。
上位机软件在进行串行通讯口初始化时必须保证与测试系统的波特率保持一致。当测试系统的波特率设置为9600bit/s时,上位机软件的初始化子程序设计为:
Private Sub Command1_Click()
With MSComm1
COM1
信口参数
MSComm1接收缓冲
区为40字节
MSComm1发送缓冲
区为2字节
.InputMode = comInputModeBinary 丈柚媒邮帐©据模式为二进制形式
缓冲区
.OutBufferCount = 0 涨宄©发送
缓冲区
End With
End Sub
数据采集处理程序采用MSComm事件驱动方式。由于只接了串行口的RXD、TXD及GND,因此只有当数据输入时才能触发。数据接收子程序如下:
Private Sub MSComm1_ OnComm() 盏贝?锌谟惺©据时即进行数据接收且处理
Dim currentstatu as string
定义接收字节数组
Receivedata=MSComm1.Input
区首地址
End Sub
结语
该测试系统与一般的测试系统相比,由于是过载瞬间的测试,系统要求的采样频率较高,数据量比较大,因而要求系统稳定可靠。为适应便携的要求,使用了锂电池作为供电电源,使得整个装置体积小,重量轻。便捷的RS-232串行通讯方式,方便了数据的传输软件的设计。经实测验证,该过载量测试装置达到了预期的各项指标,广受用户好评。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)