王利恒,李聯中,王祥力,王斯寧
(武漢工程大學電氣信息學院,湖北 武漢 430205)
傾角傳感器用來測量儀器相對于水平面的傾角,在航空航天[1]、太陽能[2]、自動調平儀[3]、軍事[4-5]、高精密科學設備等方面都具有重要的地位.傳統的傾角傳感器以其可靠性強、測量精度高,在水平、垂直度檢測以及角度測量領域占有重要的地位,已經作為配套儀器在許多專業領域得到廣泛的應用.但在比較惡劣的環境條件以及無市電供應狀態下,該類傳感器產品不能進行測量工作.因此,研究可適應惡劣環境以及小體積、輕重量、電池供電、使用方便靈活的傾角傳感器產品成為一個亟待解決的問題.筆者設計了一種基于C8051F310單片機的傾角測量系統,經過實驗驗證,該傾角傳感器的最小分辨率為0.1°,其重復性和線性度都比較理想,可以應用在各種高精度儀器的調平與角度測量系統中,具有很高的應用價值.
傾角傳感器敏感元件SCA60C的輸出電壓信號與角度成正弦關系變化,通過模數(Analog to Digital,以下簡稱:A/D)轉換將其轉變為數字信號并將數字信號傳送入微處理器C8051F310中進行濾波、限幅、角度化等處理,使之變為對應的角度實時信號,通過顯示模塊進行顯示以實現人機接口.另外還配置了RS-232信號通信模塊,系統可以通過該模塊進行數據傳輸,實現與上位機的通訊.電路系統設計采用了模塊化設計的方法,系統結構如圖1所示.經過分析將傾角傳感器分為以下6個主要模塊:傳感器敏感元件模塊、電源供電模塊、 A/D 轉換模塊、微處理器模塊、顯示模塊和 RS-232 信號傳輸模塊.

圖1 系統結構Fig.1 System architecture
SCA60C是芬蘭VTI科技公司推出的一種分辨率高、噪聲低、穩定性好、抗沖擊能力強的單軸傾角傳感器芯片.該芯片可用來測量物體是否處于水平、垂直位置或與水平成一定的角度, 它實際上是一個加速度計, 其內部由敏感元件、測量電路、增益放大和濾波模塊組成,它通過測量地球引力在測量方向上的分量, 將其轉換為傾斜角度.采用公式(1)將角度轉化為模擬輸出量:
Vout=VSsinα+Vf
(1)
式(1)中:Vout為角度敏感元件輸出電壓;α為輸入角度;Vf為模塊在水平位置時的輸出電壓(輸出值一般為2.5V);VS為模塊的靈敏度(其靈敏度為每重力加速度2 V).為了得到更好的精確度,應使用實際輸出值代替通常值.該傳感器反應靈敏,在較小的角度范圍內,其傾斜所產生的電導信號與實際角度成很好的線性關系,利用此原理可以實現精確的角度測量.傳感器對溫度變化的響應不靈敏,因此溫度變化對測量精確度產生的影響很小[6].
為了給電路中的傾角傳感器SCA60C和通信轉換芯片MAX232cep提供+5V電壓,筆者采用了LM78L05ACZ穩壓芯片,通過此芯片可以為系統提供穩定的+5V電壓,電源采用9V干電池.為了給C8051F310單片機提供+3.3V電壓,筆者采用了AMS1117芯片,通過此芯片可以為單片機提供穩定的+3.3V電壓.考慮到選取的電源變換芯片屬于開關電源芯片,輸出端處有較大的紋波,因此需要在電壓輸出端外接適當的旁路濾波電容,以消除電源輸出紋波對系統中元器件的干擾[7],設計電路如圖2所示.

圖2 電源模塊Fig.2 Power supply module
本電路采用了以C8051F310單片機為核心的微處理器主控模塊單元.C8051F310單片機應用非常廣泛,有較多的源程序代碼可以借鑒,從而減少了工作量,縮短了開發時間.C8051F310單片機具有8*1024字節的程序存儲器,其提供的程序存儲器以其較大的容量和方便靈活的輸入輸出接口受到廣大工控設計人員的青睞[8].
選擇了模擬信號以后,要把模擬信號轉換成微處理器可以識別的數字信號,必須采用模數轉換.本系統的模擬信號為電壓信號,通過模數轉換以后,每一個角度對應的電壓值都被轉化為唯一確定的二進制數字量信號,這個數字量是微處理器可以識別處理的信號.
C8051F310單片機的模數轉換器(Analog to Digital Converter,以下簡稱:ADC)集成了兩個25通道模擬多路選擇器和一個每秒采樣200千次的10位逐次逼近型ADC.ADC可以工作在單端方式或差分方式,模擬多路選擇器選擇去ADC的正輸入和負輸入,P1.0-P3.4和GND中的任何一路都可以被選擇為負向輸入,P1.0-P3.4、片內溫度傳感器輸出和正電源中的任何一路都可以被選擇為正向輸入,如圖3所示.只有當ADC控制寄存器中的AD0EN位被置‘1’時,ADC子系統才能啟動;當AD0EN位被置為‘0’時,ADC0子系統處于關閉方式.當GND被選擇為負輸入時,ADC工作在單端模式下;在所有其它模式下,ADC工作在差分模式.ADC的輸入通道是通過調整寄存器AMX0P和AMX0N的值來實現的.每次轉換結束后,在寄存器ADC0H和ADC0L中保存ADC轉換結果的高字節和低字節.在本設計中,筆者采用了單端工作模式,選擇P2.0端口為ADC模塊的正輸入,GND為ADC模塊的負向輸入.

圖3 A/D模塊Fig.3 A/D module
液晶顯示器具有體積小、功率低、顯示內容豐富、超薄輕巧等諸多優點,因而在各種儀表和低功耗應用系統中得到越來越廣泛的應用.設計中采用常用的2行16個字的SMC1602A液晶模塊來顯示測量角度.SMC1602A液晶模塊與單片機的連接圖如圖4所示.

圖4 單片機與SMC1602A液晶模塊連接圖Fig.4 SCM and LCD module connection diagram
單片機P1口與SMC1602A液晶模塊的數據口連接,用于傳輸數據和命令.P2口分別控制RS、R/W和使能端E.RS為數據/命令選擇端,高電平時傳遞數,低電平時傳遞指令.R/W為讀寫控制端,高電平時進行讀操作,低電平時進行寫操作.當RS和R/W共同為低電平時,可以寫入指令或者顯示地址;當RS為低電平且R/W為高電平時,可以讀取忙信號;當RS為高電平且R/W為低電平時,可以寫入數據.E為使能端,當E由高電平跳變成為低電平時,液晶模塊執行命令.D0-D7為8位數據線.VL為液晶模塊的對比度調整端,接正電源時對比度最弱,接地時對比度最高,對比度過高時會產生“鬼影”,可以通過一個10千歐的電位器調整對比度.
系統還提供了與上位機通訊的RS-232模塊,因此需要將單片機TXD端口輸出的晶體管-晶體管邏輯電平轉換為上位機可接收的RS-232電平信號.在RS-232通信模塊中,主控芯片選用的是MAXIM公司的MAX232CPE芯片.此芯片可以將晶體管-晶體管邏輯電平轉換成RS-232電平,也可以將RS-232電平轉換成晶體管-晶體管邏輯電平,屬于雙向驅動接收器[8].系統通過此芯片作為與上位機相連接的處理單元,將系統信號數據傳送到上位機中,用戶可以在RS-232協議允許的距離內通過上位機采集傾角傳感器系統的數據,也可以方便的利用此數據來進行后向處理,電路如圖5所示.

圖5 RS-232 通信模塊Fig.5 RS-232 communication module
軟件設計也采用了模塊化設計的原理.將實現各個功能的模塊程序做成子程序,然后在主程序中進行調用.根據水平傾角測量儀系統的需要,分為以下5個子模塊:單片機輸入輸出初始化模塊、A/D 轉換器初始化模塊、A/D 轉換器采集數據并送交單片機模塊、向液晶模塊傳送數據并顯示模塊、RS-232 數據傳輸模塊.軟件流程圖如圖6所示,具體的程序代碼在此不再贅述.

圖6 軟件流程圖Fig.6 Flow diagram of program
為了測試系統的性能,利用角度發生器設置儀器傾斜角度,每傾斜1°記錄一次數據,在0-90°范圍內正反各做一次測試并記錄, 最后得到兩組數據,如表1所示.由此可對傳感器進行重復性和線性度測試.由于使用最小二乘法擬合直線可使擬合精度最高,所以采用最小二乘法擬合直線.擬合直線方程為:Y=X+0.181,系統的線性度為:Δmax/YFS=0.279/90=0.0031(Δmax為實際特性曲線與擬合直線的最大偏差,YFS為傳感器滿量程輸出).最小分辨率為0.1°,靈敏度為2/90≈0.02 V /°.

表1 系統性能測試Table 1 System performance testing
筆者設計的新型便攜式傾角傳感器系統通過電源管理模塊改變了電源的供電方式,實現了干電池供電;通過微處理器主控單元控制了顯示、RS-232 數據傳輸等方式的人機接口,改造了原有傳感器產品只具備模擬量輸出的接口方式,縮小了產品體積,機體外殼采用長方體形狀,機體外殼長×寬×高=120mm×80mm×40mm,安裝板測量面長×寬×高=110mm×60mm×35mm.本機的結構外形尺寸比原有的一體化結構的傳統儀器要小許多,其體積比文獻[9]中的體積更小,更便于攜帶.傾角傳感器技術的應用給水平傾角測量領域提供了更多新的選擇,滿足工業現場對角度測量的廣泛應用需求.
參考文獻:
[1] 盧衛平,黃鳴豐,孫永榮.傾角傳感器在太陽能跟蹤系統中的應用研究[J].現代電子技術,2012,35(1):129-131.
[2] 李曉紅.基于單片機的衛星天線自動定位控制系統開發與研究[D].上海:華東師范大學,2008.
[3] 楊興瑤,劉行景.高精度電子傾角傳感器及其在自動調平儀中的應用[J].江蘇機械制造與自動化,1994,(6):34-35.
[4] 郭俊岑, 周浚哲, 唐健.基于單片機的坦克火控調試臺自動調平系統研究[J].沈陽理工大學學報,2006,25(3):71-73.
[5] 譚青.自動調平系統在防空炮火中的應用[J].武器裝備自動化,2004,23(4): 10-11.
[6] Cheng Y, Winterflood J, Ju L,et al. Tilt sensor and servo control system for gravitational wave detection[J]. Quantum Gravity.2001,7(10):1723-1729.
[7] Lee Y Y, Lam K C, Yuen K K. Active vibration control of an aircraft cabin panel using piezoelectric sensors and actuators[J].IEEE,2003,3(1):131-141.
[8] Chen Y L. Application of Tilt Sensor in Human-Computer Mouse Interface for People With Disablities[J].IEEE,2001,9(3):289-294.
[9] 劉軍勝, 左謹平,高菁.基于單片機的便攜角度測量儀[J].電子技術,2008,45(4):29-32.