如何在OpticStudio中建模DMD(MEMS)

数字镜阵列 (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 = \(\sum\)(像素的角度状态*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 行”的值 = \(Row_1 \times 3^{0} + Row_2 \times 3^{1} + Row_3 \times 3^{2} + Row_4 \times 3^{3}\ )
参数“Rows 1-15”的值 = \(Row_1 + 3 \times Row_2 + 9 \times Row_3 + 27 \times Row_4\)
作为参数“Rows 1-15” = 5的值,这意味着\(Row_3\) = 0 和 \(Row_4\) = 0
然后我们可以推导出 \(Row_2\) = 1和\(Row_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中轻松建模。

 

 

这篇文章有帮助吗?
1 人中有 1 人觉得有帮助

评论

0 条评论

文章评论已关闭。