Bluetooth対応 Arduino制御 モータライズド カメラ スライダー 〜滑らかなシネマティック撮影を実現〜
プロジェクト概要
趣味で動画撮影を楽しむ方にとって、市販のモータライズド カメラ スライダーは高価です。そこで、Bluetoothでワイヤレス制御できる自作スライダーを製作しました。本チュートリアルでは、設計から組み立て、プログラミング、スマホアプリによる操作まで、全工程を詳しく解説します。
主な特徴
- Bluetoothワイヤレス制御:自作Androidアプリ(MIT App Inventor製)で速度、移動距離、加減速、遅延スタートなどを直感的に操作
- 高精度ステッピング制御:NEMA17ステッピングモーター+A4988ドライバーにより、1/16マイクロステップまで対応し、超滑らかな動作を実現
- レール長フリー対応:アプリ側でレール長(最大10m)を設定可能。自動でステップ数を計算し、エンドストップ衝突を防止
- ファブリケーション向け設計:OpenBuilds標準パーツ(V-Slot 2040等)を採用し、3Dプリントパーツと組み合わせて誰でも製作可能
- 専用シールド基板:PCBWay製カスタムシールドで配線を簡素化。Arduino Unoに載せるだけで完成
必要な部品と材料
電子部品
| 部品 | 数量 | 備考 |
|---|---|---|
| Arduino Uno | 1 | 制御用メインボード |
| PCBWay製カスタムシールド基板 | 1 | 設計データ公開中 |
| バイポーラ NEMA17 ステッピングモーター | 1 | ステップ角 1.8°、12V推奨 |
| A4988 ステッピングモータードライバー | 1 | 1/16マイクロステップ対応 |
| HC-05 Bluetoothモジュール | 1 | マスター/スレーブ両対応、シリアル通信 |
| 12V 3A リチウムイオン充電池 | 1 | モーター駆動用電源 |
メカニカルパーツ(OpenBuilds系)
| 部品 | 数量 | 備考 |
|---|---|---|
| V-Slot 20×40 リニアレール | 1 | 希望の長さ(例:500mm〜1000mm) |
| ソリッド Vホイール キット | 4 | ベアリング、シム、ロックナット含む |
| ドロップイン Tナット | 4 | レール固定用 |
| エキセントリック スペーサー | 2 | ホイール締め付け調整用 |
| 9mm アルミスペーサー | 2 | カメラプレート固定用 |
| 3mm アルミスペーサー | 2 | エキセントリック側用 |
| M5 低頭ネジ 20mm(ナット付) | 4 | レッグ固定用 |
| M5 低頭ネジ 10mm | 4 | レッグ固定用 |
| M3 六角穴付ネジ 16mm(ナット付) | 8 | モーター・基板固定用 |
| 8mm センタリング ピロー フランジ ブロック ベアリング | 2 | アイドラー側シャフト支持用 |
| GT2 8mmボア 20T タイミングプーリー(アルミ) | 1 | アイドラー側用 |
| 8mm リニアシャフト(60mm) | 1 | アイドラー側回転軸 |
| GT2 5mmボア 20T タイミングプーリー(アルミ) | 1 | モーターシャフト用 |
| GT2 6mm オープン タイミングベルト | 1 | レール長に合わせて調整 |
工具・ソフトウェア
- 3Dプリンター(0.2mm層高、20%インフィル/レッグ部50%)
- Autodesk Fusion 360(CAD設計)
- Autodesk Eagle(基板設計)
- Arduino IDE
- MIT App Inventor(Androidアプリ作成)
機械設計と3Dモデリング
Fusion 360で設計。世界中で入手しやすいOpenBuildsハードウェアを採用し、メーカーや地域を問わず調達可能にしています。
駆動機構
- V-Slot 2040レール上を4つのDelrin Vホイールで走行
- NEMA17モーター(左レッグ)とアイドラープーリー(右レッグ)の間にGT2ベルトを張り、回転運動を直線運動に変換
- アイドラー側は8mmシャフトを2個のピローブロックベアリングで支持
- カメラプレート中央に1/4インチ標準三脚ネジ穴を配置
3Dプリントパーツ
全パーツを0.2mm層高、20%インフィルで出力。左右のレッグのみ強度確保のため50%インフィル推奨。STLファイルはThingiverseで公開中。
組み立て手順
1. Vホイールキットの組み立て
ゴムホイールにベアリング→精密シム→ベアリングの順で圧入し、ロックナットで固定。4セット作成します。
2. カメラプレートとホイールの取り付け
右側2輪は9mmスペーサー、左側2輪はエキセントリックスペーサー+3mmスペーサーで取り付け。プレートをレールに載せ、ガタがあればエキセントリックナットで調整。
3. レールとレッグの結合
レール両端にドロップインTナットを各2個挿入し、左右のレッグを固定(M5×10mmネジ)。
4. モーターマウントの取り付け
NEMA17を専用プレートにM3×16mmで固定し、左レッグ上面に取り付け。モーターシャフトにGT2 5mmボアプーリーをセットスクリューで固定。
5. アイドラーユニットの組み立て
右レッグ上下プレートにピローブロックベアリングを各1個ずつM5×20mmで固定。8mmシャフトを通し、GT2 8mmボアプーリーをセットスクリューで固定。
6. タイミングベルトの張り付け
モータープーリーとアイドラープーリーにベルトを掛け、カメラプレートでテンション調整して固定。
7. 制御基板の収納
カスタムシールドをArduino Unoに装着し、専用エンクロージャに収納。左レッグにM3×16mmで固定、蓋を閉じて完了。
電子回路と配線
A4988ドライバーのピン機能
| ピン | 機能 | 備考 |
|---|---|---|
| VMOT, GND | モーター駆動電源 | 8〜35V、12V接続時は100µFコンデンサ必須 |
| 2B, 2A / 1A, 1B | モーターコイル出力 | 各コイル最大2A |
| VDD, GND | ロジック電源 | 3〜5.5V、VMOTとは独立 |
| EN | イネーブル(Active Low) | LOWで有効、デフォルトLOW |
| MS1, MS2, MS3 | マイクロステップ選択 | 全開放でフルステップ |
| RST, SLP | リセット/スリープ | Active Low、デフォルトSLP=HIGH |
| STP, DIR | ステップ/方向入力 | Arduino D2/D3に接続 |
マイクロステップ設定表
| MS1 | MS2 | MS3 | 分解能 |
|---|---|---|---|
| Low | Low | Low | Full Step |
| High | Low | Low | Half Step |
| Low | High | Low | Quarter Step |
| High | High | Low | Eighth Step |
| High | High | High | Sixteenth Step |
配線図
カスタムシールド基板により、ジャンパー線なしで全結線完了。HC-05はArduinoのTx/Rx(D0/D1)とクロス接続(Tx→Rx, Rx→Tx)、VCC/GNDは5V/GNDへ。
ソフトウェア
Arduinoライブラリ
AccelStepper(Mike McCauley作)をライブラリマネージャからインストール。オブジェクト指向でステッピング制御が可能。
テスト用スケッチ(基本動作確認)
#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();
}
本番用スケッチ(Bluetooth制御対応)
アプリから2バイトのコマンドを受信し、以下の機能を実装:
- 左右移動(ホーミング位置に基づく方向制御)
- 速度設定(1〜4000 steps/sec)
- 加減速設定(5段階:Very Low〜Very High)
- 移動距離設定(1cm〜1000cm)
- 遅延スタート(15秒)
- マイクロステップモード選択(1/4=Smooth / 1/16=Very Smooth)
- ホーミング位置設定(左端/右端)
- 緊急停止&原点復帰
起動時セットアップフェーズでは、ホーミング位置・マイクロステップ・レール長の3パラメータをアプリから受信し、移動ステップ数を自動計算:
// 1/4マイクロステップ時
steps = (6100L * railLength_cm) / 50L;
// 1/16マイクロステップ時
steps = (25000L * railLength_cm) / 50L;
Androidアプリ(MIT App Inventor製)
オープンソースで公開。主なUI要素:
- 接続ボタン(HC-05とペアリング)
- セットアップウィザード(マイクロステップ→レール長→ホーミング位置)
- 左右矢印ボタン(移動開始)
- 停止ボタン(原点復帰)
- 速度スライダー、加速度スピナー、移動距離入力、遅延スタートチェックボックス
使い方ガイド
- 12V電源を接続し、スマホのBluetoothでHC-05とペアリング(PIN: 1234または0000)
- アプリ起動、「Press here to connect」でHC-05選択
- セットアップ:マイクロステップモード選択 → レール長(cm)入力 → ホーミング位置選択(カメラプレートをどちらの端に置いたか)
- 設定確認後OKでメイン画面へ。矢印ボタンで移動開始、停止ボタンで原点復帰
トラブルシューティング
- プレートがレール端で衝突する:ホーミング位置設定が実際の位置と逆、またはマイクロステップ設定不一致
- 動作がカクカクする:A4988のVREF電圧調整不足(モーター定格電流に合わせて調整)
- Bluetooth切断が多い:HC-05アンテナにλ/4(約31.2mm)の銅線をハンダ付けして延長
カスタム基板(PCBWay製)
Arduino Unoシールド形状。A4988ソケット、HC-05ソケット、電源入力、モーター出力、電流検知抵抗(0.1Ω)をオンボード化。PCBWayで5ドル程度で製造可能。設計データ・発注ページ
まとめ
市販品の1/10以下のコストで、プロ級の滑らかなカメラスライダーが自作できます。3Dプリンターと基本的な工具があれば誰でも製作可能。コードとアプリはオープンソースなので、機能拡張(タイムラプスモード、キーフレームアニメーション等)も自由自在です。
製造プロセス
- 現代カメラの進化と設計:フィルムからデジタルへ
- カメラレンズの理解:設計、歴史、未来の革新
- BrickPi Bookreader:Raspberry Pi と LEGO Mindstorms で Kindle 読書を自動化
- Bluetooth操作のArduinoスパイボットを自作する
- FlickMote:ジェスチャー操作のIRリモコンでスマートホームを制御
- 自作Arduino TV-B-Gone:全テレビ対応の万能リモコン
- 12メートル先から見える大型LEDマスタークロック(アラーム機能付き)を自作しよう
- ArduinoとBluetoothで作るスマート紛失防止タグ「Find Me」
- Arduinoプロジェクトのための最適化電源ソリューション
- Arduino三目並べ:MAX7219 LEDマトリクスと段ボールケースで自作
- 先進THzイメージングカメラで固体内部の高解像度可視化を実現