使用L293D驱动板(for Arduino)对电动机进行驱动

基于74HC595/L293D电机驱动板控制麦克纳姆轮小车 (为了兼容Arduino UNO和引出IO0、IO1做蓝牙通讯,已做了一些排针调整)麦克纳姆轮是一种带有周边轮轴的机轮,一般分两种,一种周边轮轴向左倾斜,另一种轮轴向右倾斜。这些成角度的周边轮轴把一部分的机轮转向力转化到一个机轮法向力上面,所以能够使汽车实现左右平移的运动。//PWM控制引脚 const int PWM2A = 11;//M4 motor //芯片引脚 const int DIR_CLK = 4; 阅读详情
AI摘要

本文介绍如何使用L293DMotorControlShieldForArduino驱动电动机,包括驱动板的功能、引脚连接方式、注意事项及使用方法。适用于ArduinoMega2560及其他版本。

本文主要介绍如何使用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引脚必须也要连接,否则的话就无法稳定地控制直流电动机。

具体接线图如下所示:

circuit

注意事项

  • 要给L293D单独供电,不要将电源接在Arduino上;
  • 给L293D通电时,电源正负极千万不要接反,否则很容易烧毁板子;

安装函数库

在使用该驱动之前,你需要安装相应的函数库。该驱动使用的是Adafruit-Motor-Shield-library函数库,在仓库的lib文件夹中有相应的压缩包,直接解压到你的arduino安装路径下的library中即可。

函数库中包括驱动直流电动机、步进电机等的函数接口,使用起来十分方便。详细使用方法可以参考这里。

使用测试程序

本文使用的驱动程序可以在这里下载或者这里。在使用本程序之前,请在你的arduino IDE中安装相应的函数库,可以在这里下载。

速度控制

对单个电动机控制:

r 100

其中命令r代表设置右前轮速度,参数100为速度大小。

下表是了列举了各命令代表的含义:

编号命令含义
0l设置左前轮
1r设置右前轮
2L设置左后轮
3R设置右后轮
4A设置所有车轮

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 电机驱动器 IC 和 Arduino 控制直流电机 您可以互换电机的连接。L293D IC 的电源范围为 4.5V 至 36V,每通道能够提供 1.2A 峰值输出电流,因此它与我们的大多数电机配合良好。下面的草图将让您全面了解如何使用L293D电机驱动IC来控制直流电机的速度和旋转方向,并将作为更多实际实验和项目的基础。占空比越高,施加到直流电机的平均电压越高(导致速度越高),占空比越短,施加到直流电机的平均电压越低(导致速度较低)。在代码的设置部分,所有电机控制引脚(方向和速度控制引脚)都配置为数字输出,方向控制引脚被拉低以关闭两个电机。 阅读详情

相关推荐

使用单片机和L293D芯片控制直流电机起停并通过数码管实现PWM调速显示

需要注意的是,上述代码只是一个示例,并假设你使用的是AVR系列的单片机,例如Arduino。如果你使用其他类型的单片机,你需要根据具体的单片机型号和开发环境进行相应的调整和修改。另外,数码管的具体显示方式和PWM占空比的转换方法取决于你使用的数码管类型和具体的需求。在实际应用中,你需要根据数码管的型号和数据手册,编写相应的代码来实现PWM占空比的显示。函数中,我们通过某种方式获取速度值,并根据速度值的大小来控制电机的起停,并将速度值显示在数码管上。首先,我们需要初始化单片机的引脚和设置相应的配置。

PynRlang的博客 609

L293D驱动模块的使用详解

该L293D驱动模块是专门为arduino设计的,网上使用arduino驱动该模块的资料很多,但是关于使用其他单片机驱动该模块是资料比较少,本人在学习中也是花了很多时间查找资料和摸索,该模块直接整块插入arduino,然后安装专门的库文件,就可以直接使用,而51单片机则需要自己进行接线和了解模块的原理,所以在此为该模块做个比较详细的介绍。 模块功能: *2个5V伺服电机(舵机...

4万+

【雕爷学编程】Arduino动手做(94)---L298N电机驱动板

雕爷学编程,Arduino动手做,开源硬件,创客传感器,L298N电机驱动板

雕爷学编程 7948

【Arduino学习】06.L293D驱动5V直流电机

L293D 工作电压为4.5 V to 36 V,是一个高电压、大电流、 4 通道单集成电机驱动,用于连接标准 DTL 或 TTL逻辑电平、驱动感应负载(如继电器线圈、直流和步进电机)和开关电源晶体管等。为了简化双桥的应用, L293D 的每个通道都配备了使能输入。具有独立电源的 L293D 逻辑电路可以在较低的电压下工作。此外, L293D 还具有一个内置的箝位二极管。 L293D适用于频率高达 5khz 的开关应用。 1.引脚定义 2.内部逻辑 一般应用VCC1和VCC2都

wsq_666的博客 8421

【Arduino 动手做】神奇的 6WD 越野 Arduino RC 机器人

摘要: 《Arduino手册》栏目提供丰富的电子制作与智能控制案例,涵盖Arduino BLDC、IoT、FreeRTOS等技术应用。本文介绍了一款基于Arduino的六轮越野机器人(Robotin-6)的制作过程,包括铝合金底盘、高速电机、HC12无线模块及VNH2SP30大电流电机驱动器的使用。项目详细分享了电路设计、代码及PCB制作方法,并附演示视频与开源资源链接,助力DIY爱好者打造高性能遥控机器人。 关键词: Arduino、六轮机器人、无线遥控、HC12模块、VNH2SP30驱动器

雕爷学编程 1098

【花雕学编程】Arduino动手做(226)---正反转PWM双H桥42步进电机L298N

5,7,10,12脚接输入控制电平,控制电机的正反转。EnA,EnB接控制使能端,控制电机的停转。其输出电流为2A,最高电流4A,最高工作电压50V,可以驱动感性负载,如大功率直流电机,步进电机,电磁阀等,特别是其输入端可以与单片机直接相联,从而很方便地受单片机控制。1.当你的驱动电压(上图标识为12V输入,实际可以接受的输入范围是7-12V)为7V-12V的时候,可以使能板载的5V逻辑供电,当使用板载5V供电之后,接口中的+5V供电不要输入电压,但是可以引出5V电压供外部使用。此点非常重要,请注意。

雕爷学编程 1321

Arduino L293D电机驱动器扩展板教程

在本篇文章中,您将学习如何使用Arduino L293D电机驱动器扩展板驱动直流电机、步进电机和伺服电机。 电机和驱动器 电机是许多机器人和电子项目不可分割的一部分,根据应用的不同,它们可以使用不同的类型。以下是有关不同类型电机的一些信息: 直流电机(DC Motor):直流电机是最常见的电机,可用于许多应用。我们可以在遥控车、机器人等中看到它。这种电机结构简单。它将通过向其端部施加适当的电压并通...

佐佐沐 7591

L293D电机驱动模块使用手册

L293D电机驱动模块使用手册 教你如何使用L293D电机驱动模块

自定义配置ros arduino bridge功能包集

写在前面 首先我对未及时分享自己的配置及源码向各位网友道歉。本文是对博文ros_arduino_bridge功能包集的使用的拓展,主要是对如何修改ros arduino bridge功能包集,使其兼容其他硬件做一些简要的说明。在这里我以自己的配置为例为大家讲解,如有疑问可以通过csdn私信我或者通过邮箱联系我,我的email:chaoyanglius@outlook.com,欢迎大家为我纠错。 ...

退休码农飞伯德 6493

l293D电机驱动电路图

本文主要是为l293D电机驱动电路图,希望对你的学习有所帮助。

SAP面试全过程(已拿offer)

周五打电话给我说过了SAP第一轮面试,第二轮要在下周四北京,这几天终于体会到了什么叫做重压下的感觉,越复习越虚,看别人的面经都感觉卧槽这问题也巨难了吧...连去北京可以见妹子这种事情都感觉一点心情都没有。面前准备固然是要有的,但关键是平时就要有料,多想想自己做的项目。当作一个给自己的提醒吧!

cloudray8580的专栏 4万+

arduino小车电机不转_一文解析—电机驱动设计方案

24V无刷直流 (BLDC) 电机正弦波驱动,应用于空气净化器风扇此参考设计是用于无刷直流 (BLDC) 电机的经济实惠型、小尺寸 (SFF)、三相正弦电机驱动,在 24V 时的功率高达 50W。此板接受 24V 输入并提供三路电机输出,从而以正弦方式驱动 BLDC 电机。在通过 IR(红外)传感器接受速度命令之后,使用微控制器 (MCU)(在本设计中为 MSP430G2303)从外部关闭速度环路...

weixin_39753791的博客 3880

【车间调度】车间调度问题的分类

本系列为自己学习调度相关知识的记录,如有误请指出,也欢迎调度方向的小伙伴加我好友共同交流。 车间调度问题的分类 根据工件和车间构成不同,车间调度问题可分为以下几种 1.单机调度问题 在单机调度问题(S,SMP)中,加工系统只有一台机床,待加工的工件有且仅有一道工序,所有工件都在该机床上进行加工。此问题是最简单的调度问题,当生产车间出现瓶颈机床时的调度就可视为此调度问题。 ...

weixin_51656605的博客 7429

在ROS中通过Arduino实现对4WD轮式机器人的简单控制

在ROS中实现对差速轮式机器人的简单控制本文涉及的内容都是针对四轮小车的,如果你的是两轮或者其他形式的小车,请参考其他文章。当然如果你感兴趣的话,本文也有一定的参考价值。另外,本文的内容仅供参考,如有错误,望各位不吝赐教。

退休码农飞伯德 1万+

深入解析Linux Suspend/Resume机制——从用户态到内核态的完整流程

本文深入解析Linux Suspend/Resume机制,从用户态触发到内核态执行的完整流程。详细介绍了三种挂起模式(Freeze、Standby、Suspend to RAM)的实现原理,包括系统调用入口、状态验证、设备挂起流程及平台相关操作。同时提供实战调试技巧,帮助开发者解决电源管理中的常见问题。

weixin_29313239的博客 442

使用Intel编译器编译OpenFOAM

本文总结了使用INTEL编译器编译OpenFOAM的过程

姜蜉蝣的博客 1546

Arduino综合实例之一_避障小车

1.      说明: 此实例实现了通过蓝牙连接小车和手机,在手机端用软件控制小车前进,后退,左/右转向,控制行驶速度。并能让小车自动行驶,躲避障碍。 我买的是最便宜的黄色四驱小车,加了一个电机驱动模块(用于控制小车),一个蓝牙模块(用于与手机连接),一个距离传感器(测试前方是否有障碍物),一个舵机(在遇到障碍时,控制距离传感器转动,判断左/右哪边空间更大)。 2.      硬件: (加

谢彦的技术博客 1万+

从信号到振镜:STM32F103 + XY2-100协议 + AM26LS31芯片的激光打标/雕刻系统信号链搭建指南

本文详细介绍了基于STM32F103微控制器和XY2-100协议的激光打标/雕刻系统信号链搭建方法。从数字振镜控制协议解析、AM26LS31差分驱动电路设计到信号完整性优化,提供了一套完整的解决方案,帮助工程师实现高精度激光控制系统的开发与调试。

weixin_42536058的博客 235

L293D电机驱动版在Arduino上使用笔记

L293D电机驱动版在Arduino上使用笔记硬件连接电源驱动板是可以接受Arduino板的电力的,但是,arduino也就那么点电压,带一两个小直流电机还好说,东西搞多了,也是供不应求的.不过幸好L293D支持外部供电,通过上图中的外接电源接口,就可以进行外部供电.进行外部供电的时候,需要将外接电源接口旁边的黄色跳线帽拔掉.可以给每个电机最多600ma电流,1.2A的峰值电流。电流超过1A的话,需

keysking瞎写东西的地方 2万+

(四)DDR协议命令波形时序一——(ACT、Read、Write)

文章目录一、DDR命令真值表二、ACT激活命令时序要求2.1、ACTIVATE波形——tRRD、tFAW2.2、ACTIVATE波形——tRAS、tRC三、Read命令时序要求3.1、Read 波形——无Additive Latency3.2、Read 波形——有Additive Latency3.3、Read 波形——Additive Latency使用场景 一、DDR命令真值表 DDR的Command命令由CKE、CS#、RAS#、CAS#、WE#信号组成,这几个信号进行不同的搭配组合会形成不同的Co

Mr.翟的博客 6864

2026年CSP-J初赛真题及答案解析

2026年CSP-J初赛真题及题解

王老师青少年编程 1613

使用 L293D 电机驱动器扩展板和 Arduino 控制直流、步进和伺服

在我们的实验中,我们使用直流变速箱电机,也称为“TT”电机,常见于两轮驱动机器人中。如果您打算构建自己的机器人,则需要控制各种电机,例如直流电机、步进电机和伺服系统,没有比 L293D 电机驱动器扩展板更好的选择了。下面的草图将向您展示如何使用 L293D 电机驱动器扩展板控制直流电机的速度和旋转方向,并且可以作为更多实际实验和项目的基础。请注意,扩展板不使用 D2 或 D13 引脚,但是可以先使用原型板再使用驱动板,即可使用这两个引脚,或者自己动手加焊两根针。此处,您必须指定电机所连接的电机端口号。

sxstj的博客 6701

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

arduino uno马达驱动扩展板 L293D

L293D可驱动4路直流电机或者2路步进电机的同时还能驱动2路舵机,支持新Arduino UNO, Arduino Mega 2560.这个扩展板占用了uno的3-12管脚,所以使用扩展板后,uno只有2、13以及A0-A5可用。2号和13号管脚在扩展板上并没有引出,所以需要自己焊接使用。扩展板选择从开发板取电,也可以外接4.5v-36v独立供电,但是由于扩展板上周边元器件的限制外接供电最好不超过12v。如果是要驱动舵机至少要使用12v外接电源。电机驱动接口使用了9和10管脚,所以如果项目中不使用舵机则可以

sxstj的博客 2917

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

一文搞懂步进电机特性、原理及驱动器设计

步进电机是将电脉冲信号,转变为角位移或线位移的开环控制电机,又称为脉冲电机。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响。当步进驱动器接收到一个脉冲信号时,它就可以驱动步进电机按设定的方向转动一个固定的角度,称为“步距角”。 步进电机的旋转是以固定的角度一步一步运行的,可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的,同时可以通过控制脉冲频率,来控制电机转动的速度和加速度,从而达到调速的目的。

不脱发的程序猿 6万+

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

Arduino L293D电机驱动模块四轮驱动程序

Arduino L293D电机驱动模块的库下载了好几个,学不会,研究了一下74HC595和L293D的连接方式,DIY了一个。PWM没写,旋转方向不对的话,调换电机两根接线。

lysunbona的博客 1005
上一篇: 机器人行业,10大流行编程语言对比
下一篇: ROS基础:功能包的创建与编译
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值