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

Управление / синхронизация сотен реле одновременно

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

расширитель ввода-вывода
× 2
Расширитель реле
× 2
16 релейная плата
× 2
Arduino Nano R3
× 1

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

Вам нужно управлять и синхронизировать сотни реле одновременно? Затем подключите Arduino, ESP8266, Pi, ПК или Mac к расширителю ввода-вывода с релейными расширителями и используйте новую функцию внешней фиксации.

Это позволяет отправлять новые настройки реле в очень компактном битовом формате, готовом к фиксации. Затем, используя одну линию GPIO от вашего MCU или от IO Expander, выведите все зафиксированные данные одновременно.

Ознакомьтесь с нашим проектом «Управление до 65, 280 реле с помощью вашего проекта Arduino!

Итак, что нужно для настройки расширителя ввода-вывода для внешней фиксации? Используя простую структуру команд расширителя ввода-вывода, давайте настроим простой вариант использования управления релейной платой x16 с внешней фиксацией.

Установите вывод [g] pio [4] как выход [o] с высоким [1] уровнем, на выводе [g] pio [10] мы включаем обнаружение [n] крайнего фронта и, наконец, включаем реле [e] xpander external [l] atch на штыре [10].

> g4o1; g10n; el10
ok
ok
10
>

Теперь мы можем повернуть реле [e] xpanders [o] n / o [f] f / [s] et, а затем, используя внешнюю защелку, включить его, установив [g] pio pin [4] как выход [o] »с низкий [0] уровень для [1] мс. Мы хотим, чтобы контакт 4 вернулся в высокое состояние, чтобы он снова был готов к фиксации.

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

Теперь давайте расширим этот проект до x2 расширителей ввода-вывода, x2 расширителей реле и x2 16 релейных плат с использованием Arduino Nano. Расширители ввода-вывода x2 соединены вместе с использованием 9-битного многоточечного протокола с максимум 255 расширителями ввода-вывода.

Схема внешней фиксации расширителя ввода-вывода

Код Arduino

  / * Расширитель ввода-вывода 
*
* Внешняя фиксация расширителя реле
*
* /

#include
#include "IOExpander9Bit.h"
#include

// # определение SERIAL_DEBUG
#define MAX_BOARDS 2

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

void setup ()
{
Serial9Bit.begin (115200 , SERIAL_9N1);
Serial9Bit.write (0); // Установите 9-битные расширители ввода-вывода
#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 для внешней фиксации реле
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);
задержка (50);
r [0] =~ r [0]; // Инвертируем все реле на плате 2
r [1] =~ r [1];
SerialWriteRelayExpander (2, r, 2);
delay (50);

SerialCmdDone (1, "g4o0,1"); // Блокируем все реле

wdt_reset ();
}

Внешняя фиксация расширителя ввода-вывода в действии

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

Код

  • Внешняя фиксация расширителя ввода-вывода
Модуль расширения ввода-вывода с внешней фиксацией Arduino
 / * IO Expander * * Relay Expander External Latching * * / # 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); // Установить 9-битные расширители ввода-вывода # ifdef SERIAL_DEBUG swSerial.begin (115200); swSerialEcho =&swSerial; #endif wdt_enable (WDTO_8S); для (uint8_t board =1; board <=MAX_BOARDS; board ++) SerialCmdDone (board, "eb1"); SerialCmdDone (1, «g4o1; g10n; el10»); // Настраиваем GPIO для внешней фиксации реле SerialCmdDone (2, "g10n; el10");} void loop () {static uint16_t i =0; uint8_t r [2]; r [0] =~ (uint8_t) (i>> 8); г [1] =~ (uint8_t) я ++; SerialWriteRelayExpander (1, r, 2); задержка (50); г [0] =~ г [0]; // Инвертируем все реле на плате 2 r [1] =~ r [1]; SerialWriteRelayExpander (2, r, 2); задержка (50); SerialCmdDone (1, «g4o0,1»); // Защелкиваем все реле wdt_reset ();} Внешние защелки 

Схема


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

  1. Будущее робототехники
  2. Возьмите под свой контроль обоюдоострый меч SaaS
  3. Пришло время внедрить IoT на складе?
  4. Основы электрических панелей управления
  5. Отзывчивый робот
  6. Пришло время восстановить контроль над покупательским циклом
  7. Понимание работы автомобильного мозга
  8. Понимание автомобильного реле
  9. Что нужно знать о реле
  10. Как застраховать автомобиль в первый раз?