raised left motor mount, reduced size of frame to match extended rear corners, shortened rear corner idler posts to not interfere with frame
This commit is contained in:
2
TODO.md
2
TODO.md
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
* Add place to mount electronics (likely just an extra part)
|
* Add place to mount electronics (likely just an extra part)
|
||||||
* add slot for motor electronic connection
|
* add slot for motor electronic connection
|
||||||
* Raise motor mount on front left motor
|
* Raise motor mount on front left corner
|
||||||
|
|
||||||
## Electronics
|
## Electronics
|
||||||
|
|
||||||
|
|||||||
@@ -8,13 +8,13 @@ module frame() {
|
|||||||
tslot(xsize - 2 * corner_offset);
|
tslot(xsize - 2 * corner_offset);
|
||||||
|
|
||||||
translate([ 0, corner_offset, 0 ]) rotate([ -90, 0, 0 ])
|
translate([ 0, corner_offset, 0 ]) rotate([ -90, 0, 0 ])
|
||||||
tslot(ysize - 2 * corner_offset);
|
tslot(ysize - 2 * corner_offset - rail_holder_width + wall_thickness);
|
||||||
|
|
||||||
translate([ corner_offset, ysize, 0 ]) rotate([ 0, 90, 0 ])
|
translate([ frame_size/2 + rail_holder_width, ysize, 0 ]) rotate([ 0, 90, 0 ])
|
||||||
tslot(xsize - 2 * corner_offset);
|
tslot(xsize - frame_size - rail_holder_width * 2);
|
||||||
|
|
||||||
translate([ xsize, corner_offset, 0 ]) rotate([ -90, 0, 0 ])
|
translate([ xsize, corner_offset, 0 ]) rotate([ -90, 0, 0 ])
|
||||||
tslot(ysize - 2 * corner_offset);
|
tslot(ysize - 2 * corner_offset - rail_holder_width + wall_thickness);
|
||||||
}
|
}
|
||||||
module corners() {
|
module corners() {
|
||||||
translate([ 0, 0 ]) flcorner();
|
translate([ 0, 0 ]) flcorner();
|
||||||
@@ -76,9 +76,15 @@ union() {
|
|||||||
moving_parts();
|
moving_parts();
|
||||||
}
|
}
|
||||||
|
|
||||||
*intersection() {
|
*union() {
|
||||||
ysled_slider(spread=sled_ysize);
|
rails();
|
||||||
translate([0, -1000, -1000])
|
frame();
|
||||||
cube([2000, 2000, 2000]);
|
intersection() {
|
||||||
|
union() {
|
||||||
|
corners();
|
||||||
|
}
|
||||||
|
translate([-1000, - 1000, -1000])
|
||||||
|
cube([2000, 2000, 1000]);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
*xsled2();
|
*xsled2();
|
||||||
44
parts.scad
44
parts.scad
@@ -23,7 +23,7 @@ belt_height2 = belt_height1 + belt_width + 2;
|
|||||||
|
|
||||||
ysled_rail_spacing = (sled_ysize);
|
ysled_rail_spacing = (sled_ysize);
|
||||||
motor_shaft_xoffset = 15;
|
motor_shaft_xoffset = 15;
|
||||||
motor_mount_length_adjustment = 4;
|
motor_mount_length_adjustment = 8;
|
||||||
motor_mount_length = nema17_face + wall_thickness + motor_mount_length_adjustment;
|
motor_mount_length = nema17_face + wall_thickness + motor_mount_length_adjustment;
|
||||||
|
|
||||||
// distance between centerline of rail and centerline of frame Y tube.
|
// distance between centerline of rail and centerline of frame Y tube.
|
||||||
@@ -70,7 +70,7 @@ module corner_base(extension = wall_thickness) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Adjustable feet
|
// Adjustable feet
|
||||||
cylinder(d=8, h=odim * 2 + 1, $fn = screw_num_sides);
|
cylinder(d=8, h=odim * 2 + 1, center=true, $fn = screw_num_sides);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -169,17 +169,19 @@ module nema17_housing() {
|
|||||||
hwidth = corner_size + frame_size + wall_thickness;
|
hwidth = corner_size + frame_size + wall_thickness;
|
||||||
hheight = nema17_face + wall_thickness * 2;
|
hheight = nema17_face + wall_thickness * 2;
|
||||||
hdepth = frame_size + wall_thickness * 2;
|
hdepth = frame_size + wall_thickness * 2;
|
||||||
|
vertical_extension = frame_size + belt_height2;
|
||||||
|
|
||||||
screw_dxy = 31 / 2;
|
screw_dxy = 31 / 2;
|
||||||
|
slot_vector = [0, - motor_mount_length_adjustment, 0];
|
||||||
|
|
||||||
translate([ 0, -nema17_face / 2 - frame_size / 2 - wall_thickness, 0 ]) {
|
translate([ 0, -nema17_face / 2 - frame_size / 2 - wall_thickness, 0 ]) {
|
||||||
slotify([0, - motor_mount_length_adjustment, 0]) {
|
slotify(slot_vector) {
|
||||||
translate([ 0, 0, -2 ])
|
translate([ 0, 0, -belt_height2/2 - wall_thickness ])
|
||||||
cube([ nema17_face + 1, nema17_face + 1, hdepth ], center = true);
|
cube([ nema17_face + 1, nema17_face + 1, hdepth + belt_height2 ], center = true);
|
||||||
cylinder(d = 23, frame_size);
|
cylinder(d = 23, frame_size);
|
||||||
}
|
}
|
||||||
for (x = [-1, 1], y = [-1,1]) {
|
for (x = [-1, 1], y = [-1,1]) {
|
||||||
slotify([0, - motor_mount_length_adjustment, 0])
|
slotify(slot_vector)
|
||||||
translate([
|
translate([
|
||||||
x * screw_dxy,
|
x * screw_dxy,
|
||||||
y * screw_dxy,
|
y * screw_dxy,
|
||||||
@@ -232,6 +234,7 @@ module idler_post(belt_height, toothed = true) {
|
|||||||
|
|
||||||
module flcorner() {
|
module flcorner() {
|
||||||
bom_item();
|
bom_item();
|
||||||
|
motor_height = belt_height2 - belt_height1;
|
||||||
union() {
|
union() {
|
||||||
rotate([ 0, 0, 0 ]) {
|
rotate([ 0, 0, 0 ]) {
|
||||||
corner_base();
|
corner_base();
|
||||||
@@ -245,10 +248,10 @@ module flcorner() {
|
|||||||
])
|
])
|
||||||
cube([
|
cube([
|
||||||
frame_size + wall_thickness + corner_size,
|
frame_size + wall_thickness + corner_size,
|
||||||
motor_mount_length,
|
motor_mount_length + wall_thickness,
|
||||||
frame_size + wall_thickness * 2
|
frame_size + wall_thickness * 2 + motor_height
|
||||||
]);
|
]);
|
||||||
translate([ motor_shaft_xoffset, 0, 0 ]) nema17_housing();
|
translate([ motor_shaft_xoffset, 0, motor_height ]) nema17_housing();
|
||||||
|
|
||||||
}
|
}
|
||||||
// translate([motor_shaft_xoffset, 0, 0 ]) nema17_housing();
|
// translate([motor_shaft_xoffset, 0, 0 ]) nema17_housing();
|
||||||
@@ -258,8 +261,11 @@ module flcorner() {
|
|||||||
motor_shaft_xoffset,
|
motor_shaft_xoffset,
|
||||||
-nema17_face / 2 - frame_size / 2 - wall_thickness, frame_size / 2
|
-nema17_face / 2 - frame_size / 2 - wall_thickness, frame_size / 2
|
||||||
]) {
|
]) {
|
||||||
nema17();
|
translate([0,0,motor_height])
|
||||||
translate([ 0, 0, -frame_size / 2 + belt_height2 ]) { active_pulley(); }
|
nema17();
|
||||||
|
translate([ 0, 0, -frame_size / 2 + belt_height2 ])
|
||||||
|
rotate([180,0,0])
|
||||||
|
{ active_pulley(); }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -312,13 +318,13 @@ module blcorner() {
|
|||||||
cylinder(d = 3, h = belt_height2, $fn=screw_num_sides);
|
cylinder(d = 3, h = belt_height2, $fn=screw_num_sides);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
translate([motor_shaft_xoffset + pulley_sbend_offset, 0, 0])
|
translate([motor_shaft_xoffset + pulley_sbend_offset, 0, frame_size/2])
|
||||||
rotate([0,0,-90])
|
rotate([0,0,-90])
|
||||||
idler_post(belt_height = belt_height1, toothed=true);
|
idler_post(belt_height = belt_height1 - frame_size/2, toothed=true);
|
||||||
|
|
||||||
translate([0, -(motor_shaft_xoffset + pulley_sbend_offset), 0])
|
translate([0, -(motor_shaft_xoffset + pulley_sbend_offset), frame_size/2])
|
||||||
rotate([0,0,-90])
|
rotate([0,0,-90])
|
||||||
idler_post(belt_height = belt_height2, toothed=true);
|
idler_post(belt_height = belt_height2 - frame_size/2, toothed=true);
|
||||||
}
|
}
|
||||||
|
|
||||||
module brcorner() {
|
module brcorner() {
|
||||||
@@ -328,13 +334,13 @@ module brcorner() {
|
|||||||
corner_base(extension = rail_holder_width);
|
corner_base(extension = rail_holder_width);
|
||||||
rail_holder(false);
|
rail_holder(false);
|
||||||
}
|
}
|
||||||
translate([-(motor_shaft_xoffset + pulley_sbend_offset), 0, 0])
|
translate([-(motor_shaft_xoffset + pulley_sbend_offset), 0, frame_size/2])
|
||||||
rotate([0,0,180])
|
rotate([0,0,180])
|
||||||
idler_post(belt_height = belt_height2, toothed=true);
|
idler_post(belt_height = belt_height2 - frame_size/2, toothed=true);
|
||||||
|
|
||||||
translate([0, -(motor_shaft_xoffset + pulley_sbend_offset), 0])
|
translate([0, -(motor_shaft_xoffset + pulley_sbend_offset), frame_size/2])
|
||||||
rotate([0,0,180])
|
rotate([0,0,180])
|
||||||
idler_post(belt_height = belt_height1, toothed=true);
|
idler_post(belt_height = belt_height1 - frame_size/2, toothed=true);
|
||||||
}
|
}
|
||||||
|
|
||||||
module xsled_slider() {
|
module xsled_slider() {
|
||||||
|
|||||||
Reference in New Issue
Block a user