Índice:
- Etapa 1: peças necessárias
- Etapa 2: Princípios esquemáticos
- Etapa 3: Código Arduino
- Etapa 4: teste do mundo real
Vídeo: Sensor meteorológico compacto com link de dados GPRS (cartão SIM): 4 etapas
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:34
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
- 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
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
- 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.
- Teste a saída do TPS562208 entre os pinos inferiores de C2, C3 ou C4 e GND. Você deve ter cerca de 4.1V.
- Teste a saída de MCP1700, entre o pino superior direito de U6 e GND. Você deve ter 3,3V.
- Solda ATMega328P; observe o marcador do pino 1 no canto superior esquerdo. Alguma prática necessária, mas não muito difícil.
- 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.
- Conecte o conector de pino fêmea 5x para o DS3231.
- Solda SIM800L por meio de cabeçotes de pino macho
- Solda BME280
- 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
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:
Faça lindos gráficos a partir de dados do Arduino ao vivo (e salve os dados no Excel): 3 etapas
Faça lindos gráficos a partir de dados do Arduino ao vivo (e salve os dados no Excel): Todos nós gostamos de brincar com nossa função P … lotter no IDE do Arduino. No entanto, embora possa ser útil para aplicativos básicos, os dados são apagados conforme mais pontos são adicionados e não é particularmente agradável aos olhos. A plotadora IDE Arduino não
Como fazer um gravador de dados em tempo real de umidade e temperatura com o Arduino UNO e o cartão SD - Simulação de registrador de dados DHT11 em Proteus: 5 etapas
Como fazer um gravador de dados em tempo real de umidade e temperatura com o Arduino UNO e o cartão SD | Simulação DHT11 Data-logger em Proteus: Introdução: oi, aqui é Liono Maker, aqui está o link do YouTube. Estamos fazendo projetos criativos com Arduino e trabalhamos em sistemas embarcados.Data-Logger: Um data logger (também data-logger ou gravador de dados) é um dispositivo eletrônico que grava dados ao longo do tempo w
Módulo de cartão SD com Arduino: como ler / gravar dados: 14 etapas
Módulo de cartão SD com Arduino: Como ler / gravar dados: Visão geral O armazenamento de dados é uma das partes mais importantes de cada projeto. Existem várias maneiras de armazenar dados de acordo com o tipo e tamanho dos dados. Os cartões SD e micro SD são um dos mais práticos entre os dispositivos de armazenamento, que são usados em
Registrador de dados de temperatura e umidade do Arduino para o telefone Android com módulo de cartão SD via Bluetooth: 5 etapas
Registrador de dados de temperatura e umidade do Arduino para o telefone Android com módulo de cartão SD via Bluetooth: Olá a todos, Este é o meu primeiro Instructable de todos os tempos. Espero ajudar a comunidade de criadores, pois fui beneficiado com ele. Muitas vezes usamos sensores em nossos projetos, mas encontrando uma maneira de coletar os dados, armazená-los e transferi-los para telefones ou outros dispositivos imediatamente
Geek - Titular do cartão de crédito / cartão de visita no disco rígido de um laptop antigo: 7 etapas
Geek - Titular de cartão de crédito / cartão de visita do disco rígido de um laptop antigo: Um titular de cartão de crédito / negócio sofisticado. Tive essa ideia maluca quando o disco rígido do meu laptop morreu e basicamente ficou inútil. Eu incluí as imagens completas aqui