ATmega16与MMA7260的连接如图3所示,用单片机PA口中的PA0,PA1,PA2分别作为MMA7260振动传感器X,Y,Z三个轴模拟电压的输入端。接收到的模拟电压信号由单片机内部自带的A/D转换器转换成数字信号,然后对数据进行处理。单片机的PC3引脚和PC4引脚用作振动传感器量程选择的控制端。MMA7260的G1和G2分别连接单片机的PC3引脚和PC4,通过控制PC3引脚和PC4引脚的输出电平选择所需量程,本系统中采用1.5g的量程,因此PC3引脚和PC4引脚均输出低电平。MMA7260的Sleep Mode引脚连接到单片机中的PC1引脚,让此引脚输出高电平,允许传感器进入睡眠模式,睡眠模式下具有节能效果。

2 测量系统软件设计
测量系统软件主要包括硬件初始化和数据处理。初始化包括单片机的ADMUX寄存器初始化,单片机I/O口初始化。数据处理包括振动信息采集及A/D转换后的数据处理。系统软件采用C语言编程设计,软件流程图如图4所示。系统上电之后,首先进行初始化,然后系统开始进行数据采集和处理。主控制器采用中断方式进行工作,每隔一定时间从MMA7260振动传感器中读取振动信息,单片机对模拟数据进行A/D转换,并对其进行处理,然后进入低功耗休眠状态。

在对振动传感器的三个轴的电压信息进行采集时,把A/D转换器的工作方式设置成了自由转换方式,采用轮询方式分别对X,Y和Z轴的电压信息进行采集,然后进入休眠状态。通过定时计数器设定一个时间,定时时间到从休眠状态唤醒,继续采集X,Y,Z三轴的电压信息。
3 系统实现及实验
本文实现的振动测量系统如图5所示,MMA7260振动传感器实现振动信息采集,单片机对数据进行A/D转换和处理。需要指出的是,在实现的样例系统中加入了RS 232串口,以将测量数据输到PC机,方便系统调试。

为了验证本文设计的系统,在实验室环境下进行了运输振动模拟测试。实验时,把振动传感器MMA7260固定在玩具小车上面,晃动小车以产生振动,同时采集振动传感器输出的数据。部分实验数据如图6所示,可以看出,当小车受到振动时,传感器能明显地检测到振动的信息。

4 结语
本文研究并设计了一种用于物流运输过程监测的振动测量系统,以对怕磕碰、易碎物品或危险品等的运输过程进行监测。介绍了系统的构成、硬件设计和软件流程,并给出了实现的系统,以此进行了振动测量实验,结果表明,系统运行良好,能够准确地记录振动参数,可以广泛地应用在物流运输监测系统中,作为车辆运输过程振动监测的一种有效手段。




