Explorar el Código

Octathingy: rework capsule mount flare to have more open spaces, add rendering of new dsub connector flare, add walls to shock mount inner ring so columns cannot flex

Fernando Pablo Lopez-Lezcano hace 8 años
padre
commit
6d3fdddd9c
Se han modificado 1 ficheros con 28 adiciones y 7 borrados
  1. 28 7
      Octathingy_mount_pcb.scad

+ 28 - 7
Octathingy_mount_pcb.scad

@@ -502,7 +502,7 @@ module octa_mount_flare(height, lip, transition, radius, top_radius, stalk_heigh
                     sphere(r = top_radius - wall, $fn = facets);
                 }
                 wire_diam = mic_wire_diam + mic_wire_fit;
-                for (r = [0, 90, 180, 270]) rotate([0, 0, r]) {
+                for (r = [0, 90, 180, 270]) rotate([0, 0, r + 45]) {
                     for (t = [0, 1]) {
                         rotate([0, 0, 45 * t]) translate([top_radius - wire_diam - t * wire_diam * 2/3, 0, wall]) {
                             cylinder(r = wire_diam / 2, h = top_radius * 2, $fn = facets);
@@ -835,11 +835,11 @@ module octa_capsule_array_mount(angles) {
             for (rot = [45, 135, -135, -45]) {
                 translate([0, 0, 0]) {
                     rotate([0, 90, rot]) {
-                        linear_extrude(height = mount_radius_capsule) {
+                        scale([0.5, 0.5, 1.0]) linear_extrude(height = mount_radius_capsule, scale = 2.5) {
                             minkowski() {
-                                polygon(points = [[0, mount_radius_capsule * 0.35], [0, - mount_radius_capsule * 0.35], 
-                                                  [mount_radius_capsule * 2 / 3, 0]]);
-                                circle(r = 1.0, $fn = facets);
+                                polygon(points = [[0, mount_radius_capsule * 0.2], [0, - mount_radius_capsule * 0.2],
+                                                  [mount_radius_capsule, 0]]);
+                                circle(r = 2.0, $fn = facets);
                             }
                         }
                     }
@@ -883,7 +883,7 @@ module octa_shock_mount_internal_ring(height, radius, band_height, corner, gap)
     // 8 columns for mounting rubber bands
     for (r = [0, 90, 180, 270]) rotate([0, 0, r]) {
         for (m = [0, 1]) mirror([m, 0, 0]) {
-            translate([radius + 1.0, radius/2 - 2, 0]) {
+            translate([radius + 2.25, radius/2 - 2, 0]) {
                 rotate([0, 0, 0]) {
                     difference() {
                         // columns
@@ -903,6 +903,10 @@ module octa_shock_mount_internal_ring(height, radius, band_height, corner, gap)
                 }
             }
         }
+        // walls between columns so that they cannot bend
+        rotate([0, 0, 45]) translate([radius + 2.25 * wall, -14, 0]) {
+            cube([wall, 28, height]);
+        }
     }
 }
 
@@ -1053,11 +1057,28 @@ module render_octa_connector_flare(z_offset, flip) {
     }
 }
 
+// microphone body: flare to db25 connector (slips into PCB holder body)
+//
+module render_octa_mount_dsub_flare(z_offset, flip) {
+    updown = 0;
+    if (flip) {
+        updown = 180;
+    }
+    rotate([0, updown, 90]) {
+        conn_offset = 2.0;
+        translate([0, 0, -mount_lip]) {
+            octa_mount_flare_dsub(pcb_low_clear + pcb_low_exp, mount_lip, 20,
+                                octa_pcb_radius,
+                                conn_core_o_diam / 2, conn_core_o_diam + conn_offset);
+        }
+    }
+}
+
 // microphone body: render all parts with a vertical separation
 //
 module render_octa_body(z_offset, spread, showint) {
     rotate([0, 180, 0]) {
-        render_octa_connector_flare(0);
+        render_octa_mount_dsub_flare(0);
     }
     lippy = spread - mount_lip;
     render_octa_pcb_mount(lippy, showint);