I disabled the feedback to the PZT1 PITCH in the Y arm dithering scripts so that it won't push the beam away from the good point.
Currently one has to do a manual alignment only for the PZT PITCH but the rest of DOFs are still able to be automatically aligned with the script.
The polarity for controlling the PZT1 PITCH seems to have flipped for some reason.
We made a model for the dither angular stabilization system c1ass.mdl. The attached file shows the diagram.
The idea is to dither a combination of 6 optics (ETMs, ITMs, PZTs) at different frequencies and demodulate three PDs (TRX, TRY, REFL11I). Then form the DOFs from demodulted signals, filter, and send each DOF to a combination of optics.
This is enough to get started with arm cavities alignment (we may need to add the BS for the Y arm). More optics and PD can be added as they become available and/or needed.
The DAC for the fast PZT are not connected and have to be commissioned.
I modified our existing c1ass model to include alignment of input steering TT1 and TT2 for YARM and BS for XARM. Corresponding medm screens are also created.
ETM_PIT: frequency = 6 Hz, amplitude = 100 cnts
ETM_YAW: 8 Hz, 400 cnts
ITM_PIT: 11 Hz, 800 cnts
ITM_YAW: 14 Hz, 1200 cnts
These values were chosen by looking at cavity transmission and length signals - excitation peaks should be high enough but do not shake the optics too much.
LO for each degree of freedom is mixed with cavity length and transmission signals that are first bandpassed at LO frequency. After mixing low-pass filter is applied. Phase rotation is chosen to minimize Q component
8 * 8 matrix was measured by providing excitation at 0.03 Hz to optics and measuring the response in the demodulated signals. Excitation amplitude was different for each optics to create cavity transmission fluctuations of 25%
Though coherence was > 0.95 during the measurement for each element (except for TT -> Length signals), after inverting and putting it to control servo, loops started to fight each other. So I decided to try a simple diagonal matrix:
TT1_PIT -> ETM_PIT_TRANS, TT1_YAW -> ETM_YAW_TRANS, TT2_PIT -> ITM_PIT_TRANS, TT2_YAW -> ITM_YAW_TRANS,
ITM_PIT -> ETM_PIT_LENGTH, ITM_YAW -> ETM_YAW_LENGTH, ETM_PIT -> ITM_PIT_LENGTH, ETM_YAW -> ITM_YAW_LENGTH
And this matrix worked much better.
8 loops are running at the same time. UGF for input steering loops is 20 mHz, for cavity axis loops - 80 mHz. Slower loop is stronger at low frequencies so that cavity axis servo follows input steering alignment.
When I started experiment the cavity was misaligned, transmission was ~0.4. Servo was able to align the cavity in ~30 seconds. This time depends on mirrors misalignment as well as input optics and cavity axis misalignment relative to each other.
When servo converged I disturbed ETMY, ITMY, TT1 and TT2. Servo was able to compensate for this.
Excitation lines seen by transmission and length of the cavity are suppressed as shown on the attached as pdf figures.
Though the servo is able to align the cavity during my tests, this does not mean it will work perfectly any time. So please, if you lock, try to use the servo for alignment. If something goes wrong we'll fix it. This is better then to align IFO by hands every time.
I've put 4 scripts into ASS directory for YARM alignment. They should be called from !Scripts YARM button on c1ass main medm screen.
Scripts configure the servo to align the cavity and then save computed offsets. If everything goes right, no tuning of the servo is needed.
Call TRANS MON script to monitor YARM transmission, then "ON" script for aligning the cavity, then "SAVE OFFSETS" and "OFF" for turning the servo off.
SAVE OFFSET script writes DC offsets to C1:OPTIC_ANGLE_OFFSET channel, not to _COMM channel!
LIMITS are set to 500 for cavity axis degrees of freedom and to 0.5 for input steering. Usually servo outputs is ~30% if these numbers. But if something goes wrong, check this for saturation.
DC offsets of all 8 degrees of freedom are written one by one but the whole offset of put at the same time. This works fine so far, but we might change it to ezcastep in future.
I wanted to center beams on the XARM cavity mirrors using c1ass model. I've run XARM setup script and then turned dithering on. Cavity went out of lock because calculated offsets were incorrect.
I was using TRX only and calculated rotation phases for ITM and ETM pitch and yaw. For this I've added a low pass filter into Q-quadrature bank and made DC value at the output to be zero by adjusting the phase. I've put gains (+1 or -1) in the I quadrature such that output was positive.
Then I've set the sensing matrix to identity as I decided to deal with separate loops. Of coarse, they are mixed by the cavity, but at least in the control system they are distinguished. Old matrix summed error signals in one degree of freedom from both mirrors. This makes more sense but still not precise because coils are not ideally diagonalized.
Then I've adjusted gains for control loop for every degree of freedom. I've ended up with (0.1; 0.1; 0.1; -0.1). I did not use large gains as I wanted slow convergence because of the demodulation low-pass filter time response constant of 20 sec. Coupling (I quadrature) was reduced from (0.9, 0.3, 2.4, 1.2) to zeros (0-0.1) in ~5 minutes, TRX increased from 0.73 to 0.90.
There is one thing that I do not understand yet. I think controllers should minimize angle -> length coupling that is proportional to I-quadrature if phase is correct. But phase depends on alignment and when the feedback loops are on, phase drifts. I could see it during my measurement. But I did not find any script that smoothly tunes phase such that coupling is all in I-quadrature. I guess this is not hard to set a gradient descent algorithm that minimizes DC value of Q-quadrature. Or how this is usually done?
The first column is distance from the front face of the laser in cm.
The second column is beam diameter in the horizontal direction in microns.
The third column is the beam diameter in the vertical direction in microns.
The SP table was found open this morning. Please, do not make optics dirty!
I cleaned up the tops of the SP table.
Stop storing your junk, boxes, laptops, etc. on the optical tables. This includes the big SP table. Please move all of that junk into racks or shelves, etc.
ETMX optical table was left open. Burned toast award goes to ......?
Type: How not to
Please do not leave optical tables open! You will be held responsible for creating dirty optics.
Specially heavy items: old analoge scope or hardware loaded boxes......etc
The table cover section holding crossbars are not evenly spaced.
You have to center each cover section on the cross bar so it is supported on both sides !
I will clean up on this table tomorrow
Yesterday evening I took nearly all of the masks, gloves, gowns, alcohol wipes, hats, and shoe covers. These were the ones in the cleanroom cabinets at the east end of the Y-arm, as well as the many boxes under the yarm near those cabinets.
This photo album shows the stuff, plus some other random photos I took around the same time (6-7 PM) of the state of parts of the lab.
Control room to outside door was realigned.
It is self closing now.
Control room to IFO door lock optimized to soft closing.
All other doors lubricated by Alex of the key shop.
We re-checked IMC locking, arm alignments (we were able to lock and dither align both arms today, and also made the michelson spot look reasonable on the camera) and made sure that the AS and REFL spots were in the camera ballpark. We then proceeded to remove the heavy doors off ITMY and BS/PRM chambers. We also quickly made sure that it is possible to remove the side door of the OMC chamber with the current crane configuration, but have left it on for now.
The hunt for clipping now begins.
Here for the downsampling process we use a low-pass Bessel digital filter of order 6, normalized cut-off frequency = 0.1. In the plot presented below we compare the results with downsampling ratio = 1, 2, 4.
We can see that increasing the downsampling ratio, we increase the error of the filter. Moreover, the error at some particular frequency f seems to depend on the ratio f/Fs, where Fs - sampling frequency (2048 Hz) devided by downsampling ratio. Error is the same for all curves below 1 Hz but then begins to increase as we increase the sownsampling ratio. In order to figure out what the problem is - mistake in the filter code, inaccurate upsample algorithm or this is NLMS particularity, I've changed sampling frequency in the chans/daq/C1PEM.ini and C1IOO.ini files from 2048 Hz to 512 Hz for corresponding channels. Now, we compare the error from the filter working with 2048 Hz frequency, downsampling ratio = 4, low-pass filter = Bessel of order 6, normalized cut-off = 0.1 and filter working with 512 Hz sampling frequency, without downsampling and with corresponding Bessel low-pass filter with normalized frequency 0.4.
MC_F measurement at 2048 Hz was done during the day, for that reason red curved is slightly higher then green in the resonance frequencies. But still we can see that these two cases are very much alike. For this reason, it seems that NLMS filter works better with higher sampling frequencies.
All PEM and IOO DQ channels disappeared. These channels were commented in C1???.ini files though I've uncommented them a few weeks ago. It happened after these models were rebuild, C1???.ini files also changed. Why?
I added the channels back. mx_stream died on c1sus after I pressed DAQ reload on medm screen. For IOO model it is even worse. After pressing DAQ Reload for C1IOO model DACQ process dies on the FB and IOO machine suspends.
I rebooted IOO, restarted models and fb. Models work now, but there might be an easier way to add channels without rebooting machines and demons.
Jamie and Shuresh moved in Jenne's 11 drawers cabinet and relocated old note book boxes on the inside of the vac tube.
Barring other chores for next Wednesday, we're going to spend Wednesday afternoon populating the new cabinet with all of the optics hardware: posts, forks, dogs, everything! It's going to be so organized and awesome!!
Early morning drift in pitch. This plot is meaningless because there is no real light on IP-Ang
The beam is clipping on the pick off mirror at ETMY chamber. The beam is half beam size too high. Yaw is perfect
I left the arms locked last night. Looks like the drift in the Y arm power is related to the Y arm control signal being much bigger than X.
Why is the Y arm drifting so much?
The " PSL FSS Slow Actuator Adjust " was brought back to range from 1.5 to 0.3 yesterday as ususual. Nothing else was touched.
I'm not sure if the timing scale is working correctly on theses summery plots. What is the definition of today?
The y-arm became much better as I noticed it at 5pm
[Rana / Kiwamu]
We tried to set some parameters for the suspension drift monitor but the old matlab script, which automatically sets the values, didn't run because it uses the old mDV protocol.
The attached link below is a description about the script.
It needs to be fixed or upgraded by pynds.
TP3 foreline's dry pump is getting noisier and noisier. Turbo TP3 is pumping on the annulos. The foreline pressure is 7.2 mTorr and it is not degrading. It was swapped in March 5, 2013
The seal is very good, but the bearing is dying.
TP3 turbo pump's dry-foreline pump was replaced.
How to do it:
The pump should be replaced when it's performance <1.0 - 1.3 Torr
Set up valve configuration as shown at Atm1: close in this order VAEE, VASV, VABS, VASV, VASE, VA6 and V5,
Turn TP3 off at it's controller in the rack. Wait till is stops, so you can read 760 Torr at TP3 foreline gauge
Disconnect intake, exhaust vacuum seals and replace pump. Reconnect vacuum fitting and start it up.
Confirm operational details on the front of the controller: 50 K_RPM, 0.2A and <100 mTorr
Reset valves in reverse order
PS: the average life of the tip seal on the Varian SSH-110 dry-pump is about 1 year
This pump " ser LP1007L556 " seal made new record of 668 days: thanks to Bob Taylor who is replacing these seals
Gautam and Steve,
Our TP3 drypump seal is at 360 mT [0.25A load on small turbo] after one year. We tried to swap in old spare drypump with new tip seal. It was blowing it's fuse, so we could not do it.
Noisy aux drypump turned on and opened to TP3 foreline [ two drypumps are in the foreline now ] The pressure is 48 mT and 0.17A load on small turbo.
TP2 dry_pump was changed at intake pressure 982 mTorr at 84,889 hrs This seal hold up for one year.
The rebuilt pump seal performing well at 28 mTorr
Steve & Bob,
Bob removed the head cover from the housing to inspect the condition of the the tip seal. The tip seal was fine but the viton cover seal had a bad hump. This misaligned the tip seal and it did not allow it to rotate.
It was repositioned an carefully tithened. It worked. It's starting current transiant measured 28 A and operational mode 3.5 A
This load is normal with an old pump. See the brand new DIP7 drypump as spare was 25 A at start and 3.1 A in operational mode. It is amazing how much punishment a slow blow ceramic 10A fuse can take [ 0215010.HXP ]
In the future one should measure the current pick up [ transient <100ms ] after the the seal change with Fluke 330 Series Current Clamp
It was swapped in and the foreline pressure dropped to 24 mTorr after 4 hours. It is very good. TP3 rotational drive current 0.15 A at 50K rpm 24C
Another big problem is the workstation application upgrades. The NDS protocol version has been incremented, which means that all the NDS client applications have to be upgraded. The new dataviewer is working fine (on pianosa), but dtt is not:
controls@pianosa:~ 0$ diaggui
diaggui: symbol lookup error: /ligo/apps/linux-x86_64/gds-2.15.1/lib/libligogui.so.0: undefined symbol: _ZN18TGScrollBarElement11ShowMembersER16TMemberInspector
dtt (diaggui) and dataviewer are now working on pianosa to retrieve realtime data and past data from DQ channels.
Unfortunately it looks like there may be a problem with trend data, though. If I try to retrieve 1 minute of "full data" with dataviewer for channel C1:SUS-ITMX_SUSPOS_IN1_DQ around GPS 1019089138 everything works fine:
Connecting to NDS Server fb (TCP port 8088)
T0=12-04-01-00-17-45; Length=60 (s)
60 seconds of data displayed
but if I specify any trend data (second, minute, etc.) I get the following:
Connecting to NDS Server fb (TCP port 8088)
Server error 18: trend data is not available
datasrv: DataWriteTrend failed in daq_send().
T0=12-04-01-00-17-45; Length=60 (s)
No data output.
Alex warned me that this might have happened when I was trying to test the new daqd without first turning off frame writing.
I'm not sure how to check the integrity of the frames, though. Hopefully they can help sort this out on Monday.
The defaults cds-crtools didn't come with some of the older ezcautils (like ezcaread, ezcawrite etc). This is now packaged for debian, so I installled them with sudo apt update && sudo apt install dtt-ezca-tools on rossa. Now, we don't have to needlessly substitute the commands in our old shell scripts with the more modern z read, z write etc.
I am wondering if there is a relative implicit minus sign between the z servo and ezcaservo commands...
Yesterday morning was dusty. I wonder why?
The PRM sus damping was restored this morning.
Yesterday afternoon at 4 the dust count peaked 70,000 counts
Manasa's alergy was bad at the X-end yesterday. What is going on?
There was no wind and CES neighbors did not do anything.
It is worth wiping table top covers. Use isopropanol soaked lint free wipes.
You should wipe off the table cover before you take it off next time.
It is important to turn up the PSL encloure HEPA Variac voltage if you are working in there. It takes less than 10 minutes to reach lab condition.
Lab air count normal. It is not logged. I have a notebook of particle count on the SP table next to the Met One counter.
Chris replaced some air condition filters and ordered some replacement filter today.
Please wet WIPE before opening chamber or optical table ! !
with methanol soaked kimwipes.
The Met One particle counter is located on CES wall, just behind ITMX chamber.
The numbers are not so bad, but have you ( ...a) asked the IFO lately?
e-log was repeatedly hanging and several attempts to start the daemon failed.
problem was solved after clearing the (firefox) browser cache, cookie, everything!!
I found the e-log has been down around 3:40pm, then I restarted the e-log. Now it's working.
I made some changes to the elog on nodus:
I saw that the current version of the elog seems to be in the svn, so tried to svn the changes from nodus via ssh, but got this message:
"svn: This client is too old to work with working copy '/cvs/cds/caltech/elog/elog-2.7.5'; please get a newer Subversion client."
I feel I should svn this but don't want to *&#@ the svn/elog up.
For now I will leave it alone and ask a question: Is the folder /cvs/cds/caltech/elog/elog-2.7.5/ under SVN control? Is it also under CVS control?
TL;DR: New tab added to elog.
No damage. The BS sensor UR 0.220 V has been low for some times.
Dataviewer does not work for long term trend.
6.2M Bandon, OR did not trip any sus