Free shipping. In questo ambiente potrete portare a termine il vostro pagamento con la maggior parte delle carte di credito, o con tessere ricaricabili , in tutta sicurezza. Intestare a: Loreta s. Le spedizioni dei prodotti acquistati avvengono normalmente nelle ore successive alla ricezione del pagamento, se non diversamente specificato nell'inserzione stessa.

Author:Faebar Vigrel
Language:English (Spanish)
Published (Last):6 February 2010
PDF File Size:14.84 Mb
ePub File Size:10.59 Mb
Price:Free* [*Free Regsitration Required]

Your browser does not seem to support JavaScript. As a result, your viewing experience will be diminished, and you may not be able to execute some actions. Please download a browser that supports JavaScript, or enable it if it's disabled i. I wanted to operate my water pulse meter on batteries and also get the water flow. The original design had the following issues with that:. I believe it was well below the 0. The sensor has been up and running on the same single 1.

The I2C protocol is natively supported and you only need to analyse numbers coming from the 3-Axis to decide when the wheels inside the gas meter turn. I think the position of the sensor will be very critical, but the code should not be too complex. The program size can be 32 KB which should be enough.

If you want to go for the PI, there are I2C libraries out there you could use and I would then bypass the Mysensors gateway alltogether and connect an ethernet cable to the PI and use the MQTT protocol to talk to your home controller.

The original code from the mysensors site does not handle your situation very well indeed because the switch staying on or off for a long time. You can use my code see my post further up this discussion. In my case I have a pulse every 1 liter. In your case you only have 1 pulse every 10 liters, which means you have to take a much longer period to calculate the flow correctly.

The flow is calculated based on the number of pulses in a given time period. The Arduino has high impedance inputs and anything from a WiFi signal or the signal from a close by circuit can cause the value to swing between 0 and 3 Volt, triggering your input. On your high value in the graph: Domoticz water sensors require the sensor to post the total water volume.

This means that the sensor needs to "know" the total of volumes from all the past measurements. In fact all the wrong past pulses you generated with the open input are stored by the sensor.

There are 2 ways this storage mechanism can be realized in Arduino code:. Mysesnsors uses method 2 as method 1 has 2 disadvantages: The code needs to continuously write to the EEPROM, because you never know when the Arduino will be rebooted. The sketch used by MySensors uses method 2 by sending the pulsecount to the gateway using send lastCounterMsg. The receive function is called by the Mysensor library when data comes back from the gateway. This means the sensor will not be able to "forget" the pulses that came from the period your digital input was not connected.

This will be the ID number that shows in the hardware setup screen in Domoticz for your sensor. If you omit this code MySensors will create a new unique code for you.

However in my system I prefer to allocate the numbers myself to each sensor. You will compile and upload this code to your Arduino and let it run for a minute or so, then remove the line and upload the orginal code.

You should now be able to remove the data point in Domoticz by using ctrl-mouseclick on the graphic item. On many other watermeters the black spinning wheel is somewhat bigger and has a small mirror attached. The light from the IR LED is reflected by the mirror and the IR sensor picks up the reflection as a pulse every rotation in your case 0.

I suggest you buy another water meter that has a sensor build in and provides you with a direct signal. In my home I have separate water meters for each water consumer such shower, hot water, kitchen, etc. These meters are typically used in boiler or central heating systems that also can provide hot water for your shower. You need to modify the source code a bit to handle the high pulse frequency, but the nice thing is that the measurement is very accurate. This is the wrong type of water meter.

You local central heating installation guy may have them as they are used in boiler systems of central heating for the warm water supply. They are also sold on eBay. Both work more or less the same and can be operated on 5V. The number of pulses per liter are much higher something like pulses per liter , so they are more accurate.

You will need to modify your code to work with this. Below the code of my sensor which also measures multiple temperatures at the same Arduino chip :. If you connect things with power on you may accidently trigger a pulse a times Always power off stuff first and use a solid connection soldering is always better when making modifications. How did you power the hall sensor?

Should be from the 3. Can you upload a photo of your setup to allow us to see how you connect things? My code basically measures the time between two upward pulses. You can modify the code to also count the downward pulses. The net effect is that you will get a count every 5 liter on average , but if there is no flow, the first pulse will always be off by liter because you do not know how far the rotation is completed. On NAMUR: you can actually use my code here too: I use analog input A1 to measure the voltage on the infra red sensor which varies between 0 and 1.

During the learn mode set with a seaprate DIP switch the code measures the input voltage for a period of 30 seconds while you turn open the water tap you may want to increase the timing in your case and then calculates the average between the lowest and highest voltage as the currect point there is a 1 or 0 coming from the pump in my case it is an IR LED that is reflecting from a mirror into a photo sensor and the position of the mirror may change - resulting in different voltages.

Register Login. Home bart Joined Last Online. The original design had the following issues with that: Incorrect flow calc: micros was used to calculate the flow, however micros wraps every 70 minutes which looks like a huge flow which is then discarded in code Volume calc: millis wraps every 50 days which is not handled correctly either Too much current for battery use: The IR LED of the TCRT is always on and the LM comparator is also taking a few mA's Could not report flow in sleep mode because millis does not increment on sleep - need to do this based on calculation of total sleep time.

We now simply calculate the number of pulses per minute and deduct the flow I also had issued with the data transport reliability, so I added error counters which show up on the Gateway as distance sensors I also wanted to provide a measurement counter to the gateway that counts up each time a message is sent The sensor will reboot itself when too many errors occur So I modified the circuit of the IR sensor: Assumption that the wheel of the water meter turns slowly takes at least a few seconds to turn around We will wake up every millisecond to turn on the IR LED connected to PIN 8.

Pin 8 also powers the photo transistor that measures the reflection I removed the power from the opamp circuit that is linked to the photo transistor The voltage from the photo transistor is then read using an analog read on A1. This filters outliers.

There are 2 ways this storage mechanism can be realized in Arduino code: 1 keep the value in the Arduino EEPROM and 2 use a build in feature of Domoticz to store values on behalf of sensors. Then power up your Arduino and you will see the sensor show up again. You can do that by adding a statement send lastCounterMsg. You should now be able to remove the data point in Domoticz by using ctrl-mouseclick on the graphic item Hope this helps Bart.





Ball valve for solar thermal system



626600A | Caleffi | Flow



Sell GE-316 Paddle Flow Switch Ex-proof (similar as Caleffi)


Related Articles