引 言
目前,廣泛用于位置測量的傳感器主要有旋轉編碼器、光柵光電編碼器、磁柵尺、磁致伸縮位置傳感器、靜磁柵絕對編碼器等。以物體的直線運動帶動旋轉編碼器的馬盤做旋轉運動,并轉換為連續(xù)的有方向的脈沖信號,以表示物體的位置,這種形式的編碼器稱為增量型旋轉編碼器。還有一種絕對位置旋轉編碼器能將物體的位置直接用數(shù)字表達,即使掉電編碼也不丟失。其量程和精度由旋轉機構的速度比和加工精度決定。旋轉編碼器的最大缺點是需要一套將直線運動轉換成旋轉運動的結構,安裝成本頗高,機械傳動帶來間隙誤差相當程度地削減了旋轉編碼器固有的分辨度,同時,長期使用還容易造成碼盤破損之類的機械損傷。另外,還需要接觸測量。
光柵光電編碼器的標尺光柵和指示光柵都是由窄的矩形不透明的線紋和其等寬的透明間隔所組成,一旦被灰塵遮蓋或油漬浸泡,就影響其使用;并且在測量中不能掉電,一旦掉電,將會丟失掉電期間位移發(fā)生改變的數(shù)值。磁柵尺是在非導磁材料上涂一層10~20μm的磁膠,通過交流磁頭讀取刻錄在磁帶上的位置信息,當這種位置傳感器處在惡劣環(huán)境中,如海水,這將嚴重影響交流磁頭與磁帶間的磁場傳播。磁致伸縮位置傳感器不僅響應速度低而且成本高。
靜磁柵絕對編碼器的靜磁柵源與靜磁柵尺之間非接觸工作,在安裝使用方面,有很高的相對間隙寬容度和相對姿態(tài)寬容度。無論量程多長,只要保證安裝精度,就能獲得非常小的示值誤差,而且不受外界溫度、濕度、雜散磁場、電磁干擾等因素影響,具有很強的防震,防撞擊,防水,抗污染,抗干擾,抗惡劣環(huán)境能力,可以在水下1 000 m范圍內(nèi)工作。但是它的位置信息是用絕對磁柵編碼來確定,因此會存在響應速度低,測量精度差等缺點,并且價格也偏高。在此設計一種抗惡劣環(huán)境的位置測量裝置游標磁尺。該磁尺不僅克服了靜磁柵絕對編碼器的缺點,而且測量精度高,響應速度快,還具有靜磁柵絕對編碼器的優(yōu)點。
1 游標磁尺的結構
游標磁尺結構框圖如圖1所示。圖1中RS 485/RS 232轉換器主要是為了實現(xiàn)遠距離通信而設置。它可以分為上、下位機兩個部分,上、下位機分工明確。作為下位機核心器件的PIC單片機,主要負責位置信息的處理和通信,而上位機主要負責對PIC單片機處理得到位置值的實時顯示。上位機的實時顯示功能主要利用基于圖形界面的Windows系統(tǒng)下的Visual Basic制作的實時顯示操作平臺實現(xiàn)。上、下位機通過數(shù)據(jù)通信傳遞信息。單片機和PC機的通信是通過單片機的串口和PC機串口之間的硬件連接實現(xiàn)的。其實際結構圖如圖2所示,實物圖中沒有拍下位置顯示平臺。
2 工作原理
游標磁尺測量原理:使用開關型霍爾元件陣列作為“靜尺”;使用無源釹鐵硼磁鐵作為永磁體陣列(“動尺”)。作為“靜尺”的霍爾元件陣列是一種磁傳感器能檢測出“動尺”的磁場及其變化,當“動尺”沿“靜尺”軸線作無接觸相對運動時,由“靜尺”的霍爾元件陣列記錄“動尺”的數(shù)字化位置信息。位置的“整數(shù)部分”由最開始動作的霍爾元件所處的位置確定,位置的“小數(shù)部分”由位置匹配序列確定。所謂位置匹配序列就是“動尺”要滿足一定的規(guī)格和要求?!皠映摺彼诘奈恢弥蹬c“盯尺”的霍爾元件陣列動作信息序列匹配,如“小數(shù)部分”的2 mm,可以用00111110001100序列對應。因此“小數(shù)部分”的O~8需要9個相應的序列對應,確定位置值后將其位置值傳送到PC機。一段“靜尺”中包含4組霍爾元件陣列,每組霍爾元件陣列由16個霍爾元件組成,每個霍爾元件之間的間隔為9 mm。因此一段的測量長度為567 mm。若要測量更長范圍可以采用多段連接進行擴展。
其“整數(shù)部分”計算結果D可以由式(1)求出:
式中:l表示最開始動作的霍爾元件處在第幾段;m表示處在l段的第幾組;n表示處在m組的第幾個。
兩個霍耳元件之間的位置值相當于“游標磁尺”的“小數(shù)”部分,其值d可以由位置匹配序列給出。因此游標磁尺的位置值為K可以由式(2)求出。
式中:D表示磁尺的“整數(shù)部分”;d磁尺的“小數(shù)部分”。
3 磁尺的硬件電路
用于該磁尺位置信息處理的微處理器主要是采用美國Microchip Technology Incorporated公司生產(chǎn)的PIC系列單片機。利用PIC16F884單片機對“動尺”作用區(qū)域的霍爾元件陣列的動作信息進行位置匹配算法處理得到位置數(shù)據(jù);然后通過.PIC16F884的異步串口(LISART)經(jīng)過MAX3471芯片轉變成RS 485協(xié)議進行遠距離傳輸,到達目的地后在經(jīng)過RS 485/RS 232轉換器轉換成RS 232協(xié)議;在傳送到PC機上顯示其位置值。其硬件原理圖如圖3所示。
4 位置匹配算法和顯示的程序設計
4.1 PC機部分(Visual Basic)
該裝置的PC部分利用微軟公司推出的可視化、面向對象的結構化程序設計語言Visual Basic來制作顯示平臺。因為Visual Basic軟件進行界面設計不僅快捷、編程工作量??;且提供了串行通信控件MSComm,通過對此控件的屬性和事件進行編程,就可以輕松的實現(xiàn)串口通信。
4.1.1 MSComm簡介
MSComm控件(Microsoft Communications Con-trol)是Microsoft公司提供的ActiveX控件,目的是為了簡化Windows下串行通信編程。它既可以用來提供簡單的串行通信功能,也可以用來創(chuàng)建完備的、事件驅動的高級通信工具。它通過串行端口傳輸和接收數(shù)據(jù),為應用程序提供串行通信功能。它提供兩種處理通信的方式,分別是事件驅動方式和查詢方式Ⅲ。
4.1.2 顯示平臺介紹
該平臺采用多文檔界面(MDI)制作,MDI應用程序主要由“父窗口”及“子窗口”構成,子窗口的活動范圍被限定在父窗口之內(nèi)。顯示平臺界面如圖4所示。
從界面圖中可以看到“父窗口”包含參數(shù)初始化和數(shù)據(jù)顯示兩個“子窗口”。參數(shù)初始化窗口主要負責設置端口、波特率、數(shù)據(jù)格式、和數(shù)據(jù)的接收方式;數(shù)據(jù)顯示窗口負責數(shù)據(jù)的處理和顯示。顯示平臺的使用在相應的窗口中均有說明。沒有霍爾元件動作時,顯示界面中的數(shù)據(jù)顯示區(qū)初始化顯示為…*hh<CR><LF>。有霍爾元件動作時,顯示界面實時顯示其動作的情況。該平臺使用簡單,極易操作。
4.1.3 MSComm控件的程序設計
Visual Basic設計串行通信程序時依然遵循四個主要步驟,分別是對象、屬性、事件和方法。因此,第一步是添加控件。由于Visual Basic的串行通信控件不在工具箱中,當使用MSComm控件時,首先要把它加入到工具箱中。添加步驟是:選擇“工程”菜單下的“部件…”子菜單,在彈出的“部件”對話框中,在“控件”選項卡屬性中選中“MicrosoftCommControl 6.0”復選框,然后單擊“確定”按鈕后,在工具箱中就出現(xiàn)了一個形似“電話”的圖標,它就是MSComm控件。在窗體中加載MSComm控件對象。第二步是為MSComm控件的屬性賦值。第三步利用OnComm事件程序來接收上位機發(fā)來的位置數(shù)據(jù)。由于篇幅限制,在此沒有給
出相關程序。
4.2 PIC單片機部分
單片機采用PIC系列單片機。該單片機具有指令集少、功耗低和驅動能力強等特點。單片機程序使用匯編語言編程,采用其內(nèi)部的異步串口(USART)進行串行通信。由于該系統(tǒng)用于遠距離,故串口通信采用的是的RS 485串口通信標準,因此在單片機的串口端加了一個半雙工通信的MAX3471芯片。單片機接收到PC機發(fā)送來的波特率標志值和自身設定的值比較,然后校正自身的波特率以和PC機的波特率相匹配。單片機除了校正自身波特率和發(fā)送相關信息程序,還要提供獲得霍爾元件動作情況以及位置值等重要程序。圖5是單片機匯編程序流程圖。為了提高顯示平臺接收數(shù)據(jù)的準確性,單片機數(shù)據(jù)采用ASCII字符進行傳送。
以下僅給出串行通信初始化程序代碼:
串行通信初始化程序為:
5 實驗結果
實驗只是測試了一段,實驗階段為了確定游標磁尺
的測量精度,在圖2的結構圖中加了一把參照鋼尺。鋼尺測量的位置讀數(shù)與游標磁尺測量的位置讀數(shù)之間的關系如圖6所示。
橫軸為磁尺位置讀數(shù),縱軸為鋼尺位置讀數(shù)。理論情況應該是鋼尺與游標磁尺的測量位置值相等,即測量曲線應該為一條理想的直線,從圖6可知游標“磁尺”測量位置與實際值略有一點偏差,幾乎接近一條直線。由于霍爾元件在實際焊接時的固定位置與理論制版固定位置總有些偏差,因此總會存在一點誤差,但偏差很小。
6 結 語
由測試結果表明游標磁尺在位置測量中有獨特的優(yōu)越性。在惡劣的環(huán)境下要求響應速度快和分辨率為毫米量級的位置測量時,游標磁尺有很好的應用前景。