예전에 약속드렸던 커스텀 삽질중 발생하는 문제점에 대해서 제가 대처했던 해결법을 정리해봤습니다.

우선 기준은 A.87기준입니다. 공제 커스텀이 아닌이상 직접 주문할 수 있는 기판은 A.87, MX-mini, HHMX정도일거라 사료됩니다. 거의 대처법은 비슷할겁니다.

처음으로 만들어본 커스텀이기에, 이것저것 문제점이 발생하였고 거기에 대해서 해결법을 올려봅니다.


1. 기판을 주문하고싶어요. 근데 PCB기판 제작시 옵션이 많은데 어떻게 신청해야하나요?

- 처음 기판 주문할때 수많은 옵션에 적지않게 당황하실겁니다. 무슨 레이어에 재질에 두께와 실크 등등..

제일 기본적인 주문 방법을 알려드리겠습니다.

레이어 : 2

수량 : 4~5 (각 업체마다 샘플 기본 수량이 4곳인 곳도 있고 5곳인 곳도 있습니다. 거기에 맞춰서 하시면 됩니다.)

재질 : FR-4 가 제일 기본입니다. 

표면처리 : HASL 로 하시면 될겁니다. 

두께 : A.87같은경우는 괴수가면님이 올려주신 아크릴 하우징과 맞으려면 1T나 1.2T로 해야합니다만.. 개인적으로 제작하실거라면 1.6T도 괜찮습니다.

동박 : 1OZ (괴수가면님께서 HOZ로 해도 좋다고 하셨습니다)

실크 : 양면

V-cut, 단자금도금 : 안하시면 됩니다. (하시면 가격이 올라가요;;)

실크색상, 솔다색상 : 기본적인 흰색과 녹색으로 하시면 됩니다.


2. 기판이 도착했어요~ 근데 소자는 어떤걸 사야하는건가요? 종류가 너무 많아요.

(A.87, MX-mini, HHMX 기준입니다.)

 - ATMEGA32A-AU 1ea[http://www.devicemart.co.kr/mart7/mall.php?cat=001001001&query=view&no=35987]
 - 오실레이터12MHz(5*7)1ea[http://eleparts.co.kr/front/productdetail.php?productcode=032002002003007320&sort=]
 - 저항 2012size 4.7K 1ea[http://www.devicemart.co.kr/mart7/mall.php?cat=075001003&query=view&no=30053]
 - 저항 2012size 1.5k 1ea[http://www.devicemart.co.kr/mart7/mall.php?cat=075001003&query=view&no=29991]
 - 저항 2012size 330  3ea[http://www.devicemart.co.kr/mart7/mall.php?cat=075001003&query=view&no=30039]
 - 저항 2012size 68   2ea[http://www.eleparts.co.kr/front/productdetail.php?productcode=002004078003000058&sort=]
 - 세라믹2012size 0.1uF 3ea[http://www.devicemart.co.kr/mart7/mall.php?cat=077004000&query=view&no=14594]
 - 탄탈Asize 10uF/16V 2ea[http://www.devicemart.co.kr/mart7/mall.php?cat=077011000&query=view&no=10134]
 - 1117S-3.3V 1ea[http://www.devicemart.co.kr/mart7/mall.php?cat=001014006&query=view&no=4000]
 - mini-usb 120 1ea[http://eleparts.co.kr/front/productdetail.php?productcode=004019002001000009]

 - 더블 핀헤더 6핀 [http://www.devicemart.co.kr/mart7/mall.php?cat=035001011&query=view&no=30819]

(더블핀헤더는 꽤 깁니다. 필요한만큼 칼같은걸로 잘라서 쓰시면 됩니다.)

- 다이오드 [http://www.devicemart.co.kr/mart7/mall.php?cat=034001000&query=view&no=351]

(다이오드는 키보드 스위치 디솔 시 체결되있는 경우가 있습니다. 그러면 그냥 그거 쓰셔도 됩니다.)

- led [http://www.devicemart.co.kr/mart7/mall.php?cat=052005003&query=view&no=6960]

(led는 대표적인 빨간색입니다. 다른색을 원하신다면 링크타고 가셔서 똑같은 카테고리에 있는 3파이 led중 고르시면 됩니다.)


-A.87 윈키리스기판의 경우 다이오드가 SMD타입입니다. 곧 찾아서 링크 올려보겠습니다.


3. 소자도 다 샀고, 납땜도 끝났습니다. 근데 usb를 연결하니 컴퓨터에서 아무런 동작도 안하네요..?

- 저같은 경우는 ATmega32A(이하 MCU) 납땜이 잘못되어 있는 경우였습니다. 납이 뭉쳐있거나 연결이 제대로 안된경우 컴퓨터에서 인식 자체를 못했습니다.

MCU등의 SMD타입 소자 납땜이 두려우신 분은

http://www.otd.kr/bbs/board.php?bo_table=TT&wr_id=1630&sca=&sfl=wr_subject&stx=%EB%82%A9%EB%95%9C

여기 나오는 동영상을 보시면 아주 친절하게 잘 알려주십니다.

저같은 경우도 이 동영상을 보고 한시간 반이 걸려도 잘 안되던 MCU납땜을 10분만에 완료하는 수준에 이르렀습니다.(자기자랑 한다 또...-_-;;ㅋㅋ)


4. 컴퓨터에서 인식을 합니다. 근데 알수없는 장치라고 뜹니다..ㅠㅠ

- 당연히 MCU에 아무런 데이터도 들어가 있지 않은데 알수없는 장치라고 뜨는것이 당연하겠지요^^;;

ISP 로더로 부트로더를 우선 입혀줘야 합니다. 

http://www.otd.kr/bbs/board.php?bo_table=aikon_manual&wr_id=23 

이 글을 보시면 기본적인 부트로더 법은 아실수 있을겁니다.


하지만 저같은 경우는 저 방법을 추천하지 않습니다. 

http://www.otd.kr/bbs/board.php?bo_table=TT&wr_id=2239

이 방법을 이용해 보시기 바랍니다. avr studio라는 프로그램을 이용하는 방법인데, 명령어를 이용한 배치파일 사용이 클릭만으로 사용하기 편하지만 많은 문제점에 대한 대처는 훨씬 어렵습니다. 그에반해 avr studio는 프로그램 자체에서 그러한 변수에 대해 조절할수 있는 부분이 많아 전 편했습니다.ㅎ

(참고로 위의 링크에서는 펌웨어를 입히는 방법인데, 부트로더 파일을 똑같은 방법으로 입히시면 됩니다. 펌웨어는 그냥 배치파일 방식으로 업해도 상관 없습니다.)


저는 아래제품을 사용해서 부트로더를 입혔습니다. 위의 링크의 내용과 똑같이 호환됩니다.

http://www.devicemart.co.kr/mart7/mall.php?cat=010002000&query=view&no=19402 

위의 글에 나온 제품은 6핀커넥터에 맞게 약간의 개조를 해야하지만 제가 링크한 제품은 6핀커넥터가 내장되어 있기 때문에 굳이 어렵게 개조 안하셔도 잘 될겁니다. 그리고 더 쌉니다..;;;ㅎㅎ

그리고 부트로더를 입혔다면 알수없는 장치가 아닌 입력장치로 인식을 할겁니다. 하지만 부트로더가 끝이 아니니 끝까지 읽어주세요^^


5. ISP로더를 샀습니다. 위의 글대로 하는데 왜 로더에 초록불이 안들어오나요..?

- 매우 간단한 문제입니다. 로더만 usb로 연결하지 마시고, 기판도 usb로 연결한 후 로더와 6핀커넥터로 연결하시면 불 들어올겁니다.


6. 4번항목의 링크대로 run.bat파일을 실행시켰습니다. 근데 자꾸 time out이 뜨면서 부트로더가 입혀지지 않습니다.

- 이같은 경우 저는 매우 황당한 방법으로 부트로더를 입혔습니다...

혹시 64비트 윈도우를 쓰시나요..? 그럼 당장 32비트 윈도우에서 시도하시기 바랍니다...;;;;

32비트 윈도우에서 하니 잘 됩니다. (저도 정확한 이유는 모르겠습니다만.. 아직 64비트가 호환이 잘 안되는 걸지도.. 모르겠네요^^;;)

만약 32비트에서 해도 계속 똑같은 증상이라면 MCU및 다른 소자들의 납땜을 다시한번 해보시기 바랍니다.


7. 이제 time out이라는 메시지는 안뜹니다.. 근데 Double Check Connection and try again 이라는 말이 뜹니다. 뭐죠?

(또는) avr Studio를 설치하고 연결까지 했습니다만, Fuses 설정이나 부트로더가 입혀지지 않습니다. Entering Programing mode 가 자꾸 Failed가 뜨면서 되지 않네요


  1) 6핀 커넥터 방향을 제대로 맞춰서 끼워줍니다.. 

  2) 4번 항목에서 링크걸었던 avr studio를 사용해 연결 후 Main 탭에서 ISP Mode 옆에있는 frequancy 였나..를 최하점으로 둡니다.. (지금 정확히 기억은 나지 않습니다만, frequancy 를 최하수치로 두면 안되던 Fuses 설정이 잘 되면서 부트로더도 잘 입혀 질겁니다. 처음 부트로더를 입힐때 무슨 주파수였는지 뭔지를 1/4 이하로 줄여야 된다는 글을 본 것에서 착안한 겁니다.)

  3) 1,2번 방법으로도 되지 않는다면 소자 납땜 문제일 가능성이 큽니다. 인내심을 가지고(??) MCU와 다른 소자들을 다시한번 납땜해 보세요. MCU가 접촉불량이나 납 뭉친 부분이 있을지도 모릅니다.


8. 부트로더도 입히는데 성공했습니다. 그리고 펌웨어를 입히려고 하는데  error opening HIDBoot device : The specified device was not found 라는 메시지가 자꾸 뜹니다.

  1) 점퍼 쇼트 시키셨나요? A.87같은 경우는 점퍼가 따로 없고 Pause키를 쇼트시킨후 연결하면 부트로더 모드로 들어갑니다. 그 후에 펌업을 해보세요.

http://www.otd.kr/bbs/board.php?bo_table=Aquacompany&wr_id=2638&sca=&sfl=wr_subject&stx=pcb

이 글 맨 아래줄에 보면 쇼트시키는 위치가 나옵니다. 핀셋같은걸로 하면 됩니다^^

  2) 혹시 기판을 연결하면 알수없는 장치라고 뜨시나요? 그렇다면 오실레이터의 문제일 가능성이 큽니다. 오실레이터가 쇼트나서 망가져버린 경우일 가능성이 큽니다. 오실레이터를 갈아준 후 연결하시면 정상적인 입력장치로 뜰겁니다.


참고 - 정상적으로 단계를 밟은 경우 납땜이 끝난후 컴퓨터에 연결하면 알수없는 장치, 부트로더까지 입힌후 연결하면 입력 장치, 점퍼 쇼트시키면 입력장치 (드라이버 설치중에 BootloadHID였나.. 라는 메시지가 뜨면서 드라이버를 설치할겁니다.) , 펌웨어까지 입힌 후 연결하면 대망의 Aikon 으로 연결이 됩니다^^



우선은 여기까지입니다. 혹시 누락된게 있거나 하면 더 추가하도록 하겠습니다.

혹시 틀린점이 있다면 지적도 환영합니다^^


좋은하루되세요~

profile

내손에 맞는 키보드가 진리다