资讯详情

学习笔记15-L298N

目录

  • 学前基础-全H桥
    • 原理图
    • H桥工作模式
  • 一、L298N初认识
    • 参数
    • 特点
    • 功能框图
    • 电路图
    • 引脚
    • 真值表
  • 二、接线
    • 1.板内电压驱动
    • 2.外部电源驱动
  • 三、代码段
    • motor.c
    • motor.h

学前基础-全H桥

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

原理图

以全NMOS管为例 在这里插入图片描述 从上图可以看出,该电机的驱动电路由4个驱动NMOS管道由H型组成,故称全H桥电路。通过控制4个MOS管道的导通和截止对中间电机有不同的控制作用。NMOS管的

H桥工作模式

:Q1、Q4.网格电平极高,Q2、Q3为低电平,Q1,Q如左图所示,电机正向旋转。 :Q2、Q3.网格电平极高,Q1、Q4为低电平,Q2,Q如右图所示,电机反向旋转。 :如何停止旋转电机?,电流不能突变。断开电机两端增加的电压时,电机产生的反向电势很可能。光断电还不够,还要。 以左侧正转模式为例

  • 若此时采用:四个MOSFET关闭,电机上的电流将通过Q2和Q3.寄生二极管继续流动,如②线显示。可以发现,此时电流的流向与电源电压相反,因此,当电流衰减为0时,因为FET关闭,电源电压不会加在电机上,电机会逐渐停止。
  • 如果采取:Q2、Q4导通,Q1、Q3关闭。电机上的电流通过Q2和Q继续流动,比如③如线所示,电机上的能量会逐渐消耗在电机本身和Q2、Q3上,这样的

补充 1.衰减的速度描述电流,而不是电机的旋转速度! 2.在快速衰减模式下,由于电流快速下降,电感电机上升,电机会。 在慢衰减模式下,电机的两端类似于短接,,储存的能量瞬间释放,电机会

一、L298N初认识

L298是L高功率、大电流版本的293电机驱动芯片, 由Multiwatt 15封装,N是L298封装标识符。 L298N可接受高电压、大电流,采用Multiwatt 15脚包装,接受标准逻辑电平信号;内置稳压芯片78MO5.使内部逻辑电路部分在低压下工作,也可以输出外部逻辑电压5V。(当使用超过12时,为避免稳压芯片损坏V驱动电压时,必须使用外部5V接口独立供电。

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

H桥芯片损失严重(饱和压降大)需要安装散热器,所以体积比较大。

参数

特点

功能框图

可以看到于L298NH桥采用,无寄生二极管,无法实现续流,因此外接了8个续流二极管。

电路图

引脚

实物图显示: 说明:

  • ENA、ENB:该接口高电平电机运行,默认跳线帽短接高电平(一直使用);可拔下主控板PWM端口调速。
  • 输出A、B(OUT1、OUT2、OUT3、OUT4):连接两个电机,不分正负.
  • 逻辑输入(IN1、IN2、IN3、IN4):控制电机的正反转和速度,IN1和IN2控制电机M1,IN3和IN4控制电机M2.
  • GND:需要电源地(控制时使用的逻辑电平均以同一个地方为参考)。
  • 12V供电:电机供电接口,这里!!
  • 5V电源:电压输出口可用于主控板5V电源(不推荐)。
  • 板载5V使能:跳线帽连接5V供电口才5V电压输出。

真值表

二、接线

1、板内电压驱动

2.外部电源驱动

十分重要!

三、代码段

关于旋转方向

  • 当两台电机转速相同时,车辆直行;
  • 当左电机比右电机旋转快时,汽车右转;
  • 当右电机比左电机旋转快时,汽车左转.

调查电机不转动的原因

  • 有噪音但不转动,可能是电压不够,试着增加电压
  • 接线错误,电源不与单片机共用…
  • 逻辑端没有正确使能

motor.c

#include "motor.h"  //刹车 void MOTOR_CarBrakeAll(void){ 
          MOTOR1_BRAKE;  MOTOR2_BRAKE; }  //后退 void MOTOR_CaBack(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 电机驱动板 - 详细介绍


标签: n8011二极管二极管出口量1n753a二极管in5934b二极管1n5338b二极管

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台