12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
-
- // #######################################################
- // #################### NEMA Steppers ####################
- // #######################################################
-
- $fn = 15;
-
- nema17_size = 42.3;
- nema17_hole_off = 30.1 / 2;
- nema17_hole_size = 3.2;
- nema17_shaft_size = 5.0;
- nema17_shaft_length = 24.0;
- nema17_center_size = 22.0;
- nema17_center_height = 2.0;
-
- nema17_mount_wall = 8.0;
- nema17_mount_hole_size = 3.4;
-
- module nema17_holes_face(height, length, hole) {
- translate([nema17_size / 2, nema17_size / 2, height - 4.5]) {
- translate([nema17_hole_off, nema17_hole_off, 0])
- cylinder(d = hole, h = length);
- translate([-nema17_hole_off, nema17_hole_off, 0])
- cylinder(d = hole, h = length);
- translate([nema17_hole_off, -nema17_hole_off, 0])
- cylinder(d = hole, h = length);
- translate([-nema17_hole_off, -nema17_hole_off, 0])
- cylinder(d = hole, h = length);
- }
- }
-
- module nema17(length) {
- difference() {
- cube([nema17_size, nema17_size, length]);
- nema17_holes_face(length, 5.0, nema17_hole_size);
- }
-
- translate([nema17_size / 2, nema17_size / 2, length]) {
- cylinder(d = nema17_center_size, h = nema17_center_height);
- cylinder(d = nema17_shaft_size, h = nema17_shaft_length);
- }
- }
-
- // TODO use not M4 with 2020 extrusion?
- module nema17_mount(slot) {
- // motor faceplate
- difference() {
- cube([nema17_size, nema17_size, nema17_mount_wall]);
- nema17_holes_face(4, nema17_mount_wall + 1, nema17_mount_hole_size);
-
- translate([nema17_size / 2, nema17_size / 2, -1])
- cylinder(d = 24.0, h = nema17_mount_wall + 2);
- }
-
- // mount on side
- translate([nema17_size, 0, 0])
- difference() {
- cube([nema17_mount_wall, nema17_size, nema17_mount_wall + (2 * slot)]);
-
- hole_off_add = 3.5;
-
- for (i = [0, 1]) {
- translate([nema17_mount_wall + 1, nema17_size / 3 - hole_off_add, nema17_mount_wall + (slot / 2) + (i * slot)]) {
- rotate([0, -90, 0])
- cylinder(d = 4.4, h = nema17_mount_wall + 2);
-
- translate([0, nema17_size / 3 + (2 * hole_off_add), 0])
- rotate([0, -90, 0])
- cylinder(d = 4.4, h = nema17_mount_wall + 2);
- }
- }
- }
- }
|