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:
- Section 1: the test-bench used is described
- Section 2: the noise spectral density of the encoder is estimated
- Section 3: the dynamics from the amplified piezoelectric actuator to the encoder measured displacement is identified
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.
Figure 1: Schematic of the Experiment
Figure 2: Side View of the encoder
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
Figure 4: Huddle test - Time domain signals
G_lpf = 1/(1 + s/2/pi/10);
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);
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);