Given that the HWS requires several 2" optics to handle the big beam size, I've ordered the following items from Newport:
I installed the pyepics package on princess_sparkle since this is much easier under Ubuntu than under CentOS.
sudo apt-get install python-dateutil python-setuptools
Then I started the following python script ~/start_test_channels.py in the background on princess_sparkle. The EPICS channels are actually in an IOC on tcs_daq. They are all acquired by the frame builder at 16Hz.
# a short script to output low frequency sine wave to EPICS channels
a = 0
Under edit ...
I added the names of the network machines to the /etc/hosts file on princess_sparkle, tcs_daq and tcs_ws.
I also added the /cvs drive on fb1 to the /etc/fstab file on princess_sparkle so that can be accessed from those machines.
I labelled and strung 8 of the 16 custom 40' BNC cables from L-Com between the HWS table and the BNC feed-through on the rack. Each cable is labelled HWS TABLE CHxx where 01<= xx <= 08. I'm going to leave the other 8 until we have room in the BNC feedthrough on the rack.
I changed the ownership of /opt/EDTpdv to controls with the command:
controls@princess_sparkle:/opt/EDTpdv$ sudo chown controls EDTpdv/
From Won: (the zip file is also on the SVN /users/won/compiled_code/test_HS.zip)
Attached is test_HS.zip file, that contains
- test_HS.prj: project file created by Matlab Compiler. This file is not
required to run the application but I included it just in case someone's
- test_HS folder contains two subfolders src and distrib, each of which
contains the standalone application test_HS.
Usage: test_HS <path to the image folder>, for example
Make sure you create the folder prior to running the application, and the
folder name ends with "/". Running test_HS will take and save 10 images
using the camera (provided the frame grabber applications are installed in
/opt/EDTpdv), averages those 10 images and find centroids, then plots the
As I put in the eLOG, one needs MCRInstaller.bin and run it to install MCR
(probably 2008b 64bit version to test my files). If there are difficulties
getting MCRInstaller, let me know.
I located the MCRInstaller on our distribution of MATLAB on the Ubuntu machine (/MATLAB_R2009b/toolbox/compiler/deploy/glnxa64/MCRInstaller.bin). I ran the installer, as root,and followed the default options to install it. Next I updated the .bashrc file to include the necessary pointers to various libraries:
I've downloaded the test_HS binary from the SVN and added the ~/test_images/ directory as recommended by Won. I then ran the code by entering ./test_HS ~/test_images/
The code ran successfully through the serial_cmd access and the image acquisition process and only crashed when it tried to access the variable mes_message. This indicates a run-time error, not a compilation error. If you examine lines 751 and 752 of HS_Camera.m you can see the typo (mes_meesage vs mes_message) in the code that is the source of the error:
mes_meesage = ['Intensity too high: ',fobj.name];
Here's the output:
:~/Hartmann_Sensor_SVN/users/won/compiled_code/test_HS/test_HS/distrib$ ./test_HS ~/test_images/
The camera is accessible.
G E N E R A L C A M E R A S E T T I N G S:
Camera Model No.: DS-22-01M60-11E
Camera Serial No.: 04437062
Sensor Serial No.: 0411218
Tap 1 Gain: 0
Tap 2 Gain: 0
Firmware Design Rev.: 03-81-00070-03 Sep 30 2004
DSP Design Rev.: 17.3
Video Mode: Normal Operating Mode
Data Mode: 12 bit
Binning Mode: 1x1
Gain Mode: 1x Output Gain Mode
Output Configuration: 2 Tap
Exposure Control: enabled
Exposure Mode: 2
SYNC Frequency: 8 Hz
Exposure Time: 123646.66 uSec
executing /opt/EDTpdv/take -s 1 -l 10 -f /home/controls/test_images/test ...
??? Undefined function or variable "mes_message".
Error in ==> HS_Camera>HS_Camera.read_raw at 752
Error in ==> HS_Camera>HS_Camera.read_from_folder at 668
Error in ==> HS_Camera>HS_Camera.read_from_fg at 721
Error in ==> HS_Camera>HS_Camera.read_images at 590
Error in ==> test_HS at 9
Build an application that uses HS classes
I wrote a simple script test_HS.m that takes and saves 10 images using the camera, averages the images and finds centroids. Thus the script requires the class files HS_Base, HS_Camera, HS_Image, and HS_Centroids.
I added those four class files by right-clicking Other Files (found below Main function) then choosing Add File, then clicked the build icon.
The attached file shows the output of the command. The maximum average frame rate is 57.2Hz when the nominal frame rate was 58Hz:
/opt/EDTpdv/take -f max_frame_rate_image -l 120 -N 4 -d > max_frame_rate_data.txt
reading image from Dalsa 1M60 12 bit dual channel camera link
width 1024 height 1024 depth 12 total bytes 2097152
writing 1024x1024x12 raw file to max_frame_rate_image0000.raw (actual size 2097152)
writing 1024x1024x12 raw file to max_frame_rate_image0001.raw (actual size 2097152)
writing 1024x1024x12 raw file to max_frame_rate_image0002.raw (actual size 2097152)
writing 1024x1024x12 raw file to max_frame_rate_image0003.raw (actual size 2097152)
writing 1024x1024x12 raw file to max_frame_rate_image0004.raw (actual size 2097152)
writing 1024x1024x12 raw file to max_frame_rate_image0005.raw (actual size 2097152)
writing 1024x1024x12 raw file to max_frame_rate_image0006.raw (actual size 2097152)
writing 1024x1024x12 raw file to max_frame_rate_image0007.raw (actual size 2097152)
I measured the prism and displacement of the Gaussian beam on the Hartmann sensor. The beam pointing was modulated at 10mHz using a galvo mirror as illustrated in Attachment 1. The galvo was around 680mm from the Hartmann sensor. The amplitude of the prism modulation was approximately 1E-5 radians. The displacement of the beam was measured using a new algorithm that tries to fit a parabola to the logarithm of the intensity of each Hartmann spot. The amplitude of the displacement modulation was measured at around 42 microns: corresponding to around 6E-5 radians (=42um/680mm).
To resolve the discrepancy between the prism and displacement measurements, I removed the Hartmann plate to simply get a Gaussian beam on the CCD (bottom right image in Figures 2 & 3 - the beam is slightly clipped and there is a ghost beam in the center - I'm not yet certain where this is coming from). I measured the Gaussian beam displacement directly by fitting a Gaussian to the mean horizontal cross-section of the intensity distribution (top right plot in Figures 2 & 3). Using this technique the measured displacement on the CCD had an amplitude of around 0.7 +/- 0.05 pixels = 8.4 +/- 0.6 microns, corresponding to a prism of 12.5E-6 radians (seen in top left plot in Figures 2 and 3). This indicates that there is an error in the Gaussian fitting algorithm using the Hartmann sensor data.
The second plot simply shows the position modulation of the beam as I increased the amplitude of the signal going to the galvo.
This measurement was made with the Thorlabs DCC1545M-GL camera with an RG850 3mm long-pass filter over the CCD.
The beam radius (w) is 191 pixels, where the beam intensity = exp[-2 (x/w)^2 ]
The pixel size is 5.2um. Hence the beam size is 993.2um, which is basically near enough to 1mm radius.
I've had the output from a fiber projected about 400mm onto the Hartmann sensor for around 5 days now. (The divergence angle from the fiber is around 86 mrad).
I played around with the temperature of the lab to induce some defocus changes in the Hartmann sensor. The system is mostly linear, but there are relatively frequent jumps in the defocus of the order of 1E-4 m^-1. This may be due to a number of things - the Hartmann plate may be moving, the fiber holder may be shifting back and forth, there may be some issue with the source wavelength shifting.
Sun 30th May 2011 - 11:40AM - the z-axis control on the NewFocus 9091 fiber coupling mount was not tightened. I tightened that to secure the control.
I ran through the procedure to calibrate the lever arm of the Hartmann sensor. The beam from a 632.8nm HeNe laser was expanded to approximately 12mm diameter and injected into a Michelson interferometer. The Hartmann sensor was placed at the output port of the Michelson.
The 50W Access Laser is now in the lab. We need to wire up the interlock to the laser, plumb the chiller lines to the power supply and to the laser head and also wire up all the electrical and electronics cables. Additionally, we will need to plumb the flow meter and attach a circuit to it that triggers the interlock if the flow falls too low.
I ran a test of the HWS with the QFLD-950-3S for 5 days. The test was terminated as we need to disconnect all the cabling and tidy up all the computers in the lab.
9:40PM PDT - I've just restarted the long term measurement of the Hartmann sensor noise with the QFLD-950-3S.
These settings work to get a computer onto the TCS/ATF network.
Spelt out in a searchable fashion:
iface <portname> inet static
dns-nameservers 10.0.1.1 220.127.116.11 18.104.22.168
I've started a long-term measurement of the HWS fiber-launcher. I'm interested in seeing how stable the output is. The HWS is currently running in the following configuration:
The HWS is currently running at 57Hz. The HWS code is running on HWS (10.0.1.167). It is the same as the site code with some modifications to determine information about the Gaussian beam envelope. The following data is written to file on the HWS machine in files containing 10,000 cycles. Each cycle (or row) the following data is recorded:
These are saved to files on the HWS machine: ~/framearchive/C4/HWSlongterm/<GPSTIME>_CIT_HWS.txt
I noticed that the TCS lab temperature sensor batteries died. Apparently they died two days ago. I swapped in some new batteries this morning.
The data from the long-term measurement of the HWS is presented here. The beam envelope moves by, at most, about 0.3 pixels, or around 3.6 microns. The fiber-launcher is about 5" away from the HWS. Therefore, the motion corresponds to around 30 micro-radians (if it is a tilt). The beam displacement is around 4 microns.
The optical properties change very little over the full 38 days (about 2 micro-radians for tilt and around 2 micro-diopters for spherical power).
The glitches are from when the SLED drivers were turned off temporarily for other use (with the 2004nm laser).
I measured the reflectivity of a possible HWS replacement mirror at 532nm. Thorlabs BB2-EO3
Incident power = 1.28mW
Reflected power = 0.73mW
R = 56% at 45 degrees AOI.
I've added a softIoc to TCS-WS to capture the beam size from the MAKO camera. The IOC is run using ...
controls@tcs-ws:~$ softIoc -S EPICS_IOC/iocBoot/iocfirst/st.cmd &
The st.cmd contains the following text:
controls@tcs-ws:~$ more EPICS_IOC/iocBoot/iocfirst/st.cmd
The db file is:
controls@tcs-ws:~$ more EPICS_IOC/db/beamSize.db
These are also being written to frames on FB4.
See attached photo for how data is written to frames ...
I set up an Acromag DAC today with the fixed IP address 10.0.1.56. Last Friday Andrew and Antonio set up an ADC unit with fixed IP address 10.0.1.55. The former is for outputting a control voltager that goes to the driver for the heater on composite mirror we are testing. The latter is used to read the temperature of the thermocouple on the composite mirror. The thermocouple to voltage conversion is achieved with a Type K Thermocouple Amplifier unit from The Sensor Connection.
The temperature sensor channel is C4:AWC-TEMPMON_C. We took a couple of different measurements of temperature and calibrated the conversion from volts to Celsius as: C = 122.06*V -0.67
The new temperature sensor channel is now being recorded in the frames.
We've had trouble logging into FB4. I access the computer directly in the AWC lab and found that the IP address had changed from 10.0.1.156 to 10.0.1.161.
I'm not sure how this happened. It's possible that the IP address is not set to a static value and FB4 was rebooted. I'm not familar with Debian so I don't know where to look to find whether the IP address is static or not.
The DAQD is still running.
The framebuilder on FB4 thinks the current time is 26-Jan-2018 6:18AM UTC. The date command on FB4 yields the correct date and time (5-Feb-2018 15:17 PST).
There is a major error with the framebuilder clock.
I did a beam size/beam propagation measurement of the low power CO2 laser (Access Laser L3, SN:154507-154935)
% 400mW CO2 laser beam propagation measurement
% measurements of Access Laser L3 CO2 output power (at about 30% PWM)
% SN: 154507-154935
% Aidan Brooks, 8-Feb-2018
xposn = 10.5:-0.5:5.0;
dataIN = [25 113.2 113.2 112.7 112.3 110.2 108.6 98.2 74.6 40.6 13.5 2.3 0.3
50 114.5 114.5 114.9 115 114.9 112.1 100 74.2 38.8 12.5 2 -0.1
We tested the output of the fiber launcher D1800125-v3. We were using a 6mm spacer in the SM1 lens tube and 11mm spacer in the SM05 lens tube and the 50 micron core fiber.
The output of the fiber launcher was projected directly onto the CCD. Images of these are attached (coordinates are in pixels where 100 pixels = 1.2mm)
There is a lot of high-spatial frequency light on the output. It looks like there is core and cladding modes in addition to a more uniform background. There was an indication that we could clear up these annular modes with an iris immediately after the fiber launcher but I didn't get any images. We're going to test this next week when we get an SM1 mountable iris.
And here's the output of the fiber launcher when I fixed it at 313mm from the camera, attached an iris to the front and slowly reduced the aperture of the iris.
The titles reflect the calculated second moment of the intensity profiles (an estimate of the equivalent Gaussian beam radius). The iris is successful in spatially filtering the central annular mode at first and then the outer annular mode.
We'll need to determine the optimum diameter to get good transmission spatially without sacrificing too much power.
Here is the output from D1800125-v5_SN01.
% get the beam size from the HWS ETM source D1800125-v5_sn01
[out,r] = system('tar -xf HWS*.tar');
% load the files
dist = [1,10,29,51,84,105,140,180,240,295,351,435,490,565]; % beam propagation distance
files = dir('*.raw');
Title was wrong - this is actually config [12,2,4,125]
I'm considering the 86-711 2" 532nm PBS from Edmund Optics for the ETM HWS at the sites.
The effect on the transmission through the system, compared to the THorlabs PBS, is shown in the attached plot.
Conclusion: it looks almost as effective as the Thorlabs PBS with the added benefit of being 2" in diameter.
Restored work done in http://nodus.ligo.caltech.edu:8080/TCS_Lab/201
I've started an 80C cure of two materials bonded by EPOTEK 353ND. The objective is to see (after curing) how much the apparent glass transition temperature is increased over a room-temperature cure.
I changed the HWS code to the new git.ligo HWS version.
I've set up some symbolic links to these directories to mimic the old directory structure, so ..
Caltech Facilities has determined that the walls in the SE corner of the TCS Lab in West Bridge were water damaged during last weekend’s rain. They are going to remove the plaster from the walls and dehumidify the area for a week or so. All tables in the room are going to be covered with plastic for this process. In the short term I’ve shutdown all the equipment in the lab (including FB4). The 2-micron cavity-testing fabrication has been moved next door to the QIL.
Facilities came in on Friday and teed off a new duct to provide exhaust for the proposed new vacuum bake area in the TCS Lab. Photos are attached.
We installed a plastic sheet between the work area and the rest of the lab (the rest of the lab was overpressurized relative to the work area). Also, they use a vacuum when doing any drilling.
I cleaned up the HWS table in preparation for replacement with the 4x10 table. We still need to move the cabinet and get the enclosure out of the way.
Koji: QIL/TCS entrance flooding. Check your lab
Anchal: Can someone take a look at CTN too?
Koij: TCS needs more people @aidan
Koji: CTN ok
Aidan: On my way
Shruti: Cryo seems fine
Aidan: There was a leak in a pipe in the wall of B265A. It was coming from the building air conditioner condensation overflow. Facilities has fixed the pipe and is working on clean-up
I checked the lab this morning. It was dry and there wall was in the same state as yesterday.
The carpentry shop removed wet plaster sections from the wall following the flood (process was gentle scraping of wet plaster flakes, supervised by me). The wet section of wall needs a few days to dry and then they will plaster and paint it.
11:29AM - Lab has flooded again this morning. I'm calling PMA. Looks to be the same issue as before.
Some photos of water and clean-up.
Summary: I came into the lab around 11:30AM and found water on the floor in the changing room outside QIL/TCS. Turns out the condesation overflow pipe from the AC blew out again. This time near the ceiling. Water was on the floor but also had sprayed a little onto the tool chest and East optical table. A few optics got wet on the table. Initial inspection looks like electronics were spared with the exception of the "broken" spectrum analyzer that was on the floor.
Facilities came in and cleaned up the water. A small amount got into QIL but stayed near the door as the lab floor slopes up from the door area. They fixed the pipe and were looking into whether there was a blockage cuasing this problem. PMA was notified and John Denhart is coordinating follow-up.
Triage effort: given the AC was still active, John and I strung a temporary tarp across the two tables to block any spray.
We (Aidan, Koji, Radhika, Aaron) partially tidied up the TCS Lab. The front table is clean and ready to recieve PD tesitng optics, electronics and vacuum hardware. We moved all electronics units (oscilloscopes, power supplies, etc) to the rack in the NE corner of the lab. The back table was partially tidied up. We need to schedule cleaning of the remaining tables in the lab and also an inventory and disposal of obsolete equipment in all the cupboards.
-Discussed the actual project outline
-Installed Comsol on the system
-Learned the basics of Comsol with the help of tutorials available on 40m wiki
-Made few simple models in Comsol
-Studied LIGO GWADW slides for a better understanding of the project.
-Setup SVN to access remote repository.
-Created a COMSOL model for variation of temperature in two mass system.
-Used the above model for cryogenic conditions.
-checked it analytically.
-Created a COMSOL model for cryogenically shielded test mass with compensation plate.
-Analyzed the behavior of the model in different size configurations.
-Continued with the same cryogenic model created and varied the length of outer shield and studied the temperature variation inside.
-Compared the temperature difference given by COMSOL with manually calculated one.
-Derived formula for manual calculation of temperature due to total influx.
-Compared the results by COMSOL and by the formula.