diff --git a/cedrat-actuator/docs/Amplified_Piezo_Actuator_APA120ML-PP.pdf b/cedrat-actuator/docs/Amplified_Piezo_Actuator_APA120ML-PP.pdf new file mode 100644 index 0000000..5fd0c70 Binary files /dev/null and b/cedrat-actuator/docs/Amplified_Piezo_Actuator_APA120ML-PP.pdf differ diff --git a/cedrat-actuator/figs b/cedrat-actuator/figs new file mode 120000 index 0000000..8ea5186 --- /dev/null +++ b/cedrat-actuator/figs @@ -0,0 +1 @@ +../figs \ No newline at end of file diff --git a/cedrat-actuator/index.html b/cedrat-actuator/index.html new file mode 100644 index 0000000..b3ceb5d --- /dev/null +++ b/cedrat-actuator/index.html @@ -0,0 +1,445 @@ + + + + + + + +Cedrat Actuator + + + + + + + + + + + + + + + +
+ UP + | + HOME +
+

Cedrat Actuator

+
+

Table of Contents

+ +
+ +
+

1 Documentation

+
+
    +
  • Blocked force: \(1400\ N\)
  • +
  • Stiffness: \(10.8\ N/\mu m\)
  • +
  • Resonance (free-free): \(6450\ Hz\)
  • +
  • Resonance (blocked-free): \(1750\ Hz\)
  • +
  • Height: \(45\ mm\)
  • +
  • Length: \(80\ mm\)
  • +
  • Width: \(22\ mm\)
  • +
  • Mass: \(160\ g\)
  • +
+
+
+ +
+

2 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]
+
+
+
+
+ +
+

3 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'};
+
+
+ + +
+

cedrat_piezo_identified_tf.png +

+

Figure 1: Identified Transfer function (png, pdf)

+
+
+
+ +
+

4 Integral Force Feedback

+
+ +
+

iff_plant_cedrat.png +

+

Figure 2: 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);
+
+
+ + +
+

iff_open_loop_cedrat.png +

+

Figure 3: Open Loop Gain Transfer Function - Cedrat (png, pdf)

+
+
+
+ +
+

5 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'};
+
+
+ + +
+

cedrat_iff_piezo_identified_tf.png +

+

Figure 4: Identified Transfer function (png, pdf)

+
+
+
+
+
+

Author: Dehaeze Thomas

+

Created: 2019-10-29 mar. 10:51

+

Validate

+
+ + diff --git a/cedrat-actuator/index.org b/cedrat-actuator/index.org new file mode 100644 index 0000000..f7c42c3 --- /dev/null +++ b/cedrat-actuator/index.org @@ -0,0 +1,303 @@ +#+TITLE: Cedrat Actuator +:DRAWER: +#+STARTUP: overview + +#+LANGUAGE: en +#+EMAIL: dehaeze.thomas@gmail.com +#+AUTHOR: Dehaeze Thomas + +#+HTML_LINK_HOME: ../index.html +#+HTML_LINK_UP: ../index.html + +#+HTML_HEAD: +#+HTML_HEAD: +#+HTML_HEAD: +#+HTML_HEAD: +#+HTML_HEAD: +#+HTML_HEAD: +#+HTML_HEAD: + +#+HTML_MATHJAX: align: center tagside: right font: TeX + +#+PROPERTY: header-args:matlab :session *MATLAB* +#+PROPERTY: header-args:matlab+ :comments org +#+PROPERTY: header-args:matlab+ :results none +#+PROPERTY: header-args:matlab+ :exports both +#+PROPERTY: header-args:matlab+ :eval no-export +#+PROPERTY: header-args:matlab+ :output-dir figs +#+PROPERTY: header-args:matlab+ :tangle matlab/modal_frf_coh.m +#+PROPERTY: header-args:matlab+ :mkdirp yes + +#+PROPERTY: header-args:shell :eval no-export + +#+PROPERTY: header-args:latex :headers '("\\usepackage{tikz}" "\\usepackage{import}" "\\import{$HOME/Cloud/thesis/latex/}{config.tex}") +#+PROPERTY: header-args:latex+ :imagemagick t :fit yes +#+PROPERTY: header-args:latex+ :iminoptions -scale 100% -density 150 +#+PROPERTY: header-args:latex+ :imoutoptions -quality 100 +#+PROPERTY: header-args:latex+ :results raw replace :buffer no +#+PROPERTY: header-args:latex+ :eval no-export +#+PROPERTY: header-args:latex+ :exports both +#+PROPERTY: header-args:latex+ :mkdirp yes +#+PROPERTY: header-args:latex+ :output-dir figs +:END: + +* Documentation +- Blocked force: $1400\ N$ +- Stiffness: $10.8\ N/\mu m$ +- Resonance (free-free): $6450\ Hz$ +- Resonance (blocked-free): $1750\ Hz$ +- Height: $45\ mm$ +- Length: $80\ mm$ +- Width: $22\ mm$ +- Mass: $160\ g$ + +* Matlab Init :noexport:ignore: +#+begin_src matlab :tangle no :exports none :results silent :noweb yes :var current_dir=(file-name-directory buffer-file-name) + <> +#+end_src + +#+begin_src matlab :exports none :results silent :noweb yes + <> +#+end_src + +#+begin_src matlab :tangle no + simulinkproject('../'); +#+end_src + +#+begin_src matlab + open 'simscape/cedrat_piezo.slx' +#+end_src + +* Parameters +#+begin_src matlab + 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] +#+end_src + +#+begin_src matlab + 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)] +#+end_src + +#+begin_src matlab + K_iff = tf(0); +#+end_src + +#+begin_src matlab + % dummy_mass = 140; % [kg] + dummy_mass = 1; % [kg] +#+end_src + +* Identification +#+begin_src matlab + %% 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'}; +#+end_src + +#+begin_src matlab :exports none + freqs = logspace(0, 5, 1000); + + figure; + subplot(2, 2, 1); + title('From $F_z$ to $D_z$ - Compliance'); + hold on; + plot(freqs, abs(squeeze(freqresp(G('Dz', 'Fz'), freqs, 'Hz'))), 'k-'); + hold off; + set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log'); + ylabel('Amplitude [m/N]'); xlabel('Frequency [Hz]'); + + subplot(2, 2, 2); + title('From $D_w$ to $D_z$ - Transmissibility'); + hold on; + plot(freqs, abs(squeeze(freqresp(G('Dz', 'Dw'), freqs, 'Hz'))), 'k-'); + hold off; + set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log'); + ylabel('Amplitude [V/N]'); xlabel('Frequency [Hz]'); + + subplot(2, 2, 3); + title('From $F$ to $D_z$ - Plant'); + hold on; + plot(freqs, abs(squeeze(freqresp(G('Dz', 'F'), freqs, 'Hz'))), 'k-'); + hold off; + set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log'); + ylabel('Amplitude [m/N]'); xlabel('Frequency [Hz]'); + + subplot(2, 2, 4); + title('From $F$ to $F_m$ - IFF Plant'); + hold on; + plot(freqs, abs(squeeze(freqresp(G('Fm', 'F'), freqs, 'Hz'))), 'k-'); + hold off; + set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log'); + ylabel('Amplitude [V/N]'); xlabel('Frequency [Hz]'); +#+end_src + +#+HEADER: :tangle no :exports results :results none :noweb yes +#+begin_src matlab :var filepath="figs/cedrat_piezo_identified_tf.pdf" :var figsize="full-tall" :post pdf2svg(file=*this*, ext="png") + <> +#+end_src + +#+NAME: fig:cedrat_piezo_identified_tf +#+CAPTION: Identified Transfer function ([[./figs/cedrat_piezo_identified_tf.png][png]], [[./figs/cedrat_piezo_identified_tf.pdf][pdf]]) +[[file:figs/cedrat_piezo_identified_tf.png]] + +* Integral Force Feedback +#+begin_src matlab :exports none + freqs = logspace(1, 5, 1000); + + figure; + + ax1 = subplot(2, 1, 1); + plot(freqs, abs(squeeze(freqresp(-G('Fm', 'F'), freqs, 'Hz'))), 'k-'); + set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log'); + ylabel('Amplitude [N/N]'); set(gca, 'XTickLabel',[]); + + ax2 = subplot(2, 1, 2); + plot(freqs, 180/pi*angle(squeeze(freqresp(-G('Fm', 'F'), freqs, 'Hz'))), 'k-'); + set(gca, 'XScale', 'log'); set(gca, 'YScale', 'lin'); + ylabel('Phase [deg]'); xlabel('Frequency [Hz]'); + ylim([-180, 180]); + yticks([-180, -90, 0, 90, 180]); + + linkaxes([ax1,ax2],'x'); +#+end_src + +#+HEADER: :tangle no :exports results :results none :noweb yes +#+begin_src matlab :var filepath="figs/iff_plant_cedrat.pdf" :var figsize="full-tall" :post pdf2svg(file=*this*, ext="png") + <> +#+end_src + +#+NAME: fig:iff_plant_cedrat +#+CAPTION: Transfer function from $F$ to $F_m$ ([[./figs/iff_plant_cedrat.png][png]], [[./figs/iff_plant_cedrat.pdf][pdf]]) +[[file:figs/iff_plant_cedrat.png]] + + +#+begin_src matlab + K_iff = -100000/s*(s/2/pi/100)/(1 + s/2/pi/100)*(s/2/pi/100)/(1 + s/2/pi/100); +#+end_src + +#+begin_src matlab :exports none + freqs = logspace(0, 5, 1000); + + figure; + + ax1 = subplot(2, 1, 1); + plot(freqs, abs(squeeze(freqresp(K_iff*G('Fm', 'F'), freqs, 'Hz'))), 'k-'); + set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log'); + ylabel('Amplitude [N/N]'); set(gca, 'XTickLabel',[]); + + ax2 = subplot(2, 1, 2); + plot(freqs, 180/pi*angle(squeeze(freqresp(K_iff*G('Fm', 'F'), freqs, 'Hz'))), 'k-'); + set(gca, 'XScale', 'log'); set(gca, 'YScale', 'lin'); + ylabel('Phase [deg]'); xlabel('Frequency [Hz]'); + ylim([-180, 180]); + yticks([-180, -90, 0, 90, 180]); + + linkaxes([ax1,ax2],'x'); +#+end_src + +#+HEADER: :tangle no :exports results :results none :noweb yes +#+begin_src matlab :var filepath="figs/iff_open_loop_cedrat.pdf" :var figsize="full-tall" :post pdf2svg(file=*this*, ext="png") + <> +#+end_src + +#+NAME: fig:iff_open_loop_cedrat +#+CAPTION: Open Loop Gain Transfer Function - Cedrat ([[./figs/iff_open_loop_cedrat.png][png]], [[./figs/iff_open_loop_cedrat.pdf][pdf]]) +[[file:figs/iff_open_loop_cedrat.png]] + +* Damped System +#+begin_src matlab + %% 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'}; +#+end_src + +#+begin_src matlab :exports none + freqs = logspace(0, 5, 1000); + + figure; + subplot(2, 2, 1); + title('From $F_z$ to $D_z$ - Compliance'); + hold on; + plot(freqs, abs(squeeze(freqresp(G('Dz', 'Fz'), freqs, 'Hz'))), 'k-'); + plot(freqs, abs(squeeze(freqresp(G_iff('Dz', 'Fz'), freqs, 'Hz'))), 'k--'); + hold off; + set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log'); + ylabel('Amplitude [m/N]'); xlabel('Frequency [Hz]'); + + subplot(2, 2, 2); + title('From $D_w$ to $D_z$ - Transmissibility'); + hold on; + plot(freqs, abs(squeeze(freqresp(G('Dz', 'Dw'), freqs, 'Hz'))), 'k-'); + plot(freqs, abs(squeeze(freqresp(G_iff('Dz', 'Dw'), freqs, 'Hz'))), 'k--'); + hold off; + set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log'); + ylabel('Amplitude [V/N]'); xlabel('Frequency [Hz]'); + + subplot(2, 2, 3); + title('From $F$ to $D_z$ - Plant'); + hold on; + plot(freqs, abs(squeeze(freqresp(G('Dz', 'F'), freqs, 'Hz'))), 'k-'); + plot(freqs, abs(squeeze(freqresp(G_iff('Dz', 'F'), freqs, 'Hz'))), 'k--'); + hold off; + set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log'); + ylabel('Amplitude [m/N]'); xlabel('Frequency [Hz]'); + + subplot(2, 2, 4); + title('From $F$ to $F_m$ - IFF Plant'); + hold on; + plot(freqs, abs(squeeze(freqresp(G('Fm', 'F'), freqs, 'Hz'))), 'k-'); + plot(freqs, abs(squeeze(freqresp(G_iff('Fm', 'F'), freqs, 'Hz'))), 'k--'); + hold off; + set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log'); + ylabel('Amplitude [V/N]'); xlabel('Frequency [Hz]'); +#+end_src + +#+HEADER: :tangle no :exports results :results none :noweb yes +#+begin_src matlab :var filepath="figs/cedrat_iff_piezo_identified_tf.pdf" :var figsize="full-tall" :post pdf2svg(file=*this*, ext="png") + <> +#+end_src + +#+NAME: fig:cedrat_iff_piezo_identified_tf +#+CAPTION: Identified Transfer function ([[./figs/cedrat_iff_piezo_identified_tf.png][png]], [[./figs/cedrat_iff_piezo_identified_tf.pdf][pdf]]) +[[file:figs/cedrat_iff_piezo_identified_tf.png]] diff --git a/figs/cedrat_iff_piezo_identified_tf.png b/figs/cedrat_iff_piezo_identified_tf.png new file mode 100644 index 0000000..ffe9e5a Binary files /dev/null and b/figs/cedrat_iff_piezo_identified_tf.png differ diff --git a/figs/cedrat_piezo_identified_tf.png b/figs/cedrat_piezo_identified_tf.png index 9efe9c1..642687f 100644 Binary files a/figs/cedrat_piezo_identified_tf.png and b/figs/cedrat_piezo_identified_tf.png differ diff --git a/figs/iff_open_loop_cedrat.png b/figs/iff_open_loop_cedrat.png new file mode 100644 index 0000000..6e31a36 Binary files /dev/null and b/figs/iff_open_loop_cedrat.png differ diff --git a/figs/iff_plant_cedrat.png b/figs/iff_plant_cedrat.png new file mode 100644 index 0000000..af878af Binary files /dev/null and b/figs/iff_plant_cedrat.png differ diff --git a/index.html b/index.html index d39275b..78fe06b 100644 --- a/index.html +++ b/index.html @@ -3,7 +3,7 @@ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> - + Simscape Model of the Nano-Active-Stabilization-System @@ -258,69 +258,69 @@ for the JavaScript code in this tag.

Table of Contents

@@ -337,10 +337,11 @@ for the JavaScript code in this tag.
  • HAC LAC
  • Kinematics
  • Modal Analysis
  • +
  • Cedrat Piezo Actuator
  • -
    -

    1 Simulink project

    +
    +

    1 Simulink project

    From the Simulink project mathworks page: @@ -405,8 +406,8 @@ The project also permits to automatically add defined folder to the path when th

    -
    -

    2 Simscape Model

    +
    +

    2 Simscape Model

    A simscape model permits to model multi-physics systems. @@ -417,8 +418,8 @@ A simscape model per

    -
    -

    2.1 Solid bodies

    +
    +

    2.1 Solid bodies

    Each solid body is represented by a solid block. @@ -427,8 +428,8 @@ The geometry of the solid body can be imported using a step file. T

    -
    -

    2.2 Frames

    +
    +

    2.2 Frames

    Frames are very important in simscape multibody, they defined where the forces are applied, where the joints are located and where the measurements are made. @@ -440,8 +441,8 @@ They can be defined from the solid body geometry, or using the -

    2.3 Joints

    +
    +

    2.3 Joints

    Solid Bodies are connected with joints (between frames of the two solid bodies). @@ -451,7 +452,7 @@ Solid Bodies are connected with joints (between frames of the two solid bodies). There are various types of joints that are all described here.

    - +
    @@ -584,7 +585,7 @@ Joint blocks are assortments of joint primitives:
  • Constant Velocity: Allows rotation at constant velocity between intersection through arbitrarily aligned shafts: CV
  • -
    Table 1: Degrees of freedom associated with each joint
    +
    @@ -876,8 +877,8 @@ Composite Force/Torque sensing: -
    -

    2.4 Measurements

    +
    +

    2.4 Measurements

    A transform sensor block measures the spatial relationship between two frames: the base B and the follower F. @@ -901,8 +902,8 @@ If we want to simulate an inertial sensor, we just have to choose B

    -
    -

    2.5 Excitation

    +
    +

    2.5 Excitation

    We can apply external forces to the model by using an external force and torque block. @@ -915,12 +916,12 @@ Internal force, acting reciprocally between base and following origins is implem

    -
    -

    3 Notes

    +
    +

    3 Notes

    -
    -

    3.1 Simscape files for identification

    +
    +

    3.1 Simscape files for identification

    Table 2: Joint primitives for each joint type
    @@ -989,12 +990,12 @@ Internal force, acting reciprocally between base and following origins is implem -
    -

    3.2 Inputs

    +
    +

    3.2 Inputs

    -
    -

    3.2.1 Perturbations

    +
    +

    3.2.1 Perturbations

    @@ -1042,8 +1043,8 @@ Internal force, acting reciprocally between base and following origins is implem -
    -

    3.2.2 Measurement Noise

    +
    +

    3.2.2 Measurement Noise

    @@ -1077,8 +1078,8 @@ Internal force, acting reciprocally between base and following origins is implem -
    -

    3.2.3 Control Inputs

    +
    +

    3.2.3 Control Inputs

    @@ -1202,8 +1203,8 @@ Internal force, acting reciprocally between base and following origins is implem -
    -

    3.3 Outputs

    +
    +

    3.3 Outputs

    @@ -1321,8 +1322,8 @@ Internal force, acting reciprocally between base and following origins is implem -
    -

    4 Simulink files

    +
    +

    4 Simulink files

    Few different Simulink files are used: @@ -1336,44 +1337,44 @@ Few different Simulink files are used:

    -
    -

    5 Simulink Library

    +
    +

    5 Simulink Library

    A simulink library is developed in order to share elements between the different simulink files.

    -
    -

    5.1 inputs

    +
    +

    5.1 inputs

    -
    -

    5.2 nasslibrary

    +
    +

    5.2 nasslibrary

    -
    -

    5.3 poserrorwrtnassbase

    +
    +

    5.3 poserrorwrtnassbase

    -
    -

    5.4 QuaternionToAngles

    +
    +

    5.4 QuaternionToAngles

    -
    -

    5.5 RotationMatrixToAngle

    +
    +

    5.5 RotationMatrixToAngle

    -
    -

    6 Scripts

    +
    +

    6 Scripts

    -
    -

    6.1 Simulation Initialization

    +
    +

    6.1 Simulation Initialization

    - +

    @@ -1397,15 +1398,15 @@ load( -

    7 Functions

    +
    +

    7 Functions

    -
    -

    7.1 computePsdDispl

    +
    +

    7.1 computePsdDispl

    - +

    @@ -1440,11 +1441,11 @@ This Matlab function is accessible here.

    -
    -

    7.2 computeSetpoint

    +
    +

    7.2 computeSetpoint

    - +

    @@ -1515,11 +1516,11 @@ setpoint( -

    7.3 converErrorBasis

    +
    +

    7.3 converErrorBasis

    - +

    @@ -1656,11 +1657,11 @@ error_nass = [dx; dy; dz; th

    -
    -

    7.4 generateDiagPidControl

    +
    +

    7.4 generateDiagPidControl

    - +

    @@ -1690,11 +1691,11 @@ This Matlab function is accessible here

    -
    -

    7.5 identifyPlant

    +
    +

    7.5 identifyPlant

    - +

    @@ -1759,11 +1760,11 @@ This Matlab function is accessible here.

    -
    -

    7.6 runSimulation

    +
    +

    7.6 runSimulation

    - +

    @@ -1832,15 +1833,15 @@ This Matlab function is accessible here.

    -
    -

    8 Initialize Elements

    +
    +

    8 Initialize Elements

    -
    -

    8.1 Simulation Configuration

    +
    +

    8.1 Simulation Configuration

    - +

    @@ -1886,11 +1887,11 @@ This Matlab function is accessible here.

    -
    -

    8.2 Experiment

    +
    +

    8.2 Experiment

    - +

    @@ -1930,11 +1931,11 @@ This Matlab function is accessible here

    -
    -

    8.3 Inputs

    +
    +

    8.3 Inputs

    - +

    @@ -2122,11 +2123,11 @@ This Matlab function is accessible here.

    -
    -

    8.4 Ground

    +
    +

    8.4 Ground

    - +

    @@ -2150,11 +2151,11 @@ This Matlab function is accessible here.

    -
    -

    8.5 Granite

    +
    +

    8.5 Granite

    - +

    @@ -2194,11 +2195,11 @@ This Matlab function is accessible here.

    -
    -

    8.6 Translation Stage

    +
    +

    8.6 Translation Stage

    - +

    @@ -2279,11 +2280,11 @@ This Matlab function is accessible here.

    -
    -

    8.7 Tilt Stage

    +
    +

    8.7 Tilt Stage

    - +

    @@ -2352,11 +2353,11 @@ This Matlab function is accessible here.

    -
    -

    8.8 Spindle

    +
    +

    8.8 Spindle

    - +

    @@ -2421,11 +2422,11 @@ This Matlab function is accessible here.

    -
    -

    8.9 Micro Hexapod

    +
    +

    8.9 Micro Hexapod

    - +

    @@ -2631,11 +2632,11 @@ This Matlab function is accessible here

    -
    -

    8.10 Center of gravity compensation

    +
    +

    8.10 Center of gravity compensation

    - +

    @@ -2678,11 +2679,11 @@ This Matlab function is accessible here.

    -
    -

    8.11 Mirror

    +
    +

    8.11 Mirror

    - +

    @@ -2748,11 +2749,11 @@ This Matlab function is accessible here.

    -
    -

    8.12 Nano Hexapod

    +
    +

    8.12 Nano Hexapod

    - +

    @@ -2965,11 +2966,11 @@ This Matlab function is accessible here

    -
    -

    8.13 Sample

    +
    +

    8.13 Sample

    - +

    @@ -3014,7 +3015,7 @@ This Matlab function is accessible here.

    Author: Dehaeze Thomas

    -

    Created: 2019-10-24 jeu. 17:45

    +

    Created: 2019-10-29 mar. 10:52

    Validate

    diff --git a/index.org b/index.org index 3c4cedd..075afb2 100644 --- a/index.org +++ b/index.org @@ -50,6 +50,7 @@ - [[file:hac_lac/index.org][HAC LAC]] - [[file:kinematics/index.org][Kinematics]] - [[file:modal_test/index.org][Modal Analysis]] +- [[file:cedrat-actuator/index.org][Cedrat Piezo Actuator]] * Matlab Init :noexport:ignore: #+begin_src matlab :tangle no :exports none :results silent :noweb yes :var current_dir=(file-name-directory buffer-file-name) diff --git a/simscape/cedrat_piezo.slx b/simscape/cedrat_piezo.slx new file mode 100644 index 0000000..8b8ca87 Binary files /dev/null and b/simscape/cedrat_piezo.slx differ diff --git a/simscape/sim_nano_station_uniaxial_cedrat.slx b/simscape/sim_nano_station_uniaxial_cedrat.slx index fb2a481..95de9f7 100644 Binary files a/simscape/sim_nano_station_uniaxial_cedrat.slx and b/simscape/sim_nano_station_uniaxial_cedrat.slx differ