¿Qué cómo afronto la creación de un nuevo circuito?

Cuando me planteo un nuevo cacharreo, puede ser por varios motivos:

  1. Solo por hacerlo, ver que funciona y aprender por el camino
  2. Para ver qué resultado da y si es bueno pasarlo a «producción» e instalarlo definitivamente en mi casa
  3. Para su instalación en mi casa si o si (siempre y cuando funcione)

Está claro que cuando solamente quiero cacharrear, lo hago de cualquier manera «al aire», sobre una breadboard o una perfboard.

En muchos casos el proceso es el siguiente:

  • Hago las pruebas de la manera más rápida posible con los sensores que quiero poner, de uno en uno, y veo si todo funciona bien
  • Me planteo que sensores voy a combinar en base a lo bien que me venga combinar esos sensores concretos (por idoneidad del emplazamiento, pines disponibles, caja, etc)
  • Pienso en que caja le voy a poner para que tenga un acabado «más o menos» profesional y que no sean un enjambre de cables colgando por la casa

Aunque parezca mentira, de los puntos anteriores, el que más quebraderos de cabeza suele darme es la caja. Además la caja, en muchos montajes, suele ser una parte «activa» del montaje ya que la aprovecho para el cableado del circuito.
Me gusta que las cosas que se quedan «fijas en la casa» tengan una buena terminación, y soy bastante perfeccionista, por lo que nunca estoy satisfecho con el resultado obtenido.
La realidad es que suelo decir «lo dejo de momento así, que está aceptable, y en cuanto tenga un rato lo mejoro» y… se suele quedar así.

Un ejemplo

El mejor ejemplo que puedo poner en este momento, es el proyecto que estoy terminando y del que ya he publicado algunas entradas en el blog sobre sus partes: un nodo para el dormitorio principal, basado en ESPEASY con un emisor de infrarojos para controlar el aire acondicionado y un sensor de CO2.

Por supuesto, antes de hacer nada con hardware o firmware hay que realizar un poquito de investigación y toma de decisiones preliminares. ¿Qué funcionalidades quiero que tenga el cacharro? ¿Cómo lo voy a alimentar? ¿Qué componentes voy a utilizar para conseguir estas funcionalidades? ¿Voy a diseñar una caja que pueda imprimir en 3D, usar una caja estándar, quizá hay una caja ya diseñada para imprimir en 3D que me pueda valer? Con todas estas decisiones tomadas podemos ya ensuciarnos las manos:

Primero monté el circuito con los diodos emisores de infrarrojos y probé y ajusté el firmware, de forma que funcionara correctamente de forma independiente. Posteriormente, y una vez satisfecho con el funcionamiento del emisor de infrarrojos, hice lo mismo con el sensor de CO2.

La siguiente etapa es juntarlo todo y asegurarme de que tanto el hardware como el firmware está funcionando correctamente, haciendo todas las pruebas que sean necesarias y dejándolo todo funcionando «en sucio».

La parte de pruebas es muy importante. Nada peor que tener un cacharro aparentemente terminado y luego darnos cuenta de que algo no funciona correctamente. No hay que ahorrar tiempo en las pruebas.

El siguiente paso importante fue la caja. Para esto, partí de la caja estándar que suelo utilizar para la mayoría de mis montajes con NodeMCU, y que imprimo en mi impresora 3D,  pero la modifiqué adecuadamente en tamaño y le añadí las aberturas necesarias (dos para los dos LED de infrarrojos que iba a utilizar y otras dos para las dos zonas «activas» del sensor MH-Z19 que iba a montar.

El último paso: ajustar y cablear todo dentro de la caja y volver a hacer todas las pruebas necesarias, antes de instalarlo en su ubicación definitiva.

 

 

Datos de radiactividad de Madrid en tiempo real

Tras tener mi detector Geiger terminado y funcionando, el siguiente paso es, enviar esta información a la red. Se da la circunstancia, además, de que no he sido capaz de encontrar en internet una sola estación de Madrid enviando datos de radiación Beta/Gamma en tiempo real, por lo que puede que esta sea la primera estación de Madrid en enviar este tipo de datos (y me hace ilusión, porque mira que es difícil ser el primero en algo en internet hoy en día :-))

El contador Geiger que he construido dispone de un puerto serie por el que se transmiten cada 15 segundos los datos de radiación detectada. Esto ha facilitado mucho las cosas, ya que lo único que he tenido que hacer es dotarlo de «algo» que los lea y los envíe a mi sistema de domótica y a la red .

Como en otras ocasiones, he recurrido a un NodeMCU con el firmware ESPEASY. En esta ocasión no existía un plugin de ESPEASY para leer la salida serie de mi contador Geiger pero no ha sido muy difícil adaptar otro plugin, ya existente, para que los lea.

El nuevo dispositivo lee la salida serie del contador Geigery la procesa para extraer el dato concreto de Pulsos Por Minuto y envía este dato mediante MQTT a mi broker.

Un nodo en Nore-Red recibe los datos de radiactividad enviados por el dispositivo y los reenvía a Radmon.org. Radmon.org es un sitio donde cientos de voluntarios en todo el mundo envían, en tiempo real, los datos obtenidos por sus detectores para facilitar su visualización, generación de gráficos, etc.

La función «Build Radmon url» es muy sencilla y, simplemente, construye una url, siguiendo las especificaciones del API del Radmon con mi usuario, password y la última medida.

Otro nodo de Node-Red inserta los datos en una base de datos InfluxDB lo que me permite, posteriormente, crear gráficas de estos datos en Grafana.

Detectando radiactividad

Dentro de mi fiebre por medirlo y controlarlo todo, hace tiempo que llevaba pensando en añadir a mi lista de sensores un detector de emisiones Beta y Gamma (lo que solemos llamar radiactividad), un contador Geiger-Muller.

¿Y por qué quiero un contador Geiger? Pues muy sencillo, por sé que más tarde o más temprano ocurrirá un accidente o sufriremos un atentado y nuestros gobiernos nos ocultaran la información (buscar información sobre el accidente que ocurrió en Madrid, en Moncloa, en plena Ciudad Universitaria, y veréis de qué os hablo). Y, aunque no nos la oculten, quiero estar informado de primera mano y saber lo que pasa en nuestro entorno.

Bueno, pues el caso es que recientemente me he animado con su construcción y ya está funcionando.


Estuve bastante tiempo dándole vueltas a la forma de hacerlo. Un contador Geiger realmente es muy sencillo, básicamente consta de un tubo de detección, una fuente de alta tensión (el tubo funciona a unos 450 voltios, aproximadamente) y un circuito que se encarga de contar los inpulsos que se generan en el tubo dependiendo de la cantidad de partículas radiactivas que haya en el ambiente.

Una posibilidad era construir un generador de alta tensión por un lado (bastante fácil, unos cuantos condensadores y diodos) y un contador (un simple Arduino). Faltaría el tubo, del que ahora hablaré, y alguna forma de visualizar los resultados (un display LED, LCD u OLED, una conexión a ordenador o algo parecido).

Buscando información al respecto, me encontré con que no merecía la pena hacerlo partiendo de cero. Encontré un kit en eBay que, por unos 30€, lo proporcionaba prácticamente todo (a falta del tubo).

Me decidí a pedir este kit y en un par de semanas ya lo tenía en casa, procedente de Lituania.

El montaje del kit fue francamente sencillo ya que los aproximadamente 50 componentes SMD que lleva vienen ya soldados a la placa y solamente hay que soldar unos cuantos componentes normales. Incluso un principiante podría hacerlo con un poquito de cuidado.

El tubo de detección:

El corazón del contador Geiger es el tubo de detección. Existen muchos tubos diferentes con diferentes sensibilidades y capaces de detectar diferentes tipos de radiaciones (alfa, beta, gamma, rayos x, etc). Aunque se trata de material de laboratorio, altamente sensible, al contrario de lo que podríamos pensar, su precio no es elevado.

Tenemos a nuestra disposición una gran cantidad de tubos de surplus, procedentes de la antigua Unión Soviética, de la época de la guerra fría, que son fáciles de encontrar en internet y cuyos precios suelen oscilar entre los 15€ y 30€.

En mi caso me decidí por un tubo STS-5, procedente de Ucrania. Por 15€, incluyendo el envío, en poco más de dos semanas tenía en casa mi nuevo tubo.

Por último, y para completar mi nuevo detector Geiger-Muller, y darle un buen acabado, faltaba una caja donde meterlo. Afortunadamente encontré en Thingiverse una caja a medida para el kit que había pedido, de manera que en un par de horas mi impresora 3D había «escupido» una caja más que aparente (a la que le voy a hacer en mi plotter de corte un frontal en vinilo para darle un acabado más profesional).

Queda un último detalle, pero el más importante: conectarlo a la red y capturar los datos que genera, crear gráficas, lanzar alarmas, etc. El kit y su firmware ya incluyen un puerto serie capaz de sacar estos datos, de manera que el próximo paso será completar el detector con un ESP8266 (que quiero meter dentro de la misma caja) y que se encargará, conectado a mi red wifi, de enviar los datos al resto de sistemas de mi casa. Pero esto será objeto de una nueva entrada en el blog… Edito: Puedes encontrar esta nueva entrada aquí

Sabiendo qué respiramos (Sensor de CO2)

El CO2 (Dióxido de Carbono) es un gas peligroso para el ser humano. En concentraciones elevadas puede producir vértigo, dolor de cabeza, presión sanguínea elevada, ritmo cardíaco acelerado, asfixia y pérdida del conocimiento. Conviene tener precaución co él, especialmente en los lugares donde hay muchas plantas ya que lo expelen en su proceso de respiración.

Llevo años con la intención de tener sensores de CO2 en la casa, que permitan disparar alarmas cuando los niveles sean demasiado altos. Hace cosa de un año, instalé una estación meteorológica NetAtmo (que no necesitaba, puesto que tengo una Davis Vantage PRO2) y una de las cosas buenas que tiene es un sensor de CO2 de interior. La verdad es que no se lo preciso que es el sensor de CO2 de la estación NetAtmo pero desde el principio he tenido ganas de comprobarlo.


El módulo interior de la estación NetAtmo está instalado en el salón (proporcionando datos de temperatura, humedad, luminosidad, presión sonora y CO2 del salón) pero me apetece poder medir el CO2 en más sitios y, especialmente, realizar mediciones puntuales para saber si estamos «en peligro», por ejemplo medir los niveles de CO2 en diferentes dormitorios mientras dormimos.

Hasta hace relativamente poco tiempo, los sensores de CO2 eran muy caros y necesitaban una calibración que normalmente no estaba al alcance de los aficionados. Esto ha cambiado bastante en los últimos meses con la aparición de algunos sensores económicos de fácil uso y que vienen ya precalibrados de fábrica.

Recientemente me puse a buscar información acerca del «estado del arte» de estas cosas, para ver si era, por fin, el momento de afrontar el tema de los sensores, y me encontré con varios sensores bastante interesantes. Entre los que me encontré había uno que me llamó la atención sobre los demás, el MH-Z19.

Su puesta en marcha ha sido muy sencilla, gracias al trabajo hecho en ESPEASY. Simplemente: cargar el plugin adecuado desde el playground de ESPEASY, conectar dos pines más la alimentación y a funcionar: