Skip to content
TUWLAB.com
모든 게시물에 대하여 '링크'
방식의 퍼가기만 허용합니다.
한양대학교 전자통신컴퓨터공학부
바라미
  • 653
  • 2594608
DNS Powered by DNSEver.com
AVR

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

Posted 2014. 01. 21 Updated 2017. 06. 02 Views 15649 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
번호 분류 제목 글쓴이 최근 수정일 조회 수
49 Linux Ubuntu에서 PATH 설정하기 TUW 2014.04.20 60973
48 Linux Ubuntu에서 Global Menu Bar 해제하기 TUW 2014.04.24 11875
47 Linux Ubuntu에서 GIT Client 설치 및 사용하기 TUW 2014.04.24 13712
46 Linux Ubuntu에 GITLAB 설치하기 A to Z, Apache 연동 file TUW 2017.06.02 22469
45 Linux Ubuntu 에서 VirtualBox로 Windows 7 설치 및 사용하기 1 file TUW 2017.06.02 23353
44 Linux TCPDump를 활용하여 패킷 모니터링하기 TUW 2020.04.13 7217
43 일반 TCP/IP의 원리를 쉽게 설명한 동영상 TUW 2021.12.28 9428
42 Security SSL Handshake 과정 TUW 2016.06.21 7335
41 Linux SSHFS를 활용한 원격 디렉토리 마운트 TUW 2014.04.24 10075
40 XE Social XE 트위터 프로필사진 표시 문제 해결하기 3 file TUW 2017.06.02 205149
39 XE Social XE 댓글 위젯에 SNS 전송 옵션 추가하기 6 file TUW 2017.06.02 23632
38 Linux SCP명령어 - 초간단 파일/디렉토리 전송 TUW 2014.04.23 41260
37 일반 Scan Robot - 전자동 북스캐너 file TUW 2017.06.02 9813
36 Linux Root권한 없이 Wireshark 사용하기 file TUW 2017.06.02 109137
35 Apache robots.txt를 활용하여 검색엔진 로봇 인덱싱 제한하기 TUW 2014.04.23 9463
34 Python pyenv를 이용하여 여러 버전의 Python 동시에 사용하기 3 TUW 2016.07.12 14282
목록
Board Pagination Prev 1 ... 7 8 9 10 11 12 13 Next
/ 13

Powered by Xpress Engine / Designed by Sketchbook

sketchbook5, 스케치북5

sketchbook5, 스케치북5