Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Manufacturing Technology >> Processo de manufatura

Controle Automático de Trem DIY com Arduino – Simples, Confiável e Personalizável

Componentes e Materiais

ComponenteQuantidadeObservações
Jumpers (genéricos)1
Arduino UNO (qualquer placa: UNO, NANO, MEGA, etc.)1
Driver de Motor Duplo H-Bridge L298 (módulo)1Recomendo módulo L298 padrão como no esquemático

Aplicativos e Serviços Online

Sobre o Projeto

Este esquema simples coloca seu trem na programação rapidamente. Ajuste tempo de movimento, tempo de parada, aceleração e frenagem. Alterando parâmetros no sketch, cria qualquer tipo de movimento automático. Ligue a alimentação e o trem parte!

Parâmetros de Programação (Sketch)

Alterando tempos no código cria-se uma tabela horária:

// 1 | 0 > Tempo < 5 seg
if (counterScheduler <= 5) { ...... }

// 2 | 10 seg > Tempo < 15 seg
if ((counterScheduler >= 10) && (counterScheduler <= 15)) { ...... }

// 3 | Inverter direção
if (counterScheduler == 16) { .... }
// etc.

Variáveis de Movimento

int brakingDelta = 5;      // Parâmetro de frenagem
int accelerateDelta = 6;   // Parâmetro de aceleração

Definem o comportamento de movimento do trem.

Controle de Direção

A direção é definida pelos pinos D6 e D7:

// Direção padrão: FRENTE
digitalWrite(L298_IN1, HIGH);
digitalWrite(L298_IN2, LOW);

Modifique o sketch infinitamente para novas opções de movimento automático.

Boa viagem!

Código Completo (Arduino)

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

// Variáveis do script
int counterScheduler;
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);
  // Direção padrão: FRENTE
  digitalWrite(L298_IN1, HIGH);
  digitalWrite(L298_IN2, LOW);
}

void loop() {
  // Agendador: tick a cada 1 segundo
  if (millis() > (timerScheduler + 1000)) {
    counterScheduler++;
    timerScheduler = millis();
  }

  // ---------- SCRIPT: IDA E VOLTA (SWING)
  int brakingDelta = 5;
  int accelerateDelta = 6;

  // 1 | 0 a 5 seg: Acelera e anda
  if (counterScheduler <= 5) {
    if (millis() > (timerLocal + 100)) {
      if (speedAuto < 240) speedAuto += accelerateDelta;
      else speedAuto = 255;
      analogWrite(L298_ENA, speedAuto);
      timerLocal = millis();
    }
  }

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

  // 3 | 16 seg: Inverte direção
  if (counterScheduler == 16) {
    digitalWrite(L298_IN1, LOW);
    digitalWrite(L298_IN2, HIGH);
  }

  // 4 | 20 a 30 seg: Acelera e anda (volta)
  if ((counterScheduler >= 20) && (counterScheduler <= 30)) {
    if (millis() > (timerLocal + 100)) {
      if (speedAuto < 240) speedAuto += accelerateDelta;
      else speedAuto = 255;
      analogWrite(L298_ENA, speedAuto);
      timerLocal = millis();
    }
  }

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

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

Esquemáticos

Controle Automático de Trem DIY com Arduino – Simples, Confiável e Personalizável

Controle Automático de Trem DIY com Arduino – Simples, Confiável e Personalizável

Processo de manufatura

  1. Circuitos de Controle: Fundamentos, Aplicações e Melhores Práticas
  2. Sistema Automatizado de Enchimento e Monitoramento de Piscina
  3. Entendendo Bancada de Trabalho: Definição, Aplicações e Benefícios
  4. Entendendo o Controle de Qualidade: Garantindo Excelência Consistente
  5. Máquinas de Prensa Automáticas: Função, Benefícios e Aplicações
  6. Entendendo Prensas de Potência Automáticas: Características, Benefícios e Aplicações
  7. Dobradores de Tubos Automáticos: Funções, Benefícios e Aplicações
  8. Entendendo Mesas Rotativas Automáticas: Precisão e Eficiência na Metalurgia
  9. Guia Abrangente de Sistemas de Transmissão Automática
  10. Sistemas de Lubrificação Automática: Como Funcionam e Por Que São Importantes