Pular para o conteúdo principal

Grove - I2C Motor Driver V1.3

O Grove - I2C Motor Driver V1.3 (versão mais recente) pode controlar diretamente motor de passo ou motor DC. Seu coração é um chip driver em ponte H de canal duplo (L298N) que pode lidar com corrente de até 2A por canal, controlado por um Atmel ATmega8L que gerencia a comunicação I2C com plataformas como Arduino. Ambos os motores podem ser acionados simultaneamente enquanto configurados com velocidades e direções diferentes. Ele pode alimentar dois motores DC com escovas ou um motor de passo bifásico de 4 fios. Requer uma fonte de alimentação de 6V a 15V para alimentar o motor e possui um regulador de tensão de 5V onboard que pode alimentar o barramento I2C e o Arduino (selecionável por jumper). Todas as linhas do driver são protegidas por diodos contra back-EMF.

Em contraste com o Grove - I2C motor driver V1.2, o V1.3 permite aos usuários controlar o motor de passo com mais facilidade. Você não precisa mais controlar os steppers o tempo todo; basta enviar um comando para o I2C motor driver V1.3 para acionar um motor de passo, e ele agirá conforme seu comando, o que economizará recursos do Arduino e simplificará seu código.

Versão

RevisãoDescriçõesLançamento
v1.0Lançamento público inicial17 de maio, 2012
v1.2Modificar o endereço I2C definido por hardware2 de julho, 2012
v1.3Modificar o firmware para suportar Stepper off-line18 de fevereiro, 2013

Recursos

  • Compatível com Grove
  • Interface I2C
  • Velocidade e direção de rotação do motor ajustáveis
  • Endereço escravo alterável por hardware
dica

Para mais detalhes sobre módulos Grove, consulte o Grove System

Especificações

Item

Mín

Típico

Máx

Unidade

Tensão de trabalho

6

15

VDC

Corrente máxima de saída por canal

0,5

A

Corrente total máxima

1,0

A

Tensão de entrada/saída no barramento I2C

5

V

Protocolo de comunicação

I2C

/

nota

Se você quiser usar vários dispositivos I2C, consulte o Software I2C.

Plataformas Suportadas

ArduinoRaspberry Pi
cuidado

As plataformas mencionadas acima como suportadas são uma indicação da compatibilidade de software ou teórica do módulo. Na maioria dos casos, fornecemos apenas biblioteca de software ou exemplos de código para a plataforma Arduino. Não é possível fornecer biblioteca de software / código de demonstração para todas as possíveis plataformas de MCU. Portanto, os usuários precisam escrever sua própria biblioteca de software.

Visão Geral do Hardware

CI 78M05: Regulador de tensão de 5V

CI L298: Driver de ponte completa dupla

CI ATmega8: Controla a rotação do motor.

Note

A tensão de entrada nos terminais de parafuso é regulada para 5V e conectada ao I2C +5V através de um jumper (J4). Remova o jumper se forem usados simultaneamente alimentação externa pelos terminais de parafuso e alimentação pelo conector I2C. Use o jumper se os 5V devam ser fornecidos ao barramento I2C.

Ideias de Aplicação

  • Robôs
  • Carrinhos RC caseiros
  • Ventoinhas de gabinete
  • Iluminação LED de alta potência

Caution

A placa ficará muito quente ao operar acima de 1 Ampere. Mantenha suas mãos longe!

Primeiros Passos

nota

Se esta é a primeira vez que você trabalha com Arduino, recomendamos fortemente que veja Getting Started with Arduino antes de começar.

Brincar com Arduino

Demonstração

O I2C Motor Driver pode controlar motor baseado no chip L298. O L298 não é apenas um driver de motor duplo, é uma ponte H dupla. Uma ponte H é basicamente uma configuração específica de transistores que permite alternar a direção da corrente. Conectando a um motor significa que você pode fazê-lo girar em ambas as direções; e com entrada PWM, você pode usar o Arduino para fazê-los girar em qualquer velocidade. Como o L298 tem 2 pontes H, você pode fazer um robô girar em torno de si mesmo fazendo cada roda girar em direções diferentes e, é claro, ir para frente e para trás.

Hardware

  • Passo 1. Prepare os seguintes itens:
Seeeduino V4.2Base ShieldGrove - I2C Motor Driver V1.3
enter image description hereenter image description hereenter image description here
Adquira agoraAdquira agoraAdquira agora
  • Passo 2. Defina o endereço do I2C Motor Driver

  • Definir o endereço pelo dial switch é uma nova função adicionada ao novo I2C Motor Driver.

  • Depois mantenha a configuração de endereço no programa igual à configuração de endereço no I2C motor driver. O endereço padrão configurado no programa é 0x0f.
  • Passo 3. Conecte o Grove - I2C Motor Driver V1.3 à porta I2C do Grove-Base Shield.
  • Passo 4. Conecte o Grove - Base Shield ao Seeeduino.
  • Passo 5. Conecte o Seeeduino ao PC por meio de um cabo USB.

nota

Se não tivermos o Grove Base Shield, também podemos conectar diretamente o Grove - I2C Motor Driver V1.3 ao Seeeduino como abaixo.

SeeeduinoGrove - I2C Motor Driver V1.3
5VVermelho
GNDPreto
SDABranco
SCLAmarelo

Software

// default I2C address is 0x0f
#define I2C_ADDRESS 0x0f

void setup()
{
Motor.begin(I2C_ADDRESS);
}

Note

A primeira coisa a notar é que você precisa de uma fonte de alimentação externa para seus motores DC. O pino de 5V no Arduino não pode fornecer energia suficiente para acionar 2 motores; você pode danificar seu Arduino se fizer isso.

  • Existem 2 funções para controlar motores DC:
// Set the speed of a motor, speed is equal to duty cycle here
void speed(unsigned char motor_id, int _speed);

// Stop one motor
void stop(unsigned char motor_id);

Com a função speed(), você consegue acionar um motor na velocidade que desejar.

  • motor_id representa qual motor usar. Você pode preencher MOTOR1 ou MOTOR2.

  • _speed representa a velocidade que você define para o motor. Você pode preencher -100~100 aqui. Quando _speed>0, o motor DC gira no sentido horário, enquanto _speed<0, o motor DC gira no sentido anti-horário. E quanto maior o valor absoluto de _speed, maior a velocidade do motor DC.

Com a função stop(), você consegue parar um motor DC em funcionamento.

  • motor_id representa qual motor usar. Você pode preencher MOTOR1 ou MOTOR2.

Acionar um Motor de Passo

Tome o Motor de Passo 24BYJ48 como exemplo. A instalação de hardware é mostrada abaixo:

A conexão entre o Motor de Passo 24BYJ48 e o I2C Motor Driver é mostrada abaixo:

  • Fornecemos uma função para acionar um motor de passo.
// Drive a stepper motor
void StepperRun(int _step);
  • _step representa os passos que você define para o motor de passo executar. Você pode preencher de -1024~1024. Quando _step>0, o motor de passo gira no sentido horário, enquanto _step<0, o motor de passo gira no sentido anti-horário. Quando _step é 512/-512, o motor de passo dará uma volta completa e, se _step for 1024/-1024, o motor de passo dará 2 voltas. O motor de passo irá parar automaticamente após concluir seus passos.

Brincar com o Codecraft

Hardware

Passo 1. Usando um cabo Grove, conecte o Grove - I2C Motor Driver à porta I2C do Seeeduino. Se você estiver usando um Arduino, aproveite um Base Shield.

Passo 2. Conecte o Seeedino/Arduino ao seu PC por meio de um cabo USB.

Software

Passo 1. Abra o Codecraft, adicione o suporte ao Arduino e arraste um procedimento principal para a área de trabalho.

nota

Se esta for a sua primeira vez usando o Codecraft, consulte também o Guia para usar Arduino com Codecraft.

Passo 2. Arraste os blocos como na figura abaixo ou abra o arquivo cdc, que pode ser baixado no final desta página.

cc

Envie o programa para o seu Arduino/Seeeduino.

dica

Quando o envio do código terminar, você verá que os motores DC conectados ao Motor Driver estarão funcionando.

Visualizador de Esquemático Online

Recursos

Suporte Técnico & Discussão de Produto

Obrigado por escolher nossos produtos! Estamos aqui para lhe fornecer 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...