Uso del cableado y realización del código del módulo de accionamiento del motor L298N

1. Introducción al módulo de convertidor

El módulo de accionamiento del motor generalmente utiliza L298N como el chip de control principal.
Inserte la descripción de la imagen aquí
Como se muestra en la figura,
Inserte la descripción de la imagen aquí
cuando se utiliza la fuente de alimentación de 5 V del microcontrolador para impulsar un motor pequeño de 5 V, los 12 V y 5 V del módulo de accionamiento están conectados al 5 V del microcontrolador (esto se puede mover, pero la velocidad de la rueda no es rápida, verifique el método de conexión a continuación en detalle) GND debe estar conectado a GND del microordenador de un solo chip, es decir, debe compartir el suelo con el microordenador de un solo chip.
Los encabezados de 6 pines de la primera fila se pueden conectar al puerto IO del microordenador de un solo chip. Entre ellos, IN1 a IN4 son las entradas lógicas del motor, que controlan la rotación hacia adelante y hacia atrás. Tomemos el motor izquierdo como ejemplo, cuando IN1 = 0, IN2 = 1, es rotación hacia adelante. Cuando IN1 = 1, IN2 = 0, es inverso. El modo de espera es todo 0 y los frenos son todos 1. ENA y ENB son la habilitación de dos motores. Cuando sea necesario ajustar la velocidad, simplemente desconecte esas dos tapas de los puentes de habilitación directamente y luego conecte una señal PWM a la primera entrada. (La velocidad PWM puede referirse a otro artículo mío)

2. Método de cableado del módulo de transmisión

1) El primer método (no recomendado)

Tanto el puerto de alimentación de 12 V como el puerto de alimentación de 5 V están conectados al voltaje de 5 V
Inserte la descripción de la imagen aquí
ps del microcontrolador : el primer método tiene un pequeño aumento de voltaje y la velocidad de la rueda es insuficiente y puede que no sea posible ajustar la velocidad

2) El segundo método (recomendado)

Cuando se conecta el voltaje de 7 ~ 12V, el 5V positivo no necesita estar conectado al voltaje, y puede generar un voltaje de 5V para el microordenador de un solo chip. El del medio está conectado al GND del microcontrolador.
Inserte la descripción de la imagen aquí
ps: dado que el puerto de la fuente de alimentación de 5v puede generar un voltaje de 5v, se puede usar directamente para alimentar el microcontrolador

3) El tercer método (no recomendado)

Cuando el voltaje de entrada es mayor de 12 V y menor de 24 V, debe desenchufar la tapa del puente junto a la fuente de alimentación. El terminal de 5 V debe estar conectado a un voltaje de 5 V y GND todavía está conectado a GND.
Inserte la descripción de la imagen aquí
ps: el voltaje de entrada del tercer método es relativamente grande, y tengo miedo de afectar el microcontrolador cuando se ajusta la velocidad PWM, así que utilizo el segundo método

3. Cómo utilizar el módulo de convertidor

Inserte la descripción de la imagen aquí

  • Instrucciones:

Salida A: Salida del canal A, conectada al motor
Salida B: Salida del canal B, conectada al motor Fuente de alimentación de
12 V: Entrada positiva de la fuente de alimentación principal
Fuente de alimentación GND: Entrada de polo positivo y negativo de la fuente de alimentación principal
Salida de 5 V: Terminal de salida de voltaje de 5 V , se puede utilizar para alimentar la MCU
ENA: habilitación del canal A, conexión de señal pwm (para control de velocidad)
ENB: habilitación del canal B conexión de señal pwm (para control de velocidad)
IN1 ~ IN4: entradas lógicas IN1 ~ IN2 control canal A, entradas lógicas IN3 ~ IN4 control canal B
tapa de puente de 5 V integrada: la salida de 5 V integrada es válida después de la conexión

4. Código de referencia

1) 52 versión de un solo chip (proporcionada por Taobao, se pueden hacer comentarios si se necesita un documento de Word)

Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí

2) versión stm8 (autoescrita)
// 关于电机驱动的宏定义
#define RightIN1 PH_ODR_ODR0    //定义为输出量
#define RightIN2 PH_ODR_ODR1
#define LeftIN1  PH_ODR_ODR2     //定义为输出量
#define LeftIN2  PH_ODR_ODR3

void Motor_Init(void)
{
   //设置Ph0-3端口为推挽低速输出
  PH_DDR_DDR0 = 1;  
  PH_CR1_C10 = 1;   
  PH_CR2_C20 = 0;   
  
  PH_DDR_DDR1 = 1;  
  PH_CR1_C11 = 1;   
  PH_CR2_C21 = 0;  
  
  PH_DDR_DDR2 = 1;  
  PH_CR1_C12 = 1;   
  PH_CR2_C22 = 0;  
  
  PH_DDR_DDR3 = 1;  
  PH_CR1_C13 = 1;   
  PH_CR2_C23 = 0;  
  

}

//小车左转
void Motor_TurnLeft(void)
{
    RightIN1 = 0;
    RightIN2 = 1;
    
    LeftIN1 = 1;
    LeftIN2 = 1;
  //  delay_ms(2000);
}


//小车右转
void Motor_TurnRight(void)
{
    RightIN1 = 1;
    RightIN2 = 1;
    
    LeftIN1 = 1;
    LeftIN2 = 0;
  //  delay_ms(2000);
}


//小车直走
void Motor_GoForward(void)
{

    RightIN1 = 0;
    RightIN2 = 1;
    
    LeftIN1 = 1;
    LeftIN2 = 0;
  //  delay_ms(2000);
}


//小车倒退
void Motor_GetBack(void)
{
    RightIN1 = 1;
    RightIN2 = 0;
    
    LeftIN1 = 0;
    LeftIN2 = 1;
  //  delay_ms(2000);
}


void Motor_BeParking(void)
{
    RightIN1 = 1;
    RightIN2 = 1;
    
    LeftIN1 = 1;
    LeftIN2 = 1;
}

5. Problemas comunes

1) ¿El motor no gira?

(1) Hay un ruido pero el engranaje no gira, puede ser que el voltaje no sea suficiente, aumente el voltaje
(2) Hay un error en el cableado, y no hay tierra común con la MCU, etc.
(3) El terminal lógico está programado incorrectamente y no está habilitado correctamente

2) ¿Quiere desenchufar las tapas de los puentes en ENA y ENB?

Si solo necesita girar el motor, no necesita desenchufarlo. Si necesita depurar, debe desenchufar y luego conectar directamente una señal PWM.

Enlace de referencia:
motor de accionamiento L298N y diagrama de conexión del circuito de un solo chip
Conexión y uso del módulo L298N (variador stm32 y variador 51)

Supongo que te gusta

Origin blog.csdn.net/weixin_44751294/article/details/110503256
Recomendado
Clasificación