nass-simscape/cedrat-actuator/index.org

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$

/tdehaeze/nass-simscape/media/commit/9792a73065ee0d28ce9c25c3853dc1488c3b96e0/cedrat-actuator/figs/cedrat_geometry.png

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>>
/tdehaeze/nass-simscape/media/commit/9792a73065ee0d28ce9c25c3853dc1488c3b96e0/cedrat-actuator/figs/cedrat_piezo_identified_tf.png
Identified Transfer function (png, pdf)

Integral Force Feedback

  <<plt-matlab>>
/tdehaeze/nass-simscape/media/commit/9792a73065ee0d28ce9c25c3853dc1488c3b96e0/cedrat-actuator/figs/iff_plant_cedrat.png
Transfer function from $F$ to $F_m$ (png, pdf)
  K_iff = -100000/s*(s/2/pi/100)/(1 + s/2/pi/100)*(s/2/pi/100)/(1 + s/2/pi/100);
  <<plt-matlab>>
/tdehaeze/nass-simscape/media/commit/9792a73065ee0d28ce9c25c3853dc1488c3b96e0/cedrat-actuator/figs/iff_open_loop_cedrat.png
Open Loop Gain Transfer Function - Cedrat (png, pdf)

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>>
/tdehaeze/nass-simscape/media/commit/9792a73065ee0d28ce9c25c3853dc1488c3b96e0/cedrat-actuator/figs/cedrat_iff_piezo_identified_tf.png
Identified Transfer function (png, pdf)