Просмотр исходного кода

more tuning of capsule holder for test rig, added sleeve to model that holds everything together - we need to add more back pressure for the contacts as they are not reliable, more tests needed

Fernando Pablo Lopez-Lezcano 11 лет назад
Родитель
Сommit
8e01706188
1 измененных файлов с 52 добавлено и 24 удалено
  1. 52 24
      TestRig.scad

+ 52 - 24
TestRig.scad

@@ -36,13 +36,14 @@ pad_offset = 3.56;
 
 
 // slot for contact
 // slot for contact
 // contact_width = 0.85;
 // contact_width = 0.85;
-contact_width = 0.95;
+contact_width = 1.00;
 
 
 // length of contact
 // length of contact
 contact_length = 2.9;
 contact_length = 2.9;
 
 
 // depth of contact channel (includes contact)
 // depth of contact channel (includes contact)
-contact_depth = 0.79;
+// contact_depth = 0.79;
+contact_depth = 0.5;
 
 
 // island around contact
 // island around contact
 contact_border = 0.5;
 contact_border = 0.5;
@@ -51,23 +52,24 @@ contact_border = 0.5;
 contact_offset = 0.3;
 contact_offset = 0.3;
 
 
 // cutout offset from edge of capsule
 // cutout offset from edge of capsule
-contact_cutout = 1.0;
+contact_cutout = 1.7;
+contact_cutout_gnd = 2.2;
 
 
 // support depth
 // support depth
-disk_depth = 1.17;
+disk_depth = 0.9;
 disk_edge = 0.49;
 disk_edge = 0.49;
 
 
 // adjustment for the inner radius of the capsule holder
 // adjustment for the inner radius of the capsule holder
 //   measured inside diameter of a trial print was around 7.5 to 8.2 
 //   measured inside diameter of a trial print was around 7.5 to 8.2 
 //   instead of 10, capsule diameter was 9.99)
 //   instead of 10, capsule diameter was 9.99)
-fudge = 0.15;
+//   changed from 0.15 to 0.1 for tighter fit
+fudge = 0.10;
 
 
 // number of facets for rendering cylinders
 // number of facets for rendering cylinders
-facets = 64;
-
+facets = 128;
 
 
 // one slot for a contact
 // one slot for a contact
-module contact (trans, angle, slot = false) {
+module contact (trans, angle, cutout, slot = false) {
     rotate([0, 0, angle]) {
     rotate([0, 0, angle]) {
         translate(trans) {
         translate(trans) {
             translate([- (contact_width + 2 * contact_border) / 2, 0, 0]) {
             translate([- (contact_width + 2 * contact_border) / 2, 0, 0]) {
@@ -80,18 +82,20 @@ module contact (trans, angle, slot = false) {
                             cube([contact_width, capsule_radius + wall / 2, disk_depth]);
                             cube([contact_width, capsule_radius + wall / 2, disk_depth]);
                         }
                         }
                         // cutout for clip from edge of disk
                         // cutout for clip from edge of disk
-                        translate([contact_width / 2, capsule_radius - contact_cutout, 0]) {
-                            cube([contact_width, contact_length, disk_depth]);
+                        translate([contact_width, capsule_radius - cutout, 0]) {
+                            cylinder(r = contact_width / 2 * 1.25, h = disk_depth, $fn = facets);
+                            //cube([contact_width, 0.8, disk_depth]);
                         }
                         }
                     }
                     }
                 } else {
                 } else {
                     // just the cutouts
                     // just the cutouts
-                        translate([contact_width / 2, 0, contact_depth]) {
-                            // channel for clip
-                            cube([contact_width, capsule_radius + wall, disk_depth]);
-                        }
-                    translate([contact_width / 2, capsule_radius - 0.666, 0]) {
-                        cube([contact_width, contact_length, disk_depth]);
+                    translate([contact_width / 2, 0, contact_depth]) {
+                        // channel for clip
+                        cube([contact_width, capsule_radius + wall, disk_depth]);
+                    }
+                    translate([contact_width, capsule_radius - cutout, 0]) {
+                        //cube([contact_width, 0.8, disk_depth]);
+                        cylinder(r = contact_width / 2 * 1.25, h = disk_depth, $fn = facets);
                     }
                     }
                 }
                 }
             }
             }
@@ -101,7 +105,7 @@ module contact (trans, angle, slot = false) {
 
 
 
 
 // main capsule holder
 // main capsule holder
-*translate([capsule_radius * 3.0, 0, 0]) {
+translate([capsule_radius * 3.0, capsule_radius * 3, 0]) {
     difference() {
     difference() {
         cylinder(r = capsule_radius + wall, h = capsule_height, $fn = facets);
         cylinder(r = capsule_radius + wall, h = capsule_height, $fn = facets);
         cylinder(r = capsule_radius + fudge, h = capsule_height, $fn = facets);
         cylinder(r = capsule_radius + fudge, h = capsule_height, $fn = facets);
@@ -109,7 +113,7 @@ module contact (trans, angle, slot = false) {
 }
 }
 
 
 
 
-// contact springs
+// back plate with contact springs
 difference() {
 difference() {
     union() {
     union() {
         difference() {
         difference() {
@@ -123,10 +127,10 @@ difference() {
             }
             }
         }
         }
         // contacts
         // contacts
-        contact([contact_border + contact_offset, 0, 0], 0);
-        contact([-contact_border - contact_offset, 0, 0], 0);
+        contact([contact_border + contact_offset, 0, 0], 0, contact_cutout);
+        contact([-contact_border - contact_offset, 0, 0], 0, contact_cutout);
         // GND contact
         // GND contact
-        contact([- contact_border - contact_offset, 0, 0], 90);
+        contact([- contact_border - contact_offset, 0, 0], 90, contact_cutout_gnd);
         // one more radial connection
         // one more radial connection
         rotate([0, 0, -120]) {
         rotate([0, 0, -120]) {
             translate([-contact_width / 2, 0, 0]) {
             translate([-contact_width / 2, 0, 0]) {
@@ -134,9 +138,11 @@ difference() {
             }
             }
         }
         }
     }
     }
-    contact([contact_border + contact_offset, 0, 0], 0, true);
-    contact([-contact_border - contact_offset, 0, 0], 0, true);
-    contact([- contact_border - contact_offset, 0, 0], 90, true);
+    // contact cutouts
+    contact([contact_border + contact_offset, 0, 0], 0, contact_cutout, true);
+    contact([-contact_border - contact_offset, 0, 0], 0, contact_cutout, true);
+    // contact cutout for GND
+    contact([- contact_border - contact_offset, 0, 0], 90, contact_cutout_gnd, true);
     // finally trim the seat for the holder
     // finally trim the seat for the holder
     translate([0, 0, disk_edge]) {
     translate([0, 0, disk_edge]) {
         difference() {
         difference() {
@@ -146,3 +152,25 @@ difference() {
     }
     }
 }
 }
 
 
+// sleeve that holds everything together
+translate([capsule_radius * 3 , 0, 0]) {
+    difference() {
+        cylinder(r = capsule_radius + 2 * wall, h = capsule_height * 2 / 3, $fn = facets);
+        cylinder(r = capsule_radius + wall, h = capsule_height * 2 / 3, $fn = facets);
+    }
+    difference() {
+        cylinder(r = capsule_radius + wall, h = disk_edge, $fn = facets);
+        cylinder(r = capsule_radius, h = disk_edge, $fn = facets);
+    }
+    // back plate for contacts 1 / 2
+    translate([-(contact_width + 2 * contact_border), capsule_radius / 2, 0]) {
+        cube([(contact_width + 2 * contact_border) * 2, capsule_radius / 2, disk_edge]);
+    }
+    // back plate for GND contact
+    rotate([0, 0, 90]) {
+        translate([-(contact_width + 2 * contact_border), capsule_radius * 1 / 3, 0]) {
+            cube([(contact_width + 2 * contact_border), capsule_radius * 2 / 3, disk_edge]);
+        }
+    }
+}
+