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 até 65.280 relés com seu Arduino!

Componentes e suprimentos

Arduino Nano R3
× 1
Expansor IO
Expansor IO
× 1
Relay Expander
× 1
IO Extender
× 1
Arduino 16 Relay Board
× 1

Aplicativos e serviços online

Arduino IDE

Sobre este projeto


Use o Expansor IO e o Expansor de Relé para controlar até 65.280 relés.

Precisa adicionar muitos relés ao seu projeto? Então você precisa do expansor IO com expansores de relé. Cada Expansor de E / S pode controlar até 16 Expansores de Relés em cadeia para um total de 256 relés. Em seguida, conectando 255 expansores IO juntos, você pode controlar seletivamente até 65.280 relés.





Relés de controle com um único expansor IO





Lista de recursos

  • Use placas de relé baratas de <$ 15 Arduino 16.
  • Comandos de controle de relé fáceis de usar.
  • Controle um relé individual ou um banco de cada vez.
  • Nenhum driver necessário. Economize espaço de código.
  • Sem espaço de dados para manter o estado de retransmissão.
  • Nenhuma fonte de alimentação extra necessária.





Peças necessárias para construir um banco de relés

  • Expansor IO
  • Extensor IO
  • Expansor de retransmissão
  • Arduino 16 Relay Board





Diagrama de fiação


Nota: No diagrama de fiação acima, o IO Expander e o Arduino Nano estão sendo alimentados pela primeira placa de relé. Todos os expansores de relé são alimentados pela placa de relé à qual estão conectados.
  / * Expansor IO 
*
* Relés de controle 64
*
* /
#include
# incluir "IOExpander.h"
#include
// # definir SERIAL_DEBUG
#define MAX_RELAYS 64
#ifdef SERIAL_DEBUG
SoftwareSerial swSerial ( 8,7);
#endif
char cmd [10];
configuração vazia ()
{
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);
atraso (100);
wdt_reset ();
}





Múltiplos expansores IO controlando relés


Outra maneira de controlar os relés é usar vários expansores de E / S. Isso nos dá a capacidade de distribuir sensores e relés para uma rede central ou em estrela, mas ainda interconectar todos os expansores de E / S em um único barramento serial. Se você tiver que separar os expansores IO até 4.000 pés, use os extensores IO conforme mostrado abaixo com o fio de rede Cat5 azul padrão.





Diagrama de fiação


Nota: No diagrama de fiação acima, todos os expansores IO e Arduino Nano estão sendo alimentados pela primeira placa de relé por meio do barramento serial. Todos os expansores de relé são alimentados pela placa de relé à qual estão conectados.
  / * Expansor IO 
*
* Relay Bonnaza com expansores IO!
*
* /
#include
# include "IOExpander9Bit.h"
#include
#define MAX_BOARDS 4
char cmd [10];
void setup ()
{
Serial9Bit.begin (115200, SERIAL_9N1);
Serial9Bit.write (0); // Defina os expansores IO para 9 bits
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" , relé);
SerialCmdDone (placa, cmd);
if (++ relé> 16) {
relé =1;
if (++ placa> MAX_BOARDS) placa =1;
}
sprintf (cmd, "e% do", relé);
SerialCmdDone (placa, cmd);
atraso (100);
wdt_reset ( );
}





Então, por que preciso controlar tantos relés?


Uma dessas aplicações é em aquaponia ou hidroponia. Muitos sensores e dispositivos precisam ser automatizados em cada canteiro ou planta individual. Isso requer IO extremo e o IO Expander cumpre.

Portanto, pegue seu IO Expander hoje e construa seu sistema!

Código

  • Controle 64 relés com um único expansor
  • Controle 64 relés com múltiplos expansores
Controle 64 relés com um único expansor C / C ++
 / * IO Expander * * Control 64 Relays * * / # 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);} 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); atraso (100); wdt_reset ();} 
Controle 64 relés com múltiplos expansores C / C ++
 / * Expansor IO * * Relay Bonnaza com expansores IO! * * / # include  #include "IOExpander9Bit.h" #include  #define MAX_BOARDS 4char cmd [10]; void setup () {Serial9Bit.begin (115200, SERIAL_9N1); Serial9Bit.write (0); // Defina os expansores IO para 9 bits wdt_enable (WDTO_8S); para (placa int =1; placa <=4; placa ++) SerialCmdDone (placa, "eb1");} loop vazio () {placa int estática =1; relé interno 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", relay); SerialCmdDone (placa, cmd); atraso (100); wdt_reset ();} 

Esquemas


Processo de manufatura

  1. Habilite o controle Alexa para o seu ventilador de teto
  2. Aceitar moeda de controle com Arduino
  3. Arduino Control Center
  4. Arduino com Bluetooth para controlar um LED!
  5. Controle do umidificador Arduino
  6. Arduino Nano:Controle 2 motores de passo com joystick
  7. Controle o seu LED com a Cortana
  8. ThimbleKrox - Controle do mouse com os dedos
  9. Controle o seu sistema de luz usando o telefone inteligente
  10. Controle de ventilador PWM de 4 pinos de 25 kHz com Arduino Uno