【Zemax光学设计实训三】---激光缩束镜的设计优化

前言与目录

技术设计要求:

设计一个激光扩束镜,使用的波长为1064nm,输入光束直径为10mm,输出光束的直径为2mm,且输入光束和输出光束平行(即平行光入射,平行光出射)。要求只使用两片镜片(材料均为BK7),设计必须是伽利略式的(没有内部焦点),在镜片之间的间隔必须不超过50mm,只许使用1片非球面。


目录

一、参数分析

二、Zemax参数设置

三、初始结构设计

四、光学系统优化

五、像质分析:


一、参数分析

  1. 波长(𝜆λ):1064 nm
  2. 输入光束直径(𝐷𝑖𝑛):10 mm
  3. 输出光束直径(𝐷𝑜𝑢𝑡):2 mm
  4. 镜片材料:BK7
  5. 镜片之间的间隔:不超过200 mm
  6. 非球面镜片数量:1

伽利略式扩束镜由两个透镜组成,第一个透镜(L1)是一个会聚透镜,第二个透镜(L2)是一个发散透镜。输入光束通过L1后会聚,然后通过L2发散,形成平行输出光束。

扩束镜的放大率𝑀M由输出光束直径与输入光束直径的比值给出:

𝑀=𝐷𝑜𝑢𝑡/𝐷𝑖𝑛=2 mm/10 mm=0.2;该设计为一个相当于0.2倍的扩束镜

只能使用一片非球面透镜,我们可以选择L1作为非球面透镜。非球面透镜可以校正球面像差;

二、Zemax参数设置

1、设置入瞳直径为10mm;由于入射光斑为10mm;设置波长为1.064um;由于是平行光入射,直接视场设置成一个就行,不需要额外设置;由于是平行光输出(可以将无焦像空间勾选);

图1

三、初始结构设计

由于这个是一个伽利略式的扩束镜形式,所以可以直接设置两个平板进行优化,为方便,我随意设置了一个初始结构,如下图:

图2

透镜编辑窗初设参数(根据设计要求,需要先初步设定第一面和最后一面的曲率半径,形成初步结构。),由于项目要求,两曲面的曲率半径可优化,厚度可优化,但是系统长度需要控制50mm,后续在优化操作数里面进行控制;

初始结构的光线如图:

图3

四、光学系统优化

1、由于由两片透镜组成,那么我们可以将两个透镜的前后曲率半径设置为变量;以及透镜的厚度及空气间隔也是可变得优化量,但是为了方便,还是一步一步进行优化;

设置变量

2、打开评价函数进行优化

在开始优化之前,我们需要设置评价函数,首先打开评价函数优化向导,设置成波前优化,类型为RMS;参考质心;并设置空气得边界条件:最小0.5mm,最大50,边缘厚度最小0.1;

评价函数优化向导

之后添加我们自己得优化函数;限制第一个面和最后一个面得总长度小于50mm,并且限制输出得光束大小为2mm;

函数说明:

TTHI------用于计算第一面到最后面的总长度。

OPLT------控制系统的长度范围不超过某个数值(不等式约束)。

REAY------控制出射面边缘光束的高度。

3、开始优化

点击执行优化,可以看到,评价函数从4.403一下就优化到很小了;

优化前参数

优化后,得到下图:

优化后

五、像质分析:

光扇图和光程差图:

波前图:

点列图:

总结:由于本次的光学条件很轻松,简单优化便达到了理想的像质,没有什么难度,所以就用来复习一下zemax的使用流程;在这次优化设计中,未用到非球面,且厚度变量也未使用到,属于非常简单的光学系统了,后续继续更新光学系统的设计和优化


--

本篇文章为个人学习笔记,供学习和复习使用。未经允许不得转载或用于商业用途。

相关推荐
好好研究1 分钟前
Java基础学习(一):类名规范、返回值、注释、数据类型
java·学习·算法
C++、Java和Python的菜鸟4 分钟前
第二章 矩阵
人工智能·算法·矩阵
QZ_orz_freedom10 分钟前
uni-app学习笔记01-项目初始化及相关文件
笔记·学习·uni-app
阑梦清川18 分钟前
搜索算法---填涂颜色问题(在外围添加多余的0的求解方法)
算法
qiuyunoqy41 分钟前
蓝桥杯算法之搜索章 - 2
算法·蓝桥杯·深度优先
2301_763994711 小时前
c++11特性
数据结构·c++·算法
序属秋秋秋1 小时前
《C++初阶之STL》【模板参数 + 模板特化 + 分离编译】
开发语言·c++·笔记·学习·stl
快去睡觉~1 小时前
力扣148:排序链表
算法·leetcode·链表
玄昌盛不会编程1 小时前
LeetCode——2683. 相邻值的按位异或
java·算法·leetcode
le1616162 小时前
Groovy学习篇章一之—— GDK 探秘:Groovy如何给Java对象“开外挂”,让String也能“跑命令”!
android·java·学习