Skip to main content

モーターシールド V2.0

note

この文書は AI によって翻訳されています。内容に不正確な点や改善すべき点がございましたら、文書下部のコメント欄または以下の Issue ページにてご報告ください。
https://github.com/Seeed-Studio/wiki-documents/issues

pir

note

このドキュメントは Motor Shield V2.0/2.1/2.2 に対応しています。

モーターシールドは、モーターの動作速度と方向をArduinoで制御できるドライバーモジュールです。デュアルフルブリッジドライブチップL298をベースにしており、2つのDCモーターまたはステップモーターを駆動することができます。モーターシールドは、Arduinoから直接電力を供給するか、端子入力を介して外部6V〜15Vの電源で動作させることができます。このモジュールは、マイクロロボットやインテリジェントビークルの開発などに使用できます。

バージョン

リビジョン

説明

リリース

v1.0

初回公開リリース

NA

v2.0

Arduino/Seeeduinoの+5Vピンでモーターを駆動可能に

2013-2

特徴


  • 標準Arduino UNOシールドピンアウト
  • L298フルブリッジICをベース
  • 2つのDCモーターまたは1つのステップモーターを駆動
  • 外部電源入力対応
  • LEDインジケーター
  • パフォーマンス向上のためのヒートシンク
  • Arduinoライブラリ

仕様


仕様

動作電圧

5V

外部電源

6-15V

出力電流

各チャンネル最大2.0A

PWM範囲

0-100%

出力

2チャンネル、4ポート

ハードウェア概要

pir

1. チャンネル1インジケーター、3つのLEDを含む

  • EB - チャンネル1有効、高アクティブ
  • IN3 - OUT3の状態
  • IN4 - OUT4の状態

2. チャンネル1センス - 通常使用時には左側の2ピンを接続してください。

注意:これは電流を検知するための高度なアプリケーションです。詳細についてはデータシートと回路図を参照してください。

3. 出力 - 2つのチャンネルがあり、各チャンネルには2つの出力があります

  • チャンネル0 - OUT1, OUT2
  • チャンネル1 - OUT3, OUT4

4. チャンネル0センス

5. チャンネル0インジケーター、3つのLEDを含む

  • EB - チャンネル0有効、高アクティブ
  • IN1 - OUT1の状態
  • IN2 - OUT2の状態

6. 外部電源入力、範囲6-15V

7. リセットインジケーター - リセットボタンが押されると赤く点灯

8. リセットボタン - シールドとArduinoをリセットするために押します

9. 電源インジケーター - 内部または外部の電源が供給されると緑色に点灯

A. 電源スイッチ

  • 接続 - Arduinoから電源を取得
  • 切断 - 外部ソースから電源を取得

B. 標準Arduinoシールドピンアウト

使用されるデジタルピン

Arduinoピン

機能

D0

未使用

D1

未使用

D2

未使用

D3

未使用

D4

未使用

D5

未使用

D6

未使用

D7

未使用

D8

OUT1

D9

チャンネル0の有効化

D10

チャンネル1の有効化

D11

OUT2

D12

OUT3

D13

OUT4

note

D8〜D13はモーターシールドで使用されます。競合を避けるため、これらのピンを使用しないでください。

使用されるアナログピン

Arduinoピン

機能

D0

未使用

D1

未使用

D2

未使用

D3

未使用

D4

未使用

D5

未使用

note

未使用とは、これらのピンを自由に使用できることを意味します。

はじめに


DCモーターを駆動する

接続

ここでは、このモーターシールドがどのように動作するかを簡単なデモを通じて説明します。まず、以下のものを準備してください:

Seeeduino V4

DCモーター

モーターシールド

pir

pir

pir

今すぐ購入

今すぐ購入

今すぐ購入

  • SEN_ASEN_Bを設定し、左側の2つのピンをジャンパーで接続します。
  • MB_ENをジャンパーで接続します(外部電源は使用しません)。
  • DCモーターをチャンネル0(OUT1とOUT2)に接続します。
  • モーターシールドをArduinoに差し込みます。
  • USBケーブルを使用してArduinoをPCに接続します。

pir

ソフトウェア

  • 以下のコードをSeeeduino V4にアップロードします。
//  デモ関数: DCモーターを駆動するためのアプリケーション方法。
// 作成者: Loovee ([email protected])
// 2016-3-11

#include "MotorDriver.h"

MotorDriver motor;

void setup()
{
// 初期化
motor.begin();
}

void loop()
{
motor.speed(0, 100); // モーター0を速度100に設定
delay(1000);
motor.brake(0); // ブレーキ
delay(1000);
motor.speed(0, -100); // モーター0を速度-100に設定
delay(1000);
motor.stop(0); // 停止
delay(1000);
}
// END FILE
  • これで、モーターが動作(1秒)、停止(1秒)、逆方向に動作(1秒)、停止(1秒)を繰り返すことが確認できます。

何も起こらない場合は、以下を確認してください:

  • コードが正常にアップロードされているか
  • モーターが正しく接続されているか
  • LEDインジケーターが正しく点滅しているか

ステッパーモーターを駆動する

接続

ここでは、このモーターシールドがどのように動作するかを簡単なデモを通じて説明します。まず、以下のものを準備してください:

Seeeduino V4

ステッパーモーター

モーターシールド

pir

pir

pir

今すぐ購入

今すぐ購入

今すぐ購入

  • SEN_ASEN_Bを設定し、左側の2つのピンをジャンパーで接続します。
  • MB_ENをジャンパーで接続します(外部電源は使用しません)。
  • ステッパーモーターのピン定義を確認し、シールドのOUTPUTに接続します。以下のように接続してください:

ステッパー

OUT1

A+

OUT2

A-

OUT3

B+

OUT4

B-

使用しない

  • モーターシールドをArduinoに差し込みます。
  • USBケーブルを使用してArduinoをPCに接続します。

ソフトウェア

以下のコードをArduino IDEにコピーしてSeeeduino V4にアップロードしてください。これでステッパーモーターが動作することが確認できます。

/*
* Seeed Motor Shield V2用ステッパーテスト
* loovee @ 2016年3月15日
*/

#include <Stepper.h>

// モーターのステップ数を変更してください
#define STEPS 200

// ステッパークラスのインスタンスを作成し、
// モーターのステップ数と接続されているピンを指定します
Stepper stepper(STEPS, 8, 11, 12, 13);

// アナログ入力からの前回の読み取り値
int previous = 0;

void step(int steps)
{
digitalWrite(9, HIGH);
digitalWrite(10, HIGH);
stepper.step(steps);
digitalWrite(9, LOW);
digitalWrite(10, LOW);
}

void setup()
{
// モーターの速度を30RPMに設定
pinMode(9, OUTPUT);
pinMode(10, OUTPUT);
digitalWrite(9, LOW);
digitalWrite(10, LOW);
stepper.setSpeed(30);
}

void loop()
{
step(1000);
step(-1000);
}

// END FILE

何も起こらない場合は、配線が正しく接続されているかを再確認してください。

ライブラリ API


DC モーター API

begin

説明

void begin();

speed

説明

void move(int motor_id, int speed);
  • motor_id
    • 0 - チャンネル 0
    • 1 - チャンネル 1
  • speed: -100~100、大きいほど速くなる、0は停止

stop

void stop(unsigned char motor_id);

brake

void brake(unsigned char motor_id);

ステッパー

注意 Arduino IDE によって提供されるライブラリを使用してステッパーを駆動します。

いくつか修正が必要です。例を参照してください。

FAQs

Q1: ジャンパー MB_EN の目的

A1: モーターシールド上に電源ジャンパー(MB_EN)があるのがわかります。このジャンパーを移動すると、Arduino がシールドに電力を供給できますが、シールド(シールドが外部電源に接続されている場合)は Arduino に電力を供給することはできません。

ジャンパーが存在する場合、以下の2つの状況で一方が他方に電力を供給できます:

  • USB から Arduino: シールドに外部電源が個別に接続されていない場合、Arduino は VCC ピンを介してシールドに電力を供給します。

  • シールドに外部電源が接続されている場合:シールドが個別の電源を持っている場合、電圧はまず整流器(78M05)を通過し、その後 Arduino に電力を供給します。この状況では、Arduino の電流は 78M05 を介して Arduino からシールドに流れることはありません。

したがって、このジャンパーの目的は、シールドを使用して Arduino に電力を供給するかどうかを選択することです。

Q2: Arduino UNO 上で SD カードシールド (103030005) とモーターシールド (105030001) の間にピンの競合はありますか?それらを一緒に使用する方法は?

A2: Arduino Uno のデジタルピン D11、D12、D13 においてモーターシールドと SD カードシールドの間にピンの競合があります。そのため、Arduino Uno ボードと一緒にそれらを積み重ねて使用することはできません。以下はそれらを一緒に使用するための解決策です。

  • ステップ 1: SD カードシールドを Arduino に積み重ねます。
  • ステップ 2: Motordriver.h ライブラリを以下のように修正します。
/******ピン定義*************/
#define MOTORSHIELD_IN1 8
#define MOTORSHIELD_IN2 7
#define MOTORSHIELD_IN3 6
#define MOTORSHIELD_IN4 5
#define SPEEDPIN_A 9
#define SPEEDPIN_B 10

Q3: モーターシールドを積み重ねず、ジャンパーワイヤーを使用して Arduino から個別に接続する方法

A3: 以下は接続方法です。

Arduino

モーターシールド

5V

5V

GND

GND

D5

D13

D6

D12

D7

D11

D8

D8

D9

D9

D10

D10

モーターシールド V2.0 Eagle ファイル回路図オンラインビューア

Motor shield V2.1 Eagle ファイル回路図オンラインビューア

リソース


技術サポートと製品ディスカッション

弊社製品をお選びいただきありがとうございます!製品の使用体験がスムーズになるよう、さまざまなサポートを提供しています。異なる好みやニーズに対応するため、複数のコミュニケーションチャネルをご用意しています。

Loading Comments...