diff --git a/index.html b/index.html index b81e946..5b1c3c8 100644 --- a/index.html +++ b/index.html @@ -3,7 +3,7 @@ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> - + Encoder - Test Bench @@ -25,55 +25,59 @@ -
+
+ UP + | + HOME +

Encoder - Test Bench

-
-

1 Experimental Setup

+
+

1 Experimental Setup

-The experimental Setup is schematically represented in Figure 1. +The experimental Setup is schematically represented in Figure 1.

@@ -82,21 +86,21 @@ The displacement of the mass (relative to the mechanical frame) is measured both

-
+

exp_setup_schematic.png

Figure 1: Schematic of the Experiment

-
+

IMG_20201023_153905.jpg

Figure 2: Side View of the encoder

-
+

IMG_20201023_153914.jpg

Figure 3: Front View of the encoder

@@ -104,8 +108,8 @@ The displacement of the mass (relative to the mechanical frame) is measured both
-
-

2 Huddle Test

+
+

2 Huddle Test

The goal in this section is the estimate the noise of both the encoder and the intereferometer. @@ -117,8 +121,8 @@ Ideally, a mechanical part would clamp the two together, we here suppose that th

-
-

2.1 Load Data

+
+

2.1 Load Data

load('mat/int_enc_huddle_test.mat', 'interferometer', 'encoder', 't');
@@ -133,11 +137,11 @@ encoder = detrend(encoder, 0);
 
-
-

2.2 Time Domain Results

+
+

2.2 Time Domain Results

-
+

huddle_test_time_domain.png

Figure 4: Huddle test - Time domain signals

@@ -149,7 +153,7 @@ encoder = detrend(encoder, 0);
-
+

huddle_test_time_domain_filtered.png

Figure 5: Huddle test - Time domain signals filtered with a LPF at 10Hz

@@ -157,8 +161,8 @@ encoder = detrend(encoder, 0);
-
-

2.3 Frequency Domain Noise

+
+

2.3 Frequency Domain Noise

Ts = 1e-4;
@@ -170,7 +174,7 @@ win = hann(ceil(10/Ts));
 
-
+

huddle_test_asd.png

Figure 6: Amplitude Spectral Density of the signals during the Huddle test

@@ -179,8 +183,8 @@ win = hann(ceil(10/Ts));
-
-

3 Comparison Interferometer / Encoder

+
+

3 Comparison Interferometer / Encoder

The goal here is to make sure that the interferometer and encoder measurements are coherent. @@ -188,8 +192,8 @@ We may see non-linearity in the interferometric measurement.

-
-

3.1 Load Data

+
+

3.1 Load Data

load('mat/int_enc_comp.mat', 'interferometer', 'encoder', 'u', 't');
@@ -205,18 +209,18 @@ u = detrend(u, 0);
 
-
-

3.2 Time Domain Results

+
+

3.2 Time Domain Results

-
+

int_enc_one_cycle.png

Figure 7: One cycle measurement

-
+

int_enc_one_cycle_error.png

Figure 8: Difference between the Encoder and the interferometer during one cycle

@@ -224,8 +228,8 @@ u = detrend(u, 0);
-
-

3.3 Difference between Encoder and Interferometer as a function of time

+
+

3.3 Difference between Encoder and Interferometer as a function of time

Ts = 1e-4;
@@ -246,7 +250,7 @@ d_err_mean = d_err_mean - mean(d_err_mean);
 
-
+

int_enc_error_mean_time.png

Figure 9: Difference between the two measurement in the time domain, averaged for all the cycles

@@ -254,8 +258,8 @@ d_err_mean = d_err_mean - mean(d_err_mean);
-
-

3.4 Difference between Encoder and Interferometer as a function of position

+
+

3.4 Difference between Encoder and Interferometer as a function of position

Compute the mean of the interferometer measurement corresponding to each of the encoder measurement. @@ -274,7 +278,7 @@ i_mean_error = (i_mean - e_sorted);

-
+

int_enc_error_mean_position.png

Figure 10: Difference between the two measurement as a function of the measured position by the encoder, averaged for all the cycles

@@ -295,7 +299,7 @@ e_sorted_mean_over_period = mean(reshape(i_mean_error(i_init +

int_non_linearity_period_wavelength.png

Figure 11: Non-Linearity of the Interferometer over the period of the wavelength

@@ -304,12 +308,12 @@ e_sorted_mean_over_period = mean(reshape(i_mean_error(i_init -

4 Identification

+
+

4 Identification

-
-

4.1 Load Data

+
+

4.1 Load Data

load('mat/int_enc_id_noise_bis.mat', 'interferometer', 'encoder', 'u', 't');
@@ -325,8 +329,8 @@ u = detrend(u, 0);
 
-
-

4.2 Identification

+
+

4.2 Identification

Ts = 1e-4; % Sampling Time [s]
@@ -344,14 +348,14 @@ win = hann(ceil(10/Ts));
 
-
+

identification_dynamics_coherence.png

-
+

identification_dynamics_bode.png

@@ -359,12 +363,12 @@ win = hann(ceil(10/Ts));
-
-

5 Change of Stiffness due to Sensors stack being open/closed circuit

+
+

5 Change of Stiffness due to Sensors stack being open/closed circuit

-
-

5.1 Load Data

+
+

5.1 Load Data

oc = load('./mat/identification_open_circuit.mat', 't', 'encoder', 'u');
@@ -374,8 +378,8 @@ sc = load('./mat/identification_short_circuit.mat'
 
-
-

5.2 Transfer Functions

+
+

5.2 Transfer Functions

Ts = 1e-4; % Sampling Time [s]
@@ -393,26 +397,26 @@ win = hann(ceil(10/Ts));
 
-
+

stiffness_force_sensor_coherence.png

-
+

stiffness_force_sensor_bode.png

-
+

stiffness_force_sensor_bode_zoom.png

Figure 16: Zoom on the change of resonance

-
+

The change of resonance frequency / stiffness is very small and is not important here.

@@ -422,8 +426,8 @@ The change of resonance frequency / stiffness is very small and is not important
-
-

6 Generated Number of Charge / Voltage

+
+

6 Generated Number of Charge / Voltage

Two stacks are used as actuator (in parallel) and one stack is used as sensor. @@ -434,8 +438,8 @@ The amplifier gain is 20V/V (Cedrat LA75B).

-
-

6.1 Steps

+
+

6.1 Steps

load('./mat/force_sensor_steps.mat', 't', 'encoder', 'u', 'v');
@@ -455,7 +459,7 @@ xlabel('Time [s]'); ylabel(
+

force_sen_steps_time_domain.png

Figure 17: Time domain signal during the 3 actuator voltage steps

@@ -580,7 +584,7 @@ Rin = abs(mean(tau))/Cp; The input impedance of the Speedgoat’s ADC should then be close to \(1.5\,M\Omega\) (specified at \(1\,M\Omega\)).

-
+

How can we explain the voltage offset?

@@ -588,11 +592,11 @@ How can we explain the voltage offset?

-As shown in Figure 18 (taken from (Reza and Andrew 2006)), an input voltage offset is due to the input bias current \(i_n\). +As shown in Figure 18 (taken from (Reza and Andrew 2006)), an input voltage offset is due to the input bias current \(i_n\).

-
+

piezo_sensor_model_instrumentation.png

Figure 18: Model of a piezoelectric transducer (left) and instrumentation amplifier (right)

@@ -656,8 +660,8 @@ Which is much more acceptable.
-
-

6.2 Sinus

+
+

6.2 Sinus

load('./mat/force_sensor_sin.mat', 't', 'encoder', 'u', 'v');
@@ -670,11 +674,11 @@ t       = t(t>25);
 

-The driving voltage is a sinus at 0.5Hz centered on 3V and with an amplitude of 3V (Figure 19). +The driving voltage is a sinus at 0.5Hz centered on 3V and with an amplitude of 3V (Figure 19).

-
+

force_sensor_sin_u.png

Figure 19: Driving Voltage

@@ -694,11 +698,11 @@ The full stroke as measured by the encoder is:

-Its signal is shown in Figure 20. +Its signal is shown in Figure 20.

-
+

force_sensor_sin_encoder.png

Figure 20: Encoder measurement

@@ -709,7 +713,7 @@ The generated voltage by the stack is shown in Figure

-
+

force_sensor_sin_stack.png

Figure 21: Voltage measured on the stack used as a sensor

@@ -724,10 +728,10 @@ The capacitance of the stack is

-The corresponding generated charge is then shown in Figure 22. +The corresponding generated charge is then shown in Figure 22.

-
+

force_sensor_sin_charge.png

Figure 22: Generated Charge

@@ -735,7 +739,7 @@ The corresponding generated charge is then shown in Figure -The relation between the generated voltage and the measured displacement is almost linear as shown in Figure 23. +The relation between the generated voltage and the measured displacement is almost linear as shown in Figure 23.

@@ -744,7 +748,7 @@ The relation between the generated voltage and the measured displacement is almo
-
+

force_sensor_linear_relation.png

Figure 23: Almost linear relation between the relative displacement and the generated voltage

@@ -773,7 +777,7 @@ With a 16bits ADC, the resolution will then be equals to (in [nm]):

Author: Dehaeze Thomas

-

Created: 2020-10-29 jeu. 09:59

+

Created: 2020-10-29 jeu. 10:08

diff --git a/index.org b/index.org index 647de5c..a3426e7 100644 --- a/index.org +++ b/index.org @@ -4,6 +4,9 @@ #+EMAIL: dehaeze.thomas@gmail.com #+AUTHOR: Dehaeze Thomas +#+HTML_LINK_HOME: ../index.html +#+HTML_LINK_UP: ../index.html + #+HTML_HEAD: #+HTML_HEAD: #+HTML_HEAD: