2009년 첫 주말이자 연휴였던(?) 4일 동안.. 늘 그래왔듯이 12시 넘겨서 까지 늦잠 자고 영화로 시간을 보내다보니 참 답답하더군요.. ^^;
그래서 마음을 고쳐잡자라고 해서 그 동안 만들려고 마음 먹었던 atmega128로 시리얼 데이터 로거를 만들려고 했습니다.

찍을때 흔들렸군요..
왼쪽 상단에는 usb 콘넥터, 그 아래는 회사에서 쓰고 있는 usb-485 보드.. 잘 만들어서 usb-ttl,usb-232,usb-485 이렇게 됩니다.
여기서는 usb-ttl 용도죠. atmega128과 통신을 하기 위해서.
그 아래 칩은 ds1620으로 온도계용 칩니다. 그냥 바로 i2c용으로 값을 넘겨준다고 해서 온도계와 opamp로 구성을 하는 것보다 나을것 같아 달았습니다.
가운데는 atmega128 보드, 그 옆에는 뭐 주렁 주렁 달았는데 아직 배선도 안되있네요. 시꺼먼 것은 ds12887 호환 RTC네요.
128 보드 아래 sd 카드 슬롯이 숨어있습니다.
이렇게요.. 공간 절약 차원에서.

현재 회사에서 쓰는 장비의 로그 양을 봤을때 256메가 정도면 3일 정도 분량이 되겠네요.
필요할때 로거로 쓰기엔 충분 할것으로 보입니다.
앞면이 깔끔한 것과 달리 뒷면은.... 이렇죠..

오른쪽에 배선이 거의 안된것이 LED와 RTC쪽이고 현재 배선이 된것은 ATmega128과 USB 통신 보드,SD 카드와 인터페이스, 온도칩이네요.
상단에 약간 큰 칩이 5V-3.3V용으로 레벨 컨버터인 74LVC245 고 그 아래가 5V를 3.3V로 바꾸어주는 레귤레이터입니다. 칩도 SMD용이고 SD카드 뒷편은 공간이 많이 남아서 뒷면에 배선을 했습니다.
기본 전원 배선은 단선으로 납땜하고 그외 데이터 선등은 모두 UEW 로 했습니다. 하다보니 저 IC 다리 간격 정도는 이제 납땜이 가능하더라구요.. ^_^;;
저 아래 저항 두 개는 집에 돌고 도는 넘을 썼네요.
프로그램을 넣어 USB 통신 보드-ATmega128-온도칩까지는 정상 동작하는 것을 확인 했습니다.
ds1620 이 일반 칩 형태라 손가락을 가져다 대서는 온도 변화가 없네요.. 인두를 가져다대니 온도가 올라갑니다. 입김을 불어도 올라가구요..
아무래도 특정 부분에 대한 온도 로그를 남기려면 와이어 형태의 온도계를 사용해야겠네요.
이건 그냥 일반적인 온도계로 쓸수 있나 봅니다. 더구나 찾아보니 온도도 0.5도 단위군요.
이제 rtc와 연결하고 sd 카드와 연결해서 온도와 통신에 대한 로그를 남기게 하는 덩치 큰 부분만 남았군요.
LED에 온도 표시도 나오게 해야겠군요.
ATmega128을 해보면서 느끼지만 역시 많은 사용자들이 사용을 하니 자료도 구하기가 쉽고 많더군요.
저같이 엄청난 초보자도 쓸만하니까요..
C언어 만져본지가 10년도 지났으니.. 아는 사람은 알려나 도스 시절이라고,,.. -_-;;
아~~ ds1620 관련 부분은 http://blog.naver.com/im_1002?Redirect=Log&logNo=70024796922 여기에서 많은 도움을 받았습니다.
뭐 거의 소스를 그대로 사용했다고 봐야겠지만요. ^_^;
고맙게 사용했다고 리플 달려니 네이버 로그인을 해야하는군요,
그래서 트랙백으로 대신합니다.