Arduinoでシリアル制御するステッピングモータ回転スタンド
部品と材料
| 28BYJ-48 ステッピングモータ | ×1 |
| X113647 ステッピングモータドライバ(ULN2003Aベース) | ×1 |
| Pololu ユニバーサル アルミニウム マウント ハブ(5mm軸用) | ×1 |
| Arduino UNO | ×1 |
| 木製ベース 15cm × 15cm | ×1 |
| ゴム足 | ×4 |
必要な工具
- 糸鋸(フレットソー)
- 電気ドリル(木工用6mmビット)
プロジェクト概要
ステッピングモータを用いた回転プラットフォームです。モータは28BYJ-48、ドライバはX113647(ULN2003Aベース)を使用し、シリアルモニタまたはTera Termから制御します。
対応コマンド
- R:時計回りに連続回転(複数回転)
- r:時計回りに360°回転
- L:反時計回りに連続回転
- l:反時計回りに360°回転
- S:回転停止
機械的な組み立て
- 合板などで15cm角のベースを用意し、対角線の交点(中心)に6mm穴を開ける
- ステッピングモータのハブを穴に差し込み、モータの輪郭を鉛筆でなぞる
- 糸鋸でモータ輪郭に沿って穴を切り抜き、固定穴が木材に乗るようにする
- 10mm厚のゴム足を4隅に貼り、モータの突出分を逃がす
- 回転プレートをPololuマウントハブでモータ軸に固定
配線
#define motorPin1 4 // Blue
#define motorPin2 5 // Pink
#define motorPin3 6 // Yellow
#define motorPin4 7 // Orange
// Red: VCC, Blue: GND
#define STEPS_PER_TURN 2048
回路図は画像を参照。Arduinoのデジタルピン4〜7を使用します。
コード
完全スケッチ (Arduino)
AccelStepperライブラリを使用し、シリアルコマンドで滑らかな加減速制御を行います。詳細なコメント付きで公開されています。
#include <AccelStepper.h>
#define motorPin1 4
#define motorPin2 5
#define motorPin3 6
#define motorPin4 7
#define STEPS_PER_TURN 2048
int motorSpeed = 500;
int motorAccel = 400;
int myPos = 0;
int LeftTurnUp = 0, RightTurnDown = 0;
int Continuous = 0;
int incomingByte = 0;
AccelStepper stepper(4, motorPin1, motorPin3, motorPin2, motorPin4);
void setup() {
Serial.begin(9600);
stepper.setMinPulseWidth(20);
stepper.setMaxSpeed(motorSpeed);
stepper.setSpeed(motorSpeed);
stepper.setAcceleration(motorAccel);
stepper.setCurrentPosition(stepper.currentPosition());
stepper.runToPosition();
Serial.println("Available commands:");
Serial.println("R = continuous clockwise");
Serial.println("r = 360° clockwise");
Serial.println("L = continuous counter-clockwise");
Serial.println("l = 360° counter-clockwise");
Serial.println("S = stop");
}
void loop() {
if (Serial.available() > 0) {
incomingByte = Serial.read();
// R, L, r, l, S の各コマンド処理(原文参照)
// フラグ制御とステッパー制御を行う
}
// 連続回転・単発回転の実行処理
stepper.run();
}
回路図
Fritzingで作成した完全な回路図を画像で提供しています。
製造プロセス
- 温度制御ファンサーキット:メディア家具冷却用DIYリレーシステム
- Raspoulette:太陽光発電自律コープドアシステムのプロトタイプ
- DIY自律型ナーフセントリーガン:ステッピングモーター、カメラ、Arduinoでスマートナーフガンを自作
- Arduino用バイポーラステッピングモーターライブラリ – 産業グレードの制御機能
- Android加速度センサーで操作するラジコン車両:Raspberry Pi・Arduino・モーターシールド連携
- ArduinoとステッピングモーターでTinder/Bumbleを自動スワイプする装置
- DIY ハンドジェスチャー制御 Arduino ロボットアーム - ステップバイステップ構築ガイド
- リニアモーター理解:電気エネルギーから精密直線運動へ
- サーボモーターの仕組みと重要性
- ステッピングモーター:種類、特性、実用応用
- 統合ドライバーが高出力ステッピングモーター設計を簡素化