鄭秋晨,吳銀川
(西安石油大學(xué) 陜西省油氣井測(cè)控技術(shù)重點(diǎn)實(shí)驗(yàn)室,陜西西安,710065)
振動(dòng)是各種機(jī)械系統(tǒng)工作過(guò)程中經(jīng)常發(fā)生的現(xiàn)象,振動(dòng)信號(hào)可以反映系統(tǒng)的工作狀態(tài)以及系統(tǒng)的健康水平[1~2],發(fā)現(xiàn)系統(tǒng)故障以及時(shí)處理。在儀器機(jī)械設(shè)備工作過(guò)程中,對(duì)振動(dòng)信號(hào)進(jìn)行實(shí)時(shí)的檢測(cè)和分析對(duì)提高系統(tǒng)的生產(chǎn)力和安全維護(hù)都十分重要。
振動(dòng)信號(hào)相關(guān)的物理量包括加速度、速度和位移等,由于測(cè)量加速度具有方便、經(jīng)濟(jì)的優(yōu)勢(shì),工程上通常通過(guò)測(cè)量加速度測(cè)量振動(dòng)信號(hào)[3~4]。目前常用的加速度傳感器有壓電式、壓阻式和電容式[5]。壓電式加速度傳感器和壓阻式加速度傳感器都屬于慣性式傳感器,慣性式加速度傳感器電路復(fù)雜且成本較高,而電容式加速度傳感器具備高阻抗、小功率、結(jié)構(gòu)簡(jiǎn)單、穩(wěn)定性好、可以實(shí)現(xiàn)非接觸性測(cè)量等優(yōu)點(diǎn)[6~7]。本設(shè)計(jì)選擇的MEMS 三軸加速度傳感器ADXL345 是電容式加速度傳感器,同時(shí),ADXL345 采用了MEMS 工藝,還具備體積小、精度高、性能穩(wěn)定、使用方便等優(yōu)點(diǎn)[8]。
本文基于MEMS 傳感技術(shù),設(shè)計(jì)了一種針對(duì)微弱振動(dòng)信號(hào)的檢測(cè)與處理系統(tǒng)。闡述了系統(tǒng)實(shí)現(xiàn)微弱振動(dòng)信號(hào)檢測(cè)的原理,介紹了系統(tǒng)的硬件設(shè)計(jì)和軟件設(shè)計(jì),測(cè)試并分析了在全分辨率模式下的微弱振動(dòng)信號(hào)的檢測(cè)結(jié)果,基于上位機(jī)檢測(cè)結(jié)果,總結(jié)并分析了系統(tǒng)的性能和可擴(kuò)展性。
整個(gè)系統(tǒng)由MEMS 傳感器模塊,單片機(jī)模塊,串口/USB 通信模塊,上位機(jī),系統(tǒng)電源模塊構(gòu)成,其結(jié)構(gòu)框圖如圖1 所示。其中單片機(jī)是整個(gè)系統(tǒng)的核心,單片機(jī)一方面接收上位機(jī)的命令實(shí)現(xiàn)MEMS 數(shù)據(jù)控制,另一方面將接收來(lái)自MEMS 傳感器的振動(dòng)數(shù)據(jù)上傳至上位機(jī);MEMS 傳感器一方面通過(guò)SPI 數(shù)字接口接收單片機(jī)的指令,另一方面根據(jù)上位機(jī)的指令配置寄存器進(jìn)行振動(dòng)數(shù)據(jù)測(cè)量;上位機(jī)通過(guò)串口/USB 通信模塊實(shí)現(xiàn)對(duì)MEMS 傳感器的在線參數(shù)配置、命令下發(fā)、振動(dòng)數(shù)據(jù)接收以及波形繪制等功能;系統(tǒng)電源模塊分別對(duì)串口/USB 通信電路、單片機(jī)、MEMS 傳感器提供+5V、+3.3V、+3.3V 的電源進(jìn)行供電。
圖1 系統(tǒng)結(jié)構(gòu)框圖
MEMS 傳感器模塊使用ADXL345,該傳感器分辨率高,加速度測(cè)量范圍有±2g,±4g,±8g,±16g。傳感器內(nèi)部集成A/D 轉(zhuǎn)換電路和數(shù)字濾波器,模擬量轉(zhuǎn)換為數(shù)字量后進(jìn)行數(shù)字濾波存儲(chǔ)在FIFO 中,輸出數(shù)據(jù)為16 位二進(jìn)制補(bǔ)碼格式,可通過(guò)的標(biāo)準(zhǔn)SPI 數(shù)字接口和外部設(shè)備通信。傳感器設(shè)有多種功能寄存器,數(shù)據(jù)以十六進(jìn)制形式存儲(chǔ),通過(guò)讀寫(xiě)寄存器內(nèi)的存儲(chǔ)值對(duì)系統(tǒng)的功能參數(shù)進(jìn)行調(diào)整。傳感器采樣速度在6.25~3200Hz 之間可調(diào),低采樣速率可以降低噪聲干擾,本設(shè)計(jì)將采樣速度設(shè)定在100Hz。
本系統(tǒng)中單片機(jī)模塊使用STM32F407,利用四線SPI實(shí)現(xiàn)單片機(jī)和MEMS 傳感器的全雙工數(shù)據(jù)通信,系統(tǒng)中配置單片機(jī)為主設(shè)備,配置ADXL345 為從設(shè)備。MEMS 傳感器的接口設(shè)計(jì)如圖2 所示,其中SCLK 為主設(shè)備提供的時(shí)鐘,/CS 為主設(shè)備提供的選擇的使能信號(hào),MISO 為主設(shè)備輸入從設(shè)備輸出數(shù)據(jù),MOSI 為主設(shè)備輸出從設(shè)備輸入數(shù)據(jù),INT1 引腳會(huì)向單片機(jī)提供中斷信號(hào)。當(dāng)/CS 為低電平時(shí),主從設(shè)備之間才能進(jìn)行全雙工通信。
圖2 MEMS 傳感器接口設(shè)計(jì)
數(shù)據(jù)通信模塊通過(guò)串口/USB 實(shí)現(xiàn)加速度數(shù)據(jù)測(cè)量和采集系統(tǒng)與計(jì)算機(jī)的通信,將單片機(jī)存儲(chǔ)器內(nèi)采集的振動(dòng)數(shù)據(jù)讀取到計(jì)算機(jī)中[9]。如圖3 所示,系統(tǒng)使用異步串口UART連接標(biāo)準(zhǔn),計(jì)算機(jī)通過(guò)CH340 芯片進(jìn)行USB 轉(zhuǎn)串口,與單片機(jī)的串口相連,實(shí)現(xiàn)數(shù)據(jù)通信,三者之間的數(shù)據(jù)通信速率統(tǒng)一配置為115200bps。
圖3 串口轉(zhuǎn)USB 接口設(shè)計(jì)
本系統(tǒng)軟件設(shè)計(jì)主要分為下位機(jī)軟件設(shè)計(jì)和上位機(jī)軟件設(shè)計(jì)。下位機(jī)使用C 語(yǔ)言編程,主要圍繞振動(dòng)數(shù)據(jù)的測(cè)量和采集功能進(jìn)行設(shè)計(jì),上位機(jī)使用軟件Visual studio 進(jìn)行C#語(yǔ)言編程,主要對(duì)MEMS 數(shù)據(jù)接收、MEMS 命令下發(fā)、振動(dòng)數(shù)據(jù)處理、波形繪制等功能進(jìn)行設(shè)計(jì)。
系統(tǒng)軟件總體流程如圖4 所示。首先系統(tǒng)上電后進(jìn)行下位機(jī)的初始化,包括單片機(jī)初始化和MEMS 傳感器初始化;初始化完成之后單片機(jī)通過(guò)串口與上位機(jī)建立通信,上位機(jī)在檢測(cè)到串口打開(kāi)后成功與下位機(jī)建立連接,此時(shí)上位機(jī)界面不會(huì)接收振動(dòng)數(shù)據(jù);接著上位機(jī)下發(fā)數(shù)據(jù)采集指令,單片機(jī)接收到指令后上傳振動(dòng)數(shù)據(jù),上位機(jī)界面才會(huì)出現(xiàn)振動(dòng)數(shù)據(jù)和波形;最后通過(guò)上位機(jī)對(duì)數(shù)據(jù)和波形做進(jìn)一步處理。
圖4 系統(tǒng)軟件總體流程圖
3.2.1 主程序流程設(shè)計(jì)
單片機(jī)的一次上傳數(shù)據(jù)的主程序流程如圖5 所示。單片機(jī)上電后首先完成單片機(jī)和ADXL345 的初始化,當(dāng) MEMS 數(shù)據(jù)在FIFO 中更新完成時(shí),讀取中斷標(biāo)志位,INT1 會(huì)產(chǎn)生一個(gè)下降沿的中斷,此時(shí)單片機(jī)會(huì)讀取MEMS 數(shù)據(jù)并發(fā)出指令將FIFO 數(shù)據(jù)清除等待下一次數(shù)據(jù)的更新,接著等待上位機(jī)發(fā)送采集指令,單片機(jī)接收到指令后開(kāi)始上傳數(shù)據(jù)。
圖5 單片機(jī)主程序流程圖
3.2.2 SPI 接口程序設(shè)計(jì)
單片機(jī)通過(guò)SPI 接口讀寫(xiě)MEMS 數(shù)據(jù)的基本流程如圖6 和圖7 所示。當(dāng)/CS 拉低時(shí)單片機(jī)和傳感器的通信開(kāi)始,接著單片機(jī)通過(guò)狀態(tài)寄存器來(lái)判斷緩沖區(qū)是否有數(shù)據(jù),等待緩沖區(qū)沒(méi)有數(shù)據(jù)時(shí)執(zhí)行讀、寫(xiě)操作,讀、寫(xiě)操作同時(shí)進(jìn)行,向寄存器寫(xiě)入數(shù)據(jù)的同時(shí)會(huì)接收到數(shù)據(jù),當(dāng)/CS 拉高時(shí),通信結(jié)束。
圖6 寫(xiě)MEMS 配置流程圖
圖7 讀MEMS 數(shù)據(jù)流程圖
3.3.1 軟件界面設(shè)計(jì)
本文主要使用C#語(yǔ)言在Windows 系統(tǒng)下配合Visual Studio 開(kāi)發(fā)環(huán)境,開(kāi)發(fā)Winform 桌面應(yīng)用程序,實(shí)現(xiàn)微弱振動(dòng)信號(hào)檢測(cè)系統(tǒng)軟件部分的開(kāi)發(fā)[10]。上位機(jī)軟件界面設(shè)計(jì)框圖如圖8 所示。根據(jù)系統(tǒng)所需要的功能將軟件界面的區(qū)域劃分為串口配置區(qū)域、參數(shù)配置區(qū)域、數(shù)據(jù)接收區(qū)域以及波形繪制區(qū)域等。
3.3.2 軟件流程與功能設(shè)計(jì)
上位機(jī)軟件流程如圖9 所示。首先通過(guò)上位機(jī)打開(kāi)串口,打開(kāi)成功后和下位機(jī)建立聯(lián)系,接著上位機(jī)下發(fā)數(shù)據(jù)采集指令進(jìn)行數(shù)據(jù)接收,最終顯示振動(dòng)數(shù)據(jù)和振動(dòng)波形。同時(shí),軟件還可以實(shí)現(xiàn)數(shù)據(jù)保存、數(shù)據(jù)回放、圖像縮放等功能。
圖9 上位機(jī)軟件流程圖
根據(jù)系統(tǒng)硬件設(shè)計(jì)完成硬件平臺(tái)的搭建,打開(kāi)Visual studio 繪制的軟件界面,硬件平臺(tái)與上位機(jī)軟件連通成功后進(jìn)行測(cè)試。令三軸加速度分別為ax、ay、az,則合成加速度,同時(shí)繪制出合成加速度波形。打開(kāi)串口后在下拉框中選擇系統(tǒng)的感應(yīng)加速度范圍為±2g,系統(tǒng)的測(cè)試結(jié)果如圖10 所示。
圖10 系統(tǒng)測(cè)試結(jié)果
圖10 中,數(shù)據(jù)接收框從左至右依次是x 軸、y 軸、z 軸加速度值,在21 時(shí)14 分06 秒時(shí),系統(tǒng)檢測(cè)到z 軸振動(dòng)的負(fù)方向最大值1.9968g,其峰值接近2g,表明系統(tǒng)可以檢測(cè)到±2g 范圍內(nèi)三個(gè)軸的振動(dòng)信號(hào),并且此時(shí)系統(tǒng)的感應(yīng)精度為3.9mg/LSB,在21 時(shí)13 分39 秒時(shí),系統(tǒng)檢測(cè)到x 軸振動(dòng)負(fù)方向的最小值為0.0039g。傳感器的量程為-2g~+2g,輸出數(shù)據(jù)位數(shù)為10 位,2 的10 次方共1024個(gè)LSB。感應(yīng)精度的計(jì)算過(guò)程如式(1)所示:
此時(shí)系統(tǒng)對(duì)微弱振動(dòng)信號(hào)的檢測(cè)能力最強(qiáng),接收靈敏度最高。在實(shí)際應(yīng)用中,可以對(duì)機(jī)械設(shè)備的振動(dòng)狀況進(jìn)行多次測(cè)試,來(lái)配置合適的加速度感應(yīng)范圍,從而達(dá)到不同級(jí)別的微弱振動(dòng)信號(hào)檢測(cè)的目的。
本文設(shè)計(jì)了一種基于MEMS 傳感器的微弱振動(dòng)信號(hào)檢測(cè)與處理系統(tǒng),完成了振動(dòng)數(shù)據(jù)接收、振動(dòng)波形繪制、振動(dòng)波形回放等功能,經(jīng)測(cè)試表明,系統(tǒng)可以檢測(cè)到±2g 范圍的振動(dòng)信號(hào),最小精度達(dá)到3.9mg/LSB,滿足機(jī)械設(shè)備振動(dòng)檢測(cè)的工程要求。同時(shí),本設(shè)計(jì)利用上位機(jī)軟件可以對(duì)振動(dòng)數(shù)據(jù)和振動(dòng)波形進(jìn)行存儲(chǔ)、再現(xiàn)以及波形的縮放,為進(jìn)一步機(jī)械設(shè)備振動(dòng)的分析與處理提供基礎(chǔ)。