Índice:

Sensor meteorológico compacto com link de dados GPRS (cartão SIM): 4 etapas
Sensor meteorológico compacto com link de dados GPRS (cartão SIM): 4 etapas

Vídeo: Sensor meteorológico compacto com link de dados GPRS (cartão SIM): 4 etapas

Vídeo: Sensor meteorológico compacto com link de dados GPRS (cartão SIM): 4 etapas
Vídeo: Módulos GSM para IOT com Arduino 2024, Novembro
Anonim
Sensor meteorológico compacto com link de dados GPRS (cartão SIM)
Sensor meteorológico compacto com link de dados GPRS (cartão SIM)
Sensor meteorológico compacto com link de dados GPRS (cartão SIM)
Sensor meteorológico compacto com link de dados GPRS (cartão SIM)
Sensor meteorológico compacto com link de dados GPRS (cartão SIM)
Sensor meteorológico compacto com link de dados GPRS (cartão SIM)

Resumo do projeto

Este é um sensor meteorológico alimentado por bateria baseado em um sensor de temperatura / pressão / umidade BME280 e um MCU ATMega328P. Ele funciona com duas baterias AA de 3,6 V de lítio-tionil. Tem um consumo de sono ultrabaixo de 6 µA. Ele envia dados a cada meia hora via GPRS (usando um módulo GSM SIM800L) para o ThingSpeak, controlado por um relógio de tempo real DS3231. O serviço estimado em um conjunto de bateria é> 6 meses.

Utilizo um cartão SIM pré-pago ASDA, que oferece condições extremamente boas para os fins deste projeto, pois tem um prazo de validade de crédito muito longo (180 dias) e cobra apenas 5p / MB de volume de dados.

Motivação: Desenvolvimento de um sensor ambiental econômico, de manutenção zero, autônomo e alimentado por bateria que pode ser colocado em estado selvagem para adquirir dados meteorológicos ou outros dados e transmitir via rede GSM / GPRS para um servidor IoT.

Dimensões físicas: 109 x 55 x 39 mm (incluindo flanges da caixa). Peso 133 g. Avaliação de IP 54 (estimado).

Custo do material: Aprox. £ 20 por unidade.

Tempo de montagem: 2 horas por unidade (soldagem manual)

Fonte de alimentação: Duas baterias AA de tionil de lítio, não recarregáveis (3,6 V, 2,6 Ah).

Protocolo de rede: GSM GPRS (2G)

Usos potenciais: Qualquer local remoto com cobertura de sinal GSM. Florestas, faróis, bóias, iates particulares, caravanas, parques de campismo, cabanas de refúgio nas montanhas, edifícios desabitados

Teste de confiabilidade: uma unidade está sendo submetida a testes de longo prazo sem supervisão desde 30.8.20. Além de uma falha de software, ele envia dados de maneira confiável a cada 30 minutos.

Etapa 1: peças necessárias

Peças Requeridas
Peças Requeridas
Peças Requeridas
Peças Requeridas
  • PCB feito sob medida. Arquivos Gerber compactados aqui (instructables.com parece bloquear uploads de arquivos ZIP). Eu altamente recomendado jlcpcb.com para produção de PCB. Para as pessoas que vivem no Reino Unido, tenho o prazer de enviar a você um PCB sobressalente com uma contribuição mínima para o custo de material e postagem - me mande uma mensagem.
  • ATMega328P-AU
  • Relógio em tempo real DS3231 modificado (consulte o parágrafo abaixo)
  • BME280 Breakout board, como este
  • Módulo SIM800L GSM GPRS
  • Várias peças SMD conforme lista detalhada.
  • Hammond 1591, caixa preta em ABS, IP54, flangeada, 85 x 56 x 35 mm, da RS Components UK

Modificação de DS3231

A rede de resistores quádruplos circulada em vermelho precisa ser dessoldada. Outros métodos mais destrutivos também estão OK, mas evite a ponte dos blocos na linha interna de 4 blocos (na lateral do MCU). Os outros 4 pads estão conectados de qualquer maneira por traços de PCB. Esta modificação é essencial para permitir que o pino SQW funcione como um alarme. Sem remover os resistores, ele não funcionará até que você conecte uma fonte VCC ao módulo, o que anula o propósito de ter um RTC de baixíssima potência.

Etapa 2: Princípios esquemáticos

Princípios Esquemáticos
Princípios Esquemáticos

As principais prioridades para o design foram:

  • Operação a bateria com baixo consumo de corrente de sono
  • Design compacto

Fonte de energia

Duas baterias de 3,6 V Saft de lítio tionil AA. Um MOSFET de canal P para proteção contra polaridade reversa.

Existem dois reguladores de tensão no circuito:

  • Um regulador abaixador de 2 Amp Texas Instruments TPS562208 para alimentar o SIM800L em cerca de 4,1V. Pode ser comutado no ATMega e colocado no modo de desligamento na maioria das vezes por meio do pino 5 de Habilitar.
  • Um regulador MCP1700 de 3,3 V para ATMega e BME280. Este é um regulador de baixa queda extremamente eficiente com uma corrente quiescente de apenas cerca de 1 µA. Como é tolerante apenas até a entrada de 6 V, adicionei dois diodos retificadores (D1, D2) em série para reduzir a alimentação de 7,2 V a um nível aceitável em torno de 6 V. Eu esqueci de adicionar o usual capacitor de desacoplamento de 10 µF no PCB para a fonte de alimentação no ATMega. Portanto, eu atualizei o capacitor de saída normal no MCP1700 de 1 para 10 µF e ele funciona bem.
  • Monitoramento da tensão da bateria via ADC0 no ATMega (por meio de um divisor de tensão)

Relógio de tempo real

Um DS3231 modificado, que desperta o ATMega em intervalos especificados para iniciar um ciclo de medição e transmissão de dados. O próprio DS3231 é alimentado por uma célula de lítio CR2032.

BME280

Eu tentei usar o módulo BME280 original da Bosch sozinho, que é quase impossível de soldar devido ao seu tamanho diminuto. Portanto, estou usando a placa de breakout amplamente disponível. Como ele tem um regulador de tensão desnecessário, que consome energia, eu o ligo com um MOSFET de canal N antes das medições.

SIM800L

Este módulo é confiável, mas parece ser bastante temperamental se a fonte de alimentação não for sólida. Descobri que uma tensão de alimentação de 4,1 V funciona melhor. Fiz os traços de PCB para VCC e GND para o SIM800L extra grosso (20 mil).

Comentários esquemáticos / PCB

  • O rótulo de rede "1" - listado como "SINGLEPIN" na lista de peças simplesmente se refere a um pino conector macho.
  • Os dois pinos adjacentes à chave deslizante precisam ser interligados com um jumper para operação normal, caso contrário, a linha VCC está aberta aqui. Eles são destinados a medições de corrente, se necessário.
  • O capacitor de 100 µF (C12) para o módulo SIM800L não é necessário. Foi adicionado como uma medida de precaução (desesperada) em caso de problemas de estabilidade esperados

Etapas de montagem recomendadas

  1. Monte todos os componentes da fonte de alimentação na parte inferior esquerda do PCB. O pino de habilitação (pino 5) do TPS562208 deve estar em alto nível lógico para teste, caso contrário, o módulo está em modo de desligamento e você terá saída de 0V. Para puxar o pino Habilitar alto para teste, um fio temporário do pad 9 do ATMega (que no PCB está conectado ao PIN 5 do regulador de tensão) pode ser conectado a um ponto VCC; o ponto mais próximo seria o pino inferior de R3, que fica na linha VCC.
  2. Teste a saída do TPS562208 entre os pinos inferiores de C2, C3 ou C4 e GND. Você deve ter cerca de 4.1V.
  3. Teste a saída de MCP1700, entre o pino superior direito de U6 e GND. Você deve ter 3,3V.
  4. Solda ATMega328P; observe o marcador do pino 1 no canto superior esquerdo. Alguma prática necessária, mas não muito difícil.
  5. Grave o bootloader no ATMega328 - tutoriais para isso em outro lugar. Você não precisa necessariamente usar cabeçalhos de pinos para se conectar a MOSI, MISO, SCK e RST. Nos poucos segundos que leva para queimar o bootloader, você pode usar fios Dupont e usar um pouco de angulação para conseguir um bom contato.
  6. Conecte o conector de pino fêmea 5x para o DS3231.
  7. Solda SIM800L por meio de cabeçotes de pino macho
  8. Solda BME280
  9. Carregue o código no IDE do Arduino usando um adaptador USB2TTL (selecione Arduino Uno / Genuino como destino).

Etapa 3: Código Arduino

Consulte o código-fonte do Arduino em anexo de arquivo.

Etapa 4: teste do mundo real

Teste do mundo real
Teste do mundo real
Teste do mundo real
Teste do mundo real
Teste do mundo real
Teste do mundo real

Perfurei dois pequenos orifícios no lado direito da caixa, bem na parte da frente. Cobri-os por dentro com adesivos Goretex para permitir a troca de ar, mas excluir a água. Eu adicionei alguma proteção adicional contra chuva com pequenos telhados de plástico. Em seguida, coloco o conjunto completo na caixa com os componentes voltados para a frente e a bateria voltada para a tampa. Eu adiciono um pouco de graxa de silicone à caixa para proteção adicional contra entrada de água.

A unidade está atualmente "instalada" junto a um pequeno rio. Aqui está o feed de dados ao vivo.

Recomendado: