Skip to main content

Grove - I2C电机驱动器(L298P)

Grove - I2C电机驱动器(L298P)是一种常用的步进电机和伺服电机驱动器。它嵌入了一个STM32芯片,用于烧录控制电机驱动器的代码。这是一个双通道电机驱动器,每个通道可以支持高达1A的电流。你也可以使用I2C接口从外围微控制器传输数据。默认的I2C地址是0x0f,你可以通过连接I2C线帽来改变电机驱动器的地址。I2C地址可从0x00选择至0X0f。

特点

  • MCU: STM32f030f4P6微控制器,用于烧录代码并控制电机驱动器。
  • L298P电机驱动芯片:通常用作电机驱动器,可驱动步进电机和伺服电机。
  • 可选的I2C地址:改变线帽的连接,即可获取从0x00到0x0f的I2C地址,默认I2C地址为0x0f。
  • 双通道输出:每个通道能够支持1A的电流,最大2A电流;需要6V-12V直流电压输入。
  • 用户LED:每个通道的绿色LED亮表示顺时针方向,红色LED亮表示逆时针方向。

规格

项目
MCUSTM32f030f4P6
电源供应6-12V DC
接口Grove I2C
I2C地址默认为0x0f,可通过连接线帽进行更改
通道数2
输出电流最大2A,每个通道1A
输出电压5V

支持的平台

Arduino树莓派

入门指南

使用Arduino平台

所需材料

Seeeduino V4.2基础扩展板Grove - I2C 电机驱动器 (L298P)
enter image description hereenter image description hereenter image description here
立即获取立即获取立即获取

硬件连接

  • 步骤 1 将Grove - I2C电机驱动器(L298P)连接到Grove基础扩展板的I2C端口。

  • 步骤 2 将Grove基础扩展板插入到Seeeduino上。

  • 步骤 3 通过USB电缆将Seeeduino连接到PC。

软件代码 1 - 直流电机

#include "Grove_I2C_Motor_Driver.h"

// default I2C address is 0x0f
#define I2C_ADDRESS 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);
}

使用 speed() 函数,你可以以你想要的速度驱动一个电机。

  • motor_id 表示使用哪个电机。你可以填写 MOTOR1 或 MOTOR2。

  • _speed 表示你为电机设定的速度。你可以在这里填写 -100~100。当 _speed>0 时,直流电机顺时针运行,而当 _speed<0 时,直流电机逆时针运行。_speed 的绝对值越大,直流电机的速度就越快。

使用 stop() 函数,你可以停止正在运行的直流电机。

  • motor_id 表示使用哪个电机。你可以填写 MOTOR1 或 MOTOR2。

软件代码 2 - 步进电机

#include <Grove_I2C_Motor_Driver.h>

// default I2C address is 0x0f
#define I2C_ADDRESS 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() {

}

24BYJ48步进电机为例,硬件安装如下图所示:

24BYJ48步进电机与I2C电机驱动器之间的连接如下所示:

  • _step 代表你为步进电机设置的运行步数。你可以填写-1024到1024。当 _step>0 时,步进电机顺时针运行;而当 _step<0 时,步进电机逆时针运行。当 _step 是512/-512时,步进电机会转一整圈;而当 _step 是1024/-1024时,步进电机会转两圈。步进电机会在完成所有步数后自动停止。

原理图在线查看器

资源

技术支持与产品讨论

感谢您选择我们的产品!我们在这里为您提供不同的支持,以确保您使用我们的产品时尽可能顺利。我们提供多种沟通渠道,以满足不同的偏好和需求。

Loading Comments...