Browse Source

Add linear bearing, remove warnings, tweak y rail offset.

Thomas Buck 6 years ago
parent
commit
58551c587e

+ 1
- 1
lib/Belt_Generator.scad View File

@@ -50,7 +50,7 @@ $fa = 2; // Try increasing this number if rendering of curves is unusably slow.
50 50
 
51 51
 // Set maximum_diameter to the shorter of your x or y axis.
52 52
 // It is used to limit length of straights and diameter of loops and spirals.
53
-maximum_diameter = 200;	
53
+maximum_diameter = 800;	
54 54
 
55 55
 // Tooth profile default values chosen from belts offered in catalog pages at http://sdp-si.com
56 56
 // Tooth profile defaults are ordered: tooth_profile, tooth_pitch, back_thickness, belt_width

+ 4
- 4
lib/Pulley_T-MXL-XL-HTD-GT2_N-tooth.scad View File

@@ -32,13 +32,13 @@ m3_nut_depth = 2.7;	// normal M3 hex nut exact depth = 2.4, nyloc = 4
32 32
 
33 33
 retainer = 1;		// Belt retainer above teeth, 0 = No, 1 = Yes
34 34
 retainer_ht = 1.5;	// height of retainer flange over pulley, standard = 1.5
35
-idler = 1;			// Belt retainer below teeth, 0 = No, 1 = Yes
35
+idler = 0;			// Belt retainer below teeth, 0 = No, 1 = Yes
36 36
 idler_ht = 1.5;		// height of idler flange over pulley, standard = 1.5
37 37
 
38 38
 pulley_t_ht = 7.3;	// length of toothed part of pulley, standard = 12
39 39
 pulley_b_ht = 7;		// pulley base height, standard = 8. Set to same as idler_ht if you want an idler but no pulley.
40 40
 pulley_b_dia = 16;	// pulley base diameter, standard = 20
41
-no_of_nuts = 2;		// number of captive nuts required, standard = 1
41
+no_of_nuts = 0;		// number of captive nuts required, standard = 1
42 42
 nut_angle = 90;		// angle between nuts, standard = 90
43 43
 nut_shaft_distance = 1.2;	// distance between inner face of nut and shaft, can be negative.
44 44
 
@@ -185,8 +185,8 @@ module pulley( belt_type , pulley_OD , tooth_depth , tooth_width )
185 185
 				
186 186
 		//captive nut and grub screw holes
187 187
 	
188
-		if ( pulley_b_ht < m3_nut_flats ) { echo ("CAN'T DRAW CAPTIVE NUTS, HEIGHT LESS THAN NUT DIAMETER!!!"); } else {
189
-		if ( (pulley_b_dia - motor_shaft)/2 < m3_nut_depth + 3 ) { echo ("CAN'T DRAW CAPTIVE NUTS, DIAMETER TOO SMALL FOR NUT DEPTH!!!"); } else {
188
+		if ( pulley_b_ht < m3_nut_flats && no_of_nuts > 0) { echo ("CAN'T DRAW CAPTIVE NUTS, HEIGHT LESS THAN NUT DIAMETER!!!"); } else {
189
+		if ( (pulley_b_dia - motor_shaft)/2 < m3_nut_depth + 3 && no_of_nuts > 0) { echo ("CAN'T DRAW CAPTIVE NUTS, DIAMETER TOO SMALL FOR NUT DEPTH!!!"); } else if (no_of_nuts > 0) {
190 190
 	
191 191
 			for(j=[1:no_of_nuts]) rotate([0,0,j*nut_angle])
192 192
 			translate([0,0,nut_elevation])rotate([90,0,0])

+ 19
- 0
lib/linear_bearing.scad View File

@@ -0,0 +1,19 @@
1
+
2
+// #######################################################
3
+// ################### Linear Bearings ###################
4
+// #######################################################
5
+
6
+lm8uu_outer = 15;
7
+lm8uu_inner = 8;
8
+lm8uu_height = 24;
9
+
10
+module lm8uu() {
11
+    $fn = 15;
12
+    difference() {
13
+        cylinder(d = lm8uu_outer, h = lm8uu_height);
14
+        translate([0, 0, -1])
15
+            cylinder(d = lm8uu_inner, h = lm8uu_height + 2);
16
+    }
17
+}
18
+
19
+//lm8uu();

+ 7
- 1
lib/rail_mount.scad View File

@@ -9,7 +9,7 @@ rail_mount_block = 22;
9 9
 rail_mount_height = 11;
10 10
 
11 11
 rail_dia = 8;
12
-rail_y_off_1 = 5;
12
+rail_y_off_1 = 10;
13 13
 
14 14
 cutout_width = 0.5;
15 15
 
@@ -61,6 +61,12 @@ module rail_mount(slot) {
61 61
             translate([0, 0, rail_mount_height + rail_mount_wall -2.5])
62 62
                 cylinder(d = 6.1, h = 3.8);
63 63
         }
64
+        
65
+        translate([-10, -10, -22])
66
+            cube([30, 30, 30]);
67
+        
68
+        translate([-10, -10, 2 * slot - 8])
69
+            cube([30, 30, 30]);
64 70
     }
65 71
 }
66 72
 

+ 30
- 0
xyRepRap.scad View File

@@ -25,6 +25,9 @@ outer_height = 500;
25 25
 // display heatbed centered in print volume
26 26
 bed_draw_height = (outer_height - heatbed_height) / 2;
27 27
 
28
+echo(print_x=heatbed_width, print_y=heatbed_length);
29
+echo(frame_x=outer_width, frame_y=outer_length, frame_z=outer_height);
30
+
28 31
 // #######################################################
29 32
 // ###################### Libraries ######################
30 33
 // #######################################################
@@ -35,6 +38,7 @@ include <lib/Belt_Generator.scad>
35 38
 include <lib/Pulley_T-MXL-XL-HTD-GT2_N-tooth.scad>
36 39
 include <lib/bearing_idler.scad>
37 40
 include <lib/rail_mount.scad>
41
+include <lib/linear_bearing.scad>
38 42
 
39 43
 module gt2_belt(length) {
40 44
     difference() {
@@ -224,6 +228,14 @@ module y_rails() {
224 228
         rotate([-90, 0, 0])
225 229
         cylinder(d = rail_dia, h = outer_length - (2 * slot) - nema17_size - rail_mount_dist);
226 230
     
231
+    // some lm8uu bearings on red side
232
+    color("yellow")
233
+    for (i = [0 : 30 : 60]) {
234
+        translate([rail_dia / 2 + rail_y_off_1, 60 + i, -30])
235
+            rotate([-90, 0, 0])
236
+            lm8uu();
237
+    }
238
+    
227 239
     // rail mounts for blue side
228 240
     color("green")
229 241
     translate([0, 2 * rail_mount_dist, -2 * slot])
@@ -237,6 +249,24 @@ module y_rails() {
237 249
     translate([outer_width - (2 * slot) - rail_dia / 2 - rail_y_off_1, 18, -30])
238 250
         rotate([-90, 0, 0])
239 251
         cylinder(d = rail_dia, h = outer_length - (2 * slot) - nema17_size - rail_mount_dist);
252
+    
253
+    // some lm8uu bearings on red side
254
+    color("yellow")
255
+    for (i = [0 : 30 : 60]) {
256
+        translate([outer_width - (2 * slot) - rail_dia / 2 - rail_y_off_1, 60 + i, -30])
257
+            rotate([-90, 0, 0])
258
+            lm8uu();
259
+    }
260
+    
261
+    // rail mounts for red side
262
+    color("green")
263
+    translate([outer_width - (2 * slot), 2 * rail_mount_dist + rail_mount_len, -2 * slot])
264
+        rotate([0, 0, 180])
265
+        rail_mount(slot);
266
+    color("green")
267
+    translate([outer_width - (2 * slot), outer_length - (2 * slot) - nema17_size - rail_mount_dist + 5 + rail_mount_len, -2 * slot])
268
+        rotate([0, 0, 180])
269
+        rail_mount(slot);
240 270
 }
241 271
 
242 272
 x_rail_dist = 50;

Loading…
Cancel
Save