李深德,張向利,唐 甜,趙江輝
(桂林電子科技大學信息與通信學院,廣西桂林 541004)
當前,光柵位移傳感器(光柵尺)的位移測量技術(shù)廣泛應(yīng)用于數(shù)控機床的伺服系統(tǒng)和傳統(tǒng)機床的數(shù)字化改造,以提高加工精度。光柵位移測量系統(tǒng)的設(shè)計方案各不相同,其軟件設(shè)計及功能也各不相同[1-5]。
文中先分析了光柵位移的測量原理,隨后給出三維光柵位移測量系統(tǒng)的設(shè)計構(gòu)架,詳細介紹了系統(tǒng)軟件的功能及其設(shè)計與實現(xiàn)。最后,通過實驗驗證了系統(tǒng)的軟件設(shè)計合理、實現(xiàn)了相關(guān)的功能,整個系統(tǒng)運行穩(wěn)定、測量精確。
光柵位移傳感器內(nèi)包含了1個標尺光柵和1個指示光柵,在兩光柵的作用,得到明暗相間的條紋,即莫爾條紋[6-8]。在理想條件下,莫爾條紋的波形為等腰三角波,其周期為莫爾條紋間距[6];實際情況下,由于光源發(fā)散角的影響,及光柵衍射作用等,使莫爾條紋的三角波出現(xiàn)削頂和削底,形成近似的正弦波。
對實際情況下的莫爾條紋信號,因其波形近似于正弦波,基波成分豐富,諧波成分很少。以f(t)表示此正弦波的光通量,在消除信號中的高次諧波和直流分量后,則有:
f(t)=Asin(ωt+φ)
(1)
寫成電壓形式,得:
U(t)=Umsin(ωt+φ)
(2)
式(2)即為光柵位移傳感器中1個光電元件輸出的位移信號表達式。
在相距為1/4莫爾條紋間距的2個點分別安放1個光電元件,每當標尺光柵移動1個柵距,將獲得1個周期、相差90°的2路正弦信號,形如式(2)表示。此信號經(jīng)過放大、整形后,輸出1個周期、相差90°的2路方波信號。通過記錄這2路方波脈沖的個數(shù)即可測量出位移的大小,利用其相位關(guān)系可檢測出標尺光柵的移動方向[9]。
系統(tǒng)使用的光柵尺是KA300-470。當其正常工作時,將輸出A、B兩路相差90°、TTL電平的方波信號(標尺光柵正移,A超前B 90°;標尺光柵反移,B超前A 90°),如圖1所示。三維光柵位移測量系統(tǒng)的框圖如圖2所示。
該系統(tǒng)的硬件主要包括細分辨向電路[6]、單片機主控單元、顯示控制單元。X、Y、Z3個坐標軸的光柵位移信號通過對應(yīng)的細分辨向電路后,分別輸入到3個單片機X、Y、Z進行處理,計算位移,并送顯示電路顯示。為了對系統(tǒng)進行必要的操控,設(shè)計了由單片機X、Y、Z共用的控制電路,它可以依次設(shè)定各坐標軸位移的初值等其它的操控。
(a)標尺光柵正向移動
(b)標尺光柵反向移動
圖2 三維光柵位移測量系統(tǒng)框圖
單片機M和單片機X、Y、Z組成一個主從式單片機多機通信系統(tǒng)[10],M為主機,X、Y、Z為從機。主機M依次和3個從機進行通信,以提取各個坐標軸的位移值,再統(tǒng)一上傳到上位機,進行相關(guān)的處理。單片機的選型為STC12C5A60S2,其具有雙串口。主機的串口1用于多機通信,串口2則與上位機通信。從機使用串口1與主機通信。
系統(tǒng)的軟件分為主機的軟件及從機的軟件。主機軟件主要包括主機初始化、主機的多機通信程序及主機和上位機的通信程序;從機軟件則有位移計算程序、顯示程序、控制程序及多機通信系統(tǒng)的從機程序等。軟件的開發(fā)環(huán)境為Keil μVision4。
2.1主機軟件設(shè)計與實現(xiàn)
主機功能主要是主機M依次和3個從機(X、Y、Z)通信,令從機將其采集到的位移上傳主機,主機再將其得到三維位移值上傳上位機。
2.1.1主機的主程序設(shè)計與實現(xiàn)
主機主程序主要包括的模塊有主機初始化、主機的多機通信及主機與上位機的通信。主機主程序流程如圖3所示。
圖3 主機主程序流程
主機初始化主要包括串口1、串口2及看門狗定時器等初始化。串口1用于多機通信,工作在方式3(9位異步通信方式),使用定時器T1做為其波特率發(fā)生器,并設(shè)置T1工作在方式2(8位自動重載模式),使串口1的波特率為57 600。串口2則與上位機通信,工作在方式1(8位異步通信方式),使用獨立波特率發(fā)生器(BRT)做為其波特率發(fā)生器,使串口2的波特率同樣設(shè)為57 600。使用看門狗定時器是為了防止程序跑飛而導致系統(tǒng)異常,看門狗定時器設(shè)置預(yù)分頻值為128,溢出時間約為2.3 s(系統(tǒng)頻率為22.118 4 MHz)。主機與上位機間的通信,其實現(xiàn)較簡單。下一節(jié)詳細給出了主機的多機通信程序的設(shè)計與實現(xiàn)。
2.1.2主機的多機通信程序設(shè)計與實現(xiàn)
在系統(tǒng)中,主機的多機通信程序工作的主要過程為:主機向通過從機地址呼叫從機,與呼叫地址相符的從機作出回應(yīng)后,建立通信鏈接;主機向該從機發(fā)出接收數(shù)據(jù)指令(從機發(fā)送數(shù)據(jù),主機接收),令從機把其檢測到的位移傳給主機;從機收到指令經(jīng)確認后,進行發(fā)送數(shù)據(jù)。表1為自定義的主機通信指令碼。
表1 主機指令編碼
主機M和從機X、Y、Z通信,設(shè)定其通信協(xié)議如下:
(1)主機和從機的接收或發(fā)送數(shù)據(jù)的緩沖區(qū)等長,均為8字節(jié)。
(2)從機初始化使所有從機的SM2位置1,讓其處于接收地址幀的狀態(tài)。開始通信時,主機通過從機地址呼叫從機。
(3)從機接到地址幀后,進入串行通信中斷服務(wù)程序,各從機將接收到的地址和本從機的地址比較,對于地址相符的從機,在其中斷服務(wù)程序中使SM2位清零,以接收主機隨后發(fā)來的任意信息(包括地址幀和數(shù)據(jù)幀);對于地址不符的從機,仍然保持SM2位為1,使其對主機隨后發(fā)來的數(shù)據(jù)幀信息不予理睬(即直接丟棄),直到再次接收到地址幀而進行地址比較。
(4)若主機向從機發(fā)送數(shù)據(jù),從機在前一步中比較地址相符后,從機的SM2位清零,同時把本從機的地址回傳給主機,作出應(yīng)答后才能接收主機發(fā)來的數(shù)據(jù)。其它從機繼續(xù)監(jiān)聽地址(SM2=1),無法收到數(shù)據(jù)。
(5)主機收到從機的應(yīng)答地址后,確認地址是否相符。如果地址不符,則發(fā)送復位指令(地址幀:0XFF);如果地址相符,主機發(fā)送相應(yīng)的收發(fā)指令。
(6)主機或從機收發(fā)數(shù)據(jù)時,數(shù)據(jù)傳輸完成后,需發(fā)送一幀傳輸數(shù)據(jù)的校驗和,讓接收端根據(jù)校驗和檢驗所接收的數(shù)據(jù)是否正確。
(7)主機接收完數(shù)據(jù)后,將接收數(shù)據(jù)的校驗和與從機發(fā)來的校驗和比較,若接這兩個校驗和不符,回傳主機接收錯誤信息0XFF,令從機重發(fā)數(shù)據(jù);若校驗和相符,回傳主機接收正確信息0X00,以完成數(shù)據(jù)傳輸,并令從機復位(重新等待地址幀)。
(8)從機接收完數(shù)據(jù)后,將接收數(shù)據(jù)的校驗和與主機發(fā)來的校驗和比較,若接這兩個校驗和不符,回傳從機接收錯誤信息0XFF,令主機重發(fā)數(shù)據(jù);若校驗和相符,回傳從機正確接收信息0X00,以完成數(shù)據(jù)傳輸。
(9)若從機收到復位指令,則回到監(jiān)聽地址狀態(tài)(SM2=1),否則開始接收數(shù)據(jù)或指令。
根據(jù)自定義的指令和設(shè)定通信協(xié)議,實現(xiàn)了主機的多機通信程序功能。其程序流程如圖4所示。
圖4 主機多機通信程序流程
2.2從機軟件設(shè)計與實現(xiàn)
從機主要功能包括:對位移脈沖計數(shù)并計算出位移,再送顯示電路顯示;控制程序?qū)刂齐娐份斎氲男盘栠M行編碼,根據(jù)編碼實現(xiàn)對從機的相應(yīng)操控(設(shè)置位移初值、設(shè)置分辨率、公/英制單位選擇、半/直徑顯示選擇);當主機呼叫從機時,與被呼叫相應(yīng)的從機作出響應(yīng),進入串行通信中斷程序,把檢測到的位移傳給主機。
2.2.1從機的主程序設(shè)計與實現(xiàn)
從機的主程序模塊主要包括有從機初始化、位移計算程序、顯示程序、控制程序及從機的多機通信系統(tǒng)程序。系統(tǒng)3個從機(X、Y、Z)的程序除了所設(shè)置的地址編碼不同外,其余的都一樣。從機的主程序流程如圖5所示。
圖5 從機主程序流程
從機初始化程序中主要設(shè)置單片機的2個定時器(T0、T1)均處于計數(shù)模式;串口1工作于方式3,獨立波特率發(fā)生器(BRT)做為其波特率發(fā)生器,波特率設(shè)為57 600,SM2位置1。顯示驅(qū)動芯片ZLG7289B初始化中,點亮所有數(shù)碼管,以檢測顯示是否正常。
位移計算程序中,所要顯示的位移等于采集到的位移與設(shè)定的位移初值(默認為零,可重設(shè))之和,而采集到的位移值為:
s=(t0-t1)×d
(3)
式中:t0、t1分別為定時器T0、T1對位移脈沖的計數(shù)值;d為輸入到計數(shù)器的位移信號的脈沖當量(默認為5 μm)。
顯示程序把計算得到的位移數(shù)據(jù)下載到ZLG7289B芯片,其對數(shù)據(jù)譯碼并驅(qū)動數(shù)碼管顯示。8位數(shù)碼管的最高一位顯示符號,接下來的7位顯示位移值。
在鍵盤掃描時,若發(fā)現(xiàn)設(shè)置鍵按下,則進入設(shè)置模式。位移初值設(shè)置,可對位移初值進行設(shè)置,設(shè)置過程中,數(shù)碼管的其中一位閃爍顯示(開始時是最高位閃爍,提示最高位為當前輸入位),以提示當前為輸入位,當向該位輸入數(shù)值后,會自動跳到下一位等待輸入數(shù)值,可通過左移或右移鍵轉(zhuǎn)到要設(shè)置數(shù)值的一位。調(diào)整系統(tǒng)分辨率,可調(diào)整系統(tǒng)測量的分辨率以使其適用于不同分辨率的光柵尺,默認的分辨率為5 μm,可調(diào)整為1 μm或0.5 μm.公/英制顯示選擇,可選擇位移以公制或英制為單位顯示,默認為公制顯示(mm)。半/直徑顯示選擇,可使顯示的位移在半徑和直徑之間切換,默認為半徑顯示(即位移正常,沒有倍乘二)。除初值設(shè)置外,其它三種設(shè)置都有相應(yīng)的指示燈指示當前所處的狀態(tài)。
2.2.2從機的多機通信程序設(shè)計與實現(xiàn)
多機通信的從機部分程序,其功能是響應(yīng)主機呼叫并上傳位移。表2為自定義從機的信息編碼。
表2 從機信息編碼
根據(jù)前文設(shè)定的通信協(xié)議以及從機的信息編碼,從機的多機通信程序設(shè)計流程如圖6所示。
圖6 從機多機通信程序流程
依據(jù)系統(tǒng)的硬件設(shè)計,制作并調(diào)試好系統(tǒng)樣板;根據(jù)系統(tǒng)的軟件設(shè)計,完成了程序的編寫、調(diào)試。最后,搭建好整個實驗系統(tǒng)進行實驗。上位機使用串口調(diào)試助手軟件接收下位機(主機M)上傳的三維光柵位移數(shù)據(jù),如圖7所示,表3給出了圖7中接收到的數(shù)據(jù)。
圖7 上位機接收到的三維光柵位移數(shù)據(jù)
表3 上位機數(shù)據(jù)接收表 mm
實驗中只使用了一把光柵尺,將其接入到X坐標的輸入端進行實驗,故實驗數(shù)據(jù)只有X坐標的位移值,另外兩坐標的全是零。當光柵尺接入Y或Z坐標時,也可測得相應(yīng)的位移。圖7(或表3)中收到的X軸位移數(shù)據(jù)并沒有連續(xù)變化,這是因為下位機延時上傳的緣故,以緩解數(shù)據(jù)通信的壓力。實驗說明,該系統(tǒng)電路工作正常,軟件設(shè)計合理、執(zhí)行高效,整個系統(tǒng)運行穩(wěn)定、測量精確,實現(xiàn)了三維光柵位移的測量。
在與桂林機床股份有限公司合作的項目中,根據(jù)該公司的加工需要,完成了三維光柵位移檢測系統(tǒng)的設(shè)計。經(jīng)實驗,系統(tǒng)的軟件設(shè)計合理、執(zhí)行高效,整個系統(tǒng)運行穩(wěn)定、測量準確。系統(tǒng)除了測量三維的位移外,還可以直接用于測量一維或二維的位移,也可對其進行一些改動,做成專門用于一維或二維的測量系統(tǒng)。
光柵位移傳感器及其位移檢測系統(tǒng)在車床、磨床、銑床等各類機床上有著廣泛的應(yīng)用,對提升我國裝備制造業(yè)水平有著極其重要的作用。
參考文獻:
[1]張旭,郝向非,宋吟蔚.通用光柵數(shù)顯裝置的研制.儀表技術(shù)與傳感器,2009(3):121-123.
[2]劉翠玲,趙權(quán),劉天亮.基于AT89C52的多路光柵智能測控儀.儀表技術(shù)與傳感器,2006(1):15-17.
[3]繩紅強,汪世益.基于AT89S51的數(shù)控機床光柵尺位移測量系統(tǒng).機電工程技術(shù),2006,35(6):47-49.
[4]屠恒海.嵌入式光柵數(shù)顯測量系統(tǒng)的研究:[學位論文].哈爾濱:哈爾濱理工大學,2008.
[5]梁海鋒,嚴一心.基于光柵傳感器測量的軟、硬件設(shè)計.現(xiàn)代電子技術(shù),2003(23):88-89.
[6]謝文和.傳感技術(shù)及其應(yīng)用.北京:高等教育出版社,2004:168-174.
[7]呂孟軍.光柵莫爾條紋電子學細分技術(shù)研究:[學位論文].南京:南京航空航天大學,2008.
[8]劉世峰.基于幅值采樣的光柵莫爾條紋信號細分技術(shù)的研究:[學位論文].武漢:華中科技大學,2007.
[9]凌睿,高富強.基于CPLD的光柵尺位移測量系統(tǒng).自動化與儀表技術(shù),2005(1):40-42.
[10]朱善君,孫新亞,吉吟東.單片機接口技術(shù)與應(yīng)用.北京:清華大學出版社,2005:188-197.