L298N是双H桥电机驱动芯片,可以驱动两个直流电机或者一个步进电机,能实现电机的正反转以及调速。先来看看L298N芯片实物:

上图是15脚Multiwatt封装的L298N。
L298N兼容标准的TTL逻辑,是一款高电压、高电流双全桥驱动器,能够驱动感性负载,例如继电器、电磁阀、直流电机、步进电机等。两个独立的使能信号用于使能或禁能设备,每一个桥的下管射极相连,射极引脚可以连接相应的采样电阻,用以过流保护,芯片的逻辑供电与负载供电分离,以使芯片可以工作在更低的逻辑电压下。
这个芯片那么多引脚,对于各引脚的功能定义,我们可以通过数据手册来了解:

从下往上数,按照序号,1脚和15脚是:电机电流(或叫桥驱动电流)检测引脚;2、3脚是A桥输出引脚,可接一个直流电机;4脚是负载驱动供电引脚,这个引脚和地之间必须要接一个100nF的无感电容;5脚和7脚是A桥信号输入,兼容TTL电平;6脚和11脚是使能输入,兼容TTL,低电平禁能,高电平使能;8脚是地,GND;9脚是逻辑供电,该引脚到地必须连接一个100nF的电容;10脚和12脚是B桥信号输入,同样兼容TTL逻辑电平;13脚和14脚是B桥输出,可接一个直流电机。
在这里需要提一下,是关于1脚和15脚:
当需要对电机电流进行检测时,分别在sense A、B两个引脚上串接个小电阻,当A、B两个桥的电流(电机电流)流过两个电阻时转换成电压,这个电压被送到控制L298工作的上位机(或控制电路),上位机就根椐这个电压的高低判断L298是否工作正常。
如果这个电压超过设计上限时,上位机就判L298有故障,可采取如下保护措施:
1、停止步进脉冲输出,关断电机电流。
2、给EN脚一个低电平,关闭L298。
如sense不用,就直接将sense A、B两脚接地。
好的,下面附上一个常见常用的L298N电机驱动模块的电路原理图:

如果大家对自制电机驱动模块感兴趣,可以按照这个原理图做PCB。
好的,关于这个L298N芯片我们就讲这么细,接下来我们来整体学习模块,上图:

关于这个模块的各接口的功能已经在图中标出,这个模块有两个供电口,标示着“12V输入”的是功率驱动电源输入,供电范围可以是7-46V,一般12V供电就能满足我们大部分的DIY需求。标示着“5V输出可不接”的是逻辑供电,当我们将“板载5V输出使能”的跳帽接上时,可对外供电,比如给单片机或者各传感器供电;如果功率驱动电源输入超过12V时,这个跳帽我们最好去掉,从外面给这个接口供电。标示着“单片机IO控制输入”的IN1、IN2、IN3、IN4是用来给控制信号的,可直接接单片机的IO口。最后,标示着“马达A输出、马达B输出”的就是接电机啦。当我们使用时,按照标示接好线就可以使用了。
接下来我们来看看这个模块的控制逻辑表:

当我们需要控制电机时按照上表给信号就OK。

不用单片机,单纯地用电源的正极和负极来给控制端口信号,给大家演示一下控制的过程。1是高电平,对应电源的5V,0是低电平,对应电源的负极,当我们给IN1接电源负极,给IN2接5V时,电机正转(对照逻辑控制表),反之,电机反转。
我们默认使能端口EN是使能的,5V的跳帽一直接着,这时电机的速度是恒定不变的。如果我们想要改变电机的转速,将这个使能端口用单片机控制,在一定的周期T内,控制给使能端口的高电平的时间,这时候电机就可以调出我们想要的转速,这就是PWM调速,这个过程用手也可以完成,但是速度不匀不够平滑,反应也不够速度。

来源:创客e工坊