|
|
@@ -36,13 +36,14 @@ pad_offset = 3.56;
|
|
|
|
|
|
// slot for contact
|
|
|
// contact_width = 0.85;
|
|
|
-contact_width = 0.95;
|
|
|
+contact_width = 1.00;
|
|
|
|
|
|
// length of contact
|
|
|
contact_length = 2.9;
|
|
|
|
|
|
// depth of contact channel (includes contact)
|
|
|
-contact_depth = 0.79;
|
|
|
+// contact_depth = 0.79;
|
|
|
+contact_depth = 0.5;
|
|
|
|
|
|
// island around contact
|
|
|
contact_border = 0.5;
|
|
|
@@ -51,23 +52,24 @@ contact_border = 0.5;
|
|
|
contact_offset = 0.3;
|
|
|
|
|
|
// cutout offset from edge of capsule
|
|
|
-contact_cutout = 1.0;
|
|
|
+contact_cutout = 1.7;
|
|
|
+contact_cutout_gnd = 2.2;
|
|
|
|
|
|
// support depth
|
|
|
-disk_depth = 1.17;
|
|
|
+disk_depth = 0.9;
|
|
|
disk_edge = 0.49;
|
|
|
|
|
|
// adjustment for the inner radius of the capsule holder
|
|
|
// measured inside diameter of a trial print was around 7.5 to 8.2
|
|
|
// 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
|
|
|
-facets = 64;
|
|
|
-
|
|
|
+facets = 128;
|
|
|
|
|
|
// one slot for a contact
|
|
|
-module contact (trans, angle, slot = false) {
|
|
|
+module contact (trans, angle, cutout, slot = false) {
|
|
|
rotate([0, 0, angle]) {
|
|
|
translate(trans) {
|
|
|
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]);
|
|
|
}
|
|
|
// 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 {
|
|
|
// 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
|
|
|
-*translate([capsule_radius * 3.0, 0, 0]) {
|
|
|
+translate([capsule_radius * 3.0, capsule_radius * 3, 0]) {
|
|
|
difference() {
|
|
|
cylinder(r = capsule_radius + wall, 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() {
|
|
|
union() {
|
|
|
difference() {
|
|
|
@@ -123,10 +127,10 @@ difference() {
|
|
|
}
|
|
|
}
|
|
|
// 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
|
|
|
- contact([- contact_border - contact_offset, 0, 0], 90);
|
|
|
+ contact([- contact_border - contact_offset, 0, 0], 90, contact_cutout_gnd);
|
|
|
// one more radial connection
|
|
|
rotate([0, 0, -120]) {
|
|
|
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
|
|
|
translate([0, 0, disk_edge]) {
|
|
|
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]);
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+
|