_SKU_DRI0040_Motor_driver HR8833_双路直流电机驱动模块 - jimaobian/DFRobotWikiCn GitHub Wiki

HR8833微型电机驱动

简介

DFRobot新推出超小型双路直流电机驱动,只有一个指甲盖大小,即可驱动双路1.5A电机。模块两边管脚配备XH2.54标准排针,可以直接在面包板和原型板上使用,使用非常方便,满足各类DIY要求。 配合Arduino源码,可以轻松实现电机控制。创客时代,我们能为您带来更多!

产品参数

  • 逻辑电压(VCC):3.3–5 V
  • 工作电压(VM):3.3–10 V
  • 最大持续工作电流:1500mA(单路)
  • 支持PWM调速方式
  • 工作温度:-20 ~ 85 摄氏度
  • 尺寸:18mm*13mm

引脚说明

| | | | ---------------------------------------------------------------------- | | | :DRI0040_HR8833.png | |

标号 名称 功能描述
1 VCC 电源3.3V-5V或者IO口输出高电平
2 GND 电源负极
3 IB2 B路逻辑输入端2
4 IB1 B路逻辑输入端1
5 IA2 A路逻辑输入端2
6 IA1 A路逻辑输入端1
7 VM 电机驱动电源3.3V-10V
8 GND 电源负极
9 MB1 B路输出1
10 MB2 B路输出2
11 MA2 A路输出2
12 MA1 A路输出1

管脚映射

使用教程

准备

接线图

Arduino Connection IA1接数字口10 IA2接数字口12 IB1接数字口11 IB2接数字口13

控制方式

输入管脚IA1和IA2控制输出管脚MA1和MA2的状态。类似的,输入管脚IB1和IB2控制着输出管脚MB1和MB2的状态。下表显示了彼此间的逻辑关系。

Ix1 Ix2 Mx1 Mx2 功能
0 0 Z Z Coast/fast decay
0 1 L H Reverse
1 0 H L Forward
1 1 L L Brake/slow decay

当PWM控制用于快衰模式,PWM信号控制一个Ix管脚,而另一个管脚维持低电平;当运用于慢衰减,另一个管脚维持高电平。如下图所示:

Ix1 Ix2 功能 描述
PWM 0 Forward PWM,fast decay 正向PWM调速,采用电流快衰减方式,高电平占空比为调速比
1 PWM Forward PWM,slow decay 正向PWM调速,采用电流慢衰减方式,低电平占空比为调速比
0 PWM Reverse PWM,fast decay 反向PWM调速,采用电流快衰减方式,高电平占空比为调速比
PWM 1 Reverse PWM,slow decay 反向PWM调速,采用电流慢衰减方式,低电平占空比为调速比

样例代码

|

/*
* @file Motor driver HR8833-Test.ino
* @brief HR8833-Test.ino  Motor control program
*
* control motor positive inversion
*
* @author [email protected]
* @version  V1.0
* @date  2016-4-13
*/
const int IA1=10;
const int IA2=12;
const int IB1=11;
const int IB2=13;

void setup() {
     pinMode(IA1, OUTPUT);
     pinMode(IA2, OUTPUT);
     pinMode(IB1, OUTPUT);
     pinMode(IB2, OUTPUT);
}

void loop() {
 MA1_Forward(200);//MA1路电机正转,PWM调速
 delay(1000);
 MA2_Backward(200);//MA2路电机反转,PWM调速
 delay(1000);
}

void MA1_Forward(int Speed1) //正向快衰模式,Speed1值越大,电机转动越快
{
     analogWrite(IA1,Speed1);
     digitalWrite(IA2,LOW);
  }

void MA2_Backward(int Speed1) //反向慢衰模式,Speed2值越小,电机转动越快
{
    int Speed2=255-Speed1;
    analogWrite(IA1,Speed2);
    digitalWrite(IA2,HIGH);
  }

void MB1_Forward(int Speed1)
{
     analogWrite(IB1,Speed1);
     digitalWrite(IB2,LOW);
  }

void MB2_Backward(int Speed1)
{
    int Speed2=255-Speed1;
    analogWrite(IB1,Speed2);
    digitalWrite(IB2,HIGH);
  }

|}

结果

电机正反转

常见问题

还没有客户对此产品有任何问题,欢迎通过qq或者论坛联系我们!

| 更多问题及有趣的应用,可以 访问论坛 进行查阅或发帖! |

更多

原理图 HR8833 Datasheet SVG 文件

DFshopping_car1.png DFRobot商城购买链接