Explorar el Código

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 hace 9 años
padre
commit
0564decb67
Se han modificado 1 ficheros con 36 adiciones y 19 borrados
  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]) {