BrewPressure – Sensor de presión DIY
Cuando
empiezas a realizar fermentaciones isobáricas, necesitas comenzar a
tener control sobre la presión que hay en el fermentador, sí, todos los
fermentadores isobáricos tienen manómetro incluido (o al menos deberían
de tenerlo), pero con estos solo podremos ver la presión estando
físicamente en el fermentador y no tendremos registros (a no ser que los
vayas haciendo manualmente).
Con
BrewPressure quería desarrollar un dispositivo para poder ver los bares
de mi fermentación de forma remota y que estos además quedaran
almacenados en mis gráficas de fermentación para tenerlas anotadas para
el futuro (me encanta tener todo registrado en pro de la búsqueda de la
consistencia en la cerveza). Además, esto es un paso inicial para en el
futuro este dato me sirva también para poder controlar la presión de
forma de remota de mis fermentadores, actualmente es algo que ya tengo
desarrollado para fermentadores isobáricos con conector Ball-Lock, pero
mi necesidad me lleva a desarrollarlo para mi fermentador isobárico el
cual es más complejo de implementar.
El funcionamiento es muy
simple, una vez montado (con sensor de presión en formato Trip Clamp o
adaptado para ball-lock y por ende fermentaciones en Corny, Barrilles,
Fermzilla…), encenderemos el dispositivo, configuraremos nuestra
conexión wifi de manera intuitiva y configuraremos a donde enviaremos
los datos, y desde este punto siempre que lo encendamos comenzará a
enviar la presión de nuestro fermentador a nuestro sistema de recogida
de datos y veremos también la presión la web del propio dispositivo
BrewPressure o en el display incluido.
Gestión de versiones BrewPressure:
BrewPressure: 1.0.0.1 Primera versión estable.
– Envío de datos MQTT, Gestión de la WIFI.
BrewPressure 1.0.0.3 Añadido calibrado de sensor por entorno web.
BrewPressure 1.0.0.4 Añadida integración Brewfather.
BrewPressure 1.0.0.5 Añadida integración «BrewBlox» y factor de corrección.
BrewPressure 1.0.1.1 Añadida integración «BrewBlox» mas de un BrewPressure, factor de corrección.
Vídeo de funcionamiento de BrewPressure:
Materiales necesarios para BrewPressure
Sensor de presión sanitaria 0 -0.25Mpa (2,5 bares) Output 0 – 5V. [Aliexpress]
Como mi fermentador lo tengo con una válvula de seguridad de 2 bares, 2.5 es idóneo.
Reductor de voltaje LM2596 [Aliexpress] [Amazon]
Fuente DC 24V – 2A [Aliexpress] [Amazon]
Wemos D1 Mini ESP8266 [Aliexpress] [Amazon]
Oled SH1106 (1.3 pulgadas) [Aliexpress] [Amazon]
Resistencias 10k (1) – 20k (2) [Aliexpress]
Cables Dupont [Aliexpress] [Amazon]
Tuerca de inserción M3 – 4mm [Aliexpress] [Amazon]
Tornillo M3 – 6mm [Aliexpress] [Amazon]
Opción para Ball-lock:
Sensor para Ball-Lock* [Aliexpress] [Aliexpress] [Amazon]. Solicitar o buscar versión 0.25MPa – 2.5b – 392 PSI. Con salida de 0 a 5V.
Tenemos
en cuenta que un 1 MPa son 10 bares. Simplemente, multiplicas 0.25 por
10 dando 2.5bares. Suficiente para mi instalación, a la hora de elegir
un sensor de presión es importante elegir el margen que este más cerca
de tu fermentador, ya que si es un margen más amplio será menos preciso.
Esquema de conexión BrewPressure
Puedes
montarte BrewPressure sin display, realmente no es necesario si vas a
utilizar BrewPressure para enviar los datos de presión a tu sistema de
fermentación, aunque sí que resulta muy cómodo poder ver la presión en
la pantalla rápidamente y sobre todo para ajustarlo.
Esquema de conexionado:
Descripción de la conexiones:
Impresión carcasa 3D para BrewPressure
Puedes
montarte tu propia carcasa con cualquier caja, pero diseñe una carcasa
oficial para BrewPressure, la cual aloja los componentes necesarios para
los componentes y sus conexiones.
Dos formatos: Thingiverse [link!]
En PLA, y relleno del 20%. y solo necesita soportes con la base la caja.
Diseños 3D BrewPressure con Display:
Diseños 3D BrewPressure sin Display:
Montaje de BrewPressure
Vamos
a ver el montaje de BrewPressure con el display y con la caja diseñada
para ello. Si vas a utilizar tu propia caja, las conexiones serían las
mismas, y si vas a montar la versión sin display, simplemente obvia las
conexiones del display:
Tendremos nuestra carcasa impresa:
Para que quede un montaje fino, en este caso, lo diseñe de tal manera
que podamos añadir unas tuercas para cerrar la tapa de atrás, estas
tuercas simplemente tenemos que introducirlas con la punta de un
soldador, de esta manera el PLA se derretirá dando forma a la tuerca y quedará sellada.
Pararemos
el positivo y negativo de la fuente de alimentación por la caja y
soldaremos ambos extremos y otro cable mas por cada uno de los extremos
que llevaremos despues al sensor:
En
la salida del regulador (ojo tendréis que tenerlo regulado antes a
3.3V,), dos por cada uno de los extremos positivos y negativos, los
cuales llevaremos un positivo y negativo al display, y otro positivo y
negativo al wemos.
Conectaremos el SCK y SDA del display al wemos:
Del SDA de la pantalla OLED al pin D2 del Wemos D1 Mini.
Del SCL/SCK de la pantalla OLED al pin D1 del Wemos D1 Mini.
Pondremos los cables de alimentación y la salida del sensor al A0 del wemos:
Colocaremos el regulador en su sitio de la carcasa:
Colocaremos el display (va al revés), fijaros en la orientación correctamente:
Y Coloraremos el wemos en su posición:
–
Si queréis podéis añadir silicona para fijar los elementos (si lo
hacéis, que sea cuando tengáis confirmado el funcionamiento correcto):
Coloramos las resistencias:
Pasaremos los tres cables para el sensor:
Y realizaremos las conexiones:
Y colocaremos el sensor, que se ajusta co la tuerca que viene incluida
Por último cerraremos la tapa interior.
Ya
tenemos terminado la instalación física de BrewPressure, si queréis
realizar cambios en el firmware, revisar los errores por serie,
grabárselo de nuevo o instalar las futuras actualizaciones, tendremos
una tapa inferior para hacerlo sin tener que desmontar de nuevo
BrewPressure.
*Advertencia: conectar el cable usb de programación, tener desconectada la fuente de alimentación:
Instalación Software de BrewPressure
Abrir NodeMCU-PyFlasher y flashear nuestra placa con las opciones
remarcadas y el firmware elegido según el tamaño de nuestro display:
– Erase flash: yes, para borrar si la placa tenía algún contenido anterior.
Pulsaremos en Flash NodeMCU y esperaremos a que termine:
Configuración BrewPressure
Una vez reiniciada la placa, accederemos a la red Wifi que nos aparece como «BrewPressure».
Con la contraseña: «Diyhomebrewers1»
Una vez conectado accederemos por web para comenzar las configuraciones:
http://192.168.4.1/
Entraremos en el apartado configurar Wi-Fi:
y Añadiremos la SSID y contraseña de nuestra Wifi:
Nos dirá logicamente que no está conectado a la wifi, esto es normal, ya que estamos en modo AP.
Una vez se reinicie, ya podremos acceder a la red Wifi por la IP que nos aparece en el Display de BrewPressure:
Calibrar BrewPressure
Hay
que entender que los sensores de presión, el funcionamiento común es
que a mayor presión dan un voltaje mayor por la salida, digamos
rápidamente que este voltaje es con el que medimos la presión que recoge
nuestro sensor.
He realizado todo el enfoque del software
para la sonda de presión industrial que utilizo, la cual se alimenta a
24V, pero tiene una salida máxima de 5V (que con el divisor ajustamos a 3.3v que acepta la entrada A0 del wemos) y una presión máxima de 2.5bares.
Realice
la programación de un apartado de calibración por si queréis ajustarla
un poco más o por si queréis utilizar sondas de diferentes salidas o
diferentes rangos de presión siempre que lo acepte la entrada del wemos.
Simplemente en:
Voltaje máximo: poner el voltaje Max. Para la presión máxima medida (generalmente 3.3).
Voltaje mínimo: poner el voltaje min. para la presión mínima medida. (en reposo)
Presión Máxima: poner la presión máxima.
Presión mínima: poner la presión mínima medida (en reposo).
Si
tienes tu sensor «en contacto» con el líquido y tienes un fermentador
muy grande, este es posible que ejerza presión sobre el sensor, para
corregir esta desviación o cualquier otra que consideres.
Solo tienes que poner los bares en el momento de la desviación, de esta manera la obviara:
Integraciones BrewPressure
Actualmente,
BrewPressure además de ver los datos por el display y por web,
inicialmente lo diseñé para enviar los datos por MQTT únicamente, aunque
ya le fui añadiendo alguna integración. ¿Por qué por MQTT? ¡Simplemente,
porque es lo que era más fácil de programar para mí y por MQTT es como
lo puedo hacer funcionar como quería en mi sistema de fermentación
BrewBlox [link!].
Además, MQTT es un protocolo de comunicación eficiente y compatible con numerosos sistemas, como Home Assistant [link!] o CraftBeerPi [link!]
[08/10/2023] Añadida integración con Brewfather [link!]
BrewPressure con CraftBeerPi
*Ver la instalación de CraftBeerPi 4 antes si quieres ver que es este sistema unificado de elaboración de cerveza [link!]
Prepararemos CraftBeerPi 4 para recibir datos por MQTT y poder crear nuestros sensores MQTT
1.- Instalación Mosquito MQTT:
En el servidor de CraftBeerPi
sudo apt-get install mosquitto
*Si falla actualizar antes:
sudo apt-get update
sudo apt-get upgrade
Activar sin autentificación:
sudo nano /etc/mosquitto/mosquitto.conf
Añadiendo las líneas:
allow_anonymous true
port 1883
Editar el config.yaml de craftbeerpi para activar mqtt en CraftBeerPi:
Reiniciamos la RaspberryPi ya nos aparecerá para crear MQTTSensor
Accederemos de nuevo a la dirección IP de nuestro BrewPressure y entraremos en el apartado de Envío de datos:.
Añadiremos los datos de nuestro Servidor MQTT de CraftBeerPi.
Servidor MQTT IP: la_ip_de_vuestro_CraftBeerPi.
Puerto MQTT: 1883 (por defecto si no lo habéis cambiado).
Tema (Topic). «el que querais».
En mi caso los ordeno porque tengo más como: sensordata/nombredelsensor
Con aplicaciones como MQTT-Explorer, puedes comprobar si se están enviando correctamente:
-Actualmente, la medición se envía cada 30 segundos.
Nos conectaremos al servidor MQTT de CraftBeerPi:
Y podremos ver si recibimos el dato correctamente:
Nos crearemos el nuevo sensor en nuestra instalación, dentro de Hardware > Sensor:
Lo crearemos como sensor: MQTT Sensor y con el Topic que definimos anteriormente:
Con esto ya podremos trabajar con el cómo incluirlo en nuestro Dashboard:
Si
queremos borrar la integración, simplemente borraremos los datos de la
conexión con el servidor MQTT o pondremos «Servidor MQTT IP:» en valor
«0» y dejará de enviar datos por MQTT.
BrewPressure con BrewBlox.
*Para ver el dato en el Dashboard es imprescindible actualizar a partir
del Release: 2022/09/21. Ver como realizar actualización de BrewBlox si
es necesario [link!]
Accederemos de nuevo a la dirección IP de nuestro BrewPressure y entraremos en el apartado de Envío de datos:
Le pondremos de nombre de dispositivo «Brewblox».
Añadiremos las credenciales de nuestra instalación de brewblox:
Servidor MQTT IP: la_ip_de_vuestro_Brewblox.
Puerto MQTT: 1883 (por defecto si no lo habéis cambiado).
Teama (Topic): brewcast/history
En tu instalación de Brewblox editas tu Dashboard:
Añades un nuevo elemento > Display:metrics:
Y seleccionas el dato que quieres que aparezca, en nuestro caso el que nos envía «pressure»:
Si queréis también aparece seleccionable para que aparezca en las gráficas de fermentación:
BrewPressure con Brewfather.
La integración con Brewfather es de las mas sencillas, aunque necesitaremos contar con cuenta Premium [link!] .
Entraremos en el apartado de configuración > Potenciadores y activaremos «Steam Personalizado»
Nos aparece un enlace donde tendremos que copiar nuestro ID (solo lo que hay después de «id=»)
http://log.brewfather.net/stream?id=XXXXXXXXXXXXXX
Lo
añadiremos en el apartado de envío de datos de «BrewPressure» junto con
el nombre que queramos que nos aparezca en Brewfather como nombre del
dispositivo, y le daremos a guardar:
En cuanto pasen 15 minutos como máximo que es el tiempo de envió de datos de Brewfather nos aparece un nuevo dispositivo:
Y ya podremos asociarlo a la fermentación de un lote:
*Importante,
actualmente Brewfather tiene que recibir algo de presión para enviar el
dato si envía «0» aparece el dispositivo en Brewfather pero sin datos aún.
Si queremos borrar la integración, simplemente borraremos los datos de
la conexión con Brewfather o pondremos «ID personal de Brewfather:» en
valor «0» y dejará de enviar datos a Brewfather.
Solución de problemas BrewPressure
BrewPressure ha sido un proyecto realizado desde cero por diyhomebrewers, tanto el
diseño del gadget, componentes, carcasa 3D… hasta toda la programación
del gadget, entorno web, integraciones…
Si tenéis algún
problema o queréis comentar, si se puede implementar alguna integración, dejármelo en los comentarios, escribirme por correo
(diyhomebrewers@gmail.com) o podéis hacerlo de una manera más directa
desde el grupo de Discord [link!]
El log del BrewPressure está abierto y configurado para mostrar toda la información posible para la resolución de errores:
Conectar el microUSB del Wemos (el puerto de configuración, no el de carga), al PC.
Accederemos con el Putty [link!]
Configuraremos el puerto COM y accederemos:
Con esto podemos ver el log de BrewPressure y nos mostrará más información que nos puede servir de ayuda en caso de algún error:
– Las direcciones de memoria de la EPROM.
– los datos guardados correctamente de la wifi, conexiones… Si se ven se mantienen con el reinicio del wemos.
– Datos de conexión a los diferentes servicios, Brewfather, MQTT…
– Datos obtenidos por el sensor en tiempo real.
Github [link!]
Publicar comentario