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

Controla y sincroniza cientos de relés sin esfuerzo con expansores de E/S

Componentes y materiales

Expansor de E/S (IO Expander) 2
Expansor de relés (Relay Expander) 2
Placa de 16 relés 2
Arduino Nano R3 1

Sobre el proyecto

¿Necesitas controlar y sincronizar cientos de relés simultáneamente? Conecta tu Arduino, ESP8266, Raspberry Pi, PC o Mac a un IO Expander con Relay Expanders y usa la nueva función External Latching (latch externo).

Esto permite enviar la configuración de los relés en formato bit compacto listo para ser bloqueado. Luego, una sola línea GPIO (del MCU o de una salida del IO Expander) dispara todas las salidas latcheadas al mismo tiempo.

Ver proyecto relacionado: Control Up to 65,280 Relays with Your Arduino.

Configuración de latch externo en IO Expander

Estructura de comandos simple. Caso de uso: placa de 16 relés con latch externo.

>g4o1;g10n;el10
ok
ok
10
>

Luego encendemos relés y disparamos el latch:

>e1o;e10o;e16o
ok
ok
ok
>g4o0,1
ok
>

Escalado: 2 IO Expanders, 2 Relay Expanders, 2 placas de 16 relés

Los IO Expanders se comunican en bus multidrop protocolo 9-bit (hasta 255 expansores). Arduino Nano gestiona el bus.

Diagrama de latch externo

Esquema de conexiones: Arduino Nano → bus serie 9-bit → 2× IO Expander → cada uno a su Relay Expander → placa 16 relés. Pin GPIO 4 del primer expansor genera pulso de latch común.

Código Arduino

/* IO Expander - Relay Expander External Latching */
#include <HardwareSerial9Bit.h>
#include "IOExpander9Bit.h"
#include <avr/wdt.h>

//#define SERIAL_DEBUG
#define MAX_BOARDS 2

#ifdef SERIAL_DEBUG
SoftwareSerial swSerial(8,7);
#endif

void setup() {
  Serial9Bit.begin(115200, SERIAL_9N1);
  Serial9Bit.write(0); // Modo 9-bit
  #ifdef SERIAL_DEBUG
  swSerial.begin(115200);
  swSerialEcho = &swSerial;
  #endif
  wdt_enable(WDTO_8S);
  for (uint8_t board = 1; board <= MAX_BOARDS; board++)
    SerialCmdDone(board, "eb1"); // Habilita relay expander
  SerialCmdDone(1, "g4o1;g10n;el10"); // Config latch externo board 1
  SerialCmdDone(2, "g10n;el10");      // Config latch externo board 2
}

void loop() {
  static uint16_t i = 0;
  uint8_t r[2];
  r[0] = ~(uint8_t)(i >> 8);
  r[1] = ~(uint8_t)i++;
  SerialWriteRelayExpander(1, r, 2); // Envía 2 bytes (16 relés) board 1
  delay(50);
  r[0] = ~r[0]; // Invierte para board 2
  r[1] = ~r[1];
  SerialWriteRelayExpander(2, r, 2);
  delay(50);
  SerialCmdDone(1, "g4o0,1"); // Pulso latch sincronizado
  wdt_reset();
}

Demostración en vídeo

Ver vídeo de latch externo en acción

Esquemático

Diagrama de bloques: Arduino Nano → bus 9-bit → IO Expanders → Relay Expanders → placas de relés. Alimentación común y señal de latch compartida.

Proceso de manufactura

  1. Cómo la Centralita (ECU) Controla los Vehículos Modernos: Cerebro Electrónico
  2. Relés Automotrices: Función, Tipos y Cómo Protegen tu Vehículo
  3. Guía Esencial de Relés: Tipos, Aplicaciones e Historia
  4. Primer seguro de coche: guía paso a paso para conseguir cobertura asequible
  5. Paneles de Control Eléctrico: Fundamentos de Diseño para Seguridad y ROI
  6. Recupere el Control de su Ciclo de Compra: Estrategias Comprobadas para Fabricantes
  7. Impulsando eficiencia con robot receptivo en Energy Dynamics
  8. Entendiendo los costes ocultos de integraciones Salesforce
  9. Dominando SaaS: estrategias para mantener el control mientras aprovecha la nube
  10. Robótica en el siglo XXI: Sistemas distribuidos, telepresencia y exploración espacial
  11. Por Qué los Almacenes Deben Adoptar IoT Ahora: Impulsar Eficiencia, Precisión y Seguridad