Add correct STEP file for APA

This commit is contained in:
Thomas Dehaeze 2024-03-25 18:12:00 +01:00
parent 3aa329a275
commit 79db77ba69
4 changed files with 2535 additions and 25 deletions

File diff suppressed because it is too large Load Diff

View File

@ -17,13 +17,13 @@ arguments
args.Gs (1,1) double {mustBeNumeric} = 0
% For 2DoF
args.k (6,1) double {mustBeNumeric, mustBePositive} = ones(6,1)*0.38e6
args.ke (6,1) double {mustBeNumeric, mustBePositive} = ones(6,1)*1.75e6
args.ka (6,1) double {mustBeNumeric, mustBePositive} = ones(6,1)*3e7
args.k (6,1) double {mustBeNumeric, mustBePositive} = ones(6,1)*380000
args.ke (6,1) double {mustBeNumeric, mustBePositive} = ones(6,1)*4952605
args.ka (6,1) double {mustBeNumeric, mustBePositive} = ones(6,1)*2476302
args.c (6,1) double {mustBeNumeric, mustBePositive} = ones(6,1)*3e1
args.ce (6,1) double {mustBeNumeric, mustBePositive} = ones(6,1)*2e1
args.ca (6,1) double {mustBeNumeric, mustBePositive} = ones(6,1)*2e1
args.c (6,1) double {mustBeNumeric, mustBePositive} = ones(6,1)*20
args.ce (6,1) double {mustBeNumeric, mustBePositive} = ones(6,1)*200
args.ca (6,1) double {mustBeNumeric, mustBePositive} = ones(6,1)*100
args.Leq (6,1) double {mustBeNumeric} = ones(6,1)*0.056
@ -52,11 +52,11 @@ end
if args.Ga == 0
switch args.type
case '2dof'
actuator.Ga = -30.0;
actuator.Ga = -2.5796;
case 'flexible frame'
actuator.Ga = 1; % TODO
case 'flexible'
actuator.Ga = 23.4;
actuator.Ga = 23.2;
end
else
actuator.Ga = args.Ga; % Actuator gain [N/V]
@ -65,11 +65,11 @@ end
if args.Gs == 0
switch args.type
case '2dof'
actuator.Gs = 0.098;
actuator.Gs = 466664;
case 'flexible frame'
actuator.Gs = 1; % TODO
case 'flexible'
actuator.Gs = -4674824;
actuator.Gs = -4898341;
end
else
actuator.Gs = args.Gs; % Sensor gain [V/m]

Binary file not shown.

View File

@ -116,8 +116,9 @@ Prefix for figures/section/tables =test_apa=
Verify that everything interesting to say about that is either done before in the thesis or in this report.
* Introduction :ignore:
** TODO [#B] A lieu d'identifier le plant et de tracer sur le root locus, tracer le plant dampé depuis le modèle et comparer a la mesure
* Introduction :ignore:
#+name: fig:test_apa_received
#+attr_latex: :width 0.7\linewidth
@ -1358,7 +1359,7 @@ The obtained parameters of the model shown in Figure ref:fig:test_apa_2dof_model
| $c_e$ | $200\,Ns/m$ |
| $c_a$ | $100\,Ns/m$ |
| $g_a$ | $-2.58\,N/V$ |
| $g_s$ | $4.6\,V/\mu m$ |
| $g_s$ | $0.46\,V/\mu m$ |
** Obtained Dynamics
<<ssec:test_apa_2dof_model_result>>
@ -1372,7 +1373,7 @@ This indicates that this model represents well the axial dynamics of the APA300M
#+begin_src matlab
%% 2DoF APA300ML with optimized parameters
n_hexapod = struct();
n_hexapod.actuator = initializeAPA(...
n_hexapod.actuator = initializeAPA( ...
'type', '2dof', ...
'k', k1, ...
'ka', ka, ...
@ -1598,7 +1599,7 @@ n = 160; % Number of layers per stack
eT = 4500*8.854e-12; % Permittivity under constant stress [F/m]
sD = 21e-12; % Compliance under constant electric displacement [m2/N]
gs = d33/(eT*sD*n); % Sensor Constant [V/m]
gs_th = d33/(eT*sD*n); % Sensor Constant [V/m]
%% Estimate "Actuator Constant" - (THP5H)
d33 = 680e-12; % Strain constant [m/V]
@ -1609,7 +1610,7 @@ A = (10e-3)^2; % Area of the stacks [m^2]
L = 40e-3; % Length of the two stacks [m]
ka = cE*A/L; % Stiffness of the two stacks [N/m]
ga = d33*n*ka; % Actuator Constant [N/V]
ga_th = d33*n*ka; % Actuator Constant [N/V]
#+end_src
** Comparison of the obtained dynamics
@ -1813,13 +1814,13 @@ arguments
args.Gs (1,1) double {mustBeNumeric} = 0
% For 2DoF
args.k (6,1) double {mustBeNumeric, mustBePositive} = ones(6,1)*0.38e6
args.ke (6,1) double {mustBeNumeric, mustBePositive} = ones(6,1)*1.75e6
args.ka (6,1) double {mustBeNumeric, mustBePositive} = ones(6,1)*3e7
args.k (6,1) double {mustBeNumeric, mustBePositive} = ones(6,1)*380000
args.ke (6,1) double {mustBeNumeric, mustBePositive} = ones(6,1)*4952605
args.ka (6,1) double {mustBeNumeric, mustBePositive} = ones(6,1)*2476302
args.c (6,1) double {mustBeNumeric, mustBePositive} = ones(6,1)*3e1
args.ce (6,1) double {mustBeNumeric, mustBePositive} = ones(6,1)*2e1
args.ca (6,1) double {mustBeNumeric, mustBePositive} = ones(6,1)*2e1
args.c (6,1) double {mustBeNumeric, mustBePositive} = ones(6,1)*20
args.ce (6,1) double {mustBeNumeric, mustBePositive} = ones(6,1)*200
args.ca (6,1) double {mustBeNumeric, mustBePositive} = ones(6,1)*100
args.Leq (6,1) double {mustBeNumeric} = ones(6,1)*0.056
@ -1869,11 +1870,11 @@ end
if args.Ga == 0
switch args.type
case '2dof'
actuator.Ga = -30.0;
actuator.Ga = -2.5796;
case 'flexible frame'
actuator.Ga = 1; % TODO
case 'flexible'
actuator.Ga = 23.4;
actuator.Ga = 23.2;
end
else
actuator.Ga = args.Ga; % Actuator gain [N/V]
@ -1884,11 +1885,11 @@ end
if args.Gs == 0
switch args.type
case '2dof'
actuator.Gs = 0.098;
actuator.Gs = 466664;
case 'flexible frame'
actuator.Gs = 1; % TODO
case 'flexible'
actuator.Gs = -4674824;
actuator.Gs = -4898341;
end
else
actuator.Gs = args.Gs; % Sensor gain [V/m]