Pular para o conteúdo principal

Motor Shield V2.0

pir

nota

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.

Versão

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

pir

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

nota

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

nota

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

pir

pir

pir

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.

pir

Software

  • 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

pir

pir

pir

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


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.

Loading Comments...