ULN2003ドライバーとArduinoを使用した28BYJ-48ステッパーモーター
このチュートリアルでは、Arduinoを使用してULN2003ドライバーで28BYJ-48ステッパーモーターを制御する方法を学びます。このセットアップにより、モーターの位置と速度を正確に制御できます。このプロジェクトの終わりまでには、モーターを両方向に回転させ、ステップを効果的に制御できるようになります。
私たちは、低コストで使いやすいため、さまざまなロボティクスや自動化プロジェクトに人気のある28BYJ-48ステッパーモーターを使用します。ULN2003ドライバーボードは、ステッパーモーターとArduinoを接続し、モーターの動きを制御するステップ信号を送信できるようにします。このチュートリアルでは、モーターを回転させるために必要な配線とコードを案内します。
さらなる明確化のために、このチュートリアルに関連するビデオを参照してください(ビデオの0:45で)。
ハードウェアの解説
このプロジェクトの主要なコンポーネントには、28BYJ-48ステッピングモーターとULN2003ドライバーボードが含まれています。ステッピングモーターは、特定の順序で励磁されるいくつかのコイルで構成されており、回転を生み出します。ULN2003ドライバーはスイッチとして機能し、Arduinoが各コイルに供給される電力を制御できるようにします。
ULN2003ドライバーは、ステッピングモーターに必要な高い電流を処理するためにダーリントン・トランジスタ・アレイを使用しています。ArduinoのピンがHIGH信号を出力すると、モーターの対応するコイルに電流が流れ、モーターが動きます。これにより、モーターの回転角度と速度を正確に制御することができます。
データシートの詳細
| 製造業者 | ULN2003 |
|---|---|
| 部品番号 | ULN2003 |
| ロジック/IO電圧 | 5 V |
| 供給電圧 | 5-30 V (最大) |
| 出力電流(チャネルごと) | 最大500 mA |
| ピーク電流(チャネルごと) | 2 A 最大 |
| PWM周波数ガイダンス | N/A |
| 入力ロジック閾値 | 0.8 V(低)、2.4 V(高) |
| 電圧降下 / RDS(on)/ 飽和度 | 1.5 V 最大 |
| 熱的制限 | 最大70 °C |
| パッケージ | DIP-16 |
| ノート / バリアント | 一般的に5Vステッパーモーターと一緒に使用されます。 |
- ドライバーがあなたのモーターの現在の要件に対応できることを確認してください。
- 必要に応じて、熱限界を管理するためにヒートシンクを使用してください。
- すべての接続が確実であることを確認し、浮遊入力を避けてください。
- モーターをテストするために、より大きなプロジェクトに統合する前に、シンプルなステップシーケンスを実行してください。
- モーターに適切な供給電圧を供給することを確認してください。
配線指示
28BYJ-48ステッピングモーターをULN2003ドライバーとArduinoに接続するには、次の手順に従ってください:
まず、モーターをULN2003ドライバーに接続します。モーターには通常、オレンジ、黄色、ピンク、青の4本のワイヤーがあります。これらのワイヤーをULN2003ドライバーの対応する出力ピンに接続します。接続は次のようになります:
OrangeワイヤーへOUT1YellowワイヤーへOUT2PinkワイヤーへOUT3BlueワイヤーへOUT4
次に、ULN2003ドライバーをArduinoに接続します。ドライバーの入力ピンは、Arduinoの4つのデジタルピンに対応しています。例えば:
IN1へPin 10IN2へPin 11IN3へPin 12IN4へPin 13
最後に、ULN2003ドライバーの電源ピンとグラウンドピンをArduinoに接続します。接続するVCCArduinoの5V出力にピンを接続し、GNDArduinoのグラウンドにピンを接続します。システムの電源を入れる前に、すべての接続が確実であることを確認してください。
コード例とウォークスルー
Arduinoコードのセットアップセクションでは、ULN2003ドライバーに接続されているピンを定義します。
int Pin1 = 10;
int Pin2 = 11;
int Pin3 = 12;
int Pin4 = 13;
ここでは、4つの整数変数を宣言します:Pin1,Pin2,Pin3, とPin4Arduinoのデジタルピンに対応するこれらのピンは、ステッパーモーターの動きを制御します。
中でsetup()関数では、これらのピンを出力として設定します:
void setup() {
pinMode(Pin1, OUTPUT);
pinMode(Pin2, OUTPUT);
pinMode(Pin3, OUTPUT);
pinMode(Pin4, OUTPUT);
}
このセットアップにより、ArduinoはULN2003ドライバーに信号を送信してモーターを制御できるようになります。pinMode関数は各ピンをOUTPUTモードに設定し、信号を送信できるようにします。
最後に、メインループでは、変数に基づいてモーターのステップを制御するためのスイッチケースを作成します。_step:
switch(_step){
case 0:
digitalWrite(Pin1, LOW);
digitalWrite(Pin2, LOW);
digitalWrite(Pin3, LOW);
digitalWrite(Pin4, HIGH);
break;
// Additional cases follow
}
この抜粋では、私たちは使用しますdigitalWrite各ピンに現在の状態に基づいてHIGHまたはLOW信号を送信するために_stepこの制御は、どのコイルが励磁されるかを決定し、モーターが回転することを可能にします。これらのスニペットを統合した完全なコードは、記事の下に読み込まれます。
デモンストレーション / 期待すること
すべてが正しく配線され、コードがアップロードされると、ステッパーモーターはArduinoからの信号に応じて回転するはずです。ループ内の遅延を変更したり、ステップを変更したりして、モーターの反応をテストできます。モーターが正しく電源供給されていない場合、動かないか、異常な動作をする可能性があることに注意してください。
章
- イントロダクション - 0:00
- ハードウェアの説明 - 1:30
- 配線指示 - 3:15
- コード例とウォークスルー - 5:00
- デモンストレーション / 期待すること - 7:45
必要かもしれないもの
-
アリエクスプレスPurchase 5 pcs 28BYJ-48 stepper motors from AliExpresss.click.aliexpress.com
-
アリエクスプレス
リソースと参考文献
-
外部Purchase 5 pcs 28BYJ-48 stepper motors from AliExpresss.click.aliexpress.com
-
外部
-
外部
-
外部
ファイル📁
ファイルは利用できません。