Răsfoiți Sursa

h2n: tweak dimensions so that new design hugs the body of the h2n properly, separate stalk wall from the rest, add holes and anchors for screws that hold the columns and bridge together

Fernando Pablo Lopez-Lezcano 9 ani în urmă
părinte
comite
0564decb67
1 a modificat fișierele cu 36 adăugiri și 19 ștergeri
  1. 36 19
      TinySpHEAR_H2N_common.scad

+ 36 - 19
TinySpHEAR_H2N_common.scad

@@ -56,17 +56,17 @@ h2n_depth = 42.66;
 h2n_width_up = 57.0;
 
 // h2n_column_height = 40;
-// h2n_column_height = 23.2;
-h2n_column_height = 25.3;
+// h2n_column_height = 25.3;
+h2n_column_height = 23.2;
 transition_height = 30;
 
 // measured = 11.50, should be 13.1 -> ratio = 
 
-// h2n_side_radius = 18.2;
-h2n_side_radius = 18.4;
 h2n_side_band = 1.5;
 h2n_side_band_w = 13.4;
-h2n_width_m = 63.0;
+// h2n_width_m: tried taking out 0.5mm from the original measurement of 63.0, but 
+// it is too much and the "Menu" button stops working, 0.25mm seems fine
+h2n_width_m = 63.0 - 0.25;
 h2n_depth_m = 36.4;
 
 h2n_band_height = 6.0;
@@ -74,6 +74,9 @@ h2n_band_height = 6.0;
 // base band width
 h2n_band_wall = 1.6;
 
+// wall for the stalk
+h2n_stalk_wall = 1.0;
+
 // walls for the columns
 h2n_col_wall = 2 * wall;
 
@@ -121,18 +124,18 @@ module h2n_ring(width, depth, radius, height, tilt, slot_w, slot_d, band_wall, w
     }
     // inner band
     difference() {
-        conical_rounded_box(height, width / 2 + wall - h2n_side_band, depth / 2 + band_wall, radius - thin_mint, wall, height * tan(tilt));
+        conical_rounded_box(height, width / 2 + wall - h2n_side_band, depth / 2 + wall, radius - thin_mint, wall, height * tan(tilt));
         for (m = [0, 1]) mirror([m, 0, 0]) {
             // cut slots on the sides
-            translate([-width / 2, -h2n_side_band_w / 2, 0]) {
+            translate([-width / 2 - wall / 2, -h2n_side_band_w / 2, 0]) {
                 cube([width / 2, h2n_side_band_w, height + thin_mint]);
             }
         }
     }
     // add TinySpHEAR "branding"
-    translate([0, -(h2n_depth_m / 2 + wall), h2n_band_height / 2]) scale(0.5) {
+    translate([0, -(h2n_depth_m / 2 + band_wall), h2n_band_height / 2]) scale(0.5) {
         rotate([90 - h2n_col_tilt, 0, 0]) {
-            linear_extrude(height = 1.5, center = "true") {
+            linear_extrude(height = 0.2, center = "true") {
                 text("TinySpHEAR", size = 8.0, spacing = 1.1, halign = "center", valign = "center", font = "Liberation Sans");
             }
         }
@@ -549,10 +552,10 @@ module h2n_bridge_core(width, base_height, stalk_height, radius, col_wall, wall,
 
 // the bridge that holds the capsule array
 
-module h2n_bridge(width, base_height, stalk_height, radius, col_wall, wall) {
+module h2n_bridge(width, base_height, stalk_height, radius, col_wall, stalk_wall, wall) {
     // capsule array mount with the right orientation (left front top = #1)0
     rotate([0, 0, -90]) translate([0, 0, base_height + stalk_height]) {
-        tetra_capsule_array_mount([-45, 135], mount_radius, col_wall);
+        tetra_capsule_array_mount([-45, 135], mount_radius, stalk_wall);
     }
     difference() {
         union() {
@@ -560,26 +563,34 @@ module h2n_bridge(width, base_height, stalk_height, radius, col_wall, wall) {
             // stalk
             translate([0, 0, base_height]) {
                 difference() {
-                    tube(radius + col_wall, radius, stalk_height);
+                    tube(radius + stalk_wall, radius, stalk_height);
                     // remove stalk segment that is inside the bridge
                     translate([width / 2, 0, -1.0]) {
                         rotate([0, -90, 0]) {
-                            semi_cylinder(r = radius + col_wall, h = width);
+                            semi_cylinder(r = radius + stalk_wall, h = width);
                         }
                     }
                 }
                 // add marker for "back of microphone" orientation
                 rotate([0, 0, 0]) {
-                    translate([0, radius + col_wall - col_wall * 2 / 3, stalk_height - (radius + col_wall)]) {
+                    translate([0, radius + stalk_wall - stalk_wall * 2 / 3, stalk_height - (radius + stalk_wall)]) {
                         difference() {
-                            sphere(r = (radius + col_wall) / 3, $fn = 64);
-                            translate([0, -(radius + col_wall) + (radius + col_wall) / 2, 0]) {
-                                cube([radius + col_wall, radius + col_wall, radius + col_wall], center = true);
+                            sphere(r = (radius + stalk_wall) / 3, $fn = 64);
+                            translate([0, -(radius + stalk_wall) + (radius + stalk_wall) / 2, 0]) {
+                                cube([radius + stalk_wall, radius + stalk_wall, radius + stalk_wall], center = true);
                             }
                         }
                     }
                 }
             }
+            // small supports for the screws that attach to the columns
+            for (m = [0, 1]) mirror([m, 0, 0]) {
+                translate([-(width / 2 + radius + 2 * wall), 0, radius]) {
+                    rotate([0, 90, 0]) {
+                        cylinder(r = 1.5, h = 2 * wall, $fn = facets);
+                    }
+                }
+            }
         }
         h2n_bridge_core(width, base_height, stalk_height, radius, col_wall, wall, -wall);
         // make a hole in the bridge for the cables
@@ -588,6 +599,12 @@ module h2n_bridge(width, base_height, stalk_height, radius, col_wall, wall) {
         translate([0, h2n_bridge_circle_max, 0]) {
             rotate([90, 0, 0]) cylinder(r = 2.0, h = h2n_bridge_circle_max * 2, $fn = facets);
         }
+        // holes for screws that attach to the columns
+        translate([-(width + 3 * radius + 2 * wall) / 2, 0, radius]) {
+            rotate([0, 90, 0]) {
+                cylinder(r = 0.5, h = width + 4 * radius, $fn = facets);
+            }
+        }
     }
 }
 
@@ -597,14 +614,14 @@ difference() {
 union() {
 
 *h2n_ring(h2n_width_m, h2n_depth_m, h2n_depth * 0.425, h2n_band_height, h2n_col_tilt,
-         h2n_side_band_w, h2n_side_band, h2n_band_wall, wall, mount_radius, h2n_col_wall);
+         h2n_side_band_w, h2n_side_band, h2n_band_wall, h2n_band_wall, mount_radius, h2n_col_wall);
 
 *h2n_columns(h2n_width_m, h2n_column_height, h2n_band_height, h2n_col_tilt,
             transition_height, h2n_mount_radius, h2n_col_wall, wall);
 
 *translate([0, 0, h2n_column_height]) {
     h2n_bridge((h2n_width_m / 2 + mount_radius - h2n_col_wall - h2n_column_height * tan(h2n_col_tilt)) * 2,
-               h2n_bridge_base_height, h2n_bridge_stalk_height, mount_radius, h2n_col_wall, wall);
+               h2n_bridge_base_height, h2n_bridge_stalk_height, mount_radius, h2n_col_wall, h2n_stalk_wall, wall);
 }
 
 *rotate([0, 0, 90]) {