Controle relé, porta e status com MQTT.

IMG_20160213_213105Introdução

Acho que o post poderia se chamar “Utilizando relé com Raspberry e ESP8266”, mas essa é só mais uma das muitas tarefas que meu Raspberry Pi 2 está fazendo.

Dando continuidade ao projeto de IoT onde já mostrei como implementar MQTT, servidor DNS para resolução de nomes para Internet e para a rede local, comunicação MQTT com ESP8266, servidor e client NTP para ajuste de data/hora e afins,  nessa fase mostrarei como colocar alguns módulos relé para controle de lâmpadas e abertura de porta. O interessante nessa parte do projeto é que acender a lâmpada será um evento constante à 110v, enquanto o destravamento da porta se dá apenas pela sinalização de 12v, que pode ser feito diretamente com um transistor, mas vou utilizar uma das portas do relé apresentado nesse projeto.

Existem 2 tipos de relé; o convencional vendido em módulos para conectar em MCUs e o relé de estado sólido. Vamos nos ater ao primeiro.

Funcionalidade dos pinos
Funcionalidade dos pinos

O relé tem 5 pinos. Desses, 2 são para a bobina que aciona a chave, onde você envia um sinal de 5v@25mA (no modelo desse módulo). Os outros 3 são os pinos da tensão externa, que não tem relação com a MCU. O que você deve ter em mente é que trata-se de um interruptor. Para ficar mais claro, imagine que não há interruptor na lâmpada do teto, ela fica constantemente ligada por 2 fios. Se você cortar 1 fio, ela se apaga; se reconectá-lo, ela se acende novamente. É isso que o relé faz; esse 1 fio cortado é reconectado quando a chave do relé é acionada e é como se o fio fosse cortado ao destravar o relé. Colocarei um parágrafo em outra cor, sendo esse conselho que evitará você por fogo em sua casa, caso não tenha noção de energia elétrica:

Você não deverá ligar NEUTRO e FASE ao relé. A interrupção se dá pelo neutro OU fase. Não use NADA que vá além de 10A em 227v e nada que vá além de 12A em 110v. Para saber quantos amperes seu aparelho consome, aplique a seguinte fórmula:

A = \frac{W}{t}

Onde, “W” é Watts, que você deverá ter a informação registrada em algum lugar do aparelho, seja ele qual for. “t” é a tensão e “A” é o resultado da divisão em amperes.




Mas o relé também trabalha de outra maneira. Ele pode manter constantemente conectado o fio dessa lâmpada e interromper esse fio quando a bobina for acionada. Nesse caso, é como se ele recebesse um sinal para cortar o fio. Está ficando claro?  – Vamos melhorar isso, explicando cada um dos pinos em detalhes.

Common (C)

Entrada da fase (usando a fase como exemplo). Ainda utilizando a lâmpada sem interruptor tal qual exemplificado acima, suponhamos que você corte um dos fios e por acaso esse fio é o fase. uma ponta dele vai em C e a outra vai em NC ou NO, conforme explicado a seguir.

Normally Closed (NC)

Normalmente fechado significa que nesse lado o fluxo é continuo quando a bobina do relé não é acionada. Como no exemplo uma ponta do fio cortado foi conectado ao e a outra ponta agora está sendo conectada ao NC, imediatamente a lâmpada voltará a permanecer ligada. Se você acionar a bobina, a lâmpada desligará (enquanto você mantiver a bobina acionada).

Normally Open

Normalmente aberto significa que se você ligou um lado do fio cortado ao e a outra parte desse fio cortado ao NO , invés de NC, a lâmpada permanecerá desligada exceto você acione a bobina para que ela ligue (e permanecerá ligada enquanto a bobina estiver acionada).




A bobina

Para acionamento da bobina, o consumo médio desse relé 5v é de 20mA, o que significa o limite do Arduino UNO  e 5mA mais no ESP8266, além de subtensão. Algumas MCUs e outras arquiteturas trabalham à 3.3v, que não tem nem tensão e nem corrente suficiente para acionar o relé. Nesse caso, uma alternativa éa utilização de um transistor NPN, de forma que você pode oferecer uma tensão de 5v externa aos pinos de GPIO da MCU, e assim evita um dos riscos, que é queimar o pino por esgotamento dos recursos.

Barulho no acionamento do relé

Se for seu primeiro contato com relé, provavelmente você se assustará ao acionar a bobina. Ele sempre fará um barulho de “plac” ao acionamento e interrupção. (perdoe-me pela onomatopéia para exemplificar o funcionamento).

Proteção contra o retorno da bobina

Quando o relé é destravado, a bobina pode produzir um retorno forte o suficiente para queimar a MCU inteira. No melhor dos casos, gerará instabilidade ou resets. Para eliminar esse segundo problema, utiliza-se um diodo (1N4001, por exemplo).

O optocopler

Uma segunda opção contra o retorno da bobina seria a utilização de um optocopler. Um foto-acoplador tem o propósito de oferecer isolamento físico ao circuito, de modo que não importa o que aconteça do lado B do componente, o lado A estará sempre protegido.

Módulos relé para microcontroladores

E aí entra a parte legal. Você não precisa montar um circuito improvisado, a não ser que deseje. Se é essa sua intenção, recomendo esse meu outro artigo a respeito de relês. Nele, você deverá montar todo o circuito manualmente.

Se voce quer fazer um projeto grande, provavelmente montar seus relés será a melhor opção pela enorme diferença de custo. Para automação residencial simples, pode valer mais a pena pegar módulos prontos e focar somente na montagem e configuração. Além de tudo, o circuito pode ser bastante elegante e ter de 1 a N relés prontos para uso.

Aqui eu tenho esses 3 módulos da foto e um monte de relés soltos para montagem. Vou focar nos módulos por causa do projeto proposto.

Recomendações sobre a implementação

Se você começar a criar tópicos a revelia, sua implementação vai virar uma bagunça e você vai ter um produto final amador. Sugiro que se você não tem entrosamento com o protocolo referido, leia esse post que escrevi justamente para ser adendo a esse artigo que vos escrevo.

Veja a montagem no Fritzing e o video a seguir, onde mostro alguns relés e módulos de 1, 2 e 4 relés. Depois disso (logo mais abaixo), vamos começar a brincadeira com a lâmpada da minha bancada, seguido pela destrava da porta.

[caption id="attachment_5153" align="aligncenter" width="300"]Como montar um circuito para relé Como montar um circuito para relé[/caption]

Mais uma vez, os detalhes dessa implementação (caso deseje montar seu próprio circuito) estão nesse link. Esse video a seguir é exclusivamente para apresentar o relé e os módulos, a identificação da pinagem, a diferença do módulo comum e o circuito com optocopler.

Isso é algo fora do padrão, já que o Raspberry é também meu broker, mas alí estão os GPIO dando sopa. Eu vou utilizá-los para acionar os relés, e assim já aproveito pra mostrar como é simples utilizar o GPIO em qualquer board que rode Linux e disponibilize esse recurso.

Um engano comum que eu tenho visto é quanto à identificação dos GPIO. nesse outro post tem dicas preciosissimas sobre Raspberry, dentre elas, a tabela do GPIO de todos os modelos e um exemplo em shell, que reproduzo mais abaixo. Antes de fazer toda a configuração e se frustar, a melhor opção é comprovar o funcionamento com um LED. Eu escolhi o pino 40, que é o GPIO 21 da Raspberry Pi 2. Para testar, coloquei um LED de 3mm com um resistor de 330Ω com o seguinte conjunto de comandos no shell (o que começa com cerquilha é só comentário para informar-lhe o que estou fazendo):

Perceba que isso é idêntico ao que qualquer controladora faz. Se fosse Arduino (pino 21 no Mega, sei lá…):

Se fosse PIC (com MikroC):

O princípio é o mesmo; INPUT ou OUTPUT e LOW ou HIGH.


 

Como eu já havia feito anteriormente acionamento de lâmpada com relé, não tive dúvidas quanto sua utilização. Mas como eu queria ver o resultado logo (ansiedade) coloquei um LED usando o próprio 5v do Raspberry só pra sorrir. Mas se você está iniciando com relé, faça igual para não ter problema. Abaixo, um esquema feito no Fritzing. E essa é outra dica que quero deixar-lhe; se você adicionar a Raspberry no balcão do Fritzing, encostando o mouse sobre os pinos você saberá a que GPIO ele pertence! Isso é muito, muito prático e vai te ajudar a não errar!

[caption id="attachment_5164" align="aligncenter" width="300"]Conexões de teste Conexões de teste[/caption]

E fiz um video bem curto pra que você veja o acionamento do relé. Configurei de modo que ao desligar o LED da protoboard, o relé aciona seu LED. Isto é, utilizei o COM e o NC. Veja o video, assim você já terá uma visão primária da minha estrutura no balcão de DIY que eu fiz pra brincar com eletrônica.

Infelizmente terei que dividir essa implementação em mais 1 ou 2 posts porque senão ficará estupidamente grande o artigo, mas até aqui já deu pra ver que a brincadeira será boa, hum?

Inscreva-se no nosso newsletter, alí em cima à direita e receba novos posts por email.

Siga-nos no Do bit Ao Byte no Facebook.

Prefere twitter? @DobitAoByte.

Inscreva-se no nosso canal Do bit Ao Byte Brasil no YouTube.

Próximo post a caminho!

Agregador de Links - Loucuras da Net

Precisa de hospedagem? Então fuja da Locaweb e vá para Euler.

euler_banner

Comments

comments

Djames Suhanko

Djames Suhanko é Perito Forense Digital. Já atuou com deployer em sistemas de missão critica em diversos países pelo mundão.Programador Shell, Python, C, C++ e Qt, tendo contato com embarcados ( ora profissionalmente, ora por lazer ) desde 2009.

Deixe uma resposta