nass-micro-station-measurem.../static-measurements/index.org
2019-05-02 14:09:20 +02:00

28 KiB

#+TITLE:Measurements

For all the measurements shown here:

  • geophones used are L22 with a resonance frequency of 1Hz
  • the signals are amplified with voltage amplifiers with a gain of 60dB
  • the voltage amplifiers include a low pass filter with a cut-off frequency at 1kHz

Effect of the Slip-Ring on the signal

Experimental Setup

Two measurements are made with the control systems of all the stages turned OFF.

One geophone is located on the marble while the other is located at the sample location (figure fig:setup_slipring).

/tdehaeze/nass-micro-station-measurements/media/commit/251d39ffc315e7bbba1bf42992ca539f965cf181/static-measurements/img/IMG_20190430_112615.jpg
Experimental Setup

The two measurements are:

Measurement File Description
meas_008.mat Signal from the top geophone does not goes through the Slip-ring
meas_009.mat Signal goes through the Slip-ring (as shown on the figure above)

Each of the measurement mat file contains one data array with 3 columns:

Column number Description
1 Geophone - Marble
2 Geophone - Sample
3 Time

Load data

We load the data of the z axis of two geophones.

  d8 = load('mat/data_008.mat', 'data'); d8 = d8.data;
  d9 = load('mat/data_009.mat', 'data'); d9 = d9.data;

Analysis - Time Domain

First, we compare the time domain signals for the two experiments (figure fig:slipring_time).

  figure;
  hold on;
  plot(d9(:, 3), d9(:, 2), 'DisplayName', 'Slip-Ring');
  plot(d8(:, 3), d8(:, 2), 'DisplayName', 'Wire');
  hold off;
  xlabel('Time [s]'); ylabel('Voltage [V]');
  xlim([0, 50]);
  legend('location', 'northeast');
  <<plt-matlab>>

/tdehaeze/nass-micro-station-measurements/media/commit/251d39ffc315e7bbba1bf42992ca539f965cf181/static-measurements/figs/slipring_time.png

Effect of the Slip-Ring on the measured signal - Time domain

Analysis - Frequency Domain

We then compute the Power Spectral Density of the two signals and we compare them (figure fig:slipring_asd).

  dt = d8(2, 3) - d8(1, 3);
  Fs = 1/dt;

  win = hanning(ceil(1*Fs));
  [pxx8, f] = pwelch(d8(:, 2), win, [], [], Fs);
  [pxx9, ~] = pwelch(d9(:, 2), win, [], [], Fs);
  figure;
  hold on;
  plot(f, sqrt(pxx9), 'DisplayName', 'Slip-Ring');
  plot(f, sqrt(pxx8), 'DisplayName', 'Wire');
  hold off;
  set(gca, 'xscale', 'log');
  set(gca, 'yscale', 'log');
  xlabel('Frequency [Hz]'); ylabel('ASD [V/sqrt(Hz)]')
  xlim([1, 500]);
  legend('Location', 'southwest');
  <<plt-matlab>>

/tdehaeze/nass-micro-station-measurements/media/commit/251d39ffc315e7bbba1bf42992ca539f965cf181/static-measurements/figs/slipring_asd.png

Effect of the Slip-Ring on the measured signal - Frequency domain

Conclusion

  • Connecting the geophone through the Slip-Ring seems to induce a lot of noise.

Remaining questions to answer:

  • Why is there a sharp peak at 300Hz?
  • Why the use of the Slip-Ring does induce a noise?
  • Can the capacitive/inductive properties of the wires in the Slip-ring does not play well with the geophone? (resonant RLC circuit)

Effect of all the control systems on the Sample vibrations

Experimental Setup

We here measure the signals of two geophones:

  • One is located on top of the Sample platform
  • One is located on the marble

The signal from the top geophone does not go trought the slip-ring.

First, all the control systems are turned ON, then, they are turned one by one. Each measurement are done during 50s.

Ty Ry Slip Ring Spindle Hexapod Meas. file
ON ON ON ON ON meas_003.mat
OFF ON ON ON ON meas_004.mat
OFF OFF ON ON ON meas_005.mat
OFF OFF OFF ON ON meas_006.mat
OFF OFF OFF OFF ON meas_007.mat
OFF OFF OFF OFF OFF meas_008.mat
Summary of the measurements and the states of the control systems

Each of the mat file contains one array data with 3 columns:

Column number Description
1 Geophone - Marble
2 Geophone - Sample
3 Time

Load data

We load the data of the z axis of two geophones.

  d3 = load('mat/data_003.mat', 'data'); d3 = d3.data;
  d4 = load('mat/data_004.mat', 'data'); d4 = d4.data;
  d5 = load('mat/data_005.mat', 'data'); d5 = d5.data;
  d6 = load('mat/data_006.mat', 'data'); d6 = d6.data;
  d7 = load('mat/data_007.mat', 'data'); d7 = d7.data;
  d8 = load('mat/data_008.mat', 'data'); d8 = d8.data;

Analysis - Time Domain

First, we can look at the time domain data and compare all the measurements:

  figure;
  hold on;
  plot(d3(:, 3), d3(:, 2), 'DisplayName', 'All ON');
  plot(d4(:, 3), d4(:, 2), 'DisplayName', 'Ty OFF');
  plot(d5(:, 3), d5(:, 2), 'DisplayName', 'Ry OFF');
  plot(d6(:, 3), d6(:, 2), 'DisplayName', 'S-R OFF');
  plot(d7(:, 3), d7(:, 2), 'DisplayName', 'Rz OFF');
  plot(d8(:, 3), d8(:, 2), 'DisplayName', 'Hexa OFF');
  hold off;
  xlabel('Time [s]'); ylabel('Voltage [V]');
  xlim([0, 50]);
  legend('Location', 'bestoutside');
  <<plt-matlab>>

/tdehaeze/nass-micro-station-measurements/media/commit/251d39ffc315e7bbba1bf42992ca539f965cf181/static-measurements/figs/time_domain_sample.png

Comparison of the time domain data when turning off the control system of the stages - Geophone at the sample location
  figure;
  hold on;
  plot(d3(:, 3), d3(:, 1), 'DisplayName', 'All ON');
  plot(d4(:, 3), d4(:, 1), 'DisplayName', 'Ty OFF');
  plot(d5(:, 3), d5(:, 1), 'DisplayName', 'Ry OFF');
  plot(d6(:, 3), d6(:, 1), 'DisplayName', 'S-R OFF');
  plot(d7(:, 3), d7(:, 1), 'DisplayName', 'Rz OFF');
  plot(d8(:, 3), d8(:, 1), 'DisplayName', 'Hexa OFF');
  hold off;
  xlabel('Time [s]'); ylabel('Voltage [V]');
  xlim([0, 50]);
  legend('Location', 'bestoutside');
  <<plt-matlab>>

/tdehaeze/nass-micro-station-measurements/media/commit/251d39ffc315e7bbba1bf42992ca539f965cf181/static-measurements/figs/time_domain_marble.png

Comparison of the time domain data when turning off the control system of the stages - Geophone on the marble

Analysis - Frequency Domain

  dt = d3(2, 3) - d3(1, 3);

  Fs = 1/dt;
  win = hanning(ceil(10*Fs));

Vibrations at the sample location

First, we compute the Power Spectral Density of the signals coming from the Geophone located at the sample location.

  [px3, f] = pwelch(d3(:, 2), win, [], [], Fs);
  [px4, ~] = pwelch(d4(:, 2), win, [], [], Fs);
  [px5, ~] = pwelch(d5(:, 2), win, [], [], Fs);
  [px6, ~] = pwelch(d6(:, 2), win, [], [], Fs);
  [px7, ~] = pwelch(d7(:, 2), win, [], [], Fs);
  [px8, ~] = pwelch(d8(:, 2), win, [], [], Fs);

And we compare all the signals (figures fig:psd_sample_comp and fig:psd_sample_comp_high_freq).

  figure;
  hold on;
  plot(f, sqrt(px3), 'DisplayName', 'All ON');
  plot(f, sqrt(px4), 'DisplayName', 'Ty OFF');
  plot(f, sqrt(px5), 'DisplayName', 'Ry OFF');
  plot(f, sqrt(px6), 'DisplayName', 'S-R OFF');
  plot(f, sqrt(px7), 'DisplayName', 'Rz OFF');
  plot(f, sqrt(px8), 'DisplayName', 'Hexa OFF');
  hold off;
  set(gca, 'xscale', 'log');
  set(gca, 'yscale', 'log');
  xlabel('Frequency [Hz]'); ylabel('ASD [V/sqrt(Hz)]')
  xlim([0.1, 500]);
  legend('Location', 'southwest');
  <<plt-matlab>>

/tdehaeze/nass-micro-station-measurements/media/commit/251d39ffc315e7bbba1bf42992ca539f965cf181/static-measurements/figs/psd_sample_comp.png

PSD of the signal coming from the top geophone
  <<plt-matlab>>

/tdehaeze/nass-micro-station-measurements/media/commit/251d39ffc315e7bbba1bf42992ca539f965cf181/static-measurements/figs/psd_sample_comp_high_freq.png

PSD of the signal coming from the top geophone (zoom at high frequencies)

Vibrations on the marble

Now we plot the same curves for the geophone located on the marble.

  [px3, f] = pwelch(d3(:, 1), win, [], [], Fs);
  [px4, ~] = pwelch(d4(:, 1), win, [], [], Fs);
  [px5, ~] = pwelch(d5(:, 1), win, [], [], Fs);
  [px6, ~] = pwelch(d6(:, 1), win, [], [], Fs);
  [px7, ~] = pwelch(d7(:, 1), win, [], [], Fs);
  [px8, ~] = pwelch(d8(:, 1), win, [], [], Fs);

And we compare the ASD (figures fig:psd_marble_comp and fig:psd_marble_comp_high_freq)

  figure;
  hold on;
  plot(f, sqrt(px3), 'DisplayName', 'All ON');
  plot(f, sqrt(px4), 'DisplayName', 'Ty OFF');
  plot(f, sqrt(px5), 'DisplayName', 'Ry OFF');
  plot(f, sqrt(px6), 'DisplayName', 'S-R OFF');
  plot(f, sqrt(px7), 'DisplayName', 'Rz OFF');
  plot(f, sqrt(px8), 'DisplayName', 'Hexa OFF');
  hold off;
  set(gca, 'xscale', 'log');
  set(gca, 'yscale', 'log');
  xlabel('Frequency [Hz]'); ylabel('ASD [V/sqrt(Hz)]')
  xlim([0.1, 500]);
  legend('Location', 'northeast');
  <<plt-matlab>>

/tdehaeze/nass-micro-station-measurements/media/commit/251d39ffc315e7bbba1bf42992ca539f965cf181/static-measurements/figs/psd_marble_comp.png

PSD of the signal coming from the top geophone
  <<plt-matlab>>

/tdehaeze/nass-micro-station-measurements/media/commit/251d39ffc315e7bbba1bf42992ca539f965cf181/static-measurements/figs/psd_marble_comp_high_freq.png

PSD of the signal coming from the top geophone (zoom at high frequencies)

Effect of the control system on the transmissibility from ground to sample

As the feedback loops change the dynamics of the system, we should see differences on the transfer function from marble velocity to sample velocity when turning off the control systems (figure fig:trans_comp).

  dt = d3(2, 3) - d3(1, 3);

  Fs = 1/dt;
  win = hanning(ceil(1*Fs));

First, we compute the Power Spectral Density of the signals coming from the Geophone located at the sample location.

  [T3, f] = tfestimate(d3(:, 1), d3(:, 2), win, [], [], Fs);
  [T4, ~] = tfestimate(d4(:, 1), d4(:, 2), win, [], [], Fs);
  [T5, ~] = tfestimate(d5(:, 1), d5(:, 2), win, [], [], Fs);
  [T6, ~] = tfestimate(d6(:, 1), d6(:, 2), win, [], [], Fs);
  [T7, ~] = tfestimate(d7(:, 1), d7(:, 2), win, [], [], Fs);
  [T8, ~] = tfestimate(d8(:, 1), d8(:, 2), win, [], [], Fs);
  figure;
  ax1 = subplot(2, 1, 1);
  hold on;
  plot(f, abs(T3), 'DisplayName', 'All ON');
  plot(f, abs(T4), 'DisplayName', 'Ty OFF');
  plot(f, abs(T5), 'DisplayName', 'Ry OFF');
  plot(f, abs(T6), 'DisplayName', 'S-R OFF');
  plot(f, abs(T7), 'DisplayName', 'Rz OFF');
  plot(f, abs(T8), 'DisplayName', 'Hexa OFF');
  hold off;
  set(gca, 'xscale', 'log'); set(gca, 'yscale', 'log');
  set(gca, 'XTickLabel',[]);
  ylabel('Magnitude');
  legend('Location', 'northwest');

  ax2 = subplot(2, 1, 2);
  hold on;
  plot(f, mod(180+180/pi*phase(T3), 360)-180);
  plot(f, mod(180+180/pi*phase(T4), 360)-180);
  plot(f, mod(180+180/pi*phase(T5), 360)-180);
  plot(f, mod(180+180/pi*phase(T6), 360)-180);
  plot(f, mod(180+180/pi*phase(T7), 360)-180);
  plot(f, mod(180+180/pi*phase(T8), 360)-180);
  hold off;
  set(gca, 'xscale', 'log');
  ylim([-180, 180]);
  yticks([-180, -90, 0, 90, 180]);
  xlabel('Frequency [Hz]'); ylabel('Phase');

  linkaxes([ax1,ax2],'x');
  xlim([1, 500]);
  <<plt-matlab>>

/tdehaeze/nass-micro-station-measurements/media/commit/251d39ffc315e7bbba1bf42992ca539f965cf181/static-measurements/figs/trans_comp.png

Comparison of the transfer function from the geophone on the marble to the geophone at the sample location

Conclusion

  • The control system of the Ty stage induces a lot of vibrations of the marble
  • Why it seems that the measurement noise at high frequency is the limiting factor when the slip ring is ON but not when it is OFF?

Transfer function from one stage to the other

Experimental Setup

For all the measurements in this section:

  • all the control stages are OFF.
  • the measurements are on the $z$ direction

From Marble to Ty - mat/meas_010.mat

One geophone is on the marble, one is on the Ty stage (see figures fig:setup_m_ty, fig:setup_m_ty_zoom and fig:setup_m_ty_top).

The data array contains the following columns:

Column Description
1 Ground
2 Ty
3 Time
/tdehaeze/nass-micro-station-measurements/media/commit/251d39ffc315e7bbba1bf42992ca539f965cf181/static-measurements/img/IMG_20190430_155330.jpg
Setup with one geophone on the marble and one on top of the translation stage
/tdehaeze/nass-micro-station-measurements/media/commit/251d39ffc315e7bbba1bf42992ca539f965cf181/static-measurements/img/IMG_20190430_155335.jpg
Setup with one geophone on the marble and one on top of the translation stage - Close up view
/tdehaeze/nass-micro-station-measurements/media/commit/251d39ffc315e7bbba1bf42992ca539f965cf181/static-measurements/img/IMG_20190430_155342.jpg
Setup with one geophone on the marble and one on top of the translation stage - Top view

From Marble to Ry - mat/meas_011.mat

One geophone is on the marble, one is on the Ry stage (see figure fig:setup_m_ry)

The data array contains the following columns:

Column Description
1 Ground
2 Ry
3 Time
/tdehaeze/nass-micro-station-measurements/media/commit/251d39ffc315e7bbba1bf42992ca539f965cf181/static-measurements/img/IMG_20190430_163919.jpg
Setup with one geophone on the marble and one on top of the Tilt Stage

From Ty to Ry - mat/meas_012.mat

One geophone is on the Ty stage, one is on the Ry stage (see figures fig:setup_ty_ry, fig:setup_ty_ry_top and fig:setup_ty_ry_zoom) One geophone on the Ty stage, one geophone on the Ry stage.

The data array contains the following columns:

Column Description
1 Ty
2 Ry
3 Time
/tdehaeze/nass-micro-station-measurements/media/commit/251d39ffc315e7bbba1bf42992ca539f965cf181/static-measurements/img/IMG_20190430_170405.jpg
Setup with one geophone on the translation stage and one on top of the Tilt Stage
/tdehaeze/nass-micro-station-measurements/media/commit/251d39ffc315e7bbba1bf42992ca539f965cf181/static-measurements/img/IMG_20190430_170418.jpg
Setup with one geophone on the translation stage and one on top of the Tilt Stage - Top view
/tdehaeze/nass-micro-station-measurements/media/commit/251d39ffc315e7bbba1bf42992ca539f965cf181/static-measurements/img/IMG_20190430_170425.jpg
Setup with one geophone on the translation stage and one on top of the Tilt Stage - Close up view

Load data

We load the data of the z axis of two geophones.

  m_ty  = load('mat/data_010.mat', 'data'); m_ty  = m_ty.data;
  m_ry  = load('mat/data_011.mat', 'data'); m_ry  = m_ry.data;
  ty_ry = load('mat/data_012.mat', 'data'); ty_ry = ty_ry.data;

Analysis - Time Domain

First, we can look at the time domain data.

  figure;
  hold on;
  plot(m_ty(:, 3), m_ty(:, 1), 'DisplayName', 'Marble');
  plot(m_ty(:, 3), m_ty(:, 2), 'DisplayName', 'Ty');
  hold off;
  xlabel('Time [s]'); ylabel('Voltage [V]');
  legend('Location', 'northeast');
  xlim([0, 500]);
  <<plt-matlab>>

/tdehaeze/nass-micro-station-measurements/media/commit/251d39ffc315e7bbba1bf42992ca539f965cf181/static-measurements/figs/time_domain_m_ty.png

Time domain - Marble and translation stage
  figure;
  hold on;
  plot(m_ry(:, 3), m_ry(:, 1), 'DisplayName', 'Marble');
  plot(m_ry(:, 3), m_ry(:, 2), 'DisplayName', 'Ty');
  hold off;
  xlabel('Time [s]'); ylabel('Voltage [V]');
  legend('Location', 'northeast');
  xlim([0, 500]);
  <<plt-matlab>>

/tdehaeze/nass-micro-station-measurements/media/commit/251d39ffc315e7bbba1bf42992ca539f965cf181/static-measurements/figs/time_domain_m_ry.png

Time domain - Marble and tilt stage
  figure;
  hold on;
  plot(ty_ry(:, 3), ty_ry(:, 1), 'DisplayName', 'Ty');
  plot(ty_ry(:, 3), ty_ry(:, 2), 'DisplayName', 'Ry');
  hold off;
  xlabel('Time [s]'); ylabel('Voltage [V]');
  legend('Location', 'northeast');
  xlim([0, 500]);
  <<plt-matlab>>

/tdehaeze/nass-micro-station-measurements/media/commit/251d39ffc315e7bbba1bf42992ca539f965cf181/static-measurements/figs/time_domain_ty_ry.png

Time domain - Translation stage and tilt stage

Analysis - Frequency Domain

  dt = m_ty(2, 3) - m_ty(1, 3);

  Fs = 1/dt;
  win = hanning(ceil(1*Fs));

First, we compute the transfer function estimate between the two geophones for the 3 experiments (figure fig:compare_tf_geophones). We also plot their coherence (figure fig:coherence_two_geophones).

  [T_m_ty,  f] = tfestimate(m_ty(:, 1),  m_ty(:, 2),  win, [], [], Fs);
  [T_m_ry,  ~] = tfestimate(m_ry(:, 1),  m_ry(:, 2),  win, [], [], Fs);
  [T_ty_ry, ~] = tfestimate(ty_ry(:, 1), ty_ry(:, 2), win, [], [], Fs);
  figure;
  ax1 = subplot(2, 1, 1);
  hold on;
  plot(f, abs(T_m_ty),  'DisplayName', 'Marble - Ty');
  plot(f, abs(T_m_ry),  'DisplayName', 'Marble - Ry');
  plot(f, abs(T_ty_ry), 'DisplayName', 'Ty - Ry');
  hold off;
  set(gca, 'xscale', 'log'); set(gca, 'yscale', 'log');
  set(gca, 'XTickLabel',[]);
  ylabel('Magnitude');
  legend('Location', 'northwest');

  ax2 = subplot(2, 1, 2);
  hold on;
  plot(f, mod(180+180/pi*phase(T_m_ty),  360)-180);
  plot(f, mod(180+180/pi*phase(T_m_ry),  360)-180);
  plot(f, mod(180+180/pi*phase(T_ty_ry), 360)-180);
  hold off;
  set(gca, 'xscale', 'log');
  ylim([-180, 180]);
  yticks([-180, -90, 0, 90, 180]);
  xlabel('Frequency [Hz]'); ylabel('Phase');

  linkaxes([ax1,ax2],'x');
  xlim([10, 500]);
  <<plt-matlab>>

/tdehaeze/nass-micro-station-measurements/media/commit/251d39ffc315e7bbba1bf42992ca539f965cf181/static-measurements/figs/compare_tf_geophones.png

Transfer function from the first geophone to the second geophone for the three experiments
  [coh_m_ty,  f] = mscohere(m_ty(:, 1),  m_ty(:, 2),  win, [], [], Fs);
  [coh_m_ry,  ~] = mscohere(m_ry(:, 1),  m_ry(:, 2),  win, [], [], Fs);
  [coh_ty_ry, ~] = mscohere(ty_ry(:, 1), ty_ry(:, 2), win, [], [], Fs);
  <<plt-matlab>>

/tdehaeze/nass-micro-station-measurements/media/commit/251d39ffc315e7bbba1bf42992ca539f965cf181/static-measurements/figs/coherence_two_geophones.png

Coherence between the two geophones for the three experiments

Conclusion