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 - 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
| Item | Valor |
|---|---|
| Tensão de entrada de operação | 4~6V |
| Tensão de entrada nominal | 5V |
| Tensão de carga nominal | 100 a 240 VAC 50/60 Hz |
| Faixa de tensão de carga | 75 a 264 VAC 50/60 Hz |
| Corrente de carga | 0,1 a 2 A |
| Corrente de fuga | 1,5 mA máx. (a 200 VAC) |
| Resistência de isolamento | 1.000 MΩ mín. (a 500 VDC) |
| Tempo de operação | 1/2 do ciclo da fonte de alimentação de carga + 1 ms máx. |
| Tempo de liberação | 1/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ção | 45% a 85%RH |
| Interface de entrada | I^2^C |
| Endereço I^2^C padrão | 0x11 ou 0x12 |
| Endereços I^2^C disponíveis | 0x00 ~ 0x7F |
| Interface de saída | DIP fêmea azul 2 pinos x4 |
| Zero Cross | suporte |
| Certificação | UL / CSA |
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


- 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
Nesta seção mostramos apenas parte do esquemático; para o documento completo, consulte a seção Resources
Plataformas Suportadas
| Arduino | Raspberry Pi | |||
|---|---|---|---|---|
![]() | ![]() | ![]() | ![]() | ![]() |
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.2 | Base Shield | Grove - 4-Channel Solid State Relay |
|---|---|---|
![]() | ![]() | |
| Adquira agora | Adquira agora | Adquira agora |
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.

Se não tivermos o Grove Base Shield, também podemos conectar este módulo diretamente ao Seeeduino como abaixo.
| Seeeduino | Grove - 4-Channel Solid State Relay |
|---|---|
| 5V | Vermelho |
| GND | Preto |
| SDA | Branco |
| SCL | Amarelo |
Software
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.
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

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
| Function | Description |
|---|---|
| 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:
Recomendamos que você use o J-flash para o software:

Visualizador Online de Esquemático
Recursos
- [Zip] Arquivos eagle do Grove-4-Channel SPDT Relay
- [Zip] Multi Channel Relay Arduino Library
- [Bin] Factory firmware
- [PDF] Datasheet do G3MC202P
- [PDF] Datasheet do STM32
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.







