DCモータコントローラについて

DCモータを制御したい時に、1から制御回路を作るのは面倒ですので、DCモータコントローラを用いることが多いと思います。しかし、通常のモータコントローラでは、配線数が多くなってしまいがちなので、配線数を減らしてすっきりコンパクトにしたい場合は、L298P使用のシールド型DCモータコントローラを使用することがおすすめです。

 通常との比較

下記はDCモータコントローラL298Nを用いた際の制御方法です。

 

DCモーターは電圧をかければ回りますが、回転方向を変えたり回転速度を変えたりする場合は駆動電圧を変動させる必要があります。 しかしながら、例えば4輪駆動のラジコンカーを作る場合は4つのDCモーターを制御しなければなりません。1つずつ上記のような回路を組んでいくとやや煩雑になってしまいます。 モーターコントローラを使いましょう そこで、簡素な接続でDCモーターを制御することができるモジュールである、モーターコントローラを使ってよりシンプルにしましょう。

2つのモータを制御したい場合、

  • PWMへの接続 x 2
  • モータの向きの制御の線 x 4
  • モータの電源GND / VM
  • 回路の電源GND / VCC
  • モータの線 x 4
  • Arduinoへの給電

と、意外と多くの接続が必要になってしまいます。

しかし、L298Pシールド型DCモータコントローラを用いれば、Arduinoに刺すだけで制御が可能になります。必要な線も

  • 回路への給電
  • モータの線 x 4

だけで済みます。

L298P

L298Pシールド型DCモータコントローラの使い方

データシート

データシートは下記URLになります。

各部位の説明

L298P配線

  • モータ電源:モータに供給する電源ですので、モータの仕様にあった電圧をかけましょう。4.8〜35Vまで対応しています。
  • ジャンパ:上図の下部にあるジャンパを設置すると、Arduinoへの給電もこのボードから行われますので、別途Arduino用の電源を用意する必要がありません。
  • モータ接続端子:DCモータの線に繋ぐことができます。2チャンネルまで対応しています。

接続

このコントローラはArduinoのピン配列と互換をもったシールドですので、Arduinoの上にそのまま挿せば接続完了です。

下図は接続した際に横から見た状態の図になります。

Arduinoとの接続

制御コード例

データシートに記載のコードをベースにしていますが、シンタックスエラーがあってそのままだと使えないため、少し手直しをしてあります。

10、11番PINがPWMのインプット(速度制御)、12、13番 PINが方向制御に対応づいています。

Github: https://github.com/rb-sapiens/arduino-examples/tree/main/l298p

 

// 正転と逆転を2秒おきに繰り返すサンプル
int E1 = 10;
int M1 = 12;
int E2 = 11;
int M2 = 13;

void setup() {
  pinMode(M1, OUTPUT);
  pinMode(M2, OUTPUT);
  pinMode(E1, OUTPUT);
  pinMode(E2, OUTPUT);
}

void loop() {
  digitalWrite(M1,HIGH);
  digitalWrite(M2, HIGH);
  analogWrite(E1, 100);
  analogWrite(E2, 100);

  delay(2000);

  digitalWrite(M1,LOW);
  digitalWrite(M2, LOW);
  analogWrite(E1, 100);
  analogWrite(E2, 100);

  delay(2000);

}

 

Related Posts

Arduinoのrosserialで「Unable to sync with device」というエラーが出た場合の対処
Arduinoのrosserialで「Unable to sync with device」というエラーが出た場合の対処
概要 ArduinoでROSのトピックを受信して動作をさせたいときに、使うのがrosserialです。 rosserial_arduino このrosserial_arduinoを用いてArduinoと繋げてROSトピックを投げ...
Read More
Arduinoのコードでキュー(Queue)を使う
Arduinoのコードでキュー(Queue)を使う
概要 Arduinoのコードを書く際に、処理をキューイングして順番に処理をしていきたい時がありました。Arduinoにはarrayはありますが、FIFO(後述)型のキューはデフォルトでは無いため、外部ライブラリをインクルードする必要が...
Read More
2輪駆動 ロボット台車・カーシャーシの組み立て方
2輪駆動 ロボット台車・カーシャーシの組み立て方
RoboStationで販売しているロボット台車・「積載重量4kg/3kg 2輪駆動 ロボット台車・カーシャーシ」の組み立て方について解説をします。   貼り付けられている写真はDCモータ版での組み立てですが、ステッピングモーター版...
Read More