타임랩스 달리의 컨트롤러는 여러 가지가 있지만, 그중 유명한 것 중 하나가
http://dynamicperception.com/ 의 MX2 Engine입니다.
보드 자체는 L293 DC 모터 드라이버과 77HC00, 스위치 등이 들어간 간단한 것이지만
핵심은 하단에 결합하게 되어 있는 아두이노 보드 에 있습니다.
어쨋든 이 보드는 오픈소스로 모든 자료들이 공개되어 있어 Maker들이 직접 만들어 쓰고 개선할 수 있도록 되어 있습니다.
http://openmoco.org/arduino/dollyshield-arduino-shield-timelapse-motion-control
EagleCAD 자료는 여기서 받을 수 있습니다.
그리고 위 CAD 로 제작한 보드와 328P 이상의 컨트롤러를 사용한 아두이노 보드에
이 DollyShield 파일 안의 스케치 파일들을 업로드하면 됩니다.
특정 라이브러리 파일이 필요하기 때문에
아두이노의 libraries 폴더 안에 위 파일 안의 라이브러리 폴더 안의 파일들을 아두이노의 라이브러리 폴더에 복사해 넣으면 되고요.
저는 여러 생각 끝에 가격적으로도 저렴하고 부품 수급도 유용하도록 보드를 수정해서 직접 PCB를 주문제작했고
그 과정은 해외에서 PCB 샘플 주문하기 에 정리되어 있습니다.
제가 수정한 eagleCAD의 최종 버전 파일입니다.
BOM 리스트.
**저항에서 () 안의 수치는 원 Dynamic Perception의 파일에서 지정한 수치이고 왼쪽은 제가 사용한 수치입니다.
오랫만에 DIP형 부품들을 사용하려니 일일이 다리 잘라서 납땜하는게 영 귀찮더군요. 역시 SMD가 편해요
초반 부팅은 이상없었으나 셔터가 움직이지 않더군요.
확인해 보니 회로를 수정하면서 실수가 하나 있었습니다;
위아래가 바뀐 포토커플러를 핀을 휘어서 수정해 주었습니다.
(위에 올린 eagleCAD 버전은 위 문제를 해결해 두었습니다만 보드를 제작해서 테스트해보지는 않았으므로 사용자의 주의가 필요합니다)
%%모터 작동도 잘 되네요 :)
------------------------------------------------ 2013. 6. 9 추가분 -----------------------------------------------------------------
아두이노 프로그래밍 부분 추가 설명합니다.
아두이노 프로그램을 http://arduino.cc/en/Main/Software 에서 다운받습니다.
최신 버전을 받아도 되지만 문제가 생기는 경우도 있습니다. 중간쯤에 Arduino 0023 버전을 다운받습니다.
윈도우즈, 맥OS, 리눅스 버전 등이 있으니 운영체제에 따라 클릭하면 파일이 다운됩니다.
그리고 다운받은 파일의 압축을 풉니다. 설치는 필요 없습니다.
이 포스팅 위쪽의 openmoco-0.91.tar.gz 파일도 받아서 압축을 풉니다.
이 파일의 압축을 풀면 Dollyshield 와 Libraries 두개의 폴더가 있습니다.
Libraries 폴더 안으로 들어갑니다.
MsTimer2, TimerOne, externals 등 모든 폴더와 파일을 복사합니다.
Arduino 폴더로 이동해보면 Libraries 폴더가 있습니다.
폴더로 들어가서 조금 전 복사한 폴더와 파일을 붙여넣기 합니다.
이제 아두이노 보드에 USB 케이블을 꽂습니다.
제어판의 장치 관리자를 보면 Arduino UNO 보드가 COM5 포트에 연결된 것이 보입니다.
COM 포트의 숫자는 개인마다 다를 수 있습니다.
이제 Arduino 프로그램을 엽니다. arduino.exe를 더블클릭합니다.
이런 창이 열리게 됩니다.
File-Open을 누르고 라이브러리를 복사했던 OpenMoco-0.91 폴더의 DollyShield 폴더로 들어가서 DollyShield.pde 파일을 엽니다.
그러면 위와 같이 파일들이 열리게 됩니다. 화면에 보면 DollyShield 말고도 ds_alt_io, ds_camera 등의 파일도 같이
새 탭으로 열리는 것을 볼 수 있습니다. DollyShield 파일만 열리면 안되고 위와 같이 다른 파일들도 열려야 합니다.
Tools - Board 에서 자기가 갖고 있는보드인지 확인합니다.
Serial port도 한번 확인합니다. 아까 제어판에서 Arduino 보드가 COM5 포트에 연결되었으므로
COM5 포트로 연결해야 합니다.
업로드 버튼을 누릅니다.
업로드중이라는 메세지가 나오고 Arduino 보드의 TX, RX LED가 깜박거립니다.
업로드가 완료되면 끝입니다.
-----------------------------------------------------------------------------------------------------------
2013/6/5 추가
- 임시로 CCTV카메라 헤드를 달고 DSLR과 플래쉬까지 달고 보니 상승과 하강의 속도차가 커서
보다 토크가 높은 모터로 교체 후 추가작업은 보류했습니다.
애초에 타임랩스 달리 자체가 목적이라기 보다는 구현방식 쪽에 흥미가 있어서 시작한 일이었는데
마찰을 이용한 레일 이동의 가능성을 확인하고 나니 흥미가 급속히 식더군요. 애초에 사진은 취미가 아니기도 하고..
레일용 바퀴의 위치 등을 섬세하게 조절할 필요는 있지만 큰 구조는 완성되었다고 봐도 될 것 같습니다.
현재로도 잘 조정해서 조립하면 일단 사용은 가능하지만 케이싱이나 배터리 구조물 등의 고정이 불안해서
들고다니면서 사용하기엔 불편하고, 즉 양산 전 1차 샘플 완성 단계에서 중지했습니다.
추가로 2차 샘플 단계를 진행할 계획을 완전 포기하지는 않았지만, 현재로서는 추가 작업계획을 잡고 있지는 않습니다.
항상 그렇듯 불현듯 만들고 싶어질 때 또 하게 되겠죠.