본 게시물은 2017-추계 한국항공우주공학회 학술대회에 투고한 논문의 연구노트 일부이며, 무단 전제 및 재배포시 문제가 될 수 있습니다. |
프로그램까지 잘 구워진 ATmega8 칩이 임의의 전원을 켜는 순간에 타버리는 현상이 발생했습니다.
그것도 처음 켤때 무조건 타는 것이 아니라, 여러 번 껏다 켰다 하면 어느 순간 켤 때 같이 타버리는, 지난번보다 훨씬 오리무중인 H/W Fault였습니다.
이 문제를 해결하는 과정에서 또 다시 지난번 하드웨어 디버깅때와 비슷한 수량의 ATmega8을 태워버려야 했습니다. (그러다가 문득 지금까지 태워먹은 프로세서 칩들 다 합하면 HAKKO 정품 인두기 하나 뽑았겠다는 생각도 문득 들었습니다.-_-... 세보지는 않았지만, 정말 그럴지도..-?)
이번 문제는 정말 의외였던 부품에서 원인을 찾게 되었는데, 바로 요 전원부였습니다.
▲ 24V를 5V로 정류하는 전원 브릿지
전원을 켜는 '순간' 칩이 나가는 현상에 주목하여, 전원 스위치를 누르는 순간 VCC 5V 노드의 전압을 오실로스코프로 찍어 보았습니다. 그 결과는 가히 놀라고 까무러칠만 했습니다.
▲ 전원부 오버슈트 현상
ATmega8의 Datasheet상 정격 최대(MAX) 전압은 5.5V입니다. 전원을 켜는 순간 그보다 최대 4배나 큰 전압이 무려 40ms나 인가 되었습니다. 이 상황에서 ATmega8이 안타면 더 이상하겠죠..??^^;;;
전원 브릿지를 싸고 있던 튜브를 벗겨내고 회로를 살펴보았지만, 역시 겉보기에는 아무 이상이 없었습니다. (뭐 항상 겉보기로는 아무 문제가 없지요..ㅎㅎ)
LM2575 칩이 불량인 것으로 의심되어 이것을 새 칩으로 교환해 보았습니다. 오실로스코프로 다시 찍어봤지만 별다른 변화가 없었습니다.
그렇다면 주변회로 문제였습니다. 하지만 제가 사용했던 회로는 데이터시트에 나와 있던 표준 회로 그대로였습니다.
▲ LM2575 표준회로
이제는 주변 회로 부품을 하나씩 교환해 보기 시작했습니다. 가장 간단한 제너다이오드를 시작으로 인덕터, 캐패시터..
- 24V 입력부의 캐패시터를 교환했더니 오버슈트 현상이 사라졌습니다.
결과적으로 캐패시터 문제였다는 결론이 내려졌습니다.
빵판에 LM2575 회로를 구성하고 Cin과 Cout을 각각 제거해보는 실험을 해 보았습니다. 결과는 다음과 같았습니다.
- Cin 제거 : Vin이 연결되는 순간 Vout에 최대 Vin만큼의 오버슈트 현상이 나타납니다. 오버슈트 현상이 끝난 다음에는 안정적인 5V가 계속 공급됩니다.
- Cout 제거 : Vout이 올바르게 출력되지 않습니다. 오실로스코프로 찍어 보면 뭉개진 구형파(Capacitive Square Wave)모양의 불안정한 5V가 공급됩니다.
7805와 같은 리니어 레귤레이터는 입력전압과 출력전압의 차이를 저항을 통해 열로 방출시켜버리는 다소 무식한 방법으로 동작하기 때문에 주변 회로가 복잡하지 않습니다. Vin과 Vout에 캐패시터 하나씩만 달아주면 그걸로 끝이고, 굳이 달지 않아도 Vout에 주는 영향은 미미하거나 전혀 없습니다.
반면, LM2575와 같은 스위칭 레귤레이터는 그렇지 않습니다. 스위칭 레귤레이터는 입력전압을 아주 빠른 속도로 스위칭하여 RMS 전압이 출력전압과 같도록 만든 다음, 출력부에 캐패시터와 보정회로를 달아서 RMS 전압을 다시 DC전압으로 바꾸는 다소 복잡한 방식으로 동작합니다.
따라서 7805처럼 레귤레이터 혼자서 동작하는 것은 기대해서도 안 되며, Datasheet에 나온 대로 주변 회로를 충실히 구현해 주어야 합니다.
... 그렇게, 수 많은 ATmega8들을 태워 먹으며 본인의 멘탈을 붕괴시킨 무시무시한 하드웨어 버그의 원인은 전원부에 붙어 있던 100uF짜리 캐패시터 하나 때문이었음이 밝혀졌습니다.
저 캐패시터를 교환한 뒤로는 앞서 봤던 문제점들이 모두 사라졌습니다. 해 보지는 않았지만, ADC 저항분압 입력회로도 다시 구현하더라도 문제가 없을 것으로 생각됩니다.
캐패시터 교환 이후에도 문제가 해결되지 않으면 다음과 같은 지연 시작(Delayed Startup) 회로를 구성하여 Overshoot 구간이 지난 다음에 Enable을 시켜서 칩을 보호하는 방법을 사용하려고 생각하고 있었습니다.
▲ LM2575 지연 시작(Delayed Startup) 회로
그러나 모든 문제점이 해결되었으므로 PASS!
추가로 Datasheet에 나와 있는 설명에 따르면, 이 지연 시작 회로는 전원 공급 직후부터 출력 전원이 안정될 때까지 Enable을 지연시켜줄 수 있다.
전원 문제를 해결한 이후에도 Heater가 꺼지지 않는다거나, 케이스에만 집어넣으면 Heater가 계속 켜져있는다던가 하는 레알 성질 건드리는 자잘한 문제들이 발생했습니다. (대체 이 프로젝트에는 무슨 마가 낀거지..)
- 하지만 성질만 건드릴 뿐, 대부분 비교적 쉽게 해결할 수 있었습니다.
▲ 완성된 65W HAKKO 온도조절 인두기
여기까지 길고도 지루했던 65W HAKKO 온도조절 인두기 제작 프로젝트의 대단원이 막을 내렸습니다. 3만원짜리 중국산 인두기로부터 시작한 이 프로젝트는 정말 무슨 마가 끼었는지 시작부터 끝까지 많은 멘탈과 비용이 소모되었습니다.
그러나 결국 제가 승리했고 이렇게 포스팅을 하고 있네요. ^-^//씁쓸...
작년 4월의 저에게 메시지를 보낼 수 있다면 다음과 같은 한마디만 써서 보내고 싶습니다.
"그냥 사서 써-_-!"