目 录

引言

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

如下图所示扫描原理:

 扫描系统根据反射旋转类型分为平面振镜扫描和转鼓扫描,根据光路路途分为一维、二维和三维扫描,根据振镜与扫描镜头的位置又可分为镜前扫描和镜后扫描。

  

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

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

 我们使用一片单透镜来代替整个扫描镜头组,单透镜规格参数:

EPD 10

EFFL 100

Glass BK7

Glass Thickness 15

Wavelength 0.6328um

 在这里我们快速设置初始结构,有关单透镜的详细设计流程请参考技术文章:ZEMAX基础实例 - 单透镜设计

 http://www.optotek.com.cn/knowledge-item-123-ZEMAX-Singlet-Design-Optimization.html

 打开General对话框输入入瞳直径10mm:

 打开Wavelength对话框输入波长0.6328:

 在像面前插入两个新的标准面,输入材料及玻璃厚度,在透镜最后面上设置F数求解类型,透镜前表面曲率半径和像空间厚度设置变量:

按下F6打开评价函数编辑器,设置默认评价函数,优化RMS Spot Radius:

设置完成后,点击Opt按扭进行优化:

 

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

我们使用快速添加折反镜工具(在技术文章牛顿望远镜设计中详细讲解过),选择:Tools>>Coordinates>>Add Fold Mirror

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

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

 

然后在L3d图上双击得到视图如下:

[pagebreak] 多重结构下的扫描角度设置

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

打开工具:Tools >> Coordinates >> Tilt/Decent Elements,做如下设置:

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

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

按下F7打开多重组态编辑器,假如我们要模拟五个不同角度状态,这时再插入四个组态,按Ctrl+Shift+Insert组合键四次:

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

在多重组态编辑器下选择这个参数的操作数,即Par3/3:

选择这个操作数以后,在五个组态下分别输入角度值:-10,-5,0,5,10:

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

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

设计到这里,我们这个简单的一维线扫描系统结构设置完成了,从视图上可明显看到由于场曲导致的外视场像差很大,可打开Analysis >> Spot Diagrams >> Configuration Matrix查看各组态光斑分布大小:

轴外视场光斑与轴上分离严重,主要原因我们可想而知,因为刚开始我们只优化了单透镜轴上视场的像质。

这里我们可以进行统一优化,按下F6打开评价函数,默认评价函数对话框中直接点击OK即可重新优化:

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