DIY 콘덴서 마이크에 관해 검색해보면 해외 사이트는 상당히 많이 나오는 반면, 국내에는 거의 자료가 없어서 본인이 최근에 모은 자료를 정리하고자 한다.

콘덴서 마이크는 일반 다이나믹 마이크와는 다르게 가격이 천차만별이다. 인기있는 슈어 SM58같은 다이나믹 마이크는 10만원대라 크게 부담이 없는 반면, 콘덴서 마이크를 찾아보면 적게는 3만원대부터 시작해서, 전문적인 콘덴서 마이크를  찾아보면 20만원대는 흔하고, 50만원 100만원대도 있고 최고로 알려져있는 노이만(Neumann) u87 Ai는 400~500만원대나 된다.

아무튼, 콘덴서 마이크를 써야 할 상황이 되어서 이리 저리 검색해보다가, DIY 콘덴서 마이크에 대한 정보를 찾게 되었고, 특히나 극강의 가성비인 베링거 ECM8000 마이크 및 이를 변경(Mod)하는 방법과 파나소닉 WM-61A Electret 콘덴서 마이크 캡슐에 대한 수많은 정보가 있다는 사실을 알게되었다.

극강 가성비의 베링거 ECM8000

베링거는 저렴하고 가성비 높은 제품을 판매하는 것으로 유명하다. ECM8000 측정용 콘덴서 마이크도 그중 하나이다. ECM8000관련 정보를 검색해보면 무수한 Mod 관련 정보를 찾을 수 있는데 몇가지를 요약해보면 다음과 같다.

※ 참고 링크: https://homerecording.com/bbs/threads/ecm8000-mods.111051/

 

ECM8000 Mods

OK folks, Today I went to local GC and got ECM8000--just to play with it and to see what it's capable of. Of course, before the listening, the very first thing I opened it up. I swear, I remember seeing somewhere on forums a picture of its PCB with tiny tr

homerecording.com

https://ameblo.jp/shin-aiai/entry-11230219227.html (ECM8000 여러 Mod 버전 설명. 일본어 주의)

  • ECM8000 초기 모델은 (출시일은 2004년경) 파나소닉의 WM-61A 혹은 이와 매우 유사한 콘덴서 마이크 캡슐을 사용했었다. (최근 모델은 WM-61a 유사품)
  • ECM8000 초기 모델은 트랜스포머를 내장했으나 지금은 트랜지스터를 통해 발란스 출력을 지원한다.
  • ECM8000 PCB 기판(PCB) 버전도 시기에 따라서 조금씩 다르나 그 회로는 변동이 없다. 이에 대한 커패시터/저항/트랜지스터 등의 부품 변경/제거등을 통한 개선 방법이 상당히 널리 알려져 있다.
  • 최근의 ECM8000 PCB기판은 거의 SMD 부품으로 바뀌어서 손쉬운 Mod가 어려워졌다.
  • 최근의 ECM8000 마이크 캡슐은 WM-61A와 비슷한 모양이나 노이즈가 상당하다. 이것만 WM-61A로 바꿔도 노이즈가 상당히 줄어든다.
  • ECM8000 PCB 회로는 이와 매우 유사하거나 거의 외관까지 복제인 제품이 많은데 게중 유명한 제품으로는 소나웍스 측정용 마이크가 있다. (https://www.clien.net/service/board/park/16603067 소나웍스는 카피 제품임에도 가격이 상당하다. 그 대신에 캘리브레이션 데이터 제공함)
  • ECM8000은 측정용 마이크로 판매되고 있으나, WM-61a 캡슐 변경 + Mod를 통한 노이즈 개선 및 출력 임피던스등을 낮춰주면 상당히 우수한 녹음용 콘덴서 마이크로 사용 가능하다.

전설의 WM-61A 콘덴서 마이크 캡슐

ECM8000  초기 모델이 사용했던 것으로 추정되는 파나소닉 WM-61A는 현재 생산 중단된 상태이나, 이에 대한 카피 제품을 알리를 통해 쉽게 구입할 수 있으며, WM-61A에 대한 수많은 문서들을 찾아볼 수 있다. 현재 WM-61A는 알리 익스프레서를 통해 2천원 정도에 구입할 수 있다. (알리 제품이라 쉽게 믿을 수는 없으니 제품 평가 및 사진 정보를 잘 보고 구입하기 바란다.) WM-61A의 특징은 다음과 같다.

Image from http://diy-fever.com/misc/wm-61a-microphone/

  • WM61A는 매우 저렴하다.
  • 20Hz~20kHz 주파수 응답 특성이 매우 flat하다.
  • 감도가 -35dB(±4dB) / SN ratio가 ~65dB근처로 무난하다.
  • ~100kHz 초음파 녹음도 가능하다고 한다.
  • 이러한 특징으로 인하여 WM-61A를 이용한 자작 콘덴서 마이크 문서 및 Mod에 대한 문서가 상당히 많다.

(WM61A는 Linkwitz 모드를 통해 (https://www.linkwitzlab.com/images/graphics/microph2.gif 이미지 참고) source follower로 개조하는 방법도 눈여겨볼 만 하다)

ECM8000 마이크 PCB 회로도 및 Mod

ECM8000 PCB 기본 회로도 분석

아래 링크는 ECM8000 회로도 분석을 위해 도움이 될만한 사이트이다.

 

Electret Microphones

Copyright Notice. This article, including but not limited to all text and diagrams, is the intellectual property of Rod Elliott, and is © 2015.  Reproduction or re-publication by any means whatsoever, whether electronic, mechanical or electro- mechanical

sound-au.com

ECM8000 Mod / DIY

최근에 나온 ECM8000 PCB 회로는 SMD 부품으로 구성되어 있어서 손쉬운 Mod가 어렵다. Mod를 손쉽게 하고, 마음에 드는 부품으로 바꾸려면 아예 PCB를 재구성 하여 만드는 것이 편리할 수 있다. 요새는 EasyEDA같은 사이트가 있어서 회로를 구성하고 이를 실제 PCB로 만들어 거버파일을 얻고 이를 다른 사람과도 손쉽게 공유할 수 있게 되었다. 다음은 본인이 직접 만들어본 PCB 및 Mod를 위한 회로도이다. https://oshwlab.com/wkpark/ecm8000-clone

 

ecm8000 clone - EasyEDA open source hardware lab

 

oshwlab.com

  • 공개한 ecm8000 클론 회로는 Linkwitz Mod도 손쉽게 적용할 수 있도록 회로를 구성하였다.
  • 공개한 ecm8000 클론 회로는 단면 회로로 구성되어있다. easypcb에서는 단면/양면 모두 가격이 동일하니, 이를 바탕으로 개조해볼 수 있을 것이다.
  • ecm8000의 PCB 크기는 66mm x 14.5mm 혹은 이보다 조금 작게 만들어야 한다. PCB기판 두께는 1.6mm이면 꼭 맞다. (ecm8000 실제 기판 두께는 1.2mm)
  • JLCPCB에서 이를 주문하면 10~20개 PCB를 주문하면 5달러 정도이나, 배송비가 18달러 수준이다. (더 저렴한 배송도 있으나 이 경우 배송이 한달 넘게도 걸린다.)
  • 각종 부품은 eleparts.co.kr / ic114.com 등을 통해 구입하였다.
    • 저항은 1/4W 1% 오차 메탈 저항
    • WM61A는 알리에서 구입. - 10개를 주문해서 회로를 구성한 후에 주파수 특성을 측정해보니 부품간에 약간씩 편차가 있었다. 10개중 2개는 불량에 가까웠다. (불량으로 판단되는 2개는 THD 특성이 상대적으로 좋지 않았다)
    • 커패시터는 C1, C2, C3, C6, C7, C8, C9, C10 등은 적층세라믹콘덴서 사용하였다. (최신 ECM8000의 경우 C1, C3, C5 커패시터 SMD부품이 모두 탄탈)
    • Q1 (NPN)의 경우 2SC945P, Q2/Q3(PNP)의 경우 2SA970을 사용하였다. Q2,Q3는 매칭 트랜지스터를 골라서 사용하였다. 
    • 좀 더 자세한 설명은 다음 기회에..

원하는 부품으로 교체할 것이 아니라면 PCB를 직접 주문하지 않는다 하더라도, WM-61A 캡슐만 바꾸는 것 만으로도 노이즈가 상당히 줄어들므로 시도해볼만 하다.

 

'DIY' 카테고리의 다른 글

REW를 사용한 기타 픽업 응답 측정  (0) 2022.07.14
by dumpcookie 2022. 6. 13. 00:12

몇년간 방치했던 HDR-HC3 캠코더를 고쳐보기 위해 분해 및 조립했다가 E:91:01 오류(flash error)를 만났다.

원래는 LCD가 제대로 나오지 않아서, 연결 케이블 단선을 가장 의심하고, 이것저것 알아보던 차에, 같은 모델이 중고로 싸게 나온 매물이 있어서 몇년전 구입해서 썼는데, 고질적인 뚜껑이 닫히지 않는 문제때문에 임시 방편으로 간단히 수리해 썼었다가, 귀찮아서 방치했던 것이었다.

불과 몇년이 지났지만 이제는 유튜브등에 검색해보면 상당히 자세한 분해 영상이 있어서 분해를 따라해보고, LCD단선 케이블을 확인하고 알리에 주문을 넣었고, 또 다른 한대는 LCD가 멀쩡했으나 분해를 비교 확인하기 위해서 같이 분해했다가 재조립했는데 E:91:01 오류가 난 것이다. 이 오류를 검색해보면 flash error라고 하는데, 이를 검색해보면 캠 메뉴얼이 나오고, 여기에 설명이 나오길 "abnomal situation"을 예방하기 위해서 펌웨어 특정 영역에 표식을 하고 (이를테면 특정 펌웨어 주소에 "00"이 저장됨), 서비스 센터를 찾아가지 않는 이상 고치기 어렵다는 것이었다... 황당

그런데 좀 더 찾아보면 RM95 컨트롤러를 사용하면 펌웨어 특정 영역을 강제로 "01" 등으로 고치고 리셋을 하면 멀쩡해진다는 것.

lea.hamradio.si/~s51kq/DV-IN.HTM 사이트에 여러가지 유용한 내용이 나오는데, flash error를 고치는 방법을 종합해서 정리해보면

  • 복구를 위해 RM95 LANC 컨트롤러가 필요하나 꽤 비쌈 (중고나라에 가끔 싼 매물이 나오기도 하나 기다리기 어려움
  • RM95 LANC 컨트롤러가 없다면 위 사이트에 설명된 PC인터페이스 용 케이블을 자작한다. (재료값을 다 합해도 1만원 수준임)
    • 위 사이트에 보면 자작 케이블을 만들기 위한 회로도 등이 나와있다. 디x이스마트에서 구매함.
  • LANC 자작 케이블을 사용하려면 윈도우95/98에서 dvin lite를 사용해야 하는데, 윈도우10에서는 작동이 안됨
  • 다행히도 도스용 RM95EMUL이 작동한다. (다만, 자잘한 버그때문에 약간의 오작동을 보여주나, flash error 오류를 수정하는 것은 가능함)
  • 도스로 부팅해서 RM95EMUL을 실행 후 소니 HDR-HC3 을 LANC케이블로 PC와 연결하고 play 모드로 변경, 메뉴얼에 설명한 것처럼 펌웨어 2바이트를 수정 확인함 (아래에 설명)->리셋 버튼을 눌러줌.
 

Process After Fixing Flash Error - Sony HDR-HC3 Service Manual [Page 11] | ManualsLib

 

www.manualslib.com

  1. 페이지 7 / 주소 01에 75라고 들어있는지 확인함. 이 값이 75가 아니면 75로 수정해주고 write.
  2. 페이지 7 / 주소 00의 값이 00이라고 되어있는 것을 01로 고친 후에 write.
  3. 페이지 7 / 주소 02의 값이 01이라고 되어있는지 확인함. 위의 1) 2)단계가 성공하면 01이라고 바뀌어 있음
  4. 캠을 끄고 리셋 버튼을 눌러준다.

이 과정에서 온갖 뻘짓을 다 해봤는데, RM95EMUL 도스용 프로그램은 RM95 링크를 통해 받을 수 있다. (소스코드가 같이 들어있으며 어셈블러)

LANCManager라는 프로그램도 있는데, RM95EMUL과 매우 유사하게 작동하고, FreeDos의 문제인지, 약간의 오작동이 있었다. (위의 세번째 단계가 제대로 작동하지 않음) xoomer.virgilio.it/carlopra/lanc/

 

KKLANC

My activity is currently freeware if you want to contribute to this project, you can do it very simply using standard paypal: PayPal     Email me to discuss any technical  issue kksmafgp@tin.it

xoomer.virgilio.it

LPT포트가 있는 컴이 없어서 좀 낡은 방치된 컴을 정비하느라, dvin이 윈도우10에서 제대로 작동이 안되어 한참을 헤메다가 겨우 고친 것이라, 혹시 비슷한 경험을 하실 분도 있을 것 같아 기록으로 남겨둔다.

 

'자가수리' 카테고리의 다른 글

소니 HDR-HC3 뚜껑이 닫히지 않는 경우 조치법  (11) 2014.10.25
by dumpcookie 2021. 2. 21. 04:49


최근의 일련의 x86 어셈블리어 관련 글은 클론 리플레이어상에서 x86을 지원하기 위해 할 수 있는게 무엇일까 하고 살펴보던 차에 썼던 것이다. 이런 저런 관련 정보를 찾아보고 테스트를 해보니, x86을 위해 빌드한 공유 라이브러리의 TEXTRELs 문제를 고치기 위해서는 MMX/SSE 등등의 지원을 위해 들어가있는 꽤 오래된 어셈블리어 소스를 고쳐야만 하는 문제였다.

https://sourceforge.net/p/mpg123/bugs/168/

소스를 살펴보다가 알게된 사실중 하나는, x264/ffmpeg/mplayer/libvpx 등등의 프로젝트에서 꽤 오래전에 누군가가 만들었던 소스를 서로 의도하지 않게(?) 공유하고 있었다는 사실이었다. 최초 누가 만들었는지 조차도 명확하지 않지만 그에 대한 언급이 소스에 있으며,  또 다른 것으로는, 어셈블리어로 있던 소스를 인라인 어셈블리로 바꾸면서 c 소스로 바뀐 경우, 혹은 그 반대로 c 소스를 어셈블러 소스로 변환시킨 후에 손으로 최적화 한 흔적들도 보였다.

아무튼 TEXTREL 문제를 고치기 위해 PIC 코드로 고쳐야 하는 부분은 많지 않았으나, 암호같던 어셈블리어가 조금씩 눈에 들어오니 고치는 것이 가능하겠다 싶어서 어셈블리어 공부(?)/테스트 및 삽질을 같이하여 TEXTREL 문제를 제거한 패치를 만들게 되었다.

패치는 https://github.com/wkpark/mpg123/tree/textrels 링크를 통해 받고 테스트해볼 수 있다.

일단 간단히 테스트를 해볼 수 있는 것이 mpg123 -t 명령을 통해서 입력 mp3를 받아 디코딩하여 -w foo.wav 옵션으로 WAV 파일로 디코딩된 파일을 들어보는 것이었다. 패치를 거듭 살펴보고 최종적으로 빌드후 실행해서 core 덤프가 나면 어디가 문제인지 gdb로 몇차례 살펴보고, 더이상 core dump 안되고 실행이 된 후 디코딩된 wav파일이 정상적으로 소리가 들렸으며, readelf -d 명령을 통해서 TEXTREL이 더이상 보이지 않는 것을 확인하였다.

$ readelf -d src/libmpg123/.libs/libmpg123.so

Dynamic section at offset 0x56e20 contains 27 entries:
  Tag        Type                         Name/Value
 0x00000001 (NEEDED)                     Shared library: [libm.so.6]
 0x00000001 (NEEDED)                     Shared library: [libdl.so.2]
 0x00000001 (NEEDED)                     Shared library: [libc.so.6]
 0x0000000e (SONAME)                     Library soname: [libmpg123.so.0]
 0x0000000c (INIT)                       0x2f08
 0x0000000d (FINI)                       0x441b4
 0x00000019 (INIT_ARRAY)                 0x57a74
 0x0000001b (INIT_ARRAYSZ)               4 (bytes)
 0x0000001a (FINI_ARRAY)                 0x57a78
 0x0000001c (FINI_ARRAYSZ)               4 (bytes)
 0x6ffffef5 (GNU_HASH)                   0x138
 0x00000005 (STRTAB)                     0x1160
 0x00000006 (SYMTAB)                     0x5f0
 0x0000000a (STRSZ)                      2954 (bytes)
 0x0000000b (SYMENT)                     16 (bytes)
 0x00000003 (PLTGOT)                     0x58000
 0x00000002 (PLTRELSZ)                   848 (bytes)
 0x00000014 (PLTREL)                     REL
 0x00000017 (JMPREL)                     0x2bb8
 0x00000011 (REL)                        0x1f48
 0x00000012 (RELSZ)                      3184 (bytes)
 0x00000013 (RELENT)                     8 (bytes)
 0x6ffffffe (VERNEED)                    0x1e58
 0x6fffffff (VERNEEDNUM)                 3
 0x6ffffff0 (VERSYM)                     0x1cea
 0x6ffffffa (RELCOUNT)                   392
 0x00000000 (NULL)                       0x0

$ readelf -d src/libmpg123/.libs/libmpg123.so |grep TEXT
$

이렇게 빌드된 mpg123 라이브러리를 클론 리플레이어에 x86 jni 라이브러리로 넣고 x86/x86_64 AOSP+vmware에서 테스트해보니, 전에는 TEXTRELs 문제로 정지되던 것이 이제는 실행이 잘 되었다.

이 패치는 mpg123 sourceforge 사이트에 보고하였으며, 몇번의 피드백과 테스트를 통해 MMX/3DNow/3dnowext/SSE 디코더를 모두 지원하게 되었으며, 고친 소스는 위에서 언급한 github 사이트를 통해 확인할 수 있다.

by dumpcookie 2017. 3. 14. 04:06
| 1 2 3 4 5 ··· 22 |