UP | HOME

Encoder - Test Bench

Table of Contents

In this document, we wish to study the use of an encoder in parallel with an Amplified Piezoelectric Actuator.

The document is divided into the following Sections:

1 Experimental Setup

The experimental Setup is schematically represented in Figure 1.

The mass can be vertically moved using the amplified piezoelectric actuator. The displacement of the mass (relative to the mechanical frame) is measured both by the interferometer and by an encoder.

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

2 Noise Spectral Density of the Encoder

The goal in this section is the estimate the noise of both the encoder and the intereferometer.

Nothing is then to the actuator such that the relative motion between the mass and the frame is as small as possible. Ideally, a mechanical part would clamp the two together, we here suppose that the APA is still enough to clamp the two together.

2.1 Load Data

load('mat/int_enc_huddle_test.mat', 'interferometer', 'encoder', 't');
interferometer = detrend(interferometer, 0);
encoder = detrend(encoder, 0);

2.2 Time Domain Results

huddle_test_time_domain.png

Figure 4: Huddle test - Time domain signals

G_lpf = 1/(1 + s/2/pi/10);

huddle_test_time_domain_filtered.png

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

2.3 Frequency Domain Noise

Ts = 1e-4;
win = hann(ceil(10/Ts));

[p_i, f] = pwelch(interferometer, win, [], [], 1/Ts);
[p_e, ~] = pwelch(encoder,        win, [], [], 1/Ts);

huddle_test_asd.png

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

3 Dynamics from Actuator to Encoder

3.1 Load Data

load('mat/int_enc_id_noise_bis.mat', 'interferometer', 'encoder', 'u', 't');
interferometer = detrend(interferometer, 0);
encoder = detrend(encoder, 0);
u = detrend(u, 0);

3.2 Identification

Ts = 1e-4; % Sampling Time [s]
win = hann(ceil(10/Ts));
[tf_i_est, f] = tfestimate(u, interferometer, win, [], [], 1/Ts);
[co_i_est, ~] = mscohere(u, interferometer, win, [], [], 1/Ts);

[tf_e_est, ~] = tfestimate(u, encoder, win, [], [], 1/Ts);
[co_e_est, ~] = mscohere(u, encoder, win, [], [], 1/Ts);

identification_dynamics_coherence.png

identification_dynamics_bode.png

Author: Dehaeze Thomas

Created: 2020-11-10 mar. 10:42