Better configuration of idler bearings
authorVáclav 'Ax' Hůla <axtheb@gmail.com>
Mon, 4 Feb 2013 08:36:12 +0000 (09:36 +0100)
committerVáclav 'Ax' Hůla <axtheb@gmail.com>
Mon, 4 Feb 2013 08:36:12 +0000 (09:36 +0100)
box_frame/bearing-guide.scad
box_frame/configuration.scad.dist
box_frame/y-drivetrain.scad

index 0bd4e5d..972bccf 100644 (file)
 
 include <configuration.scad>
 
 
 include <configuration.scad>
 
+//thickness of guiding wall
 thickness=1;
 thickness=1;
-height=7+thickness;
-wall_ascent=5;
-wall_descent=0.5;
+
+belt_width = 7;
+height = belt_width + thickness;
+//height of the guiding wall, from beraring surface
+wall_ascent = 5;
+//guiding wall extends to sides of bearing too
+wall_descent = 1;
 
 module inner()
 {
 
 module inner()
 {
-    difference()
-    {
-        cylinder(r=idler_size/2+single_wall_width*2,h=height);
+    difference(){
+        cylinder(r=idler_bearing[0] / 2 + single_wall_width * 2, h=height - (belt_width - idler_bearing[1])/2);
         translate([0,0,-1])
         translate([0,0,-1])
-            cylinder(r=idler_size/2,h=height+2);
+            cylinder(r=idler_bearing[0]/2,h=height+2);
     }
 
     }
 
-    difference()
-    {
-        cylinder(r=idler_size/2+wall_ascent,h=thickness);
+    difference(){
+        union() {
+            cylinder(r=idler_bearing[0] / 2 + wall_ascent, h=thickness);
+            cylinder(r=idler_bearing[0] / 2, h=thickness + (belt_width - idler_bearing[1])/2);
+        }
         translate([0,0,-1])
         translate([0,0,-1])
-            cylinder(r=idler_size/2-wall_descent,h=thickness+2);
+            cylinder(r=idler_bearing[0]/2-wall_descent,h=thickness+10);
     }
 }
 
 module outer()
 {
     }
 }
 
 module outer()
 {
-    difference()
-    {
-        cylinder(r=idler_size/2+2*single_wall_width*2+0.2,h=height);
+    difference(){
+        cylinder(r=idler_bearing[0]/2+2*single_wall_width*2+0.2,h=height);
         translate([0,0,-1])
         translate([0,0,-1])
-            cylinder(r=idler_size/2+single_wall_width*2+0.2,h=height+2);
+            cylinder(r=idler_bearing[0]/2+single_wall_width*2+0.2,h=height+2);
     }
 
     }
 
-    difference()
-    {
-        cylinder(r=idler_size/2+wall_ascent,h=thickness);
+    difference(){
+        union(){
+            cylinder(r=idler_bearing[0]/2+wall_ascent,h=thickness);
+            cylinder(r=idler_bearing[0] / 2, h=thickness + (belt_width - idler_bearing[1])/2);
+        }
         translate([0,0,-1])
         translate([0,0,-1])
-            cylinder(r=idler_size/2-wall_descent,h=thickness+2);
+            cylinder(r=idler_bearing[0]/2-wall_descent,h=thickness+2);
     }
 }
 
     }
 }
 
-inner();
-translate([idler_size+2*wall_ascent+2,0,0])
-    outer();
+if (idler_bearing[3] == 1) {
+    inner();
+    translate([idler_bearing[0]+2*wall_ascent+2,0,0])
+        outer();
+
+    translate([0,idler_bearing[0]+2*wall_ascent+2,0]){
+        inner();
+        translate([idler_bearing[0]+2*wall_ascent+2,0,0])
+            outer();
 
 
-translate([0,idler_size+2*wall_ascent+2,0]){
-inner();
-translate([idler_size+2*wall_ascent+2,0,0])
-    outer();
+    }
+} else {
+    cube([0.1,0.1,0.1]);
+    echo ("None");
 }
 }
index 3a010a1..7d06626 100644 (file)
@@ -35,7 +35,8 @@ belt_tooth_ratio = 0.5;
 //belt_tooth_distance = 2.032;
 //belt_tooth_ratio = 0.64;
 
 //belt_tooth_distance = 2.032;
 //belt_tooth_ratio = 0.64;
 
-//GT2
+//GT2 there is bunch of GT2 belts with different tooth-to-tooth distance
+//adjust to your needs
 //belt_tooth_distance = 2;
 //belt_tooth_ratio = 0.5;
 
 //belt_tooth_distance = 2;
 //belt_tooth_ratio = 0.5;
 
@@ -46,14 +47,19 @@ bushing_xy = conf_b_lm8uu;
 bushing_z = conf_b_lm8uu;
 
 // Select idler bearing size **************************************************
 bushing_z = conf_b_lm8uu;
 
 // Select idler bearing size **************************************************
+// [outer_diameter, width, inner_diameter, uses_guide]
+// 608 [standard skate bearings]
+bearing_608 = [22, 7, 8, 1];
+// 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
+bearing_624_double = [16, 10, 4, 0];
 
 
-// 0 = 608 [standard skate bearings]
-// 1 = 624 [roughly same diameter as pulley, makes belt parallel so its prettier]
-
-idler_bearing = 0;
+idler_bearing = bearing_624_double;
 
 // Fillets ********************************************************************
 
 // Fillets ********************************************************************
-// 0 = no fillets
+// mostly cosmetic, except z axis.
+// 0 = no fillts
 // 1 = fillet
 
 use_fillets = 1;
 // 1 = fillet
 
 use_fillets = 1;
@@ -70,7 +76,7 @@ i_want_to_use_single_plate_dxf_and_make_my_z_weaker = 1;
 
 y_threaded_rod_long_r = 5.4;
 
 
 y_threaded_rod_long_r = 5.4;
 
-// Thickness of the XZ plate board
+// Thickness of the XZ plate board. Leave at 12 for single plate
 board_thickness = 12;
 
 // END of custom settings
 board_thickness = 12;
 
 // END of custom settings
@@ -85,10 +91,9 @@ single_wall_width = width_over_thickness * layer_height;
 
 idler_size = (idler_bearing == 0) ? 22 : 13;
 
 
 idler_size = (idler_bearing == 0) ? 22 : 13;
 
-//use 4.5 for 608, 2.5 for 624
 idler_size_inner_r = (idler_bearing == 0) ? 4.5 : 2.5;
 
 idler_size_inner_r = (idler_bearing == 0) ? 4.5 : 2.5;
 
-idler_width = (idler_bearing == 0) ? 9 : 5;
+idler_width = (idler_bearing[1] > 7 ? idler_bearing[1] : 7) + 2 * idler_bearing[3];
 
 
 //deltas are used to enlarge parts for bigger bearings 
 
 
 //deltas are used to enlarge parts for bigger bearings 
index 86d4427..b1888b5 100644 (file)
@@ -39,28 +39,21 @@ module motorholder(thickness=10){
 }
 
 
 }
 
 
-module idlermount(support=false){
+module idlermount(){
     difference(){
         union(){
     difference(){
         union(){
-            //translate([8,8,0]) cylinder(h = 19, r=8);
-            //translate([8,33,0]) cylinder(h = 19, r=8);
-            translate([0,0,0]) cube_fillet([16,41,10+idler_width], vertical = [0,0,0,0], top = [3,0,3,0], bottom = [3,0,3,0]);
+            cube_fillet([16,41,10 + idler_width], vertical = [0,0,0,0], top = [3,0,3,0], bottom = [3,0,3,0], center=true);
         }
         }
-        translate([8,8,-1]) cylinder(h = 120, r=idler_size_inner_r);
-        translate([8,33,-1]) cylinder(h = 25, r=4.5);
+        translate([0,12,-1]) cylinder(h = 120, r=idler_bearing[2]/2 + 1, $fn=7, center=true);
+        translate([0,-12,-1]) cylinder(h = 25, r=4.5, center=true);
 
 
-        translate([8,8,4]) {
-            %translate([0,0,1]) cylinder(h = idler_width, r=(idler_size/2)+2*single_wall_width);
-            cylinder(h = idler_width+2, r=(idler_size/2)+8);
+        translate([0,12,0]) {
+            %cylinder(h = idler_width, r=(idler_bearing[0] / 2) + 2 * single_wall_width, center=true);
+            cylinder(h = idler_width + 1, r=(idler_bearing[0] / 2) + 8, center=true);
         }
     }
         }
     }
-    if (support) {
-        translate([0,-2,15]) cube([16,16,0.4]);
-        translate([0,-2,0]) cube([16,1.3,15]);
-    }
-
 }
 
 motorholder();
 }
 
 motorholder();
-translate([25,0,16]) rotate([0,90,0]) idlermount();
+translate([32,20,8]) rotate([0,90,0]) idlermount();