学习如何设计一个单透镜.docx
- 文档编号:9656103
- 上传时间:2023-05-20
- 格式:DOCX
- 页数:21
- 大小:289.70KB
学习如何设计一个单透镜.docx
《学习如何设计一个单透镜.docx》由会员分享,可在线阅读,更多相关《学习如何设计一个单透镜.docx(21页珍藏版)》请在冰点文库上搜索。
学习如何设计一个单透镜
如何设计一个单透镜
如图所示,所谓单透镜,是指由两个折射曲面围成的透明体。
其中一个折射面可以是平面。
本资料包括8个方面的内容:
确定系统参数,包括孔径大小,透镜单位,视场,以及波长;
输入透镜性能参数;
用solve强化设计约束条件;
在优化前,分析系统性能;
确定系统自由度,设置系统变量;
设置缺省的评价函数;
优化并分析最终的设计性能。
一、引言,透镜的性能,及设计约束条件
单透镜(英文专用词singlet),在定义上有争论,但它是ZEMAX所能仿真的最简单的成像系统。
单透镜的结构虽简单,但这种简单成像系统的设计过程,有助于我们认识ZEMAX的界面,学习基本的设计理念和策略,初步掌握ZEMAX的基本分析工具。
下面,我们将设计并优化一个F/4单透镜,材质选用N-BK7玻璃。
设计完成的单透镜需满足如下要求:
焦距100mm;
单视场角
;
波长
;
中心厚度介于2mm~12mm间;
边缘厚度大于2mm;
在限定波长下,在全视场范围内,对单透镜进行优化,保证RMSSpotSize最小;
物位于无穷远。
在给定的ZEMAX界面内,利用ZEMAX的各种工具,可便利地对单透镜进行仿真和优化。
二、透镜数据编辑器
在用计算机进行序列模式下的透镜设计时,对所有的面预先指定一个顺序,然后按照这个顺序从一面到下一面对光线进行追迹。
在追迹的过程中,ZEMAX采用了一种称为LensDataEditor(LDE,透镜数据编辑器)的电子表格结构。
打开ZEMAX,在主窗口内,马上会出现一个空白的LDE。
ZEMAX的主窗口有一块很大的空白区,空白区的上端是标题栏、菜单栏和工具栏。
透镜的大部分数据都要送入到LDE中,这些数据包括:
Surf:
Type
表面类型(可以设为Standard,EvenAsphere,DiffractionGrating,等等)
Comment
描述表面性质的注释项,用户可自由填写
Radius
表面的曲率半径(即曲率的倒数),单位取透镜的单位
Thickness
厚度,单位取透镜的单位,是指从当前面的顶点到下一面的顶点间的距离
Glass
材料类型(可设为glass,air,等等),是指从当前面到下一面间的介质所用的材料
Semi-Diameter
面在横向尺寸的一半,单位取透镜的单位
LDE的每一行对应单独的一个面。
ZEMAX在序列模式下,每个光学系统的第一面都是物(OBJ),最后一面都是像(IMA)。
除物面和像面外,还必须定义一个孔径光阑面(STO)。
要想把某一数值填入LDE的某一单元格内,只需用左键单击该单元格,然后直接手动输入。
可通过鼠标或光标的移动改变所选定的单元格。
三、定义系统参数
EachofthesetypesaredefinedinmoredetailinthefollowingsectionoftheZEMAXUser'sGuide:
“Chapter6:
SystemMenu>General>Aperture.”
通常,在开始设计一个新系统时,定义的第一个参数是系统孔径。
在ZEAMX中,系统孔径的作用有两个方面,一是规定在整个光学系统中,ZEMAX需要追迹的的光束的宽度;二是规定在OBJ面上,由每个场点所发出的光线的初始方向余弦。
系统孔径可用不同的方式定义,可心定义为EntrancePupilDiameter(EPD,入瞳直径),ImageSpaceF/#(像空间F数),ObjectSpaceNA(物空间数值孔径),FloatByStopSize(大小可变的浮动光阑),等等。
关于这些系统孔径的详细信息用户可查阅ZEMAX用户手册第6章,SystemMenu>General>Aperture中的相关内容。
EntrancePupilDiameter是最常用的一种系统孔径,对我们这个单透镜设计实例而言也是最便利的一种形式。
在ZEMAX中,EPD定义为光瞳在物空间的直径值,以透镜单位为单位。
对我们这个单透镜,确定其EPD值很容易。
如前所述,这是一个F/4透镜,意即
。
同时,有效焦距为100mm。
定义为,当物和像都位于无穷远时,近轴有效焦距同近轴入瞳直径之比。
据此,我们这个单透镜的EPD应为25mm:
又从哪里将该值送入ZEMAX中呢?
系统孔径,以及其他的系统参数,都是由SystemGeneraldialog(系统总体性能对话框)控制的。
要访问SystemGeneraldialog,可从ZEMAX主菜单上,选择System>General,或者单击工具栏(通常叫作按钮栏)上的“Gen”按钮。
打开SystemGeneraldialog后,就可输入当前设计方案的系统孔径的类型和数值大小。
对我们这个单透镜,可在SystemGeneraldialog的Aperture框内,将"ApertureType"(孔径类型)设为EntrtancePupilDiameter,并且"ApertureValue"(孔径值)设为25。
孔径值的单位是透镜的单位。
ZEMAX的多数电子表格编辑器都以透镜单位定义有关尺寸的测量值。
这些尺寸包括半径,厚度,EPD,以及ZEMAX的多数其他参数值。
这里提醒用户注意,在开始具体的方案设计前,必须先定义系统单位。
用户必须确保,系统的透镜单位刚好是自己所需要的值。
在ZEMAX中,透镜单位有millimeters(毫米)、centimeters(厘米)、inches(英寸),或meters(米)四种选择。
对我们这个单透镜,将采用millimeters。
在SystemGeneraldialog的Units框内,选择Millimeters作为透镜单位。
单击"OK"退出SystemGeneraldialog。
对我们这个单透镜,其他参数可忽略,就了ZEMAX给定的缺省值。
四、在ZEMAX中定义视场
在ZEMAX中,视场是在FieldDatadialog中定义的。
要进入FieldDatadialog,可从主菜单中选择System>Fields,或在按钮栏单击“Fie”按钮。
在ZEMAX中定义视场有四种途径。
Angle(Deg)
角度(单位度)
主光线与物空间的Z轴所成的角,以度为单位。
需要强调的是,按定义,主光线会通过入瞳的中心,视场角是沿入瞳中心测量的。
正的视场角表示,沿传播方向,光线的斜率是正的,与此相对应,物的坐标是负的。
当物和像分别位于无穷远时,建议采用此方案。
ObjectHeight
(物高)
物面上,X和Y方向物的直接高度。
物高采用透镜单位。
当物和像均位于无穷远时,此方案无效。
ParaxialImageHeight
(近轴像高)
像面上,像的近轴高度。
此方案适于画面格式和大小固定的情形,例如摄影机中的摄影胶片。
如果一个光学系统满足近轴光学的要求,则可以采用此方案。
RealImageHeight
(真实像高)
像面上的真实像高。
此方案也适于前面的固定画面情况。
但在此方案下,光线的追迹速度有些慢,因为ZEMAX必须以交互方式决定主光线在像面上的坐标。
对我们这个单透镜,我们将以角度来定义其视场。
因为透镜的单视场大小是
,因此需设置3组视场角,(0,0),(0,3.5),和(0,5)。
在FieldDatadialog内,一共可输入12组视场值。
每组视场值都可设置一个权,这个权主要是在优化过程中使用。
对我们这个单透镜,可将所有视场值的权都缺省设为1。
将上述3组视场值送入FieldDatadialog的前3行,如下图所示:
单击"OK"退出FieldDatadialog。
五、波长设置
ZEMAX中,波长的设定与视场类似,所不同只是波长要送入WavelengthDatadialog。
访问WavelengthDatadialog,可从主菜单选择System>Wavelengths,或在按钮栏单击“Wav”按钮。
这个单透镜是纯单色的(属于单个波长)。
初始设计要求已经明确,波长为0.6328μm,这是He-Ne激光器的波长。
这个波长值可手动送入到WavelengthDatadialog中,也可从WavelengthDatadialog下端的下拉菜单中选择软件已经预先设定好的波长值。
F,d,C(Visible)是缺省项中的首选。
但对我们这个单透镜,要从下拉菜单中选择HeNe(.6328),然后单击下拉菜单旁的“Select->”按钮。
完成此操作,ZEMAX将自动地将该波长值送入WavelengthDatadialog的第一行。
注:
ZEMAX中,不管透镜的单位怎样设置,波长的单位永远都是微米。
单击"OK"退出WavelengthDatadialog。
此时,透镜的波长已设为632.8nm。
另外还需注意,波长也有加权设置,在ZEMAX中有多种用途。
对我们这个单透镜,只需将波长的权置保持为缺省的1即可。
六、在ZEMAX中插入面
完成系统参数设置后,即可开始在LDE中设定各面的参数。
在此,我们再强调一次,LDE的每一行,对应单独的一个面。
也正因此,两个由玻璃隔开的面就组成一个单透镜。
所以,在ZEMAX,在完整地描述一个单透镜,共需要4个面。
1.Theobjectsurface(OBJ):
(物面)
对应发出光线的位置
2.Thefrontsurfaceofthelens:
(透镜的前表面)
对应光线进入透镜的位置。
对我们这个单透镜,它也是光阑面(STO)。
3.Thebacksurfaceofthelens:
(透镜的后表面)
从该面始,光线离开透镜进入空气
4.Theimagesurface(IMA):
(像面)
对光线的追迹,在该面终止。
LDE中,像面后再不能有其他面。
这里提请用户注意,该面不一定是实际的像面。
按照缺省设置,LDE只有3个面。
用户想另外加入新的面,可用键盘上的“Insert”键,或者从LDE的菜单栏,选择Edit>InsertSurface。
这两种操作的结果,都是在当前光标实际所在行的前一行加一个新的面。
如果想在当前行之后加一个面,可执行“Ctrl+Insert”,或Edit>InsertAfter。
对我们这个单透镜,光阑位于前表面,因此需将光标置于像面所在行,然后按“Insert”键。
此操作的结果是在像面之前加入了一个新的面,它对应透镜的后表面。
不要忽视LDE注释栏的作用,它有助于用户记忆各面的物理意义。
要对各面加注,只需将光标置相应位置,然后手动输入文本内容。
加注完成,需击“Enter”键,或者用“”、“”等键,将光标移开。
为各面加注,是ZEMAX用户应该养成的好习惯。
对现在这个单透镜,我们在LDE的对应位置,加入如下内容:
七、输入透镜数据
我们这个单透镜的材质采用N-BK7玻璃。
在ZEMAX中,所谓透镜的材质是指制造将透镜前、后表面分隔开的物质的材料。
在ZEMAX中输入分隔两面的玻璃类型,只需在LDE的适当单元格内,手动写入玻璃的名称(本例中是N-BK7)。
ZEMAX有内建的玻璃库,如上所述,只要手动输入玻璃类型,软件就会自动对其加以识别。
玻璃库由全球范围内的著名玻璃制造商提供,内含几百种玻璃的信息。
用户输入玻璃名称后,ZEMAX会在库内自动进行查找,以确定与用户确定的各波长相对应的玻璃的折射率。
在LDE中送入玻璃类型后,就可在Surface1的厚度栏内输入单透镜的厚度。
这个厚度是指沿光轴方向上从当前面到下一面的距离,因此它也就是这个单透镜的中心厚度。
因为我们这个单透镜的孔径是25mm,作为初始值可把厚度设为4mm,这是一个合理的中心厚度。
在Surface1的厚度栏内键入4。
这里提请用户注意,稍后,优化时,我们将把该参数设为变量。
类似地,Surface1的半径,以及透镜的后表面到像面的厚度值都不需预先设定,优化时它们都将设为变量。
现在,我们Surface1的半径设为Infinity,并将Surface2的厚度设为100mm。
将100键入Surface2的厚度栏。
八、优化方案(Solves)
在光学设计时,要满足给定的约束条件,两种方法:
1.将对约束条件有影响的参数设为变量,并且在MeritFunctionEditor(评价函数编辑器,将在稍后介绍)中,添加边界约束条件。
或者
2.采用特殊的solves,以强化约束条件,同时消除不必要的变量。
在这两种方法,后一种更好。
虽然两种方法都能通过调整透镜参数,达到维持特定边界条件的目的,但额外添加的边界约束条件,会减慢评价函数的运行速度。
ZEMAX中有很多种不同的solve,各有不同的功能。
但这个单透镜的性能要求只能用一个solve,即取系统的F/#方案,以便维持焦距值。
可用两种不同的方法打开solvedialog,一是用右键单击对应的单元格;二是用鼠标选中该单元格,然后键盘上的“Enter”键。
待优化的参数类型不同,对应的solve选项也不同。
为了保持系统的F/#,可在Surface2的半径上加FNumber优化方案。
FNumber方案的作用是调整最后一个光学面的曲率,从而维持系统的焦距不变。
右击Surface2的Radius单元格,以激活surface2dialog的Curvature方案。
从下拉菜单的中选择"SolveType"选择FNumber,并在"F/#"旁的空格内键入4。
单击"OK"退出solvedialog。
设定了FNumber优化方案后,ZEMAX会自动地对半径进行调整,以保持所需要的F/#。
换言之,一旦透镜的参数发生变化,软件将会自动地重新对solve进行计算。
半径旁的字母"F"表示已设定了FNumber方案。
九、优化有对系统性能进行评估
ZEMAX有很对分析功能,每种都可能于对设计方案的性能进行评估。
在我们这个单透镜实例中,我们使用其中的4种最基本的分析功能来分析单透镜系统的性能,以便在优化前对其进行评估。
Layout
(外形图)
要打开layout,可从主菜单上选择Analysis>Layout>2DLayout,或者在按钮栏单击“Lay”按钮。
2DLayout描绘的是透镜的YZ向截面图,且只对轴向旋转对称系统有效。
对我们这个简单的单透镜,layout是一个有效的视觉描述。
SpotDiagram
(点列图)
要打开spotdiagram,可从主菜单上选择Analysis>SpotDiagrams>Standard,或者在按钮栏单击“Spt”按钮。
spotdiagram描述的是点物的像。
如果没有像差,点物会成一个理想像点。
按缺省设置,ZEMAX将给出每个视场点的spotdiagram。
OPDFan
(光程差曲线)
要打开OpticalPathDifference(OPD,光程差)曲线,可从主菜单上选择Analysis>Fans>OpticalPath,或者在按钮栏单击“Opd”按钮。
OPDfan描述的是光程差随光瞳坐标的变化关系。
在理想光学系统中,波前的光程差就等于出瞳处的无像差的球面波前。
RayFan
(光线扇曲线)
要打开RayFan,可从主菜单上选择Analysis>Fans>RayAberration,或者在按钮栏单击“Ray”按钮。
RayFan描述的是光线像差与光瞳坐标间的函数关系。
一般来讲,一条由物点发出,穿过光学系统,一直传到像面的光线,其与像面的交点,总是会偏离主光线与像面交点一段非零距离。
另外,对一个理想光学系统,在光瞳面上的光线像差总等于零。
对透镜设计师而言,要确定光学系统存在的像差种类和量级,SpotDiagram,OPDFan,和RayFanPlot是非常重要的工具。
但设计师如何依据这些曲线确定光学系统所存在的像差,已经超出了我们这次课设的范畴。
在以后的工作和学习过程中,如果同学们对这个问题感兴趣,ZEMAX用户手册第1章中涉及到的参考文献。
截止目前,我们这个单透镜的基本结构已设计完成。
打开上面提到的分析曲线,观察目前透镜的性能。
从上面的分析曲线可以看出,透镜中明显存在比较大的像差,其中不仅有球差、彗差、畸变、离焦、场曲和像散,还有其他的像差。
另外,在最大视场处,几何和RMS半径(从SpotDiagram的下端可读到这两个值)大约分别为734.581和1774.42μm。
十、快速距焦工具
从上述的四种分析曲线可见,当前这个单透镜的性能明显没有达到最佳。
没过到最佳的一个主要的影响因素是,像面的位置是随机选择的。
甚至从Layout上就能看出,我们当前所选择的像面不是在“最佳焦点”处。
即便在优化前,我们也可利用ZEMAX的某个工具,使当前的像面位于一个比较好的位置。
该工具就是QuickFocustool.。
QuickFocus是ZEMAX的特色工具,它能调节像面之前一面的厚度,从而使RMS像差最小。
要打开QuickFocusdialog,可从主菜单上选择Tools>Miscellaneous>QuickFocus,或者在键盘上击"Shift+Ctrl+Q"键。
这个“最佳焦点”位置的确定,同用户选择的优化原则有关。
对这个单透镜,用户可选择关于centroid(形心)的radialspotsize(径向点大小)。
选择SpotSizeRadial,并选中"UseCentroid"旁的方框。
单击"OK"退出QuickFocustooldialog。
此时,我们要注意,像面之前一面的厚度自动所发生的变化。
前面我们打开了4个分析窗口,现在分别点击各分析窗口的左上角的"Update"选择,对各分析窗口进行更新。
显然,仅仅因为我们重新选择了像面位置,各性能曲线就发生了相当明显变化。
特别是,最大视场角处的RMS和Geometrical点大小各减小了将近
。
尽管目前这个设计方案毫无疑问地要好于之前的设计,但仍然还有改进的余地。
十一、变量设置以及缺省评价函数的构造
一个单透镜所能达实现的性能一定是有限的,但还是可以利用ZEMAX来找到一个同当前这个相比要相对更好一些的设计方案。
这个过程也就是利用ZEMAX进行优化的过程。
优化前,特别要注意,一定要首先确定这个优化前方案的自由度。
也即,透镜中有多少个参数可自由调整?
对我们这个单透镜实例而言,有一个参数(即Surface2的半径)不再能自由变化,因为为满足特定的设计约束条件,它是受solve控制的。
除此之外,为使透镜的RMS点半径最小,透镜的中心厚度(即Surface1的厚度)、前表面的曲率半径(即Surface1的半径)、后表面到像面的距离(即Surface2的厚度)都是可以变化的。
在优化过程中,要使某一参数可自由变化,需在LDE代表该参数的单元格将该参数设为变量。
要将某参数设为变量,可右击对应的单元格;或者用鼠标选中单元格,然后在键盘上击Ctrl+Z键。
在随后出现的solvedialog中,将"SolveType"设为Variable。
再击"OK."完成设置。
参数旁出现的字母“V”表示该参数已设为变量。
参照这个过程,将上面提到的3个参数都设为变量。
完成变量的设置后,就可构造DefaultMeritFunction。
评价函数是在一个同LDE完全不同的单独的编辑器内构造的,这个编辑器称为MeritFunctionEditor(MFE,评价函数编辑器)。
在ZEMAX中,要打开MFE,可从主菜单上选择Editors>MeritFunction。
评价函数是从数字方面描述一个光学系统满足特定目标的程度的函数。
在MFE中,ZEMAX会给出一个操作数清单,它们分别代表系统的约束条件或目标。
评价函数构造完成后,ZEMAX中的优化算法将使评价函数值尽可能最小。
评价函数的构造可以是手动的,但令ZEMAX自动为我们构造将更容易些。
要构造缺省的评价函数,可在MFE的菜单栏上,选择Tools>DefaultMeritFunction。
在随后出现的DefaultMeritFunctiondialog中,有多个选项。
关于各选项的含义,请阅读ZEMAX用户手册第14章。
对我们这个单透镜,优化的目的是使关于形心的RMSSpotRadius最小,各选项已内置在ZEMAX的缺省评价函数功能中。
在DefaultMeritFunctiondialog中,选择RMS,SpotRadius,和Centroid。
为防止单透镜变得太厚或太薄,我们必须为透镜设置厚度的边界约束条件。
在缺省的评价函数中,有限制玻璃和空气厚度的边界约束条件选项。
选择“Glass”选项,在相应的空格内手动填入最小,最大,以及边缘厚度值。
在本资料最开始的部分,已明确规定单透镜的中心厚度必须介于2mm~12mm之间,同时边缘厚度大于2mm。
据此,我们在DefaultMeritFunctiondialog的"Min","Max",以及"Edge"玻璃厚度框内填入适当的值。
对我们这个单透镜实例,除上述选项外,其它选项都可选择缺省值。
击"OK"完成设置。
十二、执行优化
接前面第十一部分的内容。
在关闭DefaultMeritFunctiondialog后,请注意自动插入到MFE中的操作数。
其中的每一个操作数都有特定的Target,Weight,和Value,它们都影响着MFE左上方的评价函数值。
在优化过程中,ZEMAX会尽可能降低这个评价函数值。
而这个值越小,表示设计方案越接近MEF中所描述的目标。
要执行优化操作,可从主菜单上选择Tools>Optimization>Optimization,或在按钮栏击“Opt”按钮。
随后将出现Optimizationdialog,其中有很多不同的cycle的待选。
对我们这个单透镜,只需选择“Automatic”。
按此选项,ZEMAX将执行优化程序,直到找到一个局部最小值。
注意,ZEMAX会给出初始的和当前的MF(评价函数)值。
击"Automatic"按钮,开始执行优化,注意MF值的变化。
BEFORE
AFTER
击"Exit"退出Optimizationdialog。
十三、对最终的系统进行评估
现在,优化已经完成,我们要对最终的设计性能进行评估,以确保最初的设计已得到满足。
可从各图形窗口的菜单栏击"Update",以便对已在前面打开的各分析窗口进行更新。
观察这4个图,我们可以大体认为,按照约束条件经过优化的这个单透镜可以满足最初的设计要求,同优化前相比,RMS和GeometricalSpotradii分别降低了大约
。
同时,软件所确定的透镜的中心厚度也在要求的范围之内,边缘厚度也大小2mm,均满初始的系统要求。
虽然我们最终得到的这个单透镜的性能达不到衍射极限的要求,但重要的是整个设计过程。
这个过程同样适用于结构更复杂、参数更丰富的光学系统的设计。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学习 如何 设计 一个 透镜