本文主要介绍如何使用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'

参考资料

  1. ROS Wiki: rosserial_arduino Tutorials
  2. Arduino中文社区:L293D电机驱动板(资料翻译)


本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。

使用L293D驱动板(for Arduino)对电动机进行驱动相关推荐

  1. 智能家居硬件小制作(含源码)《手势识别控制器》基于PAJ7620手势模块、L298N驱动板、arduino

    智能家居硬件小制作(含源码)<手势识别控制器>基于PAJ7620手势模块.L298N驱动板.arduino 目录 智能家居硬件小制作(含源码)<手势识别控制器>基于PAJ762 ...

  2. 用verilog实现L293D 驱动板接口

    课程实验做了一个蓝牙智能小车,nexys4开发板,MIPSfpga(一个在 FPGA 上实现的商业 MIPS 处理器软核,Imagination Technologies公司提供给高校免费使用),再加 ...

  3. arduino 舵机接线图_arduino+16路舵机驱动板连接测试

    用Arduino类库驱动舵机并不是一件难事,如果需要驱动很多电机,就需要要占用更多的引脚,也会影响到Arduino的处理能力.专门的舵机驱动板很好的解决了这个问题. 此舵机驱动板使用PCA9685芯片 ...

  4. arduino 舵机接线图_arduino+16路舵机驱动板连接测试(示例代码)

    用Arduino类库驱动舵机并不是一件难事,如果需要驱动很多电机,就需要要占用更多的引脚,也会影响到Arduino的处理能力.专门的舵机驱动板很好的解决了这个问题. 此舵机驱动板使用PCA9685芯片 ...

  5. 【电机应用控制】——直流有刷电机驱动板/编码器介绍PID算法实操代码思路

    目录 前言 一.电机简介 二.直流有刷电机 1.基本知识 2.直流有刷驱动板 3.编码器介绍 三.PID算法 四.实操思路 1.单环控制 2.双环控制 3.三环控制 拓:闭环死区 总结 前言 声明:学 ...

  6. 液晶屏 -- 驱动板 -- 屏线 -- 高压条 -- LVDS接口知识

    1.液晶屏 先说液晶屏,只要不是太特殊的笔记本,绝大多数都是LVDS接口的,极少是TTL的,这个看液晶屏的针脚可以大致判断出来(注意是看液晶屏上的接口,不是已经引出的屏线),LVDS的一般是14.20 ...

  7. 2.0 Arduino各类模块-1(HC595、L293D芯片、L293D驱动板)

    Arduino本身的接口并不多如何实现更多的功能,以及各种模块如何使用?从本节开始进行介绍,补补档. 二.各类模块 1.HC595(可用于拓展接口) Vin接5v正极, GND负极 OE接负极启动 M ...

  8. 关于电机驱动扩展板 L293D 马达板Arduino

    注意端口3,4,5,6,7,8,9,10,11,12会被占用(板子上的pin口). 通过 MS_DCMotor motor(4); 中的4指的是4号电机,同理还有1-3号电机.不是pin口   舵机用 ...

  9. Seeduino XIAO开发板安装Arduino软件包以及USB串口驱动

    简 介: 本文对购买到的Seeed XIAO M0开发板进行了初步使用.给出了如何安装Arduino 软件包的过程.通过测试发现在Windows7中,仅仅安装了软件包还不行,需要单独安装SeeedXI ...

最新文章

  1. Keras学习笔记---保存model文件和载入model文件
  2. 混合使用Azure LB和ILB访问相同web服务(2)
  3. JAVA中Final的用法
  4. 三维重建15:最近遇到的-标定-EKF-优化方法等
  5. python 抽象语法树_用python演示一个简单的AST(抽象语法树)
  6. MySql-流程函数
  7. 使用Redis存取数据+数据库存取(spring+java)
  8. 体验测试软件哪个好用,电脑性能测试软件哪个好?盘点好用的性能测试软件
  9. 附和导线平差程序(by C#)
  10. 非IE内核浏览器如何支持activex插件
  11. 数据挖掘 顶级期刊_澳大利亚麦考瑞大学, 国际数据挖掘顶级期刊ACM TKDD副主编招收5名数据挖掘全奖PhD...
  12. 用Python+小程序实现诗词大会的飞花令
  13. 云社区博客博客详情火瞳智慧通行助力疫情防控及安全出行
  14. 折腾开源WRT的AC无线路由之路-3
  15. 如何设置UISwitch的大小
  16. 锁定计算机小键盘,笔记本数字键盘锁了要怎么办【图文教程】
  17. CAP理论举例及说明
  18. Django项目的创建、Admin后台系统以及数据库迁移
  19. 2.89亿元寻求股权转让“接盘侠”!紫光存储风波未平,紫光德瑞风云再起
  20. JavaScript之jQuery番外篇【打地鼠游戏的制作讲解】

热门文章

  1. VS2017 代码绝对无错 但就是一直生成失败
  2. 汽车销售行业如何做需求分析?​
  3. 《高可用的HDFS》——元数据备份方案
  4. 《数字技术与应用​》省级期刊征稿
  5. 《小说阅读》txt小说浏览器、小说阅读、小说语音阅读
  6. c语言 绘制任意斜率的直线,计算机图形学 绘制任意斜率的直线(1)
  7. 验证码识别服务器,一个非常好用的验证码识别工具类api接口
  8. python期中测试
  9. currentstyle 织梦_织梦arclist标签支持高亮currentstyle属性方法
  10. route命令详解与使用实例