Pular para o conteúdo principal

Grove - Relé de Estado Sólido de 4 Canais

Em vez de usar bobina, relés de estado sólido (SSR) encapsulados usam dispositivos semicondutores de potência como tiristores e transistores, que fornecem uma velocidade de comutação muito mais rápida do que os relés mecânicos. O Grove - 4-Channel Solid State Relay é baseado no módulo de alta qualidade G3MC202P, que permite usar 5VDC para controlar MÁX. 240VAC. Com a ajuda da interface Grove, torna-se muito conveniente usar o SSR com seu Arduino.

Usamos um STM32F030F4P6 on-board para controlar os canais separadamente. O comando do Arduino ou de outras placas é transmitido via interface I2C, o STM32F030F4P6 on-board irá analisar o comando, para que você possa controlar a chave que desejar.

De acordo com diferentes cenários de aplicação, preparamos uma série de relés de estado sólido para você.

Grove - Solid State Relay V2

Grove - 2-Channel Solid State Relay

Grove - 4-Channel Solid State Relay

Grove - 8-Channel Solid State Relay

Recursos

  • Baixo consumo de energia

  • Longa durabilidade

  • Endereço I2C opcional

  • Vantagens sobre relés mecânicos:

    • Relés de estado sólido têm velocidades de comutação muito mais rápidas em comparação com relés eletromecânicos, e não possuem contatos físicos que se desgastam
    • Operação totalmente silenciosa
    • A ausência de contatos físicos significa ausência de faíscas, permitindo seu uso em ambientes explosivos, onde é fundamental que nenhuma faísca seja gerada durante a comutação
    • Vida útil aumentada, mesmo que seja acionado muitas vezes, pois não há partes móveis para desgastar nem contatos para formar cavidades ou acumular carbono
    • SSR compacto, de perfil fino, de construção monobloco com um lead frame tudo‑em‑um que incorpora uma PCB, terminais e dissipador de calor, o que é muito menor do que relés mecânicos, e pode integrar mais canais
  • Desvantagens:

    • Quando fechado, resistência mais alta (gerando calor) e ruído elétrico aumentado
    • Quando aberto, resistência mais baixa e corrente de fuga reversa
    • Funciona apenas para carga AC

Especificação

ItemValor
Tensão de entrada de operação4~6V
Tensão de entrada nominal5V
Tensão de carga nominal100 a 240 VAC 50/60 Hz
Faixa de tensão de carga75 a 264 VAC 50/60 Hz
Corrente de carga0,1 a 2 A
Corrente de fuga1,5 mA máx. (a 200 VAC)
Resistência de isolamento1.000 MΩ mín. (a 500 VDC)
Tempo de operação1/2 do ciclo da fonte de alimentação de carga + 1 ms máx.
Tempo de liberação1/2 do ciclo da fonte de alimentação de carga + 1 ms máx.
Temperatura de armazenamento-30°C a 100°C (sem gelo ou condensação)
Temperatura de operação-30°C a 80°C (sem gelo ou condensação)
Umidade de operação45% a 85%RH
Interface de entradaI^2^C
Endereço I^2^C padrão0x11 ou 0x12
Endereços I^2^C disponíveis0x00 ~ 0x7F
Interface de saídaDIP fêmea azul 2 pinos x4
Zero Crosssuporte
CertificaçãoUL / CSA
nota

Você deve prestar atenção à corrente de fuga; 1,5 mA é forte o suficiente para acionar LED de baixa potência, portanto, quando o relé estiver desligado, o LED ainda poderá emitir uma luz fraca.

Aplicações

  • Operações que requerem comutação de baixa latência, por exemplo, controle de luz de palco
  • Dispositivos que exigem alta estabilidade, por exemplo, dispositivos médicos, semáforos
  • Situações que exigem à prova de explosão, anticorrosão, à prova de umidade, por exemplo, indústrias de carvão, químicas.

Visão Geral de Hardware

Mapa de pinos

nota
  • As chaves 1-4 têm a mesma função de pino, portanto, para as outras chaves, você pode consultar LOAD1/LOAD2.
  • Na parte de trás da PCB, há duas interfaces: SWD e I^2^C. A interface SWD é usada por padrão ao programar o firmware; se você quiser usar o I^2^C (na verdade funciona como a UART de boot), você deve definir o BOOT em nível alto.

Esquemático

Controle do relé

K1 é o módulo de relé. Quando uma tensão de 5V é aplicada entre INT+ e INT-, o relé será ligado. Então o LOAD1 se conectará ao LOAD2. Usamos um transistor NPN Q1 (BC817-40) para controlar a tensão entre INT+ e INT-.

O CTR é o sinal de controle proveniente do Arduino ou de outra placa. Ele é puxado para baixo pelo resistor de 10k R2; se não houver sinal, o 'Gate' (porta 1) de Q1 ficará em 0V e o Q1 ficará desligado, de modo que o K1 ficará desligado. Se CTR se tornar 5V, então o Q1 será ligado. O INT- de K1 será conectado ao GND do sistema; para o K1 haverá 5V entre INT+ e INT-, então o K1 será ligado e o LOAD1 se conectará ao LOAD2.

Circuito de conversor de nível bidirecional

Este é um circuito típico de conversor de nível bidirecional para conectar duas seções de tensão diferentes de um barramento I^2^C. O barramento I2C deste sensor usa 3,3V; se o barramento I2C do Arduino usar 5V, este circuito será necessário. No esquemático acima, Q17 e Q18 são MOSFETs de canal N 2N7002A, que atuam como uma chave bidirecional. Para entender melhor esta parte, você pode consultar o AN10441

nota

Nesta seção mostramos apenas parte do esquemático; para o documento completo, consulte a seção Resources

Plataformas Suportadas

ArduinoRaspberry Pi
cuidado

As plataformas mencionadas acima como suportadas são uma indicação da compatibilidade teórica ou de software do módulo. Na maioria dos casos, fornecemos apenas biblioteca de software ou exemplos de código para a plataforma Arduino. Não é possível fornecer biblioteca de software / código de demonstração para todas as possíveis plataformas de MCU. Portanto, os usuários precisam escrever sua própria biblioteca de software.

Primeiros Passos

Brincar com Arduino

Hardware

Materiais necessários

Seeeduino V4.2Base ShieldGrove - 4-Channel Solid State Relay
enter image description hereenter image description hereenter image description here
Adquira agoraAdquira agoraAdquira agora
nota

1 Conecte o cabo USB com cuidado, caso contrário você pode danificar a porta. Use o cabo USB com 4 fios internos; o cabo de 2 fios não pode transferir dados. Se você não tiver certeza sobre o cabo que possui, pode clicar aqui para comprar

2 Cada módulo Grove vem com um cabo Grove quando você compra. Caso você perca o cabo Grove, pode clicar aqui para comprar.

  • Passo 1. Conecte o Grove - 4-Channel Solid State Relay à porta I^2^C do Base Shield.

  • Passo 2. Conecte o Grove - Base Shield ao Seeeduino.

  • Passo 3. Conecte o Seeeduino ao PC via cabo USB.

nota

Se não tivermos o Grove Base Shield, também podemos conectar este módulo diretamente ao Seeeduino como abaixo.

SeeeduinoGrove - 4-Channel Solid State Relay
5VVermelho
GNDPreto
SDABranco
SCLAmarelo

Software

nota

Se esta é a primeira vez que você trabalha com Arduino, recomendamos fortemente que veja Getting Started with Arduino antes de começar.

  • Passo 1. Baixe a biblioteca Multi_Channel_Relay_Arduino do Github.

  • Passo 2. Consulte How to install library para instalar a biblioteca para Arduino.

  • Passo 3. Reinicie a Arduino IDE. Abra o exemplo pelo caminho: File --> Examples --> Multi Channel Relay Arduino Library --> four_channel_relay_control.

Ou você pode simplesmente clicar no ícone no canto superior direito do bloco de código para copiar o código a seguir para um novo sketch na Arduino IDE.

#include <multi_channel_relay.h>

Multi_Channel_Relay relay;

void setup()
{
Serial.begin(9600);
while(!Serial);

/* Scan I2C device detect device address */
uint8_t old_address = relay.scanI2CDevice();
if((0x00 == old_address) || (0xff == old_address)) {
while(1);
}

Serial.println("Start write address");
relay.changeI2CAddress(old_address, 0x11); /* Set I2C address and save to Flash */
Serial.println("End write address");

/* Read firmware version */
Serial.print("firmware version: ");
Serial.print("0x");
Serial.print(relay.getFirmwareVersion(), HEX);
Serial.println();
}

void loop()
{

/**
* channle: 8 7 6 5 4 3 2 1
* state: 0b00000000 -> 0x00 (all off)
* state: 0b11111111 -> 0xff (all on)
*/

/* Begin Controlling Relay */
Serial.println("Channel 1 on");
relay.turn_on_channel(1);
delay(500);
Serial.println("Channel 2 on");
relay.turn_off_channel(1);
relay.turn_on_channel(2);
delay(500);
Serial.println("Channel 3 on");
relay.turn_off_channel(2);
relay.turn_on_channel(3);
delay(500);
Serial.println("Channel 4 on");
relay.turn_off_channel(3);
relay.turn_on_channel(4);
delay(500);
relay.turn_off_channel(4);

relay.channelCtrl(CHANNLE1_BIT |
CHANNLE2_BIT |
CHANNLE3_BIT |
CHANNLE4_BIT);
Serial.print("Turn all channels on, State: ");
Serial.println(relay.getChannelState(), BIN);

delay(2000);

relay.channelCtrl(CHANNLE1_BIT |
CHANNLE3_BIT);
Serial.print("Turn 1 3 channels on, State: ");
Serial.println(relay.getChannelState(), BIN);

delay(2000);

relay.channelCtrl(CHANNLE2_BIT |
CHANNLE4_BIT);
Serial.print("Turn 2 4 channels on, State: ");
Serial.println(relay.getChannelState(), BIN);

delay(2000);


relay.channelCtrl(0);
Serial.print("Turn off all channels, State: ");
Serial.println(relay.getChannelState(), BIN);

delay(2000);
}
  • Passo 4. Faça o upload da demonstração. Se você não sabe como fazer o upload do código, consulte How to upload code.

  • Passo 5. Abra o Serial Monitor da Arduino IDE clicando em Tool-> Serial Monitor. Ou pressione as teclas ++ctrl+shift+m++ ao mesmo tempo.

dica

Se tudo correr bem, você obterá o resultado. Enquanto isso, você verá os LEDs on-board acendendo e apagando alternadamente.

Scanning...
I2C device found at address 0x12 !
Found 1 I2C devices
Start write address
End write address
firmware version: 0x1
Channel 1 on
Channel 2 on
Channel 3 on
Channel 4 on
Turn all channels on, State: 1111
Turn 1 3 channels on, State: 101
Turn 2 4 channels on, State: 1010
Turn off all channels, State: 0
Channel 1 on
Channel 2 on

nota

Nós não adicionamos carga nesta demonstração, se você quiser verificar como adicionar carga, consulte o Grove - 2-Channel Solid State Relay.

Descrição das funções

FunctionDescription
changeI2CAddress(uint8_t old_addr, uint8_t new_addr)altera o endereço do dispositivo, o old_addr é o endereço atual; o new_addr é o endereço que você deseja utilizar. O novo endereço só pode ser definido com sucesso inserindo o endereço antigo correto.
scanI2CDevice()obtém o old_addr (endereço atual)
getChannelState()obtém o estado de cada canal, por exemplo "State: 1111", o que significa que todos os relés estão ligados
getFirmwareVersion()obtém a versão do firmware gravada no MCU on-board
channelCtrl(uint8_t state)para alterar imediatamente todos os canais que você selecionou, a lista de parâmetros state:

CHANNLE1_BITou 0x01
CHANNLE2_BIT ou 0x02
CHANNLE3_BIT ou 0x04
CHANNLE4_BIT ou 0x08

por exemplo.
channelCtrl(CHANNLE2_BIT|CHANNLE3_BIT),ligará o canal 2, canal 3
channelCtrl(0x01|0x02|0x08), ligará o canal 1, canal 2 e canal 4.
channelCtrl(0), desligará todos os canais.
turn_on_channel(uint8_t channel)para ligar um único canal.
por exemplo.
turn_on_channel(3), ligará o canal 3
turn_off_channel(uint8_t channel)para desligar um único canal.
por exemplo.
turn_off_channel(3), desligará o canal 3

Caso você queira alterar o endereço, é necessário defini-lo antes do uso. Por exemplo, queremos alterá-lo para 0x2f. Podemos usar o seguinte código.

#include <multi_channel_relay.h>

Multi_Channel_Relay relay;

void setup()
{
Serial.begin(9600);
while(!Serial);

/* Scan I2C device detect device address */
uint8_t old_address = relay. ;
if((0x00 == old_address) || (0xff == old_address)) {
while(1);
}

Serial.println("Start write address");
relay.changeI2CAddress(old_address,0x2f); /* Set I2C address as 0x2f and save it to the EEPRom */
Serial.println("End write address");

/* Read firmware version */
Serial.print("firmware version: ");
Serial.print("0x");
Serial.print(relay.getFirmwareVersion(), HEX);
Serial.println();
}


FAQ

P1: Como gravar o firmware?

R1: Recomendamos que você use o gravador J-Link e a interface WSD para gravar o firmware.

Você pode baixar o firmware aqui:

Factory firmware

Recomendamos que você use o J-flash para o software:

J-flash

Visualizador Online de Esquemático

Recursos

Projeto

Este é o vídeo de introdução deste produto, com demos simples, que você pode experimentar.

Suporte Técnico & Discussão de Produto

Obrigado por escolher nossos produtos! Estamos aqui para lhe fornecer diferentes tipos de suporte para garantir que sua experiência com nossos produtos seja o mais tranquila possível. Oferecemos vários canais de comunicação para atender a diferentes preferências e necessidades.

Loading Comments...