Motor Shield V2.0

Este documento funciona para Motor Shield V2.0/2.1/2.2.
O Motor Shield é um módulo driver para motores que permite usar o Arduino para controlar a velocidade de operação e a direção do motor. Baseado no chip Dual Full-Bridge Drive L298, ele é capaz de controlar dois motores DC ou um motor de passo. O Motor Shield pode ser alimentado diretamente pelo Arduino ou por uma fonte de alimentação externa de 6V~15V através da entrada por terminal. Este módulo pode ser usado para o desenvolvimento de micro robôs e veículos inteligentes, etc.
Revisão | Descrições | Lançamento |
v1.0 | Lançamento público inicial | N/A |
v2.0 | Habilita o pino +5V do Arduino/Seeeduino para alimentar o motor | 2013-2 |
Recursos
- Pinout padrão de Shield para Arduino UNO
- Baseado no CI de ponte completa L298
- Aciona 2 motores DC ou 1 motor de passo
- Entrada de alimentação externa disponível
- Indicadores LED
- Dissipador de calor para melhor desempenho
- Biblioteca para Arduino
Especificações
Especificação | Valor |
Tensão de operação | 5V |
Alimentação externa | 6-15V |
Corrente de saída | 2,0A máx @ cada canal |
Faixa de PWM | 0-100% |
Saída | 2 canais, 4 portas |
Visão geral do hardware

1.Indicador do canal 1, inclui 3 LEDs
- EB - canal 1 habilitado, nível alto ativo
- IN3 - status de OUT3
- IN4 - status de OUT4
2.Detecção do canal 1 - Conecte os 2 pinos da esquerda juntos para uso normal.
Observe que é uma aplicação de alto nível para detecção de corrente, consulte o datasheet e o esquemático para mais informações.
3.SAÍDA - Há 2 canais, cada canal tem 2 saídas
- Canal 0 - OUT1, OUT2
- Canal 1 - OUT3, OUT4
4.Detecção do canal 0
5.Indicador do canal 0, inclui 3 LEDs
- EB - canal 0 habilitado, nível alto ativo
- IN1 - status de OUT1
- IN2 - status de OUT2
6.Entrada de alimentação externa, faixa 6-15V
7.Indicador de Reset - fica vermelho quando o botão Reset é pressionado
8.Botão de Reset - pressione para resetar o shield e o Arduino
9.Indicador de alimentação - fica verde quando há alimentação, interna ou externa
A. Interruptor de alimentação
- Connect - Recebe alimentação do Arduino
- Disconnect - Recebe alimentação de fontes externas
B. Pinout padrão de shield para Arduino
Pinos digitais usados
Pino do Arduino | Função |
D0 | Não usado |
D1 | Não usado |
D2 | Não usado |
D3 | Não usado |
D4 | Não usado |
D5 | Não usado |
D6 | Não usado |
D7 | Não usado |
D8 | OUT1 |
D9 | Habilitação do Canal0 |
D10 | Habilitação do Canal1 |
D11 | OUT2 |
D12 | OUT3 |
D13 | OUT4 |
D8~D13 são usados pelo Motor Shield. Por favor, não use esses pinos para evitar conflitos.
Pinos analógicos usados
Pino do Arduino | Função |
D0 | Não usado |
D1 | Não usado |
D2 | Não usado |
D3 | Não usado |
D4 | Não usado |
D5 | Não usado |
Não usado significa que você pode usar esses pinos livremente.
Primeiros passos
Controlar um motor DC
Conexão
Aqui mostraremos como este Motor Shield funciona por meio de uma demonstração simples. Antes de tudo, você precisa preparar os itens abaixo:
Seeeduino V4 | Motor DC | Motor Shield |
|
|
|
Adquira UM Agora | Adquira UM Agora | Adquira UM Agora |
- Defina SEN_A e SEN_B, conecte os 2 pinos da esquerda juntos com um jumper.
- Conecte MB_EN junto com um jumper, pois não vamos usar uma alimentação externa.
- Conecte o motor DC ao Canal 0 (OUT1 e OUT2).
- Conecte o Motor Shield ao Arduino.
- Conecte o Arduino ao PC via cabo USB.

Software
- Clique no botão abaixo para baixar a biblioteca do motor shield.
- Siga os procedimentos de como instalar uma biblioteca do arduino para instalar a biblioteca.
- Envie o código para o Seeeduino V4.
// Demo function:The application method to drive the DC motor.
// Author:Loovee ([email protected])
// 2016-3-11
#include "MotorDriver.h"
MotorDriver motor;
void setup()
{
// initialize
motor.begin();
}
void loop()
{
motor.speed(0, 100); // set motor0 to speed 100
delay(1000);
motor.brake(0); // brake
delay(1000);
motor.speed(0, -100); // set motor0 to speed -100
delay(1000);
motor.stop(0); // stop
delay(1000);
}
// END FILE
- Então você verá seu motor girar (1s), parar (1s), girar para trás (1s), parar (1s) e repetir em loop.
Se nada acontecer, certifique-se de que:
- Enviamos o código com sucesso
- O motor está conectado corretamente
- Os indicadores LED piscam corretamente
Controlar um motor de passo
Conexão
Aqui mostraremos como este Motor Shield funciona por meio de uma demonstração simples. Antes de tudo, você precisa preparar os itens abaixo:
Seeeduino V4 | Motor de passo | Motor Shield |
|
|
|
Adquira UM Agora | Adquira UM Agora | Adquira UM Agora |
- Defina SEN_A e SEN_B, conecte os 2 pinos da esquerda juntos com um jumper.
- Conecte MB_EN junto com um jumper, pois não vamos usar uma alimentação externa.
- Encontre as definições de pino do seu motor de passo e conecte-o à SAÍDA do shield, conforme abaixo:
stepper | OUT1 |
A+ | OUT2 |
A- | OUT3 |
B+ | OUT4 |
B- | Não usado |
- Conecte o Motor Shield ao Arduino.
- Conecte o Arduino ao PC por meio de um cabo USB.
Software
Copie o código abaixo para o Arduino IDE e carregue-o para o Seeeduino V4, então você verá o seu motor de passo se mover.
/*
* Stepper test for Seeed Motor Shield V2
* loovee @ 15 Mar, 2016
*/
#include <Stepper.h>
// change this to the number of steps on your motor
#define STEPS 200
// create an instance of the stepper class, specifying
// the number of steps of the motor and the pins it's
// attached to
Stepper stepper(STEPS, 8, 11, 12, 13);
// the previous reading from the analog input
int previous = 0;
void step(int steps)
{
digitalWrite(9, HIGH);
digitalWrite(10, HIGH);
stepper.step(steps);
digitalWrite(9, LOW);
digitalWrite(10, LOW);
}
void setup()
{
// set the speed of the motor to 30 RPMs
pinMode(9, OUTPUT);
pinMode(10, OUTPUT);
digitalWrite(9, LOW);
digitalWrite(10, LOW);
stepper.setSpeed(30);
}
void loop()
{
step(1000);
step(-1000);
}
// END FILE
Se nada acontecer, verifique novamente se você conectou o fio corretamente.
APIs da Biblioteca
APIs do Motor DC
begin
Descrição
void begin();
speed
Descrição
void move(int motor_id, int speed);
- motor_id
- 0 - Canal 0
- 1 - Canal 1
- velocidade: -100~100, quanto maior mais rápido, 0 para parar
stop
void stop(unsigned char motor_id);
brake
void brake(unsigned char motor_id);
Stepper
Observação: usamos a biblioteca fornecida pelo Arduino IDE para acionar um motor de passo.
Há algo que precisa ser modificado, consulte os exemplos.
FAQs
Q1: A finalidade do jumper MB_EN
A1: Você pode ver um jumper de energia (MB_EN) no motor shield. Se você movê-lo, o Arduino pode fornecer energia ao Shield, mas o shield (se o shield estiver conectado a uma fonte de alimentação externa) não pode fornecer energia ao Arduino.
Se o jumper existir, um pode fornecer energia ao outro em duas situações:
-
USB para Arduino: se nenhuma fonte de alimentação externa estiver conectada ao Shield separadamente, o Arduino fornecerá energia ao Shield através do pino VCC.
-
Fonte de alimentação externa conectada ao Shield: se o shield tiver uma fonte de alimentação separada, a tensão passará primeiro por um retificador (78M05) e então fornecerá energia ao Arduino. Nesta situação, nenhuma corrente do Arduino poderá passar pelo Arduino para o Shield através do 78M05.
Portanto, a finalidade deste jumper é uma escolha de se você deseja usar o shield para fornecer energia ao Arduino ou não.
Q2: Existe um conflito de pinos entre o SD card shield (103030005) e o Motor shield (105030001) no Arduino UNO? Como usá-los juntos?
A2: Existe um conflito de pinos entre o Motor shield e o SD card shield nos pinos digitais D11, D12, D13 do Arduino Uno. Portanto, você não pode empilhá-los juntos com a placa Arduino Uno. Aqui está a solução para usá-los juntos.
- Passo 1. Empilhe o SD card shield no Arduino.
- Passo 2. Modifique a biblioteca Motordriver.h da seguinte forma.
/******Pins definitions*************/
#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. Não empilhe o motor shield, mas faça as conexões separadamente a partir do Arduino usando jumpers, conforme abaixo.
A3: Aqui está a conexão.
Arduino | Motor shield |
5V | 5V |
GND | GND |
D5 | D13 |
D6 | D12 |
D7 | D11 |
D8 | D8 |
D9 | D9 |
D10 | D10 |
Visualizador Online do Esquemático do Arquivo Eagle do Motor Shield V2.0
Visualizador Online do Esquemático do Arquivo Eagle do Motor shield V2.1
Recursos
- [Eagle] Arquivo Eagle do Motor Shield V2.0
- [Eagle] Arquivo Eagle do Motor shield V2.1
- [PDF] Esquemático do Motor Shield 2.0
- [PDF] Esquemático do Motor Shield 2.1
- [PDF] Esquemático do Motor Shield 2.2
- [Library] Biblioteca do Motor Shield
- [Datasheet] L298 Datasheet
- [Datasheet] 78M05 Datasheet
Suporte Técnico & Discussão de Produto
Obrigado por escolher nossos produtos! Estamos aqui para oferecer diferentes tipos de suporte para garantir que sua experiência com nossos produtos seja o mais tranquila possível. Oferecemos vários canais de comunicação para atender a diferentes preferências e necessidades.





