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.

Conector de tornillo rápido (8mm) [Aliexpress]
 
Conector Ball Lock (de rosca) [Aliexpress] [eBay] [Amazon]
 
*Tener en cuenta que estos sensores son sin contacto con el liquido no como el primero industrial.
 

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:

- Reductor de Voltaje:
Entrada +: Fuente de alimentación 24V +, y al + del Sensor.
Entrada -: Fuente de alimentación 24V -, y al - del Sensor.
Salida +: Wemos D1 Míni 3.3v. y VCC Display.
Salida -: Wemos D1 Mini GND y GND Display.

- Sensor de Presión:
1 al + 24v de Fuente de alimentación.*
2 al - 24v de Fuente de alimentación. *
3 a la entrada analógica del Wemos D1 Mini (A0) (resistencia 10KOhm en medio).

- Pantalla OLED SH1106 a Wemos D1 Mini:
SDA de la pantalla OLED al pin D2 del Wemos D1 Mini.
SCL/SCK de la pantalla OLED al pin D1 del Wemos D1 Mini.
VCC a la salida del reductor + 3.3v.*
GND a la salida del reductor -.*

- Wemos D1 mini ESP8266:
3.3V.  a la salida del reductor + 3.3v.*
GND a la salida del reductor -.*
D2 al SDA de la pantalla OLED.*
D1 al SCL/SCK de la pantalla OLED.*
A0 al pin 3 del sensor de presión.  *
A0 al GND (con resistencia 20kOhm en medio)
 
* Son las conexiones que se repiten en piezas anteriores.

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:

1 - 24v
2 - tierra
3 - entrada analogica A0

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

Software necesario (Windows):
NodeMCU-PyFlasher [link!]
BrewPressure [1.0.1.1 Stable]

1.- Abrir NodeMCU-PyFlasher y flashear nuestra placa con las opciones remarcadas y el firmware elegido según el tamaño de nuestro display:
-Seleccionaremos el puerto que nos aparezca una vez conectado el usb de la placa al PC.
- Baud rate: 921600.
- Flash mode: DIO
- 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 un comentario

0 Comentarios