0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

使用L293D电机驱动器控制直流电机

CHANBAEK 来源:网络整理 作者:网络整理 2024-06-21 15:55 次阅读

一、直流电机的定义

直流电机是指能将直流电能转换成机械能(直流电动机)或将机械能转换成直流电能(直流发电机)的旋转电机。当直流电机作为电动机运行时,它将电能转换为机械能,用于驱动各种设备;而作为发电机运行时,则将机械能转换为电能,用于发电。

直流电机的结构主要由定子和转子两大部分组成。直流电机中静止不动的部分称为定子。定子的主要作用是产生磁场,由机座、主磁极、换向极、端盖、轴承和电刷装置等组成。其中,主磁极的作用是产生气隙磁场,由主磁极铁心和励磁绕组两部分组成;换向极的作用是改善换向,减小电机运行时电刷与换向器之间可能产生的换向火花;电刷装置则用于引入或引出直流电压和直流电流。直流电机中转动的部分称为转子,其主要作用是产生电磁转矩和感应电动势,是直流电机进行能量转换的枢纽。转子由转轴、电枢铁心、电枢绕组、换向器和风扇等组成。其中,电枢铁心是主磁路的主要部分,同时用以嵌放电枢绕组;电枢绕组的作用是产生电磁转矩和感应电动势,是直流电机进行能量变换的关键部件。

直流电机的工作原理基于电磁感应和电磁力作用。当直流电源向电机的电枢绕组供电时,电枢绕组会产生电流,进而在磁场中受到电磁力的作用而旋转。同时,电枢在旋转过程中会切割定子磁场中的磁力线,产生感应电动势。这个感应电动势的方向与外加电压的方向相反,称为反电动势。电源需要克服这个反电动势才能向电动机输入电流,从而维持电机的持续运转。

直流电机在工业生产、交通运输、医疗设备、家用电器以及多个专业领域都有广泛的应用。例如,在工业生产中,直流电机常用于机床、风机、泵、印刷设备、冶金设备、化工设备、食品加工设备、纺织机械等设备中;在交通运输领域,直流电机则广泛应用于电动车、电动汽车、电动自行车等交通工具中;在医疗设备领域,直流电机也被用于X光机、CT扫描仪、手术钻等设备中。此外,直流电机还在家用电器、电动工具、船舶、自动化系统、航空航天等领域有广泛应用。

二、使用L293D电机驱动器控制直流电机

直流电机广泛应用于电气电子、机械行业。轴、真空吸尘器、传送带、洗衣机、印刷机和许多其他机器都使用直流电机。然而,需要正确理解控制直流电机,因为每台机器都必须以不同的方式导出和控制。因此,有不同的驱动器 IC 可以在 Arduino微控制器的帮助下以更好、更精确的方式控制直流电机。因此,在本教程中,我们将使用 Arduino UNO 的 L293D 电机驱动器来控制直流电机。

L293d是一款电机驱动IC,可以驱动两个直流电机。我们使用微控制器和该 IC 来控制方向。该电机驱动IC可以驱动电压小于36V的电机。此外,IC 可以沿两个方向(顺时针或逆时针)运行电机。

电路原理

连接表

ArduinoL293D电机驱动器
电压控制电路电压控制电路
接地接地
D9引脚 1
D8引脚 2
D7引脚 7
D3引脚 9
D5引脚 10
D4引脚 15

L293D电机驱动IC引脚配置

引脚号引脚名称描述
1启用1,2该引脚启用输入引脚输入 1(2) 和输入 2(7)
2输入1直接控制输出 1 引脚。由数字电路控制。
3输出1连接至电机1一端
4地面我们将接地引脚连接到电路的接地(0V)
5地面接地引脚连接到电路的地(0V)
6输出2连接到电机1的另一端
7输入2直接控制输出 2 引脚。由数字电路控制。
8Vcc2(Vs)连接到运行电机的电压引脚(4.5V 至 36V)
9启用3,4该引脚启用输入引脚输入 3(10) 和输入 4(15)
10输入3直接控制输出 3 引脚。由数字电路控制
11输出3连接至电机2一端
12地面我们将接地引脚连接到电路的接地端。
13地面我们将接地引脚连接到电路的接地端。
14输出4连接到电机2的另一端
15输入4直接控制输出 4 引脚。由数字电路控制
16Vcc2(Vss)连接至+5V以启用IC功能

Arduino代码

// Motor A connections
int enA = 9;
int in1 = 8;
int in2 = 7;
// Motor B connections
int enB = 3;
int in3 = 5;
int in4 = 4;

void setup() {
	// Set all the motor control pins to outputs
	pinMode(enA, OUTPUT);
	pinMode(enB, OUTPUT);
	pinMode(in1, OUTPUT);
	pinMode(in2, OUTPUT);
	pinMode(in3, OUTPUT);
	pinMode(in4, OUTPUT);
	
	// Turn off motors - Initial state
	digitalWrite(in1, LOW);
	digitalWrite(in2, LOW);
	digitalWrite(in3, LOW);
	digitalWrite(in4, LOW);
}

void loop() {
	directionControl();
	delay(1000);
	speedControl();
	delay(1000);
}

// This function lets you control spinning direction of motors
void directionControl() {
	// Set motors to maximum speed
	// For PWM maximum possible values are 0 to 255
	analogWrite(enA, 255);
	analogWrite(enB, 255);

	// Turn on motor A & B
	digitalWrite(in1, HIGH);
	digitalWrite(in2, LOW);
	digitalWrite(in3, HIGH);
	digitalWrite(in4, LOW);
	delay(2000);
	
	// Now change motor directions
	digitalWrite(in1, LOW);
	digitalWrite(in2, HIGH);
	digitalWrite(in3, LOW);
	digitalWrite(in4, HIGH);
	delay(2000);
	
	// Turn off motors
	digitalWrite(in1, LOW);
	digitalWrite(in2, LOW);
	digitalWrite(in3, LOW);
	digitalWrite(in4, LOW);
}

// This function lets you control speed of the motors
void speedControl() {
	// Turn on motors
	digitalWrite(in1, LOW);
	digitalWrite(in2, HIGH);
	digitalWrite(in3, LOW);
	digitalWrite(in4, HIGH);
	
	// Accelerate from zero to maximum speed
	for (int i = 0; i < 256; i++) {
		analogWrite(enA, i);
		analogWrite(enB, i);
		delay(20);
	}
	
	// Decelerate from maximum speed to zero
	for (int i = 255; i >= 0; --i) {
		analogWrite(enA, i);
		analogWrite(enB, i);
		delay(20);
	}
	
	// Now turn off motors
	digitalWrite(in1, LOW);
	digitalWrite(in2, LOW);
	digitalWrite(in3, LOW);
	digitalWrite(in4, LOW);
}

工作说明

要使用 L293D 电机驱动器 IC 和 Arduino 控制直流电机,首先按照表格和电路图中的描述进行完美连接。然后,在 Arduino IDE 中编写给定的代码并将该代码上传到 Arduino。现在,当您向电路供电时,电机开始根据代码中提供的命令旋转。例如,这些电机开始朝一个方向全速旋转,然后朝另一个方向全速旋转,分别持续两秒钟。然后它们停止旋转。之后,它们从 0 加速到最大速度,然后减速到零。因此,电机将根据您的代码进行控制。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 直流电机
    +关注

    关注

    36

    文章

    1707

    浏览量

    70065
  • 电机驱动器
    +关注

    关注

    16

    文章

    631

    浏览量

    64603
  • Arduino
    +关注

    关注

    187

    文章

    6462

    浏览量

    186611
收藏 人收藏

    评论

    相关推荐

    求助 关于L293D模块/4直流电机驱动模块的问题

    我想问一下,单片机控制直流电机可不可以理解为 利用单片机输出空占比不同的pwm信号来控制驱动直流电机模块使
    发表于 10-21 21:19

    L293D驱动与占空比问题

    求助 关于L293D模块/4直流电机驱动模块的问题L293D电机驱动模块资料关于89C52对于
    发表于 08-29 13:54

    介绍一种避障车(L293D电机驱动)

    /BV1kt411J7pN?from=search&seid=16911526506650231789原文链接:https://blog.csdn.net/qq_40593308/article/details/105563369这是一款常用的直流电机驱动模块,采用
    发表于 06-28 11:08

    使用Arduino和L293D控制电机的初学者

    在本篇文章中,您将学习到如何通过使用Arduino开发板和L293D驱动器控制直流电机、步进电机和伺服
    发表于 06-29 07:40

    如何使用Arduino L293D电机驱动器扩展板驱动直流电机

    直流电机是什么?步进电机是什么?伺服电机是什么?如何使用Arduino L293D电机驱动器扩展
    发表于 07-13 06:34

    怎样通过Arduino开发板和L293D驱动器控制直流电机

    怎样通过Arduino开发板和L293D驱动器控制直流电机?为什么用L293D驱动
    发表于 10-18 10:50

    请问一下L293D如何驱动5V直流电机

    请问一下L293D如何驱动5V直流电机?[/td][td]
    发表于 10-20 07:59

    使用L293d直流电机驱动器

    描述使用 L293d直流电机驱动器我的项目是直流电机驱动器,适用于中低功率电机。如果要
    发表于 08-01 06:15

    ATMEGA 328P与L293D电机驱动器

    描述ATMEGA 328P与L293D这是一个 Atmega 328P 加上一个 L293D 电机驱动器。 它控制
    发表于 08-10 06:41

    L293D电机驱动模块使用手册

    L293D电机驱动模块使用手册
    发表于 07-15 12:07 615次下载

    微雪电子直流电机、步进电机驱动模块简介

    Arduino 电机控制板 双桥 L293D 可同时驱动四路直流电机或两路步进电机 自带ESD
    的头像 发表于 12-19 16:33 1697次阅读
    微雪电子<b class='flag-5'>直流电机</b>、步进<b class='flag-5'>电机</b><b class='flag-5'>驱动</b>模块简介

    使用L293d直流电机驱动器

    电子发烧友网站提供《使用L293d直流电机驱动器.zip》资料免费下载
    发表于 07-19 10:08 5次下载
    使用<b class='flag-5'>L293d</b>的<b class='flag-5'>直流电机</b><b class='flag-5'>驱动器</b>

    使用Arduino和L293D电机驱动器IC控制直流电机

    如果你打算用直流电机建造一个机器人,那么你最终会了解到,如果你想让它朝某个方向移动,你需要同时控制电机的速度和 方向。最好的方法之一是使用 L293D
    发表于 03-30 11:11 2次下载
    使用Arduino和<b class='flag-5'>L293D</b><b class='flag-5'>电机</b><b class='flag-5'>驱动器</b>IC<b class='flag-5'>控制</b><b class='flag-5'>直流电机</b>

    L293D驱动5V直流电机

    L293D 工作电压为4.5 Vto 36 V,是一个高电压、大电流、 4 通道单集成电机驱动,用于连接标准 DTL或 TTL逻辑电平、驱动感应负载(如继电器线圈、
    发表于 04-03 15:03 4次下载
    <b class='flag-5'>L293D</b><b class='flag-5'>驱动</b>5V<b class='flag-5'>直流电机</b>

    L293D驱动器电路图介绍

    L293D驱动器是一款双H桥驱动器,它可以用来驱动直流电机和步进电机
    的头像 发表于 02-02 14:53 3710次阅读
    <b class='flag-5'>L293D</b><b class='flag-5'>驱动器</b>电路图介绍