Pular para o conteúdo principal

Grove - I2C Motor Driver (L298P)

Grove - I2C Motor Driver(L298P) é um driver de motor de uso comum para motor de passo e motor servo. Ele incorpora um chip STM32 para gravar o código para controlar o driver de motor. Este é um driver de motor de 2 canais, cada canal pode suportar até 1A de corrente. Você também pode usar a interface I2C para transmitir dados a partir do microcontrolador periférico. O endereço I2C padrão é 0x0f e você pode alterar o endereço do driver de motor conectando o chapéu de fio I2C. O endereço I2C é selecionável de 0x00 a 0x0f.

Características

  • MCU: microcontrolador STM32f030f4P6 para gravar o código e controlar o Driver de Motor.
  • Chip driver de motor L298P: de uso comum para um driver de motor e pode acionar motor de passo e motor servo.
  • Endereço I2C selecionável: altere a conexão do chapéu de fio para obter o endereço I2C de 0x00 a 0x0f, o endereço I2C padrão é 0x0f.
  • Saída de 2 canais: capaz de suportar 1A de corrente em cada canal, máximo de 2A de corrente; Necessita de entrada de tensão CC de 6V-12V.
  • LED de usuário: LED verde aceso para a direção no sentido horário e LED vermelho aceso para a direção anti-horária para cada canal.

Especificação

ItemValor
MCUSTM32f030f4P6
Fonte de Alimentação6-12V CC
InterfaceGrove I2C
Endereço I2CPadrão 0x0f, pode ser alterado conectando o chapéu de fio
Canal2
Corrente de saídaMÁX 2A, 1A para cada canal
Tensão de saída5V

Plataforma Suportada

ArduinoRaspberry Pi

Primeiros Passos

Usar a plataforma Arduino

Materiais Necessários

Seeeduino V4.2Base ShieldGrove - I2C Motor Driver (L298P)
enter image description hereenter image description hereenter image description here
Adquira agoraAdquira agoraAdquira agora

Conexão de hardware

  • Etapa 1 Conecte o Grove - I2C Motor Driver (L298P) à porta I2C do Grove-Base Shield.

  • Etapa 2 Conecte o Grove - Base Shield ao Seeeduino.

  • Etapa 3 Conecte o Seeeduino ao PC via um cabo USB.

Código de Software 1 - Motor CC

#include "Grove_I2C_Motor_Driver.h"

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

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

void loop() {
// Set speed of MOTOR1, Clockwise, speed: -100~100
Motor.speed(MOTOR1, 50);
// Set speed of MOTOR2, Anticlockwise
Motor.speed(MOTOR2, -70);
delay(2000);
// Change speed and direction of MOTOR1
Motor.speed(MOTOR1, -100);
// Change speed and direction of MOTOR2
Motor.speed(MOTOR2, 100);
delay(2000);
// Stop MOTOR1 and MOTOR2
Motor.stop(MOTOR1);
Motor.stop(MOTOR2);
delay(2000);
}

Com a função speed(), você é capaz de acionar um motor na velocidade desejada.

  • 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 CC gira no sentido horário, enquanto _speed<0, o motor CC gira no sentido anti-horário. E quanto maior o valor absoluto de _speed, mais rápida será a velocidade do motor CC.

Com a função stop(), você é capaz de parar um motor CC em funcionamento.

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

Código de Software 2 - Motor de Passo

#include <Grove_I2C_Motor_Driver.h>

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

void setup() {
Serial.begin(9600);
Motor.begin(I2C_ADDRESS);
// Drive a stepper motor
// \_step: -1024~1024, when \_step>0, stepper motor runs clockwise; \_step<0, stepper
// motor runs anticlockwise; when \_step is 512, the stepper motor will run a complete
// turn; if step is 1024, the stepper motor will run 2 turns.
Motor.StepperRun(-1024);
Motor.StepperRun(512);
}

void loop() {
// your code here
}

Tomando 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 é como mostrado abaixo:

  • _step representa os passos que você define para o motor de passo executar. Você pode preencher -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 executará uma volta completa e se _step for 1024/-1024, o motor de passo executará 2 voltas. O motor de passo irá parar automaticamente depois que terminar seus passos.
nota

Se você encontrar uma situação em que a frequência PWM não pode ser alterada e permanece fixa em 24Hz, é necessário atualizar o firmware usando um Jlink ou ST-link. Você pode encontrar o novo firmware aqui:

https://github.com/Seeed-Studio/grove_stm32f030/blob/master/firmware/grove_i2c_motor_driver_stm32f030.ino.bin

Para alterar a frequência PWM, use Motor.frequence(50) onde o valor é a frequência, até um máximo de 255Hz.

Visualizador Online do Esquemático

Recursos

Suporte Técnico & Discussão sobre o Produto

Obrigado por escolher nossos produtos! Estamos aqui para oferecer a você diferentes tipos de suporte para garantir que sua experiência com nossos produtos seja a mais tranquila possível. Oferecemos vários canais de comunicação para atender a diferentes preferências e necessidades.

Loading Comments...