diff --git a/mat/accelerometer_z_axis.mat b/mat/accelerometer_z_axis.mat new file mode 100644 index 0000000..6be548a Binary files /dev/null and b/mat/accelerometer_z_axis.mat differ diff --git a/mat/geophone_z_axis.mat b/mat/geophone_z_axis.mat new file mode 100644 index 0000000..42a845c Binary files /dev/null and b/mat/geophone_z_axis.mat differ diff --git a/simscape-model.org b/simscape-model.org index 5b2bdbf..82c1031 100644 --- a/simscape-model.org +++ b/simscape-model.org @@ -764,6 +764,70 @@ We then compute the corresponding rotation matrix. s(3)*s(1)*(1-cos(theta)) - s(2)*sin(theta), s(3)*s(2)*(1-cos(theta)) + s(1)*sin(theta), s(3)^2*(1-cos(theta)) + cos(theta)]; #+end_src +* Other Elements +** Z-Axis Geophone +:PROPERTIES: +:header-args:matlab+: :tangle ./src/initializeZAxisGeophone.m +:header-args:matlab+: :comments none :mkdirp yes :eval no +:END: +<> + +This Matlab function is accessible [[file:../src/initializeZAxisGeophone.m][here]]. + +#+begin_src matlab + function [geophone] = initializeZAxisGeophone(args) + arguments + args.mass (1,1) double {mustBeNumeric, mustBePositive} = 1e-3 % [kg] + args.freq (1,1) double {mustBeNumeric, mustBePositive} = 1 % [Hz] + end + + %% + geophone.m = args.mass; + + %% The Stiffness is set to have the damping resonance frequency + geophone.k = geophone.m * (2*pi*args.freq)^2; + + %% We set the damping value to have critical damping + geophone.c = 2*sqrt(geophone.m * geophone.k); + + %% Save + save('./mat/geophone_z_axis.mat', 'geophone'); + end +#+end_src + +** Z-Axis Accelerometer +:PROPERTIES: +:header-args:matlab+: :tangle ./src/initializeZAxisAccelerometer.m +:header-args:matlab+: :comments none :mkdirp yes :eval no +:END: +<> + +This Matlab function is accessible [[file:../src/initializeZAxisAccelerometer.m][here]]. + +#+begin_src matlab + function [accelerometer] = initializeZAxisAccelerometer(args) + arguments + args.mass (1,1) double {mustBeNumeric, mustBePositive} = 1e-3 % [kg] + args.freq (1,1) double {mustBeNumeric, mustBePositive} = 5e3 % [Hz] + end + + %% + accelerometer.m = args.mass; + + %% The Stiffness is set to have the damping resonance frequency + accelerometer.k = accelerometer.m * (2*pi*args.freq)^2; + + %% We set the damping value to have critical damping + accelerometer.c = 2*sqrt(accelerometer.m * accelerometer.k); + + %% Gain correction of the accelerometer to have a unity gain until the resonance + accelerometer.gain = -accelerometer.k/accelerometer.m; + + %% Save + save('./mat/accelerometer_z_axis.mat', 'accelerometer'); + end +#+end_src + * OLD :noexport: ** Define the Height of the Platform :noexport: #+begin_src matlab diff --git a/simscape_subsystems/stewart_strut.slx b/simscape_subsystems/stewart_strut.slx index 263700d..8c3e84a 100644 Binary files a/simscape_subsystems/stewart_strut.slx and b/simscape_subsystems/stewart_strut.slx differ diff --git a/simscape_subsystems/z_axis_accelerometer.slx b/simscape_subsystems/z_axis_accelerometer.slx new file mode 100644 index 0000000..df6785d Binary files /dev/null and b/simscape_subsystems/z_axis_accelerometer.slx differ diff --git a/simscape_subsystems/z_axis_geophone.slx b/simscape_subsystems/z_axis_geophone.slx new file mode 100644 index 0000000..81940c8 Binary files /dev/null and b/simscape_subsystems/z_axis_geophone.slx differ diff --git a/src/initializeZAxisAccelerometer.m b/src/initializeZAxisAccelerometer.m new file mode 100644 index 0000000..9d17056 --- /dev/null +++ b/src/initializeZAxisAccelerometer.m @@ -0,0 +1,21 @@ +function [accelerometer] = initializeZAxisAccelerometer(args) + arguments + args.mass (1,1) double {mustBeNumeric, mustBePositive} = 1e-3 % [kg] + args.freq (1,1) double {mustBeNumeric, mustBePositive} = 5e3 % [Hz] + end + + %% + accelerometer.m = args.mass; + + %% The Stiffness is set to have the damping resonance frequency + accelerometer.k = accelerometer.m * (2*pi*args.freq)^2; + + %% We set the damping value to have critical damping + accelerometer.c = 2*sqrt(accelerometer.m * accelerometer.k); + + %% Gain correction of the accelerometer to have a unity gain until the resonance + accelerometer.gain = -accelerometer.k/accelerometer.m; + + %% Save + save('./mat/accelerometer_z_axis.mat', 'accelerometer'); +end diff --git a/src/initializeZAxisGeophone.m b/src/initializeZAxisGeophone.m new file mode 100644 index 0000000..8612793 --- /dev/null +++ b/src/initializeZAxisGeophone.m @@ -0,0 +1,18 @@ +function [geophone] = initializeZAxisGeophone(args) + arguments + args.mass (1,1) double {mustBeNumeric, mustBePositive} = 1e-3 % [kg] + args.freq (1,1) double {mustBeNumeric, mustBePositive} = 1 % [Hz] + end + + %% + geophone.m = args.mass; + + %% The Stiffness is set to have the damping resonance frequency + geophone.k = geophone.m * (2*pi*args.freq)^2; + + %% We set the damping value to have critical damping + geophone.c = 2*sqrt(geophone.m * geophone.k); + + %% Save + save('./mat/geophone_z_axis.mat', 'geophone'); +end