40m QIL Cryo_Lab CTN SUS_Lab CAML OMC_Lab CRIME_Lab FEA ENG_Labs OptContFac Mariner WBEEShop
  SUS Lab eLog, Page 25 of 37  Not logged in ELOG logo
ID Date Author Type Category Subject
  720   Fri Aug 23 19:18:11 2013 ericqNoise HuntingCrackleSeismic Noise

I'm having trouble getting good TF estimates from Wiener filtering, I think because the ranges of high coherence are kind of narrow. Additionally, given that the displacement spectra of the table and of my ifo looked like the stack wasn't doing much, I was suspicious that my inattention to cabling led to a mechanical short of the stack.

So: I ripped everything out and put the accelerometers directly on the stacks!

Here are some displacement spectra, and a vertical "TF"s of the stacks obtained by dividing the noise spectra. 



 In the 1 plate case, I had the chamber lid open, which led to the broad peak at ~120 Hz. 

In any case, I see peaks at ~9Hz And ~24Hz and more isolation that I was getting before. I'm going to put things back together much more carefully. 



  719   Fri Aug 23 16:25:06 2013 Ed Taylor and Nic SmithSummaryRingdownLog plot and log fit of decaying ringdown for the 3rd mode

I created a log plot for the decaying data and fitted linearly to the data.

Yechh!!  JPG, no error bars, no details of fit ??!!!

Attachment 1: LogofRingDownMode3.jpg
  718   Fri Aug 23 15:13:26 2013 Ed Taylor and Nic SmithSummaryRingdownExponential Fits to Ring Down Data

When performing the ring down, we obtained sets of data which contained time varying votlage of the signal recorded from the split photodiode. We utilized the pwelch function in Matlab and obtained a PSD for each data set. The decaying peak of the resonant frequency was plotted seperately which then formed a decaying exponential. I then applied a fit to each set of data.

Attachment 1: Tao.pdf
Tao.pdf Tao.pdf Tao.pdf
  717   Fri Aug 23 14:09:09 2013 Ed Taylor and Nic SmithSummaryRingdownComsol Frequencies and Observed Resonant Frequencies

The observed resonant modes of the oscillating cantilever differed substantially from frequencies computed through comsol (more so at higher frequencies)

Attachment 1: Comsol_Frequencies.pdf
  716   Tue Aug 20 11:11:47 2013 ericqDailyProgressCrackleTable motion, wiener filtering

Quick post of some plots, will edit in details soon. But for now, I'm trying to wiener out seismic noise from my ifo, and here are some plots... Going to talk to Jenne to learn more about what I can expect to win...

 EDIT I did the acceleration -> displacement conversion wrong; update the plot. Really, it looks like my stack isn't doing much of anything. Maybe my cabling is shorting things? I'm still working on the wiener filters to estimate the transfer function from table to error signal, I'm getting NaN results when I bandpass the error signal to restrict the frequency range the wiener algorithm works on. 





  715   Sat Aug 17 18:51:39 2013 GiorgosDailyProgressSUSNoise Reduction when sensors are closer


We moved all 7 HE sensors closer to the plate. The AC sensors were burnt out and we replaced them with the DC ones, which we had removed yesterday because they were of no use.
The sensors in their current position feel different magnetic field and their offset is also different (around 100mV, compared to 2.4V before). The smaller value of the voltage offset sounds counterintuitive--because the sensors are now closer and the field around them larger--but it only indicates the direction of the field. The HE sensors read 2.5 at the presence of no field; far away their offset was 2.4V, so they only produced 100mV (2.5V - 2.4V) signal. Now that they are closer, their offset is huge (roughly 2.5V). We are worried they might actually saturate, once the plate starts moving.

For future reference, here are the values of the resistors we use:

AC1: R1= 110K, R2=2.2K

AC2: R1=130K, R2=2.2K

AC3: R1=62K, R2=1.2K

S1: R1=7.5K, R2=2.2K

S2: R1=20K, R2=7.5K

N: R1=20K, R2=6.2K

E: R1=4.3K, R2=1.5K

Noise reduction and debated Cross-Croupling

The new gain for all sensors conditioning board is now 11. The noise would therefore be amplified less (by a factor of 9). Indeed, the improve noise effects were apparent, since signal fluctuated only a couple of mV (see Figure below).


The cross coupling between sensors would now also be smaller (200mV/V for feedback through AC coils would now become almost 20mV; 20mV/V for feedback through DC coils would now be about 2mV/V).
We will measure cross coupling and try to levitate tomorrow for all six degrees of freedom

  714   Fri Aug 16 18:37:56 2013 GiorgosDailyProgressSUSBringing Sensors closer to Plate, Correcting Offset and Gain

Yesterday, we tried levitating for one degree of freedom; we failed. The plate would move back and forth the equilibrium, but not settle there for more than a second. Haixing suggested moving the sensors closer to the plate, so that our signal is larger. This way, we can be less sensitivity to noise. However, that entails that we recalibrate the HE offset, the cross coupling measurement and the gains of our feedback loop.

So, today we moved the AC1, AC2, AC3 sensors closer to the plate and removed the DC1, DC2, DC3 sensors from our setup, since they are of no use. We also replaced the 91 gain of the HE sensors with a gain of 11 (11k and 1k are the resistors we used).
Then, we measured the response of the HE sensors and found that the signal produced changes by about 120mV for each mm; that is about a factor of 6 better than before.

Since the sensors are now at a different location, they have a different voltage offset; this should be larger since they are now closer to the levitated plate. To measure the new offset, we moved the motors such that the equilibrium would lie between the top and bottom motors. Then, we measured the offset reading of the sensors when the plate was stuck at the top and at the bottom and averaged the two. We used our measurements and, by taking into account the offset we had already applied in the first place, we replaced the resistors in our circuit such that the offset of the AC1-3 sensors would be no greater than 50mV. For AC1: R1=6.2K, R2=5.1K, for AC2: R1=13K, R2=11K, for AC3: R1=20K, R2=16K.

  713   Thu Aug 15 23:19:36 2013 haixingNoise HuntingSUSpower spectrum and coherence of three hall effect sensors

The hall effect sensor is quite noisy, and I am trying to find where the noise comes from. The first I tried today is to measure the power spectrum and coherence among three hall effect sensors (in the vertical direction). Here is the result:

10.png(the unit for the power spectrum density is in digital volt per root hertz.)

I do not quite understand why there is almost no coherence (apart from the 60Hz power line), even though the power spectra are almost identical among these sensors.

Can someone shed some light where the issue is? Is the noise non-stationary or what?

--------Another measurement with fewer average---------------------


It seems that when the number of average is small, the coherence is large, an indication of non-stationary?

  712   Wed Aug 14 17:52:25 2013 BenDailyProgressCrackleFixing Weird Outliers in Crackle Data Analysis

Today I was able to plot I and Q for both the driven and undriven plots on one reliable plot. Unfortunately, what we saw is that a few gigantic outlier points (especially in the undriven signal) caused the I and Q traces to make wild jumps. As you can see in the first attachment, there there are weird steps in the green and black (undriven) traces.


Those can easily be matched up with the huge outliers that we see in the following plot: Each of the huge spikes in the green signal (for example, at 1756 seconds and 2964 seconds) corresponds to a step on the first plot!



It seems prudent to investigate what happens when we subtract out all the outliers. Basically, I am currently writing a code that picks out all the points with an absolute value greater than some multiple of the standard deviation, and proceeds with the data analysis in segments BETWEEN these points. This will give I and Q values for each segment. I will then be able to take a weighted average of those values and thus come to a better estimate of the final I and Q values.

  711   Wed Aug 14 00:05:00 2013 GiorgosDailyProgressSUS3DoF Stability in Simulink

Today, I achieved stability in Simulink for 3DoF, including noise to the hall-effect sensors and the coil's conditioning. We had measured the noise at the ADC to be max 20mV, but that value is amplified by the gain (91) of the HE conditioning boards. So, I included noise of 20/91 mV. I attached the final model and the script.   Maglev_3DoF_Giorgos.slx.

I also used vector fitting to find the transfer functions of the coupling between DC1 coil to all sensors. An example of the successful resemblance is shown in the figures below (DC1 coil to W sensor). The figure on the left shows the modelling of the coupling and the deviation between the fitting and the data. The right figure shows a body plot of the modelled and measured transfer function.


I also calculated the amount of cross-coupling and noise inside our system in order to find the allowed gain to avoid any saturation.

Since the OP27 in the coil conditioning board also saturates at 10V, the DAC should provide no more than 400mV; beyond that point, the gain of 25 we introduced in the coils would saturate the OP27.

We had also found the cross coupling to be around 0.01 for two nearby sensors and 0.001 for the third one (in the 3DoF case we ignore all others). If our DAC never exceeds 400mV, cross coupling would get at most 0.0084V (8.4mV) at the ADC.
Similarly, if the coils get at most 10V, the maximum force they provide is 0.02N, which translates to 0.0113m (1.13cm) maximum displacement of the plate. Such displacement would produce 0.1989V at the ADC. Adding noise to these, our signal is only 0.2273V, well below the saturation of the ADC.
Inside the feedback filter, the cross coupling is cancelled down to -60dB (0.001V/V), so only 0.0012V remains, given a 400mV DAC output). The signal is thus 0.2201V. To avoid saturation of the DAC, we can afford a maximum gain of 1.8.

Attachment 2: mag_lev_20130809Giorgos3Channels.m
%%%%%%%%%%%%%%%%%% Magnet %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

mag_mass = 0.5;
mag = 1/mag_mass;

%%%%%%%%%%%%%%%%% Negative Spring %%%%%%%%%%%%%%%%%%%%%%

omegam = 2*pi*0.3;            % resonant frequency
K = -mag_mass*omegam^2;      % F=-K*x

... 54 more lines ...
  710   Tue Aug 13 22:49:45 2013 GiorgosDailyProgressSUSModel of 3 DoF

DCs/ACs Matrices

In the previous post ("Feedback through DC coils"), I described the reasons for using DC coils for our feedback control. This trick significantly decreases cross-coupling before the feedback control and so allows us to afford a larger signal from the plate, without the ADC ever saturating. However, it comes with a cost; the feedback force is not applied directly at our sensors. Specifically, the DC coils greatly affect two of the sensors surrounding it -that are equally far. That creates the need to develop a matrix to calculate how the force from each DC coil affects each AC sensor and, further, how each sensor should "distribute" its signal to different DC coils in the feedback control. Using the geometry of our plate and the arrangement of the coils and sensors, I calculated these two matrices, which should also be inverse of each other. Here is what I found:

To measure how much of the coils' signal each sensor reads: [A][DC1;DC2;DC3]=[AC1;AC2;AC3], where A=[2 -1 2; 2 2 -1; -1 2 2]. Similarly, to convert each sensor's signal to the feedback channels of the DC coils, [B][AC1;AC2;AC3]=[DC1;DC2;DC3], where B=[2 2 -1; -1 2 2;2 -1 2].

Simulink for 3 DoF

Then, I created a Simulink model for three degrees of freedom (sensors: AC1-3, coils: DC1-3). The effect of noise was catastrophical for the stability of the model. So, I first tried to replicate 1 DoF stability, by "nulling" DC2 and DC3 coils. Below, one can see the Bode Plots of the model (resonance around 2Hz) and the displacement of the plate in 1DoF (by AC1).



Attached is also the ADC input, which clearly shows how the signal is well below saturation. Three different colous represent the signal from the three sensors AC1, AC2, AC3 (they are all affected by DC1 coil).

Attachment 3: ADCinput_forDC1only_in3DOF_13Aug13.bmp
  709   Tue Aug 13 21:09:44 2013 GiorgosSummarySUSOvercoming Saturation: Feedback through DC Coils and Mu-metal

In my previous post, I explained the saturation issues of the ADC and DAC we faced. To prevent saturation of the DAC, we will implement our gain after the feedback filter -we already introduced a gain of 25 at the coil's conditioning stage-and use a gain of approximately 1/25 for the digital filter. In this way, even if the ADC saturates at 10V, the feedback filter will send maximum 400mV (10V/25) to the DAC. However, the possibility that the ADC saturates still exists.

To make matters worse, we cannot even exploit the 10V saturation range of our ADC. The reason is that the undesired cross-coupling between coils and sensors is almost as large as the signal produced by the plate. Although vector fitting was very successful at cancelling cross-coupling, this method can only be implemented inside the digital control, after the ADC. That been said, if we are to stay within the 10V range, only 5V can come from the plate; the rest 5V will inevitably come from cross-coupling. Practically, this means that the signal from the plate is successfully sensed and transferred to the digital control for very small displacements, beyond which the ADC saturates and feedback control is impossible. We use two ways to tackle this obstacle:

  1. We revert back to using DC coils for feedback control. They are located further away from the AC sensors and cross-coupling is smaller, such that a larger proportion of the ADC' 10V range can be dedicated to the signal from the plate.
  2. We use mu-metal to cover all sensors and coils. We hope that mu metal's high permeability will shield off the magnetic field that comes from cross-coupling. It should also leave the magnetic field changes produced by the plate's movement almost intact, since the plate's magnets are located directly below and above the sensors, the only place we did not cover with mu metal.

We measured cross-coupling effects before and after the use of mu metal and noticed a drastic reduction in cross-coupling (about a factor of 3). The figures below show the measured transfer function before and after the use of mu-metal.


One of the things to also note is that the bottom strain gauge motors readings are damaged and no longer worth looking at to determine when the plate is near equilibrium. This is probably the result of excessive weight on them from the plate. The top strain gauge motors seem to still be working fine.

  708   Tue Aug 13 18:34:30 2013 BenDailyProgressCrackleMore Data Analysis

 Today I refined my method of observing the driven and undriven I and Q values in order to find a faster way to find the final values after long integration times. I was able to reduce calculation times, and I found the follow I and Q values. The Driven data uses a 2 hour integration time, and the Undriven data uses a 1 hour integration time. These are from the August 8 data sets. As you might expect, the driven Q value does not have some obvious DC offset. After just 1 or 2 hours, it would be surprising to see crackle, I believe!

Note that I am only working with Force Crackle currently, and recall that we are defining I = sin(2*wd*t)*signal^2 and Q = cos(2*wd*t)*signal^2. wd is the driving frequency. In the presence of crackle, this demodulation scheme works because Q would have a DC offset relative to I.


Final UN-Driven I Value: -3.1178e-30

Final UN-Driven Q Value: 4.5409e-31

Final Driven I Value: -5.5231e-31

Final Driven Q Value: 2.4821e-31


Additionally, here is a plot of Driven I and Driven Q  as they converge to their final values.
This code is ready for larger datasets, so we can have longer integration times in the future. Tomorrow I will work on viewing the distribution of driven and undriven Qs on a histogram.


  707   Tue Aug 13 16:41:51 2013 Ed and NicDailyProgressRingdown4 more resonant modes recorded

A room temperature ringdown was performed for 4 additional resonant frequencies whose ringdown times were on the order of minutes. The high voltage used was rougly  3.4 kV and 1 V for the AC voltage.

  706   Tue Aug 13 13:37:12 2013 Ed Taylor and Nic SmithDailyProgressRingdownRoom Temperature Ring Down Measurement

Yesterday we successfully measured a ringdown with our new apparatus. The HV connector that we would have needed to supply voltage to the esd was not able to arrive on time. Due to time constraints we decided that achieving cryogenic temperatures would not be possible. We decided to move the clamp to Alasair's vacuum chamber where we would be able to perform a ring down at room temperature. A laser was passed through the side of the silicon cantilever and was read by a split photodetector that acted as a shadow sensor. The data was then run through matlab where I converted the signals to power spectral densities and analyzed the decaying peak of the resonant frequency. The characteristic ring down time of the 1st mode was determined to be 1284 +/- 24 seconds which gave a mechanical loss on the order of 10e-6. This is in good agreement with the theoretical result that I previously calculated using the expression for the quality factor of a longitudinally oscillating bar with thermoelastic loss (Landau and Lifshitz).


Attachment 1: RingDownMode1.jpg
  705   Mon Aug 12 07:59:58 2013 GiorgosSummarySUSDAC and ADC saturation issues

Instability due to Saturation Issues

Using the Simulink model, I realized that saturation of the ADC & DAC prevents us from acquiring stability, since the signal quickly builds up after a couple of turns within the feedback loop. Explicitly, if the gain of the digital feedback filter is large, either the output signal from the DAC saturates or a big feedback signal is produced, which then -together with the plate- saturates the ADC. To prevent saturation of the DAC, I suggested implementing our gain outside the feedback filter, at the coil signal conditioning stage. Similarly, to avoid saturation of the ADC, the gain of the sensors signal conditioning stage is to be altered. At the end, we are looking for a stable system with balanced signal that effects a maximum vertical displacement of the plate around 0.1mm.

Gains of the feedback loop

There are three different gains in our feedback loop. The gain of the digital feedback filter, the gain of the sensors signal conditioning (also constrained by saturation limits around 12V because of the OP27), and the gain of the coils signal conditioning which acts twice; through the coupling and the plate. I calculated the desired gain for each part, such that the plate will ideally not move beyond 0.1mm. To achieve this, we introduced a gain of 25 in the coils conditioning board (changed resistors to R6=51kΩ and R5=2kΩ) which -along with the 100nF capacitor used- effects a new pole around 30Hz (1/RC=200 rad/s). Modeling the new configuration for very low-noise power(0.003Nm/s), we get stable behavior.



Including bigger noise (0.03Nm/s), however, destabilizes the system once more.


  704   Fri Aug 9 21:01:28 2013 BenDailyProgressCrackleLooking at Data! and modeling what happens in the presence of imbalanced force

 Eric has been able to take data with the pumped system. On Tuesday (6th) he collected 20 minutes of data, and yesterday (the 8th) he was able to take 2 hours of data with the drive on, and 1 hour with the drive off (the Michelson unlocked after an hour on the undriven run). I set out to look at the data. After doing the necessary conversions to turn the output voltages into a differential displacement, I took a bandpass filter of the 400-500Hz region of both signals. Then I observed the signals and noticed that the first 0.1 seconds or so were very strange and noisy while things stabilized, so I chopped off the first 400 samples. Next I plotted the driving force that had been used during the collection of the driven data, and I calculated (using a curve fit) the phase offset necessary to get that force in phase with the sine function. I then chopped off the appropriate number of samples from the data so that they matched up with the sine function themselves. Finally I was able to calculate the force Q and I values for both signals, and I plotted their cumulative sum (time average). The following plot shows the I and Q values for the driven and undriven cases. Note that the Undriven data ends early because we only had 1 hour of data as opposed to 2.  It is interesting how the driven Q seems to stay above the I and all the undriven plots. 


My computer was not up to the task of plotting I and Q (it would just freeze), so I instead plotted every 100th point. (To compensate, I multiplied the I and Q values by 100). The result is a graph that looks as it would with all the points, but please let me know if this is invalid for some reason I haven't thought of!



After this I tried to see what the effects of an unbalanced driving force on our ability to detect crackle. Unfortunately, a whole host of little coding setbacks kept me from coming to any big conclusions here, but I was able to observe the effect of imbalance on the minimum alpha value ("amount of crackle") at which we'd be able to observe the effect. I chose to look at a signal with a background noise of power spectral density 1e-12. Interestingly, the minimum value is much lower (easier to detect crackle) when there is no imbalance, but as you move away from no imbalance, the alpha value sharply increases before leveling off. At an imbalance on the order of 10^-8, crackle would be about 10 times harder to detect than if there were no imbalance.




I will continue later with a more thorough analysis of this.

  703   Fri Aug 9 08:43:37 2013 GiorgosSummarySUSSimulink Model (1 DOF) - Step Response

After minimizing the coupling effects, I created a 1 DOF Simulink Model to test whether the setup is stable in the vertical direction. Below appears the model. We have not included yet Eddy Current Damping (simulations showed no great changes).


We create noise with a pulse generator and recorded the step response of the system with the oscilloscope, which appears at Output (1). 


The behavior of the system appears stable and so we tried to levitate the plate starting from AC3. The plate would jiggle back and forth back after some time the DAC would saturate. Going back to the Simulink Model, the relationship between saturation limits and noise amplitude seem to determine the stability of the system as well. Looking at other factors that might affect our system, we consider the following:

  • The force of the gain directly depends on the location of the plate. The coils are not strong enough and the magnetic field created is non-uniform around the plate. Prior to this summer, Haixing had acquired measurements for the correlation between the plate's distance from the coils and the force exerted on it and we intend to use this information in our model.
  • ADC and DAC background noise may limit the sensitivity of our system
  • We need a more precise measurement of the system's rigidity. For a linear degree of freedom, such as the vertical direction, the rigidity can be measured as F/distance. Haixing's measuremts of the force exerted as a function of the distance from the plate will be used.
Attachment 2: StepResponseofACs.bmp
  702   Thu Aug 8 11:32:00 2013 GiorgosSummarySUSCompensation for Cross-Coupling and Vector Fitting

Cross-Coupling Measurements

Before measurig the cross-coupling effects, we put the plate back to our setup. Since the plate has magnets attached to it, we expect that it will affect the magnetic field produced by the coils. Therefore, a more realistic measurement of the cross-coupling effect that will resemble the real-time feedback control should take place in the presence of the plate. Of course, we want the plate to be still during the measurements, so that our Hall-effect sensors are not affected by their displacement (if the plate is still, it will only affect the reading of the sensors at 0 frequency, but we are looking at the transfer function over the whole frequency range). To fix the plate, we pressed all motors against it, ignoring any small fluctuations.


In this configuration, we used Diagnostic Tools software to measure the transfer function beween ACs coils' output and ACs sensors' reading. Then, we used Vector Fitting to obtain a fitting transfer function with zeros, poles, and gain that resembles the behavior of the cross-coupling. In few words, Vector Fitting uses a guess function σ(s)=, whose zeros are the poles of the desired function

. Finding the zeros of σ(s) equals to finding the poles of the function and vector fitting manages to find a linear least-squares fit model by trying values for the poles and solving for the linear coefficients. More information can be found at http://www.sintef.no/Projectweb/VECTFIT/Algorithm/.

We developed a code for the vector fitting and found the best model with 20 pairs of poles (40 poles, since they are complex conjugates) and about 10 iterations. At the end, we applied compensation feedback given by the modelling transfer function so as to cancel the cross-coupling effects.Below, one can see the cross-coupling measurements before (left figure) and after (right figure) applying the modelled function. We modelled the coupling transfer functions only for ACi_Sensor - ACi_coil (i=1,2,3) pairs, because cross-coupling between e.g. AC1 coil and AC2 sensor was very small (as is evident in the figures). Using this technique, we minimized coupling effects from roughly -10dB to roughly -70dB.





  700   Wed Aug 7 03:29:11 2013 ericqDailyProgressCrackleAug 6 Noise Budget

 This is all pre fiber feedthrough, but here is the latest noise budget. It is still unclear to me what the huge gap in the tens of Hz is, unless my seismic estimate is 2 orders off; I should recheck that. At ~50mTorr, the vacuum lessens the peaks above 400 Hz, but nothing below that changes dramatically. 


  699   Tue Aug 6 18:44:28 2013 ericqDailyProgressCracklePumping!

The fiber feedthrough flange has arrived! I attached it and started pumping. I was too impatient for it to get down to double digit mTorr, so I locked quickly at ~130mTorr to see the effect of lower pressure. 

It indeed quiets the peaks that I suspected to be blade modes excited by acoustic noise. This is good. If you look at the peak between 600-700Hz, you'll see that its fallen by almost two orders of magnitude. Some other peaks seem less affected, though. 



I'll take some pumped-down data tonight...


  698   Tue Aug 6 18:21:24 2013 BenDailyProgressCrackleRe-calibrating the offset counts to micrometers conversion with current setup

With the recent realignment, it was time to re-calibrate the shadow sensor mounts. I wanted to find the conversion factor between the number of counts typed into the "offset" box and the displacement (caused by the coil/magnet actuator) for each blade. This required two steps. First I found the output voltage of the shadow sensors as a function of displacement. Then I found the output voltage of the photodetectors as a function of offset. When I had a conversion factor for each, I could multiply them to get my final conversion factor:

(displacement [microns] / volts)  *  (volts / counts)  = displacement / counts

I took each shadow sensor mount out of the pressure chamber, and measured its output voltage as I moved a razor blade between the diodes. I used a micrometer stage to precisely position the razor at specific displacements. I then fit the output voltages as a function of displacement to the error function using MATLAB's curve fitting app. Here are the parameters for each shadow sensor.

The function fit to is f(x) = a*(erf(-(x-m)/(2*b))+1)

Sensor A: 

Coefficients (with 95% confidence bounds):

a =      0.8901  (0.8782, 0.9019)

b =       172.4  (169, 175.9)

m =       325.7  (319.8, 331.6) 

Goodness of fit:    SSE: 0.000221        R-square: 0.9999        Adjusted R-square: 0.9999     RMSE: 0.004955



Sensor B:

Coefficients (with 95% confidence bounds):

a =      0.9585  (0.9256, 0.9914)

b =         151  (144.1, 157.9)

m =         260  (248.4, 271.6)

Goodness of fit:   SSE: 0.002777     R-square: 0.9991    Adjusted R-square: 0.999     RMSE: 0.01361


Then I plotted output voltage as a function of displacement, and fit a lien to the middle 50% of the voltage output range.  This gave me the following values. My plot with the original data points shown as circles, the fitted error function as a dashed curve, and the line as solid is shown below.

BladeA: 0.0027 ± 3.22e-5 V/micron

BladeB: 0.0034 ± 9.72e-5 V/micron



Next I set the offsets on a range from -15000 to 15000 for each blade, and recorded the output voltages. The relationship is a simple linear fit as you can see in the two plots below. The data points are shown as dots while the fit is a line. The conversion factors are:

BladeA: 1.12e-5 ± 1.55e-7 V/count

BladeB: 7.79e- 6 ± 1.85e-8 V/count



When multiplied, we get the following overall conversion factor:

BladeA: 4.0952e-3 ± 7.59e-5 microns/count

BladeB: 2.27408e-3 ± 6.57e-5 microns/count

  697   Tue Aug 6 09:27:43 2013 GiorgosDailyProgressSUSNegation of Cross Coupling with Feedback

Negation of Cross Coupling with Feedback

In my previous post, I commented on how it is possible to negate the coupling from the coils' signal. This can adequately happen only if we know the amount of coupling. To measure this quantitatively, Haixing removed the plate from our setup, so that any signal reported by the sensors would be a product of the magnetic field created directly from the coils; this is what we want to subtract. Also, Haixing believes this technique is sufficient enough so that we no longer need to move the coils further from the sensors. That being said, we switched back to the original behavior of the ACs (for feedback) and DCs coils (DC magnetic offset).

In previous measurements, I calculated the correlation between the coils voltage and the sensors voltage for the AC1 coil and sensor (that are next to each other; we ignore rest of cross-coupling between coils-sensors) and found it to be around -11.28 dB for our DC (f about 0Hz) signal. We also measured the transfer function between the AC1 coil and sensor and found it to be around -11.133 at low frequency; the data are in close agreement. Then, we introduced a factor -GCGs in our feedback (Gc was measured to be about 400mV/V and Gs is known from the whitening filter) and measured the transfer function again. The magnitude dropped to -40dB(shown below).


At low frequencies, we need this value to drop even more, to approximately -70dB since the transfer function of the plate is around 2mV/V or -54dB. Further, we only cancelled the coils' coupling in the low frequency range and we should modify our feedback so that we improve the system's behavior over all frequency range.

Cross Coupling between Coils-Sensors

Here I summarize my findings for the calculated cross-coupling: for AC1 (coil-sensor), I found -11.28dB, for AC2 -10.808dB,and for AC3 -11.258dB.

Simulink Model

For some unknown reason, the Simulink Model for the feedback needs at least 2 filter modules and one subsystem in order to work; otherwise it fails to operate. In order to work, we also need to include a time delay so that the coil's output is not at once fed into the feedback. I worked and finished a generic Simulink model for all six degrees of freedom, however all the coefficients are unknown. Even so, I will post it along with some description of what each components does.

  696   Tue Aug 6 01:14:32 2013 ericqHowToCrackleTaking data

 Series resonance still there, but I've gotten a lock with an RMS only a bit higher than my previous best . UGF around 130Hz. 

Was able to keep the Michelson locked for 20 minutes, so I'm making a loop TF measurement, and then setting it up to run as long as it can overnight. Here's a (totally uncalibrated) spectrum! 


I've turned the PD gains up by 10dB since ELOG 677, which is why the RMS seems WAY higher, when in fact it is only somewhat higher. 

Assuming the thing will stay locked for an appreciable amount of time, many things will follow tomorrow....

  695   Mon Aug 5 16:14:39 2013 BenDailyProgressCrackleSimulating a Signal with Crackle, and Finding When We Can Conclusively Say We've Seen Crackle. Part 4

Eric helped me to figure out why my crackle signal appeared to have more power than my background signal in the last plot from Friday's post. I was using 2 standard deviations from my force Q as the threshold above which we would be able to be 95% sure that we'd seen crackle, but in reality, we don't need that big of a threshold. Instead, I used 2 standard deviations from the time-averaged background noise signal (which converges quickly towards zero). This decreased the alpha value (amount of crackle) necessary for us to see crackle, and now we can clearly notice that this code allows us to detect crackle EVEN when the crackle's power density is less than that of the background noise! I also added a bandpass filter from 50 to 150Hz. The first plot below shows the minimum alpha values necessary to be 95% sure we've seen crackle as a function of background Power Spectral Density with this bandpass filter in place (note that the alpha values are lower than without the bandpass, as we would expect). The second plot shows the power as a function of frequency for the noise and crackle signals in this situation. Both of these have an integration time of 600 seconds.




Next, I checked that the computer was actually spitting out numbers that made sense by visually finding the minimum alpha value at which I could observe crackle in the signal, and comparing that to the results of the first graph above. I found that the observations made sense. Below is a plot of the signal (the sum of the background and crackle noises) as a function of time over a 20 second range. I chose to test at a background power spectral density of 1e-15.

At alpha = 1e-6 you can see that the peaks of the crackle signal have just become visible above the "fuzzy caterpillar" of background noise (there are 5 peaks). This agrees very well with the code. The computer claims we can be sure about seeing crackle at alpha = 0.7e-6 for this power.




Finally, I noticed that the integration time used to generate the power graph affected the crackle noise's apparent power. I decided to make a plot of the crackle power (mean of the blue line of the second plot on this page) as a function of integration time. Ideally, we will run this experiment for a very long time, but here I only took a few data points because longer integration times would cause my computer to lock up due to the huge number of calculations. As a result the plot doesn't really converge very well, but it give a good idea of the behavior.



  694   Sun Aug 4 23:49:15 2013 ericqDailyProgressCracklePlant troubles

While working on collecting data this weekend, I noticed that a common mode drive would misalign the Michelson over the course of the motion. With the new clamp block that Ben made and we installed, I figure that the leveling of the end mirrors probably had changed, and that fixing this would alleviate some of the misalignment. 

So, I set up a vertical beam outside of the chamber, as I have in the past, and leveled the mirrors. I then reinstalled the blade towers, set up the coils and shadow sensors, and could not lock... 

Fiddled around, recovered a much more unstable lock, and measured some TFs to see what had changed.

Somehow, my plant has developed a series resonance, stealing a ton of phase. (Also, common mode drive still misaligns the arms .)


Just notching the resonance at ~221 Hz results in too much phase loss to stay locked with a UGF any higher than ~90Hz, so my error signal RMS is much larger than I'd like. 

I'm really at a loss as to what could have caused this. I'll tackle it tomorrow. 

I've also done some pen and paper work about analysis via fourier transforms instead of demodulation, and what RMS I really want (the x^3 in the taylor series for the michelson signal means the low-f drive can mix with and broaden noise peaks if the RMS is too high). I'll post more details about these things later.


  693   Sun Aug 4 22:44:36 2013 GiorgosSummarySUSVolts to N conversion factors & Correction of Transfer Function

As I mentioned in my previous post, the signal from the plate's displacement is strongly coupled with the coil's signal, so that our system is unstable. In fact, I calculated the transfer function of this "feedback loop" of the coils and found it to be about 2mV per V, roughly the magnitude of the feedback signal of the plate. We now use DCs coils to provide the feedback loop and want to find the conversion between volts applied from the DC coils and the force and only care about certain readings.


In the above figure, I represent the plate with the circle. Sensors and coils are in black and lie above the plate, while motors are in purple and lie below. As you can see in our arrangement, the DC coils are above the DC motors, so it is safe to ignore readings from the strain gauges that are not at or neighboring with the coils. Then, I calculated the conversion factors between applied V in the coils and applied force on the plate.

If prior post I showed the measurements between Volts in coils and measured mV for the strain gauges [mV=Volts*slope (mV/V)]
I also posted the measurements between weight/force and measured mV for the strain gauges [mV=Force*slope(mV/N)]
I found how volts in the coils correlate to applied force by combinging the two equations:

F=Volts*slope(mV/V) / slope (mV/N) = Volts * slope (N/V)

To give an example, I look at the AC1 coil. I have measured the response of the B1, B2, and B3 strain gauges. I also know how B1 and B2 strain gauges responded to the weights I put on AC1 (here, I ignore the 3rd reading from B3 strain gauge, because it is further away as seen in the above figure). Thus, I will get two readings (one through each, B1 and B2, motor) for how AC1 coil signal correlates to force applied by the AC1 coil. These numbers should in principle agree, or at least be close. Here are my findings:

ΔN (by DC3 coil) = 0.0239 (N/V) * V (by DC3 coil) ; measured through B2
ΔN (by AC3 coil) = 0.00055 (N/V) * V (by AC3 coil) ; measured through B2
ΔN (by AC3 coil) = 0.0023   (N/V) * V (by AC3 coil) ; measured through B3
ΔN (by DC2 coil) = 0.0023 (N/V) * V (by DC2 coil) ; measured through B3
ΔN (by AC2 coil) = 0.0022   (N/V) * V (by AC2 coil) ; measured through B1
ΔN (by AC2 coil) = 0.00198 (N/V) * V (by AC2 coil) ; measured through B3
ΔN (by DC1 coil) = 0.0016   (N/V) * V (by DC1 coil) ; measured through B1
ΔN (by AC1 coil) = 0.00078 (N/V) * V (by AC1 coil) ; measured through B1
ΔN (by AC1 coil) = 0.00363 (N/V) * V (by AC1 coil) ; measured through B2

The coefficient for DC3 seems not to fit the norm shown by the rest data.

Correction of coupling signal

I thought that, knowing the signal from the coils, we could feed its opposite to the sensors to cancel its effect. In practice, we would our feedback loop to look as the picture on the left part in the figure below. I can rearrange it to show it more clearly that the Gc and -Gc would simply add and cancel. We can do this cancellation within our digital feedback loop. Specifically, we can add the term -GcGS to cancel the coupling signal of the coils. Haixing agreed and we will try this tomorrow.




  692   Sat Aug 3 14:50:51 2013 GiorgosDailyProgressSUSCoupling from coil's signal

Coupling from coils' signal

On Thursday, I measured the HE sensors sensitivity to the magnetic field provided by the feedback coils. Unfortunately, I discovered that there was significant coupling; the sensors feel equally the plate's displacement and the magnetic field from the sensors. This effect changes our feedback loop, which now looks as drawn below. (the line between GP and GC boxes is mistakenly showing up after converting from



I calculated the output of the plate based on this configuration and found that .

If our GY is big, I can rewrite this equation as x= GpF, also assuming that the transfer function of the plant Gp is very small (as desired). In this case, our system will not be stable, because no feedback is essentially used. To reduce the coupling from the coils' signal, we changed the arrangement of the plant. To this point, the ACs feedback coils were at the same place as the ACs sensors. So, we decided to switch the DC and AC coils (not physically) and provide the feedback from the DCs coils instead, which lie further away from the sensors. In this way, we hope that the sensors would not feel as strong of a field from the AC coils as before. Our DC actuation boards did not have the transfer function (low-pass filter) that we included in the AC actuation boards, so we had to make adjustments in the digital feedback. We added dewhitening for the DC coils (now used for feedback) and whitening for the AC coils (now used for DC magnetic offset).





  691   Fri Aug 2 18:35:22 2013 BenDailyProgressCrackleSimulating a Signal with Crackle, and Finding When We Can Conclusively Say We've Seen Crackle. Part 3.

 Today I made several improvements to the code I had created yesterday. I improved my script for finding the lowest amount of crackle (smallest alpha value) at which we can see crackle as a function of background noise. Along with enhancements such as better spaced data points (using log space), and improved efficiency through removal of necessary random number generation, I also converted the x-axis to display power densities of the background noise instead of a meaningless coefficient. The graph is shown below. It has data taken at 50 different background noise power densities. There is also a handy, second order polynomial fit to it.



I also began creating a script to plot the Power Spectral density of the Noise Signal and the Crackle signal separately on the same axes. This should show that the background noise signal at a HIGHER power than the Crackle signal - even though we can detect that crackle. Unfortunately, as you can see in the plot below, something has gone wrong, and my Crackle Spectral Power Density is actually above that of the Background noise when the Background is set to 10^-15. I will continue to look into this to see what is wrong. Once that is complete I will add in a simple bandpass filter in order to simulate how we will only be taking crackle data from a small portion of the sensors' outputs (just like LIGO observatories).


  690   Thu Aug 1 16:56:53 2013 BenDailyProgressCrackleSimulating a Signal with Crackle, and Finding When We Can Conclusively Say We've Seen Crackle. Part 2.

 This is a continuation of my post from yesterday. Today I was able to fit a polynomial to my Mean force Q signal with crackle. Here is the polynomial fit.



Visually, it is hard to tell the 2nd-order polynomial fit with the actual data points on this plot, but I wanted to make sure that there was no trend in the error, so I plotted the residual (polynomial - original points). As you can see below, there is no trend, and the residual is very small, so the 2nd order polynomial is a good approximation.





Satisfied with this, I used MATLAB's "root" function to find the intersection of the 2-sigma boundary line and the Man Qf line.  This is the Minimum value of alpha (so in a sense, the minimum amount of crackle noise) we need in order to be able to be 95% sure that we have seen crackle above the background noise. I then plotted this minimum alpha value as a function of the level of background noise.  The x-axis of this plot is in terms of a coefficient that I am using. The actual range of this plot goes from a power spectral density of  approximately 10^-15 to 10^-12 [sqrt(W/Hz)]. The circular points are the individual data points I found, and the line is a second order polynomial I fit to it.



In the future, I will figure out how to add in Jerk Crackle.

Attachment 2: fig5.jpg
  689   Thu Aug 1 11:50:02 2013 KojiDailyProgressSUSHE output & DAC output/voltage follower


How much was the input impedance of the DAC conditioning board before putting the high-impedance voltage follower?

 It was 14.3K om, but as you pointed out, the main issue is that we connect the positive output to the GND. Now, we have a differential amplifier, so everything works fine.

  688   Thu Aug 1 11:43:15 2013 GiorgosDailyProgressSUSSensing Matrix and Calibration

Sensing Matrix
I calculated the entries of our sensing matrix S x = y, where S is the 6x6 sensing matrix, x is 6x1 vector signal from six degrees of freedom and y is the 6x1 signal sensed by six HE sensors. Haixing told me to ignore the 7th sensor (N), because in practice we could levitate the system using only the rest six. The sensing matrix contains many unknown coefficients, which we will find by calibrating the system and adjusting the values. I will post the matrix, once we know the entries are correct.


Coil - Force

We want to get an idea of how much force is applied on the plate for different signals from the digital filter. So, we measure the DC motors output (in mV) and we also have previous measurements of how the DC motors voltage correlates to the force applied. Therefore, knowing how the digital filter output corresponds to the DC motors voltage offset, we can infer the relationship between digital signal output and force on the plate. We first worked with the first top coils: AC1, AC2, and AC3. While changing the output for a single coil, we measured the response of all the motors to consider cross-coupling effects. While measuring the response of the bottom motors, we have to make sure there is always contact betweem them and the plate; otherwise, the data will not show how the force on the motors changes.    

Calibration of Coils - Force
    AC1     AC2     AC3  
V/mV B1 B2 B3 B1 B2 B3 B1 B2 B3
0 -276 170 246 -268 -44 285 -268 -32 259
-9 -263 -28 281 -265 -38 256 -265 -27 249
-7 -262 -32 281 -265 -40 259 -267 -28 251
-5 -263 -36 283 -265 -41 260 -267 -29 253
-3 -264 -38 283 -266 -43 263 -266 -28 254
-1 -267 -41 283 -267 -44 264 -266 -30 258
1 -268 -44 285 -268 -45 266 -266 -30 260
3 -271 -46 286 -268 -46 268 -265 -29 263
5 -272 -49 287 -270 -47 271 -266 -31 265
7 -274 -52 288 -272 -45 276 -265 -31 268
9 -274 -54 287 -272 -44 277 -264 -34 275












When we apply feedback, current runs through the coils and creates/adjust the ambient magnetic field. However, the magnetic force the HE sensors feel from the levitated plate is so coupled with the one created by the coils. We also want to know how sensitive the sensors are to our coils, when we apply feedback and so we again took measurements.

Calibration of Coils - Sensors
    AC1     AC2     AC3  
Source/Bits AC1 AC2 AC3 AC1 AC2 AC3 AC1 AC2 AC3
0 3400 -2800 2050 3400 -2820 2040 3440 -2790 2040
-9 -680 -2810 2050 3430 -7140 2050 3430 -2790 -2040
-7 240 -2810 2050 3440 -6170 2090 3440 -2790 -1140
-5 1160 -2800 2050 3430 -5220 2075 3430 -2790 -220
-3 2075 -2810 2050 3430 -4250 2060 3410 -2820 690
-1 2980 -2800 2050 3440 -3300 2050 3430 -2810 1600
1 3880 -2810 2040 3440 -2350 2060 3410 -2820 2510
3 4780 -2840 2040 3430 -1400 2060 3410 -2800 3420
5 5680 -2840 2040 3420 -450 2050 3420 -2800 4310
7 6590 -2840 2050 3400 520 2050 3420 -2820 5230
9 7480 -2840 2040 3420 1490 2040 3410 -2800 6130












We also want to know how sensitive the sensors are to a vertical displacement of the plate:

HE output - plate displacement
  Inches/bits AC1 AC2 AC3
Group1 0'' 3290 -3110 1975
  0.3'' 3510 -2830 2190
Group2 0'' 3280 -3110 1940
  0.3'' 3540 -2850 2160

In all our measurements, we noticed some hysteresis so we had to follow the same order when recording the data. In case of a mistake, we had to repeat from the beginning.

  687   Wed Jul 31 18:11:14 2013 BenDailyProgressCrackleSimulating a Signal with Crackle, and Finding When We Can Conclusively Say We've Seen Crackle.

 Over the past two days I have been busy simulating a signal like the one we might extract from our crackle experiment. This signal is made of two things: crackle and background noise. 

My first step was to model the crackle signal. Ultimately, the crackle will manifest itself in our signal as a differential in the x-positions of the blades (since crackle is random, and there is no correlation in its effects between blades). This Delta-X value is the difference of the x-positions of blades A and B. Using Hooke's law, we can see that it is:
Delta-X = (Fa/ka)-(Fb/kb)
where Fa and Fb are the forces on the blades, and ka and kb are the two spring constants (which will be different). I modeled the forces simply as being sinusoidaly dependent on the driving frequency, and scaled relative to each other by the ratio of the traditional spring constants.
The actual spring constants (ka and kb) are the sum of three things:
  • the traditional spring constant with no crackle
  • a force crackle term: this manifests as a random delta-k (I used a normal distribution) multiplied by the Force and a constant Alpha
  • a jerk crackle term: this manifests as another random delta-k multiplied by the derivative of the force and a constant Beta
When we choose reasonable alpha, beta, traditional spring constant values, driving force and driving frequency values, we can create a signal with only crackle noise as shown in the first graph. Here we can see the force crackle noise reaching a maximum once a period, when the driving force is greatest, and the jerk crackle reaching a maximum twice a period when the force is changing the fastest.
The next step was to generate some random background noise, and to add that to the crackle signal. This simply consists in my model of a random Gaussian noise distribution. I used MATLAB's pwelch function to find the power spectral density of the noise I was creating, and I added a coefficient to the Gaussian noise that created a density of about 10^-15, which is realistic. Adding this to my Delta-X signal, I obtained a signal similar to the one we would extract from the experiment. A plot can be seen below. Notice how the background noise is making it completely impossible to "see" the crackle.
Though it will require consideration in the future, I will now assume that only force crackle exists. Once I make my force noise analysis work, I will extend my code to facto jerk crackle work too.
Now I calculated a Q for both the background noise, and the total signal. Q is a value equal to cos(2*omegaD*time)*signal2 and it is chosen because it exhibits a DC offset in the presence of crackle. I did these only for the force portion of the signal. We will call the force Q for the total Noise signal QfN. QfN = cos(2*omeagD*time) * signal2. Similarly, I made a QfBG for the BackGround noise. I plotted a running average of each quantity below over time for the first 100 seconds. Note that there is a DC offset when crackle is added (the green trace is shifted down). This shows that the presence of crackle creates an offset in the value of Q as we hoped.
Finally, I found the mean values of the background QfBG and the signal QfN. These means correspond to peaks that we would see at certain Q values. Since crackle is a small effect, the two peaks are extremely close to each other. Actually though, both of these peaks are normal distributions. The big question here is, how much crackle would we need to detect in order to "conclusively" say that crackle has actually occurred in some time interval. Varying alpha is like varying the level of crackle since we are only dealing with force crackle right now. I generated a plot for the mean Q of the signal with crackle as a function of the alpha coefficient. To say that we can be at least 95% sure that we've seen crackle, our mean ("peak") would have to be two standard deviations (2 sigmas) away from the mean of the background noise. The background noise mean is plotted in red (it is basically at zero, of course), the 2sigma threshold is plotted in green. Once the blue signal mean curve crosses below the green line, we can be at least 95% sure we have seen crackle. In this case, our alpha value has to be approximately at least 4.6e-6. 
The next step will be to find a better way to make MATLAB determine the intersection point between the 2sigma threshold and the mean signal curve. This will involve finding a polynomial fit for the mean curve. Then, I will vary the amount of background noise, and observe the effect of increased background noise on the minimum alpha value. Eventually when all this works, I will add in Jerk crackle noise.


  686   Tue Jul 30 11:14:16 2013 KojiDailyProgressSUSHE output & DAC output/voltage follower

How much was the input impedance of the DAC conditioning board before putting the high-impedance voltage follower?

  685   Tue Jul 30 09:20:18 2013 GiorgosDailyProgressSUSHE output & DAC output/voltage follower

HE output

We tested the HE output and found that all the outputs were fine, except for the S1 board which saturated. This board was also the one with the odd phase function (when measured earlier in the summer). We realized that some components may have been disconnected (not enough soldering) and we easily fixed the problem.

DAC output - Voltage Follower

The output of DAC was lower than the one we expect. We measured the DAC output in V for different feedback filters and compared it to the value we would expect by converting the digital feedback of our computer from bits to volts. However, when the ribon wires connecting the DAC and the actuation conditioning boards (coils) is disconnected, we get sensible readings; the ribon seems to limit our output. It might be the case that the internal resistance of the DAC is large and that causes a huge voltage drop. We will then use a voltage follower configuration with an OP27, so that the current is not sourced from the DAC. We introduced a voltage follower in the 10 actuation boards (7 coils & 3 DC magnetic offset). Following, you can see the voltage follower configuration.


Simulink Model

I also created a draft model to model our system, using Simulink. The matrix that determines the coupling of the 6 degrees of freedom still remains to be calculated.


  684   Mon Jul 29 14:22:04 2013 GiorgosDailyProgressSUSADC & DAC bits/volts conversion, HE output and saturation of Transfer Functions


The bits/volts conversion factor is different for our ADC and DAC. Specifically, I measured the voltage output of the ADC and DAC and, by comparing it to the input and output readings--in bits-- of the computer respectively, I found this relationship to be 1.64bit/mV for the ADC and 3.3bit/mV for the DAC.

HE sensors output range

We also measured the output of the HE to fluctuate at most 100mV in response to the movement of the plate. Given that, a small displacement of the plate that produces roughly 30mV would bring approximately a 18bit change in the ADC output. With the already inherent noise and fluctuation of the bits reading, it is therefore difficult to detect small movements of the plate; it is necessary to boost the HE output after subtracting the HE sensors offset.
The HE sensors signal goes a voltage offset and then a high-pass filter. We will adjust our resistors' values only in the first state, so that the voltage offset more accurately corrects the inherent offset of the sensors and amplifies the output even more. Currently, as described in my first research report, the gain was 1; we will now aim for a gain of 50. I calculated the expression for Vout in the voltage offset configuration to be:

Vout=-(R4/R3)Vin + 5* [R2(R4+R3)/R3(R1+R2)].

A gain of 50 would also increase the inherent offset of the sensors, which would now be about (50*2.5)=12.5V; we also need to fix that. I calculated that if we use R4=50*R3 and R1=19.4*R2, we can get the desired gain, while also appropriately correcting for the offset.

Transfer functions saturation

We measured the transfer function of our damping transfer function: (s+Zo)/[(s+Po)(s+P1)] where Zo<Po<P1. We noticed that the voltage source setting of the spectrum analyzer affected our transfer functions. I extracted and plotted the transfer functions for three different voltage sources: 10mV, 100mV and 500mV which are shown in this order below. We are unsure as to why that happens.




Attachment 3: TF_500mV.png
  683   Fri Jul 26 18:26:39 2013 BenDailyProgressCrackleNew Shadow Sensor mounts installed. Setting Offset

 Today we finished installing both shadow sensor mounts, and everything is wired up. The system successfully locked with the new hardware, although there is some tweaking that needs to be done to the transfer functions.  Adjusting the shadow sensor heights was a piece of cake compared with how it was before. Here is a photo of the new setup from outside of one of the windows.



Afterwards, I recorded the output voltage of each channel (A and B) at offsets from -15000 to 15000, and I used MATLAB to find a line of best fit. The plots with the two best fit lines are attachments 2 & 3. The slopes are printed on the plots.

Plot A: PlotA.pdf

Plot B: PlotB.pdf

Eric used the ratio of the slopes to compensate for the fact that a given input voltage into one coil will not necessarily lead to the same force on the on the blade spring as it will on the other. With the new proper offset ration (SlopeA/SlopeB = 1.9298), we can control the two blades as if they were identical.

  682   Thu Jul 25 22:51:39 2013 GiorgosDailyProgressSUSComputer Feedback (Integrator & Damping), Motors' Speed and ADC bits/voltage conversion

Computer Feedback Filter

I installed Linux on my office computer today, because Windows was sometimes crashing. Then, using secure shell (SSH) I remotely accessed the supercomputer that receives the input signal from the HE sensors. With the Foton software, I created a preliminary feedback filter with an integrator and a damping factor. Assuming a normal response function R(s)=1/[m(s2+ωn2-γs)] for our plate, the transfer function is very large near the resonance frequency (where s2 and ωn2 cancel) and at small frequencies (where only the resonance frequency term, presumably small, remains). Therefore, we need our feedback filter to add to the response function of the plate; the integrator --proportional to s--adds a large term near small frequencies, and the damping factor--proportional to s--adds another factor near the resonance frequency. I designed the filter so that the cut-off frequencies occur at roughly 2, 5, 20, and 200Hz. Below are the results. WIth the correct gain factor, we have a unity gain from 2Hz to 5Hz.



DC Motors

We tried to test the motors, but they did not move as fast. Apparently, we had include a 3.6kΩ resistor in series with them, using a 15V source; no wonder they did not work. We replaced the 3.6kΩ resistors with 1kΩ ones and achieved a better movement.

HE sensors output

We compared the bits of the input signal digitally diagnosed with the output signal of the HE signal measured manually with a voltage meter to check whether the correspondence made any sense. I plotted the pair of data ( {millivolts, bits}, ..) and found the best fit for the data; the slope was 1.64 (1mV corresponds to 1.64bits). For our ADC converters, 20V correspond to 216 or (65536) bits, so 1mV corresponds roughly to 3.3bits. However, the bits correspond to the voltage difference, so the actual readings for the bits should be half (1mV=215/20=1.638bits). Our conversion works. 


I started using Simulink and looked at Rana's examples. I will keep building our setup with Simulink to ultimately simulate the behavior of our plate.

Attachment 1: Integral_and_Damping_Digital_Filtering_together.png
  681   Thu Jul 25 18:07:32 2013 BenDailyProgressCrackleFirst Shadow Sensor Assembly ready to go.

 Today I modified part 1 from my July 16 elog by couterboring the two rear coil mounting holes as shown in the photo below. This allows us to forgo the extra spacer, and it lets us use the same, short screws that we had already been using to attach the coil.


Next Eric removed one of the old shadow sensor apparatuses from the chamber, and I soldered the power and sensor cables in place (as described in my July 23 elog). Thus, the top half of the assembly was complete and ready to be installed. The following photo shows it mounted in place with the one remaining old mount in the background.


Another view (note that the screws are not yet tightened down):



Finally, I epoxied the magnet onto the new razor blade mount. It shouldn't take too much time to get this new assembly up and running tomorrow.

  680   Wed Jul 24 22:10:08 2013 GiorgosDailyProgressSUSAdjusting DC motors resistors, Bode Plots in Matlab and Test Components

DC motors - Tuning Adjustable Resistors

I first tuned the resistors of our DC motors circuits, such that the voltage meters read close to 0V when the strain gauge sensors are not stretched by the plate. A zero voltage reading would later help us know when the plate is at equilibrium. The equilibrium is unstable and so the plate moves either up or down. I tuned the resistors for the bottom sensors while the plate was stuck against the top ones and vice versa. The BE adjustable resistor (R2 in the picture) was very sensitive and acting strangely; the voltage reading would change as long as the screw driver touched the resistor, making it impossible to know whether we are close to 0V while adjusting. The resistances also drifted away from their values throughout the day. Whereas the initial offset was set within 5-10mV, at the end of the day it had grown much larger as is evident in the following image:IMG_4502.JPG     IMG_4507.JPG

Bode Plots in Matlab

I developed a code in Matlab to read .dat files and create Body plots. For future reference, Matlab files should not include a "." in their name, since Matlab recognized whatever comes after the period as the extension of the file. Following is the code for the phase plot and the results:Low_Pass.pdf

>> cd('C:\Users\Γιώργος\Dropbox\maglev\SURF\progress_report\Transfer Functios of Coils')
>> load 008ASC.dat
>> G = semilogx(X008ASC(:,1), X008ASC(:,2))
>> axis ([0.5 1000 -160 0])
colorss = {[0.5  0.5  0.5],
           [0.8  0.3  0.7],
           [0.0  0.0  1.0],
           [0.97  0.1  0.0],
           [0.1  0.9  1.0],
           [0.2  0.8  0.1],
           [0.4  0.4  1.0]};
for k = 1:length(G)
    set(G(k), 'Color', colorss{k});
grid minor
%axis tight
hXLabel = xlabel('Frequency [Hz]');
hYLabel = ylabel('Phase [degrees]');
title('Phase of the Low-Pass filter', 'FontWeight', 'bold', 'FontSize',12)
set( gca                       , ...
    'FontName'   , 'Times'     , ...
    'FontSize'   , 15          );
set([hXLabel, hYLabel], ...
    'FontName'   , 'Times',...
    'FontSize'   , 15          );
set([Legend, gca]             , ...
    'FontSize'   , 15          );
%set( hTitle                    , ...
%    'FontSize'   , 12          , ...
%    'FontWeight' , 'bold'      );

set(gca, ...
  'Box'         , 'on'     , ...
  'TickDir'     , 'in'     , ...
  'TickLength'  , [.02 .0] , ...
  'XMinorTick'  , 'on'      , ...
  'YMinorTick'  , 'on'      , ...
  'YGrid'       , 'on'      , ...
  'XColor'      , .1*[.3 .3 .3], ...
  'YColor'      , .1*[.3 .3 .3], ...
  'FontSize'    , 25, ...
  'LineWidth'   , 1.5        );

 HE boards and coils test

I also measured the output of the HE sensors to see whether there were working fine:

AC1=105mv, AC2=128mV, AC3=137mV, S1=1.73V, S2=82mV, N=16mV, W=7mV. In the same way, I measured the resistances of the coils (since we have not yet created a signal with the computer) and they worked fine, too (same values as before, slightly higher resistances, possibly because of the long ribon wires attached).

Tomorrow, I will start working on Simulink and learn how to use the computer to provide the feedback filter.

  679   Wed Jul 24 17:40:22 2013 ranaDailyProgressCrackleCompensating

You should add the flags in the model so that the error and control signals are written to the disk (as _DQ channels). Also make some filters so that the calbration of the signals can be loaded into them. In this way the data written to disk will be calibrated in some units (e.g. meters or Newtons).


Got it!

  678   Wed Jul 24 16:44:37 2013 ericqDailyProgressCrackleCompensating

 Still tweaking the loop; although the UGF appears to be around 150, and a fair amount noise suppression is present, if I jump even softly near the table it knocks out of lock. 

Also, looking at higher frequencies, I've found that there seems to be a series resonance at around 700Hz in the blade, as the phase jumps down a ton, and doesn't come back. (In contrast, the feature around 150-200Hz was in parallel, since the phase lost around it comes back afterwards.)

Here is the TF unwrapped and wrapped. 



Increasing the gain until instability right now injects a broad chunk of noise centered around 700Hz and its harmonics. Is this worth trying to compensate/control, or should I just stay in the stable regime and not worry about it?

  677   Wed Jul 24 13:09:03 2013 ericqDailyProgressCrackleCompensating

Got it!

I tweaked the compensator, and now there is no more instability in this 150-200Hz range. Turned the gain up to 300 now, in comparison to 170 yesterday. RMS of the locked error signal is about a factor of five smaller than yesterday, to boot. (With the increased stability, I was able to throw on another integrator, too.) Plots!

Here the blue trace is yesterday's best spectrum, red is today's. This is the strongest lock the crackle IFO has seen. 


Time series trace of the error signal, as I disengage the servo:


  676   Wed Jul 24 01:00:36 2013 GiorgosDailyProgressSUSFinished 1st Stage - Installation of MatLab

Today, the front panels for the HE and Coils Board arrived. I spent the day preparing the last power lines for the DC coil boards, marking and drilling holes, cutting ribon wires for the ADC and DAC conversion, grouping the wires together using cable ties, testing the boards. We are officially finished with the first stage. Tomorrow, we will measure the transfer function of the system to start creating the feedback filter with the computer.

I also installed MatLab. At the beginning, the setup.exe file could not load the installation. Apparently, there was a problem with the saving directory, because it included non-English(Greek) characters. I saved the data in a folder inside the C disk: "C:\MatLab" to make it work.  Tomorrow, I will create the Bode Plots and use MatLab to simulate the behavior of our system.

  675   Tue Jul 23 22:27:11 2013 BenDailyProgressCrackleContinuing Progress on new Shadow Sensor Assembly

 Today I finished wiring one emitter/receiver set (as shown in yesterday's post), and I mounted the two components in their location inside the shadow sensor mount. I coated the surface they sit on in nail polish in order to prevents shorts, and epoxied the diodes in place as shown below.


I tested the setup on a solderless breadboard. The wiring I used can be seen in the photo below, with one exception. In reality I used an oscilloscope to measure the output voltage across the 50 ohm resistor (which is sitting in the upper, right corner of the board). The scope read approximately 1.75 V above the dark level when nothing was between the two diodes.


Finally, I cut out a piece of bread board for the purpose of mounting that circuitry onto the face of the assembly. Here is a photo of the first completed assembly. The four wires that will be soldered in place along the top of the board already exist in the experiment. At time of installation, we will solder these wires in place. From left to right, they are Sensor +, Sensor -, +15V, Ground. I used the power supply and scope to check that the circuit still worked, and it did.


The thumb screw and spring system for adjusting the sensor height feels strong, and it will not move when you take your hand off of the screw. Tightening the set screws locks the height completely.

  674   Tue Jul 23 20:00:54 2013 ericqDailyProgressCrackleCompensating

Objective: raise UGF by making a compensator for the oddities in the loop TF (presumably in the blade) that were causing instability. 

TF measurement in hand, I was having trouble fitting poles/zeros to it, until Nic told me about vectfit. A google search of "vectfit" resulted in code in a folder of Rana's as number 1, the official website as number 2.

With this tool, I was able to produce a reasonable fit to the ideal compensator, which is given by the desired loop TF divided by the measured loop TF, with 4 pairs of poles and zeros. I weighted the data so that the area around the big phase gain peak was of utmost importance, the others less so, and things outside of the 150-250Hz range irrelevant. 


I stuck the numbers into foton, and gave it a gain such that outside the region of interest, the compensators gain is unity. The TF of this filter looks like the dotted red trace in teh above plots.

Here are the loop TF measurements with and without the compensator. (The net phase offset is not due to the compensator, I talk about it below)


At first, I saw a lot of noise being injected at 1.6kHz and its multiples. My main Servo TF had a 2-pole cutoff at ~4.4kHz, but since its gain was pretty high at 1.6kHz, I figured that may be responsible for the injection, so I lowered the cutoff to a pole each at 1k and 2k, thus taking away some of the phase in the regime in the plot above.

In any case, the main annoyance (phase loss around 180Hz) is completely gone. But there is a little glitchy dude around 160...

Now, I am able to turn the gain up a few dB higher without losing lock, but there starts to be a lot of noise injected right under 160. I need a better fit in that region, and then I should be done compensating.




  673   Mon Jul 22 18:26:30 2013 BenDailyProgressSUSWiring Shadow Sensor Emitter

 Today I figured out the proper orientation for the SME2470 Emitter and the SMD2420 Detector which we will be using for the shadow sensor. A very simple diagram is shown in the first attachment (a photo from my notebook). My system is to always use a black wire for the ground side, which is in both cases the side with a flat (not half-moon-shaped) conductor. The emitter gets a white wire on the curved side, while the detector will get a red wire (so we can tell the two apart). Note that the wiring can be confusing because the Cathode and Anode side of the components are opposite for each, but the fact that they are placed in the reverse orientation un-does this.

The second attachments shows the emitter with two wires soldered onto it. This proved to be difficult. As noted in my notebook, the soldering iron can only be set to 500° F for 5 seconds before the part is ruined (according to its documentation), so making these connections strong took work. The final attachment shows the emitter mounted in the part I designed to hold it. (See my 7/16/13 ELOG).

Attachment 1: 2013-07-22_17.58.47.jpg
Attachment 2: 2013-07-22_17.59.10.jpg
Attachment 3: 2013-07-22_18.00.49.jpg
  672   Fri Jul 19 16:14:06 2013 Edward Taylor & Nic SmithDailyProgressSUSSolid works Model

The solid works model for the experimental apparatus has been set up and the parts have been ordered. Today, I cleaned the cryostat with solvents and delivered the clamp and insulator schematics to the machine specialist in Church.

Attachment 1: cryostatassembbly.JPG
  671   Tue Jul 16 22:37:22 2013 GiorgosDailyProgressSUSHE & Coils Boxes: Labeling and Power Lines for Fit-through Boards

Progress on HE & Coil Boxes

I used the labeling device to print labels for the HE sensors and coils' boxes. We use medium font and line spacing of 1.

I screwed the boards and panels together and prepared power lines for the coils' box; we have 10 boards (7 for the actuator coils and 3 for the DC magnetic field offset), each with an input and output, so I made 20 power lines. For the connections on the fit-through board, we follow the same order as the physical setup:


 We use A's for the input and B's for the output signal on the fit-through board. 


Tomorrow, we will test our HE and Coils' boxes and see whether they work. We are still waiting for some front panels and some missing components to complete our circuits (such asholders and resistors for the coils' boards)

  670   Tue Jul 16 15:46:42 2013 BenDailyProgressCrackleThe New Shadow Sensor Mounting Apperatus

I have made new drawings which better abide by engineering conventions. Here they are.



 I have designed the following new shadow sensor mount, and the designs have been given to the machine shop - the parts should be here soon.

 We needed a new design because currently it is very difficult to adjust the position of the shadow sensors without messing with the position of the coil relative to the magnet. The whole apparatus is also currently too flimsy. The new assembly is going to be machined out of 6061 aluminum, and it will not have large thin surfaces, so it should be much less susceptible to vibrations. A simple thumb screw will drive the shadow sensors up and down relative to the razor blade.

The assembly is made of the 4 parts (shown in the first 4 attachments below). There is an assembly picture as well as an exploded view afterwards.

  • Part 2 replaces the upper half of the current blade spring clamp. It is modified to be larger and to house a groove where the razor blade mounts. As usual, the magnet will be epoxied directly between the two holes.
  • Part 1 has a hole pattern with which we will mount the coil (note that the coil is simply modeled as a large grey cylinder. This part also has a large track cut out in the middle which will house the mobile sensor mount piece (part 4). A through-hole on the top will allow for the thumb screw. The bread board with the electronics will sit on the front face of the part. The four front-facing holes are tapped. standoffs will separate the circuit board from the metal part.
  • Part 4 is the sensor mount. The diodes sit on the inside of the cavity with their leads coming out of the small holes (two holes per side). The large threaded hole allows the thumb screw to drive the part up and down. Two set screws can be tightened down through the holes in part 1 onto part 4 so as to prevent further adjustment.
  • Part 3 simply attaches the assembly to the large optical mounting post. It allows well over 180 degrees of freedom so that we can easily change the position of the mounting post relative to the optics when necessary.

Note that a spring on the thumb screw between parts 1 and 4 will maintain a force between those parts - this should make adjustment smoother. Also note that I will order washers to stack up on the thumb screw on top of part 1 to allow for an extended range.


Attachment 1: part1.pdf.PDF
Attachment 2: part2.pdf.PDF
Attachment 3: part3.pdf.PDF
Attachment 4: part4.pdf.PDF
ELOG V3.1.3-