Refactor plate screw, fix Z for single plate
authorVáclav 'Ax' Hůla <axtheb@gmail.com>
Wed, 3 Apr 2013 09:09:27 +0000 (11:09 +0200)
committerVáclav 'Ax' Hůla <axtheb@gmail.com>
Wed, 3 Apr 2013 09:09:27 +0000 (11:09 +0200)
box_frame/configuration.scad.dist
box_frame/inc/functions.scad
box_frame/x-end.scad
box_frame/z-axis.scad

index 5f95a5c..bd1ee19 100644 (file)
@@ -6,9 +6,6 @@
 // http://www.reprap.org/wiki/Prusa_Mendel
 // http://github.com/prusajr/PrusaMendel
 
-// PLEASE SELECT ONE OF THE CONFIGURATIONS BELOW
-// BY UN-COMMENTING IT
-
 include <inc/metric.scad>;
 include <inc/conf_bushing.scad>;
 
@@ -21,7 +18,7 @@ width_over_thickness = 2.2;
 
 //T2.5
 belt_tooth_distance = 2.5;
-belt_tooth_ratio = 0.5;
+belt_tooth_ratio = 0.75;
 
 //T5 (strongly discouraged)
 //belt_tooth_distance = 5;
@@ -56,15 +53,27 @@ bushing_carriage = bushing_xy;
 // [outer_diameter, width, inner_diameter, uses_guide]
 // 608 [standard skate bearings] with bearing guide
 bearing_608 = [22, 7, 8, 1];
-//608 bearings with fender washers
+//608 bearings with fender washers. Not good at all, the belt brushes against the carriage
 bearing_608_washers = [22, 10, 8, 0];
-// 624 [roughly same diameter as pulley, makes belt parallel so its prettier]
-bearing_624 = [16, 5, 4, 1];
-// two 624 - for use without bearing guides. My favourite [ax]
-bearing_624_double = [16, 10, 4, 0];
+// one 625 with guides
+bearing_625 = [16, 5, 5, 1];
+// two 625 - for use without bearing guides.
+bearing_625_double = [16, 10, 5, 0];
+
+// those two here are really good:
+bearing_624_double = [13, 9, 4, 0];
+// this one has roughly same diameter as pulley, makes belt parallel so its prettier
+bearing_623_double = [10, 8, 3, 0];
 
 idler_bearing = bearing_624_double;
 
+//Select carriage lenght
+// 30 for single carriage extruder (two holes with centers 30mm apart)
+// 50 for wade or single with fan (three holes, 30-20)
+// 80 for full length carriage (four holes, 30-20-30)
+
+carriage_l_base = 50;
+
 // Fillets ********************************************************************
 // mostly cosmetic, except z axis.
 // 0 = no fillets
index a035a72..262f448 100644 (file)
@@ -131,6 +131,14 @@ module screw(h=20, r=2, r_head=3.5, head_drop=0, slant=i_am_box, poly=false, $fn
     }
 }
 
+module plate_screw() {
+    if (i_am_box == 0) {
+        screw(head_drop=14, h=20, r_head=3.6, r=1.7, $fn=24, slant=false);
+    } else {
+        translate([0, 0, -2]) screw(head_drop=14, h=20, r_head=4.5, r=2, $fn=24, slant=true);
+    }
+}
+
 //radius of the idler assembly (to surface that touches belt, ignoring guide walls)
 function idler_assy_r_inner(idler_bearing) = (idler_bearing[0] / 2) + 4 * single_wall_width * idler_bearing[3];
 //radius of the idler assembly (to smooth side of belt)
index 554dfb0..868b1f2 100644 (file)
@@ -127,7 +127,7 @@ module pushfit_rod(diameter, length){
 }
 
 if (idler_bearing[3] == 1) {
-    translate([-25, -20 - idler_bearing[0] / 2, 0]) {
+    translate([-25, -30 - idler_bearing[0] / 2, 0]) {
         render() bearing_guide_inner();
         translate([idler_bearing[0]+10, 0, 0])
             render()bearing_guide_outer();
index 6c6ada0..99b3c32 100644 (file)
@@ -8,13 +8,13 @@
 
 include <configuration.scad>
 
-module zmotorholder(thickness=23, bottom_thickness=5){
+module zmotorholder(thickness=(i_am_box == 0 ? 38 : 23), bottom_thickness=5){
     difference(){
         union(){
             // Motor holding part
             difference(){
                 union(){
-                    zrodholder(thickness=thickness, xlen=45, ylen=45, zdelta=((i_want_to_use_single_plate_dxf_and_make_my_z_weaker == 0) ? 0 : 5));
+                    zrodholder(thickness=thickness, xlen=45, ylen=44, zdelta=((i_want_to_use_single_plate_dxf_and_make_my_z_weaker == 0) ? 0 : 5));
                     translate([board_to_xz_distance, board_to_xz_distance, 0]) {
                         nema17(places=[0, 1, 1, 1], h=bottom_thickness + layer_height, $fn=23, shadow=layer_height + 2);
                     }
@@ -32,32 +32,40 @@ module zmotorholder(thickness=23, bottom_thickness=5){
 }
 
 
-module zrodholder(thickness=15, bottom_thickness=5, ylen=42, xlen=34, zdelta=0){
+module zrodholder(thickness=(i_am_box == 0 ? 14 : 15), bottom_thickness=5, ylen=44, xlen=34, zdelta=0){
     holder_inner_r = 9;
+    holder_inner_r2 = 2;
     difference(){
         union(){
             difference(){
                 union(){
                     //piece along the flat side of a board
                     cube_fillet([14, ylen, bottom_thickness], vertical=[8, 3, 0, 0]);
-                    cube_fillet([5, ylen, thickness], vertical=[3, 3, 0, 0], top = [thickness/2, 0, 0, 5]);
+                    cube_fillet([5, ylen, thickness], vertical=[3, 3, 0, 0], top = [thickness / 1.7, 0, 0, 5]);
                     //hole for Z axis is thru this
                     cube_fillet([xlen, 14, bottom_thickness], vertical=[3, 0, 0, 3]);
-                    translate([14,14,0]) {
+                    translate([14, 14, 0]) {
                         //large fillet that makes it stiffer by lot. Thanks to Marcus Wolschon
                         difference(){
-                            cube([holder_inner_r,holder_inner_r,bottom_thickness]);
+                            cube([holder_inner_r, holder_inner_r, bottom_thickness]);
                             translate([holder_inner_r, holder_inner_r, -0.5])
                                 cylinder(r=holder_inner_r, h=bottom_thickness + 1);
                         }
                     }
+                    translate([5, 5, 0]) {
+                        difference(){
+                            cube([holder_inner_r2, holder_inner_r2, thickness - 5.5]);
+                            translate([holder_inner_r2, holder_inner_r2, -0.5])
+                                cylinder(r=holder_inner_r2, h=thickness + 1, $fn=20);
+                        }
+                    }
                     //piece along cut side of the board
                     if (i_am_box == 1) {
                         translate([-board_thickness, 0, 0])
-                            cube_fillet([board_thickness + board_to_xz_distance + bushing_z[0], 5, thickness], radius=2, top = [0, 0, 0, thickness]);
+                            cube_fillet([board_thickness + board_to_xz_distance + bushing_z[0], 5, thickness], radius=2, top = [0, 0, 0, thickness], $fn=99);
                     } else {
                         translate([-board_thickness/2, 0, 0])
-                            cube_fillet([board_thickness/2 + board_to_xz_distance + bushing_z[0], 5, thickness], radius=2, top = [0, 0, 0, thickness]);
+                            cube_fillet([board_thickness/2 + board_to_xz_distance + bushing_z[0], 5, thickness], radius=2, top = [0, 0, 0, thickness], $fn=99);
                     }
                     //smooth rod insert
                     translate([board_to_xz_distance - z_delta, 9, 0])
@@ -66,30 +74,34 @@ module zrodholder(thickness=15, bottom_thickness=5, ylen=42, xlen=34, zdelta=0){
                 //smooth rod hole
                 translate([board_to_xz_distance - z_delta, 9, -1]) cylinder_poly(h=board_thickness+20, r=bushing_z[0] + single_wall_width / 4);
                 //inside rouned corner
-                translate([0, 5, -1]) cylinder(r=1.2, h=100, $fn=8);
+                translate([0, 5, -1]) cylinder(r=0.8, h=100, $fn=8);
                 //side screw
                 //translate([-board_thickness/2, 0, thickness/2-1.5]) rotate([-90, 0, 0]) screw(h=30, r_head=4);
                 //front screws
                 if (i_am_box != 1) {
                     //single plate has both screws on front
                     translate([16, 35, bottom_thickness + 4.5 + zdelta]) rotate([0, -90, 0]) {
-                        screw(head_drop=14, h=122, r_head=4.5);
+                        plate_screw();
                     }
                     translate([16, 15, bottom_thickness + 4.5 + zdelta]) rotate([0, -90, 0]) {
-                        screw(head_drop=14, h=122, r_head=4.5);
+                        plate_screw();
+                    }
+                    //motor mount has third screw
+                    translate([16, 25, bottom_thickness + 4.5 + zdelta + 20]) rotate([0, -90, 0]) {
+                        plate_screw();
                     }
                 } else {
                     translate([16, 30, bottom_thickness+4]) rotate([0, -90, 0]) {
-                        screw(head_drop=12, h=122, r_head=4);
+                        plate_screw();
                     }
                     //side screw
-                    translate([-board_thickness/2, 0, thickness/2]) rotate([-90, 0, 0]) screw(h=30, r_head=4.5, head_drop=1);
+                    translate([-board_thickness/2, -11, thickness/2]) rotate([-90, 0, 0]) plate_screw();
                 }
             }
         }
     }
 }
-translate([0, -2, 0]) mirror([0, 1, 0]) zmotorholder();
-translate([0, 2, 0]) zmotorholder();
-translate([23, -64, 0]) zrodholder();
-translate([23, 64, 0]) mirror([0, 1, 0]) zrodholder();
+translate([10, -50, 0]) zmotorholder();
+translate([0, 50, 0]) mirror([0, 1, 0]) zmotorholder();
+translate([67, 14, 0]) rotate([0,0,90]) zrodholder();
+translate([77, -14, 0]) rotate([0, 0, -90]) mirror([0, 1, 0]) zrodholder();