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

Hunderte Relais gleichzeitig steuern/synchronisieren

Komponenten und Verbrauchsmaterialien

IO-Expander
× 2
Relais-Expander
× 2
16 Relaisplatine
× 2
Arduino Nano R3
× 1

Über dieses Projekt

Sie müssen Hunderte von Relais gleichzeitig steuern und synchronisieren? Verbinden Sie dann Ihren Arduino, ESP8266, Pi, PC oder Mac mit einem IO-Expander mit Relais-Expandern und verwenden Sie die neue externe Verriegelungsfunktion.

Auf diese Weise können Sie die neuen Relaiseinstellungen in einem sehr kompakten Bitformat senden und speichern. Verwenden Sie dann eine einzelne GPIO-Leitung von Ihrer MCU oder vom IO-Expander, um alle zwischengespeicherten Daten gleichzeitig auszugeben.

Sehen Sie sich unsere Steuerung von bis zu 65, 280 Relais mit Ihrem Arduino-Projekt an!

Was ist also erforderlich, um den IO-Expander für externes Latching einzurichten? Mit der einfachen Befehlsstruktur des IO-Expanders können wir einen einfachen Anwendungsfall für die Steuerung eines x16-Relaisboards mit externer Verriegelung einrichten.

Setzen Sie den [g]pio-Pin [4] als [o]Ausgang mit einem hohen [1] Pegel, am [g]pio-Pin [10] aktivieren wir die [n]egative Flankenerkennung und zum Schluss aktivieren wir das Relais [e] xpander extern [l]atch an Pin [10].

>g4o1;g10n;el10
ok
ok
10
>

Jetzt können wir das Relais [e]xpanders [o]n/o[f]f/[s]et drehen und dann mit dem externen Latch aktivieren, indem wir [g]pio-Pin [4] als [o]Ausgang mit setzen ein niedriger [0]-Pegel für [1] ms. Wir möchten, dass Pin 4 in einen High-Zustand zurückkehrt, damit er wieder zum Einrasten bereit ist.

>e1o;e10o;e16o
ok
ok
ok
>g4o0,1
ok
>

Lassen Sie uns dieses Projekt nun mit einem Arduino Nano auf x2 IO Expander, x2 Relay Expander und x2 16 Relay Boards erweitern. Die x2 IO Expander werden über ein Multidrop 9-Bit Protokoll mit maximal 255 IO Expandern miteinander verbunden.

Externes Verriegelungsdiagramm des IO-Expanders

Arduino-Code

/* IO-Expander
*
* Relais-Expander External Latching
*
*/

#include
#include "IOExpander9Bit.h"
#include

//#define SERIAL_DEBUG
#define MAX_BOARDS 2

#ifdef SERIAL_DEBUG
SoftwareSerial swSerial(8,7);
#endif

void setup()
{
Serial9Bit.begin(115200 , SERIAL_9N1);
Serial9Bit.write(0); // IO-Expander auf 9-Bit setzen
#ifdef SERIAL_DEBUG
swSerial.begin(115200);
swSerialEcho =&swSerial;
#endif
wdt_enable(WDTO_8S);

for (uint8_t board =1; board <=MAX_BOARDS; board++)
SerialCmdDone(board, "eb1");

SerialCmdDone(1, "g4o1; g10n;el10"); // GPIO für externen Latch von Relais einrichten
SerialCmdDone(2, "g10n;el10");
}

void loop()
{
statisch uint16_t i =0;
uint8_t r[2];

r[0] =~(uint8_t)(i>> 8);
r[1] =~ (uint8_t)i++;
SerialWriteRelayExpander(1, r, 2);
delay(50);
r[0] =~r[0]; // Alle Relais auf Board 2 invertieren
r[1] =~r[1];
SerialWriteRelayExpander(2, r, 2);
delay(50);

SerialCmdDone(1, "g4o0,1"); // Alle Relais verriegeln

wdt_reset();
}

Externes Einrasten des IO-Expanders in Aktion

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

Code

  • E/A-Expander Externe Verriegelung
IO-Expander Externe VerriegelungArduino
/* IO-Expander * * Relais-Expander Externe Selbsthaltung * */#include #include "IOExpander9Bit.h"#include //#define SERIAL_DEBUG#define MAX_BOARDS 2#ifdef SERIAL_DEBUGSoftwareSerial swSerial(8,7);#endifvoid setup(){ Serial9Bit.begin(115200, SERIAL_9N1); Serial9Bit.write(0); // IO-Expander auf 9-Bit setzen#ifdef SERIAL_DEBUG swSerial.begin(115200); swSerialEcho =&swSerial;#endif wdt_enable(WDTO_8S); for (uint8_t board =1; board <=MAX_BOARDS; board++) SerialCmdDone(board, "eb1"); SerialCmdDone(1, "g4o1;g10n;el10"); // GPIO für externen Latch von Relais einrichten SerialCmdDone (2, "g10n; el10");}void loop () {static uint16_t i =0; uint8_t r[2]; r[0] =~(uint8_t)(i>> 8); r[1] =~(uint8_t)i++; SerialWriteRelayExpander(1, r, 2); Verzögerung (50); r[0] =~r[0]; // Alle Relais auf Platine 2 invertieren r[1] =~r[1]; SerialWriteRelayExpander(2, r, 2); Verzögerung (50); SerialCmdDone(1, "g4o0,1"); // Latch alle Relais wdt_reset();}Externes Latchi

Schaltpläne


Herstellungsprozess

  1. Die Zukunft der Robotik
  2. Übernehmen Sie die Kontrolle über das zweischneidige SaaS-Schwert
  3. Ist es an der Zeit, IoT im Warehouse zu implementieren?
  4. Die Grundlagen elektrischer Schalttafeln
  5. Der Reaktionsroboter
  6. Es ist an der Zeit, die Kontrolle über den Kaufzyklus zurückzugewinnen
  7. Die Funktionsweise der Automobil-Brainbox verstehen
  8. Ein Kfz-Relais verstehen
  9. Wissenswertes über Relais
  10. Wie schließe ich zum ersten Mal eine Autoversicherung ab?