Pular para o conteúdo principal

Grove - Relé SPDT de 4 Canais

O relé Single Pole Double Throw (SPDT) é bastante útil em certas aplicações porque possui um terminal comum e 2 contatos, o que é ótimo para selecionar entre duas opções. O Grove - Relé SPDT de 4 Canais possui quatro chaves de single pole - double throw (SPDT). Ele requer apenas sinais de baixa tensão e baixa corrente para controlar essas chaves. Especificamente, você pode usar 5V DC para controlar até 250V AC ou 110V DC. O endereço I2C é alterável, para que você possa usar vários módulos de relé no mesmo projeto. O Grove - Relé SPDT de 4 Canais possui quatro chaves de single pole - double throw (SPDT). Ele requer apenas sinais de baixa tensão e baixa corrente para controlar essas chaves. Especificamente, você pode usar 5V DC para controlar até 250V AC ou 110V DC.

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

Leitura prévia

Uma introdução de O que é um Módulo de Relé Grove e Como funciona um Relé é leitura fortemente recomendada antes, se você não estiver familiarizado com eles. Visite nosso blog abaixo para informações detalhadas:

Características

  • Caixa plástica resistente a alta temperatura
  • Carga de alta tensão
  • Baixo consumo de energia
  • Longa durabilidade
  • Endereço I2C opcional
    • 0x00 ~ 0x7F

Especificação

ItemValor
Tensão de trabalho5V
Corrente nominal da bobina89.3mA
Carga com certificação TUV10A 250VAC/ 10A 30VDC
Carga com certificação UL10A 125VAC 28VDC
Tensão máxima permitida250VAC/110VDC
Consumo de energiaaprox. 0.45W
Resistência de contato100mΩ máx.
Resistência de isolamento100MΩ mín. (500VDC)
Comutação máxima LIGA/DESLIGA30 operações/min
Temperatura ambiente-40°C a +85°C
Umidade de operação45% a 85% r.h.
Material de contatoAgCdO
Interface de entradaI^2^C
Endereço I^2^C padrão0x11 ou 0x12
Endereço I^2^C disponível0x00 ~ 0x7F
Interface de saídaTerminal de parafuso fêmea DIP de 3 pinos - Verde
dica

Para o parâmetro de carga, fornecemos dois conjuntos de dados de certificação. Na verdade, a carga máxima é 10A 250VAC/10A 30VDC.

Aplicações

  • Eletrodoméstico
  • Máquina de escritório
  • Receptor de TV com controle remoto
  • Monitor
  • Aplicações de equipamento de áudio com alta corrente de surto

Primeiros Passos

Plataformas Suportadas

ArduinoRaspberry Pi
cuidado

As plataformas mencionadas acima como suportadas são uma indicação da compatibilidade de software ou teórica 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 têm que escrever sua própria biblioteca de software.

Brincar com Arduino

Hardware

Materiais necessários

Seeeduino V4.2Base ShieldGrove - Relé SPDT de 4 Canais
enter image description hereenter image description hereenter image description here
Adquira agoraAdquira agoraAdquira agora
nota
  • Conecte o cabo USB suavemente, caso contrário você pode danificar a porta. Use o cabo USB com 4 fios internos, o cabo de 2 fios não consegue transferir dados. Se você não tiver certeza sobre o cabo que possui, pode clicar aqui para comprar.

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

Visão geral do hardware

nota

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

SeeeduinoGrove - Relé SPDT de 4 Canais
5VVermelho
GNDPreto
SDABranco
SCLAmarelo

Mapa de pinos

nota
  • As chaves 1-4 têm a mesma função de pino, então, para as outras chaves, você pode se referir a NC1/COM1/NO1.
  • 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.
  • Passo 1. Conecte o Grove - Relé SPDT de 4 Canais à 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.

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 seguinte código em 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);
}
nota

O arquivo de biblioteca pode ser atualizado. Este código pode não ser aplicável ao arquivo de biblioteca atualizado, portanto, recomendamos que você use os primeiros métodos.

  • Etapa 4. Faça o upload do demo. Se você não sabe como fazer o upload do código, verifique How to upload code.

  • Etapa 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
dica

O Grove - 4-Channel SPDT Relay estará funcionando como abaixo se tudo correr bem.

nota

Nós não adicionamos carga neste demo, se você quiser verificar como adicionar carga, consulte o Grove - 2-Channel SPDT Relay.

Descrição das funções

FunçãoDescrição
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ê quer usar. O novo endereço só pode ser configurado com sucesso inserindo o endereço antigo correto.
scanI2CDevice()obter o old_addr (endereço atual)
getChannelState()obter o estado de cada canal, por exemplo "State: 1111", o que significa que todos os relés estão ligados
getFirmwareVersion()obter 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),irá ligar o canal 2 e o canal 3
channelCtrl(01|02|08), irá ligar o canal 1, canal 2 e canal 4.
channelCtrl(0), irá desligar todos os canais.
turn_on_channel(uint8_t channel)para ligar um único canal.
por exemplo.
turn_on_channel(3), irá ligar o canal 3
turn_off_channel(uint8_t channel)para desligar um único canal.
por exemplo.
turn_off_channel(3), irá desligar o canal 3

Caso você queira alterar o endereço, é necessário configurá-lo antes de usar. 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:

Firmware de fábrica

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

J-flash

Visualizador Online do Esquemático

nota

Como os chips da série ST32 estão em falta globalmente, os preços aumentaram várias vezes e não há uma data de entrega clara. Não tivemos escolha a não ser mudar para o chip MM32. Os modelos de substituição específicos são os seguintes: STM32F030F4P6TR é substituído por MM32F031F6P6. Após a substituição do chip, as funções do produto, características, métodos de uso e códigos permanecem inalterados. Deve-se notar que a versão do firmware mudou, e o firmware de fábrica foi ajustado de acordo com diferentes chips. Se você precisar regravar o firmware, faça o download do firmware correspondente ao chip.

Recursos

Projeto

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

Automação e Monitoramento Residencial: Um sistema baseado em RSL10 Sense DB que pode monitorar e controlar a temperatura, umidade e intensidade de luz por aplicativo de smartphone e Alexa.

Grove - 4-Channel SPDT Relay: Ei Seeekers!!! Esta é a segunda semana do nosso segmento #newproductsTuesday. Haverá uma demonstração de produto do nosso novo Grove - 4-Channel SPDT Relay neste vídeo e também um demo bem interessante.

Suporte Técnico e Discussão de Produto

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

Loading Comments...