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

Bedien tot 65.280 relais met uw Arduino!

Componenten en benodigdheden

Arduino Nano R3
× 1
IO-uitbreiding
IO-uitbreiding
× 1
Relaisexpander
× 1
IO-extender
× 1
Arduino 16 relaisbord
× 1

Apps en online services

Arduino IDE

Over dit project

Gebruik de IO Expander en Relay Expander om tot 65.280 relais te bedienen.

Moet u veel relais aan uw project toevoegen? Dan heb je de IO Expander met Relay Expanders nodig. Elke IO-expander kan tot 16 in serie geschakelde relaisexpanders aansturen, voor een totaal van 256 relais. Door vervolgens 255 IO-expanders met elkaar te verbinden, kunt u selectief maximaal 65.280 relais aansturen.

Stuurrelais met een enkele IO-expander

Functielijst

  • Gebruik goedkope <$15 Arduino 16 relaisborden.
  • Eenvoudig te gebruiken relaisbesturingsopdrachten.
  • Bedien een individueel relais of een bank tegelijk.
  • Geen stuurprogramma nodig. Spaar coderuimte.
  • Geen gegevensruimte om de relaisstatus te behouden.
  • Geen extra voeding nodig.

Onderdelen die nodig zijn om een ​​relaisbank te bouwen

  • IO-uitbreiding
  • IO-extender
  • Relaisuitbreiding
  • Arduino 16 relaisbord

Bedradingsschema

Opmerking: In het bovenstaande bedradingsschema worden de IO Expander en Arduino Nano gevoed door het eerste relaisbord. Alle relaisuitbreidingen worden gevoed vanaf de relaiskaart waarop ze zijn aangesloten.

/* IO Expander
*
* Besturing 64 relais
*
*/
#include
# include "IOExpander.h"
#include
//#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();
}

Meerdere IO-uitbreidingen die relais besturen

Een andere manier om relais te besturen is door meerdere IO-expanders te gebruiken. Dit geeft ons de mogelijkheid om sensoren en relais te distribueren naar een centraal of sternetwerk, maar toch alle IO-expanders met elkaar te verbinden op een enkele seriële bus. Als u de IO-uitbreidingen tot 4000 voet moet scheiden, gebruik dan de IO-uitbreidingen zoals hieronder weergegeven met de standaard blauwe Cat5-netwerkkabel.

Bedradingsschema

Opmerking: In het bovenstaande bedradingsschema worden alle IO-expanders en Arduino Nano gevoed door het eerste relaisbord via de seriële bus. Alle relaisuitbreidingen worden gevoed vanaf de relaiskaart waarop ze zijn aangesloten.

/* IO Expander
*
* Relay Bonnaza met IO Expanders!
*
*/
#include
#include "IOExpander9Bit.h"
#include
#define MAX_BOARDS 4
char cmd[10];
void setup()
{
Serial9Bit.begin(115200, SERIAL_9N1);
Serial9Bit.write(0); // Stel IO-uitbreidingen in op 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" , relais);
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( );
}

Dus waarom moet ik zoveel relais bedienen?

Een dergelijke toepassing is in aquaponics of hydroponics. Veel sensoren en apparaten moeten worden geautomatiseerd tot in elk kweekbed of individuele plant. Dit vereist extreme IO en de IO Expander levert.

Koop dus vandaag nog uw IO Expander en bouw uw systeem!

Code

  • Bedien 64 relais met een enkele expander
  • Bedien 64 relais met meerdere expanders
Bedien 64 relais met een enkele expanderC/C++
/* IO Expander * * Control 64 Relais * */#include #include "IOExpander.h"#include //#define SERIAL_DEBUG#define MAX_RELAYS 64#ifdef SERIAL_DEBUGSoftwareSerial swSerial(8,7);#endifchar 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); vertraging (100); wdt_reset();}
Bedien 64 relais met meerdere expandersC/C++
/* IO Expander * * Relais Bonnaza met IO Expanders! * */#include #include "IOExpander9Bit.h"#include #define MAX_BOARDS 4char cmd[10];void setup(){ Serial9Bit.begin(115200, SERIAL_9N1); Serial9Bit.write(0); // Stel IO-uitbreidingen in op 9-bit wdt_enable (WDTO_8S); for (int board =1; board <=4; board++) SerialCmdDone(board, "eb1");}void loop(){ static int board =1; statisch int-relais =1; sprintf(cmd, "e%df", relais); SerialCmdDone(bord, cmd); if (++ relais> 16) { relais =1; if (++ bord> MAX_BOARDS) bord =1; } sprintf(cmd, "e%do", relais); SerialCmdDone(bord, cmd); vertraging (100); wdt_reset();}

Schema's


Productieproces

  1. Schakel Alexa Control in op je plafondventilator
  2. Bedien muntvangers met Arduino
  3. Arduino-controlecentrum
  4. Arduino met Bluetooth om een ​​LED te bedienen!
  5. Arduino-luchtbevochtigerbediening
  6. Arduino Nano:bedien 2 stappenmotoren met joystick
  7. Bedien uw led met Cortana
  8. ThimbleKrox - Muisbediening met je vingers
  9. Bedien uw lichtsysteem met een smartphone
  10. Bedien een kakkerlak met Arduino voor minder dan $30
  11. 25 kHz 4-pins PWM-ventilatorregeling met Arduino Uno