11 KiB
11 KiB
Cedrat Actuator
Documentation
- Blocked force: $1400\ N$
- Stiffness: $10.8\ N/\mu m$
- Resonance (free-free): $6450\ Hz$
- Resonance (blocked-free): $1750\ Hz$
- Height: $H = 45\ mm$
- Length: $L = 80\ mm$
- Width: $22\ mm$
- Mass: $160\ g$
Parameters
cedrat.L = 80; % Total Width of the Actuator[mm]
cedrat.H = 45; % Total Height of the Actuator [mm]
cedrat.L2 = sqrt((cedrat.L/2)^2 + (cedrat.H/2)^2); % Length of the elipsoidal sections [mm]
cedrat.alpha = 180/pi*atan2(cedrat.L/2, cedrat.H/2); % [deg]
cedrat.mtot = 0.160; % Total mass of the Actuator [kg]
cedrat.m = cedrat.mtot/6; % Mass of each single element [kg]
cedrat.k = 1e9; % Linear Stiffness of each "blade" [N/m]
cedrat.c = 0.1*sqrt(cedrat.mtot*cedrat.k); % [N/(m/s)]
cedrat.ka = 5e7; % Linear Stiffness of the stack [N/m]
cedrat.ca = 0.1*sqrt(cedrat.mtot*cedrat.ka); % [N/(m/s)]
cedrat.kr = 10; % Rotation Stiffness [N*m/(deg)]
cedrat.cr = 0.0001; % Rotation Damping [N*m/(deg/s)]
K_iff = tf(0);
% dummy_mass = 140; % [kg]
dummy_mass = 1; % [kg]
Identification
%% Options for Linearized
options = linearizeOptions;
options.SampleTime = 0;
%% Name of the Simulink File
mdl = 'cedrat_piezo';
%% Input/Output definition
io(1) = linio([mdl, '/F'], 1, 'input');
io(2) = linio([mdl, '/Fz'], 1, 'input');
io(3) = linio([mdl, '/Dw'], 1, 'input');
io(4) = linio([mdl, '/Dz'], 1, 'output');
io(5) = linio([mdl, '/Fm'], 1, 'output');
%% Run the linearization
G = linearize(mdl, io, options);
G.InputName = {'F', 'Fz', 'Dw'};
G.OutputName = {'Dz', 'Fm'};
<<plt-matlab>>
Integral Force Feedback
<<plt-matlab>>
K_iff = -100000/s*(s/2/pi/100)/(1 + s/2/pi/100)*(s/2/pi/100)/(1 + s/2/pi/100);
<<plt-matlab>>
Damped System
%% Options for Linearized
options = linearizeOptions;
options.SampleTime = 0;
%% Name of the Simulink File
mdl = 'cedrat_piezo';
%% Input/Output definition
io(1) = linio([mdl, '/F'], 1, 'input');
io(2) = linio([mdl, '/Fz'], 1, 'input');
io(3) = linio([mdl, '/Dw'], 1, 'input');
io(4) = linio([mdl, '/Dz'], 1, 'output');
io(5) = linio([mdl, '/Fm'], 1, 'output');
%% Run the linearization
G_iff = linearize(mdl, io, options);
G_iff.InputName = {'F', 'Fz', 'Dw'};
G_iff.OutputName = {'Dz', 'Fm'};
<<plt-matlab>>