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 hasta 65,280 relés con tu Arduino!

Componentes y suministros

Arduino Nano R3
× 1
Expansor IO
Expansor IO
× 1
Expansor de relé
× 1
IO Extender
× 1
Placa de relés Arduino 16
× 1

Aplicaciones y servicios en línea

Arduino IDE

Acerca de este proyecto

Utilice el expansor de E / S y el expansor de relés para controlar hasta 65,280 relés.

¿Necesita agregar muchos relés a su proyecto? Entonces necesita el expansor IO con expansores de relé. Cada expansor de E / S puede controlar hasta 16 expansores de relés en cadena para un total de 256 relés. Luego, conectando 255 expansores IO juntos, puede controlar selectivamente hasta 65,280 relés.

Relés de control con un solo expansor de E / S

Lista de funciones

  • Utilice placas de relé Arduino 16 baratas de <$ 15.
  • Comandos de control de relés fáciles de usar.
  • Controle un relevo individual o un banco a la vez.
  • No se requiere controlador. Ahorre espacio en el código.
  • No hay espacio de datos para mantener el estado de retransmisión.
  • No se necesita fuente de alimentación adicional.

Piezas necesarias para construir un banco de relés

  • Expansor de IO
  • Extensor de IO
  • Expansor de retransmisión
  • Placa de relés Arduino 16

Diagrama de cableado

Nota: En el diagrama de cableado anterior, el IO Expander y Arduino Nano están siendo alimentados por la primera placa de relés. Todos los expansores de relés se alimentan desde la placa de relés a la que están conectados.

  / * IO Expander 
*
* Control 64 relés
*
* /
#include
# include "IOExpander.h"
#include
// # 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);
}
bucle vacío ()
{
static int i =1;
sprintf (cmd, "e% df", i);
SerialCmdDone (cmd);
if (i ++> =MAX_RELAYS) i =1;
sprintf (cmd, "e% do", i);
SerialCmdDone (cmd);
retraso (100);
wdt_reset ();
}

Múltiples expansores de E / S que controlan relés

Otra forma de controlar los relés es utilizar varios expansores de E / S. Esto nos da la capacidad de distribuir sensores y relés a una red central o en estrella, pero aún así interconectar todos los expansores de E / S en un solo bus serie. Si tiene que separar los expansores de E / S hasta 4000 pies, utilice los extensores de E / S como se muestra a continuación con el cable de red estándar azul Cat5.

Diagrama de cableado

Nota: En el diagrama de cableado anterior, todos los expansores IO y Arduino Nano están siendo alimentados por la primera placa de relés a través del bus serie. Todos los expansores de relés se alimentan desde la placa de relés a la que están conectados.

  / * IO Expander 
*
* ¡Relay Bonnaza con IO Expanders!
*
* /
#include
# include "IOExpander9Bit.h"
#include
#define MAX_BOARDS 4
char cmd [10];
void setup ()
{
Serial9Bit.begin (115200, SERIAL_9N1);
Serial9Bit.write (0); // Establecer expansores de E / S en 9 bits
wdt_enable (WDTO_8S);
for (int board =1; board <=4; board ++)
SerialCmdDone (board, "eb1");
}
bucle vacío ()
{
tablero int estático =1;
relé int estático =1;
sprintf (cmd, "e% df" , relé);
SerialCmdDone (placa, cmd);
if (++ relé> 16) {
relé =1;
if (++ placa> MAX_BOARDS) placa =1;
}
sprintf (cmd, "e% do", relé);
SerialCmdDone (tablero, cmd);
delay (100);
wdt_reset ( );
}

Entonces, ¿por qué necesito controlar tantos relés?

Una de esas aplicaciones es en acuaponía o hidroponía. Es necesario automatizar muchos sensores y dispositivos en cada cama de cultivo o planta individual. Esto requiere una IO extrema y el IO Expander cumple.

¡Obtenga su IO Expander hoy y construya su sistema!

Código

  • Controle 64 relés con un solo expansor
  • Controle 64 relés con múltiples expansores
Controle 64 relés con un solo expansor C / C ++
 / * IO Expander * * Control 64 Relés * * / # include  #include "IOExpander.h" #include  // # define SERIAL_DEBUG # define MAX_RELAYS 64 # ifdef SERIAL_DEBUGSoftwareSerial swSerial (8,7); # endifchar 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);} bucle vacío () {static int i =1; sprintf (cmd, "e% df", i); SerialCmdDone (cmd); si (i ++> =MAX_RELAYS) i =1; sprintf (cmd, "e% do", i); SerialCmdDone (cmd); retraso (100); wdt_reset ();} 
Controla 64 relés con varios expansores C / C ++
 / * IO Expander * * ¡Relay Bonnaza con IO Expanders! * * / # include  #include "IOExpander9Bit.h" #include  #define MAX_BOARDS 4char cmd [10]; void setup () {Serial9Bit.begin (115200, SERIAL_9N1); Serial9Bit.write (0); // Establezca los expansores de E / S en wdt_enable de 9 bits (WDTO_8S); for (tablero int =1; tablero <=4; tablero ++) SerialCmdDone (tablero, "eb1");} bucle vacío () {tablero int estático =1; relé int estático =1; sprintf (cmd, "e% df", relevo); SerialCmdDone (tablero, cmd); si (++ relé> 16) {relé =1; if (++ tablero> MAX_BOARDS) tablero =1; } sprintf (cmd, "e% do", relevo); SerialCmdDone (tablero, cmd); retraso (100); wdt_reset ();} 

Esquemas


Proceso de manufactura

  1. Habilita el control de Alexa en tu ventilador de techo
  2. Controlar el aceptador de monedas con Arduino
  3. Centro de control de Arduino
  4. ¡Arduino con Bluetooth para controlar un LED!
  5. Control del humidificador Arduino
  6. Arduino Nano:Controla 2 motores paso a paso con joystick
  7. Controla tu LED con Cortana
  8. ThimbleKrox - Control del mouse con los dedos
  9. Controla tu sistema de iluminación mediante un teléfono inteligente
  10. Controla una cucaracha con Arduino por menos de $ 30
  11. Control de ventilador PWM de 4 pines y 25 kHz con Arduino Uno