본문 바로가기

Electronics

네이트 드라이브 외장형 GPS개조기 1

휴대폰 거치대 처럼 생긴 네이트 드라이브 외장형 GPS수신기가 생겼다. ^^
안그래도 GPS수신 모듈을 하나 살까하는 중이었는데 마침 잘 됐다.

모델명은 NDK-300P 이다. 인터넷을 뒤져보니 역시나 개조기가 올라 있었다. 네이버 카페보다는 www.pc4car.com 이라는 독립 동호회에 훌륭한 자료가 있었다. 심지어 락 걸린 버전을 해킹하는 프로그램까지 있다. 내가 구한 것은 다행히 구버전이라 해킹 프로그램은 필요없다.

이정도면 외국의 해킹 사례를 보며 부러워만 할 필요가 없겠다 싶다. 우리에게도 이런 훌륭한 해킹 문화 우리말로는 개조문화가 되려나? 아무튼 이런 좋은 문화가 알게모르게 번창하고 있다는 것이 자랑스럽다.

다만 그런 자작 개조가 각 분야 별로 각개전투를 하고 있다는 것이 좀 아쉽다. 내가 할 일이 남아 있다는게 다행이려나 ^^

우선 다른 사람들은 대게 이 장치를 PDA에 붙여서 쓰려고 개조를 하기 때문에 PC와 연결하는 개조기는 좀 드물었다. 마침 pc4car.com이 자동차용 PC를 자작하는 사람들의 동호회이기 때문에 PC와의 연결 방법이 올라있었다.

나사를 돌려서(다행히) 뚜껑을 열어보니 GPS모듈로보이는 부분은 금속케이스(?)속에 들어 있고 나머지회로들이 나름 빼곡이 자리를 잡고 있다. 기판의 뒷면을 보니 마이크로프로세서로 보이는 칩에 스티커가 붙어 있길래 뜯어 보니 요즘 낯익어진 atmel사의  atmega162칩이었다. 서로 아는 사이도 아닌데 괜히 반가웠다. 길가다 연예인을 본 기분이랄까.

사용자 삽입 이미지
  기계장치들에 관심이 있는 사람이라면 오른쪽에 있는 커버를 보면 어디서 많이 본 물건이구나 싶을 것이다.

사용자 삽입 이미지
선명히 보이는 atmega162 칩. 오른쪽에 양철로 뒤덮힌 부분이 GPS모듈이다. 고주파를 처리 하기 때문에 격리시킨듯 하다. 전자기기는 주변 회로와의 간섭이 아주 골치아픈 문제다. 지금 진행중인 펫토이봇 프로젝트에서도 신호 간섭문제가 가장 해결하기 어려운 문제라고 할 수 있다.



사용자 삽입 이미지
개조의 첫단계로, 밖으로 뽑아낼 GPS 신호를 따내기다. 노란선이 연결된 것이 TTL신호가 나오는 곳이라고한다.


사용자 삽입 이미지
그 다음이 전원이 되는 +5V와 접지선(-단자)의 연결이다. 빨간선이 +5V를 넣어줄 곳이고 까만선이 -를 연결해주는 곳이다. 원래 파란 커패시터 밑 미색단자에 자동차 시거잭 어댑터에서 오는 전원이 연결된다.
12V가 바로와서 내부에서 5V로 변환하는 줄 알았더니 어댑터에서 이미 5V로 바꿔서 보내고 있었다.
이 부분이 PDA파 들은 전원을 받아가는 부분이지만 나는 반대로 공급하는 부분이 되겠다. PC가 이 놈에게서 전원을 받아갈 일은 없다.

나는 땜질 세번으로 끝냈지만, 그건 내가 구한것이 구버전이라 그렇고 이 모델에도 신버전은 휴대폰을 연결하기 전에는 신호를 내보내지 않는 방식으로 바뀌어서 땜질을 한 번 더 해줘야 한다.



사용자 삽입 이미지
사진 아래에 6가지 색동전선이 연결된 커넥터에 회로에서 따온 세 전선이 연결된다. 이 커넥터는 USB - TTL 변환 케이블의 커넥터다. 이 부분이 다른 PC연결 개조파들과 다른 부분이다. 다른 사람들은 회로에서 뽑아낸 TTL신호를 RS-232신호로 바꾸어 PC로 보내지만 난 TTL 신호를 이 커넥터를 통해서 곧바로 PC의 USB포트로 보낸다.


USB to TTL  변환케이블


여기서 TTL과 RS-232, USB 이 셋의 관계에 대해 알아볼 필요가 있다.
아래 그림이 TTL의 존재에 대한 그림인데 CPU와 외부기기와의 연결을 위해서는 마더보드내의 병렬통신을 UART라는 것을 통해 시리얼(다만 직렬일 뿐) 방식으로 바꾸어 주는데 그 신호가 TTL이란다. 시리얼한 신호이긴 해도 시리얼통신과는 일단 전압이 다르다.

TTL방식은 기기내부의 안정적인 환경에서쓰이기 때문에 0V와 5V로 0과 1을 표시하지만 외부의 노이즈를 고려해서 RS-232는 -3V이하와 3V이상으로 1과 0을 표현하는것 같다.

사용자 삽입 이미지

그래서 TTL을 RS-232로 바꿔주는 방식을 쓰려면 MAX232 같은 변환칩을 써야 한다.

내가  USB to TTL 변환 케이블을 가지고 있는 이유는 ARDUINO 클론 보드를 살 때 프로그램 업로드를 위해 함께 샀기 때문이기도 하지만, 당장 MAX232칩이 없으니 지금은 그 수 밖에 없기도 하다. 마침 잘 됐다고나 할까.

아르뒤노를 사려고 하던때에 도대체 어떤 케이블을 사야 저렴한 방법으로 프로그램을 업로드 할 수가 있는건지 너무 헷갈렸는데 이제서야 뭔가 정리가 된 느낌이다.

위와 같은 방법으로 연결을 하고 USB포트를 PC에 꽂으면 USB케이블을 통해서 GPS모듈에 전원이 공급되어 빨간 LED가 들어오고 초록생 LED가 깜박거린다.

위성을 찾으면 초록 LED가 계속 켜져 있고 찾는 동안에는 깜빡거린다.


사용자 삽입 이미지
아파트 5층의 내방 창가에서 위성을 찾고 초록색 LED가 켜져 있는 누드의 네이트드라이브 GPS거치대



사용자 삽입 이미지
처음 PC에 연결했을 때는 전송 속도를 맞추지 않아서 글자가 온통깨져 보였다. 역시 인터넷을 뒤져보니 먼저 경험한 사람이 있었고 속도 문제라는 것도 알 수 있었고 속도를 고치자 위처럼 알아볼 수 있는 글씨로 나왔다. 물론 내용은 알아볼 수가 없다.--;

이제 PC용 네비게이션 프로그램만 구해서 노트북에 깔면^^ 나도 네비게이션 시스템을 가지게 된다.