Skip to content

Commit 769ce95

Browse files
committed
Initial commit R2020a.
1 parent fbae666 commit 769ce95

File tree

116 files changed

+96
-166
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

116 files changed

+96
-166
lines changed

Examples/CAD/01_Lift_Table/Scripts_Data/sm_lift_table_1_arch_plot1time.m

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
% The plot below shows the height of the table and the extension of the
55
% cylinder. The mechanism oscillates under the influence of gravity.
66
%
7-
% Copyright 2016-2019 The MathWorks, Inc.
7+
% Copyright 2016-2020 The MathWorks, Inc.
88

99
% Generate simulation results if they don't exist
1010
if ~exist('simlog_sm_lift_table_1_arch', 'var')

Examples/CAD/01_Lift_Table/Scripts_Data/sm_lift_table_f1_actf_plot1time.m

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
% The plots below show the amount of actuator force required to follow a
55
% specified motion profile for the actuator.
66
%
7-
% Copyright 2016-2019 The MathWorks, Inc.
7+
% Copyright 2016-2020 The MathWorks, Inc.
88

99
% Generate simulation results if they don't exist
1010
if ~exist('simlog_sm_lift_table_f1_actf', 'var')

Examples/CAD/01_Lift_Table/Scripts_Data/sm_lift_table_f2_hydr_plot1time.m

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
% raised or lowered. The limits of travel are reached when the piston
77
% reaches the ends of the cylinder.
88
%
9-
% Copyright 2016-2019 The MathWorks, Inc.
9+
% Copyright 2016-2020 The MathWorks, Inc.
1010

1111
% Generate simulation results if they don't exist
1212
if ~exist('simlog_sm_lift_table_f2_hydr', 'var')

Examples/CAD/01_Lift_Table/Scripts_Data/sm_lift_table_t1_actt_plot1time.m

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
% The plots below show the amount of actuator torque required to follow a
55
% specified motion profile for the actuator.
66
%
7-
% Copyright 2016-2019 The MathWorks, Inc.
7+
% Copyright 2016-2020 The MathWorks, Inc.
88

99
% Generate simulation results if they don't exist
1010
if ~exist('simlog_sm_lift_table_t1_actt', 'var')

Examples/CAD/01_Lift_Table/Scripts_Data/sm_lift_table_t2_elec_plot1time.m

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
% raised or lowered. The table stops moving when the lead screw reaches
77
% its limits.
88
%
9-
% Copyright 2016-2019 The MathWorks, Inc.
9+
% Copyright 2016-2020 The MathWorks, Inc.
1010

1111
% Generate simulation results if they don't exist
1212
if ~exist('simlog_sm_lift_table_t2_elec', 'var')

Examples/CAD/01_Lift_Table/Scripts_Data/sm_lift_table_viewOnshape.m

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
function sm_lift_table_viewOnshape(location)
2-
% Copyright 2016-2019 The MathWorks, Inc.
2+
% Copyright 2016-2020 The MathWorks, Inc.
33

44
lifttable_url = 'https://cad.onshape.com/documents/58482f0af680f5104c2aa092/w/9b3bf8832aeb649b3d37b8ac/e/a3bd178a78d47fa4ecdbc98a';
55
getAccount_url = 'https://www.onshape.com/cad-pricing?utm_campaign=Mathworks&utm_source=Referrals';

Examples/CAD/01_Lift_Table/html/html/sm_lift_table_CAD.html

Lines changed: 5 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
<!--
77
This HTML was auto-generated from MATLAB code.
88
To make changes, update the MATLAB code and republish this document.
9-
--><title>Adding Actuators to CAD Model of a Lift Table</title><meta name="generator" content="MATLAB 9.7"><link rel="schema.DC" href="http://purl.org/dc/elements/1.1/"><meta name="DC.date" content="2019-07-30"><meta name="DC.source" content="sm_lift_table_CAD.m"><style type="text/css">
9+
--><title>Adding Actuators to CAD Model of a Lift Table</title><meta name="generator" content="MATLAB 9.8"><link rel="schema.DC" href="http://purl.org/dc/elements/1.1/"><meta name="DC.date" content="2020-03-14"><meta name="DC.source" content="sm_lift_table_CAD.m"><style type="text/css">
1010
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,font,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td{margin:0;padding:0;border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none}:focus{outine:0}ins{text-decoration:none}del{text-decoration:line-through}table{border-collapse:collapse;border-spacing:0}
1111

1212
html { min-height:100%; margin-bottom:1px; }
@@ -23,7 +23,7 @@
2323

2424
p { padding:0px; margin:0px 0px 20px; }
2525
img { padding:0px; margin:0px 0px 20px; border:none; }
26-
p img, pre img, tt img, li img, h1 img, h2 img { margin-bottom:0px; }
26+
p img, pre img, tt img, li img, h1 img, h2 img { margin-bottom:0px; }
2727

2828
ul { padding:0px; margin:0px 0px 20px 23px; list-style:square; }
2929
ul li { padding:0px; margin:0px 0px 7px 0px; }
@@ -52,6 +52,7 @@
5252
span.string { color:#A020F0 }
5353
span.untermstring { color:#B20000 }
5454
span.syscmd { color:#B28C00 }
55+
span.typesection { color:#A0522D }
5556

5657
.footer { width:auto; padding:10px 0px; margin:25px 0px 0px; border-top:1px dotted #878787; font-size:0.8em; line-height:140%; font-style:italic; color:#878787; text-align:left; float:none; }
5758
.footer p { margin:0px; }
@@ -66,28 +67,7 @@
6667

6768

6869

69-
</style></head><body><div class="content"><h1>Adding Actuators to CAD Model of a Lift Table</h1><!--introduction--><p>This example shows how to extend CAD models with physical effects in Simscape Multibody. A CAD model of a lift table is imported into Simscape. Simulations are used to determine the amount of force or torque an actuator would need to provide to lift the table. Simscape models of a hydraulic cylinder and an electric lead screw are added to the model to see how the system behaves.</p><p>Simscape enables you to determine high-level actuator requirements, such as the amount of force, torque, or power an actuator must provide. Different actuation technologies can be connected to the 3-D mechanical model to see which actuators would be an option in the final design</p><!--/introduction--><h2>Contents</h2><div><ul><li><a href="#1">CAD Model of Lift Table</a></li><li><a href="#3">Lift Table Model Imported from CAD</a></li><li><a href="#6">Lift Table Model With No Actuation</a></li><li><a href="#7">Hydraulic Actuator: Determine Required Force</a></li><li><a href="#9">Hydraulic Actuator: Test Design</a></li><li><a href="#11">Electric Actuator: Determine Required Torque</a></li><li><a href="#13">Electric Actuator: Test Design</a></li></ul></div><h2 id="1">CAD Model of Lift Table</h2><p>The mechanical design of the lift table was created in Onshape <a href="matlab:sm_lift_table_viewOnshape('sm_lift_table');">View Assembly in Onshape</a></p><p><b>Screenshot of CAD Assembly in Onshape</b></p><p><img vspace="5" hspace="5" src="sm_lift_table_Onshape_Assembly.png" alt=""> </p><h2 id="3">Lift Table Model Imported from CAD</h2><p>CAD models can be imported from various CAD environments. For Onshape models, use the command smexportonshape(). The model below shows what the raw imported model looks like.</p><p><a href="matlab:open_system('sm_lift_table_0_import');">Open Model</a></p><img vspace="5" hspace="5" src="sm_lift_table_CAD_01.png" alt=""> <p><b>Screenshot of Simscape Multibody Model</b></p><p><img vspace="5" hspace="5" src="sm_lift_table_mechanicsExplorer.png" alt=""> </p><h2 id="6">Lift Table Model With No Actuation</h2><p>Once imported, you can group parts and joints within subsystems to make the the block diagram easier to read. Here, we can see the prismatic joint representing the degree of freedom that we need to actuate.</p><p><a href="matlab:open_system('sm_lift_table_1_arch');">Open Model</a></p><img vspace="5" hspace="5" src="sm_lift_table_CAD_02.png" alt=""> <h2 id="7">Hydraulic Actuator: Determine Required Force</h2><p>To determine the force that is required to lift the table, we can prescribe the motion of the prismatic joint and the simulation will calculate how much force is needed to produce that motion.</p><p><a href="matlab:open_system('sm_lift_table_f1_actf');">Open Model</a></p><img vspace="5" hspace="5" src="sm_lift_table_CAD_03.png" alt=""> <p><b>Simulation Results from Simscape Logging</b></p><img vspace="5" hspace="5" src="sm_lift_table_CAD_04.png" alt=""> <h2 id="9">Hydraulic Actuator: Test Design</h2><p>A hydraulic actuator is connected to our mechanical model. The input signal to the valve adjusts the spool position which controls flow to and from the hydraulic actuator. The actuator extends and contracts to raise and lower the table. This model allows us to determine the size of the hydraulic cylinder and the required pressures and flow rates in our system.</p><p><a href="matlab:open_system('sm_lift_table_f2_hydr');">Open Model</a></p><img vspace="5" hspace="5" src="sm_lift_table_CAD_05.png" alt=""> <p><b>Simulation Results from Simscape Logging</b></p><pre class="codeoutput">Warning: Solver is encountering difficulty in simulating
70-
model '&lt;a href="matlab:open_system
71-
('sm_lift_table_f2_hydr')"&gt;sm_lift_table_f2_hydr&lt;/a&gt;' at
72-
time 14.00437400000005. Simulink will continue to
73-
simulate with warnings. Please check the model for
74-
errors.
75-
Warning: Solver was unable to reduce the step size
76-
without violating the minimum step size value of
77-
4.975353107283809E-014 for 1 consecutive times at time
78-
14.004374. This usually may be caused by violating
79-
algebraic constraints in the differential-algebraic
80-
system or by the high stiffness of the system. Try
81-
tightening the error tolerances, and/or the tolerances
82-
for computing consistent conditions. If the problem
83-
persists, please check the system or increase the solver
84-
&lt;a
85-
href="matlab:configset.internal.open('sm_lift_table_f2_hydr','MaxConsecutiveMinStep');"&gt;Number
86-
of consecutive min steps&lt;/a&gt; violation parameter.
87-
Suggested Actions:
88-
&#8226; Open Solver Profiler to explore such issues - &lt;a
89-
href="matlab:solverprofiler.launchSolverProfiler"&gt;Open&lt;/a&gt;
90-
</pre><img vspace="5" hspace="5" src="sm_lift_table_CAD_06.png" alt=""> <h2 id="11">Electric Actuator: Determine Required Torque</h2><p>A leadscrew driven by an electric motor is a second method of actuation considered for our design. Replacing the prismatic joint with a lead screw and a revolute joint gives us an additional degree of freedom. We specify the rate of extension for the leadscrew, and measure the required torque to produce that motion at the revolute joint that was added. With this information, we can determine the size of our motor.</p><p><a href="matlab:open_system('sm_lift_table_t1_actt');">Open Model</a></p><img vspace="5" hspace="5" src="sm_lift_table_CAD_07.png" alt=""> <p><b>Simulation Results from Simscape Logging</b></p><img vspace="5" hspace="5" src="sm_lift_table_CAD_08.png" alt=""> <h2 id="13">Electric Actuator: Test Design</h2><p>An electromechanical actuator is connected to our mechanical model. The electric motor spins the screw forward and backward to extend and contract the actuator which raises and lowers the lift table. Hard stops have been added to limit the extension of our actuator. This model allows us to select gear ratios and determine the power requirements of our motor.</p><p><a href="matlab:open_system('sm_lift_table_t2_elec');">Open Model</a></p><img vspace="5" hspace="5" src="sm_lift_table_CAD_09.png" alt=""> <p><b>Simulation Results from Simscape Logging</b></p><img vspace="5" hspace="5" src="sm_lift_table_CAD_10.png" alt=""> <p class="footer">Copyright 2016-2019 The MathWorks, Inc.<br><a href="https://www.mathworks.com/products/matlab/">Published with MATLAB&reg; R2019b</a><br></p></div><!--
70+
</style></head><body><div class="content"><h1>Adding Actuators to CAD Model of a Lift Table</h1><!--introduction--><p>This example shows how to extend CAD models with physical effects in Simscape Multibody. A CAD model of a lift table is imported into Simscape. Simulations are used to determine the amount of force or torque an actuator would need to provide to lift the table. Simscape models of a hydraulic cylinder and an electric lead screw are added to the model to see how the system behaves.</p><p>Simscape enables you to determine high-level actuator requirements, such as the amount of force, torque, or power an actuator must provide. Different actuation technologies can be connected to the 3-D mechanical model to see which actuators would be an option in the final design</p><!--/introduction--><h2>Contents</h2><div><ul><li><a href="#1">CAD Model of Lift Table</a></li><li><a href="#3">Lift Table Model Imported from CAD</a></li><li><a href="#6">Lift Table Model With No Actuation</a></li><li><a href="#7">Hydraulic Actuator: Determine Required Force</a></li><li><a href="#9">Hydraulic Actuator: Test Design</a></li><li><a href="#11">Electric Actuator: Determine Required Torque</a></li><li><a href="#13">Electric Actuator: Test Design</a></li></ul></div><h2 id="1">CAD Model of Lift Table</h2><p>The mechanical design of the lift table was created in Onshape <a href="matlab:sm_lift_table_viewOnshape('sm_lift_table');">View Assembly in Onshape</a></p><p><b>Screenshot of CAD Assembly in Onshape</b></p><p><img vspace="5" hspace="5" src="sm_lift_table_Onshape_Assembly.png" alt=""> </p><h2 id="3">Lift Table Model Imported from CAD</h2><p>CAD models can be imported from various CAD environments. For Onshape models, use the command smexportonshape(). The model below shows what the raw imported model looks like.</p><p><a href="matlab:open_system('sm_lift_table_0_import');">Open Model</a></p><img vspace="5" hspace="5" src="sm_lift_table_CAD_01.png" alt=""> <p><b>Screenshot of Simscape Multibody Model</b></p><p><img vspace="5" hspace="5" src="sm_lift_table_mechanicsExplorer.png" alt=""> </p><h2 id="6">Lift Table Model With No Actuation</h2><p>Once imported, you can group parts and joints within subsystems to make the the block diagram easier to read. Here, we can see the prismatic joint representing the degree of freedom that we need to actuate.</p><p><a href="matlab:open_system('sm_lift_table_1_arch');">Open Model</a></p><img vspace="5" hspace="5" src="sm_lift_table_CAD_02.png" alt=""> <h2 id="7">Hydraulic Actuator: Determine Required Force</h2><p>To determine the force that is required to lift the table, we can prescribe the motion of the prismatic joint and the simulation will calculate how much force is needed to produce that motion.</p><p><a href="matlab:open_system('sm_lift_table_f1_actf');">Open Model</a></p><img vspace="5" hspace="5" src="sm_lift_table_CAD_03.png" alt=""> <p><b>Simulation Results from Simscape Logging</b></p><img vspace="5" hspace="5" src="sm_lift_table_CAD_04.png" alt=""> <h2 id="9">Hydraulic Actuator: Test Design</h2><p>A hydraulic actuator is connected to our mechanical model. The input signal to the valve adjusts the spool position which controls flow to and from the hydraulic actuator. The actuator extends and contracts to raise and lower the table. This model allows us to determine the size of the hydraulic cylinder and the required pressures and flow rates in our system.</p><p><a href="matlab:open_system('sm_lift_table_f2_hydr');">Open Model</a></p><img vspace="5" hspace="5" src="sm_lift_table_CAD_05.png" alt=""> <p><b>Simulation Results from Simscape Logging</b></p><img vspace="5" hspace="5" src="sm_lift_table_CAD_06.png" alt=""> <h2 id="11">Electric Actuator: Determine Required Torque</h2><p>A leadscrew driven by an electric motor is a second method of actuation considered for our design. Replacing the prismatic joint with a lead screw and a revolute joint gives us an additional degree of freedom. We specify the rate of extension for the leadscrew, and measure the required torque to produce that motion at the revolute joint that was added. With this information, we can determine the size of our motor.</p><p><a href="matlab:open_system('sm_lift_table_t1_actt');">Open Model</a></p><img vspace="5" hspace="5" src="sm_lift_table_CAD_07.png" alt=""> <p><b>Simulation Results from Simscape Logging</b></p><img vspace="5" hspace="5" src="sm_lift_table_CAD_08.png" alt=""> <h2 id="13">Electric Actuator: Test Design</h2><p>An electromechanical actuator is connected to our mechanical model. The electric motor spins the screw forward and backward to extend and contract the actuator which raises and lowers the lift table. Hard stops have been added to limit the extension of our actuator. This model allows us to select gear ratios and determine the power requirements of our motor.</p><p><a href="matlab:open_system('sm_lift_table_t2_elec');">Open Model</a></p><img vspace="5" hspace="5" src="sm_lift_table_CAD_09.png" alt=""> <p><b>Simulation Results from Simscape Logging</b></p><img vspace="5" hspace="5" src="sm_lift_table_CAD_10.png" alt=""> <p class="footer">Copyright 2016-2020 The MathWorks, Inc.<br><a href="https://www.mathworks.com/products/matlab/">Published with MATLAB&reg; R2020a</a><br></p></div><!--
9171
##### SOURCE BEGIN #####
9272
%% Adding Actuators to CAD Model of a Lift Table
9373
%
@@ -103,7 +83,7 @@
10383
% Different actuation technologies can be connected to the 3-D mechanical
10484
% model to see which actuators would be an option in the final design
10585
%
106-
% Copyright 2016-2019 The MathWorks, Inc.
86+
% Copyright 2016-2020 The MathWorks, Inc.
10787
10888
10989
%% CAD Model of Lift Table
66 Bytes
Loading
-129 Bytes
Loading
-51 Bytes
Loading

0 commit comments

Comments
 (0)