I 3D printed two aligment tools that slide into the corners of the bowtie cavity. The beam should pass through all 4 holes. The diameters are tight, so probably not the best to use for lining up the reflected beam and instead just use for the incident beam.
Following instructions here: GitHub - dspsandbox/Pynq-Redpitaya-125 leads to better results.
Built a project from scratch in Vivado 2023.2 to control the LEDs. Include the QICK procedures extracted to ip.py to instantiate drivers.
[Daniel, Lee, Torrey]
First filter cavity lock!
No REFL dips were found after alignment from the new mode matching solution. Lee suggested instead use the very sensitive SWIR cameras to check in transmission of M2. We first replaced M2 with a 50/50 beam splitter to roughly align the cavity and see the beam making a round trip. Scanning the piezo mirror (M3) allows us to see higher order modes flashing. We use the mirrors before the cavity to align and maximize the 0,0 mode. We then put the HR mirror back in the M2 position instead of the BS. The reason this wasn't done before is we thought the frosted backs of the mirrors in use might obscure the beam, but this was not the case. You can still see a beam through the frosted back. We used the laser lock box to control the cavity with the piezo mirror and achieve a fairly robust lock.
First steps to customize pyrpl on the RedPitaya. Does it compile?
Install Vivado 2015.4 on Windows laptop. Clone https://github.com/lneuhaus/pyrpl.git In the directory pyrpl/pyrpl/fpga run this command in windows power shell:
C:\Xilinx\Vivado\2015.4\bin\vivado.bat -nolog -nojournal -mode batch -source red_pitaya_vivado.tcl
This created the files:
/fpga/red_pitaya.bin
pyrpl/fpga/project/pyrpl.srcs/sources_1/bd/system/hw_handoff/system.hwh
Installed pynq on a RedPitaya following https://github.com/dspsandbox/Pynq-Redpitaya-125 Trying to load the bitfile gives this error:
File /usr/local/share/pynq-venv/lib/python3.10/site-packages/pynqmetadata/frontends/hwh_frontend.py:452, in HwhFrontend._resolve_subordinate_addressing(self) 450 for i in self._root.iter("MEMRANGE"): 451 if i.get("MEMTYPE") == "REGISTER" or i.get("MEMTYPE") == "MEMORY": --> 452 core = self.blocks[i.get("INSTANCE")] 453 port = core.ports[i.get("SLAVEBUSINTERFACE")] 454 if isinstance(port, SubordinatePort): KeyError: 'M_AXI_GP0'
I added a lens between the two EOMs to ensure no clipping on the second EOM. I then reprofiled and found a MM solution to put the waist of 600 um at M3 (3.003 m from colimator output) in the cavity. This has been implemented and measured to have an average beam waist and location of waist (average of x and y, beam is slightly astigmatic) of 599.5 um @ 2.97 m. This should more than suffice to see some amount of resonance in the cavity. The nextcloud server is currently down but "Profiling after l1 12072023.ipynb" has this data on the lab computer. Will also update the layout mockup when the server is back up.
Turned off the seed laser and amplifier for the Christmas break. There was a natural gas smell outside the lab. Vent temperature inside the lab was 60F.
Decided to test out this profiling method that Ian and I posted the other day. This is an example of the output of my script that gives the waist size in x and y direction. I also modified ian's script to calculate the beam waist size and location using a series of images. From the script he linked, pay special attention to the path and distances when naming your beam picture files. Also make sure you set the pixel size to 5.0 um or the results will be inaccurate (this is the 5.6 number in the line: y_waist.append(waist[jj][3]*5.6). Here is the result of this process. The fit works quite wiell, but there is a big enough difference in answer from the beam profiler to warrent some investigation between the two. Things have been moved around since the last time we used the profiler so I plan on borrowing the profiler after lunch if its available to make a direct comparison between the two, and potentially calibrate between the two. If you want to try this for your self the data is in "Nextcloud\GQuEST\B102\Output Filter Cavity\Profiling_with_Camera\Test_profile_with_camera".
I 3D Printed a Basler ace 3 GigE Camera Mount. It sets the center of the camera 1 inch above the bottom of the mount.
Attached are the 3D printed part and a recreation of the Basler ace 3 GigE Camera as SolidWorks and STL files.
I redesigned and made a mount that has grooves for ventilation since the camera gets quite warm and that allows for a C mount to be attached to the front so that ND filters and lenses can be easily added.
I wrote this notebook awhile ago to profile a beam with a number of images from a CCD. I added this beam profiling code to a lab utils repo with some example images. This example is not great because the images are not perfectly Gaussian and the beam is not profiled through a waist. Ideally, you would want to do that to get better results.
Here is a totally better way to do the exact same thing for a single image.
I am attaching a zip of my code. The fitting to the beam profile isn't perfect and needs to be fixed. I would write your own code to fit it to the beam
[Daniel, Torrey]
We measured the actual beam going through the cavity with the beam profiller. The beam has a waist 13 cm after m2 and the 2 sigma waist diameter is 736 um. The intended beam has a waist at m3 and a diameter of 1210 um. The m2 to m3 distance is approximately 60 cm, so the waists are off by 47 cm. The cavity mismatch is 34% in this configuration according to finesse. To fix this with the current lenses, the last lens would need to go on top of a mirror. Thus, we are going to do a new mode matching solution tomorrow, hopefully one that is more robust to changes.
Attached is the first bowtie cavity in Finesse and my proposed mode matching solution. I am accounting for the curvature of the input mirror now. Also attached is the distances to noteable optics on this sled, for people's convenience. Note that we don't have the lenses for this mode matching solution. I have ordered some, as well as a surplus of weak, broadband 1064-1700nm coated lenses ranging from f=1m to f=2.5m. They should arrive monday or tuesday so we will try and finalize the cavity then.
[Sander,Daniel,Torrey]
Confirmed that the fans over the clean room tables are contributing a power drift in the fibers going from table to table. We either need to find a solution to isolate the fibers from the noisy fans or swap to operating the fans when were not using that fiber.
I calculated the deflection of a laser beam traveling through a mirror with an angle of incidence of \[\theta_1\]. If the mirror has an index of refraction n, the angle of incidence inside the mirror is given by \[\theta_2 = \sin^{-1}\big(\frac{1}{n}\sin(\theta_1)\big) \]
If the mirror has a thickness L, the deflection h is given by \[h = \frac{L \sin(\theta_1 - \theta_2)}{\cos(\theta_2)} \approx L(\theta_1 - \theta_2)\].
For a 3° initial AoI, n = 1.444, and L = 0.2 in, h = 0.08 mm.
Thus, for the GQuEST output filter cavities, the alignment should be functionally unchanged by adding the input coupler (aka m_1).
Now that i have organized the EE lab space a bit more (img1), things have been flowing well to get the thorlabs APD (FGA015) setup and working with my circuits.
A majority of the schematic from the homodyne photodiode board were used and adapted for this APD (they both run at 5V and have some similar specs). This has shown and proven the usefullness of a few of my circuits I will be using for the Encilitas APD eventually. Bellow I have some images that show the LED being turned on and shined on a IR Card (img 2), the signal from the APD (img 3), the noisy APD signal with the LED turned off (im 4). The overall circuit setup can then be seen (img 5).
In the setup, the LED is being powered at a reasonably low voltage and also has an ND filter infront of it (NDIR30A). I am also just using a single power supply. To regulate +-15 V for the op amps and a +5V reference being used by the APD and LED. Once I get a hang of the APD signal, I will utilize a waveform generator to pulse the LED to take measruements and at somepoint swap to characterizing it using the Yokogawa setup in Boris' lab.
First, l will use the Basler camera and power meters to calibrate the camera to and understand its dark count rate and sensitivity. I will then use this to cross check my results from the APD.
[Daniel, Torey]
We took off mirror 1 (the input coupler and located the beam that goes through the cavity with an iris. We then put m1 back on and aligned the promply reflected beam through the iris using a power meter. We put this beam through an OD 2 and OD 0.4 filters because the newport 1811-FS photodiode has a max power of 55 uW and our input power is 13 mW. We also put the beam through a 25.4 mm focal length lens because the photodiode is so small.
While driving the piezo, we did not see a refl dip. We ensured all of the electrical connections were good and we could hear the piezo being driven at 1 kHz. Thus, the piezo is working.
We are concerned that the small photodiode prevents us from seeing the refl dip. We plan on adding a mirror (or beam splitter) before the OD filters and using a Thorlabs photodiode, which has a much larger sensor.
The optical table with the filter cavity remains very clean: 0/0/0 over a 60 second measure.
[Daniel, Torrey]
We have a rough round trip of the cavity aligned. Added a halfwave plate, PBS, and PD as an input power reference. We made a mode matching solution but found that the few inches before the cavity are not allowable to use as a shifting range for the lens as the beam from the round trip of the cavity will not clear the lens. Quick trig says we can't put a lens within 7 inches of the input of the cavity. Will redo this after lunch.
I created a rough MM solution and installed it that puts a waist of ~700 um at M3. Took off M3 and used the profiler to check beam size at this location. My code in finesse says ~605 um is the actual size required, but this will do for now. I also hooked up the EOM and ensured it was working. Installed the curved optic at the M1 location and am ready to try for cavity alignment.
While testing the crusher, the beam profiler (NS2s-GE/5/5-STP Model PH00460) fell off the table as I was adjusting it. It turns on, but it does not detect a beam when it is in front of it. When it is on, the scanning slit makes a rubbing sound. I reached out to Ophir to fix it.
[Daniel, Torrey]
The profiler was fixed by Ophir and shipped back. It was mounted using the wider BA2 and used without issue.
Attached is the part as a SolidWorks file and STP.