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