Digital Mirror Device (DMD) or Micro Electro Mechanical Systems (MEMS) consist of an array of small rectangular mirrors. Each mirror can have a different tilt. These devices can be used for many applications including spectroscopy (the mirrors can send light from different wavelengths at different positions) and DLP projection technology to project images from a monitor onto a large screen. OpticStudio can model them in sequential with a DLL or in non-sequential with the MEMS Object.
Authored By Michael Humphreys and Sandrine Auriol
Downloads
What is a DMD/ MEMS
The image below shows such a device (https://ibsen.com/technology/spectrometer-tutorial/dmd-spectrometers/). The DMD is made of micromirrors that are individually tilted. The mirrors are commonly called pixels.
How to model a DMD/MEMS in OpticStudio
These devices can be modelled either in Sequential or in Non-Sequential Mode.
Mode |
Object |
Sample file |
Sequential |
User Defined Surface called us_mems.dll |
{Zemax}\Samples\Sequential\Miscellaneous\MEMS DLL Sample.ZMX |
Non-Sequential |
MEMS |
{Zemax}\Samples\Non-sequential\Miscellaneous\MEMS device.zmx" |
How to calculate the rotation for individual pixels / mirrors
This section explains how to set up the rotation of individual pixels. The pixels can be set by rows (in that case a row of mirrors will always be in the same state/tilt), by columns (in that case a column of mirrors will always be in the same state/tilt), or the pixels can be addressed individually.
In this section, we will explain how to set up the mirrors individually, i.e. when the P-Flag parameter is equal to 2.
The MEMS can be seen as a grid that begins in the bottom left corner and increases in pixel number as you move to the right and then up one row.
For this example, below is a 6x6 grid. Any grid size can be used up to 3750 elements (see the Help File for more information).
The MEMS Object considers groups of 15 pixels/mirrors at a time.
So, if the MEMS is a 6x6 grid, it means that it has 36 pixels in total, so 3 groups: 2 groups of 15 pixels and one with 6 pixels:
These groups will be set by different parameters:
Mode |
State of rows/columns/mirrors 1-15 |
State of rows/columns/mirrors 16-30 |
State of rows/columns/mirrors 31-45 |
Group |
Green pixels |
Yellow pixels |
Orange pixels |
Sequential |
Parameter 14 labeled “Pixels 1-15” |
Parameter 15 labeled “Pixels 16-30” |
Parameter 16 labeled “Pixels 31-45” |
Non-Sequential |
Par 10 column labeled “Pixels 1-15” |
Par 11 column labeled “Pixels 16-30” |
Par 12 column labeled “Pixels 31-45” |
Since each grouping has a single base three number to tell OpticStudio how to point individual pixels, the grouping of pixels can be normalized as shown below, with each value corresponding to the power you need to raise the base 3 to:
Each pixel can have one of three values (0, 1, 2) which correspond to Angle 0, Angle 1 and Angle 2.
Let’s assume that the angle values are defined as:
- Angle 0 = 12°
- Angle 1 = 0°
- Angle 2 = -8°
The grid below shows the state of each pixel:
Now, to calculate the value of the State of rows/columns/mirrors 1-15, you will need to use the following equation:
P = \(\sum\)(Angle State of the pixel * 3^(Pixel number – 1))
This process needs to be repeated for Pixels 16-30 and Pixels 31-45.
Excel Macro to calculate the mirror tilt
The Excel Macro workbook in the attachments help calculate these values.
To run the Excel macro:
- Click on the Table
- Then click on the MEMS button (ensure that the Excel security is setup to run macros).
A Userform will appear where you can enter the X Pixels & Y Pixels - Then click Create Table. If you have previous data in before, you should check the Clear Previous Table
This will then populate 2 tables, one at the top of the page that shows the row, column, pixel number and grouping of 15 pixels that you can use as your guide. The second table, which starts around row 13 for our 6x6 example (this row will change based on the number of X Pixels you selected) is where you should enter the 0/1/2 pixel value states.
Once you have entered these values, click on the Calculate P Val button. The macro will then calculate the required values to copy & paste into OpticStudio:
MEMS in Sequential Mode
Let’s have a look at the sample file in Sequential Mode under {Zemax}\Samples\Sequential\Miscellaneous\MEMS DLL Sample.ZMX"
This sample file describes a 4x4 MEMS mirror.
So, the device can be seen as:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Now let’s see in which state (0,1,2) the pixels are. P flag = 0 so it means that the mirrors are addressed by rows.
The value for the parameter “Rows 1-15” = 5
The value for the parameter “Rows 1-15” = \(Row_1 \times 3^{0} + Row_2 \times 3^{1} + Row_3 \times 3^{2} + Row_4 \times 3^{3}\)
The value for the parameter “Rows 1-15” = \(Row_1 + 3 \times Row_2 + 9 \times Row_3 + 27 \times Row_4\)
As the value for the parameter “Rows 1-15” = 5, it means that \(Row_3\) = 0 and \(Row_4\) = 0
Then we can deduct that \(Row_2\) = 1 and \(Row_1\) = 2
The pixels states are defined as below:
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
2 |
2 |
2 |
2 |
It means that we have the following angles. The rotation angle is 45 degrees. The initial tip plane is along +X. Then the angles are rotated about the Z axis to the tip the mirror.
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
-10 |
-10 |
-10 |
-10 |
10 |
10 |
10 |
10 |
So the layout shows that different part of the mirror have different angles:
MEMS in Non-Sequential Mode
Let’s have a look at the sample file in Non-Sequential Mode under {Zemax}\Samples\Non-sequential\Miscellaneous\MEMS device.zmx"
This sample file describes a 1x15 MEMS mirror.
So, the device can be seen as:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Now let’s see in which state (0,1,2) the pixels are. P flag = 2 so it means that the mirrors are addressed individually.
The value for the parameter “Pixels 1-15” = 13245761.
We can deduct that the pixels states are defined as below:
2 |
0 |
2 |
2 |
0 |
2 |
1 |
2 |
2 |
0 |
2 |
2 |
0 |
2 |
2 |
It means that we have the following angles.
10 |
-10 |
10 |
10 |
-10 |
10 |
0 |
10 |
10 |
-10 |
10 |
10 |
-10 |
10 |
10 |
Conclusion
The MEMS can be easily modelled in OpticStudio.
Comments
Article is closed for comments.