Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Manufacturing Technology >> Processus de fabrication

Contrôler et synchroniser des centaines de relais sans effort avec des expandeurs d'E/S

Composants et fournitures

À propos du projet

Besoin de contrôler et synchroniser des centaines de relais simultanément ? Connectez votre Arduino, ESP8266, Raspberry Pi, PC ou Mac à un expandeur d'E/S avec expandeurs de relais et utilisez la nouvelle fonctionnalité de verrouillage externe (External Latching).

Cela permet d'envoyer les nouveaux états des relais dans un format bit compact prêt à être verrouillé. Ensuite, une seule ligne GPIO (du MCU ou de la sortie de l'expandeur d'E/S) fait basculer toutes les données verrouillées en même temps.

Voir aussi notre projet « Contrôler jusqu'à 65 280 relais avec votre Arduino » !

Configuration du verrouillage externe sur l'expandeur d'E/S

Avec la structure de commande simple de l'expandeur d'E/S, configurons un cas d'usage : contrôle d'une carte 16 relais avec verrouillage externe.

  1. Définir la broche GPIO [4] en sortie avec niveau haut [1] : g4o1
  2. Activer la détection de front descendant sur GPIO [10] : g10n
  3. Activer le verrouillage externe de l'expandeur de relais sur broche [10] : el10
>g4o1;g10n;el10
ok
ok
10
>

Maintenant, on peut allumer/éteindre les relais de l'expandeur (e1o, e10o, e16o) puis activer le verrouillage en mettant GPIO 4 à bas pendant 1 ms (g4o0,1). La broche 4 revient à l'état haut pour être prête au verrouillage suivant.

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

Étendons à 2 expandeurs d'E/S, 2 expandeurs de relais, 2 cartes 16 relais avec un Arduino Nano. Les 2 expandeurs d'E/S sont chainés en multidrop protocole 9 bits (max 255 expandeurs).

Schéma de verrouillage externe

Schéma de câblage (image non incluse).

Code Arduino

/* 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); // Set IO Expanders to 9-bit
#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"); // Setup GPIO for external latch of relays
  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);
  delay(50);
  r[0] = ~r[0]; // Invert all relays on board 2
  r[1] = ~r[1];
  SerialWriteRelayExpander(2, r, 2);
  delay(50);
  SerialCmdDone(1, "g4o0,1"); // Latch all relays
  wdt_reset();
}

Verrouillage externe en action

Vidéo de démonstration : RelayExpanderLatching.mp4

Procurez-vous votre expandeur d'E/S et construisez votre système !

Schéma de câblage

Schéma électrique (image non incluse).

Processus de fabrication

  1. Maîtriser le SaaS : stratégies pour garder le contrôle tout en exploitant le cloud
  2. Pourquoi les entrepôts devraient adopter l'IoT maintenant : booster efficacité, précision, sécurité
  3. Panneaux de contrôle électriques : Essentiels de conception pour la sécurité et le ROI
  4. Améliorer l'efficacité avec un robot réactif chez Energy Dynamics
  5. Reprenez le contrôle de votre cycle d'achat : Stratégies éprouvées pour les fabricants
  6. Le calculateur moteur (ECU/PCM) : le cerveau de votre véhicule
  7. Relais automobiles : fonctionnement, types, câblage et diagnostic
  8. Relais électriques : guide complet (types, applications, sélection)
  9. Première assurance auto : guide pas à pas pour une couverture abordable