Skip to content
TUWLAB.com
AVR

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

Posted 2014. 01. 21 Updated 2017. 06. 02 Views 15334 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 PSpice PSpice Performance Analysis file TUW 2021.12.28 10668
128 일반 Guided Text Input 구현 1 file TUW 2017.06.02 10839
127 Linux Ubuntu에서 PHP 최신버전 업데이트하기 TUW 2014.04.23 10961
126 일반 [포토샵] 모자이크 효과 적용하기 file TUW 2017.06.02 10981
125 Linux [vi] 기본환경설정 (줄번호 표시, 방향키활성 등) TUW 2014.04.23 11147
124 Python [Django Tutorial] 3. 프로젝트 및 App 생성, settings.py수정(DB연동, Migration), Runserver file TUW 2017.06.14 11227
123 Linux [Vi/Vim] 단축키 모음 file TUW 2017.06.02 11436
122 XE XE 1.7.x에서 Alert 함수 재정의(Override) 해제하기 file TUW 2017.06.02 11454
121 Linux [Emacs] 주요 단축키 모음 file TUW 2017.06.02 11466
120 XE XE 게시판 '스킨 관리' 탭에 저장 버튼 및 목차 추가하기 file TUW 2021.12.28 11583
119 OrCAD [OrCAD 16.3] Capture 부품 이동하며 자동 연결 옵션 설정하기 file TUW 2021.12.28 11775
118 Linux Ubuntu에서 Global Menu Bar 해제하기 TUW 2014.04.24 11799
117 일반 형광등기구 안정기 교환 file TUW 2021.12.28 11811
116 Apache Apache에사 Proxy Server를 통해 Port - Sub Domain 연결하기 TUW 2015.10.02 11938
115 Apache .htaccess 파일 설정 - 루트 디렉토리 변경하기 TUW 2010.02.22 11962
114 일반 CPU 오버클럭에 관한 기본 상식 TUW 2014.04.20 12053
목록
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