Open timburke opened 10 years ago
@amcgee Here are the characterization values for power consumption on my test momo. How many days did the first ones last and was the battery fully charged initially (what was the first voltage report)? That should tell us if the solar panel was working or not.
Based on the data it looks like we should go with daily reports and a 10 second sampling interval. The issue could be that with the current implementation it will keep the flow module powered on whenever flow is present, leading to higher current draws than above since it's taking ~1.8 mA continually. I would recommend no counting discrete use events but just sampling flow for a half second every 10 seconds and storing that information. The reports can then report the average flow rate during each bucket and you can multiply that by the bucket duration to get the total amount of water that flowed.
This way we can control the total power consumption because currently it will be very high when there is continual water usage even if we change to 1 sample every 10 sec since it will just continually sample because the water is continually flowing.
Great, thanks! I think it's important to have these characterizations.
Is it worth considering reducing the sampling time for the pulse sensors? The rated minimum for the turbine meters we're using is 2 lpm for 3/4" pipes, which is very significantly lower than the flow rates we see in practice. These turbines output roughly 300 pulses per liter, so half a second will capture a minimum of 300 pulses at the low end of rated flow, 300 * 60lpm = 18,000 at the upper bound. Tuning the sampling time down to .1 seconds, for instance, would have a 5x power efficiency improvement and still be able determine approximate flow rates relatively well ( the pulse count range becomes 60-3600 for a .1 second interval ). The larger 1" turbine are rated for 65 pulses per liter but a 3-100 lpm flow rate range, giving a 19.5-650 pulse count range for the .1 second interval.
If we keep the same sampling interval (10 seconds) but reduce the duration 5x to .1s, we are probably close to a full year in battery life. We lose some granularity in flow rate detection and some accuracy in total volume estimation, but it could be worth it.
I agree that for the current use case, at least, we should drop the continuous flow measurement feature. For applications without power constraints (solar-powered pumps, for instance), we can have a mode that measures total volume rather than intermittent flow rates.
Using the new current meter and a nice 6.5 digit benchtop voltmeter that I got for cheap from an auction, I can now refine these numbers. The current hardware version uses 15 uA of current in sleep mode just due to the controller board (total draw from the battery including everything on the board). The board does sleep correctly >99% of the time.
I have now tested the complete momo unit including multisensor with turbine, gsm module and controller. The sleep power consumption is: 30 uA
When taking a measurement, the power consumption is 4.6 mA, dominated by the turbine. Currently, the device takes a reading for 0.1 seconds every 4 seconds so the average power consumption is:
(4*30 + 0.1*4600)/4.1 = 141 uA
Given a 1200 mAh battery and assuming we can use say 1000 mAh of that, we get 7,092 hours of use from a charge without taking into account reporting. 7,092 hours is 395 days. I have one unit running the sampling firmware currently and logging its battery voltage so that we can see how this corresponds with reality.
This issue tracks the characterization of the current MoMo unit's power consumption. The power consumption is measured across a 33 ohm resistor with an oscilloscope. The test setup is using the standard firmware that turns on the flow sensor for 0.5 seconds.
Acquired Data: No current average voltage measurement: -4.8 mV Sleep current average voltage: -4.29 mV Measurement current average voltage: 117 mV
Given a 33 ohm nominal resistor, we convert the measured voltage drop to current draw as I = V/R: Sleep Current: 16 uA Measurement Current: 3.7 mA
Given a measurement interval in seconds (T), we can get the average current consumption as
where Im is the measurement current and Is is the sleep current. The following table lists the average currents and daily total charge draw for sampling intervals of 1, 5, 10 and 20 seconds.
It's not possible to easily acquire power consumption values for GSM transmissions so we'll have to go from the SIM900 datasheet. It lists an idle current of 22 mA and a transmit current of around 100-250 mA. Assuming a 2 minute maximum on time per transmission that means that we have something like say 100 mA draw during those two minutes. This means we use 100 * 2/60 = 3 mAh of charge per transmission in the worst case. The table below sumarizes the total daily charge for various reporting intervals:
The battery has a capacity of 1150 mAh and probably about 70% of that is usable before the battery voltage drops too low to send a text message so we have 800 mAh to use. The following table summarizes how many days we expect the battery to last with no solar input: