Índice:

IOT operado por bateria: 7 etapas
IOT operado por bateria: 7 etapas

Vídeo: IOT operado por bateria: 7 etapas

Vídeo: IOT operado por bateria: 7 etapas
Vídeo: Arduino IoT Cloud con ESP32, Relé (relay) y Sensor DHT22. Guía completa paso a paso desde cero 2024, Novembro
Anonim
IOT operado por bateria
IOT operado por bateria

Se seu projeto IOT operado por bateria opera intermitentemente, este circuito usa apenas 250nA (ou seja, 0,00000025 amperes!) Quando ocioso. Normalmente, a maior parte da energia da bateria é desperdiçada entre as atividades. Por exemplo, um projeto que opera 30 segundos a cada 10 minutos desperdiça 95% da capacidade da bateria!

A maioria dos microcontroladores tem um modo de espera de baixa energia, mas eles ainda precisam de energia para manter o processador ativo, além disso, quaisquer periféricos irão consumir energia. É preciso muito esforço para obter a corrente de espera abaixo de 20-30mA. Este projeto foi desenvolvido para relatar temperatura e umidade em colmeias de abelhas. Por causa da bateria de localização remota e um escudo de célula para relatar dados onde a única escolha.

Este circuito funcionará com qualquer controlador e alimentação de 12, 5 ou 3V. A maioria das lojas de eletrônicos terá componentes que custam apenas alguns dólares.

Suprimentos

Resistores: 2x1K, 3x10K, 1x470K, 2x1M, 5x10M

Diodos: 2x1N4148, 1xLED

MOSFET: 3x2N7000

Relógio: PCF8563 ou equivalente para microcontrolador

Relé: EC2-12TNU para alimentação de 12V

EC2-5TNU para 5V

EC2-3TNU para 3V

Alimentação: OKI-78SR-5 / 1.5-W36-C Conversor 12V para 5V ou conforme exigido pelo microcontrolador

Interruptor: pressionamento momentâneo para reinicialização, SPDT para teste

Etapa 1: Como funciona o circuito

Como funciona o circuito
Como funciona o circuito

O circuito é bastante simples:

- Um alarme operado por bateria dispara e aciona um interruptor

- A energia flui da bateria para o controlador que inicia e faz seu trabalho

-O controlador zera o alarme

- Em seguida, desliga o interruptor.

Etapa 2: o relógio

O relógio
O relógio

A maioria dos relógios em tempo real deve funcionar, desde que sejam compatíveis com seu controlador e tenham uma linha de interrupção (Int) que informa quando o alarme dispara.

Dependendo do controlador e relógio específicos, você precisará instalar uma biblioteca de software.

POR FAVOR, configure seu controlador e relógio em uma placa protótipo e certifique-se de programá-lo para definir a hora, quando a próxima interrupção deve ocorrer e como limpar uma interrupção após o alarme ter disparado. É muito mais fácil fazer isso funcionar agora, antes de construir a placa final. Veja a última etapa para notas de programação.

Etapa 3: a mudança

O interruptor
O interruptor

Para a chave, usamos um relé de travamento com 2 bobinas.

Colocar uma corrente através da bobina ajustada liga o relé. A corrente só precisa fluir por cerca de 12ms e depois pode ser desligada deixando o relé ligado.

Coloque um pulso semelhante na bobina de reset para desligar o relé.

Queremos um relé de travamento para não usar a energia da bateria para mantê-lo fechado. Além disso, ligamos o relé a partir deste circuito e o desligamos do controlador quando ele termina.

O projeto foi construído para uma bateria SLA de 12V. Estes são baratos (zero porque eu já tinha um!) E farão bem no inverno canadense com um pequeno carregador solar.

O circuito pode ser construído com um relé de 3 V usando algumas baterias AA. Uma vez que o relé vai lidar com 2A na tensão da rede, ele pode trocar uma pequena unidade de energia de parede (ou um segundo relé de maior capacidade) para o equipamento com energia da rede. Apenas certifique-se de que tudo acima de 12 V esteja em uma caixa devidamente aterrada e bem isolada.

Etapa 4: 2N7000 MOSFET

2N7000 MOSFET
2N7000 MOSFET

Este circuito usa 3 MOSFETs de canal N de modo N7000 aprimorado (Transistor de efeito de campo de óxido metálico semicondutor) usados como interruptores.

Custando apenas alguns dólares, esses dispositivos são notáveis. A corrente flui entre o dreno (+) e a fonte (-) quando as tensões da porta excedem cerca de 2V. Quando "ligado", a resistência do Source-Drain é um ohm ou algo assim. Quando desligado muitos megohmes. Esses são dispositivos capacitivos, de modo que a corrente da porta é apenas o suficiente para "carregar" o dispositivo.

É necessário um resistor entre o Gate e a Fonte para permitir que o Gate descarregue quando a tensão do Gate estiver baixa, caso contrário, o dispositivo não desligará.

Etapa 5: o circuito

O circuito
O circuito

A linha de interrupção do relógio (INT) normalmente flutua e é conectada (dentro do relógio) ao aterramento quando o alarme dispara. O resistor de 1M puxa esta linha para cima enquanto espera pelo alarme.

U1 atua como um inversor, pois precisamos de um alto ativo para ligar o relé quando o alarme dispara. O oposto da saída do clock. Isso significa que o U1 está sempre conduzindo em modo de espera e causa um consumo constante de bateria. Felizmente, podemos usar um resistor R1 muito grande para limitar essa corrente. Simulações mostraram que isso poderia chegar a vários Gohms! Minha loja local tinha apenas resistores de 10M, então usei 5 em série. 250na é baixo o suficiente em meu livro.

U2 é uma chave simples para alimentar a bobina definida do relé.

Os 2 diodos são necessários para proteger o circuito quando a alimentação das bobinas do relé for desligada. O campo magnético entrará em colapso e induzirá um pico de corrente que pode danificar algo.

Os 12V brutos da bateria são levados para um divisor de tensão R6 e R7. O ponto central vai para um dos pinos analógicos do controlador para que a tensão da bateria possa ser monitorada e informada.

O U4 é um conversor DC para DC altamente eficiente para produzir 5 V para o controlador.

Quando o controlador termina, ele aumenta a linha Poff que liga o U3 que desliga o relé. O resistor R4 fornece um caminho de aterramento para a porta de U3. O MOSFET é um dispositivo capacitivo e o R4 permite que a carga flua para o solo para que a chave possa ser desligada.

A chave de teste direciona a energia para longe do microcontrolador e para um LED. Isso é útil para testar este circuito, mas crucial quando o controlador está conectado a um computador para programar e testar o código. Desculpe, mas não testei com energia de 2 fontes!

O botão de reinicialização foi uma reflexão tardia necessária. Sem ele, não há como definir o alarme na primeira vez que o sistema é ligado !!!

Etapa 6: Simulação de circuito

Simulação de Circuito
Simulação de Circuito
Simulação de Circuito
Simulação de Circuito

A simulação à esquerda mostra os valores enquanto o sistema está ocioso. À direita está uma simulação quando o alarme está ativo e a linha de interrupção é reduzida.

As tensões reais concordaram razoavelmente bem com a simulação, mas não tenho como confirmar o consumo de corrente real.

Etapa 7: Construção e programação

Construção e Programação
Construção e Programação

O circuito foi construído em uma faixa estreita para seguir aproximadamente o diagrama do circuito. Nada complicado.

Assim que o programa for iniciado, ele deve redefinir o alarme. Isso interromperá o fluxo de corrente através da bobina ajustada do relé. O programa pode fazer seu trabalho e, ao terminar, definir o alarme e desligar tudo colocando Poff alto.

Dependendo do controlador e relógio específicos, você precisará instalar uma biblioteca de software. Esta biblioteca incluirá código de amostra.

A interface e a programação do relógio devem ser testadas em uma placa de protótipo antes de conectar o circuito. Para o Arduino e o relógio H2-8563, o SCL vai para A5 e o SDA para A4. A interrupção vai para o INT mostrado no circuito.

Para o Arduino, o código de teste incluirá algo como:

#incluir

#include Rtc_Pcf8563 rtc;

rtc.initClock ();

// definir data e hora para começar. Não é necessário se você deseja alarmes apenas na hora ou minuto. rtc.setDate (dia, dia da semana, mês, século, ano); rtc.setTime (hr, min, sec);

//Programar alarme

rtc.setAlarm (mm, hh, 99, 99); // Min, hora, dia, dia da semana, 99 = ignorar

// Limpa o alarme rtc.clearAlarm (); }

Recomendado: