Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Manufacturing Technology >> Processo de manufatura

Controlar / sincronizar centenas de relés ao mesmo tempo

Componentes e suprimentos

Expansor IO
× 2
Relay Expander
× 2
16 Placa de retransmissão
× 2
Arduino Nano R3
× 1

Sobre este projeto


Precisa controlar e sincronizar centenas de relés ao mesmo tempo? Em seguida, conecte seu Arduino, ESP8266, Pi, PC ou Mac a um expansor IO com expansores de relé e use o novo recurso de travamento externo.

Isso permite que você envie as novas configurações do relé em um formato de bit muito compacto, pronto para ser travado. Em seguida, usando uma única linha GPIO de seu MCU ou do IO Expander, todos os dados travados são enviados ao mesmo tempo.

Veja nosso controle de até 65.280 relés com seu projeto Arduino!

Então, o que é necessário para configurar o IO Expander para External Latching? Usando a estrutura de comando simples do IO Expander, vamos configurar um caso de uso simples para controlar uma placa de relé x16 com travamento externo.

Defina o [g] pio pin [4] como um [o] utput com um alto [1] nível, no [g] pio pin [10] habilitamos a detecção de borda [n] egativa e, por fim, habilitamos o relé [e] xpander externo [l] atch no pino [10].

> g4o1; g10n; el10
ok
ok
10
>


Agora podemos girar o relé [e] xpanders [o] n / o [f] f / [s] et e, em seguida, usar a trava externa habilitá-la definindo [g] pio pin [4] como um [o] utput com um nível [0] baixo por [1] ms. Queremos que o pino 4 retorne a um estado alto para que esteja pronto para travar novamente.

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


Vamos agora expandir este projeto para expansores x2 IO, expansores de relé x2 e placas de relé x2 16 usando um Arduino Nano. Os expansores x2 IO são conectados entre si usando um protocolo multiponto de 9 bits com no máximo 255 expansores IO.





Diagrama de travamento externo do expansor IO





Código Arduino

  / * Expansor IO 
*
* Expansor de relé Travamento externo
*
* /

#include
#include "IOExpander9Bit.h"
#include

// # define SERIAL_DEBUG
#define MAX_BOARDS 2

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

configuração void ()
{
Serial9Bit.begin (115200 , SERIAL_9N1);
Serial9Bit.write (0); // Defina os expansores IO para 9 bits
#ifdef SERIAL_DEBUG
swSerial.begin (115200);
swSerialEcho =&swSerial;
#endif
wdt_enable (WDTO_8S);

para (placa uint8_t =1; placa <=MAX_BOARDS; placa ++)
SerialCmdDone (placa, "eb1");

SerialCmdDone (1, "g4o1; g10n; el10 "); // Configurar GPIO para latch externo de relés
SerialCmdDone (2, "g10n; el10");
}

void loop ()
{
estático uint16_t i =0;
uint8_t r [2];

r [0] =~ (uint8_t) (i>> 8);
r [1] =~ (uint8_t) i ++;
SerialWriteRelayExpander (1, r, 2);
atraso (50);
r [0] =~ r [0]; // Inverte todos os relés na placa 2
r [1] =~ r [1];
SerialWriteRelayExpander (2, r, 2);
delay (50);

SerialCmdDone (1, "g4o0,1"); // Trava todos os relés

wdt_reset ();
}





Travamento externo do expansor IO em ação




Portanto, pegue seu IO Expander hoje e construa seu sistema!

Código

  • IO Expander External Latching
Expansor de IO com travamento externo Arduino
 / * Expansor IO * * 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); // Defina os expansores IO para 9 bits # ifdef SERIAL_DEBUG swSerial.begin (115200); swSerialEcho =&swSerial; #endif wdt_enable (WDTO_8S); para (placa uint8_t =1; placa <=MAX_BOARDS; placa ++) SerialCmdDone (placa, "eb1"); SerialCmdDone (1, "g4o1; g10n; el10"); // Configurar GPIO para travamento externo de relés 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); atraso (50); r [0] =~ r [0]; // Inverte todos os relés da placa 2 r [1] =~ r [1]; SerialWriteRelayExpander (2, r, 2); atraso (50); SerialCmdDone (1, "g4o0,1"); // Trava todos os relés wdt_reset ();} Trava externa 

Esquemas


Processo de manufatura

  1. O Futuro da Robótica
  2. Assuma o controle da espada SaaS de dois gumes
  3. É hora de implementar a IoT no warehouse?
  4. Noções básicas de painéis de controle elétrico
  5. O robô de capacidade de resposta
  6. É hora de recuperar o controle do ciclo de compra
  7. Entendendo o funcionamento do brainbox automotivo
  8. Entendendo um relé automotivo
  9. Coisas que você precisa saber sobre relés
  10. Como obter o seguro automóvel pela primeira vez?