Zemax学习笔记(11) - 变焦镜头设计实例

  • 1.概述
  • 2.设计
    • 2.1设计要求
    • 2.2 设计过程
    • 2.3 变焦镜头的优化设置
  • 3. 总结

1.概述

成像镜头包括定焦镜头和变焦镜头,我们在日常生活中使用的光学系统大多是可以变焦的,比如手机镜头、专业相机的镜头、显微镜等。成像镜头在很多实际应用中通常也要求具备变焦的能力,如CCTV监控镜头,红外探测镜头,摄影镜头,双筒望远镜等等,镜头具备变焦的能力便可以应用于多种环境条件,放大缩小或局部特写,这是一个定焦镜头所无法完成的。

所谓变焦,即镜头的焦距在一定范围可调节,通过改变焦距从而改变系统视场大小,达到不同距离不同范围景物的成像。我们通常所说的变焦镜头一般指摄像镜头,即在不改变拍摄距离的情况下通过改变焦距来改变拍摄范围,因此非常利于画面构图。

由于一个系统的焦距在某一范围可变,相当于由无数多个定焦系统组成的,在设计变焦镜头时也是使用类似定焦镜头的分析优化方法。

2.设计

2.1设计要求

设计好的一组镜头如果变化镜片与镜片之间的空气厚度,镜头的焦距会随之变化,通常来说一个系统的接收面尺寸大小是固定不变的(像面:CCD或COMS或其它探测面),在基础光学理论中像面大小、视场和焦距三者有如下关系:
I=f×tan(θ)I = f × tan(\theta) I=f×tan(θ)
I为像高,f为焦距,θ为视场角度。这个关系也很容易理解,一个三角形即可。

变焦镜头的变焦倍数为长焦距和短焦距比值,也称为“倍率”。理论定义下,在变焦过程中镜头的相对孔径保持不变,但对于实际的高变倍比系统,由于外形尺寸不希望过大或二级光谱校正等问题,通常在变焦时采取相对孔径(即F/#) 也跟随变化的方案。

通过改变镜片与镜片之间的间隔达到设计的焦距要求,当系统的入瞳直径D固定时,即系统接受的光束大小一定时,根据F/#=f/D可知,f变化将引起F/#的变化,也就是我们调焦距也就是调光圈大小(F/#也称为光圈),此时光阑大小随焦距变化而变化(非固定值)。这里也有人把调光阑大小称为调光圈。

设计要求:

入瞳直径: 25mm
焦距: 75mm~125mm
像面直径: 34mm
波段: 可见光
玻璃最小中心与边厚:4mm,最大中心厚:18mm
优化最小RMS Spot Diagram

2.2 设计过程

打开ZEMAX根目录\Samples\Short course\Archive\sc_zoom1.zmx
根据上面提供的规格参数来完善我们的初始结构,即系统参数输入:入瞳直径,视场和波长。
此时系统焦距EFFL=98.5mm(状态栏)为定焦系统:

多重结构实现变焦:

ZEMAX提供了一种实现多状态变化的功能,称为多重组态或多重结构。 它可以同时模拟系统参数、环境参数或镜头参数的不同变化,实现多状态操作。比如我们这个初始结构目前为定焦系统,我们可以通过改变透镜组之间的厚度值使这个系统达到不同的焦距状态。那么多重结构便可以让一个面上厚度实现多个值。

在本例中,我们要求实现焦距75mm~125mm,假如采样三个焦距点:75,100,125,我们便得到了这个变焦系统的三个状态。通过改变系统中所有空气厚度实现变焦。也就是在这三个不同焦距状态下,第3、4、7、10面的厚度值也分别不同(因为3、4、7、10这四个面都是空气厚度,可以改变的,玻璃厚度固定后就不能改变了)。

按下键盘上的F7快捷键打开多重结构编辑器,右键增加两个结构,三个结构表示系统有三个状态。

在这三个组态下,我们是通过分别改变3、4、7、10这四个面的厚度达到三个焦距的目的,所以我们需要插入四个厚度组态操作数。点击插入:

并将操作数改为THIC(厚度),表面分别改为 3、4、7、10。

设置完成后系统便有了三种状态,只是目前三种状态完全相同,在多重组态编辑器上我们看到结构 1 右上角带有一个星号*,表示系统当前为第一个组态,也就是说我们打开所有分析功能看到的都是第一组态下的。

打开3d图:

在图上点右键打开设置对话框,我们可以选择将三个组态全部显示在视图中,但一定要让这三个组态在空间有一定的错位,这里给Y方向上偏移60:
这时我们可以看到这三种状态同时显示:

2.3 变焦镜头的优化设置

设置变量:
对于变量,在这个系统中我们分两部分,一部分叫公共变量,就是三个组态共用这三组双胶合透镜,透镜的口径、曲率半径、厚度在这三种焦距状态下是相同的。一部分叫独立变量,就是三个组态不相同的参数部分,这里就是四个空气厚度在三个组态下独自变化。

我们将所有透镜曲率半径及在多重组态中的所有厚度设为变量:

其中3、4、7、10的厚度变量在多组态状态下不能修改,要在多重结构编辑器中进行设置。

共有27个变量。
按下键盘上F6打开评价函数编辑器,在变焦系统中我们要求在所有焦距下成像质量都能达到和定焦情况下相接近的成像水平。由于共用的三组透镜组,所以我们需要同时优化这三个组态,让它们在各自焦距要求下光斑都最小化。


点击OK后,ZEMAX将自动为我们创建三个组态下的目标操作数,组态操作数CONF表示此操作数下所有操作数作用在此组态序号下,直到遇到新的CONF操作数。在这里我们需要为每个组态指定焦距值,在每个CONF下插入一个空白操作数,输入EFFL,指定焦距分别为75、100、125,权重都为1。注意在第一行的CONF下不用输入:

评价函数设置完成后,我们就可以点击执行优化了。
优化时间太长了,有点奇怪。

上图中看到三个组态中同一镜片口径大小却不相同,对于所有透镜口径,在不同组态下相当于不同系统中,ZEMAX中的元件口径是自动跟随光线变化的,也就是始终保持着最小有效口径。为了直观地描述变焦系统是使用同一组镜头,我们将所有透镜口径设置为最大值解,即在每个透镜的净口径上点右键,选择最大:

此时再观察3d图就会显示各组态对应透镜口径都相同了。

3. 总结

主要介绍了优化变焦透镜的方法,重点在于方法的迁移,可能优化次数过多,优化时间太长,最后的3d图会过于狭长。建议不要优化太长时间,迭代次数50次左右即可。

Zemax学习笔记(11) - 变焦镜头设计实例相关推荐

  1. Zemax学习笔记(12)- 扫描系统实例

    Zemax学习笔记(12)- 扫描系统实例 1. 概述 2.设计过程 2.1 先设计一个单透镜代替整个扫描镜头组. 2.2 添加反射镜 2.3 多重结构下的扫描角度设置 3. 总结 1. 概述 在成像 ...

  2. Zemax学习笔记(9)- 双胶合透镜消除色差的实例

    Zemax学习笔记(9)- 双胶合透镜消除色差的实例 1.概述 2.设计优化 2.1 参数要求 2.2 设计优化过程 3.总结 1.概述 这一章虽然也是双胶合透镜,但是讲到了如何利用ZEMAX替换材料 ...

  3. Zemax学习笔记(14)- ZEMAX 的DMD设计

    Zemax学习笔记(14)- ZEMAX 的DMD设计 1.设计概述 2.实现过程 2.1 基础设置 2.2 DMD(MEMS)设置 2.3 设置演示 2.4 完善结果 3.总结 1.设计概述 起因是 ...

  4. Zemax学习笔记(10)- 牛顿望远镜实例

    Zemax学习笔记(10)- 牛顿望远镜实例 1.概述 2.设计牛顿望远镜 2.1抛物面反射设计 2.2 平面反射设计 2.3 添加遮拦孔径 3.总结 1.概述 在光学系统设计中,除了透镜折射成像之外 ...

  5. Zemax学习笔记(15)- ZEMAX设计光谱仪

    Zemax学习笔记(15)- ZEMAX设计光谱仪 1.简介 2.设置 3.验证 4.光谱分辨率和衍射极限 1.简介 光谱仪(Spectrometer)是一种测量光强随波长分布的仪器,用途十分广泛.本 ...

  6. Zemax学习笔记 (8)- 光学系统各种像差 及其 Zemax模拟

    光学系统各种像差 及其 [Zemax模拟] 1. 概述 像差从字面意思上看,就是成像的误差.光学系统并不是理想的,实际上成像不会完美地在像面上形成一个成像点,任何光学系统都只能尽可能地接近理想状态,那 ...

  7. Zemax学习笔记(3)- Zemax中的序列模式和非序列模式

    Zemax学习笔记(3)- Zemax中的序列模式和非序列模式 序列模式与非序列模式 序列模式 窗口浮动或者固定 主要分析 非序列模式 混合模式 光源建模 创建复杂的几何体 CAD 导入 布尔命令 光 ...

  8. SpringMVC:学习笔记(11)——依赖注入与@Autowired

    SpringMVC:学习笔记(11)--依赖注入与@Autowired 使用@Autowired 从Spring2.5开始,它引入了一种全新的依赖注入方式,即通过@Autowired注解.这个注解允许 ...

  9. HALCON 20.11:深度学习笔记(11)---目标检测

    HALCON 20.11:深度学习笔记(11)---目标检测 HALCON 20.11.0.0中,实现了深度学习方法. 本章讲解了如何使用基于深度学习的对象检测. 通过对象检测,我们希望在图像中找到不 ...

最新文章

  1. 有了“手掌”,机械手也能盘“核桃”,耶鲁出品 | Science子刊
  2. 用户隐私泄露事件频发,我们的信息很难维护吗?
  3. VTK:图片之ImageVariance3D
  4. python学习教程(链接)
  5. oracle函数 INITCAP(c1)
  6. 前端wxml取后台js变量值_微信小程序云开发教程WXML入门数据绑定
  7. 推荐几款提升效率的神器
  8. 中移4G模块-ML302-OpenCpu开发-(固件编译和烧录)
  9. tx2 fpga pcie无法读写_Cyclone V SOC(ARM+FPGA)开发文档_之开发流程详解
  10. python实现简单计算器_Python实现的简单计算器功能详解
  11. 使用盒子模型仿照优酷的页面片段
  12. 不联网的情况下,使用 electron-builder 快速打包全平台应用
  13. 开关二极管IN4148
  14. GBASE 8s 数据库 安装与卸载
  15. 关于SQL Server中将数值类型转换为字符串的问题
  16. Vuforia SDK---- AR开发vuforia 问题总结
  17. Android 4.0 Launcher源码详细分析 傻蛋
  18. 通过CMA、CNAS双认证的第三方软件测试机构安利
  19. Java定时任务调度工具之Timer
  20. webstorm问题 Cannot load settings from file...

热门文章

  1. aiml的中文适配aiml_cn
  2. Delphi/Object Pascal开源跨平台3D和2D(台式机,移动设备,游戏主机)游戏引擎Castle Game Engine正式发布7.0预览版
  3. 最新江苏安全员B考试判断练习题库
  4. 论文分栏前后内容不连续?教你word如何删除分节符
  5. 解决CCS闪退问题(亲测有效)
  6. 【数据结构笔记】将两个递增的有序链表合并为一个递增的有序链表
  7. java Excel导出功能之 固定列表格
  8. Matlab 查阅、读取nc数据
  9. 近期BSN开发常见问题答疑
  10. Java加密技术(四)——非对称加密算法RSA