SCA100t和MCU在數(shù)字傾角傳感器中的應用
3 系統(tǒng)軟件設計
整個系統(tǒng)使用C51 進行程序設計,使用模塊化結構,條理清楚。主要功能有控制SCA100T,讀取雙軸測量數(shù)據(jù)和內部溫度值;完成電壓值-角度的變換;輸出數(shù)據(jù)的修正;數(shù)據(jù)輸出的軟件濾波;接收串口命令,輸出測量數(shù)據(jù)。軟件流程如圖2 所示。
根據(jù)器件手冊可以看到,SCA100t 輸出的電壓值與角度有以下關系:
α=arcsin((Dout-1024)/Sens)
圖2 系統(tǒng)軟件流程圖
Dout 為傳感器的數(shù)字量輸出;
Sens 是傳感器的靈敏度,根據(jù)測量范圍不同,分別為819(4V/g)或 1638(2V/g)。單片機通過SPI 口讀取SCA100T 內的兩路傳感器的A/D 轉換結果,在單片機機內進行處理后,通過串行口輸出。同時利用SPI 接口讀出內部溫度傳感器,進行測量值的溫度補償。
4 提高精度措施
SCA100T 非常敏感,電源的波動或是器件的振動對輸出值的精度都有很大的影響;溫度對輸出值也有一定的影響;在焊接時可能焊接面不平,安裝在機殼內或嵌入在其它系統(tǒng)中時也可能與基準面存在一定的角度,這些都會造成測量值的零點偏差。經過實驗和分析,主要通過以下方法來提高它的穩(wěn)定性和可靠性:
4.1 供電電路設計
供電電壓不穩(wěn)定可直接造成輸出的比例誤差,最大值可達到2%。如果電源過載則使傳感器供電不足而造成輸出波動。系統(tǒng)加了電源輸入保護電路,防止電源輸入過載。采用高精度電壓源REF195 單獨給傳感器供電,有效地減小電源的波動對輸出的影響。在電路板設計時,傳感器的電源和地之間加上10nF 的濾波電容,在模擬輸出端加上10uF 濾波電容,也可以減小了紋波,從而減小了輸出誤差;工作在嵌入系統(tǒng)中時,給這一部分電路加上鐵殼進行電磁屏蔽,減小其它工作電路或周圍環(huán)境對它的影響。
4.2 軟件濾波
在單片機片內RAM 中設定一個數(shù)組,用來存貯解算后的角度值。利用堆棧的原理將數(shù)組中新的測量值更新,對數(shù)據(jù)的數(shù)據(jù)進行加權求和平均后輸出。這樣可以減小輸出波動,但輸出有一定的滯后,通過實驗最終選用5 個數(shù)據(jù)處理滿足了系統(tǒng)的設計要求。
4.3 溫度補償
傳感器的輸出值同樣受到溫度的影響。它的內部帶有溫度傳感器,在大多數(shù)情況下不需要進行溫度補償。當傳感器工作在極限溫度附近時,可由MCU 根據(jù)其內溫進行補償。溫度的實際值由下式算出:
Treal=(Counts-197)/(-1.083)
式中Counts 為傳感器的輸出值。
4.4 模擬量輸出
Sca100t 還帶有模擬量輸出,其精度要比SPI 輸出的11BitAD 轉換結果高。可以用12Bit或16Bit 的AD 芯片或帶有更高精度AD 單片機(如C80051F060)的進行測量得到電壓后,再進行計算得到更高的測量精度。
4.5 零點校正
傳感器在焊接或安裝時,不可避免的會有一些傾斜角度,從而造成零點誤差。傳感器在安裝固定好后,在三維轉臺上進行標定,測出它兩個方向的零點誤差值,作為一個常數(shù)值存入Flash 芯片中。MCU 把得到的測量值減去零點誤差再輸出,基本消除了零點誤差引起的測量誤差。
5 小結
經過多次實驗改進后,數(shù)字傾角傳感器工作可靠、穩(wěn)定,測量精度高,便于嵌入到其它的測量系統(tǒng)中,已經在無人機姿態(tài)測量等多個項目中得到了應用。
傳感器相關文章:傳感器工作原理
風速傳感器相關文章:風速傳感器原理 傾角傳感器相關文章:傾角傳感器原理
評論