張子毅 裴 陽 駱東松
(1.甘肅工大舞臺技術(shù)工程有限公司 蘭州 730050)(2.蘭州理工大學(xué) 蘭州 730050)
工業(yè)生產(chǎn)中機(jī)械故障時有發(fā)生,人們采用監(jiān)測機(jī)械振動信號的方式來預(yù)測機(jī)械故障。傳統(tǒng)的機(jī)械故障檢測系統(tǒng)采用單軸傳感器作為信號采集單元[1],這樣的采集單元只能檢測到某一位置的單一方向振動信號,對于復(fù)雜機(jī)械的檢測系統(tǒng)來說單一方向的振動信號是遠(yuǎn)遠(yuǎn)不夠的[2]。為解決這一問題,本文采用先進(jìn)的三軸加速度傳感器ADXL372作為機(jī)械故障監(jiān)測系統(tǒng)的信號采集器件;完整的監(jiān)測過程要求系統(tǒng)具有數(shù)據(jù)分析能力,文獻(xiàn)[3]基于WinCE操作系統(tǒng)設(shè)計了一種振動分析儀,本文將精簡的uC/OS-II系統(tǒng)引入到該檢測系統(tǒng)中,并在系統(tǒng)中運(yùn)行針對三軸數(shù)據(jù)的處理算法,文獻(xiàn)[4]中利用DFT變換分析單軸信號,文獻(xiàn)[5]利用EMD方法分析單軸信號,由以上兩種方法可知,振動監(jiān)測系統(tǒng)的數(shù)據(jù)分析算法大多以單軸算法為主,并由傳統(tǒng)的時頻分析方法逐漸向較復(fù)雜的頻譜分解方法過渡,文獻(xiàn)[6]以三維頻譜的方式呈現(xiàn)機(jī)械的振動信號,引出了三軸數(shù)據(jù)分析的例子?;谝陨戏治?,本文將提出基于三軸加速度傳感器的三軸數(shù)據(jù)處理算法MEMD方法,該算法可以有效地處理振動信號,并從中篩選出故障信息。
本章將著重介紹系統(tǒng)的硬件部分的兩個主要器件:三軸加速度傳感器ADXL273和STM32F103C8T6單片機(jī)。結(jié)合實際需求,通過分析器件的性能,得出器件選型的結(jié)果。最后就這些器件設(shè)計監(jiān)測系統(tǒng)的硬件結(jié)構(gòu)圖并繪制電路圖。
ADI公司于2017年推出三軸加速度傳感器ADXL273,采用先進(jìn)的MEMS技術(shù),該技術(shù)將機(jī)械結(jié)構(gòu)與電子電路有機(jī)的結(jié)合在一起,做到了最大程度的集成和精簡,其結(jié)構(gòu)如圖1所示。
圖1 ADXL內(nèi)部結(jié)構(gòu)
ADXL372最小測量精度為±4g,測量范圍為±200g,帶寬為3.2kHz,可見相比于其他同類產(chǎn)品,ADXL372有著優(yōu)越的性能,非常適合應(yīng)用在振動監(jiān)測系統(tǒng)之中。另外,其輸出類型是數(shù)字量,并配有SPI通信接口,可以與單片機(jī)直接通信;一般情況下,機(jī)械振動的頻率范圍在十幾赫茲到幾十千赫茲不等,有時甚至?xí)趦汕У饺Ш掌澲g,許多振動傳感器的采樣帶寬都不符合這一要求,就會導(dǎo)致采集的數(shù)據(jù)失真,嚴(yán)重影響分析結(jié)果;ADXL273的工作模式有休眠模式(工作電流為100μA)和連續(xù)采樣模式(工作電流為1mA)兩種,并且具有喚醒功能,當(dāng)振動幅值在一定閾值范圍內(nèi),傳感器將進(jìn)入休眠模式,超過閾值,傳感器將被喚醒,進(jìn)入連續(xù)采樣模式。因此,ADXL372滿足低功耗的需求。
STM32F103C8T6是一款基于ARM Cortex-M內(nèi)核的32位的微控制器,精簡的48腳分裝,具備兩組SPI通信端口,通信速率為72MHz。STM32F103C8T6作為硬件設(shè)備的MCU,可以通過SPI1接口將數(shù)據(jù)從ADXL372讀取出來,并通過SPI2將數(shù)據(jù)存儲到MR25H40磁阻存儲器中,該磁阻存儲器具備寫保護(hù)功能,可防止數(shù)據(jù)意外丟失[2]。
通過以上介紹得出系統(tǒng)的硬件結(jié)構(gòu)如圖2所示,其他外部硬件包括液晶顯示屏、按鍵等;單片機(jī)的預(yù)留的總線端口提供與計算機(jī)通信的通信功能,數(shù)據(jù)就可以在計算機(jī)中存儲,進(jìn)行更進(jìn)一步的分析。
圖2 系統(tǒng)硬件構(gòu)成
本章將介紹系統(tǒng)的軟件設(shè)計,包括uC/OS-II操作系統(tǒng)的剪裁與移植以及系統(tǒng)內(nèi)程序的架構(gòu)與思路。
uC/OS-II操作系統(tǒng)作為一種高效的嵌入式操作系統(tǒng),具有可移植性好、穩(wěn)定性高和可靈活剪裁等特點,其軟硬件結(jié)構(gòu)如圖3所示。
圖3 嵌入式系統(tǒng)構(gòu)成
根據(jù)前文介紹,本系統(tǒng)選擇KeilμVision4作為軟件開發(fā)環(huán)境,在此軟件上,移植方法包括以下步驟。
首先,在KeilμVision4上新建一個工程,并添加啟動代碼。其次,在Micrium官網(wǎng)下載μC/OS-II的軟件工程包,將這些工程包中的代碼選擇性的添加到工程文件夾下,這也是系統(tǒng)可剪裁的體現(xiàn)。最后,通過修改os_cpu.h、os_cpu_a.asm、os_cpu_c.c著三個文件夾下的內(nèi)容,就可將μC/OS-II移植到嵌入式處理器STM32F103C8T6中。
操作系統(tǒng)移植成功之后,將在此基礎(chǔ)上編寫代碼,控制外設(shè)相互配合協(xié)調(diào)工作。其軟件流程如圖4所示。
圖4 軟件流程圖
這里著重介紹對ADXL372的初始化,初始化程序分為以下幾步:
第一步,在器件的ID寄存器中讀取,判斷SPI初始化是否成功,其寄存器地址為0xAD。
第二步,設(shè)置采集頻率,其寄存器地址為0x3E的最后三位,帶寬從200Hz~3200Hz可選。
第三步,設(shè)置ADXL372為自動睡眠模式,該模式下傳感器在沒有監(jiān)測到振動時自動進(jìn)入睡眠模式;振動超過閾值,則進(jìn)入工作模式,寄存器地址是0x3E的第6位。
設(shè)置完以上寄存器,DAXL372開始正常工作。讀取ADXL372的數(shù)據(jù)程序如下所示
xAccDataH = Stratos_EM.adxl372zdevice.read(Stratos_EM.ADXL372Z_XDATA_H_REG)<<4;
yAccDataH = Stratos_EM.adxl372zdevice.read(Stratos_EM.ADXL372Z_YDATA_H_REG)<<4;
zAccDataH = Stratos_EM.adxl372zdevice.read(Stratos_EM.ADXL372Z_ZDATA_H_REG)<<4;
xAccDataL = Stratos_EM.adxl372zdevice.read(Stratos_EM.ADXL372Z_XDATA_L_REG)<<4;
yAccDataL = Stratos_EM.adxl372zdevice.read(Stratos_EM.ADXL372Z_YDATA_L_REG)<<4;
zAccDataL = Stratos_EM.adxl372zdevice.read(Stratos_EM.ADXL372Z_ZDATA_L_REG)<<4;
一個完整的振動分析系統(tǒng)離不開算法的支持,本章將在介紹傳統(tǒng)時頻算法的基礎(chǔ)上,以EMD方法為基本方法,研究專門針對三軸數(shù)據(jù)的MEMD方法。
如今的振動分析儀大多都配有簡單的時頻分析算法,常見的機(jī)械故障信號都可以用時頻算法從中提取故障信號,如文獻(xiàn)[7]中利用FFT變換以及IIP濾波器對振動信號進(jìn)行分析,其中快速傅里葉變化(FFT)利用如式(1)所示的離散傅里葉變化(DFT)中的WNnk的復(fù)共軛對稱性和WNnk對n和k的周期性進(jìn)行簡化,如式(2)、(3)所示。
其他的時頻算法如幅值譜、功率譜、對數(shù)譜和倒譜都以譜布圖中的特征判斷故障原因[8],以上時頻算法在數(shù)據(jù)處理上雖然有著操作簡單,易于執(zhí)行等優(yōu)點,但對于夾雜有諸多非線性時變成分的振動信號總有著分析結(jié)果不全面等缺點。
經(jīng)驗?zāi)B(tài)分解分解方法(Empirical Mode Decomposition,EMD)于1998年由黃鍔提出,是一種非常適合處理非線性非平穩(wěn)信號的方法。該方法依照數(shù)據(jù)自身的時間尺度特征來分解信號,故具有自適應(yīng)性。EMD方法的分解過程主要包括以下三個方面:首先,找出原始信號X(t)的極大值、極小值并通過三次樣條插值函數(shù)擬合出信號的上下包絡(luò)線。然后,根據(jù)上下包絡(luò)線求出均值函數(shù),記為m1。最后,將均值函數(shù)從原始數(shù)據(jù)中減去,得到新的數(shù)據(jù)序列h1如式(4)所示:
如果新的數(shù)據(jù)序列h1還存在負(fù)的局部極大值和正的局部極小值,說明這還不是一個本征模函數(shù),還需要繼續(xù)迭代篩選,直至出現(xiàn)滿足條件的本征模函數(shù)(Intrinsic Mode Function,IMF),如式(5)所示:
此時記h1k(t)=c1(t),稱c1(t)為原始信號X(t)的第一階IMF。
通過以上工作得出了第一階IMF,然后將其從原始信號中分離出來,得到下一個待篩選信號即:
對r1(t)重復(fù)上述工作,直至信號被分解成多個IMF分量和的形式[9],即:
根據(jù)上一節(jié)介紹,EMD方法將原始數(shù)據(jù)分解成若干個IMF分量和的形式,每個IMF分量處于不同的頻帶。但是對于三軸傳感器傳回的數(shù)據(jù),每軸的數(shù)據(jù)都具有不同的信號成分,在數(shù)據(jù)分析是會產(chǎn)生模態(tài)對其等問題[10],這就需要某種方法可以解決這一問題,達(dá)到多軸數(shù)據(jù)有機(jī)融合的目的。
MEMD方法將多維包絡(luò)的概念引入進(jìn)來,多維包絡(luò)將多元信號延空間中不同方向投影,得出了投影信號之后就可以使用算數(shù)平均的方法來擬合局部均值函數(shù)。以上過程中的空間方向向量決定了局部均值函數(shù)的精確程度,方向向量在空間球面中分布越均勻,精確程度越高;反之,精確程度越低。因此,如何確定投影的方向向量就成了MEMD分解的首要問題。
文獻(xiàn)[11]對比了均勻角度采樣法和基于準(zhǔn)蒙特卡洛方法的低差異序列采樣法兩種方法確定球面上的點集,并得出的出后者優(yōu)于前者的結(jié)論,本文也將利用基于準(zhǔn)蒙特卡洛方法的低差異序列采樣法確定單位球面上均勻分布的點集。
通過以上討論,現(xiàn)陳述針對三維信號的MEMD算法思路如下:
第一步,利用基于準(zhǔn)蒙特卡洛方法的低差異序列采樣法得到一組分布均勻的方向向量X。
第二步,將信號組 v(t)延第 k個方向向量Xk投影,得到投影函數(shù)p(kt),其中k=1,2,3,…,l,l表示方向向量的總數(shù)。
第三步,找到投影函數(shù)的極大值、極小值所對應(yīng)的時刻tik,其中i=1,2,3,…,n,n表示極值點的數(shù)量。
第五步,將以上步驟所得到的對應(yīng)于l個方向向量的所有多元包絡(luò)函數(shù)求取近似均值函數(shù):
第六步,提取出固有模態(tài)函數(shù)h(t)=V(t)-M(t),并執(zhí)行類似EMD方法中的篩選過程,直至找到符合條件的多元IMF分量。
最后重復(fù)上述步驟,將原始三維信號分解完備,可表示為
以上是MEMD分解過程,該方法不僅繼承了傳統(tǒng)EMD的自適應(yīng)性,而且可以實現(xiàn)三通道的信號分解,非常適合與三軸加速度傳感器配合處理數(shù)據(jù)。
本文首先在介紹振動監(jiān)測系統(tǒng)軟硬件結(jié)構(gòu)的基礎(chǔ)上對比分析了加速傳感器、主控MCU的選型以及嵌入式操作系統(tǒng)的選型和剪裁,其次設(shè)計了以三軸加速度傳感器ADXL372為采集器件,以STM32F103C8T6為控制核心的系統(tǒng)電路圖,并編寫嵌入式軟件。最后為了更好地分析三軸數(shù)據(jù),對比研究了以EMD方法為基礎(chǔ)的三軸數(shù)據(jù)算法MEMD,此算法可將三軸數(shù)據(jù)有機(jī)的融合,有助于數(shù)據(jù)的綜合診斷和分析。
隨著計算機(jī)科學(xué)的發(fā)展與完善,如今的振動監(jiān)測系統(tǒng)將會朝著高精度、大數(shù)據(jù)的方向發(fā)展,這就要求振動分析儀可以與PC數(shù)據(jù)通信,PC的數(shù)據(jù)處理就可以基于云平臺等大數(shù)據(jù)分析手段實現(xiàn)數(shù)據(jù)共享和遠(yuǎn)程診斷[12]。