“SKU:RB-01C115 多模式电机驱动板”的版本间的差异
来自ALSROBOT WiKi
(以“右 ==产品概述== 产品为一个多功能驱动板,可以驱动电机、四线两相步进电机、舵机,外观是...”为内容创建页面) |
|||
第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 可以直接从电机驱动板上取电,默认为连接状态。<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/> | ||
+ | |||
+ | ==使用方法== | ||
+ | ===驱动两路电机=== | ||
+ | * 实验硬件 | ||
+ | # 直流减速电机 * 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口电机停止 - 电机指示灯全部熄灭 | ||
+ | |||
+ | ===驱动舵机=== | ||
+ | ===驱动步进电机=== | ||
+ | ===UART 接口测试=== | ||
+ | ===IIC 接口测试=== |
2016年7月29日 (五) 12:00的版本
目录 |
产品概述
产品为一个多功能驱动板,可以驱动电机、四线两相步进电机、舵机,外观是 Arduino 盾板,排座设计,Arduino 控制器连接电机驱动板的同时,不影响传感器扩展板的连接,板载串行、IIC等常用通信接口,电机转向指示灯,解决 Arduino UNO 控制器 IO 接口驱动能力弱,不能直接驱动电机或大扭力舵机的问题,电机及外部供电接口采用防插反接头,避免由于接线错误造成的产品损坏。
规格参数
- 产品货号:RB - 01C115
- 电机驱动芯片:L298P
- 外部供电范围:7V - 35V
- 外形特点:Arduino UNO 盾板
- 外形尺寸:70 * 56mm
- 扩展接口
- 电机接口 * 2 个
- 外部供电接口 * 1 个
- UART 接口 * 1 个
- IIC 接口 * 1 个
- 数字接口 * 14 个
- 模拟接口 * 6 个
- 电源指示灯:红色
- 电机转向指示灯:4 个(红色 * 2 个,绿色 * 2 个)
接口示意图
- 接口说明:
(1)Vin 接口
当外部供电范围在 7V - 12V 之间时,将此处连接,Arduino UNO 可以直接从电机驱动板上取电,默认为连接状态。
当外部供电范围在 12V - 35V 之间时,需要将 Vin 断开,Arduino UNO 控制器需要单独供电,不能从电机驱动板上取电。
当 Arduino UNO 控制器使用 DC 接口供电 7V - 12V 之间时,将此处连接,电机驱动板可以直接从 Arduino UNO 控制器上取电。
(2)SNS0、SNS1 接口
将两组排针分别连接时,A0、A1 接口会被占用,分别读取 L298 的输出电流。
将两组排针分别断开时,A0 、 A1 不会被占用。
使用方法
驱动两路电机
- 实验硬件
- 直流减速电机 * 2个
- Arduino UNO 控制器 * 1个
- 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口电机停止 - 电机指示灯全部熄灭