Skip to content
TUWLAB.com
AVR

[온도조절 인두기] 4. 문제점 발견 - ADC 입력에 저항분압 회로를 사용할 경우 문제점

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

도움을 요청했던 다른 분들은 한결같이 회로도상으로는 아무 문제가 없어 보이는데, 나도 잘 모르겠다는 반응이었습니다.

그렇게 프로젝트가 안드로메다로 향하고 있을 무렵, 문득 프로세서와 24V 전원이 연계된 한 곳에 의심이 가기 시작했습니다.

예초 설계 구상에서 공급 전원을 가변으로 줄 수 있도록 하고, 공급되는 전압에 따라서 최대 설정 가능 온도 및 W수에 제한을 두는 기능을 고려하고 넣은 회로였습니다.

공급되는 24V를 저항분압하여 1/11을 ADC 포트에 연결한 다음과 같은 단순 회로입니다.


 
▲ Voltage Divided ADC Input


전원을 켠 상태에서 ADC_POWER로 표시된 노드의 전압을 재 보면 24V의 1/11인 약 2.2V가 나왔습니다. 1k 저항으로 전류가 흐르지 않고 모두 프로세서로 흐른다고 가정해도 2mA 정도에 불과합니다. 이 정도 전류로 프로세서가 타버린다면 그건 쓰지 말고 그냥 갖다 버려야 하는 것이겠죠.ㅋ

사실 정석대로 한다면 이 부분은 저항분압이 아닌, OP-Amp를 중심으로 한 Signal Conditioning 회로가 들어가야 맞습니다. 하지만 OP-Amp와 주변회로를 장착할 공간이 도저히 나오지 않았으므로 어쩔 수 없이 이런 단순 저항분압 회로를 사용할 수밖에 없었습니다.


이러한 종류의 ADC 신호 입력 회로는 제가 고안해 낸 것이 아니라, 실제 배터리 Cell 전압을 측정하는 ADC 입력 회로에서도 많이 활용되고 있습니다.

예를들어, 1Cell 배터리 Cell 전압이 약 3.7V인데, 보통 이 경우 3.7V보다 낮은 3.3V 로직을 사용합니다. 전원부의 LDO(Low Drop Out) Regulator를 거치면서 발생하는 어쩔 수 없는 현상입니다.

여기서 배터리가 몇 % 남았는지 사용자에게 알려주기 위해서는 LDO 출력전압이 아닌, Cell 전압을 직접 측정해야 합니다. 이 때 3.3V 로직에 3.7V를 직접 연결하면 회로에 손상을 줄 수 있으므로 저항분압으로 반땡하거나 해서 3.3V 이하로 낮춰 ADC를 하고, 나중에 계산할 때 분압 비율을 역산하여 실제 Cell 전압을 계산해내게 됩니다.


여튼, 24V와 연계된 부분은 이곳 뿐이었으므로 우선 이 곳을 제거하고 테스트 해 보기로 결정합니다. ATmega8 칩에서 이 ADC 입력 핀을 펴서 소켓에 장착하고 테스트 해 보았습니다.

결과는 아무 문제 없이 ISP가 연결이 잘 되었습니다. (허허...)

되긴 했지만 왜 되는지 이해할 수 없는, 그런 이상한 기분이었습니다. 그간 칩이 탈때마다 다른곳을 조금씩 바꾸고 테스트 했지만, 이 부분이 잘못되었다고는 생각조차 못했기 때문이죠. (하지만, 나중에 또 다시 하드웨어 문제가 발생하는데, 그 때 이 저항분압 회로가 근본원인이 아니었다는게 밝혀지긴 합니다.)


하드웨어 문제점을 찾고 해결했으나, 당시 제 멘탈은 이 프로젝트를 계속 해 나갈 상황이 아니었습니다. 아주 지쳐있었으니까요.

게다가 곧 여름방학 기간이 되면서 저는 서울에서 약 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
» AVR [온도조절 인두기] 4. 문제점 발견 - ADC 입력에 저항분압 회로를 사용할 경우 문제점 file TUW 2017.06.02 14209
123 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