Skip to main content
February 15, 2018

About This Article

Before being able to use the second Boston DM on the testbed, we had to create our own flat map. Our 4D interferometer got some time to shine.  First, we created a software control interface for the 4D, and integrated it into the hicat python package.  With that in place we could start to develop closed loop experiments to apply DM commands and take 4D images.  Here are the new experiments we created: 

  • Actuator Index: Pokes a set of checkerboard patterns and create an index of where each actuator is on a 4D image.
  • Flat Map Loop: Create a flat map by iterating corrections to the DM and measuring the flatness.
  • Zernike Loop: Create either a single Zernike command or a combination, using the same iterative logic in the flat map loop.   

All of these experiments can be used in the future, when we are pushing for the darkest dark zone possible.  Our DM1 calibration was done years ago with less sophisticated tools, and we would benefit to using our new automated experiments to create a more reliable flat-map.  See the side by side image of what the DM looks like when you apply a constant voltage to each actuator. The “initial” frame clearly has some aberration, where the “flattened” side is uniform.  The process for creating this flat map is seamless and can be started with a few mouse clicks.

Fig. 1. Images of the DM surface (left) when constant voltages are applied on the actuators and (right) after flattening the DM.

Once we created all of the maps, we put the second DM in place on the testbed and aligned it.  We prepared for this by previously setting up a theodolite and a Michaelson interferometer, and the entire operation took less than a day.  We were running speckle nulling in less than 24 hours!

Fig. 2. Picture of the two DMs facing each other after being installed on HiCAT.

Both of our Boston DMs are controlled by a single controller. This forces us to rely on a robust software solution to control both at the same time.  It works like this:  You send a single array of voltage values to the controller; the first half goes to one DM and the second half goes to the other.  Even if you only want to control one DM, it will apply the command to both DMs.  We developed a library with this in mind, and only now have had the chance to test it.  Lucky for us, it works great and we only needed trivial updates to our existing code to update our software to control two DMs. 

Share This Page


For more information about the Russell B. Makidon Optics Laboratory, please .