Kaynağa Gözat

add rfit parameter to the capsule module, this is needed so that carving the slots for the conical section of the mount works better; also adjusted the radius of the conical section of the mount so that it fits the capsule array - the code there is probably not correct and needs to be revised

Fernando Pablo Lopez-Lezcano 10 yıl önce
ebeveyn
işleme
98d24b539d
2 değiştirilmiş dosya ile 18 ekleme ve 16 silme
  1. 7 6
      TinySpHEAR_common.scad
  2. 11 10
      TinySpHEAR_mount_pcb.scad

+ 7 - 6
TinySpHEAR_common.scad

@@ -57,12 +57,12 @@ ridge_slot_width = 2.0;
 ridge_fit = 0.1;
 
 // dimensions of microphone mount
-mount_radius = 4.0;
+mount_radius = 3.5;
 mount_wall = 0.75;
 
 // height and eccentricity of top connector
 mount_top_height = 15.0;
-mount_top_eccentricity = 1.25;
+mount_top_eccentricity = 1.3;
 
 // height of mount
 mount_height = 40;
@@ -157,8 +157,9 @@ mount_radius_capsule = capsule_sep_max;
 // ridge: add 0, 1 or 2 ridges for attaching the structure to the mount
 // ridge_fit: tune the fit, used for carving slots in mount
 // solid: make the capsule holder solid, used in the mount code to carve the capsule rests
+// rfit: adjust height of ridges when carving out the capsule rests
 
-module capsule (azimuth, elevation, mounts, twist, ridge, ridge_fit = 0.0, solid = 0) {
+module capsule (azimuth, elevation, mounts, twist, ridge, ridge_fit = 0.0, solid = 0, rfit = 0) {
     rotate([0, 0, azimuth]) {
         rotate([0, (90 - elevation), 0]) {
             translate([0, 0, (rendermic == 0 && solid == 0) ? 0 : mic_radius - capsule_height]) {
@@ -224,17 +225,17 @@ module capsule (azimuth, elevation, mounts, twist, ridge, ridge_fit = 0.0, solid
                         if (ridge == 2) {
                             rotate([0, 0, twist]) {
                                 translate([capsule_radius + wall - ridge_length / 2, (ridge_width - ridge_fit) / 2, 0]) {
-                                    cube([ridge_length * 3 / 2, ridge_width - ridge_fit, capsule_height], center = false);
+                                    cube([ridge_length * 3 / 2, ridge_width - ridge_fit, capsule_height + rfit], center = false);
                                 }
                                 translate([capsule_radius + wall - ridge_length / 2, - (ridge_width - ridge_fit) * 3 / 2, 0]) {
-                                    cube([ridge_length * 3 / 2, ridge_width - ridge_fit, capsule_height], center = false);
+                                    cube([ridge_length * 3 / 2, ridge_width - ridge_fit, capsule_height + rfit], center = false);
                                 }
                             }
                         }
                         if (ridge == 1) {
                             rotate([0, 0, twist]) {
                                 translate([capsule_radius + wall - ridge_length / 2, - (ridge_width - ridge_fit) / 2, 0]) {
-                                    cube([ridge_length * 3 / 2, ridge_width - ridge_fit, capsule_height], center = false);
+                                    cube([ridge_length * 3 / 2, ridge_width - ridge_fit, capsule_height + rfit], center = false);
                                 }
                             }
                         }

+ 11 - 10
TinySpHEAR_mount_pcb.scad

@@ -228,9 +228,10 @@ module tetra_capsule_array_mount(angles) {
             }
         }
         // indentations that match the two lower capsule holders
+        // add ridge height adjustment
         translate([0, 0, mount_top_height + (mic_radius - capsule_height) + capsule_height * sin(elev_angle)]) {
-            capsule(angles[0], -elev_angle, [], 0, 1, 0.1, 1);
-            capsule(angles[1], -elev_angle, [], 0, 1, 0.1, 1);
+            capsule(angles[0], -elev_angle, [], 0, 1, 0.1, 1, 3);
+            capsule(angles[1], -elev_angle, [], 0, 1, 0.1, 1, 3);
         }
     }
 }
@@ -252,7 +253,7 @@ mount_corner = 10.0;
 pcb_low_exp = 12.0;
 pcb_hi_exp = 8.0;
 
-*translate([0, 0, -(pcb_length - pcb_low_exp - pcb_hi_exp + 10)]) {
+translate([0, 0, -(pcb_length - pcb_low_exp - pcb_hi_exp + 10)]) {
     tetra_mount_body(pcb_length - pcb_low_exp - pcb_hi_exp, box_radius + wall, mount_corner, mount_lip, mount_lip, 0);
 }
 
@@ -276,7 +277,7 @@ translate([0, 0, 0]) {
 //
 // add 8mm of exposed pcb coverage
 
-*translate([0, 0, -(10 + pcb_length - pcb_low_exp - pcb_hi_exp + 10)]) {
+translate([0, 0, -(10 + pcb_length - pcb_low_exp - pcb_hi_exp + 10)]) {
     rotate([0, 180, 0]) {
         tetra_mount_flare(10 + pcb_low_exp, mount_lip, 20, box_radius + wall, mount_corner, cable_diam / 2, 10);
     }
@@ -285,7 +286,7 @@ translate([0, 0, 0]) {
 // the microphone itself
 rendermic = 1;
 
-*rotate([90, 0, 0]) {
+rotate([90, 0, 0]) {
     translate([0, 10, box_radius + 1.5]) {
         scale([0.03, 0.03, 0.02]) {
             surface(file = "ccrma-black.png", center = true, invert = true);
@@ -296,12 +297,12 @@ rendermic = 1;
 //capsule_radius = 7;
 //mic_radius = 11;
 
-*translate([0, 0, 5 + pcb_hi_exp + flare_height + stalk_height + 30]) {
+translate([0, 0, 3 + pcb_hi_exp + flare_height + stalk_height + 30]) {
     // all four capsules
-    capsule(45, elev_angle, leg_angles_top, 60, 0, 0.0, 0);
-    capsule(-135, elev_angle, leg_angles_top, 60, 0, 0.0, 0);
-    capsule(-45, -elev_angle, leg_angles_bot, 0, 1, 0.0, 0);
-    capsule(135, -elev_angle, leg_angles_bot, 0, 1, 0.0, 0);
+    capsule(45, elev_angle, leg_angles_top, 60, 0, 0.0, 0, 0);
+    capsule(-135, elev_angle, leg_angles_top, 60, 0, 0.0, 0, 0);
+    capsule(-45, -elev_angle, leg_angles_bot, 0, 1, 0.0, 0, 0);
+    capsule(135, -elev_angle, leg_angles_bot, 0, 1, 0.0, 0, 0);
     // the mount
     *mount([-45, 135], mount_wall, mic_mount_wall, mic_mount_height + mount_top_height + mount_height + capsule_bottom);
 }