Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Manufacturing Technology >> Proses manufaktur

Mengontrol dan Menyekronkan Ratusan Relay dengan IO Expander

Komponen dan Perlengkapan

IO Expander
× 2
Relay Expander
× 2
Papan Relay 16
× 2
Mengontrol dan Menyekronkan Ratusan Relay dengan IO Expander
Arduino Nano R3
× 1

Tentang Proyek Ini

Perlu mengontrol dan menyinkronkan ratusan relay sekaligus? Kemudian hubungkan Arduino, ESP8266, Pi, PC atau Mac Anda ke IO Expander dengan Relay Expanders dan gunakan fitur External Latching baru.

Ini memungkinkan Anda untuk mengirim pengaturan relay baru dalam format bit yang sangat kompak siap untuk dilatch. Kemudian menggunakan satu baris GPIO dari MCU atau dari output IO Expander untuk mengeluarkan semua data yang dilatch pada saat yang bersamaan.

Lihat proyek Kami Kontrol hingga 65, 280 Relay dengan Arduino Anda!

Jadi apa yang diperlukan untuk mengatur IO Expander untuk External Latching? Menggunakan struktur perintah sederhana dari IO Expander mari kita siapkan kasus penggunaan sederhana untuk mengontrol papan Relay x16 dengan External Latching.

Atur pin [g]pio [4] sebagai [o]utput dengan tingkat tinggi [1], pada pin [g]pio [10] kami mengaktifkan deteksi tepi [n]egative dan akhirnya kami mengaktifkan [e]xpander relay eksternal [l]atch pada pin [10].

>g4o1;g10n;el10
ok
ok
10
>

Sekarang kita dapat menyalakan relay [e]xpanders [o]n/o[f]f/[s]et dan kemudian menggunakan latch eksternal diaktifkan dengan mengatur pin [g]pio [4] sebagai [o]utput dengan tingkat rendah [0] selama [1] ms. Kami ingin pin 4 kembali ke keadaan tinggi sehingga akan siap untuk latch lagi.

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

Mari kita sekarang perluas proyek ini ke x2 IO Expanders, x2 Relay Expanders dan x2 papan Relay 16 menggunakan Arduino Nano. x2 IO Expanders terhubung bersama menggunakan protokol multidrop 9-bit dengan maksimum 255 IO Expanders.

Diagram External Latching IO Expander

Mengontrol dan Menyekronkan Ratusan Relay dengan IO Expander

Kode 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 the relays on board 2
r[1] = ~r[1];
SerialWriteRelayExpander(2, r, 2);
delay(50);

SerialCmdDone(1, "g4o0,1"); // Latch all the relays

wdt_reset();
}

IO Expander External Latching dalam Aksi

Jadi dapatkan IO Expander Anda hari ini dan bangun sistem Anda!

Kode

IO Expander External LatchingArduino
/* 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 the relays on board 2 r[1] = ~r[1]; SerialWriteRelayExpander(2, r, 2); delay(50); SerialCmdDone(1, "g4o0,1"); // Latch all the relays wdt_reset(); } External Latchi 

Skema

Mengontrol dan Menyekronkan Ratusan Relay dengan IO Expander

Proses manufaktur

  1. Robotika Abad 21: Sistem Terdistribusi, Telepresensi, dan Eksplorasi Angkasa
  2. Menguasai SaaS: Strategi untuk Mempertahankan Sambil Memanfaatkan Cloud
  3. Mengapa Gudang Harus Mengadopsi IoT Sekarang: Tingkatkan Efisiensi, Akurasi, dan Keamanan
  4. Panel Kontrol Listrik: Esensi Desain untuk Keamanan dan ROI
  5. Meningkatkan Efisiensi dengan Robot Responsif di Energy Dynamics
  6. Kembali Mengontrol Siklus Pembelian Anda: Strategi Teruji untuk Produsen
  7. Bagaimana Otak Kendaraan (ECU) Mengontrol Kendaraan Modern
  8. Relay Otomotif Dijelaskan: Tujuan, Jenis, dan Cara Melindungi Kendaraan Anda
  9. Panduan Esensial tentang Relay: Jenis, Aplikasi, dan Sejarah
  10. Asuransi Mobil Pertama Kali: Panduan Langkah demi Langkah untuk Cakupan Terjangkau