任夢(mèng)圓 黃芳靈 張榮福
關(guān)鍵詞:ABS 傳感器;正弦信號(hào)測(cè)量;STM32;快速傅里葉變換;藍(lán)牙通信
中圖分類號(hào):TN 98 文獻(xiàn)標(biāo)志碼:A
引言
近年來,我國逐漸提高了對(duì)汽車行車安全的執(zhí)行標(biāo)準(zhǔn),行車主動(dòng)安全系統(tǒng)(如制動(dòng)防抱死系統(tǒng)、車身電子穩(wěn)定系統(tǒng)等)越來越多地作為標(biāo)準(zhǔn)部件裝配于各類車輛,以提高行車制動(dòng)安全性,優(yōu)化制動(dòng)距離。目前,此類安全輔助系統(tǒng)的發(fā)展趨勢(shì)一方面聚焦于制造成本的低廉化,另一方面則注重提高其工作穩(wěn)定性[1]。作為汽車防抱死系統(tǒng)(ABS)的關(guān)鍵部件,ABS傳感器裝配于汽車車橋輪轂用于實(shí)時(shí)測(cè)量車輪的轉(zhuǎn)速。
當(dāng)前,國內(nèi)部分高校院所已對(duì)ABS 傳感器性能檢測(cè)展開了相關(guān)研究,如田錦明等[2] 基于LabVIEW 開發(fā)了汽車輪速傳感器測(cè)控系統(tǒng);陳永良等[3] 開發(fā)了汽車輪速傳感器檢測(cè)臺(tái);孫駿等[4] 基于VC++開發(fā)了汽車輪速傳感器性能測(cè)試系統(tǒng),研究了傳感器間隙對(duì)輸出信號(hào)的影響。
磁電式ABS 轉(zhuǎn)速傳感器的輸出近似為正弦信號(hào),通過對(duì)正弦信號(hào)幅值、頻率、有效值的測(cè)定,可以分析獲得傳感器性能。
1 磁電式ABS傳感器
ABS傳感器根據(jù)工作原理可以分為磁電式、電渦流式、霍爾式等類型,本文主要針對(duì)磁電式傳感器進(jìn)行研究。磁電式ABS 傳感器根據(jù)電磁感應(yīng)定律進(jìn)行設(shè)計(jì),周期變換的磁場(chǎng)產(chǎn)生周期性的電動(dòng)勢(shì)。
如圖1 所示,磁電式ABS 傳感器內(nèi)部結(jié)構(gòu)主要由永磁鐵(a)、線圈(b)、信號(hào)線彈簧夾片等組成,同激勵(lì)齒圈構(gòu)成車輪輪速測(cè)量裝置。當(dāng)車橋輪轂轉(zhuǎn)動(dòng)時(shí),帶動(dòng)齒圈同軸旋轉(zhuǎn),齒圈表面凹凸齒切割環(huán)繞線圈的磁力線導(dǎo)致磁通量發(fā)生改變,進(jìn)而生成了周期性變化的交流電壓,其電壓頻率同車橋的轉(zhuǎn)速成正比。ABS 傳感器工作時(shí),觸頭每交替經(jīng)過一個(gè)齒圈端面,輸出一個(gè)周期 T 的正弦感應(yīng)電壓U。
根據(jù)GB/T 18459—2001《傳感器主要靜態(tài)性能指標(biāo)計(jì)算方法》標(biāo)準(zhǔn)與企業(yè)測(cè)試指導(dǎo)需求,制定磁電式ABS 傳感器性能測(cè)試總體技術(shù)方案,檢測(cè)參數(shù)包括電壓幅值( V/mV)、有效幅值(Ve/mV)、感應(yīng)電壓頻率 (fP/Hz)和冷態(tài)電阻 (Rz/Ω)。
由于磁電式ABS 傳感器輸出為正弦信號(hào),本文設(shè)計(jì)了一個(gè)針對(duì)正弦信號(hào)的測(cè)量裝置,可以對(duì)正弦信號(hào)的幅值、有效值、頻率和失真度進(jìn)行測(cè)量。在測(cè)試過程中通過信號(hào)源模擬磁電式ABS 傳感器輸出,輸入測(cè)量裝置,用于檢驗(yàn)測(cè)量裝置的測(cè)量精度。
2 系統(tǒng)總體設(shè)計(jì)
本文以意法半導(dǎo)體公司生產(chǎn)的微控制器STM32F407ZGT6 為核心設(shè)計(jì)了一套正弦信號(hào)測(cè)量裝置,對(duì)ABS 傳感器的輸出信號(hào)進(jìn)行測(cè)定。該芯片主頻達(dá)到了168 MHz,擁有1 M 的片內(nèi)Flash 和198 KB 的RAM,帶有浮點(diǎn)運(yùn)算單元(FPU),支持?jǐn)?shù)字信號(hào)處理器(DSP)指令,這些資源使系統(tǒng)的實(shí)現(xiàn)成為可能[5]。
系統(tǒng)結(jié)合信號(hào)調(diào)理電路、程控放大/衰減電路以及一定的信號(hào)處理電路對(duì)輸入正弦信號(hào)進(jìn)行預(yù)處理,使用STM32 自帶的12 位逐次逼近型模數(shù)轉(zhuǎn)換器(ADC)進(jìn)行模數(shù)轉(zhuǎn)換,STM32 對(duì)所采集的數(shù)據(jù)進(jìn)行快速傅里葉變換(FFT)等計(jì)算,得到信號(hào)失真度。系統(tǒng)對(duì)信號(hào)進(jìn)行調(diào)理衰減后,由STM32 判斷輸入信號(hào)幅值大小反饋調(diào)節(jié)前級(jí)程控放大電路增益,對(duì)信號(hào)幅值進(jìn)行自適應(yīng)縮放,減小測(cè)量相對(duì)誤差。為了減小單片機(jī)運(yùn)算壓力,信號(hào)峰值、有效值、頻率測(cè)量均借助外電路輔助測(cè)量,STM32 只需要進(jìn)行簡(jiǎn)單采集計(jì)算即可得到相應(yīng)的參數(shù)。系統(tǒng)通過觸摸屏代替?zhèn)鹘y(tǒng)按鍵進(jìn)行控制,測(cè)量結(jié)果及波形同時(shí)顯示在觸摸屏上;最后借助藍(lán)牙通信模塊將測(cè)量數(shù)據(jù)上傳到手機(jī)端。系統(tǒng)結(jié)構(gòu)如圖2 所示。
3 THD 測(cè)量原理
要計(jì)算THD 的值,首先需要利用ADC 在時(shí)間為輸出信號(hào)的一個(gè)周期內(nèi)等時(shí)間間隔下采集若干個(gè)樣本點(diǎn),利用離散的傅里葉級(jí)數(shù)變化,求出n 次諧波對(duì)應(yīng)的幅值。時(shí)間間隔太短會(huì)增加處理器運(yùn)算困難,延長處理時(shí)間,但時(shí)間間隔過長會(huì)導(dǎo)致樣本點(diǎn)取樣不足,使得最后求取的幅值不夠精確。本研究選擇每個(gè)周期內(nèi)采1 024 個(gè)樣本點(diǎn),在保證求取幅值的精確性的情況下,提高運(yùn)算效率。最后將求得的THD 所需要的幅值代入公式中即可求出THD 值。
系統(tǒng)軟件設(shè)計(jì)主要包括通過STM32F407 中ADC 的電壓采集,通過中斷系統(tǒng)的配置使其以一定的頻率對(duì)電壓采集電路輸出的電壓進(jìn)行采集,使用STM32F407 內(nèi)置DSP 庫函數(shù)的FFT算法,對(duì)ADC 采集的電壓數(shù)據(jù)進(jìn)行處理,求出一次諧波到五次諧波對(duì)應(yīng)的幅值。得到幅值后,利用公式計(jì)算出相應(yīng)的THD 值。為了增加測(cè)量準(zhǔn)確度,減少頻譜泄漏,系統(tǒng)采用兩次FFT,第一次準(zhǔn)確測(cè)量基波頻率,第二次根據(jù)基波頻率調(diào)整采樣率,得到五次諧波對(duì)應(yīng)的幅值,最后將計(jì)算出的THD 值顯示到觸摸屏上, 實(shí)現(xiàn)對(duì)THD 值的實(shí)時(shí)測(cè)量以及實(shí)時(shí)顯示。THD 值測(cè)量以及顯示過程如圖3 所示。
DFT 算法的原理如下。
運(yùn)用蝶形運(yùn)算在復(fù)數(shù)域內(nèi)進(jìn)行計(jì)算則可求出各階對(duì)應(yīng)的幅值。
4 系統(tǒng)硬件設(shè)計(jì)
系統(tǒng)硬件電路主要由信號(hào)調(diào)理電路、供電電路、程控信號(hào)放大/衰減電路、信號(hào)預(yù)處理電路、單片機(jī)及其外圍電路等組成。其中藍(lán)牙通信模塊、觸摸屏模塊、供電電路以及單片機(jī)外圍電路已經(jīng)相對(duì)成熟,系統(tǒng)設(shè)計(jì)過程中多采用成品實(shí)現(xiàn),此處不再贅述。系統(tǒng)主要針對(duì)信號(hào)調(diào)理電路、程控信號(hào)放大/衰減電路和信號(hào)預(yù)處理電路進(jìn)行設(shè)計(jì)和測(cè)試分析。
4.1 ADC供電設(shè)計(jì)
測(cè)量裝置所用ADC 為STM32F407 自帶的12 位逐次逼近型模數(shù)信號(hào)轉(zhuǎn)換器,可以滿足當(dāng)前測(cè)量任務(wù)要求。為過濾和屏蔽來自印刷電路板上毛刺的干擾,供電電路將數(shù)字部分和模擬部分的供電和接地端隔開,ADC 采用獨(dú)立的供電,區(qū)別于STM32大部分電路使用的公共供電端VDD 和VSS,ADC 供電端接VDDA,接地端接VDDS。VDDA 由外部輸入的3.3 V 直流電源去耦獲得。外部電路使用AMS1117-3.3 電源穩(wěn)壓芯片,將5 V 電壓轉(zhuǎn)換為3.3 V 輸出,接入開發(fā)板3.3 V 供電引腳。
ADC 的外部參考電壓Vref–接VSSA,Vref+接VDDA,VDDA 已經(jīng)具有較高的精度,可以作為參考電壓。ADC1 的通道17 連接內(nèi)部基準(zhǔn)源,有助于提高ADC 的測(cè)量準(zhǔn)確度。該內(nèi)部基準(zhǔn)源的出廠測(cè)量值存儲(chǔ)在內(nèi)存的一個(gè)地址上,讀取后即可作為參考電壓來校準(zhǔn)ADC 的采樣值。
4.2 信號(hào)調(diào)理電路
為了實(shí)現(xiàn)對(duì)輸入信號(hào)的精確測(cè)量,減少外界干擾,對(duì)輸入信號(hào)進(jìn)行一定的信號(hào)調(diào)理是十分重要的。前級(jí)調(diào)理電路主要包括阻抗匹配電路、信號(hào)衰減電路和二階有源低通濾波電路[7],系統(tǒng)利用二階有源低通濾波濾除高頻噪聲信號(hào),低通濾波器傳遞函數(shù)為
為了實(shí)現(xiàn)信號(hào)幅值的自適應(yīng)縮放,此處增益控制電壓的大小由數(shù)模轉(zhuǎn)換器(DAC)輸出電壓決定,DAC 的輸出電壓由ADC 采集到的最大電壓反饋計(jì)算得到。但是由于DAC 只能輸出0~3.3 V 電壓,范圍過小,本裝置采用兩級(jí)放大,對(duì)于大信號(hào)將程控放大結(jié)果衰減為原來的1/10,對(duì)于小信號(hào)則放大10 倍。此過程由單片機(jī)控制繼電器進(jìn)行選通, 選通依據(jù)為前次ADC 采集到的電壓。
4.4 信號(hào)預(yù)處理電路
為了減小單片機(jī)運(yùn)算壓力,峰值和有效值檢測(cè)均采用外部電路輔助完成,單片機(jī)只需要采集直流電壓簡(jiǎn)單運(yùn)算之后顯示即可[8]。
電路如圖6 所示,調(diào)理之后的信號(hào)進(jìn)入后級(jí)預(yù)處理電路,通過觸摸屏選擇測(cè)量參數(shù),STM32控制模擬開關(guān)CD4051 地址端選通不同輸出端,進(jìn)行不同的預(yù)處理操作:測(cè)量幅值時(shí)選通峰值檢波電路輸出信號(hào)峰值;測(cè)量有效值時(shí)選通有效值檢測(cè)電路輸出有效值;測(cè)量頻率時(shí)選通整形電路,輸出同頻率方波。
下面對(duì)三個(gè)預(yù)處理電路進(jìn)行簡(jiǎn)單介紹。
有效值檢測(cè):使用AD637 芯片完成。AD637是一款完整的高精度單片均方根直流轉(zhuǎn)換器,可計(jì)算任何復(fù)雜波形的真有效值[9]。它提供了集成電路均方根直流轉(zhuǎn)換器中前所未有的性能,并且在精度、帶寬和動(dòng)態(tài)范圍方面與離散和模塊化技術(shù)相當(dāng),可以滿足系統(tǒng)設(shè)計(jì)要求。有效值計(jì)算公式為
應(yīng)用時(shí)只需在芯片的外圍添加適當(dāng)?shù)碾娮?、電容即可?shí)現(xiàn)任意波形交變信號(hào)的有效值的測(cè)量。其中平均電容 C1 可用來設(shè)定平均時(shí)間常數(shù),并決定低頻準(zhǔn)確度、輸出紋波大小和穩(wěn)定時(shí)間。R1、R2、C1、C2 及精密運(yùn)放 OPA277 構(gòu)成二階低通濾波濾除檢波后的紋波[10]。前級(jí)輸入選擇低漂移運(yùn)放LF356 構(gòu)成電壓跟隨器,與前級(jí)電路實(shí)現(xiàn)阻抗匹配。
峰值檢測(cè):電路由二極管、電容和精密運(yùn)放OPA350 構(gòu)成,可將輸入信號(hào)轉(zhuǎn)變?yōu)榉逯祵?duì)應(yīng)的直流電壓輸出[11]。有效工作頻率范圍在500 kHz以下,對(duì)于100 mVpp 以上的輸入信號(hào)檢測(cè)誤差可達(dá)到3% 以內(nèi)。第一片運(yùn)放結(jié)合二極管電容可以構(gòu)成峰值檢測(cè)電路,但是電路會(huì)長期處于負(fù)飽和狀態(tài),當(dāng)輸入信號(hào)發(fā)生變化時(shí)需要花費(fèi)大量時(shí)間才能穩(wěn)定輸出[12]。為了解決該系統(tǒng)問題,引入了后一級(jí)負(fù)反饋電路,保證了電路中兩個(gè)運(yùn)放都不會(huì)進(jìn)入非虛短狀態(tài)。電路Tina9 仿真結(jié)果如圖7 所示,實(shí)際測(cè)量誤差在3% 以內(nèi)。
整形電路使用滯回比較器實(shí)現(xiàn),將正弦波信號(hào)轉(zhuǎn)換為方波信號(hào)[13],便于單片機(jī)捕獲上升沿測(cè)量信號(hào)頻率。
5 系統(tǒng)軟件設(shè)計(jì)
主控程序主要是根據(jù)各個(gè)硬件模塊輸出的值進(jìn)行采集處理計(jì)算,從而得出需要的測(cè)量值,同時(shí)主程序反饋調(diào)節(jié)電路中的放大倍數(shù)和繼電器模擬開關(guān)的通斷[14]。軟件整體采用模塊化設(shè)計(jì),主要包括主控單元程序設(shè)計(jì)、ADC 采集程序設(shè)計(jì)、觸摸屏界面設(shè)計(jì)、FFT 算法設(shè)計(jì)、藍(lán)牙通信程序設(shè)計(jì)等。
主流程圖如圖8 所示,在液晶顯示器(LCD)屏幕上設(shè)計(jì)了峰值和有效值、頻率、失真度、波形復(fù)現(xiàn)、數(shù)據(jù)傳送5 個(gè)觸摸區(qū)域,按下不同的區(qū)域執(zhí)行對(duì)應(yīng)的程序。下面對(duì)于5 個(gè)區(qū)域的執(zhí)行操作作簡(jiǎn)單介紹。
峰值和有效值:輸入信號(hào)通過外電路處理后,STM32 的ADC 采集對(duì)應(yīng)的電壓值,經(jīng)過放大倍數(shù)還原后得到峰值有效值顯示。
頻率:STM32 進(jìn)行輸入捕獲,通過雙定時(shí)器計(jì)數(shù)精確得到輸入信號(hào)頻率,并在液晶屏和手機(jī)端顯示。
失真度:對(duì)輸入信號(hào)進(jìn)行兩次FFT,分析輸入信號(hào)頻譜,計(jì)算獲得THD,具體流程如圖2所示。
波形復(fù)現(xiàn):根據(jù)ADC 初始采集的電壓值確定坐標(biāo)刻度,由進(jìn)行FFT 時(shí)ADC 采集到的電壓數(shù)組描點(diǎn)還原波形。
數(shù)據(jù)傳送:STM32 與手機(jī)的短距離通信使用藍(lán)牙通信模塊HC06 實(shí)現(xiàn),使用串口進(jìn)行數(shù)據(jù)傳輸[15]。
系統(tǒng)上電后,各個(gè)外設(shè)進(jìn)行初始化,包括觸摸屏、ADC、DAC、定時(shí)器和藍(lán)牙模塊。初始化完成后,系統(tǒng)對(duì)輸入信號(hào)的幅值進(jìn)行檢測(cè),自動(dòng)調(diào)節(jié)前級(jí)程控放大電路增益,使輸入信號(hào)幅值維持在1~2 V,保證后續(xù)測(cè)量準(zhǔn)確進(jìn)行。系統(tǒng)持續(xù)掃描觸摸屏是否按下,按下后判斷按下區(qū)域,程序跳轉(zhuǎn)到指定功能實(shí)現(xiàn)處,同時(shí)液晶屏界面切換,改變模擬開關(guān)地址控制端選通不同預(yù)處理電路,輔助STM32 進(jìn)行測(cè)量,計(jì)算結(jié)果顯示到液晶屏上。一次測(cè)量結(jié)束后可以通過按下觸摸屏上預(yù)留復(fù)位區(qū)域還原各個(gè)參數(shù),為下一次測(cè)量作準(zhǔn)備。
6 系統(tǒng)測(cè)試與分析
本文基于上述系統(tǒng)硬件和軟件設(shè)計(jì)搭建了實(shí)驗(yàn)平臺(tái),并對(duì)輸入正弦信號(hào)的峰值、有效值、頻率、失真度和波形進(jìn)行了實(shí)驗(yàn)研究,經(jīng)實(shí)驗(yàn)驗(yàn)證本裝置可對(duì)各個(gè)參數(shù)進(jìn)行準(zhǔn)確測(cè)量。
對(duì)于實(shí)驗(yàn)的測(cè)試信號(hào),首先將輸出信號(hào)接入示波器進(jìn)行觀察,將示波器的測(cè)量值作為測(cè)量的標(biāo)定值。將同一信號(hào)輸入本文設(shè)計(jì)的測(cè)量裝置,比較測(cè)量裝置測(cè)得結(jié)果與示波器測(cè)得結(jié)果,計(jì)算測(cè)量誤差。
6.1 峰值
在裝置中分別輸入峰值為50 mV,100 mV,500 mV,1 V,5 V,10 V 的不同頻率正弦信號(hào),測(cè)量它們的峰值,測(cè)量結(jié)果如圖9 所示,系統(tǒng)測(cè)量誤差除50 mV 時(shí)均小于4%,測(cè)量結(jié)果準(zhǔn)確。
6.2 有效值
在裝置中分別輸入峰峰值為50 mV,100 mV,500 mV,1 V,5 V,10 V 的不同頻率正弦信號(hào),測(cè)量它們的有效值,測(cè)量結(jié)果圖10 所示,系統(tǒng)測(cè)量誤差除50 mV 時(shí)均小于4%,測(cè)量結(jié)果準(zhǔn)確。
6.3 頻率
在裝置中分別輸入頻率為1 kHz,50 kHz,500 kHz,1 MHz 的不同幅值正弦信號(hào),測(cè)量它們的有效值,測(cè)量結(jié)果如表1 所示,系統(tǒng)測(cè)量誤差小于1%,測(cè)量結(jié)果準(zhǔn)確。
6.4 失真度
在裝置中分別輸入諧波失真度為5%,10%,50% 的不同頻率正弦信號(hào),測(cè)量它們的有效值,測(cè)量結(jié)果如表2 所示,THD0為理論值,THDX為連續(xù)五次測(cè)量值,各次測(cè)量值與理論值之差均小于5%,測(cè)量結(jié)果準(zhǔn)確。
7 結(jié)論
本文設(shè)計(jì)了一款基于STM32F407 的正弦信號(hào)測(cè)量裝置。本裝置可以對(duì)信號(hào)源輸出模擬ABS 傳感器信號(hào)的峰值、有效值、頻率和失真度進(jìn)行測(cè)量。通過大量測(cè)試并分析測(cè)試結(jié)果可知裝置測(cè)量誤差均在5% 以內(nèi),測(cè)量誤差小,測(cè)量精度高,性能良好,可以對(duì)后續(xù)ABS 輸出的正弦信號(hào)進(jìn)行測(cè)量。