omdl  v0.9.8
OpenSCAD Mechanical Design Library
motor_nema_stepper.scad
Go to the documentation of this file.
1 //! [motor] Nema stepper motor; nema_stepper; stepper motor.
2 /***************************************************************************//**
3  \file
4  \author Roy Allen Sutton
5  \date 2025
6 
7  \copyright
8 
9  This file is part of [omdl] (https://github.com/royasutton/omdl),
10  an OpenSCAD mechanical design library.
11 
12  The \em omdl is free software; you can redistribute it and/or modify
13  it under the terms of the [GNU Lesser General Public License]
14  (http://www.gnu.org/licenses/lgpl.html) as published by the Free
15  Software Foundation; either version 2.1 of the License, or (at
16  your option) any later version.
17 
18  The \em omdl is distributed in the hope that it will be useful,
19  but WITHOUT ANY WARRANTY; without even the implied warranty of
20  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
21  Lesser General Public License for more details.
22 
23  You should have received a copy of the GNU Lesser General Public
24  License along with the \em omdl; if not, write to the Free Software
25  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
26  02110-1301, USA; or see <http://www.gnu.org/licenses/>.
27 
28  \details
29 
30  \amu_define group_name (nema_stepper)
31  \amu_define group_brief ([motor] Nema stepper motor; nema_stepper; stepper motor.)
32 
33  \amu_include (include/amu/pgid_path_pstem_pg.amu)
34  \amu_text parent (${parent}_Motor)
35 *******************************************************************************/
36 
37 //----------------------------------------------------------------------------//
38 
39 /***************************************************************************//**
40  \amu_include (include/amu/group_in_parent_start.amu)
41  \amu_include (include/amu/includes_required.amu)
42 
43  \details
44 
45  \amu_copy (files="diagrams/nema_stepper.svg" types="html,latex")
46  \amu_text
47  (
48  \image html ${PATH_NAME}/diagrams/nema_stepper.svg "parameters"
49  \image latex ${PATH_NAME}/diagrams/nema_stepper.svg "parameters"
50  )
51 
52  <center>Smaller motor bolt holes have metric threas.</center>
53 
54  \amu_define output_scad (false)
55  \amu_define output_console (false)
56 
57  \amu_define title (Nema stepper motor)
58  \amu_define notes_table (<center>Approximate and typical values differ across manufacturers and models.</center>)
59 
60  \amu_include (include/amu/scope_table.amu)
61 
62  \note The measurements in the table above are shown with:
63  \c length_unit_base="mm". These measurements will
64  convert when the base units are changed. See \ref units_length
65  for more information on setting the base units.
66 
67  | References: |
68  |:---------------|
69  | nema_stepper |
70  | stepper motor |
71  | [Wikipedia] |
72  | [RepRap] |
73 
74  [Wikipedia]: https://en.wikipedia.org/wiki/Stepper_motor
75  [RepRap]: https://reprap.org/wiki/NEMA_17_Stepper_motor
76 *******************************************************************************/
77 
78 //! <map> nema_stepper data table columns map.
79 //! \hideinitializer
81 [
82  ["id", "identifier"],
83  ["s", "Frame size (approximate)"],
84  ["m", "Bolt hole distance"],
85  ["t", "Bolt hole thread"],
86  ["h", "Bolt hole diameter"],
87  ["d", "Motor shaft diameter (typical)"],
88  ["p", "Pilot diameter"],
89  ["e", "Piolet depth (typical)"]
90 ];
91 
92 //! <table> nema_stepper data table rows.
93 //! \hideinitializer
95 [
96  [ "nema_8",l_mm( 20.0),l_mm(16.0), "m2", undef,l_mm( 4.00),l_mm(16.00),l_mm(1.6)],
97  ["nema_11",l_mm( 28.2),l_mm(23.0), "m2.5", undef,l_mm( 5.00),l_mm(22.00),l_mm(1.6)],
98  ["nema_14",l_mm( 35.2),l_mm(26.0), "m3", undef,l_mm( 5.00),l_mm(22.00),l_mm(2.0)],
99  ["nema_17",l_mm( 42.3),l_mm(31.0), "m3", undef,l_mm( 5.00),l_mm(22.00),l_mm(2.0)],
100  ["nema_23",l_mm( 56.4),l_mm(47.1), undef,l_mm( 5.5),l_mm( 6.35),l_mm(38.10),l_mm(1.6)],
101  ["nema_34",l_mm( 86.0),l_mm(69.6), undef,l_mm( 5.5),l_mm(14.00),l_mm(73.00),l_mm(1.6)],
102  ["nema_42",l_mm(110.0),l_mm(89.0), undef,l_mm( 8.5),l_mm(19.00),l_mm(55.52),l_mm(3.0)]
103 ];
104 
105 //! @}
106 //! @}
107 
108 //----------------------------------------------------------------------------//
109 // openscad-amu auxiliary scripts
110 //----------------------------------------------------------------------------//
111 
112 /*
113 BEGIN_SCOPE table;
114  BEGIN_OPENSCAD;
115  include <omdl-base.scad>;
116  include <database/component/motion/motor_nema_stepper.scad>;
117 
118  // temporary override for table presentation.
119  // function l_mm(v) = round_s(length(v,"mm"), 4);
120 
121  length_unit_base = "mm";
122 
123  n = true; // number
124  hi = true; // include heading id
125  ht = true; // include heading description
126 
127  tr = dtr_motion_motor_nema_stepper;
128  tc = dtc_motion_motor_nema_stepper;
129 
130  table_write( tr, tc, number=n, heading_id=hi, heading_text=ht );
131 
132  // end_include
133  END_OPENSCAD;
134 
135  BEGIN_MFSCRIPT;
136  include --path "${INCLUDE_PATH}" {var_init,var_gen_term}.mfs;
137  include --path "${INCLUDE_PATH}" scr_make_mf.mfs;
138  END_MFSCRIPT;
139 END_SCOPE;
140 */
141 
142 //----------------------------------------------------------------------------//
143 // end of file
144 //----------------------------------------------------------------------------//
dtc_motion_motor_nema_stepper
dtr_motion_motor_nema_stepper
function l_mm(v)
Shorthand length conversion for millimeters.