“SKU:RB-01C066 Arduino VNH5019直流電機驅動擴展板”的版本間的差異

來自ALSROBOT WiKi
跳轉至: 導航搜索
(以“ ==產品概述== Big Easy Driver步進電機驅動器為全新Sparkfun原裝進口產品,此款步進電機驅動板基于...”為內容創(chuàng)建頁面)
 
?例子程序
 
(未顯示1個用戶的1個中間版本)
第1行: 第1行:
?
[[文件:01C05901.jpg|457px|有框|右]]
+
[[文件:RB-01C066.jpg|500px|縮略圖|右]]
 
==產品概述==
 
==產品概述==
?
Big Easy Driver步進電機驅動器為全新Sparkfun原裝進口產品,此款步進電機驅動板基于A4988步進電機專用驅動芯片,可以驅動高達每相2A的雙極步進電機,它是一個斬波細分驅動器,默認為16微步模式,最大可以實現(xiàn)35V的峰值電壓并且板載5V/3.3V可調節(jié)選擇端。
+
Pololu VNH5019雙路大功率直流電機驅動擴展板,可以很容易插入到Arduino各種兼容控制器,如常用的Arduino UNO R3、Carduino、Seeeduino等,擴展板采用ST公司生產的VNH5019驅動芯片,工作電壓從5.5V到24V,每路提供12A大小的電流到30A的峰值電流,可謂是悍馬級直流電機驅動板。整板采用SMD表貼元件,體積小、重量輕,通過Arduino控制可以輕松控制兩個雙向、高功率直流電機。 板載上拉電阻和保護電阻和FET的反向電池保護。本擴展板默認IO接口設置不方便,也可以自定義映射Arduino引腳,此款驅動器簡單易用,性能與功率大大超越初學者所用L298系列驅動器。 此款擴展板,端子和排座散裝未焊接,愛好者可以自定義選擇接線方式,推薦接線方式:可以直接用電烙鐵焊接電機輸出引線,而不用接線端子,因為接線端子會增大電阻影響電機性能發(fā)揮,如果要經常更換電機使用的話,可以采用接線端子,這樣方便更換電機接線。
 
==規(guī)格參數(shù)==
 
==規(guī)格參數(shù)==
?
#產品名稱:Big Easy Driver步進電機驅動板
+
# 產品名稱: Arduino VNH5019直流電機驅動擴展板
?
#產品貨號:RB-01C059
+
# 產品貨號:RB-01C066
?
#雙極微步進驅動器
+
# 工作電壓范圍:5.5V- 24V
?
#每相最大驅動電流2A
+
# 驅動芯片:VNH5019
?
#最大驅動電壓35V
+
# 驅動通道:2路
?
#板載5V/3.3V可調節(jié)
+
# 單通道連續(xù)輸出電流值:12A
?
==引腳介紹==
+
# 單通道最大輸出電流值:30A
?
1.電機連接:連接四線步進電機,A端連接步進電機的一個線圈,B端連接步進電機的另一組線圈。<br/>
+
# 電流檢測值:0.14 V/A
?
2.供電:將電源輸入(8到30V直流)與M +連接,電源地與GND連接。<br/>
+
# 最大PWM頻率:20KHZ
?
3.ENABLE::當引腳接低電平時,驅動芯片工作、電機通電。當引腳接高電平時,驅動芯片仍然工作,但所有的電機驅動電路被禁用,所以沒有電流流到電機,電機不工作。<br/>
+
# 反向電壓保護模式:有
?
4.MS1, MS2, MS3:這些輸入都有20K歐姆的電阻,引腳設置方法見下表:<br/>
+
==接口介紹==
?
[[文件:01C05902.jpg|610px|有框|居中]]<br/>
+
VNH5019雙路驅動擴展板與arduino連接示意圖
?
5.RST: (Reset) 這些輸入都有20K歐姆的電阻。如果引腳輸入為低電平,電機驅動電路將關閉,電機復位。只有當這個輸入是高電平時將驅動芯片使電機驅動電路正常工作。<br/>
+
[[文件:RB-01C0661.jpg|700px|縮略圖|居中]]
?
6.SLEEP:將引腳輸入低電平時,驅動芯片進入低功耗模式(電機驅動電路關閉)。<br/>
+
與Arduino I/O 接口對應說明
?
7.VCC:這是從電壓調節(jié)器的輸出。<br/>
+
[[文件:RB-01C06601.png|700px|縮略圖|居中]]
?
8.GND:輸出電壓的接地連接。<br/>
+
VNH5019雙路驅動擴展板與其他微控制器連接示意圖
?
9.STEP:此引腳輸入每一個上升沿將使步進驅動推進由DIR輸入指定的方向運動一步。輸入的上升沿至少1us,下降沿至少1us。<br/>
+
[[文件:RB-01C0662.jpg|700px|縮略圖|居中]]
?
10.DIR:當接收到一個步進脈沖,驅動芯片看著這個輸入確定步進電機的方向。當輸入脈沖為高時,電機反時針方向旋轉,當輸入脈沖為低時,電機順時針轉動。<br/>
+
==應用例程==
?
11.PWR LED:板載黃色LED電源指示燈。<br/>
+
===例子程序===
?
==使用方法==
+
程序編譯上傳之前需要先下載庫文件鏈接:https://pan.baidu.com/s/1oWB04vKurlgMbpkVsfzbBA
?
[[文件:01C05903.jpg|500px|有框|居中]]
+
提取碼:84hu,將庫文件解壓后,放到Arduino軟件安裝路徑的libraries文件夾下,重新啟動Arduino IDE軟件,再進行例子程序的編譯,否則會造成程序編譯不成功問題。<br/>
?
上圖顯示了一個典型的連接(實際上,這顯示的是最小連接)一個控制板與一個步進電機和步進/方向信號源。當然,你可以將驅動板上的引腳連接到更多的單片機數(shù)字輸出引腳上,進行更多的控制。<br/>
+
<pre style='color:blue'>
 +
#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);
 +
  }
 +
}
 +
</pre>
 +
 
 +
===程序效果===
 +
這個例子的坡道1號電機轉速從零到最大速度,然后從最大速度反向,回零再過了約3秒,當檢查電機故障和定期印刷電機電流的串行監(jiān)視器時。執(zhí)行電機2相同的過程在重復一遍。
 
==產品相關推薦==
 
==產品相關推薦==
 
[[文件:erweima.png|230px|無框|右]]
 
[[文件:erweima.png|230px|無框|右]]
 
===產品購買地址===
 
===產品購買地址===
?
[http://item.taobao.com/item.htm?spm=a1z10.3-c.w4002-3667083713.9.7rkBJP&id=36553153689 Big Easy Driver 步進電機驅動板]<br/>
+
[http://www.alsrobot.cn/goods-503.html Arduino VNH5019直流電機驅動擴展板]<br/>
 
===周邊產品推薦===
 
===周邊產品推薦===
?
[https://item.taobao.com/item.htm?spm=a1z10.3-c.w4002-3667083713.9.7rsOOm&id=1764448057 雙H橋電機驅動板]<br/>
+
[http://www.alsrobot.cn/goods-47.html 雙H橋直流電機驅動板]<br/>
?
[https://item.taobao.com/item.htm?spm=a1z10.3-c.w4002-3667083713.18.7rsOOm&id=521084511532 42BYGHW609步進電機]<br/>
+
[http://www.alsrobot.cn/goods-529.html RoboClaw 2x5A 電機驅動板 (V4)]<br/>
 +
[http://www.alsrobot.cn/goods-530.html RoboClaw 電機驅動板 2x30A ]<br/>
 +
[http://www.alsrobot.cn/goods-631.html RoboClaw 電機驅動板 2x15A]<br/>
 
===相關問題解答===
 
===相關問題解答===
?
[http://v.youku.com/v_show/id_XNTgxNjc4MDQw.html Big Easy Driver v1.2 步進電機驅動]<br/>
+
[http://www.makerspace.cn/forum.php?mod=viewthread&tid=3294&fromuid=10780 VNH5019 電機驅動板的 電流檢測問題]<br/>
 
===相關學習資料===
 
===相關學習資料===
?
[https://cdn.sparkfun.com/datasheets/Robotics/BigEasyDriver_v16.pdf Big Easy Driver 步進電機驅動板電路原理圖]<br/>
 
?
[http://www.schmalzhaus.com/BigEasyDriver/BigEasyDriver_UserManal.pdf Sparkfun 官方產品介紹]<br/>
 
?
[http://dlnmh9ip6v2uc.cloudfront.net/datasheets/Robotics/A4988-Datasheet.pdf A4988芯片資料]<br/>
 
 
[http://www.makerspace.cn/portal.php 奧松機器人技術論壇]<br/>
 
[http://www.makerspace.cn/portal.php 奧松機器人技術論壇]<br/>
 +
[https://www.pololu.com/file/download/dual-vnh5019-motor-driver-shield-schematic-diagram.pdf?file_id=0J740 VNH5019直流電機驅動擴展板原理圖]<br/>
 +
[https://www.pololu.com/docs/0J49 VNH5019直流電機驅動擴展板官方英文版使用說明]<br/>
 +
[https://github.com/pololu/dual-vnh5019-motor-shield VNH5019庫文件官方下載地址]<br/>

2021年12月17日 (五) 16:48的最后版本

RB-01C066.jpg

目錄

產品概述

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

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

  1. 產品名稱: Arduino VNH5019直流電機驅動擴展板
  2. 產品貨號:RB-01C066
  3. 工作電壓范圍:5.5V- 24V
  4. 驅動芯片:VNH5019
  5. 驅動通道:2路
  6. 單通道連續(xù)輸出電流值: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

應用例程

例子程序

程序編譯上傳之前需要先下載庫文件鏈接:https://pan.baidu.com/s/1oWB04vKurlgMbpkVsfzbBA 提取碼:84hu,將庫文件解壓后,放到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秒,當檢查電機故障和定期印刷電機電流的串行監(jiān)視器時。執(zhí)行電機2相同的過程在重復一遍。

產品相關推薦

Erweima.png

產品購買地址

Arduino VNH5019直流電機驅動擴展板

周邊產品推薦

雙H橋直流電機驅動板
RoboClaw 2x5A 電機驅動板 (V4)
RoboClaw 電機驅動板 2x30A
RoboClaw 電機驅動板 2x15A

相關問題解答

VNH5019 電機驅動板的 電流檢測問題

相關學習資料

奧松機器人技術論壇
VNH5019直流電機驅動擴展板原理圖
VNH5019直流電機驅動擴展板官方英文版使用說明
VNH5019庫文件官方下載地址