From 35338eae9d896236fb5e22c3d1d571011809b039 Mon Sep 17 00:00:00 2001 From: Unknown Date: Fri, 27 Apr 2018 11:47:01 +0200 Subject: [PATCH] Add file (WIP) --- Design_Nass.m | 83 ++++++++++++++++++++++++++++++++++++++++ Test.m => Formule_Nass.m | 2 +- 2 files changed, 84 insertions(+), 1 deletion(-) create mode 100644 Design_Nass.m rename Test.m => Formule_Nass.m (96%) diff --git a/Design_Nass.m b/Design_Nass.m new file mode 100644 index 0000000..cc559fb --- /dev/null +++ b/Design_Nass.m @@ -0,0 +1,83 @@ +run Formule_Nass.m + +%% Bottom Plate +BP = struct(); +BP.rad.int = 105 ; %mm +BP.rad.ext = 152.5 ; %mm +BP.leg.rad = 140 ; %mm +BP.leg.ang = 2.5 ; %deg +BP.density = 1000 ; %kg/m^3 +BP.k.ax = 1e7/4; %z +BP.k.rad = 9e9/4; %x +BP.k.rrad = 9e9/4; %y +BP.ksi.ax = 10; +BP.ksi.rad = 10; +BP.ksi.rrad = 10; +BP = updateDamping(BP); + + +%% Tilt +ry = struct(); +ry.m = smiData.Solid(26).mass+smiData.Solid(18).mass+smiData.Solid(10).mass; +ry.k.h = 357e6/4; %y +ry.k.rad = 555e6/4; %x +ry.k.rrad = 238e6/4; %z +ry.k.tilt = 1e4 ; % rz in actuator +ry.ksi.h = 10; +ry.ksi.rad = 10; +ry.ksi.rrad = 10; +ry.ksi.tilt = 10; +ry = updateDamping(ry); + + +%% Spindle +rz = struct(); +rz.m = smiData.Solid(12).mass+6*smiData.Solid(20).mass+smiData.Solid(19).mass; +rz.k.ax = 2e9; %x +rz.k.rad = 7e8; %z +rz.k.rrad = 7e8; %y +rz.k.tilt = 1e5; +rz.k.rot = 1e5; +rz.ksi.ax = 10; +rz.ksi.rad = 10; +rz.ksi.rrad = 10; +rz.ksi.tilt = 1; +rz.ksi.rot = 1; +rz = updateDamping(rz); + +%% Hexapod Symétrie +hexapod = struct(); +hexapod.m = smiData.Solid(16).mass; +hexapod.k.ax = (138e6/6)*1.2; %z +hexapod.ksi.ax = 10; +hexapod = updateDamping(hexapod); + +%% Axis Corrector +axisc = struct(); +axisc.m = smiData.Solid(30).mass; +axisc.k.ax = 1; % (N*m/deg)) +axisc.ksi.ax = 1; +axisc = updateDamping(axisc); + +%% NASS +nass = struct(); +nass.m = smiData.Solid(27).mass; +nass.k.ax = 5e7; %z +nass.ksi.ax = 10; +nass = updateDamping(nass); + +%% Wobble +wob = struct(); +wob.m = smiData.Solid(5).mass; +wob.k.ax = 1e10; +wob.ksi.ax = 10; +wob = updateDamping(wob); + +%% +function element = updateDamping(element) + field = fieldnames(element.k); + for i = 1:length(field) + element.c.(field{i}) = 1/element.ksi.(field{i})*sqrt(element.k.(field{i})/element.m); + end +end + diff --git a/Test.m b/Formule_Nass.m similarity index 96% rename from Test.m rename to Formule_Nass.m index 767c7d9..416079a 100644 --- a/Test.m +++ b/Formule_Nass.m @@ -7,7 +7,7 @@ z_axis = [0 0 1]; % of the base plate pos_base = []; pos_top = []; -alpha_b = 90*deg2rad; % angle de décalage par rapport à 120 deg (pour positionner les supports bases) +alpha_b = BP.leg.ang*deg2rad; % angle de décalage par rapport à 120 deg (pour positionner les supports bases) alpha_t = -30*deg2rad; % +- offset angle from 120 degree spacing on top height = 0.10; % 2 meter height in home configuration radius_b = 0.130; % rayon emplacement support base