TinySpHEAR_EM200.scad 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. //
  2. // Spherical Harmonics Ear Project (*SpHEAR)
  3. //
  4. // TinySpHEAR, First Order (B-format) Ambisonics Microphone
  5. // Microphone optimized for EM200 capsules and Zapnspark interface
  6. //
  7. // Copyright 2015-2017, Fernando Lopez-Lezcano, All Rights Reserved
  8. // nando@ccrma.stanford.edu
  9. //
  10. // This program is free software: you can redistribute it and/or modify
  11. // it under the terms of the GNU General Public License as published by
  12. // the Free Software Foundation, either version 3 of the License, or
  13. // (at your option) any later version.
  14. //
  15. // This program is distributed in the hope that it will be useful,
  16. // but WITHOUT ANY WARRANTY; without even the implied warranty of
  17. // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  18. // GNU General Public License for more details.
  19. //
  20. // You should have received a copy of the GNU General Public License
  21. // along with this program. If not, see <http://www.gnu.org/licenses/>.
  22. //
  23. // 3d Models released under the Creative Commons license as follows:
  24. // Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0)
  25. // http://creativecommons.org/licenses/by-nc-sa/4.0/
  26. include <SpHEAR_common.scad>;
  27. include <SpHEAR_windscreen.scad>;
  28. include <TinySpHEAR_common.scad>;
  29. include <TinySpHEAR_mount_pcb.scad>;
  30. // dimensions of the EM200 electret microphone capsule (measured 14.59 max)
  31. capsule_radius = 14.6 / 2;
  32. capsule_height = 4.75;
  33. mic_radius = 11;
  34. // make triangular legs have the height of the capsule
  35. connect = 1;
  36. leg_thick = capsule_height;
  37. // adjust the depth of slots in mount
  38. mic_to_mount_fit = -0.7;
  39. // parameters for windscreen rendering
  40. windscreen_height = 66;
  41. windscreen_radius = box_corner_radius + 6.0;
  42. ////
  43. //// render the different assemblies
  44. ////
  45. facets = 128;
  46. //// microphone body and array
  47. *render_tetra_capsule_array(139.5);
  48. *render_tetra_capsule_flare(0);
  49. *render_tetra_pcb_mount(0, 0);
  50. *render_tetra_connector_flare(0);
  51. *render_tetra_cable_flare(0);
  52. // the whole body
  53. *render_tetra_body(0, 0, 0);
  54. // the whole microphone
  55. // or use render_tetra_microphone_cutout(0, 0) for a "transparent" view
  56. //
  57. *render_tetra_microphone(0, 0, 0);
  58. //// windscreen
  59. *render_sphear_upper_windscreen(tetra_pcb_mount_height - 10 + windscreen_height);
  60. *render_sphear_lower_windscreen(tetra_pcb_mount_height - 10);
  61. *render_sphear_windscreen_thread_cover(tetra_pcb_mount_height - 10);
  62. //// microphone shock mount
  63. *render_tetra_shock_mount_stand(0);
  64. *render_tetra_shock_mount_external_ring(0);
  65. *render_tetra_shock_mount_internal_ring(0);
  66. // the full mount
  67. *render_tetra_shock_mount(12);
  68. // individual capsule holders
  69. *render_tetra_capsule_top(0);