摘 要: 基于單片機與PC上位機,設(shè)計了包括硬件和軟件的棱鏡耦合自動測試系統(tǒng),。該系統(tǒng)控制了步進電機的運轉(zhuǎn)狀態(tài),,實現(xiàn)了光強數(shù)據(jù)的自動采集、處理,,并通過軟件完成數(shù)據(jù)存儲,、分析及圖形顯示。實驗結(jié)果表明,,該系統(tǒng)滿足棱鏡耦合技術(shù)要求,實驗效果良好,,實現(xiàn)了高精度,、高自動測試的棱鏡耦合技術(shù)。
關(guān)鍵詞: 單片機,;PC上位機,;棱鏡耦合技術(shù)
棱鏡耦合技術(shù)是測試波導(dǎo)薄膜材料折射率和厚度的最精確技術(shù)之一,廣泛地應(yīng)用在導(dǎo)波光學(xué),、集成光學(xué),、表面等離子等領(lǐng)域中??紤]到手動調(diào)節(jié)的精確性和在可見光內(nèi)人眼判別導(dǎo)波模式的主觀性,,基于棱鏡耦合技術(shù)原理,,本文設(shè)計了一套能自動完成測試的系統(tǒng),該系統(tǒng)主要包括下位機軟硬件和上位機軟件等,。下位機主要負責根據(jù)上位機的設(shè)置的工作方式精確定位及采集相應(yīng)位置的光強度數(shù)據(jù),,并將這些數(shù)據(jù)發(fā)送給上位機,由上位機軟件完成對數(shù)據(jù)的分析處理,、保存,、圖形顯示等功能。上位機軟件使用微軟公司的Visual C++ 6.0編程工具并應(yīng)用C++語言編程完成,;下位機由基于51單片機程控的I/V轉(zhuǎn)換程控放大電路,、步進電機細分驅(qū)動控制電路、數(shù)據(jù)采集電路,、串口通信接口等電路組成,。本系統(tǒng)具備成本低、精度高,、自動化程度高等特點,,能較好地完成高精度定位、光電數(shù)據(jù)采集等實驗任務(wù),,同時適用于不可見光波段內(nèi)測量,。
1 棱鏡耦合技術(shù)原理及系統(tǒng)概述
棱鏡耦合技術(shù)由ULRICH R和TORGE R在1973年提出[1],其原理如圖1所示,。若在波導(dǎo)層上放置一塊高折射率的棱鏡,,棱鏡底部與導(dǎo)波層的表面之間有一層空氣隙。當入射角以大于棱鏡和空氣的全反射臨界角入射于棱鏡底部時,,在空氣隙中將產(chǎn)生迅衰場,,與波導(dǎo)的迅衰場耦合,可使光束能量耦合轉(zhuǎn)化為導(dǎo)模的能量,,耦合的強弱與空氣隙的厚度密切相關(guān),。耦合波導(dǎo)的同步條件為:
由于βm是個離散值(其相應(yīng)的耦合角?茲i也是個離散值),只有當入射角等于耦合角?茲i時(也就是耦合條件滿足時),,大部分能量會進入波導(dǎo),,使反射光強驟減,在反射屏上能觀察到若干條線(即M-Line),,這時就認為有導(dǎo)模被激發(fā)了,。反射光強驟然減弱對應(yīng)的耦合角θi是棱鏡耦合技術(shù)所測試的關(guān)鍵參數(shù)。通過測試多個連續(xù)耦合角?茲i可以計算出波導(dǎo)薄膜材料的折射率及其厚度,。在該技術(shù)原理中,,根據(jù)理論計算,折射率能精確地計算到小數(shù)點第4位,,因耦合角θi是個離散值,,能否準確找到并精確地測量這個角度是問題關(guān)鍵所在,。
棱鏡耦合自動測試系統(tǒng)裝置如圖2所示,它包括光學(xué)系統(tǒng)和電氣控制系統(tǒng),,由激光器,、偏振器、透鏡,、耦合棱鏡,、θ/2θ測角儀、光電探測器,、控制儀和計算機組成,,其中θ/2θ測角儀是個關(guān)鍵部件,它由計算機控制的步進電機驅(qū)動,。根據(jù)棱鏡耦合技術(shù)的要求,,該系統(tǒng)技術(shù)指標需滿足:(1)步進電機驅(qū)動置放棱鏡旋轉(zhuǎn)的θ/2θ測角平臺,單步長為5 μm,,相應(yīng)旋轉(zhuǎn)角度應(yīng)精確到0.02°,;(2)光電探測器讀取的光強度參量數(shù)據(jù)應(yīng)實時輸入計算機處理;(3)PC機設(shè)置步進電機參量,、處理角度的位移值,、光強度數(shù)據(jù)及繪制圖形。
2 系統(tǒng)硬件設(shè)計
硬件系統(tǒng)框圖如圖3所示,。本系統(tǒng)的硬件設(shè)計主要集中在單片機為控制中心的下位機設(shè)計,,包括光強度參量數(shù)據(jù)采集模塊和步進電機驅(qū)動模塊。光強度數(shù)據(jù)采集模塊由光電探測器,、放大器及A/D轉(zhuǎn)換器組成,。采用低噪聲、低失調(diào),、高增益的集成運算放大器構(gòu)成互阻放大電路,,將光電探測器輸出的弱電流信號放大轉(zhuǎn)換成電壓信號。為了得到適當大小的電壓,,采用單片機程控或手動調(diào)節(jié)選擇放大增益,,得到易于采集的適當電壓信號,經(jīng)A/D轉(zhuǎn)換成數(shù)字信號被單片機接收,。步進電機驅(qū)動模塊采用單片機控制的細分驅(qū)動電路驅(qū)動步進電機實現(xiàn)精確定位,。在整個系統(tǒng)中,,采用RS-232串口通信接口,,結(jié)合MAX232電平轉(zhuǎn)換芯片,建立單片機與分析處理數(shù)據(jù)的PC上位機之間的通信通道,,使得單片機能順利接收上位機的命令和發(fā)送旋轉(zhuǎn)平臺角度對應(yīng)的光強度數(shù)據(jù),。
2.1 光強度參量采集模塊
選用低噪聲,、低失調(diào)、高增益的集成運算放大器OP07接入反饋電阻的方式完成I/V轉(zhuǎn)換放大,。由于運算放大器的虛斷虛短原理,,光電探測器輸出的弱電流信號I經(jīng)過反饋電阻Rf,在運算放大器的輸出端形成電壓Uo=I·Rf,,這樣就完成了I/V轉(zhuǎn)換,。為了得到更好的A/D轉(zhuǎn)換效果,選用雙4選1模擬開關(guān)CD4052程控/手動選擇代表放大倍數(shù)的反饋電阻阻值,。一般情況下,,不需要通過手動調(diào)節(jié)反饋電阻阻值改變放大增益,可以由事先固定可調(diào)電阻器阻值(或使其阻值為0 Ω僅靠電路中的已知電阻),,通過單片機控制CD4052的選擇引腳程控選擇放大增益,。如果當增益還不足夠大時,可以通過手動調(diào)節(jié)可調(diào)電阻器改變放大增益,。
A/D轉(zhuǎn)換電路將經(jīng)過I/V轉(zhuǎn)換放大的電壓信號轉(zhuǎn)換成數(shù)字信號,。該系統(tǒng)中需要得到的光強度是個相對值,因而對A/D轉(zhuǎn)換精度要求不高,。同時,,步進電機轉(zhuǎn)速一般不超過10 mm/s,因此對A/D轉(zhuǎn)換器的轉(zhuǎn)換速率也沒有較高的要求,?;谶@些考慮,采用NS(National Semiconductor)公司的ADC0832串行接口8 bit A/D轉(zhuǎn)換器,,通過三線接口與單片機連接,。該芯片具有雙數(shù)據(jù)輸出,可作為數(shù)據(jù)校驗,,以減少數(shù)據(jù)誤差,,同時轉(zhuǎn)換速度快且穩(wěn)定性強??紤]到擴展功能,,在實際設(shè)計PCB板時,預(yù)留了一個16 bit分辨率的A/D轉(zhuǎn)換芯片(如AD705)位置,。
2.2 步進電機細分驅(qū)動模塊
步進電機在低速情況下整步運行時有較大的噪聲和振動,,在過載或高轉(zhuǎn)速運行時會產(chǎn)生失步現(xiàn)象,本文在本系統(tǒng)中選用標配電機,。為了提高步進電機的穩(wěn)定性和精度,,采用程控細分驅(qū)動方式驅(qū)動步進電機[2-4]。驅(qū)動電路使用Allegro公司的A3972—64細分雙DMOS全橋微步距PWM步進電機驅(qū)動芯片,該芯片具有時鐘,、數(shù)據(jù),、選通三線串口,能實現(xiàn)步進電機的控制,,包括步進電機的轉(zhuǎn)動方向,、速度、步進法(細分)設(shè)置,。
2.3 單片機與PC機通信接口設(shè)計
采用PC機與通信工業(yè)中應(yīng)用最廣泛的一種RS-232串行接口,,可以保證上位機和下位機通信順暢。該接口是9針,,只需用其中的2,、3、5三個管腳進行通信,,分別是接收線,、發(fā)送線和地線。選用MAX232芯片完成下位機電平(TTL電平)與RS-232接口電平(RS232電)的轉(zhuǎn)換,,保證信號正確傳輸,。
3 系統(tǒng)軟件設(shè)計
系統(tǒng)軟件設(shè)計采用模塊化程序方法,整個系統(tǒng)分成兩大模塊:單片機模塊和PC上位機模塊,。
3.1 單片機模塊程序
單片機是下位機的總控制器,,采用ATMEL公司51系列的AT89S52單片機[5]。該單片機是一種低功耗,、高性能CMOS 8 bit微控制器,,具有8 KB在系統(tǒng)可編程Flash存儲器,亦適于常規(guī)編程器,,而且與工業(yè)80C51產(chǎn)品指令和引腳完全兼容,。
單片機模塊程序主要完成接收PC上位機指令、控制步進電機的驅(qū)動,、采集光強度參量數(shù)據(jù)并發(fā)送給PC機,,其程序框圖如圖4所示。開始時,,單片機完成串口狀態(tài)的初始化,,檢查中斷端口。當接收到PC機指令后,,單片機根據(jù)指令設(shè)置步進電機細分數(shù)和轉(zhuǎn)動方向,、放大增益等參數(shù);然后,,驅(qū)動步進電機運轉(zhuǎn)一步并帶動θ/2θ測角平臺旋轉(zhuǎn),,同時光電探測器采集光強度信號經(jīng)A/D轉(zhuǎn)換到單片機并將數(shù)據(jù)發(fā)送給PC機,這一過程保持循環(huán)。當在工作過程中PC上位機有新的指令時(如步進電機停轉(zhuǎn)),,單片機中斷接收新指令,并執(zhí)行,??紤]到檢測步進電機兩端停止位位置,設(shè)置了外部中斷服務(wù)子程序,。
3.2 PC上位機模塊程序
采用Visual C++6.0開發(fā)平臺,,結(jié)合C++語言,可以方便地實現(xiàn)人機交互界面的設(shè)計,。通過需求分析,,PC機模塊程序可分為系統(tǒng)設(shè)置、串口通信,、數(shù)據(jù)處理,、圖形顯示和數(shù)據(jù)存儲等,上位機軟件工作的流程圖如圖5所示,。程序開始時對整個軟件進行初始化,,以保證軟件擁有正常工作環(huán)境;然后,,通過軟件界面操作,,實現(xiàn)相應(yīng)的動作或功能。
系統(tǒng)設(shè)置:通過軟件提供的界面設(shè)置系統(tǒng)使用環(huán)境,,包括光強放大倍數(shù),、步進電機細分值、步進電機正轉(zhuǎn)反轉(zhuǎn),、串口設(shè)置等,。主要實現(xiàn)系統(tǒng)初始化、串口管理,、指令發(fā)送等,。如系統(tǒng)初始化,串口設(shè)置為COM1,、波特率為9 600,、無校驗位、8 bit,;串口管理主要檢測設(shè)置的串口是否被占用,、連接是否正常等;指令發(fā)送通過串口通信實現(xiàn)PC軟件對單片機的控制,。
串口通信:實現(xiàn)串口全雙工異步通信功能,,通過串口實現(xiàn)發(fā)送指令、接收數(shù)據(jù)。出于安全性考慮,,PC軟件使用MSCOMM控件進行串口通信,。MSCOMM控件提供了兩種處理通信問題的方法:事件驅(qū)動方式和查詢方式。因接收數(shù)據(jù)量大,,本系統(tǒng)采用事件驅(qū)動方式通信,。
數(shù)據(jù)處理:主要實現(xiàn)數(shù)據(jù)轉(zhuǎn)換和數(shù)據(jù)存儲功能。光電探測器采集的信號最大值是4.95 V而串口接收的數(shù)據(jù)是8 bit二進制數(shù)據(jù),,因此,,數(shù)據(jù)按O=I×495/255公式進行轉(zhuǎn)換(其中I是接收的數(shù)據(jù),O是轉(zhuǎn)換后的一浮點類型數(shù)據(jù),,O可以精確到0.01 V),。數(shù)據(jù)存儲格式以.dat文件形式存儲,并可以用TXT格式打開,,文件中除了有相對應(yīng)的數(shù)據(jù)外,,還包括用戶設(shè)置的系統(tǒng)信息,如步進電機轉(zhuǎn)過的步數(shù),、步進電機的細分值和光強放大倍數(shù),。
圖形顯示:主要將接收的數(shù)據(jù)以圖形方式顯示及實現(xiàn)圖形放大效果。在圖形繪制區(qū)域中,,按下鼠標左鍵并拖動,、釋放來選擇一個區(qū)域,則PC軟件將對這一區(qū)域進行放大顯示,。
4 實驗結(jié)果
圖6是該系統(tǒng)實測的離子交換制備的K9玻璃光波導(dǎo)M-Line實驗曲線,,該曲線圖反映了該波導(dǎo)有3個導(dǎo)模(即3個很明顯的削尖波谷),可以通過計算機計算獲得棱鏡的耦合角(即對應(yīng)于3個模式的波谷,,是個離散值),,從而可以根據(jù)式(2)計算導(dǎo)模的有效折射率,分別是1.558 0,、1.545 4和1.531 3,。同時,該系統(tǒng)能通過圖形準確直觀地鑒別并表現(xiàn)導(dǎo)波模式,,不需要人眼去判別,,特別適用于不可見光波段內(nèi),如光通信波段,。
本文基于單片機與PC上位機,,設(shè)計了棱鏡耦合自動測試系統(tǒng),實現(xiàn)了低成本,、高精度,、高自動化的棱鏡耦合自動測試,。經(jīng)實驗測試,本系統(tǒng)運行穩(wěn)定,,各項技術(shù)指標符合設(shè)計要求,,實驗效果良好,實現(xiàn)了高精度,、高自動測試,,滿足棱鏡耦合技術(shù)要求。
參考文獻
[1] ULRICH R,, TORGE R. Measurement of thin film parameters with a prism coupler [J]. Applied Optics, 1973,,12(12):2901-2908.
[2] 章烈剽.基于單片機的高精度步進電機控制研究[D].武漢:武漢理工大學(xué),,2007.
[3] 逢啟壽,馮羽生,,嚴少卿,,等.數(shù)控步進電機驅(qū)動電路設(shè)計[J].制造業(yè)自動化,2007,,29(8):12-19.
[4] 敬嵐,,朱海君,張碩成.步進電機控制系統(tǒng)的設(shè)計及應(yīng)用[J].核技術(shù),,2005,,28(06):479-482.
[5] 馬家辰,孫玉德,,張穎.MCS-51單片機原理與接口技術(shù)[M].哈爾濱:哈爾濱工業(yè)大學(xué)出版社,,2001.