







摘" 要:文章對常見的軟支撐臥式動平衡機的振動信號進行了深入研究,基于嵌入式系統(tǒng)并結(jié)合高效能的數(shù)字信號處理優(yōu)化函數(shù),設計了一款便攜式動平衡機測量裝置。以STM32F407微處理器作為主芯片,通過ARM公司的標準化軟件接口,完成對振動信號的波形解析,最終將結(jié)果用小體積的LCD液晶屏來顯示。經(jīng)在實際工廠測試驗證,系統(tǒng)運行穩(wěn)定,可用于現(xiàn)場動平衡測試,測量精度符合行業(yè)標準。
關鍵詞:嵌入式技術(shù);數(shù)字信號處理;動平衡機
中圖分類號:TP216" " 文獻標識碼:A" " 文章編號:2096-4706(2024)21-0158-06
Research and Application of Portable Field Dynamic Balance Measuring Device Based on Embedded Technology
WANG Xinhao, ZHANG Congpeng
(North China University of Technology, Beijing" 100144, China)
Abstract: This paper deeply studies the vibration signal of the common soft-supported horizontal dynamic balancing machine, combines with the high-performance Digital Signal Processing optimization function based on the embedded system, and designs a portable dynamic balance measuring device. It uses STM32F407 microprocessor as the main chip, and completes the waveform analysis of the vibration signal through the standardized software interface of ARM. Finally, the results are displayed on a small LCD screen. Through the test and verification of actual factory, the system runs stably and can be used for field dynamic balance tests, and the measurement accuracy meets the industry standard.
Keywords: embedded technology; Digital Signal Processing; dynamic balancing machine
0" 引" 言
轉(zhuǎn)子在剛生產(chǎn)或經(jīng)過長期使用過后時,會因為加工誤差或磨損導致轉(zhuǎn)子質(zhì)心偏離旋轉(zhuǎn)軸線而產(chǎn)生不平衡質(zhì)量[1-3],不平衡質(zhì)量會使轉(zhuǎn)子在旋轉(zhuǎn)過程中產(chǎn)生離心力從而導致旋轉(zhuǎn)設備振動,這樣的振動會縮短機械設備的壽命,還可能引發(fā)人身傷害[4]。解決轉(zhuǎn)子不平衡問題的方法就是動平衡技術(shù),不過目前市面上仍有多數(shù)動平衡產(chǎn)品采用研發(fā)周期較長的模擬電路進行運算,這些硬件電路成本高、占用空間大,并且與其適配的上位機軟件需要使用計算機屏幕完成顯示,這更增加了測量裝置的金錢和空間成本。因此,本文設計了一款基于嵌入式系統(tǒng)的便攜式現(xiàn)場動平衡測量裝置。
該裝置結(jié)合了ARM處理器和基于嵌入式設備的DSP庫函數(shù),在有限內(nèi)的存空間中完成大運算量的數(shù)字信號處理任務,完成對動平衡機振動信號的波形處理,通過雙面平衡原理,將不平衡量的解算結(jié)果用液晶屏直接呈現(xiàn)到裝置表面。系統(tǒng)具有低成本、高性能、多功能、可攜帶、精度高等優(yōu)勢,便于測試人員在不同測量環(huán)境下的正常使用。
1" 系統(tǒng)整體方案設計
通過對動平衡機行業(yè)中最為普遍一類機型的要求分析,動平衡機對轉(zhuǎn)子上不平衡量的解算方法大部分都基于雙面平衡原理[5],這使得該類機器擁有至少兩個同方向的振動傳感器來分別檢測兩個支承擺架的振動,以及一個光電傳感器來作為基準信號完成轉(zhuǎn)速和相位的計算。根據(jù)以上技術(shù)需求,系統(tǒng)的整體方案設計可分為以下3個部分:
1)設計采集電路采集兩路振動信號和一路光電脈沖信號。
2)將振動信號由STM32F407微處理器完成濾波、提取有效波形、計算相位、解算不平衡量等步驟。
3)將解算結(jié)果通過總線協(xié)議顯示到裝置的LCD顯示屏上。
系統(tǒng)具體實現(xiàn)流程如圖1所示。
2" 系統(tǒng)硬件設計
2.1" 主控芯片
STM32F407VGT6擁有192 KB SRAM和高達1 MB的FLASH存儲空間,其包含的FPU單元的ARM Cortex-M4處理器使得嵌入式設備在數(shù)字信號處理領域也能表現(xiàn)出色,特別是在需要處理大量數(shù)據(jù)和復雜的函數(shù)運算中,這款微處理器提供了廣泛的外設接口和較大的存儲容量,為后續(xù)與其他硬件設備的通信和DSP優(yōu)化函數(shù)的搭建建立充足的條件基礎。
2.2" 振動信號采集電路設計
在動平衡領域中,振動傳感器可分為力傳感器、和位移傳感器兩大類[6],其通常以差分信號的形式將支承擺架的振動通過壓電效應傳輸出去,振幅精度一般在微伏以內(nèi),所以傳感器對信號采集的分辨率要求較高,本系統(tǒng)采用的模數(shù)轉(zhuǎn)換芯片是德州儀器生產(chǎn)的ADS1256芯片,其提供了24位的高分辨率,采樣率可以從2.5 SPS調(diào)節(jié)到30 kHz SPS[7],精度和采樣率均足以滿足對振動信號的采集要求。對于電壓信號來說,該芯片可以靈活進行調(diào)節(jié)8路單端輸入和4路差分輸入,并且芯片內(nèi)含可編程增益放大器(PGA),其適應性可以應對大部分市面上的傳感器輸出模式。
由于ADS1256是精度極高的A/D轉(zhuǎn)換器,其外圍電路設計需要嚴格滿足芯片的供電需求,圖2為ADS1256的典型應用電路。在實際應用中,需要對電源和接地線路的布置需格外關注。為了確保電源穩(wěn)定性,在模擬和數(shù)字電源的輸入端并聯(lián)使用小型陶瓷電容與較大的鉭電容或其他陶瓷電容,重要的是要將電容放置盡可能靠近輸入端,并確保小型電容離ADC更近。對于VREFN和VREFP引腳,它們需要一個干凈、穩(wěn)定的電源,這可以直接從模擬電源AVDD獲得,或通過分壓方式獲得,抑或使用獨立的低噪聲、低溫漂的參考電源。此外,為了限制高頻噪聲的干擾,輸入端通常需要配置RC低通濾波器,并盡量縮短輸入線。在接地設計上,建議模擬和數(shù)字電源共用接地點。若ADS1256使用不同的接地網(wǎng)絡,應采用單點接地方法,確保模擬地(AGND)與數(shù)字地(DGND)間無電壓差異。
2.3" 光電信號采集電路設計
動平衡機轉(zhuǎn)子的基準信號測量和轉(zhuǎn)速測量需要通過光電傳感器來完成。在轉(zhuǎn)子上某一位置貼一張反光片,光電傳感器每照射到反光片便會產(chǎn)生一次響應,響應以脈沖信號的形式從傳感器的輸出線輸出,微處理器將得到的脈沖信號作為基準信號來完成后續(xù)的計算。每產(chǎn)生一個脈沖信號代表轉(zhuǎn)子轉(zhuǎn)動了一圈,對脈沖信號時間間隔的計算便可得出轉(zhuǎn)子的轉(zhuǎn)速。由于大部分光電傳感器的信號輸出電壓過大,不能直接接入MCU的I/O引腳,那么就需要進行電壓隔離。本文選用HCPL-0531高速數(shù)字隔離器,這種隔離器設計用于電氣隔離和信號傳輸,尤其適用于高速通信和控制系統(tǒng),足以完成本裝置的光電數(shù)字信號采集任務。由于該光耦芯片可以提供兩路輸入輸出,在電路設計中將兩路合為一路進行測量,原理圖如圖3所示。
2.4" 顯示屏模塊設計
綜合考慮本裝置硬件電路布局的面積,采用1.8寸彩色TFT高清IPS LCD液晶屏作為顯示模塊,其具有低功耗,全色彩,發(fā)光效率高,售價低廉等特點,這使得它在電子產(chǎn)品領域中被廣泛應用于便攜式、穿戴等場景。該模塊電路圖如圖4所示。SCL引腳和SDA引腳與單片機IIC外設的SCL和SDA對應引腳相連接,通過IIC通信協(xié)議實現(xiàn)顯示數(shù)據(jù)的傳輸。
3" 系統(tǒng)軟件設計
軟件設計包括對MCU外設的編程和數(shù)字信號處理算法的編程。通過上述對系統(tǒng)硬件的規(guī)劃,涉及的硬件外設有SPI、TIM、IIC,這些常用外設可以通過STM32CubeMX軟件來完成快速編程。STM32CubeMX是針對ST公司產(chǎn)品的圖形化軟件配置工具,可以對STM32型號的芯片完成各種常用外設的軟件配置,并生成完整的keil工程文件。
數(shù)字信號處理算法可以在STM32CubeMX生成的keil文件中繼續(xù)設計,本項目中用到的數(shù)字信號處理算法包括快速傅里葉變換(FFT)、FIR數(shù)字濾波器、經(jīng)驗模態(tài)分解(Empirical Mode Decomposition, EMD)方法。其中快速傅里葉變換和FIR數(shù)字濾波器都可以在DSP庫中被直接調(diào)用并運行,而經(jīng)驗模態(tài)分解方法并沒有可以直接調(diào)用的函數(shù)。經(jīng)驗模態(tài)分解方法將較為復雜信號分解成可數(shù)多個的本征模態(tài)函數(shù)(Intrinsic Mode Function, IMF),從復雜信號分解出的各個本征模態(tài)函數(shù)中包含了特征信息,即原信號在不同時間的局部特點[8]。在進行IMF分解的過程中,需要完成極值檢測和繪制包絡這兩個步驟,其中極值檢測程序相較來說容易實現(xiàn),而繪制包絡程序恰巧可以使用DSP庫中的樣條插補函數(shù)來完成,該函數(shù)正是基于經(jīng)驗模態(tài)分解所需要的三次樣條插補方法來實現(xiàn)包絡的繪制。所以對于嵌入式設備來說,只要能夠合理地規(guī)劃內(nèi)存,同樣也可以在單片機上運行經(jīng)驗模態(tài)分解算法。
3.1" 數(shù)據(jù)采集軟件設計
ADS1256模數(shù)轉(zhuǎn)換芯片與微處理器通過SPI協(xié)議進行通信,光耦隔離信號會被STM32F407內(nèi)置的高級定時器TIM1的I/O作為輸入捕獲信號處理。在軟件上實現(xiàn)動平衡機擺架振動信號的采集和轉(zhuǎn)子轉(zhuǎn)速信號的采集便是對單片機的SPI外設和TIM外設的編程。通過設置SPI的分配系數(shù)來將外設的通信速率和ADS1256的30 kHz采樣率進行同步,這樣使得在執(zhí)行每一幀采集代碼后,返回的采集值不會產(chǎn)生失真現(xiàn)象。通過配置高級定時器1的輸入捕獲功能,便可以在每次接收到光耦脈沖信號時進行時間間隔計算,得出轉(zhuǎn)子轉(zhuǎn)速。隨后將采集到的波形依次進行快速傅里葉變換、FIR低通濾波、EMD分解,然后使用雙面平衡原理算出不平衡量的幅值和相位,最后通過IIC向LCD傳輸顯示數(shù)據(jù)。如圖5所示為整體系統(tǒng)軟件設計框圖。
3.2" 基于嵌入式系統(tǒng)的DSP算法
ARM公司開發(fā)的Cortex-M4處理器全面了提高數(shù)字信號的控制效率,集成了DSP擴展,支持多種DSP指令集,以及擁有一個可選的單精度浮點單元(FPU)。基于這個內(nèi)核,許多公司推出了自己的MCU,例如本系統(tǒng)中使用到的意法半導體公司的STM32F4系列。ARM公司還提供了Cortex Microcontroller Software Interface Standard(CMSIS),這是一種獨立于供應商的硬件抽象層,它為所有基于Cortex處理器的設備提供統(tǒng)一且簡化的軟件接口[9]。CMSIS的一個重要組成部分是CMSIS DSP庫,它專門用于數(shù)字信號處理,使向量處理、矩陣運算、三角函數(shù)計算、濾波功能、統(tǒng)計函數(shù)和傅里葉變換等操作變得更加高效和便捷。
動平衡機擺架的振動信號在通常情況下都會混疊有不同頻率的干擾信號或噪聲,在軟件編程中,需要對信號進行數(shù)字濾波處理以得到我們所需要的頻率。對于動平衡機擺架振動的時域信號,我們可以使用快速傅里葉變換將其轉(zhuǎn)化為頻域信號,然后去除高頻噪聲和干擾頻率,最后提取出我們后續(xù)所需要的有效波形。編程中,可以通過DSP庫中的FFT算法函數(shù)來完成,其格式如下:
1)Void arm_cfft_f32(amp;arm_cfft_sR_f32_len1024,F(xiàn)FT_IN, 0, 1);
2)Void arm_cmplx_mag_f32(FFT_IN, FFT_OUT, FFT_SIZE);
其中FFT_IN為變換前的時域波形數(shù)組,F(xiàn)FT_OUT為變換后的頻域波形數(shù)組,兩個數(shù)組均必須為float型,且數(shù)組大小必須為1 024,這一參數(shù)取決于在arm_cfft_f32()函數(shù)中對第一個形參的配置,需要與輸入數(shù)組的大小相同。
不過對于動平衡機有效波形的提取,更多情況下使用的是經(jīng)驗模態(tài)分解法,在2021年底,ARM最近更新的DSP庫支持了樣條插補函數(shù),其在經(jīng)驗模態(tài)分解法中的繪制包絡步驟中起到了重要作用,樣條插補主要通過下面兩個函數(shù)實現(xiàn):
1)Void arm_spline_init_f32(arm_spline_instance_f32 *S, arm_spline_type type, const float32_t *x, const float32_t *y, uint32_t n, float32_t *coeffs, float32_t *tempBuffer);
2)Void arm_spline_f32(arm_spline_instance_f32 *S, const float32_t *xq, float32_t *pDst, uint32_t blockSize);
Void arm_spline_init_f32()函數(shù)中,第1個參數(shù)是arm_spline_instance_f32類型結(jié)構(gòu)體變量;第2個參數(shù)是樣條類型選擇:ARM_SPLINE_NATURAL 表自然樣條,ARM_SPLINE_PARABOLIC_RUNOUT表示拋物線樣條;第3個參數(shù)是原始數(shù)據(jù)x軸坐標值;第4個參數(shù)是原始數(shù)據(jù)y軸坐標值;第5個參數(shù)是原始數(shù)據(jù)個數(shù);第6個參數(shù)是插補因數(shù)緩存;第7個參數(shù)是臨時緩沖。在Void arm_spline_f32()函數(shù)中,第1個參數(shù)是arm_spline_instance_f32類型結(jié)構(gòu)體變量;第2個參數(shù)是插補后的x軸坐標值;第3個參數(shù)是經(jīng)過插補計算后輸出的y軸數(shù)值;第4個參數(shù)是數(shù)據(jù)輸出個數(shù)。
在經(jīng)驗模態(tài)分解步驟中,需要檢測波形的極值,對于運算資源緊張的嵌入式設備來說,優(yōu)化內(nèi)存是一項必不可少的工程。在進行經(jīng)驗模態(tài)分解之前,我們需要對信號進行低通濾波,這樣就能使波形的細節(jié)部位變得光滑,從而在代碼中減少波形數(shù)組的極值數(shù)量,極大程度地減輕了計算內(nèi)存負擔。對于低通濾波,程序中采用DSP庫中的FIR濾波器,使用MATLAB軟件調(diào)配濾波器的主要參數(shù),通過以下兩個函數(shù)完成濾波功能:
1)Void arm_fir_init_f32(amp;S,BL,(float32_t *)B,pState,block_Size);
2)Void arm_fir_f32(amp;S, FIR_IN + (i *block_Size), FIR_OUT + (i *block_Size), block_Size);
第一個函數(shù)用于FIR的初始化,參數(shù)包括實例、濾波器系數(shù)的個數(shù)、濾波器系數(shù)地址、緩沖狀態(tài)地址、每次處理的數(shù)據(jù)個數(shù)。其中濾波器系數(shù)的個數(shù)和濾波器系數(shù)地址是只讀類型數(shù)據(jù),并不會占用單片機的SRAM空間,這兩個參數(shù)來自MATLAB中通過設置對應FIR濾波器所生成的.h文件中。第二個函數(shù)用于FIR濾波,參數(shù)包括實例、源數(shù)據(jù)地址、濾波處理后的數(shù)據(jù)地址、每次處理的數(shù)據(jù)個數(shù)。
在完成所有數(shù)字信號處理代碼的準備工作之后,通過合理分配內(nèi)存資源和正確管理不同任務之間的調(diào)度,便能靈活使用DSP函數(shù)完成對輸入信號的波形提取,具體處理流程如圖6所示。
4" 運行結(jié)果分析與結(jié)論
本裝置對某工廠的圈帶式軟支撐動平衡機設備進行測量,現(xiàn)場對設備進行調(diào)整以適配本設計中基于嵌入式系統(tǒng)的測試電路板。對于現(xiàn)場設備的振動信號進行采集和數(shù)據(jù)保存,使用串口調(diào)試的方式將處理前后的波形顯示到電腦上進行對比,如圖7為其中一個擺架的原始振動波形。
首先經(jīng)過FIR濾波器進行預處理,如圖8所示。通過放大波形可以看到各個尖峰部分變得光滑,整段波形不再有斜率不存在的情況,這說明我們通過DSP庫函數(shù)設置的FIR低通濾波器對高頻有明顯的衰減。處理過后,整段波形的極值數(shù)量大大減少,極大程度上節(jié)省了后續(xù)經(jīng)驗模態(tài)分解時的內(nèi)存需求。
如圖9為預處理后的波形經(jīng)過經(jīng)驗模態(tài)分解后的各個IMF波形,每個IMF波形都對應于其各自的實際物理意義[10]。其中IMF3就是進行雙面平衡解算時所需要的波形,可以看出來其光滑程度非常好,并且還原了振動幅值隨時間的變化關系。通過分解結(jié)果來看,證明了這種方法可以有效地將信號中的有用部分和噪聲分離開來,通過選擇合適的波形來抑制或去除噪聲。相比于快速傅里葉變換,經(jīng)驗模態(tài)分解在時域上的表現(xiàn)更能保留原始的振動信息,這也是在動平衡信號處理領域中對設備精度有著重要影響的方面。接下來對IMF3波形進行相位計算,通過將重量為1 g的配重塊放置在轉(zhuǎn)子的不同角度來測試相位計算的精度,測試結(jié)果如表1所示。
通過實驗驗證本設計基于嵌入式技術(shù)的動平衡機數(shù)據(jù)采集及信號分析系統(tǒng)有著良好的精度,能夠滿足系統(tǒng)的設計要求。
5" 結(jié)" 論
該裝置對工業(yè)中常見的圈帶式軟支撐動平衡機測試系統(tǒng)進行優(yōu)化,基于嵌入式技術(shù)提出了輕量,便攜的設備制造方案,不僅實現(xiàn)了對振動信號的精確采集,并且通過CMSIS提供的DSP數(shù)學庫在單片機中完成復雜的數(shù)字信號處理算法,最終可以正確計算出不平衡量的相位和重量并進行配套LCD屏幕顯示。該系統(tǒng)性能不俗,并且功耗與成本極低,測試表現(xiàn)符合行業(yè)標準,在此基礎上可以進一步拓展動平衡相關的要求和功能。
參考文獻:
[1] 關勇.基于嵌入式開發(fā)的動平衡測試系統(tǒng)的設計與研究 [D].長春:吉林大學,2016.
[2] 陶利民.轉(zhuǎn)子高精度動平衡測試與自動平衡技術(shù)研究 [D].長沙:國防科學技術(shù)大學,2006.
[3] 徐娟,羅軼超,張利,等.在線動平衡中振動信號提取方法研究 [J].電子測量與儀器學報,2012,26(11):972-976.
[4] 王玥.轉(zhuǎn)子高精度動平衡機系統(tǒng)設計與研究 [D].西安:西安電子科技大學,2021.
[5] 劉釗,丁小浪,陳龍安.軟支撐動平衡系統(tǒng)設計 [J].中國工程機械學報,2015,13(5):418-421.
[6] 張傳藝.高精度網(wǎng)絡化新型動平衡機研究與開發(fā) [D].杭州:浙江大學,2017.
[7] 茍佳杰.水聲信號采集系統(tǒng)設計與實現(xiàn) [D].杭州:杭州電子科技大學,2023.
[8] 田立武,沈曉萍.嵌入式脈搏波呼吸頻率檢測系統(tǒng)的研究與設計 [J].現(xiàn)代信息科技,2021,5(18):48-50+55.
[9] 趙星.基于STM32及DSP庫對脈搏波進行傅里葉變換的方法 [J].現(xiàn)代計算機,2021,27(28):112-115+120.
[10] 時世晨.EEMD時頻分析方法研究和仿真系統(tǒng)設計 [D].上海:華東師范大學,2011.
作者簡介:王馨皞(1999—),男,漢族,河南濟源人,碩士在讀,研究方向:嵌入式系統(tǒng)開發(fā);張從鵬(1975—),男,漢族,河南平頂山人,教授,博士,研究方向:智能裝備技術(shù)、機器視覺與圖像處理。