L298Nモータードライバーは、DCモーターとステッピングモーターを制御するための人気のあるモジュールです。 ArduinoのPWM信号を使用してモーターの速度と方向を制御できるため、ロボット工学と自動化プロジェクトに最適です。このチュートリアルでは、L298NをArduinoと接続および使用することをガイドします。
あなたが必要とするもの
- L298Nモータードライバーモジュール
- Arduino委員会(例:UNO、MEGA、NANO)
- DCモーターまたはステッパーモーター
- 外部電源(例:9Vまたは12Vバッテリー)
- ブレッドボードとジャンパーワイヤ
- 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:セットアップをテストします
- USBを介してArduinoをコンピューターに接続します。
- Arduino IDEを開き、正しいものを選択します ボード そして ポート の下 ツール メニュー。
- クリックしてコードをArduinoにアップロードします アップロード.
- プログラムされたシーケンスに基づいて、前方に回転し、停止し、逆転するモーターを観察します。
オプション:速度を動的に制御します
に送られたPWM値を変更することにより、モーター速度を動的に調整できます ENA
そして ENB
analogwrite()を使用したピン。例えば:
analogWrite(ENA, 100); // Slow speed
analogWrite(ENA, 255); // Full speed
L298Nのアプリケーション
- 電動ロボットの構築
- コンベアベルトの制御
- 運転ステッパーモーターズ
- DCモーターを使用した自動システム
トラブルシューティング
- モーターが回転しない: 外部電源が接続されており、十分な電流を提供していることを確認してください。
- 誤った運動方向: 必要に応じて、In Pinsの配線と逆方向の接続を確認してください。
- 不安定な運動挙動: 安定した電源を使用して、ゆるい接続を避けてください。
結論
L298NモータードライバーとArduinoを介してDCモーターを制御することに成功しました。この汎用性の高いモジュールを使用すると、モーターの速度と方向を簡単に管理できます。センサー、リモートコントロール、またはその他のモジュールを電動プロジェクトに統合して、さらに実験してください!