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 args.Gs (1,1) double {mustBeNumeric} = 0
% For 2DoF % For 2DoF
args.k (6,1) double {mustBeNumeric, mustBePositive} = ones(6,1)*0.38e6 args.k (6,1) double {mustBeNumeric, mustBePositive} = ones(6,1)*380000
args.ke (6,1) double {mustBeNumeric, mustBePositive} = ones(6,1)*1.75e6 args.ke (6,1) double {mustBeNumeric, mustBePositive} = ones(6,1)*4952605
args.ka (6,1) double {mustBeNumeric, mustBePositive} = ones(6,1)*3e7 args.ka (6,1) double {mustBeNumeric, mustBePositive} = ones(6,1)*2476302
args.c (6,1) double {mustBeNumeric, mustBePositive} = ones(6,1)*3e1 args.c (6,1) double {mustBeNumeric, mustBePositive} = ones(6,1)*20
args.ce (6,1) double {mustBeNumeric, mustBePositive} = ones(6,1)*2e1 args.ce (6,1) double {mustBeNumeric, mustBePositive} = ones(6,1)*200
args.ca (6,1) double {mustBeNumeric, mustBePositive} = ones(6,1)*2e1 args.ca (6,1) double {mustBeNumeric, mustBePositive} = ones(6,1)*100
args.Leq (6,1) double {mustBeNumeric} = ones(6,1)*0.056 args.Leq (6,1) double {mustBeNumeric} = ones(6,1)*0.056
@ -52,11 +52,11 @@ end
if args.Ga == 0 if args.Ga == 0
switch args.type switch args.type
case '2dof' case '2dof'
actuator.Ga = -30.0; actuator.Ga = -2.5796;
case 'flexible frame' case 'flexible frame'
actuator.Ga = 1; % TODO actuator.Ga = 1; % TODO
case 'flexible' case 'flexible'
actuator.Ga = 23.4; actuator.Ga = 23.2;
end end
else else
actuator.Ga = args.Ga; % Actuator gain [N/V] actuator.Ga = args.Ga; % Actuator gain [N/V]
@ -65,11 +65,11 @@ end
if args.Gs == 0 if args.Gs == 0
switch args.type switch args.type
case '2dof' case '2dof'
actuator.Gs = 0.098; actuator.Gs = 466664;
case 'flexible frame' case 'flexible frame'
actuator.Gs = 1; % TODO actuator.Gs = 1; % TODO
case 'flexible' case 'flexible'
actuator.Gs = -4674824; actuator.Gs = -4898341;
end end
else else
actuator.Gs = args.Gs; % Sensor gain [V/m] 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. 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 #+name: fig:test_apa_received
#+attr_latex: :width 0.7\linewidth #+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_e$ | $200\,Ns/m$ |
| $c_a$ | $100\,Ns/m$ | | $c_a$ | $100\,Ns/m$ |
| $g_a$ | $-2.58\,N/V$ | | $g_a$ | $-2.58\,N/V$ |
| $g_s$ | $4.6\,V/\mu m$ | | $g_s$ | $0.46\,V/\mu m$ |
** Obtained Dynamics ** Obtained Dynamics
<<ssec:test_apa_2dof_model_result>> <<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 #+begin_src matlab
%% 2DoF APA300ML with optimized parameters %% 2DoF APA300ML with optimized parameters
n_hexapod = struct(); n_hexapod = struct();
n_hexapod.actuator = initializeAPA(... n_hexapod.actuator = initializeAPA( ...
'type', '2dof', ... 'type', '2dof', ...
'k', k1, ... 'k', k1, ...
'ka', ka, ... 'ka', ka, ...
@ -1598,7 +1599,7 @@ n = 160; % Number of layers per stack
eT = 4500*8.854e-12; % Permittivity under constant stress [F/m] eT = 4500*8.854e-12; % Permittivity under constant stress [F/m]
sD = 21e-12; % Compliance under constant electric displacement [m2/N] 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) %% Estimate "Actuator Constant" - (THP5H)
d33 = 680e-12; % Strain constant [m/V] 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] L = 40e-3; % Length of the two stacks [m]
ka = cE*A/L; % Stiffness of the two stacks [N/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 #+end_src
** Comparison of the obtained dynamics ** Comparison of the obtained dynamics
@ -1813,13 +1814,13 @@ arguments
args.Gs (1,1) double {mustBeNumeric} = 0 args.Gs (1,1) double {mustBeNumeric} = 0
% For 2DoF % For 2DoF
args.k (6,1) double {mustBeNumeric, mustBePositive} = ones(6,1)*0.38e6 args.k (6,1) double {mustBeNumeric, mustBePositive} = ones(6,1)*380000
args.ke (6,1) double {mustBeNumeric, mustBePositive} = ones(6,1)*1.75e6 args.ke (6,1) double {mustBeNumeric, mustBePositive} = ones(6,1)*4952605
args.ka (6,1) double {mustBeNumeric, mustBePositive} = ones(6,1)*3e7 args.ka (6,1) double {mustBeNumeric, mustBePositive} = ones(6,1)*2476302
args.c (6,1) double {mustBeNumeric, mustBePositive} = ones(6,1)*3e1 args.c (6,1) double {mustBeNumeric, mustBePositive} = ones(6,1)*20
args.ce (6,1) double {mustBeNumeric, mustBePositive} = ones(6,1)*2e1 args.ce (6,1) double {mustBeNumeric, mustBePositive} = ones(6,1)*200
args.ca (6,1) double {mustBeNumeric, mustBePositive} = ones(6,1)*2e1 args.ca (6,1) double {mustBeNumeric, mustBePositive} = ones(6,1)*100
args.Leq (6,1) double {mustBeNumeric} = ones(6,1)*0.056 args.Leq (6,1) double {mustBeNumeric} = ones(6,1)*0.056
@ -1869,11 +1870,11 @@ end
if args.Ga == 0 if args.Ga == 0
switch args.type switch args.type
case '2dof' case '2dof'
actuator.Ga = -30.0; actuator.Ga = -2.5796;
case 'flexible frame' case 'flexible frame'
actuator.Ga = 1; % TODO actuator.Ga = 1; % TODO
case 'flexible' case 'flexible'
actuator.Ga = 23.4; actuator.Ga = 23.2;
end end
else else
actuator.Ga = args.Ga; % Actuator gain [N/V] actuator.Ga = args.Ga; % Actuator gain [N/V]
@ -1884,11 +1885,11 @@ end
if args.Gs == 0 if args.Gs == 0
switch args.type switch args.type
case '2dof' case '2dof'
actuator.Gs = 0.098; actuator.Gs = 466664;
case 'flexible frame' case 'flexible frame'
actuator.Gs = 1; % TODO actuator.Gs = 1; % TODO
case 'flexible' case 'flexible'
actuator.Gs = -4674824; actuator.Gs = -4898341;
end end
else else
actuator.Gs = args.Gs; % Sensor gain [V/m] actuator.Gs = args.Gs; % Sensor gain [V/m]