一起玩儿物联网人工智能小车——05. 电机驱动模块L298N

前边已经通过USB的5V电源使得TT马达可以转动起来了。我们要做得并不是一个竞速的玩具四驱车,所以必须要能够随心所欲的控制马达的转速,这样才能够实现循迹、避障和跟随等基本功能。TT马达的控制工作自然是交给了我们之前所选的ESP32芯片来完成了,但是可以把电机直接连接到ESP32的引脚上么?答案肯定是不能的。其主要的原因是芯片引脚的输出电压和电流都达不到TT马达正常工作的要求,就像人的力量不足以拉动一个火车一样。这个时候,我们就需要一个“力量”放大器,可以将我们的力量放大到可以拖动火车前进。而这个“力量”放大器就是本文所要介绍的电机驱动模块,它的作用就是可以将芯片的输出信号的电流进行放大,使其可以驱动TT马达转动。

电机驱动模块有很多,我们在选择的时候主要考虑2个因素,一个是模块所支持的电压,一个是能承受的最大电流。在这两方面最好都留有一定的余量。我们选择的以L298N芯片为核心的电机驱动模块,该芯片常用于控制直驱动流电机、步进电机等。它具有以下特点:

1.输出驱动能力较强,可以驱动电流较大的电机。

2.支持双路PWM控制,可以实现两个电机的速度和方向控制。

3.具有过热保护功能,可以保护芯片和电机免受过热损坏。

4.具有使能控制端,可以方便地控制电机的启动和停止。

总之,L298N是一种功能强大、易于使用的电机驱动芯片,广泛应用于各种电机控制系统中。其基本参数如下:

  •         主控芯片:L298N
    •         工作模式:H桥驱动(双路)
      •         逻辑电压:5V-7V.
        •         逻辑电流:0-36mA
          •         驱动电压:5-35V,如需要板内取电,则供电范围7V-35V
            •         驱动电流:2A(MAX单桥)
              •         存储温度:-20℃到+135℃
                •         最大功率:25W
                  •         控制信号输入电压范围:低电平:-0.3V≤Vin≤1.5V
                    •                 高电平:2.3V≤VinsVss
                      •         使能信号输入电压范围电平:-0.3≤Vins≤1.5(控制信号无效)
                        •                 高电平:2.3V≤VinsVss(控制信号有效)

通过上边的参数可以知道,L298N驱动模块的驱动电压为5-35V,完全覆盖了TT马达的正常工作时需要的电压范围,也符合我们之前采购的12V可充电电池的要求。而其最大电流达到了2A,也高于TT马达堵转时的电流,在电机堵转的情况下,也不会损坏驱动的L298N芯片。

每个L298N芯片可以驱动2个TT马达,所有我选择了拥有双芯片,四路输出的L298N电机驱动模块。如下图所示:

该模块的主要接口如下图所示:

这些接口的功能说明如下:

  1. 开关:是控制整个模块的电源开关。
  2. 电源输入端子:为真个模块提供供电的电源接线端子。可接受的电压范围为直流5~35V。VCC为电源的正极,GND为电源的负极。
  3. 电机控制输入:接负责控制的单片机输出管脚。从IN1开始,每两个为一组,共四组,可以控制4个直流电动机的工作情况。
  4. 5V输出端子:对外提供5V直流供电。当使用这个端子为其他模块供电时,电源输入端的电压不应低于7V,否则此端口无法正常工作。
  5. 使能端子:EN1~EN4分别控制第1~4路电动机是否工作。
  6. 控制电机输出端子:用于连接被驱动的直流电动机的两端,自上到下每2个为一组,共四组。

L298N的控制逻辑关系如下表所示:

控制端口

EN1

IN1

IN2

电机1状态(接OUT1、OUT2)

通道1

1

1

0

正转

1

0

1

反转

1

0

0

停止

1

1

1

停止

0

0/1

0/1

停止

控制端口

EN2

IN3

IN4

电机2状态(接OUT3、OUT4)

通道2

1

1

0

正转

1

0

1

反转

1

0

0

停止

1

1

1

停止

0

0/1

0/1

停止

控制端口

EN3

IN5

IN6

电机3状态(接OUT5、OUT6)

通道3

1

1

0

正转

1

0

1

反转

1

0

0

停止

1

1

1

停止

0

0/1

0/1

停止

控制端口

EN4

IN7

IN8

电机4状态(接OUT7、OUT8)

通道4

1

1

0

正转

1

0

1

反转

1

0

0

停止

1

1

1

停止

0

0/1

0/1

停止

通过上表可以简单的总结出来,当EN为高电平1时,如果两个输入端的高低电平不同,则电动机转动(此时变换高低电平,可使转动方向相反),输入端的电平相同,则电动机不转。

根据L298N模块的控制特性,我们在使用中可以有以下2种接线方法:

第一种方法是将使能端EN接高电平,保持一直可用的状态,然后通过单片机分别控制两个IN端,使用不同的波形来控制电机的转速和方向。

第二种方法是用单片机控制两个IN端分别是0和1来改变电动机的运转方向,再通过控制EN端的输入波形来调整电机的运转速度。

这两种接法的区别在于第一种只需要使用2个单片机引脚,而第二种则需要3个单片机引脚。但是,第一种要求这两个引脚都需要能输出不同波形的控制信号,而第二种方法则只需要一个能输出不同波形信号的引脚就可以了(另2个引脚只是控制高低电平的输出)。

好了,电机驱动模块——L298N就基本介绍到这里了,具体的接线方法和控制方法再后面还会做具体的讲解。

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
乘风的头像乘风管理团队
上一篇 2023年12月21日
下一篇 2023年12月21日

相关推荐