Had some damage yesterday on my central heating system. Could have prevented that by checking my water pressure more often, but you know how does things go...
Currently I have this:
To keep an eye on this manually is a bit annoying because:
When the heating boiler is cooling down, the water gets colder and shrinks so its pressure will drop.
When the heating boiler is warming up, the water gets hotter and expands so its pressure goes upwards.
Which means I only am allowed to inject extra water (manually via a valve), when the pressure is too low AND the water is hot. Because when I do that when the water is cold, pressure might become too high afterwards when the water warms up.
Much too complicated, because without doubts I will forget that again in the future.
I want to read the pressure via Node-RED and do some calculations, and give me a warning automatically...
Does anybody knows a decent & affordable & easy to install water pressure sensor, that can easily be connected to Node-RED running on a Raspberry? And which can read both cold and warm water.
P.S. unfortunately I don't have the time to start learning programming arduino or other boards. So I am looking for an easy to setup solution. And I prefer a wired solution, doesn't matter which protocol as long as it is earsy to setup. Probably it won't exist I assume ...
Mine goes up a few tenths of a bar. If yours is going up a lot that suggests the capacitor needs pumping up. There should be a car tyre valve fitting so you can pump it up. If you push the valve in then air should hiss out. You can pump it up with a car pump, I think mine should be 3 bar.
I have one on the heating system and another on the hot water.
[Edit] I mean it should be pumped up to three bar.
But both are 19 years old, and both were broke accidentally at the same time. And the pressure security valve was also broken... Without me noticing all of that.
Anyway doesn't matter at all anymore. I just don't want this to happen again. I want an error in my dashboard when this happens. Too much to do, to keep an eye on all those things manually.
Cheap and working reliable. Be aware of electro corrosion if the materials don’t match. It seams to be stainless steel but I’m not sure. Electro corrosion can even eat away stainless steel
You really should replace those if they are broken, and won't pump up. Something could explode with very bad consequences otherwise. It is false economy not to fix them.
Agreed- the pumps will thank you as you possible avoid pressure hammer effects.
I checked mine and couldn’t find a valve to pump it to different pressure think mine either rely on the bladder or come pre filled
One of mine has a plastic cover over the valve that you have to pop off. It is not obvious that there is a valve underneath it. Perhaps modern ones are sealed though, I don't know. Mine are 20 years old.
Yes of course, I have ordered 2 new ones immediately afterwards...
Good one!! Will need to check that.
Can you please share some more info: where did you buy those? Do you know the temperature range? And how do you read the values in Node-RED?
THANKS!
The come in different pressure rages ... so 0-5 bar should be best for you. (do your psi calculations right otherwise you might crash into mars)
I connected them to an esp8266 via an 4ch 16bit ADS1115 ad converter like on this board
The sensors run at 5V. so for an raspberry you will probably need a level sifter on your i2c bus. Despite you might read on the net: On an ESP8266 you can run i2c together with the ads1115 powered with 5v.)
I run my own firmware communicating via mqtt following the homie convention (but most orther prebuild firmwares should support the ads1115 too)
Hi @Christian-Me,
All the physical troubles in my central heating system are finally solved.
Now time to setup monitoring...
I have some esp32 boards which I would like to start using for this. First time...
Would be nice if you could show me how you have wired all of this! Not used e.g. i2c before...
And why you need function nodes. I read somewhere that you also need to do calibration and stuff like that. Do you do that in your flow?
So all noob level info is welcome to get me started!
Hi @SonoraTechnical ,
Thanks for the links! But this is the first time that I am going to measure something via an esp32, instead of my raspberries. So (huge) way out of my comfort zone...
The sensors from @Christian-Me seem to need 5V power supply. As a result the analog signal is between 0 and 4.5 Volt, so out of the range of the 3.3 V DC powered ESP32. So I see a lot of folks on the web using two resistors to build a voltage divider to reduce to range to a 0 to 3 Volt range.
Others reduce the range by configuring an attenuation in software.
So it is not clear to me what is the best way to do it (software and wiring)...
Bart - you need to reduce the input voltage using a resistor divider chain otherwise you'll damage/destroy the ESP32. Here's a very rough sketch of a 2:1 voltage-divider.
I suspect the red and black wires are the supply for the pressure sensor (+5v and ground) and the green wire is an analogue output voltage proportional to the pressure value.
A simple 2:1 voltage-divider should be fine in this situation. It also means the resistor values are easy to calculate as they are the same. I've suggested 4K7 ohm resistors but any resistors should work from 1K to 10K (as long as they are a pair). I would put a 2.7V Zener diode across the input to the ESP32 - just to provide some protection if the input voltage ever went above +3.3V.
I've not used the ESP32 only ESP8266s in the form of Wemos D1 Mini - all flashed with ESPeasy as like Tasmota all the drivers are built-in. Although in this situation you are just using an analogue input.
It can be a bit daunting at first, but there are several IOT firmware available for these devices which make using them quite easy, and they offer a lot of flexibility to create your own custom devices for all sorts of uses.
I tried out a few firmware some time ago and decided to stick with tasmota as its very well supported with regular updates. As you probable know its also possible to flash this onto lots of commercial products to allow complete control and customization.
I have every smart device in the house running Tasmota, including power monitoring sockets, light bulbs, RF and IR transceivers and LED light strips etc.
I have also made lots of custom multi sensor devices, which have temperature, humidity, motion sensor, light sensor and LCD displays. I also retrofitted them to other devices eg boiler controls ,making none smart extractor fan smart, even replacing my alarm panel.
So I would suggest look at Tasmota and flashing one of your ESPs. You can then connect it to Wi-Fi and MQTT server and have a play around with some sensors etc.
I'm happy to help you with this
PS. I'm not on commission I just like Tasmota , as its allowed me to realise lots of ideas I've had !!
Hey David,
So to summarize: when I use the ADC converter of the ESP32, then I need to use a voltage divider because the 4,5 V max output of the sensor will damage my ESP32. But if I use (via I2C) an ADS1115 powered by 5V, then I don't need a voltage divider. Correct? I see in this Tasmota
Suppose I flash Tasmota on my ESP32. When reading this issue, it is not quite clear to me how it works. Does this particular device needs to be supported by Tasmota, or can you just read the AD converter input (independent of what is connected to it)?
Noob level info ;-). Just what I needed. Thanks!!
Will need to go to the local electronics shop...
David,
in this discussion they are talking about the same sensor, but they say the A0 (ADC input of ESP32) allows only 1 Volt, so they divide it differently. Is their info not correct then?
So I need to make sure that the maximum voltage of the sensor doesn't exceed my AD converter limit, but on the other hand I should not be too precautious otherwise the resolution of my measurement won't be good enough? I mean with the latter: if I only use part of the range of my AD converter, then I throw away precious bits. Correct?
So I don't need to setup any attenuation or other config for that ADC? It just works out of the box?
And there is also a possibility to send - at regular intervals - http requests (containing commands) to Tasmota, to read the ADC values? Or is that bad practice, compared to MQTT?
To be honest, I didn't have time yet in the past to use MQTT a lot . How often do you get a measurement via MQTT?