28BYJ-48ステッパーモーターは、DIYエレクトロニクスプロジェクトでよく使用される人気のある手頃な価格のステッピングモーターです。 ULN2003ドライバーボードと組み合わせて、ロボット工学、カメラスライダー、ホームオートメーションなど、正確な動きを必要とするアプリケーションに最適です。このチュートリアルでは、28BYJ-48ステッピングモーターをArduinoでセットアップして制御することをガイドします。
あなたが必要とするもの
- 28BYJ-48ステッパーモーター
- ULN2003ドライバーボード
- Arduino委員会(例:UNO、MEGA、NANO)
- ジャンパーワイヤ
- ブレッドボード(オプション)
- Arduino IDEがインストールされたコンピューター
ステップ1:コンポーネントの理解
28BYJ-48ステッパーモーター
- 28BYJ-48は、ギア縮小比が約1:64の4相、5線ステッパーモーターであり、正確で信頼性が高くなっています。
ULN2003ドライバーボード
- ULN2003は、28BYJ-48モーター専用に設計されたドライバーボードです。モーターのアクティブフェーズを示すLEDが含まれ、Arduinoへの接続を簡素化します。
ステップ2:ULN2003をArduinoに配線します
-
28BYJ-48モーターをULN2003ドライバーボードに接続します。モーターのコネクタは、ボード上に「in」というラベルが付いたヘッダーに直接収まります。
-
ジャンパーワイヤを使用して、ULN2003ドライバーボードを次のようにArduinoに接続します。
ULN2003ピン | Arduino Pin |
---|---|
in1 | ピン8 |
in2 | ピン9 |
IN3 | ピン10 |
IN4 | ピン11 |
VCC | 5V |
GND | GND |
ステップ3:ステッピングライブラリをインストールします
Arduino IDEには、ステッパーモーターコントロール用のビルトインライブラリが含まれています。
- Arduino IDEを開きます。
- 行きます スケッチ > ライブラリを含めます > ステッパー.
ステップ4:コードをアップロードします
ステッピングモーターを制御するための基本的な例コードは次のとおりです。
#include <Stepper.h>
// Define the number of steps per revolution for the 28BYJ-48 motor
#define STEPS_PER_REV 2048
// Initialize the Stepper library on pins 8, 9, 10, and 11
Stepper stepper(STEPS_PER_REV, 8, 10, 9, 11);
void setup() {
stepper.setSpeed(15); // Set motor speed (in RPM)
Serial.begin(9600);
Serial.println("28BYJ-48 Stepper Motor Test");
}
void loop() {
Serial.println("Moving Forward");
stepper.step(STEPS_PER_REV); // Move one full revolution forward
delay(1000);
Serial.println("Moving Backward");
stepper.step(-STEPS_PER_REV); // Move one full revolution backward
delay(1000);
}
ステップ5:セットアップをテストします
- USBを介してArduinoをコンピューターに接続します。
- Arduino IDEを開き、正しいものを選択します ボード そして ポート の下 ツール メニュー。
- クリックしてコードをArduinoにアップロードします アップロード.
- コードがアップロードされると、ステッピングモーターは1つの完全な革命を前方に回転させ、その後繰り返し後方に回転させる必要があります。
加速による高度な制御
よりスムーズでより正確なコントロールのために、あなたは Accelstepper 組み込みのステッピングライブラリの代わりにライブラリ。これが例です:
#include <AccelStepper.h>
// Define the motor interface type
#define HALFSTEP 8
// Initialize the AccelStepper library
AccelStepper stepper(HALFSTEP, 8, 10, 9, 11);
void setup() {
stepper.setMaxSpeed(1000); // Set maximum speed
stepper.setAcceleration(500); // Set acceleration
stepper.setSpeed(200); // Set initial speed
}
void loop() {
stepper.runSpeed(); // Continuous rotation
}
トラブルシューティング
- モーターが動いていない: すべての接続を確認し、コードで正しいピンが定義されていることを確認してください。
- 不安定な動き: モーターの電源が十分であり、コードがセットアップと一致することを確認します。
- 低トルク: 28BYJ-48は高トルクモーターではありません。過負荷にならないようにしてください。
28BYJ-48ステッパーモーターのアプリケーション
- カメラスライダー
- ロボットアーム
- 自動ブラインド
- 3Dプリンターメカニズム
結論
ULN2003ドライバーとArduinoを使用して、28BYJ-48ステッパーモーターを正常にセットアップして制御しました。この手頃な価格で信頼性の高いモーターは、さまざまなDIYプロジェクトに最適です。さまざまな速度、ステップ、および制御方法を試して、プロジェクトをよりダイナミックにします!