sábado, 13 de diciembre de 2025

Sensores CANSAT

1. ¿Qué es un sistema de control?

Un sistema de control automático o automatismo es un conjunto de elementos técnicos que, unidos, son capaces de realizar una serie de acciones para resolver un problema sin intervención humana.

Un sistema de control típico consta de tres elementos principales:

Elementos de proceso o control: son los que se van a programar, recibirán datos de los elementos de entrada para decidir qué hacer con los elementos de salida.

En nuestro caso es el ESP32 STEAMakers.

Elementos de entrada: serán sensores que pueden conectarse a nuestro sistema de control.

Pueden ser: pulsadores, interruptores, finales de carrera, NTC, LDR, acelerómetros, giroscopios, barómetros, GPS, etc.

Elementos de salida: serán los actuadores, los que decidirá nuestro programa poner en funcionamiento y de qué forma o detener, como: leds, zumbadores, motores, pantallas, etc.

 

Tipo

Lazo abierto

No existe una realimentación, lo que significa que el controlador da una orden de puesta en marcha a los actuadores sin que se vigile en ningún momento la señal de los sensores (elementos de entrada).

Ejemplo: Una lavadora, temporizador del microondas, una estufa sin termostato... 

Lazo cerrado

Hay realimentación, lo que significa que el sistema de control siempre está vigilando a los sensores (elementos de entrada) para realizar una acción u otra en función del estado de los mismos.

Ejemplo: Sistemas de calefacción, control automático de iluminación, una cisterna del lavabo...

2. Nuestro sistema de control

En nuestro proyecto utilizaremos sistemas de control programados, lo que significa que el automatismo funcionará dependiendo de un programa que haremos a medida de la función a realizar.

En nuestro caso haremos un emisor de datos de sensores que será nuestro satélite, y un receptor de datos y graficador de los mismos situado en el suelo.

Elementos de nuestro sistema de control

Estos son los elementos esenciales que conforman nuestro sistema para acometer la misión primaria de CanSat:

ESP32 STEAMakers esp32 steamakers 

ESP32 fabricada por Keyestudio, con factor de forma Arduino y con añadidos como terminales macho, microSD, sensores integrados de energía, programable con STEAMakersBlocks y con una gran documentación disponible. Se utilizarán dos, una como emisor (en el satélite) y otra como receptor en el ordenador de tierra.

BMP 280

Sensor barométrico que da presión, altitud y temperatura. 

DHT11

Sensor digital que proporciona temperatura y humedad.

GPS

Periférico que proporciona longitud, latitud, altura, velocidad, fecha, hora exacta, etc.

MPU6050 

Sensor acelerómetro y giroscopio. Nos da las aceleraciones e inclinaciones en 3 ejes.

Pantalla OLED

Pantalla gráfica de 0,96" con 128x64 píxeles.


Módulo LoRa / LoRaWan

Periférico de comunicación que sirve para establecer comunicaciones LoRa (Long Range).


Elemento de control - ESP32 STEAMakers

Hardware

En nuestro caso, como elemento de control utilizaremos una placa de control programable ESP32 STEAMakers, por varios motivos:

Basada en ESP32, lo que significa capacidad de proceso, conectividad WiFi y Bluetooth, etc.

Factor de forma Arduino y compatibilidad con shields de Arduino.

Fácil conexionado. Terminales macho disponibles para los puertos de la placa, con lo que el conexionado puede realizarse sin protoboard.

Sensores integrados: táctiles, energía, temperatura y campo magnético.

Lector de tarjeta microSD incorporada.

arduinoblocks es totalmente compatible, pensado para todas sus funcionalidades.

Detallada documentación técnica.

Amplia documentación didáctica.

Calidad de construcción y soporte del fabricante.

Diseñada en Cataluña por docentes para la educación.

Varios distribuidores.

Características técnicas y pines

Las características más importantes de esta placa son:

CPU Tensilica Xtensa LX6 32 bits de 2 núcleos a 160 MHz

Memoria RAM de 520 KB

Memoria ROM de 448 KB

Memoria Flash (EEPROM) de 512 bytes

Memoria SRAM 8 KB + 8 KB en RTC

1 kbit eFUSE

Conectividad WiFi 802.11 b/g/n/e/i

Conectividad Bluetooth 4.2 y modo BLE

Conectividad I2C: conector para 5 dispositivos a la vez sobre la misma placa

11 conversores Analógico-Digital (ADC) de 12 bits de resolución

2 conversores Digital-Analógico (DAC) de 8 bits de resolución

Conector serie hembra con alimentación

Conector de reset

Conector de 5 V

Conector de 3,3 V

Interruptor 3,3 - 5 V seleccionable para cambiar entre ambas tensiones en algunos pinos

Sensor Hall integrado

Sensor de temperatura integrado

16 canales PWM

2 UART

4 canales SPI

10 sensores táctiles

4 temporizadores internos de 64 bits

Software

Todo sistema de control programado necesita un entorno para realizar el programa de control, en nuestro caso STEAMakersBlocks, que es un entorno de programación gráfico que utilizaremos para programar el ESP32 STEAMakers. Este entorno está desarrollado por Juanjo López y es online. Es necesario registrarse en el sitio web de STEAMakersBlocks e instalar y ejecutar el programa STEAMakersBlocks Connector en el ordenador para poder realizar la conexión entre el entorno online y la placa.


¿Lazo abierto o cerrado?

SubsistemaTipo de controlExplicación
Sistema de medida de temperatura y presión🟢 Lazo abiertoLos sensores sólo miden y envían datos ; no existe ningún actuador que modifique nada en función del resultado.
Sistema de telemetría (radio)🟢 Lazo abiertoEl microcontrolador envía datos periódicamente, pero no comprueba si el receptor los ha recibido bien (no existe retroalimentación).
Control de orientación o de trayectoria (si existe)🔵 Lazo cerradoSi CanSat usa un giroscopio o acelerómetro para ajustar siervos o superficies de control, el sistema recibe datos y corrige el movimiento.
Sistema de aterrizaje activo🔵 Lazo cerradoEl microcontrolador compara la posición GPS real con una deseada y ajusta el curso para acercarse a ella.
Gestión de temperatura interna (si incorpora calefactor o ventilador)🔵 Lazo cerradoSi un sensor detecta demasiado frío o calor y activa o desactiva un actuador, cierra el bucle.

2. ¡Enviamos una señal!

Blink SOS

Esta imagen de una tormenta de polvo en Marte muestra las nubes que se forman por los cambios de presión, temperatura y altura cuando el viento se desplaza sobre montañas o paredes de cráteres.

Los satélites y sondas espaciales que estudian estos fenómenos deben enviar constantemente señales a la Tierra para comunicar los datos que recogen: temperatura, presión atmosférica, u otras variables de su entorno.

Antes de que nuestro CanSat sea capaz de hacer esto, es necesario aprender cómo puede enviar información a través de sus actuadores .

Actividad

En esta actividad empezaremos con el más sencillo y universal de los mensajes: el SOS, la señal internacional de socorro, representado con pulsaciones de luz.

Utilice el código Morse para hacer parpadear un LED. Un punto significa una señal corta, que iluminará el LED durante un tiempo corto, y un guión significa una señal larga, que iluminará el LED durante un tiempo más largo. 


3. Escogemos el sensor de temperatura

El sensor de temperatura

El objetivo de esta actividad es experimentar con dos/tres sensores de temperatura (DHT11/DHT22 y BMP280) mediante la placa ESP32 SteaMakers. A partir de los datos obtenidos y de una investigación científica y técnica, deberá determinar cuál de los dos sensores es más adecuado para ser utilizado en un CanSat, teniendo en cuenta que puede alcanzar una altitud de 1 km.

Investigación técnica

Rellenamos la siguiente tabla comparativa:

DHT11DHT22BMP280
Rango de trabajo   
Precisión   
Resolución   
Nivel de consumo   
Coste   

Investigación científica

Aquí podemos realizar diferentes investigaciones. Algunos ejemplos:

¿Quién mide mejor?

Comparar cómo diferentes sensores miden en la misma situación (misma temperatura ambiente) y evaluar su estabilidad y coherencia: ver si todos dan valores similares o si uno siempre marca más alto o más bajo, si algún sensor fluctúa más (menos estable)... Se pueden calcular la media y la desviación estándar de cada sensor y dibujar un gráfico de temperaturas.

¿Quién reacciona antes?

Medir el tiempo de respuesta de los sensores ante un cambio brusco de temperatura (por ejemplo, soplando o acercando una fuente de calor) y comparar qué sensor detecta antes la variación y cómo de rápido se estabiliza.

➕ Con estas pruebas podemos valorar qué sensores son más fiables y adecuados para nuestra misión, y justificar con datos nuestra elección final.

Medimos la temperatura con sensor digital DHT11/DHT22

DHT11 / DHT22

Montaje

Programación

Objetivo 1

En esta actividad controlaremos la temperatura y la humedad con el sensor DHT11 conectado al pin IO25(D3). Mostraremos los datos por consola:

Objetivo 2

Mostrar los datos de temperatura y humedad en el plotter:

Enviamos el programa a la placa y activamos el Serial Plotter a través de la pestaña que hay junto a Consola.

Podemos grabar los datos en formato .csv. Para ello debemos iniciar la captura de datos y finalizarla para poder generar los archivos .csv:

Se creará un archivo .csv para cada variable que grabemos. En este ejemplo se crearán 2 archivos .csv, un archivo con los datos registrados de temperatura y otro con los datos registrados de humedad.

¿Qué es un archivo CSV?

Cuando nuestro CanSat recoge datos de temperatura, estos datos deben almacenarse en algún formato para que después los podamos abrir, representar y analizar. Uno de los formatos más sencillos y universales es el archivo CSV.

"CSV" significa Comma-Separated Values ​​(valores separados por comas). Por ejemplo:

tiempo,temperatura,presión

0,23.5,1012.3

1,23.7,1012.2

2,23.6,1012.1

Esto es texto plano, pero si lo abrimos con Excel, Google Sheets o un programa de análisis (Python, MATLAB…), aparece como una tabla ordenada.

Medimos la temperatura con sensor barométrico BMP280

Montaje

Vemos que el sensor BMP280 se comunica con nuestra placa a través del bus I2C.

I2C

El bus I²C es un protocolo de comunicación síncrona que permite que varios dispositivos se comuniquen con sólo dos líneas compartidas: una para datos (SDA) y una para el reloj (SCL).

Esto nos permite ahorrar pines de E/S en el microcontrolador, y líneas de comunicación nuestro proyecto.

Un maestro (Nuestra placa esp32) controla el reloj y da el turno de palabra a cada esclavo mediante su dirección.

Así, todos pueden comunicarse de forma ordenada y eficiente con pocos hilos. mediante su dirección.

Para poder realizar la comunicación con sólo un cable de datos, el bus I2C utiliza una trama (el formato de los datos enviados) amplia. La comunicación consta de:

7 bits en la dirección del dispositivo seguidor con el que queremos comunicar.

Un bit restante indica si queremos enviar o recibir información.

Un bit de validación

Uno o más bytes son los datos enviados o recibidos del seguidor.

Un bit de validación

Con estos 7 bits de dirección es posible acceder a 112 dispositivos en un mismo bus (16 direcciones de las 128 direcciones posibles se reservan para usos especiales)

Este incremento de los datos enviados (18 bits por cada 8 bits de datos) supone que, por lo general, la velocidad del bus I2C es reducida. La velocidad estándar de transmisión es de 100 kHz, con un modo de alta velocidad de 400 kHz.

✅pocos cables

❌velocidades bajas 

❌comunicación no puede ser full-duplex. 
 
Programación 
 
Mostrar por la pantalla OLED los valores de presión atmosférica, temperatura y altitud. Es necesario refrescar los valores cada 3 segundos.


Decidimos el sensor de temperatura

1. Si la misión sólo debe medir temperatura (sin presión ni humedad):

¿Qué criterios tendrías en cuenta para escoger el sensor más adecuado y cuál sería tu elección final? Justifica la respuesta con datos u observaciones obtenidas en las prácticas.

2. Si la misión también debe medir la presión atmosférica o calcular altitud:

¿Cambiaría tu decisión? ¿Qué sensor elegirías ahora y por qué? Explica cómo este cambio de objetivo afecta a los criterios de selección.

1. ¿Qué es la presión atmosférica?

El aire pesa.

Toda la columna de aire que tenemos encima ejerce una fuerza sobre nosotros y sobre nuestro CanSat: esto es la presión atmosférica.

Cuando subimos (a una montaña, en un avión o con CanSat), hay menos aire por encima y la presión disminuye.

Cuando bajamos, vuelve a aumentar.

Aunque parezca un detalle, este cambio es muy importante: nos dice dónde estamos en la atmósfera y cómo se comporta el aire a nuestro alrededor.

La presión está estrechamente relacionada con el tiempo meteorológico. Cuando baja, a menudo indica la llegada de tormentas o mal tiempo, mientras que cuando sube suele llevar tiempo estable y soleado. Por eso, medirla nos ayuda a realizar predicciones meteorológicas ya entender mejor los cambios del clima.

Además, la presión afecta a nuestro cuerpo. Si ha viajado a una montaña alta, puede que haya notado que le cuesta más respirar o que los oídos se tapan. Esto ocurre porque la presión disminuye con la altitud y nuestro cuerpo lo nota. Los aviones, submarinistas e incluso algunos deportes extremos deben tener en cuenta estos cambios para evitar problemas de salud.

2. Cálculo de la presión atmosférica y la altitud

Montaje

Programación

Muestra por la pantalla Oled los valores de temperatura, altitud y presión atmosférica.

Realiza pequeñas acciones para observar cambios:

- Acerca la mano al sensor (la temperatura sube y puede variar ligeramente la presión).

- Mueve el sensor suavemente arriba y abajo (1–2 m).

- Recoge los datos de temperatura, altitud y presión atmosférica registrándolos desde el plotter serial y realiza una gráfica temperatura-altitud y otra presión-altitud. Si no observas bien los cambios (porque no estamos haciendo cambios grandes de altitud), di cómo crees que deberían ser estas gráficas de forma teórica.












 

No hay comentarios: