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

來自ALSROBOT WiKi
跳轉至: 導航、 搜索
?使用方法
?實驗例程
 
(未顯示2個用戶的48個中間版本)
第1行: 第1行:
?
[[文件:RB01C11501.png|500px|縮略圖|右]]
+
[[文件:RB01C115001.png|500px|縮略圖|右]]
 
==產品概述==
 
==產品概述==
?
產品為一個多功能驅動板,可以驅動電機、四線兩相步進電機、舵機,外觀是 Arduino 盾板,排座設計,Arduino 控制器連接電機驅動板的同時,不影響傳感器擴展板的連接,板載串行、IIC等常用通信接口,電機轉向指示燈,解決 Arduino UNO 控制器 IO 接口驅動能力弱,不能直接驅動電機或大扭力舵機的問題,電機及外部供電接口采用防插反接頭,避免由于接線錯誤造成的產品損壞。
+
多模式電機驅動板為奧松最新研發(fā)的一款無需編程控制的大功率電機驅動板,可以同時驅動兩個直流電機。每個通道最大電流為 10A。輸入電壓范圍 6-24V,支持 5-18 節(jié)鋰電池供電。
 +
多模式電機驅動板有四種工作模式可供選擇,分別為:模擬輸入模式、R/C輸入模式 、簡易串口模式和封包話串口模式。通過板載撥碼開關不同方式的組合在不同模式下切換,實現機器人創(chuàng)意開發(fā)。多模式電機驅動板無需編程即可完成同時控制或單獨控制兩路直流電機的轉向和轉速,在機器人運動或者輪式移動平臺的開發(fā)上降低了開發(fā)難度和成本。一塊多模式電機驅動板及其豐富的功能,即可讓機器人創(chuàng)意變得更多可能。<br/>
 +
多模式驅動板具有以下特點:<br/>
 +
* 模式可獨立使用也可混合使用
 +
* 同步再生驅動
 +
* 開關頻率高(超出人耳聽力范圍)
 +
* 過熱和過流保護
 +
* 多種操作模式
 +
 
 
==規(guī)格參數==
 
==規(guī)格參數==
?
# 產品貨號:RB - 01C115
+
# 工作電壓:6V - 24V
?
# 電機驅動芯片:L298P
+
# 電機接口類型:KF2510 - 2P
?
# 外部供電范圍:7V - 35V
+
# 供電接口類型:KF2510 - 2P
?
# 外形特點:Arduino UNO 盾板
+
# 擴展接口類型:標準 3P 接口,間距2.54mm
?
# 外形尺寸:70 * 56mm
+
# 輸出信號:數字信號
?
# 擴展接口
+
# 電機控制通道:2個
?
* 電機接口 * 2 個
+
# 每通道最大電流:10A
?
* 外部供電接口 * 1 個
+
# 控制模式:模擬輸入模式、R/C模式、簡易的串口模式、封包話串口模式
?
* UART 接口 * 1 個
+
# 產品尺寸:72.747mm x47.244mm
?
* IIC 接口 * 1 個
+
# 固定孔尺寸:64.111mm x 38.608mm
?
* 數字接口 * 14 個
+
# 重量大?。?0g
?
* 模擬接口 * 6 個
+
?
# 電源指示燈:紅色
+
?
# 電機轉向指示燈:4 個(紅色 * 2 個,綠色 * 2 個)
+
?
==接口示意圖==
+
?
[[文件:RB01C11502.png|700px|縮略圖|居中]]
+
?
* 接口說明:
+
?
[[文件:RB01C11503.png|300px|縮略圖|左]]
+
?
(1)Vin 接口<br/>
+
?
當外部供電范圍在 7V - 12V 之間時,將此處連接,Arduino UNO 可以直接從電機驅動板上取電,默認為連接狀態(tài)。<br/>
+
?
當外部供電范圍在 12V - 35V 之間時,需要將 Vin 斷開,Arduino UNO 控制器需要單獨供電,不能從電機驅動板上取電。<br/>
+
?
當 Arduino UNO 控制器使用 DC 接口供電 7V - 12V 之間時,將此處連接,電機驅動板可以直接從 Arduino UNO 控制器上取電。<br/>
+
  
?
(2)SNS0、SNS1 接口<br/>
+
==接口定義==
?
將兩組排針分別連接時,A0、A1 接口會被占用,分別讀取 L298 的輸出電流。<br/>
+
接口功能示意圖:
?
將兩組排針分別斷開時,A0 、 A1 不會被占用。<br/>
+
[[文件:01C115001.png|600px|縮略圖|居中]]
 +
* GND:電源負極
 +
* VIN:電源正極
 +
* M1A:電機 1 正向接口
 +
* M1B:電機 1 反向接口
 +
* M2A:電機 2 正向接口
 +
* M2B:電機 2 反向接口
 +
* S1:信號 1 輸入端
 +
* S2:信號 2 輸入端
  
 +
==操作模式功能簡介==
 +
1.模擬輸入模式 <br/>
 +
模擬輸入模式的功能可以在 S1 和 S2 信號接口上,連接一個或者兩個模擬輸入傳感器(例如:電位計模塊),實現使用模擬輸入傳感器來控制電機的轉速和轉向。<br/>
 +
模擬輸入電壓范圍是 0 - 5V。此接口使得多模式電機驅動板可以通過電位計或者單片機輸出的 PWM 信號來控制。<br/>
 +
2.R/C 輸入模式<br/>
 +
R/C 輸入模式可以使用兩個標準的 R/C 通道,并通過接收的信號控制電機的轉速和方向。<br/>
 +
3.簡易的串口輸入模式<br/>
 +
簡易的串口模式使用 TTL 信號來設定電機速度和方向。這種模式可以連接到 PC 或者支持串口通信的單片機開發(fā)板。<br/>
 +
簡易的串口模式使用的是8N1串口協(xié)議(8位數據字節(jié),無奇偶校驗,1停止位)來控制馬達的速度和方向。<br/>
 +
TTL 邏輯低電平為 0V,高電平為 5V。簡易串口模式的控制為單向的控制,即多模式電機驅動板只能作為被控對象,控制器件的 TX 連接多模式驅動板的 S1,RX 不進行連接。<br/>
 +
4.封包化串口輸入模式<br/>
 +
封包化串口模式使用多字節(jié)串口指令控制兩路馬達的速度和方向,通信協(xié)議為8N1。
 +
TTL 邏輯低電平為 0V,高電平為 5V。與簡易串口模式相同也是單向控制,即多模式電機驅動板只能作為被控對象,控制器件的 TX 連接多模式驅動板的 S1,RX 不進行連接。<br/>
 +
6.鋰電池保護模式<br/>
 +
通電前,將 DIP 開關第 3 位撥至“0”,將啟用鋰電電池保護功能。<br/>
 +
通電后“Status1”LED 閃爍的次數表示模塊探測到的鋰電電池組內部的電池個數。<br/>
 +
鋰電電池保護功能將即時檢測每節(jié)電池的電壓,當單節(jié)鋰電池電壓低于 3V 時,多模式電機驅動板將自動切斷電源,停止耗電,達到保護電池組的效果。<br/>
 +
'''<big>
 +
注意:
 +
* 鋰電電池組在單節(jié)電池電壓低于 3V 時,電池組充電能力會下降。
 +
* 當電壓低于 2V 時,電池組將徹底喪失充電能力。這一點和鎳鉻、鎳氫電池是不一樣的。
 +
* 在多模式電機驅動板自動斷電后,模塊仍然會消耗少量電量,因此在自動斷電后,應當立即取下電池組以免損壞電池組。
 +
* 當使用非鋰電電源供電時,DIP 開關第3 位應撥至“1”
 +
</big>'''
 
<br/>
 
<br/>
?
<br/>
 
?
<br/><br/><br/>
 
?
==使用方法==
 
?
===驅動兩路電機===
 
?
* 實驗硬件
 
?
# 直流減速電機 * 2個
 
?
# Arduino UNO 控制器 * 1個
 
?
# 7.4V 1200mAh 鋰電池 * 1個
 
?
# Arduino 程序下載線 * 1條
 
  
?
* 實物連接圖
+
==使用例程==
?
[[文件:RB01C11504.png|600px|縮略圖|居中]]
+
'''說明:這里所說的撥至“1”是指將模式選擇開關的相應位撥動到“ON”端,所說的波至“0”,是指將模式選擇開關的相應位波動到“數字”端'''
?
* 例子程序
+
===模擬輸入模式===
?
<pre style='color:blue'>#define PWA 3
+
====模式設置====
?
#define PWB 11
+
步驟一:模擬輸入模式選擇 <br/>
?
#define DIRA 12
+
模式選擇開關第 1、2 位為工作模式切換開關,選擇模擬輸入工作模式:
?
#define DIRB 13
+
* 將模式選擇開關的第 1 位撥至“1”
?
#define BRAKEA 9
+
* 將模式選擇開關的第 2 位撥至“ 1”,啟用模擬信號控制模式。<br/>
?
#define BRAKEB 8               
+
說明:為達到最佳效果,信號源的輸出抗阻應當小于10KΩ。如果使用電位器/分壓器產生信號源,推薦使用1 KΩ、5KΩ 或者10 KΩ 的線性電阻分壓器。<br/>
?
void setup(){
+
模擬信號控制模式下電機轉向:<br/>
?
  Serial.begin(9600);         
+
* 輸入端子 S1 S2 上的電位等于 2.5V,馬達為靜止
?
  pinMode(PWA,OUTPUT);
+
* 輸入端子 S1 S2 上的電位大于 2.5V,馬達為正轉
?
  pinMode(PWB,OUTPUT);
+
* 輸入端子 S1 S2 上的電位小于 2.5V,馬達為反轉
?
  pinMode(DIRA,OUTPUT);
+
[[文件:01C115002.png|500px|縮略圖|居中]]
?
  pinMode(DIRB,OUTPUT);
+
?
  pinMode(BRAKEA,OUTPUT);
+
?
  pinMode(BRAKEB,OUTPUT);
+
?
}
+
  
?
void loop(){
+
步驟二:獨立驅動或差速驅動模式選擇 <br/>
?
  head();
+
模式選擇開關第 4 位為混合驅動和獨立驅動的切換開關
?
  delay(3000);
+
* 撥至“0”為獨立驅動模式,即 S1 獨立控制 M1,S2 獨立控制 M2
?
  back();
+
[[文件:01C115003.png|500px|縮略圖|居中]]
?
  delay(3000);
+
* 撥至“1”為混合驅動(差速驅動)模式,在此模式下,S1 控制油門(前進、后退、剎車),S2 控制方向。此模式下,控制油門的同時,也可以控制車體的轉向,更具有差速傳動的效果。
?
  left();
+
[[文件:01C115004.png|300px|縮略圖|居中]]
?
  delay(3000);
+
?
  right();
+
?
  delay(3000);
+
?
  breaka();
+
?
  delay(3000);
+
?
  stopt();
+
?
  delay(3000);
+
?
}
+
  
?
void head(){
+
步驟三:線性操控或指數操控模式選擇<br/>
?
  analogWrite(PWA,180);
+
模式選擇開關第 5 位為線性操控和指數操控的切換開關
?
  analogWrite(PWB,180);
+
* 撥至“0”為指數操控模式,在此模式下,馬達在低速旋轉時反映相對平滑,在高速旋轉時反應靈敏。此功能在搭載高性能馬達時能凸顯其優(yōu)越的提速性能和低速操控性能。
?
  digitalWrite(DIRA,HIGH);
+
* 撥至“1”為線性操控模式,在此模式下,馬達的速度與輸入信號成線性比例。
?
  digitalWrite(BRAKEA,LOW);
+
?
  digitalWrite(DIRB,HIGH);
+
?
  digitalWrite(BRAKEB,LOW);
+
?
}
+
  
?
void back(){
+
步驟四:倍靈敏度設置<br/>
?
  analogWrite(PWA,180);
+
模式選擇開關第 6 位為靈敏度設置開關
?
  analogWrite(PWB,180);
+
* 撥至“0”時,馬達對控制信號的反應將是正常模式下的 4 倍
?
  digitalWrite(DIRA,LOW);
+
* 撥至“1”時,馬達對控制信號的反應將設置為正常模式
?
  digitalWrite(BRAKEA,LOW);
+
?
  digitalWrite(DIRB,LOW);
+
?
  digitalWrite(BRAKEB,LOW);
+
?
}
+
  
?
void left(){
+
關于脈寬調制(PWM)產生的模擬信號的連接說明如圖所示,如果您的模擬信號的信號源是由單片機通過脈寬調制(PWM)產生的,建議單片機的輸出端搭建一個 RC 濾波電路。推薦使用1KHz 以上的脈寬調制。<br/>
?
  analogWrite(PWA,180);
+
[[文件:01C115005.png|400px|縮略圖|居中]]
?
  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);
+
(1)1 * [http://m.gharee.com/goods-784.html 多模式電機驅動板]<br/>
?
  digitalWrite(BRAKEA,LOW);
+
(2)2 * [http://m.gharee.com/goods-191.html 直流減速電機]<br/>
?
  digitalWrite(DIRB,HIGH);
+
(3)1 * [http://m.gharee.com/goods-728.html 滑條變阻器]<br/>
?
  digitalWrite(BRAKEB,LOW);
+
(4)1 * [http://m.gharee.com/goods-167.html 旋轉角度電位計]<br/>
?
}
+
(5)1 * [http://m.gharee.com/goods-779.html 7.4V 鋰電池]<br/>
 +
(6)2 * [http://m.gharee.com/goods-786.html 3P 傳感器連接線]<br/>
 +
* 實驗軟件
 +
無需上位機軟件支持
 +
* 硬件連接
 +
[[文件:01C115100.png|683px|縮略圖|居中]]
 +
* 模式設置
 +
方式1:獨立驅動、線性操控<br/>
 +
模式設置開關:110011
 +
[[文件:01C115101.png|200px|縮略圖|居中]]
 +
方式2:差速驅動、指數操控<br/>
 +
模式設置開關:110101
 +
[[文件:01C115102.png|289px|縮略圖|居中]]
  
?
void breaka(){
+
====實驗例程二====
?
  analogWrite(PWA,180);
+
* 實驗目的:使用 Arduino UNO 輸出 PWM 信號控制電機的轉速和轉向
?
  analogWrite(PWB,180);
+
 
?
  digitalWrite(DIRA,HIGH);
+
* 使用硬件
?
  digitalWrite(BRAKEA,HIGH);
+
(1)1 * [http://m.gharee.com/goods-784.html 多模式電機驅動板]<br/>
?
  digitalWrite(DIRB,HIGH);
+
(2)2 * [http://m.gharee.com/goods-191.html 直流減速電機]<br/>
?
  digitalWrite(BRAKEB,HIGH);
+
(3)1 * [http://m.gharee.com/goods-546.html Starduino UNO R3 控制器]<br/>
 +
(4)1 * [http://m.gharee.com/goods-90.html USB 數據線]<br/>
 +
(5)1 * [http://m.gharee.com/goods-779.html 7.4V 鋰電池]<br/>
 +
(6)2 * [http://m.gharee.com/goods-196.html 3P 傳感器連接線]<br/>
 +
* 實驗軟件:Arduino IDE 1.8.1
 +
* 硬件連接
 +
注意:這里 Arduino 是使用多模式電機驅動板的 5V 輸出接口來供電的<br/>
 +
S1 連接 Arduino 控制器的 D9<br/>
 +
S2 連接 Arduino 控制器的 D10<br/>
 +
[[文件:01C115103.png|600px|縮略圖|居中]]
 +
* 模式設置第 1 種
 +
獨立驅動、線性操控<br/>
 +
模式設置開關:110011
 +
[[文件:01C115101.png|200px|縮略圖|居中]]
 +
* 例子程序
 +
<pre style='color:blue'>#define S1 9
 +
#define S2 10
 +
#define speed_forward 50
 +
#define speed_back 200
 +
#define stop_value 128
 +
void setup() {
 
}
 
}
  
?
void stopt(){
+
void loop() {
?
  analogWrite(PWA,0);
+
      analogWrite(S1,speed_forward);
?
  analogWrite(PWB,0);
+
      analogWrite(S2,speed_forward);
?
  digitalWrite(DIRA,LOW);
+
      delay(1000);
?
  digitalWrite(BRAKEA,HIGH);
+
      analogWrite(S1,stop_value);
?
  digitalWrite(DIRB,LOW);
+
      analogWrite(S2,stop_value);
?
  digitalWrite(BRAKEB,HIGH);
+
      delay(1000);
 +
      analogWrite(S1,speed_back);
 +
      analogWrite(S2,speed_back);
 +
      delay(1000);
 +
      analogWrite(S1,stop_value);
 +
      analogWrite(S2,stop_value);
 +
      delay(1000);
 
}</pre>
 
}</pre>
 +
* 效果說明
 +
兩個直流減速電機,先同時正轉,然后同時停止,再同時反轉,再同時停止,以此效果循環(huán)。
  
?
* 程序效果
+
===R/C舵機信號控制模式===
?
連接在A口和B口電機以下面的順序運動
+
R/C 舵機信號控制模式的信號源是可以是一般的無線電遙控玩具上的舵機控制模塊,或者是任意的能夠產生玩具舵機/伺服馬達控制信號的信號源,或者是單片機產生的舵機控制脈沖信號。<br/>
?
* A口電機順時針、B口電機逆時針
+
====模式設置====
?
* A口電機逆時針、B口電機順時針
+
1.1、選擇為 R/C 信號控制模式
?
* A口、B口電機順時針
+
模式選擇開關的第 1 、2 位為模式切換開關,通電前,設置模式選擇開關
?
* A口、B口電機順時針
+
* 第 1 位撥至“0”
?
* A口、B口電機制動 - 電機指示燈全部亮起
+
* 第 2 位撥至“1”,將啟用 R/C 舵機信號控制模式。
?
* A口、B口電機停止 - 電機指示燈全部熄滅
+
[[文件:01C115006.png|400px|縮略圖|居中]]
  
?
===驅動舵機===
+
1.2、獨立驅動/差速驅動選擇
?
* 準備硬件
+
模式選擇開關第 4 位為混合驅動和獨立驅動的切換開關
?
# 金屬齒舵機 * 1個
+
* 通常情況下,如果是直接使用玩具遙控車的手柄和接收模塊來控制車體,應當將開關撥至“1”使用混合驅動(差速驅動)模式
?
# Arduino UNO 控制器 * 1個
+
* 將控制油門的舵機輸出接在 S1 上用于控制油門(前進、后退、剎車)
?
# 7.4V 1200mAh 鋰電池 * 1個
+
* 控制方向的舵機輸出接在 S2 上用于控制方向。此功能高特別適用于適用現有的玩具無線遙控收發(fā)裝置遙控差速驅動的小車。<br/>
?
# Arduino 程序下載線 * 1條
+
* 如果想使用獨立驅動模式,需將開關 4 撥至“0”,即 S1 獨立控制 M1,S2 獨立控制 M2。<br/>
?
* 硬件連接
+
?
[[文件:RB01C11505.png|600px|縮略圖|居中]]
+
  
?
* 例子程序
+
1.3、線性操控/指數操控選擇<br/>
 +
模式選擇開關第 5 位為線性操控和指數操控的切換開關
 +
* 撥至“0”為指數操控模式,在此模式下,馬達在低速旋轉時反映相對平滑,在高速旋轉時反應靈敏,此功能在搭載高性能馬達時能凸顯其優(yōu)越的提速性能和低速操控性能。
 +
* 撥至“1”為線性操控模式,即馬達的速度與輸入信號成線型比例。
  
?
<pre style='color:blue'>#include <Servo.h>  
+
1.4、信號丟失保險與自動校準功能<br/>
?
+
模式選擇開關第 6 位為設置是否打開信號丟失保險與自動校準功能
?
Servo myservo; 
+
* 正常情況下,模式選擇開關第 6 位應至于“0”,通電后模塊將啟用自動校準,使得模塊的控制范圍和舵機控制器的可控范圍相互對應以達到最好的控制效果。<br/>
?
+
與此同時,模塊還將使“信號丟失斷電保護”有效。即,當控制信號丟失或出錯的時候自動停止馬達的旋轉。<br/>
?
int pos = 0; 
+
* 模式選擇開關第 6 位應至于“1”時,信號丟失保險和自動校準功能無效。如果控制信號不穩(wěn)定,最好不要停用此功能,以免因信號丟失造成失控。<br/>
?
+
?
void setup()
+
?
{
+
?
  myservo.attach(10); 
+
?
}
+
?
+
?
void loop()
+
?
{
+
?
  for(pos = 0; pos <= 180; pos += 1) 
+
?
  {                               
+
?
    myservo.write(pos);           
+
?
    delay(15);                   
+
?
  }
+
?
  for(pos = 180; pos>=0; pos-=1) 
+
?
  {                               
+
?
    myservo.write(pos);         
+
?
    delay(15);                 
+
?
  }
+
?
}
+
?
</pre>
+
  
?
* 程序效果
+
====實驗例程====
?
連接在 D10 引腳的舵機,從0度開始順時針旋轉180度,然后再逆時針旋轉180度,循環(huán)執(zhí)行。
+
* 實驗目的:使用六通道遙控器控制兩個電機的正反轉
?
+
* 實驗硬件
?
===UART 接口測試===
+
(1)2 * [http://m.gharee.com/goods-191.html 直流減速電機]<br/>
?
* 準備硬件
+
(2)1 * [http://m.gharee.com/goods-409.html 6 通道遙控器]<br/>
?
# LCD1602 串行液晶 * 1個
+
(3)1 * [http://m.gharee.com/goods-784.html 多模式電機驅動板]<br/>
?
# Arduino UNO 控制器 * 1個
+
(4)1 * [http://m.gharee.com/goods-779.html 7.4V 鋰電池]<br/>
?
# 7.4V 1200mAh 鋰電池 * 1個
+
(5)2 * [http://m.gharee.com/goods-196.html 3P 傳感器連接線]<br/>
?
# Arduino 程序下載線 * 1條
+
* 實驗軟件
?
# 4P 傳感器連接線 * 1個
+
無需上位機軟件支持
 +
 
 +
* 模式選擇
 +
模式設置撥碼開關為:010110 - RC模式,差速驅動,線性操控,防信號丟失
 +
[[文件:01C115104.png|220px|縮略圖|居中]]
  
 
* 硬件連接
 
* 硬件連接
?
注意接線時,串行液晶的TX,連接控制器的RX;串行液晶RX,連接控制器TX
+
(1)多模式電機驅動板 S1 連接遙控器接收機的 CH2<br/>
?
[[文件:RB01C11506.png|600px|縮略圖|居中]]
+
(2)多模式電機驅動板 S2 連接遙控器接收機的 CH1<br/>
 +
[[文件:01C115105.png|650px|縮略圖|居中]]
  
?
* 例子程序
+
===簡易串口控制模式===
?
注意:程序上傳時,不能連接 LCD1602 串行液晶
+
====模式簡介====
?
<pre style='color:blue'>void setup()
+
* 簡易串口 TTL 控制模式使用的是 8N1 串口協(xié)議(8 位數據字節(jié),無奇偶校驗,1 停止位)控制馬達的速度和方向
?
{
+
* TTL 邏輯電平為0V,5V
?
Serial.begin(9600);                //設置波特率為 9600
+
* 簡易串口 TTL 控制為單向的控制。
?
Serial.print("$CLEAR\r\n");            //清屏
+
* 與上位機建立連接:
?
}
+
(1)如果使用 USB-TTL 轉接線或者單片機的輸出,TXD 端口可以直接接入模塊的 S1 端子,RXD 端口不接線。<br/>
?
void loop()
+
(2)如果使用臺式電腦的 RS-232 串行通訊端口,需要將 RS-232 的邏輯電平轉為 0V,5V 的 TTL 電平。通常情況下,使用“MAX232”或者“MAX202”芯片加5 個外部電容就可以實現電平轉換。
?
{
+
* 上位機的 TXD 端同時可以接入多個模塊。<br/>
?
Serial.print("$GO 1 4\r\n");            //顯示的地址為第 1 行第 4 列
+
[[文件:01C115007.png|400px|縮略圖|居中]]
?
Serial.print("$PRINT Welcome to\r\n"); //打印字符 Welcome to
+
?
Serial.print("$GO 2 1\r\n");            //顯示的地址為第 2 行第 1 列
+
?
Serial.print("$PRINT www.robotbase.cn\r\n");//打印字符 www.robotbase.cn
+
?
}</pre>
+
  
?
* 程序效果
+
====模式選擇====
?
將程序上傳至 UNO 控制器后,連接電機驅動板和串行液晶,液晶第一行顯示"Welcome to",第二行顯示"www.robotbase.cn"
+
1、簡單串口模式設置
 +
通電前,將模式選擇開關的第 1 位撥至“1”,第 2 位撥至“0”,可以啟用簡易串口 TTL 控制模式。<br/>
 +
[[文件:01C115008.png|400px|縮略圖|居中]]
  
?
===IIC 接口測試===
+
2、串口波特率設置
?
* 準備硬件
+
通過模式選擇開關的第 4 位和第 5 位可以設置通訊波特率:<br/>
?
# 4 - Digital Display * 1個
+
* 1 1:Baud = 2400;
?
# Arduino UNO 控制器 * 1個
+
* 0 1:Baud = 9600;
?
# 7.4V 1200mAh 鋰電池 * 1個
+
* 1 0:Baud = 19.2k;
?
# Arduino 程序下載線 * 1條
+
* 0 0:Baud = 38.4k
?
# 4P 傳感器連接線 * 1個
+
通電后,Power LED 點亮,亮度較暗,待模塊正確接收到串口數據后,Power LED 亮度會明顯變強,表示模塊已經能正確接收數據了。<br/>
 +
[[文件:01C115009.png|400px|縮略圖|居中]]
 +
 
 +
3、控制方向和速度<br/>
 +
方式1:一對一控制
 +
與 PC 建立連接后,用任何串口調試工具都可以控制本模塊。將 PC 的串口調試工具的 COM 口和波特率設置與模塊一致后,發(fā)送十六進制(HEX)數即可控制馬達的速度和方向。
 +
控制分辨率為 7 位(7-bit,2^7 = 128 擋分辨率);
 +
* 十六進制對應的十進制數字“1”至“127”控制 M1 通道
 +
:HEX“01”對應十進制“1”為反轉極限速度
 +
:HEX“40”對應十進制“64”為停止/剎車
 +
:HEX“7F”對應十進制“127”為正轉極限速度
 +
* 十六進制對應的十進制數字“128”至“255”控制M2 通道
 +
:HEX“80”對應十進制“128”為反轉極限速度
 +
:HEX“C0”對應十進制“192”為停止/剎車
 +
:HEX“FF”對應十進制“255”為正轉極限速度
 +
:HEX“00”對應十進制“0”為兩路同時停止/剎車。<br/>
 +
如果發(fā)送串口指令后,Power LED 熄滅并且重新點亮后亮度較暗,這說明模塊因電源饋電或電源輸出不穩(wěn)而復位了。
 +
解決方法:<br/>
 +
1. 給電池充電;<br/>
 +
2. 使用更穩(wěn)定的電源適配器(電流輸出能力強的)。
 +
 
 +
方式2:一對多控制
 +
當要連接多個馬達驅動模塊到同一串行端口時:<br/>
 +
將 DIP 開關第 6 位撥至“0”,這樣設置的情況下,多模式電機驅動板的 S2 端子會做為數據接收的“使有效”(Enable)輸入。<br/>
 +
當 S2 端子輸入高電平(5V)時,模塊可以接收新指令,當 S2 端子輸入低電平(0V)時,模塊拒絕接收新指令。<br/>
 +
 
 +
====實驗例程====
 +
* 實驗目的:使用串口助手控制電機的轉動
 +
* 實驗硬件
 +
(1)1 * [http://m.gharee.com/goods-784.html 多模式電機驅動板]<br/>
 +
(2)2 * [http://m.gharee.com/goods-191.html 直流減速電機]<br/>
 +
(3)1 * [http://m.gharee.com/goods-162.html FT232 USB 轉串口模塊]<br/>
 +
(4)1 * [http://m.gharee.com/goods-90.html USB 數據線]<br/>
 +
(5)1 * [http://m.gharee.com/goods-779.html 7.4V 鋰電池]<br/>
 +
 
 +
* 實驗軟件:
 +
(1)串口調試助手<br/>
 +
下載地址:鏈接:https://pan.baidu.com/s/1CPX8BXyhYS61hWguxrzcsg
 +
提取碼:vsjp
 +
 
 +
(2)FT232 驅動程序<br/>
 +
鏈接:https://pan.baidu.com/s/1ahOse5hV9HhiJGkHYOtOsg
 +
提取碼:adg0
  
 
* 硬件連接
 
* 硬件連接
?
[[文件:RB01C11507.png|600px|縮略圖|居中]]
+
[[文件:01C115600.png|600px|縮略圖|居中]]
?
* 例子程序
+
?
<pre style='color:blue'>#include <EEPROM.h>
+
?
#include <TimerOne.h>
+
?
#include <avr/pgmspace.h>
+
?
#include "TM1637.h"
+
?
#define ON 1
+
?
#define OFF 0
+
  
?
int8_t TimeDisp[] = {0x00,0x00,0x00,0x00};
+
* 實驗效果
?
unsigned char ClockPoint = 1;
+
如圖所示,對串口通信軟件進行設置,注意:要選擇成 HEX 發(fā)送模式
?
unsigned char Update;
+
[[文件:01C115601.png|600px|縮略圖|居中]]
?
unsigned char microsecond_10 = 0;
+
例如:發(fā)送“7F”,連接在 M1 通道的電機會以最大的速度正向旋轉
?
unsigned char second;
+
?
unsigned char _microsecond_10 = 0;
+
?
unsigned char _second;
+
?
unsigned int eepromaddr;
+
?
boolean Flag_ReadTime;
+
  
?
#define CLK A5   
+
===包格式串口控制模式===
?
#define DIO A4
+
====模式介紹====
?
TM1637 tm1637(CLK,DIO);
+
* 包格式串口 TTL 控制模式使用多字節(jié)串口指令控制兩路馬達的速度和方向
 +
* 通信協(xié)議為 8N1
 +
* TTL 邏輯電平為0V,5V
 +
* 與簡易串口 TTL 控制同樣是單向的控制,即上位機的 TXD 接 S1,RXD 不接線 <br/>
  
?
void setup()
+
====使用方法====
?
{
+
1.與上位機建立連接:<br/>
?
  Serial.begin(9600);
+
* 如果使用 USB-TTL 轉接線或者單片機的輸出,TXD 端口可以直接接入模塊的 S1 端子,RXD 端口不接線。<br/>
?
  tm1637.set(BRIGHT_TYPICAL);
+
* 如果使用臺式電腦的 RS-232 串行通訊端口,需要將 RS-232 的邏輯電平轉為 0V,5V 的 TTL 電平。通常情況下,使用“MAX232”或者“MAX202”芯片加5 個外部電容就可以實現。
?
  tm1637.init();
+
* TXD 端同時可以接入多個模塊。<br/>
?
  Timer1.initialize(10000);
+
?
  Timer1.attachInterrupt(TimingISR);
+
?
  Serial.println("Please send command to control the stopwatch:");
+
?
  Serial.println("S - start");
+
?
  Serial.println("P - pause");
+
?
  Serial.println("L - list the time");
+
?
  Serial.println("W - write the time to EEPROM ");
+
?
  Serial.println("R - reset");
+
?
}
+
?
void loop()
+
?
{
+
?
  char command;
+
?
  command = Serial.read();
+
?
  switch(command)
+
?
  {
+
?
    case 'S':stopwatchStart();Serial.println("Start timing...");break;
+
?
    case 'P':stopwatchPause();Serial.println("Stopwatch was paused");break;
+
?
    case 'L':readTime();break;
+
?
    case 'W':saveTime();Serial.println("Save the time");break;
+
?
    case 'R':stopwatchReset();Serial.println("Stopwatch was reset");break;
+
?
    default:break;
+
?
  }
+
?
  if(Update == ON)
+
?
  {
+
?
    TimeUpdate();
+
?
    tm1637.display(TimeDisp);
+
?
  }
+
?
}
+
  
?
void TimingISR()
+
====模式配置====
?
{
+
1、包串口控制模式 <br/>
?
  microsecond_10 ++;
+
通電前,將模式選擇開關第 1 位撥至“0”,第 2 位撥至“0”,將啟用包格式串口 TTL 控制模式。<br/>
?
  Update = ON;
+
首先需要在主機發(fā)送十進制數字(DEC)“170”,發(fā)送后模塊將自動選擇通訊速率。<br/>
?
  if(microsecond_10 == 100){
+
'''注意:通電后,必須先輸入十進制數字“170”,模塊在自動調整通訊速率以后才能正確接收控制指令。'''<br/>
?
    second ++;
+
 
?
    if(second == 60)
+
2、串口發(fā)包格式 <br/>
?
    {
+
主機發(fā)包格式(十進制):AAA BBB CCC DDD<br/>
?
      second = 0;
+
其中:<br/>
?
    }
+
AAA 為模塊ID,輸入范圍:(DEC) 128 至 135;<br/>
?
    microsecond_10 = 0; 
+
BBB 為控制指令代碼,輸入范圍:(DEC) 000 至 013;<br/>
?
  }
+
CCC 為控制指令參數,輸入范圍:(按控制指令代碼而定,請見下文);<br/>
?
  ClockPoint = (~ClockPoint) & 0x01;
+
DDD 為校驗位字節(jié),計算方法:(AAA+BBB+CCC) & 0b01111111。<br/>
?
  if(Flag_ReadTime == 0)
+
 
?
  {
+
設置模塊ID (AAA)<br/>
?
    _microsecond_10 = microsecond_10;
+
多模式電機驅動板模塊 ID 是通過模式選擇開關第 4 位、第 5 位、第 6 位設置的:<br/>
?
    _second = second;
+
1 1 1: ID = 128;<br/>
?
  }
+
0 1 1: ID = 129;<br/>
?
}
+
1 0 1: ID = 130;<br/>
?
void TimeUpdate(void)
+
0 0 1: ID = 131;<br/>
?
{
+
1 1 0: ID = 132;<br/>
?
  if(ClockPoint)tm1637.point(POINT_ON);
+
0 1 0: ID = 133;<br/>
?
  else tm1637.point(POINT_ON);  
+
1 0 0: ID = 134;<br/>
?
  TimeDisp[2] = _microsecond_10 / 10;
+
0 0 0: ID = 135;<br/>
?
  TimeDisp[3] = _microsecond_10 % 10;
+
如圖所示:
?
  TimeDisp[0] = _second / 10;
+
[[文件:01C115437.png|437px|縮略圖|居中]]
?
  TimeDisp[1] = _second % 10;
+
控制命令代碼和控制指令參數設置注解 (BBB + CCC)<br/>
?
  Update = OFF;
+
(1)參數 BBB:000 高分辨率控制 M1 通道正轉。
?
}
+
參數 CCC 設置范圍:000 至 127
?
void stopwatchStart()//timer1 on
+
* 000 為停止
?
{
+
* 127 為極速;
?
  Flag_ReadTime = 0;
+
(2)參數 BBB:001 高分辨率控制 M1 通道反轉。
?
  TCCR1B |= Timer1.clockSelectBits;
+
參數 CCC 設置范圍:000 至 127
?
}
+
* 000 為停止
?
void stopwatchPause()
+
* 127 為極速;
?
{
+
(3)參數 BBB:002 設置模塊掉電檢測功能,如果電池輸入電壓低于設定的參數,模塊將關閉所有輸出,停止為馬達供電。
?
  TCCR1B &= ~(_BV(CS10) | _BV(CS11) | _BV(CS12));
+
此設置將不會被永久地記錄在模塊上,因此每次斷電后,該設置將自動復位。
?
}
+
參數CCC 設置范圍:000 至120,
?
void stopwatchReset()
+
* 參數設定值和掉電檢測電壓關系式:
?
{
+
:設定參數 = (掉電檢測電壓 - 6) * 5
?
  stopwatchPause();
+
(4)參數 BBB:003 設置模塊的高壓檢測斷電,輸入電壓高于設定值時,模塊自動切斷通道輸出。
?
  Flag_ReadTime = 0;
+
* 參數設定值和高壓檢測電壓關系式:設定參數 = 高壓檢測電壓 * 5.12
?
  _microsecond_10 = 0;
+
此功能僅適用于用變壓器供電時保護變壓器用,如果采用電池供電,則不必使用此功能呢。此設置將不會被永久地記錄在模塊上,因此每次斷電后,該設置將自動復位;
?
  _second = 0;
+
(5)參數 BBB:004 高分辨率控制 M2 通道正轉。
?
  microsecond_10 = 0;
+
參數 CCC 設置范圍:000 至 127
?
  second = 0;
+
* 000 為停止
?
  Update = ON;
+
* 127 為極速;
?
}
+
(6)參數 BBB:005 高分辨率控制 M2 通道反轉。
?
void saveTime()
+
參數 CCC 設置范圍:000 至127
?
{
+
* 000 為停止
?
  EEPROM.write(eepromaddr ++,microsecond_10);
+
* 127 為極速;
?
  EEPROM.write(eepromaddr ++,second);
+
(7)參數 BBB:006 低分辨率控制 M1 通道。
?
}
+
參數 CCC 設置范圍:000 至127
?
void readTime()
+
* 000 為反轉極限速度
?
{
+
* 064 為停止/剎車
?
  Flag_ReadTime = 1;
+
* 127 正向極限速度
?
  if(eepromaddr == 0)
+
(8)參數 BBB:007 低分辨率控制M2 通道。
?
  {
+
參數 CCC 設置范圍:000 至127
?
    Serial.println("The time had been read");
+
* 000 為反轉極限速度
?
    _microsecond_10 = 0;
+
* 064 為停止/剎車
?
    _second = 0;
+
* 127 正向極限速度
?
  }
+
(9)參數 BBB:008 高分辨率,差速(混合)驅動雙路馬達,使車體前進。
?
  else{
+
參數CCC 設置范圍:000 至127
?
  _second = EEPROM.read(-- eepromaddr);
+
* 000 為反轉極限速度
?
  _microsecond_10 = EEPROM.read(-- eepromaddr);
+
* 064 為停止/剎車
?
  Serial.println("List the time");
+
* 127 正向極限速度
?
  }
+
(10)參數 BBB:009 高分辨率,差速(混合)驅動雙路馬達,是車體后退。
?
  Update = ON;
+
參數CCC 設置范圍:000 至127
?
}</pre>
+
* 000 為停止
?
* 程序效果
+
* 127 為極速
?
程序上傳后,數碼管顯示模塊開始計時,最大計時時間1分鐘,1分鐘后,清零,重新再計時。
+
(11)參數 BBB:010 差速驅動雙路馬達,使車體向右轉向。
 +
參數CCC 設置范圍:000 至127
 +
* 000 為最小轉向率
 +
* 127 為最大轉向率
 +
(12)參數 BBB:011 差速驅動雙路馬達,使車體向左轉向。
 +
參數CCC 設置范圍:000 至127
 +
* 000 為最小轉向率
 +
* 127 為最大轉向率
 +
(13)參數 BBB:012 低分辨率,差速驅動雙路馬達,使車體前進或后退。
 +
參數CCC 設置范圍:000 至127
 +
* 000 為倒車極限速度
 +
* 064 為停止/剎車
 +
* 127 為前進極限速度
 +
(14)參數 BBB:013 低分辨率,差速驅動雙路馬達,使車體轉向。
 +
參數CCC 設置范圍:000 至127
 +
* 000 為向左最大轉向
 +
* 064 為停止轉向
 +
* 127 為向右最大轉向
 +
 
 +
==產品相關推薦==
 +
[[文件:erweima.png|230px|無框|右]]
 +
===產品購買地址===
 +
* [http://m.gharee.com/goods-784.html 多模式電機驅動板]

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

RB01C115001.png

目錄

產品概述

多模式電機驅動板為奧松最新研發(fā)的一款無需編程控制的大功率電機驅動板,可以同時驅動兩個直流電機。每個通道最大電流為 10A。輸入電壓范圍 6-24V,支持 5-18 節(jié)鋰電池供電。 多模式電機驅動板有四種工作模式可供選擇,分別為:模擬輸入模式、R/C輸入模式 、簡易串口模式和封包話串口模式。通過板載撥碼開關不同方式的組合在不同模式下切換,實現機器人創(chuàng)意開發(fā)。多模式電機驅動板無需編程即可完成同時控制或單獨控制兩路直流電機的轉向和轉速,在機器人運動或者輪式移動平臺的開發(fā)上降低了開發(fā)難度和成本。一塊多模式電機驅動板及其豐富的功能,即可讓機器人創(chuàng)意變得更多可能。
多模式驅動板具有以下特點:

  • 模式可獨立使用也可混合使用
  • 同步再生驅動
  • 開關頻率高(超出人耳聽力范圍)
  • 過熱和過流保護
  • 多種操作模式

規(guī)格參數

  1. 工作電壓:6V - 24V
  2. 電機接口類型:KF2510 - 2P
  3. 供電接口類型:KF2510 - 2P
  4. 擴展接口類型:標準 3P 接口,間距2.54mm
  5. 輸出信號:數字信號
  6. 電機控制通道:2個
  7. 每通道最大電流:10A
  8. 控制模式:模擬輸入模式、R/C模式、簡易的串口模式、封包話串口模式
  9. 產品尺寸:72.747mm x47.244mm
  10. 固定孔尺寸:64.111mm x 38.608mm
  11. 重量大小:30g

接口定義

接口功能示意圖:

01C115001.png
  • GND:電源負極
  • VIN:電源正極
  • M1A:電機 1 正向接口
  • M1B:電機 1 反向接口
  • M2A:電機 2 正向接口
  • M2B:電機 2 反向接口
  • S1:信號 1 輸入端
  • S2:信號 2 輸入端

操作模式功能簡介

1.模擬輸入模式
模擬輸入模式的功能可以在 S1 和 S2 信號接口上,連接一個或者兩個模擬輸入傳感器(例如:電位計模塊),實現使用模擬輸入傳感器來控制電機的轉速和轉向。
模擬輸入電壓范圍是 0 - 5V。此接口使得多模式電機驅動板可以通過電位計或者單片機輸出的 PWM 信號來控制。
2.R/C 輸入模式
R/C 輸入模式可以使用兩個標準的 R/C 通道,并通過接收的信號控制電機的轉速和方向。
3.簡易的串口輸入模式
簡易的串口模式使用 TTL 信號來設定電機速度和方向。這種模式可以連接到 PC 或者支持串口通信的單片機開發(fā)板。
簡易的串口模式使用的是8N1串口協(xié)議(8位數據字節(jié),無奇偶校驗,1停止位)來控制馬達的速度和方向。
TTL 邏輯低電平為 0V,高電平為 5V。簡易串口模式的控制為單向的控制,即多模式電機驅動板只能作為被控對象,控制器件的 TX 連接多模式驅動板的 S1,RX 不進行連接。
4.封包化串口輸入模式
封包化串口模式使用多字節(jié)串口指令控制兩路馬達的速度和方向,通信協(xié)議為8N1。 TTL 邏輯低電平為 0V,高電平為 5V。與簡易串口模式相同也是單向控制,即多模式電機驅動板只能作為被控對象,控制器件的 TX 連接多模式驅動板的 S1,RX 不進行連接。
6.鋰電池保護模式
通電前,將 DIP 開關第 3 位撥至“0”,將啟用鋰電電池保護功能。
通電后“Status1”LED 閃爍的次數表示模塊探測到的鋰電電池組內部的電池個數。
鋰電電池保護功能將即時檢測每節(jié)電池的電壓,當單節(jié)鋰電池電壓低于 3V 時,多模式電機驅動板將自動切斷電源,停止耗電,達到保護電池組的效果。
注意:

  • 鋰電電池組在單節(jié)電池電壓低于 3V 時,電池組充電能力會下降。
  • 當電壓低于 2V 時,電池組將徹底喪失充電能力。這一點和鎳鉻、鎳氫電池是不一樣的。
  • 在多模式電機驅動板自動斷電后,模塊仍然會消耗少量電量,因此在自動斷電后,應當立即取下電池組以免損壞電池組。
  • 當使用非鋰電電源供電時,DIP 開關第3 位應撥至“1”


使用例程

說明:這里所說的撥至“1”是指將模式選擇開關的相應位撥動到“ON”端,所說的波至“0”,是指將模式選擇開關的相應位波動到“數字”端

模擬輸入模式

模式設置

步驟一:模擬輸入模式選擇
模式選擇開關第 1、2 位為工作模式切換開關,選擇模擬輸入工作模式:

  • 將模式選擇開關的第 1 位撥至“1”
  • 將模式選擇開關的第 2 位撥至“ 1”,啟用模擬信號控制模式。

說明:為達到最佳效果,信號源的輸出抗阻應當小于10KΩ。如果使用電位器/分壓器產生信號源,推薦使用1 KΩ、5KΩ 或者10 KΩ 的線性電阻分壓器。
模擬信號控制模式下電機轉向:

  • 輸入端子 S1 S2 上的電位等于 2.5V,馬達為靜止
  • 輸入端子 S1 S2 上的電位大于 2.5V,馬達為正轉
  • 輸入端子 S1 S2 上的電位小于 2.5V,馬達為反轉
01C115002.png

步驟二:獨立驅動或差速驅動模式選擇
模式選擇開關第 4 位為混合驅動和獨立驅動的切換開關

  • 撥至“0”為獨立驅動模式,即 S1 獨立控制 M1,S2 獨立控制 M2
01C115003.png
  • 撥至“1”為混合驅動(差速驅動)模式,在此模式下,S1 控制油門(前進、后退、剎車),S2 控制方向。此模式下,控制油門的同時,也可以控制車體的轉向,更具有差速傳動的效果。
01C115004.png

步驟三:線性操控或指數操控模式選擇
模式選擇開關第 5 位為線性操控和指數操控的切換開關

  • 撥至“0”為指數操控模式,在此模式下,馬達在低速旋轉時反映相對平滑,在高速旋轉時反應靈敏。此功能在搭載高性能馬達時能凸顯其優(yōu)越的提速性能和低速操控性能。
  • 撥至“1”為線性操控模式,在此模式下,馬達的速度與輸入信號成線性比例。

步驟四:倍靈敏度設置
模式選擇開關第 6 位為靈敏度設置開關

  • 撥至“0”時,馬達對控制信號的反應將是正常模式下的 4 倍
  • 撥至“1”時,馬達對控制信號的反應將設置為正常模式

關于脈寬調制(PWM)產生的模擬信號的連接說明如圖所示,如果您的模擬信號的信號源是由單片機通過脈寬調制(PWM)產生的,建議單片機的輸出端搭建一個 RC 濾波電路。推薦使用1KHz 以上的脈寬調制。

01C115005.png

實驗例程一

  • 實驗目的:使用電位計模塊控制電機的轉速和轉向
  • 使用硬件

(1)1 * 多模式電機驅動板
(2)2 * 直流減速電機
(3)1 * 滑條變阻器
(4)1 * 旋轉角度電位計
(5)1 * 7.4V 鋰電池
(6)2 * 3P 傳感器連接線

  • 實驗軟件

無需上位機軟件支持

  • 硬件連接
01C115100.png
  • 模式設置

方式1:獨立驅動、線性操控
模式設置開關:110011

01C115101.png

方式2:差速驅動、指數操控
模式設置開關:110101

01C115102.png

實驗例程二

  • 實驗目的:使用 Arduino UNO 輸出 PWM 信號控制電機的轉速和轉向
  • 使用硬件

(1)1 * 多模式電機驅動板
(2)2 * 直流減速電機
(3)1 * Starduino UNO R3 控制器
(4)1 * USB 數據線
(5)1 * 7.4V 鋰電池
(6)2 * 3P 傳感器連接線

  • 實驗軟件:Arduino IDE 1.8.1
  • 硬件連接

注意:這里 Arduino 是使用多模式電機驅動板的 5V 輸出接口來供電的
S1 連接 Arduino 控制器的 D9
S2 連接 Arduino 控制器的 D10

01C115103.png
  • 模式設置第 1 種

獨立驅動、線性操控
模式設置開關:110011

01C115101.png
  • 例子程序
#define S1 9
#define S2 10
#define speed_forward 50
#define speed_back 200
#define stop_value 128
void setup() {
}

void loop() {
      analogWrite(S1,speed_forward);
      analogWrite(S2,speed_forward);
      delay(1000);
      analogWrite(S1,stop_value);
      analogWrite(S2,stop_value);
      delay(1000);
      analogWrite(S1,speed_back);
      analogWrite(S2,speed_back);
      delay(1000);
      analogWrite(S1,stop_value);
      analogWrite(S2,stop_value);
      delay(1000);
}
  • 效果說明

兩個直流減速電機,先同時正轉,然后同時停止,再同時反轉,再同時停止,以此效果循環(huán)。

R/C舵機信號控制模式

R/C 舵機信號控制模式的信號源是可以是一般的無線電遙控玩具上的舵機控制模塊,或者是任意的能夠產生玩具舵機/伺服馬達控制信號的信號源,或者是單片機產生的舵機控制脈沖信號。

模式設置

1.1、選擇為 R/C 信號控制模式 模式選擇開關的第 1 、2 位為模式切換開關,通電前,設置模式選擇開關

  • 第 1 位撥至“0”
  • 第 2 位撥至“1”,將啟用 R/C 舵機信號控制模式。
01C115006.png

1.2、獨立驅動/差速驅動選擇 模式選擇開關第 4 位為混合驅動和獨立驅動的切換開關

  • 通常情況下,如果是直接使用玩具遙控車的手柄和接收模塊來控制車體,應當將開關撥至“1”使用混合驅動(差速驅動)模式
  • 將控制油門的舵機輸出接在 S1 上用于控制油門(前進、后退、剎車)
  • 控制方向的舵機輸出接在 S2 上用于控制方向。此功能高特別適用于適用現有的玩具無線遙控收發(fā)裝置遙控差速驅動的小車。
  • 如果想使用獨立驅動模式,需將開關 4 撥至“0”,即 S1 獨立控制 M1,S2 獨立控制 M2。

1.3、線性操控/指數操控選擇
模式選擇開關第 5 位為線性操控和指數操控的切換開關

  • 撥至“0”為指數操控模式,在此模式下,馬達在低速旋轉時反映相對平滑,在高速旋轉時反應靈敏,此功能在搭載高性能馬達時能凸顯其優(yōu)越的提速性能和低速操控性能。
  • 撥至“1”為線性操控模式,即馬達的速度與輸入信號成線型比例。

1.4、信號丟失保險與自動校準功能
模式選擇開關第 6 位為設置是否打開信號丟失保險與自動校準功能

  • 正常情況下,模式選擇開關第 6 位應至于“0”,通電后模塊將啟用自動校準,使得模塊的控制范圍和舵機控制器的可控范圍相互對應以達到最好的控制效果。

與此同時,模塊還將使“信號丟失斷電保護”有效。即,當控制信號丟失或出錯的時候自動停止馬達的旋轉。

  • 模式選擇開關第 6 位應至于“1”時,信號丟失保險和自動校準功能無效。如果控制信號不穩(wěn)定,最好不要停用此功能,以免因信號丟失造成失控。

實驗例程

  • 實驗目的:使用六通道遙控器控制兩個電機的正反轉
  • 實驗硬件

(1)2 * 直流減速電機
(2)1 * 6 通道遙控器
(3)1 * 多模式電機驅動板
(4)1 * 7.4V 鋰電池
(5)2 * 3P 傳感器連接線

  • 實驗軟件

無需上位機軟件支持

  • 模式選擇

模式設置撥碼開關為:010110 - RC模式,差速驅動,線性操控,防信號丟失

01C115104.png
  • 硬件連接

(1)多模式電機驅動板 S1 連接遙控器接收機的 CH2
(2)多模式電機驅動板 S2 連接遙控器接收機的 CH1

01C115105.png

簡易串口控制模式

模式簡介

  • 簡易串口 TTL 控制模式使用的是 8N1 串口協(xié)議(8 位數據字節(jié),無奇偶校驗,1 停止位)控制馬達的速度和方向
  • TTL 邏輯電平為0V,5V
  • 簡易串口 TTL 控制為單向的控制。
  • 與上位機建立連接:

(1)如果使用 USB-TTL 轉接線或者單片機的輸出,TXD 端口可以直接接入模塊的 S1 端子,RXD 端口不接線。
(2)如果使用臺式電腦的 RS-232 串行通訊端口,需要將 RS-232 的邏輯電平轉為 0V,5V 的 TTL 電平。通常情況下,使用“MAX232”或者“MAX202”芯片加5 個外部電容就可以實現電平轉換。

  • 上位機的 TXD 端同時可以接入多個模塊。
01C115007.png

模式選擇

1、簡單串口模式設置 通電前,將模式選擇開關的第 1 位撥至“1”,第 2 位撥至“0”,可以啟用簡易串口 TTL 控制模式。

01C115008.png

2、串口波特率設置 通過模式選擇開關的第 4 位和第 5 位可以設置通訊波特率:

  • 1 1:Baud = 2400;
  • 0 1:Baud = 9600;
  • 1 0:Baud = 19.2k;
  • 0 0:Baud = 38.4k

通電后,Power LED 點亮,亮度較暗,待模塊正確接收到串口數據后,Power LED 亮度會明顯變強,表示模塊已經能正確接收數據了。

01C115009.png

3、控制方向和速度
方式1:一對一控制 與 PC 建立連接后,用任何串口調試工具都可以控制本模塊。將 PC 的串口調試工具的 COM 口和波特率設置與模塊一致后,發(fā)送十六進制(HEX)數即可控制馬達的速度和方向。 控制分辨率為 7 位(7-bit,2^7 = 128 擋分辨率);

  • 十六進制對應的十進制數字“1”至“127”控制 M1 通道
HEX“01”對應十進制“1”為反轉極限速度
HEX“40”對應十進制“64”為停止/剎車
HEX“7F”對應十進制“127”為正轉極限速度
  • 十六進制對應的十進制數字“128”至“255”控制M2 通道
HEX“80”對應十進制“128”為反轉極限速度
HEX“C0”對應十進制“192”為停止/剎車
HEX“FF”對應十進制“255”為正轉極限速度
HEX“00”對應十進制“0”為兩路同時停止/剎車。

如果發(fā)送串口指令后,Power LED 熄滅并且重新點亮后亮度較暗,這說明模塊因電源饋電或電源輸出不穩(wěn)而復位了。 解決方法:
1. 給電池充電;
2. 使用更穩(wěn)定的電源適配器(電流輸出能力強的)。

方式2:一對多控制 當要連接多個馬達驅動模塊到同一串行端口時:
將 DIP 開關第 6 位撥至“0”,這樣設置的情況下,多模式電機驅動板的 S2 端子會做為數據接收的“使有效”(Enable)輸入。
當 S2 端子輸入高電平(5V)時,模塊可以接收新指令,當 S2 端子輸入低電平(0V)時,模塊拒絕接收新指令。

實驗例程

  • 實驗目的:使用串口助手控制電機的轉動
  • 實驗硬件

(1)1 * 多模式電機驅動板
(2)2 * 直流減速電機
(3)1 * FT232 USB 轉串口模塊
(4)1 * USB 數據線
(5)1 * 7.4V 鋰電池

  • 實驗軟件:

(1)串口調試助手
下載地址:鏈接:https://pan.baidu.com/s/1CPX8BXyhYS61hWguxrzcsg 提取碼:vsjp

(2)FT232 驅動程序
鏈接:https://pan.baidu.com/s/1ahOse5hV9HhiJGkHYOtOsg 提取碼:adg0

  • 硬件連接
01C115600.png
  • 實驗效果

如圖所示,對串口通信軟件進行設置,注意:要選擇成 HEX 發(fā)送模式

01C115601.png

例如:發(fā)送“7F”,連接在 M1 通道的電機會以最大的速度正向旋轉

包格式串口控制模式

模式介紹

  • 包格式串口 TTL 控制模式使用多字節(jié)串口指令控制兩路馬達的速度和方向
  • 通信協(xié)議為 8N1
  • TTL 邏輯電平為0V,5V
  • 與簡易串口 TTL 控制同樣是單向的控制,即上位機的 TXD 接 S1,RXD 不接線

使用方法

1.與上位機建立連接:

  • 如果使用 USB-TTL 轉接線或者單片機的輸出,TXD 端口可以直接接入模塊的 S1 端子,RXD 端口不接線。
  • 如果使用臺式電腦的 RS-232 串行通訊端口,需要將 RS-232 的邏輯電平轉為 0V,5V 的 TTL 電平。通常情況下,使用“MAX232”或者“MAX202”芯片加5 個外部電容就可以實現。
  • TXD 端同時可以接入多個模塊。

模式配置

1、包串口控制模式
通電前,將模式選擇開關第 1 位撥至“0”,第 2 位撥至“0”,將啟用包格式串口 TTL 控制模式。
首先需要在主機發(fā)送十進制數字(DEC)“170”,發(fā)送后模塊將自動選擇通訊速率。
注意:通電后,必須先輸入十進制數字“170”,模塊在自動調整通訊速率以后才能正確接收控制指令。

2、串口發(fā)包格式
主機發(fā)包格式(十進制):AAA BBB CCC DDD
其中:
AAA 為模塊ID,輸入范圍:(DEC) 128 至 135;
BBB 為控制指令代碼,輸入范圍:(DEC) 000 至 013;
CCC 為控制指令參數,輸入范圍:(按控制指令代碼而定,請見下文);
DDD 為校驗位字節(jié),計算方法:(AAA+BBB+CCC) & 0b01111111。

設置模塊ID (AAA)
多模式電機驅動板模塊 ID 是通過模式選擇開關第 4 位、第 5 位、第 6 位設置的:
1 1 1: ID = 128;
0 1 1: ID = 129;
1 0 1: ID = 130;
0 0 1: ID = 131;
1 1 0: ID = 132;
0 1 0: ID = 133;
1 0 0: ID = 134;
0 0 0: ID = 135;
如圖所示:

01C115437.png

控制命令代碼和控制指令參數設置注解 (BBB + CCC)
(1)參數 BBB:000 高分辨率控制 M1 通道正轉。 參數 CCC 設置范圍:000 至 127

  • 000 為停止
  • 127 為極速;

(2)參數 BBB:001 高分辨率控制 M1 通道反轉。 參數 CCC 設置范圍:000 至 127

  • 000 為停止
  • 127 為極速;

(3)參數 BBB:002 設置模塊掉電檢測功能,如果電池輸入電壓低于設定的參數,模塊將關閉所有輸出,停止為馬達供電。 此設置將不會被永久地記錄在模塊上,因此每次斷電后,該設置將自動復位。 參數CCC 設置范圍:000 至120,

  • 參數設定值和掉電檢測電壓關系式:
設定參數 = (掉電檢測電壓 - 6) * 5

(4)參數 BBB:003 設置模塊的高壓檢測斷電,輸入電壓高于設定值時,模塊自動切斷通道輸出。

  • 參數設定值和高壓檢測電壓關系式:設定參數 = 高壓檢測電壓 * 5.12

此功能僅適用于用變壓器供電時保護變壓器用,如果采用電池供電,則不必使用此功能呢。此設置將不會被永久地記錄在模塊上,因此每次斷電后,該設置將自動復位; (5)參數 BBB:004 高分辨率控制 M2 通道正轉。 參數 CCC 設置范圍:000 至 127

  • 000 為停止
  • 127 為極速;

(6)參數 BBB:005 高分辨率控制 M2 通道反轉。 參數 CCC 設置范圍:000 至127

  • 000 為停止
  • 127 為極速;

(7)參數 BBB:006 低分辨率控制 M1 通道。 參數 CCC 設置范圍:000 至127

  • 000 為反轉極限速度
  • 064 為停止/剎車
  • 127 正向極限速度

(8)參數 BBB:007 低分辨率控制M2 通道。 參數 CCC 設置范圍:000 至127

  • 000 為反轉極限速度
  • 064 為停止/剎車
  • 127 正向極限速度

(9)參數 BBB:008 高分辨率,差速(混合)驅動雙路馬達,使車體前進。 參數CCC 設置范圍:000 至127

  • 000 為反轉極限速度
  • 064 為停止/剎車
  • 127 正向極限速度

(10)參數 BBB:009 高分辨率,差速(混合)驅動雙路馬達,是車體后退。 參數CCC 設置范圍:000 至127

  • 000 為停止
  • 127 為極速

(11)參數 BBB:010 差速驅動雙路馬達,使車體向右轉向。 參數CCC 設置范圍:000 至127

  • 000 為最小轉向率
  • 127 為最大轉向率

(12)參數 BBB:011 差速驅動雙路馬達,使車體向左轉向。 參數CCC 設置范圍:000 至127

  • 000 為最小轉向率
  • 127 為最大轉向率

(13)參數 BBB:012 低分辨率,差速驅動雙路馬達,使車體前進或后退。 參數CCC 設置范圍:000 至127

  • 000 為倒車極限速度
  • 064 為停止/剎車
  • 127 為前進極限速度

(14)參數 BBB:013 低分辨率,差速驅動雙路馬達,使車體轉向。 參數CCC 設置范圍:000 至127

  • 000 為向左最大轉向
  • 064 為停止轉向
  • 127 為向右最大轉向

產品相關推薦

Erweima.png

產品購買地址