Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Manufacturing Technology >> Productieproces

Moeiteloos Honderden Relais Besturen en Synchroniseren met IO Expanders

Onderdelen en benodigdheden

Onderdeel Aantal
IO Expander 2
Relay Expander 2
16-kanaals Relaisbord 2
Arduino Nano R3 1

Over dit project

Moet je honderden relais tegelijkertijd besturen en synchroniseren? Verbind je Arduino, ESP8266, Pi, PC of Mac met een IO Expander en Relay Expanders en gebruik de nieuwe Externe Latching functie.

Deze functie stelt je in staat de nieuwe relaisinstellingen in een compact bit-formaat te sturen en klaar te zetten voor latching. Vervolgens worden alle gelatchte data simultaan uitgevoerd via één GPIO-lijn van je MCU of van de IO Expander output.

Zie ook ons project "Control Up to 65,280 Relays with Your Arduino"!

IO Expander Externe Latching Diagram

Moeiteloos Honderden Relais Besturen en Synchroniseren met IO Expanders

Arduino Code

Voorbeeld met 2 IO Expanders, 2 Relay Expanders en 2x 16-relais borden op een Arduino Nano. De IO Expanders communiceren via een multidrop 9-bit protocol (max 255 expanders).

/* IO Expander - Relay Expander External Latching */
#include <HardwareSerial9Bit.h>
#include "IOExpander9Bit.h"
#include <avr/wdt.h>

//#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); // Zet IO Expanders in 9-bit modus
  #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"); // Enable relay expander

  SerialCmdDone(1, "g4o1;g10n;el10"); // Board 1: GPIO4 output high, GPIO10 neg edge detect, external latch op pin 10
  SerialCmdDone(2, "g10n;el10");     // Board 2: GPIO10 neg edge detect, external latch op pin 10
}

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

  // Board 1: teller patroon
  r[0] = ~(uint8_t)(i >> 8);
  r[1] = ~(uint8_t)i++;
  SerialWriteRelayExpander(1, r, 2);
  delay(50);

  // Board 2: geïnverteerd patroon
  r[0] = ~r[0];
  r[1] = ~r[1];
  SerialWriteRelayExpander(2, r, 2);
  delay(50);

  // Latch alle relais op beide borden via GPIO4 (board 1) laag voor 1ms
  SerialCmdDone(1, "g4o0,1");

  wdt_reset();
}

IO Expander Externe Latching in Actie

Krijg vandaag nog je IO Expander en bouw je systeem!

Schema's

Moeiteloos Honderden Relais Besturen en Synchroniseren met IO Expanders

Productieproces

  1. Hoe de 'brainbox' (ECU) van een auto moderne voertuigen stuurt
  2. Automobiele relais uitgelegd: Doel, typen en hoe ze uw voertuig beschermen
  3. Essentiële gids voor relais: Typen, toepassingen en geschiedenis
  4. Eerste Autoverzekering: Stapsgewijze Gids voor Betaalbare Dekking
  5. Elektrische Bedieningspanelen: Ontwerpessentiëls voor Veiligheid & ROI
  6. Controle Terug Over Uw Inkoopcyclus: Bewezen Strategieën Voor Fabrikanten
  7. Efficiëntieverhoging met een responsieve robot bij Energy Dynamics
  8. De Verborgen Kosten Van Salesforce-integraties Begrijpen
  9. SaaS Beheersen: Strategieën om Controle te Behouden Terwijl u de Cloud Benut
  10. Robotica in de 21e Eeuw: Gedistribueerde Systemen, Telepresentie en Ruimtevaart
  11. Waarom magazijnen nu IoT moeten adopteren: Efficiëntie, nauwkeurigheid en beveiliging boosten