It would be better to measure the power spectrum density of the fluctuation.
The RMS does not tell enough information how the servo should be.
In deed, the power spctrum density gives you how much the RMS is in the entire or a specific frequency range.
I wanted the RMS noise simply to establish a very rough estimate of thresholds on RMS detectors that will be part of my device. If you refer to elog 8830, I explain it there. Essentially, when the ISS is first engaged, only one of the 2 or 3 filter stages will be active. Internal RMS threshold detection serves to create a logic input to switch subsequent filters to their 'on' stage.
Here I have included the full schematic (so far) of the proposed ISS. There are two sheets: the first schematic details the filter stages and their accompanying circuitry while the second schematic details the RMS threshold detection and subsequent triggering.
The first schematic is fairly self explanatory as to what different portions do, and I have annotated much of the second schematic as there are some non-traditional components etc.
I have not yet included some mechanism to adjust the threshold voltage in real time or any of the power regulation, but these should follow fairly quickly.
I have made significant changes to the ISS schematic, mostly in the form of adding necessary subsystems.
Some changes I have made:
On the front page, all inputs and outputs are currently BNC ports, although this is most likely not the final design that will be used. For instance, the ports ENABLE, INPUT GND and INVERT are supposed to be logic inputs for a MAX333a switch. These will most likely be front panel switches that either connect the switch's logic pin to GND (Logic 0) or something like a +5 V supply (Logic 1).
I also have not included power regulation for my board although I have some of the actual D1000217 Chasis Power Regulator boards and I'll incorporate those in my design soon.
I realized I totally forgot to post this last week, but I prototyped the comparator and boost triggering portion of the ISS, at least in part. Below is a schematic that shows the prototype circuit I made. Note that it includes ports for the oscilloscope channels that appear in the second image included. Essentially, I was able to verify that the output from the LT1016, as it's currently constructed in the ISS schematic, would be sufficient logic to switch the MAX333a.
Below, we can first see that the comparator is switching its output as desired. When the DC level of the input drops below a certain threshold (~1.6 V) the output of the comparator switches on to ~4 V. When the DC level of the input goes back up above the upper threshold (~3.2 V), the comparator switches off to ~0.3 V. The exact values of the threshold voltages can be determined/tuned at a later date, but this is the basic behavior that the comparator circuit will have.
To detect whether or not the MAX333a was switching properly, I connected the common terminal of one of the switches to a +5 V supply, and looked at the voltage coming off both the 'open' and 'closed' terminals of said SPDT switch. We can see that with Logic 0 (comparator output ~0.3 V) Channel 4 exhibits a ~5 V signal, just as we would expect from the above schematic. With Logic 1 (comparator output ~4 V), Channel 3 exhibits the characteristic 5 V signal.
I constructed a regulator board that can take ±24 V and supply a regulated ±15 V or ±5 V. I followed the schematics from LIGO-D1000217-v1.
I was going to make 2 boards, one for ±15 V and one for ±5, but Chub just gave me a second assembled board when I asked him for the parts to construct it
More changes that I've made:
In PSL elog 1270, Evan elucidated the explicit requirements for the CTN ISS board. Essentially, the transfer function of the ISS should be something like:
TF_mag = (Unstabilized RIN) / (Calculated RIN Requirement)
I took Evan's data and did exactly this. I then designed a servo (using the general design I proposed here) to meet this requirement with a safety factor of ~10. By safety factor, I mean that if the ISS operates exactly according to theory, it should suppress the noise by a factor of 10 more than what is necessary/set out by the requirement. Below is a plot of the loop gain obtained directly from the requirement (the above expression for TF_mag) and the transfer function of the servo I am proposing.
I don't have the actual schematics attached as I was working with a LISO file and have yet to update the corresponding Altium schematic. The LISO file is attached and I will add the schematics later, although one can reference the second link to find a simple drawing.
Attached is the finalized schematic. The general circuit topology should remain the same from this point forward, although individual component values are subject to change. I will also be adding some more annotations to ensure everything on the board is clear.
In general, I have finally included all of the correct components (i.e. front panel switches are now actually switches and front panel LEDs are now included). I also added an external 'Boost' switch, which can be used to enable or disable the boosts. The motivation for including this switch is that one might want to test functionality of the ISS without using the 'fancy' RMS detection and triggering circuitry. Additionally, one can disable the boosts when all the circuitry is stuffed in order to troubleshoot, so it essentially grants the board some flexibility in its operation.
I am now working on the PCB layout and I should hopefully have that done next week.
I goofed on the transfer function requirement by not giving you the plant transfer function, which looks to be about 0.014 V/V, independent of frequency (PSL:1278). This needs to be compensated for in the electronic transfer function.
After many, many moons of getting to know exactly how frustrating Altium can be, I have completed the PCB layout for my ISS board (final page of ISS_v3.pdf).
Before I get into detail about the PCB, there is one significant schematic change to note: the comparator circuit was changed (with significant help from Koji) so that the voltage reference for boost triggering is established in a more logical way. Instead of the somewhat convoluted topology I had before, now there are only two feedback resistors, R82 and R83. Because their resistances (500k and 50k respectively) are so much larger than the total resistance of the 1k potentiometer (used to establish a tunable threshold voltage), the current flowing through the feedback loop is negligible compared to the 5 mA current flowing through the potentiometer (the pot is rated for 2 W and with 5 mA -> 25 mW dissapation). This allows one to set the threshold voltage for my schmitt trigger, at pin 2 of both the pot and the comparator, entirely with the pot. This trigger also has hysteresis given by the relation deltaV ~ (R83/R82) * (Voh - Vol) where deltaV is the separation between threshold voltages, Voh is the high-level comparator ouput and Vol is the low-level comparator output. Koji simulated this using CircuitLab and I plan to verify the behavior by making a quick prototype circuit.
Now, on to the PCB. The board itself is of a 'standard' LIGO size (11" x 6") has 3 routing layers and 3 internal planes, one for +15 V, one for -15 V and one for GND. In the attached pdf, red is the top routing layer, blue is the bottom layer and brown is the middle routing layer (used for ±5 V exclusively). The grey circles are pads and vias (drilled through) and anything in black is silkscreen overlay. I placed each component and track by hand, attempting to minimize the signal path and following the general rules below,
Sections of the board have been partitioned and labeled with silkscreen overlay to help in both signal pathway recognition as well as eventual troubleshooting.
On the board, I have also included holes so that it can be mounted inside of an enclosure. There is a DCC number printed as well as a 'barcode' (TrueType font: IDAutomationC39S), although they both contain filler asterisks as I haven't published this to the DCC and thus do not have a number.
[Rana, Nic, Evan]
We did some work today on getting the AOM back up and running so that we can implement an SR560-based ISS.
We've removed the 18 AWG wire that was previously used to power the driver and have replaced it with a 12 AWG twisted pair (black and white, enclosed in a single gray cladding). This pair runs into the PSL rack's 24 V terminal block with a 2 A fuse. We've also replaced the cable connecting the AOM to the driver; it's now RG405.
Also disconnected the power to the old Kalmus FSS crystal driver box and turned it off. It was powered illegally. Also disconnected the power connection between the Sorensen and the old ISS AA chassis since it was wired directly without any fuse (which is a code violation). It will stay off until someone uses a proper fuse and wiring to hook it back up.
Previously in elog 8959, I gave a very simple method for determining the noise suppression behavior of the ISS. Recently, I recalculated this requirement in a more correct fashion and again redesigned the ISS to be used in the CTN experiment.
Just as before, the data from PSL elog 1270 is necessary to infer a noise suppression requirement. The data presented there by Evan consists of two noise spectra, 1) the unstabilized RIN presently observed in the CTN experiment readout and 2) the theoretical brownian noise produced by thermal processes in the mirror coating+substrate. The statement "TF_mag = (Unstabilized RIN) / (Calculated Brownian Noise Limit)", where TF_mag refers to the required open-loop gain of the ISS, is actually a first order approximation of the 'required' noise suppression. In fact if we wanted the laser noise to be suppressed below the calculated brownian noise level, it is more correct to say
Closed-loop ISS gain = (Calculated Brownian Noise Limit) / (Unstabilized RIN)
As this essentially gives a noise suppression spectrum i.e. a closed-loop gain in linear control theory. Below is a very simple block diagram showing how the ISS fits into the CTN experiment. The F(f) block represents my full servo board.
Some of the relevant quantities involved:
So looking at the block diagram, our full closed-loop transfer function is given by,
So then to determine the required F(f), i.e. the required transfer function for my servo, we consider the expression
The plant transfer function is simply Plant = (C(f) * a * P * A) ~ 0.014 V/V, where I have ignored the cavity pole around 97 kHz as our open-loop transfer function ends up crossing unity gain around 10 kHz. In the above, I have included what I call a 'safety factor' of 10. Essentially, I want to design my servo such that it suppresses noise well beyond what is actually required so that we can be sure noise contributions to experiment readouts are not significantly influenced by the laser intensity noise.
Using the data Evan reported for the brownian noise and free-running RIN, I came up with an F(f) to the meet the requirement as shown below.
Where the blue curve includes the safety factor mentioned before. This plot just demonstrates that using my modular ISS design, I can meet the given noise suppression requirements.
To be complete, I'll say a little more about the final design. As usual, the servo consists of three stages. The first is the usual LP filter that is always 'on' when the ISS loop is closed. The boosts I have chosen to use consist of an integrator with a single zero and a filter that looks somewhat like a de-whitening filter. The simulated open-loop transfer functions are shown below.
Right near the end of summer, I had an ISS board that was nominally working, but had a few problems I couldn't really sort out. Since I've been back, I've spent a lot of time just replacing parts, trying different circuit topologies and generally attempting to make the board function as I hoped it might in all those design stages. Below is a brief list of some of the problems I've been fixing as well as the first good characterization of the board transfer function that I've been able to get.
We'll start with some of the simple problems and proceed to more complicated ones.
The above list encompasses all the issues I've had in making the ISS board function correctly. No other major problems exist to my knowledge.
I was able to measure both the open- and closed-loop transfer functions of the servo with the SR785. The results are shown below.
The transfer function with the boosts on caps at a particular value set by op-amp railing, i.e. below 100 Hz, the op-amps are already putting out their max voltage. This is the usual physical limitation when measuring the transfer function of an integrator. We can also see that the measured phase follows the simulated phase above ~300 Hz. The 'phase matching' at low frequency is again do to the op-amp railing in the servo output..
The closed-loop gain is shown below,
The measured closed-loop gain with the boosts on again matches the LISO simulation quite well except at low frequency where we are limited by op-amp railing. We compare the measured closed-loop transfer function to the desired noise suppression stipulated in my previous elog 9331,
And we might hopefully conclude that my servo functions as desired. One should note that the op-amp railing seen in these measurements is not indicative of limitations we might face in some application of the ISS for the following reason. These transfer functions were measured with a 100 mV excitation signal (it is necessary to keep this signal amplitude large enough so that the inherent signal-to-noise ratio of the excitation source is large enough for accurate measurement) which leads to somewhat prompt railing of the op-amps. When the ISS operates to actually stabilize a laser, the input error signal will be much smaller (on the order of a few 10's of mV or less) and will decrease significantly assuming correct operation of the ISS. This means we won't see the same type of gain limitations.
What now, you ask?
Aside from the problem with the AD8436 chip, the ISS board seems to be functioning correctly. The transfer functions we have measured are correct to within the component tolerances and all of the various subsystems are behaving as they were designed to. Moving toward the goal of having this system work in situ for the CTN experiment, I need to do the following things,
So close, or so I say all the time
We have implemented an SR560-based ISS loop using the AOM on the PSL table. This is a continuation of the work in 40m:9328.
We dumped the diffracted beam from the AOM onto a stack of razor blades. This beam is not terribly well separated from the main beam, so the razor blades are at a very severe angle. Any alternatives would have involved either moving the AOM or attempting to dump the diffracted beam somewhere on the PMC refl path. We trimmed the RF power potentiometer on the driver so that with 0.5 V dc applied to the AM input, about 10% of the power is diverted from the main beam.
We ran the PMC trans PD into an AC-coupled SR560. To shape the loop, we set SR560 to have a single-pole low- pass at 300 Hz and an overall gain of 5×104. We take the 600 Ω output and send it into a 50 Ω feed-through terminator; this attenuates the voltage by a factor of 10 or so and thereby ensures that the AOM driver is not overdriven.
The AOM driver's AM input accepts 0 to 1 V, so we add an offset to bias the control signal. The output of the 50 Ω feedthrough is sent into the 'A' input of a second SR560 (DC coupled, A − B setting, gain 1, no filtering). Using a DS345 function generator, a 500 mV offset is put into the 'B' input (the function generator reads −0.250 V because it expects 50 Ω input). The 50 Ω output of this SR560 is sent into the AOM driver's AM input.
A measurement of suppressed and unsuppressed RIN is attached. We have achieved a loop with a bandwidth of a few kilohertz and with an in-loop noise suppression factor of 50 from 100 Hz to 1 kHz. This measurement was done using the PMC trans PD, so this spectrum may underestimate the true RIN.
AOM driving from DAC:
I found that the DAC channels for TT3 and TT4 are connected up in the simulink model, but we aren't using them, since we don't actually have those tip tilts installed. So, we hooked up the TT4 LR DAC output, which is channel 8 on the 2nd set of SMA outputs. We put our AOM excitations into TT4_LR_EXC.
A small followup measurement. Here are spectra of the MC trans diode with and without the ISS on. The DC value of the diode (in counts) changed from 17264.2 (no ISS) to 17504.3 (with ISS), but I didn't account for this change in the plot.
There is a small inkling of benefit between 100Hz and 1kHz. Above about 100Hz, the RIN is suppressed to about the noise level of this measurement. Below 100Hz there is no change, which probably means that power fluctuations are introduced downstream of the AOM, which argues for an outer-loop ISS down the road.
Atm #2 is in units of RIN.
I have disconnected the cable from the SR560 to LSC -ch8 for 15minutes this morning. It is moved from the floor to the top of the chambers as preparation for 40m tour. The SR560 seems to be overloading.
The ISS servo is off according to the MEDM screen. Why MC-T plot showing zero? The MC was happy yesterday.
Back in November, Nic and Evan turned on an SR560 based ISS. It uses the PMC TRANS PD as the error signal and makes an AC coupled loop with 2 SR560's and then it drives the RF amplifier which drives the AOM upstream of the PMC.
This was the saturating SR560 under the PSL table that Steve found this week*. Tonight I found that the +24 V rack fuse for this was blown. I replaced the previous 2A fuse with a new 2A fuse (turned off the +/24 V Sorensens during this operation). I think all of the servo settings are basically the same as before, except that I'm using a gain of 10000 instead of 50000 on the first SR560. It was saturating otherwise. My guess is that the fuse blew many months ago and no one has noticed...
I checked the out of loop performance in MC_TRANS and in the IFO REFL_DC and there's some high frequency improvement with the loops on.
The main improvement, however, was in lowering the HEPA fan speed. This should only be turned up to Hurricane when you are working on the table. Similarly, those of us trying to lock at night, can't really trust that the HEPA is set to its nominal low setting of 20%. The whole difference in the MC_TRANS from 5-50 Hz is from this however, so we can use this ISS reference .xml as a way to see if the HEPA is up too high.
If we want to do better for RIN from 100-1000 Hz for improving the REFL_DC/CARM noise, we would have to think of how to improve the PMC_TRANS PD RIN.
* Steve gets +1 point for finding this, but then -3 points for not elogging.
V_test[2*w]/V_test[1*w] - V_ref[2*w]/V_ref[1*w]
V_nl[beta,2*w]/V_nl[beta,1*w] - V_l[2*w]/V_l[1*w]