Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Manufacturing Technology >> Proceso de manufactura

Control Automático de Tren DIY con Arduino: Simple, Fiable y Personalizable

Componentes y suministros

Componente Cantidad
Arduino UNO (cualquier placa: UNO, NANO, MEGA...) 1
Driver de motor doble H-Bridge L298 (módulo estándar) 1
Cables jumper 1 set

Aplicaciones y servicios en línea

Sobre este proyecto

Este esquema tan sencillo pone tu tren en marcha automáticamente. Puedes ajustar tiempos de movimiento, parada, aceleración y frenada. Modificando los parámetros de horario en el sketch, creas cualquier tipo de movimiento automático. ¡Enciende y el tren parte!

Parámetros de horario (en el código)

El sketch usa un contador por segundos (counterScheduler) para definir fases:

// 1 | 0-5 seg: Arranque y aceleración
if (counterScheduler <= 5) { ... }

// 2 | 10-15 seg: Frenada y parada
if (counterScheduler >= 10 && counterScheduler <= 15) { ... }

// 3 | 16 seg: Cambio de dirección
if (counterScheduler == 16) { ... }

// 4 | 20-30 seg: Nuevo arranque
// 5 | 31-40 seg: Nueva parada
// 6 | >40 seg: Reinicio del ciclo (vuelve a paso 1)

Variables de movimiento

int brakingDelta = 5;      // Paso de decremento de velocidad al frenar
int accelerateDelta = 6;   // Paso de incremento al acelerar

Control de dirección

Pines D6 (IN1) y D7 (IN2) del L298 determinan el sentido:

// Dirección por defecto: ADELANTE
digitalWrite(L298_IN1, HIGH);
digitalWrite(L298_IN2, LOW);

Para invertir: IN1=LOW, IN2=HIGH.

Puedes extender el sketch infinitamente para crear horarios complejos.

Código

Sketch "Swing" (movimiento ida y vuelta)

// L298
#define L298_ENA 5
#define L298_IN1 6
#define L298_IN2 7

// Variables
int counterScheduler = 0;
unsigned long timerScheduler = 0;
unsigned long timerLocal = 0;
byte speedAuto = 0;

void setup() {
  pinMode(L298_ENA, OUTPUT);
  pinMode(L298_IN1, OUTPUT);
  pinMode(L298_IN2, OUTPUT);
  digitalWrite(L298_IN1, HIGH); // ADELANTE
  digitalWrite(L298_IN2, LOW);
}

void loop() {
  // Temporizador principal: 1 tick/seg
  if (millis() > (timerScheduler + 1000)) {
    counterScheduler++;
    timerScheduler = millis();
  }

  int brakingDelta = 5;
  int accelerateDelta = 6;

  // Fase 1: 0-5 seg -> Acelerar
  if (counterScheduler <= 5) {
    if (millis() > (timerLocal + 100)) {
      if (speedAuto < 240) speedAuto += accelerateDelta;
      else speedAuto = 255;
      analogWrite(L298_ENA, speedAuto);
      timerLocal = millis();
    }
  }

  // Fase 2: 10-15 seg -> Frenar
  if (counterScheduler >= 10 && counterScheduler <= 15) {
    if (millis() > (timerLocal + 100)) {
      if (speedAuto > 30) speedAuto -= brakingDelta;
      else speedAuto = 0;
      analogWrite(L298_ENA, speedAuto);
      timerLocal = millis();
    }
  }

  // Fase 3: 16 seg -> Cambiar dirección
  if (counterScheduler == 16) {
    digitalWrite(L298_IN1, LOW);
    digitalWrite(L298_IN2, HIGH);
  }

  // Fase 4: 20-30 seg -> Acelerar (vuelta)
  if (counterScheduler >= 20 && counterScheduler <= 30) {
    if (millis() > (timerLocal + 100)) {
      if (speedAuto < 240) speedAuto += accelerateDelta;
      else speedAuto = 255;
      analogWrite(L298_ENA, speedAuto);
      timerLocal = millis();
    }
  }

  // Fase 5: 31-40 seg -> Frenar
  if (counterScheduler >= 31 && counterScheduler <= 40) {
    if (millis() > (timerLocal + 100)) {
      if (speedAuto > 30) speedAuto -= brakingDelta;
      else speedAuto = 0;
      analogWrite(L298_ENA, speedAuto);
      timerLocal = millis();
    }
  }

  // Fase 6: >40 seg -> Reiniciar ciclo
  if (counterScheduler > 40) {
    counterScheduler = 0;
    digitalWrite(L298_IN1, HIGH);
    digitalWrite(L298_IN2, LOW);
  }
}

Esquemáticos

Esquema de cableado del control automático de tren (imágenes adjuntas).

Proceso de manufactura

  1. Pastillas Anticonceptivas: Historia, Beneficios, Riesgos y Producción
  2. Sistema Automatizado de Llenado y Monitorización de Piscina
  3. Máquinas de Prensa Automáticas: Funcionamiento, Beneficios y Aplicaciones
  4. Comprender las Prensas de Potencia Automáticas: Características, Beneficios y Aplicaciones
  5. Entendiendo las Curvadoras de Tubos Automáticas: Funciones, Beneficios y Aplicaciones
  6. Entendiendo las Mesas Rotativas Automáticas: Precisión y Eficiencia en Metalmecánica
  7. Guía Completa de Sistemas de Transmisión Automática
  8. Sistemas de Lubricación Automática: Cómo Funcionan y Por Qué Son Importantes
  9. Circuitos de Control: Fundamentos, Aplicaciones y Mejores Prácticas
  10. Trabajo en banco (benchwork): definición, aplicaciones y beneficios
  11. Comprender el control de calidad: Garantizar la excelencia consistente