Tabla de contenido:
- Paso 1: piezas necesarias
- Paso 2: Principios esquemáticos
- Paso 3: Código Arduino
- Paso 4: prueba del mundo real
Video: Sensor meteorológico compacto con enlace de datos GPRS (tarjeta SIM): 4 pasos
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:40
resumen del proyecto
Este es un sensor meteorológico alimentado por batería basado en un sensor de temperatura / presión / humedad BME280 y un MCU ATMega328P. Funciona con dos pilas AA de litio tionilo de 3,6 V. Tiene un consumo de sueño ultrabajo de 6 µA. Envía datos cada media hora a través de GPRS (usando un módulo GSM SIM800L) a ThingSpeak, controlado por un reloj en tiempo real DS3231. El servicio estimado con un juego de baterías es> 6 meses.
Utilizo una tarjeta SIM de pago por uso de ASDA, que ofrece muy buenas condiciones para los propósitos de este proyecto, ya que tiene un tiempo de vencimiento muy largo para el crédito (180 días) y solo cobra un volumen de datos de 5p / MB.
Motivación: Desarrollo de un sensor ambiental económico, sin mantenimiento, autónomo, alimentado por batería que se puede colocar en la naturaleza para adquirir datos meteorológicos u otros y transmitirlos a través de la red GSM / GPRS a un servidor de IoT.
Dimensiones físicas: 109 x 55 x 39 mm (incluidas las bridas de la caja). Peso 133 g. Clasificación IP 54 (estimada).
Costo del material: Aprox. 20 € por unidad.
Tiempo de montaje: 2 horas por unidad (soldadura manual)
Fuente de alimentación: dos pilas AA de litio tionilo, no recargables (3,6 V, 2,6 Ah).
Protocolo de red: GSM GPRS (2G)
Usos potenciales: cualquier ubicación remota con cobertura de señal GSM. Bosques, faros, boyas, yates privados, caravanas, campamentos, refugios de montaña, edificios deshabitados
Prueba de confiabilidad: una unidad se ha sometido a pruebas a largo plazo sin supervisión desde el 30.8.20. Aparte de una falla del software, ha estado enviando datos de manera confiable cada 30 minutos.
Paso 1: piezas necesarias
- PCB a medida. Archivos Gerber comprimidos aquí (instructables.com parece bloquear la carga de archivos ZIP). Recomiendo encarecidamente jlcpcb.com para la producción de PCB. Para las personas que viven en el Reino Unido, me complace enviarles una PCB de repuesto por una contribución mínima al costo del material y el envío: envíeme un mensaje.
- ATMega328P-AU
- Reloj en tiempo real DS3231 modificado (consulte el párrafo siguiente)
- Placa de conexión BME280, como esta
- Módulo SIM800L GSM GPRS
- Varias piezas SMD según lista detallada.
- Hammond 1591, gabinete de ABS negro, IP54, con bridas, 85 x 56 x 35 mm, de RS Components UK
Modificación de DS3231
La red de resistencias cuádruples encerrada en un círculo rojo debe desoldarse. Otros métodos más destructivos también están bien, pero evite unir las almohadillas en la fila interior de 4 almohadillas (hacia el costado de la MCU). Las otras 4 almohadillas están conectadas de todos modos mediante trazas de PCB. Esta modificación es esencial para permitir que el pin SQW funcione como alarma. Sin quitar las resistencias, no funcionará hasta que conecte una fuente de VCC al módulo, lo que anula el propósito de tener un RTC de muy baja potencia.
Paso 2: Principios esquemáticos
Las principales prioridades para el diseño fueron:
- Funcionamiento con batería con bajo consumo de corriente en reposo
- Diseño compacto
Fuente de alimentación
Dos pilas AA de litio tionilo Saft de 3,6 V. Un MOSFET de canal P para protección contra polaridad inversa.
Hay dos reguladores de voltaje en el circuito:
- Un regulador reductor de 2 amperios TPS562208 de Texas Instruments para alimentar el SIM800L a alrededor de 4.1V. Esto se puede cambiar desde ATMega y se pone en modo de apagado la mayor parte del tiempo a través de Habilitar pin 5.
- Un regulador MCP1700 3.3V para ATMega y BME280. Este es un regulador de baja caída extremadamente eficiente con una corriente de reposo de solo alrededor de 1 µA. Como solo es tolerante hasta una entrada de 6V, agregué dos diodos rectificadores (D1, D2) en serie para reducir el suministro de 7.2V a un nivel aceptable alrededor de 6V. Olvidé agregar el condensador de desacoplamiento habitual de 10 µF en la PCB para la fuente de alimentación en el ATMega. Por lo tanto, he actualizado el condensador de salida habitual en el MCP1700 de 1 a 10 µF y funciona bien.
- Monitoreo de voltaje de la batería a través de ADC0 en el ATMega (a través de un divisor de voltaje)
Reloj en tiempo real
Un DS3231 modificado, que activa el ATMega a intervalos específicos para iniciar un ciclo de medición y transmisión de datos. El propio DS3231 se alimenta con una celda de litio CR2032.
BME280
He intentado usar el módulo Bosch BME280 original solo, que es casi imposible de soldar debido a su diminuto tamaño. Por lo tanto, estoy usando la placa de ruptura ampliamente disponible. Como tiene un regulador de voltaje innecesario, que consume energía, lo enciendo con un MOSFET de canal N justo antes de las mediciones.
SIM800L
Este módulo es confiable pero parece bastante temperamental si la fuente de alimentación no es sólida como una roca. Descubrí que un voltaje de suministro de 4.1V funciona mejor. Hice las trazas de PCB para VCC y GND al SIM800L extra grueso (20 mil).
Comentarios de esquema / PCB
- La etiqueta de red "1", que aparece como "SINGLEPIN" en la lista de piezas, simplemente se refiere a un pin de encabezado macho.
- Los dos pines adyacentes al interruptor deslizante deben puentearse con un puente para el funcionamiento normal; de lo contrario, la línea VCC está abierta aquí. Están diseñados para mediciones de corriente si es necesario.
- El condensador de 100 µF (C12) para el módulo SIM800L no es necesario. Se agregó como medida de precaución (desesperada) en caso de problemas de estabilidad esperados.
Pasos de montaje recomendados
- Ensamble todos los componentes de la fuente de alimentación en la parte inferior izquierda de la PCB. El pin de habilitación (pin 5) del TPS562208 debe estar en nivel lógico alto para la prueba; de lo contrario, el módulo está en modo de apagado y tendrá una salida de 0V. Para tirar de la clavija Habilitar hacia arriba para la prueba, se puede conectar un cable temporal del pad 9 del ATMega (que en la PCB está conectado al PIN 5 del regulador de voltaje) a un punto VCC; el punto más cercano sería el pin inferior de R3, que se encuentra en la línea VCC.
- Pruebe la salida del TPS562208 entre los pines inferiores de C2, C3 o C4 y GND. Debería tener alrededor de 4.1V.
- Pruebe la salida de MCP1700, entre el pin superior derecho de U6 y GND. Debería tener 3,3 V.
- Soldar ATMega328P; observe el marcador de la clavija 1 en la esquina superior izquierda. Se requiere algo de práctica, pero no demasiado difícil.
- Grabe el gestor de arranque en ATMega328: tutoriales para esto en otro lugar. No necesariamente tiene que usar encabezados de pin para conectarse a MOSI, MISO, SCK y RST. Durante los pocos segundos que tarda en grabar el gestor de arranque, puede utilizar cables Dupont y utilizar un poco de angulación para lograr un buen contacto.
- Conecte el cabezal de clavija hembra 5x para el DS3231.
- Soldar SIM800L a través de cabezales de clavija macho
- Soldar BME280
- Cargue el código en Arduino IDE usando un adaptador USB2TTL (seleccione Arduino Uno / Genuino como destino).
Paso 3: Código Arduino
Consulte el código fuente de Arduino en el archivo adjunto.
Paso 4: prueba del mundo real
Perforé dos pequeños agujeros en el lado derecho de la carcasa, justo en la parte frontal. Los cubrí desde adentro con parches de Goretex para permitir el intercambio de aire pero excluir el agua. Agregué algo de protección adicional contra la lluvia con pequeños techos de plástico. Luego coloco el conjunto completo en la caja con los componentes hacia adelante y la batería hacia la tapa. Agrego un poco de grasa de silicona a la carcasa para mayor protección contra la entrada de agua.
Actualmente, la unidad está "instalada" junto a un pequeño río. Aquí está la fuente de datos en vivo.
Recomendado:
Cómo hacer un registrador de datos en tiempo real de humedad y temperatura con Arduino UNO y tarjeta SD - Simulación del registrador de datos DHT11 en Proteus: 5 pasos
Cómo hacer un registrador de datos en tiempo real de humedad y temperatura con Arduino UNO y tarjeta SD | Simulación del registrador de datos DHT11 en Proteus: Introducción: hola, soy Liono Maker, aquí está el enlace de YouTube. Estamos haciendo un proyecto creativo con Arduino y trabajamos en sistemas embebidos. Data-Logger: Un registrador de datos (también registrador de datos o registrador de datos) es un dispositivo electrónico que registra datos a lo largo del tiempo w
Puerta de enlace ESP32 Lora Thingspeak con nodo sensor: 9 pasos
ESP32 Lora Thingspeak Gateway con nodo sensor: en este proyecto de IoT, diseñé ESP32 LoRa Gateway & también ESP32 LoRa Sensor Node para monitorear la lectura del sensor de forma inalámbrica desde distancias de unos pocos kilómetros. El remitente leerá los datos de humedad y temperatura utilizando el sensor DHT11. Luego transmite
Módulo de tarjeta SD con Arduino: cómo leer / escribir datos: 14 pasos
Módulo de tarjeta SD con Arduino: cómo leer / escribir datos: descripción general El almacenamiento de datos es una de las partes más importantes de cada proyecto. Hay varias formas de almacenar datos según el tipo y tamaño de datos. Las tarjetas SD y micro SD son uno de los más prácticos entre los dispositivos de almacenamiento, que se utilizan en
Enlace de datos en serie RF {a través de USB}: 3 pasos
Enlace de datos en serie RF {a través de USB}: TECGRAF DOC Cómo transmitir datos utilizando un módulo de RF económico a través de USB. El circuito recibe energía del puerto USB (puede proporcionar 100 mA y con algo de programación puede llegar a 500 mA) Lista de materiales: 1 - Un par de módulos de RF (como Laipac RLP / TL
Construya un enlace de datos de radio de 500 metros por menos de $ 40 .: 7 pasos
Construya un enlace de datos de radio de 500 metros por menos de $ 40 .: ¿Tiene un tanque de agua que desea medir o una presa o una puerta? ¿Quiere detectar un coche que viene por el camino pero no quiere pasar cables por el jardín? Este instructivo muestra cómo enviar datos a 500 metros con 100% de confiabilidad usando microcontr