司俊超 崔偉
1.北京信息科技大學傳感器重點實驗室,北京 100101;2.中國航天科工集團第二研究院206所,北京100854
隨著經(jīng)濟的發(fā)展,科學技術不斷的進步,工程機械開始從傳統(tǒng)的機械傳動向機械——液壓系統(tǒng)傳動轉(zhuǎn)變,同時工程機械在施工時開始逐漸實現(xiàn)自動化與智能化。在工程機械施工過程中,其自身姿態(tài)的監(jiān)測對于其安全性尤為重要。傾角傳感器作為一款測量載體傾斜角的裝置被應用在工程機械自身姿態(tài)的檢測中。
傾角傳感器在工程機械應用領域主要被使用在兩方面:
第一,傾角傳感器所測量的數(shù)據(jù)用于顯示,在工程機械施工的過程中其數(shù)據(jù)作為調(diào)整自身姿態(tài)的參考;
第二,傾角傳感器所測量的數(shù)據(jù)反饋給控制系統(tǒng),為工程機械控制系統(tǒng)進行自動化、智能化控制提供參考數(shù)據(jù)。
針對現(xiàn)有的集成三軸傾角儀所存在的測量精度較低、安裝可控度不高、安裝角度調(diào)節(jié)不便等因素,我們設計了以STM32為核心的、以三個SCA830-D07傾角儀為敏感單元的雙軸傾角測量系統(tǒng)。由于不同的使用環(huán)境對傾角傳感器數(shù)據(jù)的更新效果有不同的要求,為了得到較好的數(shù)據(jù)效果,在STM32運算能力承受范圍內(nèi),使用了自適應算法與低通濾波相結(jié)合的復合濾波算法。根據(jù)數(shù)據(jù)的跟隨性和穩(wěn)定性的矛盾,結(jié)合系統(tǒng)本身設計了可行的軟件解決方案。
系統(tǒng)的整體結(jié)構(gòu)框圖如圖1所示。在傾角的測量過程中,本系統(tǒng)將以單片機STM32F103RBT6為控制核心,由電源模塊、測量模塊、通信模塊等組成。測量模塊由三個SCA830-D07組成,工作時敏感元件分別測量其敏感軸方向上的重力加速度的分量,經(jīng)過A/D轉(zhuǎn)換,通過SPI接口傳輸給控制核心—單片機,單片機經(jīng)過一系列的數(shù)據(jù)處理、轉(zhuǎn)換,通過通信模塊傳輸給上位機以實現(xiàn)顯示,或者為工程機械的自動控制提供姿態(tài)數(shù)據(jù)。
(1)傾角測量模塊
在測量系統(tǒng)中,敏感元件使用的是VTI公司的SCA830-D07傾角儀。SCA830-D07是基于3D-MEMS電容技術,由MEMS加速度傳感元件和SPI數(shù)字接口組成(見圖2(a)),支持標準的四線制SPI接口和脈沖寬度調(diào)制(PWM)輸出,單軸傾角測量(Y方向),測量范圍 +1g~-1g,90°~-90°。在載體的傾斜角度穩(wěn)定在-3°~+3°的范圍波動時,其測量靈敏度是0.00179°/count。而且傾角儀輸出的數(shù)據(jù)是16位的數(shù)字量,其分辨率達到了1/32000。測量時溫度范圍較大,輸出頻率適中。電路連接圖如圖2(b)所示。
SCA830-D07在測量載體的傾斜角度時,其內(nèi)含加速度計輸出的是重力加速度在其敏感軸方向上的分量,而我們需要的數(shù)據(jù)是載體的傾斜角度。因此在單片機得到傾角儀的測量結(jié)果后,需要根據(jù)反正弦公式求出載體的傾斜角度,計算公式如下:
其中,θ—傳感器載體的傾斜角度;
a—重力加速度在傾角儀敏感軸方向上的分量;
g—重力加速度的值。
本文采用三個單軸傾角儀組合成一個空間直角坐標系模型進行兩個角度的測量,原理如圖2(c)所示。在SCA830-D07安裝到載體上面時,由于三個傾角儀的安裝是兩兩正交的,所以傾角傳感器可任意測量三個坐標軸中其中兩個方向上的傾斜角度,在本傳感器中我們安裝測量的是x軸和y軸方向上的傾斜角度。即在傾角傳感器開始測量傳感器載體x軸方向的傾斜角度時,y軸方向上的傾斜角度不變,那么重力加速度就會在x軸和z軸方向上都有分量,只需測量出x軸和z軸其中一個方向上的分量即可。
(2)微控制器模塊
系統(tǒng)的主控單元是STM32F103RBT6,它是意法半導體研發(fā)的STM32 系列中的一款,其72MHz的內(nèi)核運行頻率足夠系統(tǒng)數(shù)據(jù)處理的需要,在存儲器的零等待周期訪問時可達1.25DMIPS/MHz,而且具有單周期乘法和硬件除法功能[1]。同時,STM32擁有豐富的外設,比如在本系統(tǒng)中需要使用的USART、SPI等。STM32擁有足夠的外部引腳,對系統(tǒng)中片選的使用有足夠的選擇余地。在STM32的開發(fā)過程中,它擁有廠家提供的庫函數(shù),便于單片機的開發(fā)使用,有效地減輕了開發(fā)人員的負擔。
圖3為STM32F103RBT6電路圖,在設計中,我們使用了STM32的USART2、SPI1以及它的一些調(diào)試端口。其中PA2、PA3是USART端口,與MAX3232通信芯片相連接,實現(xiàn)與上位機的通信。PA4、PA8、PB1作為三個傾角儀的片選端口,實現(xiàn)單片機與傾角儀的片選通信。端口PA5、PA6、PA7作為單片機與傾角儀的SPI通信端口,實現(xiàn)單片機對傾角儀測量數(shù)據(jù)的獲取。在單片機與傾角儀、通信芯片連接后,單片機從傾角儀中獲得數(shù)據(jù),進行濾波、反正弦變換后經(jīng)過通信芯片發(fā)送給上位機。
(3)通訊模塊
在本傳感器設計時,考慮到與上位機的通信要求,我們使用的通信芯片是MAX3232。MAX3232通信芯片收發(fā)器具有專有的低壓差發(fā)送器輸出級,可通過雙電荷泵實現(xiàn)3.0V至5.5V電源的真正RS-232性能。MAX3232芯片在最差的工作條件下, 保證以120kbps的速率運行的同時,還可以保持RS-232輸出電平,一般情況下,MAX3232工作在235kbps的數(shù)據(jù)速率[2]。在傳感器的供電電源設計中全部使用3.3V電源供電,而根據(jù)MAX3232的性能安全能夠滿足傳感器與上位機通信的需求。MAX3232通訊模塊如圖4所示。
(4)電源模塊
在本測量系統(tǒng)中,微控制器STM32F103RBT6、通信模塊MAX3232和測量模塊SCA830-D07使用的都是3.3V電壓,但是由于微控制需要較大的電流,而敏感元件需要較為精確的電壓值,同時要求測量模塊的輸入電壓統(tǒng)一,因此我們分別使用了AMS1117給微控制器、通信模塊供電,使用REF196給敏感元件供電。本系統(tǒng)使用外部的5V電源,經(jīng)過電源模塊保護電路進入AMS1117和REF19X,其電路原理圖如圖5所示。
在傳感器上電后,傳感器中各模塊開始工作。單片機部分主要是端口、SPI、USART等進行初始化,同時傾角儀上電后開始測量載體的傾斜角度。單片機初始化完成后,當傾角儀采樣定時器中斷時,單片機開始從傾角儀中獲取測量數(shù)據(jù),而后進行濾波、反正弦運算,得到的載體傾斜角度在數(shù)據(jù)發(fā)送定時器中斷后發(fā)送給上位機。系統(tǒng)的軟件流程圖如圖6所示。
工程機械在工作過程中,需要發(fā)動機和電機提供動力,在發(fā)動機或者電機運行過程中不可避免會產(chǎn)生震動,傾角傳感器在工程機械上測量載體傾角時就會受到干擾,所輸出的數(shù)據(jù)就會產(chǎn)生波動,而數(shù)據(jù)的劇烈波動會對控制系統(tǒng)或顯示產(chǎn)生干擾,因而無法準確地判斷工程機械自身的姿態(tài)。另外,在本系統(tǒng)測量單元中使用的傳感器是MEMS傾角儀,其自身在測量載體角度時所輸出的信號就摻雜著噪聲。
由圖2所示,SCA830-D07主要測量的是重力加速度在傾角儀敏感軸方向上的加速度分量,而后經(jīng)過初步濾波再進行A/D轉(zhuǎn)換,最后輸出加速度數(shù)據(jù)。雖說SCA830-D07內(nèi)部經(jīng)過濾波,但是其濾波只能濾除較小范圍噪聲,而在經(jīng)A/D轉(zhuǎn)換過程中或轉(zhuǎn)換后數(shù)字量的干擾沒有濾除。
為了得到較為精確的數(shù)據(jù),我們就需要對傾角傳感器所輸出的數(shù)據(jù)進行處理——濾波處理。本系統(tǒng)中主要采用的是巴特沃斯低通濾波器[3]。
巴特沃斯低通濾波器可用如下振幅的平方對頻率的公式表示:
其中,n—巴特沃斯低通濾波器的階數(shù);
ωc—巴特沃斯低通濾波器的截止頻率(振幅下降為-3dB時的頻率)。
●不論n的取值,當ω=ωc時有,所以ωc是巴特沃斯低通濾波器的截止頻率。
●它的最大平坦性:當ω=0時,可以證明其前2n-1階導數(shù)都為0,這就表示巴特沃斯低通濾波器在ω=0的附近一段范圍內(nèi)是比較平直的,以它的原點最大平坦性來逼近理想的低通濾波器[4]。
●巴特沃斯低通濾波器具備良好的相頻特性。
●由式(1)可得,不論n的值為幾,其幅頻特性曲線都會在-3dB處相交,而且隨著n的增大,頻帶的邊沿下降的越陡峭,也就越接近理想的特性。
●巴特沃斯低通濾波器衰減率有如下特性:巴特沃斯低通慮波器階數(shù)是2階時衰減率為12dB/倍頻,3階時巴特沃斯低通濾波器的衰減率為18dB/倍頻,以此類推。
(1)濾波器階數(shù)確定
首先,我們將傾角儀SCA830-D07所輸出的數(shù)據(jù)進行巴特沃斯低通濾波處理,階數(shù)分別選擇n=2,4,6,其處理結(jié)果如圖7所示。
根據(jù)系統(tǒng)的要求,通過數(shù)據(jù)經(jīng)濾波器濾波后的波動大小以及濾波效果來看,本系統(tǒng)選擇巴特沃斯低通濾波器的階數(shù)為2階。
(2)濾波器截止頻率確定
由于機械種類和施工環(huán)境的不同,傾角傳感器在測量傾斜角度時所受到干擾以及反應速度的要求也不盡相同。因此對比了2階低通濾波器在截止頻率分別為1Hz和5Hz時的濾波效果。如圖8所示。
由圖8的濾波效果比較可得出:在低通濾波器的階數(shù)確定后,可以根據(jù)傾角傳感器工作狀態(tài)的不同,選擇不同的截止頻率。在穩(wěn)定狀態(tài)下,為了得到較好的濾波效果,選擇的截止頻率為1Hz,但在角度變化過程中,存在低截止頻率跟隨性不好,而高截止頻率的濾波效果不好的矛盾。為解決這一問題,在系統(tǒng)中引入自適應算法,使得低通濾波器在傾角傳感器的不同測量狀態(tài)使用不同的截止頻率。
自適應就是在處理和分析數(shù)據(jù)的過程中,根據(jù)所處理數(shù)據(jù)的數(shù)據(jù)特征自行調(diào)整對數(shù)據(jù)的處理方法、處理順序、處理參數(shù)或約束條件,使得所處理的數(shù)據(jù)達到我們所需要的處理效果。自適應過程是一個不斷逼近、不斷調(diào)整參數(shù)的過程。
在該系統(tǒng)的濾波過程中,自適應算法主要判斷傳感器載體的狀態(tài)。根據(jù)傳感器載體狀態(tài)的不同,調(diào)節(jié)巴特沃斯低通濾波器的濾波參數(shù),如圖9所示。在本系統(tǒng)中將取的數(shù)據(jù)數(shù)量定為8個。
數(shù)據(jù)經(jīng)過低通濾波器濾波后輸出,經(jīng)過反正弦運算,求出傳感器載體的傾斜角度。
在濾波模塊中,二階低通巴特沃斯數(shù)字濾波是利用重復計算差分方程,得出遞推公式來實現(xiàn)線性時不變離散系統(tǒng)的,根據(jù)線性時不變系統(tǒng)的直接I型和直接II型或規(guī)范型結(jié)構(gòu),系統(tǒng)的輸入與輸出滿足[5]:
圖10是數(shù)據(jù)濾波的流程圖。在數(shù)據(jù)開始濾波后,根據(jù)先求得傳感器載體狀態(tài)的要求,首先滑動取值8個并求取平均值,再將新得到的數(shù)據(jù)與進行比較。如果連續(xù)5個新值皆>或皆<,則判定傳感器載體狀態(tài)是不穩(wěn)定的,表明夾角逐漸增大或減小,取fc=5Hz;與此相反,如果新值在均值上下無規(guī)則浮動(連續(xù)大于或小于的次數(shù)<5),表明傳感器載體是穩(wěn)定的,取fc=1Hz。
要說明的是,在判斷傳感器載體過程中,由于環(huán)境的干擾頻率是20Hz~50Hz,傾角儀中ADC的采樣頻率是125Hz。為了減小干擾數(shù)據(jù)對求取均值的影響,求均值時所取數(shù)據(jù)的量應該大于6,
其中,a(1)、a(2)和b(0)、b(1) —與濾波器的截止頻率相關的參數(shù)。
在設計傳感器濾波算法過程中,我們將不同的濾波方法進行了對比,試驗是在實驗室中模擬實際工作環(huán)境下測試的,在實際環(huán)境下主要干擾為20Hz~50Hz,程序的采樣頻率是125Hz。采樣數(shù)據(jù)、巴特沃斯低通濾波器截止頻率為1Hz濾波輸出、巴特沃斯低通濾波器截止頻率為5Hz濾波輸出、自適應巴特沃斯低通濾波器濾波輸出的誤差對比結(jié)果如圖11所示。
由圖11可知,自適應濾波算法與fc=5Hz的巴特沃斯低通濾波器相比,在運動狀態(tài)的跟隨性、濾波效果方面一致,而在靜態(tài)情況下具有較大優(yōu)勢。而自適應濾波算法與fc=1Hz的巴特沃斯低通濾波器相比,靜態(tài)情況下的濾波效果一致,在動態(tài)情況下的跟隨性優(yōu)于后者,由此可見自適應濾波在濾波的效果方面有較大優(yōu)勢。
本文設計了一種基于STM32的雙軸傾角傳感器,針對現(xiàn)有的集成三軸傾角儀所存在的測量精度較低、安裝可控度不高、安裝角度調(diào)節(jié)不便等因素,提出了使用三個單軸傾角儀組合成一個空間直角坐標系模型進行兩個角度的測量。文章首先介紹了傾角傳感器的整體硬件結(jié)構(gòu)設計和軟件設計流程,然后根據(jù)系統(tǒng)所選的MCU性能和傳感器對提供數(shù)據(jù)效果的要求,提出了低通濾波與自適應算法相結(jié)合的濾波算法,最后通過實驗以及實驗數(shù)據(jù)對所設計的測量系統(tǒng)進行了分析和驗證。結(jié)果表明,在STM32運算能力范圍內(nèi),自適應算法與低通濾波器結(jié)合的復合濾波相較于單純的低通濾波器有很大提高,驗證了該復合濾波算法的優(yōu)越性以及系統(tǒng)的可用性。