Diminuir o consumo de bobina de relê – histerese e PWM

Olá leitores , hoje aprenderemos a diminuir consumo de bobina de relê. Relés são dispositivos eletromecânicos destinados á chavear (ligar/desligar) dispositivos ou cargas elétricas através de contatos elétricos isolados. Mais sobre relés aqui.

Os relés são utilizados tanto na eletrônica como na elétrica (chamados de “contatores”) onde se necessita controle “liga/desliga” de cargas elétricas diversas, além de isolação mecânica e elétrica entre o circuito de controle e o de potência.
Na área de eletrônica e sistemas embarcados os relés são utilizados principalmente com o objetivo de isolar circuitos, já que os sistemas de controle geralmente operam em baixa tensão e são muito sensíveis a ruído externo.

Fonte: https://circuitglobe.com/electromagnetic-relay.html

Um dos grandes problemas encontrados na utilização de relés é o grande consumo de corrente durante seu funcionamento, pois o relé é essencialmente um indutor (bobina) que fecha seus contatos mecânicos através de força eletromagnética; para manter seus contatos fechados (ou abertos, dependendo do caso) uma corrente elétrica deve ser aplicada constantemente às bobinas do relé; isto pode matar a viabilidade de um projeto embarcado!.
Existem várias maneiras de resolver o problema do alto consumo de corrente de relés, entre eles utilizar relé de estado sólido (que é essencialmente um semicondutor), utilizar relés biestáveis (ou do Inglês “latching relay“, que é basicamente um relê que mantém sua posição mecânicamente, não elétricamente) ou ainda utilizar um circuito RC em série com a bobina do relé, conforme descrito neste link.
Porém vou apresentar para vocês hoje um quarto método, que é mais barato que um relé biestável e de estado sólido e mais confiável que um circuito RC série: utilizar tensão modulada PWM aproveitando-se de um efeito presente em todo e qualquer indutor, chamado histerese!.

Fonte: https://www.motioncontroltips.com/hysteresis-loss/

Este método não é novidade, já foi discutido até no fórum oficial do Arduino.

Segundo a Wikipedia, a histerese é “.. a tendência de um material ou sistema de conservar suas propriedades na ausência de um estímulo que as gerou…”; trocando em miúdos, a histerese permite que após magnetizada, uma bobina/indutor continue magnetizada mesmo aplicando-se tensões e corrente muito menores que as “nominais” do componente.
Para exemplificar o conceito e realizar os testes, eu montei o circuito da imagem abaixo:

circuito para teste de histerese de relê
Circuito para teste da histerese da bobina

A relação dos componentes* utilizados é a seguinte:
– Q1: transistor bipolar NPN BC548
– Rele1: Relé 5V modelo Srd-05vdc-sc-c
– D1: diodo 1N4007
– 2x resistores 4.700 ohm
– 1x LED vermelho 3mm

O primeiro teste que fiz foi medir a corrente que o relé consume quando ligado normalmente (aplicando-se 5V na base do transistor); a corrente medida foi 66mA, que é muito próximo dos 71,4mA que constam no datasheet do relé.


O segundo teste foi aplicar um sinal PWM na base do transistor, com a finalidade de diminuir a tensão média aplicado ao relé. Para isso eu utilizei uma placa compatível com o Arduino UNO para gerar o PWM, e o sketch (programa) Fading.ino (que vem junto com a IDE oficial do Arduino) modificado para gerar o padrão de tensão que eu preciso:

void loop() { analogWrite(relePin, 255); // liga o relé, PWM 100% (valor 255)
delay(100); // espera 100mS para estabilizar o relé
analogWrite(relePin, 130); // baixa o nível de PWM para 51% (valor 130)
delay(3800); // esperar 3,8 segundos 
analogWrite(relePin, 0); // desliga do relé, PWM 0% (valor 0)
delay(4000); // espera 4 segundos }

Explicando código e resultados:

1) analogWrite(relePin, 255): no primeiro momento aplica-se 100% de tensão PWM (5V, valor 255) á base do transistor, pois segundo seu datasheet é necessário aplicar-se no mínimo 75% dos 5V para que o contato do relé seja fechado.
2) delay(100): esperando 0,1 segundos (100mS) para o relé fechar. Segundo o datasheet esta operação deve demorar apenas 0,01 segundos (10mS).
3) analogWrite(relePin, 130): aqui vem a grande sacada da histerese, este comando reduz a tensão PWM para o valor 130, que corresponde à 51% da tensão nominal do relê (5V), correspondendo á 2,55V. O valor de 130 foi obtido experimentalmente, é um dos menores valores com os quais eu consegui manter o relé ligado; cada relé possivelmente precisará de um valor de PWM diferente.
4) delay(3800): aguarda 3,8 segundos com o relé ligado.
5) analogWrite(relePin, 0): este é o comando para desligar o relé, aplicando-se o valor PWM ‘0’ (0 volts) á base do transistor.


Conseguimos diminuir consumo de bobina de relê? De acordo com o datasheet do relé, a potência consumida pela bobina quando energizada é em torno de 0,36W (360mW), um consumo de corrente de 71,4mA em 5V (P= 0,0714 * 5 W).

Baixando- se a tensão aplicada ao relé para 51% de 5V (2,55V, conforme acima) a corrente foi reduzida para 0,023A (23mA), resultando em uma potência de P = 2,55 * 0,023 = 0,058W (58mW).
O circuito foi deixado em teste durante uma tarde inteira sem perder nenhum acionamento do relé, o que confirma que este valor de PWM (51% de 5V) seguramente funciona para reduzir o consumo do relé.
Portanto aplicando-se ao relé uma tensão PWM no valor de 51% de 5V:
– A corrente da bobina do relé foi reduzida de 66mA para 23mA, uma redução de 65%
– A potência sobre a bobina do relé foi reduzida de 360mW para 58mW, uma redução de 84%

Em resumo, se seu sistema necessita ter baixo consumo e você não pode gastar ou não quer implementar relés de estado sólido, a redução da tensão nas bobinas dos relés através de PWM pode reduzir em 84% o consumo de energia de cada relé.

Se quiser saber mais sobre outros assuntos, outro projeto bem legal que fiz é um teclado utilizando apenas um pino analógico para ler 10 teclas.

Um comentário a “Diminuir o consumo de bobina de relê – histerese e PWM”

  1. […] Mudando de assunto, quer saber uma forma legal de diminuir o consumo de bobinas de relês com Arduino? Veja aqui. […]

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *