Yes, writing minute trends causes hourly FB crashes in the current state of things. The "raw" minute trending is turned on, but I think that these are unknown to nds.
In the filter banks there were various version of a 'dewhite' filter. They were all approximately z=150, p=15, g =1 @ DC, but with ~1% differences. I don't trust their provenance and so I've enforced symmetry and fixed their names to reflect what they are (150:15).
The filters were made in response to a measurement of the pentek whitening boards in 2015 (ELOG 11550), but this level of accuracy probably isn't important.
I tried to follow these instructions today to make the Simulink Webview accessible:
controls@nodus|public_html > ln -sfn /users/public_html/FE /export/home/
But...I got a "403 Forbidden" message. What is the secret handshake to get this to work? And why have we added this extra step of security?
This link works for me: https://nodus.ligo.caltech.edu:30889/FE/c1als_slwebview.html. The problem with just /FE/ is that there is no index.html, and we have turned off automatic directory listings.
IIRC, this arrangement was due to the fact that authentication of some of the folders (maybe the wikis) was broken during the nodus upgrade, so there was sensitive information being publicly displayed. This setup gives us discretion over what gets exposed.
EQ: https://nodus.ligo.caltech.edu:30889/FE is live
This was done by adding "Options +Indexes" to /etc/apache/sites-available/nodus
I've added a little more info about the apache configuration on the wiki: ApacheOnNodus
A novice was learning at the feet of Master Daqd. At the end of the lesson he looked through his notes and said, “Master, I have a few questions. May I ask them?”
Master Daqd nodded.
"Do we record minute trends of our data?"
"Yes, we record raw minute trends in /frames/trend/minute_raw"
"I see. Do we back up minute trends?"
"Yes, we back up all frames present in /frames/trend/minute"
"Wait, this means we are not recording our current trends! What is the reason for the existence of seperate minute and minute_raw trends?
“The knowledge you seek can be answered only by the gods.”
"Can we resume recording the minute trends?"
Master Daqd nodded, turned, and threw himself off the railing, falling to his death on the rocks below.
Upon seeing this, the novice was enlightened. He proceeded to investigate how to convert raw minute trends to minute trends so that historical records could be preserved, and precisely when Master Daqd started throwing himself off the mountain when asked to record minute trends.
Someone installed "Debian" on allegra. Why? Dataviewer doesn't work on there. Is there some advantage to making this thing have a different OS than the others? Any objections to going back to Ubuntu12?
My elog negligence punchcard is getting pretty full... It's pretty much for the same reason as using Debian for optimus; much of the workstation software is getting packaged for Debian, which could offload our need for setting things up in a custom 40m way. Hacking the debian-focused software.ligo.org repos into Ubuntu has caused me headaches in the past. Allegra wasn't being used often, so I figured it was a good test bed for trying things out.
The dataviewer issue was dataviewer's inability to pull the `fb` out of `fb:8088` in the NDSSERVER env variable. I made a quick fix for it in the dataviewer launching script, but there is probably a better way to do it.
I was able to bring back svn 1.6 formatting to /cvs/cds/caltech/chans by doing the following on nodus:
svn co https://nodus.ligo.caltech.edu:30889/svn/trunk/chans ./
rm -rf ../chans/.svn
mv ./.svn ../chans/
Note that I used the http address for the repository. The svn repository doesn't live at file:///cvs/cds/caltech/svn anymore; all of our checkouts (e.g. in the scripts directory) use http to get the one true repo location, regardless of where it lives on nodus' filesystem. (I suppose we could also use https://nodus.martian:30889/svn to stick to the local network, but I don't think we're that limited by the caltech network speed)
Presumably, at some point we will want to introduce a newer operating system into the 40m, as ubuntu 12.04 hits end-of-life in April 2017. Ubuntu 16.04 includes svn 1.8, so we'll also hit this issue if we choose that OS.
Aside from the svn issues, this directory (/cvs/cds/caltech/chans) only contains pre-2010 channels. Filters and DAQ ini files currently live in /opt/rtcds/caltech/c1/chans, which is not under version control. It's also not clear to me why summary page configurations should be kept in this /cvs/cds place.
The amplifier unit should use the three pin dsub connectors (3w3?) that we use on many of the other units for DC power, and preferably go through the back panel. You can leave out the negative pin, since you just need +24 and ground.
The JetStor RAID unit that we had been using for frame writing before the fb meltdown has some archived frames from DRFPMI locks that I want to get at. I spent some time today trying to mount it on optimus with no success
The unit was connected to fb via a SCSI cable to a SCSI-to-PCI card inside of fb. I moved the card to optimus, and attached the cable. However, no mountable device corresponding to the RAID seems to show up anywhere.
The RAID unit can tell that it's hooked up to a computer, because when optimus restarts, the RAID event log says "Host Channel 0 - SCSI Bus Reset."
The computer is able to get some sort of signals from the RAID unit, because when I change the SCSI ID, the syslog will say 'detected non-optimal RAID status'.
The PCI card is ID'd fine in lspci as "06:01.0 SCSI storage controller: LSI Logic / Symbios Logic 53c1030 PCI-X Fusion-MPT Dual Ultra320 SCSI (rev c1)"
'lsssci' does not list anything related to the unit
Using 'mpt-status -p', which is somehow associated with this kind of thing returns the disheartening output:
Checking for SCSI ID:0
Checking for SCSI ID:1
Checking for SCSI ID:2
Checking for SCSI ID:3
Checking for SCSI ID:4
Checking for SCSI ID:5
Checking for SCSI ID:6
Checking for SCSI ID:7
Checking for SCSI ID:8
Checking for SCSI ID:9
Checking for SCSI ID:10
Checking for SCSI ID:11
Checking for SCSI ID:12
Checking for SCSI ID:13
Checking for SCSI ID:14
Checking for SCSI ID:15
Nothing found, contact the author
My motivation tonight was to get an up-to-date spectrum of a calibrated measurement of the out-of-loop displacement of an arm locked on ALS (using the PDH signal as the out-of-loop sensor) to compare the performance of ALS control noise with the Izumi et al green locking paper.
I was able to fish out the PSD from the paper from the 40m svn, but the comparison as plotted looks kind of fishy. I don't see why the noise from 10-60Hz should be so different/worse. We updated the POX counts to meters conversion by looking at the Hz-calibrated ALSX signal and a ~800Hz line injected on ETMX.
It turns out the problem was just a bent pin on the SCSI cable, likely from having to stretch things a bit to reach optimus from the RAID unit.
I hooked it up to megatron, and it was automatically recognized and mounted.
I had to turn off the new FB machine and remove it from the rack to be able to access megatron though, since it was just sitting on top. FB needs a rail to sit on!
At a cursory glance, the filesystem appears intact. I have copied over the achived DRFPMI frame files to my user directory for now, and Gautam is going to look into getting those permanently stored on the LDAS copy of 40m frames, so that we can have some redundancy.
Also, during this time, one of the HDDs in the RAID unit failed its SMART tests, so the RAID unit wanted it replaced. There were some spare drives in a little box directly under the unit, so I've installed one and am currently incorporating it back into the RAID.
There are two more backup drives in the box. We're running a RAID 5 configuration, so we can only lose one drive at a time before data is lost.
In addition to bootable full disk backups, it would be wise to make sure the important service configuration files from each machine are version controlled in the 40m SVN. Things like apache files on nodus, martian hosts and DHCP files on chiara, nds2 configuration and init scripts on megatron, etc. This can make future OS/hardware upgrades easier too.
[ericq, Manasa, Jenne]
Summary: We opened up the BS and both ITM chambers today, and put the light doors on. //Edit : Manasa Post-vent the MC was very much misaligned in yaw. Both the ITMs moved in pitch as inferred from the oplev; but there is still light on the oplev PDs//. We toiled with the PMC and mode cleaner for a while to get reasonable transmission and stability (at least for a period of time). We then tried to lock IR to the y-arm, to no avail.
Locking the PMC doesn't seem very robust with the low power level we have; adjusting the gain at all when it's locked throws it right out. The mode cleaner spot was visibly moving around on MC2 as well. We'll continue tomorrow.
Details about alignment efforts: Manasa and I tried for a while to try and align the y-arm for IR. Straight out of venting the green TM00 would lock to the y-arm with about .45, as compared to .8 before venting, so it didn't seem to drift too far. The x-arm would even flash any modes, however. For a while, IR was no where to be seen after the mode cleaner. Eventually, we used the tip tilts to bring the AS beam onto the camera, which exhibited fringes, so we knew we were hitting the ITMs somewhere. We wandered around with the ETM to see if any retroflection was happening, and saw the IR beam scatter off of the earthquake stop. We moved it to the side to see it hitting the OSEM holder, and moved down to the bottom OSEM holder to get an idea of where to put pitch to get roughly the center of the ITM, then undid the yaw motion.
There, we would see very infrequent, weak flashes. We weren't able to distinguish the mode shape though; however, the flashes were coincident with where the green would lock to a very yaw-misaligned fishbone mode, to the lower right of the optic's center. We figured that if we gradually fixed the green alignment with the mode shapes we could see and actually lock on, we could use the tip tilts to adjust the IR pointing and keep it coincident and eventually resonate more. However, this didn't really work out. The flashes were very infrequent, and at this point the PMC/MC were getting very touchy, and would cease to stay locked for more than a minute or two. At this point, we stopped for the day.
After turning the slow FSS threshold down, the mode cleaner stays locked enough to do other things. We were able to align the tip tilts to the y-arm such that we were able to get some flashes in what looks like a TM00-ish mode. (It was necessary to align the PRM such that there was some extra power circulating in the PRC to be able to see the IR flashes on the ITMY face camera) This is enough to convince us that we are at least near a reasonable alignment, even though we couldn't lock to the mode.
The x-arm was in a hairier situation; since the green beam wouldn't flash into any modes, we don't even know that a good cavity axis exists. So, I used the green input PZTs to shine the green beam directly on the earthquake stops on the ITMX cage, and then inferred the PZT coordinates that would place the green beam roughly on the center of ITMX. I moved the ETMX face camera such that it points at the ETMX baffle. I tried looking for the retroreflected green spot to no avail. Hopefully tomorrow, we can get ourselves to a reasonably aligned state, so we can begin measuring the macroscopic PRC length.
Having no luck doing things remotely, we went into the ITMX chamber and roughly aligned the IR beam. Using the little sliding alignment target, we moved the BS to get the IR beam centered on ITMX, then moved ITMX to get good michelson fringes with ITMY. Using an IR card, found the retroflection and moved ETMX to make it overlap with the beam transmitted through the ITM. With the PRM flashing, X-arm cavity flashes could be seen. So, at that point, both the y-arm and x-arm were flashing low order modes.
The pickle puckers came off ETMY cleanly ETMY now rests in the ring holder, under a glass jar, with all of its magnets.
We removed the guiderod gluing fixture from ETMX without any apparent damage to the fixture arm, optic, or guiderod epoxy joint.
I started measuring some distances on the optic for the side magnet gluing, but am not sure of it yet. So, I didn't manage to start the gluing today.
Here is a picture of the ETMX guide rod post-gluing. There is unfortunately a fair amount of excess. The "tab" is the result from the epoxy travelling along the finger of the fixture arm that held the guide rod.
We set out to glue the previously remove ETMX side magnet, and set up the fixture to do so. For ETMX we needed 3 mm of shimming on the thick side, and 6mm on the thin side.
However, while cleaning the magnet+dumbbell base of epoxy residue, I broke the dumbbell off of the magnet
We then fetched the spare side magnet that Steve had been holding onto. While cleaning it, it was dropped and dissapeared from this plane of existence
So, instead of gluing a side magnet today, we are gluing the existing magnet and dumbbell back together:
Sadly, this used up the last of our EP30.
Though Koji had the foresight to order more(), it will not arrive until Monday/Tuesday, so no side magnet gluing until then.
The nodus restart caused a bit of downtime. The apache configuration files were accidentally deleted the other day, so elog/svn/wikis were just holding on in memory; this fact was unfortunately not elogged.
Things should be up and running again, except for the 8080->8081 elog redirection which I haven't been able to figure out.
I will also set up the NFS backup to include nodus configuration files from now on
Nodus' /export and /etc directories are now being backed up at /cvs/cds/caltech/nodus_backup
They will be rsync'd over as part of the nightly tape backups (scripts/backup/rsync.backup)
I came in to check on ETMX. I freed the earthquake stops, and found that the OSEMS were reasonably, but not perfectly, centered. Turning on the damping, I found that the pitch balance is biased slightly downwards at about ~0.5mrad, which is acceptable.
As another check for how much we moved the standoff while gluing, we can look at the spectra of the OSEMS while the mirror is free swinging, and see if/how the resonance frequencies have moved around. As Gautam previously mentioned, the pitch frequency is even softer than we expected from the thicker ruby standoff alone. This is due to the excess glue around the guide rod forcing us to position the standoff even lower to have good contact with the optic's barrel. In the plot below, the design yaw/pit/pos frequencies are the dashed lines, and the measured frequencies are the solid lines.
[The plot is not in spectral density units, so that the peak heights reflect real units of motion at each resonance frequency. Data and code used to generate the plot is attached]
According to the calculations from ELOG 12316, this pitch frequency implies the support point is 0.317mm lower than the design value of 0.985mm. (However, this is just an approximation and does not include the fact that each standoff is at a different height.)
Nevertheless, this difference is frequency is not so large that the dynamics of the suspension will be qualitatively changed in some important way; really, the pitch frequency is just ~1.5dB lower. So, I deemed our standoff gluing a success, removed the optic from the suspension, and placed it in an optic holding ring after giving the top of the barrel a gentle drap wipe with some iso. At this point, I used the microscope to look at the ruby standoff groove. As far as I can tell, no glue has invaded the groove - it looks sharp as ever. (whew)
I also wiped the wire with acetone and easily removed the glue droplets. However, I noted that (as is the case for ETMY) the wire is deformed at the points where it was in contact with the standoffs. I wonder if we should re-suspend with new wire, or accept the current deformed wires.
In any case, we can now move on to air baking the ETMX tower and gluing the stray magnet back onto ETMY.
After much fussing, we got a picture of MMT1 with the beam.
Using the iris doesn't seem feasible. Since it has to be significantly separated from the optic, it is hard to judge whether it is centered, especially in yaw.
It took ~30 min to get this picture. Comments on whether this kind of picture is good enough are welcomed, since there are many more to be taken.
We measured the TF of the MC Demod board today.
We set the Marconi to +3dBm and drove the PD IN port of the demod board, starting at 29.5 MHz. Then we looked at the beat signal amplitude in the output of the demod board. So this is a transfer function but with mag only. Plots from Q below.
Rana took the demod board out and took pictures of it. Inside, the post mixer low pass is a SCLF-5 from mini-circuits. This has a lot of cutoff down low. Since the purpose of this filter is only to cutoff the 2f-1f and the 3f-2f products, we need to have a lot of attenuation at 29.5 MHz. One day, we may want to re-instate that notch for the (3*f1- f_MC) beat frequency, but for now we want stability.
So, I recommend that we (Steve) get 3 each of the SCLF-10 and SCLF-10.7 from Mini-Circuits Tuesday morning. Maybe we can put them into a spare board?
Also, we should probably remove the 140kHz:70kHz lead filter which is in the MC servo board. Its out of date. I think it would be fine for us to get a 7-15 kHz UGF for the CM servo and the MC can basically do that already. Mainly we want to fix the high frequency shape to get more stability.
After the measurements and photos, we had to reset the MCWFS offsets to get the WFS to not break the lock. Seems very sensitive to offsets. Hopefully Andres will give us a new Gouy phase telescope.
Does netgpibdata/TFSR785 work at the 40m currently? I rsynced the netgpibdata directory to LHO this morning to do some measurements, but I had to modify a few lines in order to get it to call the SR785 functions properly. My version is attached.
I know the drawing is wrong. I put random distances, not realistic ones, and I did not try to get something close to reality. Once we put the measured distances, the drawing should (hopefully) be correct.
There is currently no table at the X end!
We have moved the vast majority of the optics to a temporary storage breadbord, and moved the end table itself to the workbench at the end.
Steve says Transportation is coming at 1PM to put the new table in.
The ITMx Oplev was misaligned. Switched the ITMx Oplev back on and fixed the alignment.
EDIT, JCD: This is totally my fault, sorry. I turned it off the other day when I was working on the POP layout, and forgot to turn the laser back on. Also, I moved the fork on the lens directly in front of the laser (in order to accommodate one of the G&H mirrors), and I nudged that lens a bit, in both X and Y directions (although very minimally along the beam path). Anyhow, bad Jenne for forgetting to elog this part of my work.
It turned out that the earlier fix was not really a fix, because there was some confusion as to which of the two lenses Jenne moved while working, and while Manasa and I were re-aligning the beam, we may have moved the other lens.
Subsequently, when we checked the quadrant sum, it was low (in the region of 20), even though OPLEV_PERROR and OPLEV_YERROR were reasonably low. We called up a 30 day trend of the quadrant sum and found that it was typically closer to 4000. This warranted a visit to the table once again. Before going to the table, we did a preliminary check from the control room so as to make sure that the beam on the QPD was indeed the right one by exciting ITMx in pitch (we tried offsets of 500 and -500 counts, and the spot responded as it should). ITMx oplev servo was then switched off.
At the table, we traced the beam path from the laser and found, first, that the iris (I have marked it in one of the photos attached) was practically shut. Having rectified this, we found that the beam was getting clipped on the first steering mirror after the laser (also marked in the same photo, and a second photo showing the clipping is attached). The beam isn't very well centred on the first lens after the laser, which was the one disturbed in the first place. Nevertheless, the path of the entering beam seems alright. The proposed fix, then, is as follows;
Back in the control room we noticed that the quadrant sum had gone up to ~3500 after opening out the iris. The OPLEV_PERROR and OPLEV_YERROR counts however were rather high (~200 counts in pitch and ~100 counts in yaw). Jenne went back to the table and fixed the alignment such that these counts were sub-10, and the quadrant sum went up to ~3800, close to the trend value.
At the time of writing, the beam is still not centred on the lens immediately after the laser and is still getting clipped at the first steering mirror. Oplev servo back on.
Update: We don't have our BIG screen
There was no light from the projector when I came in this morning. I suspected it might have to do with the lifetime of the bulb. But turning the projector OFF and ON got the projector working....but only for about 10-15 seconds. The display would go OFF after that. I will wait for some additional help to dismount it and check what the problem really is.
-the replacement lamp arrived a while back.
-the old lamp has been switched out, it had 3392 lamp hours on it.
-new lamp installed, projector mounted back up, and lamp hours reset to zero. there is a lingering odour of something burning, not sure what it is or if it is in any way connected to the new lamp. old lamp disposed in the hazardous waste bin. the big screen is back online.
I wanted to make sure that the QPD map on the C1IOO_MC_TRANS_QPD.adl screen corresponded to the actual physical quadrants on the photodiode at the MC2 table. We turned MC_WFS_OUT OFF before fiddling around with a red laser pointer to try and map the quadrants.
I initially verified the correspondence between the various quadrants and the text-fields displaying the outputs using PV_Info. I found that there was good agreement in this respect. So for instance, field adjacent to the quadrant marked "1" on the C1IOO_MC_TRANS_QPD.adl screen had the following input channel: IOO_MC_TRANS_SEG1_INMON. The filter banks were empty and there was just an overall gain on -1 on all four channels. The channels leading to the filter-banks were the 'right' ones: quadrant 1 for the top bank, then quadrants 2,3 and 4 down.
Next, a red laser pointer was used to map the quadrants. Here, there was some disagreement between the physical quadrants and the map on the C1IOO_MC_TRANS_QPD.adl screen, which is summarised in the attached image-the whole thing is sort of rotated 180degrees about the centre.
The interpretation of the figure is as follows:
quadrant 1 on screen QPD=bottom right quadrant on QPD
quadrant 2 on screen QPD=top right quadrant on QPD
quadrant 3 on screen QPD=top leftt quadrant on QPD
quadrant 4 on screen QPD=bottom left quadrant on QPD
MC_WFS_OUT was turned back ON.
I have been working on setting up a serial-link with the temperature controller of the PPKPT crystal doubling oven at the Y-end for some time now. The idea was to remotely tune the PID gains of the controller and get temperature data. The device used to serially interface with the temperature controller is a Raspberry Pi model B, which is connected to the temperature controller by means of a USB to serial adaptor with a PL2303 chip. I installed the interface this morning, and have managed get talking with the doubling oven. I am now able to collect time-series data by ssh-ing to the Raspberry Pi from the control room. I will use this data to manually tune the PID gains for now, though automatic tuning via some script is the long-term goal.
The temperature controller for the doubling oven is a Thorlabs TC200, and supports serial communication via the RS232 protocol by means of a female DB9 connector located on its rear panel. I have hooked up the Raspberry Pi to this port by means of a USB-Serial adaptor that was in one of the cabinets in the 40m control room. After checking the Martian Host Table, I assigned the Raspberry Pi the static IP 192.168.113.166 so that I could ssh into it from the control room and test the serial-link. This morning, I first hooked up the Raspberry pi to an ethernet cable running from rack 1Y4 to make sure I could ssh into it from the control room. Having established this, I moved the raspberry pi and its power supply to under the Y-endtable, where it currently resides on top of the temperature controller. I then took down the current settings on the temperature controller so that I have something to revert to if things go wrong: these are
Set-Point: 35.7 Celcius
Actual Temperature: 35.8
I then connected the Pi to the temperature controller using the serial-USB cable, and plugged the ethernet cable in. Rebooted the Pi and ssh-ed into it from the control room. I first checked the functionality of the serial-link by using terminal's "screen" feature, but the output to my queries was getting clipped on the command line for some reason (i.e. the entire output string wasn't printed on the terminal window, only the last few characters were). Turns out this is some issue with screen, as when I tried writing the replies to my queries to a text file, things worked fine.
At present, I have a python script which can read and set parameters (set-point temperature, actual temperature, PID gains)on the controller as well as log time-series data (temperature from the temperature sensor as a function of time )to a text file on the Pi. As of now, I have only checked the read functions and the time-series logger, and both are working (some minor changes required in the time-series function, I need to get rid of the characters the unit spits out, and only save the numbers in my text-file).
For the time-being, I plan to apply a step to the controller and use the time-series data to manually tune the PID parameters using MATLAB. I am working on a bunch of shell scripts to automate the entire procedure.
This entry is meant to be a sort of inventory check and a tentative plan-of-action for the installation of the PZT mounted mirrors and associated electronics on the Y-endtable.
High-Voltage Power Supply
Situation at rack 1Y4
Having established the serial link between the Doubling oven at the Y-end and the Raspberry pi, I wanted to use this interface to collect time-series from the oven after applying a step function in an effort to measure the transfer function of the oven. The idea was that knowing the transfer function of the oven, I could use some simple PID tuning rules like the Ziegler-Nichols rule or put everything in SIMULINK and find the optimal PID gains. However, I am unable to extract the oven transfer function from the time series data collected.
Last night, between 920pm and 940pm I applied a step function to the doubling oven by changing the setpoint of the controller from 35.7 Celsius to 39 Celsius (having checked elog 3203 to get an idea of a 'safe' step to apply). I then used the Pi to collect time series data for 6 minutes, then returned the set-point back to 35.7 Celsius, and took another time-series to make sure things were back to normal. Having gotten the time series data, I attempted to fit it using some exponentials which I derived as follows:
I couldn't think of a way to get the laplace transform of the time-series data collected, so I approximated the oven transfer function as a system with a one simple pole i.e. G(s)=K/(1+Ts), where K and T are parameters that characterise the oven transfer function. I then plugged in the above expression for Y(s) into Mathematica (knowing X(s)=constant/s, and H(s) = 250 + 60/s +25s from the PID gains) and did an inverse laplace transform to find a y(t) with two unknown parameters K and T to which I could fit the time-series data.
The time-series data collected via the Pi after applying the step was this:
The inverse laplace transform from mathematica yielded the following (formidable!) function (time, the independent variable, is x, and the fitting parameters are a=K and b=T where K and T are as described earlier):
(39*(exp(x*(1/(2*(25*a - b)) - (125*a)/(25*a - b) - sqrt(1 - 500*a+ 56500*a^2 + 240*a*b)/(2*(25*a - b)))) - exp(x*(1/(2*(25*a - b)) - (125*a)/(25*a - b) + sqrt(1 - 500*a + 56500*a^2 + 240*a*b)/(2*(25*a - b)))))*a)/sqrt(1 - 500*a + 56500*a^2 + 240*a*b)
My best attempts to fit this using MATLAB's cftool have given me useless fits:
I tried changing the start-points for the fitting parameters but I didn't get any better fits.
Steve and I tried to fix the Oplev situation detailed in elog 8684, today afternoon. We have come up with a fix which needs to be adjusted, possibly completely overhauled depending on whether the mirror steering the return beam to the QPD is blocking the POX beam coming out.
Situation in the chamber: the black line is meant to indicate what was happening, the red is indicative of the present path.
Plan of action:
Jenne just aligned the X arm and I got a chance to check the status of the POX beam coming out of the chamber. Turned the Oplev servo off so that the red beam could be blocked, turned all the lights off, and had a look at the beam in the vicinity of the mirror steering the Oplev-out beam to the QPD with an IR view-card. The beam is right now about half a centimeter from the pitch knob of the said mirror, so its not getting clipped at the moment. But perhaps the offending mirror can be repositioned slightly, along with the Oplev QPD such that more clearance is given to the POX beam. I will work this out with Steve tomorrow morning.
With rana's input, I changed the ITMx oplev servo gains given the beam path had been changed. The pitch gain was changed from 36 to 30, while the yaw gain was changed from -25 to -40. Transfer function plots attached. The UGF is ~8Hz for pitch and ~7Hz for yaw.
I had to change the envelope amplitudes in the templates for both pitch and yaw to improve the coherence. Above 3Hz, I multiplied the template presets by 10, and below 3Hz, I multiplied these by 25.
As mentioned in elog 8770, I wanted to give the POX beam a little more clearance from the pick-off mirror steering the outcoming oplev beam. I tweaked the position of this mirror a little this morning, re-centred the spot, and checked the loop transfer function once again. These were really close to those I measured last night (UGF for pitch ~8Hz, for yaw ~7Hz), reported in elog 8777, so I did not have to change the loop gains for either pitch or yaw. Plots attached.
[Koji, Annalisa, Gautam]
Annalisa noticed that over the weekend the Y-arm green PDH was locked to a sideband, despite not having changed anything on the PDH box (the sign switch was left as it was). On friday, we tried turning on and off some of the filters on the slow servo (C1ALS_Y_SLOW) which may have changed something but this warranted further investigation. We initially thought that the demodulation phase was not at the optimal value, and decided to try introducing some capacitances in the path from the function generator to the LO input on the universal PDH box. We modelled the circuit and determined that significant phase change was introduced by capacitances between 1nF and 100nF, so we picked out some capacitors (WIMA FKP) and set up a breadboard on which to try these out.
After some trial and error, Koji dropped by and felt that the loop was optimized for the old laser, the various loop parameters had not been tweaked since the new laser was installed. The following parameters had to be optimized for the new laser;
The setup was as follows:
The PDH error signal did not have very well-defined features, so Koji tweaked the LO frequency and the modulation depth till we got a reasonably well-defined PDH signal. Then we turned the excitation off and locked the cavity to green. The servo gain was then optimized by reducing oscillations in the error signal. Eventually, we settled on values for the Servo Gain, LO frequency and modulation depth such that the UGF was ~20kHz (determined by looking at the frequency of oscillation of the error signal on an Oscilloscope), and the PDH signal had well-defined features (while the cavity was unlocked). The current parameters are
We then proceeded to find the optimal demodulation phase by simulating the circuit with various capacitances between the function generator and the PDH box (circuit diagram and plots attached). The simulation seemed to suggest that there was no need to introduce any additional capacitance in this path (introducing a 1nF capacitance added a phase-lag of ~90 degrees-this was confirmed as the error-signal amplitude decreased drastically when we hooked up a 1nF capacitor on our makeshift breadboard). In the current configuration, the LO is connected directly to the PDH box.
Now that we are reasonably confident that the loop parameters are optimal, we need to stabilise the C1ALS_Y_SLOW loop to stabilise the beat note itself. Appropriate filters need to be added to this servo.
Circuit Diagram: 50 ohm input impedance on the source, 50 ohm output impedance seen on the PDH box, capacitance varied between 1nF and 100nF in steps.
Plots for various capacitances: Gold-green trace (largest amplitude) direct from LO, other traces at input to PDH box.
This is an update on the situation as far as PZT installation is concerned. I measured the required cable (PZT driver board to PZT) lengths for the X and Y ends as well as the PSL table once again, with the help of a 3m long BNC cable, just to make sure we had the lengths right. The quoted cable lengths include a meter tolerance. The PZTs themselves have cable lengths of 1.5m, though I have assumed that this will be used on the tables themselves. The inventory status is as follows.
I also did a preliminary check on the driver boards, mainly to check for continuity. Some minor modifications have been made to this board from the schematic shown here (using jumper wires soldered on the top-side of the PCB). I will have to do a more comprehensive check to make sure the board as such is functioning as we expect it to. The plan for this is to first check the board without the high-voltage power supply (using an expansion card to hook it up to a eurocrate). Once it has been verified that the board is getting powered, I will connect the high-voltage supply and a test PZT to the board to do both a check of the board as well as a preliminary calibration of the PZTs.
To this end, I need something to track the spot position as I apply varying voltage to the PZT. QPDs are an option, the alternative being some PSDs I found. The problem with the latter is that the interfaces to the PSD (there are 3) all seem to be damaged (according to the labels on two of them). I tried connecting a PSD to the third interface (OT301 Precision Position Sensing Amplifier), and hooked it up to an oscilloscope. I then shone a laser pointer on the psd, and moved it around a little to see if the signals on the oscilloscope made sense. They didn't on this first try, though this may be because the sensing amplifier is not calibrated. I will try this again. If I can get one of the PSDs to work, mount it on a test optical table and calibrate it. The plan is then to use this PSD to track the position of the reflected beam off a mirror mounted on a PZT (temporarily, using double sided tape) that is driven by feeding small-amplitude signals to the driver board via a function generator.
The LEMO connector on the PZTs have the part number LEMO.FFS.00, while the male SMB connectors on the board have the part number PE4177 (Pasternack)
Plan of Action:
The wiring scheme has been modified a little, I am uploading an updated one here. In the earlier version, I had mistaken the monitor channels as points from which to log data, while they are really just for debugging. I have also revised the coaxial cable type used (RG316 as opposed to RG174) and the SMB connector (female rather than male).
With the help of an expansion card, I verified that the + 15V and + 24V from the eurocrate in the slot I've identified for the PZT driver boards are making their way to the board. The slot is at the right-most end of the eurocrate in 1Y4, and the rack door was getting in the way of directly measuring these voltages once I hooked up the driver board to the expansion card. So I just made sure that all the LEDs on the expansion card lit up (indicating that the eurocrate is supplying + 5, + 15 and + 24V), and then used a multimeter to check continuity between the expansion card and the driver board outside of the eurocrate. The circuit only uses + 15V and + 24V, and I checked for continuity at all the IC pins marked with these voltages on the schematic.
Since the whole point of this test was to see if the slot I identified was delivering the right voltages, I think this is sufficient. I will now need to fashion a cable that I can use to connect a DC power supply to the PZT driver boards so that these can be tested further.
The high voltage points (100V DC) remain to be tested.
The bank marked channel 9-16 is free, but the connector is a 40 pin IDC and I need to know the exact pin-out configuration before I can set about making the custom ribbon cable that will send the control signals from the DAC card to the PZT driver board.
The DAC interface board on rack 1Y4 seems to be one of the first versions of this board, and has no DCC number anywhere on it. Identical modules on other racks have the DCC number D080303, but this document does not exist and there does not seem to be any additional documentation anywhere. The best thing I could find was the circuit diagram for the ADL General Standards 16-bit DAC Adapter Board, which has what looks like the pin-out for the 68 pin SCSI connector on the DAC Interface board. Koji gave me an unused board with the same part number (D080303) and I used a multimeter and continuity checking to make a map between DAC channels, and the 40 pin IDC connector on the board, but this needs to be verified (I don't even know if what is sitting inside the box on 1Y4 is the same D080303 board).
Jenne suggested making a break-out cable to verify the pin-outs, which I did with a 40-pin IDC connector and a bit of ribbon wire. The other end of the ribbon wire has been stripped so that we can use some clip-on probes and an oscilloscope to verify the pin-outs by sending a signal to DAC channels 9 through 16 one at a time. On the software side, Jenne did the following:
We have not restarted c1scy yet as Annalisa is working on some Y-arm stuff right now. We will restart c1scy and use awggui to perform the test once she is done.
Pink edits by JCD
Jenne just rebooted c1scy and daqd on the framebuilder. We will do the actual test after lunch.
The pin-outs for the DAC interface board have been determined.
Turns out that my deductions using the D0902496 wiring diagram, a spare D080303 DAC to IDC adaptor and a multimeter were correct! The pin outs as determined by this test are sketched in the graphic below.
The excitation points added to the simulink model are still there, I plan on keeping it as such till I finish installation of the boards as they will be useful for testing purposes.
Pin-Outs of the DAC to IDC Adaptor (D080303) inside the "DAC Interface Box at 1Y4":
Makeshift break-out ribbon cable:
We have measured the open-loop transfer function of the Y-end green PDH loop. From the measurement, the loop UGF is ~12kHz.
We have been trying to measure this transfer function for some time now, and playing around with various points of injecting the excitation and measuring the output. Koji helped arrive at one that actually worked, and the scheme used to make this measurement is shown in the sketch below. The SR785 signal analyzer was used to make the measurement, while an SR560 preamp was used to sum the output from the PDH box (PZT-OUT) and the excitation, with this sum being delivered to the auxiliary laser PZT via a pomona box that sums the servo output and the signal from the LO. The transfer function measurement made was a1/a2 w.r.t the sketch attached.
Set-up to measure Y-end Green PDH transfer function:
Measured Open Loop Transfer Function:
I did the following with the PZT Driver Board:
With an expansion card attached to the driver board, I used an Agilent E3620A power supply to verify that the 15V and 24V supplies were reaching the intended ICs. It turns out that the +24 V supply was only meant to power some sort of on-board high voltage supply which provided the 100V bias for the PZTs and the MJE15030s. This device does not exist on the board I am using, jumper wires have been hooked up to an SMA connector on the front panel that directly provides 100V from the KEPCO high voltage supply to the appropriate points on the circuit.
All the AD797s as well as the LT1125CS ICs on the board were receiving the required +15V.
The next step was to check the board with the high-voltage power supply connected.
The output from the power supply is drawn from the rear output terminal strip of the power supply via pins TB1-2 (-OUT) and TB1-7 (+OUT). I used a length of RG58 coaxial cable from the lab and crimped a BNC connector on one end, and stripped the other to attach it to the above pins.
There are several options that can be configured for the power supply. I have left it at the factory default: Local sensing (i.e. operating the power supply using the keypad on the front of it as opposed to remotely), grounding network connected (the outputs of the power supply are floating), slow mode, output isolated from ground.
I then hooked up a function generator in order to simulate a control signal from the DAC. The signal was applied to pin 2 of the jumpers marked JP1 through JP4 on the schematic, one at a time. The signal applied was a 0.2 Vpp, 0.1 Hz sine wave.
Continued with tests on the PZT driver board. I made a few changes to replace defective components and also to modify the gain of the HV amplifier stage. I believe the board has been verified to be satisfactory, and is now ready for a piezo to be connected, tested and calibrated.
Revised Wiring Diagram:
DAC Max. Output Trace on Oscilloscope
I measured the maximum output of the DAC at 1Y4 as well as its power spectrum. The results are as follows (plots below):
Therefore, the gain of the high-voltage amplification stage on the PZT driver boards do not need to be changed again, as the required output range of 0-100V from the DAC board was realised when the input voltage ranged from -10V to +10 V w.r.t ground. The AI board converts the differential input to a single ended output as required by the driver board.
I will now change some resistors/capacitors on the AI board such that the position of the notches can be moved from 16k and 32k to 64k and 128k.
Max. amplitude measurement
My previous measurement of the maximum output amplitude of the DAC was flawed as I made the measurement using a single channel of the oscilloscope, which meant that the negative pin of the DAC channel under test was driven to ground. I redid the measurement to avoid this problem. The set up this time was as follows:
The trace on the oscilloscope is shown below;
So with reference to ground, the DAC is capable of supplying voltages in the range [-10V 10V]. This next image shows all three traces: positive and negative pins of DAC w.r.t ground, and the difference between the two.
Power spectrum measurement
I used the SR785 to make the measurement. The set up was as follows:
Initially, I output no signal to the DAC, and obtained the following power spectrum. The peak at 65.554 kHz is marked.
I then re-did the measurement with a 200 Hz (left) and 2000 Hz(right), 1000 counts amplitude (I had to change the Ch1 input range on the SR785 from -18dBm to -6dBm) sine wave from channel 9 of the DAC, and obtained the following. The peaks at ~64 kHz are marked.
Now that this peak has been verified, I will work on switching out the appropriate resistors/capacitors on the AI board to move the notches from 16k and 32k to 64k and 128k.
We need the unit of the voltage power spectrum density to be V/sqrt(Hz).
Otherwise we don't understand anything / any number from the plot.
I redid the measurement with the appropriate units set on the SR785. Power spectral density plots for no output (top), 500Hz, 1000 counts amplitude sine wave (middle) and 2000Hz, 1000 counts amplitude (bottom) are attached, with the right unit on the Y-axis.
Those 'peaks' for the oscillations seem ridiculously broad. I think you should look again, really quickly, with smaller bandwidth at, say, the 2kHz oscillation, to make sure it looks reasonable.
I did just this, and it looks okay to me: