使用L293D驱动板(for Arduino)对电动机进行驱动
本文主要介绍如何使用L293D(准确地说是用L293D Motor Control Shield For Arduino)对电动机进行驱动。本文基于Arduino Mega 2560进行介绍,如果你使用的是其他版本的arduino,请视情况做相应的修改。
L293D简介
该驱动板功能强大,具有以下几种功能:
可以支持2个5V舵机,可以连接到arduino的高分辨率专用计时器;最多支持4个直流电机,使用独立的8位速度选择(大约0.5%的解析度)
最多支持2个步进电机(无极或者双极),步进电机可以是单线圈的,双线圈的,interleaved或者micro-stepping
路H桥:L293D芯片给每路桥提供0.6A电流(峰值1.2A),并带有热保护,4.5V到25V
当电压过高时,下拉电阻保证电机保持停止状态
大终端接线端子(10-22AWG),方便连接电线
带有Arduino复位按钮
提供2个外接电源接线端子,保证数字和逻辑电源分离
适配Mega,Uno
引脚连接
将电机驱动板L293D和Arduino板的相应接口(数字一一对应)通过杜邦线连接起来,具体针脚连接方式如下:
如果只想使用直流/步进电机应该连接以下引脚:
- 数字端口11:直流电机#1/步进#1(PWM)
- 数字端口 3:直流电机#2/步进#1(PWM)
- 数字端口 5:直流电机#3/步进#2(PWM)
- 数字端口 6:直流电机#4/步进#2(PWM)
如果要控制直流/步进电机应该增加以下引脚:
- 数字引脚4:DIR CLK触发
- 数字引脚7:DIR EN指令的允许端EN
- 数字引脚8:DIR SER
- 数字引脚12:DIR ATCH中断连接
另外,GND、5V引脚必须也要连接,否则的话就无法稳定地控制直流电动机。
具体接线图如下所示:
注意事项
- 要给L293D单独供电,不要将电源接在Arduino上;
- 给L293D通电时,电源正负极千万不要接反,否则很容易烧毁板子;
安装函数库
在使用该驱动之前,你需要安装相应的函数库。该驱动使用的是Adafruit-Motor-Shield-library函数库,在仓库的lib文件夹中有相应的压缩包,直接解压到你的arduino安装路径下的library中即可。
函数库中包括驱动直流电动机、步进电机等的函数接口,使用起来十分方便。详细使用方法可以参考这里。
使用测试程序
本文使用的驱动程序可以在这里下载或者这里。在使用本程序之前,请在你的arduino IDE中安装相应的函数库,可以在这里下载。
速度控制
对单个电动机控制:
r 100
其中命令r代表设置右前轮速度,参数100为速度大小。
下表是了列举了各命令代表的含义:
编号 | 命令 | 含义 |
---|---|---|
0 | l | 设置左前轮 |
1 | r | 设置右前轮 |
2 | L | 设置左后轮 |
3 | R | 设置右后轮 |
4 | A | 设置所有车轮 |
NOTE: 我想你大概也会猜到,与其他命令不同的是命令A的参数为4个,分别为左前轮速度、右前轮速度、左后轮速度、右后轮速度。
方向
只要将参数设置为负值,即可改变电动机旋转方向。
停止
如果你想终止电动机转动,可以使用命令s
或者S
:
s 0 # 终止左前轮
S # 终止所有车轮
命令非常好理解,通过车轮对应的编号即可终止相应的车轮。
NOTE:当然,将速度设置为0也可以达到相同的效果。
具体可以查看程序中的command.h
文件:
#define FRONTLEFT 'l'
#define FRONTRIGHT 'r'
#define BACKLEFT 'L'
#define BACKRIGHT 'R'
#define ALLWHEELS 'A'
#define STOPWHEEL 's'
#define STOPWHEELS 'S'
参考资料
- ROS Wiki: rosserial_arduino Tutorials
- Arduino中文社区:L293D电机驱动板(资料翻译)
本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。
使用L293D驱动板(for Arduino)对电动机进行驱动相关推荐
- 智能家居硬件小制作(含源码)《手势识别控制器》基于PAJ7620手势模块、L298N驱动板、arduino
智能家居硬件小制作(含源码)<手势识别控制器>基于PAJ7620手势模块.L298N驱动板.arduino 目录 智能家居硬件小制作(含源码)<手势识别控制器>基于PAJ762 ...
- 用verilog实现L293D 驱动板接口
课程实验做了一个蓝牙智能小车,nexys4开发板,MIPSfpga(一个在 FPGA 上实现的商业 MIPS 处理器软核,Imagination Technologies公司提供给高校免费使用),再加 ...
- arduino 舵机接线图_arduino+16路舵机驱动板连接测试
用Arduino类库驱动舵机并不是一件难事,如果需要驱动很多电机,就需要要占用更多的引脚,也会影响到Arduino的处理能力.专门的舵机驱动板很好的解决了这个问题. 此舵机驱动板使用PCA9685芯片 ...
- arduino 舵机接线图_arduino+16路舵机驱动板连接测试(示例代码)
用Arduino类库驱动舵机并不是一件难事,如果需要驱动很多电机,就需要要占用更多的引脚,也会影响到Arduino的处理能力.专门的舵机驱动板很好的解决了这个问题. 此舵机驱动板使用PCA9685芯片 ...
- 【电机应用控制】——直流有刷电机驱动板/编码器介绍PID算法实操代码思路
目录 前言 一.电机简介 二.直流有刷电机 1.基本知识 2.直流有刷驱动板 3.编码器介绍 三.PID算法 四.实操思路 1.单环控制 2.双环控制 3.三环控制 拓:闭环死区 总结 前言 声明:学 ...
- 液晶屏 -- 驱动板 -- 屏线 -- 高压条 -- LVDS接口知识
1.液晶屏 先说液晶屏,只要不是太特殊的笔记本,绝大多数都是LVDS接口的,极少是TTL的,这个看液晶屏的针脚可以大致判断出来(注意是看液晶屏上的接口,不是已经引出的屏线),LVDS的一般是14.20 ...
- 2.0 Arduino各类模块-1(HC595、L293D芯片、L293D驱动板)
Arduino本身的接口并不多如何实现更多的功能,以及各种模块如何使用?从本节开始进行介绍,补补档. 二.各类模块 1.HC595(可用于拓展接口) Vin接5v正极, GND负极 OE接负极启动 M ...
- 关于电机驱动扩展板 L293D 马达板Arduino
注意端口3,4,5,6,7,8,9,10,11,12会被占用(板子上的pin口). 通过 MS_DCMotor motor(4); 中的4指的是4号电机,同理还有1-3号电机.不是pin口 舵机用 ...
- Seeduino XIAO开发板安装Arduino软件包以及USB串口驱动
简 介: 本文对购买到的Seeed XIAO M0开发板进行了初步使用.给出了如何安装Arduino 软件包的过程.通过测试发现在Windows7中,仅仅安装了软件包还不行,需要单独安装SeeedXI ...
最新文章
- Keras学习笔记---保存model文件和载入model文件
- 混合使用Azure LB和ILB访问相同web服务(2)
- JAVA中Final的用法
- 三维重建15:最近遇到的-标定-EKF-优化方法等
- python 抽象语法树_用python演示一个简单的AST(抽象语法树)
- MySql-流程函数
- 使用Redis存取数据+数据库存取(spring+java)
- 体验测试软件哪个好用,电脑性能测试软件哪个好?盘点好用的性能测试软件
- 附和导线平差程序(by C#)
- 非IE内核浏览器如何支持activex插件
- 数据挖掘 顶级期刊_澳大利亚麦考瑞大学, 国际数据挖掘顶级期刊ACM TKDD副主编招收5名数据挖掘全奖PhD...
- 用Python+小程序实现诗词大会的飞花令
- 云社区博客博客详情火瞳智慧通行助力疫情防控及安全出行
- 折腾开源WRT的AC无线路由之路-3
- 如何设置UISwitch的大小
- 锁定计算机小键盘,笔记本数字键盘锁了要怎么办【图文教程】
- CAP理论举例及说明
- Django项目的创建、Admin后台系统以及数据库迁移
- 2.89亿元寻求股权转让“接盘侠”!紫光存储风波未平,紫光德瑞风云再起
- JavaScript之jQuery番外篇【打地鼠游戏的制作讲解】