光學系統設計(Zemax初學手冊)蔡長青ISUAL計畫團隊國立成功大學物理系(第一版,1999年7月29日)內容綱目:前言習作一:單鏡片(Singlet)習作二:雙鏡片習作三:牛頓望遠鏡習作四:Schmidt-Cassegrain和asphericcorrector習作五:multi-configurationlaserbeamexpander習作六:foldmirrors和coordinatebreaks習作七:使用ExtraDateEditor,OptimizationwithBinarySurfaces前言整個中華衛星二號「紅色精靈」科學酬載計畫,其量測儀器基本上是個光學儀器。所以光學系統的分析乃至於設計與測試是整個酬載發展重要一環。這份初學手冊提供初學者使用軟體作光學系統設計練習,整個需要Zemax光學系統設計軟體。它基本上是Zemax使用手冊中tutorial的中文翻譯,由蔡長青同學完成,並在ZemaxE.E.7.0上測試過。由於蔡長青同學不在參與「紅色精靈」計畫,所以改由黃曉龍同學接手進行校稿與獨立檢驗,整個內容已在ZemaxE.E.8.0版上測試過。我們希望藉此初學手冊(共有七個習作)與後續更多的習作與文件,使團隊成員對光學系統設計有進一步的掌握。(陳志隆註)(回內容綱目)習作一:單鏡片(Singlet)你將學到:啟用Zemax,如何鍵入wavelength,lensdata,產生rayfan,OPD,spotdiagrams,定義thicknesssolve以及variables,執行簡單光學設計最佳化。設想你要設計一個F/4單鏡片在光軸上使用,其focallength為100mm,在可見光譜下,用BK7鏡片來作。首先叫出ZEMAX的lensdataeditor(LDE),什麼是LDE呢?它是你要的工作場所,譬如你決定要用何種鏡片,幾個鏡片,鏡片的radius,thickness,大小,位置……等。然後選取你要的光,在主選單system下,圈出wavelengths,依喜好鍵入你要的波長,同時可選用不同的波長等。現在在第一列鍵入0.486,以microns為單位,此為氫原子的F-line光譜。在第二、三列鍵入0.587及0.656,然後在primarywavelength上點在0.486的位置,primarywavelength主要是用來計算光學系統在近軸光學近似(paraxialoptics,即first-orderoptics)下的幾個主要參數,如focallength,magnification,pupilsizes等。再來我們要決定透鏡的孔徑有多大。既然指定要F/4的透鏡,所謂的F/#是什麼呢?F/#就是光由無限遠入射所形成的effectivefocallengthF跟paraxialentrancepupil的直徑的比值。所以現在我們需要的aperture就是100/4=25(mm)。於是從systemmenu上選generaldata,在apervalue上鍵入25,而aperturetype被default為EntrancePupildiameter。也就是說,entrancepupil的大小就是aperture的大小。回到LDE,可以看到3個不同的surface,依序為OBJ,STO及IMA。OBJ就是發光物,即光源,STO即aperturestop的意思,STO不一定就是光照過來所遇到的第一個透鏡,你在設計一組光學系統時,STO可選在任一透鏡上,通常第一面鏡就是STO,若不是如此,則可在STO這一欄上按滑鼠,可前後加入你要的鏡片,於是STO就不是落在第一個透鏡上了。而IMA就是imagineplane,即成像平面。回到我們的singlet,我們需要4個面(surface),於是在STO欄上,選取insertcifter,就在STO後面再插入一個鏡片,編號為2,通常OBJ為0,STO為1,而IMA為3。再來如何輸入鏡片的材質為BK7。在STO列中的glass欄上,直接打上BK7即可。又孔徑的大小為25mm,則第一面鏡合理的thickness為4,也是直接鍵入。再來決定第1及第2面鏡的曲率半徑,在此分別選為100及-100,凡是圓心在鏡面之右邊為正值,反之為負值。而再令第2面鏡的thickness為100。現在你的輸入資料已大致完畢。你怎麼檢驗你的設計是否達到要求呢?選analysis中的fans,其中的RayAberration,將會把transverse的rayaberration對pupilcoordinate作圖。其中rayaberration是以chiefray為參考點計算的。縱軸為EY的,即是在Y方個的aberration,稱作tangential或者YZplane。同理X方向的aberration稱為XZplane或sagittal。Zemax主要的目的,就是幫我們矯正defocus,用solves就可以解決這些問題。solves是一些函數,它的輸入變數為curvatures,thickness,glasses,semi-diameters,conics,以及相關的parameters等。parameters是用來描述或補足輸入變數solves的型式。如curvature的型式有chiefrayangle,pickup,Marginalraynormal,chiefraynormal,Aplanatic,Elementpower,concentricwithsurface等。而描述chiefrayanglesolves的parameter即為angle,而補足pickupsolves的parameters為surface,scalefactor兩項,所以parameters本身不是solves,要調整的變數才是solves的對象。在surface2欄中的thickness項上點兩下,把solvetype從fixed變成MarginalRayheight,然後OK。這項調整會把在透鏡邊緣的光在光軸上的height為0,即paraxialfocus。再次updaterayfan,你可發現defocus已經不見了。但這是最佳化設計嗎?再次調整surface1的radius項從fixed變成variable,依次把surface2的radius,及放棄原先的surface2中thickness的MarginalRayheight也變成variable。再來我們定義一個Meritfunction,什麼是Meritfunction呢?Meritfunction就是把你理想的光學要求規格定為一個標準(如此例中focallength為100mm),然後Zemax會連續調整你輸入solves中的各種variable,把計算得的值與你訂的標準相減就是Meritfunction值,所以Meritfunction值愈小愈好,挑出最小值時即完成variable設定,理想的Meritfunction值為0。現在談談如何設Meritfunction,Zemax已經default一個內建的meritfunction,它的功能是把RMSwavefronterror減至最低,所以先在editors中選Meritfunction,進入其中的Tools,再按DefaultMeritFunction鍵,再按ok,即我們選用defaultMeritfunction,這還不夠,我們還要規定給meritfunction一個focallength為100的限制,因為若不給此限制則Zemax會發現focallength為時,wavefrontaberration的效果會最好,當然就違反我們的設計要求。所以在Meritfunctioneditor第1列中往後插入一列,即顯示出第2列,代表surface2,在此列中的type項上鍵入EFFL(effectivefocallength),同列中的target項鍵入100,weight項中定為1。跳出Meritfunctioneditor,在Tools中選optimization項,按Automatic鍵,完畢後跳出來,此時你已完成設計最佳化。重新檢驗rayfan,這時maximumaberration已降至200microns。其他檢驗opticalperformance還可以用SpotDiagrams及OPD等。從Analysis中選spotdiagram中的standard,則該spot大約為400microns上下左右交錯,與Airydiffractiondisk比較而言,後者大約為6microns交錯。而OPD為opticalpathdifference(跟chiefray作比較),亦從Analysis中挑選,從Fans中的OpticalPath,發現其中的aberration大約為20waves,大都focus,並且spherical,spherochromatism及axialcolor。Zemax另外提供一個決定firstorderchromaticabberation的工具,即thechromaticfocalshiftplot,這是把各種光波的backfocallength跟在paraxial上用primarywavelength計算出firstorder的focallength之間的差異對輸出光波的wavelength作圖,圖中可指出各光波在paraxialfocus上的variation。從Analysis中Miscellaneous項的ChromaticFocalShift即可叫出。(回內容綱目)●習作二:雙鏡片你將學到:畫出layouts和fieldcurvatureplots,定義edgethicknesssolves,fieldangles等。一個雙鏡片是由兩片玻璃組成,通常黏在一起,所以他們有相同的curvature。藉著不同玻璃的dispersion性質,thechromaticaberration可以矯正到firstorder所以剩下的chromaticaberration主要的貢獻為secondorder,於是我們可以期待在看chromaticfocalshiftplot圖時,應該呈現出paraboliccurve的曲線而非一條直線,此乃secondordereffect的結果(當然其中variation的scale跟firstorder比起來必然小很多,應該下降一個order)。跟習作一一樣,我們仍然要設計一個在光軸上成像,focallength為100mm的光學系統,只不過這次我們用兩塊玻璃來設計。選用BK7和SF1兩種鏡片,wavelength和aperture如同習作一所設,既然是doublet,你只要在習作一的LDE上再加入一面鏡片即可。所以叫出習作一的LDE,在STO後再插入一個鏡片,標示為2,或者你也可以在STO前在插入一面鏡片標示為1,然後在該鏡片上的surfacetype上用滑鼠按一下,然後選擇MakeSurfaceStop,則此地一面鏡就變成STO的位置。在第一、第二面鏡片上的Glass項目鍵入BK7即SF1,因為在BK7和SF1之間並沒有空隙,所以此doublet為相黏的二鏡片,如果有空隙則需5面鏡因為在BK7和SF1間需插入另一鏡片,其glasstype為air。現在把STO旱地二面鏡的thickness都fixed為3,僅第3面鏡的thickness為100且設為variable,既然要最佳化,還是要設meritfunction,注意此時EFFL需設在第三面鏡上,因為第3面鏡是光線在成像前穿過的最後一面鏡,又EFFL是以光學系統上的最後一塊鏡片上的principleplane的位置起算。其他的meritfunction設定就一切照舊。既然我們只是依習作一上的設計規範,只不過再加一面SF1鏡片而已,所以其他的meritfunction設定就一切照舊。現在執行optimization,程序如同習作一,在optimi