mirror of
https://github.com/nophead/Mendel90.git
synced 2025-08-22 04:43:35 +02:00
Wades block made a bit stronger and now has a socket for the PTFE tube.
This version used on later kits.
This commit is contained in:
Binary file not shown.
Before Width: | Height: | Size: 103 KiB After Width: | Height: | Size: 103 KiB |
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -15,11 +15,6 @@ use <vitamins/jhead_hot_end.scad>
|
|||||||
|
|
||||||
spring = false; // use two nuts or one nut and a spring
|
spring = false; // use two nuts or one nut and a spring
|
||||||
|
|
||||||
module b608(h = 7) {
|
|
||||||
cylinder(r = 11.01, h = h);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
screw_depth = 5;
|
screw_depth = 5;
|
||||||
|
|
||||||
motor_y = 28;
|
motor_y = 28;
|
||||||
@@ -37,6 +32,7 @@ mount_pitch = 25;
|
|||||||
|
|
||||||
filament_x = 75;
|
filament_x = 75;
|
||||||
filament_z = 13;
|
filament_z = 13;
|
||||||
|
feed_tube_socket = 4;
|
||||||
|
|
||||||
extension = max(0, nozzle_length - hot_end_length(hot_end));
|
extension = max(0, nozzle_length - hot_end_length(hot_end));
|
||||||
extension_width = 30;
|
extension_width = 30;
|
||||||
@@ -56,16 +52,21 @@ pscrew_z = [filament_z - 6.5, filament_z + 6.5];
|
|||||||
driven_x = 70;
|
driven_x = 70;
|
||||||
driven_y = 31.5;
|
driven_y = 31.5;
|
||||||
|
|
||||||
bearing_housing_depth = 24 + 2 * filament_width;
|
bearing = BB608;
|
||||||
|
|
||||||
|
bearing_rad = ball_bearing_diameter(bearing) / 2;
|
||||||
|
socket_rad = bearing_rad; // make it a tight fit
|
||||||
|
socket_cr = corrected_radius(socket_rad); // actual radius
|
||||||
|
echo(socket_cr=socket_cr*2);
|
||||||
|
|
||||||
bearing_housing_x = 57;
|
bearing_housing_x = 57;
|
||||||
|
bearing_housing_x2 = driven_x + socket_cr + 2 * filament_width;
|
||||||
|
bearing_housing_depth = bearing_housing_x2 - bearing_housing_x;
|
||||||
|
bearing_housing_bulge = driven_x - bearing_housing_x + 1;
|
||||||
pscrew_length = 50;
|
pscrew_length = 50;
|
||||||
pscrew_x = bearing_housing_x + pscrew_length;
|
pscrew_x = bearing_housing_x + pscrew_length;
|
||||||
|
|
||||||
clamp_depth = hot_end_inset(hot_end) - 1;
|
function extruder_connector_offset() = [-filament_x + motor_x, filament_z - thickness, motor_y] + d_motor_connector_offset();
|
||||||
clamp_width = 2 * (hot_end_screw_pitch(hot_end) + max(screw_clearance_radius(M3_cap_screw) + min_wall, clamp_depth / 2));
|
|
||||||
clamp_height = width - filament_z - 0.5;
|
|
||||||
|
|
||||||
function extruder_connector_offset() = [-filament_x + motor_x, filament_z - thickness, motor_y] + d_motor_connector_offset(NEMA17);
|
|
||||||
|
|
||||||
module keyhole(r, h, l) {
|
module keyhole(r, h, l) {
|
||||||
R = r + layer_height / 4;
|
R = r + layer_height / 4;
|
||||||
@@ -113,6 +114,13 @@ module wades_block_stl() {
|
|||||||
translate([bearing_housing_x, 0, 0])
|
translate([bearing_housing_x, 0, 0])
|
||||||
cube([bearing_housing_depth, height, width]); // bearing housing
|
cube([bearing_housing_depth, height, width]); // bearing housing
|
||||||
|
|
||||||
|
translate([driven_x + 6, driven_y, 0])
|
||||||
|
difference() {
|
||||||
|
cylinder(r = bearing_housing_bulge + 6, h = width); // bulge to make it stronger
|
||||||
|
translate([0, -25, -1])
|
||||||
|
cube([50, 50, width + 2]);
|
||||||
|
}
|
||||||
|
|
||||||
translate([80,1.5,0]) // fillet
|
translate([80,1.5,0]) // fillet
|
||||||
cube([11,11, width]);
|
cube([11,11, width]);
|
||||||
|
|
||||||
@@ -131,7 +139,11 @@ module wades_block_stl() {
|
|||||||
|
|
||||||
translate([filament_x, 20, filament_z])
|
translate([filament_x, 20, filament_z])
|
||||||
rotate([90,0,0])
|
rotate([90,0,0])
|
||||||
teardrop(h = 70, r=4/2, center=true); // filament
|
teardrop_plus(h = 70, r=3.5/2, center=true); // filament
|
||||||
|
|
||||||
|
translate([filament_x, height, filament_z])
|
||||||
|
rotate([90,0,0])
|
||||||
|
teardrop_plus(h = feed_tube_socket * 2, r = tubing_od(PF7) / 2, center = true); // feed tube socket
|
||||||
|
|
||||||
// mounting holes
|
// mounting holes
|
||||||
for(side = [-1, 1])
|
for(side = [-1, 1])
|
||||||
@@ -197,22 +209,23 @@ module wades_block_stl() {
|
|||||||
translate([driven_x, driven_y, 7 + layer_height + eta])
|
translate([driven_x, driven_y, 7 + layer_height + eta])
|
||||||
poly_cylinder(r = M8_clearance_radius + 0.25, h = 30);
|
poly_cylinder(r = M8_clearance_radius + 0.25, h = 30);
|
||||||
|
|
||||||
translate([driven_x + 2, driven_y - 5, filament_z + 4 - eta])
|
translate([driven_x + 1.9, driven_y - 5, filament_z + 4 ])
|
||||||
cube([10, 10, layer_height + eta]); // support bridge
|
cube([10, 10, layer_height]); // support bridge
|
||||||
}
|
}
|
||||||
//
|
//
|
||||||
// Sockets for bearings
|
// Sockets for bearings
|
||||||
//
|
//
|
||||||
translate([driven_x, driven_y, width - 7]) b608(8); // top bearing socket
|
translate([driven_x, driven_y, width - 7]) poly_cylinder(r = socket_rad, h = 8); // top bearing socket
|
||||||
translate([filament_x + 8, driven_y, filament_z - 4]) b608(8); // clearance for idler
|
translate([filament_x + 8, driven_y, filament_z - 4]) cylinder(r = bearing_rad, h = 8); // clearance for idler
|
||||||
translate([driven_x, driven_y, -1 + eta]) b608(8); // bottom bearing socket
|
translate([driven_x, driven_y, -1 + eta]) poly_cylinder(r = socket_rad, h = 8); // bottom bearing socket
|
||||||
|
|
||||||
//
|
//
|
||||||
// Hole for hot end
|
// Hole for hot end
|
||||||
//
|
//
|
||||||
translate([filament_x, -extension + eta, filament_z])
|
translate([filament_x, -extension + eta, filament_z])
|
||||||
rotate([90,0,0]) {
|
rotate([90,0,0]) {
|
||||||
if(hot_end_groove_mount(hot_end)) assign(relief = 0.5) {
|
if(hot_end_groove_mount(hot_end)) {
|
||||||
|
relief = 0.5;
|
||||||
|
|
||||||
translate([0, 0, -insulator_depth + jhead_groove_offset() / 2 + eta]) // slot for the flange
|
translate([0, 0, -insulator_depth + jhead_groove_offset() / 2 + eta]) // slot for the flange
|
||||||
keyhole(insulator / 2, jhead_groove_offset(), width - filament_z);
|
keyhole(insulator / 2, jhead_groove_offset(), width - filament_z);
|
||||||
@@ -226,12 +239,12 @@ module wades_block_stl() {
|
|||||||
rotate([0, 0, i * 120 + jhead_screw_angle])
|
rotate([0, 0, i * 120 + jhead_screw_angle])
|
||||||
translate([jhead_screw_pitch, 0, 0])
|
translate([jhead_screw_pitch, 0, 0])
|
||||||
rotate([0, 0, -i * 120 - jhead_screw_angle]) {
|
rotate([0, 0, -i * 120 - jhead_screw_angle]) {
|
||||||
|
w = nut_flat_radius(screw_nut(jhead_screw));
|
||||||
teardrop_plus(r = screw_clearance_radius(jhead_screw), h = jhead_screw_length * 2, center = true);
|
teardrop_plus(r = screw_clearance_radius(jhead_screw), h = jhead_screw_length * 2, center = true);
|
||||||
translate([0, 0, -base_thickness - extension - jhead_nut_slot / 2]) {
|
translate([0, 0, -base_thickness - extension - jhead_nut_slot / 2]) {
|
||||||
rotate([0, 0, [0, 30, 30][i]])
|
rotate([0, 0, [0, 30, 30][i]])
|
||||||
nut_trap(0, nut_radius(screw_nut(jhead_screw)), jhead_nut_slot / 2, horizontal = true);
|
nut_trap(0, nut_radius(screw_nut(jhead_screw)), jhead_nut_slot / 2, horizontal = true);
|
||||||
|
|
||||||
assign(w = nut_flat_radius(screw_nut(jhead_screw)))
|
|
||||||
rotate([0, 0, [-90 ,0, 180][i]])
|
rotate([0, 0, [-90 ,0, 180][i]])
|
||||||
translate([-w, 0, -jhead_nut_slot / 2])
|
translate([-w, 0, -jhead_nut_slot / 2])
|
||||||
cube([w * 2, 100, jhead_nut_slot], center = false);
|
cube([w * 2, 100, jhead_nut_slot], center = false);
|
||||||
@@ -270,12 +283,6 @@ module wades_gear_spacer_stl() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
bfbext=false;
|
|
||||||
|
|
||||||
function extruder_connector_height() = motor_y - d_motor_bracket_offset(NEMA17);
|
|
||||||
|
|
||||||
module wades_big_gear_stl() {
|
module wades_big_gear_stl() {
|
||||||
stl("wades_big_gear");
|
stl("wades_big_gear");
|
||||||
color(wades_big_gear_color) difference() {
|
color(wades_big_gear_color) difference() {
|
||||||
@@ -351,7 +358,7 @@ module wade_idler_assembly() {
|
|||||||
translate([0, 0, idler_height - 2])
|
translate([0, 0, idler_height - 2])
|
||||||
rotate([90, 0, 0]) {
|
rotate([90, 0, 0]) {
|
||||||
rod(d = 8, l = idler_axel_length);
|
rod(d = 8, l = idler_axel_length);
|
||||||
ball_bearing(BB608);
|
ball_bearing(bearing);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -368,7 +375,7 @@ module extruder_motor_assembly(show_connector = true, exploded = exploded) {
|
|||||||
small_gear_assembly();
|
small_gear_assembly();
|
||||||
|
|
||||||
if(show_connector)
|
if(show_connector)
|
||||||
d_motor_bracket_assembly(NEMA17);
|
d_motor_bracket_assembly();
|
||||||
}
|
}
|
||||||
end("extruder_motor_assembly");
|
end("extruder_motor_assembly");
|
||||||
}
|
}
|
||||||
@@ -426,11 +433,11 @@ module wades_assembly(show_connector = true, show_drive = true) {
|
|||||||
|
|
||||||
// hobbed bolt and gear
|
// hobbed bolt and gear
|
||||||
translate([driven_x, driven_y, 0]) {
|
translate([driven_x, driven_y, 0]) {
|
||||||
translate([0, 0, width - BB608[2] / 2 + (!show_drive ? exploded * 20 : 0)])
|
translate([0, 0, width - ball_bearing_width(bearing) / 2 + (!show_drive ? exploded * 20 : 0)])
|
||||||
ball_bearing(BB608);
|
ball_bearing(bearing);
|
||||||
|
|
||||||
translate([0, 0, BB608[2] / 2 - (!show_drive ? exploded * 20 : 0)])
|
translate([0, 0, ball_bearing_width(bearing) / 2 - (!show_drive ? exploded * 20 : 0)])
|
||||||
ball_bearing(BB608);
|
ball_bearing(bearing);
|
||||||
|
|
||||||
|
|
||||||
if(show_drive) {
|
if(show_drive) {
|
||||||
@@ -489,7 +496,8 @@ module wades_assembly(show_connector = true, show_drive = true) {
|
|||||||
screw(M3_cap_screw, 30);
|
screw(M3_cap_screw, 30);
|
||||||
else
|
else
|
||||||
translate([filament_x, -extension, filament_z])
|
translate([filament_x, -extension, filament_z])
|
||||||
for(i = [0:2]) assign(a = i * 120 - jhead_screw_angle)
|
for(i = [0:2]) {
|
||||||
|
a = i * 120 - jhead_screw_angle;
|
||||||
rotate([90, a, 0]) {
|
rotate([90, a, 0]) {
|
||||||
translate([jhead_screw_pitch, 0, 0])
|
translate([jhead_screw_pitch, 0, 0])
|
||||||
washer(jhead_washer)
|
washer(jhead_washer)
|
||||||
@@ -503,17 +511,18 @@ module wades_assembly(show_connector = true, show_drive = true) {
|
|||||||
rotate([0, 0, [0, 30, 30][i]])
|
rotate([0, 0, [0, 30, 30][i]])
|
||||||
nut(screw_nut(jhead_screw));
|
nut(screw_nut(jhead_screw));
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
end("extruder_assembly");
|
end("extruder_assembly");
|
||||||
}
|
}
|
||||||
|
|
||||||
module wades_extruder_stl() {
|
module wades_extruder_stl() {
|
||||||
difference() {
|
!difference() {
|
||||||
wades_block_stl();
|
wades_block_stl();
|
||||||
*translate([0, driven_y, -1])
|
*translate([0, driven_y, -1])
|
||||||
cube(100);
|
cube([100,30,100]);
|
||||||
}
|
}
|
||||||
translate([96, driven_y + 1, 0]) rotate([0,0,90]) wades_idler_block_stl();
|
translate([97, driven_y + 1, 0]) rotate([0,0,90]) wades_idler_block_stl();
|
||||||
translate([motor_max, motor_y, 0]) wades_gear_spacer_stl();
|
translate([motor_max, motor_y, 0]) wades_gear_spacer_stl();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user