Skip to content
TUWLAB.com
AVR

[온도조절 인두기] 3. 하드웨어 디버깅

Posted 2014. 01. 21 Updated 2017. 06. 02 Views 12588 Replies 0
Atachment
첨부

하드웨어를 완성하고, 전원을 연결하기 전에 각 핀이 올바르게 동작하는지 수동으로 테스트를 해 보았다. 결과는 문제 없음. 물론 하드웨어를 제작하는 과정에서 중간중간 올바르게 연결이 되었는지는 수시로 확인하였다.

이번 프로젝트처럼 고밀도 집적회로를 손으로 만드는 경우 중간중간 확인을 철저히 하지 않으면 나중에 디버깅이 도저히 불가능해서 다 버리고 새로 만들어야 하는 사태가 발생할 수도 있기 때문이다.


그렇게 수동으로 한 테스트는 정상이었다. 부저와 버튼, LED, 숫자판의 모든 Segment들이 올바르게 연결되어 있었다. 그러나, 정작 문제는 전원을 연결했을 때 발생하였다.



▲ 타버린 ATmega8 칩


전원을 연결하고 ISP로 PC와 연결을 시도하면 아무 응답이 없었다. ATmega8 칩 위에 손을 대 보니 상당한 고온이 방출되고 있었다. 전형적인 프로세서가 탔을 때 증상이다.

칩을 납땜하기 전에 수 차례 회로가 정상인지 확인했기 때문에 자신있게 칩을 소켓 없이 기판에 바로 실장했는데, 그 칩을 떼어내야 하는 상황에 직면한 것이다.

하기 싫었지만 어떡하겠는가.. 어쩔 수 없이 해야지..;;


저렇게 다리가 많은 DIP타입 부품을 디솔더링 장비 없이 떼어낼 때는 온전하게 떼어낼 방법이 없다. 온전하게 떼어내려다가는 기판에 손상을 입히기 십상이다.

이런 상황에서는 칩의 다리를 모두 잘라내고 롱노우즈로 하나씩 잡은 다음 땜 부분을 인두로 가열하여 뽑아 내면 기판 손상 없이 깨끗하게 제거할 수 있다.



▲ ATmega8 디솔더링 작업


다리를 모두 떼어낸 다음에는 뒷면의 동판 패드에 있는 납을 최대한 제거하고, 구멍에 끼워져 있는 래핑와이어들을 한쪽으로 정리하여 홀에 새로운 부품을 실장할 수 있도록 준비하면 된다.



▲ 디솔더링 작업을 완료한 후. 새 ATmega8 칩을 준비했다.


칩이 타서 기판에서 제거하기는 했지만, 아직 그 원인이 무엇인지는 알아내지 못한 상태였다. 24V가 잘못된 곳으로 연결되지는 않았는지 여러 차례 확인해 봤지만 그렇 곳은 없었다.

새로 실장할 ATmega8 칩이 또 타지 않으리라는 보장이 없었으므로 직접실장 대신 IC소켓을 이용하기로 했다.



▲ 직접실장 대신 28Pin IC 소켓을


소켓에 칩을 꽃고 전원을 켰는데, 동시에 ATmega8 칩이 다시 타버렸다. [...]
이상했다. 분명 회로에는 아무 문제가 없었는데...

여분으로 갖고 있던 ATmega8 칩이 없었으므로 ATmega16 테스트 보드를 활용하여 회로에 문제가 없는지 검증하기로 했다.



▲ ATmega16 테스트보드를 활용한 회로 검증


위 사진에서 보는것과 같이 ATmega16은 아무 문제가 없었고, 프로그램 다운로드도 아주 잘 됬다. 사진은 히터 ON/OFF 펌웨어를 제작하여 테스트중인 모습.

아무래도 ATmega16 칩이 더 크니깐 최대 허용 전류 크기가 더 클거라는것을 고려하더라도, 정말 이상했다. 이미 회로 설계과정에서 그러한 전류제한들을 모두 고려하여 최대한 안정적으로 구성하였기 때문이다.

FET 스위치의 Gate도 TR로 구성된 Gate Driver를 활용하도록 되어 있었고, LED 하나 켜는 것도 포트 직접 제어가 아닌 TR로 버퍼링을 하도록 구성했기 때문이다.


다음날 부품가게에 가서 ATmega8을 공수해왔고, 다시 장착 후 테스트하였다. 그 결과는...



▲ 모두 운명하셨습니다.. -,.ㅡ


답답하기 짝이 없는 노릇.. 분명 ATmega16 칩에 연결하면 아무 문제 없이 잘 된다. 회로 설계상 전류 제한을 초과한곳은 없었다. 계속 챗바퀴 도는 디버깅만 이어질 뿐이었다.



▲ 그 즈음의 멘탈 상태를 보여주는 한 장의 사진.jpg


고민을 거듭하다가 그래도 해결책이 나오질 않자, 그냥 동작이 되는 ATmega16 칩을 사용하기로 마음먹었다. 16으로 넘어가면 ADC 연산을 할 때, 8에서 지원하지 않는 차동증폭(Difference Amplifying)을 사용할 수 있고, 포트 및 프로그램 메모리에 여유가 생기므로 여러모로 나쁠 것은 없었기 때문.

단, ATmega16을 쓰려면 DIP타입이 아닌 TQFP 패키지를 써야 하기 때문에 약간의 삽질을 더 해야만 했다.
- 이름하여 공중납땜!



▲ 사망한 ATmega8 칩의 다리들을 분리했다.



▲ 다리의 사각형 패드 가운데에 구멍을 뚫은 모습



▲ 구멍에 래핑와이어를 끼우고 땜한다음 열수축튜브로 마감한다.


한땀한땀...;;;



▲ 공중부양(?) 래핑와이어


이것을 길이를 맞춰서 자른 다음 TQFP 패키지의 ATmega16에 하나하나 납땜한다.
- 계속되는 멘탈소모.. 헥켘


▲ 능지처참중인 ATmega16(?)



▲ 래핑와이어를 구부려서 28핀 DIP 소켓에 장착한다.



▲ 완성 (이게 끝일까?)


온도조절 인두기의 완성품 사진을 보고 오신 분을 알고 계시겠지만, 거기에는 ATmega16이 아닌 예초 설계였던 DIP타입의 ATmega8이 장착되어 있습니다.

이렇게 연결을 하고 ISP 연결을 시도했으나 연결되지 않았습니다. 대신 칩이 타서 위에서 고온이 방출될 뿐이었죠. 이렇게 3번 정도 시도해 보다가 ATmega16도 다 떨어져서 그만두게 됩니다.


- 프로세서 칩 없이 테스트한 회로는 정상이다.
- ATmega8 - DIP : 탄다.
- ATmega8 - TQFP :  탄다.
- ATmega16 - DIP : 정상 동작한다.
- ATmega15 - TQFP : 탄다.


회로를 직접 만들어 본 분들은 정말 잘 알겠지만, 아예 동작하지 않는 회로보다 어떤 때는 되고 어떤 때는 안 되는 회로가 정말 사람 미치게 합니다. 거기에서 파생되는 스트레스란.. 으으.. 말로 표현할 수 없을 정도죠.


그렇게 수 많은 칩들을 태워먹고(ㅠ) 인터넷 카페와 지식인, SNS 등을 총동원하여 회로도를 올려놓고 HELP 요청을 해 놓은 뒤, 약 2주간은 손을 놓고 있었습니다.


- 다음 글에 계속 -


서비스 선택
이용중인 SNS 버튼을 클릭하여 로그인 해주세요.
SNS 계정을 통해 로그인하면 회원가입 없이 댓글을 남길 수 있습니다.
댓글
?
Powered by SocialXE

List of Articles
번호 분류 제목 글쓴이 최근 수정일 조회 수
129 일반 AutoCAD 자주 사용하는 명령어 요약 정리 TUW 2014.04.24 18521
128 Linux SSHFS를 활용한 원격 디렉토리 마운트 TUW 2014.04.24 9234
127 Apache [Apache] .htaccess를 활용한 이미지 외부링크 방지하기 2 file TUW 2017.06.02 15079
126 AVR [온도조절 인두기] 6. 마지막 디버깅 - LM2575 오버슈트(Overshoot) 현상 file TUW 2017.09.22 13555
125 AVR [온도조절 인두기] 5. 소프트웨어 제작 file TUW 2017.06.02 12261
124 AVR [온도조절 인두기] 4. 문제점 발견 - ADC 입력에 저항분압 회로를 사용할 경우 문제점 file TUW 2017.06.02 14209
» AVR [온도조절 인두기] 3. 하드웨어 디버깅 file TUW 2017.06.02 12588
122 AVR [온도조절 인두기] 2. 하드웨어 제작 file TUW 2017.06.02 12308
121 AVR [온도조절 인두기] 1. 모든 사건(?)의 발단 file TUW 2017.06.02 13251
120 Apache Apache에사 Proxy Server를 통해 Port - Sub Domain 연결하기 TUW 2015.10.02 11018
119 Linux Ubuntu에서 Global Menu Bar 해제하기 TUW 2014.04.24 11579
118 일반 MediaWiki 기본 문법 TUW 2014.04.23 14258
117 Linux Ubuntu에서 분산 컴파일러 (ICECC) 설치 및 사용하기 file TUW 2017.06.02 14913
116 Linux [Ubuntu] Bashrc Shell Prompt 커스터마이징 (.bashrc PS1) TUW 2014.04.24 19037
115 Linux Ubuntu에 GITLAB 설치하기 A to Z, Apache 연동 file TUW 2017.06.02 21909
114 Linux Windows 및 Linux 클라이언트에서 SSH 자동 로그인 설정하기 file TUW 2018.07.22 24746
목록
Board Pagination Prev 1 2 3 4 5 6 7 8 ... 13 Next
/ 13

Powered by Xpress Engine / Designed by Sketchbook

sketchbook5, 스케치북5

sketchbook5, 스케치북5