TinySpHEAR_EM182.scad 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. //
  2. // Spherical Harmonics Ear Project (*SpHEAR)
  3. //
  4. // TinySpHEAR, First Order (B-format) Ambisonics Microphone
  5. // Microphone optimized for EM182 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 EM182 electret microphone capsule (measured 10mm)
  31. capsule_radius = 10.0 / 2;
  32. capsule_height = 4.5;
  33. mic_radius = 9.2;
  34. // make triangular legs have the height of the capsule
  35. connect = 1;
  36. leg_thick = capsule_height;
  37. // thinner connection legs
  38. leg_width = 4;
  39. // lower the capsule assembly into the mount a bit more
  40. mic_to_mount_fit = 0.5;
  41. // parameters for windscreen rendering
  42. windscreen_height = 66;
  43. windscreen_radius = box_corner_radius + 6.0;
  44. ////
  45. //// render the different assemblies
  46. ////
  47. facets = 128;
  48. //// microphone body and array
  49. *render_tetra_capsule_array(0, 0);
  50. *render_tetra_capsule_flare(0);
  51. *render_tetra_pcb_mount(0, 0);
  52. *render_tetra_connector_flare(0);
  53. *render_tetra_connector_lock(0);
  54. *render_tetra_cable_flare(0);
  55. // the whole body
  56. *render_tetra_body(0, 10, 0);
  57. // the whole microphone
  58. // or use render_tetra_microphone_cutout(0, 0) for a "transparent" view
  59. //
  60. *render_tetra_microphone(0, 0, 0);
  61. //// windscreen
  62. *render_sphear_upper_windscreen(tetra_pcb_mount_height - 10 + windscreen_height);
  63. *render_sphear_lower_windscreen(tetra_pcb_mount_height - 10);
  64. *render_sphear_windscreen_thread_cover(tetra_pcb_mount_height - 10);
  65. //// microphone shock mount
  66. *render_tetra_shock_mount_stand(0);
  67. *render_tetra_shock_mount_external_ring(0);
  68. *render_tetra_shock_mount_internal_ring(0);
  69. // the full mount
  70. *render_tetra_shock_mount(12);
  71. // individual capsule holders
  72. *render_tetra_capsule_top(0);