如何在Zemax OpticStudio序列模式下進行公差分析

如何進行序列模式公差分析

公差分析是面向制造和裝配的產品設計中非常重要的一個環(huán)節(jié)。本文簡單地介紹了公差分析的基本流程,目的是為了讓初學者對公差分析有一定的了解。


本文案例

設計一款批量生產的激光擴束器。

光源為:氬離子激光,1/e2時光束寬度為:2.5mm。目標:光束出射時1/e2的光束寬度擴大為原來的3倍,波前差必須小于兩倍的光束全寬不超過1/20 RMS(即:整個光束直接控制在5mm以內)。

初始結構及OPD Fan 圖


初始結構中Ran Fan圖坐標軸的最大刻度為0.01 波長, 因此PTV光程差(peak-to-valley OPD)少于1/200。RMS波前差為(可通過建立默認波前評價函數得到)2.15*10-3 波長。本例的孔徑類型(system aperture)設置為高斯切趾(Gaussian apodization),入瞳直徑為5mm,切趾系數為2。因此光瞳邊緣的強度相對于峰值大約為1/e4=1.8%。

這就體現出正確設置系統(tǒng)參數的重要性了。5 mm 1/e2直徑的激光照射的系統(tǒng)的結果(RMS OPD:~2.10-3)與均勻光照射的結果(RMS OPD :3.10-3)肯定是不同的。因為當光源為高斯光時,球差在光瞳邊緣的效應相比于均勻光入射小很多。

接下來,我們來考慮制造誤差對系統(tǒng)的影響。


制造公差

公差分析目的是考慮制造誤差對系統(tǒng)的影響,因此設計時必須考慮實際的制造情況。為了能夠更好地分析公差,模擬出符合實際的情況,首先我們應該了解系統(tǒng)所用鏡片在批量生產時的制造流程和測試方法。

Zemax OpticStudio 能夠模擬出各種各樣的制造和測試方式。本文范例中,我們假設系統(tǒng)透鏡是使用傳統(tǒng)的手動拋光制造。

制造公差可以在公差編輯器(Tolerance > Tolerance Data Editor)中設定。公差向導(Tolerance > Tolerance Wizard)可以幫助使用者加入一組常用的預設公差,必要時可手動編輯修訂。公差向導的設定如圖

圖中“Surface Tolerance”中主要包含透鏡的表面誤差,例如半徑(Radius)、表面不規(guī)則度(Irregularity)等等。

“Element Tolerance”則包含了透鏡在系統(tǒng)中的位移和傾斜公差。由所給的預設公差分析設定,可以看出:

曲率半徑:傳統(tǒng)的公差測試方法是利用He-Ne激光器照射到double-pass系統(tǒng)中觀察其干涉條紋。本例中,我們使用條紋數來評估半徑,并且允許待測表面和原器件之間有一個條紋的公差。因為光源為He-Ne激光,因此我們將波長設定為0.6328。注意這并不是系統(tǒng)實際工作時的波長而是測試時所用的波長(實際工作為氬離子激光波長為0.5415微米)。

中心厚度:預設的公差為0.2mm,這里我們仍需考慮透鏡的安裝誤差,下文會詳細討論這一部分。

表面偏移以及傾斜:對于非球面表面來說離心以及傾斜是兩個不同的概念,例如拋物面鏡必須分別描述離心和傾斜公差,因為拋物面只有一個旋轉對稱軸。但是對于球面來說它有無限個旋轉對稱軸,因此離心和傾斜代表同一概念。在鏡頭制造時,一種常見的測量就是測量鏡片的楔形公差(Wedge)。楔形公差有兩種測量方法:將透鏡真空吸附固定(1)將激光照射到鏡片中心,旋轉透鏡觀察遠方屏幕上光點的運動;(2)旋轉透鏡使用針盤量規(guī)(Dial Gauge)測量邊緣厚度的變化。接著微調透鏡位置,盡量縮小上述測試中楔形值。

本例中,我們假設制造商使用邊緣厚度變化作為測試方法。我們在X、Y兩個方向輸入0.2mm的最大傾斜,因此最大的半徑傾斜為sqrt(0.22+0.22)=0.28mm。

表面不規(guī)則度:可以定義為球差和像散的總和,也可以使用Zernike系數來定義(這主要是測量儀器為干涉儀時才這么定義)。本例中,我們使用第一種方法,并且設定表面不規(guī)則度為1/5。

元件公差:主要測量系統(tǒng)的“機械軸”對元件的偏差程度。

折射率公差:描述了實際的折射率與目標設定值之間的差異。在本文范例中只用到了一個波長,所以我們不需要提供阿貝數(Abbe Number)公差,只需要簡單地分析折射率公差就可以了。Zemax OpticStudio也能夠建立后焦距的補償器。因為本例中系統(tǒng)是無焦的,所以不需要這個補償要將補償器的選項取消。

最后點擊 OK 則完成一組默認公差的建立。


機械組裝和補償器

本例中,系統(tǒng)是由兩個平凸透鏡構成,因此我們可以假設透鏡表面中平的那一面用來組裝對位,也就是這一表面會靠在組裝結構上,同時,假設兩透鏡之間的距離200mm可以在組裝以及使用時調整,這樣該激光擴束器就可以用在不同的波長上。

觀察表面2和表面3構成的透鏡,表面3是平面,也就是表面3會靠在機械結構上,所以可以使用TIRX和TIRY來定義表面2相對于表面3的楔形公差。同時,我們不需要指定表面3的TIRX和TIRY,這些可以刪除掉。

類似地,對于表面4和表面5構成的透鏡,表面4靠在機械結構上。因此表面5的楔形公差是相對于表面4的,所以應該刪除表面4的TIRX和TIRY。

“厚度”定義了兩元件之間Z方向的位移量,設置一個表面的厚度公差不僅僅會影響到所設置的表面,也會影響到系統(tǒng)的其他表面。我們需要了解組裝過程是如何影響厚度公差的。

當第一個透鏡的背面承靠在機械結構上,公差分析增加厚度意味著透鏡會“往回增長”,并且光學系統(tǒng)的長度會增加。

TTHI(厚度公差)允許我們指定一個“調節(jié)面”來修正厚度變化。例如,如果透鏡的前表面被承靠在機械結構上,并且它的厚度在公差分析時額外增加了,這時透鏡將會往200mm的空氣間隔方向上稍微突出一點,因此實際的空氣間隔會小于200mm。Zemax OpticStudio 可以通過“Adjust” 參數實現這一功能。

默認公差是假設所有的透鏡厚度都會被下一個空氣界面所吸收,即系統(tǒng)假設這個透鏡的承靠面都是前表面。這個調節(jié)參數是可開可閉的,如果要關閉它只要把“Adjust” 參數和“Surf”設置一樣既可,例如:TTHI 2 2。本文范例中,玻璃的厚度并不會被其他厚度所補償,因此我們需要取消這一范例中的補償設定。

此外,表面1和表面5的厚度其實不重要,他們只是表示光線的進出而已,因此對應的公差操作數也可以刪除。

因為表面3的厚度(兩透鏡之間的200mm空氣間隔)可以在組裝和實際使用中調節(jié),所以不應該設定為公差分析中的一部分,表面3的TTHI設定也應該刪除。同時,表面3的厚度將會被設定為補償器,用來調節(jié)波前差的最小化,設置方法是在Tolerance Data Editor中輸入:COMP 3 0 -0.2 +0.2,代表定義了一個厚度補償器,范圍是-0.2~+0.2mm。

測試公差分析設定

在公差分析的過程中,人們往往會忽略檢查公差分析設定的正確性。這很重要,因此我們建立一些Monte-Carlo分析,并了解系統(tǒng)做了些什么事情。

打開“Tolerance > Tolerancing”,先擊"Reset"恢復所有的預設設定,然后再按照下面步驟進行設定

這些設定表示Zemax OpticStudio只會建立Monte-Carlo分析檔案,文件名為“MC_Txxxx”,其中xxxx是數字。點擊OK執(zhí)行上面步驟,并打開其中一個文件,你會看到如下設定(實際數字可能會有所不同)。注意在執(zhí)行公差分析時會有如下警告信息: “Solves should be removed prior to tolerancing. Semi-diameter should be fixed”, 在本例中可以不予考慮。

從上圖中,可以看到Zemax OpticStudio的分析過程。

例如“Element Tolerances” (TE**操作數)被設置為一些Coordinate Break,從而使元件傾斜或者離心。原本設定中是Standard的表面現在被設置為了Irregular的表面形態(tài),因此可以考慮球差或者像散。同樣,透鏡參數例如厚度、半徑、玻璃材料等現在都不是原始值,而是加入了一些擾動來模擬公差。注意:兩個透鏡之間的厚度被設定為變量,并且評價函數被定義如下圖

請仔細查看Monte Carlo文檔,以確保你了解并認可Zemax OpticStudio為公差分析所作的改變。


執(zhí)行公差分析

重新打開公差分析前的初始結構,打開OPD圖,將坐標軸刻度最大值調節(jié)到0.1波長。

我們一會用這個圖和Monte-Carlo結果比較。接著,再次打開公差分析設定窗口,點擊“Reset” ,取消之前的改變并恢復預設值。然后按照如下步驟進行公差分析。

對圖中各選項解釋如下:

Set-Up選項卡

對于 “Mode” 中各項的解說如下:

Sensitivity模式會讀取每一個公差操作數的最大和最小值,并計算評價標準值會有多大的改變,最后列表整理。公差分析評價標準的定義在 “Criterion”區(qū)域中設定。

下一章“Criterion區(qū)域”會詳細介紹。

Inverse Limit 模式下,使用者可以在 “Criterion”區(qū)域中指定一個評價標準極限。然后系統(tǒng)會計算每一個公差操作數偏離多少時會得到這個評價標準的極限值。Inverse表示逆向,它會改變公差操作數的最大最小值。

Inverse Increment 模式與Inverse Limit接近,不同的是Inverse Increment指定的是相對于原始設計評價標準所允許的變化量。

Skip Sensitivity 模式將會略過所有的敏感度分析,直接開始Monte Carlo分析。

我們將不會討論這個設定框中其他的設定,請在Help文件中查找具體的設定細節(jié)。

本例中選擇“Sensitivity”模式。

Criterion選項卡

這個選項卡主要是設定在公差分析過程中要應用的評價標準。這邊的設定通常與評價函數有關,但不完全是評價函數。

公差分析的評價標準通常是純光學的數值(優(yōu)化函數則還會包含一些邊界條件)。為了方便,Zemax OpticStudio提供了一些最常用的公差評價標準,使用者可以直接在下拉菜單中選擇,這些選項包含:

● 點列半徑 Spot radius

● 波前差 Wavefront error

● MTF

● 瞄準誤差 Boresight error

● 角空間半徑 Angular radius

不論選擇哪一個,他們在后臺都通過評價函數來實現,如果有需要也可以建立自己的評價函數,設定自己的公差評價標準。

Monte-Carlo 選項卡

不像Sensitivity或者Inverse sensitivity分析,Monte-Carlo分析會讓所有的擾動同時生效。Monte-Carlo的每進行一次循環(huán)計算,所有被設定為公差的參數都會在設定范圍內根據指定的統(tǒng)計模型隨機選取。默認中,所有的公差操作數都使用一樣的正態(tài)分布,其寬度為4個標準差,兩端分別為公差操作數的最大和最小值。默認分布模型可以使用STAT指令改變,這部分超出了這篇文章的討論范圍。

對話框中有"Overlay MC Graphics"選項,如果勾選則系統(tǒng)每次Monte Carlo會自動更新繪圖窗口,并把計算結果疊加上去。這是一個很好的視覺化功能,可以協(xié)助判斷公差分析能否達到令人滿意的結果。

Display選項卡

在Display選項卡中的設定并不會影響公差分析,只是定義公差分析的報告中的數據量。

到此設定結束,點擊OK,執(zhí)行公差分析。


公差分析結果

因為我們之前設定了重疊Monte-Carlo分析圖,并且在軟件中我們打開了OPD圖,因此可以看到OPD圖中看到20個Monte-Carlo循環(huán)計算的結果:看起來距離我們的目標0.05的RMS波長還很遠。

在靈敏度分析(Sensitivity Analysis)的過程中,Zemax OpticStudio首先計算原始設計系統(tǒng) (nominal system)的公差標準,讀取第一個公差操作數,將其調整到最小值,調整補償器(優(yōu)化),返回公差評價標準值。然后再重復操作,但這次是將公差操作數調整到最大值。最后所有公差都會執(zhí)行這一步驟。執(zhí)行結果如下:

注意原始設計(nominal)的公差評價標準為0.0022即1/400。我們要求在批量生產時有1/20或者0.05波長,而系統(tǒng)中一部分公差本身就超過了這一標準,例如增加了補償之后,單單第二片透鏡的折射率公差就使得波前差降到了0.058 波長。在所有公差單獨計算后,Zemax OpticStudio 會計算各種不同的統(tǒng)計資料。其中最重要的就是 "Estimated Change" 以及 “Estimated Performance” (本文中為Estimated RMS Wavefront)。Zemax OpticStudio使用RSS(Root Sum Square)的計算方法計算Estimated Change。對于每一個公差操作數,相對于原始設計的評價標準變量的計算方法是最大與最小公差的評價標準的改變各自平方后再取平均值。最大與最小取平均是因為它們不會同時發(fā)生,如果相加會導致過分悲觀的預測。至此,我們計算出了一個最終成品值的預測。

對于這個系統(tǒng),由下圖可以看出,RSS計算預測了系統(tǒng)的表現應該是0.0597波長,我們目標為0.05。Monte-Carlo的預測也大致相符。雖然只有20個測試范本,結果相對比較粗糙。從下表可以看出,RMS波前差低于0.05的鏡頭的良品率略少于80%。

很明顯,如果需要提高良品率,需要再收緊公差。我們可以手動調節(jié)公差編輯器,然后再執(zhí)行一次公差分析,我們也可以利用反靈敏度分析 (Inverse Sensitivity Tolerancing)自動完成。


反靈敏度分析

在靈敏度分析模式(Sensitivity mode)中,Zemax OpticStudio讀取公差操作數,并計算系統(tǒng)性能降低程度。在反靈敏度分析模式 (Inverse Sensitivity mode)中,Zemax OpticStudio則是被給予一個允許的性能降低范圍,并且系統(tǒng)必須找到一個可以達到這個性能目標的公差的最大最小值。分析步驟如下:

在Set-Up中設定Inverse Sensitivity

在Criterion中,注意看“Limit”欄可以輸入參數了,點擊check,獲得原始設計(nominal system)的公差評價標準。

然后輸入我們的目標值,我們假設為0.0075,因此每一個單獨的公差操作數都不能讓評價函數標準低于1/130。

其他維持原本設定,并重新執(zhí)行公差分析。

可以看到Root Sum Square和Monte-Carlo中的結果變得非常漂亮:

但是,其實20個Monte-Carlo循環(huán)其實是不夠的。粗略的來說如果有N個公差操作數,至少需要N2 個Monte-Carlo循環(huán)才符合適當的取樣分析。本例中我們有24個公差操作數,至少要242=576個Monte-Carlo循環(huán),我們設定1000 Monte-Carlo取樣得到如下結果:

重新打開公差編輯器,可以發(fā)現系統(tǒng)自動修改了一些最大最小值,以符合逆向敏感度分析,這些改變都在制造可以要求的范圍內。

注意:執(zhí)行1000 Monte-Carlo分析,作者的8核電腦中只用了26秒就可以完成。Zemax OpticStudio并沒有使用任何一階或者其他近似方法來猜測擾動對波前的公差分析的效果。每一個評價函數都在完整精度的透鏡波前差計算中完成的。


總結

公差分析是一個復雜的流程,這篇文章介紹了公差分析的整個流程,內容包括:

(1) 優(yōu)化你的設計直到超越目標規(guī)格,且要超過一定適當的量。

(2) 建立一組默認公差操作數。Zemax OpticStudio提供超過一種方法來模擬同一種公差,你必須選擇最能代表實際制造,測試以及組裝時使用的方法。

(3) 編輯公差操作數以考慮不同的組裝方式,并加入可能的補償器。

(4) 定義公差評價標準,此標準須符合實際工廠的測試方式。

(5) 建立一些Monte-Carlo文件并確認公差操作數有依照你預想的方式工作。

(6) 執(zhí)行靈敏度分析。

(7) 手動緊縮一些棘手的公差,或者使用逆向敏感度分析Inverse Sensitivity,讓Zemax OpticStudio自動計算。

(8) 一旦確定你的公差都沒有問題之后,設定執(zhí)行N2個Monte-Carlo分析,其中N為公差操作數的數量。

(9) 檢查反靈敏度分析產生的公差操作數參數值,確保他們在合理的范圍內。

請記住,并不是所有設計的公差分析結果都可以符合成本利益,很可能為了達到你的設計目標,你需要分析許多不同的設計。

小伙伴們還有什么想要了解的問題,歡迎踴躍留言,小編之后會根據大家的需求進行推送噠!