SKU:RB-01C066 Arduino VNH5019直流电机驱动扩展板

来自ALSROBOT WiKi
跳转至: 导航搜索
RB-01C066.jpg

目录

产品概述

Pololu VNH5019双路大功率直流电机驱动扩展板,可以很容易插入到Arduino各种兼容控制器,如常用的Arduino UNO R3、Carduino、Seeeduino等,扩展板采用ST公司生产的VNH5019驱动芯片,工作电压从5.5V到24V,每路提供12A大小的电流到30A的峰值电流,可谓是悍马级直流电机驱动板。整板采用SMD表贴元件,体积小、重量轻,通过Arduino控制可以轻松控制两个双向、高功率直流电机。 板载上拉电阻和保护电阻和FET的反向电池保护。本扩展板默认IO接口设置不方便,也可以自定义映射Arduino引脚,此款驱动器简单易用,性能与功率大大超越初学者所用L298系列驱动器。 此款扩展板,端子和排座散装未焊接,爱好者可以自定义选择接线方式,推荐接线方式:可以直接用电烙铁焊接电机输出引线,而不用接线端子,因为接线端子会增大电阻影响电机性能发挥,如果要经常更换电机使用的话,可以采用接线端子,这样方便更换电机接线。

规格参数

  1. 产品名称: Arduino VNH5019直流电机驱动扩展板
  2. 产品货号:RB-01C066
  3. 工作电压范围:5.5V- 24V
  4. 驱动芯片:VNH5019
  5. 驱动通道:2路
  6. 单通道连续输出电流值:12A
  7. 单通道最大输出电流值:30A
  8. 电流检测值:0.14 V/A
  9. 最大PWM频率:20KHZ
  10. 反向电压保护模式:有

接口介绍

VNH5019双路驱动扩展板与arduino连接示意图

RB-01C0661.jpg

与Arduino I/O 接口对应说明

RB-01C06601.png

VNH5019双路驱动扩展板与其他微控制器连接示意图

RB-01C0662.jpg

应用例程

例子程序

程序编译上传之前需要先下载库文件DualVNH5019MotorShield.zip,将库文件解压后,放到Arduino软件安装路径的libraries文件夹下,重新启动Arduino IDE软件,再进行例子程序的编译,否则会造成程序编译不成功问题。

#include "DualVNH5019MotorShield.h"
DualVNH5019MotorShield md;
void stopIfFault()
{
  if (md.getM1Fault())
  {
    Serial.println("M1 fault");
    while(1);
  }
  if (md.getM2Fault())
  {
    Serial.println("M2 fault");
    while(1);
  }
} 
void setup()
{
  Serial.begin(115200);
  Serial.println("Dual VNH5019 Motor Shield");
  md.init();
}
 
void loop()
{
  for (int i = 0; i <= 400; i++)
  {
    md.setM1Speed(i);
    stopIfFault();
    if (i%200 == 100)
    {
      Serial.print("M1 current: ");
      Serial.println(md.getM1CurrentMilliamps());
    }
    delay(2);
  }
   
  for (int i = 400; i >= -400; i--)
  {
    md.setM1Speed(i);
    stopIfFault();
    if (i%200 == 100)
    {
      Serial.print("M1 current: ");
      Serial.println(md.getM1CurrentMilliamps());
    }
    delay(2);
  }
   
  for (int i = -400; i <= 0; i++)
  {
    md.setM1Speed(i);
    stopIfFault();
    if (i%200 == 100)
    {
      Serial.print("M1 current: ");
      Serial.println(md.getM1CurrentMilliamps());
    }
    delay(2);
  }
 
  for (int i = 0; i <= 400; i++)
  {
    md.setM2Speed(i);
    stopIfFault();
    if (i%200 == 100)
    {
      Serial.print("M2 current: ");
      Serial.println(md.getM2CurrentMilliamps());
    }
    delay(2);
  }
   
  for (int i = 400; i >= -400; i--)
  {
    md.setM2Speed(i);
    stopIfFault();
    if (i%200 == 100)
    {
      Serial.print("M2 current: ");
      Serial.println(md.getM2CurrentMilliamps());
    }
    delay(2);
  }
   
  for (int i = -400; i <= 0; i++)
  {
    md.setM2Speed(i);
    stopIfFault();
    if (i%200 == 100)
    {
      Serial.print("M2 current: ");
      Serial.println(md.getM2CurrentMilliamps());
    }
    delay(2);
  }
}

程序效果

这个例子的坡道1号电机转速从零到最大速度,然后从最大速度反向,回零再过了约3秒,当检查电机故障和定期印刷电机电流的串行监视器时。执行电机2相同的过程在重复一遍。

产品相关推荐

Erweima.png

产品购买地址

Arduino VNH5019直流电机驱动扩展板

周边产品推荐

双H桥直流电机驱动板
RoboClaw 2x5A 电机驱动板 (V4)
RoboClaw 电机驱动板 2x30A
RoboClaw 电机驱动板 2x15A

相关问题解答

VNH5019 电机驱动板的 电流检测问题

相关学习资料

奥松机器人技术论坛
VNH5019直流电机驱动扩展板原理图
VNH5019直流电机驱动扩展板官方英文版使用说明
VNH5019库文件官方下载地址