Przeglądaj źródła

fix thickness problem of h2n dial cover flare, add parameters to capsule array mount so that we can use a thicker microphone stalk in the h2n design - hopefully more robust

Fernando Pablo Lopez-Lezcano 9 lat temu
rodzic
commit
5feffc4f08
2 zmienionych plików z 28 dodań i 26 usunięć
  1. 25 23
      TinySpHEAR_H2N_common.scad
  2. 3 3
      TinySpHEAR_mount_pcb.scad

+ 25 - 23
TinySpHEAR_H2N_common.scad

@@ -509,7 +509,7 @@ module h2n_bridge_core(width, base_height, stalk_height, radius, col_wall, wall,
     }
     // add cover for center dial
     hull() {
-        cylinder(r = mount_radius, h = base_height + radius);
+        cylinder(r = mount_radius + offset, h = base_height + radius, $fn = facets);
         h2n_center_dial_cover(h2n_bridge_circle / 2, wall, offset);
     }
 }
@@ -519,35 +519,37 @@ module h2n_bridge_core(width, base_height, stalk_height, radius, col_wall, wall,
 module h2n_bridge(width, base_height, stalk_height, radius, col_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]);
+        tetra_capsule_array_mount([-45, 135], mount_radius, col_wall);
     }
-    // stalk
-    translate([0, 0, base_height]) {
-        difference() {
-            tube(radius + 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);
-                }
-            }
-        }
-        // add marker for "back of microphone" orientation
-        rotate([0, 0, 0]) {
-            translate([0, radius + wall - wall * 2 / 3, stalk_height - radius]) {
+    difference() {
+        union() {
+            h2n_bridge_core(width, base_height, stalk_height, radius, col_wall, wall, 0);
+            // stalk
+            translate([0, 0, base_height]) {
                 difference() {
-                    sphere(r = radius / 3, $fn = 32);
-                    translate([0, -radius + radius / 2, 0]) {
-                        cube([radius, radius, radius], center = true);
+                    tube(radius + col_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);
+                        }
+                    }
+                }
+                // add marker for "back of microphone" orientation
+                rotate([0, 0, 0]) {
+                    translate([0, radius + wall - wall * 2 / 3, stalk_height - radius]) {
+                        difference() {
+                            sphere(r = radius / 3, $fn = 32);
+                            translate([0, -radius + radius / 2, 0]) {
+                                cube([radius, radius, radius], center = true);
+                            }
+                        }
                     }
                 }
             }
         }
-    }
-    difference() {
-        h2n_bridge_core(width, base_height, stalk_height, radius, col_wall, wall, 0);
         h2n_bridge_core(width, base_height, stalk_height, radius, col_wall, wall, -wall);
-        // make a hole for the cables
+        // make a hole in the bridge for the cables
         cylinder(r = radius, h = base_height + radius + 2 * wall, $fn = facets);
     }
 }

+ 3 - 3
TinySpHEAR_mount_pcb.scad

@@ -411,7 +411,7 @@ module tilted_cube(width, depth, height, offset) {
     }
 }
 
-module tetra_capsule_array_mount(angles) {
+module tetra_capsule_array_mount(angles, mount_radius, mount_wall) {
     difference() {
         union() {
             rotate([0, 0, 45]) {
@@ -424,7 +424,7 @@ module tetra_capsule_array_mount(angles) {
                 sleeve_w = (sleeve_width > sleeve_width_max) ? sleeve_width : sleeve_width_max;
                 difference() {
                     hull() {
-                        cylinder(r = mount_radius + wall, h = thin_mint, $fn = facets);
+                        cylinder(r = mount_radius + mount_wall, h = thin_mint, $fn = facets);
                         translate([0, 0, mount_top_height]) {
                             rounded_block(thin_mint, sleeve_w, mount_radius_capsule - wall/2, mount_radius*4/5);
                         }
@@ -493,7 +493,7 @@ module render_tetra_capsule_flare(z_offset) {
             tetra_mount_array_stalk(stalk_height, mount_radius + wall);
         }
         translate([0, 0, pcb_hi_clear + pcb_hi_exp + flare_height + stalk_height]) {
-            tetra_capsule_array_mount([-45, 135]);
+            tetra_capsule_array_mount([-45, 135], mount_radius, wall);
         }
     }
 }