ArduinoでL298Nモータードライバーを使用する方法

How to Use the L298N Motor Driver with Arduino

L298Nモータードライバーは、DCモーターとステッピングモーターを制御するための人気のあるモジュールです。 ArduinoのPWM信号を使用してモーターの速度と方向を制御できるため、ロボット工学と自動化プロジェクトに最適です。このチュートリアルでは、L298NをArduinoと接続および使用することをガイドします。


あなたが必要とするもの

  1. L298Nモータードライバーモジュール
  2. Arduino委員会(例:UNO、MEGA、NANO)
  3. DCモーターまたはステッパーモーター
  4. 外部電源(例:9Vまたは12Vバッテリー)
  5. ブレッドボードとジャンパーワイヤ
  6. Arduino IDEがインストールされたコンピューター

ステップ1:L298Nモータードライバーの理解

L298NモジュールはデュアルHブリッジモータードライバーです。つまり、2つのDCモーターの速度と方向を個別に制御できるか、1つのステッピングモーターです。

L298Nピンアウト

ピン 関数
IN1、IN2 モーター方向制御入力
IN3、IN4 モーターB方向制御入力
エナ モーターA速度制御(PWM入力)
enb モーターB速度制御(PWM入力)
out1、out2 モーターA出力
out3、out4 モーターB出力
12V(VCC) モーターの外部電源
5V(オプション) ロジック電源(ジャンパーが削除された場合)
GND 地面

注:

  • モジュールには、ジャンパーが設置され、VCCが7-12Vの場合、ロジック回路を動かすオンボード5Vレギュレーターが含まれています。
  • ジャンパーを削除するには、5Vロジック電源を個別に提供する必要があります。

ステップ2:L298NをArduinoに配線します

L298NをArduino UNOと2つのDCモーターに接続する方法は次のとおりです。

L298Nピン Arduino Pin
エナ ピン10(PWM)
in1 ピン8
in2 ピン9
enb ピン11(PWM)
IN3 ピン6
IN4 ピン7
GND Arduino Gnd
12V(VCC) 外部電力(9V/12V)
out1、out2 モーターA端子
out3、out4 モーターB端子

ステップ3:コードをアップロードします

2つのDCモーターを制御するためのスケッチの例は次のとおりです。

例コード

// Motor A connections
#define ENA 10
#define IN1 8
#define IN2 9

// Motor B connections
#define ENB 11
#define IN3 6
#define IN4 7

void setup() {
  // Set all pins as outputs
  pinMode(ENA, OUTPUT);
  pinMode(IN1, OUTPUT);
  pinMode(IN2, OUTPUT);
  pinMode(ENB, OUTPUT);
  pinMode(IN3, OUTPUT);
  pinMode(IN4, OUTPUT);
}

void loop() {
  // Move Motor A forward
  digitalWrite(IN1, HIGH);
  digitalWrite(IN2, LOW);
  analogWrite(ENA, 150); // Set speed (0-255)

  // Move Motor B backward
  digitalWrite(IN3, LOW);
  digitalWrite(IN4, HIGH);
  analogWrite(ENB, 150); // Set speed (0-255)

  delay(2000); // Run for 2 seconds

  // Stop both motors
  digitalWrite(ENA, LOW);
  digitalWrite(ENB, LOW);

  delay(1000); // Pause for 1 second

  // Move both motors in reverse
  digitalWrite(IN1, LOW);
  digitalWrite(IN2, HIGH);
  digitalWrite(IN3, HIGH);
  digitalWrite(IN4, LOW);
  analogWrite(ENA, 200);
  analogWrite(ENB, 200);

  delay(2000); // Run for 2 seconds

  // Stop both motors
  digitalWrite(ENA, LOW);
  digitalWrite(ENB, LOW);
  delay(1000); // Pause for 1 second
}

ステップ4:セットアップをテストします

  1. USBを介してArduinoをコンピューターに接続します。
  2. Arduino IDEを開き、正しいものを選択します ボード そして ポート の下 ツール メニュー。
  3. クリックしてコードをArduinoにアップロードします アップロード.
  4. プログラムされたシーケンスに基づいて、前方に回転し、停止し、逆転するモーターを観察します。

オプション:速度を動的に制御します

に送られたPWM値を変更することにより、モーター速度を動的に調整できます ENA そして ENB analogwrite()を使用したピン。例えば:

analogWrite(ENA, 100); // Slow speed
analogWrite(ENA, 255); // Full speed

L298Nのアプリケーション

  1. 電動ロボットの構築
  2. コンベアベルトの制御
  3. 運転ステッパーモーターズ
  4. DCモーターを使用した自動システム

トラブルシューティング

  • モーターが回転しない: 外部電源が接続されており、十分な電流を提供していることを確認してください。
  • 誤った運動方向: 必要に応じて、In Pinsの配線と逆方向の接続を確認してください。
  • 不安定な運動挙動: 安定した電源を使用して、ゆるい接続を避けてください。

結論

L298NモータードライバーとArduinoを介してDCモーターを制御することに成功しました。この汎用性の高いモジュールを使用すると、モーターの速度と方向を簡単に管理できます。センサー、リモートコントロール、またはその他のモジュールを電動プロジェクトに統合して、さらに実験してください!

コメントを残す

Notice an Issue? Have a Suggestion?
If you encounter a problem or have an idea for a new feature, let us know! Report a problem or request a feature here.