Índice:
- Suprimentos
- Etapa 1: Hardware - Circuito
- Etapa 2: Hardware - Gabinete
- Etapa 3: Software
- Etapa 4: automação residencial e telegrama
- Etapa 5: melhorias e outras melhorias
Vídeo: Sensor de porta alimentado por bateria com integração de automação residencial, WiFi e ESP-NOW: 5 etapas (com fotos)
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:37
Neste instrutível, mostro como fiz um sensor de porta alimentado por bateria com integração de automação residencial. Eu vi alguns outros sensores e sistemas de alarme legais, mas eu queria fazer um para mim.
Os meus objetivos:
- Um sensor que detecta e relata uma rápida abertura de porta (<5 segundos)
- Um sensor que detecta o fechamento da porta
- Um sensor que funciona com bateria e funciona por alguns meses com bateria
O hardware e software são inspirados em
- O trigboard de Kevin Darrah (TPL5111 e TPS73733).
- Esse vídeo
Fiz um sensor para a porta da frente e a porta dos fundos. A única diferença é a posição do led e a chave de alimentação externa (no sensor da porta traseira).
Fiz várias melhorias durante o desenvolvimento em hardware e software, podem ser vistas nas fotos.
Suprimentos
Comprei os componentes eletrônicos da Aliexpress, as peças principais:
- Bateria LiPo
- TPS73733 LDO
- TPL5111
- Interruptor Reed
- Mosfet do canal P: IRLML6401TRPBF
- Magnético
- Placa adaptadora de PCB para componentes SMD e outros.
Etapa 1: Hardware - Circuito
Veja os esquemas anexados para o circuito. Eu soldei as peças SMD em uma placa de PCB adaptadora e soldou todos os componentes a uma placa de dupla face perf. Eu conectei o ESP-01 por meio de cabeçalhos fêmeas, para poder removê-lo para programá-lo por meio do adaptador mostrado na etapa 3 deste Instructable.
O circuito funciona da seguinte maneira:
- Quando a porta é aberta, o TPL5111 recebe um disparo no pino DELAY / M_DRV e ativa o TPS73733 LDO que alimenta o ESP-01. Para esta operação, o EN / ONE_SHOT deve ser puxado para baixo, consulte o datasheet do TPL5111.
- Após a execução do programa (consulte a etapa Software), o ESP-01 envia um sinal Concluído ao TPL5111 que desativa o TPS73733, resultando em um estado de energia muito baixa para o TPL5111 e o TPS73733.
Eu uso interruptores reed com conexões NO e NC. Eu conectei o cabo NF, já que a chave reed deve fechar o circuito quando o ímã for removido (porta aberta) e abrir quando o ímã estiver próximo (porta fechada).
Para o sensor backdoor adicionei alguns condensadores e resistores quando descobri algumas instabilidades, porém a instabilidade foi causada pelo software (esp_now_init) como descobri mais tarde.
Etapa 2: Hardware - Gabinete
Eu projetei o invólucro no Autodesk Fusion360, inspirado neste vídeo do 'cara com sotaque suíço'.
Os arquivos STL das três partes:
- Caixa
- Tampa
- Porta-ímã
são publicados na minha página Thingiverse.
Etapa 3: Software
O programa está no meu Github.
O fluxo do programa é mostrado na imagem. Veja meu outro Instructable para a explicação de como eu uso ESP-NOW.
Quando o módulo é ligado, ele primeiro tenta enviar a mensagem 'OPEN' via ESP-NOW. Se isso não funcionar, ele muda para uma conexão WiFi e MQTT.
Descobri que, pelo menos na minha configuração, a mensagem 'FECHADO' não foi enviada com sucesso via ESP-NOW, então removi isso do programa e só uso WiFi e MQTT.
Durante o tempo em que a porta está aberta e o módulo está esperando a porta fechar, ele usa esse tempo para se conectar ao WiFi e MQTT, então quando a porta está fechada, ele só precisa enviar a tensão medida e uma mensagem FECHADA e então ele vai dormir diretamente.
O programa verifica se a mensagem fechada é recebida pelo receptor por meio da escuta de uma mensagem MQTT no tópico certo.
Etapa 4: automação residencial e telegrama
Meus sensores de porta se comunicam com meu Openhab Home Automation no meu Raspberry Pi Zero.
Principais aplicações:
- Leia o estado da porta: ABERTA ou FECHADA.
- Alarme-me via telegrama se uma porta for aberta (se o alarme estiver ativado ou a função Monitorar estiver ativada).
- Leia a última vez que uma porta foi aberta ou fechada.
- Conte o número de aberturas que um sensor de porta pode manipular antes que a bateria se esgote.
Por exemplo, se estamos de férias e o vizinho chega para regar as plantas, recebo uma mensagem. Veja o vídeo na introdução.
Meus itens, regras e arquivos de sitemap do Openhab estão no meu Github. Nesses arquivos você também pode ver o meu sensor de porta do galpão, que usa uma chave de palheta com fio comum e uma pequena chave de contato (final) de uma impressora 3D na abertura da fechadura (veja as fotos).
Como usar a ação Telegram no Openhab é descrito aqui.
Etapa 5: melhorias e outras melhorias
Nos últimos meses, fiz a seguinte melhoria.
Lidar com aberturas de portas longas por meio de um sinal de pulso de comutação automática
No verão, deixamos a porta dos fundos aberta por algumas horas quando estamos em casa. O ESP-01 em execução com uma conexão WiFi drenaria desnecessariamente a bateria. Por isso incluí um botão liga / desliga para poder desligar o módulo nessas situações.
No entanto, isso às vezes resultava em um módulo permanentemente desligado (quando esqueci de ligá-lo) e uma bateria descarregada após algumas tardes de uma porta aberta e um módulo funcionando (Quando esqueci de desligá-lo).
Portanto, eu queria ser capaz de desligar o módulo por meio do software depois que o módulo estivesse ligado por um tempo predefinido (1 minuto).
No entanto, onde o pulso 'FEITO' do ESP-01 desligou o TPL5111 quando a porta foi fechada, descobri que o TPL5111 não foi desligado por um pulso 'FEITO' enquanto o pino DELAY / M_DRV estava ALTO. Este sinal HIGH no pino DELAY / M_DRV foi causado pela porta aberta e o contato NF do reed switch conectado à tensão da bateria.
Portanto, o sinal para o pino DELAY / M_DRV não deve ser continuamente ALTO, mas deve ser pulsado. Na folha de dados TPL5111, você pode descobrir que deve ser um pulso de> 20 ms. Fiz este sinal de comutação automática por meio de um mosfet de canal P, um capacitor e um resistor de 10K e 300K, consulte o esquema incluído.
Funciona da seguinte maneira:
- Se o contato NF do interruptor reed estiver fechado, o Gate está BAIXO e o Mosfet está LIGADO, resultando em um sinal HIGH no pino DELAY / M_DRV que ativa o módulo.
- O capacitor é carregado rapidamente, resultando em uma tensão crescente no Gate.
- Após aproximadamente 20 ms, a voltagem no Gate é 97% da voltagem da bateria (300K / (300K + 10K) que é ALTA e o Mosfet é desligado, resultando em um sinal BAIXO no pino DELAY / M_DRV.
- Quando o pino DELAY / M_DRV está BAIXO, o sinal DONE do ESP-01 resulta no desligamento do módulo.
Isso é implementado no software; um loop while não só verifica se a porta ainda está aberta, mas também se o módulo não está ligado por muito tempo. Se ligado por muito tempo, publica um valor NULL (estado indefinido da porta). Neste caso não sei se a porta está aberta ou fechada e não alcanço todos os objetivos mencionados na introdução, mas a duração da bateria é mais importante e na maioria das vezes abrimos a porta novamente mais tarde naquele dia, resultando em um estado fechado confirmado da porta.
É importante usar um Mosfet de canal P que seja adequado para a faixa de voltagem usada aqui. O Mosfet deve estar completamente ligado a um VGS de cerca de - 3,8 V e completamente desligado a um VGS de cerca de -0,2 V. Eu tentei vários Mosfets e descobri que um IRLML6401TRPBF funciona bem para este objetivo em combinação com os resistores de 10K e 300K. Um capacitor de 1 uF funciona bem para obter um comprimento de pulso de cerca de 20 ms. Um capacitor maior resulta em um pulso mais longo, o que não é necessário, uma vez que o TPL5111 foi ativado. Usei meu osciloscópio DSO150 para verificar as tensões e o comprimento de pulso.
Melhoria planejada: atualização OTA
Pretendo incorporar uma atualização OTA por meio do seguinte procedimento, que já está parcialmente incluído no software atual
- Via Openhab de NodeRed eu publico uma mensagem retida de 'atualização' um 'tópico de atualização'.
- Se o módulo estiver ligado e conectado ao servidor MQTT e inscrito no 'tópico de atualização', ele receberá a mensagem de atualização.
- A mensagem de atualização impedirá o módulo de desligar e iniciar o
- Através do site do HTTPUpdateServer, você pode atualizar o software.
- Via Openhab de NodeRed eu publico uma mensagem 'vazia' retida um 'tópico de atualização'.
Melhoria planejada: desligamento do hardware após um tempo predefinido
No esquema atual, eu uso um resistor de 200K entre DELAY / M_DRV e GND do TPL5111. Isso liga o módulo por mais de 2 horas (ver 7.5.3. Da folha de dados TPL5111). No entanto, não quero o módulo ligado por tanto tempo, porque a bateria acaba. Se a solução de software (veja acima) não desligar o módulo, ou a mensagem de atualização não intencional colocar o módulo no modo de atualização, o módulo permanecerá ligado por um longo tempo.
Portanto, é melhor usar um resistor menor entre DELAY / M_DRV e GND do TPL5111, para que o módulo seja desligado após um curto período de tempo, por exemplo, um resistor de 50K resultando em um tempo de ativação de 7 minutos.
Recomendado:
Sistema de automação residencial WiFi de ultra-baixa potência: 6 etapas (com fotos)
Sistema de automação residencial WiFi de potência ultrabaixa: Neste projeto, mostramos como você pode construir um sistema de automação residencial local básico em algumas etapas. Vamos usar um Raspberry Pi que funcionará como um dispositivo WiFi central. Considerando que, para nós finais, vamos usar IOT Cricket para fazer uma bateria de energia
Sensor de nível do coletor de água alimentado por bateria: 7 etapas (com fotos)
Sensor de nível do coletor de água alimentado por bateria: Nossa casa tem um tanque de água alimentado pela chuva que cai no telhado e é usado para o banheiro, a máquina de lavar e regar as plantas do jardim. Nos últimos três anos, os verões foram muito secos, por isso ficamos de olho no nível da água no tanque. S
Automação Talkative -- Áudio do Arduino -- Automação controlada por voz -- HC - 05 Módulo Bluetooth: 9 etapas (com fotos)
Automação Talkative || Áudio do Arduino || Automação controlada por voz || Módulo Bluetooth HC - 05: …………………………. ASSINAR O meu canal no YouTube para obter mais vídeos …. …. Neste vídeo, construímos uma Automação Talkative. Quando você enviar um comando de voz via celular, ele ligará os dispositivos domésticos e enviará feedback para
Interruptor de luz WiFi de automação residencial com ESP-01 e módulo de relé com botão de pressão: 7 etapas
Interruptor de luz WiFi de automação residencial com ESP-01 e módulo de relé com botão de pressão: Nas instruções anteriores, programamos um ESP-01 com Tasmota usando um ESP Flasher e conectamos o ESP-01 às nossas redes wi-fi. Agora podemos começar a programá-lo para ligar / desligar um interruptor de luz usando WiFi ou o botão de pressão
Sensor de umidade de flores IOT WiFi (alimentado por bateria): 8 etapas (com fotos)
Sensor de umidade de flores IOT WiFi (alimentado por bateria): Neste manual, apresentamos como construir um sensor de umidade / água WiFi com um monitor de nível de bateria em menos de 30 minutos. O dispositivo monitora o nível de umidade e envia dados para um smartphone pela internet (MQTT) com um intervalo de tempo escolhido. VOCÊ