취미로 영상을 촬영하는 사람에게 모터라이즈드 카메라 슬라이더는 꽤 비싼 장비입니다. 그래서 직접 만들기로 했습니다. 이 튜토리얼에서는 블루투스로 무선 제어되는 모터라이즈드 카메라 슬라이더를 직접 제작하는 전 과정을 단계별로 안내합니다.
오늘 만들 슬라이더는 맞춤 제작한 안드로이드 모바일 앱을 통해 블루투스로 제어합니다. 앱은 MIT 앱 인벤터로 제작되었으며, 슬라이더 이동 속도, 이동 거리, 가감속 비율 등 다양한 파라미터를 조절할 수 있습니다. 앱에서 슬라이더 길이를 설정할 수 있어 최대 10미터까지 자유롭게 제작 가능합니다.
구동부로는 NEMA17 스테퍼 모터를 사용하여 정밀한 스텝 제어가 가능합니다. 아두이노에서 스테퍼 모터를 제어하려면 모터가 이해할 수 있는 신호로 변환해주는 드라이버가 필요한데, 여기서는 A4988 폴로루 스테퍼 모터 드라이버를 사용합니다. 이 드라이버는 1/16 스텝까지 5가지 마이크로스텝 해상도를 제공하여 최대 정확도와 부드러운 움직임을 구현합니다.
이 프로젝트는 팹랩/메이커스페이스/해커스페이스에서 제작 가능하도록 설계되었습니다.
CAD 및 3D 모델링
퓨전 360으로 카메라 슬라이더를 설계했습니다. 어디서든 온/오프라인으로 쉽게 구할 수 있는 표준 기계 부품을 사용했습니다.
기계 구조에는 오픈빌드 하드웨어를 사용했습니다. V-슬롯 2040 리니어 레일을 카메라 이동 가이드로 쓰고, 두 개의 풀리(하나는 스테퍼 모터 축, 다른 하나는 반대편 8mm 리니어 샤프트)와 오픈 타이밍 벨트로 회전 운동을 직선 운동으로 변환합니다.
8mm 리니어 레일 샤프트는 상하단 플레이트에 장착된 두 개의 셀프 얼라이닝 필로우 플랜지 블록 베어링 사이에 고정되며, M5 나사 4개로 고정합니다.
카메라 플레이트 중앙에는 표준 삼각대 나사(1/4인치) 구멍이 있어 카메라를 쉽게 장착할 수 있습니다. 네 개의 델린 V-슬롯 솔리드 휠이 V-슬롯 레일의 V-홈을 따라 미끄러져 매우 부드러운 움직임을 만듭니다.
전자 장치를 수납할 인클로저까지 모든 부품은 M3×16mm 나사와 너트로 고정됩니다.
디지털 제조 (3D 프린팅)
카메라 슬라이더 본체 전체를 3D 프린팅합니다. 레이어 높이 0.2mm, 인필 20%로 출력하되, 좌우 다리 파트는 인필 50%로 출력합니다.
MS1, MS2, MS3: 마이크로스텝 해상도 선택(풀/하프/쿼터/1/8/1/16). 내부 풀다운으로 기본 풀 스텝.
RST, SLP: 리셋/슬립(액티브 로우). 기본 하이.
STP, DIR: 스텝 펄스와 방향 제어. 하이=시계방향, 로우=반시계방향(배선에 따라 다를 수 있음).
NEMA17 스테퍼 모터
스테퍼 모터는 DC 펄스로 정밀 제어되는 모터로 3D 프린터, CNC 등에 쓰입니다. 1.8° 스텝 앵글, 9V 정격(12V로 최대 토크), 바이폴라 4선식입니다.
배선도
스테퍼 모터, A4988, 아두이노 우노, 12V 3A 리튬이온 배터리를 연결합니다.
아두이노 코드
AccelStepper 라이브러리 설치
아두이노 IDE → 스케치 → 라이브러리 포함 → 라이브러리 관리에서 "AccelStepper" 검색 후 Mike McCauley 버전 설치.
테스트 코드
// Bounce stepper test program
// Make a single stepper bounce from one limit to another
// Copyright (C) 2020 makesomestuff.org
#include <AccelStepper.h>
#define stepPin 2
#define dirPin 3
AccelStepper stepper(AccelStepper::DRIVER, stepPin, dirPin);
void setup() {
stepper.setMaxSpeed(100);
stepper.setAcceleration(20);
stepper.moveTo(500);
}
void loop() {
if (stepper.distanceToGo() == 0)
stepper.moveTo(-stepper.currentPosition());
stepper.run();
}
코드 로직: AccelStepper 객체 생성, setup에서 최대 속도/가속도/목표 위치 설정, loop에서 목표 도달 시 방향 반전.
카메라 슬라이더 완전 무선 제어
테스트 완료 후 모바일 앱과 아두이노 펌웨어를 구현하여 무선 제어를 실현합니다.
모바일 앱 제작
MIT 앱 인벤터로 안드로이드 앱을 제작했습니다. 드래그 앤 드롭으로 로직과 UI를 구성하며, 소스 코드는 오픈소스로 공개되어 있습니다.
앱은 블루투스(HC-05)를 통해 슬라이더와 통신합니다. 다음 단계로 블루투스 모듈을 회로에 추가하고 통신 코드를 올립니다.
배선도 (블루투스 추가)
기존 회로에 HC-05 블루투스 모듈을 연결합니다. HC-05는 마스터/슬레이브 모두 가능하며 SPP(시리얼 포트 프로토콜)로 아두이노와 시리얼 통신합니다.
Tx(아두이노) → Rx(HC-05)
Rx(아두이노) → Tx(HC-05)
5V(아두이노) → VCC(HC-05)
GND(아두이노) → GND(HC-05)
회로도 및 PCB 제작
브레드보드 배선 대신 아두이노 우노 쉴드 형태의 커스텀 PCB를 설계했습니다. A4988, HC-05, 배터리 소켓이 모두 보드에 실장되어 조립이 간편합니다.
PCBWay에서 제작했으며 품질 우수, 5달러로 저렴합니다. 주문 진행 상황을 온라인으로 실시간 확인 가능합니다.