基于ARM的振动信号采集及文件存储系统
引言
在机械结构的振动过程中,许多微弱信号包含机械运动的丰富特征信息,如故障特征信息等,有必要提取出来加以分析。在微弱信号提取过程中,有时信号非常微弱,极易受到外界的干扰而淹没于强噪声之中,有时被测信号振幅变化范围又很大,会绐信号采集带来很大困难。放大电路本身的噪声性能和频率特性也将影响信号的提取精度。对振动信号的采集及处理,通常是用普通的数据采集系统去采集,然后用数字信号处理的方法来提取数据的特征信息。但是,一些由于采集系统的不足对信息造成的损失,是后期的数字信号处理无法补偿的。振动信号的检测是机械系统状态检测和早期故障诊断的关键,机械系统早期故障引起的异常振动信号有时很微弱,而且持续时间短、信噪比低,容易淹没于背景噪声中。
测量的方法、可测量的种类和范围应不断拓宽和更新,准确度要提高,可靠性要增强,并能够适应各种不同的实验环境需要,同时故障分析需要对大量样本进行对比分析,这就要求我们配备可移动的大容量存储介质。针对此情况,本文主要研究了基于ARM处理器的振动信号的智能调节振幅数据采集电路设计和基于FatFs文件系统的SD卡的大容量存储系统设计。
1 系统功能结构
针对信息化管理程度,该系统设计成既可作为一个独立系统单独运行,又可作为功能模块无缝整合接入基于ARM的信息管理系统。该系统功能结构如图1所示。
信号调理模块:通过加速度传感器采集微弱振动信号,进而经过信号调理电路(包括程控调节增益)送到LPC1768的A/D转换模块进行采集。
PC机通信模块:通过USB接口与PC机通信,可实现文件数据的增加、删除、新建等功能。
SD卡存储模块:基于FatFs文件系统的存储设计,通过SPI总线与主芯片通信,可完成数据的任何格式(如Wav)的写入,也可对SD卡内的数据进行读取。
语音播报模块:在测试过程中实时语音提醒用户当前的操作状态,语音命令预存储在SD卡内,可通过SPI总线通信进行。
2 硬件电路设计
2.1 信号调理电路设计
信号调理电路主要包括压电式加速度传感器、电荷放大电路、两级程控放大电路、带通滤波电路和电压抬升电路等。
加速度传感器:把振动信号转化为电荷信号,此处采用压电式加速度传感器,灵敏度高达1.294 pC/m·s-2,本实验主要测试频率段为1~10 kHz。
电荷放大电路:把微弱的电荷信号放大成电压信号。运算放大电路选择AD823,是双通道、精密、16 MHz带宽和高增益的放大器;反馈电容C决定了电荷转电压输出的大小以及电荷放大的频率响应特性,电容性能的好坏直接决定着电荷放大器是否稳定,此处反馈电容C设定为100 pF;反馈电阻主要作用是抑制反馈电容引起的零点漂移,由电荷放大器的下线截止频率
可知,在C一定的情况下,要保证下限截止频率,反馈电阻R必须尽可能大,此处设定为100MΩ。
带通滤波电路:设计由低通滤波电路和高通滤波电路组合的带通滤波电路,可根据通带频率计算出电阻电容值,本实验通带频率为1~10 kHz。
电压抬升电路:利用运放将电压抬升到1.5 V,同时增加了电位器的设计,可实现对抬升电位的灵活调节。
2.2 信号放大电路设计
该调理电路最突出的特点是运用数字电位器AD5245来实现对信号的自适应放大,如图2所示。
数字电位器AD5245可实现与机械电位器或可变电阻相同的电子调节功能,具有增强的分辨率、固态可靠性和出色的低温度系数性能,可通过IC兼容型数字接口控制,其调节范围可达256位。在数据采集中,主芯片LPC1768通过预采样值来判断AD5245的调节范围和调节方向,并通过I2C总线对放大倍数进行调节。
由表1可知,AD5245有多种连接方式。针对此实验,本文采用的连接方式如图3所示。
这种接法放大器的放大倍数为Rd/R,可对放大倍数进行256位分辨率的调节。
3 软件及算法设计
3.1 FatFs文件系统
FatFs是一个为小型嵌入式系统设计的通用FAT文件系统模块。FatFs的编写遵循ANSIC,并且完全与磁盘I/O层分开。独立于硬件架构,可以被嵌入到低成本的微控制器中。其结构图如图4所示。
FatFs具有非常清晰的层次结构,应用层为用户提供一系列API函数,如f_open、f_close、f_read、f_write等,用于对文件的读写等;中间层FatFsModule为Fat协议层;最底层是用户在移植过程中需要处理的接口,包括存储媒介读/写接口DiskIO和文件修改时间所需的实时时钟。根据层次式软件设计的思想,将软件工作分为3步:SD卡的通信实现、RTC时钟配置和FatFs的移植。
①SD卡的通信实现。通过SPI总线系统实现SD卡与LPC1768、PC机的通信,可实现采样数据的自动存储与通过PC机对SD卡内数据的新建、删除、修改和查找等功能。主要包括SPI模式的配置、SPI字节的读写实现、SD卡的读写实现和USB接口的配置。
②RTC时钟配置。利用LPC1768内含的RTC设备实现实时时钟功能,主要包括时钟频率的选择SysTick_Config、RTC实时时钟的初始化RTC_Init及设定RTC_SetFullTime,为文件系统提供准确的时间,可实现对每个存储文件的时间标记。
③FatFs的移植。对FatFs接口函数的编写,主要包括:存储介质初始化函数disk_initialize、存储介质状态检测函数disk_status、读扇区函数disk_read、写扇区函数disk _write、存储介质控制函数disk_ioctl等。
加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW
或用微信扫描左侧二维码