Câmera Wi-Fi com colheita solar

9 minute read

Um módulo ESP32-CAM é um dispositivo de baixo custo baseado no módulo ESP32-S, em um sensor de imagem OV2640 e em um slot de Micro SD. O módulo não foi projetado para baixo consumo de energia, no entanto, após algumas alterações, o consumo de energia pode ser reduzido a um nível que seja viável por períodos curtos, alimentado por energia solar. O projeto apresentado aqui é uma plataforma de experimentação robusta, resistente a poeira e à água, usando componentes comerciais de prateleira. Ideal para uso externo.

A câmera Wi-Fi com coleta de energia solar está pronta para ser colocada ao ar livre.

Componente chave: ESP 32 CAM

Diagrama simplificado
Redução do consumo de energia

O ESP32-CAM não foi projetado para ser um dispositivo de baixo consumo de energia. Sem modificações, a corrente de sono profundo medida foi de 2,8 mA, deixando muito a desejar.

Medição da corrente de sono profundo sem modificações.

Algumas pessoas já se aventuraram nas seguintes modificações na Internet:

  • Remover o regulador de tensão de 5 V para 3 V, a câmera será alimentada diretamente por uma bateria de 3,2 V LiFePO4.
  • Quebrar a trilha que alimenta a câmera a partir de 3,3 V e ligá-la ao MOSFET Q2, que liga os reguladores de tensão de 2,8 V e 1,2 V.
  • Remover o led embarcado e ligar o GPIO33 ao pino de 5 V (este pino já está isolado após a remoção do regulador) para usá-lo externamente.

Essas modificações reduziram a corrente em modo de sono profundo para 0,8 mA, o que é escandaloso para um dispositivo de baixo consumo, no entanto, é uma melhoria substancial em relação aos 2,8 mA sem modificações.

Modificações e resultado final, fita de poliamida utilizada para proteger fios finos.
Lista de materiais
peças utilizadas

Caixa à prova d’água para câmera esportiva SJ4000, módulo de colheita de energia BQ25504, painel solar, cartão Micro SD.

Componente Ligação do compra Folha de dados
ESP32-CAM Compre aqui esp-32-cam.pdf
Caixa à prova d’água para câmera esportiva SJ4000 Compre aqui sj-4000-sport-cam-waterproof-case.pdf
módulo de colheita de energia BQ25504 Compre aqui bq25504-energy-harvesting-module.pdf
painel solar 39.5x39.5 mm Compre aqui solar-panel-39-5x39-5.pdf
painel solar 30x25 mm Compre aqui solar-panel-30x25.pdf
painel solar 53x18 mm Compre aqui solar-panel-53x18.pdf
Bateria de 3,2 V LiFePO4 Compre aqui lifepo4-3-2v-10440-rechargeable-battery-aaa.pdf
cartão Micro SD Compre aqui micro-sd-card.pdf
Diode Schottky 1N5817 Compre aqui 1n5817.pdf
Single AAA battery clip for PCB Compre aqui bh-411.pdf
resistor kit SMD 0603 Compre aqui 4250-pcs-0603-smd-resistor-kit.pdf
Barra De Pinos Fêmea 2.54mm Compre aqui FHA3-S1XX.pdf
Barra De Pinos macho 2.54mm Compre aqui PHA1-S3XX.pdf
Jumper 2 pinos Compre aqui pin-header-jumper-block.pdf
Cabo de 30 AWG UL1423 PVDF alta temperatura Compre aqui UL1423.pdf
Fio de cobre esmaltado Compre aqui repair-copper-enamelled-wire.pdf
Fita Térmica Poliamida Compre aqui high-temperature-polyimide-insulation-tape.pdf
Placas de circuito impressas (PCB) Ligação do compra Arquivos de origem
Placa PCB protótipo para caixa à prova d’água para câmera esportiva Compre aqui esp32cam-proto-sportcam
Software repositório
Firmware de exemplo que tira fotos e as envia para um servidor usando HTTP POST. download
Exemplo de servidor em Golang para upload de imagens via HTTP POST. download
Componentes opcionais Ligação do compra Arquivos de origem
Conversor USB a TTL 3.3 V 5 V Compre aqui usb-ttl-converter-3-3v-5v.pdf
Medidor Lux digital LCD Compre aqui digital-lcd-lux-meter.pdf
Montagem

A plataforma básica consiste de uma caixa estanque para câmera de esporte e uma placa de circuito impresso com o tamanho apropriado para caber no interio

Componentes da plataforma básica.

A caixa proposta é bastante comum, fácil de encontrar e barata. Abre e fecha sem parafusos e possui um ponto de montagem onde diferentes acessórios de montagem podem ser instalados.

A placa de circuito impresso foi projetada para colocar o ESP32-CAM perto da janela onde a lente da câmera seria localizada. O módulo pode ser posicionado em duas orientações diferentes para maximizar a área, dependendo dos componentes selecionados.

Foi adicionado um clipe de bateria AAA, conectores fêmea para conectar/desconectar facilmente o módulo e barra de pinos para programação, porque a placa não possui tal circuito. Além disso, foi adicionado um LED vermelho para fins de depuração.

Placa com todos os componentes.
Colhedor de energia

A câmera obtém energia de painéis solares instalados dentro da caixa, o que significa que a área disponível é pequena, por isso é necessário um meio de maximizar a eficiência. Foi usado um módulo coletor baseado no chip BQ25504. Este dispositivo aumenta a tensão do painel solar e é capaz de fazer isso com tensões de até 130 mV! Assim, é capaz de fornecer corrente para armazenamento na bateria, mesmo sem a luz direta atingir o painel.

Módulo de colheita de energia fixado com fita dupla face.

O módulo também funciona como um carregador de bateria com proteção contra sobretensão e subtensão. Para definir os valores de tensão, alguns resistores devem ser modificados. O fabricante do módulo fornece uma planilha para facilitar o processo.

Como o caixa é transparente, é possível colocar alguns painéis solares em vários locais dentro dele e conectá-los em paralelo ou em série. Talvez alguns diodos sejam necessários para não perder muita eficiência quando alguns painéis estiverem sombreados.

Outra função importante do módulo de colheita de energia é a capacidade de fornecer um SINAL DE OK DE TENSÃO, para que o MCU possa ser mantido no estado de reset quando a tensão da bateria estiver muito baixa para operar.

Painéis solares e placa instalados no interior. Use um pedaço de espuma EVA para manter as coisas no lugar.
Orçamento de energia

Aviso: Alguns dados e procedimentos serão simplificados para obter resultados mais simples e rápidos!

O ESP32 consome cerca de 200 mA a 3,3 V para enviar dados via Wi-Fi, o que é equivalente a 0,66 W. Um painel solar de 40x40 mm que cabe dentro do invólucro mencionado acima gera cerca de 65 mA a 2 V em pleno sol, o que equivale a 0,13 W.

Com esses dados, fica claro que não é possível usar o ESP32 enviando dados via Wi-Fi continuamente com esse painel, mesmo sob plena luz do sol.

Para lidar com esse problema, duas coisas são necessárias: um elemento de armazenamento e o uso do módulo ESP32 em modo não contínuo (ciclo de trabalho).

O módulo no modo de sono profundo consome cerca de 0,88 mA a 3,3 V, o que equivale a 0,003 W. Supondo 12 horas de luz solar, serão necessários em média 0,006 W por dia apenas para manter o módulo energizado em modo de sono. Se o par painel/coletor puder fornecer em média 4,6% da potência máxima do painel solar em pleno sol, será suficiente para manter o ESP32 energizado em modo de sono profundo por muito tempo (até a degradação da bateria!).

Assumindo 100.000 lux como sol pleno e 100% da potência do painel solar de 40x40 mm como 0,13 W, estima-se que a irradiância média necessária por dia para manter o ESP32 energizado em modo de sono profundo é de cerca de 4600 lux.

Quanta energia é necessária para tirar uma foto e enviá-la pela internet?

Depois de acordar de um deep sleep, leva cerca de 4 segundos para o ESP32 tirar uma foto, armazená-la no cartão SD e disponibilizá-la na internet. O consumo médio de energia desses 4 segundos é de 200 mA em 3,3 V. A corrente a ser acumulada por 12 horas é:

Ciclo ESP32: 200 mA x 4 s

É necessário: ? mA x 12 h ? mA x 12 (3600) s ? mA x 43200 s (Aproximando para 40000 para facilitar os cálculos)

fator = 4 S / 40000 S = 0,0001 200 mA * 0,0001 = 10 uA

É necessário uma média de 10 uA por 12 horas para tirar uma foto e enviá-la para um servidor, o que é perfeitamente viável ao ar livre, mesmo em dias nublados.

Encontrando a relação entre Lux e a saída de energia do painel solar de 40x40 mm e 0,13 W.

100.000 Lux => 0,13 W 0,77 Lux => 1 uW

10uA * 3,3V = 33 uW

(0,77 Lux / uW) 33 uW = 25,4 Lux (Aproximando para 26 Lux)

Será necessário uma média diária de 26 Lux para tirar uma foto e enviá-la por Wi-Fi.

Em resumo, para tirar pelo menos uma foto por dia e enviá-la por Wi-Fi, será necessário uma média diária de 4600 Lux + 26 Lux = 4626 Lux. Para duas fotos por dia, será necessário uma média diária de 4652 Lux, e assim por diante.

Se for usado um painel menor, como o de 30x25 mm na frente da câmera, cuja potência é cerca de um quarto do instalado na parte de trás, a irradiância deve ser 4 vezes mais forte.

O painel solar na frente vs. painel solar atrás.

Para usar a câmera com um painel tão pequeno, é necessário muita luz, especialmente luz direta.

Firmware e Software

O firmware disponibilizado aqui faz as seguintes coisas: tira uma foto e armazena no cartão Micro SD, depois envia-a via Wi-Fi para um servidor usando um pedido HTTP POST multipart e, em seguida, entra em modo de hibernação profunda por X segundos antes de iniciar o ciclo novamente. O código pode servir como ponto de partida na criação de um aplicativo mais robusto adaptado às necessidades individuais.

No lado do servidor, há um pequeno aplicativo escrito em Golang, que escuta pedidos HTTP POST e recebe as imagens enviadas pelo ESP32-CAM e as armazena em uma pasta local. Este aplicativo deve ser executado em um PC ou em um Raspberry Pi na mesma LAN do ESP32-CAM. Por ser um exemplo básico de partida, não há um método de autenticação desenvolvido, portanto, não é recomendado para implantação em um servidor público na Internet.

Para programar o módulo, é necessário um conversor USB para serial TTL, pois o módulo não tem um chip onboard para essa tarefa. Além disso, o GPIO0 deve ser conectado ao GND durante a programação.

O GPIO33 foi liberado do LED onboard e conectado externamente. O firmware fornecido o usa para debug, mas ele pode ser usado para outros propósitos, como:

  • ADC para medição da tensão da bateria
  • Configurado como pino RTC para acordar o MCU do modo deep sleep, ou seja, sensor PIR
  • Conectado a um botão para fazer configuração local sem um computador ou conectividade Wi-Fi
Resultados

A qualidade da imagem não é ótima, o que era esperado devido ao custo do módulo. A qualidade poderia ser melhorada modificando vários parâmetros do chip, dependendo das condições específicas de iluminação. A imagem mostrada abaixo foi carregada automaticamente pelo módulo por Wi-Fi para um Raspberry Pi onde o servidor de upload em Golang estava sendo executado.

Montagem de prova e imagem enviada
Possíveis melhorias

Dado que o firmware e o servidor de upload são exemplos muito básicos, existem algumas tarefas propostas ao leitor, tais como:

  • Gerenciador de Wi-Fi para configurar credenciais sem reprogramação.
  • Implementação de algum tipo de autenticação ao se comunicar com o servidor.
  • Um mecanismo para alterar o tempo de sono profundo, as configurações de imagem, etc. do servidor em cada troca de imagem.
  • Desenvolver um agendador baseado em RTC para tirar fotos em datas específicas.
  • Uso de uma antena Wi-Fi melhor (externa ao módulo, mas colocada dentro do caixa) e colocá-la em um lugar com menos obstruções. Algumas mudanças são necessárias nos componentes próximos ao conector U.FL.