(SKU:RB-01C066)Arduino VNH5019直流電機驅(qū)動擴展板

來自ALSROBOT WiKi
2015年6月11日 (四) 15:3726wd討論 | 貢獻的版本

跳轉(zhuǎn)至: 導(dǎo)航、 搜索
RB-01C066.jpg

目錄

產(chǎn)品概述

Pololu VNH5019雙路大功率直流電機驅(qū)動擴展板,可以很容易插入到Arduino各種兼容控制器,如常用的Arduino UNO R3、Carduino、Seeeduino等,擴展板采用ST公司生產(chǎn)的VNH5019驅(qū)動芯片,工作電壓從5.5V到24V,每路提供12A大小的電流到30A的峰值電流,可謂是悍馬級直流電機驅(qū)動板。整板采用SMD表貼元件,體積小、重量輕,通過Arduino控制可以輕松控制兩個雙向、高功率直流電機。 板載上拉電阻和保護電阻和FET的反向電池保護。本擴展板默認IO接口設(shè)置不方便,也可以自定義映射Arduino引腳,此款驅(qū)動器簡單易用,性能與功率大大超越初學(xué)者所用L298系列驅(qū)動器。 此款擴展板,端子和排座散裝未焊接,愛好者可以自定義選擇接線方式,推薦接線方式:可以直接用電烙鐵焊接電機輸出引線,而不用接線端子,因為接線端子會增大電阻影響電機性能發(fā)揮,如果要經(jīng)常更換電機使用的話,可以采用接線端子,這樣方便更換電機接線。

規(guī)格參數(shù)

  1. 產(chǎn)品名稱: Arduino VNH5019直流電機驅(qū)動擴展板
  2. 產(chǎn)品貨號:RB-01C066
  3. 工作電壓范圍:5.5V- 24V
  4. 驅(qū)動芯片:VNH5019
  5. 驅(qū)動通道:2路
  6. 單通道連續(xù)輸出電流值:12A
  7. 單通道最大輸出電流值:30A
  8. 電流檢測值:0.14 V/A
  9. 最大PWM頻率:20KHZ
  10. 反向電壓保護模式:有

使用方法

VNH5019雙路驅(qū)動擴展板與arduino連接示意圖

RB-01C0661.jpg

VNH5019雙路驅(qū)動擴展板與其他微控制器連接示意圖

RB-01C0662.jpg

VNH5019雙路驅(qū)動擴展板原理圖

RB-01C0663.png

應(yīng)用例程

示例代碼

#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號電機轉(zhuǎn)速從零到最大速度,然后從最大速度反向,回零再過了約3秒,當(dāng)檢查電機故障和定期印刷電機電流的串行監(jiān)視器時。執(zhí)行電機2相同的過程在重復(fù)一遍。

產(chǎn)品相關(guān)推薦

購買地址:Arduino VNH5019直流電機驅(qū)動擴展板
相關(guān)資料1:相關(guān)手冊
相關(guān)資料2:程序庫文件