周 洋,齊樹(shù)毅,丁進(jìn)軍
(1.中國(guó)人民解放軍92038部隊(duì) 山東 青島 266100;2.海洋石油工程股份有限公司 天津 300451;3.中國(guó)海洋大學(xué) 信息科學(xué)與工程學(xué)院,山東 青島 266100)
隨著社會(huì)的發(fā)展和科技的進(jìn)步,工業(yè)操作中對(duì)位移測(cè)量的精度要求越來(lái)越高。在迅速發(fā)展的計(jì)算機(jī)技術(shù)和大規(guī)模集成電路技術(shù)的推動(dòng)下,位移檢測(cè)設(shè)備也發(fā)生了巨大的改變。在此背景下,光柵尺測(cè)量系統(tǒng)應(yīng)運(yùn)而生。光柵尺,屬光電傳感器,多運(yùn)用在精密機(jī)加工和數(shù)控機(jī)床上,用來(lái)精密測(cè)量物體的位移,是現(xiàn)代測(cè)量領(lǐng)域中廣泛應(yīng)用的一種傳感器。光柵尺測(cè)量系統(tǒng)以高精度、高穩(wěn)定性、大量程、可實(shí)現(xiàn)動(dòng)態(tài)檢測(cè)等優(yōu)點(diǎn)在當(dāng)今測(cè)量系統(tǒng)中占有明顯的優(yōu)勢(shì),并成為我國(guó)工業(yè)現(xiàn)代化重點(diǎn)推廣的技術(shù)。
文中基于AVR單片機(jī)設(shè)計(jì)了一套數(shù)字光柵數(shù)據(jù)處理系統(tǒng)。整個(gè)系統(tǒng)使用ATMEL公司的ATmega16L單片機(jī)作為核心的微控制器來(lái)控制各個(gè)功能模塊。主要功能模塊有定時(shí)器模塊、串口數(shù)據(jù)接口模塊。光柵尺每脈沖當(dāng)量為4 μm,要求其分辨率為1 μm。單片機(jī)對(duì)光柵尺傳感器輸出信號(hào)進(jìn)行采集,光柵位移細(xì)分,數(shù)據(jù)處理。位移量通過(guò)光柵的透射轉(zhuǎn)換成莫爾條紋的運(yùn)動(dòng),然后經(jīng)光電轉(zhuǎn)換成脈沖信號(hào)輸出,這樣,我們只要記錄脈沖信號(hào)的數(shù)目,以及位移停止時(shí)的最后一個(gè)狀態(tài),就可以計(jì)算出位移量的大小,達(dá)到了1 μm的分辨率。
ATmega16是ATMEL公司的生產(chǎn)的性價(jià)比比較高的單片機(jī)。ATmega16有如下特點(diǎn):16 k字節(jié)的系統(tǒng)內(nèi)可編程Flash(具有同時(shí)讀寫(xiě)的能力,即RWW),512字節(jié)EEPROM,1 k字節(jié)SRAM,32個(gè)通用I/O口線,32個(gè)通用工作寄存器,用于邊界掃描的JTAG接口,支持片內(nèi)調(diào)試與編程,3個(gè)具有比較模式的靈活的定時(shí)器計(jì)數(shù)器(T/C),片內(nèi)/外中斷,可編程串行USART,有起始條件檢測(cè)器的通用串行接口,8路10位具有可選差分輸入級(jí)可編程增益(TQFP封裝)的ADC,具有片內(nèi)振蕩器的可編程看門狗定時(shí)器,1個(gè)SPI串行端口,以及6個(gè)可以通過(guò)軟件進(jìn)行選擇的省電模式。 工作于空閑模式時(shí)CPU停止工作,而USART、兩線接口、A/D轉(zhuǎn)換器、SRAM、T/C、SPI端口以及中斷系統(tǒng)繼續(xù)工作;掉電模式時(shí)晶體振蕩器停止振蕩,所有功能除了中斷和硬件復(fù)位之外都停止工作;在省電模式下,異步定時(shí)器繼續(xù)運(yùn)行,允許用戶保持一個(gè)時(shí)間基準(zhǔn),而其余功能模塊處于休眠狀態(tài);ADC噪聲抑制模式時(shí)終止CPU和除了異步定時(shí)器與ADC以外所有I/O模塊的工作,以降低ADC轉(zhuǎn)換時(shí)的開(kāi)關(guān)噪聲;Standby模式下只有晶體或諧振振蕩器運(yùn)行,其余功能模塊處于休眠狀態(tài),使得器件只消耗極少的電流,同時(shí)具有快速啟動(dòng)能力;擴(kuò)展Standby模式下則允許振蕩器和異步定時(shí)器繼續(xù)工作[1]。
該器件內(nèi)含兩個(gè)獨(dú)立的D觸發(fā)器,每個(gè)觸發(fā)器有數(shù)據(jù)輸入(D)、置位輸入()、復(fù)位輸入(、時(shí)鐘輸入(CP)和數(shù)據(jù)輸出(Q、),和的低電平使輸出預(yù)置或清除,而與輸入端的電平無(wú)關(guān),當(dāng)和均無(wú)效(高電平)時(shí),符合建立時(shí)間要求的D數(shù)據(jù)在CP上升沿作用下傳送到輸出端[2]。
光柵尺位移傳感器(簡(jiǎn)稱光柵尺),是利用光柵的光學(xué)原理工作的測(cè)量反饋裝置。光柵尺位移傳感器經(jīng)常應(yīng)用于機(jī)床與現(xiàn)在加工中心以及測(cè)量?jī)x器等方面,可用作直線位移或者角位移的檢測(cè)。其測(cè)量輸出的信號(hào)為數(shù)字脈沖,具有檢測(cè)范圍大,檢測(cè)精度高,響應(yīng)速度快的特點(diǎn)。光柵尺輸出引腳信號(hào)如表1所示。
表1 光柵尺輸出輸入信號(hào)Tab.1 Output and input signals of grating ruler
A,B信號(hào)為輸出脈沖,每隔4 μm變化;Z信號(hào)為校準(zhǔn)脈沖,每隔50 mm輸出一個(gè)脈沖。
主要思路:在本系統(tǒng)中,光柵尺的位移分為3部分:刻度脈沖、校準(zhǔn)脈沖和補(bǔ)償脈沖。
1)刻度脈沖:利用單片機(jī)的定時(shí)器比較匹配中斷功能可以檢測(cè)刻度脈沖,設(shè)置定時(shí)器的比較值為1,即來(lái)了一次上升沿脈沖后進(jìn)入匹配中斷進(jìn)行判別[3]。在中斷子程序里面首先置寄存器初始值,然后通過(guò)D觸發(fā)器送來(lái)的方向完成對(duì)刻度位移加減的計(jì)算??梢赃x擇A或者B信號(hào)作為脈沖計(jì)數(shù)源。
2)校準(zhǔn)脈沖:光柵尺每隔一段位移有一個(gè)校準(zhǔn)信號(hào)Z,可通過(guò)外部中斷接入,在外部中斷子程序里面完成對(duì)校準(zhǔn)位移的計(jì)算和刻度脈沖的清零[4]。
3)補(bǔ)償脈沖:由于AB信號(hào)一共有4個(gè)狀態(tài),通過(guò)讀取2個(gè)刻度脈沖的狀態(tài)并比較狀態(tài)值可以得出位移補(bǔ)償。光柵尺的位移為刻度位移、校準(zhǔn)位移和和補(bǔ)償位移之和。
上位機(jī)可通過(guò)串口實(shí)現(xiàn)獲取數(shù)據(jù),清零設(shè)置,存儲(chǔ)當(dāng)前值等功能。
系統(tǒng)結(jié)構(gòu)如圖1所示:
圖1 系統(tǒng)設(shè)計(jì)Fig.1 System design
光柵尺的運(yùn)動(dòng)不是單向移動(dòng),但其接口只能給出脈沖數(shù),而不能辨別移動(dòng)方向。因此系統(tǒng)采用D觸發(fā)器來(lái)辨別方向。其輸出信號(hào)如圖2所示。
圖2 光柵尺輸出的脈沖信號(hào)Fig.2 Output pulse of grating ruler
用A信號(hào)連接D觸發(fā)器的CP端,B信號(hào)連接D觸發(fā)器的D端,當(dāng)正向移動(dòng)時(shí)D觸發(fā)器Q端的輸出為1,反之為0。其原理圖如圖3所示。
圖3 方向原理圖Fig.3 Schematic diagram of direction
根據(jù)光柵尺讀數(shù)原理,刻度脈沖為一個(gè)固定的位移[5]。這里為4 μm,即每次來(lái)一個(gè)正向脈沖,刻度位移增加4 μm,反方向運(yùn)動(dòng)時(shí),刻度位移每次減小4 μm。所以在刻度位移計(jì)算的子程序中通過(guò)判斷位移的方向可以獲取相應(yīng)的刻度位移。.校準(zhǔn)刻度的計(jì)算也需要判斷當(dāng)前位移方向,當(dāng)光柵尺正向移動(dòng)時(shí)校準(zhǔn)脈沖變量加一,反之減一??紤]零點(diǎn)是隨時(shí)改變的,故第一個(gè)校準(zhǔn)點(diǎn)處的刻度值需要用來(lái)做標(biāo)定。 光柵尺位移為刻度位移和校準(zhǔn)位移之和。
設(shè)置校準(zhǔn)位移變量為tNUM,刻度位移變量為sNUM,正向第一個(gè)點(diǎn)處標(biāo)定值為move_data00,反向第一個(gè)點(diǎn)處標(biāo)定值為move_data01。通過(guò)分析光柵尺位移的狀態(tài)我們知道,總共有4種位移計(jì)算情況,如表2所示。
光柵尺的A,B脈沖可分為4種狀態(tài)00、01、10、11, 通過(guò)獲取該狀態(tài)值并比較可獲得0~4 μm的脈沖補(bǔ)償。正向和反向移動(dòng)時(shí)狀態(tài)均有16種情況,需要加以判別并得到補(bǔ)償位移。
系統(tǒng)上電后初始化串口配置,端口等。查詢A、B狀態(tài),等待串口命令和中斷信號(hào)[6]。位移信息通過(guò)中斷程序即可獲取,如串口需要獲取數(shù)據(jù),還需要進(jìn)入位移補(bǔ)償子程序?qū)ξ灰七M(jìn)行補(bǔ)償,最后經(jīng)過(guò)十進(jìn)制轉(zhuǎn)換后發(fā)給上位機(jī)。
表2 光柵尺位移計(jì)算Tab.2 Grating ruler displacement calculation
由于實(shí)際工業(yè)環(huán)境中,脈沖干擾很擾很大,導(dǎo)致位移測(cè)量有一定的誤差。D觸發(fā)器也有一定的延時(shí)。為了改進(jìn)測(cè)量性能,可以加入光耦隔離電路或?yàn)V波電路。改進(jìn)后的電路如圖4所示。
圖4 改進(jìn)的電路框圖Fig.4 Improved block diagram
文中基于M16設(shè)計(jì)了一個(gè)光柵尺位移測(cè)量系統(tǒng),可以接受上位機(jī)信息控制讀取光柵尺位移信息,在工業(yè)測(cè)量控制中有一定的使用價(jià)值。
[1]馬潮.AVR單片機(jī)嵌入式系統(tǒng)原理與應(yīng)用實(shí)踐[M].北京:北京航空航天大學(xué)出版社,2007.
[2]閻石.數(shù)字電子技術(shù)基礎(chǔ)[M].北京:高等教育出版社,1998.
[3]李長(zhǎng)林.AVR單片機(jī)應(yīng)用設(shè)計(jì)[M].北京:電子工業(yè)出版社,2005.
[4]吳健.AVR單片機(jī)實(shí)用C語(yǔ)言程序設(shè)計(jì)與典型實(shí)例[M].北京:中國(guó)電力出版社,2008.
[5]葉盛祥.光電位移精密測(cè)量技術(shù)[M].四川:四川科技出版社.2003.
[6]ATMEL Corporation.ATmega16[EB/OL].[2011-09-27].http://www.dzsc.com/datasheet/ATmega16_144718.html.