STM32 Maze Solver v1.0
Proyecto de robot autónomo que resuelve un laberinto mediante un algoritmo de llenado (*Flood Fill*), desarrollado sobre STM32.
Cargando...
Buscando...
Nada coincide
Referencia del archivo control_motor.h

Módulo de control de motores. Más...

#include "main.h"

Ir al código fuente de este archivo.

defines

#define VELOCIDAD_AVANCE   700
#define VELOCIDAD_GIRO   1000
#define TIEMPO_GIRO_90   500
#define TIEMPO_GIRO_180   1000

Enumeraciones

enum  motor_estado_t { MOTOR_AVANCE = 0 , MOTOR_RETROCESO , MOTOR_FRENADO }
 Estados de motor según tabla de control. Más...

Funciones

void control_motor_init (void)
 Inicializa el sistema de control de motores.
void avanza (void)
 Avanza con ambos motores al 70% de velocidad.
void gira90izq (void)
 Gira 90 grados a la izquierda y continúa avanzando.
void gira90der (void)
 Gira 90 grados a la derecha y continúa avanzando.
void gira180 (void)
 Gira 180 grados y continúa avanzando.
void termino (void)
 Detiene ambos motores completamente.
void set_motor_izq (motor_estado_t estado, uint16_t pwm)
 Configura el motor izquierdo.
void set_motor_der (motor_estado_t estado, uint16_t pwm)
 Configura el motor derecho.

Descripción detallada

Módulo de control de motores.

Autor
demianmozo
Fecha
2025-06-07
Versión
1.0

Este módulo controla los dos motores del robot usando:

  • Pines digitales para dirección (MI0/MI1, MD0/MD1)
  • PWM para velocidad (PC8, PC9)
  • Timer TIM3 para generar señales PWM

Documentación de «define»

◆ TIEMPO_GIRO_180

#define TIEMPO_GIRO_180   1000

◆ TIEMPO_GIRO_90

#define TIEMPO_GIRO_90   500

◆ VELOCIDAD_AVANCE

#define VELOCIDAD_AVANCE   700

◆ VELOCIDAD_GIRO

#define VELOCIDAD_GIRO   1000

Documentación de enumeraciones

◆ motor_estado_t

Estados de motor según tabla de control.

M1 M0 Acción
0 1 Avance
1 0 Retroceso
0 0 Frenado
1 1 Frenado
Valores de enumeraciones
MOTOR_AVANCE 
MOTOR_RETROCESO 
MOTOR_FRENADO