張永杰,馬 林,董浩森,康良偉,邊瑞卿,李 凱
(1.中北大學 信息探測與處理山西省重點實驗室,太原 030051;2.中國兵器工業試驗測試研究院,陜西 華陰 714200)
轉速測量在社會生產的各個領域具有重要意義,比如在車輛生產和維護中轉速是重要的測量以及控制對象[1],機床主軸等旋轉設備常常需要顯示轉速以反映設備工作狀態[2-3],火炮發射的彈丸也需要測量飛行過程中的轉動速度以分析其穩定性[4]。
目前對旋轉物體轉速測量方法主要分為外測法、內測法兩種。外測法為非接觸式測量,通過光學方法或者雷達分析物體轉速;內測法是將傳感器安裝于被測物中,對傳感器輸出信號進行解算得到測量物的轉速信息[5]。現有應用于轉速測量的傳感器有磁傳感器、加速度傳感器、霍爾傳感器、光電傳感器、陀螺儀等。
線圈式地磁傳感器利用其隨被測物運動產生的動生電動勢信號測量轉速,具有結構簡單、安裝方便、無累計誤差等優點[6]。目前,已經有許多學者將地磁傳感器應用于轉速測量,文獻[7]提出了三軸正交線圈磁感應傳感器,以線圈在地磁場中做旋轉運動產生反饋信號為基礎測量物體旋轉時的角速率,測量范圍為1~100 rps,誤差小于滿量程的1.8‰;文獻[8]提出了一種三軸“彎工型”感應線圈傳感器結構,獲取傳感器隨彈丸運動切割磁感線時產生的感應信號,使用自適應閉環頻率跟蹤測量算法實時解算彈丸轉速,消除了累計誤差,滿足高速旋轉彈丸轉速測量要求;文獻[9]使用薄膜線圈式地磁傳感器測量彈丸轉速,對傳感器采集信號做希爾伯特變換獲取包絡曲線分析得到彈丸章動周期。
由于線圈傳感器被測物轉速變化范圍大以及受環境磁場變化影響,導致傳感器輸出電信號幅值跨度較大,短時間內會從微弱信號變化為大電壓信號[10],對采集系統的可采集信號范圍提出了挑戰,要求對大信號能夠無失真采集的同時微弱信號的細節信號也可以保留。可采集信號電壓范圍是衡量信號采集系統的一個重要指標[11],當輸入傳感器信號超出采集范圍時,將導致探測目標的關鍵信息無法被采集[12]。直接使用ADC對傳感器信號進行采集,由于信號動態范圍大,對ADC的量程、分辨率要求極高,可能會造成微弱信號部分信息丟失。將信號放大后再用ADC進行采集,可以降低對分辨率的要求[13],但隨著傳感器信號幅值繼續增大,運算放大器輸出放大信號會被削波或者超出ADC采集范圍[14],需要設計一種能夠隨著輸入電壓值變化動態改變增益的采集電路[15]。
針對高動態幅值變化信號的采集現有方式主要包括自動增益控制(AGC)電路[16]和程控放大電路[17-18]。AGC電路通過檢測被測信號強弱產生電壓反饋信號控制可變增益放大器增益形成閉環控制系統,使輸出信號幅值保持穩定[19-20],但是損失了信號原本的幅值特性,且輸入信號動態范圍較小[21]。程控放大技術通過切換增益,將放大后信號控制在合適幅度。文獻[22]設計了一種微弱信號檢測系統,信號通過級聯程控放大器并濾波后輸入鎖相放大器,成功實現了對納伏級信號的采集;文獻[23]設計了一種程控中頻放大電路,使用FPGA控制模擬開關改變運算放大器反饋電阻實現放大器增益倍數改變,線性度與精確度良好。文獻[24]FPGA根據按鍵輸入控制數字電位器MCP41010數字量改變,從而控制壓控放大芯片AD603的增益倍數改變,實現了對電壓峰峰值為50 mV~10 V輸入信號的有效采集;文獻[25]針對傳統放大電路手動調節方式的缺點,提出四級級聯放大電路其中有三級放大電路為固定20 dB增益電路并起到減少信號輸入噪聲引入和提高抗干擾能力,第3級放大電路采用兩篇HMC960級聯構成,使用單片機控制HMC960實現0~40 dB程控放大,總體實現20~60 dB程控無失真放大。
本文設計了一種針對高動態幅值范圍轉速信號的信號采集系統,通過FPGA對高速ADC采集信號進行幅值分析,并控制前處理模塊對幅值過高信號進行衰減,實現對微弱信號和高幅值信號自適應增益調節,無需依靠手動調節增益,處理后的信號幅值控制在設定范圍內,并在FPGA片上實現對增益信號的還原運算,將數據保存后通過網口傳輸至上位機,可以滿足頻率在0~10 kHz和幅值在10 μV~16 V范圍內轉速信號的采集需求。
線圈隨旋轉物體運動時,在磁場中做周期運動,線圈通過磁通量隨線圈轉動循環變化,根據電磁感應定理,線圈將產生周期動生電動勢。如圖1所示,由于線圈軸線與周圍空間磁場方向存在夾角,線圈轉動瞬時感應電動勢表達式為:
(1)

圖1 線圈空間磁場示意圖
式(1)中,N為線圈匝數,μ為線圈轉軸的磁導率,H為線圈所處位置空間磁場強度,S為線圈截面面積,ε為線圈軸線與周圍空間磁場矢量方向的夾角。由公式(1)可以看出線圈動生電動勢信號波形為正弦波,線圈轉速與動生電動勢信號頻率一致,信號幅值與轉動速度和環境磁場強度成正比。
本設計針對線圈在不同轉速和環境下產生的感應信號幅值范圍變化大,使用單一放大倍數難以采集在不同狀態下完整動生電動勢信號,設計了一種基于FPGA的自適應增益采集系統,可對頻率在10 kHz以下幅值在10 μV~16 V范圍內動態正弦波信號實現無失真采集。
圖2展示了自適應增益采集系統的總體結構圖,由信號前處理模塊、自適應增益模塊和FPGA信號處理單元三部分組成。本系統可以對帶寬在0~10 kHz之間,幅值在10 μV~16 V范圍內波動的動態信號實現-20~80 dB自適應增益,自適應增益后信號幅值控制在AL~AH伏之間,并同時將增益后信號去增益還原得到實際傳感器信號,增益信號和還原信號存儲在NAND Flash中。增益信號利于對高動態信號中不同幅值區間信號變化細節直接觀察,還原信號用來觀察信號總體變化趨勢和波動幅度。

圖2 系統總體結構圖
信號前處理模塊由信號幅值檢測電路和衰減電路構成,作用為將采集系統的輸入信號幅值上限由4 V擴展至16 V。本模塊對輸入信號幅值進行實時監測,當信號幅值超過4 V,FPGA控制模擬電子開關使輸入信號流經衰減電路后進入自適應增益模塊。
信號幅值檢測電路由兩個高速電壓比較器構成,將輸入信號電壓與±4 V進行比較,將電壓比較器的比較結果電平通過場效應管反相輸出將電平限制在0 V和3.3 V以適應FPGA輸入要求,FPGA對場效應管輸出信號電平進行監測,判斷輸入信號電壓值的絕對值是否大于4 V;信號衰減電路由二選一模擬開關ADG419和高精度電阻分壓電路構成,若輸入信號幅值高于4 V則對其進行10倍衰減。當輸入信號微弱時,為防止引入干擾,信號可直接進入自適應增益模塊。
FPGA使用ADC芯片對自適應增益模塊放大后的輸出信號進行采集,要求自適應增益模塊輸出信號在ADC電壓量程內盡可能大,以充分利用ADC的量程范圍提高信號采集精度。本系統輸入信號為幅值、頻率變化的信號,FPGA根據采樣放大信號電壓值控制放大倍數的切換使本模塊輸出信號幅值控制在AL~AH伏之間。
自適應增益模塊由兩級可變增益電路級聯構成,每級可變增益電路由模擬開關和不同增益的放大電路組成,切換模擬開關選通端通道實現改變放大倍數,模擬電子開關選用ADG409,ADG409為雙四選一模擬電子開關具有低的導通電阻,通道切換時間僅為120納秒。本設計輸入周期信號頻率上限為10 kHz,模擬開關通道切換時間小于1 μS,本系統采樣率為100 kSPS,滿足本設計采樣需求。由于模擬開關切換通道先斷開后閉合的特性,本模塊采用切換不同運放電路改變增益,相比于改變運放電路反饋電阻改變增益,避免了使運算放大器處于開環狀態增益過高導致電路損壞。

本設計AH與AL取值及比例關系可由公式(2)計算得出。式(2)中Vin代表自適應增益模塊的輸入信號幅值,Vout代表經自適應增益控制后自適應增益模塊的輸出信號幅值,AH代表自適應增益模塊輸出信號幅值上限閾值,AL代表自適應增益模塊輸出信號幅值下限閾值,使10 μV~4 V范圍內變化幅值的輸入信號經自適應增益后控制在AL~AH伏范圍內,α為AH與AL的比值。通過公式(2)計算可知取值范圍為α≥10,即AH至少為AL的10倍以上。

(2)
由于AH取值受可變增益電路的電源電壓5 V限制,為防止放大信號削頂失真,設置AH為4,AL為4/α。當α取值接近10時,信號幅值在AL或AH附近波動會導致增益循環跳變,提高α取值可以為系統引入滯回特性,增強系統的抗干擾能力。
數據采集電路是整個設計中不可或缺的要素,采集精度直接影響到系統性能,本系統選用16位分辨率模數轉換芯片ADS8681,自適應增益模塊供電電壓為±5 V,ADC電壓采集范圍設置為-5.12~+5.12 V,可完美實現放大信號的采集;ADC設置采樣速率為100 kSPS,設定輸入信號頻率上限為10 kHz,滿足奈奎斯特采樣定理。
本系統使用NAND Flash芯片對采集系統處理后數據進行存儲,型號為鎂光公司生產的MT29F64G08CBAA,存儲容量為64 Gb,滿足采集系統大容量存儲需求,并且系統掉電后數據不丟失,以便后期將數據讀取到上位機中。
本系統信號處理單元為FPGA,使用Verilog HDL語言進行程序編寫,信號處理單元中包括中值濾波、幅值監測、增益控制、信號還原、信號存儲、ADC控制模塊,系統總體工作信號處理流程如圖3所示。

圖3 系統總體工作流程圖
系統上電初始化,系統初始增益初始設置為0 dB,等待ADS8681和Nand Flash驅動完成。初始化完成后,ADC對自適應增益電路輸出模擬信號進行采集,ADC完成單次采樣輸出的16位數字信號更新時,ADC控制模塊輸出有效標志信號作為后續模塊輸入信號有效的使能信號,利用FPGA高速并行信號處理能力,在ADC兩次采樣間隔時間內對完成數字信號的分析處理。
中值濾波模塊對ADC轉化數字信號進行濾波,幅值監測模塊分析濾波后數字信號,判斷增益后信號的幅值水平,增益控制模塊控制模擬電子開關5位組合控制信號改變增益,根據幅值分析結果調節系統增益。在幅值監測的同時,信號還原模塊根據當前增益,對輸出數字信號還原運算,進行加減法、乘法和移位運算得到信號放大前的實際大小,實現對未放大輸入信號的獲取,并將采集到的放大信號值和還原后的數值在FIFO單元緩存后寫入NAND Flash中。數據采集結束后,通過網口將NAND Flash中的存儲數據讀取到PC上位機。
幅值監測和增益控制模塊實現本系統的自適應增益控制,對接受到的數字信號進行分析,發揮FPGA并行處理優勢,同時控制信號前處理模塊和自適應增益模塊的增益變化。
信號前處理模塊增益控制處理流程如圖4(a)所示,FPGA對信號前處理模塊場效應管的輸出電平M進行監測,M高電平時表示此刻輸入傳感器信號電壓值的絕對值高于4 V,反之則表示此刻輸入傳感器信號電壓值的絕對值低于4 V。FPGA檢測到M出現高電平,則代表識別到此刻輸入信號幅值高于4 V,立即控制前處理模塊對輸入信號-20 dB衰減;由于輸入信號為類正弦波信號,在信號幅值大于4 V狀態下,信號周期中某些時刻仍然存在電壓值的絕對值小于4 V的情況,為準確識別輸入信號幅值小于4 V的狀態,需要引入計數器單元,通過時鐘計數判斷輸入信號幅值持續小于4 V的時間,若M為低電平持續時間大于δ秒,則判定輸入信號幅值小于4 V,控制前處理模塊切換至無衰減狀態或保持在無衰減狀態。

圖4 自適應增益控制流程圖
自適應增益模塊的增益控制處理流程如圖4(b)所示,FPGA幅值監測模塊對中值濾波后數字信號等效電壓值進行分析,實現對輸入信號經信號調理電路后幅值的判斷,增益控制模塊根據幅值檢測結果動態調節增益,使自適應增益電路輸出信號幅值保持在AL~AH伏范圍內。具體實現流程如下,幅值監測模塊將中值濾波后數字信號等效電壓值分別與±AH和±AL進行比較,識別信號狀態。當數字信號等效電壓值大于AH或小于-AH,識別到當前增益過高,控制電路增益降低20 dB;對增益過低狀態的識別同樣需要引入計數器單元,當數字信號等效電壓值大于-AL且小于AL的持續時長超過δ秒,識別到當前增益過低,控制電路增益增加20 dB。
δ為本系統增益過低時增益提高的響應時間。對于非周期信號,δ取值可以很小;對于周期信號,為從放大信號中觀察信號特征,信號幅值穩定時增益也應該處于穩定狀態,δ取值應大于周期時長。當δ取值過小會導致系統增益循環改變,信號波形如圖5(a)所示情況,當δ取值大于信號周期,信號波形如圖5(b)所示,放大信號保持了原本的信號特征。

圖5 增益振蕩信號波形

(3)
但是δ過大會導致信號幅度突然減小時,增益提高響應速度慢,影響采集精度。當已知輸入信號特征時,δ取值可以進一步降低,比如輸入信號為頻率大于f且幅值穩定的正弦波信號,δ取值大于t即可避免系統增益循環跳變,t通過公式(3)計算得到,相比于1/f有效減小。取α為40時,圖5所示信號的最小δ值通過公式(3)計算為0.42秒,遠小于信號周期值5秒。
由于對傳感器信號進行采集、傳輸過程中會引入噪聲,使用FPGA片上中值濾波對數據進行實時處理可以有效將異常數據濾除,提高信號的信噪比。中值濾波模塊對ADC本次采樣和前8次采樣的數字信號值進行緩存,使用快速中值算法模塊對這9個數據進行排序,獲取其中中位數值作為本次的輸出結果,從輸入數據有效到完成中值濾波僅需4個時鐘即可完成,滿足本系統數據實時處理的需求。
中值濾波模塊RTL視圖如圖6所示,當en使能信號有效表示ADC轉換數據完成,此時將輸入信號data_in存入cache模塊;out_en信號有效代表中值濾波模塊本次濾波完成,后續模塊在out_en有效時對濾波處理后數據進行讀取;valid信號有效代表cache模塊是否完成緩存9個有效數據,緩存完成9個有效數據之前,中值模塊輸出結果直接為輸入信號,在完成9個有效數據緩存后輸出數據為中值濾波后的結果。

圖6 中值濾波RTL視圖
轉速信號采集試驗裝置如圖7所示,伺服電機可設置轉速范圍為0~6.7 rps,高速轉臺可設置轉速范圍為5~100 rps,將傳感器安裝于采集系統,分別使用伺服電機和高速轉臺進行低轉速和高轉速實驗產生轉速信號,使用本系統進行信號采集。為兼顧低轉速和高轉速的傳感器信號采集,本系統AL設置為0.1伏,δ設置為0.1秒。

圖7 轉速信號采集試驗圖
將自適應增益采集電路輸入端短接,零輸入狀態下采集系統噪聲如圖8所示,系統零輸入電壓噪聲幅值小于7 μV。
手動調節伺服電機轉速從1 rps開始逐漸增大至6.67 rps然后再逐漸減小至1 rps,采集到自適應放大信號如圖9(a)所示,還原實際大小轉速信號如圖9(b)所示。感應信號頻率與電機轉動頻率同步,幅值與轉速成正比,解算傳感器時間轉速曲線如圖9(c)所示,與設定實際轉速一致。

圖9 伺服電機轉速信號
伺服電機初始轉速為1 rps,此時放大采集信號幅值為1.9 V,當前增益為80 dB;隨著轉速的提高,在第11.34秒時放大采集信號幅值首次超過4伏,此時增益由80 dB自動降至60 dB,增益變化時刻還原解算信號波形未發生失真;在后續時間采集的放大信號,由于信號幅值保持在0.1~4 V范圍內,增益未發生改變。
使用本系統對伺服電機1/6 rps時傳感器信號進行采集,圖10(a)為的采集信號,信號幅值為44 μV,周期為6秒,與設定轉動周期一致。對信號進行低通濾波處理,濾波結果如圖10(b)所示,由于伺服電機轉動不連續平穩,采集信號中具有10 Hz諧波,使得采集信號波形不平滑。

圖10 伺服電機1/6 rps轉速信號
設置高速轉臺轉速分別為5、10、15、30、50、60 rps對線圈動生電動勢信號進行采集,并對采集數據進行頻譜分析,頻譜分析結果集中頻率與設置轉臺轉速相一致,波形如圖11所示。

圖11 不同轉速下信號波形與頻譜分析
控制高速轉臺轉速0-10-30-50-30-10-0 rps變化,采集放大信號如圖12(a)所示。系統增益隨著輸入信號幅度水平改變,增益變化波形如圖12(b)所示,圖12(a)箭頭所指局部信號放大圖顯示了增益變化時刻的信號波形細節。轉臺靜止時,采集傳感器信號噪聲幅值為20 μV,此時系統增益為80 dB;當轉臺速度由0~10 rps轉速提升過程中放大信號電壓值小于-4 V時,增益由80 dB降至60 dB;在10~30 rps轉速提升過程中放大信號幅值再次超過4 V,增益由60 dB降至40 dB;從第39.1秒開始信號幅值持續小于0.1 V,第39.2秒增益由40 dB提高至60 dB;增益提高后第41.3秒信號幅值再次持續小于0.1 V,第41.4秒增益由60 dB提高至80 dB。
還原傳感器信號如圖12(c)所示,測得轉速信號幅值范圍為20~10 600 μV。對傳感器信號進行頻域分析,分析結果如圖12(d)所示,信號頻率集中在10、30、50 Hz。根據傳感器信號時間頻率特性解算時間轉速曲線如圖12(e)所示,前38秒轉速與設定轉速相同,但是38秒后高速轉臺轉速失控,轉速未能穩定在10 rps,在第42秒時高速轉臺停止旋轉,分析結果與實際轉速一致。
控制伺服電機和高速轉臺使用本測速裝置對不同轉速下動生電動勢幅值進行測量并統計,幅值隨轉速變化折線圖如圖13所示,從圖中可以看出在同一設備上動生電動勢幅值與轉速為一次函數關系。

圖13 轉速信號轉速-幅值折線圖
圖13中箭頭所指局部放大圖,可以發現伺服電機和高速轉臺都處于5 rps時,動生電動勢信號幅值盡管頻率相同但是幅值不同,高速轉臺環境下信號幅值為伺服電機的2.6倍。分別使用磁通門傳感器對伺服電機和高速轉臺工作狀態下測速裝置位置環境磁場進行測量。伺服電機環境磁場為56 850 nT,高速轉臺環境磁場為148 759 nT,相同轉速下,環境磁場大小比值與動生電動勢幅值比一致。
使用信號發生器產生頻率為100 Hz的正弦波信號,以0.05 V為步進控制幅值由0.05 V遞增至10 V后,再由10 V遞減至0.05 V,模擬更高轉速下傳感器信號,使用本系統對其進行采集。自適應增益后采集信號如圖14(a)所示,增益變化如圖14(b)所示,圖14(a)箭頭所指局部信號放大圖顯示了增益變化時刻的信號波形,增益變化時刻信號未發生失真。還原信號波形如圖14(c)所示,與設置信號發生器生成波形一致。

圖14 信號發生器信號測試
本系統分別對磁轉速傳感器在不同轉速狀態下的輸出信號進行了采集,將系統存儲數據讀出到上位機后,對實驗采集數據繪圖進行分析。自適應增益后的數據繪圖波形表現為在不同時間區間增益不同,信號幅值控制在了0.1~4 V范圍內,實現了不同幅值區間傳感器信號無需對幅值放大即可觀察波形變化細節;去增益還原數據繪圖波形變化連續,從幅值變化趨勢中可以直觀的看出轉速變化規律,與原理分析一致。本系統成功實現了對輸入信號幅值狀態的識別,FPGA根據識別結果動態調節系統電路增益,控制ADC輸入電壓幅值在0.1~4 V范圍內,并在片上實現了對自適應增益后的電壓值去除增益,計算出了除以放大倍數后實際輸入傳感器信號的真實值大小。
傳感器輸出信號繪圖波形特征為類正弦波,通過提取數據時頻信息與實驗時實際設置轉速對比,發現轉速信號頻率與傳感器單位時間內轉動圈數相同;在同一磁場環境下,轉速信號幅值與轉速大小成正比例關系;不同磁場環境下,相同轉速下傳感器輸出信號幅值與磁場強度成正比例關系。實驗分析結果與原理分析推導結論一致,驗證了磁傳感器測量轉速的可行性和正確性。
本文設計了一種以FPGA為控制核心的自適應增益采集系統,對高幅值范圍內的轉速信號進行采集。本系統經過對轉速傳感器和信號發生器生成動態幅值信號采集實驗,幅值在20 μV~10 V范圍內波動的信號經自適應增益采集系統后,放大信號幅值控制在了0.1~4 V,并根據采集信號增益還原得到實際輸入信號,還原信號解算轉速信息與實際設置輸入一致,驗證了采集信號的正確性,且信號無明顯失真,實現了對高幅值范圍內動生電動勢信號的采集。