Estación meteorológica de bolsillo

Sí, la estación meteorológica se trata de algo que mide una gran cantidad de parámetros desde la dirección y la fuerza del viento hasta el nivel de radiación solar, pero no había un término más adecuado, por lo que debe confundirse. Pero sobre el tamaño, todo es justo.


El dispositivo, tal vez, no tiene mucho valor comercial, porque Incluso en la cantidad de componentes, es inferior a muchos chinos, y no solo productos que tienen una funcionalidad similar.

El bricolaje también es difícil de nombrar debido a cosas como la necesidad de pedir placas de circuitos impresos con la posterior soldadura de componentes pequeños / sin plomo, lo que reduce en gran medida el número de personas que desean repetir el dispositivo.

La estación meteorológica en sí misma se creó como algo, quiero pensar, estético, compacto y capaz de evaluar rápidamente la temperatura + humedad alrededor, y una vez que el sensor seleccionado también puede informar sobre la presión, entonces esto también. Todo se parece a esto (se puede hacer clic):




Comparado:


Sobre el hierro

Como sensor, se eligió el BOSCH-BME280, que proporciona los parámetros ambientales requeridos incluso de acuerdo con I2C, incluso de acuerdo con SPI, ocho patas en un estuche LGA sin plomo de 2.5 x 2.5 mm, relativamente económico, pequeño. Inicialmente, se planeó un sensor más sofisticado de la misma serie BME680, que, además de la temperatura, la humedad y la presión atmosférica, según la hoja de datos, también puede evaluar la calidad del aire mediante el denominado Índice de calidad del aire (IAQ). Parece que no está mal, pero de hecho resultó que IAQ solo se puede obtener utilizando BSEC: Bosch Software Environmental Cluster, que, en función de las lecturas del sensor y el cambio de estas lecturas, calcula IAQ. Parece que puede tomar el testimonio usted mismo y calcular todo; Ciertamente no de esa manera. Bajo pedido para medir la calidad del aire, el sensor proporciona resistencia, en ohmios.Calienta el interior de una pequeña área sensible que reacciona con conductividad a la presencia de sustancias orgánicas volátiles: compuestos orgánicos volátiles (COV) y da el resultado, es decir resistencia a esta área. Básicamente,algunos artesanos ofrecen sus propios algoritmos para interpretar estas lecturas sin BSEC, pero, entre otras cosas, el costo múltiple, en comparación con el BME280, no dejó otra opción.


La pantalla consta de dos TOS-F2101, estos son indicadores ordinarios de siete segmentos de color verde con un cátodo común. De lo notable, este es el tamaño y la carcasa para el montaje en superficie, lo que le permite colocarlos de una manera poco convencional. Por cierto, estos son los indicadores planos más pequeños que se encontraron a la venta y, en su mayor parte, determinan el tamaño de todo el dispositivo.


Administra todo el STM32F072 en un paquete QFPN de 48 pines. Seleccionado, nuevamente, en función del tamaño, la disponibilidad de periféricos y el número requerido de conclusiones para controlar los indicadores que, en la versión dual, por alguna razón, no ocurren y las conclusiones deben ser decentes.


El resto son resistencias, condensadores, un convertidor de voltaje de 3.3 V, cuanto menos, mejor, dentro de límites razonables y componentes TTX, por supuesto.

El conector USB está hecho en la placa. Para un contacto confiable, el grosor de la PCB debe ser de aproximadamente 2 mm. Si se guía por el dibujo en USB Tipo A, entonces hay un poco más, pero si tiene en cuenta la máscara en ambos lados, resulta bastante tolerable. Por supuesto, este formato de conector deja más posibilidades de daños mecánicos a la salida USB, pero, en general, esto se puede solucionar con una unidad flash normal.

El botón táctil es un polígono redondo debajo de la imagen en el tablero, el botón responde a un toque corto y largo.

Además de la pantalla, la placa tiene tres LED que indican cuál de las lecturas se muestra actualmente en el indicador.

En cuanto al software.

El programa está escrito usando CMSIS, la frecuencia de operación es de 48 MHz y de una fuente interna; hay uno aquí, incluso puedes usar USB sin usar cuarzo externo. Para mayor flexibilidad y, posiblemente, expansión de la funcionalidad, se agrega FreeRTOS.

El botón táctil es manejado por el controlador de detección táctil (TSC). Dado que no hay teclado desde los botones táctiles en el tablero o los controles deslizantes, cuando las almohadillas táctiles se combinan en una línea, y hay un sensor que captura toques cortos y largos, no tiene sentido usar la biblioteca completa de ST. El principio de funcionamiento del sensor sensor es simple, hay varias conclusiones combinadas en grupos, un condensador (Muestreo capasitor) Cs está conectado a uno de ellos, esta conclusión se vuelve ejemplar, las conclusiones restantes del grupo se pueden conectar a los polígonos de los sensores, que de hecho también son condensadores Cx . El controlador carga la capacitancia del capacitor de vertedero Cx y luego esta carga se destila al modelo Cs, la operación se repite hasta cierto límite de voltaje en Cs. La capacidad del sensor suele ser pequeña,por lo tanto, se requerirán muchas de estas operaciones y hay un registro separado (TSC_IOGxCR) para contar. Si toca el sensor, entonces la capacitancia Cx será mayor y los ciclos para cargar Cs se necesitarán menos, se repara inmediatamente y se informa un toque hacia arriba. Por cierto, la capacitancia del sensor comienza a aumentar cuando no hay contacto directo, por lo que el sensor puede protegerse del contacto físico, por ejemplo con una máscara, o puede registrar diferentes grados de aproximación.o fijar diferentes grados de aproximación.o fijar diferentes grados de aproximación.

Para comunicarse con el BME280, se utiliza la interfaz I2C. La implementación de I2C en STM32F072 es más simple que en el popular STM32F103, entre otras cosas, no necesita rastrear por separado 1/2 / muchos bytes recibidos, es suficiente especificar su número por adelantado (I2C_CR2.NBYTES [7: 0]). La misma biblioteca para trabajar con el sensor está provisto , y se recomienda para su uso por el fabricante del sensor. Para leer las lecturas utilizando la biblioteca, debe crear dos estructuras: para la configuración y los datos. En la configuración que necesita hacer:

  • dirección del sensor en el bus I2C
  • Funciones de lectura / escritura I2C, así como función de retraso
  • el número de lecturas de indicaciones para promediar (Sobremuestreo) x1, x2, etc., para cada uno de los parámetros temperatura / humedad / presión
  • coeficiente de filtrado para ADC
  • período de eliminación de valores de parámetros
  • en general, cuál de los parámetros se puede leer, por ejemplo, puede dejar una temperatura
  • modo de operación, "normal" - con lecturas periódicas, "forzado" - tomando lecturas a pedido

En principio, si se selecciona el modo "normal", los valores reales de las lecturas se pueden obtener ejecutando la función "bme280_get_sensor_data", mirará los registros de sensores correspondientes, leerá las lecturas directas y luego las procesará de acuerdo con los factores de corrección registrados en el microcircuito en la fábrica. Como resultado, la estructura de datos de salida contendrá la temperatura en grados Celsius, la humedad relativa en porcentaje, la presión atmosférica en Pascales. En el modo "forzado", lo mismo, solo que cada vez antes de leer las lecturas, debe ejecutar la conversión "bme280_set_sensor_mode".

El principio general del dispositivo es el siguiente: conéctese a USB o a Power Bank en una versión móvil. Para la visualización inicial y el cambio de lecturas, un toque breve del sensor, para desactivar, un toque prolongado. Primero, se muestra la temperatura en grados Celsius, luego la humedad relativa en porcentaje y la presión atmosférica en milímetros de mercurio, porque solo hay dos indicadores, y el indicador de presión rara vez va más allá de setecientos, entonces el número siete es virtual aquí. Si no toca el sensor por un tiempo, los indicadores se apagarán para que, por ejemplo, no descargue el Power Bank. El consumo promedio del dispositivo es de ~ 50 mA, y los principales consumidores son solo indicadores, si los apaga, el conteo va a microamperios.




Como resultado, el costo total de los componentes en enero de 2020 resultó ser de aproximadamente 850 rublos, esto sin tener en cuenta el tablero, fue fácil, porque el fabricante tenía descuentos de Año Nuevo y yo tengo cupones, pero es poco probable que vuelva a suceder en el futuro cercano, al menos hasta el próximo diciembre. Bueno, aquellos que quieran familiarizarse con la fuente pueden hacerlo aquí .

Source: https://habr.com/ru/post/undefined/


All Articles