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 slot for motor electronic connection
|
||||
* Raise motor mount on front left motor
|
||||
* Raise motor mount on front left corner
|
||||
|
||||
## Electronics
|
||||
|
||||
|
||||
@@ -8,13 +8,13 @@ module frame() {
|
||||
tslot(xsize - 2 * corner_offset);
|
||||
|
||||
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 ])
|
||||
tslot(xsize - 2 * corner_offset);
|
||||
translate([ frame_size/2 + rail_holder_width, ysize, 0 ]) rotate([ 0, 90, 0 ])
|
||||
tslot(xsize - frame_size - rail_holder_width * 2);
|
||||
|
||||
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() {
|
||||
translate([ 0, 0 ]) flcorner();
|
||||
@@ -76,9 +76,15 @@ union() {
|
||||
moving_parts();
|
||||
}
|
||||
|
||||
*intersection() {
|
||||
ysled_slider(spread=sled_ysize);
|
||||
translate([0, -1000, -1000])
|
||||
cube([2000, 2000, 2000]);
|
||||
*union() {
|
||||
rails();
|
||||
frame();
|
||||
intersection() {
|
||||
union() {
|
||||
corners();
|
||||
}
|
||||
translate([-1000, - 1000, -1000])
|
||||
cube([2000, 2000, 1000]);
|
||||
}
|
||||
}
|
||||
*xsled2();
|
||||
42
parts.scad
42
parts.scad
@@ -23,7 +23,7 @@ belt_height2 = belt_height1 + belt_width + 2;
|
||||
|
||||
ysled_rail_spacing = (sled_ysize);
|
||||
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;
|
||||
|
||||
// distance between centerline of rail and centerline of frame Y tube.
|
||||
@@ -70,7 +70,7 @@ module corner_base(extension = wall_thickness) {
|
||||
}
|
||||
|
||||
// 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;
|
||||
hheight = nema17_face + wall_thickness * 2;
|
||||
hdepth = frame_size + wall_thickness * 2;
|
||||
vertical_extension = frame_size + belt_height2;
|
||||
|
||||
screw_dxy = 31 / 2;
|
||||
slot_vector = [0, - motor_mount_length_adjustment, 0];
|
||||
|
||||
translate([ 0, -nema17_face / 2 - frame_size / 2 - wall_thickness, 0 ]) {
|
||||
slotify([0, - motor_mount_length_adjustment, 0]) {
|
||||
translate([ 0, 0, -2 ])
|
||||
cube([ nema17_face + 1, nema17_face + 1, hdepth ], center = true);
|
||||
slotify(slot_vector) {
|
||||
translate([ 0, 0, -belt_height2/2 - wall_thickness ])
|
||||
cube([ nema17_face + 1, nema17_face + 1, hdepth + belt_height2 ], center = true);
|
||||
cylinder(d = 23, frame_size);
|
||||
}
|
||||
for (x = [-1, 1], y = [-1,1]) {
|
||||
slotify([0, - motor_mount_length_adjustment, 0])
|
||||
slotify(slot_vector)
|
||||
translate([
|
||||
x * screw_dxy,
|
||||
y * screw_dxy,
|
||||
@@ -232,6 +234,7 @@ module idler_post(belt_height, toothed = true) {
|
||||
|
||||
module flcorner() {
|
||||
bom_item();
|
||||
motor_height = belt_height2 - belt_height1;
|
||||
union() {
|
||||
rotate([ 0, 0, 0 ]) {
|
||||
corner_base();
|
||||
@@ -245,10 +248,10 @@ module flcorner() {
|
||||
])
|
||||
cube([
|
||||
frame_size + wall_thickness + corner_size,
|
||||
motor_mount_length,
|
||||
frame_size + wall_thickness * 2
|
||||
motor_mount_length + wall_thickness,
|
||||
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();
|
||||
@@ -258,8 +261,11 @@ module flcorner() {
|
||||
motor_shaft_xoffset,
|
||||
-nema17_face / 2 - frame_size / 2 - wall_thickness, frame_size / 2
|
||||
]) {
|
||||
translate([0,0,motor_height])
|
||||
nema17();
|
||||
translate([ 0, 0, -frame_size / 2 + belt_height2 ]) { active_pulley(); }
|
||||
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);
|
||||
}
|
||||
}
|
||||
translate([motor_shaft_xoffset + pulley_sbend_offset, 0, 0])
|
||||
translate([motor_shaft_xoffset + pulley_sbend_offset, 0, frame_size/2])
|
||||
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])
|
||||
idler_post(belt_height = belt_height2, toothed=true);
|
||||
idler_post(belt_height = belt_height2 - frame_size/2, toothed=true);
|
||||
}
|
||||
|
||||
module brcorner() {
|
||||
@@ -328,13 +334,13 @@ module brcorner() {
|
||||
corner_base(extension = rail_holder_width);
|
||||
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])
|
||||
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])
|
||||
idler_post(belt_height = belt_height1, toothed=true);
|
||||
idler_post(belt_height = belt_height1 - frame_size/2, toothed=true);
|
||||
}
|
||||
|
||||
module xsled_slider() {
|
||||
|
||||
Reference in New Issue
Block a user