《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 測試測量 > 業(yè)界動態(tài) > 一種高精度數(shù)字傾角測量系統(tǒng)的設(shè)計

一種高精度數(shù)字傾角測量系統(tǒng)的設(shè)計

2008-09-03
作者:邱仁峰,胡曉東

  摘 要: 詳細(xì)介紹了利用A/D" title="A/D">A/D轉(zhuǎn)換器,、溫度傳感器和單片機(jī)實現(xiàn)數(shù)字傾角測量系統(tǒng)" title="測量系統(tǒng)">測量系統(tǒng)的硬件和軟件設(shè)計,。該系統(tǒng)具有精度高、運行穩(wěn)定,、性能可靠,、帶溫度補(bǔ)償?shù)葍?yōu)點,可廣泛應(yīng)用于寬工作溫度范圍的高精度傾斜角測量中,。
  關(guān)鍵詞: AT89C52單片機(jī) 傾角測量 ADS1210


  在自動控制和工程設(shè)計中,,常常需要對某一個平面或基準(zhǔn)進(jìn)行傾角測量,或進(jìn)行自動水平調(diào)節(jié),,特別是在自動控制中,,經(jīng)常需要對某一物體進(jìn)行動態(tài)水平控制,這就要求儀器能對水平傾角進(jìn)行自動動態(tài)跟蹤測量[1],;在某些高精度的測量系統(tǒng)中,,還要求對系統(tǒng)進(jìn)行快速調(diào)平或?qū)δ承┭b置與水平面的傾斜角進(jìn)行快速高精度的測量。這些都是傳統(tǒng)傾角測量系統(tǒng)和水平儀很難做到的,。以電子傾角器為傳感器而設(shè)計的數(shù)字傾角測量系統(tǒng)或數(shù)字水平儀不僅能滿足自動測量與控制的要求,,而且能使測量的精度和速度大大提高。
  以往使用電子傾角器作為傳感器而設(shè)計的數(shù)字水平儀和電子傾角測量系統(tǒng),,沒有考慮環(huán)境溫度對測量精度的影響,,故無法滿足某些高精度調(diào)平和傾斜角測量的需求。為了進(jìn)行寬工作溫度范圍的高精度測量,,必須對電子傾角器進(jìn)行溫度補(bǔ)償,。這里介紹一種高精度的數(shù)字傾角測量系統(tǒng),它利用Jewell Instruments公司的LCF-100型傾角器作為傾角傳感器,,其輸出的模擬電壓與傾斜角正弦成比例,。將該模擬電壓進(jìn)行A/D轉(zhuǎn)換后送入單片機(jī),同時利用溫度傳感器實時采集傾角器周圍環(huán)境的溫度,,也送入單片機(jī),,通過編制好的計算程序進(jìn)行計算,將計算結(jié)果通過串口" title="串口">串口中斷方式傳送到上位計算機(jī),。本文將詳細(xì)地闡述系統(tǒng)硬件電路設(shè)計以及軟件設(shè)計,。
1 系統(tǒng)硬件設(shè)計
1.1系統(tǒng)的硬件結(jié)構(gòu)

  高精度數(shù)字傾角測量系統(tǒng)的硬件結(jié)構(gòu)如圖1所示。單片機(jī)選用ATMEL公司的AT89C52,,利用其提供的軟硬件資源,,完成系統(tǒng)的控制以及采集數(shù)據(jù)的計算。系統(tǒng)的主要部分包括:電子傾角器、二階低通濾波器,、A/D轉(zhuǎn)換器ADS1210,、AT89C52、溫度傳感器DS1624,、電源以及向上位計算機(jī)傳送數(shù)據(jù)的通訊接口電路等,。


  電子傾角器選用Jewell Instruments公司生產(chǎn)的LCF-100型電子傾角器,它屬于力平衡式伺服系統(tǒng)電子傾角器,,測量范圍為-1°~+1°,,其輸出為模擬電壓,與傾斜角度的正弦成正比,。該傾角器具有分辨率高,、響應(yīng)速度快、線性度好等特點,。由于電子傾角器輸出的模擬電壓含有高次諧波,,因此通過二階低通濾波器濾除輸出信號的高頻分量。
  A/D轉(zhuǎn)換器將電子傾角器輸出的模擬量轉(zhuǎn)換為數(shù)字量,,其分辨率的高低將直接影響系統(tǒng)的測量精度,。根據(jù)設(shè)計要求,本系統(tǒng)采用Burr-Brown公司ADS1210作為電子傾角器的A/D轉(zhuǎn)換器,,它是一個24位分辨率,、寬動態(tài)范圍、單5V電源供電,、帶自校正功能的Σ-Δ高精度A/D轉(zhuǎn)換器,,其內(nèi)部由可編程增益放大器、二階Σ-Δ調(diào)制器,、調(diào)制器控制單元,、三階數(shù)字濾波器、微控制器,、寄存器組,、基準(zhǔn)參考源和時鐘電路等組成[2]。ADS1210將轉(zhuǎn)換的數(shù)字量通過I2C總線傳送到單片機(jī),。
  溫度傳感器選用Dallas Semiconductor 公司的DS1624數(shù)字溫度測量計,,它具有測量精度高、測量溫度范圍寬,,易與單片機(jī)接口等特點,,其內(nèi)部還帶有256字節(jié)的E2PROM,用于存儲測量系統(tǒng)的修正參數(shù)[3],。溫度傳感器實時采集系統(tǒng)的環(huán)境溫度,,將采集的溫度值通過I2C總線送入單片機(jī),。
1.2 ADS1210和DS1624與AT89C52的接口電路
  ADS1210和DS1624與AT89C52的接口電路如圖2所示。傳感器的輸出接到ADS1210的AINP和AINN輸入端,。在這里,,ADS1210和AT89C52采用的是三線連接,,、SDIO,、SCLK分別與P12、P13,、P14相連接,,其中SDIO用于數(shù)據(jù)的輸入和輸出,直接接地,,MODE接地表示從機(jī)方式。由于在本系統(tǒng)中只用了一塊ADS1210,,故可將與DVDD直接相連,。


  利用AT89C52的P1口的P10和P11分別與DS1624的引腳SCL和SDA相連構(gòu)成I2C總線。I2C總線是一種串行數(shù)據(jù)總線,,只用兩根信號線,,一根是雙向數(shù)據(jù)線SDA,另一根是時鐘線SCL,。在I2C總線上傳送的一個數(shù)據(jù)字節(jié)由八位組成,,總線對每次傳送的字節(jié)數(shù)沒有限制,但是每個字節(jié)后必須跟一個應(yīng)答位(ACK),,數(shù)據(jù)傳送首先傳最高位(MSB),。
2 系統(tǒng)軟件設(shè)計
  本系統(tǒng)軟件采用匯編語言編程,由主程序,、計算子程序" title="子程序">子程序,、ADS1210讀寫子程序、DS1624讀寫子程序和串口中斷服務(wù)子程序等組成,。傾角器溫度補(bǔ)償?shù)南嚓P(guān)參數(shù)存放在DS1624的E2ROM中,,必要時上位計算機(jī)通過控制命令對其進(jìn)行修正。中斷服務(wù)程序隨時接收上位計算機(jī)的控制命令,,進(jìn)行系統(tǒng)自檢,、參數(shù)修正、數(shù)據(jù)輸出等,。
2.1 主程序
  主程序完成初始化后,,實時采集環(huán)境溫度和電子傾角器數(shù)據(jù),并進(jìn)行補(bǔ)償運算,。為了保證采集傾角器數(shù)據(jù)的穩(wěn)定性,,采集一次環(huán)境溫度數(shù)據(jù)后,,連續(xù)采集10次傾角器數(shù)據(jù)進(jìn)行算術(shù)平均,然后再采集一次環(huán)境溫度如此,,如此循環(huán)往復(fù),。
  主程序的流程如圖3所示。


2.2 計算子程序
  電子傾角器輸出的模擬電壓V與傾斜角度θ的正弦近似成線性關(guān)系,,即:
  V=V0+K0×sinθ    (1)
  其中,K0是電子傾角器的轉(zhuǎn)換比例因子" title="比例因子">比例因子,。
  因傾角器的測量范圍為±1°,可以用弧度值替代角度的正弦值,,其計算誤差為:
  
  從公式(2)可以看出,,傾斜角度θ是隨環(huán)境溫度線性變化的函數(shù),而線性傳感器的溫度補(bǔ)償是對零位和靈敏度的補(bǔ)償,,所以經(jīng)過溫度補(bǔ)償?shù)膬A角器輸出為:
  
  式中,K為零位溫度系數(shù),,K1為比例因子溫度系數(shù)。
  用AD表示A/D轉(zhuǎn)換器輸出的數(shù)據(jù),;K_AD表示A/D轉(zhuǎn)換器的輸出斜率,,單位:1/V;B0表示基準(zhǔn)零偏電壓,,單位:V,;B_temp表示零點偏差系數(shù),單位:V/℃,;ΔT表示溫度變化量,,單位:℃;S.F._Temp表示比例因子溫度系數(shù),;Title表示修正后的傾角,,單位:″。則(3)式變?yōu)椋?BR>
  由(9)式可以計算出溫度補(bǔ)償后的修正傾角,。
  計算子程序的流程如圖4所示,。


2.3 ADS1210的編程
  對ADS1210編程,首先對其進(jìn)行初始化,,根據(jù)系統(tǒng)設(shè)計的要求,,確定相關(guān)的參數(shù),如增益PGA,、加速因子TMR,、數(shù)據(jù)輸出率DR(抽取率)等。在初始化子程序中,,將這些相關(guān)的參數(shù)寫入CMR,。啟動ADS1210的轉(zhuǎn)換,然后調(diào)用讀DOR寄存器子程序,,將轉(zhuǎn)換的結(jié)果讀到單片機(jī)中,。ADS1210的初始化流程和讀DOR寄存器流程如圖5所示,。


2.4 DS1624的編程
  由于將DS1624的引腳SCL和SDA與AT89C52的P10和P11相連構(gòu)成I2C總線,對DS1624的讀寫操作都要遵循I2C總線協(xié)議,。利用單片機(jī)可以仿真I2C總線的讀/寫時序,。I2C總線的控制主要包括以下五部分:開始、讀數(shù)據(jù),、寫數(shù)據(jù),、應(yīng)答、停止,。
  DS1624的編程包括以下幾個子程序:初始化子程序,、啟動溫度轉(zhuǎn)換子程序、讀取溫度值子程序,。在初始化子程序中,,向配置/狀態(tài)寄存器寫一個字節(jié)的數(shù)據(jù)用以將DS1624的工作方式設(shè)為連續(xù)轉(zhuǎn)換方式。
  DS1624的初始化子程序,、讀取溫度值和啟動溫度轉(zhuǎn)換子程序流程圖如圖6所示,。


2.5 串口中斷服務(wù)程序
  如果更換電子傾角器,那么其相應(yīng)的參數(shù),,如固定零偏差、零偏的溫度系數(shù),、比例因子,、比例因子溫度系數(shù)等都會發(fā)生變化。為了提高系統(tǒng)的通用性,,將這些參數(shù)通過串口中斷的方式進(jìn)行修改,。單片機(jī)計算得到的結(jié)果即修正角度也是通過串口中斷的方式輸出的。本系統(tǒng)的串口中斷服務(wù)程序包括以下幾個命令:寫零偏差,、寫零偏溫度系數(shù),、寫傾角器轉(zhuǎn)換比例因子、寫比例因子溫偏差,、寫ADS1210的轉(zhuǎn)換比例,、寫ADS1210的轉(zhuǎn)換速率、寫角度校準(zhǔn)值,、初始化E2ROM中的數(shù)據(jù),、讀溫度值、讀計算后修正角度值,、檢查寫進(jìn)數(shù)據(jù)的正確性,、檢查芯片是否工作正常等。串口中斷服務(wù)的流程圖如圖7所示,。


  本文介紹的高精度數(shù)字傾角測量系統(tǒng)已經(jīng)在工程中得到實現(xiàn),,并通過T3經(jīng)緯儀驗證了它的測量精度,。實驗結(jié)果表明:在-10℃~+50℃的溫度范圍內(nèi),其精度達(dá)到3″,,能滿足寬工作溫度范圍高精度測量系統(tǒng)的需要,。更寬溫度范圍內(nèi)的精度驗證實驗正在進(jìn)行中。該系統(tǒng)已經(jīng)在某項目的水平傾斜角測量中得到應(yīng)用,,運行穩(wěn)定,、性能可靠。
參考文獻(xiàn)
1 高永全. 電子水平儀. 物理實驗, 2001;21(12):37~41
2 何 非,修吉平,,魏華勝.24位模數(shù)轉(zhuǎn)換器ADS1210/11原理及應(yīng)用. 電子技術(shù)應(yīng)用,1999,;25(1):53~56
3 DS1624 Digital Thermometer and Memory. Dallas Semiconductor,1999
4林毓梁, 李 穎. 數(shù)字式I2C總線溫度傳感器DS1624在溫度檢測中的應(yīng)用.世界電子源器件, 2003(12):66~67

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,,并不代表本網(wǎng)站贊同其觀點,。轉(zhuǎn)載的所有的文章、圖片,、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有,。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容,、版權(quán)和其它問題,,請及時通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,,避免給雙方造成不必要的經(jīng)濟(jì)損失,。聯(lián)系電話:010-82306118;郵箱:[email protected],。