《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計應(yīng)用 > SCA100t和MCU在數(shù)字傾角傳感器中的應(yīng)用
SCA100t和MCU在數(shù)字傾角傳感器中的應(yīng)用
摘要: 采用VTI公司生產(chǎn)的SCA100t雙軸傾角傳感器和C8051F系列單片機構(gòu)成的數(shù)字傾角傳感器,工作可靠,測量精度高。論文中主要論述了系統(tǒng)的硬件電路設(shè)計、軟件工作流程,對影響精度的因素進行了分析,并提出了可行的解決方法。
Abstract:
Key words :

采用VTI 公司生產(chǎn)的SCA100t 雙軸傾角傳感器和C8051F 系列單片機構(gòu)成的數(shù)字傾角傳感器,工作可靠,測量精度高。論文中主要論述了系統(tǒng)的硬件電路設(shè)計、軟件工作流程,對影響精度的因素進行了分析,并提出了可行的解決方法。

1 引言

隨著市場需求和科技的發(fā)展,人們對工程、機械、航空、航海設(shè)備的可靠性和穩(wěn)定性提出了更高的要求,其中姿態(tài)測量是一項重要的指標。傾角傳感器是測量關(guān)于某一基準面的傾斜角或者是姿態(tài)的裝置。目前,市場上已有單軸、雙軸、三軸的傾角傳感器,但大多都價格昂貴或者體積較大。本文提出以雙軸傳感器SCA100t 和C8051F 單片機實現(xiàn)的設(shè)計,可大大降低系統(tǒng)成本,不但可以構(gòu)成一個單獨的數(shù)字輸出傳感器,也可以作為一個測量模塊,嵌入到測量控制系統(tǒng)中,廣泛應(yīng)用于機器人控制、平臺姿態(tài)(俯仰和滾轉(zhuǎn))測量、雙軸加速度測量等系統(tǒng)中。

2 硬件電路設(shè)計

整個系統(tǒng)結(jié)構(gòu)如圖1 所示。可分為供電電路、角度測量和數(shù)據(jù)采集與輸出等。系統(tǒng)采用寬電源供電,經(jīng)電源變換后電源分為兩路,一路是由精密穩(wěn)壓芯片REF195,輸出高穩(wěn)定的5v 電壓,專為傳感器供電,以提高傳感器的輸出穩(wěn)定性;另一路是由LM2937輸出的3.3v 電源,為單片機系統(tǒng)提供工作電源。

系統(tǒng)總體框圖

圖1 系統(tǒng)總體框圖

角度測量使用了VTI 公司生產(chǎn)的硅基加速度傳感器SCA100T,其主要性能指標:1)雙軸向傾角測量:SCA100T 測量X-Y 方向;2) 測量范圍 1.7g;3) 測量靈敏度1.2V/g;4)+5V單電源供電,兩個比例電壓輸出(模擬),內(nèi)置11 位AD 轉(zhuǎn)換器;5)兼容SPI 的數(shù)字輸出;6)通過SPI 接口,可以訪問內(nèi)部溫度傳感器。

SCA100T 為12 腳表貼封裝,設(shè)計時要水平安裝芯片,并注意芯片上面箭頭所指方向為正方向。輸出使用SPI 接口,周期為19 個時鐘,雖然C8051F 單片機具有片上SPI 資源,與SCA100T 的SPI 時序不符,因此采用軟件模擬SPI 總線讀寫SCA100T 數(shù)據(jù)。

傳感器同時還有模擬輸出接口,設(shè)計時把這兩路信號引出,滿足用戶的使用要求。

數(shù)據(jù)采集處理采用了Silicon 公司的高性能C8051F005 單片機作為主處理器,它采用了CHP-51TM 微處理器內(nèi)核,與8051 完全兼容,并在片上擴展了SPI、IIC AD 等多種外設(shè),采用單指令周期,具有JTAG 接口,可直接進行調(diào)試與編程。工業(yè)上小型傳感器輸出接口一般采用RS-232C 或RS-485 接口。在設(shè)計時將這兩種接口電路都進行了設(shè)計,用戶可以選擇其中的一種接口來輸出數(shù)據(jù)。

3 系統(tǒng)軟件設(shè)計

整個系統(tǒng)使用C51 進行程序設(shè)計,使用模塊化結(jié)構(gòu),條理清楚。主要功能有控制SCA100T,讀取雙軸測量數(shù)據(jù)和內(nèi)部溫度值;完成電壓值-角度的變換;輸出數(shù)據(jù)的修正;數(shù)據(jù)輸出的軟件濾波;接收串口命令,輸出測量數(shù)據(jù)。軟件流程如圖2 所示。

根據(jù)器件手冊可以看到,SCA100t 輸出的電壓值與角度有以下關(guān)系:

α=arcsin((Dout-1024)/Sens)

系統(tǒng)軟件流程圖

圖2 系統(tǒng)軟件流程圖

Dout 為傳感器的數(shù)字量輸出;

Sens 是傳感器的靈敏度,根據(jù)測量范圍不同,分別為819(4V/g)或 1638(2V/g)。單片機通過SPI 口讀取SCA100T 內(nèi)的兩路傳感器的A/D 轉(zhuǎn)換結(jié)果,在單片機機內(nèi)進行處理后,通過串行口輸出。同時利用SPI 接口讀出內(nèi)部溫度傳感器,進行測量值的溫度補償。

4 提高精度措施

SCA100T 非常敏感,電源的波動或是器件的振動對輸出值的精度都有很大的影響;溫度對輸出值也有一定的影響;在焊接時可能焊接面不平,安裝在機殼內(nèi)或嵌入在其它系統(tǒng)中時也可能與基準面存在一定的角度,這些都會造成測量值的零點偏差。經(jīng)過實驗和分析,主要通過以下方法來提高它的穩(wěn)定性和可靠性:

4.1 供電電路設(shè)計

供電電壓不穩(wěn)定可直接造成輸出的比例誤差,最大值可達到2%。如果電源過載則使傳感器供電不足而造成輸出波動。系統(tǒng)加了電源輸入保護電路,防止電源輸入過載。采用高精度電壓源REF195 單獨給傳感器供電,有效地減小電源的波動對輸出的影響。在電路板設(shè)計時,傳感器的電源和地之間加上10nF 的濾波電容,在模擬輸出端加上10uF 濾波電容,也可以減小了紋波,從而減小了輸出誤差;工作在嵌入系統(tǒng)中時,給這一部分電路加上鐵殼進行電磁屏蔽,減小其它工作電路或周圍環(huán)境對它的影響。

4.2 軟件濾波

在單片機片內(nèi)RAM 中設(shè)定一個數(shù)組,用來存貯解算后的角度值。利用堆棧的原理將數(shù)組中新的測量值更新,對數(shù)據(jù)的數(shù)據(jù)進行加權(quán)求和平均后輸出。這樣可以減小輸出波動,但輸出有一定的滯后,通過實驗最終選用5 個數(shù)據(jù)處理滿足了系統(tǒng)的設(shè)計要求。

4.3 溫度補償

傳感器的輸出值同樣受到溫度的影響。它的內(nèi)部帶有溫度傳感器,在大多數(shù)情況下不需要進行溫度補償。當傳感器工作在極限溫度附近時,可由MCU 根據(jù)其內(nèi)溫進行補償。溫度的實際值由下式算出:

Treal=(Counts-197)/(-1.083)

式中Counts 為傳感器的輸出值。

4.4 模擬量輸出

Sca100t 還帶有模擬量輸出,其精度要比SPI 輸出的11BitAD 轉(zhuǎn)換結(jié)果高。可以用12Bit或16Bit 的AD 芯片或帶有更高精度AD 單片機(如C80051F060)的進行測量得到電壓后,再進行計算得到更高的測量精度。

4.5 零點校正

傳感器在焊接或安裝時,不可避免的會有一些傾斜角度,從而造成零點誤差。傳感器在安裝固定好后,在三維轉(zhuǎn)臺上進行標定,測出它兩個方向的零點誤差值,作為一個常數(shù)值存入Flash 芯片中。MCU 把得到的測量值減去零點誤差再輸出,基本消除了零點誤差引起的測量誤差。

5 小結(jié)

經(jīng)過多次實驗改進后,數(shù)字傾角傳感器工作可靠、穩(wěn)定,測量精度高,便于嵌入到其它的測量系統(tǒng)中,已經(jīng)在無人機姿態(tài)測量等多個項目中得到了應(yīng)用。

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