UP | HOME

Amplified Piezoelectric Stack Actuator

Table of Contents

The presented model is based on souleille18_concep_activ_mount_space_applic.

The model represents the amplified piezo APA100M from Cedrat-Technologies (Figure 1). The parameters are shown in the table below.

souleille18_model_piezo.png

Figure 1: Picture of an APA100M from Cedrat Technologies. Simplified model of a one DoF payload mounted on such isolator

Table 1: Parameters used for the model of the APA 100M
  Value Meaning
\(m\) \(1\,[kg]\) Payload mass
\(k_e\) \(4.8\,[N/\mu m]\) Stiffness used to adjust the pole of the isolator
\(k_1\) \(0.96\,[N/\mu m]\) Stiffness of the metallic suspension when the stack is removed
\(k_a\) \(65\,[N/\mu m]\) Stiffness of the actuator
\(c_1\) \(10\,[N/(m/s)]\) Added viscous damping

1 Simplified Model

1.1 Parameters

m = 1; % [kg]

ke = 4.8e6; % [N/m]
ce = 5; % [N/(m/s)]
me = 0.001; % [kg]

k1 = 0.96e6; % [N/m]
c1 = 10; % [N/(m/s)]

ka = 65e6; % [N/m]
ca = 5; % [N/(m/s)]
ma = 0.001; % [kg]

h = 0.2; % [m]

IFF Controller:

Kiff = -8000/s;

1.2 Identification

Identification in open-loop.

%% Name of the Simulink File
mdl = 'amplified_piezo_model';

%% Input/Output definition
clear io; io_i = 1;
io(io_i) = linio([mdl, '/w'],  1, 'openinput');  io_i = io_i + 1; % Base Motion
io(io_i) = linio([mdl, '/f'],  1, 'openinput');  io_i = io_i + 1; % Actuator Inputs
io(io_i) = linio([mdl, '/F'],  1, 'openinput');  io_i = io_i + 1; % External Force

io(io_i) = linio([mdl, '/Fs'], 3, 'openoutput'); io_i = io_i + 1; % Force Sensors
io(io_i) = linio([mdl, '/x1'], 1, 'openoutput'); io_i = io_i + 1; % Mass displacement

G = linearize(mdl, io, 0);
G.InputName  = {'w', 'f', 'F'};
G.OutputName = {'Fs', 'x1'};

Identification in closed-loop.

%% Name of the Simulink File
mdl = 'amplified_piezo_model';

%% Input/Output definition
clear io; io_i = 1;
io(io_i) = linio([mdl, '/w'],  1, 'input');  io_i = io_i + 1; % Base Motion
io(io_i) = linio([mdl, '/f'],  1, 'input');  io_i = io_i + 1; % Actuator Inputs
io(io_i) = linio([mdl, '/F'],  1, 'input');  io_i = io_i + 1; % External Force

io(io_i) = linio([mdl, '/Fs'], 3, 'output'); io_i = io_i + 1; % Force Sensors
io(io_i) = linio([mdl, '/x1'], 1, 'output'); io_i = io_i + 1; % Mass displacement

Giff = linearize(mdl, io, 0);
Giff.InputName  = {'w', 'f', 'F'};
Giff.OutputName = {'Fs', 'x1'};

amplified_piezo_tf_ol_and_cl.png

Figure 2: Matrix of transfer functions from input to output in open loop (blue) and closed loop (red)

1.3 Root Locus

amplified_piezo_root_locus.png

Figure 3: Root Locus

2 Rotating X-Y platform

2.1 Parameters

m = 1; % [kg]

ke = 4.8e6; % [N/m]
ce = 5; % [N/(m/s)]
me = 0.001; % [kg]

k1 = 0.96e6; % [N/m]
c1 = 10; % [N/(m/s)]

ka = 65e6; % [N/m]
ca = 5; % [N/(m/s)]
ma = 0.001; % [kg]

h = 0.2; % [m]
Kiff = tf(0);

2.2 Identification

Rotating speed in rad/s:

Ws = 2*pi*[0, 1, 10, 100];
Gs = {zeros(length(Ws), 1)};

Identification in open-loop.

%% Name of the Simulink File
mdl = 'amplified_piezo_xy_rotating_stage';

%% Input/Output definition
clear io; io_i = 1;
io(io_i) = linio([mdl, '/fx'],  1, 'openinput');  io_i = io_i + 1;
io(io_i) = linio([mdl, '/fy'],  1, 'openinput');  io_i = io_i + 1;

io(io_i) = linio([mdl, '/Fs'], 1, 'openoutput'); io_i = io_i + 1;
io(io_i) = linio([mdl, '/Fs'], 2, 'openoutput'); io_i = io_i + 1;

for i = 1:length(Ws)
    ws = Ws(i);
    G = linearize(mdl, io, 0);
    G.InputName  = {'fx', 'fy'};
    G.OutputName = {'Fsx', 'Fsy'};
    Gs(i) = {G};
end

amplitifed_piezo_xy_rotation_plant_iff.png

Figure 4: Transfer function matrix from forces to force sensors for multiple rotation speed

2.3 Root Locus

amplified_piezo_xy_rotation_root_locus.png

Figure 5: Root locus for 3 rotating speed

2.4 Analysis

The negative stiffness induced by the rotation is equal to \(m \omega_0^2\). Thus, the maximum rotation speed where IFF can be applied is: \[ \omega_\text{max} = \sqrt{\frac{k_1}{m}} \approx 156\,[Hz] \]

Let’s verify that.

Ws = 2*pi*[140, 160];

Identification

%% Name of the Simulink File
mdl = 'amplified_piezo_xy_rotating_stage';

%% Input/Output definition
clear io; io_i = 1;
io(io_i) = linio([mdl, '/fx'],  1, 'openinput');  io_i = io_i + 1;
io(io_i) = linio([mdl, '/fy'],  1, 'openinput');  io_i = io_i + 1;

io(io_i) = linio([mdl, '/Fs'], 1, 'openoutput'); io_i = io_i + 1;
io(io_i) = linio([mdl, '/Fs'], 2, 'openoutput'); io_i = io_i + 1;

for i = 1:length(Ws)
    ws = Ws(i);
    G = linearize(mdl, io, 0);
    G.InputName  = {'fx', 'fy'};
    G.OutputName = {'Fsx', 'Fsy'};
    Gs(i) = {G};
end

amplified_piezo_xy_rotating_unstable_root_locus.png

Figure 6: Root Locus for the two considered rotation speed. For the red curve, the system is unstable.

3 Stewart Platform with Amplified Actuators

3.1 Initialization

initializeGround();
initializeGranite();
initializeTy();
initializeRy();
initializeRz();
initializeMicroHexapod();
initializeAxisc();
initializeMirror();

initializeSimscapeConfiguration();
initializeDisturbances('enable', false);
initializeLoggingConfiguration('log', 'none');

initializeController('type', 'hac-iff');

We set the stiffness of the payload fixation:

Kp = 1e8; % [N/m]

3.2 Identification

K = tf(zeros(6));
Kiff = tf(zeros(6));

We identify the system for the following payload masses:

Ms = [1, 10, 50];

The nano-hexapod has the following leg’s stiffness and damping.

initializeNanoHexapod('actuator', 'amplified');

3.3 Controller Design

amplified_piezo_iff_loop_gain.png

Figure 7: Dynamics for the Integral Force Feedback for three payload masses

amplified_piezo_iff_root_locus.png

Figure 8: Root Locus for the IFF control for three payload masses

Damping as function of the gain

amplified_piezo_iff_damping_gain.png

Figure 9: Damping ratio of the poles as a function of the IFF gain

Finally, we use the following controller for the Decentralized Direct Velocity Feedback:

Kiff = -1e4/s*eye(6);

3.4 Effect of the Low Authority Control on the Primary Plant

amplified_piezo_iff_plant_damped_X.png

Figure 10: Primary plant in the task space with (dashed) and without (solid) IFF

amplified_piezo_iff_damped_plant_L.png

Figure 11: Primary plant in the space of the legs with (dashed) and without (solid) IFF

amplified_piezo_iff_damped_coupling_X.png

Figure 12: Coupling in the primary plant in the task with (dashed) and without (solid) IFF

amplified_piezo_iff_damped_coupling_L.png

Figure 13: Coupling in the primary plant in the space of the legs with (dashed) and without (solid) IFF

3.5 Effect of the Low Authority Control on the Sensibility to Disturbances

amplified_piezo_iff_disturbances.png

Figure 14: Norm of the transfer function from vertical disturbances to vertical position error with (dashed) and without (solid) Integral Force Feedback applied

Author: Dehaeze Thomas

Created: 2020-05-20 mer. 16:56