《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 模擬設(shè)計(jì) > 設(shè)計(jì)應(yīng)用 > 基于AMR磁阻傳感器和加速度傳感器的電子羅盤
基于AMR磁阻傳感器和加速度傳感器的電子羅盤
摘要: 本文介紹的基于AMR磁阻傳感器和加速度傳感器ADXL202的電子羅盤,,是捷聯(lián)式慣性導(dǎo)航系統(tǒng)中的一種。在電子羅盤系統(tǒng)中,,單片機(jī)VRS51L3074完成對(duì)加速度傳感器輸出信號(hào)脈寬和周期的計(jì)數(shù),,獲得車輛瞬時(shí)加速度值,然后利用三角函數(shù)關(guān)系計(jì)算出當(dāng)前位置相對(duì)于已知參考位置之間的橫滾和俯仰角度,,進(jìn)行姿態(tài)解算,,得到車輛的前進(jìn)方向和方位角。但是汽車電磁環(huán)境復(fù)雜,,特別是汽車的震動(dòng)和瞬時(shí)功率變化會(huì)對(duì)ADXL202輸出的占空比信號(hào)產(chǎn)生尖峰脈沖干擾,,嚴(yán)重影響計(jì)數(shù)的精度。因此,,抑制脈沖干擾在提高計(jì)數(shù)精度,、增強(qiáng)系統(tǒng)性能方面顯得尤為重要。
Abstract:
Key words :

車載電子羅盤的功能是幫助用戶確定車輛行駛方向,,精確顯示方位角度并提供正確的操作指示,,因此導(dǎo)航的精確程度成為衡量系統(tǒng)性能優(yōu)劣的重要指標(biāo)。

本文介紹的基于AMR磁阻傳感器加速度傳感器ADXL202的電子羅盤,,是捷聯(lián)式慣性導(dǎo)航系統(tǒng)中的一種,。在電子羅盤系統(tǒng)中,單片機(jī)VRS51L3074完成對(duì)加速度傳感器輸出信號(hào)脈寬和周期的計(jì)數(shù),,獲得車輛瞬時(shí)加速度值,,然后利用三角函數(shù)關(guān)系計(jì)算出當(dāng)前位置相對(duì)于已知參考位置之間的橫滾和俯仰角度,進(jìn)行姿態(tài)解算,,得到車輛的前進(jìn)方向和方位角,。但是汽車電磁環(huán)境復(fù)雜,特別是汽車的震動(dòng)和瞬時(shí)功率變化會(huì)對(duì)ADXL202輸出的占空比信號(hào)產(chǎn)生尖峰脈沖干擾,,嚴(yán)重影響計(jì)數(shù)的精度,。因此,抑制脈沖干擾在提高計(jì)數(shù)精度,、增強(qiáng)系統(tǒng)性能方面顯得尤為重要,。

1 ADXL202工作原理

ADXL202傳感器是由震蕩器,X,、Y方向傳感器,,相位檢波電路以及占空比調(diào)制器組成,具有數(shù)字輸出接口和模擬電壓信號(hào)輸出接口,。X,、Y方向傳感器是2個(gè)相互正交的加速度傳感器。ADXL202相對(duì)于地平面方向變化時(shí),,X,、Y方向?qū)?yīng)不同的輸出,從而可以測(cè)量動(dòng)態(tài)變化的加速度和恒定的加速度,。傳感器的后級(jí)連相位檢波器,,主要是用來(lái)修正信號(hào),并對(duì)信號(hào)的方向作出判斷,。檢波器輸出的信號(hào)通過(guò)1個(gè)32 kΩ的電阻來(lái)驅(qū)動(dòng)占空比調(diào)制器,,設(shè)計(jì)時(shí)可以通過(guò)在XFILT和YFILT引腳外接電容CX和CY來(lái)改變帶寬。同時(shí),,外接電容對(duì)于濾除噪聲和抑制零點(diǎn)漂移都有一定的效果,。

信號(hào)通過(guò)低通濾波器之后,占空比調(diào)制器把信號(hào)轉(zhuǎn)換為數(shù)字信號(hào)輸出,。通過(guò)T2腳的外接電阻可以改變T2的周期T2(1~10 ms),,這就方便在精度要求不同的場(chǎng)合下使用。輸出的占空比信號(hào)通過(guò)計(jì)數(shù)器可以計(jì)算出占空比,。加速度的計(jì)算可以通過(guò)公式(1)得到,。



當(dāng)加速度為0g時(shí),輸出信號(hào)的占空比為50%,;靈敏度每1g所引起的脈寬占空比變化12.5%,。在應(yīng)用中0g時(shí)的失調(diào)和系統(tǒng)誤差影響實(shí)際輸出值。則根據(jù)測(cè)得的加速度值即可求得X和Y軸的傾角:



當(dāng)加速度計(jì)被定向,,那么它的X和Y軸就和地球表面平行可用來(lái)作為具有翻滾和傾斜兩個(gè)軸的雙軸斜度傳感器,,被測(cè)物體的俯仰角記為γ和橫滾角β。將磁阻傳感器的3個(gè)敏感軸沿載體的3個(gè)坐標(biāo)軸安裝,,分別測(cè)量地磁場(chǎng)磁感應(yīng)強(qiáng)度H在載體坐標(biāo)系3個(gè)坐標(biāo)上的投影分量(HX,,HY,HZ),,然后利用俯仰角和橫滾角進(jìn)行姿態(tài)解算就可以得到電子羅盤的方位角,。

2 ADXL202的抗干擾設(shè)計(jì)思想

根據(jù)ADXL202使用手冊(cè)知,傳感器與微處理器共用電源時(shí)會(huì)引起干擾,,因此在電路設(shè)計(jì)時(shí)采用了抑制干擾的解決方案,。設(shè)計(jì)時(shí)采用1個(gè)0.1 μF的電容和1個(gè)小于或等于100 Ω的電阻來(lái)抑制干擾。實(shí)驗(yàn)測(cè)試顯示,,仍然存在電路其他部分電源和傳感器電源互相影響的情況,,干擾抑制效果并不理想。經(jīng)過(guò)反復(fù)試驗(yàn),,傳感器采用獨(dú)立的電源供電,,并且在布線時(shí)把器件和調(diào)理信號(hào)的電阻、電容放在1塊單獨(dú)的板上或用粗地線將其圍在線路板的某一區(qū)域,,在實(shí)驗(yàn)室條件下得到較好的干擾抑制效果,。但實(shí)際應(yīng)用中,汽車的震動(dòng)和瞬時(shí)功率變化對(duì)ADXL 202E輸出的占空比信號(hào)產(chǎn)生尖峰脈沖干擾(脈寬約1~2 ms)并不能消除,,這就需要對(duì)其更多的處理,。抑制和消除尖峰脈沖干擾影響的措施較多,,常見(jiàn)的有硬件方法和軟件方法,或兩者相結(jié)合,??紤]到電子羅盤整體體積和磁阻傳感器信號(hào)對(duì)干擾較為敏感,如果采用高效的硬件濾波,,系統(tǒng)電路將變得非常龐大,;使用簡(jiǎn)易的硬件電路,濾波效果又不徹底,。實(shí)際上,,還可以借助于微處理器進(jìn)行軟件濾波消除尖峰脈沖干擾。軟件濾波算法的采用,,無(wú)疑會(huì)在簡(jiǎn)化電路結(jié)構(gòu)的同時(shí)使系統(tǒng)的硬件資源得到更加充分的利用,,并達(dá)到降低產(chǎn)品設(shè)計(jì)成本的要求。

ADXL202E輸出的信號(hào)占空比調(diào)節(jié)(DCM)周期由外接電阻決定,,一般低于1 kHz,,因此計(jì)數(shù)輸入端高低電平持續(xù)時(shí)間長(zhǎng)達(dá)幾ms甚至幾十ms,可見(jiàn)傳感器輸出的正常計(jì)數(shù)信號(hào)高,、低電平變化較慢,;而控制器脈寬計(jì)數(shù)時(shí)間小于1μs,干擾尖峰脈沖是突變的,,所以能把干擾從正常計(jì)數(shù)中辨別出來(lái),。因此,使用軟件濾波來(lái)消除尖峰脈沖干擾是可行的,。

VRS51L3074單片機(jī)是由美國(guó)Ramtron(瑞創(chuàng))公司推出的8位單片機(jī)家族VRS51L3XXX系列的成員,。VRSS1L3074提供了2個(gè)與定時(shí)器0和1關(guān)連的獨(dú)立的脈寬計(jì)數(shù)器(PWC)模塊,用戶可通過(guò)對(duì)PWC模塊和定時(shí)器的配置,,靈活地控制定時(shí)器啟動(dòng)或停止計(jì)數(shù),,從而方便地實(shí)現(xiàn)對(duì)ADXL202E輸出的脈寬和周期的計(jì)數(shù)。   

從單片機(jī)計(jì)數(shù)輸入端,,觀察信號(hào)波形,。為便于分析,在高,、低電平段設(shè)置了幾個(gè)干擾尖峰脈沖,,分別標(biāo)示為Section A和Section C,占空比信號(hào)下降沿,、上升沿分別標(biāo)示為Section B和Section D,。單片機(jī)按計(jì)數(shù)時(shí)鐘周期性采樣,采樣值中“1”表示采到的是高電平,“0”表示低電平,。I/O口采樣占空比信號(hào)輸出端口中狀態(tài),,利用1個(gè)字節(jié)型變量R來(lái)動(dòng)態(tài)存儲(chǔ)采樣值??刂破髅坎蓸?次,,變量R中數(shù)據(jù)向左移1個(gè)二進(jìn)制位,,R原最高位電平狀態(tài)被移除,,而當(dāng)前時(shí)刻新的采樣狀態(tài)保存到R的最低位,變量R被更新了,,狀態(tài)存儲(chǔ)器R中保存著最近8個(gè)采樣周期的采樣值,。

在圖1中,從正常下降沿過(guò)程(Section B),,可以看到變量R中的數(shù)據(jù)經(jīng)歷了從各位全為1,,到1、0共存,,再變化到全為0的過(guò)程,;然而,在高電平段的干擾部分(SectionA),,變量R經(jīng)歷了從全為1,,到1、0混合,,再回到全為1的過(guò)程,。類似地,正常上升沿(Section D)變量R經(jīng)歷了各位全為0,,到0,、1共存,再變化到全為1的狀態(tài)變化過(guò)程,;在低電平段的干擾部分(Section C),,變量R經(jīng)歷了采樣狀態(tài)從全為0,到0,、1混合,,再回到全為0的過(guò)程。通過(guò)判斷此4種情況下變量R中數(shù)據(jù)的不同變化過(guò)程,,可以達(dá)到從正常變化中辨別出干擾的目的,。這就是本設(shè)計(jì)所采用的軟件濾波抗干擾方法的基本思想。



3  軟件濾波算法的實(shí)現(xiàn)

3.1  軟件濾波分析

根據(jù)軟件濾波設(shè)計(jì)思想,,濾波子程序由主程序在信號(hào)狀態(tài)發(fā)生變化,,進(jìn)入中斷時(shí)調(diào)用,圖2給出了濾波程序流程,。對(duì)照?qǐng)D1中4種Section來(lái)分析流程圖,。當(dāng)有邊沿或干擾信號(hào)(信號(hào)周期大于計(jì)數(shù)時(shí)鐘周期)到來(lái)時(shí),,VRS51L3074單片機(jī)的PWC計(jì)數(shù)停止條件滿足,系統(tǒng)進(jìn)入中斷服務(wù)子程序,。在中斷子程序中,,首先重置脈寬計(jì)數(shù)條件,然后對(duì)當(dāng)前狀態(tài)進(jìn)行采樣,,采樣1次,,狀態(tài)寄存器左移1位,采樣到高電平記為“1”,,采樣到低電平記為“0”,。如正常下降沿Section B,前面處于高電平段,,初始狀態(tài)變量Flag全為1,,當(dāng)出現(xiàn)低電平,控制器進(jìn)人中斷,,緊接著進(jìn)行16次采樣,。前已提及系統(tǒng)處理的尖峰干擾約1~2 ms,每個(gè)采樣周期約為0.4 ms,,其尖峰干擾脈寬達(dá)不到8個(gè)采樣周期,。系統(tǒng)設(shè)計(jì)時(shí)采樣16次,只取最后8次的存儲(chǔ)狀態(tài)與原狀態(tài)進(jìn)行比較,,如果最后采樣的狀態(tài)全為“0”則與原狀態(tài)相反,,就可判斷出這是1個(gè)正常下降沿。如果是干擾信號(hào)引起計(jì)數(shù)中斷,,前面8個(gè)采樣狀態(tài)不全為“1”,,后面8個(gè)狀態(tài)全為“1”,最后采樣的狀態(tài)與原狀態(tài)相同,,就可判斷出這是1個(gè)干擾信號(hào),,如Section A。在信號(hào)狀態(tài)采樣期間,,計(jì)數(shù)條件滿足PWC繼續(xù)計(jì)數(shù),,直到真正的下降沿到來(lái),計(jì)數(shù)停止并保存,,計(jì)數(shù)寄存器還原為初始值,,這樣干擾信號(hào)即被濾除。類似地,,正常上升沿Section D,,存儲(chǔ)器原狀態(tài)為“0”,上升沿來(lái)臨后存儲(chǔ)器狀態(tài)為“1”,與原狀態(tài)相反,,PWC計(jì)數(shù)停止并保存,,計(jì)數(shù)寄存器還原為初始值,退出中斷子程序,。有干擾信號(hào)出現(xiàn)后采樣狀態(tài)與原狀態(tài)相同,,干擾尖峰脈沖可被濾除。如果要使脈寬計(jì)數(shù)更精確,,可判斷前8個(gè)采樣周期中系統(tǒng)不正常計(jì)數(shù)的周期,,然后與最終計(jì)數(shù)周期相加即可。此時(shí),,程序流程體現(xiàn)出軟件濾波功能,。



3.2  源程序代碼分析

對(duì)應(yīng)程序流程圖,給出了單片機(jī)通過(guò)P4.2口對(duì)ADXL202某一輸出通道采樣濾波并完成脈寬計(jì)數(shù)的源程序,。源程序如下:





源程序中定義了3個(gè)變量,其中變量Flag存儲(chǔ)原狀態(tài)值,;FlagReg存儲(chǔ)當(dāng)前采樣值,;變量i記錄采樣次數(shù);改變i的值可控制濾除尖峰脈沖的等待時(shí)間,。程序通過(guò)對(duì)原狀態(tài)與當(dāng)前采樣狀態(tài)異或之后的值來(lái)判斷當(dāng)前信號(hào)是有效信號(hào)還是干擾信號(hào),,從而對(duì)上升沿、下降沿的中間過(guò)度或尖峰脈沖干擾進(jìn)行相應(yīng)處理,,退出中斷子程序,。實(shí)現(xiàn)了對(duì)正常信號(hào)計(jì)數(shù)、濾掉尖峰脈沖干擾的目的,。

4 測(cè)試結(jié)果

由于條件限制以及干擾的隨機(jī)性,,對(duì)基于ADXL202構(gòu)成的車載屯子羅盤進(jìn)行的測(cè)試,無(wú)法對(duì)所測(cè)量的角度以及方向角進(jìn)行精確標(biāo)定,。實(shí)驗(yàn)時(shí),,通過(guò)相同條件下同一物理量多次測(cè)量值的標(biāo)準(zhǔn)差來(lái)對(duì)相應(yīng)算法進(jìn)行評(píng)估。測(cè)試結(jié)果如表1所列,。



從實(shí)驗(yàn)測(cè)試的標(biāo)準(zhǔn)差可以看出,,經(jīng)過(guò)軟件濾波后σ小了很多,這種軟件濾波算法對(duì)濾除尖峰脈沖干擾是非常有效的,。

結(jié)  語(yǔ)

本文提出的軟件濾波算法速度快,,代碼效率高,濾波效果理想,,是一種實(shí)用的數(shù)字濾波設(shè)計(jì)方法,,體現(xiàn)了將算法與具體硬件相結(jié)合的思想。另一方面,當(dāng)脈沖干擾較寬時(shí)可將存儲(chǔ)器變量適當(dāng)擴(kuò)展成多字節(jié)變量,。這個(gè)算法還可以與FPGA結(jié)合,,用于其他計(jì)數(shù)精度要求較高、易受尖峰脈沖干擾的應(yīng)用結(jié)合,。

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載。