“SKU:RB-01C115 多模式電機驅(qū)動板”的版本間的差異

來自ALSROBOT WiKi
跳轉(zhuǎn)至: 導(dǎo)航、 搜索
(以“ ==產(chǎn)品概述== 產(chǎn)品為一個多功能驅(qū)動板,可以驅(qū)動電機、四線兩相步進電機、舵機,外觀是...”為內(nèi)容創(chuàng)建頁面)
 
第7行: 第7行:
 
# 外部供電范圍:7V - 35V
 
# 外部供電范圍:7V - 35V
 
# 外形特點:Arduino UNO 盾板
 
# 外形特點:Arduino UNO 盾板
?
# 外形尺寸:
+
# 外形尺寸:70 * 56mm
 
# 擴展接口
 
# 擴展接口
 
* 電機接口 * 2 個
 
* 電機接口 * 2 個
第19行: 第19行:
 
==接口示意圖==
 
==接口示意圖==
 
[[文件:RB01C11502.png|700px|縮略圖|居中]]
 
[[文件:RB01C11502.png|700px|縮略圖|居中]]
 +
* 接口說明:
 +
[[文件:RB01C11503.png|300px|縮略圖|左]]
 +
(1)Vin 接口<br/>
 +
當外部供電范圍在 7V - 12V 之間時,將此處連接,Arduino UNO 可以直接從電機驅(qū)動板上取電,默認為連接狀態(tài)。<br/>
 +
當外部供電范圍在 12V - 35V 之間時,需要將 Vin 斷開,Arduino UNO 控制器需要單獨供電,不能從電機驅(qū)動板上取電。<br/>
 +
當 Arduino UNO 控制器使用 DC 接口供電 7V - 12V 之間時,將此處連接,電機驅(qū)動板可以直接從 Arduino UNO 控制器上取電。<br/>
 +
 +
(2)SNS0、SNS1 接口<br/>
 +
將兩組排針分別連接時,A0、A1 接口會被占用,分別讀取 L298 的輸出電流。<br/>
 +
將兩組排針分別斷開時,A0 、 A1 不會被占用。<br/>
 +
 +
==使用方法==
 +
===驅(qū)動兩路電機===
 +
* 實驗硬件
 +
# 直流減速電機 * 2個
 +
# Arduino UNO 控制器 * 1個
 +
# 11.1V 2200mAh 鋰電池 * 1個
 +
 +
* 例子程序
 +
<pre style='color:blue'>#define PWA 3
 +
#define PWB 11
 +
#define DIRA 12
 +
#define DIRB 13
 +
#define BRAKEA 9
 +
#define BRAKEB 8               
 +
void setup(){
 +
  Serial.begin(9600);         
 +
  pinMode(PWA,OUTPUT);
 +
  pinMode(PWB,OUTPUT);
 +
  pinMode(DIRA,OUTPUT);
 +
  pinMode(DIRB,OUTPUT);
 +
  pinMode(BRAKEA,OUTPUT);
 +
  pinMode(BRAKEB,OUTPUT);
 +
}
 +
 +
void loop(){
 +
  head();
 +
  delay(3000);
 +
  back();
 +
  delay(3000);
 +
  left();
 +
  delay(3000);
 +
  right();
 +
  delay(3000);
 +
  breaka();
 +
  delay(3000);
 +
  stopt();
 +
  delay(3000);
 +
}
 +
 +
void head(){
 +
  analogWrite(PWA,180);
 +
  analogWrite(PWB,180);
 +
  digitalWrite(DIRA,HIGH);
 +
  digitalWrite(BRAKEA,LOW);
 +
  digitalWrite(DIRB,HIGH);
 +
  digitalWrite(BRAKEB,LOW);
 +
}
 +
 +
void back(){
 +
  analogWrite(PWA,180);
 +
  analogWrite(PWB,180);
 +
  digitalWrite(DIRA,LOW);
 +
  digitalWrite(BRAKEA,LOW);
 +
  digitalWrite(DIRB,LOW);
 +
  digitalWrite(BRAKEB,LOW);
 +
}
 +
 +
void left(){
 +
  analogWrite(PWA,180);
 +
  analogWrite(PWB,180);
 +
  digitalWrite(DIRA,HIGH);
 +
  digitalWrite(BRAKEA,LOW);
 +
  digitalWrite(DIRB,LOW);
 +
  digitalWrite(BRAKEB,LOW);
 +
}
 +
 +
void right(){
 +
  analogWrite(PWA,180);
 +
  analogWrite(PWB,180);
 +
  digitalWrite(DIRA,LOW);
 +
  digitalWrite(BRAKEA,LOW);
 +
  digitalWrite(DIRB,HIGH);
 +
  digitalWrite(BRAKEB,LOW);
 +
}
 +
 +
void breaka(){
 +
  analogWrite(PWA,180);
 +
  analogWrite(PWB,180);
 +
  digitalWrite(DIRA,HIGH);
 +
  digitalWrite(BRAKEA,HIGH);
 +
  digitalWrite(DIRB,HIGH);
 +
  digitalWrite(BRAKEB,HIGH);
 +
}
 +
 +
void stopt(){
 +
  analogWrite(PWA,0);
 +
  analogWrite(PWB,0);
 +
  digitalWrite(DIRA,LOW);
 +
  digitalWrite(BRAKEA,HIGH);
 +
  digitalWrite(DIRB,LOW);
 +
  digitalWrite(BRAKEB,HIGH);
 +
}</pre>
 +
 +
* 程序效果
 +
連接在A口和B口電機以下面的順序運動
 +
* A口電機順時針、B口電機逆時針
 +
* A口電機逆時針、B口電機順時針
 +
* A口、B口電機順時針
 +
* A口、B口電機順時針
 +
* A口、B口電機制動 - 電機指示燈全部亮起
 +
* A口、B口電機停止 - 電機指示燈全部熄滅
 +
 +
===驅(qū)動舵機===
 +
===驅(qū)動步進電機===
 +
===UART 接口測試===
 +
===IIC 接口測試===

2016年7月29日 (五) 12:00的版本

RB01C11501.png

目錄

產(chǎn)品概述

產(chǎn)品為一個多功能驅(qū)動板,可以驅(qū)動電機、四線兩相步進電機、舵機,外觀是 Arduino 盾板,排座設(shè)計,Arduino 控制器連接電機驅(qū)動板的同時,不影響傳感器擴展板的連接,板載串行、IIC等常用通信接口,電機轉(zhuǎn)向指示燈,解決 Arduino UNO 控制器 IO 接口驅(qū)動能力弱,不能直接驅(qū)動電機或大扭力舵機的問題,電機及外部供電接口采用防插反接頭,避免由于接線錯誤造成的產(chǎn)品損壞。

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

  1. 產(chǎn)品貨號:RB - 01C115
  2. 電機驅(qū)動芯片:L298P
  3. 外部供電范圍:7V - 35V
  4. 外形特點:Arduino UNO 盾板
  5. 外形尺寸:70 * 56mm
  6. 擴展接口
  • 電機接口 * 2 個
  • 外部供電接口 * 1 個
  • UART 接口 * 1 個
  • IIC 接口 * 1 個
  • 數(shù)字接口 * 14 個
  • 模擬接口 * 6 個
  1. 電源指示燈:紅色
  2. 電機轉(zhuǎn)向指示燈:4 個(紅色 * 2 個,綠色 * 2 個)

接口示意圖

RB01C11502.png
  • 接口說明:
RB01C11503.png

(1)Vin 接口
當外部供電范圍在 7V - 12V 之間時,將此處連接,Arduino UNO 可以直接從電機驅(qū)動板上取電,默認為連接狀態(tài)。
當外部供電范圍在 12V - 35V 之間時,需要將 Vin 斷開,Arduino UNO 控制器需要單獨供電,不能從電機驅(qū)動板上取電。
當 Arduino UNO 控制器使用 DC 接口供電 7V - 12V 之間時,將此處連接,電機驅(qū)動板可以直接從 Arduino UNO 控制器上取電。

(2)SNS0、SNS1 接口
將兩組排針分別連接時,A0、A1 接口會被占用,分別讀取 L298 的輸出電流。
將兩組排針分別斷開時,A0 、 A1 不會被占用。

使用方法

驅(qū)動兩路電機

  • 實驗硬件
  1. 直流減速電機 * 2個
  2. Arduino UNO 控制器 * 1個
  3. 11.1V 2200mAh 鋰電池 * 1個
  • 例子程序
#define PWA 3
#define PWB 11
#define DIRA 12
#define DIRB 13
#define BRAKEA 9
#define BRAKEB 8                 
void setup(){
  Serial.begin(9600);           
  pinMode(PWA,OUTPUT);
  pinMode(PWB,OUTPUT);
  pinMode(DIRA,OUTPUT);
  pinMode(DIRB,OUTPUT);
  pinMode(BRAKEA,OUTPUT);
  pinMode(BRAKEB,OUTPUT);
}

void loop(){
  head();
  delay(3000);
  back();
  delay(3000);
  left();
  delay(3000);
  right();
  delay(3000);
  breaka();
  delay(3000);
  stopt();
  delay(3000);
}

void head(){
  analogWrite(PWA,180);
  analogWrite(PWB,180);
  digitalWrite(DIRA,HIGH);
  digitalWrite(BRAKEA,LOW);
  digitalWrite(DIRB,HIGH);
  digitalWrite(BRAKEB,LOW);
}

void back(){
  analogWrite(PWA,180);
  analogWrite(PWB,180);
  digitalWrite(DIRA,LOW);
  digitalWrite(BRAKEA,LOW);
  digitalWrite(DIRB,LOW);
  digitalWrite(BRAKEB,LOW);
}

void left(){
  analogWrite(PWA,180);
  analogWrite(PWB,180);
  digitalWrite(DIRA,HIGH);
  digitalWrite(BRAKEA,LOW);
  digitalWrite(DIRB,LOW);
  digitalWrite(BRAKEB,LOW);
}

void right(){
  analogWrite(PWA,180);
  analogWrite(PWB,180);
  digitalWrite(DIRA,LOW);
  digitalWrite(BRAKEA,LOW);
  digitalWrite(DIRB,HIGH);
  digitalWrite(BRAKEB,LOW);
}

void breaka(){
  analogWrite(PWA,180);
  analogWrite(PWB,180);
  digitalWrite(DIRA,HIGH);
  digitalWrite(BRAKEA,HIGH);
  digitalWrite(DIRB,HIGH);
  digitalWrite(BRAKEB,HIGH);
}

void stopt(){
  analogWrite(PWA,0);
  analogWrite(PWB,0);
  digitalWrite(DIRA,LOW);
  digitalWrite(BRAKEA,HIGH);
  digitalWrite(DIRB,LOW);
  digitalWrite(BRAKEB,HIGH);
}
  • 程序效果

連接在A口和B口電機以下面的順序運動

  • A口電機順時針、B口電機逆時針
  • A口電機逆時針、B口電機順時針
  • A口、B口電機順時針
  • A口、B口電機順時針
  • A口、B口電機制動 - 電機指示燈全部亮起
  • A口、B口電機停止 - 電機指示燈全部熄滅

驅(qū)動舵機

驅(qū)動步進電機

UART 接口測試

IIC 接口測試