22 KiB
Measurements On the Slip-Ring
- Effect of the rotation of the Slip-Ring - Noise
- Measure of the noise induced by the Slip-Ring using voltage amplifiers - Noise
- Measure of the noise induced by the Slip-Ring rotation - LPF added
We determine if the slip-ring add some noise to the signal when it is turning:
-
Section sec:meas_effect_sr:
- Noise is generated by the Speedgoat DAC and goes trough the slip-ring two times
- We measure the signal when it is OFF, ON but not turning and ON and turning
- However, the measurement is limited by the ADC noise
-
Section sec:meas_slip_ring:
- Voltage amplifiers are added, and the same measurements are done
- However, the voltage amplifiers are saturating because of high frequency noise
-
Section sec:meas_slip_ring_lpf:
- Low pass filter are added at the input of the voltage amplifier and the same measurement is done
Effect of the rotation of the Slip-Ring - Noise
<<sec:meas_effect_sr>>
ZIP file containing the data and matlab files ignore
All the files (data and Matlab scripts) are accessible here.
Measurement Description
Goal: The goal is to determine if the signal is altered when the spindle is rotating.
Setup: Random Signal is generated by one SpeedGoat DAC.
The signal going out of the DAC is split into two:
- one BNC cable is directly connected to one ADC of the SpeedGoat
- one BNC cable goes two times in the Slip-Ring (from bottom to top and then from top to bottom) and then is connected to one ADC of the SpeedGoat
All the stages are turned OFF except the Slip-Ring.
Measurements:
Data File | Description |
---|---|
mat/data_001.mat |
Slip-ring not turning but ON |
mat/data_002.mat |
Slip-ring turning at 1rpm |
For each measurement, the measured signals are:
Variable | Description |
---|---|
t |
Time vector |
x1 |
Direct signal |
x2 |
Signal going through the Slip-Ring |
Load data
We load the data of the z axis of two geophones.
sr_off = load('mat/data_001.mat', 't', 'x1', 'x2');
sr_on = load('mat/data_002.mat', 't', 'x1', 'x2');
Analysis
Let's first look at the signal produced by the DAC (figure fig:random_signal).
figure;
hold on;
plot(sr_on.t, sr_on.x1);
hold off;
xlabel('Time [s]'); ylabel('Voltage [V]');
xlim([0 10]);
<<plt-matlab>>
We now look at the difference between the signal directly measured by the ADC and the signal that goes through the slip-ring (figure fig:slipring_comp_signals).
figure;
hold on;
plot(sr_on.t, sr_on.x1 - sr_on.x2, 'DisplayName', 'Slip-Ring - $\omega = 1rpm$');
plot(sr_off.t, sr_off.x1 - sr_off.x2,'DisplayName', 'Slip-Ring off');
hold off;
xlabel('Time [s]'); ylabel('Voltage [V]');
xlim([0 10]);
legend('Location', 'northeast');
<<plt-matlab>>
dt = sr_on.t(2) - sr_on.t(1);
Fs = 1/dt; % [Hz]
win = hanning(ceil(1*Fs));
[pxx_on, f] = pwelch(sr_on.x1 - sr_on.x2, win, [], [], Fs);
[pxx_off, ~] = pwelch(sr_off.x1 - sr_off.x2, win, [], [], Fs);
<<plt-matlab>>
Conclusion
- The measurement is mostly limited by the resolution of the Speedgoat DAC (16bits over $\pm 10 V$)
- In section sec:meas_slip_ring, the same measurement is done but voltage amplifiers are added to amplify the noise
Measure of the noise induced by the Slip-Ring using voltage amplifiers - Noise
<<sec:meas_slip_ring>>
ZIP file containing the data and matlab files ignore
All the files (data and Matlab scripts) are accessible here.
Measurement Description
Goal:
- Determine the noise induced by the slip-ring when turned ON and when rotating
Setup:
- 0V is generated by one Speedgoat DAC
- Using a T, one part goes directly to one Speedgoat ADC
- The other part goes to the slip-ring 2 times and then to one voltage amplifier before going to the ADC
-
The parameters of the Voltage Amplifier are:
- gain of 80dB
- AC/DC option to AC (it adds an high pass filter at 1.5Hz at the input of the voltage amplifier)
- Output Low pass filter set at 1kHz
- Every stage of the station is OFF
First column: Direct measure Second column: Slip-ring measure
Measurements:
Data File | Description |
---|---|
mat/data_008.mat |
Slip-Ring OFF |
mat/data_009.mat |
Slip-Ring ON |
mat/data_010.mat |
Slip-Ring ON and omega=6rpm |
mat/data_011.mat |
Slip-Ring ON and omega=60rpm |
Each of the measurement mat
file contains one data
array with 3 columns:
Column number | Description |
---|---|
1 | Signal going directly to the ADC |
2 | Signal going through the Slip-Ring |
3 | Time |
Load data
We load the data of the z axis of two geophones.
sr_off = load('mat/data_008.mat', 'data'); sr_off = sr_off.data;
sr_on = load('mat/data_009.mat', 'data'); sr_on = sr_on.data;
sr_6r = load('mat/data_010.mat', 'data'); sr_6r = sr_6r.data;
sr_60r = load('mat/data_011.mat', 'data'); sr_60r = sr_60r.data;
Time Domain
We plot the time domain data for the direct measurement (figure fig:sr_direct_time) and for the signal going through the slip-ring (figure fig:sr_slipring_time);
<<plt-matlab>>
<<plt-matlab>>
Frequency Domain
We first compute some parameters that will be used for the PSD computation.
dt = sr_off(2, 3)-sr_off(1, 3);
Fs = 1/dt; % [Hz]
win = hanning(ceil(10*Fs));
Then we compute the Power Spectral Density using pwelch
function.
[pxdir, f] = pwelch(sr_off(:, 1), win, [], [], Fs);
[pxoff, ~] = pwelch(sr_off(:, 2), win, [], [], Fs);
[pxon, ~] = pwelch(sr_on(:, 2), win, [], [], Fs);
[px6r, ~] = pwelch(sr_6r(:, 2), win, [], [], Fs);
[px60r, ~] = pwelch(sr_60r(:, 2), win, [], [], Fs);
And we plot the ASD of the measured signals (figure fig:sr_psd_compare);
figure;
hold on;
plot(f, sqrt(pxoff), 'DisplayName', 'OFF');
plot(f, sqrt(pxon), 'DisplayName', 'ON');
plot(f, sqrt(px6r), 'DisplayName', '6rpm');
plot(f, sqrt(px60r), 'DisplayName', '60rpm');
plot(f, sqrt(pxdir), 'k-', 'DisplayName', 'Direct');
hold off;
set(gca, 'xscale', 'log');
set(gca, 'yscale', 'log');
xlabel('Frequency [Hz]'); ylabel('ASD of the measured Voltage $\left[\frac{V}{\sqrt{Hz}}\right]$')
legend('Location', 'northeast');
xlim([0.1, 500]);
<<plt-matlab>>
Questions:
- Why is there some sharp peaks? Can this be due to aliasing?
- It is possible that the amplifiers were saturating during the measurements. This saturation could be due to high frequency noise.
Conclusion
- The measurements are re-done using an additional low pass filter at the input of the voltage amplifier
Measure of the noise induced by the Slip-Ring rotation - LPF added
<<sec:meas_slip_ring_lpf>>
ZIP file containing the data and matlab files ignore
All the files (data and Matlab scripts) are accessible here.
Measurement description
Setup ignore
Setup: Voltage amplifier:
- 60db
- AC
- 1kHz
Additionnal LPF at 1kHz
Goal ignore
Goal:
Measurements ignore
Measurements:
Three measurements are done:
Measurement File | Description |
---|---|
mat/data_030.mat |
All off |
mat/data_031.mat |
Slip-Ring on |
mat/data_032.mat |
Slip-Ring 6rpm |
mat/data_033.mat |
Slip-Ring 60rpm |
Each of the measurement mat
file contains one data
array with 3 columns:
Column number | Description |
---|---|
1 | Direct Measure |
2 | Slip-Ring |
3 | Time |
Load data
We load the data of the z axis of two geophones.
sr_of = load('mat/data_030.mat', 'data'); sr_of = sr_of.data;
sr_on = load('mat/data_031.mat', 'data'); sr_on = sr_on.data;
sr_6r = load('mat/data_032.mat', 'data'); sr_6r = sr_6r.data;
sr_60 = load('mat/data_033.mat', 'data'); sr_60 = sr_60.data;
Time Domain
We plot the time domain data for the direct measurement (figure fig:sr_direct_1khz_time) and for the signal going through the slip-ring (figure fig:sr_slipring_1khz_time);
<<plt-matlab>>
xlim([0, 0.2]); ylim([-2e-3, 2e-3]);
<<plt-matlab>>
<<plt-matlab>>
Frequency Domain - Direct Signal
We first compute some parameters that will be used for the PSD computation.
dt = sr_of(2, 3)-sr_of(1, 3);
Fs = 1/dt; % [Hz]
win = hanning(ceil(10*Fs));
Then we compute the Power Spectral Density using pwelch
function.
[px_d_of, f] = pwelch(sr_of(:, 1), win, [], [], Fs);
[px_d_on, ~] = pwelch(sr_on(:, 1), win, [], [], Fs);
[px_d_6r, ~] = pwelch(sr_6r(:, 1), win, [], [], Fs);
[px_d_60, ~] = pwelch(sr_60(:, 1), win, [], [], Fs);
figure;
hold on;
plot(f, sqrt(px_d_of), 'DisplayName', 'OFF');
plot(f, sqrt(px_d_on), 'DisplayName', 'ON');
plot(f, sqrt(px_d_6r), 'DisplayName', '6rpm');
plot(f, sqrt(px_d_60), 'DisplayName', '60rpm');
hold off;
set(gca, 'xscale', 'log');
set(gca, 'yscale', 'log');
xlabel('Frequency [Hz]'); ylabel('ASD of the measured Voltage $\left[\frac{V}{\sqrt{Hz}}\right]$')
legend('Location', 'northeast');
xlim([0.1, 5000]);
<<plt-matlab>>
Frequency Domain - Slip-Ring Signal
[px_sr_of, f] = pwelch(sr_of(:, 2), win, [], [], Fs);
[px_sr_on, ~] = pwelch(sr_on(:, 2), win, [], [], Fs);
[px_sr_6r, ~] = pwelch(sr_6r(:, 2), win, [], [], Fs);
[px_sr_60, ~] = pwelch(sr_60(:, 2), win, [], [], Fs);
figure;
hold on;
plot(f, sqrt(px_sr_of), 'DisplayName', 'OFF');
plot(f, sqrt(px_sr_on), 'DisplayName', 'ON');
plot(f, sqrt(px_sr_6r), 'DisplayName', '6rpm');
plot(f, sqrt(px_sr_60), 'DisplayName', '60rpm');
plot(f, sqrt(px_d_of), '-k', 'DisplayName', 'Direct');
hold off;
set(gca, 'xscale', 'log');
set(gca, 'yscale', 'log');
xlabel('Frequency [Hz]'); ylabel('ASD of the measured Voltage $\left[\frac{V}{\sqrt{Hz}}\right]$')
legend('Location', 'northeast');
xlim([0.1, 5000]);
<<plt-matlab>>
Conclusion
- We observe peaks at 12Hz and its harmonics for the signal going through the slip-ring when it is turning at 60rpm.
- Apart from that, the noise of the signal is the same when the slip-ring is off/on and turning
- The noise of the signal going through the slip-ring is much higher that the direct signal from the DAC to the ADC
- A peak is obverse at 11.5Hz on the direct signal as soon as the slip-ring is turned ON. Can this be due to high frequency noise and Aliasing? As there is no LPF to filter the noise on the direct signal, this effect could be more visible on the direct signal.