cpubbs论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

LabVIEW+单片机学习套件全套教程资料下载[免费]LabVIEW论坛精华列表贴USB0816数据采集卡《LabVIEW宝典》
LabWindows/CVI论坛精华贴NET0816以太网数据采集卡RC0210远程设备授权系统 关闭关停锁定打开设备 户外分布式数据采集
NET1624低速高精度以太网数据采集卡WIFI0824SD无线WIFI网络数据采集卡脱机运行 SD存储 小尺寸微型 串口采集远程采集 安卓 手持移动采集 纪录仪
查看: 15|回复: 0

Ansys Zemax光电软件技术教程:如何在OpticStudio中建模DMD(MEMS)

[复制链接]
发表于 2023-4-10 09:21:01 | 显示全部楼层 |阅读模式
数字镜阵列 (DMD) 或微机电系统 (MEMS) 由一组小型矩形反射镜组成。每个镜子可以有不同的倾斜度。这些设备可用于许多应用,包括光谱学(镜子可以在不同位置发送不同波长的光)和DLP投影技术-将图像从监视器投影到大屏幕上。OpticStudio可以使用DLL对它们进行连续建模,或者使用MEMS对象对它们进行非序列建模。

作者 Michael Humphreys and Sandrine Auriol

文件下载
附件下载

什么是DMD/ MEMS
下图显示了一个DMD设备(https://ibsen.com/technology/spectrometer-tutorial/dmd-spectrometers/)它单独倾斜的微镜组成。镜子通常被称为像素。

image001.pngimage003.jpg

如何在OpticStudio中建模DMD
这些设备可以在序列或非序列模式下建模。

模式

对象

示例文件

序列

User Defined Surface called us_mems.dll

{Zemax}\Samples\Sequential\Miscellaneous\MEMS DLL Sample.ZMX

非序列

MEMS

{Zemax}\Samples\Non-sequential\Miscellaneous\MEMS device.zmx"



如何计算单个像素/镜子的旋转
本节将说明如何设置单个像素的旋转。像素可以按行(在这种情况下,一行镜子将始终处于相同的状态/倾斜)、按列(在这种情况下,一列镜子将始终处于相同的状态/倾斜)或按像素单独设置。

在本节中,我们将解释如何单独设置像素,即当P-Flag参数等于2时。

MEMS可以看作是一个网格,从左下角开始,随着您向右移动,然后向上移动一排,像素数会增加。

如下这个例子,下面是一个 6x6 的网格。类似最多3750个元素的任何网格大小(有关更多信息,请参阅帮助文件)。

image005.png

MEMS对象一次考虑15个像素/镜子的组。

因此,如果MEMS是 6x6 网格,则意味着它总共有36个像素,所以共有3组:2组15像素和1组6像素:

image007.png

这些组将由不同的参数设置:

模式

行/列/镜像状态 1-15

行/列/镜像状态 16-30

行/列/镜像状态 31-45

组别

绿色

黄色

橙色

序列模式

参数14标记为“像素 1-15”

参数15标记为“像素16-30”

参数16标记为“像素31-45”

非序列模式

标有“像素1-15”的Par 10列

标有“像素16-30”的Par 11列

标有“像素31-45”的Par 12列

由于每个分组都有一个基数为3的数字来告诉OpticStudio如何指向单个像素,像素的分组可以如下所示进行归一化,每个值对应于您需要将基数3提高到的幂:

image009.png

每个像素可以具有对应于角度0、角度1和角度2的三个值(0、1、2)之一。

假设角度值定义为:

角度 0 = 12°
角度 1 = 0°
角度 2 = -8°  
下面的网格显示了每个像素的状态:

image011.png

现在,要计算行/列/镜像1-15的状态值,您需要使用以下等式:

P =

(像素的角度状态*3^(像素数-1))

image013.png

需要对像素 16-30 和像素 31-45 重复此过程。

Excel宏计算像素倾斜
附件中的 Excel 宏工作簿有助于计算这些值。

要运行 Excel 宏:

点击 Table
然后单击MEMS按钮(确保已设置 Excel 安全性以运行宏)。
将出现一个用户表单,您可以在其中输入X像素和Y像素
然后单击创建表。如果您之前有以前的数据,您应该检查Clear Previous Table
image015.jpg

然后这将填充2个表格,其中一个位于页面顶部,显示行、列、像素数和15个像素的分组,您可以将其用作指南。第二个表格,从我们的6x6示例的第13行开始(该行将根据您选择的X像素的数量而变化)是您应该输入0/1/2像素值状态的地方。

image017.png

输入这些值后,单击“计算P Val”按钮。然后,宏将计算复制并粘贴到OpticStudio中所需的值:

image019.png

序列模式下的MEMS
让我们看一下 {Zemax}\Samples\Sequential\Miscellaneous\MEMS DLL Sample.ZMX 下的Sequential Mode示例文件

该示例文件描述了一个4x4 MEMS反射镜。

image021.pngimage023.pngimage025.pngimage027.png

因此,该器件可以看作:

































现在让我们看看像素处于哪个状态。P flag = 0表示镜像按行寻址。
参数“第 1-15 行”的值 = 5
参数“第 1-15 行”的值 =
R
o
w
1
×
3
0
+
R
o
w
2
×
3
1
+
R
o
w
3
×
3
2
+
R
o
w
4
×
3
3

)



R
o
w
s
1
−
15



=
\(
R
o
w
1
+
3
×
R
o
w
2
+
9
×
R
o
w
3
+
27
×
R
o
w
4

作为参数“Rows 1-15” = 5的值,这意味着
R
o
w
3
= 0 和
R
o
w
4
= 0
然后我们可以推导出
R
o
w
2
= 1和
R
o
w
1
= 2

像素状态定义如下:

0

0

0

0

0

0

0

0

1

1

1

1

2

2

2

2

image023.png

这意味着我们有以下角度。 旋转角度为45度。初始尖端平面沿+X。然后这些角度围绕Z轴旋转以使镜子尖端。

0

0

0

0

0

0

0

0

-10

-10

-10

-10

10

10

10

10

所以布局显示镜子的不同部分有不同的角度:

image031.png

非序列模式下的MEMS
让我们看一下 {Zemax}\Samples\Non-sequential\Miscellaneous\MEMS device.zmx 下的Non-Sequential Mode示例文件

该示例文件描述了一个 1x15 MEMS反射镜。

image033.pngimage035.png

image037.pngimage039.png

因此,该器件可以看作:































现在让我们看看像素处于哪个状态(0,1,2)。 P flag = 2,因此这意味着镜像是单独寻址的。
参数“像素 1-15”的值= 13245761。
我们可以推断像素状态定义如下:

2

0

2

2

0

2

1

2

2

0

2

2

0

2

2

这意味着我们有以下角度。

10

-10

10

10

-10

10

0

10

10

-10

10

10

-10

10

10

结论
MEMS可以在OpticStudio中轻松建模。
数字镜阵列 (DMD) 或微机电系统 (MEMS) 由一组小型矩形反射镜组成。每个镜子可以有不同的倾斜度。这些设备可用于许多应用,包括光谱学(镜子可以在不同位置发送不同波长的光)和DLP投影技术-将图像从监视器投影到大屏幕上。OpticStudio可以使用DLL对它们进行连续建模,或者使用MEMS对象对它们进行非序列建模。
作者 Michael Humphreys and Sandrine Auriol
文件下载
附件下载
什么是DMD/ MEMS
下图显示了一个DMD设备(https://ibsen.com/technology/spectrometer-tutorial/dmd-spectrometers/)它单独倾斜的微镜组成。镜子通常被称为像素。
如何在OpticStudio中建模DMD
这些设备可以在序列或非序列模式下建模。
模式
对象
示例文件
序列
User Defined Surface called us_mems.dll
{Zemax}\Samples\Sequential\Miscellaneous\MEMS DLL Sample.ZMX
非序列
MEMS
{Zemax}\Samples\Non-sequential\Miscellaneous\MEMS device.zmx"

如何计算单个像素/镜子的旋转
本节将说明如何设置单个像素的旋转。像素可以按行(在这种情况下,一行镜子将始终处于相同的状态/倾斜)、按列(在这种情况下,一列镜子将始终处于相同的状态/倾斜)或按像素单独设置。
在本节中,我们将解释如何单独设置像素,即当P-Flag参数等于2时。
MEMS可以看作是一个网格,从左下角开始,随着您向右移动,然后向上移动一排,像素数会增加。
如下这个例子,下面是一个 6x6 的网格。类似最多3750个元素的任何网格大小(有关更多信息,请参阅帮助文件)。
MEMS对象一次考虑15个像素/镜子的组。
因此,如果MEMS是 6x6 网格,则意味着它总共有36个像素,所以共有3组:2组15像素和1组6像素:
这些组将由不同的参数设置:
模式
行/列/镜像状态 1-15
行/列/镜像状态 16-30
行/列/镜像状态 31-45
组别
绿色
黄色
橙色
序列模式
参数14标记为“像素 1-15”
参数15标记为“像素16-30”
参数16标记为“像素31-45”
非序列模式
标有“像素1-15”的Par 10列
标有“像素16-30”的Par 11列
标有“像素31-45”的Par 12列
由于每个分组都有一个基数为3的数字来告诉OpticStudio如何指向单个像素,像素的分组可以如下所示进行归一化,每个值对应于您需要将基数3提高到的幂:
每个像素可以具有对应于角度0、角度1和角度2的三个值(0、1、2)之一。
假设角度值定义为:
  • 角度 0 = 12°
  • 角度 1 = 0°
  • 角度 2 = -8°
下面的网格显示了每个像素的状态:
现在,要计算行/列/镜像1-15的状态值,您需要使用以下等式:
P = <span id="MathJax-Element-1-Frame" class="mjx-chtml MathJax_CHTML" tabindex="0" data-mathml="&#x2211;" role="presentation" style="box-sizing: border-box; display: inline-block; line-height: 0; font-size: 18.24px; overflow-wrap: normal; word-spacing: normal; white-space: nowrap; float: none; direction: ltr; max-width: none; max-height: none; min-width: 0px; min-height: 0px; border: 0px; padding-top: 1px; padding-bottom: 1px; position: relative;">∑∑(像素的角度状态*3^(像素数-1))
需要对像素 16-30 和像素 31-45 重复此过程。
阅读原文地址:https://support.zemax.com/hc/zh- ... A%E6%A8%A1DMD-MEMS-
光研科技南京有限公司是国内可靠的Ansys Zemax光学设计软件代理商!公司已经为广大企业,研究所以及高校提供了很多优秀的相关产品和服务,在行业内建立了值得信任的口碑。

  Ansys Zemax光学软件

  咨询与订购方式

  联系人:光研科技南京有限公司徐保平

  手机号:15051861513

  微信号:13627124798

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|cpubbs论坛. ( 粤ICP备09171248号 )

GMT+8, 2025-4-5 06:35 , Processed in 0.546010 second(s), 7 queries , Gzip On, File On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表