Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Производственный процесс

Управляйте до 65 280 реле с помощью Arduino!

Компоненты и расходные материалы

Arduino Nano R3
× 1
расширитель ввода-вывода
Расширитель ввода-вывода
× 1
Расширитель реле
× 1
расширитель ввода-вывода
× 1
Плата реле Arduino 16
× 1

Приложения и онлайн-сервисы

IDE Arduino

Об этом проекте

Используйте расширитель ввода-вывода и расширитель реле для управления до 65 280 реле.

Нужно добавить в свой проект много реле? Тогда вам понадобится расширитель ввода-вывода с расширителями реле. Каждый расширитель ввода-вывода может управлять до 16 последовательно подключенными расширителями реле, что в общей сложности составляет 256 реле. Затем, соединив вместе 255 расширителей ввода-вывода, вы сможете выборочно управлять до 65 280 реле.

Управляющие реле с одним расширителем ввода-вывода

<рисунок>

Список возможностей

  • Используйте дешевые релейные платы Arduino 16 за 15 долларов.
  • Простые в использовании команды управления реле.
  • Управляйте отдельным реле или банком одновременно.
  • Драйвер не требуется. Экономьте место для кода.
  • Нет места для данных для поддержания состояния реле.
  • Никакого дополнительного источника питания не требуется.

Детали, необходимые для создания банка реле

  • Расширитель ввода-вывода
  • Расширитель ввода-вывода
  • Расширитель реле
  • Релейная плата Arduino 16

Схема подключения

<рисунок>

Примечание. На приведенной выше схеме подключения IO Expander и Arduino Nano получают питание от первой релейной платы. Все релейные расширители получают питание от релейной платы, к которой они подключены.

  / * IO Expander 
*
* Control 64 Relays
*
* /
#include
# include "IOExpander.h"
#include
// # определить 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 ();
}

Управление реле с несколькими расширителями ввода-вывода

Другой способ управления реле - использование нескольких расширителей ввода-вывода. Это дает нам возможность распределять датчики и реле по центральной или звездообразной сети, но при этом соединять все расширители ввода-вывода на одной последовательной шине. Если вам необходимо разделить расширители ввода-вывода на расстояние до 4000 футов, используйте расширители ввода-вывода, как показано ниже, со стандартным синим сетевым проводом Cat5.

<рисунок>

Схема подключения

<рисунок>

Примечание. На приведенной выше схеме подключения все расширители ввода-вывода и Arduino Nano получают питание от первой релейной платы через последовательную шину. Все релейные расширители получают питание от релейной платы, к которой они подключены.

  / * IO Expander 
*
* Relay Bonnaza с IO Expanders!
*
* /
#include
# include "IOExpander9Bit.h"
#include
#define MAX_BOARDS 4
char cmd [10];
void setup ()
{
Serial9Bit.begin (115200, SERIAL_9N1);
Serial9Bit.write (0); // Установите 9-битные расширители ввода-вывода
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 ( );
}

Так зачем мне управлять таким количеством реле?

Одно из таких приложений - аквапоника или гидропоника. Необходимо автоматизировать множество датчиков и устройств, вплоть до каждой грядки или отдельного растения. Для этого требуется экстремальный ввод-вывод, и расширитель ввода-вывода обеспечивает это.

<рисунок>

Так что приобретите расширитель ввода-вывода сегодня и соберите свою систему!

Код

  • Управление 64 реле с помощью одного расширителя
  • Управление 64 реле с помощью нескольких расширителей
Управление 64 реле с помощью одного расширителя C / C ++
 / * IO Expander * * Control 64 Relays * * / # 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 я =1; sprintf (cmd, "e% df", i); SerialCmdDone (cmd); если (i ++> =MAX_RELAYS) i =1; sprintf (cmd, «e% do», i); SerialCmdDone (cmd); задержка (100); wdt_reset ();} 
Управление 64 реле с несколькими расширителями C / C ++
 / * IO Expander * * Relay Bonnaza с IO Expanders! * * / # include  #include "IOExpander9Bit.h" #include  #define MAX_BOARDS 4char cmd [10]; void setup () {Serial9Bit.begin (115200, SERIAL_9N1); Serial9Bit.write (0); // Установить 9-битные расширители ввода-вывода wdt_enable (WDTO_8S); for (int board =1; board <=4; board ++) SerialCmdDone (board, «eb1»);} void loop () {static int board =1; статическое реле int =1; sprintf (cmd, "e% df", relay); SerialCmdDone (доска, cmd); если (++ реле> 16) {реле =1; если (++ доска> MAX_BOARDS) доска =1; } sprintf (cmd, "e% do", relay); SerialCmdDone (доска, cmd); задержка (100); wdt_reset ();} 

Схема


Производственный процесс

  1. Включение Alexa Control для потолочного вентилятора
  2. Управление монетоприемником с помощью Arduino
  3. Центр управления Arduino
  4. Arduino с Bluetooth для управления светодиодом!
  5. Управление увлажнителем Arduino
  6. Arduino Nano:управление двумя шаговыми двигателями с помощью джойстика
  7. Управляйте своим светодиодом с помощью Cortana
  8. ThimbleKrox - управление мышью пальцами
  9. Управление световой системой с помощью смартфона
  10. 4-контактный ШИМ-контроль вентилятора, 25 кГц, с Arduino Uno