学习笔记15-L298N

学前小基础——全H桥

关于MOS管:元器件学习(2):MOS管
关于PWM:学习笔记11-PWM

原理图

以全NMOS管为例
在这里插入图片描述
从上图可看出,此电机驱动电路由4个NMOS管构成,形如H型,故名全H桥电路。通过控制4个MOS管的导通与截止达到对中间电机的不同控制效果。NMOS管的栅极为高电平时导通,低电平时截止

H桥工作模式

正转模式:Q1、Q4的栅极为高电平,Q2、Q3为低电平,Q1,Q4导通,如左图所示,电机正向旋转。
反转模式:Q2、Q3的栅极为高电平,Q1、Q4为低电平,Q2,Q3导通,如右图所示,电机反向旋转。
在这里插入图片描述
电流衰减模式:如何让旋转的电机停下来?电机是感性负载,电流不能突变。在断开电机两端所加的电压时,电机产生的反向电动势很有可能损坏FET。光断电还不够,还要形成一个续流的回路来释放掉电机上的能量
在这里插入图片描述
以左侧正转模式为例

  • 如果此时采取快衰减模式(滑动):四个MOSFET关断,电机上的电流会通过Q2和Q3的寄生二极管继续流动,如②线所示。可发现,此时电流的流向是与电源电压相反的,因此电流衰减很快,当电流衰减为0时,由于FET是关断的,电源电压不会加在电机上,电机会逐渐停下。
  • 如果采取制动/慢衰减模式(制动):Q2、Q4导通,Q1、Q3关断。电机上的电流通过Q2和Q4继续流动,如③线所示,电机上的能量会逐渐消耗在电机本身和Q2、Q3上,这样的电流衰减相对较慢

补充
1、衰减的快慢是形容电流的,不是电机转动速度!
2、快衰减模式下,由于电流迅速下降,电感电机上储存的能量释放很慢,电机会逐渐停止
慢衰减模式下,电机的两端类似于短接,电流很大且衰减慢,储存的能量被瞬间释放,此时电机会瞬间停止

一、L298N初认识

L298是L293电机驱动芯片的高功率、大电流版本, 由Multiwatt 15封装,N是L298的封装标识符。在这里插入图片描述
L298N是一款可接受高电压、大电流双路全桥式电机驱动芯片,采用Multiwatt 15脚封装,接受标准TTL逻辑电平信号;内置稳压芯片78MO5,使内部逻辑电路部分在低电压下工作,也可以对外输出逻辑电压5V。(为了避免稳压芯片损坏,当使用大于12V驱动电压时,务必使用外置的5V接口独立供电。)

L298N通过控制主控芯片上的I/O输入端,直接通过电源来调节输出电压,即可实现电机的正转、反转、停止,由于电路简单,使用方便,通常情况下L298N可直接驱动继电器(四路)、螺线管、电磁阀、直流电机(两台)以及步进电机(一台两相或四相)。

由于芯片在H桥上的损耗严重发热较明显(饱和压降大),需要加装散热片,因此体积也相对较大。

参数

在这里插入图片描述

特点

  • 发热量低
  • 抗干扰能力强
  • 驱动能力强 (高电压、大电流)
  • 可靠性高 (使用大容量滤波电容,续流保护二极管可过热自断和反馈检测)
  • 工作电压高 (最高至46V)
  • 输出电流大 (瞬间峰值电流可达3A,持续工作电流为2A)
  • 额定功率25W

功能框图

在这里插入图片描述
可以看到于L298N的H桥采用了BJT,没有寄生二极管,无法实现续流,因此外接了8个续流二极管。

电路图

在这里插入图片描述

引脚

在这里插入图片描述

在这里插入图片描述
实物图展示:
在这里插入图片描述
说明:

  • ENA、ENB:此接口高电平电机运行,默认跳线帽短接到高电平(一直使能);可拔掉接主控板PWM端口实现调速。
  • 输出A、B(OUT1、OUT2、OUT3、OUT4):接两个电机,不分正负.
  • 逻辑输入(IN1、IN2、IN3、IN4):控制电机正反转和速度,IN1和IN2控制电机M1,IN3和IN4控制电机M2.
  • GND:电源地,需要与主控板的GND连接(使控制时所用的逻辑电平均是以同一个地做参考)。
  • 12V供电:给电机供电的接口,此处要独立供电!!
  • 5V供电:电压输出口,可以使用这个口给主控板供5V电源(不推荐)。
  • 板载5V使能:跳线帽接起来“5V供电”口才有5V电压输出。

真值表

在这里插入图片描述

二、接线

1、板内电压驱动

在这里插入图片描述

2、外接电源驱动

在这里插入图片描述

电源地记得与主控板的GND共地!! 十分重要!

三、代码段

关于转动方向

  • 当两个电机转动速度相同时,小车直行;
  • 当左电机比右电机转动快时,小车右转;
  • 当右电机比左电机转动快时,小车左转.

关于电机不会转动原因排查

  • 有响声但不转,可能是电压不够,尝试加大电压
  • 接线错误,电源地没有与单片机共地…
  • 逻辑端没有正确的使能

motor.c

#include "motor.h"

//刹车
void MOTOR_CarBrakeAll(void){
	MOTOR1_BRAKE;
	MOTOR2_BRAKE;
}

//后退
void MOTOR_CarBack(void){
	MOTOR1_01;
	MOTOR2_10;
}

//前进 
void MOTOR_CarForward(void){
	MOTOR1_10;
	MOTOR2_01;
}

void MOTOR_GPIOInit(void){
	GPIO_InitTypeDef GPIO_InitStructure;
	RCC_APB2PeriphClockCmd(MOTOR1_GPIO_CLK|MOTOR2_GPIO_CLK,ENABLE);
	GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
	GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;

	//电机1
	GPIO_InitStructure.GPIO_Pin = MOTOR1_GPIO_PIN;
	GPIO_Init(MOTOR1_GPIO_PORT, &GPIO_InitStructure);
	//电机2
	GPIO_InitStructure.GPIO_Pin = MOTOR2_GPIO_PIN;
	GPIO_Init(MOTOR2_GPIO_PORT, &GPIO_InitStructure);
}

motor.h

#ifndef __MOTOR_H
#define __MOTOR_H

#include "stm32f10x.h"

#define IN1_PIN								GPIO_Pin_12
#define IN2_PIN								GPIO_Pin_13
#define IN3_PIN								GPIO_Pin_14
#define IN4_PIN								GPIO_Pin_15

//10:IN1:1、IN2:0    01:IN1:0、IN2:1
#define MOTOR1_GPIO_PORT					GPIOB
#define MOTOR1_GPIO_CLK 	  			    RCC_APB2Periph_GPIOB
#define MOTOR1_GPIO_PIN						IN1_PIN|IN2_PIN
#define MOTOR1_10							{GPIO_SetBits(MOTOR1_GPIO_PORT,IN1_PIN);GPIO_ResetBits(MOTOR1_GPIO_PORT,IN2_PIN);}
#define MOTOR1_01							{GPIO_ResetBits(MOTOR1_GPIO_PORT,IN1_PIN);GPIO_SetBits(MOTOR1_GPIO_PORT,IN2_PIN);}
#define MOTOR1_BRAKE					    GPIO_ResetBits(MOTOR1_GPIO_PORT,MOTOR1_GPIO_PIN);

//10:IN3:1、IN4:0    01:IN3:0、IN4:1
#define MOTOR2_GPIO_PORT    				GPIOB
#define MOTOR2_GPIO_CLK 	    			RCC_APB2Periph_GPIOB
#define MOTOR2_GPIO_PIN						IN3_PIN|IN4_PIN
#define MOTOR2_10				   		    {GPIO_SetBits(MOTOR2_GPIO_PORT,IN3_PIN);GPIO_ResetBits(MOTOR2_GPIO_PORT,IN4_PIN);}
#define MOTOR2_01   	        		    {GPIO_ResetBits(MOTOR2_GPIO_PORT,IN3_PIN);GPIO_SetBits(MOTOR2_GPIO_PORT,IN4_PIN);}
#define MOTOR2_BRAKE				  	    GPIO_ResetBits(MOTOR2_GPIO_PORT,MOTOR2_GPIO_PIN);

void MOTOR_CarBrakeAll(void);
void MOTOR_CarBack(void);
void MOTOR_CarForward(void);
void MOTOR_GPIOInit(void);

#endif /* __MOTOR_H */

参考自:
1、[教程]【Mind+】(超详细)如何使用L298N电机驱动图形编程控制电机
2、【电机驱动芯片(H桥、直流电机驱动方式)——DRV8833、TB6612、A4950、L298N的详解与比较】
3、L298N 电机驱动板 - 详细介绍


  • 1
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ChristianLuu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值