在很多運用場(chǎng)合,都必須弄清楚裝備對于重力場(chǎng)是水平的還是垂直的,與水平面呈多大角度。在許多國家有這樣的規定,升降機和起重機上都必須要有傾斜監控。對于傾斜監控在人類(lèi)交通工具上尤為重要。離軌列車(chē)需要傾斜信息來(lái)避免事故發(fā)生,或保持某些重要部件在某一確定角度。一些交通工具,例如自?xún)A斜火車(chē)需要傾斜角來(lái)補償離心力。有時(shí)需要用傾斜計來(lái)保持平臺的水平,或者一定角度,傾斜角傳感器的研究極為重要。傳感器的微型化、智能化已成為傳感器發(fā)展的趨勢,基于MEMS技術(shù)的全固態(tài)微傳感器的研究已成為傳感器研究的一個(gè)重要方面,實(shí)際應用中的傾斜角傳感器包括,液態(tài)傾斜角傳感器,氣體傾斜角傳感器,固態(tài)傾斜角傳感器,光學(xué)傾斜角傳感器,與液態(tài)傾斜角傳感器相比,固態(tài)傾斜角傳感器具有結構簡(jiǎn)單,可重復性強,反應快的優(yōu)點(diǎn),與光學(xué)傾斜角傳感器相比,固態(tài)傾斜角傳感器具有適應性強,價(jià)格便宜的優(yōu)勢。 由加速度傳感器測量?jì)A斜角的途徑很多,文獻中提出了一種基于兩軸加速度傳感器ADXL213的傾角測量裝置,實(shí)現了全擺幅高精度測量,并能在運動(dòng)車(chē)輛中抵消前進(jìn)方向加速度,實(shí)現運動(dòng)中單方向高精度測量。文獻中同樣運用兩軸壓力傳感器實(shí)現單方向全擺幅傾角測量文獻。文獻中運用兩軸加速度傳感器ADXL202實(shí)現了全方位,45°擺幅內低誤差傾斜角測量。文獻中運用液態(tài)兩軸傾斜角傳感器實(shí)現全方位、低擺幅、高精度傾斜角傳感器。單軸加速度傳感器只能實(shí)現單方向,低擺幅傾斜角測量,兩軸傾斜角傳感器,方向和擺幅不能兼顧。本文將討論采用三軸微加速度傳感器實(shí)現智能化傾斜角傳感器方法。 1 傾斜角測量原理 對于軸加速度傳感器,當它的傳感方向和重力加速度方向一致時(shí),假如此時(shí)為零傾斜角度,設加速度傳感器測量結果為F(θ),θ為傾斜角度,g為重力加速度,如圖l所示。 所以當傾斜角θ太小時(shí),測量的分辨率就會(huì )太小,當角度足夠大時(shí)精度才會(huì )上升。所以對一軸傾斜角傳感器的運用是:把它的傳感方向與重力加速度方向垂直時(shí)的狀態(tài)設為零傾斜角度,文獻運用此方法測量?jì)A斜角,如圖2所示,此時(shí): 此時(shí)傾斜角度小時(shí)測量精度高,而對于一軸加速度傳感器而言,只能測一個(gè)方向的傾斜角。所以用一個(gè)兩軸加速度傳感器,兩個(gè)傳感方向皆垂直于重力加速度,當兩軸傾斜角傾斜時(shí),加速度傳感器測量結果為: 如何利用θx,θy求出傾斜角θ。首先定義兩組三軸向量:[x,y,z]為參考O傾斜向量,[u,v,r]為傾斜后的向量。如圖3所示,設向量[z,y,z]先繞y軸傾斜 設x,y為水平方向,z為垂直方向。(x,y,z)=(0,0,1)于是便有: 此時(shí)u=kF(θx)=kgsinθx,v=kF(θy)=kgsinθy,所以: 而傳感器實(shí)際傾斜角為: 所以只要得出兩軸加速度傳感器測量結果F(θx)和F(θy)就可以計算出θx和θy,進(jìn)而知道總的傾斜度。 同一軸傳感器,兩軸傳感器測量精度有限,當θx,或θy越接近±兀/2時(shí),分辨率越低。只有在傾斜角度接近O時(shí)分辨率最高。利用兩軸加速度傳感器的這種測量方法可以實(shí)現全方位傾斜測量。 為實(shí)現高精度全擺幅傾斜測量就必須把兩軸加速度傳感器垂直放置,一個(gè)傳感方向與重力方向垂直,一個(gè)傳感方向與重力方向平行。運用此方法測量?jì)A斜角。加速度傳感器測量結果為: 此時(shí)θ為單方向上全擺幅、高精度傾斜角度。運用兩軸加速度傳感器無(wú)法解決傾斜角測量中全方位和全擺幅不能共同實(shí)現的矛盾。所以為測量一個(gè)全方位,全擺幅的傾斜角就必須使用三軸加速度計。 運用三軸加速度計測量?jì)A斜角就必須把測量范圍分為兩檔,一檔為傾斜角為-π/4~π/4,二檔為傾斜角為(-π/2~-π/4)&(π/4~π/2)。當傾斜角度在±π/4之間時(shí), , 這里以F(θz)的值作為劃分檔次的依據。在一檔中F(θx),F(θy)的分辨率很高,此時(shí)相當于運用一個(gè)兩軸加速度傳感器測量全方位,低擺幅傾斜角,運用式(15)可以計算傾斜角。在二檔中F(θz)的分辨率都很高,此時(shí)相當于運用一個(gè)一軸加速度傳感器測量全方位,高傾斜角度的傾斜角,運用式(1)可以計算傾斜角。 2 SCA3000 傳感器的微型化、智能化、低功耗是當今傳感器發(fā)展的必然趨勢,微電子機械系統技術(shù)(MicroElectro,Mechanical Systems,MEMS)是傳感器微型化發(fā)展道路上的一項重要技術(shù)。SCA3000-D1是VTI公司的全數字化三軸加速度計,量程±2g,電源電壓3.3 V,64組緩沖存儲器記錄數據,在系統一級上面,有先進(jìn)的性能和有效節能方式,頻率響應可選,SPI數字串口通信,抗沖擊力強,可以應用于許多惡劣的條件下。 2.1傳感器前端 前端單元采用了耐用、穩定、低功耗和噪聲的電容傳感器,這個(gè)前端單元包含三個(gè)加速度傳感塊。由于結構原因,三個(gè)加速度傳感塊傳感方向與直角坐標成45°角,所以在接口電路模塊中有一個(gè)匹配處理,加速度導致電容變化接著(zhù)在信號調理電路中轉化為電壓變化。 2.2 接口電路 傳感單元連接一個(gè)電容電壓轉換器,接下來(lái)在模擬領(lǐng)域校準,信號通過(guò)ADC轉換器轉換為數字信號,ADC信號被分離成三個(gè)信號處理通道,經(jīng)過(guò)低通濾波器和驟減。之后,信號配合上直角坐標系和傳輸給輸出寄存器。在一般測量中,加速度數據能夠通過(guò)串行總線(xiàn)SPI讀出。 3 硬件設計 在此運用ARM7微控制器LPC2210和三軸加速度計SCA3000測量數據。運用ZLG7290控制LED顯示傾斜角度,保留一組SPI接口用于擴展功能。 如圖5所示,LPC2294通過(guò)SPI總線(xiàn)連接SCA3000,通過(guò)I2C總線(xiàn)連接ZLG7290,開(kāi)關(guān)S1,S2,S3,S4用做校準功能使用,具體運用后面介紹。 SPI是一個(gè)全雙工的同步串行接口,一個(gè)SPI總線(xiàn)可以連接多個(gè)主機和多個(gè)從機,但是在同一時(shí)刻只允許一個(gè)主機操作總線(xiàn),總線(xiàn)上只能有一個(gè)主機和一個(gè)從機通信。SPI總線(xiàn)一般由3~5根線(xiàn)組成,如圖5所示為經(jīng)典的4線(xiàn)SPI連接電路,一個(gè)主機連接兩個(gè)從機,主出從進(jìn)(Master Out Slave In,MOSI),主入從出(Master In Slave Out,MISO),串行時(shí)鐘(Serial ClocK,SCK),片選(Chip Select,CSB)低有效,工作時(shí)SSO,SSl只能有一個(gè)為低。主機一般為微控制器產(chǎn)生串行時(shí)鐘,從機接收時(shí)鐘。SCA3000一般作為從機組成一個(gè)系統。 SCA3000SPI幀格式和傳輸協(xié)議如圖6所示。 當CSB為低時(shí),SPI幀觸發(fā),每一幀數據有16 b,MOSI線(xiàn)上前8 b包含需要讀/寫(xiě)的寄存器地址和讀/寫(xiě)控制,其中前6 b為寄存器地址,第7 b為讀/寫(xiě)控制,1為讀,O為寫(xiě),第8 b為0,MOSI線(xiàn)上后8 b為需要寫(xiě)的數據,讀時(shí)不要考慮上面的數據。MOSI線(xiàn)上數據是在時(shí)鐘上升沿被采樣,而在MISO線(xiàn)上數據在時(shí)鐘下降沿被裝載。 MISO線(xiàn)上,第2 b為前一SPI幀的幀錯誤比特,第7 b始終為1,第8 b為當前幀數據的奇偶校驗位。后8位數據為要讀取的數據,在寫(xiě)過(guò)程中為地址寄存器中先前數據。 4 數據處理與校驗 由于測量精度、外力影響,三軸加速度計的橫軸傳感,零刻度度偏移,溫度飄移等影響導致三軸加速度計在測量上出現誤差,或者測量數據受到不同程度的污染,這對求傾斜角產(chǎn)生很大的阻礙。由于上述原因的影響,現實(shí)中測量得到的三軸加速度計的三個(gè)數據的矢量和往往不會(huì )等于重力加速度。有外力時(shí)加速度傳感器測得的是重力與外力和的加速度,肯定不等于重力加速度,有恒外力作用時(shí)難以直接測量?jì)A斜角的準確值(運用適當方法進(jìn)行補償或抵消除外),SCA3000對數字信號進(jìn)行低通濾波可以去除掉高頻振動(dòng);對三軸數字數據進(jìn)行權限設置,對于三軸數據矢量和與重力加速度的偏差大于0.05g時(shí)拋棄此次測量數據,保證測量精度。 4.1 零點(diǎn)偏移 零刻度偏移的解決方案,當傾斜角較小時(shí),z軸數據的分辨率極低,影響測量精度,所以此時(shí)運用其中兩軸進(jìn)行傾斜角測量將更精確。為提高精度,需要對傾斜角傳感器進(jìn)行調零校正,校正后的結果將是測量值減去偏移值后的數據。偏移值的測量方法有兩種: (1)將傳感器放置在一個(gè)校準水平面上,此時(shí)的輸出即為偏移值。 (2)如圖7所示,測量出圖7(a).(b)姿勢的輸出VA,VB偏移值為(VA+VB)/2。 4.2 橫軸傳感 橫軸傳感補償方案,由于組合封裝或者器件本身結構原因,三軸加速度計存在橫軸傳感現象,三軸加速度計的橫軸傳感的度量有下式定義: 式中:Sx,Sz為橫軸方向測得的傳感量,Sy為測試方向測得的傳感量,由于橫軸傳感的存在,使得測量結果不準確,所以需要對輸出結果進(jìn)行補償,首先來(lái)考慮兩軸間的傳感補償,如圖8所示。 圖8中,測試方向為y軸方向,加速度傳感器如圖8(a)樣式放置時(shí),x軸輸出為Voutx-A,y軸輸出為Vouty-A;加速度傳感器如圖8(b)樣式放置時(shí),x軸輸出為Voutx-B,y軸輸出為Vouty-B,測試方向y軸傳感量為: x橫軸傳感量為: 所以當傾斜角傳感器傾斜為某一角度時(shí),x橫軸數據經(jīng)y軸進(jìn)行傳感補償后的值為: 式中:xoutComp為補償后的x軸數據;Vouty-axis為x軸測量數據;Vouty-axis為y軸測量數據;Voffsety為y軸數據偏移值。同樣,z軸數據對x軸數據進(jìn)行補償后得到x軸數據的校準值。 4.3 數據融合 SCA3000工作在測量模式下時(shí),傳感器輸出數據速率為260 Hz,0.37 s就可以產(chǎn)生一次輸出緩沖存儲器半滿(mǎn)中斷。所以在傾斜角度變化不是很劇烈的情況下,可以對每一輸出緩沖存儲器中數據進(jìn)行加權平均求得傾斜角度。 5 軟件設計 程序主要分三部分,主程序main,傾斜角計算子程序tlitcalculate和校準子程序calibrate,在對SCA3000進(jìn)行操作時(shí),還要調用SPI讀寫(xiě)程序,在對ZLG7290進(jìn)行操作時(shí)調用I2C讀寫(xiě)子程序。 如圖9所示,在傾斜角傳感器第一次使用前必須對其進(jìn)行校準,包括測量各軸的零點(diǎn)偏移,各軸的橫軸傳感量,當PO.1置高時(shí)進(jìn)入校準狀態(tài)。在校準中,PO.9&PO.10&PO.11=000時(shí),將SCA3000按z軸垂直向上放置;PO.9&P0.10&P0.11=001時(shí),將SCA3000按z軸垂直向下放置;PO.9&P0.10&P0.11=OlO時(shí),將SCA3000按x軸垂直向上放置;P0.9&PO.10&PO.11=01l時(shí),將SCA3000按x軸垂直向下放置;P0.9&PO.10&P0.11=100時(shí),將SCA3000按y軸垂直向上放置;P0.9&P0.10&P0.11=101時(shí),將SCA3000按y軸垂直向下放置。綜合各個(gè)狀態(tài)時(shí)的數據完成零點(diǎn)偏移和橫軸傳感量計算。實(shí)際運用中,SCA3000安裝在平臺上時(shí)不可能保持xy軸與平臺完全平行,z軸完全垂直平臺。所以在進(jìn)行測量前必須取得平臺水平放置時(shí)SCA3000的輸出值,將其設為初始值保存于FLASH中。 在傾斜角計算中。首先讀數據進(jìn)行零點(diǎn)偏移補償和橫軸傳感補償,接著(zhù)對嚴重污染的數據丟棄,進(jìn)行數據融合,再判斷傾斜角度大小。當角度較小時(shí),利用兩軸數據進(jìn)行計算,當角度過(guò)大時(shí)運用三軸數據進(jìn)行計算。 主程序中,采用定時(shí)器中斷和SCA3000緩存器中斷兩個(gè)中斷對SCA3000數據進(jìn)行讀寫(xiě)。保證數據的實(shí)時(shí)性。 6 結語(yǔ) 本文基于三軸加速度計SCA3000和ARM處理器芯片LPC2210設計了一種三軸傾斜角智能傳感器,它具有全方位和全擺幅的特點(diǎn)。本文對兩軸、三軸加速度計測量?jì)A斜角的原理進(jìn)行了分析,采用兩軸、三軸數據的合理運用,實(shí)現精度高、抗噪性能強的傾斜角傳感器的研究。 對傳感器數據采用零點(diǎn)偏移補償,橫軸傳感量補償,進(jìn)一步提高了數據的精度。采用SPI接口實(shí)現傳感器與微控制器間的通信,采用定時(shí)器中斷和SCA3000緩存器中斷兩個(gè)中斷喚起對傳感器數據的讀/寫(xiě),實(shí)現對傳感器數據讀速度可控。 |