Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Manufacturing Technology >> Herstellungsprozess

65.280 Relais mit Arduino steuern: Erweiterbare IO- & Relais-Lösungen

Komponenten und Zubehör

Komponente Menge Hinweis
Arduino Nano R3 1
IO Expander 1 IO Expander
Relay Expander 1
IO Extender 1
Arduino 16 Relais Board 1

Apps und Online-Dienste

Über dieses Projekt

Verwenden Sie den IO Expander und Relay Expander, um bis zu 65.280 Relais zu steuern.

Müssen Sie viele Relais zu Ihrem Projekt hinzufügen? Dann brauchen Sie den IO Expander mit Relay Expandern. Jeder IO Expander kann bis zu 16 in Reihe geschaltete Relay Expander steuern – insgesamt 256 Relais. Durch Verbinden von 255 IO Expandern können Sie selektiv bis zu 65.280 Relais steuern.

Relais mit einem einzelnen IO Expander steuern

65.280 Relais mit Arduino steuern: Erweiterbare IO- & Relais-Lösungen

Funktionsumfang

Benötigte Teile für eine Relaisbank

Verdrahtungsdiagramm

65.280 Relais mit Arduino steuern: Erweiterbare IO- & Relais-Lösungen

Hinweis: Im obigen Verdrahtungsdiagramm werden der IO Expander und Arduino Nano vom ersten Relaisboard gespeist. Alle Relay Expander werden vom Relaisboard gespeist, an das sie angeschlossen sind.

Code: 64 Relais mit einem Expander

/* IO Expander
 * Control 64 Relays
 */
#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();
}

Mehrere IO Expander zur Relaissteuerung

Eine weitere Möglichkeit, Relais zu steuern, ist die Verwendung mehrerer IO Expander. Dies ermöglicht die Verteilung von Sensoren und Relais auf einen zentralen Sternverbund, aber alle IO Expander bleiben auf einem einzigen seriellen Bus miteinander verbunden. Wenn Sie IO Expander bis zu 4000 ft (ca. 1200 m) trennen müssen, verwenden Sie IO Extender mit standardmäßigen blauen Cat5-Netzkabeln.

65.280 Relais mit Arduino steuern: Erweiterbare IO- & Relais-Lösungen

Verdrahtungsdiagramm

65.280 Relais mit Arduino steuern: Erweiterbare IO- & Relais-Lösungen

Hinweis: Im obigen Diagramm werden alle IO Expander und der Arduino Nano vom ersten Relaisboard über den seriellen Bus gespeist. Alle Relay Expander werden vom Relaisboard gespeist, an das sie angeschlossen sind.

Code: 64 Relais mit mehreren Expandern

/* IO Expander
 * Relay Bonnaza with IO Expanders!
 */
#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); // IO Expander auf 9-Bit setzen
  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();
}

Warum so viele Relais steuern?

Eine solche Anwendung ist Aquaponik oder Hydroponik. Viele Sensoren und Geräte müssen bis hin zu jedem Beet oder jeder einzelnen Pflanze automatisiert werden. Dies erfordert extreme IO-Kapazität, die der IO Expander liefert.

65.280 Relais mit Arduino steuern: Erweiterbare IO- & Relais-Lösungen

Holen Sie sich Ihren IO Expander noch heute und bauen Sie Ihr System!

Code

Control 64 Relays with a Single Expander (C/C++)

/* IO Expander * Control 64 Relays * */
#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();
}

Control 64 Relays with Multiple Expanders (C/C++)

/* IO Expander * Relay Bonnaza with IO Expanders! * */
#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); // Set IO Expanders to 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();
}

Schaltpläne

65.280 Relais mit Arduino steuern: Erweiterbare IO- & Relais-Lösungen 65.280 Relais mit Arduino steuern: Erweiterbare IO- & Relais-Lösungen

Herstellungsprozess

  1. Deckenventilator per Alexa steuern – Schritt-für-Schritt-Anleitung
  2. Smartes Sparschwein: Münzprüfer mit Arduino Nano steuern
  3. Arduino Power Control Center: N-FET, P-FET, Relais & RTC Kit
  4. LED per Bluetooth mit Arduino steuern – Einfache DIY-Anleitung
  5. DIY Arduino Luftbefeuchter-Steuerung mit Relais – Sichere Hochspannungs-Installation
  6. Zwei Schrittmotoren mit Arduino Nano & Joystick steuern – Einfaches Tutorial
  7. Arduino-LED per Cortana und Bluetooth unter Windows 10 steuern
  8. ThimbleKrox: Fingermontierte Maussteuerung mit Arduino Micro & MPU-6050
  9. Smartphone-Steuerung der Hausbeleuchtung mit Arduino & 1Sheeld
  10. 25-kHz-4-Pin-PWM-Lüftersteuerung mit Arduino Uno – Bau, Code & Test