新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 直流电机与8051微控制器的接口

直流电机与8051微控制器的接口

作者:时间:2023-04-03来源:电子产品世界收藏

在这个项目中,我们将学习L293D和L298N电机驱动器,以及在L293D和L298N的帮助下将直流电动机与连接。

本文引用地址:http://www.eepw.com.cn/article/202304/445206.htm

当我们谈及控制机器人时,首先想到的是控制直流电动机。将直流电动机与连接是机器人应用中非常重要的概念。通过将直流电动机与连接,我们可以做很多事情,比如控制电动机的方向,控制电动机的速度。这篇文章描述了如何使用AT89C51控制器(或任何微控制器的变体)来控制直流电动机。

Interfacing DC Motor with 8051 Microcontroller using L298N Image 2

电路原理

微控制器引脚的最大输出电流在5V下是15mA。但是大多数直流电动机的功率要求是微控制器所不能承受的,甚至电动机产生的反电动势也可能损坏微控制器。

因此,直接将直流电动机连接到控制器上是不可取的。因此,我们在和微控制器之间使用电机驱动电路。

在这里,我们使用L293D和L298N电机驱动器IC来驱动。使用这些IC,我们可以同时驱动两个直流电动机。对于L293D电机驱动器,电机电源在4.5到36V之间变化,它提供的最大电流为600mA。对于L298N来说,电机电源最高为46V,可提供3A的电流。

关于L293D电机驱动器的简要说明

L293D是一个四重H桥电机驱动器,顾名思义,它用于驱动。这个IC的工作原理是基于H桥的概念。H桥是一个允许任何方向的电压来控制电机方向的电路。

L293D有4个输入引脚。电机方向取决于应用在这些引脚的逻辑输入。EN1和EN2必须是高电平才能驱动两个直流电动机。

L293D电路

L293D电路

IN1=0和IN2=0 -> 电机1空转

IN1=0和IN2=1 -> 电机1反时钟方向

IN1=1和IN2=0 --> 电机1的时钟方向

IN1=1和IN2=1 -> 电机1空转

IN3=0 和 IN4=0 --> 电机 2 空转

IN3=0和IN4=1 -> 电机2反时钟方向

IN3=1和IN4=0 --> 电机2的时钟方向

IN3=1和IN4=1 -> 电机2空转

关于L298N电机驱动器的简要说明

L298N电机驱动模块是目前比较常用的驱动IC。L298N的额定电流和电压高于L293D电机驱动器。

关于L298N电机驱动模块的更多信息,请参考《关于L298N电机驱动器的简要说明》。

使用L298N电机驱动模块引脚控制Arduino直流电机

L293D Circuit

直流电动机与和L293D连接的电路图

所需组件

AT89C51 (8051微控制器)

8051编程器

编程电缆

12V直流电池或适配器

L293D电机驱动器

直流电动机

电解电容 - 10uF

2个陶瓷电容 - 33pF

10k电阻(1/4瓦) - 4个

按钮 - 3

连接导线。

了解基于PWM的直流电动机速度控制电路如何使用微控制器工作

电路设计

上述电路图中的主要部件是at89c51微控制器和电机驱动器。在这里,电机驱动器的输入引脚IN1,IN2分别连接到P3.0和P3.1,以控制电机的方向。直流电机连接到L293D的输出端。EN1引脚连接到5V直流电以驱动电机。

开关被连接到微控制器的P2.0和P2.1的下拉配置中。第一个开关使电机按顺时针方向旋转,第二个开关使电机按逆时针方向旋转。电机驱动器的第8和第16个引脚连接到+5V电源。

算法

宣布P2.0和P2.1为输入,P3.0和P3.1为输出。

现在检查第一个按钮是否被按下。如果按下了,则向P3.0发送逻辑1。

接下来检查第二个按钮是否被按下。如果按下了,则向P3.1发送逻辑1,否则向端口3发送0。

Arduino DC Motor Control using L298N Motor Driver Module Pins

直流电动机与8051和L298N连接的电路图

Interfacing DC Motor with 8051 Microcontroller Circuit Diagram

直流电动机与8051和L293D连接的电路图

所需元件

AT89C51 (8051微控制器)

8051编程器

编程电缆

12V直流电池或适配器

L298N马达驱动模块

12V直流电动机

电解电容 - 10µF

2个陶瓷电容 - 33pF

10KΩ 电阻器 (1/4瓦)

1KΩ 电阻器(1/4瓦) - 3个

 8个1KΩ电阻包

按钮 - 4

连接导线。

电路设计

与上述电路类似,L298N电机驱动器的IN1和IN2连接到微控制器的0端口P0.0和P0.1引脚。电机驱动模块的OUT1和OUT2端连接一个12V的直流电机。

为了控制电机的旋转方向,我将使用三个按钮,分别连接到端口0的P0.5、P0.6和P0.7。

算法

声明P0.5和P0.6为输入,P0.0和P0.1为输出。

现在检查第一个按钮是否被按下。如果按下了,则向P0.0发送逻辑1,向P0.1发送逻辑0。这将使马达向前进方向旋转。

接下来检查第二个按钮是否被按下。如果按下,则向P0.1发送逻辑1,向P0.0发送逻辑0,使电机反向转动。

如何操作?

将程序刻录到8051单片机上。

现在按照电路图的要求进行连接。

在给出连接时,确保没有从电池到控制器的直接电源连接。

打开电路板的电源,现在电机处于静止状态。

按下第一个按钮,你可以观察到电机将沿顺时针方向旋转。

按下第二个按钮,现在电机按逆时针方向旋转。

关闭电路板的电源。

Interfacing DC Motor with 8051 Microcontroller using L298N Circuit Diagram

使用L298N将直流电动机与8051单片机连接起来

应用

这个概念在机器人中被用来控制机器人的方向。

用来控制直流电动机的速度。

在我们需要驱动高电压电机的应用中使用。



评论


相关推荐

技术专区

关闭