本帖最后由 dannie 于 2024-8-1 10:34 编辑
复眼透镜匀光原理
把原本可能不均匀的准直光斑经过小透镜分割之后,再由积分透镜叠加到照射面上。
SYNOPSYS中的透镜阵列
所有可以在SYNOPSYS中定义的表面形状也可以被定义为相同的小透镜阵列。例如,这种元件在成型的塑料板中经常使用。当表面被赋予了想要的形状,只需用输入(在RLE或CHG文件中)声明它是一个数组ARRAY即可。
SN ARRAY NXARRAY NYARRAY XSPACING YSPACING
SN为表面编号,NX/NYARRAY为X和Y方向的镜头数。X/YSPACING为X/Y方向的阵列间隔。
例如,要在表面2上以3乘3的网格创建一个相同的小透镜阵列,小透镜之间的距离为0.1,可以输入:2 ARRAY 3 3 .1 .1
透镜阵列注意事项
1. 需要一个自定义输入的圆形孔径或矩形孔径,以定义镜头阵列的总尺寸。这个孔径可以是倾斜偏心的。如果没有输入,程序将创建一个RAO矩形孔径,它将包括整个阵列。注意,这里的孔径适用于整个阵列,而不是个别的小镜头。
2. 网格编号应该是奇数,中央的小镜片将在光轴上居中。
3. 不能在阵列上设置任何倾斜、偏心、局部或全局的坐标。光线追迹会根据需要自动计算出一个临时的偏心,以便将每条光线放在最近的透镜单元上的正确位置,这将与上述所有选项相冲突。如果你需要用这些选项来定位阵列,请在阵列之前使用虚拟表面。阵列后面的标面可以随意指定。
4. 为了正确显示阵列这个元件,另一边应该被分配一个与阵列相同的CAO或RAO孔径。如果另一边也涉及到小镜片,那么这一边也必须被声明为阵列:该指定适用于单个表面,而不是元件,因此两边都必须被定义为阵列。
5.不要在阵列后面的任何地方放置一个真实光阑。在这种情况下,通常没有一个唯一的主光线,而且光瞳搜索很可能不会收敛到想要的结果。
6. 所有的输入参数都不应该是零。如果输入了零,程序会用合理的默认值代替。
以下为设计的复眼透镜阵列指标:
光源波长0.405微米
准直后光源发散角5°(无穷远平行光最大半视场角)
照亮区域直径为1.5mm
假设透镜单元半径0.3mm(入瞳半径)
透镜阵列为21*21
假设单复眼的曲率半径为2,计算得透镜的厚度为6mm左右
对应镜头文件评论区留言获取
透镜的厚度用YMT求解计算近轴焦点,透镜后表面的曲率半径拾取前表面的负号。
加入指令
1 ARRAY 21 21 0.600000 0.600000
2 ARRAY 21 21 0.600000 0.600000
把表面1和2补充为21*21的阵列,并且调整物方参数,扩大孔径等等。
对应镜头文件评论区留言获取
运行宏文件,查看对于准直光束的复眼的效果:
对应宏文件评论区留言获取
在初始透镜单元后方设置一个焦距为10的积分透镜作为初始结构,可以看到对于单个透镜单元的准直效果。
在透镜阵列后面设置相同参数的积分透镜初始结构:
运行宏文件,查看整体效果,需要做进一步优化。
对应宏文件评论区留言获取
优化宏:
优化宏文件评论区留言获取
运行宏文件,查看整体效果:
对应宏文件评论区留言获取
积分效果比较理想。
照明模式查看,运行一个宏命令,如下图,查看照明模式的结果:
用一百万条光线追迹,探测器分辨率为100,最终积分结果的分布和均匀度都还可以。
优化积分透镜的位置和曲率半径、圆锥常数。
用YA去控制每个复眼单元上下位置的光线聚集到固定的位置。
注意正负号和中心光线的控制,不需要GSR/GNR等像差控制。