Ver código fonte

small fixes, robotic arm test

Fernando Pablo Lopez-Lezcano 7 anos atrás
pai
commit
ce0879dad1
1 arquivos alterados com 36 adições e 3 exclusões
  1. 36 3
      TinySpHEAR_mount_pcb.scad

+ 36 - 3
TinySpHEAR_mount_pcb.scad

@@ -343,12 +343,13 @@ module tetra_mount_body(height, radius, corner, lower_lip, upper_lip, screw_rota
 
 // flares from the body to the microphone stalk and cable
 
-module tetra_mount_flare(height, lip, transition, bot_radius, bot_corner, top_radius, screw_rotation, windscreen) {
+module tetra_mount_flare(height, lip, transition, bot_radius, bot_corner, top_radius, screw_rotation, windscreen, shock_mount) {
     // bottom rounded box
     difference() {
         union() {
             rounded_block(height, bot_radius, bot_radius, bot_corner);
             if (windscreen) {
+                // add thread for attaching windscreen
                 translate([0, 0, lip]) {
                     metric_thread(diameter = windscreen_thread_radius * 2, pitch = windscreen_thread_pitch,
                         length = windscreen_thread_height, angle = windscreen_thread_angle, internal = false);
@@ -441,6 +442,30 @@ module tetra_mount_flare(height, lip, transition, bot_radius, bot_corner, top_ra
                     cylinder(r = top_radius, h = thin_mint, $fn = facets);
                 }
             }
+            // screw mounted shock mount (test)
+            *union() {
+                if (shock_mount) {
+                    ratio = (transition - windscreen_thread_height) / transition;
+                    thread_radius = bot_radius - ((bot_radius - top_radius) * ratio) + 2.0 * wall;
+                    hull() {
+                        rounded_block(thin_mint, bot_radius, bot_radius, bot_corner);
+                        translate([0, 0, transition - windscreen_thread_height]) {
+                            cylinder(r = thread_radius, h = thin_mint, $fn = facets);
+                        }
+                    }
+                    translate([0, 0, transition - windscreen_thread_height]) {
+                        metric_thread(diameter = thread_radius * 2, pitch = windscreen_thread_pitch,
+                            length = windscreen_thread_height, angle = windscreen_thread_angle, internal = false);
+                    }
+                } else {
+                    hull() {
+                        rounded_block(thin_mint, bot_radius, bot_radius, bot_corner);
+                        translate([0, 0, transition]) {
+                            cylinder(r = top_radius, h = thin_mint, $fn = facets);
+                        }
+                    }
+                }
+            }
             hull() {
                 rounded_block_relative(thin_mint, bot_radius, bot_radius, bot_corner, - wall);
                 translate([0, 0, transition]) {
@@ -736,7 +761,7 @@ module render_tetra_connector_flare(z_offset, flip) {
         // make the upper sleeve shorter
         flare_adjust = 6.0;
         flare_height = 20;
-        tetra_mount_flare(pcb_low_clear + pcb_low_exp - flare_adjust, mount_lip, flare_height, box_radius + wall, mount_corner, conn_core_o_diam / 2, - screw_rotation, false);
+        tetra_mount_flare(pcb_low_clear + pcb_low_exp - flare_adjust, mount_lip, flare_height, box_radius + wall, mount_corner, conn_core_o_diam / 2, - screw_rotation, false, true);
         rotate([0, 0, -90]) translate([0, 0, pcb_low_clear + pcb_low_exp + 20 - flare_adjust]) {
             tetra_mount_connector_holder(conn_core_sleeve, conn_core_o_diam / 2, conn_core_diam / 2, conn_core_overlap, conn_core_s_diam / 2);
         }
@@ -762,7 +787,7 @@ module render_tetra_microphone(z_offset, spread) {
     render_tetra_body(z_offset, spread);
     lippy = spread - mount_lip;
     render_tetra_capsule_array(z_offset + tetra_pcb_mount_height + mount_top_height +
-            flare_height + stalk_height + pcb_hi_clear + pcb_hi_exp + 2 * lippy + spread + mic_radius);
+            flare_height + stalk_height + pcb_hi_clear + pcb_hi_exp + 2 * lippy + spread/2 + mic_radius);
 }
 
 // microphone: render the full assembly with a vertical separation
@@ -807,6 +832,14 @@ module render_tetra_shock_mount_internal_ring(z_offset) {
     }
 }
 
+// test arm mount
+//
+module render_tetra_arm_mount(z_offset) {
+    translate([0, 0, z_offset]) {
+        tetra_arm_mount(internal_ring_height, box_radius, internal_band_height, mount_corner, internal_ring_gap);
+    }
+}
+
 // shock mount: render all parts
 //