《Zemax软件设计教程课件.pptx》由会员分享,可在线阅读,更多相关《Zemax软件设计教程课件.pptx(80页珍藏版)》请在三一办公上搜索。
1、ZEMAX光学软件培训课程(第二讲),主要内容,序列模式介绍将序列转换为非序列建立非序列模型单透镜设计离轴抛物面设计ZPL设计语言及实例,一、序列模式介绍,序列模式下光线追迹(ray tracing)的特点:,以光学面(surface)为对象来构建光学系统模型;光线从物面开始(常为surface 0)按光学面的顺序计算(surface 0,1,2),对每个光学面只计算一次;每个面都有物空间和像空间;需要计算的光线少,计算速度快;可进行analysis,Optimization及Tolerancing,适用于传统成像系统设计,包括摄影物镜、望远镜、显微镜、光谱仪等。,一、序列模式介绍,一、序列模
2、式介绍,序列模式下ZEMAX界面如图,一、序列模式介绍,序列模式下layout参数设置对话窗口,以zemax自带镜头为例Samples Sequential Objectives Double Gauss 28degree field.zmx,一、序列模式介绍,Spot diagram,一、序列模式介绍,参数设置中第一项“Pattern”定义光瞳面上的光线分布模式,默认为六角形(Hexapolar),还可以设置为方形或随机。,一、序列模式介绍,Ray and OPD fan,是分析光学系统几何像差常用的工具,注意:通过移动鼠标位置可以看到不同位置处的数据值这在分析菜单栏都是普遍适用的,一、序列
3、模式介绍,一、序列模式介绍,MTF 分析,Samples Sequential Objectives Cooke 40 degree field.zmx,Extended source modeling,几何像分析可用于建模扩展光源,分析要用的分辨率,显示成像物体的外形,提供像方位的直观感受。,一、序列模式介绍,Off-axis systems,Samples Sequential Tilted systems&prisms Tilted mirror.zmx,一、序列模式介绍,Samples Sequential Telescopes Unobscured Gregorian.zmx,二、将
4、序列转换为非序列,在对序列元件进行优化、分析、公差计算后,通常会将序列元件转换为非序列元件,进行进一步的光-机分析。例如杂散光分析。,ZEMAX提供了一个方便的转换工具:ToolMiscellaneousConvert to NSC Group,Samples/Sequentia/lObjectives/Cooke 40 degree field.zmx,目标:将16面转换成非序列元件;在原像面位置加入一个非序列的探测器;加入一个非序列的光源表示物空间的轴上光束,STOP只在序列追迹中起作用,首先,将STOP移出我们需要转换的元件,在对话窗口中选择我们希望转换的表面,现在为27面,得到包含非序
5、列元件的混合模式,继续另一个例子,将光学系统转换成完全的非序列模式,点选YES键,转换成完全的非序列模式后,将不再出现LDE窗口,而是非序列元件编辑窗口(Non-sequential Component Editor),打开3D Layout,如右图,第二步,插入一个非序列光源双击Object Type,在出现的对话框中,Type一栏中选择Source Ellipse点击OK,进一步设置该表面的参数,Z position=-10(平行光入射,位置在第一片镜左侧即可)#Layout Rays=10#Analysis Rays=100000X Half Width=5Y half Width=5,
6、更新3D Layout,第三步,加入探测器部件,Z position=60.177X half Width=0.01Y half Width=0.01#X Pixels=100#Y Pixels=100,重复上一步的过程设置如下参数,打开AnalysisDetectorDetector Viewer,打开AnalysisDetectorRay Trace/Detector Control,此时,输出为空白窗口,需要进行一次光线追迹,点击Clear detector清除当前的数据之后点击 Trace,ZEMAX将追迹我们设置的100000条光线,在Detector Viewer中的setting
7、里确认如下设置,得到探测器上的辐照度分布,将其和序列模式下的轴上Spot Diagram图进行对比,可看出序列模式和非序列模式几何光线追迹的差别,我们发现两者形式相同。,再来对比一下序列模式和非序列模式下的衍射计算,Source#Analysis Rays:3000(reduced to speed up the detector trace)DetectorData Type:1PSF Wave#:2,将光源及探测器参数做如下修改,将Detector Viewer 设置为coherent irradiance.,三、建立非序列模型,所有object都是3D shell or solids;每
8、个object都在一个空间坐标系中定义了其特性;需要定义光源的发光特性和位置,定义detector收集光线;光线一直追迹,直到它遇到下列情况才终止:Nothing,能量低于定义的阈值。计算时光学元件的相对位置由空间坐标确定;对同一元件,可同时进行穿透、反射、吸收及散射的特性计算;无法作优化,要进行公差分析必须实用macro;这种情况下,可以对光线进行分光,散射,衍射,反射,折射。,在这一部分,我们将学会用非序列模式建立如下的光学系统,包含:filament sourceparabolic reflector plano-convex lens rectangular lightpipe,我们还
9、将进行光线追迹分析光学系统不同位置处的光照度分布,打开ZEMAX,选择非序列模式在SystemWavelengths中设置波长为0.587 m,在SystemGeneral Unit 选项卡中进行如下设置,在编辑窗口插入若干表面将第一个表面设置为抛物面反射镜点选Standard Surface并输入以下参数,Material:MirrorRadius:100Conic:-1(parabola)Max Aper:150Min Aper:20(center hole in the reflector),打开AnalysisLayout NSC 3D Layout,进一步创建光源,重复上一步中的操作
10、选择Source Filament,Z position:50(focus of the parabolic reflector)#Layout Rays 20#Analysis Rays 5000000Length:20Radius 5Turns 10,输入如下参数:,更新3D layout,此时的光源方向为Z向,我们希望设置它为X向,需将其进行旋转,下一步,创建探测器,重复之前的步骤,Z position:800Material:BlankX Half Width:150Y Half Width:150#X Pixels:150#Y Pixels:150Color:1,打开Analysis
11、 Detectors Detector Viewer,注意!layout 和detector viewer进行的是独立的计算只有进行追迹后才能显示,在NSC Shaded Model Layout 中设置栏中点选“Color pixels by last analysis”,加入平凸透镜,在编辑窗口做如下修改,Ref Object:3Z Position:10Material:N-BK7Radius 1:300Clear 1:150Edge 1:150Thickness:70Clear 2:150Edge 2:150,Ref Object:4Z position:650Material:Bla
12、nkX Half Width:100Y Half Width:100#X Pixels:150#Y Pixels:150Color:1,为了观察光束会聚情况,我们再加入一个探测器。,打开新建立的Detector Viewer 为了说明反射引起的能量损失在Detector Control中点选Use Polarization,最后,建立一个Rectangular Lightpipe,Ref Object:-1Z position:20Material:AcrylicX1 Half Width 70Y1 Half Width:70Z length:2000X2 Half Width:70Y2 Ha
13、lf Width:70,在Detector#5 之后插入一栏将其设置为Rectangular Volume并输入如下参数,点击YES,Ref Object:-1Z position:0Material:AbsorbX Half Width:100Y Half Width:100#X Pixels:150#Y Pixels:150Color:1,插入一个新的探测器,可以看出当前detector#7被设置在了Rectangular Lightpipe的前表面我们希望detector#7在Rectangular Lightpipe的右侧10mm位置处,此时我们需要用到pickup solve,对整个
14、光学系统进行光线追迹,得到最终的detector#7 上的辐照度分布,四、单透镜设计,这一部分将通过设计一个F/4单透镜,熟悉ZEMAX操作界面,了解设计基本原理和策略,并将展示如何使用基础的分析和优化功能,设计的一些参数指标如下。,Focal Length=100mmSemi-Field-Of-View(SFOV)=5 degreesWavelength:632.8nm(HeNe)Center Thickness(c.t.)of the singlet:2mm 2mmThe singlet shall be optimized for smallest RMS Spot Size avera
15、ged over the field of view at the given wavelengthObject is at infinity,输入入瞳直径,ZEMAX支持4种不同视场形式:Field angle:XZ和YZ平面上主光线与Z轴的夹角。Object height:物面上X,Y高度。Paraxial Image height:像面上的近轴像高。Real image height:像面上实际像高。,输入视场,输入波长,输入镜片数据,ZEMAX提供了很多非常有用的Solve解,在本例中为了满足F/#条件,我们可以使用F Number solve。,在想要加入Solve的位置点击鼠标右键
16、,本例中在Surface 2 Radius列,对系统进行评估,Layout显示二维视图,YZ截面中的透镜外形曲线Ray fan 显示关于光瞳坐标函数的光线像差。OPD Fan 显示光程差为光瞳坐标的函数Spot Diagram 显示点列图,从以上几幅图可以看出单透镜包含有一些显著的像差包含spherical,coma,distortion,defocus,field curvature,astigmatism.,此时的像面并非是最佳像面,我们可以用ZEMAX提供的Quick Focus 工具找到最佳焦面位置,Tools Miscellaneous Quick Focus,Or Shift+Ct
17、rl+Q,有明显的改善,但还有很大的提升空间。,采用点击鼠标右键和Ctrl+Z 两种方法将前表面曲率和两个间距设置为变量,建立优化函数,先使用ZEMAX提供的默认优化函数,在弹出的对话框中根据系统指标要求输入透镜边界条件,选择Tools Optimization Optimization或点击OPT按钮点击Automatic,评价当前的系统,通过优化,光斑直径下降了接近10倍!并且注意此时外形参数均满足要求,五、离轴抛物面设计,在这一部分,我们将建立一个商业上使用的离轴抛物面反射镜,并练习将其绕X轴旋转。反射镜的参数如下:,Off-axis distance=150 mmFocal lengt
18、h=1000 mmComponent physical diameter=203 mmBack surface of the substrate is perpendicular to the optical axis,System unit to mm(System General Units)Wavelength to 0.550um(System Wavelengths)Set one field with values X=0 and Y=0(System Fields)Set system aperture as Entrance Pupil Diameter of 100 mm(S
19、ystem General Aperture),首先,对系统参数进行如下设置,在LDE界面输入一下参数,并将像面semi-diameter设置为30mm,此时在其右侧出现U标志,ZEMAX中 z-coordinate 或者Sag的定义如下,where c is the curvature(the reciprocal of the radius),r is the radial coordinate in lens units and k is theconic constant.The conic constant is less than-1 for hyperbolas,-1 for p
20、arabolas,between-1 and 0 for ellipses,0 for spheres,and greater than 0 for oblate ellipsoids.,这里我们将k输入-1,因为第一面和像面位置相同,我们可以设置不显示第一面,设置反射镜的厚度及后表面曲率,根据要求输入,在3D Layout 设置中确认设置,根据设计需求,加入离轴量,注意!加入离轴量后,需要根据设计要求修改反射镜尺寸,我们将使用ZEMAX提供的chief-ray solve来完成这一任务,此时,入射光线已经被移出光轴,但我们希望像面是垂直于主光线的并且得到像面的中心位置。,六、ZPL设计语言及
21、实例,在这一部分我们将了解什么是ZPL设计语言及其功能。,ZPL语言包含5个基本概念:variables,operations,functions,keywords and comments,Variables可以是数字也可以是字符串或数组变量例如如下程序中a和b是variables,+是operations,ZPL支持数学、字符串及逻辑运算。,function是ZPL预先编译的计算,被用来返回一个数值,Keywords提供了指导程序流程、生成输出、执行一些重要任务,FICL用来计算光纤耦合其结果储存在coupling数组中,调用优化法则并用当前评价函数优化镜头,Comments可以用来记录你的ZPL程序如何运行。以!起始的一行或者某一位置#之后的语句都是评论语句,a=0.3b=-3f=1000curv(1)=b/(2*f)curv(2)=(b+1)/(2*f*a)thic(1)=(1-a)*f/bthic(2)=a*fconi(1)=-1-2*a/(1-a)/(b*b)coni(2)=-(2*b+(1-a)*(b-1)*(b-1)*(1+b)/(1-a)*(1+b)*(1+b)*(1+b),Thank you!,