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 65.280 Relés com Arduino: Soluções Expansíveis de IO e Relés

Componentes e Materiais

Componente Quantidade Observações
Arduino Nano R3 1
Expansor de IO 1 IO Expander
Expansor de Relés 1 Relay Expander
Extensor de IO 1 IO Extender
Placa Arduino 16 Relés 1

Software e Serviços Online

Sobre o Projeto

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

Precisa adicionar muitos relés ao seu projeto? Então você precisa do Expansor de IO com Expansores de Relés. Cada Expansor de IO pode controlar até 16 Expansores de Relés em cascata (daisy-chained) para um total de 256 relés. Conectando 255 Expansores de IO juntos, você pode controlar seletivamente até 65.280 relés.

Controlar Relés com um Único Expansor de IO

Controle 65.280 Relés com Arduino: Soluções Expansíveis de IO e Relés

Lista de Recursos

Peças Necessárias para Construir um Banco de Relés

Diagrama de Fiação

Controle 65.280 Relés com Arduino: Soluções Expansíveis de IO e Relés

Nota: No diagrama acima, o Expansor de IO e Arduino Nano estão sendo alimentados pela primeira placa de relés. Todos os Expansores de Relés são alimentados pela placa de relés à qual estão conectados.

/* Expansor de IO
 * Controle 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últiplos Expansores de IO Controlando Relés

Outra forma de controlar relés é usar múltiplos Expansores de IO. 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 IO em um único barramento serial. Se você precisa separar os Expansores de IO até 1200m (4000ft), use os Extensores de IO como mostrado abaixo com cabo de rede Cat5 padrão azul.

Controle 65.280 Relés com Arduino: Soluções Expansíveis de IO e Relés

Diagrama de Fiação

Controle 65.280 Relés com Arduino: Soluções Expansíveis de IO e Relés

Nota: No diagrama acima, todos os Expansores de IO e Arduino Nano estão sendo alimentados pela primeira placa de relés através do barramento serial. Todos os Expansores de Relés são alimentados pela placa de relés à qual estão conectados.

/* Expansor de IO
 * Bonança de Relés com Expansores de IO!
 */
#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); // Define Expansores de IO para 9-bit
  wdt_enable(WDTO_8S);
  for (int board = 1; board <= 4; board++)
    SerialCmdDone(board, "eb1");
}

void loop() {
  static int board = 1;
  static int rele = 1;
  sprintf(cmd, "e%df", rele);
  SerialCmdDone(board, cmd);
  if (++rele > 16) {
    rele = 1;
    if (++board > MAX_BOARDS) board = 1;
  }
  sprintf(cmd, "e%do", rele);
  SerialCmdDone(board, cmd);
  delay(100);
  wdt_reset();
}

Então, Por Que Preciso Controlar Tantos Relés?

Uma aplicação é em aquaponia ou hidroponia. Muitos sensores e dispositivos precisam ser automatizados até cada cama de cultivo ou planta individual. Isso requer IO extremo e o Expansor de IO entrega.

Controle 65.280 Relés com Arduino: Soluções Expansíveis de IO e Relés

Então pegue seu Expansor de IO hoje e construa seu sistema!

Código

Controlar 64 Relés com um Único Expansor (C/C++)

/* Expansor de IO * * Controle 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 com Múltiplos Expansores (C/C++)

/* Expansor de IO * * Bonança de Relés com Expansores de IO! * */
#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); // Define Expansores de IO para 9-bit
  wdt_enable(WDTO_8S);
  for (int board = 1; board <= 4; board++)
    SerialCmdDone(board, "eb1");
}
void loop() {
  static int board = 1;
  static int rele = 1;
  sprintf(cmd, "e%df", rele);
  SerialCmdDone(board, cmd);
  if (++rele > 16) {
    rele = 1;
    if (++board > MAX_BOARDS) board = 1;
  }
  sprintf(cmd, "e%do", rele);
  SerialCmdDone(board, cmd);
  delay(100);
  wdt_reset();
}

Esquemáticos

Controle 65.280 Relés com Arduino: Soluções Expansíveis de IO e Relés Controle 65.280 Relés com Arduino: Soluções Expansíveis de IO e Relés

Processo de manufatura

  1. Controle seu Ventilador de Teto com Alexa: Guia Passo a Passo
  2. Mealheiro Inteligente: Controlar Aceitador de Moedas com Arduino Nano
  3. Central de Controle de Potência Arduino: N-FET, P-FET, Relé e Kit RTC
  4. Controlar um LED via Bluetooth com Arduino – Guia DIY Simples
  5. Controlador de Umidificador DIY com Arduino e Relé – Configuração Segura de Alta Tensão
  6. Controle Dois Motores de Passo com Arduino Nano e Joystick – Tutorial Simples
  7. Controle de LED Arduino com Cortana via Bluetooth no Windows 10
  8. ThimbleKrox: Controle de Mouse Dedo-Montado com Arduino Micro e MPU-6050
  9. Controle Residencial de Iluminação via Smartphone com 1Sheeld e Arduino
  10. Controle de Ventoinha PWM 4 Pinos 25 kHz com Arduino Uno – Montagem, Código e Teste