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

  • 1. 概述
  • 2.设计过程
    • 2.1 先设计一个单透镜代替整个扫描镜头组。
    • 2.2 添加反射镜
    • 2.3 多重结构下的扫描角度设置
  • 3. 总结

1. 概述

在成像系统设计中,激光扫描系统占了相当一部分,从简单的一维线性扫描,到二维平面扫描或三维立体扫描,这些激光扫描系统已经广泛地应用于多种场合。如激光打标,激光刻蚀,三维轮廓扫描仪,激光条码扫描仪等等。这些系统光路在设计原理上并不是十分复杂,通过配合激光扩束器、分束器、扫描振镜、扫描电机等组合成完整的扫描系统。
其原理图类似下图,振动镜是可以旋转的。

扫描系统分类:

以上各种扫描系统都可以在ZEMAX中实现,并可以动态演示扫描效果。我们以最简单的一维线性扫描为例来看扫描系统的完整设计过程。

2.设计过程

2.1 先设计一个单透镜代替整个扫描镜头组。

我们需要设计一个透镜,一个绕自身中心旋转的平面反射镜,反射镜通过旋转不同角度将激光聚焦于像面不同位置处,形成扫描。我们知道一束光在一个旋转角度下只能聚焦于某一位置,若想同时模拟在不同旋转角度下光路位置,需使用多重组态功能(在变焦系统中介绍过)。

先使用一片单透镜来代替整个扫描镜头组,其规格为:

入瞳直径 10
焦距 100
材料 BK7
厚度 15
波长 0.6328um

第3面的曲率半径是F/#=10求解出来的。

输入完成之后,设置优化参数,优化对象为RMS 点列图,质心。设置两个变量。


之后开始执行优化。

2.2 添加反射镜

我们需要在透镜前方添加振镜,假如距离透镜50mm,我们将光阑STO面(目前第一个表面)厚度设置为50mm,为了能看到入射光束,在光阑面前面再插入一个虚拟面,厚度同样设置为50mm:

之后,将第1面设置为反射镜。

我们看到在L3d视图中变成以反射镜面为全局参考面:

为了将入射光束(假设激光器出口)设置为全局参考,可以直接在第一个表面上点右键,打开表面属性对话框,设置为全局坐标参考面:

2.3 多重结构下的扫描角度设置

我们需要模拟反射镜的旋转,使用坐标断点面可实现元件的各种旋转,在这里我们直接使用快揵方式来旋转元件。假如此扫描系统扫描全角度为40度,则反射镜旋转半角为10度。

做如下设置:


在透镜数据编辑器中将自动插入两个坐标断点面,实现了单个反射镜的旋转,其它元件保持不变:

我们要模拟反射镜旋转不同角度状态,这时需使用多重组态功能,在变焦系统设计时我们对多重组态工具有详细讲解。

按下F7打开多重组态编辑器,假如我们要模拟五个不同角度状态,这时再插入四个组态。

反射镜旋转不同角度形成了扫描状态,我们需要把控制反射镜旋转角度的参数提取到多重组态下,让它们单独变化。控制旋转角度的就是当前第3个表面的倾斜 X参数。

在多重组态编辑器下选择这个参数的操作数,即Par3/3。选择这个操作数以后,在五个组态下分别输入角度值:-10,-5,0,5,10:

打开3d图,在图上点击右键打开设置对话框,选择显示所有组态,光线颜色按组态区分:

我们也可以一个组态一个组态单独显示,结构选中当前,使用快捷键:Ctrl+A对组态进行切换。

从视图上可明显看到由于场曲导致的外视场像差很大,点列图选择右上角的所有,查看点列图:
可以在打开评价函数直接进行优化即可。

3. 总结

此时我们一维扫描系统设计就全部结束了,可以在这个基础上加入另一片振镜形成二维平面扫描,或再加入电动扩束系统形成三维立体扫描。在ZEMAX高级应用中,也可以利用编程语言实现自动扫描。

Zemax学习笔记(12)- 扫描系统实例相关推荐

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

    Zemax学习笔记(11) - 变焦镜头设计实例 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学习笔记(10)- 牛顿望远镜实例

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

  4. HALCON 20.11:深度学习笔记(12)---语义分割

    HALCON 20.11:深度学习笔记(12)--- 语义分割 HALCON 20.11.0.0中,实现了深度学习方法. 本章解释了如何使用基于深度学习的语义分割,包括训练和推理阶段. 通过语义分割, ...

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

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

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

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

  7. Linux学习笔记12——配置ftp、squid、Tomcat、Samba、MySQL主从

    Linux学习笔记12 Linux学习笔记12 配置FTP服务 配置pure-ftpd 开机启动 上传下载文件 配置vsftpd CentOS 70安装配置Vsftp服务器 搭好vsftp之后出现55 ...

  8. Kotlin学习笔记12——数据类和密封类

    Kotlin学习笔记12--数据类和密封类 前言 数据类 在类体中声明的属性 复制 componentN 解构声明 密封类 尾巴 前言 上一篇,我们学习了Kotlin中的拓展,今天继续来学习Kotli ...

  9. Zemax学习笔记(16)- ZEMAX_分析>报告使用说明

    Zemax学习笔记(16)- ZEMAX_分析>报告使用说明 总述 1.报告图 2.数据报告 3.摘要数据 总述 在ZEMAX中,想要获取系统最直接的参数,最方便的工具不失为系统分析>报告 ...

最新文章

  1. C#只允许启动一个WinFrom进程
  2. Python 集合的定义以及常用运算及函数
  3. MySQL 技术篇- linux下mysql数据库利用binlog文件进行数据回滚实例演示,binlog恢复数据库的两种方式
  4. Leetcode 921. Minimum Add to Make Parentheses Valid
  5. StrUtils 单元下的公用函数目录
  6. git 拉取远端仓库_git 从远程仓库拉取代码
  7. [Android] TextView 分页功能的实现
  8. linux cpu 工作频率,Linux系统限制CPU工作频率(示例代码)
  9. STL 算法/容器——总论
  10. Leetcode 814.二叉树剪枝
  11. HWUI(硬件加速绘制UI)简介
  12. Axure RP9教程 入门讲解
  13. 【头像变更】自己瞎做一个头像,放真实头像做头像虽然真诚,但是心里实在不想!
  14. 基于Nodejs+vue开发实现酒店管理系统
  15. 欧空局:SNAP and the Sentinel Toolboxes下载网址
  16. MySQL单表数据量过大的处理方式经验
  17. 爱死磕金融黄金点评:小周期走势不明,操作需谨慎
  18. 感知机不能表示“异或”
  19. 如何用python自动改试卷_利用python爬取软考试题之ip自动代理
  20. OpenWrt-路由器上的linux

热门文章

  1. 电子封装行业市场专项调查分析
  2. BlumNet: Graph Component Detection for Object Skeleton Extraction阅读笔记
  3. 深度学习入门基础讲义
  4. 经典面试题:64匹马,8个赛道,找出前4名最少比赛多少场?
  5. 2015境外人气餐厅榜单!你吃过几家?
  6. 完美解决OneNote for Windows 10无法同步问题
  7. 排列组合问题之捆绑法和插空法
  8. 初始对准及组合导航技术
  9. 配置WebLogic Tuxedo Connector (转)
  10. html可识别的字体,7款有用的工具来识别字体