ligo-ex ligo-ds
  Richardson Lab Experimental Log, Page 11 of 13  Not logged in ELOG logo
New entries since:Wed Dec 31 16:00:00 1969
ID Date Author Type Categorydown Subject
  369   Thu May 16 15:23:14 2024 ShaneUpdateCleanroomCleanroom cleaning and particle count
[Luis, Michael, Luke, Shane]

cleaning cleanroom and particle count

  • 1:45 pm: ran zero count test on particle counter
  • 1:50 pm: started particle count
    • zone 3:
      • 0.3 u: 2660
      • 0.5 u: 332
      • 1.0 u: 41
    • zone 4:
      • 0.3 u: 8106
      • 0.5 u: 2494
      • 1.0 u: 831
  • 2:08 pm: began surface check and wipedown, including softwalls
  • 2:22 pm: started vacuuming the floor
  • 2:39 pm: finished vacuuming the floor
  • 2:43 pm: started mopping the floor
  • 2:53 pm: finished mopping the floor
  • 2:54 pm: started cleaning the buckets
  • 2:59 pm: started mopping with IPA wipes
  • 3:06 pm: finished mopping with IPA wipes
  • 3:10 pm: changed sticky floor mats
  • 3:06 pm: started particle count
    • zone 3:
      • 0.3 u: 1496
      • 0.5 u: 83
      • 1.0 u: 0
    • zone 4:
      • 0.3 u: 789
      • 0.5 u: 83
      • 1.0 u: 41
  383   Tue Jun 25 12:34:18 2024 ShaneUpdateCleanroomcleanroom cleaning and particle count
[Luke, Shane, Xuejun, Mohak, Michael, Tyler, Cynthia]

cleaning cleanroom and particle count

  • 10:45 am: ran zero count test on particle counter
  • 11:02 am: started particle count
    • zone 3:
      • 0.3 u: 3284
      • 0.5 u: 1247
      • 1.0 u:332
    • zone 4:
      • 0.3 u: 1829
      • 0.5 u: 581
      • 1.0 u: 207
  • 11:15 am: began hepavac of rest of lab
  • 11:19 am: began surface check and wipedown, including softwalls
  • 11:32 am: finished hepavac of rest of lab
  • 11:35 am: started vacuuming the cleanroom floor
  • 11:45 am: finished vacuuming the floor
  • 11:47 am: started mopping the floor
  • 11:55 am: finished mopping the floor
  • 11:56 am: started cleaning the buckets
  • 11:57 am: started mopping with IPA wipes
  • 12:02 pm: finished mopping with IPA wipes
  • 12:03 pm: changed sticky floor mats
  • 12:04 pm: started particle count
    • zone 3:
      • 0.3 u: 3117
      • 0.5 u: 374
      • 1.0 u: 124
    • zone 4:
      • 0.3 u: 4531
      • 0.5 u: 540
      • 1.0 u: 0
  388   Thu Jun 27 13:42:02 2024 ShaneUpdateCleanroomcleanroom 5 zone particle count measurement
Here's today's 5 zone measurement of the cleanroom. We're above the limit by a bit in zone three (all three size ranges), likely as a result of the recent work installing FROSTI, so it could probably use another focused cleaning. Everything else is below the limit.
Attachment 1: 24.png
24.png
  389   Fri Jun 28 10:43:13 2024 XuejunUpdateCleanroomFrosti
[Xuejun, Tyler]

We moved Frosti into the cleanroom and debugged it to make sure everything was working. One of the DB25 pins broke off at the connector for element 1 so it needed to be recrimped. Element 6 short circuited but fixed with adjustment to the heater power pin position. We connected the power and sensor connectors to the power box and recalibrated the RTD sensors.

Attachment 1: frosti.jpg
frosti.jpg
Attachment 2: chassis.jpg
chassis.jpg
  417   Mon Jul 29 14:30:16 2024 TylerUpdateCleanroomRIN Measurement Set-up
[Tyler]

I have begun moving parts into the cleanroom for the upcoming FROSTI RIN tests that will be conducted within the next few weeks. While waiting for the rest of the equipment to arrive to perform the full-scale tests, I have additionally moved the FROSTI under the shelf above the optical table, where it will stay for the meantime. As always, please use caution when in the cleanroom. Aside from the FROSTI, the IR photodetectors that will be used for the test are delicate and costly to replace.

Attachment 1: RIN_FROSTI.jpg
RIN_FROSTI.jpg
  422   Mon Aug 12 16:24:34 2024 TylerUpdateCleanroomRIN Measurement Update 1
[Tyler]

For some preliminary tests, I moved the IR photodetectors outside of the cleanroom and onto the other optical table. The basic goal was to obtain a signal from both photodetectors. To achieve this, one of the heater cartridges used for early FLIR measurements months ago was hooked up to a power supply (PS). The PS was set to supply 0.20 A with a voltage of 2.8 V; the corresponding power is thus 0.56 W. With this, I was able to measure a signal using the Red Pitaya, the device that will be used for following RIN measurements.

Quote:
[Tyler]

I have begun moving parts into the cleanroom for the upcoming FROSTI RIN tests that will be conducted within the next few weeks. While waiting for the rest of the equipment to arrive to perform the full-scale tests, I have additionally moved the FROSTI under the shelf above the optical table, where it will stay for the meantime. As always, please use caution when in the cleanroom. Aside from the FROSTI, the IR photodetectors that will be used for the test are delicate and costly to replace.

 

Attachment 1: Basic_setup.jpg
Basic_setup.jpg
Attachment 2: RP.jpg
RP.jpg
  456   Thu Oct 3 19:35:04 2024 ShaneUpdateCleanroomCleanroom cleaning and particle count
[Luke, Michael, Cynthia, Mary]

cleaning cleanroom and particle count

  • 12:25 pm: started particle count
    • zone 3:
      • 0.3 u: 4614
      • 0.5 u: 872
      • 1.0 u:83
    • zone 4:
      • 0.3 u: 2411
      • 0.5 u: 415
      • 1.0 u: 83
  • 12:48 pm: began surface check and wipedown, including softwalls
  • 1:20 pm: started vacuuming the floor
  • 1:30 pm: finished vacuuming the floor
  • 1:34 pm: started mopping the floor
  • 1:40 pm: finished mopping the floor
  • 1:40 pm: started cleaning the buckets
  • 1:42 pm: started mopping with IPA wipes
  • 1:50 pm: finished mopping with IPA wipes
  • 1:51 pm: changed sticky floor mats
  • 3:44 pm: started particle count
    • zone 3:
      • 0.3 u: 3207
      • 0.5 u: 624
      • 1.0 u: 83
    • zone 4:
      • 0.3 u: 916
      • 0.5 u: 83
      • 1.0 u: 0
  472   Thu Nov 14 10:46:20 2024 Luke SummaryCleanroomCleanroom cleaning

 

[Luke, Luis, Michael]

cleaning cleanroom and particle count

  • 8:30 am: started particle count
    • zone 3:
      • 0.3 u: 1195
      • 0.5 u: 177
      • 1.0 u: 132
    • zone 4:
      • 0.3 u: 619
      • 0.5 u: 0
      • 1.0 u: 0
  • 9:00 am: began surface check and wipedown, including softwalls
  • 9:35 am: started vacuuming the floor
  • 9:43 am: finished vacuuming the floor
  • 9:45 am: started mopping the floor
  • 9:55 am: finished mopping the floor
  • 9:56 am: started cleaning the buckets
  • 10:00 am: started mopping with IPA wipes
  • 10:05 am: finished mopping with IPA wipes
  • 10:20m: started particle count
    • zone 3:
      • 0.3 u: 2213
      • 0.5 u: 398
      • 1.0 u: 0
    • zone 4:
      • 0.3 u: 1150
      • 0.5 u: 177
      • 1.0 u: 44
Attachment 1: partical_count_final.png
partical_count_final.png
  497   Wed Jan 8 17:35:57 2025 Luke SummaryCleanroomCleanroom cleaning

[Luke, Tyler, Cynthia, Shane, Michael]

Summary of Cleaning Activities:

We began cleaning Room 1119 at 2:00 PM.

At 2:30 PM, we moved to Room 1129 and continued cleaning.

Cleaning tasks included wiping down dust-collecting surfaces and vacuuming the floors.

Once the labs were clean, we proceeded to the cleanroom. 

  • Wiping down surfaces and soft walls
  • Vacuuming, mopping the floor, and finishing with IPA wipes

Particle Count Measurements:

  • Pre-cleaning (2:30 PM):
    • Zone 3:
      • 0.3 µm: 973
      • 0.5 µm: 354
      • 1.0 µm: 132
    • Zone 4:
      • 0.3 µm: 486
      • 0.5 µm: 177
      • 1.0 µm: 0
  • Post-cleaning (4:10 PM):
    • Zone 3:
      • 0.3 µm: 619
      • 0.5 µm: 132
      • 1.0 µm: 0
    • Zone 4:
      • 0.3 µm: 397
      • 0.5 µm: 0
      • 1.0 µm: 0

 

Attachment 1: partical_count_250108.png
partical_count_250108.png
  520   Sun Feb 23 12:11:43 2025 Luke SummaryCleanroomCleanroom cleaning

[Luke, Mary, Luis]

Particle Count Measurements:

  • Pre-cleaning (8:40 am):
    • Zone 3:
      • 0.3 µm: 441
      • 0.5 µm: 44
      • 1.0 µm: 0
    • Zone 4:
      • 0.3 µm: 353
      • 0.5 µm: 176
      • 1.0 µm: 44
  • Started Cleaning (3:16 pm)
  • Finished Cleaning (4:10 pm)
  • Post-cleaning (4:15 pm):
    • Zone 3:
      • 0.3 µm: 574
      • 0.5 µm: 265
      • 1.0 µm: 132
    • Zone 4:
      • 0.3 µm: 177
      • 0.5 µm: 44
      • 1.0 µm: 0

 

Attachment 1: partical_count_2-21-25.png
partical_count_2-21-25.png
  574   Fri May 9 20:06:27 2025 Luke SummaryCleanroomCleanroom cleaning

[Luke, Mohak, Luis]

We were also able to remove the residue that has built up on the soft walls by donning a skinny bunny suit and with two wipes rubbing both sides of the soft walls at the same time. The wipes would get gummy very quickly and need to be replaced frequently.

Particle Count Measurements:

  • Pre-cleaning (1:20 pm):
    • Zone 3:
      • 0.3 µm: 3577
      • 0.5 µm: 1369
      • 1.0 µm: 485
    • Zone 4:
      • 0.3 µm: 1062
      • 0.5 µm: 442
      • 1.0 µm: 177
  • Started Cleaning (3:00 pm)
  • Finished Cleaning (4:00 pm)
  • Post-cleaning (4:22 pm):
    • Zone 3:
      • 0.3 µm: 3577
      • 0.5 µm: 618
      • 1.0 µm: 132
    • Zone 4:
      • 0.3 µm: 2031
      • 0.5 µm: 397
      • 1.0 µm: 132

 

Attachment 1: 20250509_particalcount.png
20250509_particalcount.png
  580   Wed May 21 14:40:38 2025 Xuesi MaInfrastructureCleanroomCleanroom Temperature

Date and Time: Around 2:20 PM on May 21, 2025

Location and Temperature:

  • Back of the room, around the working station: 85.5 °F
  • Front of the room, around the doorway: 82.3 °F
Attachment 1: 20250521_142051.jpg
20250521_142051.jpg
Attachment 2: 20250521_142220.jpg
20250521_142220.jpg
  599   Wed Jun 25 15:44:47 2025 Luke UpdateCleanroomCleanroom cleaning

[Luke, Luis, Tyler, Ma, Christina, Maple]

We started by cleaning outside of the cleanroom wiping down the cable channel and working our way down. We replaced the air filter in the HEPA filter with what seemed to be the last one in storage. We then vacuumed outside, before wiping down the inside of the cleanroom. We then vacuumed, mopped, and wiped down the floor inside the cleanroom.

We are ready for venting the vacuum chamber which is planned to take place 6/26/25 at 10am. 

Particle Count Measurements:

  • Pre-cleaning (12:00 pm):
    • Zone 3:
      • 0.3 µm: 2517
      • 0.5 µm: 662
      • 1.0 µm: 176
    • Zone 4:
      • 0.3 µm: 177
      • 0.5 µm: 44
      • 1.0 µm: 0
  • Post-cleaning (1:45 pm):
    • Zone 3:
      • 0.3 µm: 619
      • 0.5 µm: 88
      • 1.0 µm: 0
    • Zone 4:
      • 0.3 µm: 177
      • 0.5 µm: 88
      • 1.0 µm: 0
Attachment 1: parttical_count_6-25-25.png
parttical_count_6-25-25.png
  609   Mon Jul 14 20:45:20 2025 Luke SummaryCleanroomHEPA filter performance metrics

[Luke, Luis]

We’ve been looking into methods for evaluating the performance of the HEPA filters in the clean room. Measuring flow rate appears to be a promising approach, since the filter manual specifies a recommended minimum of 70 ft/min.

At the moment, we don’t have a flow rate measurement device on hand. We're currently looking into two options:

  • A standard vane-style anemometer, which is more affordable but may lack sensitivity near the minimum required flow rate.
  • A hot-wire anemometer, which offers better resolution and accuracy at lower speeds, though it's more expensive.

In the next few days, either Luis or I will contact Terra Universal to see if they have any measurement solutions that would integrate well with our clean room setup, or if they can recommend best practices for verifying HEPA performance.

  67   Tue Apr 11 13:15:40 2023 CaoInfrastructureClean & BakeNitrogen gas tank replaced
The nitrogen gas tank has been replaced with a new unit. The new tank is ultra pure nitrogen (>99.9% nitrogen). The new tank has been placed and secured to the rack where the old one is; cap is removed and regulator is reinstalled onto the new tank.
  121   Tue Jun 13 13:25:05 2023 AidenSummaryClean & BakeClean and Bake Batch 13
Cleaned and Baked the new 1.33" and 2.75" blanks for the vacuum system. Cleaned them with liquinox in the ultra sonic washer for 10 minutes. Then dried them with nitrogen. Then put the two stainless steel parts into the oven for the following steps; 1. Ramp to 100 degC in 15 minutes 2. Dwell at 100 degC for 30 minutes 3. Ramp to 200 degC in 30 minutes 4. Dwell at 200 degC for 48 hours 5. Turn off
  126   Fri Jun 16 17:40:28 2023 AidenUpdateClean & BakeClean and Bake Batch 14
Cleaned and Baked the new and 2.75" copper gaskets for the vacuum system. Cleaned them with liquinox in the ultra sonic washer for 10 minutes. Then dried them with nitrogen. Then put the copper parts into the oven for the following steps; 1. Ramp to 100 degC in 15 minutes 2. Dwell at 100 degC for 30 minutes 3. Ramp to 175 degC in 30 minutes 4. Dwell at 175 degC for 24 hours 5. Turn off Also bagged and tagged the parts from Batch 13 and placed them into the clean room on the computer table.
Attachment 1: IMG_4441.jpg
IMG_4441.jpg
Attachment 2: IMG_4440.jpg
IMG_4440.jpg
  146   Wed Jul 5 16:02:12 2023 AidenUpdateClean & BakeClean and Bake batch 14 Bagging
Bagged and Tagged the 2.75" copper gaskets from Batch 14 and placed them into the clean room on the work bench.
  224   Tue Sep 12 15:31:31 2023 AidenUpdateClean & BakeClean and Bake Batch 15
Cleaned and Baked the SS screws for the heater mount. Check the Clean and Bake data base on the website to get a precise list of the parts and their numbers. Cleaned them with liquinox in the ultra sonic washer for 10 minutes. Then dried them with nitrogen. Then put the stainless steel parts into the oven for the following steps; 1. Ramp to 100 C in 15 minutes 2. Dwell at 100 C for 30 minutes 3. Ramp to 200 C in 30 minutes 4. Dwell at 200 C for 48 hours 5. Turn off
Attachment 1: IMG_4647.jpg
IMG_4647.jpg
  227   Thu Sep 28 15:17:13 2023 AidenUpdateClean & BakeClean and Bake Batch 16
Bagged and Tagged the parts from batch 15 and started baking batch 16 which includes the 6" to 8" reducer.
  232   Tue Oct 3 15:07:48 2023 AidenUpdateClean & BakeClean and Bake Batch 17
Cleaned and baked all the stainless steel parts in Batch 17. Check data base for more details on this.
  233   Sat Oct 7 17:10:27 2023 AidenUpdateClean & BakeClean and Bake Batch 18
Bagged and tagged the parts from Batch 17 and placed them in the clean room on the optic table. Also started an aluminum batch of parts that included the kf clamps and the heater mounting parts.
  237   Mon Oct 9 21:41:24 2023 AidenUpdateClean & BakeClean and Bake Batch 19
Bagged and tagged the parts from batch 18. Started the Copper batch that includes all the gaskets needed to start the vacuum chamber upgrade.
  279   Mon Nov 27 19:34:50 2023 AidenUpdateClean & BakeClean and Bake Batch 20 Bagging
Bagged and tagged bath 20 which included the macor hardware and place it inside the clean room on the table.
  294   Sun Dec 17 21:04:15 2023 JonInfrastructureClean & BakeClean and bake lab migrated to 1129

[Jon, Tyler, Aiden, Luke]

On Friday we completed assembly of the new stainless steel-topped benches in 1129. We then moved the clean and bake equipment from 1119 to its new larger space in 1129. This included the HEPA flow bench, ultrasonic washer, deionized water drum, nitrogen tanks, and forced-convection oven. The oven was re-anchored to the wall with earthquake restraints in its new location.

The power cords still need to be permanently routed, but the new clean and bake lab is otherwise ready for use.

Attachment 1: IMG_0781.png
IMG_0781.png
Attachment 2: IMG_0782.png
IMG_0782.png
  297   Wed Dec 20 10:33:34 2023 JonInfrastructureClean & BakeClean and bake lab migrated to 1129

Update: I have completed permanent routing of the electrical cables. I also ran the ultrasonic washer's drain line to the sink drain (the current hose does reach). The new clean and bake lab is now fully operational.

Quote:

[Jon, Tyler, Aiden, Luke]

On Friday we completed assembly of the new stainless steel-topped benches in 1129. We then moved the clean and bake equipment from 1119 to its new larger space in 1129. This included the HEPA flow bench, ultrasonic washer, deionized water drum, nitrogen tanks, and forced-convection oven. The oven was re-anchored to the wall with earthquake restraints in its new location.

The power cords still need to be permanently routed, but the new clean and bake lab is otherwise ready for use.

 

  350   Tue Mar 19 15:22:27 2024 AidenUpdateClean & BakeFROSTI Legs Clean and Bake
[Aiden, Luke]

Cleaned and baked the Cal Tech FROSTI legs and showed Luke the procedure on how to clean parts.

  353   Sun Mar 24 11:50:37 2024 AidenUpdateClean & BakeCal Tech FROSTI Parts
Bagged the FROSTI legs and feet after the conclusion of the clean and bake. They are double bagged and sitting in the flow bench.
  467   Tue Nov 5 09:56:04 2024 Luis MartinUpdateClean & BakeMR Bake

[Luke, Luis]

On Friday, 11/1/24, the MR was unpackaged and cleaned under the flow bench. We noticed an ink stain on one of the corners of the material. After wiping it down with IPA and Vector Alpha wipes, the stain was removed. However, the material showed some wear.

After cleaning, we placed it in the bake station and applied a stainless steel baking protocol. On Tuesday, 11/4/24, the material was removed from the furnace and packaged in a static shielding bag. The MR was wrapped in Vector Alpha wipes.

  26   Fri Feb 10 16:34:45 2023 Huy Tuong CaoInfrastructureClean & BakeNitrogen gas tank ready to use
Cao,

Today I fixed the final bit related to the nitrogen gas tank, which is to apply sealing tape to M-NPT connector of the hose to prevent leakage (file: AirGunSealed.jpg)
After application of the tape, no audible leak can be heard from connection between the hose and the air gun.

The general operating procedure for the gas tank is as following:

  1. Turn the regulator (blue handle) anti-clockwise still it's loose
  2. Turn the valve on nitrogen as tank anti-clockwise, immediately the RHS meter of the regulator would jump to approx 2000 psi. This is the standard pressure for high pressure gas tank
  3. Turn the regulator clock-wise slowly until the pressure one the LHS meter face reads approx 60 psi. This is sufficient for drying parts with. At this point, the flow pressure still should register zero
  4. Press the trigger on the air gun, a high pressure air flow should come out and the flow meter should increase
  5. When finished, close the gas tank valve, turn the regulator anti-clockwise, then press the air gun trigger to release gas left in the hose/gun

Attachment 1: AirGunSealed.jpg
AirGunSealed.jpg
  3   Thu Jun 2 21:55:02 2022 JonUpdateCamerasFLIR Camera Setup

The new FLIR A70 infrared camera has arrived. Tyler and I unpacked it in the lab yesterday. In less than an hour, we succeeded in powering it on and connecting it to the lab network. We have assigned it the static IP address 192.168.1.6.

Online Configuration Portal

The FLIR camera can be configured, as well as stream live data, through a web browser interface. It can be accessed from any workstation on the lab network by navigating in the browser to http://192.168.1.6. The login credentials are stored here (log in with your LIGO.ORG credentials).

Next Steps

The next step is to install FLIR's Python API for controlling and reading out the camera on chimay. The API comes with demo codes which we can use to test the basic connectivity and which will serve as a reference for developing our own Python interface over the summer.

Attachment 1: IMG_1473.png
IMG_1473.png
Attachment 2: IMG_1474.png
IMG_1474.png
  4   Fri Jun 3 13:03:33 2022 JonUpdateCamerasFLIR Camera Setup

Summary

I have installed the requisite software on chimay for interfacing the FLIR A70 camera in Python. There are two packages required from FLIR:

  • Spinnaker SDK, which provides the low-level camera drivers and a C/C++ API.
  • PySpin, a wrapper of the Spinnaker library which provides the Python API.

These installations did not work out-of-the-box for Debian 11 (only Ubuntu is officially supported). I had to make several modifications which are documented below for future reference.

This setup has not yet been tested with the camera connected to chimay.

Documentation and Demo Codes

The PySpin package comes with a number of Python demo codes and a complete API reference. These can be found on chimay at the following locations.

  • Example codes: /opt/spinnaker/python/Examples/Python3/
  • Python API reference manual: /opt/spinnaker/python/docs/PySpinDoc.pdf

Installing Spinnaker SDK

Below were the steps required to install Spinnaker on chimay (Debian 11).

  1. Download the Spinnaker binaries (AMD64 architecture) and copy the tarball to, e.g., /home/controls on chimay.

  2. Unpack the tarball contents and enter the new directory:
    $ tar -xf spinnaker-2.6.0.160-Ubuntu20.04-amd64-pkg.tar.gz
    $ cd spinnaker-2.6.0.160-amd64


  3. Next, install the dependencies (on chimay, these were all already installed):
    $ sudo apt-get install libavcodec58 libavformat58 \
    libswscale5 libswresample3 libavutil56 libusb-1.0-0 \
    libpcre2-16-0 libdouble-conversion3 libxcb-xinput0 \
    libxcb-xinerama0
     
  4. There is one additional dependency, qt5-default, which is obsolete in Debian and no longer available via the package manager (that is, its functionality was absorbed into other Qt packages). I was able to find a workaround based on these instructions.

    1. Install all the dependencies of qt5-default:
      $ sudo apt-get install qtbase5-dev qtchooser qt5-qmake qtbase5-dev-tools
       
    2. Manually remove the qt5-default dependency from the Spinnaker package.

      Unpack the spinview-qt_2.6.0.160_amd64.deb package:
      $ mkdir tmp
      $ cd tmp
      $ ar -x ../spinview-qt_2.6.0.160_amd64.deb
      $ tar xf control.tar.xz

      Open the file control in a text editor and delete the qt5-default dependency from the Depends list.

      Then repackage the contents:
      $ tar cfJ control.tar.xz control
      $ ar rcs ../spinview-qt_2.6.0.160_amd64.deb debian-binary control.tar.xz data.tar.xz
      $ cd ..
      $ rm -rf tmp

      This overwrites the original package with a version no longer containing the qt5-default dependency.


  5. Now proceed with running the install script:
    $ sudo sh install_spinnaker.sh

This will install the Spinnaker library at /opt/spinnaker. Spinnaker also provides a standalone GUI application, SpinView, which can be executed from the terminal (from any directory) via the command spinview.

Installing PySpin

The main challenge with installing PySpin was that it is currently only supported for Python <=3.8. The system installation on Debian 11 is Python 3.9 and 3.8 is not available within the package manager. Following these instructions, I manually installed a second version of Python (3.8) on chimay, in a way that should not interfere with the system installation.

The Python 3.8 executable is in the system path and can be run only via the command python3.8. It is not symlinked to python or to python3. Those remain linked to the preexisting Python 3.9.

After installing Python 3.8, I proceeded with the installation as follows:

  1. Download the PySpin package (x86_64 architecture) and copy the tarball to, e.g., /home/controls on chimay.

  2. Unpack the tarball contents and into a new directory:
    $ mkdir python
    $ mv spinnaker_python-2.6.0.160-Ubuntu20.04-cp38-cp38-linux_x86_64.tar.gz python
    $ tar xf spinnaker_python-2.6.0.160-Ubuntu20.04-cp38-cp38-linux_x86_64.tar.gz

  3. Move the new directory into the Spinnaker installation directory:
    $ sudo mv python /opt/spinnaker
    $ cd /opt/spinnaker/python
     
  4. Install the dependencies:
    $ sudo python3.8 -m pip install --upgrade numpy matplotlib

  5. Finally, install PySpin itself:
    $ sudo python3.8 -m pip install spinnaker_python-2.6.0.160-cp38-cp38-linux_x86_64.whl

If this succeeded, you should now be able to enter import the package PySpin as

$ python3.8
>>> import PySpin

without error.

  5   Mon Jun 6 17:11:48 2022 JonUpdateCamerasFLIR Camera Setup

Today I tested the Spinnaker/PySpin software installations (detailed in ELOG #4) with the FLIR camera connected to chimay. It works!

Example codes

I was able to run several of the PySpin example codes. In particular, there is one which connects to the camera and streams live data to a pop-up Matplotlib window that looks very useful. It is called AcquireAndDisplay.py.

When running these, it is important to keep in mind that PySpin requires Python 3.8, which is not the default system version on chimay. So to run AcquireAndDisplay.py, for example, you must explicitly call the correct version of Python:

$ python3.8 AcquireAndDisplay.py

The standard python and python3 aliases are still linked to the system version (3.9), so calling these will result in a PySpin import error.

Git repository

I have set up a git repo for our FLIR camera control code. I have populated it with an Examples directory which contains the PySpin Reference Manual as well as all the example codes (see the README). There is a local copy of this repo on chimay at /home/controls/FLIR.

Other FLIR streaming software

In addition to the PySpin demos, there are several fully developed applications provided by FLIR. While we do not plan to use these long term, they may be very useful for debugging and cross-validation of our Python interface during development:

  • Browser interface: From any web browser on the local lab network, navigate to http://192.168.1.6 and log in (credentials here). This interface supports live data streaming as well as full control of the camera settings.

  • SpinView: A standalone application provided as part of the Spinnaker SDK. It supports streaming live camera data as well as saving images and videos. It can be launched from the terminal on chimay via the command: $ spinview

  • Research Studio: This is FLIR's proprietary software, for which we have a one-year license. It can be launched from the terminal on chimay via the command: $ FLIRResearchStudio

Permanent cabling

Since everything appears to be working, I ran a permanent Cat 6 cable from the lab switch to the camera's power+I/O adapter. The adapter is plugged into a UPS-protected power strip overhanging the optical table, as pictured below. To prevent the adapter from unplugging itself under its own weight, I attached a zip tie around the adapter to hold it securely in place.

Attachment 1: IMG_1480.png
IMG_1480.png
Attachment 2: IMG_1481.png
IMG_1481.png
  6   Tue Jun 21 18:31:49 2022 Cassidy and PhoebeUpdateCamerasIR Absorbing Screen and FLIR Camera Setup
Today we set up the IR absorbing screen and the camera on the optical table, as well as tested that the camera was functioning as expected (picking up heat sources beyond the screen).

Screen Setup

The screen was set up by clamping it between two rectangular posts on each side. First, two posts were set up with 22 in. between them (thus allowing the screen to span a total distance of up to 24 in. when clamped down). To best stabilize the screen and to allow for it to be "pulled" taut by exploiting the give in the L-bracket, the L-bracket was bolted on the outside of the post, along the same axis as the screen itself.

On first attempt, the screen was too thin to be fully clamped between the posts. In order to have it fit snugly, sections of heat shrink tubing was used as a shim at the points where the posts were clamped together. The tubing was slid into the track of one optical post at the desired points. In order to accommodate the shim, the two posts had to be held together, ideally clamped, with the screen and shim in place. Then, the post clamps could be slid into the tracks of the post, moved to the optimal location, and tightened down. This required at least three people: two to tighten one side while the third holds up the screen on the other side. The screen was placed ~1/8" from the edge of the posts and flush with the top.

Camera Stage Setup

Once the screen was in place, the camera stage was set up by placing the XY-Translational with Rotation stage on four 3" optical posts. Then, the z-axis stage was placed in the center of that, with another 3" optical post on top, which was then topped with the camera. This was set and clamped down ~22.5" from the screen. This was about 1" closer than expected based on our theoretical models.

Fine Alignment

We used the visible camera to fine align the screen and to test the setup. Notably, the visible camera is placed below the infrared and thus requires a calibration in order to ensure the two are aligned on the computer image. This can be set by hand using the FLIR proprietary software (FLIR CamWeb) and adjusting the "MSX alignment". The image mode "Thermal MSX" allows both the visible and IR camera to be displayed at once and the difference in their positioning can be seen. We found an offset of ~0.5m to be nearly accurate (note: using this method, although you can get more accurate than this, the displayed value only has one significant figure).

In order to align the camera, we first used the exposed top edge to judge whether the camera was appropriately centered on the screen. We set the rotation as close as possible to being in line by eye, then adjusted the y-axis until the gap on both corners was a similar size, thus indicating that the rotation and y-position were correctly set. Rotationally, the camera required only a refinement of -1/2 degree. The y-axis is set at 1.25. Then, the camera was pulled as far from the screen as possible using the x-axis to allow the screen to be easily centered using the z-axis. Once the outlined test mass was centered, the x-axis was used to bring the camera close until the screen just barely filled the field of view. The x-axis is at 2.25. The z axis is set to it full dynamic range at 10. Unfortunately, the camera is still slightly too tall for the screen, likely requiring the purchase of a new optical post about 0.5in shorter the current one. This interchange will likely require a new fine alignment after.

Basic Imaging Tests

The camera was also focused on the screen based on the manufacturer's printed distance on the camera itself (using 22.5", or 0.572 m). Using the FLIR proprietary software, the camera appears to be in focus in IR (a hand was used as a good focusing tool for this). Additionally, the camera does pick up heat on the other side of the screen. A hand can be lightly seen warming the screen, as can a soldering iron tip. This was a very imprecise visual tool, but does indicate that the camera and screen are working roughly as expected.

Next Steps

A new optical post that is ~2.5" tall should be ordered to replace the one under the camera currently. The heating system also needs to be ordered and set up. Currently we are debating between a parabolic reflector with a hole in the back, and one without, as each would require a different mounting mechanism for the cartridge heater.

Attachment 1: IMG_6751.png
IMG_6751.png
Attachment 2: IMG_1146.png
IMG_1146.png
Attachment 3: IMG_6756.png
IMG_6756.png
  9   Tue Jul 26 14:10:35 2022 CassidyUpdateCamerasOptical Post Replacement and Realignment
Today I replaced the 3" optical post that the camera rests on with a 2" optical post in order for the screen to correctly fill out the camera's FOV. The 3" post is now in the glass optics cabinet next to the FLIR camera configuration box, wrapped in the protective materials from the 2" post for safekeeping.

There were no issues with the physical replacement of the post, except that the fork clamp on the post needs to be on one of the perpendicular, not diagonal, axes in order to be secure. I chose the front axis (towards the screen) as before in order to easily access the alignment knobs.

To align, I followed the same process as last time except for a more purposeful original rough alignment. For alignment purposes, the visual camera was used. For the first rough alignment, I pulled the camera as far back as possible on the x axis (with the z axis roughly centered), then moved the entire stage setup back until I could just see both the top and bottom edge of the screen. Then, I set the z-axis to an extreme in order to use the edge of the screen to align the rotational and y-axis pieces for the fine alignment.

For the fine alignment, starting with the z and x axis at extremes, I began by aligning the rotational axis. To do this, I used the gaps between the top of the screen and the camera window on the far left and right of the image. When these gaps were equal I knew the rotation was adequately set. Then, I set the y-axis so that the pattern was centered. If the gaps were no longer even, I redid the rotation alignment and ditto with the y axis until both were set. This resulted in a rotation of about two degrees and a y axis at just under 3.5.

To set the z and x axis, I centered the z-axis using the top and bottom of the screen, which should both be visible if the rough alignment was done correctly. Then, I adjusted the x axis by pushing it forward until the top and bottom of the screen were just out of the frame. As with the rotational and y-axis, I iteratively fine tuned the x and z axis until both the image was centered in the z axis and only the screen was in view. This resulted in a z-axis value of just over 5.5 and an x axis value of nearly 1.75.

Pictures are included of all alignment knobs and the new post/stage setup!

Attachment 1: YAxisAlignment.png
YAxisAlignment.png
Attachment 2: XRotZAlignment.png
XRotZAlignment.png
Attachment 3: NewOpticalPost.png
NewOpticalPost.png
  58   Wed Mar 29 16:00:36 2023 PamellaUpdateCamerasFLIR project
Today Pamella and Tyler started work in the updates for the FLIR project. We trie for the first time cover the mirrors with aluminum foil and run the code with this. We work in figured out how the python codes works with real datas. To do: Understand how get the real datas and how to compere that with the old datas. Starting test with the FLIR and mirrors with aluminum foil in with the power on. Testing the FLIR camera more times with the mirrors covered with aluminum foil.
Attachment 1: 15D13FE3-48A9-4ACF-9422-07032DD8D028.jpeg
15D13FE3-48A9-4ACF-9422-07032DD8D028.jpeg
  243   Mon Oct 23 11:28:05 2023 TylerUpdateCamerasFLIR Camera Code Updates
The past week I've been spending time going through the FLIR code on gitlab. Initially, it had appeared that our measurements with the camera had differed about 2 degrees C from what the thermocouple was giving (Ref ELOG 181). Upon inspection of the FLIR streaming code, I noticed a few issues: 1. The emissivity value wasn't set correctly (was 0.999 originally, should be about 0.95). 2. The ambient temperature was set to about 21.6 C (71 F). 3. The distance given before was about an inch off from what I measured. These three parameters all must be manually specified to calculate the temperature values, and are what I assume caused the larger temperature difference seen before. I've attached a new set of measurements that I took below, where 6 images were taken by the camera, looking at a heating source with a current of 0.15 A being driven. The difference between the camera and the thermocouple were much smaller, as seen below. I'd still like to take a few more measurements to solidify that this has rectified the issue, but at the moment it seems this is working much better. Images at: https://drive.google.com/drive/folders/1VDvZ1rfEGWsHq1AgG-chde3Cd8Do_piD?usp=sharing
Attachment 1: Screenshot_2023-10-23_at_11.06.04_AM.png
Screenshot_2023-10-23_at_11.06.04_AM.png
  191   Thu Aug 3 18:03:42 2023 Shane, JonUpdateCDSAnti-Aliasing chassis complete
We finished installing the internal power supply cables in the anti-aliasing chassis today, which concludes its assembly. Work on AI, BI, BO chassis still underway.
Attachment 1: IMG_8544.jpeg
IMG_8544.jpeg
  193   Mon Aug 7 13:58:46 2023 shaneUpdateCDSinternal power supply cables done for AI chassis
Finished assembling and installing the aLigo chassis internal power supply cables in the anti-imaging chassis today. Tested for continuity and everything looked good. Chassis lid still secured with two temporary screws because I'm not sure what the correct size is.
Attachment 1: IMG_8674.jpeg
IMG_8674.jpeg
  197   Tue Aug 8 17:03:22 2023 Shane, JonUpdateCDSBinary input chassis finished
Finished assembly of the binary input chassis today, including DC on/off switch and LED installation. external cable assemblies still needed, but internal work done.
Attachment 1: IMG_8681.jpeg
IMG_8681.jpeg
  199   Wed Aug 9 17:35:26 2023 ShaneUpdateCDSBinary output chassis finished
Finished the internal wiring for the binary output chassis today, which completes its assembly. Also secured ribbon cables and chassis lid with their respective screws. Note: one of the spade lugs' internal metal piece is a little loose and had to be reinserted after falling out once. Seemed secure after this, and I checked continuity on everything and it was all good.
Attachment 1: IMG_8685.jpeg
IMG_8685.jpeg
Attachment 2: IMG_8686.jpeg
IMG_8686.jpeg
  210   Wed Aug 16 16:55:40 2023 Shane, JonUpdateCDSexternal power supply cables finished
All four external power supply cables for the CyMAC chassis are now assembled. Using them now to test if chassis power up correctly.
Attachment 1: IMG_9251.jpeg
IMG_9251.jpeg
  211   Wed Aug 16 17:17:02 2023 Shane, JonUpdateCDSBinary input chassis powering correctly
Binary input chassis passed power-on test, and is lighting up as expected. Binary output chassis also successfully powered on. AA and AI chassis not powering on correctly, need to do some debugging to find the problem.
Attachment 1: IMG_9253.jpeg
IMG_9253.jpeg
  225   Thu Sep 14 17:05:38 2023 Shane, JonUpdateCDSTiming chassis setup and testing
Tested the setup today for the timing chassis (intended to provide the timing reference for the CyMAC). Was able to read the correct frequency, but voltage was significantly lower than needed. Still identifying source of problem, and looking into the relationship between the supportable ohm load and the voltage.
  231   Fri Sep 29 17:27:30 2023 Shane, JonUpdateCDSTiming chassis assembly progress (CyMAC)
Worked on timing chassis assembly today for the CyMAC, settled on layout (see attachment 1). Frequency synthesizer and frequency divider tentatively mounted. Next steps involve putting together and installing an LED and DC on/off switch assembly like the one in the binary input chassis (attachment 2 for comparison; orange and black wires in BI chassis analogous to red and black wires in timing chassis). Will also use front and back panels of BI chassis as a template for the timing chassis panels, with the following alterations: two SMB feedthroughs in place of the ribbon cable connections shown on the back panel, the addition of an LED on the front panel to indicate power, and potentially a spot on the front panel for usb connection to programmable frequency synthesizer.
Attachment 1: timing_chassis.jpeg
timing_chassis.jpeg
Attachment 2: BI_chassis.jpeg
BI_chassis.jpeg
  236   Mon Oct 9 16:59:21 2023 Shane, JonUpdateCDStiming chassis power cable and AI chassis testing for CyMAC
[Shane, Jon]
    Today's CyMAC work:
  • Finished assembling external power supply cable for the timing chassis (see attached image)
  • Also did some debugging of AA and AI chassis re: power issues. After testing voltages at various test points on the power regulator board (TP1-TP6) in the AA chassis, it seems like it's the source of the problem. Used bench DC power supply to test, running 15V, and the correct voltage is coming in to the board but something significantly smaller is being output. We're also getting unexpected negative signs on voltage at certain test points, with leads in correct positions
  • Upon further examination, it looks like the lights on the filter boards are actually turning on (in both the AA and AI chassis), though it's only 2/4 lights on each board and they are very faint
  • Corrected DC on/off switch spade lug orientation in AI chassis.
  • Tested AI chassis power regulator board to see if the problem was the same, and found again that voltage coming in was correct, and voltage going out was not.
  • In case of interest in exact numbers, results were as follows:
    • Voltage difference between TP1(+Vin) and TP6(-Vin) is ~30V
    • Voltage difference between grounded chassis wall and TP1 (+Vin) is ~15V
    • Voltage difference between grounded chassis wall and TP6(-Vin) is ~-15 V
    • voltage difference between TP2(+Vout) and TP5(-Vout) is ~3V
    • Voltage difference between TP3 (gnd) and TP2(+Vout) is -0.065V
    • Voltage difference between TP5(-Vout) and ground is ~3V
Attachment 1: IMG_1457.jpeg
IMG_1457.jpeg
  244   Mon Oct 23 18:02:23 2023 Shane, JonUpdateCDSTiming chassis assembly complete
Concluded assembly of timing chassis for CyMAC today; see attachment 1 for interior set up of chassis. Installed front and rear panels, wired on/off switch and LED assembly, and tested to confirm everything is powering on correctly. Also tested the outputted timing reference that will go to DAC and ADC adapter boards (see attachment 2 for output 1 and attachment 3 for output 2).
Attachment 1: timing_chassis_complete.jpeg
timing_chassis_complete.jpeg
Attachment 2: timing_chassis_output_1.jpeg
timing_chassis_output_1.jpeg
Attachment 3: timing_chassis_output_2.jpeg
timing_chassis_output_2.jpeg
  247   Fri Oct 27 15:28:30 2023 ShaneUpdateCDSAA and AI chassis for CyMAC powered on and functional
CyMAC updates: Switched out the faulty power regulator boards in the Anti-Aliasing and Anti-Imaging chassis. Both chassis are now powering up correctly with lights on and the correct voltages in/out of the power regulator board. Images attached. All chassis for the CyMAC now functional, so next step is mounting everything in the rack.
Attachment 1: AI_chassis_lights_on.jpeg
AI_chassis_lights_on.jpeg
Attachment 2: AA_chassis_lights_on.jpeg
AA_chassis_lights_on.jpeg
  250   Mon Oct 30 18:15:13 2023 ShaneUpdateCDSCyMAC chassis mounted and progress on power connections
All CyMAC chassis mounted in electronics rack today, and shelf for monitor also mounted. Images attached. Assembled grounding cables for power connections, and attached the timing chassis to power & gnd. Powered on successfully with correct voltages in expected places. After power test, everything was turned off and unplugged. Next steps: attach grounding cables to other four power supply chassis. Also attach anti-aliasing, anti-imaging, binary input and binary output chassis to power supply.
Attachment 1: electronics_rack_back.jpeg
electronics_rack_back.jpeg
Attachment 2: electronics_rack_front.jpeg
electronics_rack_front.jpeg
Attachment 3: mounted_chassis.jpeg
mounted_chassis.jpeg
Attachment 4: power_supply.jpeg
power_supply.jpeg
  252   Wed Nov 1 18:24:01 2023 ShaneUpdateCDSCyMAC Power connections made
Finished power connections today for the CyMAC chassis. Images attached. Had to switch the shrink fork terminals on the power supply cables to shrink ring terminals, but was able to get everything connected and secured. Upcoming work: turning on power supply and testing voltages/checking everything is turning on and lighting up correctly. Configuration is as follows:
  • Topmost Sorensen: +24V (reserved for FROSTI)
    • Positive terminal:
      • unconnected for now
    • Negative terminal: [negative terminal is grounded]
      • jumper to Sorensen ground screw
  • Sorensen 2nd from the top: +18V
    • Positive terminal:
      • white power cable wire for AA chassis
      • white power cable wire for AI chassis
      • white power cable wire for BI chassis
      • white power cable wire for BO chassis
    • Negative terminal: [negative terminal is grounded]
      • jumper to Sorensen ground screw
      • black power cable wire for AA chassis
      • black power cable wire for AI chassis
      • black power cable wire for BI chassis
      • black power cable wire for BO chassis
  • Sorensen 3rd from the top: -18V
    • Positive terminal:[positive terminal is grounded]
      • jumper to Sorensen ground screw
      • green power cable wire for BI chassis
      • green power cable wire for BO chassis
    • Negative terminal:
      • green power cable wire for AA chassis
      • green power cable wire for AI chassis
  • Bottommost Sorensen: +6V
    • Positive terminal:
      • white power cabe wire for timing chassis
    • Negative terminal: [negative terminal is grounded]
      • jumper to Sorensen ground screw
      • green power cable wire for timing chassis
      • black power cable wire for timing chassis
Attachment 1: cymac_power_connected.jpeg
cymac_power_connected.jpeg
Attachment 2: cymac_power_connections_back.jpeg
cymac_power_connections_back.jpeg
ELOG V3.1.3-7933898