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 65.280 Relés con Arduino: Soluciones Expandibles de E/S y Relés

Componentes y suministros

ComponenteCantidadNotas
Arduino Nano R31
Expansor E/S1Expansor E/S
Expansor Relés1
Extensor E/S1
Placa 16 Relés Arduino1

Aplicaciones y servicios en línea

Sobre el proyecto

Usa el Expansor E/S y Expansor Relés para controlar hasta 65.280 relés.

¿Necesitas añadir muchos relés a tu proyecto? Entonces necesitas el Expansor E/S con Expansores de Relés. Cada Expansor E/S puede controlar hasta 16 Expansores de Relés en cadena para un total de 256 relés. Luego, conectando 255 Expansores E/S juntos puedes controlar selectivamente hasta 65.280 relés.

Controlar relés con un solo Expansor E/S

Controla 65.280 Relés con Arduino: Soluciones Expandibles de E/S y Relés

Lista de características

Partes necesarias para construir un banco de relés

Diagrama de cableado

Controla 65.280 Relés con Arduino: Soluciones Expandibles de E/S y Relés

Nota: En el diagrama anterior, el Expansor E/S y Arduino Nano son alimentados por la primera placa de relés. Todos los Expansores de Relés son alimentados desde la placa de relés a la que están conectados.

/* Expansor E/S
 * Control 64 Relés
 */
#include <SoftwareSerial.h>
#include "IOExpander.h"
#include <avr/wdt.h>
//#define SERIAL_DEBUG
#define MAX_RELAYS 64
#ifdef SERIAL_DEBUG
SoftwareSerial swSerial(8,7);
#endif
char cmd[10];
void setup() {
  Serial.begin(115200);
#ifdef SERIAL_DEBUG
  swSerial.begin(115200);
  swSerialEcho = &swSerial;
#endif
  wdt_enable(WDTO_8S);
  sprintf(cmd, "eb%d", MAX_RELAYS / 16);
  SerialCmdDone(cmd);
}
void loop() {
  static int i = 1;
  sprintf(cmd, "e%df", i);
  SerialCmdDone(cmd);
  if (i++ >= MAX_RELAYS) i = 1;
  sprintf(cmd, "e%do", i);
  SerialCmdDone(cmd);
  delay(100);
  wdt_reset();
}

Múltiples Expansores E/S Controlando Relés

Otra forma de controlar relés es usar múltiples Expansores E/S. Esto nos da la capacidad de distribuir sensores y relés a una red central o en estrella, pero seguir interconectando todos los Expansores E/S en un bus serial único. Si tienes que separar los Expansores E/S hasta 4000 pies, usa los Extensores E/S como se muestra abajo con cable de red Cat5 estándar azul.

Controla 65.280 Relés con Arduino: Soluciones Expandibles de E/S y Relés

Diagrama de cableado

Controla 65.280 Relés con Arduino: Soluciones Expandibles de E/S y Relés

Nota: En el diagrama anterior, todos los Expansores E/S y Arduino Nano son alimentados por la primera placa de relés a través del bus serial. Todos los Expansores de Relés son alimentados desde la placa de relés a la que están conectados.

/* Expansor E/S
 * ¡Bonanza de Relés con Expansores E/S!
 */
#include <HardwareSerial9Bit.h>
#include "IOExpander9Bit.h"
#include <avr/wdt.h>
#define MAX_BOARDS 4
char cmd[10];
void setup() {
  Serial9Bit.begin(115200, SERIAL_9N1);
  Serial9Bit.write(0); // Configurar Expansores E/S a 9-bit
  wdt_enable(WDTO_8S);
  for (int board = 1; board <= 4; board++)
    SerialCmdDone(board, "eb1");
}
void loop() {
  static int board = 1;
  static int relay = 1;
  sprintf(cmd, "e%df", relay);
  SerialCmdDone(board, cmd);
  if (++relay > 16) {
    relay = 1;
    if (++board > MAX_BOARDS) board = 1;
  }
  sprintf(cmd, "e%do", relay);
  SerialCmdDone(board, cmd);
  delay(100);
  wdt_reset();
}

¿Por qué necesito controlar tantos relés?

Una aplicación es en acuaponía o hidropónica. Muchos sensores y dispositivos necesitan automatizarse hasta cada lecho de cultivo o planta individual. Esto requiere E/S extrema y el Expansor E/S lo proporciona.

Controla 65.280 Relés con Arduino: Soluciones Expandibles de E/S y Relés

¡Consigue tu Expansor E/S hoy y construye tu sistema!

Código

Controlar 64 Relés con un Solo Expansor (C/C++)

/* Expansor E/S * Control 64 Relés * */
#include <SoftwareSerial.h>
#include "IOExpander.h"
#include <avr/wdt.h>
//#define SERIAL_DEBUG
#define MAX_RELAYS 64
#ifdef SERIAL_DEBUG
SoftwareSerial swSerial(8,7);
#endif
char cmd[10];
void setup() {
  Serial.begin(115200);
#ifdef SERIAL_DEBUG
  swSerial.begin(115200);
  swSerialEcho = &swSerial;
#endif
  wdt_enable(WDTO_8S);
  sprintf(cmd, "eb%d", MAX_RELAYS / 16);
  SerialCmdDone(cmd);
}
void loop() {
  static int i = 1;
  sprintf(cmd, "e%df", i);
  SerialCmdDone(cmd);
  if (i++ >= MAX_RELAYS) i = 1;
  sprintf(cmd, "e%do", i);
  SerialCmdDone(cmd);
  delay(100);
  wdt_reset();
}

Controlar 64 Relés con Múltiples Expansores (C/C++)

/* Expansor E/S * ¡Bonanza de Relés con Expansores E/S! * */
#include <HardwareSerial9Bit.h>
#include "IOExpander9Bit.h"
#include <avr/wdt.h>
#define MAX_BOARDS 4
char cmd[10];
void setup() {
  Serial9Bit.begin(115200, SERIAL_9N1);
  Serial9Bit.write(0); // Configurar Expansores E/S a 9-bit
  wdt_enable(WDTO_8S);
  for (int board = 1; board <= 4; board++)
    SerialCmdDone(board, "eb1");
}
void loop() {
  static int board = 1;
  static int relay = 1;
  sprintf(cmd, "e%df", relay);
  SerialCmdDone(board, cmd);
  if (++relay > 16) {
    relay = 1;
    if (++board > MAX_BOARDS) board = 1;
  }
  sprintf(cmd, "e%do", relay);
  SerialCmdDone(board, cmd);
  delay(100);
  wdt_reset();
}

Esquemáticos

Controla 65.280 Relés con Arduino: Soluciones Expandibles de E/S y Relés Controla 65.280 Relés con Arduino: Soluciones Expandibles de E/S y Relés

Proceso de manufactura

  1. Controla tu Ventilador de Techo con Alexa: Guía Paso a Paso
  2. Alcancía Inteligente: Controla un Aceptador de Monedas con Arduino Nano
  3. Centro de Control de Potencia Arduino: N-FET, P-FET, Relé y RTC
  4. Controla un LED por Bluetooth con Arduino – Guía DIY paso a paso
  5. Controlador de Humidificador DIY con Arduino y Relé: Configuración Segura de Alto Voltaje
  6. Controla Dos Motores Paso a Paso con Arduino Nano y Joystick - Tutorial Sencillo
  7. Controlar un LED de Arduino con Cortana vía Bluetooth en Windows 10
  8. ThimbleKrox: Control de ratón montado en el dedo con Arduino Micro y MPU-6050
  9. Control Inalámbrico de Iluminación Doméstica desde Smartphone con 1Sheeld
  10. Sistema DIY de Control de Cucarachas con Arduino – Construcción por Menos de $30
  11. Control de Ventilador PWM de 4 Pines a 25 kHz con Arduino Uno – Montaje, Código y Pruebas