Skip to content

Commit fbae666

Browse files
committed
Initial commit R2019b. Converted to MATLAB project with reference project for core library.
1 parent a247745 commit fbae666

File tree

628 files changed

+3125
-109
lines changed

Some content is hidden

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

628 files changed

+3125
-109
lines changed

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

Lines changed: 23 additions & 2 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.6"><link rel="schema.DC" href="http://purl.org/dc/elements/1.1/"><meta name="DC.date" content="2019-03-04"><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.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">
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; }
@@ -66,7 +66,28 @@
6666

6767

6868

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><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; R2019a</a><br></p></div><!--
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><!--
7091
##### SOURCE BEGIN #####
7192
%% Adding Actuators to CAD Model of a Lift Table
7293
%
0 Bytes
Loading
129 Bytes
Loading
21 Bytes
Loading
67 Bytes
Loading
0 Bytes
Loading
-28 Bytes
Loading
-26 Bytes
Loading
-57 Bytes
Loading
0 Bytes
Loading

0 commit comments

Comments
 (0)