ULN2003ドライバーとArduinoを使用した28BYJ-48ステッパーモーター

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ワイヤーへOUT1
  • YellowワイヤーへOUT2
  • PinkワイヤーへOUT3
  • BlueワイヤーへOUT4

次に、ULN2003ドライバーをArduinoに接続します。ドライバーの入力ピンは、Arduinoの4つのデジタルピンに対応しています。例えば:

  • IN1Pin 10
  • IN2Pin 11
  • IN3Pin 12
  • IN4Pin 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
6-The source code for stepper motor 28BYJ-48 with ULN2003 for Arduino
言語: C++
コピーしました!

必要かもしれないもの

ファイル📁

ファイルは利用できません。